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

Side by Side Diff: third_party/WebKit/Source/web/tests/TopControlsTest.cpp

Issue 1865813002: Remove RawPtr from Source/web/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebased Created 4 years, 8 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2015 Google Inc. All rights reserved. 2 * Copyright (C) 2015 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 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 return event; 115 return event;
116 } 116 }
117 117
118 void verticalScroll(float deltaY) 118 void verticalScroll(float deltaY)
119 { 119 {
120 webViewImpl()->handleInputEvent(generateEvent(WebInputEvent::GestureScro llBegin)); 120 webViewImpl()->handleInputEvent(generateEvent(WebInputEvent::GestureScro llBegin));
121 webViewImpl()->handleInputEvent(generateEvent(WebInputEvent::GestureScro llUpdate, 0, deltaY)); 121 webViewImpl()->handleInputEvent(generateEvent(WebInputEvent::GestureScro llUpdate, 0, deltaY));
122 webViewImpl()->handleInputEvent(generateEvent(WebInputEvent::GestureScro llEnd)); 122 webViewImpl()->handleInputEvent(generateEvent(WebInputEvent::GestureScro llEnd));
123 } 123 }
124 124
125 RawPtr<Element> getElementById(const WebString& id) 125 Element* getElementById(const WebString& id)
126 { 126 {
127 return static_cast<RawPtr<Element>>( 127 return static_cast<Element*>(
128 webViewImpl()->mainFrame()->document().getElementById(id)); 128 webViewImpl()->mainFrame()->document().getElementById(id));
129 } 129 }
130 130
131 131
132 WebViewImpl* webViewImpl() const { return m_helper.webViewImpl(); } 132 WebViewImpl* webViewImpl() const { return m_helper.webViewImpl(); }
133 LocalFrame* frame() const { return m_helper.webViewImpl()->mainFrameImpl()-> frame(); } 133 LocalFrame* frame() const { return m_helper.webViewImpl()->mainFrameImpl()-> frame(); }
134 VisualViewport& visualViewport() const { return m_helper.webViewImpl()->page ()->frameHost().visualViewport(); } 134 VisualViewport& visualViewport() const { return m_helper.webViewImpl()->page ()->frameHost().visualViewport(); }
135 135
136 private: 136 private:
137 std::string m_baseURL; 137 std::string m_baseURL;
(...skipping 434 matching lines...) Expand 10 before | Expand all | Expand 10 after
572 WebTopControlsBoth, WebTopControlsShown, false); 572 WebTopControlsBoth, WebTopControlsShown, false);
573 webView->topControls().setShownRatio(1); 573 webView->topControls().setShownRatio(1);
574 webView->resize(WebSize(400, 300)); 574 webView->resize(WebSize(400, 300));
575 webView->updateAllLifecyclePhases(); 575 webView->updateAllLifecyclePhases();
576 576
577 ASSERT_EQ(100.f, webView->topControls().contentOffset()); 577 ASSERT_EQ(100.f, webView->topControls().contentOffset());
578 578
579 // When the top controls are showing, there's 300px for the layout height so 579 // When the top controls are showing, there's 300px for the layout height so
580 // 50% should result in both the position:fixed and position: absolute divs 580 // 50% should result in both the position:fixed and position: absolute divs
581 // having 150px of height. 581 // having 150px of height.
582 RawPtr<Element> absPos = 582 Element* absPos =
583 getElementById(WebString::fromUTF8("abs")); 583 getElementById(WebString::fromUTF8("abs"));
584 RawPtr<Element> fixedPos = 584 Element* fixedPos =
585 getElementById(WebString::fromUTF8("fixed")); 585 getElementById(WebString::fromUTF8("fixed"));
586 EXPECT_FLOAT_EQ(150.f, absPos->getBoundingClientRect()->height()); 586 EXPECT_FLOAT_EQ(150.f, absPos->getBoundingClientRect()->height());
587 EXPECT_FLOAT_EQ(150.f, fixedPos->getBoundingClientRect()->height()); 587 EXPECT_FLOAT_EQ(150.f, fixedPos->getBoundingClientRect()->height());
588 588
589 // The layout size on the FrameView should not include the top controls. 589 // The layout size on the FrameView should not include the top controls.
590 EXPECT_EQ(300, frame()->view()->layoutSize(IncludeScrollbars).height()); 590 EXPECT_EQ(300, frame()->view()->layoutSize(IncludeScrollbars).height());
591 591
592 // Hide the top controls. 592 // Hide the top controls.
593 verticalScroll(-100.f); 593 verticalScroll(-100.f);
594 webView->setTopControlsHeight(100.f, false); 594 webView->setTopControlsHeight(100.f, false);
(...skipping 21 matching lines...) Expand all
616 webView->updateTopControlsState( 616 webView->updateTopControlsState(
617 WebTopControlsBoth, WebTopControlsShown, false); 617 WebTopControlsBoth, WebTopControlsShown, false);
618 webView->topControls().setShownRatio(1); 618 webView->topControls().setShownRatio(1);
619 webView->resize(WebSize(400, 300)); 619 webView->resize(WebSize(400, 300));
620 webView->updateAllLifecyclePhases(); 620 webView->updateAllLifecyclePhases();
621 621
622 ASSERT_EQ(100.f, webView->topControls().contentOffset()); 622 ASSERT_EQ(100.f, webView->topControls().contentOffset());
623 623
624 // 'vh' units should be based on the viewport when the top controls are 624 // 'vh' units should be based on the viewport when the top controls are
625 // hidden. 625 // hidden.
626 RawPtr<Element> absPos = 626 Element* absPos =
627 getElementById(WebString::fromUTF8("abs")); 627 getElementById(WebString::fromUTF8("abs"));
628 RawPtr<Element> fixedPos = 628 Element* fixedPos =
629 getElementById(WebString::fromUTF8("fixed")); 629 getElementById(WebString::fromUTF8("fixed"));
630 EXPECT_FLOAT_EQ(200.f, absPos->getBoundingClientRect()->height()); 630 EXPECT_FLOAT_EQ(200.f, absPos->getBoundingClientRect()->height());
631 EXPECT_FLOAT_EQ(200.f, fixedPos->getBoundingClientRect()->height()); 631 EXPECT_FLOAT_EQ(200.f, fixedPos->getBoundingClientRect()->height());
632 632
633 // The size used for viewport units should not be reduced by the top 633 // The size used for viewport units should not be reduced by the top
634 // controls. 634 // controls.
635 EXPECT_EQ(400, frame()->view()->viewportSizeForViewportUnits().height()); 635 EXPECT_EQ(400, frame()->view()->viewportSizeForViewportUnits().height());
636 636
637 // Hide the top controls. 637 // Hide the top controls.
638 verticalScroll(-100.f); 638 verticalScroll(-100.f);
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
670 670
671 // Device viewport is 400px but the page is width=800 so minimum-scale 671 // Device viewport is 400px but the page is width=800 so minimum-scale
672 // should be 0.5. This is also the scale at which the viewport fills the 672 // should be 0.5. This is also the scale at which the viewport fills the
673 // layout width. 673 // layout width.
674 ASSERT_EQ(0.5f, webView->minimumPageScaleFactor()); 674 ASSERT_EQ(0.5f, webView->minimumPageScaleFactor());
675 675
676 // We should size vh units so that 100vh fills the viewport at min-scale so 676 // We should size vh units so that 100vh fills the viewport at min-scale so
677 // we have to account for the minimum page scale factor. Since both boxes 677 // we have to account for the minimum page scale factor. Since both boxes
678 // are 50vh, and layout scale = 0.5, we have a vh viewport of 400 / 0.5 = 80 0 678 // are 50vh, and layout scale = 0.5, we have a vh viewport of 400 / 0.5 = 80 0
679 // so we expect 50vh to be 400px. 679 // so we expect 50vh to be 400px.
680 RawPtr<Element> absPos = 680 Element* absPos =
681 getElementById(WebString::fromUTF8("abs")); 681 getElementById(WebString::fromUTF8("abs"));
682 RawPtr<Element> fixedPos = 682 Element* fixedPos =
683 getElementById(WebString::fromUTF8("fixed")); 683 getElementById(WebString::fromUTF8("fixed"));
684 EXPECT_FLOAT_EQ(400.f, absPos->getBoundingClientRect()->height()); 684 EXPECT_FLOAT_EQ(400.f, absPos->getBoundingClientRect()->height());
685 EXPECT_FLOAT_EQ(400.f, fixedPos->getBoundingClientRect()->height()); 685 EXPECT_FLOAT_EQ(400.f, fixedPos->getBoundingClientRect()->height());
686 686
687 // The size used for viewport units should not be reduced by the top 687 // The size used for viewport units should not be reduced by the top
688 // controls. 688 // controls.
689 EXPECT_EQ(800, frame()->view()->viewportSizeForViewportUnits().height()); 689 EXPECT_EQ(800, frame()->view()->viewportSizeForViewportUnits().height());
690 690
691 // Hide the top controls. 691 // Hide the top controls.
692 verticalScroll(-100.f); 692 verticalScroll(-100.f);
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
727 // that's 1600px wide so the minimum scale is 0.25 to encompass that. 727 // that's 1600px wide so the minimum scale is 0.25 to encompass that.
728 ASSERT_EQ(0.25f, webView->minimumPageScaleFactor()); 728 ASSERT_EQ(0.25f, webView->minimumPageScaleFactor());
729 729
730 // The viewport will match the layout width at scale=0.5 so the height used 730 // The viewport will match the layout width at scale=0.5 so the height used
731 // for vh should be (300 / 0.5) for the layout height + (100 / 0.5) for top 731 // for vh should be (300 / 0.5) for the layout height + (100 / 0.5) for top
732 // controls = 800. 732 // controls = 800.
733 EXPECT_EQ(800, frame()->view()->viewportSizeForViewportUnits().height()); 733 EXPECT_EQ(800, frame()->view()->viewportSizeForViewportUnits().height());
734 } 734 }
735 735
736 } // namespace blink 736 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/web/tests/TextFinderTest.cpp ('k') | third_party/WebKit/Source/web/tests/TouchActionTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698