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