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

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

Issue 105193002: Replace string16 with base::string16. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 882 matching lines...) Expand 10 before | Expand all | Expand 10 after
893 ListValue* paths = NULL; 893 ListValue* paths = NULL;
894 if (!args->GetList("paths", &paths)) { 894 if (!args->GetList("paths", &paths)) {
895 AutomationJSONReply(this, reply_message) 895 AutomationJSONReply(this, reply_message)
896 .SendError("'paths' missing or invalid"); 896 .SendError("'paths' missing or invalid");
897 return; 897 return;
898 } 898 }
899 899
900 // Emulate drag and drop to set the file paths to the file upload control. 900 // Emulate drag and drop to set the file paths to the file upload control.
901 content::DropData drop_data; 901 content::DropData drop_data;
902 for (size_t path_index = 0; path_index < paths->GetSize(); ++path_index) { 902 for (size_t path_index = 0; path_index < paths->GetSize(); ++path_index) {
903 string16 path; 903 base::string16 path;
904 if (!paths->GetString(path_index, &path)) { 904 if (!paths->GetString(path_index, &path)) {
905 AutomationJSONReply(this, reply_message) 905 AutomationJSONReply(this, reply_message)
906 .SendError("'paths' contains a non-string type"); 906 .SendError("'paths' contains a non-string type");
907 return; 907 return;
908 } 908 }
909 909
910 drop_data.filenames.push_back( 910 drop_data.filenames.push_back(
911 content::DropData::FileInfo(path, string16())); 911 content::DropData::FileInfo(path, base::string16()));
912 } 912 }
913 913
914 const gfx::Point client(x, y); 914 const gfx::Point client(x, y);
915 // We don't set any values in screen variable because DragTarget*** ignore the 915 // We don't set any values in screen variable because DragTarget*** ignore the
916 // screen argument. 916 // screen argument.
917 const gfx::Point screen; 917 const gfx::Point screen;
918 918
919 int operations = 0; 919 int operations = 0;
920 operations |= blink::WebDragOperationCopy; 920 operations |= blink::WebDragOperationCopy;
921 operations |= blink::WebDragOperationLink; 921 operations |= blink::WebDragOperationLink;
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
994 *success = false; 994 *success = false;
995 if (tab_tracker_->ContainsHandle(handle)) { 995 if (tab_tracker_->ContainsHandle(handle)) {
996 NavigationController* tab = tab_tracker_->GetResource(handle); 996 NavigationController* tab = tab_tracker_->GetResource(handle);
997 // Return what the user would see in the location bar. 997 // Return what the user would see in the location bar.
998 *url = tab->GetActiveEntry()->GetVirtualURL(); 998 *url = tab->GetActiveEntry()->GetVirtualURL();
999 *success = true; 999 *success = true;
1000 } 1000 }
1001 } 1001 }
1002 1002
1003 void TestingAutomationProvider::ExecuteJavascriptInRenderViewFrame( 1003 void TestingAutomationProvider::ExecuteJavascriptInRenderViewFrame(
1004 const string16& frame_xpath, 1004 const base::string16& frame_xpath,
1005 const string16& script, 1005 const base::string16& script,
1006 IPC::Message* reply_message, 1006 IPC::Message* reply_message,
1007 RenderViewHost* render_view_host) { 1007 RenderViewHost* render_view_host) {
1008 // Set the routing id of this message with the controller. 1008 // Set the routing id of this message with the controller.
1009 // This routing id needs to be remembered for the reverse 1009 // This routing id needs to be remembered for the reverse
1010 // communication while sending back the response of 1010 // communication while sending back the response of
1011 // this javascript execution. 1011 // this javascript execution.
1012 render_view_host->ExecuteJavascriptInWebFrame( 1012 render_view_host->ExecuteJavascriptInWebFrame(
1013 frame_xpath, 1013 frame_xpath,
1014 UTF8ToUTF16("window.domAutomationController.setAutomationId(0);")); 1014 UTF8ToUTF16("window.domAutomationController.setAutomationId(0);"));
1015 render_view_host->ExecuteJavascriptInWebFrame( 1015 render_view_host->ExecuteJavascriptInWebFrame(
(...skipping 18 matching lines...) Expand all
1034 web_contents->GetRenderViewHost()); 1034 web_contents->GetRenderViewHost());
1035 } 1035 }
1036 1036
1037 // Sample json input: { "command": "OpenNewBrowserWindowWithNewProfile" } 1037 // Sample json input: { "command": "OpenNewBrowserWindowWithNewProfile" }
1038 // Sample output: {} 1038 // Sample output: {}
1039 void TestingAutomationProvider::OpenNewBrowserWindowWithNewProfile( 1039 void TestingAutomationProvider::OpenNewBrowserWindowWithNewProfile(
1040 base::DictionaryValue* args, IPC::Message* reply_message) { 1040 base::DictionaryValue* args, IPC::Message* reply_message) {
1041 ProfileManager* profile_manager = g_browser_process->profile_manager(); 1041 ProfileManager* profile_manager = g_browser_process->profile_manager();
1042 new BrowserOpenedWithNewProfileNotificationObserver(this, reply_message); 1042 new BrowserOpenedWithNewProfileNotificationObserver(this, reply_message);
1043 profile_manager->CreateMultiProfileAsync( 1043 profile_manager->CreateMultiProfileAsync(
1044 string16(), string16(), ProfileManager::CreateCallback(), std::string()); 1044 base::string16(), base::string16(), ProfileManager::CreateCallback(), std: :string());
1045 } 1045 }
1046 1046
1047 // Sample json input: { "command": "GetMultiProfileInfo" } 1047 // Sample json input: { "command": "GetMultiProfileInfo" }
1048 // See GetMultiProfileInfo() in pyauto.py for sample output. 1048 // See GetMultiProfileInfo() in pyauto.py for sample output.
1049 void TestingAutomationProvider::GetMultiProfileInfo( 1049 void TestingAutomationProvider::GetMultiProfileInfo(
1050 base::DictionaryValue* args, IPC::Message* reply_message) { 1050 base::DictionaryValue* args, IPC::Message* reply_message) {
1051 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); 1051 scoped_ptr<DictionaryValue> return_value(new DictionaryValue);
1052 ProfileManager* profile_manager = g_browser_process->profile_manager(); 1052 ProfileManager* profile_manager = g_browser_process->profile_manager();
1053 const ProfileInfoCache& profile_info_cache = 1053 const ProfileInfoCache& profile_info_cache =
1054 profile_manager->GetProfileInfoCache(); 1054 profile_manager->GetProfileInfoCache();
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after
1291 return; 1291 return;
1292 } 1292 }
1293 } 1293 }
1294 1294
1295 void TestingAutomationProvider::AddBookmark( 1295 void TestingAutomationProvider::AddBookmark(
1296 DictionaryValue* args, 1296 DictionaryValue* args,
1297 IPC::Message* reply_message) { 1297 IPC::Message* reply_message) {
1298 AutomationJSONReply reply(this, reply_message); 1298 AutomationJSONReply reply(this, reply_message);
1299 Browser* browser; 1299 Browser* browser;
1300 std::string error_msg, url; 1300 std::string error_msg, url;
1301 string16 title; 1301 base::string16 title;
1302 int parent_id, index; 1302 int parent_id, index;
1303 bool folder; 1303 bool folder;
1304 if (!GetBrowserFromJSONArgs(args, &browser, &error_msg)) { 1304 if (!GetBrowserFromJSONArgs(args, &browser, &error_msg)) {
1305 reply.SendError(error_msg); 1305 reply.SendError(error_msg);
1306 return; 1306 return;
1307 } 1307 }
1308 if (!args->GetBoolean("is_folder", &folder)) { 1308 if (!args->GetBoolean("is_folder", &folder)) {
1309 reply.SendError("'is_folder' missing or invalid"); 1309 reply.SendError("'is_folder' missing or invalid");
1310 return; 1310 return;
1311 } 1311 }
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
1389 } 1389 }
1390 model->Move(node, new_parent, index); 1390 model->Move(node, new_parent, index);
1391 reply.SendSuccess(NULL); 1391 reply.SendSuccess(NULL);
1392 } 1392 }
1393 1393
1394 void TestingAutomationProvider::SetBookmarkTitle(DictionaryValue* args, 1394 void TestingAutomationProvider::SetBookmarkTitle(DictionaryValue* args,
1395 IPC::Message* reply_message) { 1395 IPC::Message* reply_message) {
1396 AutomationJSONReply reply(this, reply_message); 1396 AutomationJSONReply reply(this, reply_message);
1397 Browser* browser; 1397 Browser* browser;
1398 std::string error_msg; 1398 std::string error_msg;
1399 string16 title; 1399 base::string16 title;
1400 int id; 1400 int id;
1401 if (!GetBrowserFromJSONArgs(args, &browser, &error_msg)) { 1401 if (!GetBrowserFromJSONArgs(args, &browser, &error_msg)) {
1402 reply.SendError(error_msg); 1402 reply.SendError(error_msg);
1403 return; 1403 return;
1404 } 1404 }
1405 if (!args->GetInteger("id", &id)) { 1405 if (!args->GetInteger("id", &id)) {
1406 reply.SendError("'id' missing or invalid"); 1406 reply.SendError("'id' missing or invalid");
1407 return; 1407 return;
1408 } 1408 }
1409 if (!args->GetString("title", &title)) { 1409 if (!args->GetString("title", &title)) {
(...skipping 1000 matching lines...) Expand 10 before | Expand all | Expand 10 after
2410 } 2410 }
2411 2411
2412 // Sample json input: { "command": "GetHistoryInfo", 2412 // Sample json input: { "command": "GetHistoryInfo",
2413 // "search_text": "some text" } 2413 // "search_text": "some text" }
2414 // Refer chrome/test/pyautolib/history_info.py for sample json output. 2414 // Refer chrome/test/pyautolib/history_info.py for sample json output.
2415 void TestingAutomationProvider::GetHistoryInfo(Browser* browser, 2415 void TestingAutomationProvider::GetHistoryInfo(Browser* browser,
2416 DictionaryValue* args, 2416 DictionaryValue* args,
2417 IPC::Message* reply_message) { 2417 IPC::Message* reply_message) {
2418 consumer_.CancelAllRequests(); 2418 consumer_.CancelAllRequests();
2419 2419
2420 string16 search_text; 2420 base::string16 search_text;
2421 args->GetString("search_text", &search_text); 2421 args->GetString("search_text", &search_text);
2422 2422
2423 // Fetch history. 2423 // Fetch history.
2424 HistoryService* hs = HistoryServiceFactory::GetForProfile( 2424 HistoryService* hs = HistoryServiceFactory::GetForProfile(
2425 browser->profile(), Profile::EXPLICIT_ACCESS); 2425 browser->profile(), Profile::EXPLICIT_ACCESS);
2426 history::QueryOptions options; 2426 history::QueryOptions options;
2427 // The observer owns itself. It deletes itself after it fetches history. 2427 // The observer owns itself. It deletes itself after it fetches history.
2428 AutomationProviderHistoryObserver* history_observer = 2428 AutomationProviderHistoryObserver* history_observer =
2429 new AutomationProviderHistoryObserver(this, reply_message); 2429 new AutomationProviderHistoryObserver(this, reply_message);
2430 hs->QueryHistory( 2430 hs->QueryHistory(
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after
2699 AutomationJSONReply(this, reply_message).SendSuccess(return_value.get()); 2699 AutomationJSONReply(this, reply_message).SendSuccess(return_value.get());
2700 } 2700 }
2701 2701
2702 // Refer to pyauto.py for sample JSON input. 2702 // Refer to pyauto.py for sample JSON input.
2703 void TestingAutomationProvider::AddOrEditSearchEngine( 2703 void TestingAutomationProvider::AddOrEditSearchEngine(
2704 Browser* browser, 2704 Browser* browser,
2705 DictionaryValue* args, 2705 DictionaryValue* args,
2706 IPC::Message* reply_message) { 2706 IPC::Message* reply_message) {
2707 TemplateURLService* url_model = 2707 TemplateURLService* url_model =
2708 TemplateURLServiceFactory::GetForProfile(browser->profile()); 2708 TemplateURLServiceFactory::GetForProfile(browser->profile());
2709 string16 new_title; 2709 base::string16 new_title;
2710 string16 new_keyword; 2710 base::string16 new_keyword;
2711 std::string new_url; 2711 std::string new_url;
2712 std::string keyword; 2712 std::string keyword;
2713 if (!args->GetString("new_title", &new_title) || 2713 if (!args->GetString("new_title", &new_title) ||
2714 !args->GetString("new_keyword", &new_keyword) || 2714 !args->GetString("new_keyword", &new_keyword) ||
2715 !args->GetString("new_url", &new_url)) { 2715 !args->GetString("new_url", &new_url)) {
2716 AutomationJSONReply(this, reply_message).SendError( 2716 AutomationJSONReply(this, reply_message).SendError(
2717 "One or more inputs invalid"); 2717 "One or more inputs invalid");
2718 return; 2718 return;
2719 } 2719 }
2720 std::string new_ref_url = TemplateURLRef::DisplayURLToURLRef( 2720 std::string new_ref_url = TemplateURLRef::DisplayURLToURLRef(
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
2916 return_value->Set("properties", properties); 2916 return_value->Set("properties", properties);
2917 2917
2918 reply.SendSuccess(return_value.get()); 2918 reply.SendSuccess(return_value.get());
2919 } 2919 }
2920 2920
2921 // Sample json input: { "command": "SetOmniboxText", 2921 // Sample json input: { "command": "SetOmniboxText",
2922 // "text": "goog" } 2922 // "text": "goog" }
2923 void TestingAutomationProvider::SetOmniboxText(Browser* browser, 2923 void TestingAutomationProvider::SetOmniboxText(Browser* browser,
2924 DictionaryValue* args, 2924 DictionaryValue* args,
2925 IPC::Message* reply_message) { 2925 IPC::Message* reply_message) {
2926 string16 text; 2926 base::string16 text;
2927 AutomationJSONReply reply(this, reply_message); 2927 AutomationJSONReply reply(this, reply_message);
2928 if (!args->GetString("text", &text)) { 2928 if (!args->GetString("text", &text)) {
2929 reply.SendError("text missing"); 2929 reply.SendError("text missing");
2930 return; 2930 return;
2931 } 2931 }
2932 chrome::FocusLocationBar(browser); 2932 chrome::FocusLocationBar(browser);
2933 LocationBar* loc_bar = browser->window()->GetLocationBar(); 2933 LocationBar* loc_bar = browser->window()->GetLocationBar();
2934 if (!loc_bar) { 2934 if (!loc_bar) {
2935 reply.SendError("The specified browser does not have a location bar."); 2935 reply.SendError("The specified browser does not have a location bar.");
2936 return; 2936 return;
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
3155 // If the time is specified, change time to the specified time. 3155 // If the time is specified, change time to the specified time.
3156 base::Time time = base::Time::Now(); 3156 base::Time time = base::Time::Now();
3157 int it; 3157 int it;
3158 double dt; 3158 double dt;
3159 if (password_dict.GetInteger("time", &it)) 3159 if (password_dict.GetInteger("time", &it))
3160 time = base::Time::FromTimeT(it); 3160 time = base::Time::FromTimeT(it);
3161 else if (password_dict.GetDouble("time", &dt)) 3161 else if (password_dict.GetDouble("time", &dt))
3162 time = base::Time::FromDoubleT(dt); 3162 time = base::Time::FromDoubleT(dt);
3163 3163
3164 std::string signon_realm; 3164 std::string signon_realm;
3165 string16 username_value; 3165 base::string16 username_value;
3166 string16 password_value; 3166 base::string16 password_value;
3167 string16 origin_url_text; 3167 base::string16 origin_url_text;
3168 string16 username_element; 3168 base::string16 username_element;
3169 string16 password_element; 3169 base::string16 password_element;
3170 string16 submit_element; 3170 base::string16 submit_element;
3171 string16 action_target_text; 3171 base::string16 action_target_text;
3172 bool blacklist; 3172 bool blacklist;
3173 string16 old_password_element; 3173 base::string16 old_password_element;
3174 string16 old_password_value; 3174 base::string16 old_password_value;
3175 3175
3176 // We don't care if any of these fail - they are either optional or checked 3176 // We don't care if any of these fail - they are either optional or checked
3177 // before this function is called. 3177 // before this function is called.
3178 password_dict.GetString("signon_realm", &signon_realm); 3178 password_dict.GetString("signon_realm", &signon_realm);
3179 password_dict.GetString("username_value", &username_value); 3179 password_dict.GetString("username_value", &username_value);
3180 password_dict.GetString("password_value", &password_value); 3180 password_dict.GetString("password_value", &password_value);
3181 password_dict.GetString("origin_url", &origin_url_text); 3181 password_dict.GetString("origin_url", &origin_url_text);
3182 password_dict.GetString("username_element", &username_element); 3182 password_dict.GetString("username_element", &username_element);
3183 password_dict.GetString("password_element", &password_element); 3183 password_dict.GetString("password_element", &password_element);
3184 password_dict.GetString("submit_element", &submit_element); 3184 password_dict.GetString("submit_element", &submit_element);
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
3344 Browser* browser, 3344 Browser* browser,
3345 DictionaryValue* args, 3345 DictionaryValue* args,
3346 IPC::Message* reply_message) { 3346 IPC::Message* reply_message) {
3347 std::string error_message; 3347 std::string error_message;
3348 WebContents* web_contents = 3348 WebContents* web_contents =
3349 GetWebContentsFromDict(browser, args, &error_message); 3349 GetWebContentsFromDict(browser, args, &error_message);
3350 if (!web_contents) { 3350 if (!web_contents) {
3351 AutomationJSONReply(this, reply_message).SendError(error_message); 3351 AutomationJSONReply(this, reply_message).SendError(error_message);
3352 return; 3352 return;
3353 } 3353 }
3354 string16 search_string; 3354 base::string16 search_string;
3355 bool forward; 3355 bool forward;
3356 bool match_case; 3356 bool match_case;
3357 bool find_next; 3357 bool find_next;
3358 if (!args->GetString("search_string", &search_string)) { 3358 if (!args->GetString("search_string", &search_string)) {
3359 AutomationJSONReply(this, reply_message). 3359 AutomationJSONReply(this, reply_message).
3360 SendError("Must include search_string string."); 3360 SendError("Must include search_string string.");
3361 return; 3361 return;
3362 } 3362 }
3363 if (!args->GetBoolean("forward", &forward)) { 3363 if (!args->GetBoolean("forward", &forward)) {
3364 AutomationJSONReply(this, reply_message). 3364 AutomationJSONReply(this, reply_message).
(...skipping 705 matching lines...) Expand 10 before | Expand all | Expand 10 after
4070 base::KillProcess(process, 0, false); 4070 base::KillProcess(process, 0, false);
4071 base::CloseProcessHandle(process); 4071 base::CloseProcessHandle(process);
4072 } 4072 }
4073 4073
4074 bool TestingAutomationProvider::BuildWebKeyEventFromArgs( 4074 bool TestingAutomationProvider::BuildWebKeyEventFromArgs(
4075 DictionaryValue* args, 4075 DictionaryValue* args,
4076 std::string* error, 4076 std::string* error,
4077 NativeWebKeyboardEvent* event) { 4077 NativeWebKeyboardEvent* event) {
4078 int type, modifiers; 4078 int type, modifiers;
4079 bool is_system_key; 4079 bool is_system_key;
4080 string16 unmodified_text, text; 4080 base::string16 unmodified_text, text;
4081 std::string key_identifier; 4081 std::string key_identifier;
4082 if (!args->GetInteger("type", &type)) { 4082 if (!args->GetInteger("type", &type)) {
4083 *error = "'type' missing or invalid."; 4083 *error = "'type' missing or invalid.";
4084 return false; 4084 return false;
4085 } 4085 }
4086 if (!args->GetBoolean("isSystemKey", &is_system_key)) { 4086 if (!args->GetBoolean("isSystemKey", &is_system_key)) {
4087 *error = "'isSystemKey' missing or invalid."; 4087 *error = "'isSystemKey' missing or invalid.";
4088 return false; 4088 return false;
4089 } 4089 }
4090 if (!args->GetString("unmodifiedText", &unmodified_text)) { 4090 if (!args->GetString("unmodifiedText", &unmodified_text)) {
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
4122 event->type = blink::WebInputEvent::KeyDown; 4122 event->type = blink::WebInputEvent::KeyDown;
4123 } else if (type == automation::kKeyUpType) { 4123 } else if (type == automation::kKeyUpType) {
4124 event->type = blink::WebInputEvent::KeyUp; 4124 event->type = blink::WebInputEvent::KeyUp;
4125 } else if (type == automation::kCharType) { 4125 } else if (type == automation::kCharType) {
4126 event->type = blink::WebInputEvent::Char; 4126 event->type = blink::WebInputEvent::Char;
4127 } else { 4127 } else {
4128 *error = "'type' refers to an unrecognized keyboard event type"; 4128 *error = "'type' refers to an unrecognized keyboard event type";
4129 return false; 4129 return false;
4130 } 4130 }
4131 4131
4132 string16 unmodified_text_truncated = unmodified_text.substr( 4132 base::string16 unmodified_text_truncated = unmodified_text.substr(
4133 0, blink::WebKeyboardEvent::textLengthCap - 1); 4133 0, blink::WebKeyboardEvent::textLengthCap - 1);
4134 memcpy(event->unmodifiedText, 4134 memcpy(event->unmodifiedText,
4135 unmodified_text_truncated.c_str(), 4135 unmodified_text_truncated.c_str(),
4136 unmodified_text_truncated.length() + 1); 4136 unmodified_text_truncated.length() + 1);
4137 string16 text_truncated = text.substr( 4137 base::string16 text_truncated = text.substr(
4138 0, blink::WebKeyboardEvent::textLengthCap - 1); 4138 0, blink::WebKeyboardEvent::textLengthCap - 1);
4139 memcpy(event->text, text_truncated.c_str(), text_truncated.length() + 1); 4139 memcpy(event->text, text_truncated.c_str(), text_truncated.length() + 1);
4140 4140
4141 event->modifiers = 0; 4141 event->modifiers = 0;
4142 if (modifiers & automation::kShiftKeyMask) 4142 if (modifiers & automation::kShiftKeyMask)
4143 event->modifiers |= blink::WebInputEvent::ShiftKey; 4143 event->modifiers |= blink::WebInputEvent::ShiftKey;
4144 if (modifiers & automation::kControlKeyMask) 4144 if (modifiers & automation::kControlKeyMask)
4145 event->modifiers |= blink::WebInputEvent::ControlKey; 4145 event->modifiers |= blink::WebInputEvent::ControlKey;
4146 if (modifiers & automation::kAltKeyMask) 4146 if (modifiers & automation::kAltKeyMask)
4147 event->modifiers |= blink::WebInputEvent::AltKey; 4147 event->modifiers |= blink::WebInputEvent::AltKey;
(...skipping 566 matching lines...) Expand 10 before | Expand all | Expand 10 after
4714 return; 4714 return;
4715 } 4715 }
4716 } 4716 }
4717 4717
4718 void TestingAutomationProvider::ExecuteJavascriptJSON( 4718 void TestingAutomationProvider::ExecuteJavascriptJSON(
4719 DictionaryValue* args, 4719 DictionaryValue* args,
4720 IPC::Message* reply_message) { 4720 IPC::Message* reply_message) {
4721 if (SendErrorIfModalDialogActive(this, reply_message)) 4721 if (SendErrorIfModalDialogActive(this, reply_message))
4722 return; 4722 return;
4723 4723
4724 string16 frame_xpath, javascript; 4724 base::string16 frame_xpath, javascript;
4725 std::string error; 4725 std::string error;
4726 RenderViewHost* render_view; 4726 RenderViewHost* render_view;
4727 if (!GetRenderViewFromJSONArgs(args, profile(), &render_view, &error)) { 4727 if (!GetRenderViewFromJSONArgs(args, profile(), &render_view, &error)) {
4728 AutomationJSONReply(this, reply_message).SendError(error); 4728 AutomationJSONReply(this, reply_message).SendError(error);
4729 return; 4729 return;
4730 } 4730 }
4731 if (!args->GetString("frame_xpath", &frame_xpath)) { 4731 if (!args->GetString("frame_xpath", &frame_xpath)) {
4732 AutomationJSONReply(this, reply_message) 4732 AutomationJSONReply(this, reply_message)
4733 .SendError("'frame_xpath' missing or invalid"); 4733 .SendError("'frame_xpath' missing or invalid");
4734 return; 4734 return;
4735 } 4735 }
4736 if (!args->GetString("javascript", &javascript)) { 4736 if (!args->GetString("javascript", &javascript)) {
4737 AutomationJSONReply(this, reply_message) 4737 AutomationJSONReply(this, reply_message)
4738 .SendError("'javascript' missing or invalid"); 4738 .SendError("'javascript' missing or invalid");
4739 return; 4739 return;
4740 } 4740 }
4741 4741
4742 new DomOperationMessageSender(this, reply_message, true); 4742 new DomOperationMessageSender(this, reply_message, true);
4743 ExecuteJavascriptInRenderViewFrame(frame_xpath, javascript, reply_message, 4743 ExecuteJavascriptInRenderViewFrame(frame_xpath, javascript, reply_message,
4744 render_view); 4744 render_view);
4745 } 4745 }
4746 4746
4747 void TestingAutomationProvider::ExecuteJavascriptInRenderView( 4747 void TestingAutomationProvider::ExecuteJavascriptInRenderView(
4748 DictionaryValue* args, 4748 DictionaryValue* args,
4749 IPC::Message* reply_message) { 4749 IPC::Message* reply_message) {
4750 string16 frame_xpath, javascript, extension_id, url_text; 4750 base::string16 frame_xpath, javascript, extension_id, url_text;
4751 int render_process_id, render_view_id; 4751 int render_process_id, render_view_id;
4752 if (!args->GetString("frame_xpath", &frame_xpath)) { 4752 if (!args->GetString("frame_xpath", &frame_xpath)) {
4753 AutomationJSONReply(this, reply_message) 4753 AutomationJSONReply(this, reply_message)
4754 .SendError("'frame_xpath' missing or invalid"); 4754 .SendError("'frame_xpath' missing or invalid");
4755 return; 4755 return;
4756 } 4756 }
4757 if (!args->GetString("javascript", &javascript)) { 4757 if (!args->GetString("javascript", &javascript)) {
4758 AutomationJSONReply(this, reply_message) 4758 AutomationJSONReply(this, reply_message)
4759 .SendError("'javascript' missing or invalid"); 4759 .SendError("'javascript' missing or invalid");
4760 return; 4760 return;
(...skipping 691 matching lines...) Expand 10 before | Expand all | Expand 10 after
5452 if (g_browser_process) 5452 if (g_browser_process)
5453 g_browser_process->GetAutomationProviderList()->RemoveProvider(this); 5453 g_browser_process->GetAutomationProviderList()->RemoveProvider(this);
5454 } 5454 }
5455 5455
5456 void TestingAutomationProvider::EnsureTabSelected(Browser* browser, 5456 void TestingAutomationProvider::EnsureTabSelected(Browser* browser,
5457 WebContents* tab) { 5457 WebContents* tab) {
5458 TabStripModel* tab_strip = browser->tab_strip_model(); 5458 TabStripModel* tab_strip = browser->tab_strip_model();
5459 if (tab_strip->GetActiveWebContents() != tab) 5459 if (tab_strip->GetActiveWebContents() != tab)
5460 tab_strip->ActivateTabAt(tab_strip->GetIndexOfWebContents(tab), true); 5460 tab_strip->ActivateTabAt(tab_strip->GetIndexOfWebContents(tab), true);
5461 } 5461 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698