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

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

Issue 2936423003: Move Get/SetScrollOffset methods from WebFrame to WebLocalFrame. (Closed)
Patch Set: Added TODOs as suggested by dcheng@ (this patchset also accidentally includes a rebase...). Created 3 years, 6 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 #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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698