Chromium Code Reviews| Index: chrome/browser/extensions/api/developer_private/developer_private_api.cc |
| diff --git a/chrome/browser/extensions/api/developer_private/developer_private_api.cc b/chrome/browser/extensions/api/developer_private/developer_private_api.cc |
| index d0830ecdfddec741905384de78cba7cce848cf4d..0e1bfba9221acdaecb5ceb31a27c636126ff5d3c 100644 |
| --- a/chrome/browser/extensions/api/developer_private/developer_private_api.cc |
| +++ b/chrome/browser/extensions/api/developer_private/developer_private_api.cc |
| @@ -153,6 +153,8 @@ void BroadcastItemStateChanged(content::BrowserContext* browser_context, |
| developer::EventData event_data; |
| event_data.event_type = event_type; |
| event_data.item_id = item_id; |
| + event_data.info = |
| + ExtensionInfoGenerator(browser_context).CreateExtensionInfo(item_id); |
| scoped_ptr<base::ListValue> args(new base::ListValue()); |
| args->Append(event_data.ToValue().release()); |
| @@ -318,13 +320,23 @@ void DeveloperPrivateEventRouter::OnErrorAdded(const ExtensionError* error) { |
| // We don't want to handle errors thrown by extensions subscribed to these |
| // events (currently only the Apps Developer Tool), because doing so risks |
| // entering a loop. |
| - if (extension_ids_.find(error->extension_id()) != extension_ids_.end()) |
| + if (extension_ids_.count(error->extension_id())) |
| return; |
| BroadcastItemStateChanged( |
| profile_, developer::EVENT_TYPE_ERROR_ADDED, error->extension_id()); |
| } |
| +void DeveloperPrivateEventRouter::OnErrorsRemoved( |
| + const std::set<std::string>& extension_ids) { |
| + for (const std::string& id : extension_ids) { |
| + if (!extension_ids_.count(id)) { |
|
Dan Beam
2015/04/22 21:02:37
extension_ids vs extension_ids_ is pretty dubious
Devlin
2015/04/22 23:17:31
Fair, done.
|
| + BroadcastItemStateChanged( |
| + profile_, developer::EVENT_TYPE_ERRORS_REMOVED, id); |
| + } |
| + } |
| +} |
| + |
| void DeveloperPrivateAPI::SetLastUnpackedDirectory(const base::FilePath& path) { |
| last_unpacked_directory_ = path; |
| } |
| @@ -416,26 +428,13 @@ DeveloperPrivateGetExtensionInfoFunction::Run() { |
| developer::GetExtensionInfo::Params::Create(*args_)); |
| EXTENSION_FUNCTION_VALIDATE(params); |
| - ExtensionRegistry* registry = ExtensionRegistry::Get(browser_context()); |
| - developer::ExtensionState state = developer::EXTENSION_STATE_ENABLED; |
| - const Extension* extension = |
| - registry->enabled_extensions().GetByID(params->id); |
| - if (!extension && |
| - (extension = registry->disabled_extensions().GetByID(params->id)) != |
| - nullptr) { |
| - state = developer::EXTENSION_STATE_DISABLED; |
| - } else if (!extension && |
| - (extension = |
| - registry->terminated_extensions().GetByID(params->id)) != |
| - nullptr) { |
| - state = developer::EXTENSION_STATE_TERMINATED; |
| - } |
| + scoped_ptr<developer::ExtensionInfo> info = |
| + ExtensionInfoGenerator(browser_context()).CreateExtensionInfo(params->id); |
| - if (!extension) |
| + if (!info) |
| return RespondNow(Error(kNoSuchExtensionError)); |
| - return RespondNow(OneArgument(ExtensionInfoGenerator(browser_context()). |
| - CreateExtensionInfo(*extension, state)->ToValue().release())); |
| + return RespondNow(OneArgument(info->ToValue().release())); |
| } |
| DeveloperPrivateGetItemsInfoFunction::DeveloperPrivateGetItemsInfoFunction() {} |