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/html_private_window_impl.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/html_private_window_impl.h')
-rw-r--r-- | chrome_frame/html_private_window_impl.h | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/chrome_frame/html_private_window_impl.h b/chrome_frame/html_private_window_impl.h new file mode 100644 index 0000000..358df46 --- /dev/null +++ b/chrome_frame/html_private_window_impl.h @@ -0,0 +1,66 @@ +// Copyright (c) 2009 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CHROME_FRAME_HTML_PRIVATE_WINDOW_IMPL_H_ +#define CHROME_FRAME_HTML_PRIVATE_WINDOW_IMPL_H_ + +#include <atlbase.h> +#include <atlcom.h> +#include <mshtml.h> + +#include "chrome_tab.h" // NOLINT +#include "chrome_frame/resource.h" +#include "grit/chrome_frame_resources.h" + +interface __declspec(uuid("3050F6DC-98B5-11CF-BB82-00AA00BDCE0B")) +IHTMLPrivateWindow : public IUnknown { + STDMETHOD(SuperNavigate)(BSTR , BSTR, BSTR, BSTR , VARIANT*, + VARIANT*, ULONG) = 0; + STDMETHOD(GetPendingUrl)(BSTR*) = 0; + STDMETHOD(SetPICSTarget)(IOleCommandTarget*) = 0; + STDMETHOD(PICSComplete)(int) = 0; + STDMETHOD(FindWindowByName)(PCWSTR, IHTMLWindow2**) = 0; + STDMETHOD(GetAddressBarUrl)(BSTR* url) = 0; +}; + +template <typename T> +class ATL_NO_VTABLE HTMLPrivateWindowImpl : public T { + public: + HTMLPrivateWindowImpl() {} + + // IHTMLPrivateWindow + STDMETHOD(SuperNavigate)(BSTR , BSTR, BSTR, BSTR , VARIANT*, + VARIANT*, ULONG) { + DLOG(INFO) << __FUNCTION__; + return E_NOTIMPL; + } + + STDMETHOD(GetPendingUrl)(BSTR*) { + DLOG(INFO) << __FUNCTION__; + return E_NOTIMPL; + } + + STDMETHOD(SetPICSTarget)(IOleCommandTarget*) { + DLOG(INFO) << __FUNCTION__; + return E_NOTIMPL; + } + + STDMETHOD(PICSComplete)(int) { + DLOG(INFO) << __FUNCTION__; + return E_NOTIMPL; + } + + STDMETHOD(FindWindowByName)(LPCWSTR, IHTMLWindow2**) { + DLOG(INFO) << __FUNCTION__; + return E_NOTIMPL; + } + + STDMETHOD(GetAddressBarUrl)(BSTR* url) { + DLOG(INFO) << __FUNCTION__; + return E_NOTIMPL; + } +}; + +#endif // CHROME_FRAME_HTML_PRIVATE_WINDOW_IMPL_H_ + |