Home | History | Annotate | Download | only in WebCoreSupport
      1 /*
      2  * Copyright (C) 2008 Matt Lilek <webkit (at) mattlilek.com>
      3  *
      4  * Redistribution and use in source and binary forms, with or without
      5  * modification, are permitted provided that the following conditions
      6  * are met:
      7  *
      8  * 1.  Redistributions of source code must retain the above copyright
      9  *     notice, this list of conditions and the following disclaimer.
     10  * 2.  Redistributions in binary form must reproduce the above copyright
     11  *     notice, this list of conditions and the following disclaimer in the
     12  *     documentation and/or other materials provided with the distribution.
     13  * 3.  Neither the name of Apple Computer, Inc. ("Apple") nor the names of
     14  *     its contributors may be used to endorse or promote products derived
     15  *     from this software without specific prior written permission.
     16  *
     17  * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
     18  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
     19  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
     20  * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
     21  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
     22  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
     23  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
     24  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     25  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
     26  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     27  */
     28 
     29 #ifndef WebInspectorDelegate_h
     30 #define WebInspectorDelegate_h
     31 
     32 #include "WebKit.h"
     33 
     34 class WebInspectorDelegate : public IWebUIDelegate {
     35 public:
     36     static WebInspectorDelegate* createInstance();
     37 
     38     // IUnknown
     39     virtual ULONG STDMETHODCALLTYPE AddRef();
     40     virtual ULONG STDMETHODCALLTYPE Release();
     41     virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, void**) { return E_NOTIMPL; };
     42 
     43     // IWebUIDelegate
     44     virtual HRESULT STDMETHODCALLTYPE dragDestinationActionMaskForDraggingInfo(
     45         /* [in] */ IWebView*,
     46         /* [in] */ IDataObject*,
     47         /* [retval][out] */ WebDragDestinationAction* action);
     48 
     49     // Not implemented
     50     virtual HRESULT STDMETHODCALLTYPE createWebViewWithRequest(
     51         /* [in] */ IWebView*,
     52         /* [in] */ IWebURLRequest*,
     53         /* [retval][out] */ IWebView**) { return E_NOTIMPL; }
     54 
     55     virtual HRESULT STDMETHODCALLTYPE webViewShow(
     56         /* [in] */ IWebView*) { return E_NOTIMPL; }
     57 
     58     virtual HRESULT STDMETHODCALLTYPE webViewClose(
     59         /* [in] */ IWebView*) { return E_NOTIMPL; }
     60 
     61     virtual HRESULT STDMETHODCALLTYPE webViewFocus(
     62         /* [in] */ IWebView*) { return E_NOTIMPL; }
     63 
     64     virtual HRESULT STDMETHODCALLTYPE webViewUnfocus(
     65         /* [in] */ IWebView*) { return E_NOTIMPL; }
     66 
     67     virtual HRESULT STDMETHODCALLTYPE webViewFirstResponder(
     68         /* [in] */ IWebView*,
     69         /* [retval][out] */ OLE_HANDLE*) { return E_NOTIMPL; }
     70 
     71     virtual HRESULT STDMETHODCALLTYPE makeFirstResponder(
     72         /* [in] */ IWebView*,
     73         /* [in] */ OLE_HANDLE) { return E_NOTIMPL; }
     74 
     75     virtual HRESULT STDMETHODCALLTYPE setStatusText(
     76         /* [in] */ IWebView*,
     77         /* [in] */ BSTR) { return E_NOTIMPL; }
     78 
     79     virtual HRESULT STDMETHODCALLTYPE webViewStatusText(
     80         /* [in] */ IWebView*,
     81         /* [retval][out] */ BSTR*) { return E_NOTIMPL; }
     82 
     83     virtual HRESULT STDMETHODCALLTYPE webViewAreToolbarsVisible(
     84         /* [in] */ IWebView*,
     85         /* [retval][out] */ BOOL*) { return E_NOTIMPL; }
     86 
     87     virtual HRESULT STDMETHODCALLTYPE setToolbarsVisible(
     88         /* [in] */ IWebView*,
     89         /* [in] */ BOOL) { return E_NOTIMPL; }
     90 
     91     virtual HRESULT STDMETHODCALLTYPE webViewIsStatusBarVisible(
     92         /* [in] */ IWebView*,
     93         /* [retval][out] */ BOOL*) { return E_NOTIMPL; }
     94 
     95     virtual HRESULT STDMETHODCALLTYPE setStatusBarVisible(
     96         /* [in] */ IWebView*,
     97         /* [in] */ BOOL) { return E_NOTIMPL; }
     98 
     99     virtual HRESULT STDMETHODCALLTYPE webViewIsResizable(
    100         /* [in] */ IWebView*,
    101         /* [retval][out] */ BOOL*) { return E_NOTIMPL; }
    102 
    103     virtual HRESULT STDMETHODCALLTYPE setResizable(
    104         /* [in] */ IWebView*,
    105         /* [in] */ BOOL) { return E_NOTIMPL; }
    106 
    107     virtual HRESULT STDMETHODCALLTYPE setFrame(
    108         /* [in] */ IWebView*,
    109         /* [in] */ RECT*) { return E_NOTIMPL; }
    110 
    111     virtual HRESULT STDMETHODCALLTYPE webViewFrame(
    112         /* [in] */ IWebView*,
    113         /* [retval][out] */ RECT*) { return E_NOTIMPL; }
    114 
    115     virtual HRESULT STDMETHODCALLTYPE setContentRect(
    116         /* [in] */ IWebView*,
    117         /* [in] */ RECT*) { return E_NOTIMPL; }
    118 
    119     virtual HRESULT STDMETHODCALLTYPE webViewContentRect(
    120         /* [in] */ IWebView*,
    121         /* [retval][out] */ RECT*) { return E_NOTIMPL; }
    122 
    123     virtual HRESULT STDMETHODCALLTYPE runJavaScriptAlertPanelWithMessage(
    124         /* [in] */ IWebView*,
    125         /* [in] */ BSTR) { return E_NOTIMPL; }
    126 
    127     virtual HRESULT STDMETHODCALLTYPE runJavaScriptConfirmPanelWithMessage(
    128         /* [in] */ IWebView*,
    129         /* [in] */ BSTR,
    130         /* [retval][out] */ BOOL*) { return E_NOTIMPL; }
    131 
    132     virtual HRESULT STDMETHODCALLTYPE runJavaScriptTextInputPanelWithPrompt(
    133         /* [in] */ IWebView*,
    134         /* [in] */ BSTR /*message*/,
    135         /* [in] */ BSTR /*defaultText*/,
    136         /* [retval][out] */ BSTR*) { return E_NOTIMPL; }
    137 
    138     virtual HRESULT STDMETHODCALLTYPE runBeforeUnloadConfirmPanelWithMessage(
    139         /* [in] */ IWebView*,
    140         /* [in] */ BSTR /*message*/,
    141         /* [in] */ IWebFrame*  /*initiatedByFrame*/,
    142         /* [retval][out] */ BOOL*) { return E_NOTIMPL; }
    143 
    144     virtual HRESULT STDMETHODCALLTYPE runOpenPanelForFileButtonWithResultListener(
    145         /* [in] */ IWebView*,
    146         /* [in] */ IWebOpenPanelResultListener*) { return E_NOTIMPL; }
    147 
    148     virtual HRESULT STDMETHODCALLTYPE mouseDidMoveOverElement(
    149         /* [in] */ IWebView*,
    150         /* [in] */ IPropertyBag*,
    151         /* [in] */ UINT /*modifierFlags*/) { return E_NOTIMPL; }
    152 
    153     virtual HRESULT STDMETHODCALLTYPE contextMenuItemsForElement(
    154         /* [in] */ IWebView*,
    155         /* [in] */ IPropertyBag*,
    156         /* [in] */ OLE_HANDLE,
    157         /* [retval][out] */ OLE_HANDLE*) { return E_NOTIMPL; }
    158 
    159     virtual HRESULT STDMETHODCALLTYPE validateUserInterfaceItem(
    160         /* [in] */ IWebView*,
    161         /* [in] */ UINT,
    162         /* [in] */ BOOL,
    163         /* [retval][out] */ BOOL*) { return E_NOTIMPL; }
    164 
    165     virtual HRESULT STDMETHODCALLTYPE shouldPerformAction(
    166         /* [in] */ IWebView*,
    167         /* [in] */ UINT /*itemCommandID*/,
    168         /* [in] */ UINT /*sender*/) { return E_NOTIMPL; }
    169 
    170     virtual HRESULT STDMETHODCALLTYPE willPerformDragDestinationAction(
    171         /* [in] */ IWebView*,
    172         /* [in] */ WebDragDestinationAction,
    173         /* [in] */ IDataObject*) { return E_NOTIMPL; }
    174 
    175     virtual HRESULT STDMETHODCALLTYPE dragSourceActionMaskForPoint(
    176         /* [in] */ IWebView*,
    177         /* [in] */ LPPOINT,
    178         /* [retval][out] */ WebDragSourceAction*) { return E_NOTIMPL; }
    179 
    180     virtual HRESULT STDMETHODCALLTYPE willPerformDragSourceAction(
    181         /* [in] */ IWebView*,
    182         /* [in] */ WebDragSourceAction,
    183         /* [in] */ LPPOINT,
    184         /* [in] */ IDataObject*,
    185         /* [retval][out] */ IDataObject**) { return E_NOTIMPL; }
    186 
    187     virtual HRESULT STDMETHODCALLTYPE contextMenuItemSelected(
    188         /* [in] */ IWebView*,
    189         /* [in] */ void*  /*item*/,
    190         /* [in] */ IPropertyBag*) { return E_NOTIMPL; }
    191 
    192     virtual HRESULT STDMETHODCALLTYPE hasCustomMenuImplementation(
    193         /* [retval][out] */ BOOL*) { return E_NOTIMPL; }
    194 
    195     virtual HRESULT STDMETHODCALLTYPE trackCustomPopupMenu(
    196         /* [in] */ IWebView*,
    197         /* [in] */ OLE_HANDLE,
    198         /* [in] */ LPPOINT) { return E_NOTIMPL; }
    199 
    200     virtual HRESULT STDMETHODCALLTYPE measureCustomMenuItem(
    201         /* [in] */ IWebView*,
    202         /* [in] */ void*  /*measureItem*/) { return E_NOTIMPL; }
    203 
    204     virtual HRESULT STDMETHODCALLTYPE drawCustomMenuItem(
    205         /* [in] */ IWebView*,
    206         /* [in] */ void*  /*drawItem*/) { return E_NOTIMPL; }
    207 
    208     virtual HRESULT STDMETHODCALLTYPE addCustomMenuDrawingData(
    209         /* [in] */ IWebView*,
    210         /* [in] */ OLE_HANDLE) { return E_NOTIMPL; }
    211 
    212     virtual HRESULT STDMETHODCALLTYPE cleanUpCustomMenuDrawingData(
    213         /* [in] */ IWebView*,
    214         /* [in] */ OLE_HANDLE) { return E_NOTIMPL; }
    215 
    216     virtual HRESULT STDMETHODCALLTYPE canTakeFocus(
    217         /* [in] */ IWebView*,
    218         /* [in] */ BOOL /*forward*/,
    219         /* [out] */ BOOL*) { return E_NOTIMPL; }
    220 
    221     virtual HRESULT STDMETHODCALLTYPE takeFocus(
    222         /* [in] */ IWebView*,
    223         /* [in] */ BOOL /*forward*/) { return E_NOTIMPL; }
    224 
    225     virtual HRESULT STDMETHODCALLTYPE registerUndoWithTarget(
    226         /* [in] */ IWebUndoTarget*,
    227         /* [in] */ BSTR /*actionName*/,
    228         /* [in] */ IUnknown*  /*actionArg*/) { return E_NOTIMPL; }
    229 
    230     virtual HRESULT STDMETHODCALLTYPE removeAllActionsWithTarget(
    231         /* [in] */ IWebUndoTarget*) { return E_NOTIMPL; }
    232 
    233     virtual HRESULT STDMETHODCALLTYPE setActionTitle(
    234         /* [in] */ BSTR) { return E_NOTIMPL; }
    235 
    236     virtual HRESULT STDMETHODCALLTYPE undo() { return E_NOTIMPL; }
    237 
    238     virtual HRESULT STDMETHODCALLTYPE redo() { return E_NOTIMPL; }
    239 
    240     virtual HRESULT STDMETHODCALLTYPE canUndo(
    241         /* [retval][out] */ BOOL*) { return E_NOTIMPL; }
    242 
    243     virtual HRESULT STDMETHODCALLTYPE canRedo(
    244         /* [retval][out] */ BOOL*) { return E_NOTIMPL; }
    245 
    246     virtual HRESULT STDMETHODCALLTYPE printFrame(
    247         /* [in] */ IWebView *webView,
    248         /* [in] */ IWebFrame *frame) { return E_NOTIMPL; }
    249 
    250     virtual HRESULT STDMETHODCALLTYPE ftpDirectoryTemplatePath(
    251         /* [in] */ IWebView *webView,
    252         /* [retval][out] */ BSTR *path) { return E_NOTIMPL; }
    253 
    254     virtual HRESULT STDMETHODCALLTYPE webViewHeaderHeight(
    255         /* [in] */ IWebView *webView,
    256         /* [retval][out] */ float *result) { return E_NOTIMPL; }
    257 
    258     virtual HRESULT STDMETHODCALLTYPE webViewFooterHeight(
    259         /* [in] */ IWebView *webView,
    260         /* [retval][out] */ float *result) { return E_NOTIMPL; }
    261 
    262     virtual HRESULT STDMETHODCALLTYPE drawHeaderInRect(
    263         /* [in] */ IWebView *webView,
    264         /* [in] */ RECT *rect,
    265         /* [in] */ OLE_HANDLE drawingContext) { return E_NOTIMPL; }
    266 
    267     virtual HRESULT STDMETHODCALLTYPE drawFooterInRect(
    268         /* [in] */ IWebView *webView,
    269         /* [in] */ RECT *rect,
    270         /* [in] */ OLE_HANDLE drawingContext,
    271         /* [in] */ UINT pageIndex,
    272         /* [in] */ UINT pageCount) { return E_NOTIMPL; }
    273 
    274     virtual HRESULT STDMETHODCALLTYPE webViewPrintingMarginRect(
    275         /* [in] */ IWebView *webView,
    276         /* [retval][out] */ RECT *rect) { return E_NOTIMPL; }
    277 
    278     virtual HRESULT STDMETHODCALLTYPE canRunModal(
    279         /* [in] */ IWebView *webView,
    280         /* [retval][out] */ BOOL *canRunBoolean) { return E_NOTIMPL; }
    281 
    282     virtual HRESULT STDMETHODCALLTYPE createModalDialog(
    283         /* [in] */ IWebView *sender,
    284         /* [in] */ IWebURLRequest *request,
    285         /* [retval][out] */ IWebView **newWebView) { return E_NOTIMPL; }
    286 
    287     virtual HRESULT STDMETHODCALLTYPE runModal(
    288         /* [in] */ IWebView *webView) { return E_NOTIMPL; }
    289 
    290     virtual HRESULT STDMETHODCALLTYPE isMenuBarVisible(
    291         /* [in] */ IWebView *webView,
    292         /* [retval][out] */ BOOL *visible) { return E_NOTIMPL; }
    293 
    294     virtual HRESULT STDMETHODCALLTYPE setMenuBarVisible(
    295         /* [in] */ IWebView *webView,
    296         /* [in] */ BOOL visible) { return E_NOTIMPL; }
    297 
    298     virtual HRESULT STDMETHODCALLTYPE runDatabaseSizeLimitPrompt(
    299         /* [in] */ IWebView *webView,
    300         /* [in] */ BSTR displayName,
    301         /* [in] */ IWebFrame *initiatedByFrame,
    302         /* [retval][out] */ BOOL *allowed) { return E_NOTIMPL; }
    303 
    304     virtual HRESULT STDMETHODCALLTYPE paintCustomScrollbar(
    305         /* [in] */ IWebView *webView,
    306         /* [in] */ HDC hDC,
    307         /* [in] */ RECT rect,
    308         /* [in] */ WebScrollBarControlSize size,
    309         /* [in] */ WebScrollbarControlState state,
    310         /* [in] */ WebScrollbarControlPart pressedPart,
    311         /* [in] */ BOOL vertical,
    312         /* [in] */ float value,
    313         /* [in] */ float proportion,
    314         /* [in] */ WebScrollbarControlPartMask parts) { return E_NOTIMPL; }
    315 
    316     virtual HRESULT STDMETHODCALLTYPE paintCustomScrollCorner(
    317         /* [in] */ IWebView *webView,
    318         /* [in] */ HDC hDC,
    319         /* [in] */ RECT rect) { return E_NOTIMPL; }
    320 
    321     virtual HRESULT STDMETHODCALLTYPE desktopNotificationsDelegate(
    322         /* [retval][out] */ IWebDesktopNotificationsDelegate **result) { return E_NOTIMPL; }
    323 
    324 private:
    325     WebInspectorDelegate();
    326 
    327     ULONG m_refCount;
    328 };
    329 
    330 #endif // WebInspectorDelegate_h
    331