summaryrefslogtreecommitdiffstats
path: root/chrome_frame/extra_system_apis.h
diff options
context:
space:
mode:
authortommi@chromium.org <tommi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-25 01:34:08 +0000
committertommi@chromium.org <tommi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-25 01:34:08 +0000
commit62bb18dc11e536437972f24b6ecd6c9e33c3f88c (patch)
tree8d94039ebee95080d4bf7d152ca53f7d412aa483 /chrome_frame/extra_system_apis.h
parent9635b9f038bae457735d7e169125919a3f24f806 (diff)
downloadchromium_src-62bb18dc11e536437972f24b6ecd6c9e33c3f88c.zip
chromium_src-62bb18dc11e536437972f24b6ecd6c9e33c3f88c.tar.gz
chromium_src-62bb18dc11e536437972f24b6ecd6c9e33c3f88c.tar.bz2
Transfer CF downloads to the host browser.TEST=Click a download link (not via redirect) in a web page displayed by Chrome Frame. The request should be handled by the host browser.BUG=23561
Review URL: http://codereview.chromium.org/385108 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33022 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/extra_system_apis.h')
-rw-r--r--chrome_frame/extra_system_apis.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/chrome_frame/extra_system_apis.h b/chrome_frame/extra_system_apis.h
index 2d78d59..2258298 100644
--- a/chrome_frame/extra_system_apis.h
+++ b/chrome_frame/extra_system_apis.h
@@ -34,6 +34,51 @@ IWebBrowserEventsUrlService : public IUnknown {
STDMETHOD(GetUrlForEvents)(BSTR* url) = 0;
};
+// Web browser methods that are used by MSHTML when navigating or
+// initiating downloads. IE6.
+class __declspec(uuid("{3050F804-98B5-11CF-BB82-00AA00BDCE0B}"))
+IWebBrowserPriv : public IUnknown {
+ public:
+ STDMETHOD(NavigateWithBindCtx)(VARIANT* uri, VARIANT* flags,
+ VARIANT* target_frame, VARIANT* post_data,
+ VARIANT* headers, IBindCtx* bind_ctx,
+ LPOLESTR url_fragment);
+ STDMETHOD(OnClose)();
+};
+
+// Web browser methods that are used by MSHTML when navigating or
+// initiating downloads. IE7.
+class __declspec(uuid("{1AF32B6C-A3BA-48B9-B24E-8AA9C41F6ECD}"))
+IWebBrowserPriv2IE7 : public IUnknown {
+ public:
+ STDMETHOD(NavigateWithBindCtx2)(IUri* uri, VARIANT* flags,
+ VARIANT* target_frame, VARIANT* post_data,
+ VARIANT* headers, IBindCtx* bind_ctx,
+ LPOLESTR url_fragment);
+ STDMETHOD(SetBrowserFrameOptions)(DWORD opt1, DWORD opt2);
+ STDMETHOD(DetachConnectionPoints)();
+};
+
+// Web browser methods that are used by MSHTML when navigating or
+// initiating downloads. IE8 uses IID {3ED72303-6FFC-4214-BA90-FAF1862DEC8A}
+// whereas the IID is {1AF32B6C-A3BA-48B9-B24E-8AA9C41F6ECD} in IE7
+class __declspec(uuid("{3ED72303-6FFC-4214-BA90-FAF1862DEC8A}"))
+IWebBrowserPriv2IE8 : public IUnknown {
+ public:
+ STDMETHOD(NavigateWithBindCtx2)(IUri* uri, VARIANT* flags,
+ VARIANT* target_frame, VARIANT* post_data,
+ VARIANT* headers, IBindCtx* bind_ctx,
+ LPOLESTR url_fragment);
+ STDMETHOD(SetBrowserFrameOptions)(DWORD opt1, DWORD opt2);
+ STDMETHOD(DetachConnectionPoints)();
+ STDMETHOD(GetProcessId)(DWORD* pid);
+ STDMETHOD(CompatAttachEditEvents)();
+ STDMETHOD(HandleOpenOptions)(IUnknown* obj, BSTR bstr, int options);
+ STDMETHOD(SetSearchTerm)(BSTR term);
+ STDMETHOD(GetSearchTerm)(BSTR* term);
+ STDMETHOD(GetCurrentDocument)(IDispatch** doc);
+};
+
// This interface is used to call FireBeforeNavigate with additional
// information like url. Available on IE7 onwards.
//