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

Side by Side Diff: third_party/WebKit/Source/core/layout/LayoutView.h

Issue 1813383002: Move all fast-path paint invalidation mapping into PaintInvalidationState (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Disable fast-path/slow-path comparison because of saturated operations of LayoutUnit Created 4 years, 9 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) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * Copyright (C) 2006 Apple Computer, Inc. 3 * Copyright (C) 2006 Apple Computer, Inc.
4 * 4 *
5 * This library is free software; you can redistribute it and/or 5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Library General Public 6 * modify it under the terms of the GNU Library General Public
7 * License as published by the Free Software Foundation; either 7 * License as published by the Free Software Foundation; either
8 * version 2 of the License, or (at your option) any later version. 8 * version 2 of the License, or (at your option) any later version.
9 * 9 *
10 * This library is distributed in the hope that it will be useful, 10 * This library is distributed in the hope that it will be useful,
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 97
98 int viewLogicalWidth(IncludeScrollbarsInRect = ExcludeScrollbars) const; 98 int viewLogicalWidth(IncludeScrollbarsInRect = ExcludeScrollbars) const;
99 int viewLogicalHeight(IncludeScrollbarsInRect = ExcludeScrollbars) const; 99 int viewLogicalHeight(IncludeScrollbarsInRect = ExcludeScrollbars) const;
100 100
101 LayoutUnit viewLogicalHeightForPercentages() const; 101 LayoutUnit viewLogicalHeightForPercentages() const;
102 102
103 float zoomFactor() const; 103 float zoomFactor() const;
104 104
105 FrameView* frameView() const { return m_frameView; } 105 FrameView* frameView() const { return m_frameView; }
106 106
107 enum ViewportConstrainedPosition { 107 bool mapToVisibleRectInAncestorSpace(const LayoutBoxModelObject* ancestor, L ayoutRect&, MapCoordinatesFlags, VisibleRectFlags) const;
108 IsNotFixedPosition, 108 bool mapToVisibleRectInAncestorSpace(const LayoutBoxModelObject* ancestor, L ayoutRect&, VisibleRectFlags = DefaultVisibleRectFlags) const override;
109 IsFixedPosition, 109 void adjustOffsetForFixedPosition(LayoutRect&) const;
110 };
111
112 static ViewportConstrainedPosition toViewportConstrainedPosition(EPosition p osition) { return position == FixedPosition ? IsFixedPosition : IsNotFixedPositi on; }
113 bool mapToVisibleRectInAncestorSpace(const LayoutBoxModelObject* ancestor, L ayoutRect&, ViewportConstrainedPosition, const PaintInvalidationState*, VisibleR ectFlags = DefaultVisibleRectFlags) const;
114 bool mapToVisibleRectInAncestorSpace(const LayoutBoxModelObject* ancestor, L ayoutRect&, const PaintInvalidationState*, VisibleRectFlags = DefaultVisibleRect Flags) const override;
115 void adjustViewportConstrainedOffset(LayoutRect&, ViewportConstrainedPositio n) const;
116 110
117 void invalidatePaintForViewAndCompositedLayers(); 111 void invalidatePaintForViewAndCompositedLayers();
118 112
119 void paint(const PaintInfo&, const LayoutPoint&) const override; 113 void paint(const PaintInfo&, const LayoutPoint&) const override;
120 void paintBoxDecorationBackground(const PaintInfo&, const LayoutPoint&) cons t override; 114 void paintBoxDecorationBackground(const PaintInfo&, const LayoutPoint&) cons t override;
121 115
122 enum SelectionPaintInvalidationMode { PaintInvalidationNewXOROld, PaintInval idationNewMinusOld }; 116 enum SelectionPaintInvalidationMode { PaintInvalidationNewXOROld, PaintInval idationNewMinusOld };
123 void setSelection(LayoutObject* start, int startPos, LayoutObject*, int endP os, SelectionPaintInvalidationMode = PaintInvalidationNewXOROld); 117 void setSelection(LayoutObject* start, int startPos, LayoutObject*, int endP os, SelectionPaintInvalidationMode = PaintInvalidationNewXOROld);
124 void clearSelection(); 118 void clearSelection();
125 bool hasPendingSelection() const; 119 bool hasPendingSelection() const;
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
208 void unregisterMediaForPositionChangeNotification(LayoutMedia&); 202 void unregisterMediaForPositionChangeNotification(LayoutMedia&);
209 // Notify all registered LayoutMedias that their position on-screen might 203 // Notify all registered LayoutMedias that their position on-screen might
210 // have changed. visibleRect is the clipping boundary. 204 // have changed. visibleRect is the clipping boundary.
211 void sendMediaPositionChangeNotifications(const IntRect& visibleRect); 205 void sendMediaPositionChangeNotifications(const IntRect& visibleRect);
212 206
213 // The rootLayerScrolls setting will ultimately determine whether FrameView 207 // The rootLayerScrolls setting will ultimately determine whether FrameView
214 // or PaintLayerScrollableArea handle the scroll. 208 // or PaintLayerScrollableArea handle the scroll.
215 ScrollResult scroll(ScrollGranularity, const FloatSize&) override; 209 ScrollResult scroll(ScrollGranularity, const FloatSize&) override;
216 210
217 private: 211 private:
218 void mapLocalToAncestor(const LayoutBoxModelObject* ancestor, TransformState &, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = nullptr, const Pai ntInvalidationState* = nullptr) const override; 212 void mapLocalToAncestor(const LayoutBoxModelObject* ancestor, TransformState &, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = nullptr) const ove rride;
219 213
220 const LayoutObject* pushMappingToContainer(const LayoutBoxModelObject* ances torToStopAt, LayoutGeometryMap&) const override; 214 const LayoutObject* pushMappingToContainer(const LayoutBoxModelObject* ances torToStopAt, LayoutGeometryMap&) const override;
221 void mapAncestorToLocal(const LayoutBoxModelObject*, TransformState&, MapCoo rdinatesFlags) const override; 215 void mapAncestorToLocal(const LayoutBoxModelObject*, TransformState&, MapCoo rdinatesFlags) const override;
222 void computeSelfHitTestRects(Vector<LayoutRect>&, const LayoutPoint& layerOf fset) const override; 216 void computeSelfHitTestRects(Vector<LayoutRect>&, const LayoutPoint& layerOf fset) const override;
223 217
224 void layoutContent(); 218 void layoutContent();
225 #if ENABLE(ASSERT) 219 #if ENABLE(ASSERT)
226 void checkLayoutState(); 220 void checkLayoutState();
227 #endif 221 #endif
228 222
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
281 OwnPtrWillBePersistent<HitTestCache> m_hitTestCache; 275 OwnPtrWillBePersistent<HitTestCache> m_hitTestCache;
282 276
283 Vector<LayoutMedia*> m_mediaForPositionNotification; 277 Vector<LayoutMedia*> m_mediaForPositionNotification;
284 }; 278 };
285 279
286 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutView, isLayoutView()); 280 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutView, isLayoutView());
287 281
288 } // namespace blink 282 } // namespace blink
289 283
290 #endif // LayoutView_h 284 #endif // LayoutView_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/layout/LayoutTableCell.cpp ('k') | third_party/WebKit/Source/core/layout/LayoutView.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698