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

Unified Diff: chrome/test/chromedriver/devtools_client_impl.cc

Issue 12226026: [ChromeDriver] Select the main frame if a non-existant child frame is targeted. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: chrome/test/chromedriver/devtools_client_impl.cc
diff --git a/chrome/test/chromedriver/devtools_client_impl.cc b/chrome/test/chromedriver/devtools_client_impl.cc
index e3eca4f8d647bd206ae526a54ac1b84009c98968..0779ee96dafe8514e1857f8f95052e198c023fa9 100644
--- a/chrome/test/chromedriver/devtools_client_impl.cc
+++ b/chrome/test/chromedriver/devtools_client_impl.cc
@@ -160,6 +160,16 @@ Status DevToolsClientImpl::ReceiveNextMessage(
} else if (response->result) {
cmd_response_map_[response->id] = response->result.release();
} else {
+ scoped_ptr<base::Value> error(base::JSONReader::Read(response->error));
+ base::DictionaryValue* error_dict;
+ if (!error || !error->GetAsDictionary(&error_dict))
+ return Status(kUnknownError, "inspector error with no error code");
+ int error_code;
+ if (error_dict->GetInteger("code", &error_code) &&
+ error_code == internal::kContextIdNotFound) {
+ cmd_response_map_.erase(response->id);
+ return Status(kNoSuchFrame);
+ }
return Status(kUnknownError, "inspector error: " + response->error);
}
}

Powered by Google App Engine
This is Rietveld 408576698