summaryrefslogtreecommitdiffstats
path: root/chrome/browser/automation
diff options
context:
space:
mode:
authorjyasskin@chromium.org <jyasskin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-12 21:28:30 +0000
committerjyasskin@chromium.org <jyasskin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-12 21:28:30 +0000
commit5ed5ec52082aa3740a2a9657fc8e0b2bb765317a (patch)
tree15a21c11c00a6bf938a8d50e87d97bc65e4c1c8f /chrome/browser/automation
parent8381068a6afa9343adb0558ea2e395e465174285 (diff)
downloadchromium_src-5ed5ec52082aa3740a2a9657fc8e0b2bb765317a.zip
chromium_src-5ed5ec52082aa3740a2a9657fc8e0b2bb765317a.tar.gz
chromium_src-5ed5ec52082aa3740a2a9657fc8e0b2bb765317a.tar.bz2
Remove Extension's accessors for ExtensionActions.
extension->browser_action() is replaced by ExtensionActionManager::Get(profile)->GetBrowserAction(*extension), and similar for page actions and script badges. This is the second step of a four-part refactoring to simplify icon handling. The subsequent parts are: 3) Move ExtensionAction from common/ to browser/ 4) Make the icon-loading and -caching classes into ExtensionAction methods. BUG=153463 Review URL: https://chromiumcodereview.appspot.com/11036025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161654 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/automation')
-rw-r--r--chrome/browser/automation/testing_automation_provider.cc28
1 files changed, 19 insertions, 9 deletions
diff --git a/chrome/browser/automation/testing_automation_provider.cc b/chrome/browser/automation/testing_automation_provider.cc
index ce185e9..b50803a 100644
--- a/chrome/browser/automation/testing_automation_provider.cc
+++ b/chrome/browser/automation/testing_automation_provider.cc
@@ -50,6 +50,7 @@
#include "chrome/browser/download/save_package_file_picker.h"
#include "chrome/browser/extensions/browser_action_test_util.h"
#include "chrome/browser/extensions/crx_installer.h"
+#include "chrome/browser/extensions/extension_action_manager.h"
#include "chrome/browser/extensions/extension_host.h"
#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_service.h"
@@ -191,6 +192,7 @@ using content::RenderViewHost;
using content::SSLStatus;
using content::WebContents;
using extensions::Extension;
+using extensions::ExtensionActionManager;
using extensions::ExtensionList;
namespace {
@@ -3787,6 +3789,8 @@ void TestingAutomationProvider::GetExtensionsInfo(DictionaryValue* args,
all.insert(all.end(),
disabled_extensions->begin(),
disabled_extensions->end());
+ ExtensionActionManager* extension_action_manager =
+ ExtensionActionManager::Get(browser->profile());
for (ExtensionList::const_iterator it = all.begin();
it != all.end(); ++it) {
const Extension* extension = *it;
@@ -3817,8 +3821,9 @@ void TestingAutomationProvider::GetExtensionsInfo(DictionaryValue* args,
extension_value->SetBoolean("is_enabled", service->IsExtensionEnabled(id));
extension_value->SetBoolean("allowed_in_incognito",
service->IsIncognitoEnabled(id));
- extension_value->SetBoolean("has_page_action",
- extension->page_action() != NULL);
+ extension_value->SetBoolean(
+ "has_page_action",
+ extension_action_manager->GetPageAction(*extension) != NULL);
extensions_values->Append(extension_value);
}
return_value->Set("extensions", extensions_values);
@@ -3942,7 +3947,9 @@ void TestingAutomationProvider::TriggerPageActionById(
AutomationJSONReply(this, reply_message).SendError(error);
return;
}
- ExtensionAction* page_action = extension->page_action();
+ ExtensionAction* page_action =
+ ExtensionActionManager::Get(browser->profile())->
+ GetPageAction(*extension);
if (!page_action) {
AutomationJSONReply(this, reply_message).SendError(
"Extension doesn't have any page action.");
@@ -3995,7 +4002,8 @@ void TestingAutomationProvider::TriggerBrowserActionById(
AutomationJSONReply(this, reply_message).SendError(error);
return;
}
- ExtensionAction* action = extension->browser_action();
+ ExtensionAction* action = ExtensionActionManager::Get(browser->profile())->
+ GetBrowserAction(*extension);
if (!action) {
AutomationJSONReply(this, reply_message).SendError(
"Extension doesn't have any browser action.");
@@ -6222,15 +6230,17 @@ void TestingAutomationProvider::IsPageActionVisible(
reply.SendError(error);
return;
}
- ExtensionAction* page_action = extension->page_action();
- if (!page_action) {
- reply.SendError("Extension doesn't have any page action");
- return;
- }
if (!browser) {
reply.SendError("Tab does not belong to an open browser");
return;
}
+ ExtensionAction* page_action =
+ ExtensionActionManager::Get(browser->profile())->
+ GetPageAction(*extension);
+ if (!page_action) {
+ reply.SendError("Extension doesn't have any page action");
+ return;
+ }
EnsureTabSelected(browser, tab);
bool is_visible = false;