| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 // Implements the Chrome Extensions WebNavigation API. | 5 // Implements the Chrome Extensions WebNavigation API. |
| 6 | 6 |
| 7 #include "chrome/browser/extensions/api/web_navigation/web_navigation_api.h" | 7 #include "chrome/browser/extensions/api/web_navigation/web_navigation_api.h" |
| 8 | 8 |
| 9 #include "base/lazy_instance.h" | 9 #include "base/lazy_instance.h" |
| 10 #include "chrome/browser/chrome_notification_types.h" | 10 #include "chrome/browser/chrome_notification_types.h" |
| (...skipping 26 matching lines...) Expand all Loading... |
| 37 namespace extensions { | 37 namespace extensions { |
| 38 | 38 |
| 39 namespace helpers = web_navigation_api_helpers; | 39 namespace helpers = web_navigation_api_helpers; |
| 40 namespace keys = web_navigation_api_constants; | 40 namespace keys = web_navigation_api_constants; |
| 41 namespace web_navigation = api::web_navigation; | 41 namespace web_navigation = api::web_navigation; |
| 42 | 42 |
| 43 namespace { | 43 namespace { |
| 44 | 44 |
| 45 typedef std::map<content::WebContents*, WebNavigationTabObserver*> | 45 typedef std::map<content::WebContents*, WebNavigationTabObserver*> |
| 46 TabObserverMap; | 46 TabObserverMap; |
| 47 static base::LazyInstance<TabObserverMap> g_tab_observer = | 47 static base::LazyInstance<TabObserverMap>::DestructorAtExit g_tab_observer = |
| 48 LAZY_INSTANCE_INITIALIZER; | 48 LAZY_INSTANCE_INITIALIZER; |
| 49 | 49 |
| 50 } // namespace | 50 } // namespace |
| 51 | 51 |
| 52 // WebNavigtionEventRouter ------------------------------------------- | 52 // WebNavigtionEventRouter ------------------------------------------- |
| 53 | 53 |
| 54 WebNavigationEventRouter::PendingWebContents::PendingWebContents() | 54 WebNavigationEventRouter::PendingWebContents::PendingWebContents() |
| 55 : source_web_contents(NULL), | 55 : source_web_contents(NULL), |
| 56 source_frame_host(NULL), | 56 source_frame_host(NULL), |
| 57 target_web_contents(NULL), | 57 target_web_contents(NULL), |
| (...skipping 508 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 566 web_navigation::OnTabReplaced::kEventName); | 566 web_navigation::OnTabReplaced::kEventName); |
| 567 } | 567 } |
| 568 | 568 |
| 569 WebNavigationAPI::~WebNavigationAPI() { | 569 WebNavigationAPI::~WebNavigationAPI() { |
| 570 } | 570 } |
| 571 | 571 |
| 572 void WebNavigationAPI::Shutdown() { | 572 void WebNavigationAPI::Shutdown() { |
| 573 EventRouter::Get(browser_context_)->UnregisterObserver(this); | 573 EventRouter::Get(browser_context_)->UnregisterObserver(this); |
| 574 } | 574 } |
| 575 | 575 |
| 576 static base::LazyInstance<BrowserContextKeyedAPIFactory<WebNavigationAPI> > | 576 static base::LazyInstance<BrowserContextKeyedAPIFactory<WebNavigationAPI>>:: |
| 577 g_factory = LAZY_INSTANCE_INITIALIZER; | 577 DestructorAtExit g_factory = LAZY_INSTANCE_INITIALIZER; |
| 578 | 578 |
| 579 // static | 579 // static |
| 580 BrowserContextKeyedAPIFactory<WebNavigationAPI>* | 580 BrowserContextKeyedAPIFactory<WebNavigationAPI>* |
| 581 WebNavigationAPI::GetFactoryInstance() { | 581 WebNavigationAPI::GetFactoryInstance() { |
| 582 return g_factory.Pointer(); | 582 return g_factory.Pointer(); |
| 583 } | 583 } |
| 584 | 584 |
| 585 void WebNavigationAPI::OnListenerAdded(const EventListenerInfo& details) { | 585 void WebNavigationAPI::OnListenerAdded(const EventListenerInfo& details) { |
| 586 web_navigation_event_router_.reset(new WebNavigationEventRouter( | 586 web_navigation_event_router_.reset(new WebNavigationEventRouter( |
| 587 Profile::FromBrowserContext(browser_context_))); | 587 Profile::FromBrowserContext(browser_context_))); |
| 588 EventRouter::Get(browser_context_)->UnregisterObserver(this); | 588 EventRouter::Get(browser_context_)->UnregisterObserver(this); |
| 589 } | 589 } |
| 590 | 590 |
| 591 } // namespace extensions | 591 } // namespace extensions |
| OLD | NEW |