summaryrefslogtreecommitdiffstats
path: root/chrome/browser/automation/testing_automation_provider.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/automation/testing_automation_provider.cc')
-rw-r--r--chrome/browser/automation/testing_automation_provider.cc27
1 files changed, 18 insertions, 9 deletions
diff --git a/chrome/browser/automation/testing_automation_provider.cc b/chrome/browser/automation/testing_automation_provider.cc
index c3d2fd9..b60f01c 100644
--- a/chrome/browser/automation/testing_automation_provider.cc
+++ b/chrome/browser/automation/testing_automation_provider.cc
@@ -782,14 +782,21 @@ void TestingAutomationProvider::ExecuteBrowserCommandAsync(int handle,
int command,
bool* success) {
*success = false;
- if (browser_tracker_->ContainsHandle(handle)) {
- Browser* browser = browser_tracker_->GetResource(handle);
- if (browser->command_updater()->SupportsCommand(command) &&
- browser->command_updater()->IsCommandEnabled(command)) {
- browser->ExecuteCommand(command);
- *success = true;
- }
+ if (!browser_tracker_->ContainsHandle(handle)) {
+ LOG(WARNING) << "Browser tracker does not contain handle: " << handle;
+ return;
}
+ Browser* browser = browser_tracker_->GetResource(handle);
+ if (!browser->command_updater()->SupportsCommand(command)) {
+ LOG(WARNING) << "Browser does not support command: " << command;
+ return;
+ }
+ if (!browser->command_updater()->IsCommandEnabled(command)) {
+ LOG(WARNING) << "Browser command not enabled: " << command;
+ return;
+ }
+ browser->ExecuteCommand(command);
+ *success = true;
}
void TestingAutomationProvider::ExecuteBrowserCommand(
@@ -6190,7 +6197,8 @@ void TestingAutomationProvider::CreateNewAutomationProvider(
return;
}
provider->SetExpectedTabCount(0);
- g_browser_process->InitAutomationProviderList()->AddProvider(provider);
+ DCHECK(g_browser_process);
+ g_browser_process->GetAutomationProviderList()->AddProvider(provider);
reply.SendSuccess(NULL);
}
@@ -6346,5 +6354,6 @@ void TestingAutomationProvider::OnRedirectQueryComplete(
}
void TestingAutomationProvider::OnRemoveProvider() {
- AutomationProviderList::GetInstance()->RemoveProvider(this);
+ if (g_browser_process)
+ g_browser_process->GetAutomationProviderList()->RemoveProvider(this);
}