Index: chrome/browser/automation/testing_automation_provider.cc |
diff --git a/chrome/browser/automation/testing_automation_provider.cc b/chrome/browser/automation/testing_automation_provider.cc |
index 436420e85279ccabfe023f2fec87b79535cefaae..662de60796ca215d8b8a5ca5db88865429be3f6f 100644 |
--- a/chrome/browser/automation/testing_automation_provider.cc |
+++ b/chrome/browser/automation/testing_automation_provider.cc |
@@ -1,4 +1,4 @@ |
-// Copyright 2012 The Chromium Authors. All rights reserved. |
+// Copyright 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. |
@@ -84,8 +84,6 @@ |
#include "chrome/browser/search_engines/template_url_service_factory.h" |
#include "chrome/browser/sessions/session_service_factory.h" |
#include "chrome/browser/sessions/session_tab_helper.h" |
-#include "chrome/browser/sync/profile_sync_service.h" |
-#include "chrome/browser/sync/profile_sync_service_factory.h" |
#include "chrome/browser/ui/app_modal_dialogs/app_modal_dialog.h" |
#include "chrome/browser/ui/app_modal_dialogs/app_modal_dialog_queue.h" |
#include "chrome/browser/ui/app_modal_dialogs/javascript_app_modal_dialog.h" |
@@ -1910,19 +1908,6 @@ void TestingAutomationProvider::BuildJSONHandlerMaps() { |
browser_handler_map_["WaitForNotificationCount"] = |
&TestingAutomationProvider::WaitForNotificationCount; |
- browser_handler_map_["SignInToSync"] = |
- &TestingAutomationProvider::SignInToSync; |
- browser_handler_map_["GetSyncInfo"] = |
- &TestingAutomationProvider::GetSyncInfo; |
- browser_handler_map_["AwaitFullSyncCompletion"] = |
- &TestingAutomationProvider::AwaitFullSyncCompletion; |
- browser_handler_map_["AwaitSyncRestart"] = |
- &TestingAutomationProvider::AwaitSyncRestart; |
- browser_handler_map_["EnableSyncForDatatypes"] = |
- &TestingAutomationProvider::EnableSyncForDatatypes; |
- browser_handler_map_["DisableSyncForDatatypes"] = |
- &TestingAutomationProvider::DisableSyncForDatatypes; |
- |
browser_handler_map_["GetNTPInfo"] = |
&TestingAutomationProvider::GetNTPInfo; |
browser_handler_map_["RemoveNTPMostVisitedThumbnail"] = |
@@ -4178,237 +4163,6 @@ void TestingAutomationProvider::AppendSwitchASCIIToCommandLine( |
reply.SendSuccess(NULL); |
} |
-// Sample json output: { "success": true } |
-void TestingAutomationProvider::SignInToSync(Browser* browser, |
- DictionaryValue* args, |
- IPC::Message* reply_message) { |
- AutomationJSONReply reply(this, reply_message); |
- std::string username; |
- std::string password; |
- if (!args->GetString("username", &username) || |
- !args->GetString("password", &password)) { |
- reply.SendError("Invalid or missing args"); |
- return; |
- } |
- if (sync_waiter_.get() == NULL) { |
- sync_waiter_.reset(new ProfileSyncServiceHarness( |
- browser->profile(), username, password)); |
- } else { |
- sync_waiter_->SetCredentials(username, password); |
- } |
- if (sync_waiter_->SetupSync()) { |
- scoped_ptr<DictionaryValue> return_value(new DictionaryValue); |
- return_value->SetBoolean("success", true); |
- reply.SendSuccess(return_value.get()); |
- } else { |
- reply.SendError("Signing in to sync was unsuccessful"); |
- } |
-} |
- |
-// Sample json output: |
-// {u'summary': u'SYNC DISABLED'} |
-// |
-// { u'last synced': u'Just now', |
-// u'sync url': u'clients4.google.com', |
-// u'updates received': 42, |
-// u'synced datatypes': [ u'Bookmarks', |
-// u'Preferences', |
-// u'Passwords', |
-// u'Autofill', |
-// u'Themes', |
-// u'Extensions', |
-// u'Apps']} |
-void TestingAutomationProvider::GetSyncInfo(Browser* browser, |
- DictionaryValue* args, |
- IPC::Message* reply_message) { |
- AutomationJSONReply reply(this, reply_message); |
- DictionaryValue* sync_info = new DictionaryValue; |
- scoped_ptr<DictionaryValue> return_value(new DictionaryValue); |
- if (sync_waiter_.get() == NULL) { |
- sync_waiter_.reset( |
- ProfileSyncServiceHarness::CreateAndAttach(browser->profile())); |
- } |
- if (!sync_waiter_->IsSyncAlreadySetup()) { |
- sync_info->SetString("summary", "SYNC DISABLED"); |
- } else { |
- ProfileSyncService* service = sync_waiter_->service(); |
- ProfileSyncService::Status status = sync_waiter_->GetStatus(); |
- sync_info->SetString("sync url", service->sync_service_url().host()); |
- sync_info->SetString("last synced", service->GetLastSyncedTimeString()); |
- sync_info->SetInteger("updates received", status.updates_received); |
- ListValue* synced_datatype_list = new ListValue; |
- const syncer::ModelTypeSet synced_datatypes = |
- service->GetPreferredDataTypes(); |
- for (syncer::ModelTypeSet::Iterator it = synced_datatypes.First(); |
- it.Good(); it.Inc()) { |
- synced_datatype_list->Append( |
- new StringValue(syncer::ModelTypeToString(it.Get()))); |
- } |
- sync_info->Set("synced datatypes", synced_datatype_list); |
- } |
- return_value->Set("sync_info", sync_info); |
- reply.SendSuccess(return_value.get()); |
-} |
- |
-// Sample json output: { "success": true } |
-void TestingAutomationProvider::AwaitFullSyncCompletion( |
- Browser* browser, |
- DictionaryValue* args, |
- IPC::Message* reply_message) { |
- AutomationJSONReply reply(this, reply_message); |
- if (sync_waiter_.get() == NULL) { |
- sync_waiter_.reset( |
- ProfileSyncServiceHarness::CreateAndAttach(browser->profile())); |
- } |
- if (!sync_waiter_->IsSyncAlreadySetup()) { |
- reply.SendError("Not signed in to sync"); |
- return; |
- } |
- // Ensure that the profile sync service and sync backend host are initialized |
- // before waiting for sync cycle completion. In cases where the browser is |
- // restarted with sync enabled, these operations may still be in flight. |
- if (ProfileSyncServiceFactory::GetInstance()->GetForProfile( |
- browser->profile()) == NULL) { |
- reply.SendError("ProfileSyncService initialization failed."); |
- return; |
- } |
- if (!sync_waiter_->service()->sync_initialized() && |
- !sync_waiter_->AwaitBackendInitialized()) { |
- reply.SendError("Sync backend host initialization failed."); |
- return; |
- } |
- if (!sync_waiter_->AwaitFullSyncCompletion("Waiting for sync cycle")) { |
- reply.SendError("Sync cycle did not complete."); |
- return; |
- } |
- scoped_ptr<DictionaryValue> return_value(new DictionaryValue); |
- return_value->SetBoolean("success", true); |
- reply.SendSuccess(return_value.get()); |
-} |
- |
-// Sample json output: { "success": true } |
-void TestingAutomationProvider::AwaitSyncRestart( |
- Browser* browser, |
- DictionaryValue* args, |
- IPC::Message* reply_message) { |
- AutomationJSONReply reply(this, reply_message); |
- if (sync_waiter_.get() == NULL) { |
- sync_waiter_.reset( |
- ProfileSyncServiceHarness::CreateAndAttach(browser->profile())); |
- } |
- if (!sync_waiter_->IsSyncAlreadySetup()) { |
- reply.SendError("Not signed in to sync"); |
- return; |
- } |
- if (ProfileSyncServiceFactory::GetInstance()->GetForProfile( |
- browser->profile()) == NULL) { |
- reply.SendError("ProfileSyncService initialization failed."); |
- return; |
- } |
- if (!sync_waiter_->AwaitSyncRestart()) { |
- reply.SendError("Sync did not successfully restart."); |
- return; |
- } |
- scoped_ptr<DictionaryValue> return_value(new DictionaryValue); |
- return_value->SetBoolean("success", true); |
- reply.SendSuccess(return_value.get()); |
-} |
- |
-// Refer to EnableSyncForDatatypes() in chrome/test/pyautolib/pyauto.py for |
-// sample json input. Sample json output: { "success": true } |
-void TestingAutomationProvider::EnableSyncForDatatypes( |
- Browser* browser, |
- DictionaryValue* args, |
- IPC::Message* reply_message) { |
- AutomationJSONReply reply(this, reply_message); |
- if (sync_waiter_.get() == NULL) { |
- sync_waiter_.reset( |
- ProfileSyncServiceHarness::CreateAndAttach(browser->profile())); |
- } |
- if (!sync_waiter_->IsSyncAlreadySetup()) { |
- reply.SendError("Not signed in to sync"); |
- return; |
- } |
- ListValue* datatypes = NULL; |
- if (!args->GetList("datatypes", &datatypes)) { |
- reply.SendError("Invalid or missing args"); |
- return; |
- } |
- std::string first_datatype; |
- datatypes->GetString(0, &first_datatype); |
- if (first_datatype == "All") { |
- sync_waiter_->EnableSyncForAllDatatypes(); |
- } else { |
- int num_datatypes = datatypes->GetSize(); |
- for (int i = 0; i < num_datatypes; ++i) { |
- std::string datatype_string; |
- datatypes->GetString(i, &datatype_string); |
- syncer::ModelType datatype = |
- syncer::ModelTypeFromString(datatype_string); |
- if (datatype == syncer::UNSPECIFIED) { |
- AutomationJSONReply(this, reply_message).SendError(StringPrintf( |
- "Invalid datatype string: %s.", datatype_string.c_str())); |
- return; |
- } |
- sync_waiter_->EnableSyncForDatatype(datatype); |
- sync_waiter_->AwaitFullSyncCompletion(StringPrintf( |
- "Enabling datatype: %s", datatype_string.c_str())); |
- } |
- } |
- scoped_ptr<DictionaryValue> return_value(new DictionaryValue); |
- return_value->SetBoolean("success", true); |
- reply.SendSuccess(return_value.get()); |
-} |
- |
-// Refer to DisableSyncForDatatypes() in chrome/test/pyautolib/pyauto.py for |
-// sample json input. Sample json output: { "success": true } |
-void TestingAutomationProvider::DisableSyncForDatatypes( |
- Browser* browser, |
- DictionaryValue* args, |
- IPC::Message* reply_message) { |
- AutomationJSONReply reply(this, reply_message); |
- if (sync_waiter_.get() == NULL) { |
- sync_waiter_.reset( |
- ProfileSyncServiceHarness::CreateAndAttach(browser->profile())); |
- } |
- if (!sync_waiter_->IsSyncAlreadySetup()) { |
- reply.SendError("Not signed in to sync"); |
- return; |
- } |
- ListValue* datatypes = NULL; |
- if (!args->GetList("datatypes", &datatypes)) { |
- reply.SendError("Invalid or missing args"); |
- return; |
- } |
- std::string first_datatype; |
- if (!datatypes->GetString(0, &first_datatype)) { |
- reply.SendError("Invalid or missing string"); |
- return; |
- } |
- if (first_datatype == "All") { |
- sync_waiter_->DisableSyncForAllDatatypes(); |
- } else { |
- int num_datatypes = datatypes->GetSize(); |
- for (int i = 0; i < num_datatypes; i++) { |
- std::string datatype_string; |
- datatypes->GetString(i, &datatype_string); |
- syncer::ModelType datatype = |
- syncer::ModelTypeFromString(datatype_string); |
- if (datatype == syncer::UNSPECIFIED) { |
- AutomationJSONReply(this, reply_message).SendError(StringPrintf( |
- "Invalid datatype string: %s.", datatype_string.c_str())); |
- return; |
- } |
- sync_waiter_->DisableSyncForDatatype(datatype); |
- sync_waiter_->AwaitFullSyncCompletion(StringPrintf( |
- "Disabling datatype: %s", datatype_string.c_str())); |
- } |
- scoped_ptr<DictionaryValue> return_value(new DictionaryValue); |
- return_value->SetBoolean("success", true); |
- reply.SendSuccess(return_value.get()); |
- } |
-} |
- |
// Refer to GetAllNotifications() in chrome/test/pyautolib/pyauto.py for |
// sample json input/output. |
void TestingAutomationProvider::GetAllNotifications( |