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

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

Issue 5168004: Revert 66646 - Add "open as window" menu item to NTP app menu.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 10 years, 1 month 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) 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 #include "chrome/browser/extensions/extension_process_manager.h" 5 #include "chrome/browser/extensions/extension_process_manager.h"
6 6
7 #include "chrome/browser/browser_window.h" 7 #include "chrome/browser/browser_window.h"
8 #include "chrome/browser/browsing_instance.h" 8 #include "chrome/browser/browsing_instance.h"
9 #if defined(OS_MACOSX) 9 #if defined(OS_MACOSX)
10 #include "chrome/browser/extensions/extension_host_mac.h" 10 #include "chrome/browser/extensions/extension_host_mac.h"
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 } 272 }
273 273
274 bool ExtensionProcessManager::HasExtensionHost(ExtensionHost* host) const { 274 bool ExtensionProcessManager::HasExtensionHost(ExtensionHost* host) const {
275 return all_hosts_.find(host) != all_hosts_.end(); 275 return all_hosts_.find(host) != all_hosts_.end();
276 } 276 }
277 277
278 void ExtensionProcessManager::Observe(NotificationType type, 278 void ExtensionProcessManager::Observe(NotificationType type,
279 const NotificationSource& source, 279 const NotificationSource& source,
280 const NotificationDetails& details) { 280 const NotificationDetails& details) {
281 switch (type.value) { 281 switch (type.value) {
282 case NotificationType::EXTENSIONS_READY: { 282 case NotificationType::EXTENSIONS_READY:
283 CreateBackgroundHosts(this, 283 CreateBackgroundHosts(this,
284 Source<Profile>(source).ptr()->GetExtensionsService()->extensions()); 284 Source<Profile>(source).ptr()->GetExtensionsService()->extensions());
285 break; 285 break;
286 }
287 286
288 case NotificationType::EXTENSION_LOADED: { 287 case NotificationType::EXTENSION_LOADED: {
289 const Extension* extension = Details<const Extension>(details).ptr(); 288 ExtensionsService* service =
290 ::CreateBackgroundHost(this, extension); 289 Source<Profile>(source).ptr()->GetExtensionsService();
290 if (service->is_ready()) {
291 const Extension* extension = Details<const Extension>(details).ptr();
292 ::CreateBackgroundHost(this, extension);
293 }
291 break; 294 break;
292 } 295 }
293 296
294 case NotificationType::EXTENSION_UNLOADED: { 297 case NotificationType::EXTENSION_UNLOADED: {
295 const Extension* extension = Details<const Extension>(details).ptr(); 298 const Extension* extension = Details<const Extension>(details).ptr();
296 for (ExtensionHostSet::iterator iter = background_hosts_.begin(); 299 for (ExtensionHostSet::iterator iter = background_hosts_.begin();
297 iter != background_hosts_.end(); ++iter) { 300 iter != background_hosts_.end(); ++iter) {
298 ExtensionHost* host = *iter; 301 ExtensionHost* host = *iter;
299 if (host->extension()->id() == extension->id()) { 302 if (host->extension()->id() == extension->id()) {
300 delete host; 303 delete host;
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
444 const NotificationDetails& details) { 447 const NotificationDetails& details) {
445 switch (type.value) { 448 switch (type.value) {
446 case NotificationType::BROWSER_WINDOW_READY: { 449 case NotificationType::BROWSER_WINDOW_READY: {
447 // We want to spawn our background hosts as soon as the user opens an 450 // We want to spawn our background hosts as soon as the user opens an
448 // incognito window. Watch for new browsers and create the hosts if 451 // incognito window. Watch for new browsers and create the hosts if
449 // it matches our profile. 452 // it matches our profile.
450 Browser* browser = Source<Browser>(source).ptr(); 453 Browser* browser = Source<Browser>(source).ptr();
451 if (browser->profile() == browsing_instance_->profile()) { 454 if (browser->profile() == browsing_instance_->profile()) {
452 ExtensionsService* service = 455 ExtensionsService* service =
453 browsing_instance_->profile()->GetExtensionsService(); 456 browsing_instance_->profile()->GetExtensionsService();
454 CreateBackgroundHosts(this, service->extensions()); 457 if (service && service->is_ready())
458 CreateBackgroundHosts(this, service->extensions());
455 } 459 }
456 break; 460 break;
457 } 461 }
458 default: 462 default:
459 ExtensionProcessManager::Observe(type, source, details); 463 ExtensionProcessManager::Observe(type, source, details);
460 break; 464 break;
461 } 465 }
462 } 466 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_prefs.cc ('k') | chrome/browser/extensions/extension_startup_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698