1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_FRAME_HTML_PRIVATE_WINDOW_IMPL_H_ 6 #define CHROME_FRAME_HTML_PRIVATE_WINDOW_IMPL_H_ 7 8 #include <atlbase.h> 9 #include <atlcom.h> 10 #include <mshtml.h> 11 12 #include "chrome_frame/chrome_tab.h" 13 #include "chrome_frame/resource.h" 14 #include "grit/chrome_frame_resources.h" 15 16 interface __declspec(uuid("3050F6DC-98B5-11CF-BB82-00AA00BDCE0B")) 17 IHTMLPrivateWindow : public IUnknown { 18 STDMETHOD(SuperNavigate)(BSTR , BSTR, BSTR, BSTR , VARIANT*, 19 VARIANT*, ULONG) = 0; 20 STDMETHOD(GetPendingUrl)(BSTR*) = 0; 21 STDMETHOD(SetPICSTarget)(IOleCommandTarget*) = 0; 22 STDMETHOD(PICSComplete)(int) = 0; 23 STDMETHOD(FindWindowByName)(PCWSTR, IHTMLWindow2**) = 0; 24 STDMETHOD(GetAddressBarUrl)(BSTR* url) = 0; 25 }; 26 27 template <typename T> 28 class ATL_NO_VTABLE HTMLPrivateWindowImpl : public T { 29 public: 30 HTMLPrivateWindowImpl() {} 31 32 // IHTMLPrivateWindow 33 STDMETHOD(SuperNavigate)(BSTR , BSTR, BSTR, BSTR , VARIANT*, 34 VARIANT*, ULONG) { 35 DLOG(INFO) << __FUNCTION__; 36 return E_NOTIMPL; 37 } 38 39 STDMETHOD(GetPendingUrl)(BSTR*) { 40 DLOG(INFO) << __FUNCTION__; 41 return E_NOTIMPL; 42 } 43 44 STDMETHOD(SetPICSTarget)(IOleCommandTarget*) { 45 DLOG(INFO) << __FUNCTION__; 46 return E_NOTIMPL; 47 } 48 49 STDMETHOD(PICSComplete)(int) { 50 DLOG(INFO) << __FUNCTION__; 51 return E_NOTIMPL; 52 } 53 54 STDMETHOD(FindWindowByName)(LPCWSTR, IHTMLWindow2**) { 55 DLOG(INFO) << __FUNCTION__; 56 return E_NOTIMPL; 57 } 58 59 STDMETHOD(GetAddressBarUrl)(BSTR* url) { 60 DLOG(INFO) << __FUNCTION__; 61 return E_NOTIMPL; 62 } 63 }; 64 65 #endif // CHROME_FRAME_HTML_PRIVATE_WINDOW_IMPL_H_ 66 67