| Index: chrome/browser/extensions/api/developer_private/developer_private_mangle.cc
|
| diff --git a/chrome/browser/extensions/api/developer_private/developer_private_mangle.cc b/chrome/browser/extensions/api/developer_private/developer_private_mangle.cc
|
| index 073df5b777523dde01c9215644afb108a1cfaa1a..7f43b82aeb41fcfe7694669e0116b368b18dfa31 100644
|
| --- a/chrome/browser/extensions/api/developer_private/developer_private_mangle.cc
|
| +++ b/chrome/browser/extensions/api/developer_private/developer_private_mangle.cc
|
| @@ -13,37 +13,36 @@
|
| namespace extensions {
|
| namespace developer_private_mangle {
|
|
|
| -linked_ptr<api::developer_private::ItemInfo> MangleExtensionInfo(
|
| +api::developer_private::ItemInfo MangleExtensionInfo(
|
| const api::developer_private::ExtensionInfo& info) {
|
| - linked_ptr<api::developer_private::ItemInfo> result(
|
| - new api::developer_private::ItemInfo());
|
| - result->id = info.id;
|
| - result->name = info.name;
|
| - result->version = info.version;
|
| - result->description = info.description;
|
| - result->may_disable = info.user_may_modify;
|
| - result->enabled =
|
| + api::developer_private::ItemInfo result;
|
| + result.id = info.id;
|
| + result.name = info.name;
|
| + result.version = info.version;
|
| + result.description = info.description;
|
| + result.may_disable = info.user_may_modify;
|
| + result.enabled =
|
| info.state == api::developer_private::EXTENSION_STATE_ENABLED;
|
| switch (info.type) {
|
| case api::developer_private::EXTENSION_TYPE_HOSTED_APP:
|
| - result->type = api::developer_private::ITEM_TYPE_HOSTED_APP;
|
| - result->is_app = true;
|
| + result.type = api::developer_private::ITEM_TYPE_HOSTED_APP;
|
| + result.is_app = true;
|
| break;
|
| case api::developer_private::EXTENSION_TYPE_PLATFORM_APP:
|
| - result->type = api::developer_private::ITEM_TYPE_PACKAGED_APP;
|
| - result->is_app = true;
|
| + result.type = api::developer_private::ITEM_TYPE_PACKAGED_APP;
|
| + result.is_app = true;
|
| break;
|
| case api::developer_private::EXTENSION_TYPE_LEGACY_PACKAGED_APP:
|
| - result->type = api::developer_private::ITEM_TYPE_LEGACY_PACKAGED_APP;
|
| - result->is_app = true;
|
| + result.type = api::developer_private::ITEM_TYPE_LEGACY_PACKAGED_APP;
|
| + result.is_app = true;
|
| break;
|
| case api::developer_private::EXTENSION_TYPE_EXTENSION:
|
| - result->type = api::developer_private::ITEM_TYPE_EXTENSION;
|
| - result->is_app = false;
|
| + result.type = api::developer_private::ITEM_TYPE_EXTENSION;
|
| + result.is_app = false;
|
| break;
|
| case api::developer_private::EXTENSION_TYPE_THEME:
|
| - result->type = api::developer_private::ITEM_TYPE_THEME;
|
| - result->is_app = false;
|
| + result.type = api::developer_private::ITEM_TYPE_THEME;
|
| + result.is_app = false;
|
| break;
|
| case api::developer_private::EXTENSION_TYPE_SHARED_MODULE:
|
| // Old api doesn't account for this.
|
| @@ -51,75 +50,70 @@ linked_ptr<api::developer_private::ItemInfo> MangleExtensionInfo(
|
| default:
|
| NOTREACHED();
|
| }
|
| - result->allow_file_access = info.file_access.is_active;
|
| - result->wants_file_access = info.file_access.is_enabled;
|
| + result.allow_file_access = info.file_access.is_active;
|
| + result.wants_file_access = info.file_access.is_enabled;
|
|
|
| - result->icon_url = info.icon_url;
|
| + result.icon_url = info.icon_url;
|
|
|
| - result->incognito_enabled = info.incognito_access.is_active;
|
| - result->allow_incognito = info.incognito_access.is_enabled;
|
| + result.incognito_enabled = info.incognito_access.is_active;
|
| + result.allow_incognito = info.incognito_access.is_enabled;
|
|
|
| - result->is_unpacked =
|
| + result.is_unpacked =
|
| info.location == api::developer_private::LOCATION_UNPACKED;
|
| - result->allow_reload = result->is_unpacked;
|
| - result->terminated =
|
| + result.allow_reload = result.is_unpacked;
|
| + result.terminated =
|
| info.state == api::developer_private::EXTENSION_STATE_TERMINATED;
|
|
|
| if (info.path)
|
| - result->path.reset(new std::string(*info.path));
|
| + result.path.reset(new std::string(*info.path));
|
| if (info.options_page)
|
| - result->options_url.reset(new std::string(info.options_page->url));
|
| + result.options_url.reset(new std::string(info.options_page->url));
|
| if (info.launch_url)
|
| - result->app_launch_url.reset(new std::string(*info.launch_url));
|
| + result.app_launch_url.reset(new std::string(*info.launch_url));
|
| if (!info.home_page.url.empty())
|
| - result->homepage_url.reset(new std::string(info.home_page.url));
|
| - result->update_url.reset(new std::string(info.update_url));
|
| + result.homepage_url.reset(new std::string(info.home_page.url));
|
| + result.update_url.reset(new std::string(info.update_url));
|
| for (const std::string& str_warning : info.install_warnings) {
|
| - scoped_ptr<api::developer_private::InstallWarning> warning(
|
| - new api::developer_private::InstallWarning());
|
| - warning->message = str_warning;
|
| - result->install_warnings.push_back(make_linked_ptr(warning.release()));
|
| + api::developer_private::InstallWarning warning;
|
| + warning.message = str_warning;
|
| + result.install_warnings.push_back(std::move(warning));
|
| }
|
| - for (const linked_ptr<api::developer_private::ManifestError>& error :
|
| - info.manifest_errors) {
|
| - CHECK(error.get());
|
| - scoped_ptr<base::DictionaryValue> value = error->ToValue();
|
| + for (const api::developer_private::ManifestError& error :
|
| + info.manifest_errors) {
|
| + scoped_ptr<base::DictionaryValue> value = error.ToValue();
|
| value->SetInteger("type", static_cast<int>(ExtensionError::MANIFEST_ERROR));
|
| value->SetInteger("level", static_cast<int>(logging::LOG_WARNING));
|
| - result->manifest_errors.push_back(make_linked_ptr(value.release()));
|
| + result.manifest_errors.push_back(make_linked_ptr(value.release()));
|
| }
|
| - for (const linked_ptr<api::developer_private::RuntimeError>& error :
|
| - info.runtime_errors) {
|
| - CHECK(error.get());
|
| - scoped_ptr<base::DictionaryValue> value = error->ToValue();
|
| + for (const api::developer_private::RuntimeError& error :
|
| + info.runtime_errors) {
|
| + scoped_ptr<base::DictionaryValue> value = error.ToValue();
|
| value->SetInteger("type", static_cast<int>(ExtensionError::RUNTIME_ERROR));
|
| logging::LogSeverity severity = logging::LOG_INFO;
|
| - if (error->severity == api::developer_private::ERROR_LEVEL_WARN)
|
| + if (error.severity == api::developer_private::ERROR_LEVEL_WARN)
|
| severity = logging::LOG_WARNING;
|
| - else if (error->severity == api::developer_private::ERROR_LEVEL_ERROR)
|
| + else if (error.severity == api::developer_private::ERROR_LEVEL_ERROR)
|
| severity = logging::LOG_ERROR;
|
| value->SetInteger("level", static_cast<int>(severity));
|
| - result->runtime_errors.push_back(make_linked_ptr(value.release()));
|
| + result.runtime_errors.push_back(make_linked_ptr(value.release()));
|
| }
|
| - result->offline_enabled = info.offline_enabled;
|
| - for (const linked_ptr<api::developer_private::ExtensionView>& view :
|
| - info.views) {
|
| - linked_ptr<api::developer_private::ItemInspectView> view_copy(
|
| - new api::developer_private::ItemInspectView());
|
| - GURL url(view->url);
|
| + result.offline_enabled = info.offline_enabled;
|
| + for (const api::developer_private::ExtensionView& view : info.views) {
|
| + api::developer_private::ItemInspectView view_copy;
|
| + GURL url(view.url);
|
| if (url.scheme() == kExtensionScheme) {
|
| // No leading slash.
|
| - view_copy->path = url.path().substr(1);
|
| + view_copy.path = url.path().substr(1);
|
| } else {
|
| // For live pages, use the full URL.
|
| - view_copy->path = url.spec();
|
| + view_copy.path = url.spec();
|
| }
|
| - view_copy->render_process_id = view->render_process_id;
|
| - view_copy->render_view_id = view->render_view_id;
|
| - view_copy->incognito = view->incognito;
|
| - view_copy->generated_background_page =
|
| - view_copy->path == kGeneratedBackgroundPageFilename;
|
| - result->views.push_back(view_copy);
|
| + view_copy.render_process_id = view.render_process_id;
|
| + view_copy.render_view_id = view.render_view_id;
|
| + view_copy.incognito = view.incognito;
|
| + view_copy.generated_background_page =
|
| + view_copy.path == kGeneratedBackgroundPageFilename;
|
| + result.views.push_back(std::move(view_copy));
|
| }
|
|
|
| return result;
|
|
|