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 1010 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1021 webViewHelper.webView()->settings()->setViewportEnabled(true); | 1021 webViewHelper.webView()->settings()->setViewportEnabled(true); |
1022 webViewHelper.webView()->settings()->setLoadWithOverviewMode(false); | 1022 webViewHelper.webView()->settings()->setLoadWithOverviewMode(false); |
1023 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); | 1023 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); |
1024 webViewHelper.webView()->settings()->setUseWideViewport(false); | 1024 webViewHelper.webView()->settings()->setUseWideViewport(false); |
1025 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1025 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
1026 | 1026 |
1027 // The page must be displayed at 100% zoom, despite that it hosts a wide div
element. | 1027 // The page must be displayed at 100% zoom, despite that it hosts a wide div
element. |
1028 EXPECT_EQ(1.0f, webViewHelper.webView()->pageScaleFactor()); | 1028 EXPECT_EQ(1.0f, webViewHelper.webView()->pageScaleFactor()); |
1029 } | 1029 } |
1030 | 1030 |
| 1031 // Viewport settings need to be set before the page gets loaded |
| 1032 static void enableViewportSettings(WebSettings* settings) |
| 1033 { |
| 1034 settings->setViewportMetaEnabled(true); |
| 1035 settings->setViewportEnabled(true); |
| 1036 settings->setMainFrameResizesAreOrientationChanges(true); |
| 1037 } |
| 1038 |
1031 TEST_F(WebFrameTest, NoWideViewportIgnoresPageViewportWidth) | 1039 TEST_F(WebFrameTest, NoWideViewportIgnoresPageViewportWidth) |
1032 { | 1040 { |
1033 UseMockScrollbarSettings mockScrollbarSettings; | 1041 UseMockScrollbarSettings mockScrollbarSettings; |
1034 registerMockedHttpURLLoad("viewport-auto-initial-scale.html"); | 1042 registerMockedHttpURLLoad("viewport-auto-initial-scale.html"); |
1035 | 1043 |
1036 FixedLayoutTestWebViewClient client; | 1044 FixedLayoutTestWebViewClient client; |
1037 client.m_screenInfo.deviceScaleFactor = 1; | 1045 client.m_screenInfo.deviceScaleFactor = 1; |
1038 int viewportWidth = 640; | 1046 int viewportWidth = 640; |
1039 int viewportHeight = 480; | 1047 int viewportHeight = 480; |
1040 | 1048 |
(...skipping 13 matching lines...) Expand all Loading... |
1054 { | 1062 { |
1055 UseMockScrollbarSettings mockScrollbarSettings; | 1063 UseMockScrollbarSettings mockScrollbarSettings; |
1056 registerMockedHttpURLLoad("viewport-wide-2x-initial-scale.html"); | 1064 registerMockedHttpURLLoad("viewport-wide-2x-initial-scale.html"); |
1057 | 1065 |
1058 FixedLayoutTestWebViewClient client; | 1066 FixedLayoutTestWebViewClient client; |
1059 client.m_screenInfo.deviceScaleFactor = 1; | 1067 client.m_screenInfo.deviceScaleFactor = 1; |
1060 int viewportWidth = 640; | 1068 int viewportWidth = 640; |
1061 int viewportHeight = 480; | 1069 int viewportHeight = 480; |
1062 | 1070 |
1063 FrameTestHelpers::WebViewHelper webViewHelper; | 1071 FrameTestHelpers::WebViewHelper webViewHelper; |
1064 webViewHelper.initializeAndLoad(m_baseURL + "viewport-wide-2x-initial-scale.
html", true, 0, &client); | 1072 webViewHelper.initializeAndLoad(m_baseURL + "viewport-wide-2x-initial-scale.
html", true, 0, &client, enableViewportSettings); |
1065 webViewHelper.webView()->settings()->setViewportEnabled(true); | |
1066 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); | 1073 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); |
1067 webViewHelper.webView()->settings()->setUseWideViewport(false); | 1074 webViewHelper.webView()->settings()->setUseWideViewport(false); |
1068 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1075 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
1069 | 1076 |
1070 // The page sets viewport width to 3000, but with UseWideViewport == false i
t must be ignored. | 1077 // The page sets viewport width to 3000, but with UseWideViewport == false i
t must be ignored. |
1071 // While the initial scale specified by the page must be accounted. | 1078 // While the initial scale specified by the page must be accounted. |
1072 EXPECT_EQ(viewportWidth / 2, webViewHelper.webViewImpl()->mainFrameImpl()->f
rameView()->contentsSize().width()); | 1079 EXPECT_EQ(viewportWidth / 2, webViewHelper.webViewImpl()->mainFrameImpl()->f
rameView()->contentsSize().width()); |
1073 EXPECT_EQ(viewportHeight / 2, webViewHelper.webViewImpl()->mainFrameImpl()->
frameView()->contentsSize().height()); | 1080 EXPECT_EQ(viewportHeight / 2, webViewHelper.webViewImpl()->mainFrameImpl()->
frameView()->contentsSize().height()); |
1074 } | 1081 } |
1075 | 1082 |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1139 { | 1146 { |
1140 UseMockScrollbarSettings mockScrollbarSettings; | 1147 UseMockScrollbarSettings mockScrollbarSettings; |
1141 registerMockedHttpURLLoad("viewport-wide-2x-initial-scale.html"); | 1148 registerMockedHttpURLLoad("viewport-wide-2x-initial-scale.html"); |
1142 | 1149 |
1143 FixedLayoutTestWebViewClient client; | 1150 FixedLayoutTestWebViewClient client; |
1144 client.m_screenInfo.deviceScaleFactor = 1; | 1151 client.m_screenInfo.deviceScaleFactor = 1; |
1145 int viewportWidth = 640; | 1152 int viewportWidth = 640; |
1146 int viewportHeight = 480; | 1153 int viewportHeight = 480; |
1147 | 1154 |
1148 FrameTestHelpers::WebViewHelper webViewHelper; | 1155 FrameTestHelpers::WebViewHelper webViewHelper; |
1149 webViewHelper.initializeAndLoad(m_baseURL + "viewport-wide-2x-initial-scale.
html", true, 0, &client); | 1156 webViewHelper.initializeAndLoad(m_baseURL + "viewport-wide-2x-initial-scale.
html", true, 0, &client, enableViewportSettings); |
1150 webViewHelper.webView()->settings()->setViewportEnabled(true); | |
1151 webViewHelper.webView()->settings()->setLoadWithOverviewMode(false); | 1157 webViewHelper.webView()->settings()->setLoadWithOverviewMode(false); |
1152 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1158 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
1153 | 1159 |
1154 // The page must be displayed at 200% zoom, as specified in its viewport met
a tag. | 1160 // The page must be displayed at 200% zoom, as specified in its viewport met
a tag. |
1155 EXPECT_EQ(2.0f, webViewHelper.webView()->pageScaleFactor()); | 1161 EXPECT_EQ(2.0f, webViewHelper.webView()->pageScaleFactor()); |
1156 } | 1162 } |
1157 | 1163 |
1158 TEST_F(WebFrameTest, setInitialPageScaleFactorPermanently) | 1164 TEST_F(WebFrameTest, setInitialPageScaleFactorPermanently) |
1159 { | 1165 { |
1160 UseMockScrollbarSettings mockScrollbarSettings; | 1166 UseMockScrollbarSettings mockScrollbarSettings; |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1192 UseMockScrollbarSettings mockScrollbarSettings; | 1198 UseMockScrollbarSettings mockScrollbarSettings; |
1193 registerMockedHttpURLLoad("viewport-auto-initial-scale.html"); | 1199 registerMockedHttpURLLoad("viewport-auto-initial-scale.html"); |
1194 | 1200 |
1195 FixedLayoutTestWebViewClient client; | 1201 FixedLayoutTestWebViewClient client; |
1196 client.m_screenInfo.deviceScaleFactor = 1; | 1202 client.m_screenInfo.deviceScaleFactor = 1; |
1197 int viewportWidth = 640; | 1203 int viewportWidth = 640; |
1198 int viewportHeight = 480; | 1204 int viewportHeight = 480; |
1199 float enforcedPageScalePactor = 0.5f; | 1205 float enforcedPageScalePactor = 0.5f; |
1200 | 1206 |
1201 FrameTestHelpers::WebViewHelper webViewHelper; | 1207 FrameTestHelpers::WebViewHelper webViewHelper; |
1202 webViewHelper.initializeAndLoad(m_baseURL + "viewport-auto-initial-scale.htm
l", true, 0, &client); | 1208 webViewHelper.initializeAndLoad(m_baseURL + "viewport-auto-initial-scale.htm
l", true, 0, &client, enableViewportSettings); |
1203 webViewHelper.webView()->settings()->setViewportEnabled(true); | |
1204 webViewHelper.webView()->settings()->setLoadWithOverviewMode(false); | 1209 webViewHelper.webView()->settings()->setLoadWithOverviewMode(false); |
1205 webViewHelper.webView()->setInitialPageScaleOverride(enforcedPageScalePactor
); | 1210 webViewHelper.webView()->setInitialPageScaleOverride(enforcedPageScalePactor
); |
1206 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1211 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
1207 | 1212 |
1208 EXPECT_EQ(enforcedPageScalePactor, webViewHelper.webView()->pageScaleFactor(
)); | 1213 EXPECT_EQ(enforcedPageScalePactor, webViewHelper.webView()->pageScaleFactor(
)); |
1209 } | 1214 } |
1210 | 1215 |
1211 TEST_F(WebFrameTest, PermanentInitialPageScaleFactorOverridesPageViewportInitial
Scale) | 1216 TEST_F(WebFrameTest, PermanentInitialPageScaleFactorOverridesPageViewportInitial
Scale) |
1212 { | 1217 { |
1213 UseMockScrollbarSettings mockScrollbarSettings; | 1218 UseMockScrollbarSettings mockScrollbarSettings; |
1214 registerMockedHttpURLLoad("viewport-wide-2x-initial-scale.html"); | 1219 registerMockedHttpURLLoad("viewport-wide-2x-initial-scale.html"); |
1215 | 1220 |
1216 FixedLayoutTestWebViewClient client; | 1221 FixedLayoutTestWebViewClient client; |
1217 client.m_screenInfo.deviceScaleFactor = 1; | 1222 client.m_screenInfo.deviceScaleFactor = 1; |
1218 int viewportWidth = 640; | 1223 int viewportWidth = 640; |
1219 int viewportHeight = 480; | 1224 int viewportHeight = 480; |
1220 float enforcedPageScaleFactor = 0.5f; | 1225 float enforcedPageScaleFactor = 0.5f; |
1221 | 1226 |
1222 FrameTestHelpers::WebViewHelper webViewHelper; | 1227 FrameTestHelpers::WebViewHelper webViewHelper; |
1223 webViewHelper.initializeAndLoad(m_baseURL + "viewport-wide-2x-initial-scale.
html", true, 0, &client); | 1228 webViewHelper.initializeAndLoad(m_baseURL + "viewport-wide-2x-initial-scale.
html", true, 0, &client, enableViewportSettings); |
1224 webViewHelper.webView()->settings()->setViewportEnabled(true); | |
1225 webViewHelper.webView()->setInitialPageScaleOverride(enforcedPageScaleFactor
); | 1229 webViewHelper.webView()->setInitialPageScaleOverride(enforcedPageScaleFactor
); |
1226 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1230 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
1227 | 1231 |
1228 EXPECT_EQ(enforcedPageScaleFactor, webViewHelper.webView()->pageScaleFactor(
)); | 1232 EXPECT_EQ(enforcedPageScaleFactor, webViewHelper.webView()->pageScaleFactor(
)); |
1229 } | 1233 } |
1230 | 1234 |
1231 TEST_F(WebFrameTest, WideViewportInitialScaleDoesNotExpandFixedLayoutWidth) | 1235 TEST_F(WebFrameTest, WideViewportInitialScaleDoesNotExpandFixedLayoutWidth) |
1232 { | 1236 { |
1233 UseMockScrollbarSettings mockScrollbarSettings; | 1237 UseMockScrollbarSettings mockScrollbarSettings; |
1234 registerMockedHttpURLLoad("viewport-device-0.5x-initial-scale.html"); | 1238 registerMockedHttpURLLoad("viewport-device-0.5x-initial-scale.html"); |
1235 | 1239 |
1236 FixedLayoutTestWebViewClient client; | 1240 FixedLayoutTestWebViewClient client; |
1237 client.m_screenInfo.deviceScaleFactor = 1; | 1241 client.m_screenInfo.deviceScaleFactor = 1; |
1238 int viewportWidth = 640; | 1242 int viewportWidth = 640; |
1239 int viewportHeight = 480; | 1243 int viewportHeight = 480; |
1240 | 1244 |
1241 FrameTestHelpers::WebViewHelper webViewHelper; | 1245 FrameTestHelpers::WebViewHelper webViewHelper; |
1242 webViewHelper.initializeAndLoad(m_baseURL + "viewport-device-0.5x-initial-sc
ale.html", true, 0, &client); | 1246 webViewHelper.initializeAndLoad(m_baseURL + "viewport-device-0.5x-initial-sc
ale.html", true, 0, &client, enableViewportSettings); |
1243 webViewHelper.webView()->settings()->setViewportEnabled(true); | |
1244 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); | 1247 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); |
1245 webViewHelper.webView()->settings()->setUseWideViewport(true); | 1248 webViewHelper.webView()->settings()->setUseWideViewport(true); |
1246 webViewHelper.webView()->settings()->setViewportMetaLayoutSizeQuirk(true); | 1249 webViewHelper.webView()->settings()->setViewportMetaLayoutSizeQuirk(true); |
1247 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1250 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
1248 | 1251 |
1249 EXPECT_EQ(viewportWidth, webViewHelper.webViewImpl()->mainFrameImpl()->frame
View()->layoutSize().width()); | 1252 EXPECT_EQ(viewportWidth, webViewHelper.webViewImpl()->mainFrameImpl()->frame
View()->layoutSize().width()); |
1250 EXPECT_EQ(1, webViewHelper.webView()->pageScaleFactor()); | 1253 EXPECT_EQ(1, webViewHelper.webView()->pageScaleFactor()); |
1251 | 1254 |
1252 webViewHelper.webView()->setFixedLayoutSize(WebSize(2000, 1500)); | 1255 webViewHelper.webView()->setFixedLayoutSize(WebSize(2000, 1500)); |
1253 webViewHelper.webView()->layout(); | 1256 webViewHelper.webView()->layout(); |
1254 EXPECT_EQ(2000, webViewHelper.webViewImpl()->mainFrameImpl()->frameView()->l
ayoutSize().width()); | 1257 EXPECT_EQ(2000, webViewHelper.webViewImpl()->mainFrameImpl()->frameView()->l
ayoutSize().width()); |
1255 EXPECT_EQ(0.5f, webViewHelper.webView()->pageScaleFactor()); | 1258 EXPECT_EQ(0.5f, webViewHelper.webView()->pageScaleFactor()); |
1256 } | 1259 } |
1257 | 1260 |
1258 TEST_F(WebFrameTest, WideViewportAndWideContentWithInitialScale) | 1261 TEST_F(WebFrameTest, WideViewportAndWideContentWithInitialScale) |
1259 { | 1262 { |
1260 UseMockScrollbarSettings mockScrollbarSettings; | 1263 UseMockScrollbarSettings mockScrollbarSettings; |
1261 registerMockedHttpURLLoad("wide_document_width_viewport.html"); | 1264 registerMockedHttpURLLoad("wide_document_width_viewport.html"); |
1262 | 1265 |
1263 FixedLayoutTestWebViewClient client; | 1266 FixedLayoutTestWebViewClient client; |
1264 client.m_screenInfo.deviceScaleFactor = 1; | 1267 client.m_screenInfo.deviceScaleFactor = 1; |
1265 int viewportWidth = 600; | 1268 int viewportWidth = 600; |
1266 int viewportHeight = 800; | 1269 int viewportHeight = 800; |
1267 | 1270 |
1268 FrameTestHelpers::WebViewHelper webViewHelper; | 1271 FrameTestHelpers::WebViewHelper webViewHelper; |
1269 webViewHelper.initializeAndLoad("about:blank", true, 0, &client); | 1272 webViewHelper.initializeAndLoad("about:blank", true, 0, &client, enableViewp
ortSettings); |
1270 webViewHelper.webView()->settings()->setViewportEnabled(true); | |
1271 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); | 1273 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); |
1272 webViewHelper.webView()->settings()->setUseWideViewport(true); | 1274 webViewHelper.webView()->settings()->setUseWideViewport(true); |
1273 webViewHelper.webView()->settings()->setViewportMetaLayoutSizeQuirk(true); | 1275 webViewHelper.webView()->settings()->setViewportMetaLayoutSizeQuirk(true); |
1274 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1276 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
1275 | 1277 |
1276 FrameTestHelpers::loadFrame(webViewHelper.webView()->mainFrame(), m_baseURL
+ "wide_document_width_viewport.html"); | 1278 FrameTestHelpers::loadFrame(webViewHelper.webView()->mainFrame(), m_baseURL
+ "wide_document_width_viewport.html"); |
1277 Platform::current()->unitTestSupport()->serveAsynchronousMockedRequests(); | 1279 Platform::current()->unitTestSupport()->serveAsynchronousMockedRequests(); |
1278 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1280 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
1279 | 1281 |
1280 int wideDocumentWidth = 800; | 1282 int wideDocumentWidth = 800; |
1281 float minimumPageScaleFactor = viewportWidth / (float) wideDocumentWidth; | 1283 float minimumPageScaleFactor = viewportWidth / (float) wideDocumentWidth; |
1282 EXPECT_EQ(minimumPageScaleFactor, webViewHelper.webView()->pageScaleFactor()
); | 1284 EXPECT_EQ(minimumPageScaleFactor, webViewHelper.webView()->pageScaleFactor()
); |
1283 EXPECT_EQ(minimumPageScaleFactor, webViewHelper.webView()->minimumPageScaleF
actor()); | 1285 EXPECT_EQ(minimumPageScaleFactor, webViewHelper.webView()->minimumPageScaleF
actor()); |
1284 } | 1286 } |
1285 | 1287 |
1286 TEST_F(WebFrameTest, ZeroValuesQuirk) | 1288 TEST_F(WebFrameTest, ZeroValuesQuirk) |
1287 { | 1289 { |
1288 UseMockScrollbarSettings mockScrollbarSettings; | 1290 UseMockScrollbarSettings mockScrollbarSettings; |
1289 registerMockedHttpURLLoad("viewport-zero-values.html"); | 1291 registerMockedHttpURLLoad("viewport-zero-values.html"); |
1290 | 1292 |
1291 FixedLayoutTestWebViewClient client; | 1293 FixedLayoutTestWebViewClient client; |
1292 client.m_screenInfo.deviceScaleFactor = 1; | 1294 client.m_screenInfo.deviceScaleFactor = 1; |
1293 int viewportWidth = 640; | 1295 int viewportWidth = 640; |
1294 int viewportHeight = 480; | 1296 int viewportHeight = 480; |
1295 | 1297 |
1296 FrameTestHelpers::WebViewHelper webViewHelper; | 1298 FrameTestHelpers::WebViewHelper webViewHelper; |
1297 webViewHelper.initialize(true, 0, &client); | 1299 webViewHelper.initialize(true, 0, &client, enableViewportSettings); |
1298 webViewHelper.webView()->settings()->setViewportEnabled(true); | |
1299 webViewHelper.webView()->settings()->setViewportMetaZeroValuesQuirk(true); | 1300 webViewHelper.webView()->settings()->setViewportMetaZeroValuesQuirk(true); |
1300 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); | 1301 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); |
1301 FrameTestHelpers::loadFrame(webViewHelper.webView()->mainFrame(), m_baseURL
+ "viewport-zero-values.html"); | 1302 FrameTestHelpers::loadFrame(webViewHelper.webView()->mainFrame(), m_baseURL
+ "viewport-zero-values.html"); |
1302 Platform::current()->unitTestSupport()->serveAsynchronousMockedRequests(); | 1303 Platform::current()->unitTestSupport()->serveAsynchronousMockedRequests(); |
1303 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1304 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
1304 | 1305 |
1305 EXPECT_EQ(viewportWidth, webViewHelper.webViewImpl()->mainFrameImpl()->frame
View()->layoutSize().width()); | 1306 EXPECT_EQ(viewportWidth, webViewHelper.webViewImpl()->mainFrameImpl()->frame
View()->layoutSize().width()); |
1306 EXPECT_EQ(1.0f, webViewHelper.webView()->pageScaleFactor()); | 1307 EXPECT_EQ(1.0f, webViewHelper.webView()->pageScaleFactor()); |
1307 | 1308 |
1308 webViewHelper.webView()->settings()->setUseWideViewport(true); | 1309 webViewHelper.webView()->settings()->setUseWideViewport(true); |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1355 UseMockScrollbarSettings mockScrollbarSettings; | 1356 UseMockScrollbarSettings mockScrollbarSettings; |
1356 registerMockedHttpURLLoad("viewport-nonzero-values.html"); | 1357 registerMockedHttpURLLoad("viewport-nonzero-values.html"); |
1357 | 1358 |
1358 FixedLayoutTestWebViewClient client; | 1359 FixedLayoutTestWebViewClient client; |
1359 client.m_screenInfo.deviceScaleFactor = 1; | 1360 client.m_screenInfo.deviceScaleFactor = 1; |
1360 int viewportWidth = 640; | 1361 int viewportWidth = 640; |
1361 int viewportHeight = 480; | 1362 int viewportHeight = 480; |
1362 float expectedPageScaleFactor = 0.5f; | 1363 float expectedPageScaleFactor = 0.5f; |
1363 | 1364 |
1364 FrameTestHelpers::WebViewHelper webViewHelper; | 1365 FrameTestHelpers::WebViewHelper webViewHelper; |
1365 webViewHelper.initialize(true, 0, &client); | 1366 webViewHelper.initialize(true, 0, &client, enableViewportSettings); |
1366 webViewHelper.webView()->settings()->setViewportEnabled(true); | |
1367 webViewHelper.webView()->settings()->setViewportMetaZeroValuesQuirk(true); | 1367 webViewHelper.webView()->settings()->setViewportMetaZeroValuesQuirk(true); |
1368 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); | 1368 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); |
1369 FrameTestHelpers::loadFrame(webViewHelper.webView()->mainFrame(), m_baseURL
+ "viewport-nonzero-values.html"); | 1369 FrameTestHelpers::loadFrame(webViewHelper.webView()->mainFrame(), m_baseURL
+ "viewport-nonzero-values.html"); |
1370 Platform::current()->unitTestSupport()->serveAsynchronousMockedRequests(); | 1370 Platform::current()->unitTestSupport()->serveAsynchronousMockedRequests(); |
1371 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1371 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
1372 | 1372 |
1373 EXPECT_EQ(viewportWidth / expectedPageScaleFactor, webViewHelper.webViewImpl
()->mainFrameImpl()->frameView()->layoutSize().width()); | 1373 EXPECT_EQ(viewportWidth / expectedPageScaleFactor, webViewHelper.webViewImpl
()->mainFrameImpl()->frameView()->layoutSize().width()); |
1374 EXPECT_EQ(expectedPageScaleFactor, webViewHelper.webView()->pageScaleFactor(
)); | 1374 EXPECT_EQ(expectedPageScaleFactor, webViewHelper.webView()->pageScaleFactor(
)); |
1375 | 1375 |
1376 webViewHelper.webView()->settings()->setUseWideViewport(true); | 1376 webViewHelper.webView()->settings()->setUseWideViewport(true); |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1533 float deviceScaleFactors[] = { 1.0f, 4.0f / 3.0f, 2.0f }; | 1533 float deviceScaleFactors[] = { 1.0f, 4.0f / 3.0f, 2.0f }; |
1534 int viewportWidth = 640; | 1534 int viewportWidth = 640; |
1535 int viewportHeight = 480; | 1535 int viewportHeight = 480; |
1536 | 1536 |
1537 for (size_t i = 0; i < ARRAY_SIZE(deviceScaleFactors); ++i) { | 1537 for (size_t i = 0; i < ARRAY_SIZE(deviceScaleFactors); ++i) { |
1538 float deviceScaleFactor = deviceScaleFactors[i]; | 1538 float deviceScaleFactor = deviceScaleFactors[i]; |
1539 float deviceDpi = deviceScaleFactor * 160.0f; | 1539 float deviceDpi = deviceScaleFactor * 160.0f; |
1540 client.m_screenInfo.deviceScaleFactor = deviceScaleFactor; | 1540 client.m_screenInfo.deviceScaleFactor = deviceScaleFactor; |
1541 | 1541 |
1542 FrameTestHelpers::WebViewHelper webViewHelper; | 1542 FrameTestHelpers::WebViewHelper webViewHelper; |
1543 webViewHelper.initializeAndLoad(m_baseURL + "viewport-target-densitydpi-
high.html", true, 0, &client); | 1543 webViewHelper.initializeAndLoad(m_baseURL + "viewport-target-densitydpi-
high.html", true, 0, &client, enableViewportSettings); |
1544 webViewHelper.webView()->settings()->setViewportEnabled(true); | |
1545 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); | 1544 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); |
1546 webViewHelper.webView()->settings()->setSupportDeprecatedTargetDensityDP
I(true); | 1545 webViewHelper.webView()->settings()->setSupportDeprecatedTargetDensityDP
I(true); |
1547 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1546 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
1548 | 1547 |
1549 // We need to account for the fact that logical pixels are unconditional
ly multiplied by deviceScaleFactor to produce | 1548 // We need to account for the fact that logical pixels are unconditional
ly multiplied by deviceScaleFactor to produce |
1550 // physical pixels. | 1549 // physical pixels. |
1551 float densityDpiScaleRatio = deviceScaleFactor * targetDpi / deviceDpi; | 1550 float densityDpiScaleRatio = deviceScaleFactor * targetDpi / deviceDpi; |
1552 EXPECT_NEAR(viewportWidth * densityDpiScaleRatio, webViewHelper.webViewI
mpl()->mainFrameImpl()->frameView()->layoutSize().width(), 1.0f); | 1551 EXPECT_NEAR(viewportWidth * densityDpiScaleRatio, webViewHelper.webViewI
mpl()->mainFrameImpl()->frameView()->layoutSize().width(), 1.0f); |
1553 EXPECT_NEAR(viewportHeight * densityDpiScaleRatio, webViewHelper.webView
Impl()->mainFrameImpl()->frameView()->layoutSize().height(), 1.0f); | 1552 EXPECT_NEAR(viewportHeight * densityDpiScaleRatio, webViewHelper.webView
Impl()->mainFrameImpl()->frameView()->layoutSize().height(), 1.0f); |
1554 EXPECT_NEAR(1.0f / densityDpiScaleRatio, webViewHelper.webView()->pageSc
aleFactor(), 0.01f); | 1553 EXPECT_NEAR(1.0f / densityDpiScaleRatio, webViewHelper.webView()->pageSc
aleFactor(), 0.01f); |
1555 } | 1554 } |
1556 } | 1555 } |
1557 | 1556 |
1558 TEST_F(WebFrameTest, targetDensityDpiDevice) | 1557 TEST_F(WebFrameTest, targetDensityDpiDevice) |
1559 { | 1558 { |
1560 UseMockScrollbarSettings mockScrollbarSettings; | 1559 UseMockScrollbarSettings mockScrollbarSettings; |
1561 registerMockedHttpURLLoad("viewport-target-densitydpi-device.html"); | 1560 registerMockedHttpURLLoad("viewport-target-densitydpi-device.html"); |
1562 | 1561 |
1563 float deviceScaleFactors[] = { 1.0f, 4.0f / 3.0f, 2.0f }; | 1562 float deviceScaleFactors[] = { 1.0f, 4.0f / 3.0f, 2.0f }; |
1564 | 1563 |
1565 FixedLayoutTestWebViewClient client; | 1564 FixedLayoutTestWebViewClient client; |
1566 int viewportWidth = 640; | 1565 int viewportWidth = 640; |
1567 int viewportHeight = 480; | 1566 int viewportHeight = 480; |
1568 | 1567 |
1569 for (size_t i = 0; i < ARRAY_SIZE(deviceScaleFactors); ++i) { | 1568 for (size_t i = 0; i < ARRAY_SIZE(deviceScaleFactors); ++i) { |
1570 client.m_screenInfo.deviceScaleFactor = deviceScaleFactors[i]; | 1569 client.m_screenInfo.deviceScaleFactor = deviceScaleFactors[i]; |
1571 | 1570 |
1572 FrameTestHelpers::WebViewHelper webViewHelper; | 1571 FrameTestHelpers::WebViewHelper webViewHelper; |
1573 webViewHelper.initializeAndLoad(m_baseURL + "viewport-target-densitydpi-
device.html", true, 0, &client); | 1572 webViewHelper.initializeAndLoad(m_baseURL + "viewport-target-densitydpi-
device.html", true, 0, &client, enableViewportSettings); |
1574 webViewHelper.webView()->settings()->setViewportEnabled(true); | |
1575 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); | 1573 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); |
1576 webViewHelper.webView()->settings()->setSupportDeprecatedTargetDensityDP
I(true); | 1574 webViewHelper.webView()->settings()->setSupportDeprecatedTargetDensityDP
I(true); |
1577 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1575 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
1578 | 1576 |
1579 EXPECT_NEAR(viewportWidth * client.m_screenInfo.deviceScaleFactor, webVi
ewHelper.webViewImpl()->mainFrameImpl()->frameView()->layoutSize().width(), 1.0f
); | 1577 EXPECT_NEAR(viewportWidth * client.m_screenInfo.deviceScaleFactor, webVi
ewHelper.webViewImpl()->mainFrameImpl()->frameView()->layoutSize().width(), 1.0f
); |
1580 EXPECT_NEAR(viewportHeight * client.m_screenInfo.deviceScaleFactor, webV
iewHelper.webViewImpl()->mainFrameImpl()->frameView()->layoutSize().height(), 1.
0f); | 1578 EXPECT_NEAR(viewportHeight * client.m_screenInfo.deviceScaleFactor, webV
iewHelper.webViewImpl()->mainFrameImpl()->frameView()->layoutSize().height(), 1.
0f); |
1581 EXPECT_NEAR(1.0f / client.m_screenInfo.deviceScaleFactor, webViewHelper.
webView()->pageScaleFactor(), 0.01f); | 1579 EXPECT_NEAR(1.0f / client.m_screenInfo.deviceScaleFactor, webViewHelper.
webView()->pageScaleFactor(), 0.01f); |
1582 } | 1580 } |
1583 } | 1581 } |
1584 | 1582 |
1585 TEST_F(WebFrameTest, targetDensityDpiDeviceAndFixedWidth) | 1583 TEST_F(WebFrameTest, targetDensityDpiDeviceAndFixedWidth) |
1586 { | 1584 { |
1587 UseMockScrollbarSettings mockScrollbarSettings; | 1585 UseMockScrollbarSettings mockScrollbarSettings; |
1588 registerMockedHttpURLLoad("viewport-target-densitydpi-device-and-fixed-width
.html"); | 1586 registerMockedHttpURLLoad("viewport-target-densitydpi-device-and-fixed-width
.html"); |
1589 | 1587 |
1590 float deviceScaleFactors[] = { 1.0f, 4.0f / 3.0f, 2.0f }; | 1588 float deviceScaleFactors[] = { 1.0f, 4.0f / 3.0f, 2.0f }; |
1591 | 1589 |
1592 FixedLayoutTestWebViewClient client; | 1590 FixedLayoutTestWebViewClient client; |
1593 int viewportWidth = 640; | 1591 int viewportWidth = 640; |
1594 int viewportHeight = 480; | 1592 int viewportHeight = 480; |
1595 | 1593 |
1596 for (size_t i = 0; i < ARRAY_SIZE(deviceScaleFactors); ++i) { | 1594 for (size_t i = 0; i < ARRAY_SIZE(deviceScaleFactors); ++i) { |
1597 client.m_screenInfo.deviceScaleFactor = deviceScaleFactors[i]; | 1595 client.m_screenInfo.deviceScaleFactor = deviceScaleFactors[i]; |
1598 | 1596 |
1599 FrameTestHelpers::WebViewHelper webViewHelper; | 1597 FrameTestHelpers::WebViewHelper webViewHelper; |
1600 webViewHelper.initializeAndLoad(m_baseURL + "viewport-target-densitydpi-
device-and-fixed-width.html", true, 0, &client); | 1598 webViewHelper.initializeAndLoad(m_baseURL + "viewport-target-densitydpi-
device-and-fixed-width.html", true, 0, &client, enableViewportSettings); |
1601 webViewHelper.webView()->settings()->setViewportEnabled(true); | |
1602 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); | 1599 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); |
1603 webViewHelper.webView()->settings()->setSupportDeprecatedTargetDensityDP
I(true); | 1600 webViewHelper.webView()->settings()->setSupportDeprecatedTargetDensityDP
I(true); |
1604 webViewHelper.webView()->settings()->setUseWideViewport(true); | 1601 webViewHelper.webView()->settings()->setUseWideViewport(true); |
1605 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1602 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
1606 | 1603 |
1607 EXPECT_NEAR(viewportWidth, webViewHelper.webViewImpl()->mainFrameImpl()-
>frameView()->layoutSize().width(), 1.0f); | 1604 EXPECT_NEAR(viewportWidth, webViewHelper.webViewImpl()->mainFrameImpl()-
>frameView()->layoutSize().width(), 1.0f); |
1608 EXPECT_NEAR(viewportHeight, webViewHelper.webViewImpl()->mainFrameImpl()
->frameView()->layoutSize().height(), 1.0f); | 1605 EXPECT_NEAR(viewportHeight, webViewHelper.webViewImpl()->mainFrameImpl()
->frameView()->layoutSize().height(), 1.0f); |
1609 EXPECT_NEAR(1.0f, webViewHelper.webView()->pageScaleFactor(), 0.01f); | 1606 EXPECT_NEAR(1.0f, webViewHelper.webView()->pageScaleFactor(), 0.01f); |
1610 } | 1607 } |
1611 } | 1608 } |
1612 | 1609 |
1613 TEST_F(WebFrameTest, NoWideViewportAndScaleLessThanOne) | 1610 TEST_F(WebFrameTest, NoWideViewportAndScaleLessThanOne) |
1614 { | 1611 { |
1615 UseMockScrollbarSettings mockScrollbarSettings; | 1612 UseMockScrollbarSettings mockScrollbarSettings; |
1616 registerMockedHttpURLLoad("viewport-initial-scale-less-than-1.html"); | 1613 registerMockedHttpURLLoad("viewport-initial-scale-less-than-1.html"); |
1617 | 1614 |
1618 FixedLayoutTestWebViewClient client; | 1615 FixedLayoutTestWebViewClient client; |
1619 client.m_screenInfo.deviceScaleFactor = 1.33f; | 1616 client.m_screenInfo.deviceScaleFactor = 1.33f; |
1620 int viewportWidth = 640; | 1617 int viewportWidth = 640; |
1621 int viewportHeight = 480; | 1618 int viewportHeight = 480; |
1622 | 1619 |
1623 FrameTestHelpers::WebViewHelper webViewHelper; | 1620 FrameTestHelpers::WebViewHelper webViewHelper; |
1624 webViewHelper.initializeAndLoad(m_baseURL + "viewport-initial-scale-less-tha
n-1.html", true, 0, &client); | 1621 webViewHelper.initializeAndLoad(m_baseURL + "viewport-initial-scale-less-tha
n-1.html", true, 0, &client, enableViewportSettings); |
1625 webViewHelper.webView()->settings()->setViewportEnabled(true); | |
1626 webViewHelper.webView()->settings()->setSupportDeprecatedTargetDensityDPI(tr
ue); | 1622 webViewHelper.webView()->settings()->setSupportDeprecatedTargetDensityDPI(tr
ue); |
1627 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); | 1623 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); |
1628 webViewHelper.webView()->settings()->setUseWideViewport(false); | 1624 webViewHelper.webView()->settings()->setUseWideViewport(false); |
1629 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1625 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
1630 webViewHelper.webView()->layout(); | 1626 webViewHelper.webView()->layout(); |
1631 | 1627 |
1632 EXPECT_NEAR(viewportWidth * client.m_screenInfo.deviceScaleFactor, webViewHe
lper.webViewImpl()->mainFrameImpl()->frameView()->layoutSize().width(), 1.0f); | 1628 EXPECT_NEAR(viewportWidth * client.m_screenInfo.deviceScaleFactor, webViewHe
lper.webViewImpl()->mainFrameImpl()->frameView()->layoutSize().width(), 1.0f); |
1633 EXPECT_NEAR(viewportHeight * client.m_screenInfo.deviceScaleFactor, webViewH
elper.webViewImpl()->mainFrameImpl()->frameView()->layoutSize().height(), 1.0f); | 1629 EXPECT_NEAR(viewportHeight * client.m_screenInfo.deviceScaleFactor, webViewH
elper.webViewImpl()->mainFrameImpl()->frameView()->layoutSize().height(), 1.0f); |
1634 EXPECT_NEAR(1.0f / client.m_screenInfo.deviceScaleFactor, webViewHelper.webV
iew()->pageScaleFactor(), 0.01f); | 1630 EXPECT_NEAR(1.0f / client.m_screenInfo.deviceScaleFactor, webViewHelper.webV
iew()->pageScaleFactor(), 0.01f); |
1635 } | 1631 } |
1636 | 1632 |
1637 TEST_F(WebFrameTest, NoWideViewportAndScaleLessThanOneWithDeviceWidth) | 1633 TEST_F(WebFrameTest, NoWideViewportAndScaleLessThanOneWithDeviceWidth) |
1638 { | 1634 { |
1639 UseMockScrollbarSettings mockScrollbarSettings; | 1635 UseMockScrollbarSettings mockScrollbarSettings; |
1640 registerMockedHttpURLLoad("viewport-initial-scale-less-than-1-device-width.h
tml"); | 1636 registerMockedHttpURLLoad("viewport-initial-scale-less-than-1-device-width.h
tml"); |
1641 | 1637 |
1642 FixedLayoutTestWebViewClient client; | 1638 FixedLayoutTestWebViewClient client; |
1643 client.m_screenInfo.deviceScaleFactor = 1.33f; | 1639 client.m_screenInfo.deviceScaleFactor = 1.33f; |
1644 int viewportWidth = 640; | 1640 int viewportWidth = 640; |
1645 int viewportHeight = 480; | 1641 int viewportHeight = 480; |
1646 | 1642 |
1647 FrameTestHelpers::WebViewHelper webViewHelper; | 1643 FrameTestHelpers::WebViewHelper webViewHelper; |
1648 webViewHelper.initializeAndLoad(m_baseURL + "viewport-initial-scale-less-tha
n-1-device-width.html", true, 0, &client); | 1644 webViewHelper.initializeAndLoad(m_baseURL + "viewport-initial-scale-less-tha
n-1-device-width.html", true, 0, &client, enableViewportSettings); |
1649 webViewHelper.webView()->settings()->setViewportEnabled(true); | |
1650 webViewHelper.webView()->settings()->setSupportDeprecatedTargetDensityDPI(tr
ue); | 1645 webViewHelper.webView()->settings()->setSupportDeprecatedTargetDensityDPI(tr
ue); |
1651 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); | 1646 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); |
1652 webViewHelper.webView()->settings()->setUseWideViewport(false); | 1647 webViewHelper.webView()->settings()->setUseWideViewport(false); |
1653 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1648 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
1654 webViewHelper.webView()->layout(); | 1649 webViewHelper.webView()->layout(); |
1655 | 1650 |
1656 const float pageZoom = 0.25f; | 1651 const float pageZoom = 0.25f; |
1657 EXPECT_NEAR(viewportWidth * client.m_screenInfo.deviceScaleFactor / pageZoom
, webViewHelper.webViewImpl()->mainFrameImpl()->frameView()->layoutSize().width(
), 1.0f); | 1652 EXPECT_NEAR(viewportWidth * client.m_screenInfo.deviceScaleFactor / pageZoom
, webViewHelper.webViewImpl()->mainFrameImpl()->frameView()->layoutSize().width(
), 1.0f); |
1658 EXPECT_NEAR(viewportHeight * client.m_screenInfo.deviceScaleFactor / pageZoo
m, webViewHelper.webViewImpl()->mainFrameImpl()->frameView()->layoutSize().heigh
t(), 1.0f); | 1653 EXPECT_NEAR(viewportHeight * client.m_screenInfo.deviceScaleFactor / pageZoo
m, webViewHelper.webViewImpl()->mainFrameImpl()->frameView()->layoutSize().heigh
t(), 1.0f); |
1659 EXPECT_NEAR(1.0f / client.m_screenInfo.deviceScaleFactor, webViewHelper.webV
iew()->pageScaleFactor(), 0.01f); | 1654 EXPECT_NEAR(1.0f / client.m_screenInfo.deviceScaleFactor, webViewHelper.webV
iew()->pageScaleFactor(), 0.01f); |
(...skipping 13 matching lines...) Expand all Loading... |
1673 const float initialPageScaleFacto
r, | 1668 const float initialPageScaleFacto
r, |
1674 const WebSize scrollOffset, | 1669 const WebSize scrollOffset, |
1675 const WebSize viewportSize, | 1670 const WebSize viewportSize, |
1676 const bool shouldScaleRelativeToV
iewportWidth) { | 1671 const bool shouldScaleRelativeToV
iewportWidth) { |
1677 UseMockScrollbarSettings mockScrollbarSettings; | 1672 UseMockScrollbarSettings mockScrollbarSettings; |
1678 registerMockedHttpURLLoad(url); | 1673 registerMockedHttpURLLoad(url); |
1679 | 1674 |
1680 const float aspectRatio = static_cast<float>(viewportSize.width) / viewp
ortSize.height; | 1675 const float aspectRatio = static_cast<float>(viewportSize.width) / viewp
ortSize.height; |
1681 | 1676 |
1682 FrameTestHelpers::WebViewHelper webViewHelper; | 1677 FrameTestHelpers::WebViewHelper webViewHelper; |
1683 webViewHelper.initializeAndLoad(m_baseURL + url, true); | 1678 webViewHelper.initializeAndLoad(m_baseURL + url, true, 0, 0, enableViewp
ortSettings); |
1684 webViewHelper.webView()->settings()->setViewportEnabled(true); | |
1685 | 1679 |
1686 // Origin scrollOffsets preserved under resize. | 1680 // Origin scrollOffsets preserved under resize. |
1687 { | 1681 { |
1688 webViewHelper.webViewImpl()->resize(WebSize(viewportSize.width, view
portSize.height)); | 1682 webViewHelper.webViewImpl()->resize(WebSize(viewportSize.width, view
portSize.height)); |
1689 webViewHelper.webViewImpl()->setPageScaleFactor(initialPageScaleFact
or, WebPoint()); | 1683 webViewHelper.webViewImpl()->setPageScaleFactor(initialPageScaleFact
or, WebPoint()); |
1690 ASSERT_EQ(viewportSize, webViewHelper.webViewImpl()->size()); | 1684 ASSERT_EQ(viewportSize, webViewHelper.webViewImpl()->size()); |
1691 ASSERT_EQ(initialPageScaleFactor, webViewHelper.webViewImpl()->pageS
caleFactor()); | 1685 ASSERT_EQ(initialPageScaleFactor, webViewHelper.webViewImpl()->pageS
caleFactor()); |
1692 webViewHelper.webViewImpl()->resize(WebSize(viewportSize.height, vie
wportSize.width)); | 1686 webViewHelper.webViewImpl()->resize(WebSize(viewportSize.height, vie
wportSize.width)); |
1693 float expectedPageScaleFactor = initialPageScaleFactor * (shouldScal
eRelativeToViewportWidth ? 1 / aspectRatio : 1); | 1687 float expectedPageScaleFactor = initialPageScaleFactor * (shouldScal
eRelativeToViewportWidth ? 1 / aspectRatio : 1); |
1694 EXPECT_NEAR(expectedPageScaleFactor, webViewHelper.webViewImpl()->pa
geScaleFactor(), 0.05f); | 1688 EXPECT_NEAR(expectedPageScaleFactor, webViewHelper.webViewImpl()->pa
geScaleFactor(), 0.05f); |
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1849 UseMockScrollbarSettings mockScrollbarSettings; | 1843 UseMockScrollbarSettings mockScrollbarSettings; |
1850 | 1844 |
1851 registerMockedHttpURLLoad("no_scale_for_you.html"); | 1845 registerMockedHttpURLLoad("no_scale_for_you.html"); |
1852 | 1846 |
1853 FixedLayoutTestWebViewClient client; | 1847 FixedLayoutTestWebViewClient client; |
1854 client.m_screenInfo.deviceScaleFactor = 1; | 1848 client.m_screenInfo.deviceScaleFactor = 1; |
1855 int viewportWidth = 640; | 1849 int viewportWidth = 640; |
1856 int viewportHeight = 480; | 1850 int viewportHeight = 480; |
1857 | 1851 |
1858 FrameTestHelpers::WebViewHelper webViewHelper; | 1852 FrameTestHelpers::WebViewHelper webViewHelper; |
1859 webViewHelper.initializeAndLoad(m_baseURL + "no_scale_for_you.html", true, 0
, &client); | 1853 webViewHelper.initializeAndLoad(m_baseURL + "no_scale_for_you.html", true, 0
, &client, enableViewportSettings); |
1860 webViewHelper.webView()->settings()->setViewportEnabled(true); | |
1861 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1854 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
1862 | 1855 |
1863 EXPECT_EQ(2.0f, webViewHelper.webView()->minimumPageScaleFactor()); | 1856 EXPECT_EQ(2.0f, webViewHelper.webView()->minimumPageScaleFactor()); |
1864 EXPECT_EQ(2.0f, webViewHelper.webView()->maximumPageScaleFactor()); | 1857 EXPECT_EQ(2.0f, webViewHelper.webView()->maximumPageScaleFactor()); |
1865 | 1858 |
1866 webViewHelper.webView()->setIgnoreViewportTagScaleLimits(true); | 1859 webViewHelper.webView()->setIgnoreViewportTagScaleLimits(true); |
1867 webViewHelper.webView()->layout(); | 1860 webViewHelper.webView()->layout(); |
1868 | 1861 |
1869 EXPECT_EQ(1.0f, webViewHelper.webView()->minimumPageScaleFactor()); | 1862 EXPECT_EQ(1.0f, webViewHelper.webView()->minimumPageScaleFactor()); |
1870 EXPECT_EQ(5.0f, webViewHelper.webView()->maximumPageScaleFactor()); | 1863 EXPECT_EQ(5.0f, webViewHelper.webView()->maximumPageScaleFactor()); |
(...skipping 2811 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4682 | 4675 |
4683 FrameTestHelpers::loadFrame(frame, | 4676 FrameTestHelpers::loadFrame(frame, |
4684 "javascript:window.frames[1].location.assign('" + m_baseURL + "find.html
')"); | 4677 "javascript:window.frames[1].location.assign('" + m_baseURL + "find.html
')"); |
4685 runPendingTasks(); | 4678 runPendingTasks(); |
4686 Platform::current()->unitTestSupport()->serveAsynchronousMockedRequests(); | 4679 Platform::current()->unitTestSupport()->serveAsynchronousMockedRequests(); |
4687 EXPECT_EQ(client.frame(), iframe); | 4680 EXPECT_EQ(client.frame(), iframe); |
4688 EXPECT_FALSE(client.replacesCurrentHistoryItem()); | 4681 EXPECT_FALSE(client.replacesCurrentHistoryItem()); |
4689 } | 4682 } |
4690 | 4683 |
4691 } // namespace | 4684 } // namespace |
OLD | NEW |