OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/api/management/management_api.h" | 5 #include "chrome/browser/extensions/api/management/management_api.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 454 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
465 ManagementSetEnabledFunction::~ManagementSetEnabledFunction() { | 465 ManagementSetEnabledFunction::~ManagementSetEnabledFunction() { |
466 } | 466 } |
467 | 467 |
468 bool ManagementSetEnabledFunction::RunAsync() { | 468 bool ManagementSetEnabledFunction::RunAsync() { |
469 scoped_ptr<management::SetEnabled::Params> params( | 469 scoped_ptr<management::SetEnabled::Params> params( |
470 management::SetEnabled::Params::Create(*args_)); | 470 management::SetEnabled::Params::Create(*args_)); |
471 EXTENSION_FUNCTION_VALIDATE(params.get()); | 471 EXTENSION_FUNCTION_VALIDATE(params.get()); |
472 | 472 |
473 extension_id_ = params->id; | 473 extension_id_ = params->id; |
474 | 474 |
475 const Extension* extension = service()->GetInstalledExtension(extension_id_); | 475 const Extension* extension = |
| 476 ExtensionRegistry::Get(GetProfile()) |
| 477 ->GetExtensionById(extension_id_, ExtensionRegistry::EVERYTHING); |
476 if (!extension || ui_util::ShouldNotBeVisible(extension, browser_context())) { | 478 if (!extension || ui_util::ShouldNotBeVisible(extension, browser_context())) { |
477 error_ = ErrorUtils::FormatErrorMessage( | 479 error_ = ErrorUtils::FormatErrorMessage( |
478 keys::kNoExtensionError, extension_id_); | 480 keys::kNoExtensionError, extension_id_); |
479 return false; | 481 return false; |
480 } | 482 } |
481 | 483 |
482 const ManagementPolicy* policy = | 484 const ManagementPolicy* policy = |
483 ExtensionSystem::Get(GetProfile())->management_policy(); | 485 ExtensionSystem::Get(GetProfile())->management_policy(); |
484 if (!policy->UserMayModifySettings(extension, NULL) || | 486 if (!policy->UserMayModifySettings(extension, NULL) || |
485 (!params->enabled && policy->MustRemainEnabled(extension, NULL)) || | 487 (!params->enabled && policy->MustRemainEnabled(extension, NULL)) || |
(...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
831 return g_factory.Pointer(); | 833 return g_factory.Pointer(); |
832 } | 834 } |
833 | 835 |
834 void ManagementAPI::OnListenerAdded(const EventListenerInfo& details) { | 836 void ManagementAPI::OnListenerAdded(const EventListenerInfo& details) { |
835 management_event_router_.reset( | 837 management_event_router_.reset( |
836 new ManagementEventRouter(Profile::FromBrowserContext(browser_context_))); | 838 new ManagementEventRouter(Profile::FromBrowserContext(browser_context_))); |
837 EventRouter::Get(browser_context_)->UnregisterObserver(this); | 839 EventRouter::Get(browser_context_)->UnregisterObserver(this); |
838 } | 840 } |
839 | 841 |
840 } // namespace extensions | 842 } // namespace extensions |
OLD | NEW |