Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(485)

Side by Side Diff: chrome/browser/automation/testing_automation_provider.cc

Issue 7861013: Fix the false-positive detection of commit errors (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Another attempt at detecting errors Created 9 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/automation/testing_automation_provider.h" 5 #include "chrome/browser/automation/testing_automation_provider.h"
6 6
7 #include <map> 7 #include <map>
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 2483 matching lines...) Expand 10 before | Expand all | Expand 10 after
2494 browser_handler_map["GetActiveNotifications"] = 2494 browser_handler_map["GetActiveNotifications"] =
2495 &TestingAutomationProvider::GetActiveNotifications; 2495 &TestingAutomationProvider::GetActiveNotifications;
2496 browser_handler_map["CloseNotification"] = 2496 browser_handler_map["CloseNotification"] =
2497 &TestingAutomationProvider::CloseNotification; 2497 &TestingAutomationProvider::CloseNotification;
2498 browser_handler_map["WaitForNotificationCount"] = 2498 browser_handler_map["WaitForNotificationCount"] =
2499 &TestingAutomationProvider::WaitForNotificationCount; 2499 &TestingAutomationProvider::WaitForNotificationCount;
2500 2500
2501 browser_handler_map["SignInToSync"] = 2501 browser_handler_map["SignInToSync"] =
2502 &TestingAutomationProvider::SignInToSync; 2502 &TestingAutomationProvider::SignInToSync;
2503 browser_handler_map["GetSyncInfo"] = &TestingAutomationProvider::GetSyncInfo; 2503 browser_handler_map["GetSyncInfo"] = &TestingAutomationProvider::GetSyncInfo;
2504 browser_handler_map["AwaitSyncCycleCompletion"] = 2504 browser_handler_map["AwaitFullSyncCompletion"] =
2505 &TestingAutomationProvider::AwaitSyncCycleCompletion; 2505 &TestingAutomationProvider::AwaitFullSyncCompletion;
2506 browser_handler_map["AwaitSyncRestart"] = 2506 browser_handler_map["AwaitSyncRestart"] =
2507 &TestingAutomationProvider::AwaitSyncRestart; 2507 &TestingAutomationProvider::AwaitSyncRestart;
2508 browser_handler_map["EnableSyncForDatatypes"] = 2508 browser_handler_map["EnableSyncForDatatypes"] =
2509 &TestingAutomationProvider::EnableSyncForDatatypes; 2509 &TestingAutomationProvider::EnableSyncForDatatypes;
2510 browser_handler_map["DisableSyncForDatatypes"] = 2510 browser_handler_map["DisableSyncForDatatypes"] =
2511 &TestingAutomationProvider::DisableSyncForDatatypes; 2511 &TestingAutomationProvider::DisableSyncForDatatypes;
2512 2512
2513 browser_handler_map["GetNTPInfo"] = 2513 browser_handler_map["GetNTPInfo"] =
2514 &TestingAutomationProvider::GetNTPInfo; 2514 &TestingAutomationProvider::GetNTPInfo;
2515 browser_handler_map["MoveNTPMostVisitedThumbnail"] = 2515 browser_handler_map["MoveNTPMostVisitedThumbnail"] =
(...skipping 2266 matching lines...) Expand 10 before | Expand all | Expand 10 after
4782 synced_datatype_list->Append( 4782 synced_datatype_list->Append(
4783 new StringValue(syncable::ModelTypeToString(*it))); 4783 new StringValue(syncable::ModelTypeToString(*it)));
4784 } 4784 }
4785 sync_info->Set("synced datatypes", synced_datatype_list); 4785 sync_info->Set("synced datatypes", synced_datatype_list);
4786 } 4786 }
4787 return_value->Set("sync_info", sync_info); 4787 return_value->Set("sync_info", sync_info);
4788 reply.SendSuccess(return_value.get()); 4788 reply.SendSuccess(return_value.get());
4789 } 4789 }
4790 4790
4791 // Sample json output: { "success": true } 4791 // Sample json output: { "success": true }
4792 void TestingAutomationProvider::AwaitSyncCycleCompletion( 4792 void TestingAutomationProvider::AwaitFullSyncCompletion(
4793 Browser* browser, 4793 Browser* browser,
4794 DictionaryValue* args, 4794 DictionaryValue* args,
4795 IPC::Message* reply_message) { 4795 IPC::Message* reply_message) {
4796 AutomationJSONReply reply(this, reply_message); 4796 AutomationJSONReply reply(this, reply_message);
4797 if (sync_waiter_.get() == NULL) { 4797 if (sync_waiter_.get() == NULL) {
4798 sync_waiter_.reset( 4798 sync_waiter_.reset(
4799 ProfileSyncServiceHarness::CreateAndAttach(browser->profile())); 4799 ProfileSyncServiceHarness::CreateAndAttach(browser->profile()));
4800 } 4800 }
4801 if (!sync_waiter_->IsSyncAlreadySetup()) { 4801 if (!sync_waiter_->IsSyncAlreadySetup()) {
4802 reply.SendError("Not signed in to sync"); 4802 reply.SendError("Not signed in to sync");
4803 return; 4803 return;
4804 } 4804 }
4805 // Ensure that the profile sync service and sync backend host are initialized 4805 // Ensure that the profile sync service and sync backend host are initialized
4806 // before waiting for sync cycle completion. In cases where the browser is 4806 // before waiting for sync cycle completion. In cases where the browser is
4807 // restarted with sync enabled, these operations may still be in flight. 4807 // restarted with sync enabled, these operations may still be in flight.
4808 if (!browser->profile()->GetProfileSyncService()) { 4808 if (!browser->profile()->GetProfileSyncService()) {
4809 reply.SendError("ProfileSyncService initialization failed."); 4809 reply.SendError("ProfileSyncService initialization failed.");
4810 return; 4810 return;
4811 } 4811 }
4812 if (!sync_waiter_->service()->sync_initialized() && 4812 if (!sync_waiter_->service()->sync_initialized() &&
4813 !sync_waiter_->AwaitBackendInitialized()) { 4813 !sync_waiter_->AwaitBackendInitialized()) {
4814 reply.SendError("Sync backend host initialization failed."); 4814 reply.SendError("Sync backend host initialization failed.");
4815 return; 4815 return;
4816 } 4816 }
4817 if (!sync_waiter_->AwaitSyncCycleCompletion("Waiting for sync cycle")) { 4817 if (!sync_waiter_->AwaitFullSyncCompletion("Waiting for sync cycle")) {
4818 reply.SendError("Sync cycle did not complete."); 4818 reply.SendError("Sync cycle did not complete.");
4819 return; 4819 return;
4820 } 4820 }
4821 ProfileSyncService::Status status = sync_waiter_->GetStatus(); 4821 ProfileSyncService::Status status = sync_waiter_->GetStatus();
4822 if (status.summary == ProfileSyncService::Status::READY) { 4822 if (status.summary == ProfileSyncService::Status::READY) {
4823 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); 4823 scoped_ptr<DictionaryValue> return_value(new DictionaryValue);
4824 return_value->SetBoolean("success", true); 4824 return_value->SetBoolean("success", true);
4825 reply.SendSuccess(return_value.get()); 4825 reply.SendSuccess(return_value.get());
4826 } else { 4826 } else {
4827 std::string error_msg = "Wait for sync cycle was unsuccessful. " 4827 std::string error_msg = "Wait for sync cycle was unsuccessful. "
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
4898 std::string datatype_string; 4898 std::string datatype_string;
4899 datatypes->GetString(i, &datatype_string); 4899 datatypes->GetString(i, &datatype_string);
4900 syncable::ModelType datatype = 4900 syncable::ModelType datatype =
4901 syncable::ModelTypeFromString(datatype_string); 4901 syncable::ModelTypeFromString(datatype_string);
4902 if (datatype == syncable::UNSPECIFIED) { 4902 if (datatype == syncable::UNSPECIFIED) {
4903 AutomationJSONReply(this, reply_message).SendError(StringPrintf( 4903 AutomationJSONReply(this, reply_message).SendError(StringPrintf(
4904 "Invalid datatype string: %s.", datatype_string.c_str())); 4904 "Invalid datatype string: %s.", datatype_string.c_str()));
4905 return; 4905 return;
4906 } 4906 }
4907 sync_waiter_->EnableSyncForDatatype(datatype); 4907 sync_waiter_->EnableSyncForDatatype(datatype);
4908 sync_waiter_->AwaitSyncCycleCompletion(StringPrintf( 4908 sync_waiter_->AwaitFullSyncCompletion(StringPrintf(
4909 "Enabling datatype: %s", datatype_string.c_str())); 4909 "Enabling datatype: %s", datatype_string.c_str()));
4910 } 4910 }
4911 } 4911 }
4912 ProfileSyncService::Status status = sync_waiter_->GetStatus(); 4912 ProfileSyncService::Status status = sync_waiter_->GetStatus();
4913 if (status.summary == ProfileSyncService::Status::READY || 4913 if (status.summary == ProfileSyncService::Status::READY ||
4914 status.summary == ProfileSyncService::Status::SYNCING) { 4914 status.summary == ProfileSyncService::Status::SYNCING) {
4915 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); 4915 scoped_ptr<DictionaryValue> return_value(new DictionaryValue);
4916 return_value->SetBoolean("success", true); 4916 return_value->SetBoolean("success", true);
4917 reply.SendSuccess(return_value.get()); 4917 reply.SendSuccess(return_value.get());
4918 } else { 4918 } else {
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
4962 std::string datatype_string; 4962 std::string datatype_string;
4963 datatypes->GetString(i, &datatype_string); 4963 datatypes->GetString(i, &datatype_string);
4964 syncable::ModelType datatype = 4964 syncable::ModelType datatype =
4965 syncable::ModelTypeFromString(datatype_string); 4965 syncable::ModelTypeFromString(datatype_string);
4966 if (datatype == syncable::UNSPECIFIED) { 4966 if (datatype == syncable::UNSPECIFIED) {
4967 AutomationJSONReply(this, reply_message).SendError(StringPrintf( 4967 AutomationJSONReply(this, reply_message).SendError(StringPrintf(
4968 "Invalid datatype string: %s.", datatype_string.c_str())); 4968 "Invalid datatype string: %s.", datatype_string.c_str()));
4969 return; 4969 return;
4970 } 4970 }
4971 sync_waiter_->DisableSyncForDatatype(datatype); 4971 sync_waiter_->DisableSyncForDatatype(datatype);
4972 sync_waiter_->AwaitSyncCycleCompletion(StringPrintf( 4972 sync_waiter_->AwaitFullSyncCompletion(StringPrintf(
4973 "Disabling datatype: %s", datatype_string.c_str())); 4973 "Disabling datatype: %s", datatype_string.c_str()));
4974 } 4974 }
4975 ProfileSyncService::Status status = sync_waiter_->GetStatus(); 4975 ProfileSyncService::Status status = sync_waiter_->GetStatus();
4976 if (status.summary == ProfileSyncService::Status::READY || 4976 if (status.summary == ProfileSyncService::Status::READY ||
4977 status.summary == ProfileSyncService::Status::SYNCING) { 4977 status.summary == ProfileSyncService::Status::SYNCING) {
4978 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); 4978 scoped_ptr<DictionaryValue> return_value(new DictionaryValue);
4979 return_value->SetBoolean("success", true); 4979 return_value->SetBoolean("success", true);
4980 reply.SendSuccess(return_value.get()); 4980 reply.SendSuccess(return_value.get());
4981 } else { 4981 } else {
4982 reply.SendError("Disabling sync for given datatypes was unsuccessful"); 4982 reply.SendError("Disabling sync for given datatypes was unsuccessful");
(...skipping 1508 matching lines...) Expand 10 before | Expand all | Expand 10 after
6491 6491
6492 Send(reply_message_); 6492 Send(reply_message_);
6493 redirect_query_ = 0; 6493 redirect_query_ = 0;
6494 reply_message_ = NULL; 6494 reply_message_ = NULL;
6495 } 6495 }
6496 6496
6497 void TestingAutomationProvider::OnRemoveProvider() { 6497 void TestingAutomationProvider::OnRemoveProvider() {
6498 if (g_browser_process) 6498 if (g_browser_process)
6499 g_browser_process->GetAutomationProviderList()->RemoveProvider(this); 6499 g_browser_process->GetAutomationProviderList()->RemoveProvider(this);
6500 } 6500 }
OLDNEW
« no previous file with comments | « chrome/browser/automation/testing_automation_provider.h ('k') | chrome/browser/sync/engine/clear_data_command.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698