Index: headless/lib/headless_devtools_client_browsertest.cc |
diff --git a/headless/lib/headless_devtools_client_browsertest.cc b/headless/lib/headless_devtools_client_browsertest.cc |
index a9305d94d37e09e03b53b6c7aca4b24aad78b85e..8723f890ee6f58678bdaffc27932b00517c20d48 100644 |
--- a/headless/lib/headless_devtools_client_browsertest.cc |
+++ b/headless/lib/headless_devtools_client_browsertest.cc |
@@ -678,52 +678,50 @@ class TargetDomainCreateTwoContexts : public HeadlessAsyncDevTooledBrowserTest, |
devtools_client_->GetTarget()->GetExperimental()->AttachToTarget( |
target::AttachToTargetParams::Builder() |
.SetTargetId(page_id_one_) |
- .Build(), |
- base::Bind(&TargetDomainCreateTwoContexts::OnAttachedToTargetOne, |
- base::Unretained(this))); |
+ .Build()); |
devtools_client_->GetTarget()->GetExperimental()->AttachToTarget( |
target::AttachToTargetParams::Builder() |
.SetTargetId(page_id_two_) |
- .Build(), |
- base::Bind(&TargetDomainCreateTwoContexts::OnAttachedToTargetTwo, |
- base::Unretained(this))); |
- } |
- |
- void OnAttachedToTargetOne( |
- std::unique_ptr<target::AttachToTargetResult> result) { |
- StopNavigationOnTarget(101, page_id_one_); |
+ .Build()); |
} |
- void OnAttachedToTargetTwo( |
- std::unique_ptr<target::AttachToTargetResult> result) { |
- StopNavigationOnTarget(102, page_id_two_); |
+ void OnAttachedToTarget( |
+ const target::AttachedToTargetParams& params) override { |
+ if (session_id_one_.empty()) { |
+ session_id_one_ = params.GetSessionId(); |
+ StopNavigationOnTarget(101, session_id_one_); |
+ } else { |
+ EXPECT_TRUE(session_id_two_.empty()); |
+ session_id_two_ = params.GetSessionId(); |
+ StopNavigationOnTarget(102, session_id_two_); |
+ } |
} |
- void StopNavigationOnTarget(int message_id, std::string target_id) { |
+ void StopNavigationOnTarget(int message_id, std::string session_id) { |
// Avoid triggering Page.loadEventFired for about://blank if loading hasn't |
// finished yet. |
devtools_client_->GetTarget()->GetExperimental()->SendMessageToTarget( |
target::SendMessageToTargetParams::Builder() |
- .SetTargetId(target_id) |
+ .SetSessionId(session_id) |
.SetMessage("{\"id\":" + std::to_string(message_id) + |
", \"method\": \"Page.stopLoading\"}") |
.Build()); |
} |
- void EnablePageOnTarget(int message_id, std::string target_id) { |
+ void EnablePageOnTarget(int message_id, std::string session_id) { |
devtools_client_->GetTarget()->GetExperimental()->SendMessageToTarget( |
target::SendMessageToTargetParams::Builder() |
- .SetTargetId(target_id) |
+ .SetSessionId(session_id) |
.SetMessage("{\"id\":" + std::to_string(message_id) + |
", \"method\": \"Page.enable\"}") |
.Build()); |
} |
- void NavigateTarget(int message_id, std::string target_id) { |
+ void NavigateTarget(int message_id, std::string session_id) { |
devtools_client_->GetTarget()->GetExperimental()->SendMessageToTarget( |
target::SendMessageToTargetParams::Builder() |
- .SetTargetId(target_id) |
+ .SetSessionId(session_id) |
.SetMessage( |
"{\"id\":" + std::to_string(message_id) + |
", \"method\": \"Page.navigate\", \"params\": {\"url\": \"" + |
@@ -737,7 +735,7 @@ class TargetDomainCreateTwoContexts : public HeadlessAsyncDevTooledBrowserTest, |
devtools_client_->GetTarget()->GetExperimental()->SendMessageToTarget( |
target::SendMessageToTargetParams::Builder() |
- .SetTargetId(page_id_one_) |
+ .SetSessionId(session_id_one_) |
.SetMessage("{\"id\":401, \"method\": \"Runtime.evaluate\", " |
"\"params\": {\"expression\": " |
"\"document.cookie = 'foo=bar';\"}}") |
@@ -756,9 +754,9 @@ class TargetDomainCreateTwoContexts : public HeadlessAsyncDevTooledBrowserTest, |
std::string method; |
if (message_dict->GetString("method", &method) && |
method == "Page.loadEventFired") { |
- if (params.GetTargetId() == page_id_one_) { |
+ if (params.GetSessionId() == session_id_one_) { |
page_one_loaded_ = true; |
- } else if (params.GetTargetId() == page_id_two_) { |
+ } else if (params.GetSessionId() == session_id_two_) { |
page_two_loaded_ = true; |
} |
MaybeSetCookieOnPageOne(); |
@@ -772,36 +770,36 @@ class TargetDomainCreateTwoContexts : public HeadlessAsyncDevTooledBrowserTest, |
if (message_dict->GetDictionary("result", &result_dict)) { |
if (message_id == 101) { |
// 101: Page.stopNavigation on target one. |
- EXPECT_EQ(page_id_one_, params.GetTargetId()); |
- EnablePageOnTarget(201, page_id_one_); |
+ EXPECT_EQ(session_id_one_, params.GetSessionId()); |
+ EnablePageOnTarget(201, session_id_one_); |
} else if (message_id == 102) { |
// 102: Page.stopNavigation on target two. |
- EXPECT_EQ(page_id_two_, params.GetTargetId()); |
- EnablePageOnTarget(202, page_id_two_); |
+ EXPECT_EQ(session_id_two_, params.GetSessionId()); |
+ EnablePageOnTarget(202, session_id_two_); |
} else if (message_id == 201) { |
// 201: Page.enable on target one. |
- EXPECT_EQ(page_id_one_, params.GetTargetId()); |
- NavigateTarget(301, page_id_one_); |
+ EXPECT_EQ(session_id_one_, params.GetSessionId()); |
+ NavigateTarget(301, session_id_one_); |
} else if (message_id == 202) { |
// 202: Page.enable on target two. |
- EXPECT_EQ(page_id_two_, params.GetTargetId()); |
- NavigateTarget(302, page_id_two_); |
+ EXPECT_EQ(session_id_two_, params.GetSessionId()); |
+ NavigateTarget(302, session_id_two_); |
} else if (message_id == 401) { |
// 401: Runtime.evaluate on target one. |
- EXPECT_EQ(page_id_one_, params.GetTargetId()); |
+ EXPECT_EQ(session_id_one_, params.GetSessionId()); |
// TODO(alexclarke): Make some better bindings |
// for Target.SendMessageToTarget. |
devtools_client_->GetTarget()->GetExperimental()->SendMessageToTarget( |
target::SendMessageToTargetParams::Builder() |
- .SetTargetId(page_id_two_) |
+ .SetSessionId(session_id_two_) |
.SetMessage("{\"id\":402, \"method\": \"Runtime.evaluate\", " |
"\"params\": {\"expression\": " |
"\"document.cookie;\"}}") |
.Build()); |
} else if (message_id == 402) { |
// 402: Runtime.evaluate on target two. |
- EXPECT_EQ(page_id_two_, params.GetTargetId()); |
+ EXPECT_EQ(session_id_two_, params.GetSessionId()); |
// There's a nested result. We want the inner one. |
EXPECT_TRUE(result_dict->GetDictionary("result", &result_dict)); |
@@ -864,6 +862,8 @@ class TargetDomainCreateTwoContexts : public HeadlessAsyncDevTooledBrowserTest, |
std::string context_id_two_; |
std::string page_id_one_; |
std::string page_id_two_; |
+ std::string session_id_one_; |
+ std::string session_id_two_; |
bool page_one_loaded_ = false; |
bool page_two_loaded_ = false; |
int page_close_count_ = 0; |