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

Side by Side Diff: third_party/WebKit/Source/core/frame/FrameView.cpp

Issue 2417683002: Disable scroll anchoring when in printing mode (Closed)
Patch Set: Created 4 years, 2 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) 1998, 1999 Torben Weis <weis@kde.org> 2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org>
3 * 1999 Lars Knoll <knoll@kde.org> 3 * 1999 Lars Knoll <knoll@kde.org>
4 * 1999 Antti Koivisto <koivisto@kde.org> 4 * 1999 Antti Koivisto <koivisto@kde.org>
5 * 2000 Dirk Mueller <mueller@kde.org> 5 * 2000 Dirk Mueller <mueller@kde.org>
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com) 7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com)
8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) 8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com)
9 * Copyright (C) 2009 Google Inc. All rights reserved. 9 * Copyright (C) 2009 Google Inc. All rights reserved.
10 * 10 *
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 m_scrollbarsSuppressed(false), 180 m_scrollbarsSuppressed(false),
181 m_inUpdateScrollbars(false), 181 m_inUpdateScrollbars(false),
182 m_frameTimingRequestsDirty(true), 182 m_frameTimingRequestsDirty(true),
183 m_viewportIntersectionValid(false), 183 m_viewportIntersectionValid(false),
184 m_hiddenForThrottling(false), 184 m_hiddenForThrottling(false),
185 m_crossOriginForThrottling(false), 185 m_crossOriginForThrottling(false),
186 m_subtreeThrottled(false), 186 m_subtreeThrottled(false),
187 m_currentUpdateLifecyclePhasesTargetState( 187 m_currentUpdateLifecyclePhasesTargetState(
188 DocumentLifecycle::Uninitialized), 188 DocumentLifecycle::Uninitialized),
189 m_scrollAnchor(this), 189 m_scrollAnchor(this),
190 m_disableScrollAnchoringForPrinting(false),
190 m_needsScrollbarsUpdate(false), 191 m_needsScrollbarsUpdate(false),
191 m_suppressAdjustViewSize(false), 192 m_suppressAdjustViewSize(false),
192 m_allowsLayoutInvalidationAfterLayoutClean(true) { 193 m_allowsLayoutInvalidationAfterLayoutClean(true) {
193 ASSERT(m_frame); 194 ASSERT(m_frame);
194 init(); 195 init();
195 } 196 }
196 197
197 FrameView* FrameView::create(LocalFrame* frame) { 198 FrameView* FrameView::create(LocalFrame* frame) {
198 FrameView* view = new FrameView(frame); 199 FrameView* view = new FrameView(frame);
199 view->show(); 200 view->show();
(...skipping 646 matching lines...) Expand 10 before | Expand all | Expand 10 after
846 lifecycle().advanceTo(DocumentLifecycle::StyleClean); 847 lifecycle().advanceTo(DocumentLifecycle::StyleClean);
847 848
848 if (shouldPerformScrollAnchoring()) 849 if (shouldPerformScrollAnchoring())
849 m_scrollAnchor.save(); 850 m_scrollAnchor.save();
850 } 851 }
851 852
852 bool FrameView::shouldPerformScrollAnchoring() const { 853 bool FrameView::shouldPerformScrollAnchoring() const {
853 return RuntimeEnabledFeatures::scrollAnchoringEnabled() && 854 return RuntimeEnabledFeatures::scrollAnchoringEnabled() &&
854 !RuntimeEnabledFeatures::rootLayerScrollingEnabled() && 855 !RuntimeEnabledFeatures::rootLayerScrollingEnabled() &&
855 m_scrollAnchor.hasScroller() && 856 m_scrollAnchor.hasScroller() &&
856 layoutBox()->style()->overflowAnchor() != AnchorNone; 857 layoutBox()->style()->overflowAnchor() != AnchorNone &&
858 !m_disableScrollAnchoringForPrinting;
857 } 859 }
858 860
859 static inline void layoutFromRootObject(LayoutObject& root) { 861 static inline void layoutFromRootObject(LayoutObject& root) {
860 LayoutState layoutState(root); 862 LayoutState layoutState(root);
861 root.layout(); 863 root.layout();
862 } 864 }
863 865
864 void FrameView::prepareLayoutAnalyzer() { 866 void FrameView::prepareLayoutAnalyzer() {
865 bool isTracing = false; 867 bool isTracing = false;
866 TRACE_EVENT_CATEGORY_GROUP_ENABLED( 868 TRACE_EVENT_CATEGORY_GROUP_ENABLED(
(...skipping 3606 matching lines...) Expand 10 before | Expand all | Expand 10 after
4473 } 4475 }
4474 4476
4475 bool FrameView::canThrottleRendering() const { 4477 bool FrameView::canThrottleRendering() const {
4476 if (!RuntimeEnabledFeatures::renderingPipelineThrottlingEnabled()) 4478 if (!RuntimeEnabledFeatures::renderingPipelineThrottlingEnabled())
4477 return false; 4479 return false;
4478 return m_subtreeThrottled || 4480 return m_subtreeThrottled ||
4479 (m_hiddenForThrottling && m_crossOriginForThrottling); 4481 (m_hiddenForThrottling && m_crossOriginForThrottling);
4480 } 4482 }
4481 4483
4482 } // namespace blink 4484 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698