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

Unified Diff: third_party/WebKit/Source/web/tests/WebFrameTest.cpp

Issue 2940863005: Move loading methods from WebFrame to WebLocalFrame. (Closed)
Patch Set: Fixing build problems introduced by rebasing... Created 3 years, 6 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: third_party/WebKit/Source/web/tests/WebFrameTest.cpp
diff --git a/third_party/WebKit/Source/web/tests/WebFrameTest.cpp b/third_party/WebKit/Source/web/tests/WebFrameTest.cpp
index 76a6b11cac91b77232e409c440d2a98af373bec5..c7b997af15ff866331d5ebc6baad0823b40bee23 100644
--- a/third_party/WebKit/Source/web/tests/WebFrameTest.cpp
+++ b/third_party/WebKit/Source/web/tests/WebFrameTest.cpp
@@ -483,7 +483,7 @@ TEST_P(ParameterizedWebFrameTest, SuspendedRequestExecuteScript) {
// If the frame navigates, pending scripts should be removed, but the callback
// should always be ran.
- FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrame(),
+ FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrameImpl(),
base_url_ + "bar.html");
EXPECT_TRUE(callback_helper.DidComplete());
EXPECT_EQ(String(), callback_helper.StringValue());
@@ -637,7 +637,7 @@ TEST_P(ParameterizedWebFrameTest, ChromePageJavascript) {
web_view_helper.InitializeAndLoad(chrome_url_ + "history.html");
// Try to run JS against the chrome-style URL.
- FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrame(),
+ FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrameImpl(),
"javascript:document.body.appendChild(document."
"createTextNode('Clobbered'))");
@@ -657,7 +657,7 @@ TEST_P(ParameterizedWebFrameTest, ChromePageNoJavascript) {
// Try to run JS against the chrome-style URL after prohibiting it.
WebSecurityPolicy::RegisterURLSchemeAsNotAllowingJavascriptURLs("chrome");
- FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrame(),
+ FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrameImpl(),
"javascript:document.body.appendChild(document."
"createTextNode('Clobbered'))");
@@ -679,11 +679,11 @@ TEST_P(ParameterizedWebFrameTest, LocationSetHostWithMissingPort) {
// Setting host to "hostname:" should be treated as "hostname:0".
FrameTestHelpers::LoadFrame(
- web_view_helper.WebView()->MainFrame(),
+ web_view_helper.WebView()->MainFrameImpl(),
"javascript:location.host = 'internal.test:'; void 0;");
FrameTestHelpers::LoadFrame(
- web_view_helper.WebView()->MainFrame(),
+ web_view_helper.WebView()->MainFrameImpl(),
"javascript:document.body.textContent = location.href; void 0;");
std::string content =
@@ -700,11 +700,11 @@ TEST_P(ParameterizedWebFrameTest, LocationSetEmptyPort) {
FrameTestHelpers::WebViewHelper web_view_helper;
web_view_helper.InitializeAndLoad(base_url_ + file_name);
- FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrame(),
+ FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrameImpl(),
"javascript:location.port = ''; void 0;");
FrameTestHelpers::LoadFrame(
- web_view_helper.WebView()->MainFrame(),
+ web_view_helper.WebView()->MainFrameImpl(),
"javascript:document.body.textContent = location.href; void 0;");
std::string content =
@@ -1274,7 +1274,7 @@ TEST_P(ParameterizedWebFrameTest, FixedLayoutInitializeAtMinimumScale) {
FrameTestHelpers::WebViewHelper web_view_helper;
web_view_helper.Initialize(nullptr, &client, nullptr, ConfigureAndroid);
web_view_helper.WebView()->SetDefaultPageScaleLimits(0.25f, 5);
- FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrame(),
+ FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrameImpl(),
base_url_ + "fixed_layout.html");
web_view_helper.Resize(WebSize(viewport_width, viewport_height));
@@ -1316,7 +1316,7 @@ TEST_P(ParameterizedWebFrameTest, WideDocumentInitializeAtMinimumScale) {
FrameTestHelpers::WebViewHelper web_view_helper;
web_view_helper.Initialize(nullptr, &client, nullptr, ConfigureAndroid);
web_view_helper.WebView()->SetDefaultPageScaleLimits(0.25f, 5);
- FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrame(),
+ FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrameImpl(),
base_url_ + "wide_document.html");
web_view_helper.Resize(WebSize(viewport_width, viewport_height));
@@ -1514,7 +1514,7 @@ TEST_P(ParameterizedWebFrameTest, WideViewportSetsTo980WithXhtmlMp) {
web_view_helper.WebView()->GetSettings()->SetWideViewportQuirkEnabled(true);
web_view_helper.WebView()->GetSettings()->SetUseWideViewport(true);
FrameTestHelpers::LoadFrame(
- web_view_helper.WebView()->MainFrame(),
+ web_view_helper.WebView()->MainFrameImpl(),
base_url_ + "viewport/viewport-legacy-xhtmlmp.html");
web_view_helper.Resize(WebSize(viewport_width, viewport_height));
@@ -2059,7 +2059,7 @@ TEST_P(ParameterizedWebFrameTest,
web_view_helper.WebView()->GetSettings()->SetForceZeroLayoutHeight(true);
web_view_helper.Resize(WebSize(viewport_width, viewport_height));
- FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrame(),
+ FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrameImpl(),
base_url_ + "large-div.html");
web_view_helper.WebView()->UpdateAllLifecyclePhases();
@@ -2113,7 +2113,7 @@ TEST_P(ParameterizedWebFrameTest, WideViewportAndWideContentWithInitialScale) {
true);
web_view_helper.Resize(WebSize(viewport_width, viewport_height));
- FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrame(),
+ FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrameImpl(),
base_url_ + "wide_document_width_viewport.html");
web_view_helper.Resize(WebSize(viewport_width, viewport_height));
@@ -2142,7 +2142,7 @@ TEST_P(ParameterizedWebFrameTest, WideViewportQuirkClobbersHeight) {
true);
web_view_helper.Resize(WebSize(viewport_width, viewport_height));
- FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrame(),
+ FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrameImpl(),
base_url_ + "viewport-height-1000.html");
web_view_helper.Resize(WebSize(viewport_width, viewport_height));
@@ -2171,7 +2171,7 @@ TEST_P(ParameterizedWebFrameTest, LayoutSize320Quirk) {
true);
web_view_helper.Resize(WebSize(viewport_width, viewport_height));
- FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrame(),
+ FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrameImpl(),
base_url_ + "viewport/viewport-30.html");
web_view_helper.Resize(WebSize(viewport_width, viewport_height));
@@ -2248,7 +2248,7 @@ TEST_P(ParameterizedWebFrameTest, ZeroValuesQuirk) {
web_view_helper.WebView()->GetSettings()->SetWideViewportQuirkEnabled(true);
web_view_helper.WebView()->GetSettings()->SetViewportMetaLayoutSizeQuirk(
true);
- FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrame(),
+ FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrameImpl(),
base_url_ + "viewport-zero-values.html");
web_view_helper.Resize(WebSize(viewport_width, viewport_height));
@@ -2279,7 +2279,7 @@ TEST_P(ParameterizedWebFrameTest, OverflowHiddenDisablesScrolling) {
FrameTestHelpers::WebViewHelper web_view_helper;
web_view_helper.Initialize(nullptr, &client);
- FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrame(),
+ FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrameImpl(),
base_url_ + "body-overflow-hidden.html");
web_view_helper.Resize(WebSize(viewport_width, viewport_height));
@@ -2300,7 +2300,7 @@ TEST_P(ParameterizedWebFrameTest,
FrameTestHelpers::WebViewHelper web_view_helper;
web_view_helper.Initialize(nullptr, &client);
- FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrame(),
+ FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrameImpl(),
base_url_ + "body-overflow-hidden-short.html");
web_view_helper.Resize(WebSize(viewport_width, viewport_height));
@@ -2327,7 +2327,7 @@ TEST_F(WebFrameTest, IgnoreOverflowHiddenQuirk) {
web_view_helper.WebView()
->GetSettings()
->SetIgnoreMainFrameOverflowHiddenQuirk(true);
- FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrame(),
+ FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrameImpl(),
base_url_ + "body-overflow-hidden.html");
web_view_helper.Resize(WebSize(viewport_width, viewport_height));
@@ -2350,7 +2350,7 @@ TEST_P(ParameterizedWebFrameTest, NonZeroValuesNoQuirk) {
web_view_helper.WebView()->GetSettings()->SetViewportMetaZeroValuesQuirk(
true);
web_view_helper.WebView()->GetSettings()->SetWideViewportQuirkEnabled(true);
- FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrame(),
+ FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrameImpl(),
base_url_ + "viewport-nonzero-values.html");
web_view_helper.Resize(WebSize(viewport_width, viewport_height));
@@ -2461,7 +2461,7 @@ TEST_P(ParameterizedWebFrameTest, initialScaleWrittenToHistoryItem) {
FrameTestHelpers::WebViewHelper web_view_helper;
web_view_helper.Initialize(nullptr, &client, nullptr, ConfigureAndroid);
web_view_helper.WebView()->SetDefaultPageScaleLimits(0.25f, 5);
- FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrame(),
+ FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrameImpl(),
base_url_ + "fixed_layout.html");
web_view_helper.Resize(WebSize(viewport_width, viewport_height));
@@ -2954,7 +2954,7 @@ TEST_P(ParameterizedWebFrameTest, AtViewportAffectingAtMediaRecalcCount) {
FrameTestHelpers::WebViewHelper web_view_helper;
web_view_helper.Initialize(nullptr, &client, nullptr, ConfigureAndroid);
web_view_helper.Resize(WebSize(640, 480));
- FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrame(),
+ FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrameImpl(),
base_url_ + "viewport-and-media.html");
Document* document =
@@ -2980,7 +2980,7 @@ TEST_P(ParameterizedWebFrameTest, AtViewportWithViewportLengths) {
FrameTestHelpers::WebViewHelper web_view_helper;
web_view_helper.Initialize(nullptr, &client, nullptr, ConfigureAndroid);
web_view_helper.Resize(WebSize(800, 600));
- FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrame(),
+ FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrameImpl(),
base_url_ + "viewport-lengths.html");
LocalFrameView* view =
@@ -3207,7 +3207,7 @@ TEST_F(WebFrameTest, updateOverlayScrollbarLayers)
nullptr, &ConfigureCompositingWebView);
web_view_helper.Resize(WebSize(view_width, view_height));
- FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrame(),
+ FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrameImpl(),
base_url_ + "large-div.html");
LocalFrameView* view =
@@ -4197,11 +4197,11 @@ TEST_P(ParameterizedWebFrameTest, ReloadDoesntSetRedirect) {
FrameTestHelpers::WebViewHelper web_view_helper;
web_view_helper.InitializeAndLoad(base_url_ + "form.html", &web_frame_client);
- web_view_helper.WebView()->MainFrame()->Reload(
+ web_view_helper.WebView()->MainFrameImpl()->Reload(
WebFrameLoadType::kReloadBypassingCache);
// start another reload before request is delivered.
FrameTestHelpers::ReloadFrameBypassingCache(
- web_view_helper.WebView()->MainFrame());
+ web_view_helper.WebView()->MainFrameImpl());
}
class ClearScrollStateOnCommitWebFrameClient
@@ -4234,7 +4234,7 @@ TEST_F(WebFrameTest, ReloadWithOverrideURLPreservesState) {
web_view_helper.WebView()->SetPageScaleFactor(kPageScaleFactor);
// Reload the page and end up at the same url. State should not be propagated.
- web_view_helper.WebView()->MainFrame()->ReloadWithOverrideURL(
+ web_view_helper.WebView()->MainFrameImpl()->ReloadWithOverrideURL(
ToKURL(base_url_ + first_url), WebFrameLoadType::kReload);
FrameTestHelpers::PumpPendingRequestsForFrameToLoad(
web_view_helper.WebView()->MainFrame());
@@ -4244,7 +4244,7 @@ TEST_F(WebFrameTest, ReloadWithOverrideURLPreservesState) {
EXPECT_EQ(1.0f, web_view_helper.WebView()->PageScaleFactor());
// Reload the page using the cache. State should not be propagated.
- web_view_helper.WebView()->MainFrame()->ReloadWithOverrideURL(
+ web_view_helper.WebView()->MainFrameImpl()->ReloadWithOverrideURL(
ToKURL(base_url_ + second_url), WebFrameLoadType::kReload);
FrameTestHelpers::PumpPendingRequestsForFrameToLoad(
web_view_helper.WebView()->MainFrame());
@@ -4254,7 +4254,7 @@ TEST_F(WebFrameTest, ReloadWithOverrideURLPreservesState) {
EXPECT_EQ(1.0f, web_view_helper.WebView()->PageScaleFactor());
// Reload the page while bypassing the cache. State should not be propagated.
- web_view_helper.WebView()->MainFrame()->ReloadWithOverrideURL(
+ web_view_helper.WebView()->MainFrameImpl()->ReloadWithOverrideURL(
ToKURL(base_url_ + third_url), WebFrameLoadType::kReloadBypassingCache);
FrameTestHelpers::PumpPendingRequestsForFrameToLoad(
web_view_helper.WebView()->MainFrame());
@@ -4272,10 +4272,10 @@ TEST_P(ParameterizedWebFrameTest, ReloadWhileProvisional) {
FrameTestHelpers::WebViewHelper web_view_helper;
web_view_helper.Initialize();
WebURLRequest request(ToKURL(base_url_ + "fixed_layout.html"));
- web_view_helper.WebView()->MainFrame()->LoadRequest(request);
+ web_view_helper.WebView()->MainFrameImpl()->LoadRequest(request);
// start reload before first request is delivered.
FrameTestHelpers::ReloadFrameBypassingCache(
- web_view_helper.WebView()->MainFrame());
+ web_view_helper.WebView()->MainFrameImpl());
WebDataSource* data_source =
web_view_helper.WebView()->MainFrameImpl()->DataSource();
@@ -4535,7 +4535,7 @@ TEST_P(ParameterizedWebFrameTest, ContextNotificationsReload) {
// Refresh, we should get two release notifications and two more create
// notifications.
- FrameTestHelpers::ReloadFrame(web_view_helper.WebView()->MainFrame());
+ FrameTestHelpers::ReloadFrame(web_view_helper.WebView()->MainFrameImpl());
ASSERT_EQ(4u, create_notifications.size());
ASSERT_EQ(2u, release_notifications.size());
@@ -4782,7 +4782,7 @@ TEST_P(ParameterizedWebFrameTest, ExecuteScriptDuringDidCreateScriptContext) {
web_view_helper.InitializeAndLoad(base_url_ + "hello_world.html",
&web_frame_client);
- FrameTestHelpers::ReloadFrame(web_view_helper.WebView()->MainFrame());
+ FrameTestHelpers::ReloadFrame(web_view_helper.WebView()->MainFrameImpl());
}
class FindUpdateWebFrameClient : public FrameTestHelpers::TestWebFrameClient {
@@ -5920,7 +5920,7 @@ class CompositedSelectionBoundsTest : public WebFrameTest {
void RunTestWithNoSelection(const char* test_file) {
RegisterMockedHttpURLLoad(test_file);
web_view_helper_.WebView()->SetFocus(true);
- FrameTestHelpers::LoadFrame(web_view_helper_.WebView()->MainFrame(),
+ FrameTestHelpers::LoadFrame(web_view_helper_.WebView()->MainFrameImpl(),
base_url_ + test_file);
web_view_helper_.WebView()->UpdateAllLifecyclePhases();
@@ -5937,7 +5937,7 @@ class CompositedSelectionBoundsTest : public WebFrameTest {
void RunTest(const char* test_file) {
RegisterMockedHttpURLLoad(test_file);
web_view_helper_.WebView()->SetFocus(true);
- FrameTestHelpers::LoadFrame(web_view_helper_.WebView()->MainFrame(),
+ FrameTestHelpers::LoadFrame(web_view_helper_.WebView()->MainFrameImpl(),
base_url_ + test_file);
web_view_helper_.WebView()->UpdateAllLifecyclePhases();
@@ -6441,7 +6441,7 @@ TEST_P(ParameterizedWebFrameTest, ReplaceNavigationAfterHistoryNavigation) {
FrameTestHelpers::WebViewHelper web_view_helper;
web_view_helper.InitializeAndLoad("about:blank", &web_frame_client);
- WebFrame* frame = web_view_helper.WebView()->MainFrame();
+ WebLocalFrame* frame = web_view_helper.WebView()->MainFrameImpl();
// Load a url as a history navigation that will return an error.
// TestSubstituteDataWebFrameClient will start a SubstituteData load in
@@ -6968,7 +6968,7 @@ TEST_P(ParameterizedWebFrameTest, DidAccessInitialDocumentViaJavascriptUrl) {
EXPECT_EQ(0, web_frame_client.did_access_initial_document_);
// Access the initial document from a javascript: URL.
- FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrame(),
+ FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrameImpl(),
"javascript:document.body.appendChild(document."
"createTextNode('Modified'))");
EXPECT_EQ(1, web_frame_client.did_access_initial_document_);
@@ -7301,7 +7301,7 @@ TEST_P(ParameterizedWebFrameTest, BackDuringChildFrameReload) {
web_view_helper.InitializeAndLoad(base_url_ + "page_with_blank_iframe.html");
WebLocalFrameBase* main_frame = web_view_helper.LocalMainFrame();
const FrameLoader& main_frame_loader = main_frame->GetFrame()->Loader();
- WebFrame* child_frame = main_frame->FirstChild();
+ WebLocalFrame* child_frame = main_frame->FirstChild()->ToWebLocalFrame();
ASSERT_TRUE(child_frame);
// Start a history navigation, then have a different frame commit a
@@ -7331,7 +7331,7 @@ TEST_P(ParameterizedWebFrameTest, ReloadPost) {
web_view_helper.InitializeAndLoad(base_url_ + "reload_post.html");
WebLocalFrame* frame = web_view_helper.WebView()->MainFrameImpl();
- FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrame(),
+ FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrameImpl(),
"javascript:document.forms[0].submit()");
// Pump requests one more time after the javascript URL has executed to
// trigger the actual POST load request.
@@ -7524,7 +7524,7 @@ TEST_P(ParameterizedWebFrameTest,
&ConfigureLoadsImagesAutomatically);
WebCache::Clear();
- FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrame(),
+ FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrameImpl(),
base_url_ + "foo_with_image.html");
// 2 images are requested, and each triggers 2 willSendRequest() calls,
@@ -7688,7 +7688,7 @@ TEST_P(ParameterizedWebFrameTest, FirstBlankSubframeNavigation) {
frame->ExecuteScript(WebScriptSource(WebString::FromUTF8(
"document.body.appendChild(document.createElement('iframe'))")));
- WebFrame* iframe = frame->FirstChild();
+ WebLocalFrame* iframe = frame->FirstChild()->ToWebLocalFrame();
ASSERT_EQ(&client.ChildClient(), ToWebLocalFrameBase(iframe)->Client());
std::string url1 = base_url_ + "history.html";
@@ -7712,7 +7712,7 @@ TEST_P(ParameterizedWebFrameTest, FirstNonBlankSubframeNavigation) {
FrameTestHelpers::WebViewHelper web_view_helper;
web_view_helper.InitializeAndLoad("about:blank", &client);
- WebFrame* frame = web_view_helper.WebView()->MainFrame();
+ WebLocalFrame* frame = web_view_helper.WebView()->MainFrameImpl();
std::string url1 = base_url_ + "history.html";
FrameTestHelpers::LoadFrame(
@@ -7723,7 +7723,7 @@ TEST_P(ParameterizedWebFrameTest, FirstNonBlankSubframeNavigation) {
"';"
"document.body.appendChild(f)");
- WebFrame* iframe = frame->FirstChild();
+ WebLocalFrame* iframe = frame->FirstChild()->ToWebLocalFrame();
EXPECT_EQ(url1, iframe->GetDocument().Url().GetString().Utf8());
std::string url2 = base_url_ + "find.html";
@@ -7743,7 +7743,7 @@ TEST_F(WebFrameTest, overflowHiddenRewrite) {
nullptr, &ConfigureCompositingWebView);
web_view_helper.Resize(WebSize(100, 100));
- FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrame(),
+ FrameTestHelpers::LoadFrame(web_view_helper.WebView()->MainFrameImpl(),
base_url_ + "non-scrollable.html");
PaintLayerCompositor* compositor = web_view_helper.WebView()->Compositor();
@@ -7771,7 +7771,7 @@ TEST_P(ParameterizedWebFrameTest, CurrentHistoryItem) {
FrameTestHelpers::WebViewHelper web_view_helper;
web_view_helper.Initialize();
- WebFrame* frame = web_view_helper.WebView()->MainFrame();
+ WebLocalFrame* frame = web_view_helper.WebView()->MainFrameImpl();
const FrameLoader& main_frame_loader =
web_view_helper.WebView()->MainFrameImpl()->GetFrame()->Loader();
WebURLRequest request(ToKURL(url));
@@ -10668,7 +10668,7 @@ TEST_F(WebFrameTest, ChangeResourcePriority) {
helper.Initialize(&client);
helper.Resize(WebSize(640, 480));
FrameTestHelpers::LoadFrame(
- helper.WebView()->MainFrame(),
+ helper.WebView()->MainFrameImpl(),
base_url_ + "promote_img_in_viewport_priority.html");
// Ensure the image in the viewport got promoted after the request was sent.

Powered by Google App Engine
This is Rietveld 408576698