| 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 9eb22d10abb2367addd18a2beb2fab4c4f411a7d..c7a991e7dc27e3d37d5fa79ddd8d45779a58d6a2 100644
|
| --- a/headless/lib/headless_devtools_client_browsertest.cc
|
| +++ b/headless/lib/headless_devtools_client_browsertest.cc
|
| @@ -7,11 +7,13 @@
|
| #include "base/json/json_reader.h"
|
| #include "content/public/test/browser_test.h"
|
| #include "headless/public/domains/browser.h"
|
| +#include "headless/public/domains/emulation.h"
|
| #include "headless/public/domains/network.h"
|
| #include "headless/public/domains/page.h"
|
| #include "headless/public/domains/runtime.h"
|
| #include "headless/public/headless_browser.h"
|
| #include "headless/public/headless_devtools_client.h"
|
| +#include "headless/public/headless_devtools_target.h"
|
| #include "headless/test/headless_browser_test.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| #include "url/gurl.h"
|
| @@ -211,11 +213,35 @@ class BrowserDomainCreateAndDeletePageTest
|
| void OnCreateTargetResult(
|
| std::unique_ptr<browser::CreateTargetResult> result) {
|
| EXPECT_EQ(2u, GetAllWebContents(browser()).size());
|
| + EXPECT_TRUE(GetAllWebContents(browser()).back()->GetDevToolsTarget());
|
| +
|
| + if (GetAllWebContents(browser()).size() < 2 ||
|
| + !GetAllWebContents(browser()).back()->GetDevToolsTarget()) {
|
| + OnGetFrameSizeResult(result->GetTargetId(), nullptr);
|
| + }
|
| +
|
| + target_devtools_client_ = HeadlessDevToolsClient::Create();
|
| + GetAllWebContents(browser()).back()->GetDevToolsTarget()->AttachClient(
|
| + target_devtools_client_.get());
|
| + target_devtools_client_->GetEmulation()->GetExperimental()->GetFrameSize(
|
| + emulation::GetFrameSizeParams::Builder().Build(),
|
| + base::Bind(&BrowserDomainCreateAndDeletePageTest::OnGetFrameSizeResult,
|
| + base::Unretained(this), result->GetTargetId()));
|
| + }
|
| +
|
| + void OnGetFrameSizeResult(
|
| + std::string target_id,
|
| + std::unique_ptr<emulation::GetFrameSizeResult> result) {
|
| + if (result) {
|
| + EXPECT_EQ(1, result->GetWidth());
|
| + EXPECT_EQ(1, result->GetHeight());
|
| +
|
| + GetAllWebContents(browser()).back()->GetDevToolsTarget()->DetachClient(
|
| + target_devtools_client_.get());
|
| + }
|
|
|
| devtools_client_->GetBrowser()->GetExperimental()->CloseTarget(
|
| - browser::CloseTargetParams::Builder()
|
| - .SetTargetId(result->GetTargetId())
|
| - .Build(),
|
| + browser::CloseTargetParams::Builder().SetTargetId(target_id).Build(),
|
| base::Bind(&BrowserDomainCreateAndDeletePageTest::OnCloseTargetResult,
|
| base::Unretained(this)));
|
| }
|
| @@ -225,6 +251,9 @@ class BrowserDomainCreateAndDeletePageTest
|
| EXPECT_EQ(1u, GetAllWebContents(browser()).size());
|
| FinishAsynchronousTest();
|
| }
|
| +
|
| + private:
|
| + std::unique_ptr<HeadlessDevToolsClient> target_devtools_client_;
|
| };
|
|
|
| HEADLESS_ASYNC_DEVTOOLED_TEST_F(BrowserDomainCreateAndDeletePageTest);
|
|
|