1 /* 2 * Copyright (C) 2013 Google Inc. All rights reserved. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions are 6 * met: 7 * 8 * * Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. 10 * * Redistributions in binary form must reproduce the above 11 * copyright notice, this list of conditions and the following disclaimer 12 * in the documentation and/or other materials provided with the 13 * distribution. 14 * * Neither the name of Google Inc. nor the names of its 15 * contributors may be used to endorse or promote products derived from 16 * this software without specific prior written permission. 17 * 18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 */ 30 31 #include "config.h" 32 33 #include "core/frame/FrameView.h" 34 #include "core/frame/LocalFrame.h" 35 #include "core/frame/Settings.h" 36 #include "core/page/InjectedStyleSheets.h" 37 #include "core/page/Page.h" 38 #include "core/page/PageScaleConstraints.h" 39 #include "platform/Length.h" 40 #include "platform/geometry/IntPoint.h" 41 #include "platform/geometry/IntRect.h" 42 #include "platform/geometry/IntSize.h" 43 #include "platform/scroll/ScrollbarTheme.h" 44 #include "public/platform/Platform.h" 45 #include "public/platform/WebUnitTestSupport.h" 46 #include "public/web/WebConsoleMessage.h" 47 #include "public/web/WebFrame.h" 48 #include "public/web/WebScriptSource.h" 49 #include "public/web/WebSettings.h" 50 #include "public/web/WebViewClient.h" 51 #include "web/tests/FrameTestHelpers.h" 52 #include "web/tests/URLTestHelpers.h" 53 #include <gmock/gmock.h> 54 #include <gtest/gtest.h> 55 56 #include <vector> 57 58 using namespace blink; 59 using WebCore::LocalFrame; 60 using WebCore::FrameView; 61 using WebCore::IntPoint; 62 using WebCore::IntRect; 63 using WebCore::IntSize; 64 using WebCore::Page; 65 using WebCore::PageScaleConstraints; 66 using WebCore::ViewportDescription; 67 using blink::FrameTestHelpers::runPendingTasks; 68 69 namespace { 70 71 class ViewportTest : public testing::Test { 72 protected: 73 ViewportTest() 74 : m_baseURL("http://www.test.com/") 75 , m_chromeURL("chrome://") 76 { 77 } 78 79 virtual ~ViewportTest() 80 { 81 Platform::current()->unitTestSupport()->unregisterAllMockedURLs(); 82 } 83 84 void registerMockedHttpURLLoad(const std::string& fileName) 85 { 86 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c_str()), WebString::fromUTF8(fileName.c_str())); 87 } 88 89 void registerMockedChromeURLLoad(const std::string& fileName) 90 { 91 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_chromeURL.c_str()), WebString::fromUTF8(fileName.c_str())); 92 } 93 94 void executeScript(WebFrame* frame, const WebString& code) 95 { 96 frame->executeScript(WebScriptSource(code)); 97 runPendingTasks(); 98 } 99 100 std::string m_baseURL; 101 std::string m_chromeURL; 102 }; 103 104 class UseMockScrollbarSettings { 105 public: 106 UseMockScrollbarSettings() 107 { 108 WebCore::Settings::setMockScrollbarsEnabled(true); 109 WebCore::RuntimeEnabledFeatures::setOverlayScrollbarsEnabled(true); 110 EXPECT_TRUE(WebCore::ScrollbarTheme::theme()->usesOverlayScrollbars()); 111 } 112 113 ~UseMockScrollbarSettings() 114 { 115 WebCore::Settings::setMockScrollbarsEnabled(false); 116 WebCore::RuntimeEnabledFeatures::setOverlayScrollbarsEnabled(false); 117 } 118 }; 119 120 static void setViewportSettings(WebSettings* settings) 121 { 122 settings->setViewportEnabled(true); 123 settings->setViewportMetaEnabled(true); 124 settings->setMainFrameResizesAreOrientationChanges(true); 125 } 126 127 static PageScaleConstraints runViewportTest(Page* page, int initialWidth, int initialHeight) 128 { 129 IntSize initialViewportSize(initialWidth, initialHeight); 130 toLocalFrame(page->mainFrame())->view()->setFrameRect(IntRect(IntPoint::zero(), initialViewportSize)); 131 ViewportDescription description = page->viewportDescription(); 132 PageScaleConstraints constraints = description.resolve(initialViewportSize, WebCore::Length(980, WebCore::Fixed)); 133 134 constraints.fitToContentsWidth(constraints.layoutSize.width(), initialWidth); 135 return constraints; 136 } 137 138 TEST_F(ViewportTest, viewport1) 139 { 140 UseMockScrollbarSettings mockScrollbarSettings; 141 registerMockedHttpURLLoad("viewport/viewport-1.html"); 142 143 FrameTestHelpers::WebViewHelper webViewHelper; 144 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-1.html", true, 0, 0, setViewportSettings); 145 146 Page* page = webViewHelper.webViewImpl()->page(); 147 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 148 149 EXPECT_EQ(320, constraints.layoutSize.width()); 150 EXPECT_EQ(352, constraints.layoutSize.height()); 151 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 152 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 153 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 154 EXPECT_TRUE(page->viewportDescription().userZoom); 155 } 156 157 TEST_F(ViewportTest, viewport2) 158 { 159 UseMockScrollbarSettings mockScrollbarSettings; 160 registerMockedHttpURLLoad("viewport/viewport-2.html"); 161 162 FrameTestHelpers::WebViewHelper webViewHelper; 163 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-2.html", true, 0, 0, setViewportSettings); 164 165 Page* page = webViewHelper.webViewImpl()->page(); 166 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 167 168 EXPECT_EQ(980, constraints.layoutSize.width()); 169 EXPECT_EQ(352, constraints.layoutSize.height()); 170 EXPECT_NEAR(0.32f, constraints.initialScale, 0.01f); 171 EXPECT_NEAR(0.32f, constraints.minimumScale, 0.01f); 172 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 173 EXPECT_TRUE(page->viewportDescription().userZoom); 174 } 175 176 TEST_F(ViewportTest, viewport3) 177 { 178 UseMockScrollbarSettings mockScrollbarSettings; 179 registerMockedHttpURLLoad("viewport/viewport-3.html"); 180 181 FrameTestHelpers::WebViewHelper webViewHelper; 182 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-3.html", true, 0, 0, setViewportSettings); 183 184 Page* page = webViewHelper.webViewImpl()->page(); 185 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 186 187 EXPECT_EQ(320, constraints.layoutSize.width()); 188 EXPECT_EQ(352, constraints.layoutSize.height()); 189 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 190 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 191 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 192 EXPECT_TRUE(page->viewportDescription().userZoom); 193 } 194 195 TEST_F(ViewportTest, viewport4) 196 { 197 UseMockScrollbarSettings mockScrollbarSettings; 198 registerMockedHttpURLLoad("viewport/viewport-4.html"); 199 200 FrameTestHelpers::WebViewHelper webViewHelper; 201 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-4.html", true, 0, 0, setViewportSettings); 202 203 Page* page = webViewHelper.webViewImpl()->page(); 204 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 205 206 EXPECT_EQ(160, constraints.layoutSize.width()); 207 EXPECT_EQ(176, constraints.layoutSize.height()); 208 EXPECT_NEAR(2.0f, constraints.initialScale, 0.01f); 209 EXPECT_NEAR(2.0f, constraints.minimumScale, 0.01f); 210 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 211 EXPECT_TRUE(page->viewportDescription().userZoom); 212 } 213 214 TEST_F(ViewportTest, viewport5) 215 { 216 UseMockScrollbarSettings mockScrollbarSettings; 217 registerMockedHttpURLLoad("viewport/viewport-5.html"); 218 219 FrameTestHelpers::WebViewHelper webViewHelper; 220 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-5.html", true, 0, 0, setViewportSettings); 221 222 Page* page = webViewHelper.webViewImpl()->page(); 223 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 224 225 EXPECT_EQ(640, constraints.layoutSize.width()); 226 EXPECT_EQ(704, constraints.layoutSize.height()); 227 EXPECT_NEAR(0.5f, constraints.initialScale, 0.01f); 228 EXPECT_NEAR(0.5f, constraints.minimumScale, 0.01f); 229 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 230 EXPECT_TRUE(page->viewportDescription().userZoom); 231 } 232 233 TEST_F(ViewportTest, viewport6) 234 { 235 UseMockScrollbarSettings mockScrollbarSettings; 236 registerMockedHttpURLLoad("viewport/viewport-6.html"); 237 238 FrameTestHelpers::WebViewHelper webViewHelper; 239 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-6.html", true, 0, 0, setViewportSettings); 240 241 Page* page = webViewHelper.webViewImpl()->page(); 242 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 243 244 EXPECT_EQ(200, constraints.layoutSize.width()); 245 EXPECT_EQ(220, constraints.layoutSize.height()); 246 EXPECT_NEAR(1.6f, constraints.initialScale, 0.01f); 247 EXPECT_NEAR(1.6f, constraints.minimumScale, 0.01f); 248 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 249 EXPECT_TRUE(page->viewportDescription().userZoom); 250 } 251 252 TEST_F(ViewportTest, viewport7) 253 { 254 UseMockScrollbarSettings mockScrollbarSettings; 255 registerMockedHttpURLLoad("viewport/viewport-7.html"); 256 257 FrameTestHelpers::WebViewHelper webViewHelper; 258 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-7.html", true, 0, 0, setViewportSettings); 259 260 Page* page = webViewHelper.webViewImpl()->page(); 261 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 262 263 EXPECT_EQ(1280, constraints.layoutSize.width()); 264 EXPECT_EQ(1408, constraints.layoutSize.height()); 265 EXPECT_NEAR(0.25f, constraints.initialScale, 0.01f); 266 EXPECT_NEAR(0.25f, constraints.minimumScale, 0.01f); 267 EXPECT_NEAR(0.25f, constraints.maximumScale, 0.01f); 268 EXPECT_TRUE(page->viewportDescription().userZoom); 269 } 270 271 TEST_F(ViewportTest, viewport8) 272 { 273 UseMockScrollbarSettings mockScrollbarSettings; 274 registerMockedHttpURLLoad("viewport/viewport-8.html"); 275 276 FrameTestHelpers::WebViewHelper webViewHelper; 277 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-8.html", true, 0, 0, setViewportSettings); 278 279 Page* page = webViewHelper.webViewImpl()->page(); 280 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 281 282 EXPECT_EQ(1280, constraints.layoutSize.width()); 283 EXPECT_EQ(1408, constraints.layoutSize.height()); 284 EXPECT_NEAR(0.25f, constraints.initialScale, 0.01f); 285 EXPECT_NEAR(0.25f, constraints.minimumScale, 0.01f); 286 EXPECT_NEAR(0.25f, constraints.maximumScale, 0.01f); 287 EXPECT_TRUE(page->viewportDescription().userZoom); 288 } 289 290 TEST_F(ViewportTest, viewport9) 291 { 292 UseMockScrollbarSettings mockScrollbarSettings; 293 registerMockedHttpURLLoad("viewport/viewport-9.html"); 294 295 FrameTestHelpers::WebViewHelper webViewHelper; 296 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-9.html", true, 0, 0, setViewportSettings); 297 298 Page* page = webViewHelper.webViewImpl()->page(); 299 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 300 301 EXPECT_EQ(1280, constraints.layoutSize.width()); 302 EXPECT_EQ(1408, constraints.layoutSize.height()); 303 EXPECT_NEAR(0.25f, constraints.initialScale, 0.01f); 304 EXPECT_NEAR(0.25f, constraints.minimumScale, 0.01f); 305 EXPECT_NEAR(0.25f, constraints.maximumScale, 0.01f); 306 EXPECT_TRUE(page->viewportDescription().userZoom); 307 } 308 309 TEST_F(ViewportTest, viewport10) 310 { 311 UseMockScrollbarSettings mockScrollbarSettings; 312 registerMockedHttpURLLoad("viewport/viewport-10.html"); 313 314 FrameTestHelpers::WebViewHelper webViewHelper; 315 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-10.html", true, 0, 0, setViewportSettings); 316 317 Page* page = webViewHelper.webViewImpl()->page(); 318 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 319 320 EXPECT_EQ(1280, constraints.layoutSize.width()); 321 EXPECT_EQ(1408, constraints.layoutSize.height()); 322 EXPECT_NEAR(0.25f, constraints.initialScale, 0.01f); 323 EXPECT_NEAR(0.25f, constraints.minimumScale, 0.01f); 324 EXPECT_NEAR(0.25f, constraints.maximumScale, 0.01f); 325 EXPECT_TRUE(page->viewportDescription().userZoom); 326 } 327 328 TEST_F(ViewportTest, viewport11) 329 { 330 UseMockScrollbarSettings mockScrollbarSettings; 331 registerMockedHttpURLLoad("viewport/viewport-11.html"); 332 333 FrameTestHelpers::WebViewHelper webViewHelper; 334 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-11.html", true, 0, 0, setViewportSettings); 335 336 Page* page = webViewHelper.webViewImpl()->page(); 337 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 338 339 EXPECT_EQ(980, constraints.layoutSize.width()); 340 EXPECT_EQ(1078, constraints.layoutSize.height()); 341 EXPECT_NEAR(0.32f, constraints.initialScale, 0.01f); 342 EXPECT_NEAR(0.32f, constraints.minimumScale, 0.01f); 343 EXPECT_NEAR(0.5f, constraints.maximumScale, 0.01f); 344 EXPECT_TRUE(page->viewportDescription().userZoom); 345 } 346 347 TEST_F(ViewportTest, viewport12) 348 { 349 UseMockScrollbarSettings mockScrollbarSettings; 350 registerMockedHttpURLLoad("viewport/viewport-12.html"); 351 352 FrameTestHelpers::WebViewHelper webViewHelper; 353 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-12.html", true, 0, 0, setViewportSettings); 354 355 Page* page = webViewHelper.webViewImpl()->page(); 356 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 357 358 EXPECT_EQ(640, constraints.layoutSize.width()); 359 EXPECT_EQ(704, constraints.layoutSize.height()); 360 EXPECT_NEAR(0.5f, constraints.initialScale, 0.01f); 361 EXPECT_NEAR(0.5f, constraints.minimumScale, 0.01f); 362 EXPECT_NEAR(0.5f, constraints.maximumScale, 0.01f); 363 EXPECT_TRUE(page->viewportDescription().userZoom); 364 } 365 366 TEST_F(ViewportTest, viewport13) 367 { 368 UseMockScrollbarSettings mockScrollbarSettings; 369 registerMockedHttpURLLoad("viewport/viewport-13.html"); 370 371 FrameTestHelpers::WebViewHelper webViewHelper; 372 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-13.html", true, 0, 0, setViewportSettings); 373 374 Page* page = webViewHelper.webViewImpl()->page(); 375 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 376 377 EXPECT_EQ(1280, constraints.layoutSize.width()); 378 EXPECT_EQ(1408, constraints.layoutSize.height()); 379 EXPECT_NEAR(0.25f, constraints.initialScale, 0.01f); 380 EXPECT_NEAR(0.25f, constraints.minimumScale, 0.01f); 381 EXPECT_NEAR(0.5f, constraints.maximumScale, 0.01f); 382 EXPECT_TRUE(page->viewportDescription().userZoom); 383 } 384 385 TEST_F(ViewportTest, viewport14) 386 { 387 UseMockScrollbarSettings mockScrollbarSettings; 388 registerMockedHttpURLLoad("viewport/viewport-14.html"); 389 390 FrameTestHelpers::WebViewHelper webViewHelper; 391 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-14.html", true, 0, 0, setViewportSettings); 392 393 Page* page = webViewHelper.webViewImpl()->page(); 394 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 395 396 EXPECT_EQ(320, constraints.layoutSize.width()); 397 EXPECT_EQ(352, constraints.layoutSize.height()); 398 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 399 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 400 EXPECT_NEAR(1.0f, constraints.maximumScale, 0.01f); 401 EXPECT_TRUE(page->viewportDescription().userZoom); 402 } 403 404 TEST_F(ViewportTest, viewport15) 405 { 406 UseMockScrollbarSettings mockScrollbarSettings; 407 registerMockedHttpURLLoad("viewport/viewport-15.html"); 408 409 FrameTestHelpers::WebViewHelper webViewHelper; 410 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-15.html", true, 0, 0, setViewportSettings); 411 412 Page* page = webViewHelper.webViewImpl()->page(); 413 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 414 415 EXPECT_EQ(980, constraints.layoutSize.width()); 416 EXPECT_EQ(1078, constraints.layoutSize.height()); 417 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 418 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 419 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 420 EXPECT_TRUE(page->viewportDescription().userZoom); 421 } 422 423 TEST_F(ViewportTest, viewport16) 424 { 425 UseMockScrollbarSettings mockScrollbarSettings; 426 registerMockedHttpURLLoad("viewport/viewport-16.html"); 427 428 FrameTestHelpers::WebViewHelper webViewHelper; 429 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-16.html", true, 0, 0, setViewportSettings); 430 431 Page* page = webViewHelper.webViewImpl()->page(); 432 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 433 434 EXPECT_EQ(980, constraints.layoutSize.width()); 435 EXPECT_EQ(1078, constraints.layoutSize.height()); 436 EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f); 437 EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f); 438 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 439 EXPECT_TRUE(page->viewportDescription().userZoom); 440 } 441 442 TEST_F(ViewportTest, viewport17) 443 { 444 UseMockScrollbarSettings mockScrollbarSettings; 445 registerMockedHttpURLLoad("viewport/viewport-17.html"); 446 447 FrameTestHelpers::WebViewHelper webViewHelper; 448 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-17.html", true, 0, 0, setViewportSettings); 449 450 Page* page = webViewHelper.webViewImpl()->page(); 451 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 452 453 EXPECT_EQ(980, constraints.layoutSize.width()); 454 EXPECT_EQ(1078, constraints.layoutSize.height()); 455 EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f); 456 EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f); 457 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 458 EXPECT_TRUE(page->viewportDescription().userZoom); 459 } 460 461 TEST_F(ViewportTest, viewport18) 462 { 463 UseMockScrollbarSettings mockScrollbarSettings; 464 registerMockedHttpURLLoad("viewport/viewport-18.html"); 465 466 FrameTestHelpers::WebViewHelper webViewHelper; 467 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-18.html", true, 0, 0, setViewportSettings); 468 469 Page* page = webViewHelper.webViewImpl()->page(); 470 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 471 472 EXPECT_EQ(64, constraints.layoutSize.width()); 473 EXPECT_NEAR(70.4, constraints.layoutSize.height(), 0.01f); 474 EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f); 475 EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f); 476 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 477 EXPECT_TRUE(page->viewportDescription().userZoom); 478 } 479 480 TEST_F(ViewportTest, viewport19) 481 { 482 UseMockScrollbarSettings mockScrollbarSettings; 483 registerMockedHttpURLLoad("viewport/viewport-19.html"); 484 485 FrameTestHelpers::WebViewHelper webViewHelper; 486 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-19.html", true, 0, 0, setViewportSettings); 487 488 Page* page = webViewHelper.webViewImpl()->page(); 489 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 490 491 EXPECT_EQ(160, constraints.layoutSize.width()); 492 EXPECT_EQ(176, constraints.layoutSize.height()); 493 EXPECT_NEAR(2.0f, constraints.initialScale, 0.01f); 494 EXPECT_NEAR(2.0f, constraints.minimumScale, 0.01f); 495 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 496 EXPECT_TRUE(page->viewportDescription().userZoom); 497 } 498 499 TEST_F(ViewportTest, viewport20) 500 { 501 UseMockScrollbarSettings mockScrollbarSettings; 502 registerMockedHttpURLLoad("viewport/viewport-20.html"); 503 504 FrameTestHelpers::WebViewHelper webViewHelper; 505 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-20.html", true, 0, 0, setViewportSettings); 506 507 Page* page = webViewHelper.webViewImpl()->page(); 508 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 509 510 EXPECT_EQ(980, constraints.layoutSize.width()); 511 EXPECT_EQ(1078, constraints.layoutSize.height()); 512 EXPECT_NEAR(10.0f, constraints.initialScale, 0.01f); 513 EXPECT_NEAR(10.0f, constraints.minimumScale, 0.01f); 514 EXPECT_NEAR(10.0f, constraints.maximumScale, 0.01f); 515 EXPECT_TRUE(page->viewportDescription().userZoom); 516 } 517 518 TEST_F(ViewportTest, viewport21) 519 { 520 UseMockScrollbarSettings mockScrollbarSettings; 521 registerMockedHttpURLLoad("viewport/viewport-21.html"); 522 523 FrameTestHelpers::WebViewHelper webViewHelper; 524 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-21.html", true, 0, 0, setViewportSettings); 525 526 Page* page = webViewHelper.webViewImpl()->page(); 527 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 528 529 EXPECT_EQ(980, constraints.layoutSize.width()); 530 EXPECT_EQ(1078, constraints.layoutSize.height()); 531 EXPECT_NEAR(10.0f, constraints.initialScale, 0.01f); 532 EXPECT_NEAR(10.0f, constraints.minimumScale, 0.01f); 533 EXPECT_NEAR(10.0f, constraints.maximumScale, 0.01f); 534 EXPECT_TRUE(page->viewportDescription().userZoom); 535 } 536 537 TEST_F(ViewportTest, viewport22) 538 { 539 UseMockScrollbarSettings mockScrollbarSettings; 540 registerMockedHttpURLLoad("viewport/viewport-22.html"); 541 542 FrameTestHelpers::WebViewHelper webViewHelper; 543 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-22.html", true, 0, 0, setViewportSettings); 544 545 Page* page = webViewHelper.webViewImpl()->page(); 546 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 547 548 EXPECT_EQ(980, constraints.layoutSize.width()); 549 EXPECT_EQ(1078, constraints.layoutSize.height()); 550 EXPECT_NEAR(10.0f, constraints.initialScale, 0.01f); 551 EXPECT_NEAR(10.0f, constraints.minimumScale, 0.01f); 552 EXPECT_NEAR(10.0f, constraints.maximumScale, 0.01f); 553 EXPECT_TRUE(page->viewportDescription().userZoom); 554 } 555 556 TEST_F(ViewportTest, viewport23) 557 { 558 UseMockScrollbarSettings mockScrollbarSettings; 559 registerMockedHttpURLLoad("viewport/viewport-23.html"); 560 561 FrameTestHelpers::WebViewHelper webViewHelper; 562 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-23.html", true, 0, 0, setViewportSettings); 563 564 Page* page = webViewHelper.webViewImpl()->page(); 565 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 566 567 EXPECT_EQ(980, constraints.layoutSize.width()); 568 EXPECT_EQ(1078, constraints.layoutSize.height()); 569 EXPECT_NEAR(3.0f, constraints.initialScale, 0.01f); 570 EXPECT_NEAR(3.0f, constraints.minimumScale, 0.01f); 571 EXPECT_NEAR(3.0f, constraints.maximumScale, 0.01f); 572 EXPECT_TRUE(page->viewportDescription().userZoom); 573 } 574 575 TEST_F(ViewportTest, viewport24) 576 { 577 UseMockScrollbarSettings mockScrollbarSettings; 578 registerMockedHttpURLLoad("viewport/viewport-24.html"); 579 580 FrameTestHelpers::WebViewHelper webViewHelper; 581 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-24.html", true, 0, 0, setViewportSettings); 582 583 Page* page = webViewHelper.webViewImpl()->page(); 584 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 585 586 EXPECT_EQ(980, constraints.layoutSize.width()); 587 EXPECT_EQ(1078, constraints.layoutSize.height()); 588 EXPECT_NEAR(4.0f, constraints.initialScale, 0.01f); 589 EXPECT_NEAR(4.0f, constraints.minimumScale, 0.01f); 590 EXPECT_NEAR(4.0f, constraints.maximumScale, 0.01f); 591 EXPECT_TRUE(page->viewportDescription().userZoom); 592 } 593 594 TEST_F(ViewportTest, viewport25) 595 { 596 UseMockScrollbarSettings mockScrollbarSettings; 597 registerMockedHttpURLLoad("viewport/viewport-25.html"); 598 599 FrameTestHelpers::WebViewHelper webViewHelper; 600 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-25.html", true, 0, 0, setViewportSettings); 601 602 Page* page = webViewHelper.webViewImpl()->page(); 603 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 604 605 EXPECT_EQ(980, constraints.layoutSize.width()); 606 EXPECT_EQ(1078, constraints.layoutSize.height()); 607 EXPECT_NEAR(10.0f, constraints.initialScale, 0.01f); 608 EXPECT_NEAR(10.0f, constraints.minimumScale, 0.01f); 609 EXPECT_NEAR(10.0f, constraints.maximumScale, 0.01f); 610 EXPECT_TRUE(page->viewportDescription().userZoom); 611 } 612 613 TEST_F(ViewportTest, viewport26) 614 { 615 UseMockScrollbarSettings mockScrollbarSettings; 616 registerMockedHttpURLLoad("viewport/viewport-26.html"); 617 618 FrameTestHelpers::WebViewHelper webViewHelper; 619 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-26.html", true, 0, 0, setViewportSettings); 620 621 Page* page = webViewHelper.webViewImpl()->page(); 622 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 623 624 EXPECT_EQ(980, constraints.layoutSize.width()); 625 EXPECT_EQ(1078, constraints.layoutSize.height()); 626 EXPECT_NEAR(8.0f, constraints.initialScale, 0.01f); 627 EXPECT_NEAR(8.0f, constraints.minimumScale, 0.01f); 628 EXPECT_NEAR(9.0f, constraints.maximumScale, 0.01f); 629 EXPECT_TRUE(page->viewportDescription().userZoom); 630 } 631 632 TEST_F(ViewportTest, viewport27) 633 { 634 UseMockScrollbarSettings mockScrollbarSettings; 635 registerMockedHttpURLLoad("viewport/viewport-27.html"); 636 637 FrameTestHelpers::WebViewHelper webViewHelper; 638 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-27.html", true, 0, 0, setViewportSettings); 639 640 Page* page = webViewHelper.webViewImpl()->page(); 641 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 642 643 EXPECT_EQ(980, constraints.layoutSize.width()); 644 EXPECT_EQ(1078, constraints.layoutSize.height()); 645 EXPECT_NEAR(0.32f, constraints.initialScale, 0.01f); 646 EXPECT_NEAR(0.32f, constraints.minimumScale, 0.01f); 647 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 648 EXPECT_TRUE(page->viewportDescription().userZoom); 649 } 650 651 TEST_F(ViewportTest, viewport28) 652 { 653 UseMockScrollbarSettings mockScrollbarSettings; 654 registerMockedHttpURLLoad("viewport/viewport-28.html"); 655 656 FrameTestHelpers::WebViewHelper webViewHelper; 657 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-28.html", true, 0, 0, setViewportSettings); 658 659 Page* page = webViewHelper.webViewImpl()->page(); 660 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 661 662 EXPECT_EQ(352, constraints.layoutSize.width()); 663 EXPECT_NEAR(387.2, constraints.layoutSize.height(), 0.01); 664 EXPECT_NEAR(0.91f, constraints.initialScale, 0.01f); 665 EXPECT_NEAR(0.91f, constraints.minimumScale, 0.01f); 666 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 667 EXPECT_TRUE(page->viewportDescription().userZoom); 668 } 669 670 TEST_F(ViewportTest, viewport29) 671 { 672 UseMockScrollbarSettings mockScrollbarSettings; 673 registerMockedHttpURLLoad("viewport/viewport-29.html"); 674 675 FrameTestHelpers::WebViewHelper webViewHelper; 676 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-29.html", true, 0, 0, setViewportSettings); 677 678 Page* page = webViewHelper.webViewImpl()->page(); 679 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 680 681 EXPECT_EQ(700, constraints.layoutSize.width()); 682 EXPECT_EQ(770, constraints.layoutSize.height()); 683 EXPECT_NEAR(0.46f, constraints.initialScale, 0.01f); 684 EXPECT_NEAR(0.46f, constraints.minimumScale, 0.01f); 685 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 686 EXPECT_TRUE(page->viewportDescription().userZoom); 687 } 688 689 TEST_F(ViewportTest, viewport30) 690 { 691 UseMockScrollbarSettings mockScrollbarSettings; 692 registerMockedHttpURLLoad("viewport/viewport-30.html"); 693 694 FrameTestHelpers::WebViewHelper webViewHelper; 695 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-30.html", true, 0, 0, setViewportSettings); 696 697 Page* page = webViewHelper.webViewImpl()->page(); 698 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 699 700 EXPECT_EQ(200, constraints.layoutSize.width()); 701 EXPECT_EQ(220, constraints.layoutSize.height()); 702 EXPECT_NEAR(1.6f, constraints.initialScale, 0.01f); 703 EXPECT_NEAR(1.6f, constraints.minimumScale, 0.01f); 704 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 705 EXPECT_TRUE(page->viewportDescription().userZoom); 706 } 707 708 TEST_F(ViewportTest, viewport31) 709 { 710 UseMockScrollbarSettings mockScrollbarSettings; 711 registerMockedHttpURLLoad("viewport/viewport-31.html"); 712 713 FrameTestHelpers::WebViewHelper webViewHelper; 714 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-31.html", true, 0, 0, setViewportSettings); 715 716 Page* page = webViewHelper.webViewImpl()->page(); 717 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 718 719 EXPECT_EQ(980, constraints.layoutSize.width()); 720 EXPECT_EQ(700, constraints.layoutSize.height()); 721 EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f); 722 EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f); 723 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 724 EXPECT_TRUE(page->viewportDescription().userZoom); 725 } 726 727 TEST_F(ViewportTest, viewport32) 728 { 729 UseMockScrollbarSettings mockScrollbarSettings; 730 registerMockedHttpURLLoad("viewport/viewport-32.html"); 731 732 FrameTestHelpers::WebViewHelper webViewHelper; 733 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-32.html", true, 0, 0, setViewportSettings); 734 735 Page* page = webViewHelper.webViewImpl()->page(); 736 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 737 738 EXPECT_EQ(980, constraints.layoutSize.width()); 739 EXPECT_EQ(200, constraints.layoutSize.height()); 740 EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f); 741 EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f); 742 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 743 EXPECT_TRUE(page->viewportDescription().userZoom); 744 } 745 746 TEST_F(ViewportTest, viewport33) 747 { 748 UseMockScrollbarSettings mockScrollbarSettings; 749 registerMockedHttpURLLoad("viewport/viewport-33.html"); 750 751 FrameTestHelpers::WebViewHelper webViewHelper; 752 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-33.html", true, 0, 0, setViewportSettings); 753 754 Page* page = webViewHelper.webViewImpl()->page(); 755 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 756 757 EXPECT_EQ(320, constraints.layoutSize.width()); 758 EXPECT_EQ(352, constraints.layoutSize.height()); 759 EXPECT_NEAR(2.0f, constraints.initialScale, 0.01f); 760 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 761 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 762 EXPECT_TRUE(page->viewportDescription().userZoom); 763 } 764 765 TEST_F(ViewportTest, viewport34) 766 { 767 UseMockScrollbarSettings mockScrollbarSettings; 768 registerMockedHttpURLLoad("viewport/viewport-34.html"); 769 770 FrameTestHelpers::WebViewHelper webViewHelper; 771 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-34.html", true, 0, 0, setViewportSettings); 772 773 Page* page = webViewHelper.webViewImpl()->page(); 774 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 775 776 EXPECT_EQ(640, constraints.layoutSize.width()); 777 EXPECT_EQ(704, constraints.layoutSize.height()); 778 EXPECT_NEAR(0.5f, constraints.initialScale, 0.01f); 779 EXPECT_NEAR(0.5f, constraints.minimumScale, 0.01f); 780 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 781 EXPECT_TRUE(page->viewportDescription().userZoom); 782 } 783 784 TEST_F(ViewportTest, viewport35) 785 { 786 UseMockScrollbarSettings mockScrollbarSettings; 787 registerMockedHttpURLLoad("viewport/viewport-35.html"); 788 789 FrameTestHelpers::WebViewHelper webViewHelper; 790 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-35.html", true, 0, 0, setViewportSettings); 791 792 Page* page = webViewHelper.webViewImpl()->page(); 793 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 794 795 EXPECT_EQ(1280, constraints.layoutSize.width()); 796 EXPECT_EQ(1408, constraints.layoutSize.height()); 797 EXPECT_NEAR(0.25f, constraints.initialScale, 0.01f); 798 EXPECT_NEAR(0.25f, constraints.minimumScale, 0.01f); 799 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 800 EXPECT_TRUE(page->viewportDescription().userZoom); 801 } 802 803 TEST_F(ViewportTest, viewport36) 804 { 805 UseMockScrollbarSettings mockScrollbarSettings; 806 registerMockedHttpURLLoad("viewport/viewport-36.html"); 807 808 FrameTestHelpers::WebViewHelper webViewHelper; 809 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-36.html", true, 0, 0, setViewportSettings); 810 811 Page* page = webViewHelper.webViewImpl()->page(); 812 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 813 814 EXPECT_NEAR(636.36, constraints.layoutSize.width(), 0.01f); 815 EXPECT_EQ(700, constraints.layoutSize.height()); 816 EXPECT_NEAR(1.6f, constraints.initialScale, 0.01f); 817 EXPECT_NEAR(0.50f, constraints.minimumScale, 0.01f); 818 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 819 EXPECT_TRUE(page->viewportDescription().userZoom); 820 } 821 822 TEST_F(ViewportTest, viewport37) 823 { 824 UseMockScrollbarSettings mockScrollbarSettings; 825 registerMockedHttpURLLoad("viewport/viewport-37.html"); 826 827 FrameTestHelpers::WebViewHelper webViewHelper; 828 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-37.html", true, 0, 0, setViewportSettings); 829 830 Page* page = webViewHelper.webViewImpl()->page(); 831 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 832 833 EXPECT_EQ(320, constraints.layoutSize.width()); 834 EXPECT_EQ(352, constraints.layoutSize.height()); 835 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 836 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 837 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 838 EXPECT_TRUE(page->viewportDescription().userZoom); 839 } 840 841 TEST_F(ViewportTest, viewport38) 842 { 843 UseMockScrollbarSettings mockScrollbarSettings; 844 registerMockedHttpURLLoad("viewport/viewport-38.html"); 845 846 FrameTestHelpers::WebViewHelper webViewHelper; 847 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-38.html", true, 0, 0, setViewportSettings); 848 849 Page* page = webViewHelper.webViewImpl()->page(); 850 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 851 852 EXPECT_EQ(640, constraints.layoutSize.width()); 853 EXPECT_EQ(704, constraints.layoutSize.height()); 854 EXPECT_NEAR(0.5f, constraints.initialScale, 0.01f); 855 EXPECT_NEAR(0.5f, constraints.minimumScale, 0.01f); 856 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 857 EXPECT_TRUE(page->viewportDescription().userZoom); 858 } 859 860 TEST_F(ViewportTest, viewport39) 861 { 862 UseMockScrollbarSettings mockScrollbarSettings; 863 registerMockedHttpURLLoad("viewport/viewport-39.html"); 864 865 FrameTestHelpers::WebViewHelper webViewHelper; 866 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-39.html", true, 0, 0, setViewportSettings); 867 868 Page* page = webViewHelper.webViewImpl()->page(); 869 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 870 871 EXPECT_EQ(200, constraints.layoutSize.width()); 872 EXPECT_EQ(700, constraints.layoutSize.height()); 873 EXPECT_NEAR(1.6f, constraints.initialScale, 0.01f); 874 EXPECT_NEAR(1.6f, constraints.minimumScale, 0.01f); 875 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 876 EXPECT_TRUE(page->viewportDescription().userZoom); 877 } 878 879 TEST_F(ViewportTest, viewport40) 880 { 881 UseMockScrollbarSettings mockScrollbarSettings; 882 registerMockedHttpURLLoad("viewport/viewport-40.html"); 883 884 FrameTestHelpers::WebViewHelper webViewHelper; 885 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-40.html", true, 0, 0, setViewportSettings); 886 887 Page* page = webViewHelper.webViewImpl()->page(); 888 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 889 890 EXPECT_EQ(700, constraints.layoutSize.width()); 891 EXPECT_EQ(352, constraints.layoutSize.height()); 892 EXPECT_NEAR(0.46f, constraints.initialScale, 0.01f); 893 EXPECT_NEAR(0.46f, constraints.minimumScale, 0.01f); 894 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 895 EXPECT_TRUE(page->viewportDescription().userZoom); 896 } 897 898 TEST_F(ViewportTest, viewport41) 899 { 900 UseMockScrollbarSettings mockScrollbarSettings; 901 registerMockedHttpURLLoad("viewport/viewport-41.html"); 902 903 FrameTestHelpers::WebViewHelper webViewHelper; 904 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-41.html", true, 0, 0, setViewportSettings); 905 906 Page* page = webViewHelper.webViewImpl()->page(); 907 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 908 909 EXPECT_EQ(1000, constraints.layoutSize.width()); 910 EXPECT_EQ(704, constraints.layoutSize.height()); 911 EXPECT_NEAR(0.5f, constraints.initialScale, 0.01f); 912 EXPECT_NEAR(0.32f, constraints.minimumScale, 0.01f); 913 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 914 EXPECT_TRUE(page->viewportDescription().userZoom); 915 } 916 917 TEST_F(ViewportTest, viewport42) 918 { 919 UseMockScrollbarSettings mockScrollbarSettings; 920 registerMockedHttpURLLoad("viewport/viewport-42.html"); 921 922 FrameTestHelpers::WebViewHelper webViewHelper; 923 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-42.html", true, 0, 0, setViewportSettings); 924 925 Page* page = webViewHelper.webViewImpl()->page(); 926 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 927 928 EXPECT_EQ(320, constraints.layoutSize.width()); 929 EXPECT_EQ(1000, constraints.layoutSize.height()); 930 EXPECT_NEAR(2.0f, constraints.initialScale, 0.01f); 931 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 932 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 933 EXPECT_TRUE(page->viewportDescription().userZoom); 934 } 935 936 TEST_F(ViewportTest, viewport43) 937 { 938 UseMockScrollbarSettings mockScrollbarSettings; 939 registerMockedHttpURLLoad("viewport/viewport-43.html"); 940 941 FrameTestHelpers::WebViewHelper webViewHelper; 942 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-43.html", true, 0, 0, setViewportSettings); 943 944 Page* page = webViewHelper.webViewImpl()->page(); 945 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 946 947 EXPECT_EQ(64, constraints.layoutSize.width()); 948 EXPECT_NEAR(70.4, constraints.layoutSize.height(), 0.01f); 949 EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f); 950 EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f); 951 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 952 EXPECT_TRUE(page->viewportDescription().userZoom); 953 } 954 955 TEST_F(ViewportTest, viewport44) 956 { 957 UseMockScrollbarSettings mockScrollbarSettings; 958 registerMockedHttpURLLoad("viewport/viewport-44.html"); 959 960 FrameTestHelpers::WebViewHelper webViewHelper; 961 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-44.html", true, 0, 0, setViewportSettings); 962 963 Page* page = webViewHelper.webViewImpl()->page(); 964 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 965 966 EXPECT_EQ(10000, constraints.layoutSize.width()); 967 EXPECT_EQ(10000, constraints.layoutSize.height()); 968 EXPECT_NEAR(0.25f, constraints.initialScale, 0.01f); 969 EXPECT_NEAR(0.25f, constraints.minimumScale, 0.01f); 970 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 971 EXPECT_TRUE(page->viewportDescription().userZoom); 972 } 973 974 TEST_F(ViewportTest, viewport45) 975 { 976 UseMockScrollbarSettings mockScrollbarSettings; 977 registerMockedHttpURLLoad("viewport/viewport-45.html"); 978 979 FrameTestHelpers::WebViewHelper webViewHelper; 980 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-45.html", true, 0, 0, setViewportSettings); 981 982 Page* page = webViewHelper.webViewImpl()->page(); 983 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 984 985 EXPECT_EQ(3200, constraints.layoutSize.width()); 986 EXPECT_EQ(3520, constraints.layoutSize.height()); 987 EXPECT_NEAR(0.1f, constraints.initialScale, 0.01f); 988 EXPECT_NEAR(0.1f, constraints.minimumScale, 0.01f); 989 EXPECT_NEAR(0.1f, constraints.maximumScale, 0.01f); 990 EXPECT_TRUE(page->viewportDescription().userZoom); 991 } 992 993 TEST_F(ViewportTest, viewport46) 994 { 995 UseMockScrollbarSettings mockScrollbarSettings; 996 registerMockedHttpURLLoad("viewport/viewport-46.html"); 997 998 FrameTestHelpers::WebViewHelper webViewHelper; 999 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-46.html", true, 0, 0, setViewportSettings); 1000 1001 Page* page = webViewHelper.webViewImpl()->page(); 1002 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1003 1004 EXPECT_EQ(32, constraints.layoutSize.width()); 1005 EXPECT_NEAR(35.2, constraints.layoutSize.height(), 0.01f); 1006 EXPECT_NEAR(10.0f, constraints.initialScale, 0.01f); 1007 EXPECT_NEAR(10.0f, constraints.minimumScale, 0.01f); 1008 EXPECT_NEAR(10.0f, constraints.maximumScale, 0.01f); 1009 EXPECT_TRUE(page->viewportDescription().userZoom); 1010 } 1011 1012 TEST_F(ViewportTest, viewport47) 1013 { 1014 UseMockScrollbarSettings mockScrollbarSettings; 1015 registerMockedHttpURLLoad("viewport/viewport-47.html"); 1016 1017 FrameTestHelpers::WebViewHelper webViewHelper; 1018 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-47.html", true, 0, 0, setViewportSettings); 1019 1020 Page* page = webViewHelper.webViewImpl()->page(); 1021 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1022 1023 EXPECT_EQ(320, constraints.layoutSize.width()); 1024 EXPECT_EQ(3000, constraints.layoutSize.height()); 1025 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 1026 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 1027 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1028 EXPECT_TRUE(page->viewportDescription().userZoom); 1029 } 1030 1031 TEST_F(ViewportTest, viewport48) 1032 { 1033 UseMockScrollbarSettings mockScrollbarSettings; 1034 registerMockedHttpURLLoad("viewport/viewport-48.html"); 1035 1036 FrameTestHelpers::WebViewHelper webViewHelper; 1037 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-48.html", true, 0, 0, setViewportSettings); 1038 1039 Page* page = webViewHelper.webViewImpl()->page(); 1040 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1041 1042 EXPECT_EQ(3000, constraints.layoutSize.width()); 1043 EXPECT_EQ(352, constraints.layoutSize.height()); 1044 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 1045 EXPECT_NEAR(0.25f, constraints.minimumScale, 0.01f); 1046 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1047 EXPECT_TRUE(page->viewportDescription().userZoom); 1048 } 1049 1050 TEST_F(ViewportTest, viewport49) 1051 { 1052 UseMockScrollbarSettings mockScrollbarSettings; 1053 registerMockedHttpURLLoad("viewport/viewport-49.html"); 1054 1055 FrameTestHelpers::WebViewHelper webViewHelper; 1056 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-49.html", true, 0, 0, setViewportSettings); 1057 1058 Page* page = webViewHelper.webViewImpl()->page(); 1059 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1060 1061 EXPECT_EQ(320, constraints.layoutSize.width()); 1062 EXPECT_EQ(352, constraints.layoutSize.height()); 1063 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 1064 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 1065 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1066 EXPECT_TRUE(page->viewportDescription().userZoom); 1067 } 1068 1069 TEST_F(ViewportTest, viewport50) 1070 { 1071 UseMockScrollbarSettings mockScrollbarSettings; 1072 registerMockedHttpURLLoad("viewport/viewport-50.html"); 1073 1074 FrameTestHelpers::WebViewHelper webViewHelper; 1075 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-50.html", true, 0, 0, setViewportSettings); 1076 1077 Page* page = webViewHelper.webViewImpl()->page(); 1078 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1079 1080 EXPECT_EQ(980, constraints.layoutSize.width()); 1081 EXPECT_EQ(1078, constraints.layoutSize.height()); 1082 EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f); 1083 EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f); 1084 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1085 EXPECT_TRUE(page->viewportDescription().userZoom); 1086 } 1087 1088 TEST_F(ViewportTest, viewport51) 1089 { 1090 UseMockScrollbarSettings mockScrollbarSettings; 1091 registerMockedHttpURLLoad("viewport/viewport-51.html"); 1092 1093 FrameTestHelpers::WebViewHelper webViewHelper; 1094 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-51.html", true, 0, 0, setViewportSettings); 1095 1096 Page* page = webViewHelper.webViewImpl()->page(); 1097 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1098 1099 EXPECT_EQ(980, constraints.layoutSize.width()); 1100 EXPECT_EQ(1078, constraints.layoutSize.height()); 1101 EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f); 1102 EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f); 1103 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1104 EXPECT_TRUE(page->viewportDescription().userZoom); 1105 } 1106 1107 TEST_F(ViewportTest, viewport52) 1108 { 1109 UseMockScrollbarSettings mockScrollbarSettings; 1110 registerMockedHttpURLLoad("viewport/viewport-52.html"); 1111 1112 FrameTestHelpers::WebViewHelper webViewHelper; 1113 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-52.html", true, 0, 0, setViewportSettings); 1114 1115 Page* page = webViewHelper.webViewImpl()->page(); 1116 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1117 1118 EXPECT_EQ(64, constraints.layoutSize.width()); 1119 EXPECT_NEAR(70.4, constraints.layoutSize.height(), 0.01f); 1120 EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f); 1121 EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f); 1122 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1123 EXPECT_TRUE(page->viewportDescription().userZoom); 1124 } 1125 1126 TEST_F(ViewportTest, viewport53) 1127 { 1128 UseMockScrollbarSettings mockScrollbarSettings; 1129 registerMockedHttpURLLoad("viewport/viewport-53.html"); 1130 1131 FrameTestHelpers::WebViewHelper webViewHelper; 1132 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-53.html", true, 0, 0, setViewportSettings); 1133 1134 Page* page = webViewHelper.webViewImpl()->page(); 1135 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1136 1137 EXPECT_EQ(980, constraints.layoutSize.width()); 1138 EXPECT_NEAR(70.4, constraints.layoutSize.height(), 0.01f); 1139 EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f); 1140 EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f); 1141 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1142 EXPECT_TRUE(page->viewportDescription().userZoom); 1143 } 1144 1145 TEST_F(ViewportTest, viewport54) 1146 { 1147 UseMockScrollbarSettings mockScrollbarSettings; 1148 registerMockedHttpURLLoad("viewport/viewport-54.html"); 1149 1150 FrameTestHelpers::WebViewHelper webViewHelper; 1151 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-54.html", true, 0, 0, setViewportSettings); 1152 1153 Page* page = webViewHelper.webViewImpl()->page(); 1154 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1155 1156 EXPECT_EQ(64, constraints.layoutSize.width()); 1157 EXPECT_NEAR(70.4, constraints.layoutSize.height(), 0.01f); 1158 EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f); 1159 EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f); 1160 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1161 EXPECT_TRUE(page->viewportDescription().userZoom); 1162 } 1163 1164 TEST_F(ViewportTest, viewport55) 1165 { 1166 UseMockScrollbarSettings mockScrollbarSettings; 1167 registerMockedHttpURLLoad("viewport/viewport-55.html"); 1168 1169 FrameTestHelpers::WebViewHelper webViewHelper; 1170 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-55.html", true, 0, 0, setViewportSettings); 1171 1172 Page* page = webViewHelper.webViewImpl()->page(); 1173 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1174 1175 EXPECT_EQ(64, constraints.layoutSize.width()); 1176 EXPECT_NEAR(70.4, constraints.layoutSize.height(), 0.01f); 1177 EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f); 1178 EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f); 1179 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1180 EXPECT_TRUE(page->viewportDescription().userZoom); 1181 } 1182 1183 TEST_F(ViewportTest, viewport56) 1184 { 1185 UseMockScrollbarSettings mockScrollbarSettings; 1186 registerMockedHttpURLLoad("viewport/viewport-56.html"); 1187 1188 FrameTestHelpers::WebViewHelper webViewHelper; 1189 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-56.html", true, 0, 0, setViewportSettings); 1190 1191 Page* page = webViewHelper.webViewImpl()->page(); 1192 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1193 1194 EXPECT_EQ(980, constraints.layoutSize.width()); 1195 EXPECT_EQ(1078, constraints.layoutSize.height()); 1196 EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f); 1197 EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f); 1198 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1199 EXPECT_TRUE(page->viewportDescription().userZoom); 1200 } 1201 1202 TEST_F(ViewportTest, viewport57) 1203 { 1204 UseMockScrollbarSettings mockScrollbarSettings; 1205 registerMockedHttpURLLoad("viewport/viewport-57.html"); 1206 1207 FrameTestHelpers::WebViewHelper webViewHelper; 1208 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-57.html", true, 0, 0, setViewportSettings); 1209 1210 Page* page = webViewHelper.webViewImpl()->page(); 1211 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1212 1213 EXPECT_EQ(320, constraints.layoutSize.width()); 1214 EXPECT_EQ(352, constraints.layoutSize.height()); 1215 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 1216 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 1217 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1218 EXPECT_TRUE(page->viewportDescription().userZoom); 1219 } 1220 1221 TEST_F(ViewportTest, viewport58) 1222 { 1223 UseMockScrollbarSettings mockScrollbarSettings; 1224 registerMockedHttpURLLoad("viewport/viewport-58.html"); 1225 1226 FrameTestHelpers::WebViewHelper webViewHelper; 1227 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-58.html", true, 0, 0, setViewportSettings); 1228 1229 Page* page = webViewHelper.webViewImpl()->page(); 1230 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1231 1232 EXPECT_EQ(3200, constraints.layoutSize.width()); 1233 EXPECT_EQ(3520, constraints.layoutSize.height()); 1234 EXPECT_NEAR(0.1f, constraints.initialScale, 0.01f); 1235 EXPECT_NEAR(0.1f, constraints.minimumScale, 0.01f); 1236 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1237 EXPECT_TRUE(page->viewportDescription().userZoom); 1238 } 1239 1240 TEST_F(ViewportTest, viewport59) 1241 { 1242 UseMockScrollbarSettings mockScrollbarSettings; 1243 registerMockedHttpURLLoad("viewport/viewport-59.html"); 1244 1245 FrameTestHelpers::WebViewHelper webViewHelper; 1246 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-59.html", true, 0, 0, setViewportSettings); 1247 1248 Page* page = webViewHelper.webViewImpl()->page(); 1249 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1250 1251 EXPECT_EQ(320, constraints.layoutSize.width()); 1252 EXPECT_EQ(352, constraints.layoutSize.height()); 1253 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 1254 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 1255 EXPECT_NEAR(1.0f, constraints.maximumScale, 0.01f); 1256 EXPECT_TRUE(page->viewportDescription().userZoom); 1257 } 1258 1259 TEST_F(ViewportTest, viewport60) 1260 { 1261 UseMockScrollbarSettings mockScrollbarSettings; 1262 registerMockedHttpURLLoad("viewport/viewport-60.html"); 1263 1264 FrameTestHelpers::WebViewHelper webViewHelper; 1265 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-60.html", true, 0, 0, setViewportSettings); 1266 1267 Page* page = webViewHelper.webViewImpl()->page(); 1268 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1269 1270 EXPECT_EQ(32, constraints.layoutSize.width()); 1271 EXPECT_NEAR(35.2, constraints.layoutSize.height(), 0.01f); 1272 EXPECT_NEAR(10.0f, constraints.initialScale, 0.01f); 1273 EXPECT_NEAR(10.0f, constraints.minimumScale, 0.01f); 1274 EXPECT_NEAR(10.0f, constraints.maximumScale, 0.01f); 1275 EXPECT_TRUE(page->viewportDescription().userZoom); 1276 } 1277 1278 TEST_F(ViewportTest, viewport61) 1279 { 1280 UseMockScrollbarSettings mockScrollbarSettings; 1281 registerMockedHttpURLLoad("viewport/viewport-61.html"); 1282 1283 FrameTestHelpers::WebViewHelper webViewHelper; 1284 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-61.html", true, 0, 0, setViewportSettings); 1285 1286 Page* page = webViewHelper.webViewImpl()->page(); 1287 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1288 1289 EXPECT_EQ(320, constraints.layoutSize.width()); 1290 EXPECT_EQ(352, constraints.layoutSize.height()); 1291 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 1292 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 1293 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1294 EXPECT_TRUE(page->viewportDescription().userZoom); 1295 } 1296 1297 TEST_F(ViewportTest, viewport62) 1298 { 1299 UseMockScrollbarSettings mockScrollbarSettings; 1300 registerMockedHttpURLLoad("viewport/viewport-62.html"); 1301 1302 FrameTestHelpers::WebViewHelper webViewHelper; 1303 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-62.html", true, 0, 0, setViewportSettings); 1304 1305 Page* page = webViewHelper.webViewImpl()->page(); 1306 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1307 1308 EXPECT_EQ(320, constraints.layoutSize.width()); 1309 EXPECT_EQ(352, constraints.layoutSize.height()); 1310 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 1311 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 1312 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1313 EXPECT_TRUE(page->viewportDescription().userZoom); 1314 } 1315 1316 TEST_F(ViewportTest, viewport63) 1317 { 1318 UseMockScrollbarSettings mockScrollbarSettings; 1319 registerMockedHttpURLLoad("viewport/viewport-63.html"); 1320 1321 FrameTestHelpers::WebViewHelper webViewHelper; 1322 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-63.html", true, 0, 0, setViewportSettings); 1323 1324 Page* page = webViewHelper.webViewImpl()->page(); 1325 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1326 1327 EXPECT_EQ(320, constraints.layoutSize.width()); 1328 EXPECT_EQ(352, constraints.layoutSize.height()); 1329 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 1330 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 1331 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1332 EXPECT_TRUE(page->viewportDescription().userZoom); 1333 } 1334 1335 TEST_F(ViewportTest, viewport64) 1336 { 1337 UseMockScrollbarSettings mockScrollbarSettings; 1338 registerMockedHttpURLLoad("viewport/viewport-64.html"); 1339 1340 FrameTestHelpers::WebViewHelper webViewHelper; 1341 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-64.html", true, 0, 0, setViewportSettings); 1342 1343 Page* page = webViewHelper.webViewImpl()->page(); 1344 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1345 1346 EXPECT_EQ(320, constraints.layoutSize.width()); 1347 EXPECT_EQ(352, constraints.layoutSize.height()); 1348 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 1349 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 1350 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1351 EXPECT_TRUE(page->viewportDescription().userZoom); 1352 } 1353 1354 TEST_F(ViewportTest, viewport65) 1355 { 1356 UseMockScrollbarSettings mockScrollbarSettings; 1357 registerMockedHttpURLLoad("viewport/viewport-65.html"); 1358 1359 FrameTestHelpers::WebViewHelper webViewHelper; 1360 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-65.html", true, 0, 0, setViewportSettings); 1361 1362 Page* page = webViewHelper.webViewImpl()->page(); 1363 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1364 1365 EXPECT_EQ(100, constraints.layoutSize.width()); 1366 EXPECT_EQ(110, constraints.layoutSize.height()); 1367 EXPECT_NEAR(3.2f, constraints.initialScale, 0.01f); 1368 EXPECT_NEAR(3.2f, constraints.minimumScale, 0.01f); 1369 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1370 EXPECT_TRUE(page->viewportDescription().userZoom); 1371 } 1372 1373 TEST_F(ViewportTest, viewport66) 1374 { 1375 UseMockScrollbarSettings mockScrollbarSettings; 1376 registerMockedHttpURLLoad("viewport/viewport-66.html"); 1377 1378 FrameTestHelpers::WebViewHelper webViewHelper; 1379 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-66.html", true, 0, 0, setViewportSettings); 1380 1381 Page* page = webViewHelper.webViewImpl()->page(); 1382 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1383 1384 EXPECT_EQ(100, constraints.layoutSize.width()); 1385 EXPECT_EQ(110, constraints.layoutSize.height()); 1386 EXPECT_NEAR(3.2f, constraints.initialScale, 0.01f); 1387 EXPECT_NEAR(3.2f, constraints.minimumScale, 0.01f); 1388 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1389 EXPECT_TRUE(page->viewportDescription().userZoom); 1390 } 1391 1392 TEST_F(ViewportTest, viewport67) 1393 { 1394 UseMockScrollbarSettings mockScrollbarSettings; 1395 registerMockedHttpURLLoad("viewport/viewport-67.html"); 1396 1397 FrameTestHelpers::WebViewHelper webViewHelper; 1398 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-67.html", true, 0, 0, setViewportSettings); 1399 1400 Page* page = webViewHelper.webViewImpl()->page(); 1401 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1402 1403 EXPECT_EQ(320, constraints.layoutSize.width()); 1404 EXPECT_EQ(352, constraints.layoutSize.height()); 1405 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 1406 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 1407 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1408 EXPECT_TRUE(page->viewportDescription().userZoom); 1409 } 1410 1411 TEST_F(ViewportTest, viewport68) 1412 { 1413 UseMockScrollbarSettings mockScrollbarSettings; 1414 registerMockedHttpURLLoad("viewport/viewport-68.html"); 1415 1416 FrameTestHelpers::WebViewHelper webViewHelper; 1417 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-68.html", true, 0, 0, setViewportSettings); 1418 1419 Page* page = webViewHelper.webViewImpl()->page(); 1420 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1421 1422 EXPECT_EQ(320, constraints.layoutSize.width()); 1423 EXPECT_EQ(352, constraints.layoutSize.height()); 1424 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 1425 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 1426 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1427 EXPECT_TRUE(page->viewportDescription().userZoom); 1428 } 1429 1430 TEST_F(ViewportTest, viewport69) 1431 { 1432 UseMockScrollbarSettings mockScrollbarSettings; 1433 registerMockedHttpURLLoad("viewport/viewport-69.html"); 1434 1435 FrameTestHelpers::WebViewHelper webViewHelper; 1436 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-69.html", true, 0, 0, setViewportSettings); 1437 1438 Page* page = webViewHelper.webViewImpl()->page(); 1439 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1440 1441 EXPECT_EQ(100, constraints.layoutSize.width()); 1442 EXPECT_EQ(110, constraints.layoutSize.height()); 1443 EXPECT_NEAR(3.2f, constraints.initialScale, 0.01f); 1444 EXPECT_NEAR(3.2f, constraints.minimumScale, 0.01f); 1445 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1446 EXPECT_TRUE(page->viewportDescription().userZoom); 1447 } 1448 1449 TEST_F(ViewportTest, viewport70) 1450 { 1451 UseMockScrollbarSettings mockScrollbarSettings; 1452 registerMockedHttpURLLoad("viewport/viewport-70.html"); 1453 1454 FrameTestHelpers::WebViewHelper webViewHelper; 1455 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-70.html", true, 0, 0, setViewportSettings); 1456 1457 Page* page = webViewHelper.webViewImpl()->page(); 1458 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1459 1460 EXPECT_EQ(100, constraints.layoutSize.width()); 1461 EXPECT_EQ(110, constraints.layoutSize.height()); 1462 EXPECT_NEAR(3.2f, constraints.initialScale, 0.01f); 1463 EXPECT_NEAR(3.2f, constraints.minimumScale, 0.01f); 1464 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1465 EXPECT_TRUE(page->viewportDescription().userZoom); 1466 } 1467 1468 TEST_F(ViewportTest, viewport71) 1469 { 1470 UseMockScrollbarSettings mockScrollbarSettings; 1471 registerMockedHttpURLLoad("viewport/viewport-71.html"); 1472 1473 FrameTestHelpers::WebViewHelper webViewHelper; 1474 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-71.html", true, 0, 0, setViewportSettings); 1475 1476 Page* page = webViewHelper.webViewImpl()->page(); 1477 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1478 1479 EXPECT_EQ(320, constraints.layoutSize.width()); 1480 EXPECT_EQ(352, constraints.layoutSize.height()); 1481 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 1482 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 1483 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1484 EXPECT_TRUE(page->viewportDescription().userZoom); 1485 } 1486 1487 TEST_F(ViewportTest, viewport72) 1488 { 1489 UseMockScrollbarSettings mockScrollbarSettings; 1490 registerMockedHttpURLLoad("viewport/viewport-72.html"); 1491 1492 FrameTestHelpers::WebViewHelper webViewHelper; 1493 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-72.html", true, 0, 0, setViewportSettings); 1494 1495 Page* page = webViewHelper.webViewImpl()->page(); 1496 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1497 1498 EXPECT_EQ(100, constraints.layoutSize.width()); 1499 EXPECT_EQ(110, constraints.layoutSize.height()); 1500 EXPECT_NEAR(3.2f, constraints.initialScale, 0.01f); 1501 EXPECT_NEAR(3.2f, constraints.minimumScale, 0.01f); 1502 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1503 EXPECT_TRUE(page->viewportDescription().userZoom); 1504 } 1505 1506 TEST_F(ViewportTest, viewport73) 1507 { 1508 UseMockScrollbarSettings mockScrollbarSettings; 1509 registerMockedHttpURLLoad("viewport/viewport-73.html"); 1510 1511 FrameTestHelpers::WebViewHelper webViewHelper; 1512 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-73.html", true, 0, 0, setViewportSettings); 1513 1514 Page* page = webViewHelper.webViewImpl()->page(); 1515 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1516 1517 EXPECT_EQ(100, constraints.layoutSize.width()); 1518 EXPECT_EQ(110, constraints.layoutSize.height()); 1519 EXPECT_NEAR(3.2f, constraints.initialScale, 0.01f); 1520 EXPECT_NEAR(3.2f, constraints.minimumScale, 0.01f); 1521 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1522 EXPECT_TRUE(page->viewportDescription().userZoom); 1523 } 1524 1525 TEST_F(ViewportTest, viewport74) 1526 { 1527 UseMockScrollbarSettings mockScrollbarSettings; 1528 registerMockedHttpURLLoad("viewport/viewport-74.html"); 1529 1530 FrameTestHelpers::WebViewHelper webViewHelper; 1531 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-74.html", true, 0, 0, setViewportSettings); 1532 1533 Page* page = webViewHelper.webViewImpl()->page(); 1534 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1535 1536 EXPECT_EQ(100, constraints.layoutSize.width()); 1537 EXPECT_EQ(110, constraints.layoutSize.height()); 1538 EXPECT_NEAR(3.2f, constraints.initialScale, 0.01f); 1539 EXPECT_NEAR(3.2f, constraints.minimumScale, 0.01f); 1540 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1541 EXPECT_TRUE(page->viewportDescription().userZoom); 1542 } 1543 1544 TEST_F(ViewportTest, viewport75) 1545 { 1546 UseMockScrollbarSettings mockScrollbarSettings; 1547 registerMockedHttpURLLoad("viewport/viewport-75.html"); 1548 1549 FrameTestHelpers::WebViewHelper webViewHelper; 1550 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-75.html", true, 0, 0, setViewportSettings); 1551 1552 Page* page = webViewHelper.webViewImpl()->page(); 1553 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1554 1555 EXPECT_EQ(64, constraints.layoutSize.width()); 1556 EXPECT_NEAR(70.4, constraints.layoutSize.height(), 0.01f); 1557 EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f); 1558 EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f); 1559 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1560 EXPECT_TRUE(page->viewportDescription().userZoom); 1561 } 1562 1563 TEST_F(ViewportTest, viewport76) 1564 { 1565 UseMockScrollbarSettings mockScrollbarSettings; 1566 registerMockedHttpURLLoad("viewport/viewport-76.html"); 1567 1568 FrameTestHelpers::WebViewHelper webViewHelper; 1569 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-76.html", true, 0, 0, setViewportSettings); 1570 1571 Page* page = webViewHelper.webViewImpl()->page(); 1572 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1573 1574 EXPECT_EQ(32, constraints.layoutSize.width()); 1575 EXPECT_NEAR(35.2, constraints.layoutSize.height(), 0.01); 1576 EXPECT_NEAR(10.0f, constraints.initialScale, 0.01f); 1577 EXPECT_NEAR(10.0f, constraints.minimumScale, 0.01f); 1578 EXPECT_NEAR(10.0f, constraints.maximumScale, 0.01f); 1579 EXPECT_TRUE(page->viewportDescription().userZoom); 1580 } 1581 1582 TEST_F(ViewportTest, viewport77) 1583 { 1584 UseMockScrollbarSettings mockScrollbarSettings; 1585 registerMockedHttpURLLoad("viewport/viewport-77.html"); 1586 1587 FrameTestHelpers::WebViewHelper webViewHelper; 1588 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-77.html", true, 0, 0, setViewportSettings); 1589 1590 Page* page = webViewHelper.webViewImpl()->page(); 1591 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1592 1593 EXPECT_EQ(1280, constraints.layoutSize.width()); 1594 EXPECT_EQ(1408, constraints.layoutSize.height()); 1595 EXPECT_NEAR(0.25f, constraints.initialScale, 0.01f); 1596 EXPECT_NEAR(0.25f, constraints.minimumScale, 0.01f); 1597 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1598 EXPECT_TRUE(page->viewportDescription().userZoom); 1599 } 1600 1601 TEST_F(ViewportTest, viewport78) 1602 { 1603 UseMockScrollbarSettings mockScrollbarSettings; 1604 registerMockedHttpURLLoad("viewport/viewport-78.html"); 1605 1606 FrameTestHelpers::WebViewHelper webViewHelper; 1607 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-78.html", true, 0, 0, setViewportSettings); 1608 1609 Page* page = webViewHelper.webViewImpl()->page(); 1610 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1611 1612 EXPECT_EQ(100, constraints.layoutSize.width()); 1613 EXPECT_EQ(110, constraints.layoutSize.height()); 1614 EXPECT_NEAR(3.2f, constraints.initialScale, 0.01f); 1615 EXPECT_NEAR(3.2f, constraints.minimumScale, 0.01f); 1616 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1617 EXPECT_TRUE(page->viewportDescription().userZoom); 1618 } 1619 1620 TEST_F(ViewportTest, viewport79) 1621 { 1622 UseMockScrollbarSettings mockScrollbarSettings; 1623 registerMockedHttpURLLoad("viewport/viewport-79.html"); 1624 1625 FrameTestHelpers::WebViewHelper webViewHelper; 1626 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-79.html", true, 0, 0, setViewportSettings); 1627 1628 Page* page = webViewHelper.webViewImpl()->page(); 1629 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1630 1631 EXPECT_EQ(320, constraints.layoutSize.width()); 1632 EXPECT_EQ(352, constraints.layoutSize.height()); 1633 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 1634 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 1635 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1636 EXPECT_TRUE(page->viewportDescription().userZoom); 1637 } 1638 1639 TEST_F(ViewportTest, viewport80) 1640 { 1641 UseMockScrollbarSettings mockScrollbarSettings; 1642 registerMockedHttpURLLoad("viewport/viewport-80.html"); 1643 1644 FrameTestHelpers::WebViewHelper webViewHelper; 1645 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-80.html", true, 0, 0, setViewportSettings); 1646 1647 Page* page = webViewHelper.webViewImpl()->page(); 1648 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1649 1650 EXPECT_EQ(320, constraints.layoutSize.width()); 1651 EXPECT_EQ(352, constraints.layoutSize.height()); 1652 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 1653 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 1654 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1655 EXPECT_TRUE(page->viewportDescription().userZoom); 1656 } 1657 1658 TEST_F(ViewportTest, viewport81) 1659 { 1660 UseMockScrollbarSettings mockScrollbarSettings; 1661 registerMockedHttpURLLoad("viewport/viewport-81.html"); 1662 1663 FrameTestHelpers::WebViewHelper webViewHelper; 1664 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-81.html", true, 0, 0, setViewportSettings); 1665 1666 Page* page = webViewHelper.webViewImpl()->page(); 1667 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1668 1669 EXPECT_EQ(3000, constraints.layoutSize.width()); 1670 EXPECT_EQ(3300, constraints.layoutSize.height()); 1671 EXPECT_NEAR(0.25f, constraints.initialScale, 0.01f); 1672 EXPECT_NEAR(0.25f, constraints.minimumScale, 0.01f); 1673 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1674 EXPECT_TRUE(page->viewportDescription().userZoom); 1675 } 1676 1677 TEST_F(ViewportTest, viewport82) 1678 { 1679 UseMockScrollbarSettings mockScrollbarSettings; 1680 registerMockedHttpURLLoad("viewport/viewport-82.html"); 1681 1682 FrameTestHelpers::WebViewHelper webViewHelper; 1683 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-82.html", true, 0, 0, setViewportSettings); 1684 1685 Page* page = webViewHelper.webViewImpl()->page(); 1686 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1687 1688 EXPECT_EQ(400, constraints.layoutSize.width()); 1689 EXPECT_EQ(440, constraints.layoutSize.height()); 1690 EXPECT_NEAR(0.8f, constraints.initialScale, 0.01f); 1691 EXPECT_NEAR(0.8f, constraints.minimumScale, 0.01f); 1692 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1693 EXPECT_TRUE(page->viewportDescription().userZoom); 1694 } 1695 1696 TEST_F(ViewportTest, viewport83) 1697 { 1698 UseMockScrollbarSettings mockScrollbarSettings; 1699 registerMockedHttpURLLoad("viewport/viewport-83.html"); 1700 1701 FrameTestHelpers::WebViewHelper webViewHelper; 1702 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-83.html", true, 0, 0, setViewportSettings); 1703 1704 Page* page = webViewHelper.webViewImpl()->page(); 1705 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1706 1707 EXPECT_EQ(64, constraints.layoutSize.width()); 1708 EXPECT_NEAR(70.4, constraints.layoutSize.height(), 0.01f); 1709 EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f); 1710 EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f); 1711 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1712 EXPECT_TRUE(page->viewportDescription().userZoom); 1713 } 1714 1715 TEST_F(ViewportTest, viewport84) 1716 { 1717 UseMockScrollbarSettings mockScrollbarSettings; 1718 registerMockedHttpURLLoad("viewport/viewport-84.html"); 1719 1720 FrameTestHelpers::WebViewHelper webViewHelper; 1721 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-84.html", true, 0, 0, setViewportSettings); 1722 1723 Page* page = webViewHelper.webViewImpl()->page(); 1724 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1725 1726 EXPECT_EQ(64, constraints.layoutSize.width()); 1727 EXPECT_EQ(480, constraints.layoutSize.height()); 1728 EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f); 1729 EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f); 1730 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1731 EXPECT_TRUE(page->viewportDescription().userZoom); 1732 } 1733 1734 TEST_F(ViewportTest, viewport85) 1735 { 1736 UseMockScrollbarSettings mockScrollbarSettings; 1737 registerMockedHttpURLLoad("viewport/viewport-85.html"); 1738 1739 FrameTestHelpers::WebViewHelper webViewHelper; 1740 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-85.html", true, 0, 0, setViewportSettings); 1741 1742 Page* page = webViewHelper.webViewImpl()->page(); 1743 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1744 1745 EXPECT_EQ(540, constraints.layoutSize.width()); 1746 EXPECT_EQ(594, constraints.layoutSize.height()); 1747 EXPECT_NEAR(0.59f, constraints.initialScale, 0.01f); 1748 EXPECT_NEAR(0.59f, constraints.minimumScale, 0.01f); 1749 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1750 EXPECT_TRUE(page->viewportDescription().userZoom); 1751 } 1752 1753 TEST_F(ViewportTest, viewport86) 1754 { 1755 UseMockScrollbarSettings mockScrollbarSettings; 1756 registerMockedHttpURLLoad("viewport/viewport-86.html"); 1757 1758 FrameTestHelpers::WebViewHelper webViewHelper; 1759 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-86.html", true, 0, 0, setViewportSettings); 1760 1761 Page* page = webViewHelper.webViewImpl()->page(); 1762 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1763 1764 EXPECT_NEAR(457.14, constraints.layoutSize.width(), 0.01f); 1765 EXPECT_NEAR(502.86, constraints.layoutSize.height(), 0.01f); 1766 EXPECT_NEAR(0.7f, constraints.initialScale, 0.01f); 1767 EXPECT_NEAR(0.7f, constraints.minimumScale, 0.01f); 1768 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1769 EXPECT_TRUE(page->viewportDescription().userZoom); 1770 } 1771 1772 TEST_F(ViewportTest, viewport87) 1773 { 1774 UseMockScrollbarSettings mockScrollbarSettings; 1775 registerMockedHttpURLLoad("viewport/viewport-87.html"); 1776 1777 FrameTestHelpers::WebViewHelper webViewHelper; 1778 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-87.html", true, 0, 0, setViewportSettings); 1779 1780 Page* page = webViewHelper.webViewImpl()->page(); 1781 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1782 1783 EXPECT_EQ(64, constraints.layoutSize.width()); 1784 EXPECT_NEAR(70.4, constraints.layoutSize.height(), 0.01f); 1785 EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f); 1786 EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f); 1787 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1788 EXPECT_TRUE(page->viewportDescription().userZoom); 1789 } 1790 1791 TEST_F(ViewportTest, viewport88) 1792 { 1793 UseMockScrollbarSettings mockScrollbarSettings; 1794 registerMockedHttpURLLoad("viewport/viewport-88.html"); 1795 1796 FrameTestHelpers::WebViewHelper webViewHelper; 1797 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-88.html", true, 0, 0, setViewportSettings); 1798 1799 Page* page = webViewHelper.webViewImpl()->page(); 1800 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1801 1802 EXPECT_EQ(980, constraints.layoutSize.width()); 1803 EXPECT_EQ(1078, constraints.layoutSize.height()); 1804 EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f); 1805 EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f); 1806 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1807 EXPECT_TRUE(page->viewportDescription().userZoom); 1808 } 1809 1810 TEST_F(ViewportTest, viewport90) 1811 { 1812 UseMockScrollbarSettings mockScrollbarSettings; 1813 registerMockedHttpURLLoad("viewport/viewport-90.html"); 1814 1815 FrameTestHelpers::WebViewHelper webViewHelper; 1816 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-90.html", true, 0, 0, setViewportSettings); 1817 1818 Page* page = webViewHelper.webViewImpl()->page(); 1819 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1820 1821 EXPECT_EQ(700, constraints.layoutSize.width()); 1822 EXPECT_EQ(770, constraints.layoutSize.height()); 1823 EXPECT_NEAR(0.5f, constraints.initialScale, 0.01f); 1824 EXPECT_NEAR(0.46f, constraints.minimumScale, 0.01f); 1825 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1826 EXPECT_TRUE(page->viewportDescription().userZoom); 1827 } 1828 1829 TEST_F(ViewportTest, viewport100) 1830 { 1831 UseMockScrollbarSettings mockScrollbarSettings; 1832 registerMockedHttpURLLoad("viewport/viewport-100.html"); 1833 1834 FrameTestHelpers::WebViewHelper webViewHelper; 1835 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-100.html", true, 0, 0, setViewportSettings); 1836 1837 Page* page = webViewHelper.webViewImpl()->page(); 1838 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1839 1840 EXPECT_EQ(400, constraints.layoutSize.width()); 1841 EXPECT_EQ(440, constraints.layoutSize.height()); 1842 EXPECT_NEAR(0.8f, constraints.initialScale, 0.01f); 1843 EXPECT_NEAR(0.8f, constraints.minimumScale, 0.01f); 1844 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1845 EXPECT_TRUE(page->viewportDescription().userZoom); 1846 } 1847 1848 TEST_F(ViewportTest, viewport101) 1849 { 1850 UseMockScrollbarSettings mockScrollbarSettings; 1851 registerMockedHttpURLLoad("viewport/viewport-101.html"); 1852 1853 FrameTestHelpers::WebViewHelper webViewHelper; 1854 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-101.html", true, 0, 0, setViewportSettings); 1855 1856 Page* page = webViewHelper.webViewImpl()->page(); 1857 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1858 1859 EXPECT_EQ(400, constraints.layoutSize.width()); 1860 EXPECT_EQ(440, constraints.layoutSize.height()); 1861 EXPECT_NEAR(0.8f, constraints.initialScale, 0.01f); 1862 EXPECT_NEAR(0.8f, constraints.minimumScale, 0.01f); 1863 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1864 EXPECT_TRUE(page->viewportDescription().userZoom); 1865 } 1866 1867 TEST_F(ViewportTest, viewport102) 1868 { 1869 UseMockScrollbarSettings mockScrollbarSettings; 1870 registerMockedHttpURLLoad("viewport/viewport-102.html"); 1871 1872 FrameTestHelpers::WebViewHelper webViewHelper; 1873 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-102.html", true, 0, 0, setViewportSettings); 1874 1875 Page* page = webViewHelper.webViewImpl()->page(); 1876 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1877 1878 EXPECT_EQ(400, constraints.layoutSize.width()); 1879 EXPECT_EQ(440, constraints.layoutSize.height()); 1880 EXPECT_NEAR(0.8f, constraints.initialScale, 0.01f); 1881 EXPECT_NEAR(0.8f, constraints.minimumScale, 0.01f); 1882 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1883 EXPECT_TRUE(page->viewportDescription().userZoom); 1884 } 1885 1886 TEST_F(ViewportTest, viewport103) 1887 { 1888 UseMockScrollbarSettings mockScrollbarSettings; 1889 registerMockedHttpURLLoad("viewport/viewport-103.html"); 1890 1891 FrameTestHelpers::WebViewHelper webViewHelper; 1892 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-103.html", true, 0, 0, setViewportSettings); 1893 1894 Page* page = webViewHelper.webViewImpl()->page(); 1895 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1896 1897 EXPECT_EQ(400, constraints.layoutSize.width()); 1898 EXPECT_EQ(440, constraints.layoutSize.height()); 1899 EXPECT_NEAR(0.8f, constraints.initialScale, 0.01f); 1900 EXPECT_NEAR(0.8f, constraints.minimumScale, 0.01f); 1901 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1902 EXPECT_TRUE(page->viewportDescription().userZoom); 1903 } 1904 1905 TEST_F(ViewportTest, viewport104) 1906 { 1907 UseMockScrollbarSettings mockScrollbarSettings; 1908 registerMockedHttpURLLoad("viewport/viewport-104.html"); 1909 1910 FrameTestHelpers::WebViewHelper webViewHelper; 1911 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-104.html", true, 0, 0, setViewportSettings); 1912 1913 Page* page = webViewHelper.webViewImpl()->page(); 1914 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1915 1916 EXPECT_EQ(980, constraints.layoutSize.width()); 1917 EXPECT_EQ(1078, constraints.layoutSize.height()); 1918 EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f); 1919 EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f); 1920 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1921 EXPECT_TRUE(page->viewportDescription().userZoom); 1922 } 1923 1924 TEST_F(ViewportTest, viewport105) 1925 { 1926 UseMockScrollbarSettings mockScrollbarSettings; 1927 registerMockedHttpURLLoad("viewport/viewport-105.html"); 1928 1929 FrameTestHelpers::WebViewHelper webViewHelper; 1930 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-105.html", true, 0, 0, setViewportSettings); 1931 1932 Page* page = webViewHelper.webViewImpl()->page(); 1933 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1934 1935 EXPECT_EQ(980, constraints.layoutSize.width()); 1936 EXPECT_EQ(1078, constraints.layoutSize.height()); 1937 EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f); 1938 EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f); 1939 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1940 EXPECT_TRUE(page->viewportDescription().userZoom); 1941 } 1942 1943 TEST_F(ViewportTest, viewport106) 1944 { 1945 UseMockScrollbarSettings mockScrollbarSettings; 1946 registerMockedHttpURLLoad("viewport/viewport-106.html"); 1947 1948 FrameTestHelpers::WebViewHelper webViewHelper; 1949 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-106.html", true, 0, 0, setViewportSettings); 1950 1951 Page* page = webViewHelper.webViewImpl()->page(); 1952 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1953 1954 EXPECT_EQ(980, constraints.layoutSize.width()); 1955 EXPECT_EQ(1078, constraints.layoutSize.height()); 1956 EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f); 1957 EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f); 1958 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1959 EXPECT_TRUE(page->viewportDescription().userZoom); 1960 } 1961 1962 TEST_F(ViewportTest, viewport107) 1963 { 1964 UseMockScrollbarSettings mockScrollbarSettings; 1965 registerMockedHttpURLLoad("viewport/viewport-107.html"); 1966 1967 FrameTestHelpers::WebViewHelper webViewHelper; 1968 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-107.html", true, 0, 0, setViewportSettings); 1969 1970 Page* page = webViewHelper.webViewImpl()->page(); 1971 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1972 1973 EXPECT_EQ(980, constraints.layoutSize.width()); 1974 EXPECT_EQ(1078, constraints.layoutSize.height()); 1975 EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f); 1976 EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f); 1977 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1978 EXPECT_TRUE(page->viewportDescription().userZoom); 1979 } 1980 1981 TEST_F(ViewportTest, viewport108) 1982 { 1983 UseMockScrollbarSettings mockScrollbarSettings; 1984 registerMockedHttpURLLoad("viewport/viewport-108.html"); 1985 1986 FrameTestHelpers::WebViewHelper webViewHelper; 1987 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-108.html", true, 0, 0, setViewportSettings); 1988 1989 Page* page = webViewHelper.webViewImpl()->page(); 1990 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 1991 1992 EXPECT_EQ(980, constraints.layoutSize.width()); 1993 EXPECT_EQ(1078, constraints.layoutSize.height()); 1994 EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f); 1995 EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f); 1996 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 1997 EXPECT_TRUE(page->viewportDescription().userZoom); 1998 } 1999 2000 TEST_F(ViewportTest, viewport109) 2001 { 2002 UseMockScrollbarSettings mockScrollbarSettings; 2003 registerMockedHttpURLLoad("viewport/viewport-109.html"); 2004 2005 FrameTestHelpers::WebViewHelper webViewHelper; 2006 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-109.html", true, 0, 0, setViewportSettings); 2007 2008 Page* page = webViewHelper.webViewImpl()->page(); 2009 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2010 2011 EXPECT_EQ(980, constraints.layoutSize.width()); 2012 EXPECT_EQ(1078, constraints.layoutSize.height()); 2013 EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f); 2014 EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f); 2015 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2016 EXPECT_TRUE(page->viewportDescription().userZoom); 2017 } 2018 2019 TEST_F(ViewportTest, viewport110) 2020 { 2021 UseMockScrollbarSettings mockScrollbarSettings; 2022 registerMockedHttpURLLoad("viewport/viewport-110.html"); 2023 2024 FrameTestHelpers::WebViewHelper webViewHelper; 2025 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-110.html", true, 0, 0, setViewportSettings); 2026 2027 Page* page = webViewHelper.webViewImpl()->page(); 2028 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2029 2030 EXPECT_EQ(980, constraints.layoutSize.width()); 2031 EXPECT_EQ(1078, constraints.layoutSize.height()); 2032 EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f); 2033 EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f); 2034 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2035 EXPECT_TRUE(page->viewportDescription().userZoom); 2036 } 2037 2038 TEST_F(ViewportTest, viewport111) 2039 { 2040 UseMockScrollbarSettings mockScrollbarSettings; 2041 registerMockedHttpURLLoad("viewport/viewport-111.html"); 2042 2043 FrameTestHelpers::WebViewHelper webViewHelper; 2044 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-111.html", true, 0, 0, setViewportSettings); 2045 2046 Page* page = webViewHelper.webViewImpl()->page(); 2047 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2048 2049 EXPECT_EQ(980, constraints.layoutSize.width()); 2050 EXPECT_EQ(1078, constraints.layoutSize.height()); 2051 EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f); 2052 EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f); 2053 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2054 EXPECT_TRUE(page->viewportDescription().userZoom); 2055 } 2056 2057 TEST_F(ViewportTest, viewport112) 2058 { 2059 UseMockScrollbarSettings mockScrollbarSettings; 2060 registerMockedHttpURLLoad("viewport/viewport-112.html"); 2061 2062 FrameTestHelpers::WebViewHelper webViewHelper; 2063 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-112.html", true, 0, 0, setViewportSettings); 2064 2065 Page* page = webViewHelper.webViewImpl()->page(); 2066 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2067 2068 EXPECT_EQ(400, constraints.layoutSize.width()); 2069 EXPECT_EQ(440, constraints.layoutSize.height()); 2070 EXPECT_NEAR(0.8f, constraints.initialScale, 0.01f); 2071 EXPECT_NEAR(0.8f, constraints.minimumScale, 0.01f); 2072 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2073 EXPECT_TRUE(page->viewportDescription().userZoom); 2074 } 2075 2076 TEST_F(ViewportTest, viewport113) 2077 { 2078 UseMockScrollbarSettings mockScrollbarSettings; 2079 registerMockedHttpURLLoad("viewport/viewport-113.html"); 2080 2081 FrameTestHelpers::WebViewHelper webViewHelper; 2082 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-113.html", true, 0, 0, setViewportSettings); 2083 2084 Page* page = webViewHelper.webViewImpl()->page(); 2085 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2086 2087 EXPECT_EQ(980, constraints.layoutSize.width()); 2088 EXPECT_EQ(1078, constraints.layoutSize.height()); 2089 EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f); 2090 EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f); 2091 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2092 EXPECT_TRUE(page->viewportDescription().userZoom); 2093 } 2094 2095 TEST_F(ViewportTest, viewport114) 2096 { 2097 UseMockScrollbarSettings mockScrollbarSettings; 2098 registerMockedHttpURLLoad("viewport/viewport-114.html"); 2099 2100 FrameTestHelpers::WebViewHelper webViewHelper; 2101 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-114.html", true, 0, 0, setViewportSettings); 2102 2103 Page* page = webViewHelper.webViewImpl()->page(); 2104 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2105 2106 EXPECT_EQ(980, constraints.layoutSize.width()); 2107 EXPECT_EQ(1078, constraints.layoutSize.height()); 2108 EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f); 2109 EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f); 2110 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2111 EXPECT_TRUE(page->viewportDescription().userZoom); 2112 } 2113 2114 TEST_F(ViewportTest, viewport115) 2115 { 2116 UseMockScrollbarSettings mockScrollbarSettings; 2117 registerMockedHttpURLLoad("viewport/viewport-115.html"); 2118 2119 FrameTestHelpers::WebViewHelper webViewHelper; 2120 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-115.html", true, 0, 0, setViewportSettings); 2121 2122 Page* page = webViewHelper.webViewImpl()->page(); 2123 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2124 2125 EXPECT_EQ(400, constraints.layoutSize.width()); 2126 EXPECT_EQ(440, constraints.layoutSize.height()); 2127 EXPECT_NEAR(0.8f, constraints.initialScale, 0.01f); 2128 EXPECT_NEAR(0.8f, constraints.minimumScale, 0.01f); 2129 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2130 EXPECT_TRUE(page->viewportDescription().userZoom); 2131 } 2132 2133 TEST_F(ViewportTest, viewport116) 2134 { 2135 UseMockScrollbarSettings mockScrollbarSettings; 2136 registerMockedHttpURLLoad("viewport/viewport-116.html"); 2137 2138 FrameTestHelpers::WebViewHelper webViewHelper; 2139 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-116.html", true, 0, 0, setViewportSettings); 2140 2141 Page* page = webViewHelper.webViewImpl()->page(); 2142 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2143 2144 EXPECT_EQ(400, constraints.layoutSize.width()); 2145 EXPECT_EQ(440, constraints.layoutSize.height()); 2146 EXPECT_NEAR(0.8f, constraints.initialScale, 0.01f); 2147 EXPECT_NEAR(0.8f, constraints.minimumScale, 0.01f); 2148 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2149 EXPECT_TRUE(page->viewportDescription().userZoom); 2150 } 2151 2152 TEST_F(ViewportTest, viewport117) 2153 { 2154 UseMockScrollbarSettings mockScrollbarSettings; 2155 registerMockedHttpURLLoad("viewport/viewport-117.html"); 2156 2157 FrameTestHelpers::WebViewHelper webViewHelper; 2158 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-117.html", true, 0, 0, setViewportSettings); 2159 2160 Page* page = webViewHelper.webViewImpl()->page(); 2161 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2162 2163 EXPECT_EQ(980, constraints.layoutSize.width()); 2164 EXPECT_EQ(400, constraints.layoutSize.height()); 2165 EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f); 2166 EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f); 2167 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2168 EXPECT_TRUE(page->viewportDescription().userZoom); 2169 } 2170 2171 TEST_F(ViewportTest, viewport118) 2172 { 2173 UseMockScrollbarSettings mockScrollbarSettings; 2174 registerMockedHttpURLLoad("viewport/viewport-118.html"); 2175 2176 FrameTestHelpers::WebViewHelper webViewHelper; 2177 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-118.html", true, 0, 0, setViewportSettings); 2178 2179 Page* page = webViewHelper.webViewImpl()->page(); 2180 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2181 2182 EXPECT_EQ(320, constraints.layoutSize.width()); 2183 EXPECT_EQ(352, constraints.layoutSize.height()); 2184 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 2185 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 2186 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2187 EXPECT_TRUE(page->viewportDescription().userZoom); 2188 } 2189 2190 TEST_F(ViewportTest, viewport119) 2191 { 2192 UseMockScrollbarSettings mockScrollbarSettings; 2193 registerMockedHttpURLLoad("viewport/viewport-119.html"); 2194 2195 FrameTestHelpers::WebViewHelper webViewHelper; 2196 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-119.html", true, 0, 0, setViewportSettings); 2197 2198 Page* page = webViewHelper.webViewImpl()->page(); 2199 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2200 2201 EXPECT_EQ(320, constraints.layoutSize.width()); 2202 EXPECT_EQ(352, constraints.layoutSize.height()); 2203 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 2204 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 2205 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2206 EXPECT_TRUE(page->viewportDescription().userZoom); 2207 } 2208 2209 TEST_F(ViewportTest, viewport120) 2210 { 2211 UseMockScrollbarSettings mockScrollbarSettings; 2212 registerMockedHttpURLLoad("viewport/viewport-120.html"); 2213 2214 FrameTestHelpers::WebViewHelper webViewHelper; 2215 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-120.html", true, 0, 0, setViewportSettings); 2216 2217 Page* page = webViewHelper.webViewImpl()->page(); 2218 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2219 2220 EXPECT_EQ(320, constraints.layoutSize.width()); 2221 EXPECT_EQ(352, constraints.layoutSize.height()); 2222 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 2223 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 2224 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2225 EXPECT_TRUE(page->viewportDescription().userZoom); 2226 } 2227 2228 TEST_F(ViewportTest, viewport121) 2229 { 2230 UseMockScrollbarSettings mockScrollbarSettings; 2231 registerMockedHttpURLLoad("viewport/viewport-121.html"); 2232 2233 FrameTestHelpers::WebViewHelper webViewHelper; 2234 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-121.html", true, 0, 0, setViewportSettings); 2235 2236 Page* page = webViewHelper.webViewImpl()->page(); 2237 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2238 2239 EXPECT_EQ(64, constraints.layoutSize.width()); 2240 EXPECT_NEAR(70.4, constraints.layoutSize.height(), 0.01f); 2241 EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f); 2242 EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f); 2243 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2244 EXPECT_TRUE(page->viewportDescription().userZoom); 2245 } 2246 2247 TEST_F(ViewportTest, viewport122) 2248 { 2249 UseMockScrollbarSettings mockScrollbarSettings; 2250 registerMockedHttpURLLoad("viewport/viewport-122.html"); 2251 2252 FrameTestHelpers::WebViewHelper webViewHelper; 2253 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-122.html", true, 0, 0, setViewportSettings); 2254 2255 Page* page = webViewHelper.webViewImpl()->page(); 2256 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2257 2258 EXPECT_EQ(64, constraints.layoutSize.width()); 2259 EXPECT_NEAR(70.4, constraints.layoutSize.height(), 0.01f); 2260 EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f); 2261 EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f); 2262 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2263 EXPECT_TRUE(page->viewportDescription().userZoom); 2264 } 2265 2266 TEST_F(ViewportTest, viewport123) 2267 { 2268 UseMockScrollbarSettings mockScrollbarSettings; 2269 registerMockedHttpURLLoad("viewport/viewport-123.html"); 2270 2271 FrameTestHelpers::WebViewHelper webViewHelper; 2272 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-123.html", true, 0, 0, setViewportSettings); 2273 2274 Page* page = webViewHelper.webViewImpl()->page(); 2275 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2276 2277 EXPECT_EQ(320, constraints.layoutSize.width()); 2278 EXPECT_EQ(352, constraints.layoutSize.height()); 2279 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 2280 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 2281 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2282 EXPECT_TRUE(page->viewportDescription().userZoom); 2283 } 2284 2285 TEST_F(ViewportTest, viewport124) 2286 { 2287 UseMockScrollbarSettings mockScrollbarSettings; 2288 registerMockedHttpURLLoad("viewport/viewport-124.html"); 2289 2290 FrameTestHelpers::WebViewHelper webViewHelper; 2291 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-124.html", true, 0, 0, setViewportSettings); 2292 2293 Page* page = webViewHelper.webViewImpl()->page(); 2294 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2295 2296 EXPECT_EQ(320, constraints.layoutSize.width()); 2297 EXPECT_EQ(352, constraints.layoutSize.height()); 2298 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 2299 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 2300 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2301 EXPECT_TRUE(page->viewportDescription().userZoom); 2302 } 2303 2304 TEST_F(ViewportTest, viewport125) 2305 { 2306 UseMockScrollbarSettings mockScrollbarSettings; 2307 registerMockedHttpURLLoad("viewport/viewport-125.html"); 2308 2309 FrameTestHelpers::WebViewHelper webViewHelper; 2310 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-125.html", true, 0, 0, setViewportSettings); 2311 2312 Page* page = webViewHelper.webViewImpl()->page(); 2313 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2314 2315 EXPECT_EQ(64, constraints.layoutSize.width()); 2316 EXPECT_NEAR(70.4, constraints.layoutSize.height(), 0.01f); 2317 EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f); 2318 EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f); 2319 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2320 EXPECT_TRUE(page->viewportDescription().userZoom); 2321 } 2322 2323 TEST_F(ViewportTest, viewport126) 2324 { 2325 UseMockScrollbarSettings mockScrollbarSettings; 2326 registerMockedHttpURLLoad("viewport/viewport-126.html"); 2327 2328 FrameTestHelpers::WebViewHelper webViewHelper; 2329 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-126.html", true, 0, 0, setViewportSettings); 2330 2331 Page* page = webViewHelper.webViewImpl()->page(); 2332 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2333 2334 EXPECT_EQ(64, constraints.layoutSize.width()); 2335 EXPECT_NEAR(70.4, constraints.layoutSize.height(), 0.01f); 2336 EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f); 2337 EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f); 2338 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2339 EXPECT_TRUE(page->viewportDescription().userZoom); 2340 } 2341 2342 TEST_F(ViewportTest, viewport127) 2343 { 2344 UseMockScrollbarSettings mockScrollbarSettings; 2345 registerMockedHttpURLLoad("viewport/viewport-127.html"); 2346 2347 FrameTestHelpers::WebViewHelper webViewHelper; 2348 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-127.html", true, 0, 0, setViewportSettings); 2349 2350 Page* page = webViewHelper.webViewImpl()->page(); 2351 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2352 2353 EXPECT_EQ(64, constraints.layoutSize.width()); 2354 EXPECT_NEAR(70.4, constraints.layoutSize.height(), 0.01f); 2355 EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f); 2356 EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f); 2357 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2358 EXPECT_TRUE(page->viewportDescription().userZoom); 2359 } 2360 2361 TEST_F(ViewportTest, viewport129) 2362 { 2363 UseMockScrollbarSettings mockScrollbarSettings; 2364 registerMockedHttpURLLoad("viewport/viewport-129.html"); 2365 2366 FrameTestHelpers::WebViewHelper webViewHelper; 2367 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-129.html", true, 0, 0, setViewportSettings); 2368 2369 Page* page = webViewHelper.webViewImpl()->page(); 2370 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2371 2372 EXPECT_EQ(123, constraints.layoutSize.width()); 2373 EXPECT_NEAR(135.3, constraints.layoutSize.height(), 0.01f); 2374 EXPECT_NEAR(2.60f, constraints.initialScale, 0.01f); 2375 EXPECT_NEAR(2.60f, constraints.minimumScale, 0.01f); 2376 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2377 EXPECT_TRUE(page->viewportDescription().userZoom); 2378 } 2379 2380 TEST_F(ViewportTest, viewport130) 2381 { 2382 UseMockScrollbarSettings mockScrollbarSettings; 2383 registerMockedHttpURLLoad("viewport/viewport-130.html"); 2384 2385 FrameTestHelpers::WebViewHelper webViewHelper; 2386 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-130.html", true, 0, 0, setViewportSettings); 2387 2388 Page* page = webViewHelper.webViewImpl()->page(); 2389 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2390 2391 EXPECT_EQ(320, constraints.layoutSize.width()); 2392 EXPECT_EQ(352, constraints.layoutSize.height()); 2393 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 2394 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 2395 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2396 EXPECT_TRUE(page->viewportDescription().userZoom); 2397 } 2398 2399 TEST_F(ViewportTest, viewport131) 2400 { 2401 UseMockScrollbarSettings mockScrollbarSettings; 2402 registerMockedHttpURLLoad("viewport/viewport-131.html"); 2403 2404 FrameTestHelpers::WebViewHelper webViewHelper; 2405 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-131.html", true, 0, 0, setViewportSettings); 2406 2407 Page* page = webViewHelper.webViewImpl()->page(); 2408 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2409 2410 EXPECT_EQ(320, constraints.layoutSize.width()); 2411 EXPECT_EQ(352, constraints.layoutSize.height()); 2412 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 2413 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 2414 EXPECT_NEAR(1.0f, constraints.maximumScale, 0.01f); 2415 EXPECT_FALSE(page->viewportDescription().userZoom); 2416 } 2417 2418 TEST_F(ViewportTest, viewport132) 2419 { 2420 UseMockScrollbarSettings mockScrollbarSettings; 2421 registerMockedHttpURLLoad("viewport/viewport-132.html"); 2422 2423 FrameTestHelpers::WebViewHelper webViewHelper; 2424 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-132.html", true, 0, 0, setViewportSettings); 2425 2426 Page* page = webViewHelper.webViewImpl()->page(); 2427 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2428 2429 EXPECT_EQ(320, constraints.layoutSize.width()); 2430 EXPECT_EQ(352, constraints.layoutSize.height()); 2431 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 2432 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 2433 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2434 EXPECT_TRUE(page->viewportDescription().userZoom); 2435 } 2436 2437 TEST_F(ViewportTest, viewport133) 2438 { 2439 UseMockScrollbarSettings mockScrollbarSettings; 2440 registerMockedHttpURLLoad("viewport/viewport-133.html"); 2441 2442 FrameTestHelpers::WebViewHelper webViewHelper; 2443 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-133.html", true, 0, 0, setViewportSettings); 2444 2445 Page* page = webViewHelper.webViewImpl()->page(); 2446 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2447 2448 EXPECT_EQ(980, constraints.layoutSize.width()); 2449 EXPECT_EQ(1078, constraints.layoutSize.height()); 2450 EXPECT_NEAR(10.0f, constraints.initialScale, 0.01f); 2451 EXPECT_NEAR(10.0f, constraints.minimumScale, 0.01f); 2452 EXPECT_NEAR(10.0f, constraints.maximumScale, 0.01f); 2453 EXPECT_TRUE(page->viewportDescription().userZoom); 2454 } 2455 2456 TEST_F(ViewportTest, viewport134) 2457 { 2458 UseMockScrollbarSettings mockScrollbarSettings; 2459 registerMockedHttpURLLoad("viewport/viewport-134.html"); 2460 2461 FrameTestHelpers::WebViewHelper webViewHelper; 2462 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-134.html", true, 0, 0, setViewportSettings); 2463 2464 Page* page = webViewHelper.webViewImpl()->page(); 2465 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2466 2467 EXPECT_EQ(160, constraints.layoutSize.width()); 2468 EXPECT_EQ(176, constraints.layoutSize.height()); 2469 EXPECT_NEAR(2.0f, constraints.initialScale, 0.01f); 2470 EXPECT_NEAR(2.0f, constraints.minimumScale, 0.01f); 2471 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2472 EXPECT_TRUE(page->viewportDescription().userZoom); 2473 } 2474 2475 TEST_F(ViewportTest, viewport135) 2476 { 2477 UseMockScrollbarSettings mockScrollbarSettings; 2478 registerMockedHttpURLLoad("viewport/viewport-135.html"); 2479 2480 FrameTestHelpers::WebViewHelper webViewHelper; 2481 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-135.html", true, 0, 0, setViewportSettings); 2482 2483 Page* page = webViewHelper.webViewImpl()->page(); 2484 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2485 2486 EXPECT_EQ(980, constraints.layoutSize.width()); 2487 EXPECT_EQ(1078, constraints.layoutSize.height()); 2488 EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f); 2489 EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f); 2490 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2491 EXPECT_TRUE(page->viewportDescription().userZoom); 2492 } 2493 2494 TEST_F(ViewportTest, viewport136) 2495 { 2496 UseMockScrollbarSettings mockScrollbarSettings; 2497 registerMockedHttpURLLoad("viewport/viewport-136.html"); 2498 2499 FrameTestHelpers::WebViewHelper webViewHelper; 2500 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-136.html", true, 0, 0, setViewportSettings); 2501 2502 Page* page = webViewHelper.webViewImpl()->page(); 2503 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2504 2505 EXPECT_EQ(320, constraints.layoutSize.width()); 2506 EXPECT_EQ(352, constraints.layoutSize.height()); 2507 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 2508 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 2509 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2510 EXPECT_TRUE(page->viewportDescription().userZoom); 2511 } 2512 2513 TEST_F(ViewportTest, viewport137) 2514 { 2515 UseMockScrollbarSettings mockScrollbarSettings; 2516 registerMockedHttpURLLoad("viewport/viewport-137.html"); 2517 2518 FrameTestHelpers::WebViewHelper webViewHelper; 2519 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-137.html", true, 0, 0, setViewportSettings); 2520 2521 Page* page = webViewHelper.webViewImpl()->page(); 2522 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2523 2524 EXPECT_EQ(980, constraints.layoutSize.width()); 2525 EXPECT_EQ(1078, constraints.layoutSize.height()); 2526 EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f); 2527 EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f); 2528 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2529 EXPECT_TRUE(page->viewportDescription().userZoom); 2530 } 2531 2532 TEST_F(ViewportTest, viewport138) 2533 { 2534 registerMockedHttpURLLoad("viewport/viewport-138.html"); 2535 2536 FrameTestHelpers::WebViewHelper webViewHelper; 2537 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-138.html", true, 0, 0, setViewportSettings); 2538 2539 Page* page = webViewHelper.webViewImpl()->page(); 2540 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2541 2542 EXPECT_NEAR(123.0f, constraints.layoutSize.width(), 0.01); 2543 EXPECT_NEAR(135.3f, constraints.layoutSize.height(), 0.01); 2544 EXPECT_NEAR(2.60f, constraints.initialScale, 0.01f); 2545 EXPECT_NEAR(2.60f, constraints.minimumScale, 0.01f); 2546 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2547 EXPECT_TRUE(page->viewportDescription().userZoom); 2548 } 2549 2550 TEST_F(ViewportTest, viewportLegacyHandheldFriendly) 2551 { 2552 UseMockScrollbarSettings mockScrollbarSettings; 2553 registerMockedHttpURLLoad("viewport/viewport-legacy-handheldfriendly.html"); 2554 2555 FrameTestHelpers::WebViewHelper webViewHelper; 2556 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-handheldfriendly.html", true, 0, 0, setViewportSettings); 2557 2558 Page* page = webViewHelper.webViewImpl()->page(); 2559 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2560 2561 EXPECT_EQ(320, constraints.layoutSize.width()); 2562 EXPECT_EQ(352, constraints.layoutSize.height()); 2563 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 2564 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 2565 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2566 EXPECT_TRUE(page->viewportDescription().userZoom); 2567 } 2568 2569 static void setQuirkViewportSettings(WebSettings* settings) 2570 { 2571 setViewportSettings(settings); 2572 2573 // This quirk allows content attributes of meta viewport tags to be merged. 2574 settings->setViewportMetaMergeContentQuirk(true); 2575 } 2576 2577 TEST_F(ViewportTest, viewportLegacyMergeQuirk1) 2578 { 2579 UseMockScrollbarSettings mockScrollbarSettings; 2580 registerMockedHttpURLLoad("viewport/viewport-legacy-merge-quirk-1.html"); 2581 2582 FrameTestHelpers::WebViewHelper webViewHelper; 2583 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-merge-quirk-1.html", true, 0, 0, setQuirkViewportSettings); 2584 2585 Page* page = webViewHelper.webViewImpl()->page(); 2586 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2587 2588 EXPECT_EQ(640, constraints.layoutSize.width()); 2589 EXPECT_EQ(704, constraints.layoutSize.height()); 2590 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 2591 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 2592 EXPECT_NEAR(1.0f, constraints.maximumScale, 0.01f); 2593 EXPECT_FALSE(page->viewportDescription().userZoom); 2594 } 2595 2596 TEST_F(ViewportTest, viewportLegacyMergeQuirk2) 2597 { 2598 UseMockScrollbarSettings mockScrollbarSettings; 2599 registerMockedHttpURLLoad("viewport/viewport-legacy-merge-quirk-2.html"); 2600 2601 FrameTestHelpers::WebViewHelper webViewHelper; 2602 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-merge-quirk-2.html", true, 0, 0, setQuirkViewportSettings); 2603 2604 Page* page = webViewHelper.webViewImpl()->page(); 2605 2606 // This quirk allows content attributes of meta viewport tags to be merged. 2607 page->settings().setViewportMetaMergeContentQuirk(true); 2608 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2609 2610 EXPECT_EQ(500, constraints.layoutSize.width()); 2611 EXPECT_EQ(550, constraints.layoutSize.height()); 2612 EXPECT_NEAR(2.0f, constraints.initialScale, 0.01f); 2613 EXPECT_NEAR(2.0f, constraints.minimumScale, 0.01f); 2614 EXPECT_NEAR(2.0f, constraints.maximumScale, 0.01f); 2615 EXPECT_FALSE(page->viewportDescription().userZoom); 2616 } 2617 2618 TEST_F(ViewportTest, viewportLegacyMobileOptimizedMetaWithoutContent) 2619 { 2620 UseMockScrollbarSettings mockScrollbarSettings; 2621 registerMockedHttpURLLoad("viewport/viewport-legacy-mobileoptimized.html"); 2622 2623 FrameTestHelpers::WebViewHelper webViewHelper; 2624 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-mobileoptimized.html", true, 0, 0, setViewportSettings); 2625 2626 Page* page = webViewHelper.webViewImpl()->page(); 2627 2628 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2629 2630 EXPECT_EQ(320, constraints.layoutSize.width()); 2631 EXPECT_EQ(352, constraints.layoutSize.height()); 2632 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 2633 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 2634 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2635 EXPECT_TRUE(page->viewportDescription().userZoom); 2636 } 2637 2638 TEST_F(ViewportTest, viewportLegacyMobileOptimizedMetaWith0) 2639 { 2640 UseMockScrollbarSettings mockScrollbarSettings; 2641 registerMockedHttpURLLoad("viewport/viewport-legacy-mobileoptimized-2.html"); 2642 2643 FrameTestHelpers::WebViewHelper webViewHelper; 2644 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-mobileoptimized-2.html", true, 0, 0, setViewportSettings); 2645 2646 Page* page = webViewHelper.webViewImpl()->page(); 2647 2648 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2649 2650 EXPECT_EQ(320, constraints.layoutSize.width()); 2651 EXPECT_EQ(352, constraints.layoutSize.height()); 2652 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 2653 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 2654 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2655 EXPECT_TRUE(page->viewportDescription().userZoom); 2656 } 2657 2658 TEST_F(ViewportTest, viewportLegacyMobileOptimizedMetaWith400) 2659 { 2660 UseMockScrollbarSettings mockScrollbarSettings; 2661 registerMockedHttpURLLoad("viewport/viewport-legacy-mobileoptimized-2.html"); 2662 2663 FrameTestHelpers::WebViewHelper webViewHelper; 2664 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-mobileoptimized-2.html", true, 0, 0, setViewportSettings); 2665 2666 Page* page = webViewHelper.webViewImpl()->page(); 2667 2668 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2669 2670 EXPECT_EQ(320, constraints.layoutSize.width()); 2671 EXPECT_EQ(352, constraints.layoutSize.height()); 2672 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 2673 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 2674 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2675 EXPECT_TRUE(page->viewportDescription().userZoom); 2676 } 2677 2678 TEST_F(ViewportTest, viewportLegacyOrdering2) 2679 { 2680 UseMockScrollbarSettings mockScrollbarSettings; 2681 registerMockedHttpURLLoad("viewport/viewport-legacy-ordering-2.html"); 2682 2683 FrameTestHelpers::WebViewHelper webViewHelper; 2684 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-ordering-2.html", true, 0, 0, setViewportSettings); 2685 2686 Page* page = webViewHelper.webViewImpl()->page(); 2687 2688 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2689 2690 EXPECT_EQ(300, constraints.layoutSize.width()); 2691 EXPECT_EQ(330, constraints.layoutSize.height()); 2692 EXPECT_NEAR(1.07f, constraints.initialScale, 0.01f); 2693 EXPECT_NEAR(1.07f, constraints.minimumScale, 0.01f); 2694 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2695 EXPECT_TRUE(page->viewportDescription().userZoom); 2696 } 2697 2698 TEST_F(ViewportTest, viewportLegacyOrdering3) 2699 { 2700 UseMockScrollbarSettings mockScrollbarSettings; 2701 registerMockedHttpURLLoad("viewport/viewport-legacy-ordering-3.html"); 2702 2703 FrameTestHelpers::WebViewHelper webViewHelper; 2704 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-ordering-3.html", true, 0, 0, setViewportSettings); 2705 2706 Page* page = webViewHelper.webViewImpl()->page(); 2707 2708 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2709 2710 EXPECT_EQ(300, constraints.layoutSize.width()); 2711 EXPECT_EQ(330, constraints.layoutSize.height()); 2712 EXPECT_NEAR(1.07f, constraints.initialScale, 0.01f); 2713 EXPECT_NEAR(1.07f, constraints.minimumScale, 0.01f); 2714 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2715 EXPECT_TRUE(page->viewportDescription().userZoom); 2716 } 2717 2718 TEST_F(ViewportTest, viewportLegacyOrdering4) 2719 { 2720 UseMockScrollbarSettings mockScrollbarSettings; 2721 registerMockedHttpURLLoad("viewport/viewport-legacy-ordering-4.html"); 2722 2723 FrameTestHelpers::WebViewHelper webViewHelper; 2724 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-ordering-4.html", true, 0, 0, setViewportSettings); 2725 2726 Page* page = webViewHelper.webViewImpl()->page(); 2727 2728 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2729 2730 EXPECT_EQ(300, constraints.layoutSize.width()); 2731 EXPECT_EQ(330, constraints.layoutSize.height()); 2732 EXPECT_NEAR(1.07f, constraints.initialScale, 0.01f); 2733 EXPECT_NEAR(1.07f, constraints.minimumScale, 0.01f); 2734 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2735 EXPECT_TRUE(page->viewportDescription().userZoom); 2736 } 2737 2738 TEST_F(ViewportTest, viewportLegacyOrdering5) 2739 { 2740 UseMockScrollbarSettings mockScrollbarSettings; 2741 registerMockedHttpURLLoad("viewport/viewport-legacy-ordering-5.html"); 2742 2743 FrameTestHelpers::WebViewHelper webViewHelper; 2744 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-ordering-5.html", true, 0, 0, setViewportSettings); 2745 2746 Page* page = webViewHelper.webViewImpl()->page(); 2747 2748 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2749 2750 EXPECT_EQ(320, constraints.layoutSize.width()); 2751 EXPECT_EQ(352, constraints.layoutSize.height()); 2752 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 2753 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 2754 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2755 EXPECT_TRUE(page->viewportDescription().userZoom); 2756 } 2757 2758 TEST_F(ViewportTest, viewportLegacyOrdering6) 2759 { 2760 UseMockScrollbarSettings mockScrollbarSettings; 2761 registerMockedHttpURLLoad("viewport/viewport-legacy-ordering-6.html"); 2762 2763 FrameTestHelpers::WebViewHelper webViewHelper; 2764 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-ordering-6.html", true, 0, 0, setViewportSettings); 2765 2766 Page* page = webViewHelper.webViewImpl()->page(); 2767 2768 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2769 2770 EXPECT_EQ(320, constraints.layoutSize.width()); 2771 EXPECT_EQ(352, constraints.layoutSize.height()); 2772 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 2773 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 2774 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2775 EXPECT_TRUE(page->viewportDescription().userZoom); 2776 } 2777 2778 TEST_F(ViewportTest, viewportLegacyOrdering7) 2779 { 2780 UseMockScrollbarSettings mockScrollbarSettings; 2781 registerMockedHttpURLLoad("viewport/viewport-legacy-ordering-7.html"); 2782 2783 FrameTestHelpers::WebViewHelper webViewHelper; 2784 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-ordering-7.html", true, 0, 0, setViewportSettings); 2785 2786 Page* page = webViewHelper.webViewImpl()->page(); 2787 2788 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2789 2790 EXPECT_EQ(300, constraints.layoutSize.width()); 2791 EXPECT_EQ(330, constraints.layoutSize.height()); 2792 EXPECT_NEAR(1.07f, constraints.initialScale, 0.01f); 2793 EXPECT_NEAR(1.07f, constraints.minimumScale, 0.01f); 2794 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2795 EXPECT_TRUE(page->viewportDescription().userZoom); 2796 } 2797 2798 TEST_F(ViewportTest, viewportLegacyOrdering8) 2799 { 2800 UseMockScrollbarSettings mockScrollbarSettings; 2801 registerMockedHttpURLLoad("viewport/viewport-legacy-ordering-8.html"); 2802 2803 FrameTestHelpers::WebViewHelper webViewHelper; 2804 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-ordering-8.html", true, 0, 0, setViewportSettings); 2805 2806 Page* page = webViewHelper.webViewImpl()->page(); 2807 2808 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2809 2810 EXPECT_EQ(300, constraints.layoutSize.width()); 2811 EXPECT_EQ(330, constraints.layoutSize.height()); 2812 EXPECT_NEAR(1.07f, constraints.initialScale, 0.01f); 2813 EXPECT_NEAR(1.07f, constraints.minimumScale, 0.01f); 2814 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2815 EXPECT_TRUE(page->viewportDescription().userZoom); 2816 } 2817 2818 TEST_F(ViewportTest, viewportLegacyEmptyAtViewportDoesntOverrideViewportMeta) 2819 { 2820 UseMockScrollbarSettings mockScrollbarSettings; 2821 registerMockedHttpURLLoad("viewport/viewport-legacy-ordering-10.html"); 2822 2823 FrameTestHelpers::WebViewHelper webViewHelper; 2824 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-ordering-10.html", true, 0, 0, setViewportSettings); 2825 2826 Page* page = webViewHelper.webViewImpl()->page(); 2827 PageScaleConstraints constraints = runViewportTest(page, 800, 600); 2828 2829 EXPECT_EQ(5000, constraints.layoutSize.width()); 2830 } 2831 2832 TEST_F(ViewportTest, viewportLegacyDefaultValueChangedByXHTMLMP) 2833 { 2834 UseMockScrollbarSettings mockScrollbarSettings; 2835 registerMockedHttpURLLoad("viewport/viewport-legacy-xhtmlmp.html"); 2836 2837 FrameTestHelpers::WebViewHelper webViewHelper; 2838 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-xhtmlmp.html", true, 0, 0, setViewportSettings); 2839 2840 Page* page = webViewHelper.webViewImpl()->page(); 2841 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2842 2843 EXPECT_EQ(320, constraints.layoutSize.width()); 2844 EXPECT_EQ(352, constraints.layoutSize.height()); 2845 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 2846 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 2847 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2848 EXPECT_TRUE(page->viewportDescription().userZoom); 2849 } 2850 2851 TEST_F(ViewportTest, viewportLegacyDefaultValueChangedByXHTMLMPAndOverriddenByMeta) 2852 { 2853 UseMockScrollbarSettings mockScrollbarSettings; 2854 registerMockedHttpURLLoad("viewport/viewport-legacy-xhtmlmp-misplaced-doctype.html"); 2855 2856 FrameTestHelpers::WebViewHelper webViewHelper; 2857 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-xhtmlmp-misplaced-doctype.html", true, 0, 0, setViewportSettings); 2858 2859 Page* page = webViewHelper.webViewImpl()->page(); 2860 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2861 2862 EXPECT_EQ(640, constraints.layoutSize.width()); 2863 EXPECT_EQ(704, constraints.layoutSize.height()); 2864 EXPECT_NEAR(0.5f, constraints.initialScale, 0.01f); 2865 EXPECT_NEAR(0.5f, constraints.minimumScale, 0.01f); 2866 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2867 EXPECT_TRUE(page->viewportDescription().userZoom); 2868 } 2869 2870 TEST_F(ViewportTest, viewportLegacyXHTMLMPOrdering) 2871 { 2872 UseMockScrollbarSettings mockScrollbarSettings; 2873 registerMockedHttpURLLoad("viewport/viewport-legacy-xhtmlmp-ordering.html"); 2874 2875 FrameTestHelpers::WebViewHelper webViewHelper; 2876 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-xhtmlmp-ordering.html", true, 0, 0, setViewportSettings); 2877 2878 Page* page = webViewHelper.webViewImpl()->page(); 2879 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2880 2881 EXPECT_EQ(640, constraints.layoutSize.width()); 2882 EXPECT_EQ(704, constraints.layoutSize.height()); 2883 EXPECT_NEAR(0.5f, constraints.initialScale, 0.01f); 2884 EXPECT_NEAR(0.5f, constraints.minimumScale, 0.01f); 2885 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2886 EXPECT_TRUE(page->viewportDescription().userZoom); 2887 } 2888 2889 TEST_F(ViewportTest, viewportLegacyXHTMLMPRemoveAndAdd) 2890 { 2891 registerMockedHttpURLLoad("viewport/viewport-legacy-xhtmlmp.html"); 2892 2893 FrameTestHelpers::WebViewHelper webViewHelper; 2894 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-xhtmlmp.html", true, 0, 0, setViewportSettings); 2895 2896 Page* page = webViewHelper.webViewImpl()->page(); 2897 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 2898 2899 EXPECT_EQ(320, constraints.layoutSize.width()); 2900 EXPECT_EQ(352, constraints.layoutSize.height()); 2901 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 2902 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 2903 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2904 EXPECT_TRUE(page->viewportDescription().userZoom); 2905 2906 executeScript(webViewHelper.webViewImpl()->mainFrame(), 2907 "originalDoctype = document.doctype;" 2908 "document.removeChild(originalDoctype);"); 2909 2910 constraints = runViewportTest(page, 320, 352); 2911 2912 EXPECT_EQ(320, constraints.layoutSize.width()); 2913 EXPECT_EQ(352, constraints.layoutSize.height()); 2914 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 2915 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 2916 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2917 EXPECT_TRUE(page->viewportDescription().userZoom); 2918 2919 executeScript(webViewHelper.webViewImpl()->mainFrame(), 2920 "document.insertBefore(originalDoctype, document.firstChild);"); 2921 2922 constraints = runViewportTest(page, 320, 352); 2923 2924 EXPECT_EQ(320, constraints.layoutSize.width()); 2925 EXPECT_EQ(352, constraints.layoutSize.height()); 2926 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 2927 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 2928 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 2929 EXPECT_TRUE(page->viewportDescription().userZoom); 2930 } 2931 2932 TEST_F(ViewportTest, viewportLimitsAdjustedForNoUserScale) 2933 { 2934 UseMockScrollbarSettings mockScrollbarSettings; 2935 registerMockedHttpURLLoad("viewport/viewport-limits-adjusted-for-no-user-scale.html"); 2936 2937 FrameTestHelpers::WebViewHelper webViewHelper; 2938 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-limits-adjusted-for-no-user-scale.html", true, 0, 0, setViewportSettings); 2939 2940 Page* page = webViewHelper.webViewImpl()->page(); 2941 2942 EXPECT_FALSE(page->viewportDescription().userZoom); 2943 } 2944 2945 TEST_F(ViewportTest, viewportLimitsAdjustedForNoUserScaleControl) 2946 { 2947 UseMockScrollbarSettings mockScrollbarSettings; 2948 registerMockedHttpURLLoad("viewport/viewport-limits-adjusted-for-no-user-scale-control.html"); 2949 2950 FrameTestHelpers::WebViewHelper webViewHelper; 2951 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-limits-adjusted-for-no-user-scale-control.html", true, 0, 0, setViewportSettings); 2952 2953 Page* page = webViewHelper.webViewImpl()->page(); 2954 2955 EXPECT_TRUE(page->viewportDescription().userZoom); 2956 } 2957 2958 TEST_F(ViewportTest, viewportTriggersGpuRasterization) 2959 { 2960 UseMockScrollbarSettings mockScrollbarSettings; 2961 2962 registerMockedHttpURLLoad("viewport/viewport-gpu-rasterization.html"); 2963 FrameTestHelpers::WebViewHelper webViewHelper; 2964 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-gpu-rasterization.html", true, 0, 0, setViewportSettings); 2965 webViewHelper.webView()->resize(WebSize(640, 480)); 2966 EXPECT_TRUE(webViewHelper.webViewImpl()->matchesHeuristicsForGpuRasterizationForTesting()); 2967 2968 registerMockedHttpURLLoad("viewport/viewport-gpu-rasterization-expanded-heuristics.html"); 2969 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-gpu-rasterization-expanded-heuristics.html", true, 0, 0, setViewportSettings); 2970 webViewHelper.webView()->resize(WebSize(640, 480)); 2971 EXPECT_FALSE(webViewHelper.webViewImpl()->matchesHeuristicsForGpuRasterizationForTesting()); 2972 2973 registerMockedHttpURLLoad("viewport/viewport-inferred-values-do-not-trigger-gpu-rasterization.html"); 2974 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-inferred-values-do-not-trigger-gpu-rasterization.html", true, 0, 0, setViewportSettings); 2975 webViewHelper.webView()->resize(WebSize(640, 480)); 2976 EXPECT_FALSE(webViewHelper.webViewImpl()->matchesHeuristicsForGpuRasterizationForTesting()); 2977 2978 registerMockedHttpURLLoad("viewport/viewport-1.html"); 2979 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-1.html", true, 0, 0, setViewportSettings); 2980 webViewHelper.webView()->resize(WebSize(640, 480)); 2981 EXPECT_FALSE(webViewHelper.webViewImpl()->matchesHeuristicsForGpuRasterizationForTesting()); 2982 2983 registerMockedHttpURLLoad("viewport/viewport-15.html"); 2984 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-15.html", true, 0, 0, setViewportSettings); 2985 webViewHelper.webView()->resize(WebSize(640, 480)); 2986 EXPECT_FALSE(webViewHelper.webViewImpl()->matchesHeuristicsForGpuRasterizationForTesting()); 2987 2988 registerMockedHttpURLLoad("viewport/viewport-130.html"); 2989 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-130.html", true, 0, 0, setViewportSettings); 2990 webViewHelper.webView()->resize(WebSize(640, 480)); 2991 EXPECT_FALSE(webViewHelper.webViewImpl()->matchesHeuristicsForGpuRasterizationForTesting()); 2992 } 2993 2994 static void setViewportSettingsWithExpandedHeuristicsForGpuRasterization(WebSettings* settings) 2995 { 2996 setViewportSettings(settings); 2997 settings->setUseExpandedHeuristicsForGpuRasterization(true); 2998 } 2999 3000 TEST_F(ViewportTest, viewportTriggersGpuRasterizationWithExpandedHeuristics) 3001 { 3002 UseMockScrollbarSettings mockScrollbarSettings; 3003 3004 registerMockedHttpURLLoad("viewport/viewport-gpu-rasterization.html"); 3005 FrameTestHelpers::WebViewHelper webViewHelper; 3006 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-gpu-rasterization.html", true, 0, 0, setViewportSettingsWithExpandedHeuristicsForGpuRasterization); 3007 webViewHelper.webView()->resize(WebSize(640, 480)); 3008 EXPECT_TRUE(webViewHelper.webViewImpl()->matchesHeuristicsForGpuRasterizationForTesting()); 3009 3010 registerMockedHttpURLLoad("viewport/viewport-gpu-rasterization-expanded-heuristics.html"); 3011 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-gpu-rasterization-expanded-heuristics.html", true, 0, 0, setViewportSettingsWithExpandedHeuristicsForGpuRasterization); 3012 webViewHelper.webView()->resize(WebSize(640, 480)); 3013 EXPECT_TRUE(webViewHelper.webViewImpl()->matchesHeuristicsForGpuRasterizationForTesting()); 3014 3015 registerMockedHttpURLLoad("viewport/viewport-inferred-values-do-not-trigger-gpu-rasterization.html"); 3016 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-inferred-values-do-not-trigger-gpu-rasterization.html", true, 0, 0, setViewportSettingsWithExpandedHeuristicsForGpuRasterization); 3017 webViewHelper.webView()->resize(WebSize(640, 480)); 3018 EXPECT_FALSE(webViewHelper.webViewImpl()->matchesHeuristicsForGpuRasterizationForTesting()); 3019 3020 registerMockedHttpURLLoad("viewport/viewport-1.html"); 3021 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-1.html", true, 0, 0, setViewportSettings); 3022 webViewHelper.webView()->resize(WebSize(640, 480)); 3023 EXPECT_FALSE(webViewHelper.webViewImpl()->matchesHeuristicsForGpuRasterizationForTesting()); 3024 3025 registerMockedHttpURLLoad("viewport/viewport-15.html"); 3026 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-15.html", true, 0, 0, setViewportSettingsWithExpandedHeuristicsForGpuRasterization); 3027 webViewHelper.webView()->resize(WebSize(640, 480)); 3028 EXPECT_FALSE(webViewHelper.webViewImpl()->matchesHeuristicsForGpuRasterizationForTesting()); 3029 3030 registerMockedHttpURLLoad("viewport/viewport-130.html"); 3031 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-130.html", true, 0, 0, setViewportSettingsWithExpandedHeuristicsForGpuRasterization); 3032 webViewHelper.webView()->resize(WebSize(640, 480)); 3033 EXPECT_FALSE(webViewHelper.webViewImpl()->matchesHeuristicsForGpuRasterizationForTesting()); 3034 } 3035 3036 class ConsoleMessageWebFrameClient : public FrameTestHelpers::TestWebFrameClient { 3037 public: 3038 virtual void didAddMessageToConsole(const WebConsoleMessage& msg, const WebString& sourceName, unsigned sourceLine, const WebString& stackTrace) 3039 { 3040 messages.push_back(msg); 3041 } 3042 3043 std::vector<WebConsoleMessage> messages; 3044 }; 3045 3046 TEST_F(ViewportTest, viewportWarnings1) 3047 { 3048 ConsoleMessageWebFrameClient webFrameClient; 3049 3050 registerMockedHttpURLLoad("viewport/viewport-warnings-1.html"); 3051 3052 FrameTestHelpers::WebViewHelper webViewHelper; 3053 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-warnings-1.html", true, &webFrameClient, 0, setViewportSettings); 3054 3055 Page* page = webViewHelper.webViewImpl()->page(); 3056 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 3057 3058 EXPECT_TRUE(webFrameClient.messages.empty()); 3059 3060 EXPECT_EQ(320, constraints.layoutSize.width()); 3061 EXPECT_EQ(352, constraints.layoutSize.height()); 3062 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 3063 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 3064 EXPECT_NEAR(2.0f, constraints.maximumScale, 0.01f); 3065 EXPECT_TRUE(page->viewportDescription().userZoom); 3066 } 3067 3068 TEST_F(ViewportTest, viewportWarnings2) 3069 { 3070 ConsoleMessageWebFrameClient webFrameClient; 3071 3072 registerMockedHttpURLLoad("viewport/viewport-warnings-2.html"); 3073 3074 FrameTestHelpers::WebViewHelper webViewHelper; 3075 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-warnings-2.html", true, &webFrameClient, 0, setViewportSettings); 3076 3077 Page* page = webViewHelper.webViewImpl()->page(); 3078 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 3079 3080 EXPECT_EQ(1U, webFrameClient.messages.size()); 3081 EXPECT_EQ(WebConsoleMessage::LevelWarning, webFrameClient.messages[0].level); 3082 EXPECT_STREQ("The key \"wwidth\" is not recognized and ignored.", webFrameClient.messages[0].text.utf8().c_str()); 3083 3084 EXPECT_EQ(980, constraints.layoutSize.width()); 3085 EXPECT_EQ(1078, constraints.layoutSize.height()); 3086 EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f); 3087 EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f); 3088 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 3089 EXPECT_TRUE(page->viewportDescription().userZoom); 3090 } 3091 3092 TEST_F(ViewportTest, viewportWarnings3) 3093 { 3094 ConsoleMessageWebFrameClient webFrameClient; 3095 3096 registerMockedHttpURLLoad("viewport/viewport-warnings-3.html"); 3097 3098 FrameTestHelpers::WebViewHelper webViewHelper; 3099 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-warnings-3.html", true, &webFrameClient, 0, setViewportSettings); 3100 3101 Page* page = webViewHelper.webViewImpl()->page(); 3102 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 3103 3104 EXPECT_EQ(1U, webFrameClient.messages.size()); 3105 EXPECT_EQ(WebConsoleMessage::LevelWarning, webFrameClient.messages[0].level); 3106 EXPECT_STREQ("The value \"unrecognized-width\" for key \"width\" is invalid, and has been ignored.", 3107 webFrameClient.messages[0].text.utf8().c_str()); 3108 3109 EXPECT_NEAR(64.0f, constraints.layoutSize.width(), 0.01); 3110 EXPECT_NEAR(70.4f, constraints.layoutSize.height(), 0.01); 3111 EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f); 3112 EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f); 3113 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 3114 EXPECT_TRUE(page->viewportDescription().userZoom); 3115 } 3116 3117 TEST_F(ViewportTest, viewportWarnings4) 3118 { 3119 ConsoleMessageWebFrameClient webFrameClient; 3120 3121 registerMockedHttpURLLoad("viewport/viewport-warnings-4.html"); 3122 3123 FrameTestHelpers::WebViewHelper webViewHelper; 3124 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-warnings-4.html", true, &webFrameClient, 0, setViewportSettings); 3125 3126 Page* page = webViewHelper.webViewImpl()->page(); 3127 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 3128 3129 EXPECT_EQ(1U, webFrameClient.messages.size()); 3130 EXPECT_EQ(WebConsoleMessage::LevelWarning, webFrameClient.messages[0].level); 3131 EXPECT_STREQ("The value \"123x456\" for key \"width\" was truncated to its numeric prefix.", 3132 webFrameClient.messages[0].text.utf8().c_str()); 3133 3134 EXPECT_NEAR(123.0f, constraints.layoutSize.width(), 0.01); 3135 EXPECT_NEAR(135.3f, constraints.layoutSize.height(), 0.01); 3136 EXPECT_NEAR(2.60f, constraints.initialScale, 0.01f); 3137 EXPECT_NEAR(2.60f, constraints.minimumScale, 0.01f); 3138 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 3139 EXPECT_TRUE(page->viewportDescription().userZoom); 3140 } 3141 3142 TEST_F(ViewportTest, viewportWarnings5) 3143 { 3144 ConsoleMessageWebFrameClient webFrameClient; 3145 3146 registerMockedHttpURLLoad("viewport/viewport-warnings-5.html"); 3147 3148 FrameTestHelpers::WebViewHelper webViewHelper; 3149 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-warnings-5.html", true, &webFrameClient, 0, setViewportSettings); 3150 3151 Page* page = webViewHelper.webViewImpl()->page(); 3152 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 3153 3154 EXPECT_EQ(5U, webFrameClient.messages.size()); 3155 3156 EXPECT_EQ(WebConsoleMessage::LevelWarning, webFrameClient.messages[0].level); 3157 EXPECT_STREQ("The value \"device-width;\" for key \"width\" is invalid, and has been ignored.", 3158 webFrameClient.messages[0].text.utf8().c_str()); 3159 3160 EXPECT_EQ(WebConsoleMessage::LevelWarning, webFrameClient.messages[1].level); 3161 EXPECT_STREQ("The value \"1.0;\" for key \"initial-scale\" was truncated to its numeric prefix.", 3162 webFrameClient.messages[1].text.utf8().c_str()); 3163 3164 EXPECT_EQ(WebConsoleMessage::LevelWarning, webFrameClient.messages[2].level); 3165 EXPECT_STREQ("The value \"1.0;\" for key \"maximum-scale\" was truncated to its numeric prefix.", 3166 webFrameClient.messages[2].text.utf8().c_str()); 3167 3168 EXPECT_EQ(WebConsoleMessage::LevelWarning, webFrameClient.messages[3].level); 3169 EXPECT_STREQ("The value \"0;\" for key \"user-scalable\" was truncated to its numeric prefix.", 3170 webFrameClient.messages[3].text.utf8().c_str()); 3171 3172 EXPECT_EQ(WebConsoleMessage::LevelWarning, webFrameClient.messages[4].level); 3173 EXPECT_STREQ("Error parsing a meta element's content: ';' is not a valid key-value pair separator. Please use ',' instead.", 3174 webFrameClient.messages[4].text.utf8().c_str()); 3175 3176 EXPECT_NEAR(320.0f, constraints.layoutSize.width(), 0.01); 3177 EXPECT_NEAR(352.0f, constraints.layoutSize.height(), 0.01); 3178 EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f); 3179 EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f); 3180 EXPECT_NEAR(1.0f, constraints.maximumScale, 0.01f); 3181 EXPECT_FALSE(page->viewportDescription().userZoom); 3182 } 3183 3184 TEST_F(ViewportTest, viewportWarnings6) 3185 { 3186 ConsoleMessageWebFrameClient webFrameClient; 3187 3188 registerMockedHttpURLLoad("viewport/viewport-warnings-6.html"); 3189 3190 FrameTestHelpers::WebViewHelper webViewHelper; 3191 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-warnings-6.html", true, &webFrameClient, 0, setViewportSettings); 3192 3193 Page* page = webViewHelper.webViewImpl()->page(); 3194 PageScaleConstraints constraints = runViewportTest(page, 320, 352); 3195 3196 EXPECT_EQ(1U, webFrameClient.messages.size()); 3197 EXPECT_EQ(WebConsoleMessage::LevelWarning, webFrameClient.messages[0].level); 3198 EXPECT_STREQ("The value \"\" for key \"width\" is invalid, and has been ignored.", 3199 webFrameClient.messages[0].text.utf8().c_str()); 3200 3201 EXPECT_NEAR(64.0f, constraints.layoutSize.width(), 0.01); 3202 EXPECT_NEAR(70.4f, constraints.layoutSize.height(), 0.01); 3203 EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f); 3204 EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f); 3205 EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f); 3206 EXPECT_TRUE(page->viewportDescription().userZoom); 3207 } 3208 3209 TEST_F(ViewportTest, viewportWarnings7) 3210 { 3211 ConsoleMessageWebFrameClient webFrameClient; 3212 3213 registerMockedHttpURLLoad("viewport/viewport-warnings-7.html"); 3214 3215 FrameTestHelpers::WebViewHelper webViewHelper; 3216 webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-warnings-7.html", true, &webFrameClient, 0, setViewportSettings); 3217 3218 Page* page = webViewHelper.webViewImpl()->page(); 3219 runViewportTest(page, 320, 352); 3220 3221 EXPECT_EQ(0U, webFrameClient.messages.size()); 3222 } 3223 3224 } // namespace 3225