| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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/test/chromedriver/session_commands.h" | 5 #include "chrome/test/chromedriver/session_commands.h" |
| 6 | 6 |
| 7 #include <list> | 7 #include <list> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/callback.h" | 10 #include "base/callback.h" |
| (...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 349 if (status.IsError()) | 349 if (status.IsError()) |
| 350 return status; | 350 return status; |
| 351 status = web_view->ConnectIfNecessary(); | 351 status = web_view->ConnectIfNecessary(); |
| 352 if (status.IsError()) | 352 if (status.IsError()) |
| 353 return status; | 353 return status; |
| 354 status = web_view->OverrideGeolocation(*session->overridden_geoposition); | 354 status = web_view->OverrideGeolocation(*session->overridden_geoposition); |
| 355 if (status.IsError()) | 355 if (status.IsError()) |
| 356 return status; | 356 return status; |
| 357 } | 357 } |
| 358 | 358 |
| 359 if (session->overridden_network_conditions) { |
| 360 WebView* web_view; |
| 361 status = session->chrome->GetWebViewById(web_view_id, &web_view); |
| 362 if (status.IsError()) |
| 363 return status; |
| 364 status = web_view->ConnectIfNecessary(); |
| 365 if (status.IsError()) |
| 366 return status; |
| 367 status = web_view->OverrideNetworkConditions( |
| 368 *session->overridden_network_conditions); |
| 369 if (status.IsError()) |
| 370 return status; |
| 371 } |
| 372 |
| 359 session->window = web_view_id; | 373 session->window = web_view_id; |
| 360 session->SwitchToTopFrame(); | 374 session->SwitchToTopFrame(); |
| 361 session->mouse_position = WebPoint(0, 0); | 375 session->mouse_position = WebPoint(0, 0); |
| 362 return Status(kOk); | 376 return Status(kOk); |
| 363 } | 377 } |
| 364 | 378 |
| 365 Status ExecuteSetTimeout( | 379 Status ExecuteSetTimeout( |
| 366 Session* session, | 380 Session* session, |
| 367 const base::DictionaryValue& params, | 381 const base::DictionaryValue& params, |
| 368 scoped_ptr<base::Value>* value) { | 382 scoped_ptr<base::Value>* value) { |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 449 location.SetDouble("latitude", session->overridden_geoposition->latitude); | 463 location.SetDouble("latitude", session->overridden_geoposition->latitude); |
| 450 location.SetDouble("longitude", session->overridden_geoposition->longitude); | 464 location.SetDouble("longitude", session->overridden_geoposition->longitude); |
| 451 location.SetDouble("accuracy", session->overridden_geoposition->accuracy); | 465 location.SetDouble("accuracy", session->overridden_geoposition->accuracy); |
| 452 // Set a dummy altitude to make WebDriver clients happy. | 466 // Set a dummy altitude to make WebDriver clients happy. |
| 453 // https://code.google.com/p/chromedriver/issues/detail?id=281 | 467 // https://code.google.com/p/chromedriver/issues/detail?id=281 |
| 454 location.SetDouble("altitude", 0); | 468 location.SetDouble("altitude", 0); |
| 455 value->reset(location.DeepCopy()); | 469 value->reset(location.DeepCopy()); |
| 456 return Status(kOk); | 470 return Status(kOk); |
| 457 } | 471 } |
| 458 | 472 |
| 473 Status ExecuteGetNetworkConditions( |
| 474 Session* session, |
| 475 const base::DictionaryValue& params, |
| 476 scoped_ptr<base::Value>* value) { |
| 477 if (!session->overridden_network_conditions) { |
| 478 return Status(kUnknownError, |
| 479 "network conditions must be set before it can be retrieved"); |
| 480 } |
| 481 base::DictionaryValue conditions; |
| 482 conditions.SetBoolean("offline", |
| 483 session->overridden_network_conditions->offline); |
| 484 conditions.SetInteger("latency", |
| 485 session->overridden_network_conditions->latency); |
| 486 conditions.SetInteger( |
| 487 "download_throughput", |
| 488 session->overridden_network_conditions->download_throughput); |
| 489 conditions.SetInteger( |
| 490 "upload_throughput", |
| 491 session->overridden_network_conditions->upload_throughput); |
| 492 value->reset(conditions.DeepCopy()); |
| 493 return Status(kOk); |
| 494 } |
| 495 |
| 459 Status ExecuteGetWindowPosition( | 496 Status ExecuteGetWindowPosition( |
| 460 Session* session, | 497 Session* session, |
| 461 const base::DictionaryValue& params, | 498 const base::DictionaryValue& params, |
| 462 scoped_ptr<base::Value>* value) { | 499 scoped_ptr<base::Value>* value) { |
| 463 ChromeDesktopImpl* desktop = NULL; | 500 ChromeDesktopImpl* desktop = NULL; |
| 464 Status status = session->chrome->GetAsDesktop(&desktop); | 501 Status status = session->chrome->GetAsDesktop(&desktop); |
| 465 if (status.IsError()) | 502 if (status.IsError()) |
| 466 return status; | 503 return status; |
| 467 | 504 |
| 468 AutomationExtension* extension = NULL; | 505 AutomationExtension* extension = NULL; |
| (...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 648 Status ExecuteSetAutoReporting( | 685 Status ExecuteSetAutoReporting( |
| 649 Session* session, | 686 Session* session, |
| 650 const base::DictionaryValue& params, | 687 const base::DictionaryValue& params, |
| 651 scoped_ptr<base::Value>* value) { | 688 scoped_ptr<base::Value>* value) { |
| 652 bool enabled; | 689 bool enabled; |
| 653 if (!params.GetBoolean("enabled", &enabled)) | 690 if (!params.GetBoolean("enabled", &enabled)) |
| 654 return Status(kUnknownError, "missing parameter 'enabled'"); | 691 return Status(kUnknownError, "missing parameter 'enabled'"); |
| 655 session->auto_reporting_enabled = enabled; | 692 session->auto_reporting_enabled = enabled; |
| 656 return Status(kOk); | 693 return Status(kOk); |
| 657 } | 694 } |
| OLD | NEW |