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 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(); 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 56 virtual HRESULT STDMETHODCALLTYPE createWebViewWithRequest( 57 /* [in] */ IWebView*, 58 /* [in] */ IWebURLRequest*, 59 /* [retval][out] */ IWebView**) { return E_NOTIMPL; } 60 61 virtual HRESULT STDMETHODCALLTYPE webViewShow( 62 /* [in] */ IWebView*) { return E_NOTIMPL; } 63 64 virtual HRESULT STDMETHODCALLTYPE webViewClose( 65 /* [in] */ IWebView*) { return E_NOTIMPL; } 66 67 virtual HRESULT STDMETHODCALLTYPE webViewFocus( 68 /* [in] */ IWebView*) { return E_NOTIMPL; } 69 70 virtual HRESULT STDMETHODCALLTYPE webViewUnfocus( 71 /* [in] */ IWebView*) { return E_NOTIMPL; } 72 73 virtual HRESULT STDMETHODCALLTYPE webViewFirstResponder( 74 /* [in] */ IWebView*, 75 /* [retval][out] */ OLE_HANDLE*) { return E_NOTIMPL; } 76 77 virtual HRESULT STDMETHODCALLTYPE makeFirstResponder( 78 /* [in] */ IWebView*, 79 /* [in] */ OLE_HANDLE) { return E_NOTIMPL; } 80 81 virtual HRESULT STDMETHODCALLTYPE setStatusText( 82 /* [in] */ IWebView*, 83 /* [in] */ BSTR) { return E_NOTIMPL; } 84 85 virtual HRESULT STDMETHODCALLTYPE webViewStatusText( 86 /* [in] */ IWebView*, 87 /* [retval][out] */ BSTR*) { return E_NOTIMPL; } 88 89 virtual HRESULT STDMETHODCALLTYPE webViewAreToolbarsVisible( 90 /* [in] */ IWebView*, 91 /* [retval][out] */ BOOL*) { return E_NOTIMPL; } 92 93 virtual HRESULT STDMETHODCALLTYPE setToolbarsVisible( 94 /* [in] */ IWebView*, 95 /* [in] */ BOOL) { return E_NOTIMPL; } 96 97 virtual HRESULT STDMETHODCALLTYPE webViewIsStatusBarVisible( 98 /* [in] */ IWebView*, 99 /* [retval][out] */ BOOL*) { return E_NOTIMPL; } 100 101 virtual HRESULT STDMETHODCALLTYPE setStatusBarVisible( 102 /* [in] */ IWebView*, 103 /* [in] */ BOOL) { return E_NOTIMPL; } 104 105 virtual HRESULT STDMETHODCALLTYPE webViewIsResizable( 106 /* [in] */ IWebView*, 107 /* [retval][out] */ BOOL*) { return E_NOTIMPL; } 108 109 virtual HRESULT STDMETHODCALLTYPE setResizable( 110 /* [in] */ IWebView*, 111 /* [in] */ BOOL) { return E_NOTIMPL; } 112 113 virtual HRESULT STDMETHODCALLTYPE setFrame( 114 /* [in] */ IWebView*, 115 /* [in] */ RECT*) { return E_NOTIMPL; } 116 117 virtual HRESULT STDMETHODCALLTYPE webViewFrame( 118 /* [in] */ IWebView*, 119 /* [retval][out] */ RECT*) { return E_NOTIMPL; } 120 121 virtual HRESULT STDMETHODCALLTYPE setContentRect( 122 /* [in] */ IWebView*, 123 /* [in] */ RECT*) { return E_NOTIMPL; } 124 125 virtual HRESULT STDMETHODCALLTYPE webViewContentRect( 126 /* [in] */ IWebView*, 127 /* [retval][out] */ RECT*) { return E_NOTIMPL; } 128 129 virtual HRESULT STDMETHODCALLTYPE runJavaScriptAlertPanelWithMessage( 130 /* [in] */ IWebView*, 131 /* [in] */ BSTR) { return E_NOTIMPL; } 132 133 virtual HRESULT STDMETHODCALLTYPE runJavaScriptConfirmPanelWithMessage( 134 /* [in] */ IWebView*, 135 /* [in] */ BSTR, 136 /* [retval][out] */ BOOL*) { return E_NOTIMPL; } 137 138 virtual HRESULT STDMETHODCALLTYPE runJavaScriptTextInputPanelWithPrompt( 139 /* [in] */ IWebView*, 140 /* [in] */ BSTR /*message*/, 141 /* [in] */ BSTR /*defaultText*/, 142 /* [retval][out] */ BSTR*) { return E_NOTIMPL; } 143 144 virtual HRESULT STDMETHODCALLTYPE runBeforeUnloadConfirmPanelWithMessage( 145 /* [in] */ IWebView*, 146 /* [in] */ BSTR /*message*/, 147 /* [in] */ IWebFrame* /*initiatedByFrame*/, 148 /* [retval][out] */ BOOL*) { return E_NOTIMPL; } 149 150 virtual HRESULT STDMETHODCALLTYPE runOpenPanelForFileButtonWithResultListener( 151 /* [in] */ IWebView*, 152 /* [in] */ IWebOpenPanelResultListener*) { return E_NOTIMPL; } 153 154 virtual HRESULT STDMETHODCALLTYPE mouseDidMoveOverElement( 155 /* [in] */ IWebView*, 156 /* [in] */ IPropertyBag*, 157 /* [in] */ UINT /*modifierFlags*/) { return E_NOTIMPL; } 158 159 virtual HRESULT STDMETHODCALLTYPE contextMenuItemsForElement( 160 /* [in] */ IWebView*, 161 /* [in] */ IPropertyBag*, 162 /* [in] */ OLE_HANDLE, 163 /* [retval][out] */ OLE_HANDLE*) { return E_NOTIMPL; } 164 165 virtual HRESULT STDMETHODCALLTYPE validateUserInterfaceItem( 166 /* [in] */ IWebView*, 167 /* [in] */ UINT, 168 /* [in] */ BOOL, 169 /* [retval][out] */ BOOL*) { return E_NOTIMPL; } 170 171 virtual HRESULT STDMETHODCALLTYPE shouldPerformAction( 172 /* [in] */ IWebView*, 173 /* [in] */ UINT /*itemCommandID*/, 174 /* [in] */ UINT /*sender*/) { return E_NOTIMPL; } 175 176 virtual HRESULT STDMETHODCALLTYPE willPerformDragDestinationAction( 177 /* [in] */ IWebView*, 178 /* [in] */ WebDragDestinationAction, 179 /* [in] */ IDataObject*) { return E_NOTIMPL; } 180 181 virtual HRESULT STDMETHODCALLTYPE dragSourceActionMaskForPoint( 182 /* [in] */ IWebView*, 183 /* [in] */ LPPOINT, 184 /* [retval][out] */ WebDragSourceAction*) { return E_NOTIMPL; } 185 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 193 virtual HRESULT STDMETHODCALLTYPE contextMenuItemSelected( 194 /* [in] */ IWebView*, 195 /* [in] */ void* /*item*/, 196 /* [in] */ IPropertyBag*) { return E_NOTIMPL; } 197 198 virtual HRESULT STDMETHODCALLTYPE hasCustomMenuImplementation( 199 /* [retval][out] */ BOOL*) { return E_NOTIMPL; } 200 201 virtual HRESULT STDMETHODCALLTYPE trackCustomPopupMenu( 202 /* [in] */ IWebView*, 203 /* [in] */ OLE_HANDLE, 204 /* [in] */ LPPOINT) { return E_NOTIMPL; } 205 206 virtual HRESULT STDMETHODCALLTYPE measureCustomMenuItem( 207 /* [in] */ IWebView*, 208 /* [in] */ void* /*measureItem*/) { return E_NOTIMPL; } 209 210 virtual HRESULT STDMETHODCALLTYPE drawCustomMenuItem( 211 /* [in] */ IWebView*, 212 /* [in] */ void* /*drawItem*/) { return E_NOTIMPL; } 213 214 virtual HRESULT STDMETHODCALLTYPE addCustomMenuDrawingData( 215 /* [in] */ IWebView*, 216 /* [in] */ OLE_HANDLE) { return E_NOTIMPL; } 217 218 virtual HRESULT STDMETHODCALLTYPE cleanUpCustomMenuDrawingData( 219 /* [in] */ IWebView*, 220 /* [in] */ OLE_HANDLE) { return E_NOTIMPL; } 221 222 virtual HRESULT STDMETHODCALLTYPE canTakeFocus( 223 /* [in] */ IWebView*, 224 /* [in] */ BOOL /*forward*/, 225 /* [out] */ BOOL*) { return E_NOTIMPL; } 226 227 virtual HRESULT STDMETHODCALLTYPE takeFocus( 228 /* [in] */ IWebView*, 229 /* [in] */ BOOL /*forward*/) { return E_NOTIMPL; } 230 231 virtual HRESULT STDMETHODCALLTYPE registerUndoWithTarget( 232 /* [in] */ IWebUndoTarget*, 233 /* [in] */ BSTR /*actionName*/, 234 /* [in] */ IUnknown* /*actionArg*/) { return E_NOTIMPL; } 235 236 virtual HRESULT STDMETHODCALLTYPE removeAllActionsWithTarget( 237 /* [in] */ IWebUndoTarget*) { return E_NOTIMPL; } 238 239 virtual HRESULT STDMETHODCALLTYPE setActionTitle( 240 /* [in] */ BSTR) { return E_NOTIMPL; } 241 242 virtual HRESULT STDMETHODCALLTYPE undo() { return E_NOTIMPL; } 243 244 virtual HRESULT STDMETHODCALLTYPE redo() { return E_NOTIMPL; } 245 246 virtual HRESULT STDMETHODCALLTYPE canUndo( 247 /* [retval][out] */ BOOL*) { return E_NOTIMPL; } 248 249 virtual HRESULT STDMETHODCALLTYPE canRedo( 250 /* [retval][out] */ BOOL*) { return E_NOTIMPL; } 251 252 virtual HRESULT STDMETHODCALLTYPE printFrame( 253 /* [in] */ IWebView *webView, 254 /* [in] */ IWebFrame *frame) { return E_NOTIMPL; } 255 256 virtual HRESULT STDMETHODCALLTYPE ftpDirectoryTemplatePath( 257 /* [in] */ IWebView *webView, 258 /* [retval][out] */ BSTR *path) { return E_NOTIMPL; } 259 260 virtual HRESULT STDMETHODCALLTYPE webViewHeaderHeight( 261 /* [in] */ IWebView *webView, 262 /* [retval][out] */ float *result) { return E_NOTIMPL; } 263 264 virtual HRESULT STDMETHODCALLTYPE webViewFooterHeight( 265 /* [in] */ IWebView *webView, 266 /* [retval][out] */ float *result) { return E_NOTIMPL; } 267 268 virtual HRESULT STDMETHODCALLTYPE drawHeaderInRect( 269 /* [in] */ IWebView *webView, 270 /* [in] */ RECT *rect, 271 /* [in] */ OLE_HANDLE drawingContext) { return E_NOTIMPL; } 272 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 280 virtual HRESULT STDMETHODCALLTYPE webViewPrintingMarginRect( 281 /* [in] */ IWebView *webView, 282 /* [retval][out] */ RECT *rect) { return E_NOTIMPL; } 283 284 virtual HRESULT STDMETHODCALLTYPE canRunModal( 285 /* [in] */ IWebView *webView, 286 /* [retval][out] */ BOOL *canRunBoolean) { return E_NOTIMPL; } 287 288 virtual HRESULT STDMETHODCALLTYPE createModalDialog( 289 /* [in] */ IWebView *sender, 290 /* [in] */ IWebURLRequest *request, 291 /* [retval][out] */ IWebView **newWebView) { return E_NOTIMPL; } 292 293 virtual HRESULT STDMETHODCALLTYPE runModal( 294 /* [in] */ IWebView *webView) { return E_NOTIMPL; } 295 296 virtual HRESULT STDMETHODCALLTYPE isMenuBarVisible( 297 /* [in] */ IWebView *webView, 298 /* [retval][out] */ BOOL *visible) { return E_NOTIMPL; } 299 300 virtual HRESULT STDMETHODCALLTYPE setMenuBarVisible( 301 /* [in] */ IWebView *webView, 302 /* [in] */ BOOL visible) { return E_NOTIMPL; } 303 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 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 322 virtual HRESULT STDMETHODCALLTYPE paintCustomScrollCorner( 323 /* [in] */ IWebView *webView, 324 /* [in] */ HDC hDC, 325 /* [in] */ RECT rect) { return E_NOTIMPL; } 326 327 virtual HRESULT STDMETHODCALLTYPE desktopNotificationsDelegate( 328 /* [retval][out] */ IWebDesktopNotificationsDelegate **result) { return E_NOTIMPL; } 329 330 private: 331 WebInspectorDelegate(); 332 333 ULONG m_refCount; 334 }; 335 336 #endif // WebInspectorDelegate_h 337