| 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 985c7d690c9bec969f6414156aa519124a445908..dd20b038f2e7e3c617b951416fab7cc78a006826 100644
|
| --- a/headless/lib/headless_devtools_client_browsertest.cc
|
| +++ b/headless/lib/headless_devtools_client_browsertest.cc
|
| @@ -204,6 +204,7 @@ class BrowserDomainCreateAndDeletePageTest
|
| }
|
|
|
| void OnCloseTargetResult(std::unique_ptr<browser::CloseTargetResult> result) {
|
| + EXPECT_TRUE(result->GetSuccess());
|
| EXPECT_EQ(1u, browser()->GetAllWebContents().size());
|
| FinishAsynchronousTest();
|
| }
|
| @@ -211,6 +212,74 @@ class BrowserDomainCreateAndDeletePageTest
|
|
|
| HEADLESS_ASYNC_DEVTOOLED_TEST_F(BrowserDomainCreateAndDeletePageTest);
|
|
|
| +class BrowserDomainCreateAndDeleteBrowserContextTest
|
| + : public HeadlessAsyncDevTooledBrowserTest {
|
| + void RunDevTooledTest() override {
|
| + EXPECT_TRUE(embedded_test_server()->Start());
|
| +
|
| + EXPECT_EQ(1u, browser()->GetAllWebContents().size());
|
| +
|
| + devtools_client_->GetBrowser()->GetExperimental()->CreateBrowserContext(
|
| + browser::CreateBrowserContextParams::Builder().Build(),
|
| + base::Bind(&BrowserDomainCreateAndDeleteBrowserContextTest::
|
| + OnCreateContextResult,
|
| + base::Unretained(this)));
|
| + }
|
| +
|
| + void OnCreateContextResult(
|
| + std::unique_ptr<browser::CreateBrowserContextResult> result) {
|
| + browser_context_id_ = result->GetBrowserContextId();
|
| +
|
| + devtools_client_->GetBrowser()->GetExperimental()->CreateTarget(
|
| + browser::CreateTargetParams::Builder()
|
| + .SetUrl(embedded_test_server()->GetURL("/hello.html").spec())
|
| + .SetBrowserContextId(result->GetBrowserContextId())
|
| + .SetWidth(1)
|
| + .SetHeight(1)
|
| + .Build(),
|
| + base::Bind(&BrowserDomainCreateAndDeleteBrowserContextTest::
|
| + OnCreateTargetResult,
|
| + base::Unretained(this)));
|
| + }
|
| +
|
| + void OnCreateTargetResult(
|
| + std::unique_ptr<browser::CreateTargetResult> result) {
|
| + EXPECT_EQ(2u, browser()->GetAllWebContents().size());
|
| +
|
| + devtools_client_->GetBrowser()->GetExperimental()->CloseTarget(
|
| + browser::CloseTargetParams::Builder()
|
| + .SetTargetId(result->GetTargetId())
|
| + .Build(),
|
| + base::Bind(&BrowserDomainCreateAndDeleteBrowserContextTest::
|
| + OnCloseTargetResult,
|
| + base::Unretained(this)));
|
| + }
|
| +
|
| + void OnCloseTargetResult(std::unique_ptr<browser::CloseTargetResult> result) {
|
| + EXPECT_EQ(1u, browser()->GetAllWebContents().size());
|
| + EXPECT_TRUE(result->GetSuccess());
|
| +
|
| + devtools_client_->GetBrowser()->GetExperimental()->DisposeBrowserContext(
|
| + browser::DisposeBrowserContextParams::Builder()
|
| + .SetBrowserContextId(browser_context_id_)
|
| + .Build(),
|
| + base::Bind(&BrowserDomainCreateAndDeleteBrowserContextTest::
|
| + OnDisposeBrowserContextResult,
|
| + base::Unretained(this)));
|
| + }
|
| +
|
| + void OnDisposeBrowserContextResult(
|
| + std::unique_ptr<browser::DisposeBrowserContextResult> result) {
|
| + EXPECT_TRUE(result->GetSuccess());
|
| + FinishAsynchronousTest();
|
| + }
|
| +
|
| + private:
|
| + std::string browser_context_id_;
|
| +};
|
| +
|
| +HEADLESS_ASYNC_DEVTOOLED_TEST_F(BrowserDomainCreateAndDeleteBrowserContextTest);
|
| +
|
| class BrowserDomainDisposeContextFailsIfInUse
|
| : public HeadlessAsyncDevTooledBrowserTest {
|
| void RunDevTooledTest() override {
|
|
|