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

Unified Diff: Source/core/platform/ScrollView.h

Issue 23819019: Refactor fixed layout mode (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: git rebase Created 7 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: Source/core/platform/ScrollView.h
diff --git a/Source/core/platform/ScrollView.h b/Source/core/platform/ScrollView.h
index bea72cfd8b38275043db27b16054618e3c658f0c..5522fa52d58909dac7838d590a0f4339973eb385 100644
--- a/Source/core/platform/ScrollView.h
+++ b/Source/core/platform/ScrollView.h
@@ -120,26 +120,16 @@ public:
// The visible content rect has a location that is the scrolled offset of the document. The width and height are the viewport width
// and height. By default the scrollbars themselves are excluded from this rectangle, but an optional boolean argument allows them to be
// included.
- virtual IntRect visibleContentRect(VisibleContentRectIncludesScrollbars = ExcludeScrollbars) const OVERRIDE;
+ virtual IntRect visibleContentRect(IncludeScrollbarsInRect = ExcludeScrollbars) const OVERRIDE;
IntSize visibleSize() const { return visibleContentRect().size(); }
virtual int visibleWidth() const OVERRIDE { return visibleContentRect().width(); }
virtual int visibleHeight() const OVERRIDE { return visibleContentRect().height(); }
// visibleContentRect().size() is computed from unscaledVisibleContentSize() divided by the value of visibleContentScaleFactor.
// For the main frame, visibleContentScaleFactor is equal to the page's pageScaleFactor; it's 1 otherwise.
- IntSize unscaledVisibleContentSize(VisibleContentRectIncludesScrollbars = ExcludeScrollbars) const;
+ IntSize unscaledVisibleContentSize(IncludeScrollbarsInRect = ExcludeScrollbars) const;
virtual float visibleContentScaleFactor() const { return 1; }
- // Functions for getting/setting the size webkit should use to layout the contents. By default this is the same as the visible
- // content size. Explicitly setting a layout size value will cause webkit to layout the contents using this size instead.
- IntSize layoutSize(VisibleContentRectIncludesScrollbars = ExcludeScrollbars) const;
- int layoutWidth(VisibleContentRectIncludesScrollbars scrollbarInclusion = ExcludeScrollbars) const { return layoutSize(scrollbarInclusion).width(); }
- int layoutHeight(VisibleContentRectIncludesScrollbars scrollbarInclusion = ExcludeScrollbars) const { return layoutSize(scrollbarInclusion).height(); }
- IntSize fixedLayoutSize() const;
- void setFixedLayoutSize(const IntSize&);
- bool useFixedLayout() const;
- void setUseFixedLayout(bool enable);
-
// Functions for getting/setting the size of the document contained inside the ScrollView (as an IntSize or as individual width and height
// values).
virtual IntSize contentsSize() const OVERRIDE; // Always at least as big as the visibleWidth()/visibleHeight().
@@ -275,7 +265,7 @@ protected:
virtual void paintOverhangAreas(GraphicsContext*, const IntRect& horizontalOverhangArea, const IntRect& verticalOverhangArea, const IntRect& dirtyRect);
- virtual void visibleContentsResized() = 0;
+ virtual void scrollbarExistenceDidChange() = 0;
// These functions are used to create/destroy scrollbars.
void setHasHorizontalScrollbar(bool);
void setHasVerticalScrollbar(bool);
@@ -297,6 +287,8 @@ protected:
// Called to update the scrollbars to accurately reflect the state of the view.
void updateScrollbars(const IntSize& desiredOffset);
+ IntSize excludeScrollbars(const IntSize&) const;
+
private:
RefPtr<Scrollbar> m_horizontalScrollbar;
RefPtr<Scrollbar> m_verticalScrollbar;
@@ -314,7 +306,6 @@ private:
IntSize m_scrollOffset; // FIXME: Would rather store this as a position, but we will wait to make this change until more code is shared.
IntPoint m_cachedScrollPosition;
- IntSize m_fixedLayoutSize;
IntSize m_contentsSize;
int m_scrollbarsAvoidingResizer;
@@ -325,7 +316,6 @@ private:
IntPoint m_panScrollIconPoint;
bool m_drawPanScrollIcon;
- bool m_useFixedLayout;
bool m_paintsEntireContents;
bool m_clipsRepaints;

Powered by Google App Engine
This is Rietveld 408576698