| 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 "extensions/browser/api/runtime/runtime_api.h" | 5 #include "extensions/browser/api/runtime/runtime_api.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/lazy_instance.h" | 9 #include "base/lazy_instance.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 110 system->event_router()->DispatchEventToExtension(extension_id, event.Pass()); | 110 system->event_router()->DispatchEventToExtension(extension_id, event.Pass()); |
| 111 } | 111 } |
| 112 | 112 |
| 113 void SetUninstallURL(ExtensionPrefs* prefs, | 113 void SetUninstallURL(ExtensionPrefs* prefs, |
| 114 const std::string& extension_id, | 114 const std::string& extension_id, |
| 115 const std::string& url_string) { | 115 const std::string& url_string) { |
| 116 prefs->UpdateExtensionPref( | 116 prefs->UpdateExtensionPref( |
| 117 extension_id, kUninstallUrl, new base::StringValue(url_string)); | 117 extension_id, kUninstallUrl, new base::StringValue(url_string)); |
| 118 } | 118 } |
| 119 | 119 |
| 120 #if defined(ENABLE_EXTENSIONS) | |
| 121 std::string GetUninstallURL(ExtensionPrefs* prefs, | 120 std::string GetUninstallURL(ExtensionPrefs* prefs, |
| 122 const std::string& extension_id) { | 121 const std::string& extension_id) { |
| 123 std::string url_string; | 122 std::string url_string; |
| 124 prefs->ReadPrefAsString(extension_id, kUninstallUrl, &url_string); | 123 prefs->ReadPrefAsString(extension_id, kUninstallUrl, &url_string); |
| 125 return url_string; | 124 return url_string; |
| 126 } | 125 } |
| 127 #endif // defined(ENABLE_EXTENSIONS) | |
| 128 | 126 |
| 129 } // namespace | 127 } // namespace |
| 130 | 128 |
| 131 /////////////////////////////////////////////////////////////////////////////// | 129 /////////////////////////////////////////////////////////////////////////////// |
| 132 | 130 |
| 133 static base::LazyInstance<BrowserContextKeyedAPIFactory<RuntimeAPI> > | 131 static base::LazyInstance<BrowserContextKeyedAPIFactory<RuntimeAPI> > |
| 134 g_factory = LAZY_INSTANCE_INITIALIZER; | 132 g_factory = LAZY_INSTANCE_INITIALIZER; |
| 135 | 133 |
| 136 // static | 134 // static |
| 137 BrowserContextKeyedAPIFactory<RuntimeAPI>* RuntimeAPI::GetFactoryInstance() { | 135 BrowserContextKeyedAPIFactory<RuntimeAPI>* RuntimeAPI::GetFactoryInstance() { |
| (...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 408 core_api::runtime::OnRestartRequired::Create(reason))); | 406 core_api::runtime::OnRestartRequired::Create(reason))); |
| 409 | 407 |
| 410 DCHECK(system->event_router()); | 408 DCHECK(system->event_router()); |
| 411 system->event_router()->DispatchEventToExtension(app_id, event.Pass()); | 409 system->event_router()->DispatchEventToExtension(app_id, event.Pass()); |
| 412 } | 410 } |
| 413 | 411 |
| 414 // static | 412 // static |
| 415 void RuntimeEventRouter::OnExtensionUninstalled( | 413 void RuntimeEventRouter::OnExtensionUninstalled( |
| 416 content::BrowserContext* context, | 414 content::BrowserContext* context, |
| 417 const std::string& extension_id) { | 415 const std::string& extension_id) { |
| 418 #if defined(ENABLE_EXTENSIONS) | |
| 419 GURL uninstall_url( | 416 GURL uninstall_url( |
| 420 GetUninstallURL(ExtensionPrefs::Get(context), extension_id)); | 417 GetUninstallURL(ExtensionPrefs::Get(context), extension_id)); |
| 421 | 418 |
| 422 if (uninstall_url.is_empty()) | 419 if (uninstall_url.is_empty()) |
| 423 return; | 420 return; |
| 424 | 421 |
| 425 RuntimeAPI::GetFactoryInstance()->Get(context)->OpenURL(uninstall_url); | 422 RuntimeAPI::GetFactoryInstance()->Get(context)->OpenURL(uninstall_url); |
| 426 #endif // defined(ENABLE_EXTENSIONS) | |
| 427 } | 423 } |
| 428 | 424 |
| 429 ExtensionFunction::ResponseAction RuntimeGetBackgroundPageFunction::Run() { | 425 ExtensionFunction::ResponseAction RuntimeGetBackgroundPageFunction::Run() { |
| 430 ExtensionSystem* system = ExtensionSystem::Get(browser_context()); | 426 ExtensionSystem* system = ExtensionSystem::Get(browser_context()); |
| 431 ExtensionHost* host = | 427 ExtensionHost* host = |
| 432 system->process_manager()->GetBackgroundHostForExtension(extension_id()); | 428 system->process_manager()->GetBackgroundHostForExtension(extension_id()); |
| 433 if (system->lazy_background_task_queue()->ShouldEnqueueTask(browser_context(), | 429 if (system->lazy_background_task_queue()->ShouldEnqueueTask(browser_context(), |
| 434 GetExtension())) { | 430 GetExtension())) { |
| 435 system->lazy_background_task_queue()->AddPendingTask( | 431 system->lazy_background_task_queue()->AddPendingTask( |
| 436 browser_context(), | 432 browser_context(), |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 534 content::ChildProcessSecurityPolicy* policy = | 530 content::ChildProcessSecurityPolicy* policy = |
| 535 content::ChildProcessSecurityPolicy::GetInstance(); | 531 content::ChildProcessSecurityPolicy::GetInstance(); |
| 536 policy->GrantReadFileSystem(renderer_id, filesystem_id); | 532 policy->GrantReadFileSystem(renderer_id, filesystem_id); |
| 537 base::DictionaryValue* dict = new base::DictionaryValue(); | 533 base::DictionaryValue* dict = new base::DictionaryValue(); |
| 538 dict->SetString("fileSystemId", filesystem_id); | 534 dict->SetString("fileSystemId", filesystem_id); |
| 539 dict->SetString("baseName", relative_path); | 535 dict->SetString("baseName", relative_path); |
| 540 return RespondNow(OneArgument(dict)); | 536 return RespondNow(OneArgument(dict)); |
| 541 } | 537 } |
| 542 | 538 |
| 543 } // namespace extensions | 539 } // namespace extensions |
| OLD | NEW |