OLD | NEW |
1 #include "core/exported/WebViewBase.h" | 1 #include "core/exported/WebViewBase.h" |
2 #include "core/frame/FrameTestHelpers.h" | 2 #include "core/frame/FrameTestHelpers.h" |
3 #include "core/frame/LocalFrameView.h" | 3 #include "core/frame/LocalFrameView.h" |
4 #include "core/frame/WebLocalFrameBase.h" | 4 #include "core/frame/WebLocalFrameBase.h" |
5 #include "core/loader/DocumentLoader.h" | 5 #include "core/loader/DocumentLoader.h" |
6 #include "core/loader/FrameLoader.h" | 6 #include "core/loader/FrameLoader.h" |
7 #include "platform/testing/URLTestHelpers.h" | 7 #include "platform/testing/URLTestHelpers.h" |
8 #include "platform/testing/UnitTestHelpers.h" | 8 #include "platform/testing/UnitTestHelpers.h" |
9 #include "public/platform/Platform.h" | 9 #include "public/platform/Platform.h" |
10 #include "public/platform/WebInputEvent.h" | 10 #include "public/platform/WebInputEvent.h" |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 FrameTestHelpers::WebViewHelper web_view_helper; | 46 FrameTestHelpers::WebViewHelper web_view_helper; |
47 WebViewBase* web_view = | 47 WebViewBase* web_view = |
48 web_view_helper.InitializeAndLoad(base_url_ + "long_scroll.html"); | 48 web_view_helper.InitializeAndLoad(base_url_ + "long_scroll.html"); |
49 web_view->Resize(WebSize(1000, 1000)); | 49 web_view->Resize(WebSize(1000, 1000)); |
50 web_view->UpdateAllLifecyclePhases(); | 50 web_view->UpdateAllLifecyclePhases(); |
51 | 51 |
52 FrameLoader& loader = web_view->MainFrameImpl()->GetFrame()->Loader(); | 52 FrameLoader& loader = web_view->MainFrameImpl()->GetFrame()->Loader(); |
53 loader.GetDocumentLoader()->SetLoadType(kFrameLoadTypeBackForward); | 53 loader.GetDocumentLoader()->SetLoadType(kFrameLoadTypeBackForward); |
54 | 54 |
55 web_view->SetPageScaleFactor(3.0f); | 55 web_view->SetPageScaleFactor(3.0f); |
56 web_view->MainFrame()->SetScrollOffset(WebSize(0, 500)); | 56 web_view->MainFrameImpl()->SetScrollOffset(WebSize(0, 500)); |
57 loader.GetDocumentLoader()->GetInitialScrollState().was_scrolled_by_user = | 57 loader.GetDocumentLoader()->GetInitialScrollState().was_scrolled_by_user = |
58 false; | 58 false; |
59 loader.GetDocumentLoader()->GetHistoryItem()->SetPageScaleFactor(2); | 59 loader.GetDocumentLoader()->GetHistoryItem()->SetPageScaleFactor(2); |
60 loader.GetDocumentLoader()->GetHistoryItem()->SetScrollOffset( | 60 loader.GetDocumentLoader()->GetHistoryItem()->SetScrollOffset( |
61 ScrollOffset(0, 200)); | 61 ScrollOffset(0, 200)); |
62 | 62 |
63 // Flip back the wasScrolledByUser flag which was set to true by | 63 // Flip back the wasScrolledByUser flag which was set to true by |
64 // setPageScaleFactor because otherwise | 64 // setPageScaleFactor because otherwise |
65 // FrameLoader::restoreScrollPositionAndViewState does nothing. | 65 // FrameLoader::restoreScrollPositionAndViewState does nothing. |
66 loader.GetDocumentLoader()->GetInitialScrollState().was_scrolled_by_user = | 66 loader.GetDocumentLoader()->GetInitialScrollState().was_scrolled_by_user = |
(...skipping 11 matching lines...) Expand all Loading... |
78 FrameTestHelpers::WebViewHelper web_view_helper; | 78 FrameTestHelpers::WebViewHelper web_view_helper; |
79 WebViewBase* web_view = | 79 WebViewBase* web_view = |
80 web_view_helper.InitializeAndLoad(base_url_ + "long_scroll.html"); | 80 web_view_helper.InitializeAndLoad(base_url_ + "long_scroll.html"); |
81 web_view->Resize(WebSize(1000, 1000)); | 81 web_view->Resize(WebSize(1000, 1000)); |
82 web_view->UpdateAllLifecyclePhases(); | 82 web_view->UpdateAllLifecyclePhases(); |
83 | 83 |
84 FrameLoader& loader = web_view->MainFrameImpl()->GetFrame()->Loader(); | 84 FrameLoader& loader = web_view->MainFrameImpl()->GetFrame()->Loader(); |
85 loader.GetDocumentLoader()->SetLoadType(kFrameLoadTypeBackForward); | 85 loader.GetDocumentLoader()->SetLoadType(kFrameLoadTypeBackForward); |
86 | 86 |
87 web_view->SetPageScaleFactor(3.0f); | 87 web_view->SetPageScaleFactor(3.0f); |
88 web_view->MainFrame()->SetScrollOffset(WebSize(0, 500)); | 88 web_view->MainFrameImpl()->SetScrollOffset(WebSize(0, 500)); |
89 loader.GetDocumentLoader()->GetInitialScrollState().was_scrolled_by_user = | 89 loader.GetDocumentLoader()->GetInitialScrollState().was_scrolled_by_user = |
90 false; | 90 false; |
91 loader.GetDocumentLoader()->GetHistoryItem()->SetPageScaleFactor(0); | 91 loader.GetDocumentLoader()->GetHistoryItem()->SetPageScaleFactor(0); |
92 loader.GetDocumentLoader()->GetHistoryItem()->SetScrollOffset( | 92 loader.GetDocumentLoader()->GetHistoryItem()->SetScrollOffset( |
93 ScrollOffset(0, 400)); | 93 ScrollOffset(0, 400)); |
94 | 94 |
95 // FrameLoader::restoreScrollPositionAndViewState flows differently if scale | 95 // FrameLoader::restoreScrollPositionAndViewState flows differently if scale |
96 // is zero. | 96 // is zero. |
97 loader.RestoreScrollPositionAndViewState(); | 97 loader.RestoreScrollPositionAndViewState(); |
98 | 98 |
99 // Expect that only the scroll position was restored. | 99 // Expect that only the scroll position was restored. |
100 EXPECT_EQ(3.0f, web_view->PageScaleFactor()); | 100 EXPECT_EQ(3.0f, web_view->PageScaleFactor()); |
101 EXPECT_EQ(400, web_view->MainFrameImpl()->GetScrollOffset().height); | 101 EXPECT_EQ(400, web_view->MainFrameImpl()->GetScrollOffset().height); |
102 } | 102 } |
103 | 103 |
104 } // namespace blink | 104 } // namespace blink |
OLD | NEW |