| Index: chrome/common/extensions/api/extension_action/page_action_handler.cc
|
| diff --git a/chrome/common/extensions/api/extension_action/page_action_handler.cc b/chrome/common/extensions/api/extension_action/page_action_handler.cc
|
| deleted file mode 100644
|
| index 10a22f17e75f7791fbc73f0d2fe317ab0459236c..0000000000000000000000000000000000000000
|
| --- a/chrome/common/extensions/api/extension_action/page_action_handler.cc
|
| +++ /dev/null
|
| @@ -1,99 +0,0 @@
|
| -// Copyright (c) 2013 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "chrome/common/extensions/api/extension_action/page_action_handler.h"
|
| -
|
| -#include "base/strings/utf_string_conversions.h"
|
| -#include "base/values.h"
|
| -#include "chrome/common/extensions/extension_constants.h"
|
| -#include "chrome/grit/generated_resources.h"
|
| -#include "extensions/common/extension.h"
|
| -#include "extensions/common/file_util.h"
|
| -#include "extensions/common/manifest_constants.h"
|
| -
|
| -namespace extensions {
|
| -
|
| -namespace keys = manifest_keys;
|
| -namespace errors = manifest_errors;
|
| -
|
| -PageActionHandler::PageActionHandler() {
|
| -}
|
| -
|
| -PageActionHandler::~PageActionHandler() {
|
| -}
|
| -
|
| -bool PageActionHandler::Parse(Extension* extension, base::string16* error) {
|
| - scoped_ptr<ActionInfo> page_action_info;
|
| - const base::DictionaryValue* page_action_value = NULL;
|
| -
|
| - if (extension->manifest()->HasKey(keys::kPageActions)) {
|
| - const base::ListValue* list_value = NULL;
|
| - if (!extension->manifest()->GetList(keys::kPageActions, &list_value)) {
|
| - *error = base::ASCIIToUTF16(errors::kInvalidPageActionsList);
|
| - return false;
|
| - }
|
| -
|
| - size_t list_value_length = list_value->GetSize();
|
| -
|
| - if (list_value_length == 0u) {
|
| - // A list with zero items is allowed, and is equivalent to not having
|
| - // a page_actions key in the manifest. Don't set |page_action_value|.
|
| - } else if (list_value_length == 1u) {
|
| - if (!list_value->GetDictionary(0, &page_action_value)) {
|
| - *error = base::ASCIIToUTF16(errors::kInvalidPageAction);
|
| - return false;
|
| - }
|
| - } else { // list_value_length > 1u.
|
| - *error = base::ASCIIToUTF16(errors::kInvalidPageActionsListSize);
|
| - return false;
|
| - }
|
| - } else if (extension->manifest()->HasKey(keys::kPageAction)) {
|
| - if (!extension->manifest()->GetDictionary(keys::kPageAction,
|
| - &page_action_value)) {
|
| - *error = base::ASCIIToUTF16(errors::kInvalidPageAction);
|
| - return false;
|
| - }
|
| - }
|
| -
|
| - // An extension cannot have both browser and page actions.
|
| - if (extension->manifest()->HasKey(keys::kBrowserAction)) {
|
| - *error = base::ASCIIToUTF16(errors::kOneUISurfaceOnly);
|
| - return false;
|
| - }
|
| -
|
| - // If page_action_value is not NULL, then there was a valid page action.
|
| - if (page_action_value) {
|
| - page_action_info = ActionInfo::Load(extension, page_action_value, error);
|
| - if (!page_action_info)
|
| - return false; // Failed to parse page action definition.
|
| - }
|
| - ActionInfo::SetPageActionInfo(extension, page_action_info.release());
|
| -
|
| - return true;
|
| -}
|
| -
|
| -bool PageActionHandler::Validate(const Extension* extension,
|
| - std::string* error,
|
| - std::vector<InstallWarning>* warnings) const {
|
| - const extensions::ActionInfo* action =
|
| - extensions::ActionInfo::GetPageActionInfo(extension);
|
| - if (action && !action->default_icon.empty() &&
|
| - !file_util::ValidateExtensionIconSet(
|
| - action->default_icon,
|
| - extension,
|
| - IDS_EXTENSION_LOAD_ICON_FOR_PAGE_ACTION_FAILED,
|
| - error)) {
|
| - return false;
|
| - }
|
| - return true;
|
| -}
|
| -
|
| -const std::vector<std::string> PageActionHandler::Keys() const {
|
| - std::vector<std::string> keys;
|
| - keys.push_back(keys::kPageAction);
|
| - keys.push_back(keys::kPageActions);
|
| - return keys;
|
| -}
|
| -
|
| -} // namespace extensions
|
|
|