| Index: chrome/test/chromedriver/chrome/devtools_client_impl.cc
|
| diff --git a/chrome/test/chromedriver/chrome/devtools_client_impl.cc b/chrome/test/chromedriver/chrome/devtools_client_impl.cc
|
| index 8bb0875c6939d32e790faecb4fc450398e750161..dd9bcbaa033101a5d00678495019b302bf9dfef3 100644
|
| --- a/chrome/test/chromedriver/chrome/devtools_client_impl.cc
|
| +++ b/chrome/test/chromedriver/chrome/devtools_client_impl.cc
|
| @@ -474,9 +474,14 @@ bool ParseInspectorMessage(
|
| } else if (message_dict->GetInteger("id", &id)) {
|
| base::DictionaryValue* unscoped_error = NULL;
|
| base::DictionaryValue* unscoped_result = NULL;
|
| + // As per Chromium issue 392577, DevTools does not necessarily return a
|
| + // "result" dictionary for every valid response. In particular,
|
| + // Tracing.start and Tracing.end command responses do not contain one.
|
| + // So, if neither "error" nor "result" keys are present, just provide
|
| + // a blank result dictionary.
|
| if (!message_dict->GetDictionary("error", &unscoped_error) &&
|
| !message_dict->GetDictionary("result", &unscoped_result))
|
| - return false;
|
| + unscoped_result = new base::DictionaryValue();
|
|
|
| *type = kCommandResponseMessageType;
|
| command_response->id = id;
|
|
|