| 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);
|
| }
|
| }
|
|
|