| // Copyright (c) 2011 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_frame/chrome_tab.h" |
| #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_ |
| |