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

Side by Side Diff: third_party/WebKit/Source/core/page/Page.cpp

Issue 2650343008: Implement Element.scrollIntoView for scroll-behavior: smooth. (Closed)
Patch Set: Fixed the comments Created 3 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All
3 * Rights Reserved. 3 * Rights Reserved.
4 * Copyright (C) 2008 Torch Mobile Inc. All rights reserved. 4 * Copyright (C) 2008 Torch Mobile Inc. All rights reserved.
5 * (http://www.torchmobile.com/) 5 * (http://www.torchmobile.com/)
6 * 6 *
7 * This library is free software; you can redistribute it and/or 7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public 8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version. 10 * version 2 of the License, or (at your option) any later version.
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 #include "core/page/ValidationMessageClient.h" 54 #include "core/page/ValidationMessageClient.h"
55 #include "core/page/scrolling/OverscrollController.h" 55 #include "core/page/scrolling/OverscrollController.h"
56 #include "core/page/scrolling/ScrollingCoordinator.h" 56 #include "core/page/scrolling/ScrollingCoordinator.h"
57 #include "core/page/scrolling/TopDocumentRootScrollerController.h" 57 #include "core/page/scrolling/TopDocumentRootScrollerController.h"
58 #include "core/paint/PaintLayer.h" 58 #include "core/paint/PaintLayer.h"
59 #include "core/probe/CoreProbes.h" 59 #include "core/probe/CoreProbes.h"
60 #include "platform/WebFrameScheduler.h" 60 #include "platform/WebFrameScheduler.h"
61 #include "platform/graphics/GraphicsLayer.h" 61 #include "platform/graphics/GraphicsLayer.h"
62 #include "platform/loader/fetch/ResourceFetcher.h" 62 #include "platform/loader/fetch/ResourceFetcher.h"
63 #include "platform/plugins/PluginData.h" 63 #include "platform/plugins/PluginData.h"
64 #include "platform/scroll/SmoothScrollSequencer.h"
64 #include "public/platform/Platform.h" 65 #include "public/platform/Platform.h"
65 66
66 namespace blink { 67 namespace blink {
67 68
68 // Set of all live pages; includes internal Page objects that are 69 // Set of all live pages; includes internal Page objects that are
69 // not observable from scripts. 70 // not observable from scripts.
70 static Page::PageSet& AllPages() { 71 static Page::PageSet& AllPages() {
71 DEFINE_STATIC_LOCAL(Page::PageSet, pages, ()); 72 DEFINE_STATIC_LOCAL(Page::PageSet, pages, ());
72 return pages; 73 return pages;
73 } 74 }
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 if (!scrolling_coordinator_ && settings_->GetAcceleratedCompositingEnabled()) 165 if (!scrolling_coordinator_ && settings_->GetAcceleratedCompositingEnabled())
165 scrolling_coordinator_ = ScrollingCoordinator::Create(this); 166 scrolling_coordinator_ = ScrollingCoordinator::Create(this);
166 167
167 return scrolling_coordinator_.Get(); 168 return scrolling_coordinator_.Get();
168 } 169 }
169 170
170 PageScaleConstraintsSet& Page::GetPageScaleConstraintsSet() { 171 PageScaleConstraintsSet& Page::GetPageScaleConstraintsSet() {
171 return *page_scale_constraints_set_; 172 return *page_scale_constraints_set_;
172 } 173 }
173 174
175 SmoothScrollSequencer* Page::GetSmoothScrollSequencer() {
176 if (!smooth_scroll_sequencer_)
177 smooth_scroll_sequencer_ = SmoothScrollSequencer::Create();
bokan 2017/05/19 18:37:14 Since we're using this for more than just smooth s
sunyunjia 2017/05/19 22:30:41 Done.
178
179 return smooth_scroll_sequencer_.Get();
180 }
181
174 const PageScaleConstraintsSet& Page::GetPageScaleConstraintsSet() const { 182 const PageScaleConstraintsSet& Page::GetPageScaleConstraintsSet() const {
175 return *page_scale_constraints_set_; 183 return *page_scale_constraints_set_;
176 } 184 }
177 185
178 BrowserControls& Page::GetBrowserControls() { 186 BrowserControls& Page::GetBrowserControls() {
179 return *browser_controls_; 187 return *browser_controls_;
180 } 188 }
181 189
182 const BrowserControls& Page::GetBrowserControls() const { 190 const BrowserControls& Page::GetBrowserControls() const {
183 return *browser_controls_; 191 return *browser_controls_;
(...skipping 430 matching lines...) Expand 10 before | Expand all | Expand 10 after
614 DEFINE_TRACE(Page) { 622 DEFINE_TRACE(Page) {
615 visitor->Trace(animator_); 623 visitor->Trace(animator_);
616 visitor->Trace(autoscroll_controller_); 624 visitor->Trace(autoscroll_controller_);
617 visitor->Trace(chrome_client_); 625 visitor->Trace(chrome_client_);
618 visitor->Trace(drag_caret_); 626 visitor->Trace(drag_caret_);
619 visitor->Trace(drag_controller_); 627 visitor->Trace(drag_controller_);
620 visitor->Trace(focus_controller_); 628 visitor->Trace(focus_controller_);
621 visitor->Trace(context_menu_controller_); 629 visitor->Trace(context_menu_controller_);
622 visitor->Trace(pointer_lock_controller_); 630 visitor->Trace(pointer_lock_controller_);
623 visitor->Trace(scrolling_coordinator_); 631 visitor->Trace(scrolling_coordinator_);
632 visitor->Trace(smooth_scroll_sequencer_);
624 visitor->Trace(browser_controls_); 633 visitor->Trace(browser_controls_);
625 visitor->Trace(console_message_storage_); 634 visitor->Trace(console_message_storage_);
626 visitor->Trace(event_handler_registry_); 635 visitor->Trace(event_handler_registry_);
627 visitor->Trace(global_root_scroller_controller_); 636 visitor->Trace(global_root_scroller_controller_);
628 visitor->Trace(visual_viewport_); 637 visitor->Trace(visual_viewport_);
629 visitor->Trace(overscroll_controller_); 638 visitor->Trace(overscroll_controller_);
630 visitor->Trace(main_frame_); 639 visitor->Trace(main_frame_);
631 visitor->Trace(validation_message_client_); 640 visitor->Trace(validation_message_client_);
632 visitor->Trace(use_counter_); 641 visitor->Trace(use_counter_);
633 Supplementable<Page>::Trace(visitor); 642 Supplementable<Page>::Trace(visitor);
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
673 : chrome_client(nullptr), 682 : chrome_client(nullptr),
674 context_menu_client(nullptr), 683 context_menu_client(nullptr),
675 editor_client(nullptr), 684 editor_client(nullptr),
676 spell_checker_client(nullptr) {} 685 spell_checker_client(nullptr) {}
677 686
678 Page::PageClients::~PageClients() {} 687 Page::PageClients::~PageClients() {}
679 688
680 template class CORE_TEMPLATE_EXPORT Supplement<Page>; 689 template class CORE_TEMPLATE_EXPORT Supplement<Page>;
681 690
682 } // namespace blink 691 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698