1563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark/*
2563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * Copyright (C) 2005, 2006, 2007 Apple Inc.  All rights reserved.
3563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark *
4563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * Redistribution and use in source and binary forms, with or without
5563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * modification, are permitted provided that the following conditions
6563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * are met:
7563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark *
8563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * 1.  Redistributions of source code must retain the above copyright
9563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark *     notice, this list of conditions and the following disclaimer.
10563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * 2.  Redistributions in binary form must reproduce the above copyright
11563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark *     notice, this list of conditions and the following disclaimer in the
12563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark *     documentation and/or other materials provided with the distribution.
13563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * 3.  Neither the name of Apple Computer, Inc. ("Apple") nor the names of
14563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark *     its contributors may be used to endorse or promote products derived
15563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark *     from this software without specific prior written permission.
16563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark *
17563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
18563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
21563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark */
28563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
29563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark#ifndef UIDelegate_h
30563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark#define UIDelegate_h
31563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
32231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#include <WebCore/COMPtr.h>
33563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark#include <WebKit/WebKit.h>
34563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark#include <wtf/OwnPtr.h>
35563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark#include <windef.h>
36563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
37563af33bc48281d19dce701398dbb88cb54fd7ecCary Clarkclass DRTUndoManager;
38231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Blockclass DRTDesktopNotificationPresenter;
39563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
40e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarkeclass UIDelegate : public IWebUIDelegate2, IWebUIDelegatePrivate3 {
41563af33bc48281d19dce701398dbb88cb54fd7ecCary Clarkpublic:
42563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    UIDelegate();
43563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
44563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    void resetUndoManager();
45563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
46563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    // IUnknown
47563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
48563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual ULONG STDMETHODCALLTYPE AddRef(void);
49563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual ULONG STDMETHODCALLTYPE Release(void);
50563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
51563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    // IWebUIDelegate
52563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE createWebViewWithRequest(
53563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
54563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebURLRequest *request,
55563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [retval][out] */ IWebView **newWebView);
56563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
57563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE webViewShow(
58563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender) { return E_NOTIMPL; }
59563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
60563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE webViewClose(
61563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender);
62563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
63563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE webViewFocus(
64563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender);
65563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
66563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE webViewUnfocus(
67563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender);
68563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
69563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE webViewFirstResponder(
70563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
71563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [retval][out] */ OLE_HANDLE *responder) { return E_NOTIMPL; }
72563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
73563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE makeFirstResponder(
74563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
75563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ OLE_HANDLE responder) { return E_NOTIMPL; }
76563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
77563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE setStatusText(
78563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
79563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ BSTR text);
80563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
81563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE webViewStatusText(
82563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
83563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [retval][out] */ BSTR *text) { return E_NOTIMPL; }
84563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
85563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE webViewAreToolbarsVisible(
86563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
87563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [retval][out] */ BOOL *visible) { return E_NOTIMPL; }
88563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
89563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE setToolbarsVisible(
90563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
91563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ BOOL visible) { return E_NOTIMPL; }
92563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
93563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE webViewIsStatusBarVisible(
94563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
95563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [retval][out] */ BOOL *visible) { return E_NOTIMPL; }
96563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
97563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE setStatusBarVisible(
98563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
99563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ BOOL visible) { return E_NOTIMPL; }
100563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
101563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE webViewIsResizable(
102563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
103563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [retval][out] */ BOOL *resizable) { return E_NOTIMPL; }
104563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
105563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE setResizable(
106563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
107563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ BOOL resizable) { return E_NOTIMPL; }
108563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
109563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE setFrame(
110563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
111563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ RECT *frame);
112563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
113563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE webViewFrame(
114563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
115563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [retval][out] */ RECT *frame);
116563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
117563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE setContentRect(
118563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
119563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ RECT *contentRect) { return E_NOTIMPL; }
120563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
121563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE webViewContentRect(
122563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
123563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [retval][out] */ RECT *contentRect) { return E_NOTIMPL; }
124563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
125563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE runJavaScriptAlertPanelWithMessage(
126563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
127563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ BSTR message);
128563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
129563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE runJavaScriptConfirmPanelWithMessage(
130563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
131563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ BSTR message,
132563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [retval][out] */ BOOL *result);
133563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
134563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE runJavaScriptTextInputPanelWithPrompt(
135563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
136563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ BSTR message,
137563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ BSTR defaultText,
138563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [retval][out] */ BSTR *result);
139563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
140563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE runBeforeUnloadConfirmPanelWithMessage(
141563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
142563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ BSTR message,
143563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebFrame *initiatedByFrame,
144563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [retval][out] */ BOOL *result);
145563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
146563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE runOpenPanelForFileButtonWithResultListener(
147563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
148563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebOpenPanelResultListener *resultListener) { return E_NOTIMPL; }
149563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
150563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE mouseDidMoveOverElement(
151563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
152563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IPropertyBag *elementInformation,
153563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ UINT modifierFlags) { return E_NOTIMPL; }
154563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
155563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE contextMenuItemsForElement(
156563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
157563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IPropertyBag *element,
158563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ OLE_HANDLE defaultItems,
159563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [retval][out] */ OLE_HANDLE *resultMenu) { return E_NOTIMPL; }
160563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
161563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE validateUserInterfaceItem(
162563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *webView,
163563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ UINT itemCommandID,
164563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ BOOL defaultValidation,
165563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [retval][out] */ BOOL *isValid) { return E_NOTIMPL; }
166563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
167563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE shouldPerformAction(
168563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *webView,
169563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ UINT itemCommandID,
170563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ UINT sender) { return E_NOTIMPL; }
171563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
172563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE dragDestinationActionMaskForDraggingInfo(
173563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *webView,
174563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IDataObject *draggingInfo,
175563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [retval][out] */ WebDragDestinationAction *action) { return E_NOTIMPL; }
176563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
177563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE willPerformDragDestinationAction(
178563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *webView,
179563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ WebDragDestinationAction action,
180563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IDataObject *draggingInfo) { return E_NOTIMPL; }
181563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
182563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE dragSourceActionMaskForPoint(
183563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *webView,
184563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ LPPOINT point,
185563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [retval][out] */ WebDragSourceAction *action) { return E_NOTIMPL; }
186563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
187563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE willPerformDragSourceAction(
188563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *webView,
189563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ WebDragSourceAction action,
190563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ LPPOINT point,
1910bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ IDataObject *pasteboard,
1920bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [retval][out] */ IDataObject **newPasteboard) { return E_NOTIMPL; }
193563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
194563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE contextMenuItemSelected(
195563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
196563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ void *item,
197563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IPropertyBag *element) { return E_NOTIMPL; }
198563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
199563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE hasCustomMenuImplementation(
200563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [retval][out] */ BOOL *hasCustomMenus);
201563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
202563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE trackCustomPopupMenu(
203563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
204563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ OLE_HANDLE menu,
205563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ LPPOINT point);
206563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
207563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE measureCustomMenuItem(
208563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
209563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ void *measureItem) { return E_NOTIMPL; }
210563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
211563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE drawCustomMenuItem(
212563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
213563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ void *drawItem) { return E_NOTIMPL; }
214563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
215563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE addCustomMenuDrawingData(
216563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
217563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ OLE_HANDLE menu) { return E_NOTIMPL; }
218563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
219563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE cleanUpCustomMenuDrawingData(
220563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
221563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ OLE_HANDLE menu) { return E_NOTIMPL; }
222563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
223563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE canTakeFocus(
224563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
225563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ BOOL forward,
226563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [out] */ BOOL *result) { return E_NOTIMPL; }
227563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
228563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE takeFocus(
229563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
230563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ BOOL forward) { return E_NOTIMPL; }
231563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
232563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE registerUndoWithTarget(
233563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebUndoTarget *target,
234563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ BSTR actionName,
235563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IUnknown *actionArg);
236563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
237563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE removeAllActionsWithTarget(
238563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebUndoTarget *target);
239563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
240563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE setActionTitle(
241563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ BSTR actionTitle);
242563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
243563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE undo();
244563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
245563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE redo();
246563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
247563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE canUndo(
248563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [retval][out] */ BOOL *result);
249563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
250563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE canRedo(
251563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [retval][out] */ BOOL *result);
252563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
2530bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    virtual HRESULT STDMETHODCALLTYPE printFrame(
2540bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ IWebView *webView,
2550bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ IWebFrame *frame);
2560bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
2570bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    virtual HRESULT STDMETHODCALLTYPE ftpDirectoryTemplatePath(
2580bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ IWebView *webView,
2590bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [retval][out] */ BSTR *path);
2600bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
2610bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    virtual HRESULT STDMETHODCALLTYPE webViewHeaderHeight(
2620bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ IWebView *webView,
2630bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [retval][out] */ float *result);
2640bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
2650bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    virtual HRESULT STDMETHODCALLTYPE webViewFooterHeight(
2660bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ IWebView *webView,
2670bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [retval][out] */ float *result);
2680bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
2690bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    virtual HRESULT STDMETHODCALLTYPE drawHeaderInRect(
2700bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ IWebView *webView,
2710bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ RECT *rect,
2720bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ OLE_HANDLE drawingContext);
2730bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
2740bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    virtual HRESULT STDMETHODCALLTYPE drawFooterInRect(
2750bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ IWebView *webView,
2760bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ RECT *rect,
2770bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ OLE_HANDLE drawingContext,
2780bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ UINT pageIndex,
2790bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ UINT pageCount);
2800bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
2810bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    virtual HRESULT STDMETHODCALLTYPE webViewPrintingMarginRect(
2820bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ IWebView *webView,
2830bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [retval][out] */ RECT *rect);
2840bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
2850bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    virtual HRESULT STDMETHODCALLTYPE canRunModal(
2860bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ IWebView *webView,
2870bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [retval][out] */ BOOL *canRunBoolean);
2880bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
2890bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    virtual HRESULT STDMETHODCALLTYPE createModalDialog(
2900bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ IWebView *sender,
2910bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ IWebURLRequest *request,
2920bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [retval][out] */ IWebView **newWebView);
2930bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
2940bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    virtual HRESULT STDMETHODCALLTYPE runModal(
2950bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ IWebView *webView);
2960bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
2970bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    virtual HRESULT STDMETHODCALLTYPE isMenuBarVisible(
2980bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ IWebView *webView,
2990bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [retval][out] */ BOOL *visible);
3000bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
3010bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    virtual HRESULT STDMETHODCALLTYPE setMenuBarVisible(
3020bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ IWebView *webView,
3030bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ BOOL visible);
3040bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
3050bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    virtual HRESULT STDMETHODCALLTYPE runDatabaseSizeLimitPrompt(
3060bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ IWebView *webView,
3070bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ BSTR displayName,
3080bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ IWebFrame *initiatedByFrame,
3090bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [retval][out] */ BOOL *allowed);
3100bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
3110bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    virtual HRESULT STDMETHODCALLTYPE paintCustomScrollbar(
3120bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ IWebView *webView,
3130bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ HDC hDC,
3140bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ RECT rect,
3150bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ WebScrollBarControlSize size,
3160bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ WebScrollbarControlState state,
3170bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ WebScrollbarControlPart pressedPart,
3180bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ BOOL vertical,
3190bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ float value,
3200bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ float proportion,
3210bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ WebScrollbarControlPartMask parts);
3220bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
3230bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    virtual HRESULT STDMETHODCALLTYPE paintCustomScrollCorner(
3240bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ IWebView *webView,
3250bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ HDC hDC,
3260bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ RECT rect);
3270bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
328e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    virtual HRESULT STDMETHODCALLTYPE createWebViewWithRequest(IWebView* sender, IWebURLRequest* request, IPropertyBag* windowFeatures, IWebView** newWebView);
329e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
330e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    virtual HRESULT STDMETHODCALLTYPE drawBackground(IWebView* sender, OLE_HANDLE hdc, const RECT* dirtyRect);
331e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
332e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    virtual HRESULT STDMETHODCALLTYPE decidePolicyForGeolocationRequest(IWebView* sender, IWebFrame* frame, IWebSecurityOrigin* origin, IWebGeolocationPolicyListener* listener);
333e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
334e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke    virtual HRESULT STDMETHODCALLTYPE didPressMissingPluginButton(IDOMElement*);
335e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke
336563af33bc48281d19dce701398dbb88cb54fd7ecCary Clarkprotected:
337563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    // IWebUIDelegatePrivate
338563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
339231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    virtual HRESULT STDMETHODCALLTYPE unused1() { return E_NOTIMPL; }
340563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
341231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    virtual HRESULT STDMETHODCALLTYPE unused2() { return E_NOTIMPL; }
342563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
343231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    virtual HRESULT STDMETHODCALLTYPE unused3() { return E_NOTIMPL; }
344563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
345563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE webViewScrolled(
346563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender) { return E_NOTIMPL; }
347563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
348563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE webViewAddMessageToConsole(
349563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
350563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ BSTR message,
351563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ int lineNumber,
352563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ BSTR url,
353563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ BOOL isError);
354563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
355563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE webViewShouldInterruptJavaScript(
356563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
357563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [retval][out] */ BOOL *result) { return E_NOTIMPL; }
358563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
359563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE webViewReceivedFocus(
360563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender) { return E_NOTIMPL; }
361563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
362563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE webViewLostFocus(
363563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
364563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ OLE_HANDLE loseFocusTo) { return E_NOTIMPL; }
365563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
366563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE doDragDrop(
367563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
368563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IDataObject *dataObject,
369563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IDropSource *dropSource,
370563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ DWORD okEffect,
371563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [retval][out] */ DWORD *performedEffect);
372563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
373563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE webViewGetDlgCode(
374563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
375563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ UINT keyCode,
376563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [retval][out] */ LONG_PTR *code);
377563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
378563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE webViewPainted(
379563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender);
380563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
381563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    virtual HRESULT STDMETHODCALLTYPE exceededDatabaseQuota(
382563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebView *sender,
383563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebFrame *frame,
384563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ IWebSecurityOrigin *origin,
385563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark        /* [in] */ BSTR databaseIdentifier);
386563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
3870bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    virtual HRESULT STDMETHODCALLTYPE embeddedViewWithArguments(
3880bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ IWebView *sender,
3890bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ IWebFrame *frame,
3900bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ IPropertyBag *arguments,
3910bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [retval][out] */ IWebEmbeddedView **view);
3920bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
3930bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    virtual HRESULT STDMETHODCALLTYPE webViewClosing(
3940bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ IWebView *sender);
3950bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
3960bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    virtual HRESULT STDMETHODCALLTYPE webViewSetCursor(
3970bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ IWebView *sender,
3980bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ OLE_HANDLE cursor);
3990bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
4000bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    virtual HRESULT STDMETHODCALLTYPE webViewDidInvalidate(
4010bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        /* [in] */ IWebView *sender);
4020bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
403231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    virtual HRESULT STDMETHODCALLTYPE desktopNotificationsDelegate(
404231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        /* [out] */ IWebDesktopNotificationsDelegate** result);
405231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
406563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    ULONG                   m_refCount;
407563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
408563af33bc48281d19dce701398dbb88cb54fd7ecCary Clarkprivate:
409563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    RECT m_frame;
410563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    OwnPtr<DRTUndoManager> m_undoManager;
411231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
412231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    COMPtr<IWebDesktopNotificationsDelegate> m_desktopNotifications;
413563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark};
414563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
415563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark#endif
416