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

Side by Side Diff: Source/core/rendering/RenderView.h

Issue 190973007: Reland "Avoid layout/full-repaint on view height change if possible" (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: computeOverflow, etc. Created 6 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 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 double layoutViewportHeight() const; 200 double layoutViewportHeight() const;
201 201
202 // Suspends the LayoutState optimization. Used under transforms that cannot be represented by 202 // Suspends the LayoutState optimization. Used under transforms that cannot be represented by
203 // LayoutState (common in SVG) and when manipulating the render tree during layout in ways 203 // LayoutState (common in SVG) and when manipulating the render tree during layout in ways
204 // that can trigger repaint of a non-child (e.g. when a list item moves its list marker around). 204 // that can trigger repaint of a non-child (e.g. when a list item moves its list marker around).
205 // Note that even when disabled, LayoutState is still used to store layoutDe lta. 205 // Note that even when disabled, LayoutState is still used to store layoutDe lta.
206 // These functions may only be accessed by LayoutStateMaintainer or LayoutSt ateDisabler. 206 // These functions may only be accessed by LayoutStateMaintainer or LayoutSt ateDisabler.
207 void disableLayoutState() { m_layoutStateDisableCount++; } 207 void disableLayoutState() { m_layoutStateDisableCount++; }
208 void enableLayoutState() { ASSERT(m_layoutStateDisableCount > 0); m_layoutSt ateDisableCount--; } 208 void enableLayoutState() { ASSERT(m_layoutStateDisableCount > 0); m_layoutSt ateDisableCount--; }
209 209
210 bool trySimplifiedLayoutOnHeightChange();
211
210 private: 212 private:
211 virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContai ner, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = 0) const OVERRIDE; 213 virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContai ner, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = 0) const OVERRIDE;
212 virtual const RenderObject* pushMappingToContainer(const RenderLayerModelObj ect* ancestorToStopAt, RenderGeometryMap&) const OVERRIDE; 214 virtual const RenderObject* pushMappingToContainer(const RenderLayerModelObj ect* ancestorToStopAt, RenderGeometryMap&) const OVERRIDE;
213 virtual void mapAbsoluteToLocalPoint(MapCoordinatesFlags, TransformState&) c onst OVERRIDE; 215 virtual void mapAbsoluteToLocalPoint(MapCoordinatesFlags, TransformState&) c onst OVERRIDE;
214 virtual void computeSelfHitTestRects(Vector<LayoutRect>&, const LayoutPoint& layerOffset) const OVERRIDE; 216 virtual void computeSelfHitTestRects(Vector<LayoutRect>&, const LayoutPoint& layerOffset) const OVERRIDE;
215 217
216 void initializeLayoutState(LayoutState&); 218 void initializeLayoutState(LayoutState&);
217 219
218 bool shouldRepaint(const LayoutRect&) const; 220 bool shouldRepaint(const LayoutRect&) const;
219 221
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
352 { 354 {
353 m_view.enableLayoutState(); 355 m_view.enableLayoutState();
354 } 356 }
355 private: 357 private:
356 RenderView& m_view; 358 RenderView& m_view;
357 }; 359 };
358 360
359 } // namespace WebCore 361 } // namespace WebCore
360 362
361 #endif // RenderView_h 363 #endif // RenderView_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698