Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(273)

Unified Diff: headless/lib/headless_devtools_client_browsertest.cc

Issue 2226323002: Resize DevTools target frames. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: move command to Emulation, pull out other fixes into separate patch. Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);

Powered by Google App Engine
This is Rietveld 408576698