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

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

Issue 2182633007: Avoid using ContentBrowserClient::IsIllegalOrigin in ResourceDispatcherHost. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix compile failures Created 4 years, 4 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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_system_impl.h" 5 #include "chrome/browser/extensions/extension_system_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/base_switches.h" 9 #include "base/base_switches.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
11 #include "base/command_line.h" 11 #include "base/command_line.h"
12 #include "base/files/file_path.h" 12 #include "base/files/file_path.h"
13 #include "base/files/file_util.h" 13 #include "base/files/file_util.h"
14 #include "base/memory/weak_ptr.h" 14 #include "base/memory/weak_ptr.h"
15 #include "base/strings/string_tokenizer.h" 15 #include "base/strings/string_tokenizer.h"
16 #include "base/trace_event/trace_event.h" 16 #include "base/trace_event/trace_event.h"
17 #include "build/build_config.h" 17 #include "build/build_config.h"
18 #include "chrome/browser/browser_process.h" 18 #include "chrome/browser/browser_process.h"
19 #include "chrome/browser/extensions/chrome_app_sorting.h" 19 #include "chrome/browser/extensions/chrome_app_sorting.h"
20 #include "chrome/browser/extensions/chrome_content_browser_client_extensions_par t.h"
20 #include "chrome/browser/extensions/chrome_content_verifier_delegate.h" 21 #include "chrome/browser/extensions/chrome_content_verifier_delegate.h"
21 #include "chrome/browser/extensions/component_loader.h" 22 #include "chrome/browser/extensions/component_loader.h"
22 #include "chrome/browser/extensions/extension_error_reporter.h" 23 #include "chrome/browser/extensions/extension_error_reporter.h"
23 #include "chrome/browser/extensions/extension_garbage_collector.h" 24 #include "chrome/browser/extensions/extension_garbage_collector.h"
24 #include "chrome/browser/extensions/extension_management.h" 25 #include "chrome/browser/extensions/extension_management.h"
25 #include "chrome/browser/extensions/extension_service.h" 26 #include "chrome/browser/extensions/extension_service.h"
26 #include "chrome/browser/extensions/extension_sync_service.h" 27 #include "chrome/browser/extensions/extension_sync_service.h"
27 #include "chrome/browser/extensions/extension_system_factory.h" 28 #include "chrome/browser/extensions/extension_system_factory.h"
28 #include "chrome/browser/extensions/extension_util.h" 29 #include "chrome/browser/extensions/extension_util.h"
29 #include "chrome/browser/extensions/install_verifier.h" 30 #include "chrome/browser/extensions/install_verifier.h"
(...skipping 420 matching lines...) Expand 10 before | Expand all | Expand 10 after
450 extension->id()); 451 extension->id());
451 452
452 NotifierStateTracker* notifier_state_tracker = 453 NotifierStateTracker* notifier_state_tracker =
453 NotifierStateTrackerFactory::GetForProfile(profile_); 454 NotifierStateTrackerFactory::GetForProfile(profile_);
454 notifications_disabled = 455 notifications_disabled =
455 !notifier_state_tracker->IsNotifierEnabled(notifier_id); 456 !notifier_state_tracker->IsNotifierEnabled(notifier_id);
456 #endif 457 #endif
457 458
458 BrowserThread::PostTaskAndReply( 459 BrowserThread::PostTaskAndReply(
459 BrowserThread::IO, FROM_HERE, 460 BrowserThread::IO, FROM_HERE,
460 base::Bind(&InfoMap::AddExtension, info_map(), 461 base::Bind(&ExtensionSystemImpl::RegisterExtensionHelper,
461 base::RetainedRef(extension), install_time, incognito_enabled, 462 base::RetainedRef(info_map()), base::RetainedRef(extension),
462 notifications_disabled), 463 install_time, incognito_enabled, notifications_disabled,
464 profile_->GetResourceContext()),
463 callback); 465 callback);
464 } 466 }
465 467
466 void ExtensionSystemImpl::UnregisterExtensionWithRequestContexts( 468 void ExtensionSystemImpl::UnregisterExtensionWithRequestContexts(
467 const std::string& extension_id, 469 const std::string& extension_id,
468 const UnloadedExtensionInfo::Reason reason) { 470 const UnloadedExtensionInfo::Reason reason) {
469 BrowserThread::PostTask( 471 BrowserThread::PostTask(
470 BrowserThread::IO, 472 BrowserThread::IO, FROM_HERE,
471 FROM_HERE, 473 base::Bind(&ExtensionSystemImpl::UnregisterExtensionHelper,
472 base::Bind(&InfoMap::RemoveExtension, info_map(), extension_id, reason)); 474 base::RetainedRef(info_map()), extension_id, reason,
475 profile_->GetResourceContext()));
476 }
477
478 // static
479 void ExtensionSystemImpl::RegisterExtensionHelper(
480 InfoMap* info_map,
481 const Extension* extension,
482 base::Time install_time,
483 bool incognito_enabled,
484 bool notifications_disabled,
485 const content::ResourceContext* context) {
486 DCHECK_CURRENTLY_ON(BrowserThread::IO);
487
488 info_map->AddExtension(extension, install_time, incognito_enabled,
489 notifications_disabled);
490 ChromeContentBrowserClientExtensionsPart::AddExtension(context, extension);
491 }
492
493 // static
494 void ExtensionSystemImpl::UnregisterExtensionHelper(
495 InfoMap* info_map,
496 const std::string& extension_id,
497 const UnloadedExtensionInfo::Reason reason,
498 const content::ResourceContext* context) {
499 DCHECK_CURRENTLY_ON(BrowserThread::IO);
500
501 info_map->RemoveExtension(extension_id, reason);
502 ChromeContentBrowserClientExtensionsPart::RemoveExtension(context,
503 extension_id);
473 } 504 }
474 505
475 } // namespace extensions 506 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698