Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(675)

Side by Side Diff: chrome_frame/ready_mode/internal/ready_mode_web_browser_adapter.h

Issue 126143005: Remove Chrome Frame code and resources. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: sync to r244038 Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
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_READY_MODE_INTERNAL_READY_MODE_WEB_BROWSER_ADAPTER_H_
6 #define CHROME_FRAME_READY_MODE_INTERNAL_READY_MODE_WEB_BROWSER_ADAPTER_H_
7
8 #include <atlbase.h>
9 #include <atlcom.h>
10 #include <exdisp.h>
11 #include <exdispid.h>
12
13 #include <string>
14
15 #include "base/basictypes.h"
16 #include "base/memory/scoped_ptr.h"
17 #include "base/win/scoped_comptr.h"
18
19 // Observes navigation and rendering in an IWebBrowser2 instance and reports
20 // activity to an observer.
21 class ATL_NO_VTABLE ReadyModeWebBrowserAdapter
22 : public CComObjectRootEx<CComSingleThreadModel>,
23 public IDispEventSimpleImpl<0, ReadyModeWebBrowserAdapter,
24 &DIID_DWebBrowserEvents2> {
25 public:
26 // Receives notification of navigation and rendering activity in the
27 // IWebBrowser2 instance.
28 class Observer {
29 public:
30 virtual ~Observer() {}
31
32 // Receives notification when the browser begins navigating.
33 virtual void OnNavigateTo(const std::wstring& url) = 0;
34
35 // Receives notification when the browser has rendered a page in Chrome
36 // Frame.
37 virtual void OnRenderInChromeFrame(const std::wstring& url) = 0;
38
39 // Receives notification when the browser has rendered a page in the host
40 // renderer.
41 virtual void OnRenderInHost(const std::wstring& url) = 0;
42 }; // class Observer
43
44 ReadyModeWebBrowserAdapter();
45
46 // Begins observation of the specified IWebBrowser2 instance, reporting
47 // activity to the observer. Takes ownership of observer and deletes it
48 // either upon failure to initialize, during Uninstall(), or when the browser
49 // quits.
50 bool Initialize(IWebBrowser2* web_browser_, Observer* observer);
51
52 // Stops observing the IWebBrowser2.
53 void Uninitialize();
54
55 DECLARE_NOT_AGGREGATABLE(ReadyModeWebBrowserAdapter)
56
57 BEGIN_COM_MAP(ReadyModeWebBrowserAdapter)
58 END_COM_MAP()
59
60 BEGIN_SINK_MAP(ReadyModeWebBrowserAdapter)
61 SINK_ENTRY_INFO(0, DIID_DWebBrowserEvents2, DISPID_BEFORENAVIGATE2,
62 BeforeNavigate2, &kBeforeNavigate2Info)
63 SINK_ENTRY_INFO(0, DIID_DWebBrowserEvents2, DISPID_DOCUMENTCOMPLETE,
64 DocumentComplete, &kDocumentCompleteInfo)
65 SINK_ENTRY_INFO(0, DIID_DWebBrowserEvents2, DISPID_ONQUIT,
66 OnQuit, &kOnQuitInfo)
67 END_SINK_MAP()
68
69 private:
70 // IWebBrowser2 event handlers
71 STDMETHOD(BeforeNavigate2)(IDispatch* dispatch, VARIANT* url, VARIANT* flags,
72 VARIANT* target_frame_name, VARIANT* post_data, VARIANT* headers,
73 VARIANT_BOOL* cancel);
74 STDMETHOD_(void, DocumentComplete)(IDispatch* dispatch, VARIANT* url);
75 STDMETHOD_(void, OnQuit)();
76
77 scoped_ptr<Observer> observer_;
78 base::win::ScopedComPtr<IWebBrowser2> web_browser_;
79
80 static _ATL_FUNC_INFO kBeforeNavigate2Info;
81 static _ATL_FUNC_INFO kDocumentCompleteInfo;
82 static _ATL_FUNC_INFO kOnQuitInfo;
83
84 DISALLOW_COPY_AND_ASSIGN(ReadyModeWebBrowserAdapter);
85 }; // class ReadyModeWebBrowserAdapter
86
87 #endif // CHROME_FRAME_READY_MODE_INTERNAL_READY_MODE_WEB_BROWSER_ADAPTER_H_
OLDNEW
« no previous file with comments | « chrome_frame/protocol_sink_wrap.cc ('k') | chrome_frame/ready_mode/internal/ready_mode_web_browser_adapter.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698