Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(40)

Side by Side Diff: Source/WebKit/chromium/tests/WebFrameTest.cpp

Issue 14813025: Refactor viewport initialization logic out of WebViewImpl. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Address code review comments Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2010 Google Inc. All rights reserved. 2 * Copyright (C) 2010 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after
350 m_webView->setPageScaleFactorPreservingScrollOffset(0.5); 350 m_webView->setPageScaleFactorPreservingScrollOffset(0.5);
351 m_webView->layout(); 351 m_webView->layout();
352 EXPECT_EQ(1, m_webView->pageScaleFactor()); 352 EXPECT_EQ(1, m_webView->pageScaleFactor());
353 353
354 // Force the layout to happen before leaving the test. 354 // Force the layout to happen before leaving the test.
355 m_webView->mainFrame()->contentAsText(1024).utf8(); 355 m_webView->mainFrame()->contentAsText(1024).utf8();
356 } 356 }
357 357
358 TEST_F(WebFrameTest, FixedLayoutInitializeAtMinimumPageScale) 358 TEST_F(WebFrameTest, FixedLayoutInitializeAtMinimumPageScale)
359 { 359 {
360 WebCore::Settings::setMockScrollbarsEnabled(true);
361 WebCore::Settings::setUsesOverlayScrollbars(true);
362
360 registerMockedHttpURLLoad("fixed_layout.html"); 363 registerMockedHttpURLLoad("fixed_layout.html");
361 364
362 FixedLayoutTestWebViewClient client; 365 FixedLayoutTestWebViewClient client;
363 client.m_screenInfo.deviceScaleFactor = 1; 366 client.m_screenInfo.deviceScaleFactor = 1;
364 int viewportWidth = 640; 367 int viewportWidth = 640;
365 int viewportHeight = 480; 368 int viewportHeight = 480;
366 369
367 // Make sure we initialize to minimum scale, even if the window size 370 // Make sure we initialize to minimum scale, even if the window size
368 // only becomes available after the load begins. 371 // only becomes available after the load begins.
369 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "fixed_layout .html", true, 0, &client); 372 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "fixed_layout .html", true, 0, &client);
370 m_webView->enableFixedLayoutMode(true); 373 m_webView->enableFixedLayoutMode(true);
371 m_webView->settings()->setViewportEnabled(true); 374 m_webView->settings()->setViewportEnabled(true);
372 m_webView->resize(WebSize(viewportWidth, viewportHeight)); 375 m_webView->resize(WebSize(viewportWidth, viewportHeight));
373 376
374 int defaultFixedLayoutWidth = 980; 377 int defaultFixedLayoutWidth = 980;
375 float minimumPageScaleFactor = viewportWidth / (float) defaultFixedLayoutWid th; 378 float minimumPageScaleFactor = viewportWidth / (float) defaultFixedLayoutWid th;
376 EXPECT_EQ(minimumPageScaleFactor, m_webView->pageScaleFactor()); 379 EXPECT_EQ(minimumPageScaleFactor, m_webView->pageScaleFactor());
380 EXPECT_EQ(minimumPageScaleFactor, m_webView->minimumPageScaleFactor());
377 381
378 // Assume the user has pinch zoomed to page scale factor 2. 382 // Assume the user has pinch zoomed to page scale factor 2.
379 float userPinchPageScaleFactor = 2; 383 float userPinchPageScaleFactor = 2;
384 m_webView->setPageScaleFactorPreservingScrollOffset(userPinchPageScaleFactor );
385 m_webView->layout();
386
387 // Make sure we don't reset to initial scale if the page continues to load.
388 bool isNewNavigation;
389 WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView);
390 webViewImpl ->didCommitLoad(&isNewNavigation, false);
391 webViewImpl ->didChangeContentsSize();
392 EXPECT_EQ(userPinchPageScaleFactor, m_webView->pageScaleFactor());
393
394 // Make sure we don't reset to initial scale if the viewport size changes.
395 m_webView->resize(WebSize(viewportWidth, viewportHeight + 100));
396 EXPECT_EQ(userPinchPageScaleFactor, m_webView->pageScaleFactor());
397 }
398
399 TEST_F(WebFrameTest, WideDocumentInitializeAtMinimumPageScale)
400 {
401 WebCore::Settings::setMockScrollbarsEnabled(true);
402 WebCore::Settings::setUsesOverlayScrollbars(true);
403
404 registerMockedHttpURLLoad("wide_document.html");
405
406 FixedLayoutTestWebViewClient client;
407 client.m_screenInfo.deviceScaleFactor = 1;
408 int viewportWidth = 640;
409 int viewportHeight = 480;
410
411 // Make sure we initialize to minimum scale, even if the window size
412 // only becomes available after the load begins.
413 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "wide_documen t.html", true, 0, &client);
414 m_webView->enableFixedLayoutMode(true);
415 m_webView->settings()->setViewportEnabled(true);
416 m_webView->resize(WebSize(viewportWidth, viewportHeight));
417
418 int wideDocumentWidth = 1500;
419 float minimumPageScaleFactor = viewportWidth / (float) wideDocumentWidth;
420 EXPECT_EQ(minimumPageScaleFactor, m_webView->pageScaleFactor());
421 EXPECT_EQ(minimumPageScaleFactor, m_webView->minimumPageScaleFactor());
422
423 // Assume the user has pinch zoomed to page scale factor 2.
424 float userPinchPageScaleFactor = 2;
380 m_webView->setPageScaleFactorPreservingScrollOffset(userPinchPageScaleFactor ); 425 m_webView->setPageScaleFactorPreservingScrollOffset(userPinchPageScaleFactor );
381 m_webView->layout(); 426 m_webView->layout();
382 427
383 // Make sure we don't reset to initial scale if the page continues to load. 428 // Make sure we don't reset to initial scale if the page continues to load.
384 bool isNewNavigation; 429 bool isNewNavigation;
385 WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView); 430 WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView);
386 webViewImpl ->didCommitLoad(&isNewNavigation, false); 431 webViewImpl ->didCommitLoad(&isNewNavigation, false);
387 webViewImpl ->didChangeContentsSize(); 432 webViewImpl ->didChangeContentsSize();
388 EXPECT_EQ(userPinchPageScaleFactor, m_webView->pageScaleFactor()); 433 EXPECT_EQ(userPinchPageScaleFactor, m_webView->pageScaleFactor());
389 434
390 // Make sure we don't reset to initial scale if the viewport size changes. 435 // Make sure we don't reset to initial scale if the viewport size changes.
391 m_webView->resize(WebSize(viewportWidth, viewportHeight + 100)); 436 m_webView->resize(WebSize(viewportWidth, viewportHeight + 100));
392 EXPECT_EQ(userPinchPageScaleFactor, m_webView->pageScaleFactor()); 437 EXPECT_EQ(userPinchPageScaleFactor, m_webView->pageScaleFactor());
393 } 438 }
394 439
395 TEST_F(WebFrameTest, setInitializeAtMinimumPageScaleToFalse) 440 TEST_F(WebFrameTest, setInitializeAtMinimumPageScaleToFalse)
396 { 441 {
397 registerMockedHttpURLLoad("viewport-auto-initial-scale.html"); 442 registerMockedHttpURLLoad("viewport-auto-initial-scale.html");
398 443
399 FixedLayoutTestWebViewClient client; 444 FixedLayoutTestWebViewClient client;
400 client.m_screenInfo.deviceScaleFactor = 1; 445 client.m_screenInfo.deviceScaleFactor = 1;
401 int viewportWidth = 640; 446 int viewportWidth = 640;
402 int viewportHeight = 480; 447 int viewportHeight = 480;
403 448
404 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "viewport-aut o-initial-scale.html", true, 0, &client); 449 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "viewport-aut o-initial-scale.html", true, 0, &client);
405 m_webView->enableFixedLayoutMode(true); 450 m_webView->enableFixedLayoutMode(true);
406 m_webView->settings()->setViewportEnabled(true); 451 m_webView->settings()->setViewportEnabled(true);
407 m_webView->settings()->setInitializeAtMinimumPageScale(false); 452 m_webView->settings()->setInitializeAtMinimumPageScale(false);
453 m_webView->settings()->setSupportDeprecatedTargetDensityDPI(true);
408 m_webView->resize(WebSize(viewportWidth, viewportHeight)); 454 m_webView->resize(WebSize(viewportWidth, viewportHeight));
409 455
410 // The page must be displayed at 100% zoom. 456 // The page must be displayed at 100% zoom.
411 EXPECT_EQ(1.0f, m_webView->pageScaleFactor()); 457 EXPECT_EQ(1.0f, m_webView->pageScaleFactor());
412 } 458 }
413 459
414 TEST_F(WebFrameTest, SetInitializeAtMinimumPageScaleToFalseAndNoWideViewport) 460 TEST_F(WebFrameTest, SetInitializeAtMinimumPageScaleToFalseAndNoWideViewport)
415 { 461 {
416 registerMockedHttpURLLoad("large-div.html"); 462 registerMockedHttpURLLoad("large-div.html");
417 463
418 FixedLayoutTestWebViewClient client; 464 FixedLayoutTestWebViewClient client;
419 client.m_screenInfo.deviceScaleFactor = 1; 465 client.m_screenInfo.deviceScaleFactor = 1;
420 int viewportWidth = 640; 466 int viewportWidth = 640;
421 int viewportHeight = 480; 467 int viewportHeight = 480;
422 468
423 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "large-div.ht ml", true, 0, &client); 469 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "large-div.ht ml", true, 0, &client);
424 m_webView->enableFixedLayoutMode(true); 470 m_webView->enableFixedLayoutMode(true);
425 m_webView->settings()->setViewportEnabled(true); 471 m_webView->settings()->setViewportEnabled(true);
426 m_webView->settings()->setInitializeAtMinimumPageScale(false); 472 m_webView->settings()->setInitializeAtMinimumPageScale(false);
427 m_webView->settings()->setUseWideViewport(false); 473 m_webView->settings()->setUseWideViewport(false);
474 m_webView->settings()->setSupportDeprecatedTargetDensityDPI(true);
428 m_webView->resize(WebSize(viewportWidth, viewportHeight)); 475 m_webView->resize(WebSize(viewportWidth, viewportHeight));
429 476
430 // The page must be displayed at 100% zoom, despite that it hosts a wide div element. 477 // The page must be displayed at 100% zoom, despite that it hosts a wide div element.
431 EXPECT_EQ(1.0f, m_webView->pageScaleFactor()); 478 EXPECT_EQ(1.0f, m_webView->pageScaleFactor());
432 } 479 }
433 480
434 TEST_F(WebFrameTest, NoWideViewportIgnoresPageViewportWidth) 481 TEST_F(WebFrameTest, NoWideViewportIgnoresPageViewportWidth)
435 { 482 {
436 registerMockedHttpURLLoad("viewport-auto-initial-scale.html"); 483 registerMockedHttpURLLoad("viewport-auto-initial-scale.html");
437 484
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
509 m_webView->settings()->setViewportEnabled(true); 556 m_webView->settings()->setViewportEnabled(true);
510 m_webView->settings()->setInitializeAtMinimumPageScale(false); 557 m_webView->settings()->setInitializeAtMinimumPageScale(false);
511 m_webView->resize(WebSize(viewportWidth, viewportHeight)); 558 m_webView->resize(WebSize(viewportWidth, viewportHeight));
512 559
513 // The page must be displayed at 200% zoom, as specified in its viewport met a tag. 560 // The page must be displayed at 200% zoom, as specified in its viewport met a tag.
514 EXPECT_EQ(2.0f, m_webView->pageScaleFactor()); 561 EXPECT_EQ(2.0f, m_webView->pageScaleFactor());
515 } 562 }
516 563
517 TEST_F(WebFrameTest, setInitialPageScaleFactorPermanently) 564 TEST_F(WebFrameTest, setInitialPageScaleFactorPermanently)
518 { 565 {
566 WebCore::Settings::setMockScrollbarsEnabled(true);
567 WebCore::Settings::setUsesOverlayScrollbars(true);
568
519 registerMockedHttpURLLoad("fixed_layout.html"); 569 registerMockedHttpURLLoad("fixed_layout.html");
520 570
521 FixedLayoutTestWebViewClient client; 571 FixedLayoutTestWebViewClient client;
522 client.m_screenInfo.deviceScaleFactor = 1; 572 client.m_screenInfo.deviceScaleFactor = 1;
523 float enforcedPageScalePactor = 2.0f; 573 float enforcedPageScaleFactor = 2.0f;
524 574
525 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "fixed_layout .html", true, 0, &client); 575 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "fixed_layout .html", true, 0, &client);
526 m_webView->setInitialPageScaleOverride(enforcedPageScalePactor); 576 m_webView->settings()->setSupportDeprecatedTargetDensityDPI(true);
577 m_webView->setInitialPageScaleOverride(enforcedPageScaleFactor);
578 m_webView->layout();
527 579
528 EXPECT_EQ(enforcedPageScalePactor, m_webView->pageScaleFactor()); 580 EXPECT_EQ(enforcedPageScaleFactor, m_webView->pageScaleFactor());
529 581
530 int viewportWidth = 640; 582 int viewportWidth = 640;
531 int viewportHeight = 480; 583 int viewportHeight = 480;
532 m_webView->enableFixedLayoutMode(true); 584 m_webView->enableFixedLayoutMode(true);
533 m_webView->settings()->setViewportEnabled(true); 585 m_webView->settings()->setViewportEnabled(true);
534 m_webView->resize(WebSize(viewportWidth, viewportHeight)); 586 m_webView->resize(WebSize(viewportWidth, viewportHeight));
535 m_webView->layout(); 587 m_webView->layout();
536 588
537 EXPECT_EQ(enforcedPageScalePactor, m_webView->pageScaleFactor()); 589 EXPECT_EQ(enforcedPageScaleFactor, m_webView->pageScaleFactor());
538
539 m_webView->enableFixedLayoutMode(false);
540 m_webView->settings()->setViewportEnabled(false);
541 m_webView->layout();
542
543 EXPECT_EQ(enforcedPageScalePactor, m_webView->pageScaleFactor());
544 590
545 m_webView->setInitialPageScaleOverride(-1); 591 m_webView->setInitialPageScaleOverride(-1);
546 m_webView->layout(); 592 m_webView->layout();
547 EXPECT_EQ(1.0f, m_webView->pageScaleFactor()); 593
594 int defaultFixedLayoutWidth = 980;
595 float minimumPageScaleFactor = viewportWidth / (float) defaultFixedLayoutWid th;
596 EXPECT_EQ(minimumPageScaleFactor, m_webView->pageScaleFactor());
mnaganov (inactive) 2013/05/14 09:31:23 I'm a bit worried about this condition. There is a
aelias_OOO_until_Jul13 2013/05/14 21:39:52 OK, changed this to 1.0 + setInitializeAtMinimumPa
548 } 597 }
549 598
550 TEST_F(WebFrameTest, PermanentInitialPageScaleFactorOverridesInitializeAtMinimum Scale) 599 TEST_F(WebFrameTest, PermanentInitialPageScaleFactorOverridesInitializeAtMinimum Scale)
551 { 600 {
552 registerMockedHttpURLLoad("viewport-auto-initial-scale.html"); 601 registerMockedHttpURLLoad("viewport-auto-initial-scale.html");
553 602
554 FixedLayoutTestWebViewClient client; 603 FixedLayoutTestWebViewClient client;
555 client.m_screenInfo.deviceScaleFactor = 1; 604 client.m_screenInfo.deviceScaleFactor = 1;
556 int viewportWidth = 640; 605 int viewportWidth = 640;
557 int viewportHeight = 480; 606 int viewportHeight = 480;
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
743 792
744 m_webView->setPageScaleFactor(2, WebPoint()); 793 m_webView->setPageScaleFactor(2, WebPoint());
745 794
746 WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView); 795 WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView);
747 EXPECT_EQ(980, webViewImpl->page()->mainFrame()->contentRenderer()->unscaled DocumentRect().width()); 796 EXPECT_EQ(980, webViewImpl->page()->mainFrame()->contentRenderer()->unscaled DocumentRect().width());
748 EXPECT_EQ(980, webViewImpl->mainFrameImpl()->frameView()->contentsSize().wid th()); 797 EXPECT_EQ(980, webViewImpl->mainFrameImpl()->frameView()->contentsSize().wid th());
749 } 798 }
750 799
751 TEST_F(WebFrameTest, targetDensityDpiHigh) 800 TEST_F(WebFrameTest, targetDensityDpiHigh)
752 { 801 {
802 WebCore::Settings::setMockScrollbarsEnabled(true);
803 WebCore::Settings::setUsesOverlayScrollbars(true);
753 registerMockedHttpURLLoad("viewport-target-densitydpi-high.html"); 804 registerMockedHttpURLLoad("viewport-target-densitydpi-high.html");
754 805
755 FixedLayoutTestWebViewClient client; 806 FixedLayoutTestWebViewClient client;
756 client.m_screenInfo.deviceScaleFactor = 4.0f / 3.0f; 807 client.m_screenInfo.deviceScaleFactor = 4.0f / 3.0f;
757 int viewportWidth = 640; 808 int viewportWidth = 640;
758 int viewportHeight = 480; 809 int viewportHeight = 480;
759 810
760 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "viewport-tar get-densitydpi-high.html", true, 0, &client); 811 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "viewport-tar get-densitydpi-high.html", true, 0, &client);
761 m_webView->enableFixedLayoutMode(true); 812 m_webView->enableFixedLayoutMode(true);
762 m_webView->settings()->setViewportEnabled(true); 813 m_webView->settings()->setViewportEnabled(true);
763 m_webView->settings()->setSupportDeprecatedTargetDensityDPI(true); 814 m_webView->settings()->setSupportDeprecatedTargetDensityDPI(true);
764 m_webView->resize(WebSize(viewportWidth, viewportHeight)); 815 m_webView->resize(WebSize(viewportWidth, viewportHeight));
765 816
766 // high-dpi = 240, device-dpi = 160 817 // high-dpi = 240, device-dpi = 160
767 EXPECT_NEAR(viewportWidth * (240.0f / 160.0f), m_webView->fixedLayoutSize(). width, 1.0f); 818 EXPECT_NEAR(viewportWidth * (240.0f / 160.0f), m_webView->fixedLayoutSize(). width, 1.0f);
768 EXPECT_NEAR(viewportHeight * (240.0f / 160.0f), m_webView->fixedLayoutSize() .height, 1.0f); 819 EXPECT_NEAR(viewportHeight * (240.0f / 160.0f), m_webView->fixedLayoutSize() .height, 1.0f);
769 EXPECT_NEAR(160.0f / 240.0f, m_webView->pageScaleFactor(), 0.01f); 820 EXPECT_NEAR(160.0f / 240.0f, m_webView->pageScaleFactor(), 0.01f);
770 } 821 }
771 822
772 TEST_F(WebFrameTest, targetDensityDpiDevice) 823 TEST_F(WebFrameTest, targetDensityDpiDevice)
773 { 824 {
825 WebCore::Settings::setMockScrollbarsEnabled(true);
826 WebCore::Settings::setUsesOverlayScrollbars(true);
774 registerMockedHttpURLLoad("viewport-target-densitydpi-device.html"); 827 registerMockedHttpURLLoad("viewport-target-densitydpi-device.html");
775 828
776 float deviceScaleFactors[] = { 1.0f, 4.0f / 3.0f, 2.0f }; 829 float deviceScaleFactors[] = { 1.0f, 4.0f / 3.0f, 2.0f };
777 830
778 FixedLayoutTestWebViewClient client; 831 FixedLayoutTestWebViewClient client;
779 int viewportWidth = 640; 832 int viewportWidth = 640;
780 int viewportHeight = 480; 833 int viewportHeight = 480;
781 834
782 for (size_t i = 0; i < ARRAY_SIZE(deviceScaleFactors); ++i) { 835 for (size_t i = 0; i < ARRAY_SIZE(deviceScaleFactors); ++i) {
783 client.m_screenInfo.deviceScaleFactor = deviceScaleFactors[i]; 836 client.m_screenInfo.deviceScaleFactor = deviceScaleFactors[i];
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
968 WebCore::FrameView* view = static_cast<WebViewImpl*>(m_webView)->mainFrameIm pl()->frameView(); 1021 WebCore::FrameView* view = static_cast<WebViewImpl*>(m_webView)->mainFrameIm pl()->frameView();
969 EXPECT_EQ(view->scrollSize(WebCore::HorizontalScrollbar), view->contentsSize ().width() - view->visibleContentRect().width()); 1022 EXPECT_EQ(view->scrollSize(WebCore::HorizontalScrollbar), view->contentsSize ().width() - view->visibleContentRect().width());
970 EXPECT_EQ(view->scrollSize(WebCore::VerticalScrollbar), view->contentsSize() .height() - view->visibleContentRect().height()); 1023 EXPECT_EQ(view->scrollSize(WebCore::VerticalScrollbar), view->contentsSize() .height() - view->visibleContentRect().height());
971 1024
972 m_webView->setPageScaleFactor(10, WebPoint()); 1025 m_webView->setPageScaleFactor(10, WebPoint());
973 1026
974 EXPECT_EQ(view->scrollSize(WebCore::HorizontalScrollbar), view->contentsSize ().width() - view->visibleContentRect().width()); 1027 EXPECT_EQ(view->scrollSize(WebCore::HorizontalScrollbar), view->contentsSize ().width() - view->visibleContentRect().width());
975 EXPECT_EQ(view->scrollSize(WebCore::VerticalScrollbar), view->contentsSize() .height() - view->visibleContentRect().height()); 1028 EXPECT_EQ(view->scrollSize(WebCore::VerticalScrollbar), view->contentsSize() .height() - view->visibleContentRect().height());
976 } 1029 }
977 1030
978 TEST_F(WebFrameTest, CanOverrideMaximumScaleFactor) 1031 TEST_F(WebFrameTest, CanOverrideScaleLimits)
979 { 1032 {
1033 WebCore::Settings::setMockScrollbarsEnabled(true);
1034 WebCore::Settings::setUsesOverlayScrollbars(true);
1035
980 registerMockedHttpURLLoad("no_scale_for_you.html"); 1036 registerMockedHttpURLLoad("no_scale_for_you.html");
981 1037
982 FixedLayoutTestWebViewClient client; 1038 FixedLayoutTestWebViewClient client;
983 client.m_screenInfo.deviceScaleFactor = 1; 1039 client.m_screenInfo.deviceScaleFactor = 1;
984 int viewportWidth = 640; 1040 int viewportWidth = 640;
985 int viewportHeight = 480; 1041 int viewportHeight = 480;
986 1042
987 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "no_scale_for _you.html", true, 0, &client); 1043 m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "no_scale_for _you.html", true, 0, &client);
988 m_webView->enableFixedLayoutMode(true); 1044 m_webView->enableFixedLayoutMode(true);
989 m_webView->settings()->setViewportEnabled(true); 1045 m_webView->settings()->setViewportEnabled(true);
990 m_webView->resize(WebSize(viewportWidth, viewportHeight)); 1046 m_webView->resize(WebSize(viewportWidth, viewportHeight));
991 1047
992 EXPECT_EQ(1.0f, m_webView->maximumPageScaleFactor()); 1048 EXPECT_EQ(2.0f, m_webView->minimumPageScaleFactor());
1049 EXPECT_EQ(2.0f, m_webView->maximumPageScaleFactor());
993 1050
994 m_webView->setIgnoreViewportTagMaximumScale(true); 1051 m_webView->setIgnoreViewportTagScaleLimits(true);
995 m_webView->layout(); 1052 m_webView->layout();
996 1053
997 EXPECT_EQ(4.0f, m_webView->maximumPageScaleFactor()); 1054 EXPECT_EQ(1.0f, m_webView->minimumPageScaleFactor());
1055 EXPECT_EQ(5.0f, m_webView->maximumPageScaleFactor());
1056
1057 m_webView->setIgnoreViewportTagScaleLimits(false);
1058 m_webView->layout();
1059
1060 EXPECT_EQ(2.0f, m_webView->minimumPageScaleFactor());
1061 EXPECT_EQ(2.0f, m_webView->maximumPageScaleFactor());
998 } 1062 }
999 1063
1000 TEST_F(WebFrameTest, updateOverlayScrollbarLayers) 1064 TEST_F(WebFrameTest, updateOverlayScrollbarLayers)
1001 { 1065 {
1002 WebCore::Settings::setMockScrollbarsEnabled(true); 1066 WebCore::Settings::setMockScrollbarsEnabled(true);
1003 WebCore::Settings::setUsesOverlayScrollbars(true); 1067 WebCore::Settings::setUsesOverlayScrollbars(true);
1004 EXPECT_TRUE(WebCore::ScrollbarTheme::theme()->usesOverlayScrollbars()); 1068 EXPECT_TRUE(WebCore::ScrollbarTheme::theme()->usesOverlayScrollbars());
1005 1069
1006 registerMockedHttpURLLoad("large-div.html"); 1070 registerMockedHttpURLLoad("large-div.html");
1007 1071
(...skipping 1984 matching lines...) Expand 10 before | Expand all | Expand 10 after
2992 EXPECT_FALSE(client.wasProgrammaticScroll()); 3056 EXPECT_FALSE(client.wasProgrammaticScroll());
2993 EXPECT_TRUE(client.wasUserScroll()); 3057 EXPECT_TRUE(client.wasUserScroll());
2994 client.reset(); 3058 client.reset();
2995 3059
2996 m_webView->close(); 3060 m_webView->close();
2997 m_webView = 0; 3061 m_webView = 0;
2998 } 3062 }
2999 3063
3000 3064
3001 } // namespace 3065 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698