Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
|
kkania
2011/06/07 22:55:28
overall stuff (I put it here because many people m
| |
| 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/test/automation/automation_json_requests.h" | 5 #include "chrome/test/automation/automation_json_requests.h" |
| 6 | 6 |
| 7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
| 8 #include "base/file_path.h" | 8 #include "base/file_path.h" |
| 9 #include "base/format_macros.h" | 9 #include "base/format_macros.h" |
| 10 #include "base/json/json_reader.h" | 10 #include "base/json/json_reader.h" |
| 11 #include "base/json/json_writer.h" | 11 #include "base/json/json_writer.h" |
| 12 #include "base/memory/scoped_ptr.h" | 12 #include "base/memory/scoped_ptr.h" |
| 13 #include "base/stringprintf.h" | 13 #include "base/stringprintf.h" |
| 14 #include "base/test/test_timeouts.h" | 14 #include "base/test/test_timeouts.h" |
| 15 #include "base/time.h" | 15 #include "base/time.h" |
| 16 #include "base/values.h" | 16 #include "base/values.h" |
| 17 #include "chrome/common/automation_messages.h" | 17 #include "chrome/common/automation_messages.h" |
| 18 #include "chrome/test/automation/automation_proxy.h" | 18 #include "chrome/test/automation/automation_proxy.h" |
| 19 #include "content/common/json_value_serializer.h" | 19 #include "content/common/json_value_serializer.h" |
| 20 | 20 |
| 21 namespace { | 21 namespace { |
| 22 | |
| 23 bool SendAutomationJSONRequest(AutomationMessageSender* sender, | 22 bool SendAutomationJSONRequest(AutomationMessageSender* sender, |
| 24 const DictionaryValue& request_dict, | 23 const DictionaryValue& request_dict, |
| 25 DictionaryValue* reply_dict, | 24 DictionaryValue* reply_dict, |
| 25 int timeout_ms, | |
| 26 std::string* error_msg) { | 26 std::string* error_msg) { |
| 27 std::string request, reply; | 27 std::string request, reply; |
| 28 base::JSONWriter::Write(&request_dict, false, &request); | 28 base::JSONWriter::Write(&request_dict, false, &request); |
| 29 bool success = false; | 29 bool success = false; |
| 30 int timeout_ms = TestTimeouts::action_max_timeout_ms(); | |
| 31 base::Time before_sending = base::Time::Now(); | 30 base::Time before_sending = base::Time::Now(); |
| 32 if (!SendAutomationJSONRequest( | 31 if (!SendAutomationJSONRequest( |
| 33 sender, request, timeout_ms, &reply, &success)) { | 32 sender, request, timeout_ms, &reply, &success)) { |
| 34 int64 elapsed_ms = (base::Time::Now() - before_sending).InMilliseconds(); | 33 int64 elapsed_ms = (base::Time::Now() - before_sending).InMilliseconds(); |
| 35 std::string command; | 34 std::string command; |
| 36 request_dict.GetString("command", &command); | 35 request_dict.GetString("command", &command); |
| 37 if (elapsed_ms >= timeout_ms) { | 36 if (elapsed_ms >= timeout_ms) { |
| 38 *error_msg = base::StringPrintf( | 37 *error_msg = base::StringPrintf( |
| 39 "Chrome did not respond to '%s'. Request may have timed out. " | 38 "Chrome did not respond to '%s'. Request may have timed out. " |
| 40 "Elapsed time was %" PRId64 " ms. Request timeout was %d ms. " | 39 "Elapsed time was %" PRId64 " ms. Request timeout was %d ms. " |
| (...skipping 30 matching lines...) Expand all Loading... | |
| 71 error.c_str(), | 70 error.c_str(), |
| 72 request.c_str()); | 71 request.c_str()); |
| 73 LOG(ERROR) << "JSON request failed: " << command << "\n" | 72 LOG(ERROR) << "JSON request failed: " << command << "\n" |
| 74 << " with error: " << error; | 73 << " with error: " << error; |
| 75 return false; | 74 return false; |
| 76 } | 75 } |
| 77 reply_dict->MergeDictionary(dict); | 76 reply_dict->MergeDictionary(dict); |
| 78 return true; | 77 return true; |
| 79 } | 78 } |
| 80 | 79 |
| 80 bool SendAutomationJSONRequest(AutomationMessageSender* sender, | |
| 81 const DictionaryValue& request_dict, | |
| 82 DictionaryValue* reply_dict, | |
| 83 std::string* error_msg) { | |
| 84 int timeout_ms = TestTimeouts::action_max_timeout_ms(); | |
|
kkania
2011/06/07 22:55:28
make this one call sender->Send(msg) instead of se
| |
| 85 return SendAutomationJSONRequest(sender, request_dict, | |
| 86 reply_dict, timeout_ms, error_msg); | |
| 87 } | |
| 81 } // namespace | 88 } // namespace |
| 82 | 89 |
| 83 WebKeyEvent::WebKeyEvent(automation::KeyEventTypes type, | 90 WebKeyEvent::WebKeyEvent(automation::KeyEventTypes type, |
| 84 ui::KeyboardCode key_code, | 91 ui::KeyboardCode key_code, |
| 85 const std::string& unmodified_text, | 92 const std::string& unmodified_text, |
| 86 const std::string& modified_text, | 93 const std::string& modified_text, |
| 87 int modifiers) | 94 int modifiers) |
| 88 : type(type), | 95 : type(type), |
| 89 key_code(key_code), | 96 key_code(key_code), |
| 90 unmodified_text(unmodified_text), | 97 unmodified_text(unmodified_text), |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 146 int navigation_count, | 153 int navigation_count, |
| 147 AutomationMsg_NavigationResponseValues* nav_response, | 154 AutomationMsg_NavigationResponseValues* nav_response, |
| 148 std::string* error_msg) { | 155 std::string* error_msg) { |
| 149 DictionaryValue dict; | 156 DictionaryValue dict; |
| 150 dict.SetString("command", "NavigateToURL"); | 157 dict.SetString("command", "NavigateToURL"); |
| 151 dict.SetInteger("windex", browser_index); | 158 dict.SetInteger("windex", browser_index); |
| 152 dict.SetInteger("tab_index", tab_index); | 159 dict.SetInteger("tab_index", tab_index); |
| 153 dict.SetString("url", url.possibly_invalid_spec()); | 160 dict.SetString("url", url.possibly_invalid_spec()); |
| 154 dict.SetInteger("navigation_count", navigation_count); | 161 dict.SetInteger("navigation_count", navigation_count); |
| 155 DictionaryValue reply_dict; | 162 DictionaryValue reply_dict; |
| 156 if (!SendAutomationJSONRequest(sender, dict, &reply_dict, error_msg)) | 163 if (!SendAutomationJSONRequest(sender, dict, &reply_dict, |
| 164 base::kNoTimeout, error_msg)) { | |
| 157 return false; | 165 return false; |
| 166 } | |
| 158 int response = 0; | 167 int response = 0; |
| 159 if (!reply_dict.GetInteger("result", &response)) | 168 if (!reply_dict.GetInteger("result", &response)) |
| 160 return false; | 169 return false; |
| 161 *nav_response = static_cast<AutomationMsg_NavigationResponseValues>(response); | 170 *nav_response = static_cast<AutomationMsg_NavigationResponseValues>(response); |
| 162 return true; | 171 return true; |
| 163 } | 172 } |
| 164 | 173 |
| 165 bool SendExecuteJavascriptJSONRequest( | 174 bool SendExecuteJavascriptJSONRequest( |
| 166 AutomationMessageSender* sender, | 175 AutomationMessageSender* sender, |
| 167 int browser_index, | 176 int browser_index, |
| 168 int tab_index, | 177 int tab_index, |
| 169 const std::string& frame_xpath, | 178 const std::string& frame_xpath, |
| 170 const std::string& javascript, | 179 const std::string& javascript, |
| 171 Value** result, | 180 Value** result, |
| 172 std::string* error_msg) { | 181 std::string* error_msg) { |
| 173 DictionaryValue dict; | 182 DictionaryValue dict; |
| 174 dict.SetString("command", "ExecuteJavascript"); | 183 dict.SetString("command", "ExecuteJavascript"); |
| 175 dict.SetInteger("windex", browser_index); | 184 dict.SetInteger("windex", browser_index); |
| 176 dict.SetInteger("tab_index", tab_index); | 185 dict.SetInteger("tab_index", tab_index); |
| 177 dict.SetString("frame_xpath", frame_xpath); | 186 dict.SetString("frame_xpath", frame_xpath); |
| 178 dict.SetString("javascript", javascript); | 187 dict.SetString("javascript", javascript); |
| 179 DictionaryValue reply_dict; | 188 DictionaryValue reply_dict; |
| 180 if (!SendAutomationJSONRequest(sender, dict, &reply_dict, error_msg)) | 189 if (!SendAutomationJSONRequest(sender, dict, &reply_dict, |
| 190 base::kNoTimeout, error_msg)) { | |
| 181 return false; | 191 return false; |
| 192 } | |
| 182 | 193 |
| 183 std::string json; | 194 std::string json; |
| 184 if (!reply_dict.GetString("result", &json)) { | 195 if (!reply_dict.GetString("result", &json)) { |
| 185 LOG(ERROR) << "Executed javascript but received no 'result'"; | 196 LOG(ERROR) << "Executed javascript but received no 'result'"; |
| 186 return false; | 197 return false; |
| 187 } | 198 } |
| 188 // Wrap |json| in an array before deserializing because valid JSON has an | 199 // Wrap |json| in an array before deserializing because valid JSON has an |
| 189 // array or an object as the root. | 200 // array or an object as the root. |
| 190 json.insert(0, "["); | 201 json.insert(0, "["); |
| 191 json.append("]"); | 202 json.append("]"); |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 203 bool SendGoForwardJSONRequest( | 214 bool SendGoForwardJSONRequest( |
| 204 AutomationMessageSender* sender, | 215 AutomationMessageSender* sender, |
| 205 int browser_index, | 216 int browser_index, |
| 206 int tab_index, | 217 int tab_index, |
| 207 std::string* error_msg) { | 218 std::string* error_msg) { |
| 208 DictionaryValue dict; | 219 DictionaryValue dict; |
| 209 dict.SetString("command", "GoForward"); | 220 dict.SetString("command", "GoForward"); |
| 210 dict.SetInteger("windex", browser_index); | 221 dict.SetInteger("windex", browser_index); |
| 211 dict.SetInteger("tab_index", tab_index); | 222 dict.SetInteger("tab_index", tab_index); |
| 212 DictionaryValue reply_dict; | 223 DictionaryValue reply_dict; |
| 213 return SendAutomationJSONRequest(sender, dict, &reply_dict, error_msg); | 224 return SendAutomationJSONRequest(sender, dict, &reply_dict, |
| 225 base::kNoTimeout, error_msg); | |
| 214 } | 226 } |
| 215 | 227 |
| 216 bool SendGoBackJSONRequest( | 228 bool SendGoBackJSONRequest( |
| 217 AutomationMessageSender* sender, | 229 AutomationMessageSender* sender, |
| 218 int browser_index, | 230 int browser_index, |
| 219 int tab_index, | 231 int tab_index, |
| 220 std::string* error_msg) { | 232 std::string* error_msg) { |
| 221 DictionaryValue dict; | 233 DictionaryValue dict; |
| 222 dict.SetString("command", "GoBack"); | 234 dict.SetString("command", "GoBack"); |
| 223 dict.SetInteger("windex", browser_index); | 235 dict.SetInteger("windex", browser_index); |
| 224 dict.SetInteger("tab_index", tab_index); | 236 dict.SetInteger("tab_index", tab_index); |
| 225 DictionaryValue reply_dict; | 237 DictionaryValue reply_dict; |
| 226 return SendAutomationJSONRequest(sender, dict, &reply_dict, error_msg); | 238 return SendAutomationJSONRequest(sender, dict, &reply_dict, |
| 239 base::kNoTimeout, error_msg); | |
| 227 } | 240 } |
| 228 | 241 |
| 229 bool SendReloadJSONRequest( | 242 bool SendReloadJSONRequest( |
| 230 AutomationMessageSender* sender, | 243 AutomationMessageSender* sender, |
| 231 int browser_index, | 244 int browser_index, |
| 232 int tab_index, | 245 int tab_index, |
| 233 std::string* error_msg) { | 246 std::string* error_msg) { |
| 234 DictionaryValue dict; | 247 DictionaryValue dict; |
| 235 dict.SetString("command", "Reload"); | 248 dict.SetString("command", "Reload"); |
| 236 dict.SetInteger("windex", browser_index); | 249 dict.SetInteger("windex", browser_index); |
| 237 dict.SetInteger("tab_index", tab_index); | 250 dict.SetInteger("tab_index", tab_index); |
| 238 DictionaryValue reply_dict; | 251 DictionaryValue reply_dict; |
| 239 return SendAutomationJSONRequest(sender, dict, &reply_dict, error_msg); | 252 return SendAutomationJSONRequest(sender, dict, &reply_dict, |
| 253 base::kNoTimeout, error_msg); | |
| 240 } | 254 } |
| 241 | 255 |
| 242 bool SendCaptureEntirePageJSONRequest( | 256 bool SendCaptureEntirePageJSONRequest( |
| 243 AutomationMessageSender* sender, | 257 AutomationMessageSender* sender, |
| 244 int browser_index, | 258 int browser_index, |
| 245 int tab_index, | 259 int tab_index, |
| 246 const FilePath& path, | 260 const FilePath& path, |
| 247 std::string* error_msg) { | 261 std::string* error_msg) { |
| 248 DictionaryValue dict; | 262 DictionaryValue dict; |
| 249 dict.SetString("command", "CaptureEntirePage"); | 263 dict.SetString("command", "CaptureEntirePage"); |
| 250 dict.SetInteger("windex", browser_index); | 264 dict.SetInteger("windex", browser_index); |
| 251 dict.SetInteger("tab_index", tab_index); | 265 dict.SetInteger("tab_index", tab_index); |
| 252 dict.SetString("path", path.value()); | 266 dict.SetString("path", path.value()); |
| 253 DictionaryValue reply_dict; | 267 DictionaryValue reply_dict; |
| 254 | 268 |
| 255 return SendAutomationJSONRequest(sender, dict, &reply_dict, error_msg); | 269 return SendAutomationJSONRequest(sender, dict, &reply_dict, |
| 270 base::kNoTimeout, error_msg); | |
| 256 } | 271 } |
| 257 | 272 |
| 258 bool SendGetTabURLJSONRequest( | 273 bool SendGetTabURLJSONRequest( |
| 259 AutomationMessageSender* sender, | 274 AutomationMessageSender* sender, |
| 260 int browser_index, | 275 int browser_index, |
| 261 int tab_index, | 276 int tab_index, |
| 262 std::string* url, | 277 std::string* url, |
| 263 std::string* error_msg) { | 278 std::string* error_msg) { |
| 264 DictionaryValue dict; | 279 DictionaryValue dict; |
| 265 dict.SetString("command", "GetTabURL"); | 280 dict.SetString("command", "GetTabURL"); |
| (...skipping 23 matching lines...) Expand all Loading... | |
| 289 | 304 |
| 290 bool SendGetCookiesJSONRequest( | 305 bool SendGetCookiesJSONRequest( |
| 291 AutomationMessageSender* sender, | 306 AutomationMessageSender* sender, |
| 292 const std::string& url, | 307 const std::string& url, |
| 293 ListValue** cookies, | 308 ListValue** cookies, |
| 294 std::string* error_msg) { | 309 std::string* error_msg) { |
| 295 DictionaryValue dict; | 310 DictionaryValue dict; |
| 296 dict.SetString("command", "GetCookies"); | 311 dict.SetString("command", "GetCookies"); |
| 297 dict.SetString("url", url); | 312 dict.SetString("url", url); |
| 298 DictionaryValue reply_dict; | 313 DictionaryValue reply_dict; |
| 299 if (!SendAutomationJSONRequest(sender, dict, &reply_dict, error_msg)) | 314 if (!SendAutomationJSONRequest(sender, dict, &reply_dict, |
| 315 base::kNoTimeout, error_msg)) | |
| 300 return false; | 316 return false; |
| 301 Value* cookies_unscoped_value; | 317 Value* cookies_unscoped_value; |
| 302 if (!reply_dict.Remove("cookies", &cookies_unscoped_value)) | 318 if (!reply_dict.Remove("cookies", &cookies_unscoped_value)) |
| 303 return false; | 319 return false; |
| 304 scoped_ptr<Value> cookies_value(cookies_unscoped_value); | 320 scoped_ptr<Value> cookies_value(cookies_unscoped_value); |
| 305 if (!cookies_value->IsType(Value::TYPE_LIST)) | 321 if (!cookies_value->IsType(Value::TYPE_LIST)) |
| 306 return false; | 322 return false; |
| 307 *cookies = static_cast<ListValue*>(cookies_value.release()); | 323 *cookies = static_cast<ListValue*>(cookies_value.release()); |
| 308 return true; | 324 return true; |
| 309 } | 325 } |
| 310 | 326 |
| 311 bool SendGetCookiesJSONRequestDeprecated( | 327 bool SendGetCookiesJSONRequestDeprecated( |
| 312 AutomationMessageSender* sender, | 328 AutomationMessageSender* sender, |
| 313 int browser_index, | 329 int browser_index, |
| 314 const std::string& url, | 330 const std::string& url, |
| 315 std::string* cookies) { | 331 std::string* cookies) { |
| 316 DictionaryValue dict; | 332 DictionaryValue dict; |
| 317 dict.SetString("command", "GetCookies"); | 333 dict.SetString("command", "GetCookies"); |
| 318 dict.SetInteger("windex", browser_index); | 334 dict.SetInteger("windex", browser_index); |
| 319 dict.SetString("url", url); | 335 dict.SetString("url", url); |
| 320 DictionaryValue reply_dict; | 336 DictionaryValue reply_dict; |
| 321 std::string error_msg; | 337 std::string error_msg; |
| 322 if (!SendAutomationJSONRequest(sender, dict, &reply_dict, &error_msg)) | 338 if (!SendAutomationJSONRequest(sender, dict, &reply_dict, |
|
kkania
2011/06/07 22:55:28
you can forget adding custom timeout to the deprec
| |
| 339 base::kNoTimeout, &error_msg)) { | |
| 323 return false; | 340 return false; |
| 341 } | |
| 324 return reply_dict.GetString("cookies", cookies); | 342 return reply_dict.GetString("cookies", cookies); |
| 325 } | 343 } |
| 326 | 344 |
| 327 bool SendDeleteCookieJSONRequest( | 345 bool SendDeleteCookieJSONRequest( |
| 328 AutomationMessageSender* sender, | 346 AutomationMessageSender* sender, |
| 329 const std::string& url, | 347 const std::string& url, |
| 330 const std::string& cookie_name, | 348 const std::string& cookie_name, |
| 331 std::string* error_msg) { | 349 std::string* error_msg) { |
| 332 DictionaryValue dict; | 350 DictionaryValue dict; |
| 333 dict.SetString("command", "DeleteCookie"); | 351 dict.SetString("command", "DeleteCookie"); |
| 334 dict.SetString("url", url); | 352 dict.SetString("url", url); |
| 335 dict.SetString("name", cookie_name); | 353 dict.SetString("name", cookie_name); |
| 336 DictionaryValue reply_dict; | 354 DictionaryValue reply_dict; |
| 337 return SendAutomationJSONRequest(sender, dict, &reply_dict, error_msg); | 355 return SendAutomationJSONRequest(sender, dict, &reply_dict, |
| 356 base::kNoTimeout, error_msg); | |
| 338 } | 357 } |
| 339 | 358 |
| 340 bool SendDeleteCookieJSONRequestDeprecated( | 359 bool SendDeleteCookieJSONRequestDeprecated( |
| 341 AutomationMessageSender* sender, | 360 AutomationMessageSender* sender, |
| 342 int browser_index, | 361 int browser_index, |
| 343 const std::string& url, | 362 const std::string& url, |
| 344 const std::string& cookie_name) { | 363 const std::string& cookie_name) { |
| 345 DictionaryValue dict; | 364 DictionaryValue dict; |
| 346 dict.SetString("command", "DeleteCookie"); | 365 dict.SetString("command", "DeleteCookie"); |
| 347 dict.SetInteger("windex", browser_index); | 366 dict.SetInteger("windex", browser_index); |
| 348 dict.SetString("url", url); | 367 dict.SetString("url", url); |
| 349 dict.SetString("name", cookie_name); | 368 dict.SetString("name", cookie_name); |
| 350 DictionaryValue reply_dict; | 369 DictionaryValue reply_dict; |
| 351 std::string error_msg; | 370 std::string error_msg; |
| 352 return SendAutomationJSONRequest(sender, dict, &reply_dict, &error_msg); | 371 return SendAutomationJSONRequest(sender, dict, &reply_dict, |
| 372 base::kNoTimeout, &error_msg); | |
| 353 } | 373 } |
| 354 | 374 |
| 355 bool SendSetCookieJSONRequest( | 375 bool SendSetCookieJSONRequest( |
| 356 AutomationMessageSender* sender, | 376 AutomationMessageSender* sender, |
| 357 const std::string& url, | 377 const std::string& url, |
| 358 DictionaryValue* cookie_dict, | 378 DictionaryValue* cookie_dict, |
| 359 std::string* error_msg) { | 379 std::string* error_msg) { |
| 360 DictionaryValue dict; | 380 DictionaryValue dict; |
| 361 dict.SetString("command", "SetCookie"); | 381 dict.SetString("command", "SetCookie"); |
| 362 dict.SetString("url", url); | 382 dict.SetString("url", url); |
| 363 dict.Set("cookie", cookie_dict->DeepCopy()); | 383 dict.Set("cookie", cookie_dict->DeepCopy()); |
| 364 DictionaryValue reply_dict; | 384 DictionaryValue reply_dict; |
| 365 return SendAutomationJSONRequest(sender, dict, &reply_dict, error_msg); | 385 return SendAutomationJSONRequest(sender, dict, &reply_dict, |
| 386 base::kNoTimeout, error_msg); | |
| 366 } | 387 } |
| 367 | 388 |
| 368 bool SendSetCookieJSONRequestDeprecated( | 389 bool SendSetCookieJSONRequestDeprecated( |
| 369 AutomationMessageSender* sender, | 390 AutomationMessageSender* sender, |
| 370 int browser_index, | 391 int browser_index, |
| 371 const std::string& url, | 392 const std::string& url, |
| 372 const std::string& cookie) { | 393 const std::string& cookie) { |
| 373 DictionaryValue dict; | 394 DictionaryValue dict; |
| 374 dict.SetString("command", "SetCookie"); | 395 dict.SetString("command", "SetCookie"); |
| 375 dict.SetInteger("windex", browser_index); | 396 dict.SetInteger("windex", browser_index); |
| 376 dict.SetString("url", url); | 397 dict.SetString("url", url); |
| 377 dict.SetString("cookie", cookie); | 398 dict.SetString("cookie", cookie); |
| 378 DictionaryValue reply_dict; | 399 DictionaryValue reply_dict; |
| 379 std::string error_msg; | 400 std::string error_msg; |
| 380 return SendAutomationJSONRequest(sender, dict, &reply_dict, &error_msg); | 401 return SendAutomationJSONRequest(sender, dict, &reply_dict, |
| 402 base::kNoTimeout, &error_msg); | |
| 381 } | 403 } |
| 382 | 404 |
| 383 bool SendGetTabIdsJSONRequest( | 405 bool SendGetTabIdsJSONRequest( |
| 384 AutomationMessageSender* sender, | 406 AutomationMessageSender* sender, |
| 385 std::vector<int>* tab_ids, | 407 std::vector<int>* tab_ids, |
| 386 std::string* error_msg) { | 408 std::string* error_msg) { |
| 387 DictionaryValue dict; | 409 DictionaryValue dict; |
| 388 dict.SetString("command", "GetTabIds"); | 410 dict.SetString("command", "GetTabIds"); |
| 389 DictionaryValue reply_dict; | 411 DictionaryValue reply_dict; |
| 390 if (!SendAutomationJSONRequest(sender, dict, &reply_dict, error_msg)) | 412 if (!SendAutomationJSONRequest(sender, dict, &reply_dict, error_msg)) |
| (...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 580 return SendAutomationJSONRequest(sender, dict, &reply_dict, error_msg); | 602 return SendAutomationJSONRequest(sender, dict, &reply_dict, error_msg); |
| 581 } | 603 } |
| 582 | 604 |
| 583 bool SendGetAppModalDialogMessageJSONRequest( | 605 bool SendGetAppModalDialogMessageJSONRequest( |
| 584 AutomationMessageSender* sender, | 606 AutomationMessageSender* sender, |
| 585 std::string* message, | 607 std::string* message, |
| 586 std::string* error_msg) { | 608 std::string* error_msg) { |
| 587 DictionaryValue dict; | 609 DictionaryValue dict; |
| 588 dict.SetString("command", "GetAppModalDialogMessage"); | 610 dict.SetString("command", "GetAppModalDialogMessage"); |
| 589 DictionaryValue reply_dict; | 611 DictionaryValue reply_dict; |
| 590 if (!SendAutomationJSONRequest(sender, dict, &reply_dict, error_msg)) | 612 if (!SendAutomationJSONRequest(sender, dict, &reply_dict, |
|
kkania
2011/06/07 22:55:28
I don't think need custom timeout here
| |
| 613 base::kNoTimeout, error_msg)) { | |
| 591 return false; | 614 return false; |
| 615 } | |
| 592 return reply_dict.GetString("message", message); | 616 return reply_dict.GetString("message", message); |
| 593 } | 617 } |
| 594 | 618 |
| 595 bool SendAcceptOrDismissAppModalDialogJSONRequest( | 619 bool SendAcceptOrDismissAppModalDialogJSONRequest( |
| 596 AutomationMessageSender* sender, | 620 AutomationMessageSender* sender, |
| 597 bool accept, | 621 bool accept, |
| 598 std::string* error_msg) { | 622 std::string* error_msg) { |
| 599 DictionaryValue dict; | 623 DictionaryValue dict; |
| 600 dict.SetString("command", "AcceptOrDismissAppModalDialog"); | 624 dict.SetString("command", "AcceptOrDismissAppModalDialog"); |
| 601 dict.SetBoolean("accept", accept); | 625 dict.SetBoolean("accept", accept); |
| 602 DictionaryValue reply_dict; | 626 DictionaryValue reply_dict; |
| 603 return SendAutomationJSONRequest(sender, dict, &reply_dict, error_msg); | 627 return SendAutomationJSONRequest(sender, dict, &reply_dict, |
| 628 base::kNoTimeout, error_msg); | |
|
kkania
2011/06/07 22:55:28
or here
| |
| 604 } | 629 } |
| 605 | 630 |
| 606 bool SendAcceptPromptAppModalDialogJSONRequest( | 631 bool SendAcceptPromptAppModalDialogJSONRequest( |
| 607 AutomationMessageSender* sender, | 632 AutomationMessageSender* sender, |
| 608 const std::string& prompt_text, | 633 const std::string& prompt_text, |
| 609 std::string* error_msg) { | 634 std::string* error_msg) { |
| 610 DictionaryValue dict; | 635 DictionaryValue dict; |
| 611 dict.SetString("command", "AcceptOrDismissAppModalDialog"); | 636 dict.SetString("command", "AcceptOrDismissAppModalDialog"); |
| 612 dict.SetBoolean("accept", true); | 637 dict.SetBoolean("accept", true); |
| 613 dict.SetString("prompt_text", prompt_text); | 638 dict.SetString("prompt_text", prompt_text); |
| 614 DictionaryValue reply_dict; | 639 DictionaryValue reply_dict; |
| 615 return SendAutomationJSONRequest(sender, dict, &reply_dict, error_msg); | 640 return SendAutomationJSONRequest(sender, dict, &reply_dict, |
| 641 base::kNoTimeout, error_msg); | |
|
kkania
2011/06/07 22:55:28
or here
| |
| 616 } | 642 } |
| 617 | 643 |
| 618 bool SendWaitForAllTabsToStopLoadingJSONRequest( | 644 bool SendWaitForAllTabsToStopLoadingJSONRequest( |
| 619 AutomationMessageSender* sender, | 645 AutomationMessageSender* sender, |
| 620 std::string* error_msg) { | 646 std::string* error_msg) { |
| 621 DictionaryValue dict; | 647 DictionaryValue dict; |
| 622 dict.SetString("command", "WaitForAllTabsToStopLoading"); | 648 dict.SetString("command", "WaitForAllTabsToStopLoading"); |
| 623 DictionaryValue reply_dict; | 649 DictionaryValue reply_dict; |
| 624 return SendAutomationJSONRequest(sender, dict, &reply_dict, error_msg); | 650 return SendAutomationJSONRequest(sender, dict, &reply_dict, |
| 651 base::kNoTimeout, error_msg); | |
| 625 } | 652 } |
| 626 | 653 |
| 627 bool SendGetChromeDriverAutomationVersion( | 654 bool SendGetChromeDriverAutomationVersion( |
| 628 AutomationMessageSender* sender, | 655 AutomationMessageSender* sender, |
| 629 int* version, | 656 int* version, |
| 630 std::string* error_msg) { | 657 std::string* error_msg) { |
| 631 DictionaryValue dict; | 658 DictionaryValue dict; |
| 632 dict.SetString("command", "GetChromeDriverAutomationVersion"); | 659 dict.SetString("command", "GetChromeDriverAutomationVersion"); |
| 633 DictionaryValue reply_dict; | 660 DictionaryValue reply_dict; |
| 634 if (!SendAutomationJSONRequest(sender, dict, &reply_dict, error_msg)) | 661 if (!SendAutomationJSONRequest(sender, dict, &reply_dict, error_msg)) |
| 635 return false; | 662 return false; |
| 636 return reply_dict.GetInteger("version", version); | 663 return reply_dict.GetInteger("version", version); |
| 637 } | 664 } |
| OLD | NEW |