Index: Source/web/tests/ViewportTest.cpp |
diff --git a/Source/web/tests/ViewportTest.cpp b/Source/web/tests/ViewportTest.cpp |
index e5ce10fbfb5c98c4edccf1b69504f16390b6dece..f80b0f8ea444c86f2a83677bd1dd3a7297ac43cc 100644 |
--- a/Source/web/tests/ViewportTest.cpp |
+++ b/Source/web/tests/ViewportTest.cpp |
@@ -2947,6 +2947,11 @@ TEST_F(ViewportTest, viewportTriggersGpuRasterization) |
webViewHelper.webView()->resize(WebSize(640, 480)); |
EXPECT_TRUE(webViewHelper.webViewImpl()->matchesHeuristicsForGpuRasterizationForTesting()); |
+ registerMockedHttpURLLoad("viewport/viewport-gpu-rasterization-expanded-heuristics.html"); |
+ webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-gpu-rasterization-expanded-heuristics.html", true, 0, 0, setViewportSettings); |
+ webViewHelper.webView()->resize(WebSize(640, 480)); |
+ EXPECT_FALSE(webViewHelper.webViewImpl()->matchesHeuristicsForGpuRasterizationForTesting()); |
+ |
registerMockedHttpURLLoad("viewport/viewport-inferred-values-do-not-trigger-gpu-rasterization.html"); |
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-inferred-values-do-not-trigger-gpu-rasterization.html", true, 0, 0, setViewportSettings); |
webViewHelper.webView()->resize(WebSize(640, 480)); |
@@ -2968,6 +2973,48 @@ TEST_F(ViewportTest, viewportTriggersGpuRasterization) |
EXPECT_FALSE(webViewHelper.webViewImpl()->matchesHeuristicsForGpuRasterizationForTesting()); |
} |
+static void setViewportSettingsWithExpandedHeuristicsForGpuRasterization(WebSettings* settings) |
+{ |
+ setViewportSettings(settings); |
+ settings->setUseExpandedHeuristicsForGpuRasterization(true); |
+} |
+ |
+TEST_F(ViewportTest, viewportTriggersGpuRasterizationWithExpandedHeuristics) |
+{ |
+ UseMockScrollbarSettings mockScrollbarSettings; |
+ |
+ registerMockedHttpURLLoad("viewport/viewport-gpu-rasterization.html"); |
+ FrameTestHelpers::WebViewHelper webViewHelper; |
+ webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-gpu-rasterization.html", true, 0, 0, setViewportSettingsWithExpandedHeuristicsForGpuRasterization); |
+ webViewHelper.webView()->resize(WebSize(640, 480)); |
+ EXPECT_TRUE(webViewHelper.webViewImpl()->matchesHeuristicsForGpuRasterizationForTesting()); |
+ |
+ registerMockedHttpURLLoad("viewport/viewport-gpu-rasterization-expanded-heuristics.html"); |
+ webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-gpu-rasterization-expanded-heuristics.html", true, 0, 0, setViewportSettingsWithExpandedHeuristicsForGpuRasterization); |
+ webViewHelper.webView()->resize(WebSize(640, 480)); |
+ EXPECT_TRUE(webViewHelper.webViewImpl()->matchesHeuristicsForGpuRasterizationForTesting()); |
+ |
+ registerMockedHttpURLLoad("viewport/viewport-inferred-values-do-not-trigger-gpu-rasterization.html"); |
+ webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-inferred-values-do-not-trigger-gpu-rasterization.html", true, 0, 0, setViewportSettingsWithExpandedHeuristicsForGpuRasterization); |
+ webViewHelper.webView()->resize(WebSize(640, 480)); |
+ EXPECT_FALSE(webViewHelper.webViewImpl()->matchesHeuristicsForGpuRasterizationForTesting()); |
+ |
+ registerMockedHttpURLLoad("viewport/viewport-1.html"); |
+ webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-1.html", true, 0, 0, setViewportSettings); |
+ webViewHelper.webView()->resize(WebSize(640, 480)); |
+ EXPECT_FALSE(webViewHelper.webViewImpl()->matchesHeuristicsForGpuRasterizationForTesting()); |
+ |
+ registerMockedHttpURLLoad("viewport/viewport-15.html"); |
+ webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-15.html", true, 0, 0, setViewportSettingsWithExpandedHeuristicsForGpuRasterization); |
+ webViewHelper.webView()->resize(WebSize(640, 480)); |
+ EXPECT_FALSE(webViewHelper.webViewImpl()->matchesHeuristicsForGpuRasterizationForTesting()); |
+ |
+ registerMockedHttpURLLoad("viewport/viewport-130.html"); |
+ webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-130.html", true, 0, 0, setViewportSettingsWithExpandedHeuristicsForGpuRasterization); |
+ webViewHelper.webView()->resize(WebSize(640, 480)); |
+ EXPECT_FALSE(webViewHelper.webViewImpl()->matchesHeuristicsForGpuRasterizationForTesting()); |
+} |
+ |
class ConsoleMessageWebFrameClient : public FrameTestHelpers::TestWebFrameClient { |
public: |
virtual void didAddMessageToConsole(const WebConsoleMessage& msg, const WebString& sourceName, unsigned sourceLine, const WebString& stackTrace) |