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