| 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 980 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 991 webViewHelper.webView()->settings()->setViewportEnabled(true); | 991 webViewHelper.webView()->settings()->setViewportEnabled(true); |
| 992 webViewHelper.webView()->settings()->setLoadWithOverviewMode(false); | 992 webViewHelper.webView()->settings()->setLoadWithOverviewMode(false); |
| 993 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); | 993 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); |
| 994 webViewHelper.webView()->settings()->setUseWideViewport(false); | 994 webViewHelper.webView()->settings()->setUseWideViewport(false); |
| 995 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 995 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
| 996 | 996 |
| 997 // The page must be displayed at 100% zoom, despite that it hosts a wide div
element. | 997 // The page must be displayed at 100% zoom, despite that it hosts a wide div
element. |
| 998 EXPECT_EQ(1.0f, webViewHelper.webView()->pageScaleFactor()); | 998 EXPECT_EQ(1.0f, webViewHelper.webView()->pageScaleFactor()); |
| 999 } | 999 } |
| 1000 | 1000 |
| 1001 // Viewport settings need to be set before the page gets loaded |
| 1002 static void enableViewportSettings(WebSettings* settings) |
| 1003 { |
| 1004 settings->setViewportMetaEnabled(true); |
| 1005 settings->setViewportEnabled(true); |
| 1006 settings->setMainFrameResizesAreOrientationChanges(true); |
| 1007 } |
| 1008 |
| 1001 TEST_F(WebFrameTest, NoWideViewportIgnoresPageViewportWidth) | 1009 TEST_F(WebFrameTest, NoWideViewportIgnoresPageViewportWidth) |
| 1002 { | 1010 { |
| 1003 UseMockScrollbarSettings mockScrollbarSettings; | 1011 UseMockScrollbarSettings mockScrollbarSettings; |
| 1004 registerMockedHttpURLLoad("viewport-auto-initial-scale.html"); | 1012 registerMockedHttpURLLoad("viewport-auto-initial-scale.html"); |
| 1005 | 1013 |
| 1006 FixedLayoutTestWebViewClient client; | 1014 FixedLayoutTestWebViewClient client; |
| 1007 client.m_screenInfo.deviceScaleFactor = 1; | 1015 client.m_screenInfo.deviceScaleFactor = 1; |
| 1008 int viewportWidth = 640; | 1016 int viewportWidth = 640; |
| 1009 int viewportHeight = 480; | 1017 int viewportHeight = 480; |
| 1010 | 1018 |
| (...skipping 13 matching lines...) Expand all Loading... |
| 1024 { | 1032 { |
| 1025 UseMockScrollbarSettings mockScrollbarSettings; | 1033 UseMockScrollbarSettings mockScrollbarSettings; |
| 1026 registerMockedHttpURLLoad("viewport-wide-2x-initial-scale.html"); | 1034 registerMockedHttpURLLoad("viewport-wide-2x-initial-scale.html"); |
| 1027 | 1035 |
| 1028 FixedLayoutTestWebViewClient client; | 1036 FixedLayoutTestWebViewClient client; |
| 1029 client.m_screenInfo.deviceScaleFactor = 1; | 1037 client.m_screenInfo.deviceScaleFactor = 1; |
| 1030 int viewportWidth = 640; | 1038 int viewportWidth = 640; |
| 1031 int viewportHeight = 480; | 1039 int viewportHeight = 480; |
| 1032 | 1040 |
| 1033 FrameTestHelpers::WebViewHelper webViewHelper; | 1041 FrameTestHelpers::WebViewHelper webViewHelper; |
| 1034 webViewHelper.initializeAndLoad(m_baseURL + "viewport-wide-2x-initial-scale.
html", true, 0, &client); | 1042 webViewHelper.initializeAndLoad(m_baseURL + "viewport-wide-2x-initial-scale.
html", true, 0, &client, enableViewportSettings); |
| 1035 webViewHelper.webView()->settings()->setViewportEnabled(true); | |
| 1036 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); | 1043 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); |
| 1037 webViewHelper.webView()->settings()->setUseWideViewport(false); | 1044 webViewHelper.webView()->settings()->setUseWideViewport(false); |
| 1038 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1045 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
| 1039 | 1046 |
| 1040 // The page sets viewport width to 3000, but with UseWideViewport == false i
t must be ignored. | 1047 // The page sets viewport width to 3000, but with UseWideViewport == false i
t must be ignored. |
| 1041 // While the initial scale specified by the page must be accounted. | 1048 // While the initial scale specified by the page must be accounted. |
| 1042 EXPECT_EQ(viewportWidth / 2, webViewHelper.webViewImpl()->mainFrameImpl()->f
rameView()->contentsSize().width()); | 1049 EXPECT_EQ(viewportWidth / 2, webViewHelper.webViewImpl()->mainFrameImpl()->f
rameView()->contentsSize().width()); |
| 1043 EXPECT_EQ(viewportHeight / 2, webViewHelper.webViewImpl()->mainFrameImpl()->
frameView()->contentsSize().height()); | 1050 EXPECT_EQ(viewportHeight / 2, webViewHelper.webViewImpl()->mainFrameImpl()->
frameView()->contentsSize().height()); |
| 1044 } | 1051 } |
| 1045 | 1052 |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1109 { | 1116 { |
| 1110 UseMockScrollbarSettings mockScrollbarSettings; | 1117 UseMockScrollbarSettings mockScrollbarSettings; |
| 1111 registerMockedHttpURLLoad("viewport-wide-2x-initial-scale.html"); | 1118 registerMockedHttpURLLoad("viewport-wide-2x-initial-scale.html"); |
| 1112 | 1119 |
| 1113 FixedLayoutTestWebViewClient client; | 1120 FixedLayoutTestWebViewClient client; |
| 1114 client.m_screenInfo.deviceScaleFactor = 1; | 1121 client.m_screenInfo.deviceScaleFactor = 1; |
| 1115 int viewportWidth = 640; | 1122 int viewportWidth = 640; |
| 1116 int viewportHeight = 480; | 1123 int viewportHeight = 480; |
| 1117 | 1124 |
| 1118 FrameTestHelpers::WebViewHelper webViewHelper; | 1125 FrameTestHelpers::WebViewHelper webViewHelper; |
| 1119 webViewHelper.initializeAndLoad(m_baseURL + "viewport-wide-2x-initial-scale.
html", true, 0, &client); | 1126 webViewHelper.initializeAndLoad(m_baseURL + "viewport-wide-2x-initial-scale.
html", true, 0, &client, enableViewportSettings); |
| 1120 webViewHelper.webView()->settings()->setViewportEnabled(true); | |
| 1121 webViewHelper.webView()->settings()->setLoadWithOverviewMode(false); | 1127 webViewHelper.webView()->settings()->setLoadWithOverviewMode(false); |
| 1122 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1128 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
| 1123 | 1129 |
| 1124 // The page must be displayed at 200% zoom, as specified in its viewport met
a tag. | 1130 // The page must be displayed at 200% zoom, as specified in its viewport met
a tag. |
| 1125 EXPECT_EQ(2.0f, webViewHelper.webView()->pageScaleFactor()); | 1131 EXPECT_EQ(2.0f, webViewHelper.webView()->pageScaleFactor()); |
| 1126 } | 1132 } |
| 1127 | 1133 |
| 1128 TEST_F(WebFrameTest, setInitialPageScaleFactorPermanently) | 1134 TEST_F(WebFrameTest, setInitialPageScaleFactorPermanently) |
| 1129 { | 1135 { |
| 1130 UseMockScrollbarSettings mockScrollbarSettings; | 1136 UseMockScrollbarSettings mockScrollbarSettings; |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1162 UseMockScrollbarSettings mockScrollbarSettings; | 1168 UseMockScrollbarSettings mockScrollbarSettings; |
| 1163 registerMockedHttpURLLoad("viewport-auto-initial-scale.html"); | 1169 registerMockedHttpURLLoad("viewport-auto-initial-scale.html"); |
| 1164 | 1170 |
| 1165 FixedLayoutTestWebViewClient client; | 1171 FixedLayoutTestWebViewClient client; |
| 1166 client.m_screenInfo.deviceScaleFactor = 1; | 1172 client.m_screenInfo.deviceScaleFactor = 1; |
| 1167 int viewportWidth = 640; | 1173 int viewportWidth = 640; |
| 1168 int viewportHeight = 480; | 1174 int viewportHeight = 480; |
| 1169 float enforcedPageScalePactor = 0.5f; | 1175 float enforcedPageScalePactor = 0.5f; |
| 1170 | 1176 |
| 1171 FrameTestHelpers::WebViewHelper webViewHelper; | 1177 FrameTestHelpers::WebViewHelper webViewHelper; |
| 1172 webViewHelper.initializeAndLoad(m_baseURL + "viewport-auto-initial-scale.htm
l", true, 0, &client); | 1178 webViewHelper.initializeAndLoad(m_baseURL + "viewport-auto-initial-scale.htm
l", true, 0, &client, enableViewportSettings); |
| 1173 webViewHelper.webView()->settings()->setViewportEnabled(true); | |
| 1174 webViewHelper.webView()->settings()->setLoadWithOverviewMode(false); | 1179 webViewHelper.webView()->settings()->setLoadWithOverviewMode(false); |
| 1175 webViewHelper.webView()->setInitialPageScaleOverride(enforcedPageScalePactor
); | 1180 webViewHelper.webView()->setInitialPageScaleOverride(enforcedPageScalePactor
); |
| 1176 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1181 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
| 1177 | 1182 |
| 1178 EXPECT_EQ(enforcedPageScalePactor, webViewHelper.webView()->pageScaleFactor(
)); | 1183 EXPECT_EQ(enforcedPageScalePactor, webViewHelper.webView()->pageScaleFactor(
)); |
| 1179 } | 1184 } |
| 1180 | 1185 |
| 1181 TEST_F(WebFrameTest, PermanentInitialPageScaleFactorOverridesPageViewportInitial
Scale) | 1186 TEST_F(WebFrameTest, PermanentInitialPageScaleFactorOverridesPageViewportInitial
Scale) |
| 1182 { | 1187 { |
| 1183 UseMockScrollbarSettings mockScrollbarSettings; | 1188 UseMockScrollbarSettings mockScrollbarSettings; |
| 1184 registerMockedHttpURLLoad("viewport-wide-2x-initial-scale.html"); | 1189 registerMockedHttpURLLoad("viewport-wide-2x-initial-scale.html"); |
| 1185 | 1190 |
| 1186 FixedLayoutTestWebViewClient client; | 1191 FixedLayoutTestWebViewClient client; |
| 1187 client.m_screenInfo.deviceScaleFactor = 1; | 1192 client.m_screenInfo.deviceScaleFactor = 1; |
| 1188 int viewportWidth = 640; | 1193 int viewportWidth = 640; |
| 1189 int viewportHeight = 480; | 1194 int viewportHeight = 480; |
| 1190 float enforcedPageScalePactor = 0.5f; | 1195 float enforcedPageScalePactor = 0.5f; |
| 1191 | 1196 |
| 1192 FrameTestHelpers::WebViewHelper webViewHelper; | 1197 FrameTestHelpers::WebViewHelper webViewHelper; |
| 1193 webViewHelper.initializeAndLoad(m_baseURL + "viewport-wide-2x-initial-scale.
html", true, 0, &client); | 1198 webViewHelper.initializeAndLoad(m_baseURL + "viewport-wide-2x-initial-scale.
html", true, 0, &client, enableViewportSettings); |
| 1194 webViewHelper.webView()->settings()->setViewportEnabled(true); | |
| 1195 webViewHelper.webView()->setInitialPageScaleOverride(enforcedPageScalePactor
); | 1199 webViewHelper.webView()->setInitialPageScaleOverride(enforcedPageScalePactor
); |
| 1196 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1200 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
| 1197 | 1201 |
| 1198 EXPECT_EQ(enforcedPageScalePactor, webViewHelper.webView()->pageScaleFactor(
)); | 1202 EXPECT_EQ(enforcedPageScalePactor, webViewHelper.webView()->pageScaleFactor(
)); |
| 1199 } | 1203 } |
| 1200 | 1204 |
| 1201 TEST_F(WebFrameTest, WideViewportInitialScaleDoesNotExpandFixedLayoutWidth) | 1205 TEST_F(WebFrameTest, WideViewportInitialScaleDoesNotExpandFixedLayoutWidth) |
| 1202 { | 1206 { |
| 1203 UseMockScrollbarSettings mockScrollbarSettings; | 1207 UseMockScrollbarSettings mockScrollbarSettings; |
| 1204 registerMockedHttpURLLoad("viewport-device-0.5x-initial-scale.html"); | 1208 registerMockedHttpURLLoad("viewport-device-0.5x-initial-scale.html"); |
| 1205 | 1209 |
| 1206 FixedLayoutTestWebViewClient client; | 1210 FixedLayoutTestWebViewClient client; |
| 1207 client.m_screenInfo.deviceScaleFactor = 1; | 1211 client.m_screenInfo.deviceScaleFactor = 1; |
| 1208 int viewportWidth = 640; | 1212 int viewportWidth = 640; |
| 1209 int viewportHeight = 480; | 1213 int viewportHeight = 480; |
| 1210 | 1214 |
| 1211 FrameTestHelpers::WebViewHelper webViewHelper; | 1215 FrameTestHelpers::WebViewHelper webViewHelper; |
| 1212 webViewHelper.initializeAndLoad(m_baseURL + "viewport-device-0.5x-initial-sc
ale.html", true, 0, &client); | 1216 webViewHelper.initializeAndLoad(m_baseURL + "viewport-device-0.5x-initial-sc
ale.html", true, 0, &client, enableViewportSettings); |
| 1213 webViewHelper.webView()->settings()->setViewportEnabled(true); | |
| 1214 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); | 1217 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); |
| 1215 webViewHelper.webView()->settings()->setUseWideViewport(true); | 1218 webViewHelper.webView()->settings()->setUseWideViewport(true); |
| 1216 webViewHelper.webView()->settings()->setViewportMetaLayoutSizeQuirk(true); | 1219 webViewHelper.webView()->settings()->setViewportMetaLayoutSizeQuirk(true); |
| 1217 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1220 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
| 1218 | 1221 |
| 1219 EXPECT_EQ(viewportWidth, webViewHelper.webViewImpl()->mainFrameImpl()->frame
View()->layoutSize().width()); | 1222 EXPECT_EQ(viewportWidth, webViewHelper.webViewImpl()->mainFrameImpl()->frame
View()->layoutSize().width()); |
| 1220 } | 1223 } |
| 1221 | 1224 |
| 1222 TEST_F(WebFrameTest, WideViewportAndWideContentWithInitialScale) | 1225 TEST_F(WebFrameTest, WideViewportAndWideContentWithInitialScale) |
| 1223 { | 1226 { |
| 1224 UseMockScrollbarSettings mockScrollbarSettings; | 1227 UseMockScrollbarSettings mockScrollbarSettings; |
| 1225 registerMockedHttpURLLoad("wide_document_width_viewport.html"); | 1228 registerMockedHttpURLLoad("wide_document_width_viewport.html"); |
| 1226 | 1229 |
| 1227 FixedLayoutTestWebViewClient client; | 1230 FixedLayoutTestWebViewClient client; |
| 1228 client.m_screenInfo.deviceScaleFactor = 1; | 1231 client.m_screenInfo.deviceScaleFactor = 1; |
| 1229 int viewportWidth = 600; | 1232 int viewportWidth = 600; |
| 1230 int viewportHeight = 800; | 1233 int viewportHeight = 800; |
| 1231 | 1234 |
| 1232 FrameTestHelpers::WebViewHelper webViewHelper; | 1235 FrameTestHelpers::WebViewHelper webViewHelper; |
| 1233 webViewHelper.initializeAndLoad("about:blank", true, 0, &client); | 1236 webViewHelper.initializeAndLoad("about:blank", true, 0, &client, enableViewp
ortSettings); |
| 1234 webViewHelper.webView()->settings()->setViewportEnabled(true); | |
| 1235 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); | 1237 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); |
| 1236 webViewHelper.webView()->settings()->setUseWideViewport(true); | 1238 webViewHelper.webView()->settings()->setUseWideViewport(true); |
| 1237 webViewHelper.webView()->settings()->setViewportMetaLayoutSizeQuirk(true); | 1239 webViewHelper.webView()->settings()->setViewportMetaLayoutSizeQuirk(true); |
| 1238 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1240 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
| 1239 | 1241 |
| 1240 FrameTestHelpers::loadFrame(webViewHelper.webView()->mainFrame(), m_baseURL
+ "wide_document_width_viewport.html"); | 1242 FrameTestHelpers::loadFrame(webViewHelper.webView()->mainFrame(), m_baseURL
+ "wide_document_width_viewport.html"); |
| 1241 Platform::current()->unitTestSupport()->serveAsynchronousMockedRequests(); | 1243 Platform::current()->unitTestSupport()->serveAsynchronousMockedRequests(); |
| 1242 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1244 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
| 1243 | 1245 |
| 1244 int wideDocumentWidth = 800; | 1246 int wideDocumentWidth = 800; |
| 1245 float minimumPageScaleFactor = viewportWidth / (float) wideDocumentWidth; | 1247 float minimumPageScaleFactor = viewportWidth / (float) wideDocumentWidth; |
| 1246 EXPECT_EQ(minimumPageScaleFactor, webViewHelper.webView()->pageScaleFactor()
); | 1248 EXPECT_EQ(minimumPageScaleFactor, webViewHelper.webView()->pageScaleFactor()
); |
| 1247 EXPECT_EQ(minimumPageScaleFactor, webViewHelper.webView()->minimumPageScaleF
actor()); | 1249 EXPECT_EQ(minimumPageScaleFactor, webViewHelper.webView()->minimumPageScaleF
actor()); |
| 1248 } | 1250 } |
| 1249 | 1251 |
| 1250 TEST_F(WebFrameTest, ZeroValuesQuirk) | 1252 TEST_F(WebFrameTest, ZeroValuesQuirk) |
| 1251 { | 1253 { |
| 1252 UseMockScrollbarSettings mockScrollbarSettings; | 1254 UseMockScrollbarSettings mockScrollbarSettings; |
| 1253 registerMockedHttpURLLoad("viewport-zero-values.html"); | 1255 registerMockedHttpURLLoad("viewport-zero-values.html"); |
| 1254 | 1256 |
| 1255 FixedLayoutTestWebViewClient client; | 1257 FixedLayoutTestWebViewClient client; |
| 1256 client.m_screenInfo.deviceScaleFactor = 1; | 1258 client.m_screenInfo.deviceScaleFactor = 1; |
| 1257 int viewportWidth = 640; | 1259 int viewportWidth = 640; |
| 1258 int viewportHeight = 480; | 1260 int viewportHeight = 480; |
| 1259 | 1261 |
| 1260 FrameTestHelpers::WebViewHelper webViewHelper; | 1262 FrameTestHelpers::WebViewHelper webViewHelper; |
| 1261 webViewHelper.initialize(true, 0, &client); | 1263 webViewHelper.initialize(true, 0, &client, enableViewportSettings); |
| 1262 webViewHelper.webView()->settings()->setViewportEnabled(true); | |
| 1263 webViewHelper.webView()->settings()->setViewportMetaZeroValuesQuirk(true); | 1264 webViewHelper.webView()->settings()->setViewportMetaZeroValuesQuirk(true); |
| 1264 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); | 1265 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); |
| 1265 FrameTestHelpers::loadFrame(webViewHelper.webView()->mainFrame(), m_baseURL
+ "viewport-zero-values.html"); | 1266 FrameTestHelpers::loadFrame(webViewHelper.webView()->mainFrame(), m_baseURL
+ "viewport-zero-values.html"); |
| 1266 Platform::current()->unitTestSupport()->serveAsynchronousMockedRequests(); | 1267 Platform::current()->unitTestSupport()->serveAsynchronousMockedRequests(); |
| 1267 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1268 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
| 1268 | 1269 |
| 1269 EXPECT_EQ(viewportWidth, webViewHelper.webViewImpl()->mainFrameImpl()->frame
View()->layoutSize().width()); | 1270 EXPECT_EQ(viewportWidth, webViewHelper.webViewImpl()->mainFrameImpl()->frame
View()->layoutSize().width()); |
| 1270 EXPECT_EQ(1.0f, webViewHelper.webView()->pageScaleFactor()); | 1271 EXPECT_EQ(1.0f, webViewHelper.webView()->pageScaleFactor()); |
| 1271 | 1272 |
| 1272 webViewHelper.webView()->settings()->setUseWideViewport(true); | 1273 webViewHelper.webView()->settings()->setUseWideViewport(true); |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1319 UseMockScrollbarSettings mockScrollbarSettings; | 1320 UseMockScrollbarSettings mockScrollbarSettings; |
| 1320 registerMockedHttpURLLoad("viewport-nonzero-values.html"); | 1321 registerMockedHttpURLLoad("viewport-nonzero-values.html"); |
| 1321 | 1322 |
| 1322 FixedLayoutTestWebViewClient client; | 1323 FixedLayoutTestWebViewClient client; |
| 1323 client.m_screenInfo.deviceScaleFactor = 1; | 1324 client.m_screenInfo.deviceScaleFactor = 1; |
| 1324 int viewportWidth = 640; | 1325 int viewportWidth = 640; |
| 1325 int viewportHeight = 480; | 1326 int viewportHeight = 480; |
| 1326 float expectedPageScaleFactor = 0.5f; | 1327 float expectedPageScaleFactor = 0.5f; |
| 1327 | 1328 |
| 1328 FrameTestHelpers::WebViewHelper webViewHelper; | 1329 FrameTestHelpers::WebViewHelper webViewHelper; |
| 1329 webViewHelper.initialize(true, 0, &client); | 1330 webViewHelper.initialize(true, 0, &client, enableViewportSettings); |
| 1330 webViewHelper.webView()->settings()->setViewportEnabled(true); | |
| 1331 webViewHelper.webView()->settings()->setViewportMetaZeroValuesQuirk(true); | 1331 webViewHelper.webView()->settings()->setViewportMetaZeroValuesQuirk(true); |
| 1332 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); | 1332 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); |
| 1333 FrameTestHelpers::loadFrame(webViewHelper.webView()->mainFrame(), m_baseURL
+ "viewport-nonzero-values.html"); | 1333 FrameTestHelpers::loadFrame(webViewHelper.webView()->mainFrame(), m_baseURL
+ "viewport-nonzero-values.html"); |
| 1334 Platform::current()->unitTestSupport()->serveAsynchronousMockedRequests(); | 1334 Platform::current()->unitTestSupport()->serveAsynchronousMockedRequests(); |
| 1335 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1335 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
| 1336 | 1336 |
| 1337 EXPECT_EQ(viewportWidth / expectedPageScaleFactor, webViewHelper.webViewImpl
()->mainFrameImpl()->frameView()->layoutSize().width()); | 1337 EXPECT_EQ(viewportWidth / expectedPageScaleFactor, webViewHelper.webViewImpl
()->mainFrameImpl()->frameView()->layoutSize().width()); |
| 1338 EXPECT_EQ(expectedPageScaleFactor, webViewHelper.webView()->pageScaleFactor(
)); | 1338 EXPECT_EQ(expectedPageScaleFactor, webViewHelper.webView()->pageScaleFactor(
)); |
| 1339 | 1339 |
| 1340 webViewHelper.webView()->settings()->setUseWideViewport(true); | 1340 webViewHelper.webView()->settings()->setUseWideViewport(true); |
| (...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1514 float deviceScaleFactors[] = { 1.0f, 4.0f / 3.0f, 2.0f }; | 1514 float deviceScaleFactors[] = { 1.0f, 4.0f / 3.0f, 2.0f }; |
| 1515 int viewportWidth = 640; | 1515 int viewportWidth = 640; |
| 1516 int viewportHeight = 480; | 1516 int viewportHeight = 480; |
| 1517 | 1517 |
| 1518 for (size_t i = 0; i < ARRAY_SIZE(deviceScaleFactors); ++i) { | 1518 for (size_t i = 0; i < ARRAY_SIZE(deviceScaleFactors); ++i) { |
| 1519 float deviceScaleFactor = deviceScaleFactors[i]; | 1519 float deviceScaleFactor = deviceScaleFactors[i]; |
| 1520 float deviceDpi = deviceScaleFactor * 160.0f; | 1520 float deviceDpi = deviceScaleFactor * 160.0f; |
| 1521 client.m_screenInfo.deviceScaleFactor = deviceScaleFactor; | 1521 client.m_screenInfo.deviceScaleFactor = deviceScaleFactor; |
| 1522 | 1522 |
| 1523 FrameTestHelpers::WebViewHelper webViewHelper; | 1523 FrameTestHelpers::WebViewHelper webViewHelper; |
| 1524 webViewHelper.initializeAndLoad(m_baseURL + "viewport-target-densitydpi-
high.html", true, 0, &client); | 1524 webViewHelper.initializeAndLoad(m_baseURL + "viewport-target-densitydpi-
high.html", true, 0, &client, enableViewportSettings); |
| 1525 webViewHelper.webView()->settings()->setViewportEnabled(true); | |
| 1526 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); | 1525 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); |
| 1527 webViewHelper.webView()->settings()->setSupportDeprecatedTargetDensityDP
I(true); | 1526 webViewHelper.webView()->settings()->setSupportDeprecatedTargetDensityDP
I(true); |
| 1528 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1527 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
| 1529 | 1528 |
| 1530 // We need to account for the fact that logical pixels are unconditional
ly multiplied by deviceScaleFactor to produce | 1529 // We need to account for the fact that logical pixels are unconditional
ly multiplied by deviceScaleFactor to produce |
| 1531 // physical pixels. | 1530 // physical pixels. |
| 1532 float densityDpiScaleRatio = deviceScaleFactor * targetDpi / deviceDpi; | 1531 float densityDpiScaleRatio = deviceScaleFactor * targetDpi / deviceDpi; |
| 1533 EXPECT_NEAR(viewportWidth * densityDpiScaleRatio, webViewHelper.webViewI
mpl()->mainFrameImpl()->frameView()->layoutSize().width(), 1.0f); | 1532 EXPECT_NEAR(viewportWidth * densityDpiScaleRatio, webViewHelper.webViewI
mpl()->mainFrameImpl()->frameView()->layoutSize().width(), 1.0f); |
| 1534 EXPECT_NEAR(viewportHeight * densityDpiScaleRatio, webViewHelper.webView
Impl()->mainFrameImpl()->frameView()->layoutSize().height(), 1.0f); | 1533 EXPECT_NEAR(viewportHeight * densityDpiScaleRatio, webViewHelper.webView
Impl()->mainFrameImpl()->frameView()->layoutSize().height(), 1.0f); |
| 1535 EXPECT_NEAR(1.0f / densityDpiScaleRatio, webViewHelper.webView()->pageSc
aleFactor(), 0.01f); | 1534 EXPECT_NEAR(1.0f / densityDpiScaleRatio, webViewHelper.webView()->pageSc
aleFactor(), 0.01f); |
| 1536 } | 1535 } |
| 1537 } | 1536 } |
| 1538 | 1537 |
| 1539 TEST_F(WebFrameTest, targetDensityDpiDevice) | 1538 TEST_F(WebFrameTest, targetDensityDpiDevice) |
| 1540 { | 1539 { |
| 1541 UseMockScrollbarSettings mockScrollbarSettings; | 1540 UseMockScrollbarSettings mockScrollbarSettings; |
| 1542 registerMockedHttpURLLoad("viewport-target-densitydpi-device.html"); | 1541 registerMockedHttpURLLoad("viewport-target-densitydpi-device.html"); |
| 1543 | 1542 |
| 1544 float deviceScaleFactors[] = { 1.0f, 4.0f / 3.0f, 2.0f }; | 1543 float deviceScaleFactors[] = { 1.0f, 4.0f / 3.0f, 2.0f }; |
| 1545 | 1544 |
| 1546 FixedLayoutTestWebViewClient client; | 1545 FixedLayoutTestWebViewClient client; |
| 1547 int viewportWidth = 640; | 1546 int viewportWidth = 640; |
| 1548 int viewportHeight = 480; | 1547 int viewportHeight = 480; |
| 1549 | 1548 |
| 1550 for (size_t i = 0; i < ARRAY_SIZE(deviceScaleFactors); ++i) { | 1549 for (size_t i = 0; i < ARRAY_SIZE(deviceScaleFactors); ++i) { |
| 1551 client.m_screenInfo.deviceScaleFactor = deviceScaleFactors[i]; | 1550 client.m_screenInfo.deviceScaleFactor = deviceScaleFactors[i]; |
| 1552 | 1551 |
| 1553 FrameTestHelpers::WebViewHelper webViewHelper; | 1552 FrameTestHelpers::WebViewHelper webViewHelper; |
| 1554 webViewHelper.initializeAndLoad(m_baseURL + "viewport-target-densitydpi-
device.html", true, 0, &client); | 1553 webViewHelper.initializeAndLoad(m_baseURL + "viewport-target-densitydpi-
device.html", true, 0, &client, enableViewportSettings); |
| 1555 webViewHelper.webView()->settings()->setViewportEnabled(true); | |
| 1556 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); | 1554 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); |
| 1557 webViewHelper.webView()->settings()->setSupportDeprecatedTargetDensityDP
I(true); | 1555 webViewHelper.webView()->settings()->setSupportDeprecatedTargetDensityDP
I(true); |
| 1558 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1556 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
| 1559 | 1557 |
| 1560 EXPECT_NEAR(viewportWidth * client.m_screenInfo.deviceScaleFactor, webVi
ewHelper.webViewImpl()->mainFrameImpl()->frameView()->layoutSize().width(), 1.0f
); | 1558 EXPECT_NEAR(viewportWidth * client.m_screenInfo.deviceScaleFactor, webVi
ewHelper.webViewImpl()->mainFrameImpl()->frameView()->layoutSize().width(), 1.0f
); |
| 1561 EXPECT_NEAR(viewportHeight * client.m_screenInfo.deviceScaleFactor, webV
iewHelper.webViewImpl()->mainFrameImpl()->frameView()->layoutSize().height(), 1.
0f); | 1559 EXPECT_NEAR(viewportHeight * client.m_screenInfo.deviceScaleFactor, webV
iewHelper.webViewImpl()->mainFrameImpl()->frameView()->layoutSize().height(), 1.
0f); |
| 1562 EXPECT_NEAR(1.0f / client.m_screenInfo.deviceScaleFactor, webViewHelper.
webView()->pageScaleFactor(), 0.01f); | 1560 EXPECT_NEAR(1.0f / client.m_screenInfo.deviceScaleFactor, webViewHelper.
webView()->pageScaleFactor(), 0.01f); |
| 1563 } | 1561 } |
| 1564 } | 1562 } |
| 1565 | 1563 |
| 1566 TEST_F(WebFrameTest, targetDensityDpiDeviceAndFixedWidth) | 1564 TEST_F(WebFrameTest, targetDensityDpiDeviceAndFixedWidth) |
| 1567 { | 1565 { |
| 1568 UseMockScrollbarSettings mockScrollbarSettings; | 1566 UseMockScrollbarSettings mockScrollbarSettings; |
| 1569 registerMockedHttpURLLoad("viewport-target-densitydpi-device-and-fixed-width
.html"); | 1567 registerMockedHttpURLLoad("viewport-target-densitydpi-device-and-fixed-width
.html"); |
| 1570 | 1568 |
| 1571 float deviceScaleFactors[] = { 1.0f, 4.0f / 3.0f, 2.0f }; | 1569 float deviceScaleFactors[] = { 1.0f, 4.0f / 3.0f, 2.0f }; |
| 1572 | 1570 |
| 1573 FixedLayoutTestWebViewClient client; | 1571 FixedLayoutTestWebViewClient client; |
| 1574 int viewportWidth = 640; | 1572 int viewportWidth = 640; |
| 1575 int viewportHeight = 480; | 1573 int viewportHeight = 480; |
| 1576 | 1574 |
| 1577 for (size_t i = 0; i < ARRAY_SIZE(deviceScaleFactors); ++i) { | 1575 for (size_t i = 0; i < ARRAY_SIZE(deviceScaleFactors); ++i) { |
| 1578 client.m_screenInfo.deviceScaleFactor = deviceScaleFactors[i]; | 1576 client.m_screenInfo.deviceScaleFactor = deviceScaleFactors[i]; |
| 1579 | 1577 |
| 1580 FrameTestHelpers::WebViewHelper webViewHelper; | 1578 FrameTestHelpers::WebViewHelper webViewHelper; |
| 1581 webViewHelper.initializeAndLoad(m_baseURL + "viewport-target-densitydpi-
device-and-fixed-width.html", true, 0, &client); | 1579 webViewHelper.initializeAndLoad(m_baseURL + "viewport-target-densitydpi-
device-and-fixed-width.html", true, 0, &client, enableViewportSettings); |
| 1582 webViewHelper.webView()->settings()->setViewportEnabled(true); | |
| 1583 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); | 1580 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); |
| 1584 webViewHelper.webView()->settings()->setSupportDeprecatedTargetDensityDP
I(true); | 1581 webViewHelper.webView()->settings()->setSupportDeprecatedTargetDensityDP
I(true); |
| 1585 webViewHelper.webView()->settings()->setUseWideViewport(true); | 1582 webViewHelper.webView()->settings()->setUseWideViewport(true); |
| 1586 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1583 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
| 1587 | 1584 |
| 1588 EXPECT_NEAR(viewportWidth, webViewHelper.webViewImpl()->mainFrameImpl()-
>frameView()->layoutSize().width(), 1.0f); | 1585 EXPECT_NEAR(viewportWidth, webViewHelper.webViewImpl()->mainFrameImpl()-
>frameView()->layoutSize().width(), 1.0f); |
| 1589 EXPECT_NEAR(viewportHeight, webViewHelper.webViewImpl()->mainFrameImpl()
->frameView()->layoutSize().height(), 1.0f); | 1586 EXPECT_NEAR(viewportHeight, webViewHelper.webViewImpl()->mainFrameImpl()
->frameView()->layoutSize().height(), 1.0f); |
| 1590 EXPECT_NEAR(1.0f, webViewHelper.webView()->pageScaleFactor(), 0.01f); | 1587 EXPECT_NEAR(1.0f, webViewHelper.webView()->pageScaleFactor(), 0.01f); |
| 1591 } | 1588 } |
| 1592 } | 1589 } |
| 1593 | 1590 |
| 1594 TEST_F(WebFrameTest, NoWideViewportAndScaleLessThanOne) | 1591 TEST_F(WebFrameTest, NoWideViewportAndScaleLessThanOne) |
| 1595 { | 1592 { |
| 1596 UseMockScrollbarSettings mockScrollbarSettings; | 1593 UseMockScrollbarSettings mockScrollbarSettings; |
| 1597 registerMockedHttpURLLoad("viewport-initial-scale-less-than-1.html"); | 1594 registerMockedHttpURLLoad("viewport-initial-scale-less-than-1.html"); |
| 1598 | 1595 |
| 1599 FixedLayoutTestWebViewClient client; | 1596 FixedLayoutTestWebViewClient client; |
| 1600 client.m_screenInfo.deviceScaleFactor = 1.33f; | 1597 client.m_screenInfo.deviceScaleFactor = 1.33f; |
| 1601 int viewportWidth = 640; | 1598 int viewportWidth = 640; |
| 1602 int viewportHeight = 480; | 1599 int viewportHeight = 480; |
| 1603 | 1600 |
| 1604 FrameTestHelpers::WebViewHelper webViewHelper; | 1601 FrameTestHelpers::WebViewHelper webViewHelper; |
| 1605 webViewHelper.initializeAndLoad(m_baseURL + "viewport-initial-scale-less-tha
n-1.html", true, 0, &client); | 1602 webViewHelper.initializeAndLoad(m_baseURL + "viewport-initial-scale-less-tha
n-1.html", true, 0, &client, enableViewportSettings); |
| 1606 webViewHelper.webView()->settings()->setViewportEnabled(true); | |
| 1607 webViewHelper.webView()->settings()->setSupportDeprecatedTargetDensityDPI(tr
ue); | 1603 webViewHelper.webView()->settings()->setSupportDeprecatedTargetDensityDPI(tr
ue); |
| 1608 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); | 1604 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); |
| 1609 webViewHelper.webView()->settings()->setUseWideViewport(false); | 1605 webViewHelper.webView()->settings()->setUseWideViewport(false); |
| 1610 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1606 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
| 1611 webViewHelper.webView()->layout(); | 1607 webViewHelper.webView()->layout(); |
| 1612 | 1608 |
| 1613 EXPECT_NEAR(viewportWidth * client.m_screenInfo.deviceScaleFactor, webViewHe
lper.webViewImpl()->mainFrameImpl()->frameView()->layoutSize().width(), 1.0f); | 1609 EXPECT_NEAR(viewportWidth * client.m_screenInfo.deviceScaleFactor, webViewHe
lper.webViewImpl()->mainFrameImpl()->frameView()->layoutSize().width(), 1.0f); |
| 1614 EXPECT_NEAR(viewportHeight * client.m_screenInfo.deviceScaleFactor, webViewH
elper.webViewImpl()->mainFrameImpl()->frameView()->layoutSize().height(), 1.0f); | 1610 EXPECT_NEAR(viewportHeight * client.m_screenInfo.deviceScaleFactor, webViewH
elper.webViewImpl()->mainFrameImpl()->frameView()->layoutSize().height(), 1.0f); |
| 1615 EXPECT_NEAR(1.0f / client.m_screenInfo.deviceScaleFactor, webViewHelper.webV
iew()->pageScaleFactor(), 0.01f); | 1611 EXPECT_NEAR(1.0f / client.m_screenInfo.deviceScaleFactor, webViewHelper.webV
iew()->pageScaleFactor(), 0.01f); |
| 1616 } | 1612 } |
| 1617 | 1613 |
| 1618 TEST_F(WebFrameTest, NoWideViewportAndScaleLessThanOneWithDeviceWidth) | 1614 TEST_F(WebFrameTest, NoWideViewportAndScaleLessThanOneWithDeviceWidth) |
| 1619 { | 1615 { |
| 1620 UseMockScrollbarSettings mockScrollbarSettings; | 1616 UseMockScrollbarSettings mockScrollbarSettings; |
| 1621 registerMockedHttpURLLoad("viewport-initial-scale-less-than-1-device-width.h
tml"); | 1617 registerMockedHttpURLLoad("viewport-initial-scale-less-than-1-device-width.h
tml"); |
| 1622 | 1618 |
| 1623 FixedLayoutTestWebViewClient client; | 1619 FixedLayoutTestWebViewClient client; |
| 1624 client.m_screenInfo.deviceScaleFactor = 1.33f; | 1620 client.m_screenInfo.deviceScaleFactor = 1.33f; |
| 1625 int viewportWidth = 640; | 1621 int viewportWidth = 640; |
| 1626 int viewportHeight = 480; | 1622 int viewportHeight = 480; |
| 1627 | 1623 |
| 1628 FrameTestHelpers::WebViewHelper webViewHelper; | 1624 FrameTestHelpers::WebViewHelper webViewHelper; |
| 1629 webViewHelper.initializeAndLoad(m_baseURL + "viewport-initial-scale-less-tha
n-1-device-width.html", true, 0, &client); | 1625 webViewHelper.initializeAndLoad(m_baseURL + "viewport-initial-scale-less-tha
n-1-device-width.html", true, 0, &client, enableViewportSettings); |
| 1630 webViewHelper.webView()->settings()->setViewportEnabled(true); | |
| 1631 webViewHelper.webView()->settings()->setSupportDeprecatedTargetDensityDPI(tr
ue); | 1626 webViewHelper.webView()->settings()->setSupportDeprecatedTargetDensityDPI(tr
ue); |
| 1632 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); | 1627 webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); |
| 1633 webViewHelper.webView()->settings()->setUseWideViewport(false); | 1628 webViewHelper.webView()->settings()->setUseWideViewport(false); |
| 1634 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1629 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
| 1635 webViewHelper.webView()->layout(); | 1630 webViewHelper.webView()->layout(); |
| 1636 | 1631 |
| 1637 const float pageZoom = 0.25f; | 1632 const float pageZoom = 0.25f; |
| 1638 EXPECT_NEAR(viewportWidth * client.m_screenInfo.deviceScaleFactor / pageZoom
, webViewHelper.webViewImpl()->mainFrameImpl()->frameView()->layoutSize().width(
), 1.0f); | 1633 EXPECT_NEAR(viewportWidth * client.m_screenInfo.deviceScaleFactor / pageZoom
, webViewHelper.webViewImpl()->mainFrameImpl()->frameView()->layoutSize().width(
), 1.0f); |
| 1639 EXPECT_NEAR(viewportHeight * client.m_screenInfo.deviceScaleFactor / pageZoo
m, webViewHelper.webViewImpl()->mainFrameImpl()->frameView()->layoutSize().heigh
t(), 1.0f); | 1634 EXPECT_NEAR(viewportHeight * client.m_screenInfo.deviceScaleFactor / pageZoo
m, webViewHelper.webViewImpl()->mainFrameImpl()->frameView()->layoutSize().heigh
t(), 1.0f); |
| 1640 EXPECT_NEAR(1.0f / client.m_screenInfo.deviceScaleFactor, webViewHelper.webV
iew()->pageScaleFactor(), 0.01f); | 1635 EXPECT_NEAR(1.0f / client.m_screenInfo.deviceScaleFactor, webViewHelper.webV
iew()->pageScaleFactor(), 0.01f); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 1654 const float initialPageScaleFacto
r, | 1649 const float initialPageScaleFacto
r, |
| 1655 const WebSize scrollOffset, | 1650 const WebSize scrollOffset, |
| 1656 const WebSize viewportSize, | 1651 const WebSize viewportSize, |
| 1657 const bool shouldScaleRelativeToV
iewportWidth) { | 1652 const bool shouldScaleRelativeToV
iewportWidth) { |
| 1658 UseMockScrollbarSettings mockScrollbarSettings; | 1653 UseMockScrollbarSettings mockScrollbarSettings; |
| 1659 registerMockedHttpURLLoad(url); | 1654 registerMockedHttpURLLoad(url); |
| 1660 | 1655 |
| 1661 const float aspectRatio = static_cast<float>(viewportSize.width) / viewp
ortSize.height; | 1656 const float aspectRatio = static_cast<float>(viewportSize.width) / viewp
ortSize.height; |
| 1662 | 1657 |
| 1663 FrameTestHelpers::WebViewHelper webViewHelper; | 1658 FrameTestHelpers::WebViewHelper webViewHelper; |
| 1664 webViewHelper.initializeAndLoad(m_baseURL + url, true); | 1659 webViewHelper.initializeAndLoad(m_baseURL + url, true, 0, 0, enableViewp
ortSettings); |
| 1665 webViewHelper.webView()->settings()->setViewportEnabled(true); | |
| 1666 | 1660 |
| 1667 // Origin scrollOffsets preserved under resize. | 1661 // Origin scrollOffsets preserved under resize. |
| 1668 { | 1662 { |
| 1669 webViewHelper.webViewImpl()->resize(WebSize(viewportSize.width, view
portSize.height)); | 1663 webViewHelper.webViewImpl()->resize(WebSize(viewportSize.width, view
portSize.height)); |
| 1670 webViewHelper.webViewImpl()->setPageScaleFactor(initialPageScaleFact
or, WebPoint()); | 1664 webViewHelper.webViewImpl()->setPageScaleFactor(initialPageScaleFact
or, WebPoint()); |
| 1671 ASSERT_EQ(viewportSize, webViewHelper.webViewImpl()->size()); | 1665 ASSERT_EQ(viewportSize, webViewHelper.webViewImpl()->size()); |
| 1672 ASSERT_EQ(initialPageScaleFactor, webViewHelper.webViewImpl()->pageS
caleFactor()); | 1666 ASSERT_EQ(initialPageScaleFactor, webViewHelper.webViewImpl()->pageS
caleFactor()); |
| 1673 webViewHelper.webViewImpl()->resize(WebSize(viewportSize.height, vie
wportSize.width)); | 1667 webViewHelper.webViewImpl()->resize(WebSize(viewportSize.height, vie
wportSize.width)); |
| 1674 float expectedPageScaleFactor = initialPageScaleFactor * (shouldScal
eRelativeToViewportWidth ? 1 / aspectRatio : 1); | 1668 float expectedPageScaleFactor = initialPageScaleFactor * (shouldScal
eRelativeToViewportWidth ? 1 / aspectRatio : 1); |
| 1675 EXPECT_NEAR(expectedPageScaleFactor, webViewHelper.webViewImpl()->pa
geScaleFactor(), 0.05f); | 1669 EXPECT_NEAR(expectedPageScaleFactor, webViewHelper.webViewImpl()->pa
geScaleFactor(), 0.05f); |
| (...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1830 UseMockScrollbarSettings mockScrollbarSettings; | 1824 UseMockScrollbarSettings mockScrollbarSettings; |
| 1831 | 1825 |
| 1832 registerMockedHttpURLLoad("no_scale_for_you.html"); | 1826 registerMockedHttpURLLoad("no_scale_for_you.html"); |
| 1833 | 1827 |
| 1834 FixedLayoutTestWebViewClient client; | 1828 FixedLayoutTestWebViewClient client; |
| 1835 client.m_screenInfo.deviceScaleFactor = 1; | 1829 client.m_screenInfo.deviceScaleFactor = 1; |
| 1836 int viewportWidth = 640; | 1830 int viewportWidth = 640; |
| 1837 int viewportHeight = 480; | 1831 int viewportHeight = 480; |
| 1838 | 1832 |
| 1839 FrameTestHelpers::WebViewHelper webViewHelper; | 1833 FrameTestHelpers::WebViewHelper webViewHelper; |
| 1840 webViewHelper.initializeAndLoad(m_baseURL + "no_scale_for_you.html", true, 0
, &client); | 1834 webViewHelper.initializeAndLoad(m_baseURL + "no_scale_for_you.html", true, 0
, &client, enableViewportSettings); |
| 1841 webViewHelper.webView()->settings()->setViewportEnabled(true); | |
| 1842 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); | 1835 webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
| 1843 | 1836 |
| 1844 EXPECT_EQ(2.0f, webViewHelper.webView()->minimumPageScaleFactor()); | 1837 EXPECT_EQ(2.0f, webViewHelper.webView()->minimumPageScaleFactor()); |
| 1845 EXPECT_EQ(2.0f, webViewHelper.webView()->maximumPageScaleFactor()); | 1838 EXPECT_EQ(2.0f, webViewHelper.webView()->maximumPageScaleFactor()); |
| 1846 | 1839 |
| 1847 webViewHelper.webView()->setIgnoreViewportTagScaleLimits(true); | 1840 webViewHelper.webView()->setIgnoreViewportTagScaleLimits(true); |
| 1848 webViewHelper.webView()->layout(); | 1841 webViewHelper.webView()->layout(); |
| 1849 | 1842 |
| 1850 EXPECT_EQ(1.0f, webViewHelper.webView()->minimumPageScaleFactor()); | 1843 EXPECT_EQ(1.0f, webViewHelper.webView()->minimumPageScaleFactor()); |
| 1851 EXPECT_EQ(5.0f, webViewHelper.webView()->maximumPageScaleFactor()); | 1844 EXPECT_EQ(5.0f, webViewHelper.webView()->maximumPageScaleFactor()); |
| (...skipping 2741 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4593 | 4586 |
| 4594 FrameTestHelpers::loadFrame(frame, | 4587 FrameTestHelpers::loadFrame(frame, |
| 4595 "javascript:window.frames[1].location.assign('" + m_baseURL + "find.html
')"); | 4588 "javascript:window.frames[1].location.assign('" + m_baseURL + "find.html
')"); |
| 4596 runPendingTasks(); | 4589 runPendingTasks(); |
| 4597 Platform::current()->unitTestSupport()->serveAsynchronousMockedRequests(); | 4590 Platform::current()->unitTestSupport()->serveAsynchronousMockedRequests(); |
| 4598 EXPECT_EQ(client.frame(), iframe); | 4591 EXPECT_EQ(client.frame(), iframe); |
| 4599 EXPECT_FALSE(client.replacesCurrentHistoryItem()); | 4592 EXPECT_FALSE(client.replacesCurrentHistoryItem()); |
| 4600 } | 4593 } |
| 4601 | 4594 |
| 4602 } // namespace | 4595 } // namespace |
| OLD | NEW |