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

Side by Side Diff: ceee/ie/plugin/bho/web_progress_notifier.h

Issue 4989002: Firing event to broker without worker thread. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years 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
« no previous file with comments | « ceee/ie/plugin/bho/tab_events_funnel.h ('k') | ceee/ie/plugin/bho/web_progress_notifier.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 // 4 //
5 // Web progress notifier implementation. 5 // Web progress notifier implementation.
6 #ifndef CEEE_IE_PLUGIN_BHO_WEB_PROGRESS_NOTIFIER_H_ 6 #ifndef CEEE_IE_PLUGIN_BHO_WEB_PROGRESS_NOTIFIER_H_
7 #define CEEE_IE_PLUGIN_BHO_WEB_PROGRESS_NOTIFIER_H_ 7 #define CEEE_IE_PLUGIN_BHO_WEB_PROGRESS_NOTIFIER_H_
8 8
9 #include <atlbase.h> 9 #include <atlbase.h>
10 #include <tlogstg.h> 10 #include <tlogstg.h>
11 11
12 #include <map> 12 #include <map>
13 #include <string> 13 #include <string>
14 14
15 #include "base/scoped_ptr.h" 15 #include "base/scoped_ptr.h"
16 #include "ceee/ie/plugin/bho/web_browser_events_source.h" 16 #include "ceee/ie/plugin/bho/web_browser_events_source.h"
17 #include "ceee/ie/plugin/bho/webnavigation_events_funnel.h"
18 #include "ceee/ie/plugin/bho/webrequest_notifier.h" 17 #include "ceee/ie/plugin/bho/webrequest_notifier.h"
19 #include "ceee/ie/plugin/bho/window_message_source.h" 18 #include "ceee/ie/plugin/bho/window_message_source.h"
20 #include "chrome/common/page_transition_types.h" 19 #include "chrome/common/page_transition_types.h"
21 20
21 class WebNavigationEventsFunnel;
22
22 // WebProgressNotifier sends to the Broker various Web progress events, 23 // WebProgressNotifier sends to the Broker various Web progress events,
23 // including Web page navigation events and HTTP request/response events. 24 // including Web page navigation events and HTTP request/response events.
24 class WebProgressNotifier : public WebBrowserEventsSource::Sink, 25 class WebProgressNotifier : public WebBrowserEventsSource::Sink,
25 public WindowMessageSource::Sink { 26 public WindowMessageSource::Sink {
26 public: 27 public:
27 WebProgressNotifier(); 28 WebProgressNotifier();
28 virtual ~WebProgressNotifier(); 29 virtual ~WebProgressNotifier();
29 30
30 HRESULT Initialize( 31 HRESULT Initialize(
31 WebBrowserEventsSource* web_browser_events_source, 32 WebBrowserEventsSource* web_browser_events_source,
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 193
193 // The transition type for the current navigation in this frame. 194 // The transition type for the current navigation in this frame.
194 PageTransition::Type transition_type; 195 PageTransition::Type transition_type;
195 // The transition qualifiers for the current navigation in this frame. 196 // The transition qualifiers for the current navigation in this frame.
196 TransitionQualifiers transition_qualifiers; 197 TransitionQualifiers transition_qualifiers;
197 // The frame ID. 198 // The frame ID.
198 const int frame_id; 199 const int frame_id;
199 }; 200 };
200 201
201 // Accessor so that we can mock it in unit tests. 202 // Accessor so that we can mock it in unit tests.
202 virtual WebNavigationEventsFunnel& webnavigation_events_funnel() { 203 virtual WebNavigationEventsFunnel* webnavigation_events_funnel();
203 return webnavigation_events_funnel_;
204 }
205 204
206 // Accessor so that we can mock WebRequestNotifier in unit tests. 205 // Accessor so that we can mock WebRequestNotifier in unit tests.
207 virtual WebRequestNotifier* webrequest_notifier() { 206 virtual WebRequestNotifier* webrequest_notifier();
208 if (cached_webrequest_notifier_ == NULL) {
209 cached_webrequest_notifier_ = ProductionWebRequestNotifier::get();
210 }
211 return cached_webrequest_notifier_;
212 }
213 207
214 // Unit testing seems to create a WindowMessageSource instance. 208 // Unit testing seems to create a WindowMessageSource instance.
215 virtual WindowMessageSource* CreateWindowMessageSource(); 209 virtual WindowMessageSource* CreateWindowMessageSource();
216 210
217 // Whether the current navigation is a navigation among the browsing history 211 // Whether the current navigation is a navigation among the browsing history
218 // (forward/back list). 212 // (forward/back list).
219 // The method is made virtual so that we could easily mock it in unit tests. 213 // The method is made virtual so that we could easily mock it in unit tests.
220 virtual bool IsForwardBack(BSTR url); 214 virtual bool IsForwardBack(BSTR url);
221 215
222 // Whether we are currently inside the onload event handler of the page. 216 // Whether we are currently inside the onload event handler of the page.
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 bool FilterOutWebBrowserEvent(IWebBrowser2* browser, 284 bool FilterOutWebBrowserEvent(IWebBrowser2* browser,
291 FilteringInfo::Event event); 285 FilteringInfo::Event event);
292 286
293 // This class doesn't have ownership of the object that 287 // This class doesn't have ownership of the object that
294 // web_browser_events_source_ points to. 288 // web_browser_events_source_ points to.
295 WebBrowserEventsSource* web_browser_events_source_; 289 WebBrowserEventsSource* web_browser_events_source_;
296 // Publisher of events about Windows message handling. 290 // Publisher of events about Windows message handling.
297 scoped_ptr<WindowMessageSource> window_message_source_; 291 scoped_ptr<WindowMessageSource> window_message_source_;
298 292
299 // The funnel for sending webNavigation events to the broker. 293 // The funnel for sending webNavigation events to the broker.
300 WebNavigationEventsFunnel webnavigation_events_funnel_; 294 scoped_ptr<WebNavigationEventsFunnel> webnavigation_events_funnel_;
301 295
302 // Information related to the main frame. 296 // Information related to the main frame.
303 FrameInfo main_frame_info_; 297 FrameInfo main_frame_info_;
304 298
305 // IWebBrowser2 interface pointer of the main frame. 299 // IWebBrowser2 interface pointer of the main frame.
306 CComPtr<IWebBrowser2> main_browser_; 300 CComPtr<IWebBrowser2> main_browser_;
307 // ITravelLogStg interface pointer to manage the forward/back list. 301 // ITravelLogStg interface pointer to manage the forward/back list.
308 CComPtr<ITravelLogStg> travel_log_; 302 CComPtr<ITravelLogStg> travel_log_;
309 // Window handle of the tab. 303 // Window handle of the tab.
310 CeeeWindowHandle tab_handle_; 304 CeeeWindowHandle tab_handle_;
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
357 bool webrequest_notifier_initialized_; 351 bool webrequest_notifier_initialized_;
358 352
359 DWORD create_thread_id_; 353 DWORD create_thread_id_;
360 354
361 FilteringInfo filtering_info_; 355 FilteringInfo filtering_info_;
362 private: 356 private:
363 DISALLOW_COPY_AND_ASSIGN(WebProgressNotifier); 357 DISALLOW_COPY_AND_ASSIGN(WebProgressNotifier);
364 }; 358 };
365 359
366 #endif // CEEE_IE_PLUGIN_BHO_WEB_PROGRESS_NOTIFIER_H_ 360 #endif // CEEE_IE_PLUGIN_BHO_WEB_PROGRESS_NOTIFIER_H_
OLDNEW
« no previous file with comments | « ceee/ie/plugin/bho/tab_events_funnel.h ('k') | ceee/ie/plugin/bho/web_progress_notifier.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698