<rdar://problem/5621373> Added a way for the client to clear undo/redo
[WebKit-https.git] / WebKit / win / Interfaces / IWebViewPrivate.idl
1 /*
2  * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.
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  * 1. Redistributions of source code must retain the above copyright
8  *    notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  *    notice, this list of conditions and the following disclaimer in the
11  *    documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
24  */
25
26 cpp_quote("/*")
27 cpp_quote(" * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.")
28 cpp_quote(" *")
29 cpp_quote(" * Redistribution and use in source and binary forms, with or without")
30 cpp_quote(" * modification, are permitted provided that the following conditions")
31 cpp_quote(" * are met:")
32 cpp_quote(" * 1. Redistributions of source code must retain the above copyright")
33 cpp_quote(" *    notice, this list of conditions and the following disclaimer.")
34 cpp_quote(" * 2. Redistributions in binary form must reproduce the above copyright")
35 cpp_quote(" *    notice, this list of conditions and the following disclaimer in the")
36 cpp_quote(" *    documentation and/or other materials provided with the distribution.")
37 cpp_quote(" *")
38 cpp_quote(" * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY")
39 cpp_quote(" * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE")
40 cpp_quote(" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR")
41 cpp_quote(" * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR")
42 cpp_quote(" * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,")
43 cpp_quote(" * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,")
44 cpp_quote(" * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR")
45 cpp_quote(" * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY")
46 cpp_quote(" * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT")
47 cpp_quote(" * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE")
48 cpp_quote(" * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ")
49 cpp_quote(" */")
50
51 import "oaidl.idl";
52 import "ocidl.idl";
53 import "IWebFormDelegate.idl";
54 import "IWebFrameLoadDelegatePrivate.idl";
55 import "IWebInspector.idl";
56
57 [
58     object,
59     oleautomation,
60     uuid(44914369-DEB5-4fcf-A6A3-30C02E73154F),
61     pointer_default(unique)
62 ]
63 interface IWebViewPrivate : IUnknown
64 {
65     /*!
66         @method _setInViewSourceMode:
67         @abstract Used to place a WebView into a special source-viewing mode.
68         - (void)_setInViewSourceMode:(BOOL)flag;
69       */
70     HRESULT setInViewSourceMode([in] BOOL flag);
71
72     /*!
73         @method _inViewSourceMode;
74         @abstract Whether or not the WebView is in source-view mode for HTML.
75         - (BOOL)_inViewSourceMode;
76       */
77     HRESULT inViewSourceMode([out, retval] BOOL* flag);
78
79     HRESULT viewWindow([out, retval] OLE_HANDLE* window);
80
81     // May well become public
82     //- (void)_setFormDelegate:(id<WebFormDelegate>)delegate;
83     HRESULT setFormDelegate([in] IWebFormDelegate* formDelegate);
84
85     //- (id<WebFormDelegate>)_formDelegate;
86     HRESULT formDelegate([out, retval] IWebFormDelegate** formDelegate);
87
88     HRESULT setFrameLoadDelegatePrivate([in] IWebFrameLoadDelegatePrivate* frameLoadDelegatePrivate);
89     HRESULT frameLoadDelegatePrivate([out, retval] IWebFrameLoadDelegatePrivate** frameLoadDelegatePrivate);
90
91     HRESULT scrollOffset([out, retval] LPPOINT offset);
92     HRESULT scrollBy([in] LPPOINT offset);
93     HRESULT visibleContentRect([out, retval] LPRECT rect);
94     
95     // SPI for DumpRenderTree
96     HRESULT updateActiveState();
97
98     // Support for displaying multiple text matches.
99     HRESULT markAllMatchesForText([in] BSTR search, [in] BOOL caseSensitive, [in] BOOL highlight, [in] UINT limit, [out] UINT* matches);
100     HRESULT unmarkAllTextMatches();
101     HRESULT rectsForTextMatches([out]IEnumTextMatches** pmatches);
102     HRESULT selectionImageRect([in, out] RECT* rc);
103     HRESULT generateSelectionImage(BOOL forceWhiteText, [out, retval] OLE_HANDLE* hBitmap);
104
105     HRESULT canHandleRequest([in] IWebURLRequest* request, [out, retval] BOOL* result);
106
107     HRESULT clearFocusNode();
108
109     HRESULT setTabKeyCyclesThroughElements([in] BOOL cycles);
110     HRESULT tabKeyCyclesThroughElements([out, retval] BOOL* result);
111
112     HRESULT setAllowSiteSpecificHacks([in] BOOL allows);
113     HRESULT addAdditionalPluginPath([in] BSTR path);
114
115     HRESULT loadBackForwardListFromOtherView([in] IWebView* otherView);
116
117     HRESULT setCustomDropTarget([in] IDropTarget* dt);
118     HRESULT removeCustomDropTarget();
119
120     HRESULT setInitialFocus([in] BOOL forward);
121
122     HRESULT inspector([out, retval] IWebInspector**);
123
124     HRESULT clearUndoRedoOperations();
125 }