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

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

Issue 928633002: Add some tracing for Profiles and Extensions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: additionally mark some of the traces as startup Created 5 years, 10 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
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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
11 #include "base/command_line.h" 11 #include "base/command_line.h"
12 #include "base/metrics/histogram.h" 12 #include "base/metrics/histogram.h"
13 #include "base/strings/string_number_conversions.h" 13 #include "base/strings/string_number_conversions.h"
14 #include "base/strings/stringprintf.h" 14 #include "base/strings/stringprintf.h"
15 #include "base/strings/utf_string_conversions.h" 15 #include "base/strings/utf_string_conversions.h"
16 #include "base/threading/sequenced_worker_pool.h" 16 #include "base/threading/sequenced_worker_pool.h"
17 #include "base/threading/thread_restrictions.h" 17 #include "base/threading/thread_restrictions.h"
18 #include "base/time/time.h" 18 #include "base/time/time.h"
19 #include "base/trace_event/trace_event.h"
19 #include "chrome/browser/browser_process.h" 20 #include "chrome/browser/browser_process.h"
20 #include "chrome/browser/chrome_notification_types.h" 21 #include "chrome/browser/chrome_notification_types.h"
21 #include "chrome/browser/content_settings/content_settings_internal_extension_pr ovider.h" 22 #include "chrome/browser/content_settings/content_settings_internal_extension_pr ovider.h"
22 #include "chrome/browser/extensions/api/content_settings/content_settings_custom _extension_provider.h" 23 #include "chrome/browser/extensions/api/content_settings/content_settings_custom _extension_provider.h"
23 #include "chrome/browser/extensions/api/content_settings/content_settings_servic e.h" 24 #include "chrome/browser/extensions/api/content_settings/content_settings_servic e.h"
24 #include "chrome/browser/extensions/app_data_migrator.h" 25 #include "chrome/browser/extensions/app_data_migrator.h"
25 #include "chrome/browser/extensions/component_loader.h" 26 #include "chrome/browser/extensions/component_loader.h"
26 #include "chrome/browser/extensions/crx_installer.h" 27 #include "chrome/browser/extensions/crx_installer.h"
27 #include "chrome/browser/extensions/data_deleter.h" 28 #include "chrome/browser/extensions/data_deleter.h"
28 #include "chrome/browser/extensions/extension_action_storage_manager.h" 29 #include "chrome/browser/extensions/extension_action_storage_manager.h"
(...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after
377 // hundreds of callers of this function, and many might assume that this 378 // hundreds of callers of this function, and many might assume that this
378 // includes those that have been disabled due to blacklisting or blocking. 379 // includes those that have been disabled due to blacklisting or blocking.
379 include_mask |= ExtensionRegistry::DISABLED | 380 include_mask |= ExtensionRegistry::DISABLED |
380 ExtensionRegistry::BLACKLISTED | ExtensionRegistry::BLOCKED; 381 ExtensionRegistry::BLACKLISTED | ExtensionRegistry::BLOCKED;
381 } 382 }
382 return registry_->GetExtensionById(id, include_mask); 383 return registry_->GetExtensionById(id, include_mask);
383 } 384 }
384 385
385 void ExtensionService::Init() { 386 void ExtensionService::Init() {
386 CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 387 CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
387 388 TRACE_EVENT0("browser,startup", "ExtensionService::Init");
388 base::Time begin_time = base::Time::Now(); 389 base::Time begin_time = base::Time::Now();
389 390
390 DCHECK(!is_ready()); // Can't redo init. 391 DCHECK(!is_ready()); // Can't redo init.
391 DCHECK_EQ(registry_->enabled_extensions().size(), 0u); 392 DCHECK_EQ(registry_->enabled_extensions().size(), 0u);
392 393
393 const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess(); 394 const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess();
394 if (cmd_line->HasSwitch(switches::kInstallEphemeralAppFromWebstore)) { 395 if (cmd_line->HasSwitch(switches::kInstallEphemeralAppFromWebstore)) {
395 // The sole purpose of this launch is to install a new extension from CWS 396 // The sole purpose of this launch is to install a new extension from CWS
396 // and immediately terminate: loading already installed extensions is 397 // and immediately terminate: loading already installed extensions is
397 // unnecessary and may interfere with the inline install dialog (e.g. if an 398 // unnecessary and may interfere with the inline install dialog (e.g. if an
(...skipping 1643 matching lines...) Expand 10 before | Expand all | Expand 10 after
2041 extension_sync_service_->SyncExtensionChangeIfNeeded(*extension); 2042 extension_sync_service_->SyncExtensionChangeIfNeeded(*extension);
2042 } 2043 }
2043 2044
2044 const Extension* ExtensionService::GetPendingExtensionUpdate( 2045 const Extension* ExtensionService::GetPendingExtensionUpdate(
2045 const std::string& id) const { 2046 const std::string& id) const {
2046 return delayed_installs_.GetByID(id); 2047 return delayed_installs_.GetByID(id);
2047 } 2048 }
2048 2049
2049 void ExtensionService::RegisterContentSettings( 2050 void ExtensionService::RegisterContentSettings(
2050 HostContentSettingsMap* host_content_settings_map) { 2051 HostContentSettingsMap* host_content_settings_map) {
2052 TRACE_EVENT0("browser,startup", "ExtensionService::RegisterContentSettings");
2051 DCHECK_CURRENTLY_ON(BrowserThread::UI); 2053 DCHECK_CURRENTLY_ON(BrowserThread::UI);
2052 host_content_settings_map->RegisterProvider( 2054 host_content_settings_map->RegisterProvider(
2053 HostContentSettingsMap::INTERNAL_EXTENSION_PROVIDER, 2055 HostContentSettingsMap::INTERNAL_EXTENSION_PROVIDER,
2054 scoped_ptr<content_settings::ObservableProvider>( 2056 scoped_ptr<content_settings::ObservableProvider>(
2055 new content_settings::InternalExtensionProvider(profile_))); 2057 new content_settings::InternalExtensionProvider(profile_)));
2056 2058
2057 host_content_settings_map->RegisterProvider( 2059 host_content_settings_map->RegisterProvider(
2058 HostContentSettingsMap::CUSTOM_EXTENSION_PROVIDER, 2060 HostContentSettingsMap::CUSTOM_EXTENSION_PROVIDER,
2059 scoped_ptr<content_settings::ObservableProvider>( 2061 scoped_ptr<content_settings::ObservableProvider>(
2060 new content_settings::CustomExtensionProvider( 2062 new content_settings::CustomExtensionProvider(
(...skipping 486 matching lines...) Expand 10 before | Expand all | Expand 10 after
2547 } 2549 }
2548 2550
2549 void ExtensionService::OnProfileDestructionStarted() { 2551 void ExtensionService::OnProfileDestructionStarted() {
2550 ExtensionIdSet ids_to_unload = registry_->enabled_extensions().GetIDs(); 2552 ExtensionIdSet ids_to_unload = registry_->enabled_extensions().GetIDs();
2551 for (ExtensionIdSet::iterator it = ids_to_unload.begin(); 2553 for (ExtensionIdSet::iterator it = ids_to_unload.begin();
2552 it != ids_to_unload.end(); 2554 it != ids_to_unload.end();
2553 ++it) { 2555 ++it) {
2554 UnloadExtension(*it, UnloadedExtensionInfo::REASON_PROFILE_SHUTDOWN); 2556 UnloadExtension(*it, UnloadedExtensionInfo::REASON_PROFILE_SHUTDOWN);
2555 } 2557 }
2556 } 2558 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/component_loader.cc ('k') | chrome/browser/extensions/extension_system_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698