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

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

Issue 10777003: Refactor APIResourceController to ProfileKeyedService. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 5 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
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 <set> 8 #include <set>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 11 matching lines...) Expand all
22 #include "base/stringprintf.h" 22 #include "base/stringprintf.h"
23 #include "base/threading/thread_restrictions.h" 23 #include "base/threading/thread_restrictions.h"
24 #include "base/time.h" 24 #include "base/time.h"
25 #include "base/utf_string_conversions.h" 25 #include "base/utf_string_conversions.h"
26 #include "base/values.h" 26 #include "base/values.h"
27 #include "base/version.h" 27 #include "base/version.h"
28 #include "chrome/browser/accessibility/accessibility_extension_api.h" 28 #include "chrome/browser/accessibility/accessibility_extension_api.h"
29 #include "chrome/browser/bookmarks/bookmark_extension_api.h" 29 #include "chrome/browser/bookmarks/bookmark_extension_api.h"
30 #include "chrome/browser/browser_process.h" 30 #include "chrome/browser/browser_process.h"
31 #include "chrome/browser/chrome_plugin_service_filter.h" 31 #include "chrome/browser/chrome_plugin_service_filter.h"
32 #include "chrome/browser/extensions/api/api_resource_controller.h"
33 #include "chrome/browser/extensions/api/cookies/cookies_api.h" 32 #include "chrome/browser/extensions/api/cookies/cookies_api.h"
34 #include "chrome/browser/extensions/api/declarative/rules_registry_service.h" 33 #include "chrome/browser/extensions/api/declarative/rules_registry_service.h"
35 #include "chrome/browser/extensions/api/web_navigation/web_navigation_api.h" 34 #include "chrome/browser/extensions/api/web_navigation/web_navigation_api.h"
36 #include "chrome/browser/extensions/app_notification_manager.h" 35 #include "chrome/browser/extensions/app_notification_manager.h"
37 #include "chrome/browser/extensions/app_sync_data.h" 36 #include "chrome/browser/extensions/app_sync_data.h"
38 #include "chrome/browser/extensions/apps_promo.h" 37 #include "chrome/browser/extensions/apps_promo.h"
39 #include "chrome/browser/extensions/component_loader.h" 38 #include "chrome/browser/extensions/component_loader.h"
40 #include "chrome/browser/extensions/crx_installer.h" 39 #include "chrome/browser/extensions/crx_installer.h"
41 #include "chrome/browser/extensions/default_apps_trial.h" 40 #include "chrome/browser/extensions/default_apps_trial.h"
42 #include "chrome/browser/extensions/extension_browser_event_router.h" 41 #include "chrome/browser/extensions/extension_browser_event_router.h"
(...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after
337 ready_(false), 336 ready_(false),
338 toolbar_model_(ALLOW_THIS_IN_INITIALIZER_LIST(this)), 337 toolbar_model_(ALLOW_THIS_IN_INITIALIZER_LIST(this)),
339 menu_manager_(profile), 338 menu_manager_(profile),
340 app_notification_manager_(new AppNotificationManager(profile)), 339 app_notification_manager_(new AppNotificationManager(profile)),
341 apps_promo_(profile->GetPrefs()), 340 apps_promo_(profile->GetPrefs()),
342 event_routers_initialized_(false), 341 event_routers_initialized_(false),
343 update_once_all_providers_are_ready_(false), 342 update_once_all_providers_are_ready_(false),
344 app_sync_bundle_(ALLOW_THIS_IN_INITIALIZER_LIST(this)), 343 app_sync_bundle_(ALLOW_THIS_IN_INITIALIZER_LIST(this)),
345 extension_sync_bundle_(ALLOW_THIS_IN_INITIALIZER_LIST(this)), 344 extension_sync_bundle_(ALLOW_THIS_IN_INITIALIZER_LIST(this)),
346 extension_warnings_(profile), 345 extension_warnings_(profile),
347 api_resource_controller_(NULL),
348 app_shortcut_manager_(profile) { 346 app_shortcut_manager_(profile) {
349 CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 347 CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
350 348
351 // Figure out if extension installation should be enabled. 349 // Figure out if extension installation should be enabled.
352 if (command_line->HasSwitch(switches::kDisableExtensions)) { 350 if (command_line->HasSwitch(switches::kDisableExtensions)) {
353 extensions_enabled_ = false; 351 extensions_enabled_ = false;
354 } else if (profile->GetPrefs()->GetBoolean(prefs::kDisableExtensions)) { 352 } else if (profile->GetPrefs()->GetBoolean(prefs::kDisableExtensions)) {
355 extensions_enabled_ = false; 353 extensions_enabled_ = false;
356 } 354 }
357 355
(...skipping 2190 matching lines...) Expand 10 before | Expand all | Expand 10 after
2548 2546
2549 ExtensionService::NaClModuleInfoList::iterator 2547 ExtensionService::NaClModuleInfoList::iterator
2550 ExtensionService::FindNaClModule(const GURL& url) { 2548 ExtensionService::FindNaClModule(const GURL& url) {
2551 for (NaClModuleInfoList::iterator iter = nacl_module_list_.begin(); 2549 for (NaClModuleInfoList::iterator iter = nacl_module_list_.begin();
2552 iter != nacl_module_list_.end(); ++iter) { 2550 iter != nacl_module_list_.end(); ++iter) {
2553 if (iter->url == url) 2551 if (iter->url == url)
2554 return iter; 2552 return iter;
2555 } 2553 }
2556 return nacl_module_list_.end(); 2554 return nacl_module_list_.end();
2557 } 2555 }
2558
2559 extensions::APIResourceController*
2560 ExtensionService::api_resource_controller() {
2561 // TODO(miket): Find a better place for this thing to live. Like every other
2562 // piece of baggage on ExtensionService, it's scoped along with a Profile.
2563
2564 // To coexist with certain unit tests that don't have a work-thread message
2565 // loop available at ExtensionService shutdown, we lazy-initialize this
2566 // object so that those cases neither create nor destroy an
2567 // APIResourceController.
2568 if (!api_resource_controller_.get()) {
2569 api_resource_controller_.reset(new extensions::APIResourceController());
2570 }
2571 return api_resource_controller_.get();
2572 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698