1 /* 2 * Copyright (C) 2008 Matt Lilek <webkit@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 struct IDataObject; 33 struct IPropertyBag; 34 struct IWebView; 35 struct IWebFrame; 36 struct IWebError; 37 struct IWebURLRequest; 38 struct IWebOpenPanelResultListener; 39 40 class WebInspectorDelegate : public IWebUIDelegate { 41 public: 42 static WebInspectorDelegate* createInstance(); 43 44 // IUnknown 45 virtual ULONG STDMETHODCALLTYPE AddRef(); 46 virtual ULONG STDMETHODCALLTYPE Release(); QueryInterface(REFIID,void **)47 virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, void**) { return E_NOTIMPL; }; 48 49 // IWebUIDelegate 50 virtual HRESULT STDMETHODCALLTYPE dragDestinationActionMaskForDraggingInfo( 51 /* [in] */ IWebView*, 52 /* [in] */ IDataObject*, 53 /* [retval][out] */ WebDragDestinationAction* action); 54 55 // Not implemented createWebViewWithRequest(IWebView *,IWebURLRequest *,IWebView **)56 virtual HRESULT STDMETHODCALLTYPE createWebViewWithRequest( 57 /* [in] */ IWebView*, 58 /* [in] */ IWebURLRequest*, 59 /* [retval][out] */ IWebView**) { return E_NOTIMPL; } 60 webViewShow(IWebView *)61 virtual HRESULT STDMETHODCALLTYPE webViewShow( 62 /* [in] */ IWebView*) { return E_NOTIMPL; } 63 webViewClose(IWebView *)64 virtual HRESULT STDMETHODCALLTYPE webViewClose( 65 /* [in] */ IWebView*) { return E_NOTIMPL; } 66 webViewFocus(IWebView *)67 virtual HRESULT STDMETHODCALLTYPE webViewFocus( 68 /* [in] */ IWebView*) { return E_NOTIMPL; } 69 webViewUnfocus(IWebView *)70 virtual HRESULT STDMETHODCALLTYPE webViewUnfocus( 71 /* [in] */ IWebView*) { return E_NOTIMPL; } 72 webViewFirstResponder(IWebView *,OLE_HANDLE *)73 virtual HRESULT STDMETHODCALLTYPE webViewFirstResponder( 74 /* [in] */ IWebView*, 75 /* [retval][out] */ OLE_HANDLE*) { return E_NOTIMPL; } 76 makeFirstResponder(IWebView *,OLE_HANDLE)77 virtual HRESULT STDMETHODCALLTYPE makeFirstResponder( 78 /* [in] */ IWebView*, 79 /* [in] */ OLE_HANDLE) { return E_NOTIMPL; } 80 setStatusText(IWebView *,BSTR)81 virtual HRESULT STDMETHODCALLTYPE setStatusText( 82 /* [in] */ IWebView*, 83 /* [in] */ BSTR) { return E_NOTIMPL; } 84 webViewStatusText(IWebView *,BSTR *)85 virtual HRESULT STDMETHODCALLTYPE webViewStatusText( 86 /* [in] */ IWebView*, 87 /* [retval][out] */ BSTR*) { return E_NOTIMPL; } 88 webViewAreToolbarsVisible(IWebView *,BOOL *)89 virtual HRESULT STDMETHODCALLTYPE webViewAreToolbarsVisible( 90 /* [in] */ IWebView*, 91 /* [retval][out] */ BOOL*) { return E_NOTIMPL; } 92 setToolbarsVisible(IWebView *,BOOL)93 virtual HRESULT STDMETHODCALLTYPE setToolbarsVisible( 94 /* [in] */ IWebView*, 95 /* [in] */ BOOL) { return E_NOTIMPL; } 96 webViewIsStatusBarVisible(IWebView *,BOOL *)97 virtual HRESULT STDMETHODCALLTYPE webViewIsStatusBarVisible( 98 /* [in] */ IWebView*, 99 /* [retval][out] */ BOOL*) { return E_NOTIMPL; } 100 setStatusBarVisible(IWebView *,BOOL)101 virtual HRESULT STDMETHODCALLTYPE setStatusBarVisible( 102 /* [in] */ IWebView*, 103 /* [in] */ BOOL) { return E_NOTIMPL; } 104 webViewIsResizable(IWebView *,BOOL *)105 virtual HRESULT STDMETHODCALLTYPE webViewIsResizable( 106 /* [in] */ IWebView*, 107 /* [retval][out] */ BOOL*) { return E_NOTIMPL; } 108 setResizable(IWebView *,BOOL)109 virtual HRESULT STDMETHODCALLTYPE setResizable( 110 /* [in] */ IWebView*, 111 /* [in] */ BOOL) { return E_NOTIMPL; } 112 setFrame(IWebView *,RECT *)113 virtual HRESULT STDMETHODCALLTYPE setFrame( 114 /* [in] */ IWebView*, 115 /* [in] */ RECT*) { return E_NOTIMPL; } 116 webViewFrame(IWebView *,RECT *)117 virtual HRESULT STDMETHODCALLTYPE webViewFrame( 118 /* [in] */ IWebView*, 119 /* [retval][out] */ RECT*) { return E_NOTIMPL; } 120 setContentRect(IWebView *,RECT *)121 virtual HRESULT STDMETHODCALLTYPE setContentRect( 122 /* [in] */ IWebView*, 123 /* [in] */ RECT*) { return E_NOTIMPL; } 124 webViewContentRect(IWebView *,RECT *)125 virtual HRESULT STDMETHODCALLTYPE webViewContentRect( 126 /* [in] */ IWebView*, 127 /* [retval][out] */ RECT*) { return E_NOTIMPL; } 128 runJavaScriptAlertPanelWithMessage(IWebView *,BSTR)129 virtual HRESULT STDMETHODCALLTYPE runJavaScriptAlertPanelWithMessage( 130 /* [in] */ IWebView*, 131 /* [in] */ BSTR) { return E_NOTIMPL; } 132 runJavaScriptConfirmPanelWithMessage(IWebView *,BSTR,BOOL *)133 virtual HRESULT STDMETHODCALLTYPE runJavaScriptConfirmPanelWithMessage( 134 /* [in] */ IWebView*, 135 /* [in] */ BSTR, 136 /* [retval][out] */ BOOL*) { return E_NOTIMPL; } 137 runJavaScriptTextInputPanelWithPrompt(IWebView *,BSTR,BSTR,BSTR *)138 virtual HRESULT STDMETHODCALLTYPE runJavaScriptTextInputPanelWithPrompt( 139 /* [in] */ IWebView*, 140 /* [in] */ BSTR /*message*/, 141 /* [in] */ BSTR /*defaultText*/, 142 /* [retval][out] */ BSTR*) { return E_NOTIMPL; } 143 runBeforeUnloadConfirmPanelWithMessage(IWebView *,BSTR,IWebFrame *,BOOL *)144 virtual HRESULT STDMETHODCALLTYPE runBeforeUnloadConfirmPanelWithMessage( 145 /* [in] */ IWebView*, 146 /* [in] */ BSTR /*message*/, 147 /* [in] */ IWebFrame* /*initiatedByFrame*/, 148 /* [retval][out] */ BOOL*) { return E_NOTIMPL; } 149 runOpenPanelForFileButtonWithResultListener(IWebView *,IWebOpenPanelResultListener *)150 virtual HRESULT STDMETHODCALLTYPE runOpenPanelForFileButtonWithResultListener( 151 /* [in] */ IWebView*, 152 /* [in] */ IWebOpenPanelResultListener*) { return E_NOTIMPL; } 153 mouseDidMoveOverElement(IWebView *,IPropertyBag *,UINT)154 virtual HRESULT STDMETHODCALLTYPE mouseDidMoveOverElement( 155 /* [in] */ IWebView*, 156 /* [in] */ IPropertyBag*, 157 /* [in] */ UINT /*modifierFlags*/) { return E_NOTIMPL; } 158 contextMenuItemsForElement(IWebView *,IPropertyBag *,OLE_HANDLE,OLE_HANDLE *)159 virtual HRESULT STDMETHODCALLTYPE contextMenuItemsForElement( 160 /* [in] */ IWebView*, 161 /* [in] */ IPropertyBag*, 162 /* [in] */ OLE_HANDLE, 163 /* [retval][out] */ OLE_HANDLE*) { return E_NOTIMPL; } 164 validateUserInterfaceItem(IWebView *,UINT,BOOL,BOOL *)165 virtual HRESULT STDMETHODCALLTYPE validateUserInterfaceItem( 166 /* [in] */ IWebView*, 167 /* [in] */ UINT, 168 /* [in] */ BOOL, 169 /* [retval][out] */ BOOL*) { return E_NOTIMPL; } 170 shouldPerformAction(IWebView *,UINT,UINT)171 virtual HRESULT STDMETHODCALLTYPE shouldPerformAction( 172 /* [in] */ IWebView*, 173 /* [in] */ UINT /*itemCommandID*/, 174 /* [in] */ UINT /*sender*/) { return E_NOTIMPL; } 175 willPerformDragDestinationAction(IWebView *,WebDragDestinationAction,IDataObject *)176 virtual HRESULT STDMETHODCALLTYPE willPerformDragDestinationAction( 177 /* [in] */ IWebView*, 178 /* [in] */ WebDragDestinationAction, 179 /* [in] */ IDataObject*) { return E_NOTIMPL; } 180 dragSourceActionMaskForPoint(IWebView *,LPPOINT,WebDragSourceAction *)181 virtual HRESULT STDMETHODCALLTYPE dragSourceActionMaskForPoint( 182 /* [in] */ IWebView*, 183 /* [in] */ LPPOINT, 184 /* [retval][out] */ WebDragSourceAction*) { return E_NOTIMPL; } 185 willPerformDragSourceAction(IWebView *,WebDragSourceAction,LPPOINT,IDataObject *,IDataObject **)186 virtual HRESULT STDMETHODCALLTYPE willPerformDragSourceAction( 187 /* [in] */ IWebView*, 188 /* [in] */ WebDragSourceAction, 189 /* [in] */ LPPOINT, 190 /* [in] */ IDataObject*, 191 /* [retval][out] */ IDataObject**) { return E_NOTIMPL; } 192 contextMenuItemSelected(IWebView *,void *,IPropertyBag *)193 virtual HRESULT STDMETHODCALLTYPE contextMenuItemSelected( 194 /* [in] */ IWebView*, 195 /* [in] */ void* /*item*/, 196 /* [in] */ IPropertyBag*) { return E_NOTIMPL; } 197 hasCustomMenuImplementation(BOOL *)198 virtual HRESULT STDMETHODCALLTYPE hasCustomMenuImplementation( 199 /* [retval][out] */ BOOL*) { return E_NOTIMPL; } 200 trackCustomPopupMenu(IWebView *,OLE_HANDLE,LPPOINT)201 virtual HRESULT STDMETHODCALLTYPE trackCustomPopupMenu( 202 /* [in] */ IWebView*, 203 /* [in] */ OLE_HANDLE, 204 /* [in] */ LPPOINT) { return E_NOTIMPL; } 205 measureCustomMenuItem(IWebView *,void *)206 virtual HRESULT STDMETHODCALLTYPE measureCustomMenuItem( 207 /* [in] */ IWebView*, 208 /* [in] */ void* /*measureItem*/) { return E_NOTIMPL; } 209 drawCustomMenuItem(IWebView *,void *)210 virtual HRESULT STDMETHODCALLTYPE drawCustomMenuItem( 211 /* [in] */ IWebView*, 212 /* [in] */ void* /*drawItem*/) { return E_NOTIMPL; } 213 addCustomMenuDrawingData(IWebView *,OLE_HANDLE)214 virtual HRESULT STDMETHODCALLTYPE addCustomMenuDrawingData( 215 /* [in] */ IWebView*, 216 /* [in] */ OLE_HANDLE) { return E_NOTIMPL; } 217 cleanUpCustomMenuDrawingData(IWebView *,OLE_HANDLE)218 virtual HRESULT STDMETHODCALLTYPE cleanUpCustomMenuDrawingData( 219 /* [in] */ IWebView*, 220 /* [in] */ OLE_HANDLE) { return E_NOTIMPL; } 221 canTakeFocus(IWebView *,BOOL,BOOL *)222 virtual HRESULT STDMETHODCALLTYPE canTakeFocus( 223 /* [in] */ IWebView*, 224 /* [in] */ BOOL /*forward*/, 225 /* [out] */ BOOL*) { return E_NOTIMPL; } 226 takeFocus(IWebView *,BOOL)227 virtual HRESULT STDMETHODCALLTYPE takeFocus( 228 /* [in] */ IWebView*, 229 /* [in] */ BOOL /*forward*/) { return E_NOTIMPL; } 230 registerUndoWithTarget(IWebUndoTarget *,BSTR,IUnknown *)231 virtual HRESULT STDMETHODCALLTYPE registerUndoWithTarget( 232 /* [in] */ IWebUndoTarget*, 233 /* [in] */ BSTR /*actionName*/, 234 /* [in] */ IUnknown* /*actionArg*/) { return E_NOTIMPL; } 235 removeAllActionsWithTarget(IWebUndoTarget *)236 virtual HRESULT STDMETHODCALLTYPE removeAllActionsWithTarget( 237 /* [in] */ IWebUndoTarget*) { return E_NOTIMPL; } 238 setActionTitle(BSTR)239 virtual HRESULT STDMETHODCALLTYPE setActionTitle( 240 /* [in] */ BSTR) { return E_NOTIMPL; } 241 undo()242 virtual HRESULT STDMETHODCALLTYPE undo() { return E_NOTIMPL; } 243 redo()244 virtual HRESULT STDMETHODCALLTYPE redo() { return E_NOTIMPL; } 245 canUndo(BOOL *)246 virtual HRESULT STDMETHODCALLTYPE canUndo( 247 /* [retval][out] */ BOOL*) { return E_NOTIMPL; } 248 canRedo(BOOL *)249 virtual HRESULT STDMETHODCALLTYPE canRedo( 250 /* [retval][out] */ BOOL*) { return E_NOTIMPL; } 251 printFrame(IWebView * webView,IWebFrame * frame)252 virtual HRESULT STDMETHODCALLTYPE printFrame( 253 /* [in] */ IWebView *webView, 254 /* [in] */ IWebFrame *frame) { return E_NOTIMPL; } 255 ftpDirectoryTemplatePath(IWebView * webView,BSTR * path)256 virtual HRESULT STDMETHODCALLTYPE ftpDirectoryTemplatePath( 257 /* [in] */ IWebView *webView, 258 /* [retval][out] */ BSTR *path) { return E_NOTIMPL; } 259 webViewHeaderHeight(IWebView * webView,float * result)260 virtual HRESULT STDMETHODCALLTYPE webViewHeaderHeight( 261 /* [in] */ IWebView *webView, 262 /* [retval][out] */ float *result) { return E_NOTIMPL; } 263 webViewFooterHeight(IWebView * webView,float * result)264 virtual HRESULT STDMETHODCALLTYPE webViewFooterHeight( 265 /* [in] */ IWebView *webView, 266 /* [retval][out] */ float *result) { return E_NOTIMPL; } 267 drawHeaderInRect(IWebView * webView,RECT * rect,OLE_HANDLE drawingContext)268 virtual HRESULT STDMETHODCALLTYPE drawHeaderInRect( 269 /* [in] */ IWebView *webView, 270 /* [in] */ RECT *rect, 271 /* [in] */ OLE_HANDLE drawingContext) { return E_NOTIMPL; } 272 drawFooterInRect(IWebView * webView,RECT * rect,OLE_HANDLE drawingContext,UINT pageIndex,UINT pageCount)273 virtual HRESULT STDMETHODCALLTYPE drawFooterInRect( 274 /* [in] */ IWebView *webView, 275 /* [in] */ RECT *rect, 276 /* [in] */ OLE_HANDLE drawingContext, 277 /* [in] */ UINT pageIndex, 278 /* [in] */ UINT pageCount) { return E_NOTIMPL; } 279 webViewPrintingMarginRect(IWebView * webView,RECT * rect)280 virtual HRESULT STDMETHODCALLTYPE webViewPrintingMarginRect( 281 /* [in] */ IWebView *webView, 282 /* [retval][out] */ RECT *rect) { return E_NOTIMPL; } 283 canRunModal(IWebView * webView,BOOL * canRunBoolean)284 virtual HRESULT STDMETHODCALLTYPE canRunModal( 285 /* [in] */ IWebView *webView, 286 /* [retval][out] */ BOOL *canRunBoolean) { return E_NOTIMPL; } 287 createModalDialog(IWebView * sender,IWebURLRequest * request,IWebView ** newWebView)288 virtual HRESULT STDMETHODCALLTYPE createModalDialog( 289 /* [in] */ IWebView *sender, 290 /* [in] */ IWebURLRequest *request, 291 /* [retval][out] */ IWebView **newWebView) { return E_NOTIMPL; } 292 runModal(IWebView * webView)293 virtual HRESULT STDMETHODCALLTYPE runModal( 294 /* [in] */ IWebView *webView) { return E_NOTIMPL; } 295 isMenuBarVisible(IWebView * webView,BOOL * visible)296 virtual HRESULT STDMETHODCALLTYPE isMenuBarVisible( 297 /* [in] */ IWebView *webView, 298 /* [retval][out] */ BOOL *visible) { return E_NOTIMPL; } 299 setMenuBarVisible(IWebView * webView,BOOL visible)300 virtual HRESULT STDMETHODCALLTYPE setMenuBarVisible( 301 /* [in] */ IWebView *webView, 302 /* [in] */ BOOL visible) { return E_NOTIMPL; } 303 runDatabaseSizeLimitPrompt(IWebView * webView,BSTR displayName,IWebFrame * initiatedByFrame,BOOL * allowed)304 virtual HRESULT STDMETHODCALLTYPE runDatabaseSizeLimitPrompt( 305 /* [in] */ IWebView *webView, 306 /* [in] */ BSTR displayName, 307 /* [in] */ IWebFrame *initiatedByFrame, 308 /* [retval][out] */ BOOL *allowed) { return E_NOTIMPL; } 309 paintCustomScrollbar(IWebView * webView,HDC hDC,RECT rect,WebScrollBarControlSize size,WebScrollbarControlState state,WebScrollbarControlPart pressedPart,BOOL vertical,float value,float proportion,WebScrollbarControlPartMask parts)310 virtual HRESULT STDMETHODCALLTYPE paintCustomScrollbar( 311 /* [in] */ IWebView *webView, 312 /* [in] */ HDC hDC, 313 /* [in] */ RECT rect, 314 /* [in] */ WebScrollBarControlSize size, 315 /* [in] */ WebScrollbarControlState state, 316 /* [in] */ WebScrollbarControlPart pressedPart, 317 /* [in] */ BOOL vertical, 318 /* [in] */ float value, 319 /* [in] */ float proportion, 320 /* [in] */ WebScrollbarControlPartMask parts) { return E_NOTIMPL; } 321 paintCustomScrollCorner(IWebView * webView,HDC hDC,RECT rect)322 virtual HRESULT STDMETHODCALLTYPE paintCustomScrollCorner( 323 /* [in] */ IWebView *webView, 324 /* [in] */ HDC hDC, 325 /* [in] */ RECT rect) { return E_NOTIMPL; } 326 327 private: 328 WebInspectorDelegate(); 329 330 ULONG m_refCount; 331 }; 332 333 #endif // WebInspectorDelegate_h 334