| Index: Source/web/tests/WebFrameTest.cpp
|
| diff --git a/Source/web/tests/WebFrameTest.cpp b/Source/web/tests/WebFrameTest.cpp
|
| index 9645e9a27015c80799f8db0fa0eee32abe8e5e3f..706251ca0d31fbc0591e3c9f1e3e3a8eab305502 100644
|
| --- a/Source/web/tests/WebFrameTest.cpp
|
| +++ b/Source/web/tests/WebFrameTest.cpp
|
| @@ -40,6 +40,7 @@
|
| #include "SkBitmap.h"
|
| #include "SkCanvas.h"
|
| #include "URLTestHelpers.h"
|
| +#include "UserAgentStyleSheets.h"
|
| #include "WebDataSource.h"
|
| #include "WebDocument.h"
|
| #include "WebFindOptions.h"
|
| @@ -59,6 +60,8 @@
|
| #include "WebViewClient.h"
|
| #include "WebViewImpl.h"
|
| #include "core/clipboard/Clipboard.h"
|
| +#include "core/css/StyleSheetContents.h"
|
| +#include "core/css/resolver/ViewportStyleResolver.h"
|
| #include "core/dom/DocumentMarkerController.h"
|
| #include "core/dom/FullscreenElementStack.h"
|
| #include "core/dom/Range.h"
|
| @@ -157,6 +160,18 @@ protected:
|
| URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_chromeURL.c_str()), WebString::fromUTF8(fileName.c_str()));
|
| }
|
|
|
| + void applyViewportStyleOverride(FrameTestHelpers::WebViewHelper* webViewHelper)
|
| + {
|
| + RefPtrWillBeRawPtr<WebCore::StyleSheetContents> styleSheet = WebCore::StyleSheetContents::create(WebCore::CSSParserContext(WebCore::UASheetMode, 0));
|
| + styleSheet->parseString(String(WebCore::viewportAndroidUserAgentStyleSheet, sizeof(WebCore::viewportAndroidUserAgentStyleSheet)));
|
| + OwnPtrWillBeRawPtr<WebCore::RuleSet> ruleSet = WebCore::RuleSet::create();
|
| + ruleSet->addRulesFromSheet(styleSheet.get(), WebCore::MediaQueryEvaluator("screen"));
|
| +
|
| + Document* document = webViewHelper->webViewImpl()->page()->mainFrame()->document();
|
| + document->ensureStyleResolver().viewportStyleResolver()->collectViewportRules(ruleSet.get(), WebCore::ViewportStyleResolver::UserAgentOrigin);
|
| + document->ensureStyleResolver().viewportStyleResolver()->resolve();
|
| + }
|
| +
|
| static void configueCompositingWebView(WebSettings* settings)
|
| {
|
| settings->setForceCompositingMode(true);
|
| @@ -882,6 +897,7 @@ TEST_F(WebFrameTest, DisablingFixedLayoutSizeSetsCorrectLayoutSize)
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| webViewHelper.initializeAndLoad(m_baseURL + "no_viewport_tag.html", true, 0, &client, enableViewportSettings);
|
| + applyViewportStyleOverride(&webViewHelper);
|
| webViewHelper.webView()->settings()->setSupportDeprecatedTargetDensityDPI(true);
|
| webViewHelper.webView()->settings()->setUseWideViewport(true);
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
| @@ -1137,6 +1153,7 @@ TEST_F(WebFrameTest, WideViewportSetsTo980WithoutViewportTag)
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| webViewHelper.initializeAndLoad(m_baseURL + "no_viewport_tag.html", true, 0, &client, enableViewportSettings);
|
| + applyViewportStyleOverride(&webViewHelper);
|
| webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true);
|
| webViewHelper.webView()->settings()->setUseWideViewport(true);
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
| @@ -1176,6 +1193,7 @@ TEST_F(WebFrameTest, WideViewportSetsTo980WithAutoWidth)
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| webViewHelper.initializeAndLoad(m_baseURL + "viewport-2x-initial-scale.html", true, 0, &client, enableViewportSettings);
|
| + applyViewportStyleOverride(&webViewHelper);
|
| webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true);
|
| webViewHelper.webView()->settings()->setUseWideViewport(true);
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
| @@ -1215,6 +1233,7 @@ TEST_F(WebFrameTest, setInitialPageScaleFactorPermanently)
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| webViewHelper.initializeAndLoad(m_baseURL + "fixed_layout.html", true, 0, &client, enableViewportSettings);
|
| + applyViewportStyleOverride(&webViewHelper);
|
| webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true);
|
| webViewHelper.webView()->settings()->setLoadWithOverviewMode(false);
|
| webViewHelper.webView()->setInitialPageScaleOverride(enforcedPageScaleFactor);
|
| @@ -1298,6 +1317,7 @@ TEST_F(WebFrameTest, SmallPermanentInitialPageScaleFactorIsClobbered)
|
| for (int quirkEnabled = 0; quirkEnabled <= 1; ++quirkEnabled) {
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| webViewHelper.initializeAndLoad(m_baseURL + pages[i], true, 0, &client, enableViewportSettings);
|
| + applyViewportStyleOverride(&webViewHelper);
|
| webViewHelper.webView()->settings()->setClobberUserAgentInitialScaleQuirk(quirkEnabled);
|
| webViewHelper.webView()->setInitialPageScaleOverride(enforcedPageScaleFactor);
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
|
|