--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/WebKit/win/Interfaces/IWebViewPrivate.idl Fri Sep 17 09:02:29 2010 +0300
@@ -0,0 +1,242 @@
+/*
+ * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef DO_NO_IMPORTS
+import "oaidl.idl";
+import "ocidl.idl";
+import "IWebFormDelegate.idl";
+import "IWebFrameLoadDelegatePrivate.idl";
+import "IWebHistoryDelegate.idl";
+import "IWebInspector.idl";
+import "IWebInspectorPrivate.idl";
+#endif
+
+// Sent when IWebView::close is called. No userInfo is associated with this notification.
+cpp_quote("#define WebViewWillCloseNotification L\"WebViewWillCloseNotification\"")
+
+interface IEnumTextMatches;
+interface IWebFormDelegate;
+interface IWebFrameLoadDelegatePrivate;
+interface IWebHistoryDelegate;
+interface IWebInspector;
+interface IWebInspectorPrivate;
+interface IWebPluginHalterDelegate;
+interface IWebURLRequest;
+interface IWebView;
+
+typedef enum {
+ WebInjectAtDocumentStart = 0,
+ WebInjectAtDocumentEnd,
+} WebUserScriptInjectionTime;
+
+[
+ object,
+ oleautomation,
+ uuid(44914369-DEB5-4fcf-A6A3-30C02E73154F),
+ pointer_default(unique)
+]
+interface IWebViewPrivate : IUnknown
+{
+ /*!
+ @method _setInViewSourceMode:
+ @abstract Used to place a WebView into a special source-viewing mode.
+ - (void)_setInViewSourceMode:(BOOL)flag;
+ */
+ HRESULT setInViewSourceMode([in] BOOL flag);
+
+ /*!
+ @method _inViewSourceMode;
+ @abstract Whether or not the WebView is in source-view mode for HTML.
+ - (BOOL)_inViewSourceMode;
+ */
+ HRESULT inViewSourceMode([out, retval] BOOL* flag);
+
+ HRESULT viewWindow([out, retval] OLE_HANDLE* window);
+
+ // May well become public
+ //- (void)_setFormDelegate:(id<WebFormDelegate>)delegate;
+ HRESULT setFormDelegate([in] IWebFormDelegate* formDelegate);
+
+ //- (id<WebFormDelegate>)_formDelegate;
+ HRESULT formDelegate([out, retval] IWebFormDelegate** formDelegate);
+
+ HRESULT setFrameLoadDelegatePrivate([in] IWebFrameLoadDelegatePrivate* frameLoadDelegatePrivate);
+ HRESULT frameLoadDelegatePrivate([out, retval] IWebFrameLoadDelegatePrivate** frameLoadDelegatePrivate);
+
+ HRESULT scrollOffset([out, retval] LPPOINT offset);
+ HRESULT scrollBy([in] LPPOINT offset);
+ HRESULT visibleContentRect([out, retval] LPRECT rect);
+
+ // SPI for DumpRenderTree
+ HRESULT updateFocusedAndActiveState();
+
+ // Support for displaying multiple text matches.
+ HRESULT markAllMatchesForText([in] BSTR search, [in] BOOL caseSensitive, [in] BOOL highlight, [in] UINT limit, [out] UINT* matches);
+ HRESULT unmarkAllTextMatches();
+ HRESULT rectsForTextMatches([out]IEnumTextMatches** pmatches);
+ HRESULT selectionRect([in, out] RECT* rc);
+ HRESULT generateSelectionImage(BOOL forceWhiteText, [out, retval] OLE_HANDLE* hBitmap);
+
+ HRESULT canHandleRequest([in] IWebURLRequest* request, [out, retval] BOOL* result);
+
+ HRESULT clearFocusNode();
+
+ HRESULT setTabKeyCyclesThroughElements([in] BOOL cycles);
+ HRESULT tabKeyCyclesThroughElements([out, retval] BOOL* result);
+
+ HRESULT setAllowSiteSpecificHacks([in] BOOL allows);
+ HRESULT addAdditionalPluginDirectory([in] BSTR directory);
+
+ HRESULT loadBackForwardListFromOtherView([in] IWebView* otherView);
+
+ HRESULT setCustomDropTarget([in] IDropTarget* dt);
+ HRESULT removeCustomDropTarget();
+
+ HRESULT setInitialFocus([in] BOOL forward);
+
+ HRESULT inspector([out, retval] IWebInspector**);
+
+ HRESULT clearUndoRedoOperations();
+
+ HRESULT setProhibitsMainFrameScrolling([in] BOOL prohibits);
+
+ // SPI for DumpRenderTree. This is global to all WebViews.
+ HRESULT setShouldApplyMacFontAscentHack([in] BOOL shouldApply);
+
+ /*!
+ @method shouldClose:
+ @abstract This function will fire the before unload handler for a page.
+ If the user cancels the closing of a webview from the alert popped up by the
+ before unload handler, then this function will return false.
+ */
+ HRESULT shouldClose([out, retval] BOOL* result);
+
+ // SPI for DumpRenderTree
+ HRESULT executeCoreCommandByName([in] BSTR name, [in] BSTR value);
+
+ HRESULT windowAncestryDidChange();
+
+ HRESULT paintDocumentRectToContext([in] RECT rect, [in] OLE_HANDLE dc);
+
+ HRESULT setDefersCallbacks([in] BOOL defersCallbacks);
+ HRESULT defersCallbacks([out, retval] BOOL* defersCallbacks);
+
+ HRESULT standardUserAgentWithApplicationName([in] BSTR applicationName, [retval][out] BSTR* groupName);
+
+ HRESULT setCustomHTMLTokenizerTimeDelay([in] double timeDelay);
+ HRESULT setCustomHTMLTokenizerChunkSize([in] int chunkSize);
+
+ HRESULT backingStore([out, retval] OLE_HANDLE* hBitmap);
+
+ HRESULT setTransparent([in] BOOL transparent);
+ HRESULT transparent([out, retval] BOOL* transparent);
+
+ HRESULT setAlwaysUsesComplexTextCodePath([in] BOOL complex);
+ HRESULT alwaysUsesComplexTextCodePath([out, retval] BOOL* complex);
+
+ HRESULT setCookieEnabled([in] BOOL enable);
+ HRESULT cookieEnabled([out, retval] BOOL* enabled);
+
+ HRESULT setMediaVolume([in] float volume);
+ HRESULT mediaVolume([out, retval] float* volume);
+
+ // SPI for DumpRenderTree
+ HRESULT clearMainFrameName();
+
+ HRESULT globalHistoryItem([out, retval] IWebHistoryItem**);
+
+ HRESULT registerEmbeddedViewMIMEType([in] BSTR mimeType);
+
+ HRESULT setMemoryCacheDelegateCallsEnabled([in] BOOL enabled);
+
+ HRESULT setJavaScriptURLsAreAllowed([in] BOOL areAllowed);
+
+ HRESULT setCanStartPlugins([in] BOOL canStartPlugins);
+
+ /*!
+ @method MIMETypeForExtension:
+ @abstract Returns the mime type for a certian file extension.
+ @param path The extension of the file to check.
+ @result The mime type of the specified extension.
+ + (BSTR)MIMETypeForPath:(NSString *)path;
+ */
+ HRESULT MIMETypeForExtension([in] BSTR extension, [out, retval] BSTR* mimeType);
+
+ HRESULT addUserScriptToGroup([in] BSTR groupName, [in] IWebScriptWorld*, [in] BSTR source, [in] BSTR url,
+ [in] unsigned whitelistCount, [in, size_is(whitelistCount)] BSTR* whitelist,
+ [in] unsigned blacklistCount, [in, size_is(blacklistCount)] BSTR* blacklist,
+ [in] WebUserScriptInjectionTime injectionTime);
+ HRESULT addUserStyleSheetToGroup([in] BSTR groupName, [in] IWebScriptWorld*, [in] BSTR source, [in] BSTR url,
+ [in] unsigned whitelistCount, [in, size_is(whitelistCount)] BSTR* whitelist,
+ [in] unsigned blacklistCount, [in, size_is(blacklistCount)] BSTR* blacklist);
+ HRESULT removeUserScriptFromGroup([in] BSTR groupName, [in] IWebScriptWorld*, [in] BSTR url);
+ HRESULT removeUserStyleSheetFromGroup([in] BSTR groupName, [in] IWebScriptWorld*, [in] BSTR url);
+ HRESULT removeUserScriptsFromGroup([in] BSTR groupName, [in] IWebScriptWorld*);
+ HRESULT removeUserStyleSheetsFromGroup([in] BSTR groupName, [in] IWebScriptWorld*);
+ HRESULT removeAllUserContentFromGroup([in] BSTR groupName);
+
+ HRESULT setPluginHalterDelegate([in] IWebPluginHalterDelegate* d);
+ HRESULT pluginHalterDelegate([retval, out] IWebPluginHalterDelegate** d);
+
+ // If rect is 0, the entire backing store will be invalidated.
+ HRESULT invalidateBackingStore([in] const RECT* rect);
+
+ // Whitelists access from an origin (sourceOrigin) to a set of one or more origins described by the parameters:
+ // - destinationProtocol: The protocol to grant access to.
+ // - destinationHost: The host to grant access to.
+ // - allowDestinationSubdomains: If host is a domain, setting this to YES will whitelist host and all its subdomains, recursively.
+ HRESULT addOriginAccessWhitelistEntry([in] BSTR sourceOrigin, [in] BSTR destinationProtocol, [in] BSTR destinationHost, [in] BOOL allowDestinationSubdomains);
+
+ // Removes a white list entry created with addOriginAccessWhitelistEntry. See above.
+ HRESULT removeOriginAccessWhitelistEntry([in] BSTR sourceOrigin, [in] BSTR destinationProtocol, [in] BSTR destinationHost, [in] BOOL allowDestinationSubdomains);
+
+ // Removes all white list entries created with addOriginAccessWhitelistEntry.
+ HRESULT resetOriginAccessWhitelists();
+
+ HRESULT setHistoryDelegate([in] IWebHistoryDelegate* historyDelegate);
+ HRESULT historyDelegate([out,retval] IWebHistoryDelegate** historyDelegate);
+ HRESULT addVisitedLinks([in] BSTR* visitedURLs, [in] unsigned visitedURLCount);
+
+ HRESULT isNodeHaltedPlugin([in] IDOMNode*, [retval, out] BOOL*);
+ HRESULT restartHaltedPluginForNode([in] IDOMNode*);
+ HRESULT hasPluginForNodeBeenHalted([in] IDOMNode*, [retval, out] BOOL*);
+
+ HRESULT setGeolocationProvider([in] IWebGeolocationProvider* locationProvider);
+ HRESULT geolocationProvider([out, retval] IWebGeolocationProvider** locationProvider);
+ HRESULT geolocationDidChangePosition([in] IWebGeolocationPosition* position);
+ HRESULT geolocationDidFailWithError([in] IWebError* error);
+
+ HRESULT setDomainRelaxationForbiddenForURLScheme([in] BOOL forbidden, [in] BSTR scheme);
+
+ HRESULT registerURLSchemeAsSecure([in] BSTR scheme);
+
+ HRESULT nextDisplayIsSynchronous();
+
+ HRESULT paintScrollViewRectToContextAtPoint([in] RECT rect, [in] POINT pt, [in] OLE_HANDLE dc);
+
+ [local] HRESULT reportException([in] JSContextRef context, [in] JSValueRef exception);
+
+ [local] HRESULT elementFromJS([in] JSContextRef context, [in] JSValueRef nodeObject, [out, retval] IDOMElement** element);
+}