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

Side by Side Diff: Source/core/layout/LayoutObject.h

Issue 1234153003: Reland of Fix slow repaint object registration (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 5 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 | Annotate | Revision Log
« no previous file with comments | « Source/core/layout/LayoutBox.cpp ('k') | Source/core/layout/LayoutObject.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
3 * (C) 2000 Antti Koivisto (koivisto@kde.org) 3 * (C) 2000 Antti Koivisto (koivisto@kde.org)
4 * (C) 2000 Dirk Mueller (mueller@kde.org) 4 * (C) 2000 Dirk Mueller (mueller@kde.org)
5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) 5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com)
6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. All r ights reserved. 6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. All r ights reserved.
7 * Copyright (C) 2009 Google Inc. All rights reserved. 7 * Copyright (C) 2009 Google Inc. All rights reserved.
8 * 8 *
9 * This library is free software; you can redistribute it and/or 9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Library General Public 10 * modify it under the terms of the GNU Library General Public
(...skipping 1178 matching lines...) Expand 10 before | Expand all | Expand 10 after
1189 1189
1190 virtual void invalidatePaintOfSubtreesIfNeeded(PaintInvalidationState& child PaintInvalidationState); 1190 virtual void invalidatePaintOfSubtreesIfNeeded(PaintInvalidationState& child PaintInvalidationState);
1191 virtual PaintInvalidationReason invalidatePaintIfNeeded(PaintInvalidationSta te&, const LayoutBoxModelObject& paintInvalidationContainer); 1191 virtual PaintInvalidationReason invalidatePaintIfNeeded(PaintInvalidationSta te&, const LayoutBoxModelObject& paintInvalidationContainer);
1192 1192
1193 // When this object is invalidated for paint, this method is called to inval idate any DisplayItemClients 1193 // When this object is invalidated for paint, this method is called to inval idate any DisplayItemClients
1194 // owned by this object, including the object itself, LayoutText/LayoutInlin e line boxes, etc., 1194 // owned by this object, including the object itself, LayoutText/LayoutInlin e line boxes, etc.,
1195 // not including children which will be invalidated normally during invalida teTreeIfNeeded() and 1195 // not including children which will be invalidated normally during invalida teTreeIfNeeded() and
1196 // parts which are invalidated separately (e.g. scrollbars). 1196 // parts which are invalidated separately (e.g. scrollbars).
1197 virtual void invalidateDisplayItemClients(const LayoutBoxModelObject& paintI nvalidationContainer) const; 1197 virtual void invalidateDisplayItemClients(const LayoutBoxModelObject& paintI nvalidationContainer) const;
1198 1198
1199 void setIsSlowRepaintObject(bool);
1200
1199 private: 1201 private:
1200 void clearLayoutRootIfNeeded() const; 1202 void clearLayoutRootIfNeeded() const;
1201 1203
1202 bool isInert() const; 1204 bool isInert() const;
1203 1205
1204 void updateImage(StyleImage*, StyleImage*); 1206 void updateImage(StyleImage*, StyleImage*);
1205 1207
1206 void scheduleRelayout(); 1208 void scheduleRelayout();
1207 1209
1208 void updateShapeImage(const ShapeValue*, const ShapeValue*); 1210 void updateShapeImage(const ShapeValue*, const ShapeValue*);
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
1372 1374
1373 // from LayoutBlock 1375 // from LayoutBlock
1374 ADD_BOOLEAN_BITFIELD(childrenInline, ChildrenInline); 1376 ADD_BOOLEAN_BITFIELD(childrenInline, ChildrenInline);
1375 1377
1376 // from LayoutInline 1378 // from LayoutInline
1377 ADD_BOOLEAN_BITFIELD(alwaysCreateLineBoxesForLayoutInline, AlwaysCreateL ineBoxesForLayoutInline); 1379 ADD_BOOLEAN_BITFIELD(alwaysCreateLineBoxesForLayoutInline, AlwaysCreateL ineBoxesForLayoutInline);
1378 1380
1379 // For slimming-paint. 1381 // For slimming-paint.
1380 ADD_BOOLEAN_BITFIELD(lastBoxDecorationBackgroundObscured, LastBoxDecorat ionBackgroundObscured); 1382 ADD_BOOLEAN_BITFIELD(lastBoxDecorationBackgroundObscured, LastBoxDecorat ionBackgroundObscured);
1381 1383
1384 ADD_BOOLEAN_BITFIELD(isSlowRepaintObject, IsSlowRepaintObject);
1385
1382 private: 1386 private:
1383 unsigned m_positionedState : 2; // PositionedState 1387 unsigned m_positionedState : 2; // PositionedState
1384 unsigned m_selectionState : 3; // SelectionState 1388 unsigned m_selectionState : 3; // SelectionState
1385 unsigned m_boxDecorationBackgroundState : 2; // BoxDecorationBackgroundS tate 1389 unsigned m_boxDecorationBackgroundState : 2; // BoxDecorationBackgroundS tate
1386 unsigned m_fullPaintInvalidationReason : 5; // PaintInvalidationReason 1390 unsigned m_fullPaintInvalidationReason : 5; // PaintInvalidationReason
1387 1391
1388 public: 1392 public:
1389 bool isOutOfFlowPositioned() const { return m_positionedState == IsOutOf FlowPositioned; } 1393 bool isOutOfFlowPositioned() const { return m_positionedState == IsOutOf FlowPositioned; }
1390 bool isRelPositioned() const { return m_positionedState == IsRelativelyP ositioned; } 1394 bool isRelPositioned() const { return m_positionedState == IsRelativelyP ositioned; }
1391 bool isPositioned() const { return m_positionedState != IsStaticallyPosi tioned; } 1395 bool isPositioned() const { return m_positionedState != IsStaticallyPosi tioned; }
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after
1657 void showTree(const blink::LayoutObject*); 1661 void showTree(const blink::LayoutObject*);
1658 void showLineTree(const blink::LayoutObject*); 1662 void showLineTree(const blink::LayoutObject*);
1659 void showLayoutTree(const blink::LayoutObject* object1); 1663 void showLayoutTree(const blink::LayoutObject* object1);
1660 // We don't make object2 an optional parameter so that showLayoutTree 1664 // We don't make object2 an optional parameter so that showLayoutTree
1661 // can be called from gdb easily. 1665 // can be called from gdb easily.
1662 void showLayoutTree(const blink::LayoutObject* object1, const blink::LayoutObjec t* object2); 1666 void showLayoutTree(const blink::LayoutObject* object1, const blink::LayoutObjec t* object2);
1663 1667
1664 #endif 1668 #endif
1665 1669
1666 #endif // LayoutObject_h 1670 #endif // LayoutObject_h
OLDNEW
« no previous file with comments | « Source/core/layout/LayoutBox.cpp ('k') | Source/core/layout/LayoutObject.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698