| Index: chrome/test/chromedriver/window_commands.cc
|
| diff --git a/chrome/test/chromedriver/window_commands.cc b/chrome/test/chromedriver/window_commands.cc
|
| index 5151bbe4d537a71489cb2011aa07ab26f0c6a14f..8ee90757189c4823894918c096b579ac28815d21 100644
|
| --- a/chrome/test/chromedriver/window_commands.cc
|
| +++ b/chrome/test/chromedriver/window_commands.cc
|
| @@ -14,7 +14,9 @@
|
| #include "base/values.h"
|
| #include "chrome/test/chromedriver/basic_types.h"
|
| #include "chrome/test/chromedriver/chrome/chrome.h"
|
| +#include "chrome/test/chromedriver/chrome/devtools_client.h"
|
| #include "chrome/test/chromedriver/chrome/geoposition.h"
|
| +#include "chrome/test/chromedriver/chrome/javascript_dialog_manager.h"
|
| #include "chrome/test/chromedriver/chrome/js.h"
|
| #include "chrome/test/chromedriver/chrome/status.h"
|
| #include "chrome/test/chromedriver/chrome/ui_events.h"
|
| @@ -126,22 +128,22 @@ Status ExecuteWindowCommand(
|
| Session* session,
|
| const base::DictionaryValue& params,
|
| scoped_ptr<base::Value>* value) {
|
| - bool is_dialog_open;
|
| - Status status = session->chrome->IsJavaScriptDialogOpen(&is_dialog_open);
|
| + WebView* web_view = NULL;
|
| + Status status = session->GetTargetWindow(&web_view);
|
| if (status.IsError())
|
| return status;
|
| - if (is_dialog_open)
|
| - return Status(kUnexpectedAlertOpen);
|
|
|
| - WebView* web_view = NULL;
|
| - status = session->GetTargetWindow(&web_view);
|
| + status = web_view->ConnectIfNecessary();
|
| if (status.IsError())
|
| return status;
|
|
|
| - status = web_view->ConnectIfNecessary();
|
| + status = web_view->GetDevToolsClient()->HandleReceivedEvents();
|
| if (status.IsError())
|
| return status;
|
|
|
| + if (web_view->GetJavaScriptDialogManager()->IsDialogOpen())
|
| + return Status(kUnexpectedAlertOpen);
|
| +
|
| Status nav_status =
|
| web_view->WaitForPendingNavigations(session->GetCurrentFrameId());
|
| if (nav_status.IsError())
|
|
|