diff options
author | amit@chromium.org <amit@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-19 00:53:23 +0000 |
---|---|---|
committer | amit@chromium.org <amit@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-19 00:53:23 +0000 |
commit | a1800e8c451736dea5663ae461454ab663d05bc4 (patch) | |
tree | 87ff9157562b9616139bb6154a06902e5ede5287 /chrome_frame/extra_system_apis.h | |
parent | 4f03cbccc4c09db3f053b74393961e8728bceeec (diff) | |
download | chromium_src-a1800e8c451736dea5663ae461454ab663d05bc4.zip chromium_src-a1800e8c451736dea5663ae461454ab663d05bc4.tar.gz chromium_src-a1800e8c451736dea5663ae461454ab663d05bc4.tar.bz2 |
Back/Forward support for url fragments
Added support for anchor (url fragments). this involves
mainly implementing IPersistHistory. The rest of the stuff
is a song and dance to get called in IPersistHistory in the
first place and then behave correctly when we do.
BUG=23981
TEst=unit tests added and back forward with '#' URLs, sub frames etc.
Review URL: http://codereview.chromium.org/371004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32454 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/extra_system_apis.h')
-rw-r--r-- | chrome_frame/extra_system_apis.h | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/chrome_frame/extra_system_apis.h b/chrome_frame/extra_system_apis.h index 0fbe0ea..2d78d59 100644 --- a/chrome_frame/extra_system_apis.h +++ b/chrome_frame/extra_system_apis.h @@ -15,7 +15,7 @@ class __declspec(uuid("54A8F188-9EBD-4795-AD16-9B4945119636")) IWebBrowserEventsService : public IUnknown { public: - STDMETHOD(FireBeforeNavigate2Event)(VARIANT_BOOL *cancel) = 0; + STDMETHOD(FireBeforeNavigate2Event)(VARIANT_BOOL* cancel) = 0; STDMETHOD(FireNavigateComplete2Event)(VOID) = 0; STDMETHOD(FireDownloadBeginEvent)(VOID) = 0; STDMETHOD(FireDownloadCompleteEvent)(VOID) = 0; @@ -31,7 +31,31 @@ IWebBrowserEventsService : public IUnknown { class __declspec(uuid("{87CC5D04-EAFA-4833-9820-8F986530CC00}")) IWebBrowserEventsUrlService : public IUnknown { public: - STDMETHOD(GetUrlForEvents)(BSTR *url) = 0; + STDMETHOD(GetUrlForEvents)(BSTR* url) = 0; +}; + +// This interface is used to call FireBeforeNavigate with additional +// information like url. Available on IE7 onwards. +// +// MSDN documents this interface see: +// http://msdn.microsoft.com/en-us/library/aa770053(VS.85).aspx) +// but this is not included in any Platform SDK header file. +interface __declspec(uuid("3050f801-98b5-11cf-bb82-00aa00bdce0b")) +IDocObjectService : public IUnknown { + STDMETHOD(FireBeforeNavigate2)(IDispatch* dispatch, + LPCTSTR url, DWORD flags, LPCTSTR frame_name, BYTE* post_data, + DWORD post_data_len, LPCTSTR headers, BOOL play_nav_sound, + BOOL* cancel) = 0; + STDMETHOD(FireNavigateComplete2)(IHTMLWindow2* html_window2, + DWORD flags) = 0; + STDMETHOD(FireDownloadBegin)() = 0; + STDMETHOD(FireDownloadComplete)() = 0; + STDMETHOD(FireDocumentComplete)(IHTMLWindow2* html_window2, DWORD flags) = 0; + STDMETHOD(UpdateDesktopComponent)(IHTMLWindow2* html_window2) = 0; + STDMETHOD(GetPendingUrl)(BSTR* pending_url) = 0; + STDMETHOD(ActiveElementChanged)(IHTMLElement* html_element) = 0; + STDMETHOD(GetUrlSearchComponent)(BSTR* search) = 0; + STDMETHOD(IsErrorUrl)(LPCTSTR url, BOOL* is_error) = 0; }; #endif // CHROME_FRAME_EXTRA_SYSTEM_APIS_H_ |