| 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 |