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

Side by Side Diff: chrome/browser/extensions/extension_service.cc

Issue 11496004: Lazy initialization for PushMessagingEventRouter (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Added InitializeEventRouter Created 8 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
OLDNEW
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 #include "chrome/browser/extensions/extension_service.h" 5 #include "chrome/browser/extensions/extension_service.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <iterator> 8 #include <iterator>
9 #include <set> 9 #include <set>
10 10
(...skipping 19 matching lines...) Expand all
30 #include "chrome/browser/bookmarks/bookmark_extension_api.h" 30 #include "chrome/browser/bookmarks/bookmark_extension_api.h"
31 #include "chrome/browser/bookmarks/bookmark_model_factory.h" 31 #include "chrome/browser/bookmarks/bookmark_model_factory.h"
32 #include "chrome/browser/browser_process.h" 32 #include "chrome/browser/browser_process.h"
33 #include "chrome/browser/chrome_plugin_service_filter.h" 33 #include "chrome/browser/chrome_plugin_service_filter.h"
34 #include "chrome/browser/debugger/devtools_window.h" 34 #include "chrome/browser/debugger/devtools_window.h"
35 #include "chrome/browser/extensions/api/app_runtime/app_runtime_api.h" 35 #include "chrome/browser/extensions/api/app_runtime/app_runtime_api.h"
36 #include "chrome/browser/extensions/api/declarative/rules_registry_service.h" 36 #include "chrome/browser/extensions/api/declarative/rules_registry_service.h"
37 #include "chrome/browser/extensions/api/extension_action/extension_actions_api.h " 37 #include "chrome/browser/extensions/api/extension_action/extension_actions_api.h "
38 #include "chrome/browser/extensions/api/media_galleries_private/media_galleries_ private_event_router.h" 38 #include "chrome/browser/extensions/api/media_galleries_private/media_galleries_ private_event_router.h"
39 #include "chrome/browser/extensions/api/preference/preference_api.h" 39 #include "chrome/browser/extensions/api/preference/preference_api.h"
40 #include "chrome/browser/extensions/api/push_messaging/push_messaging_api.h"
41 #include "chrome/browser/extensions/api/runtime/runtime_api.h" 40 #include "chrome/browser/extensions/api/runtime/runtime_api.h"
42 #include "chrome/browser/extensions/app_notification_manager.h" 41 #include "chrome/browser/extensions/app_notification_manager.h"
43 #include "chrome/browser/extensions/app_sync_data.h" 42 #include "chrome/browser/extensions/app_sync_data.h"
44 #include "chrome/browser/extensions/browser_event_router.h" 43 #include "chrome/browser/extensions/browser_event_router.h"
45 #include "chrome/browser/extensions/component_loader.h" 44 #include "chrome/browser/extensions/component_loader.h"
46 #include "chrome/browser/extensions/crx_installer.h" 45 #include "chrome/browser/extensions/crx_installer.h"
47 #include "chrome/browser/extensions/data_deleter.h" 46 #include "chrome/browser/extensions/data_deleter.h"
48 #include "chrome/browser/extensions/extension_disabled_ui.h" 47 #include "chrome/browser/extensions/extension_disabled_ui.h"
49 #include "chrome/browser/extensions/extension_error_reporter.h" 48 #include "chrome/browser/extensions/extension_error_reporter.h"
50 #include "chrome/browser/extensions/extension_error_ui.h" 49 #include "chrome/browser/extensions/extension_error_ui.h"
(...skipping 492 matching lines...) Expand 10 before | Expand all | Expand 10 after
543 return; 542 return;
544 543
545 #if defined(ENABLE_EXTENSIONS) 544 #if defined(ENABLE_EXTENSIONS)
546 history_event_router_.reset(new HistoryExtensionEventRouter(profile_)); 545 history_event_router_.reset(new HistoryExtensionEventRouter(profile_));
547 browser_event_router_.reset(new extensions::BrowserEventRouter(profile_)); 546 browser_event_router_.reset(new extensions::BrowserEventRouter(profile_));
548 window_event_router_.reset(new extensions::WindowEventRouter(profile_)); 547 window_event_router_.reset(new extensions::WindowEventRouter(profile_));
549 preference_event_router_.reset( 548 preference_event_router_.reset(
550 new extensions::PreferenceEventRouter(profile_)); 549 new extensions::PreferenceEventRouter(profile_));
551 bookmark_event_router_.reset(new BookmarkExtensionEventRouter( 550 bookmark_event_router_.reset(new BookmarkExtensionEventRouter(
552 BookmarkModelFactory::GetForProfile(profile_))); 551 BookmarkModelFactory::GetForProfile(profile_)));
553 push_messaging_event_router_.reset(
554 new extensions::PushMessagingEventRouter(profile_));
555 media_galleries_private_event_router_.reset( 552 media_galleries_private_event_router_.reset(
556 new extensions::MediaGalleriesPrivateEventRouter(profile_)); 553 new extensions::MediaGalleriesPrivateEventRouter(profile_));
557 554
558 #if defined(OS_CHROMEOS) 555 #if defined(OS_CHROMEOS)
559 FileBrowserEventRouterFactory::GetForProfile( 556 FileBrowserEventRouterFactory::GetForProfile(
560 profile_)->ObserveFileSystemEvents(); 557 profile_)->ObserveFileSystemEvents();
561 558
562 input_method_event_router_.reset( 559 input_method_event_router_.reset(
563 new chromeos::ExtensionInputMethodEventRouter); 560 new chromeos::ExtensionInputMethodEventRouter);
564 561
565 ExtensionMediaPlayerEventRouter::GetInstance()->Init(profile_); 562 ExtensionMediaPlayerEventRouter::GetInstance()->Init(profile_);
566 extensions::InputImeEventRouter::GetInstance()->Init(); 563 extensions::InputImeEventRouter::GetInstance()->Init();
567 #endif // defined(OS_CHROMEOS) 564 #endif // defined(OS_CHROMEOS)
568 #endif // defined(ENABLE_EXTENSIONS) 565 #endif // defined(ENABLE_EXTENSIONS)
569 event_routers_initialized_ = true; 566 event_routers_initialized_ = true;
570 } 567 }
571 568
572 void ExtensionService::OnProfileSyncServiceShutdown() {
573 // TODO(akalin): Move this block to Shutdown() once
574 // http://crbug.com/153827 is fixed.
575 if (push_messaging_event_router_.get())
576 push_messaging_event_router_->Shutdown();
577 }
578
579 void ExtensionService::Shutdown() { 569 void ExtensionService::Shutdown() {
580 // Do nothing for now. 570 // Do nothing for now.
581 } 571 }
582 572
583 const Extension* ExtensionService::GetExtensionById( 573 const Extension* ExtensionService::GetExtensionById(
584 const std::string& id, bool include_disabled) const { 574 const std::string& id, bool include_disabled) const {
585 int include_mask = INCLUDE_ENABLED; 575 int include_mask = INCLUDE_ENABLED;
586 if (include_disabled) { 576 if (include_disabled) {
587 // Include blacklisted extensions here because there are hundreds of 577 // Include blacklisted extensions here because there are hundreds of
588 // callers of this function, and many might assume that this includes those 578 // callers of this function, and many might assume that this includes those
(...skipping 2629 matching lines...) Expand 10 before | Expand all | Expand 10 after
3218 scoped_refptr<const Extension> extension = GetInstalledExtension(*it); 3208 scoped_refptr<const Extension> extension = GetInstalledExtension(*it);
3219 DCHECK(extension); 3209 DCHECK(extension);
3220 if (!extension) 3210 if (!extension)
3221 continue; 3211 continue;
3222 blacklisted_extensions_.Insert(extension); 3212 blacklisted_extensions_.Insert(extension);
3223 UnloadExtension(*it, extension_misc::UNLOAD_REASON_BLACKLIST); 3213 UnloadExtension(*it, extension_misc::UNLOAD_REASON_BLACKLIST);
3224 } 3214 }
3225 3215
3226 IdentifyAlertableExtensions(); 3216 IdentifyAlertableExtensions();
3227 } 3217 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698