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 1031 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1042 EXPECT_EQ(0.25f, webViewHelper.webView()->pageScaleFactor()); | 1042 EXPECT_EQ(0.25f, webViewHelper.webView()->pageScaleFactor()); |
1043 | 1043 |
1044 WebCore::Document* document = toLocalFrame(webViewHelper.webViewImpl()->page
()->mainFrame())->document(); | 1044 WebCore::Document* document = toLocalFrame(webViewHelper.webViewImpl()->page
()->mainFrame())->document(); |
1045 WebCore::ViewportDescription description = document->viewportDescription(); | 1045 WebCore::ViewportDescription description = document->viewportDescription(); |
1046 description.zoom = 2; | 1046 description.zoom = 2; |
1047 document->setViewportDescription(description); | 1047 document->setViewportDescription(description); |
1048 webViewHelper.webView()->layout(); | 1048 webViewHelper.webView()->layout(); |
1049 EXPECT_EQ(2, webViewHelper.webView()->pageScaleFactor()); | 1049 EXPECT_EQ(2, webViewHelper.webView()->pageScaleFactor()); |
1050 } | 1050 } |
1051 | 1051 |
1052 TEST_F(WebFrameTest, setLoadWithOverviewModeToFalse) | 1052 TEST_F(WebFrameTest, setLoadWithoutShrinksViewportContentToFit) |
1053 { | 1053 { |
1054 UseMockScrollbarSettings mockScrollbarSettings; | 1054 UseMockScrollbarSettings mockScrollbarSettings; |
1055 registerMockedHttpURLLoad("viewport-auto-initial-scale.html"); | 1055 registerMockedHttpURLLoad("viewport-auto-initial-scale.html"); |
1056 | 1056 |
1057 FixedLayoutTestWebViewClient client; | 1057 FixedLayoutTestWebViewClient client; |
1058 client.m_screenInfo.deviceScaleFactor = 1; | 1058 client.m_screenInfo.deviceScaleFactor = 1; |
1059 int viewportWidth = 640; | 1059 int viewportWidth = 640; |
1060 int viewportHeight = 480; | 1060 int viewportHeight = 480; |
1061 | 1061 |
1062 FrameTestHelpers::WebViewHelper webViewHelper; | 1062 FrameTestHelpers::WebViewHelper webViewHelper; |
1063 webViewHelper.initializeAndLoad(m_baseURL + "viewport-auto-initial-scale.htm
l", true, 0, &client, enableViewportSettings); | 1063 webViewHelper.initializeAndLoad(m_baseURL + "viewport-auto-initial-scale.htm
l", true, 0, &client, enableViewportSettings); |
1064 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); | 1064 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); |
1065 webViewHelper.webView()->settings()->setLoadWithOverviewMode(false); | 1065 webViewHelper.webView()->settings()->setShrinksViewportContentToFit(false); |
1066 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1066 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
1067 | 1067 |
1068 // The page must be displayed at 100% zoom. | 1068 // The page must be displayed at 100% zoom. |
1069 EXPECT_EQ(1.0f, webViewHelper.webView()->pageScaleFactor()); | 1069 EXPECT_EQ(1.0f, webViewHelper.webView()->pageScaleFactor()); |
1070 } | 1070 } |
1071 | 1071 |
1072 TEST_F(WebFrameTest, SetLoadWithOverviewModeToFalseAndNoWideViewport) | 1072 TEST_F(WebFrameTest, SetLoadWithoutShrinksViewportContentToFitAndNoWideViewport) |
1073 { | 1073 { |
1074 UseMockScrollbarSettings mockScrollbarSettings; | 1074 UseMockScrollbarSettings mockScrollbarSettings; |
1075 registerMockedHttpURLLoad("large-div.html"); | 1075 registerMockedHttpURLLoad("large-div.html"); |
1076 | 1076 |
1077 FixedLayoutTestWebViewClient client; | 1077 FixedLayoutTestWebViewClient client; |
1078 client.m_screenInfo.deviceScaleFactor = 1; | 1078 client.m_screenInfo.deviceScaleFactor = 1; |
1079 int viewportWidth = 640; | 1079 int viewportWidth = 640; |
1080 int viewportHeight = 480; | 1080 int viewportHeight = 480; |
1081 | 1081 |
1082 FrameTestHelpers::WebViewHelper webViewHelper; | 1082 FrameTestHelpers::WebViewHelper webViewHelper; |
1083 webViewHelper.initializeAndLoad(m_baseURL + "large-div.html", true, 0, &clie
nt, enableViewportSettings); | 1083 webViewHelper.initializeAndLoad(m_baseURL + "large-div.html", true, 0, &clie
nt, enableViewportSettings); |
1084 webViewHelper.webView()->settings()->setLoadWithOverviewMode(false); | 1084 webViewHelper.webView()->settings()->setShrinksViewportContentToFit(false); |
1085 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); | 1085 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); |
1086 webViewHelper.webView()->settings()->setUseWideViewport(false); | 1086 webViewHelper.webView()->settings()->setUseWideViewport(false); |
1087 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1087 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
1088 | 1088 |
1089 // The page must be displayed at 100% zoom, despite that it hosts a wide div
element. | 1089 // The page must be displayed at 100% zoom, despite that it hosts a wide div
element. |
1090 EXPECT_EQ(1.0f, webViewHelper.webView()->pageScaleFactor()); | 1090 EXPECT_EQ(1.0f, webViewHelper.webView()->pageScaleFactor()); |
1091 } | 1091 } |
1092 | 1092 |
1093 TEST_F(WebFrameTest, NoWideViewportIgnoresPageViewportWidth) | 1093 TEST_F(WebFrameTest, NoWideViewportIgnoresPageViewportWidth) |
1094 { | 1094 { |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1187 webViewHelper.initializeAndLoad(m_baseURL + "viewport-2x-initial-scale.html"
, true, 0, &client, enableViewportSettings); | 1187 webViewHelper.initializeAndLoad(m_baseURL + "viewport-2x-initial-scale.html"
, true, 0, &client, enableViewportSettings); |
1188 applyViewportStyleOverride(&webViewHelper); | 1188 applyViewportStyleOverride(&webViewHelper); |
1189 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); | 1189 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); |
1190 webViewHelper.webView()->settings()->setUseWideViewport(true); | 1190 webViewHelper.webView()->settings()->setUseWideViewport(true); |
1191 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1191 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
1192 | 1192 |
1193 EXPECT_EQ(980, webViewHelper.webViewImpl()->mainFrameImpl()->frameView()->co
ntentsSize().width()); | 1193 EXPECT_EQ(980, webViewHelper.webViewImpl()->mainFrameImpl()->frameView()->co
ntentsSize().width()); |
1194 EXPECT_EQ(980.0 / viewportWidth * viewportHeight, webViewHelper.webViewImpl(
)->mainFrameImpl()->frameView()->contentsSize().height()); | 1194 EXPECT_EQ(980.0 / viewportWidth * viewportHeight, webViewHelper.webViewImpl(
)->mainFrameImpl()->frameView()->contentsSize().height()); |
1195 } | 1195 } |
1196 | 1196 |
1197 TEST_F(WebFrameTest, PageViewportInitialScaleOverridesLoadWithOverviewMode) | 1197 TEST_F(WebFrameTest, PageViewportInitialScaleOverridesShrinksViewportContentToFi
t) |
1198 { | 1198 { |
1199 UseMockScrollbarSettings mockScrollbarSettings; | 1199 UseMockScrollbarSettings mockScrollbarSettings; |
1200 registerMockedHttpURLLoad("viewport-wide-2x-initial-scale.html"); | 1200 registerMockedHttpURLLoad("viewport-wide-2x-initial-scale.html"); |
1201 | 1201 |
1202 FixedLayoutTestWebViewClient client; | 1202 FixedLayoutTestWebViewClient client; |
1203 client.m_screenInfo.deviceScaleFactor = 1; | 1203 client.m_screenInfo.deviceScaleFactor = 1; |
1204 int viewportWidth = 640; | 1204 int viewportWidth = 640; |
1205 int viewportHeight = 480; | 1205 int viewportHeight = 480; |
1206 | 1206 |
1207 FrameTestHelpers::WebViewHelper webViewHelper; | 1207 FrameTestHelpers::WebViewHelper webViewHelper; |
1208 webViewHelper.initializeAndLoad(m_baseURL + "viewport-wide-2x-initial-scale.
html", true, 0, &client, enableViewportSettings); | 1208 webViewHelper.initializeAndLoad(m_baseURL + "viewport-wide-2x-initial-scale.
html", true, 0, &client, enableViewportSettings); |
1209 webViewHelper.webView()->settings()->setLoadWithOverviewMode(false); | 1209 webViewHelper.webView()->settings()->setShrinksViewportContentToFit(false); |
1210 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1210 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
1211 | 1211 |
1212 // The page must be displayed at 200% zoom, as specified in its viewport met
a tag. | 1212 // The page must be displayed at 200% zoom, as specified in its viewport met
a tag. |
1213 EXPECT_EQ(2.0f, webViewHelper.webView()->pageScaleFactor()); | 1213 EXPECT_EQ(2.0f, webViewHelper.webView()->pageScaleFactor()); |
1214 } | 1214 } |
1215 | 1215 |
1216 TEST_F(WebFrameTest, setInitialPageScaleFactorPermanently) | 1216 TEST_F(WebFrameTest, setInitialPageScaleFactorPermanently) |
1217 { | 1217 { |
1218 UseMockScrollbarSettings mockScrollbarSettings; | 1218 UseMockScrollbarSettings mockScrollbarSettings; |
1219 | 1219 |
1220 registerMockedHttpURLLoad("fixed_layout.html"); | 1220 registerMockedHttpURLLoad("fixed_layout.html"); |
1221 | 1221 |
1222 FixedLayoutTestWebViewClient client; | 1222 FixedLayoutTestWebViewClient client; |
1223 client.m_screenInfo.deviceScaleFactor = 1; | 1223 client.m_screenInfo.deviceScaleFactor = 1; |
1224 float enforcedPageScaleFactor = 2.0f; | 1224 float enforcedPageScaleFactor = 2.0f; |
1225 | 1225 |
1226 FrameTestHelpers::WebViewHelper webViewHelper; | 1226 FrameTestHelpers::WebViewHelper webViewHelper; |
1227 webViewHelper.initializeAndLoad(m_baseURL + "fixed_layout.html", true, 0, &c
lient, enableViewportSettings); | 1227 webViewHelper.initializeAndLoad(m_baseURL + "fixed_layout.html", true, 0, &c
lient, enableViewportSettings); |
1228 applyViewportStyleOverride(&webViewHelper); | 1228 applyViewportStyleOverride(&webViewHelper); |
1229 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); | 1229 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); |
1230 webViewHelper.webView()->settings()->setLoadWithOverviewMode(false); | 1230 webViewHelper.webView()->settings()->setShrinksViewportContentToFit(false); |
1231 webViewHelper.webView()->setInitialPageScaleOverride(enforcedPageScaleFactor
); | 1231 webViewHelper.webView()->setInitialPageScaleOverride(enforcedPageScaleFactor
); |
1232 webViewHelper.webView()->layout(); | 1232 webViewHelper.webView()->layout(); |
1233 | 1233 |
1234 EXPECT_EQ(enforcedPageScaleFactor, webViewHelper.webView()->pageScaleFactor(
)); | 1234 EXPECT_EQ(enforcedPageScaleFactor, webViewHelper.webView()->pageScaleFactor(
)); |
1235 | 1235 |
1236 int viewportWidth = 640; | 1236 int viewportWidth = 640; |
1237 int viewportHeight = 480; | 1237 int viewportHeight = 480; |
1238 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1238 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
1239 webViewHelper.webView()->layout(); | 1239 webViewHelper.webView()->layout(); |
1240 | 1240 |
1241 EXPECT_EQ(enforcedPageScaleFactor, webViewHelper.webView()->pageScaleFactor(
)); | 1241 EXPECT_EQ(enforcedPageScaleFactor, webViewHelper.webView()->pageScaleFactor(
)); |
1242 | 1242 |
1243 webViewHelper.webView()->setInitialPageScaleOverride(-1); | 1243 webViewHelper.webView()->setInitialPageScaleOverride(-1); |
1244 webViewHelper.webView()->layout(); | 1244 webViewHelper.webView()->layout(); |
1245 EXPECT_EQ(1.0, webViewHelper.webView()->pageScaleFactor()); | 1245 EXPECT_EQ(1.0, webViewHelper.webView()->pageScaleFactor()); |
1246 } | 1246 } |
1247 | 1247 |
1248 TEST_F(WebFrameTest, PermanentInitialPageScaleFactorOverridesLoadWithOverviewMod
e) | 1248 TEST_F(WebFrameTest, PermanentInitialPageScaleFactorOverridesLoadWithShrinksView
portContentToFit) |
1249 { | 1249 { |
1250 UseMockScrollbarSettings mockScrollbarSettings; | 1250 UseMockScrollbarSettings mockScrollbarSettings; |
1251 registerMockedHttpURLLoad("viewport-auto-initial-scale.html"); | 1251 registerMockedHttpURLLoad("viewport-auto-initial-scale.html"); |
1252 | 1252 |
1253 FixedLayoutTestWebViewClient client; | 1253 FixedLayoutTestWebViewClient client; |
1254 client.m_screenInfo.deviceScaleFactor = 1; | 1254 client.m_screenInfo.deviceScaleFactor = 1; |
1255 int viewportWidth = 640; | 1255 int viewportWidth = 640; |
1256 int viewportHeight = 480; | 1256 int viewportHeight = 480; |
1257 float enforcedPageScaleFactor = 0.5f; | 1257 float enforcedPageScaleFactor = 0.5f; |
1258 | 1258 |
1259 FrameTestHelpers::WebViewHelper webViewHelper; | 1259 FrameTestHelpers::WebViewHelper webViewHelper; |
1260 webViewHelper.initializeAndLoad(m_baseURL + "viewport-auto-initial-scale.htm
l", true, 0, &client, enableViewportSettings); | 1260 webViewHelper.initializeAndLoad(m_baseURL + "viewport-auto-initial-scale.htm
l", true, 0, &client, enableViewportSettings); |
1261 webViewHelper.webView()->settings()->setLoadWithOverviewMode(false); | 1261 webViewHelper.webView()->settings()->setShrinksViewportContentToFit(false); |
1262 webViewHelper.webView()->setInitialPageScaleOverride(enforcedPageScaleFactor
); | 1262 webViewHelper.webView()->setInitialPageScaleOverride(enforcedPageScaleFactor
); |
1263 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1263 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
1264 | 1264 |
1265 EXPECT_EQ(enforcedPageScaleFactor, webViewHelper.webView()->pageScaleFactor(
)); | 1265 EXPECT_EQ(enforcedPageScaleFactor, webViewHelper.webView()->pageScaleFactor(
)); |
1266 } | 1266 } |
1267 | 1267 |
1268 TEST_F(WebFrameTest, PermanentInitialPageScaleFactorOverridesPageViewportInitial
Scale) | 1268 TEST_F(WebFrameTest, PermanentInitialPageScaleFactorOverridesPageViewportInitial
Scale) |
1269 { | 1269 { |
1270 UseMockScrollbarSettings mockScrollbarSettings; | 1270 UseMockScrollbarSettings mockScrollbarSettings; |
1271 registerMockedHttpURLLoad("viewport-wide-2x-initial-scale.html"); | 1271 registerMockedHttpURLLoad("viewport-wide-2x-initial-scale.html"); |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1327 FixedLayoutTestWebViewClient client; | 1327 FixedLayoutTestWebViewClient client; |
1328 client.m_screenInfo.deviceScaleFactor = 1; | 1328 client.m_screenInfo.deviceScaleFactor = 1; |
1329 int viewportWidth = 640; | 1329 int viewportWidth = 640; |
1330 int viewportHeight = 480; | 1330 int viewportHeight = 480; |
1331 float enforcedPageScaleFactor = 0.5; | 1331 float enforcedPageScaleFactor = 0.5; |
1332 | 1332 |
1333 FrameTestHelpers::WebViewHelper webViewHelper; | 1333 FrameTestHelpers::WebViewHelper webViewHelper; |
1334 webViewHelper.initializeAndLoad("about:blank", true, 0, &client, enableViewp
ortSettings); | 1334 webViewHelper.initializeAndLoad("about:blank", true, 0, &client, enableViewp
ortSettings); |
1335 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); | 1335 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); |
1336 webViewHelper.webView()->settings()->setUseWideViewport(false); | 1336 webViewHelper.webView()->settings()->setUseWideViewport(false); |
1337 webViewHelper.webView()->settings()->setLoadWithOverviewMode(false); | 1337 webViewHelper.webView()->settings()->setShrinksViewportContentToFit(false); |
1338 webViewHelper.webView()->setInitialPageScaleOverride(enforcedPageScaleFactor
); | 1338 webViewHelper.webView()->setInitialPageScaleOverride(enforcedPageScaleFactor
); |
1339 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1339 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
1340 | 1340 |
1341 EXPECT_EQ(viewportWidth / enforcedPageScaleFactor, webViewHelper.webViewImpl
()->mainFrameImpl()->frameView()->contentsSize().width()); | 1341 EXPECT_EQ(viewportWidth / enforcedPageScaleFactor, webViewHelper.webViewImpl
()->mainFrameImpl()->frameView()->contentsSize().width()); |
1342 EXPECT_EQ(enforcedPageScaleFactor, webViewHelper.webView()->pageScaleFactor(
)); | 1342 EXPECT_EQ(enforcedPageScaleFactor, webViewHelper.webView()->pageScaleFactor(
)); |
1343 } | 1343 } |
1344 | 1344 |
1345 TEST_F(WebFrameTest, WideViewportInitialScaleDoesNotExpandFixedLayoutWidth) | 1345 TEST_F(WebFrameTest, WideViewportInitialScaleDoesNotExpandFixedLayoutWidth) |
1346 { | 1346 { |
1347 UseMockScrollbarSettings mockScrollbarSettings; | 1347 UseMockScrollbarSettings mockScrollbarSettings; |
(...skipping 4221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5569 { | 5569 { |
5570 registerMockedHttpURLLoad("brand_color_test.html"); | 5570 registerMockedHttpURLLoad("brand_color_test.html"); |
5571 FrameTestHelpers::WebViewHelper webViewHelper; | 5571 FrameTestHelpers::WebViewHelper webViewHelper; |
5572 BrandColorTestWebFrameClient client; | 5572 BrandColorTestWebFrameClient client; |
5573 webViewHelper.initializeAndLoad(m_baseURL + "brand_color_test.html", false,
&client); | 5573 webViewHelper.initializeAndLoad(m_baseURL + "brand_color_test.html", false,
&client); |
5574 EXPECT_TRUE(client.didNotify()); | 5574 EXPECT_TRUE(client.didNotify()); |
5575 EXPECT_EQ(0xff0000ff, webViewHelper.webViewImpl()->mainFrameImpl()->document
().brandColor()); | 5575 EXPECT_EQ(0xff0000ff, webViewHelper.webViewImpl()->mainFrameImpl()->document
().brandColor()); |
5576 } | 5576 } |
5577 | 5577 |
5578 } // namespace | 5578 } // namespace |
OLD | NEW |