OLD | NEW |
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" |
(...skipping 15 matching lines...) Expand all Loading... |
26 #include "chrome/browser/extensions/extension_sync_service.h" | 26 #include "chrome/browser/extensions/extension_sync_service.h" |
27 #include "chrome/browser/extensions/extension_system_factory.h" | 27 #include "chrome/browser/extensions/extension_system_factory.h" |
28 #include "chrome/browser/extensions/extension_util.h" | 28 #include "chrome/browser/extensions/extension_util.h" |
29 #include "chrome/browser/extensions/install_verifier.h" | 29 #include "chrome/browser/extensions/install_verifier.h" |
30 #include "chrome/browser/extensions/navigation_observer.h" | 30 #include "chrome/browser/extensions/navigation_observer.h" |
31 #include "chrome/browser/extensions/shared_module_service.h" | 31 #include "chrome/browser/extensions/shared_module_service.h" |
32 #include "chrome/browser/extensions/shared_user_script_master.h" | 32 #include "chrome/browser/extensions/shared_user_script_master.h" |
33 #include "chrome/browser/extensions/state_store_notification_observer.h" | 33 #include "chrome/browser/extensions/state_store_notification_observer.h" |
34 #include "chrome/browser/extensions/unpacked_installer.h" | 34 #include "chrome/browser/extensions/unpacked_installer.h" |
35 #include "chrome/browser/extensions/update_install_gate.h" | 35 #include "chrome/browser/extensions/update_install_gate.h" |
| 36 #include "chrome/browser/notifications/notifier_state_tracker.h" |
| 37 #include "chrome/browser/notifications/notifier_state_tracker_factory.h" |
36 #include "chrome/browser/profiles/profile.h" | 38 #include "chrome/browser/profiles/profile.h" |
37 #include "chrome/browser/profiles/profile_manager.h" | 39 #include "chrome/browser/profiles/profile_manager.h" |
38 #include "chrome/browser/ui/webui/extensions/extension_icon_source.h" | 40 #include "chrome/browser/ui/webui/extensions/extension_icon_source.h" |
39 #include "chrome/common/chrome_switches.h" | 41 #include "chrome/common/chrome_switches.h" |
40 #include "content/public/browser/browser_thread.h" | 42 #include "content/public/browser/browser_thread.h" |
41 #include "content/public/browser/url_data_source.h" | 43 #include "content/public/browser/url_data_source.h" |
42 #include "extensions/browser/content_verifier.h" | 44 #include "extensions/browser/content_verifier.h" |
43 #include "extensions/browser/extension_pref_store.h" | 45 #include "extensions/browser/extension_pref_store.h" |
44 #include "extensions/browser/extension_pref_value_map.h" | 46 #include "extensions/browser/extension_pref_value_map.h" |
45 #include "extensions/browser/extension_pref_value_map_factory.h" | 47 #include "extensions/browser/extension_pref_value_map_factory.h" |
46 #include "extensions/browser/extension_prefs.h" | 48 #include "extensions/browser/extension_prefs.h" |
47 #include "extensions/browser/extension_registry.h" | 49 #include "extensions/browser/extension_registry.h" |
48 #include "extensions/browser/info_map.h" | 50 #include "extensions/browser/info_map.h" |
49 #include "extensions/browser/quota_service.h" | 51 #include "extensions/browser/quota_service.h" |
50 #include "extensions/browser/runtime_data.h" | 52 #include "extensions/browser/runtime_data.h" |
51 #include "extensions/browser/service_worker_manager.h" | 53 #include "extensions/browser/service_worker_manager.h" |
52 #include "extensions/browser/state_store.h" | 54 #include "extensions/browser/state_store.h" |
53 #include "extensions/browser/uninstall_ping_sender.h" | 55 #include "extensions/browser/uninstall_ping_sender.h" |
54 #include "extensions/browser/value_store/value_store_factory_impl.h" | 56 #include "extensions/browser/value_store/value_store_factory_impl.h" |
55 #include "extensions/common/constants.h" | 57 #include "extensions/common/constants.h" |
56 #include "extensions/common/features/feature_channel.h" | 58 #include "extensions/common/features/feature_channel.h" |
57 #include "extensions/common/manifest_url_handlers.h" | 59 #include "extensions/common/manifest_url_handlers.h" |
58 | |
59 #if defined(ENABLE_NOTIFICATIONS) | |
60 #include "chrome/browser/notifications/notifier_state_tracker.h" | |
61 #include "chrome/browser/notifications/notifier_state_tracker_factory.h" | |
62 #include "ui/message_center/notifier_settings.h" | 60 #include "ui/message_center/notifier_settings.h" |
63 #endif | |
64 | 61 |
65 #if defined(OS_CHROMEOS) | 62 #if defined(OS_CHROMEOS) |
66 #include "chrome/browser/app_mode/app_mode_utils.h" | 63 #include "chrome/browser/app_mode/app_mode_utils.h" |
67 #include "chrome/browser/chromeos/app_mode/kiosk_app_update_install_gate.h" | 64 #include "chrome/browser/chromeos/app_mode/kiosk_app_update_install_gate.h" |
68 #include "chrome/browser/chromeos/extensions/device_local_account_management_pol
icy_provider.h" | 65 #include "chrome/browser/chromeos/extensions/device_local_account_management_pol
icy_provider.h" |
69 #include "chrome/browser/chromeos/extensions/signin_screen_policy_provider.h" | 66 #include "chrome/browser/chromeos/extensions/signin_screen_policy_provider.h" |
70 #include "chrome/browser/chromeos/policy/device_local_account.h" | 67 #include "chrome/browser/chromeos/policy/device_local_account.h" |
71 #include "chrome/browser/chromeos/profiles/profile_helper.h" | 68 #include "chrome/browser/chromeos/profiles/profile_helper.h" |
72 #include "chromeos/chromeos_switches.h" | 69 #include "chromeos/chromeos_switches.h" |
73 #include "chromeos/login/login_state.h" | 70 #include "chromeos/login/login_state.h" |
(...skipping 349 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
423 const Extension* extension, | 420 const Extension* extension, |
424 const base::Closure& callback) { | 421 const base::Closure& callback) { |
425 base::Time install_time; | 422 base::Time install_time; |
426 if (extension->location() != Manifest::COMPONENT) { | 423 if (extension->location() != Manifest::COMPONENT) { |
427 install_time = ExtensionPrefs::Get(profile_)-> | 424 install_time = ExtensionPrefs::Get(profile_)-> |
428 GetInstallTime(extension->id()); | 425 GetInstallTime(extension->id()); |
429 } | 426 } |
430 bool incognito_enabled = util::IsIncognitoEnabled(extension->id(), profile_); | 427 bool incognito_enabled = util::IsIncognitoEnabled(extension->id(), profile_); |
431 | 428 |
432 bool notifications_disabled = false; | 429 bool notifications_disabled = false; |
433 #if defined(ENABLE_NOTIFICATIONS) | |
434 message_center::NotifierId notifier_id( | 430 message_center::NotifierId notifier_id( |
435 message_center::NotifierId::APPLICATION, | 431 message_center::NotifierId::APPLICATION, |
436 extension->id()); | 432 extension->id()); |
437 | 433 |
438 NotifierStateTracker* notifier_state_tracker = | 434 NotifierStateTracker* notifier_state_tracker = |
439 NotifierStateTrackerFactory::GetForProfile(profile_); | 435 NotifierStateTrackerFactory::GetForProfile(profile_); |
440 notifications_disabled = | 436 notifications_disabled = |
441 !notifier_state_tracker->IsNotifierEnabled(notifier_id); | 437 !notifier_state_tracker->IsNotifierEnabled(notifier_id); |
442 #endif | |
443 | 438 |
444 BrowserThread::PostTaskAndReply( | 439 BrowserThread::PostTaskAndReply( |
445 BrowserThread::IO, FROM_HERE, | 440 BrowserThread::IO, FROM_HERE, |
446 base::Bind(&InfoMap::AddExtension, info_map(), | 441 base::Bind(&InfoMap::AddExtension, info_map(), |
447 base::RetainedRef(extension), install_time, incognito_enabled, | 442 base::RetainedRef(extension), install_time, incognito_enabled, |
448 notifications_disabled), | 443 notifications_disabled), |
449 callback); | 444 callback); |
450 } | 445 } |
451 | 446 |
452 void ExtensionSystemImpl::UnregisterExtensionWithRequestContexts( | 447 void ExtensionSystemImpl::UnregisterExtensionWithRequestContexts( |
453 const std::string& extension_id, | 448 const std::string& extension_id, |
454 const UnloadedExtensionInfo::Reason reason) { | 449 const UnloadedExtensionInfo::Reason reason) { |
455 BrowserThread::PostTask( | 450 BrowserThread::PostTask( |
456 BrowserThread::IO, | 451 BrowserThread::IO, |
457 FROM_HERE, | 452 FROM_HERE, |
458 base::Bind(&InfoMap::RemoveExtension, info_map(), extension_id, reason)); | 453 base::Bind(&InfoMap::RemoveExtension, info_map(), extension_id, reason)); |
459 } | 454 } |
460 | 455 |
461 } // namespace extensions | 456 } // namespace extensions |
OLD | NEW |