Index: chrome/test/chromedriver/chrome/navigation_tracker.cc |
diff --git a/chrome/test/chromedriver/chrome/navigation_tracker.cc b/chrome/test/chromedriver/chrome/navigation_tracker.cc |
index 351f881526a6f24cbf7a5c135c842f29be05c74a..96543038097c04a2077150a1574c61b021f5cd5a 100644 |
--- a/chrome/test/chromedriver/chrome/navigation_tracker.cc |
+++ b/chrome/test/chromedriver/chrome/navigation_tracker.cc |
@@ -329,8 +329,18 @@ Status NavigationTracker::OnEvent(DevToolsClient* client, |
if (!params.GetInteger("context.id", &execution_context_id)) |
return Status(kUnknownError, "missing or invalid 'context.id'"); |
std::string frame_id; |
samuong
2016/08/05 21:23:59
need to declare and initialize |context| here?
dgozman
2016/08/05 21:33:31
My bad! Looks like I didn't build chromedriver_uni
|
- if (!params.GetString("context.frameId", &frame_id)) |
- return Status(kUnknownError, "missing or invalid 'context.frameId'"); |
+ if (context->HasKey("auxData")) { |
+ const base::DictionaryValue* auxData; |
+ if (!context->GetDictionary("auxData", &auxData)) |
+ return Status(kUnknownError, "missing or invalid 'context.auxData'"); |
+ if (!auxData->GetString("frameId", &frame_id)) |
+ return Status(kUnknownError, "missing or invalid 'context.frameId'"); |
+ } |
+ if (context->HasKey("frameId")) { |
+ // TODO(samuong): remove this when we stop supporting Chrome 53. |
+ if (!params.GetString("context.frameId", &frame_id)) |
+ return Status(kUnknownError, "missing or invalid 'context.frameId'"); |
+ } |
if (frame_id == dummy_frame_id_) |
dummy_execution_context_id_ = execution_context_id; |
else |