OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2010 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
220 | 220 |
221 void registerMockedHttpURLLoadWithMimeType(const std::string& fileName, | 221 void registerMockedHttpURLLoadWithMimeType(const std::string& fileName, |
222 const std::string& mimeType) { | 222 const std::string& mimeType) { |
223 URLTestHelpers::registerMockedURLFromBaseURL( | 223 URLTestHelpers::registerMockedURLFromBaseURL( |
224 WebString::fromUTF8(m_baseURL.c_str()), | 224 WebString::fromUTF8(m_baseURL.c_str()), |
225 WebString::fromUTF8(fileName.c_str()), WebString::fromUTF8(mimeType)); | 225 WebString::fromUTF8(fileName.c_str()), WebString::fromUTF8(mimeType)); |
226 } | 226 } |
227 | 227 |
228 void applyViewportStyleOverride( | 228 void applyViewportStyleOverride( |
229 FrameTestHelpers::WebViewHelper* webViewHelper) { | 229 FrameTestHelpers::WebViewHelper* webViewHelper) { |
230 StyleSheetContents* styleSheet = | 230 webViewHelper->webView()->settings()->setViewportStyle( |
231 StyleSheetContents::create(CSSParserContext(UASheetMode, nullptr)); | 231 WebViewportStyle::Mobile); |
232 styleSheet->parseString(loadResourceAsASCIIString("viewportAndroid.css")); | |
233 RuleSet* ruleSet = RuleSet::create(); | |
234 ruleSet->addRulesFromSheet(styleSheet, MediaQueryEvaluator("screen")); | |
235 | |
236 Document* document = | |
237 toLocalFrame(webViewHelper->webView()->page()->mainFrame())->document(); | |
238 document->ensureStyleResolver() | |
239 .viewportStyleResolver() | |
240 ->collectViewportRules(ruleSet, ViewportStyleResolver::UserAgentOrigin); | |
241 document->ensureStyleResolver().viewportStyleResolver()->resolve(); | |
242 } | 232 } |
243 | 233 |
244 static void configueCompositingWebView(WebSettings* settings) { | 234 static void configureCompositingWebView(WebSettings* settings) { |
245 settings->setAcceleratedCompositingEnabled(true); | 235 settings->setAcceleratedCompositingEnabled(true); |
246 settings->setPreferCompositingToLCDTextEnabled(true); | 236 settings->setPreferCompositingToLCDTextEnabled(true); |
247 } | 237 } |
248 | 238 |
249 static void configureAndroid(WebSettings* settings) { | 239 static void configureAndroid(WebSettings* settings) { |
250 settings->setViewportMetaEnabled(true); | 240 settings->setViewportMetaEnabled(true); |
251 settings->setViewportEnabled(true); | 241 settings->setViewportEnabled(true); |
252 settings->setMainFrameResizesAreOrientationChanges(true); | 242 settings->setMainFrameResizesAreOrientationChanges(true); |
253 settings->setShrinksViewportContentToFit(true); | 243 settings->setShrinksViewportContentToFit(true); |
254 } | 244 } |
(...skipping 2650 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2905 { | 2895 { |
2906 registerMockedHttpURLLoad("large-div.html"); | 2896 registerMockedHttpURLLoad("large-div.html"); |
2907 | 2897 |
2908 int viewWidth = 500; | 2898 int viewWidth = 500; |
2909 int viewHeight = 500; | 2899 int viewHeight = 500; |
2910 | 2900 |
2911 std::unique_ptr<FakeCompositingWebViewClient> fakeCompositingWebViewClient = | 2901 std::unique_ptr<FakeCompositingWebViewClient> fakeCompositingWebViewClient = |
2912 wrapUnique(new FakeCompositingWebViewClient()); | 2902 wrapUnique(new FakeCompositingWebViewClient()); |
2913 FrameTestHelpers::WebViewHelper webViewHelper; | 2903 FrameTestHelpers::WebViewHelper webViewHelper; |
2914 webViewHelper.initialize(true, nullptr, fakeCompositingWebViewClient.get(), | 2904 webViewHelper.initialize(true, nullptr, fakeCompositingWebViewClient.get(), |
2915 nullptr, &configueCompositingWebView); | 2905 nullptr, &configureCompositingWebView); |
2916 | 2906 |
2917 webViewHelper.resize(WebSize(viewWidth, viewHeight)); | 2907 webViewHelper.resize(WebSize(viewWidth, viewHeight)); |
2918 FrameTestHelpers::loadFrame(webViewHelper.webView()->mainFrame(), | 2908 FrameTestHelpers::loadFrame(webViewHelper.webView()->mainFrame(), |
2919 m_baseURL + "large-div.html"); | 2909 m_baseURL + "large-div.html"); |
2920 | 2910 |
2921 FrameView* view = webViewHelper.webView()->mainFrameImpl()->frameView(); | 2911 FrameView* view = webViewHelper.webView()->mainFrameImpl()->frameView(); |
2922 EXPECT_TRUE( | 2912 EXPECT_TRUE( |
2923 view->layoutViewItem().compositor()->layerForHorizontalScrollbar()); | 2913 view->layoutViewItem().compositor()->layerForHorizontalScrollbar()); |
2924 EXPECT_TRUE(view->layoutViewItem().compositor()->layerForVerticalScrollbar()); | 2914 EXPECT_TRUE(view->layoutViewItem().compositor()->layerForVerticalScrollbar()); |
2925 | 2915 |
(...skipping 4234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7160 EXPECT_FALSE(client.replacesCurrentHistoryItem()); | 7150 EXPECT_FALSE(client.replacesCurrentHistoryItem()); |
7161 } | 7151 } |
7162 | 7152 |
7163 // Test verifies that layout will change a layer's scrollable attibutes | 7153 // Test verifies that layout will change a layer's scrollable attibutes |
7164 TEST_F(WebFrameTest, overflowHiddenRewrite) { | 7154 TEST_F(WebFrameTest, overflowHiddenRewrite) { |
7165 registerMockedHttpURLLoad("non-scrollable.html"); | 7155 registerMockedHttpURLLoad("non-scrollable.html"); |
7166 std::unique_ptr<FakeCompositingWebViewClient> fakeCompositingWebViewClient = | 7156 std::unique_ptr<FakeCompositingWebViewClient> fakeCompositingWebViewClient = |
7167 wrapUnique(new FakeCompositingWebViewClient()); | 7157 wrapUnique(new FakeCompositingWebViewClient()); |
7168 FrameTestHelpers::WebViewHelper webViewHelper; | 7158 FrameTestHelpers::WebViewHelper webViewHelper; |
7169 webViewHelper.initialize(true, nullptr, fakeCompositingWebViewClient.get(), | 7159 webViewHelper.initialize(true, nullptr, fakeCompositingWebViewClient.get(), |
7170 nullptr, &configueCompositingWebView); | 7160 nullptr, &configureCompositingWebView); |
7171 | 7161 |
7172 webViewHelper.resize(WebSize(100, 100)); | 7162 webViewHelper.resize(WebSize(100, 100)); |
7173 FrameTestHelpers::loadFrame(webViewHelper.webView()->mainFrame(), | 7163 FrameTestHelpers::loadFrame(webViewHelper.webView()->mainFrame(), |
7174 m_baseURL + "non-scrollable.html"); | 7164 m_baseURL + "non-scrollable.html"); |
7175 | 7165 |
7176 PaintLayerCompositor* compositor = webViewHelper.webView()->compositor(); | 7166 PaintLayerCompositor* compositor = webViewHelper.webView()->compositor(); |
7177 ASSERT_TRUE(compositor->scrollLayer()); | 7167 ASSERT_TRUE(compositor->scrollLayer()); |
7178 | 7168 |
7179 // Verify that the WebLayer is not scrollable initially. | 7169 // Verify that the WebLayer is not scrollable initially. |
7180 GraphicsLayer* scrollLayer = compositor->scrollLayer(); | 7170 GraphicsLayer* scrollLayer = compositor->scrollLayer(); |
(...skipping 3016 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10197 webViewHelper.webView()->handleInputEvent(endEvent); | 10187 webViewHelper.webView()->handleInputEvent(endEvent); |
10198 webViewHelper.webView()->handleInputEvent(updateEvent); | 10188 webViewHelper.webView()->handleInputEvent(updateEvent); |
10199 | 10189 |
10200 // Try a full Begin/Update/End cycle. | 10190 // Try a full Begin/Update/End cycle. |
10201 webViewHelper.webView()->handleInputEvent(beginEvent); | 10191 webViewHelper.webView()->handleInputEvent(beginEvent); |
10202 webViewHelper.webView()->handleInputEvent(updateEvent); | 10192 webViewHelper.webView()->handleInputEvent(updateEvent); |
10203 webViewHelper.webView()->handleInputEvent(endEvent); | 10193 webViewHelper.webView()->handleInputEvent(endEvent); |
10204 } | 10194 } |
10205 | 10195 |
10206 } // namespace blink | 10196 } // namespace blink |
OLD | NEW |