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

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

Issue 1420863003: Use the original paint invalidation path for sync painting v1 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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) 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 1254 matching lines...) Expand 10 before | Expand all | Expand 10 after
1265 // FIXME: should we hook up scrollbar parts in the layout tree? crbug.com/48 4263. 1265 // FIXME: should we hook up scrollbar parts in the layout tree? crbug.com/48 4263.
1266 void invalidateDisplayItemClientForNonCompositingDescendantsOf(const LayoutO bject&) const; 1266 void invalidateDisplayItemClientForNonCompositingDescendantsOf(const LayoutO bject&) const;
1267 1267
1268 // Called before anonymousChild.setStyle(). Override to set custom styles fo r the child. 1268 // Called before anonymousChild.setStyle(). Override to set custom styles fo r the child.
1269 virtual void updateAnonymousChildStyle(const LayoutObject& anonymousChild, C omputedStyle& style) const { } 1269 virtual void updateAnonymousChildStyle(const LayoutObject& anonymousChild, C omputedStyle& style) const { }
1270 1270
1271 // Painters can use const methods only, except for these explicitly declared methods. 1271 // Painters can use const methods only, except for these explicitly declared methods.
1272 class MutableForPainting { 1272 class MutableForPainting {
1273 public: 1273 public:
1274 void setPreviousPaintOffset(const LayoutPoint& paintOffset) { m_layoutOb ject.setPreviousPaintOffset(paintOffset); } 1274 void setPreviousPaintOffset(const LayoutPoint& paintOffset) { m_layoutOb ject.setPreviousPaintOffset(paintOffset); }
1275 void invalidatePaintIfNeeded(const PaintInfo& paintInfo) { m_layoutObjec t.invalidatePaintIfNeededForSynchronizedPainting(paintInfo); }
1276 1275
1277 private: 1276 private:
1278 friend class LayoutObject; 1277 friend class LayoutObject;
1279 MutableForPainting(const LayoutObject& layoutObject) : m_layoutObject(co nst_cast<LayoutObject&>(layoutObject)) { } 1278 MutableForPainting(const LayoutObject& layoutObject) : m_layoutObject(co nst_cast<LayoutObject&>(layoutObject)) { }
1280 1279
1281 LayoutObject& m_layoutObject; 1280 LayoutObject& m_layoutObject;
1282 }; 1281 };
1283 MutableForPainting mutableForPainting() const { return MutableForPainting(*t his); } 1282 MutableForPainting mutableForPainting() const { return MutableForPainting(*t his); }
1284 1283
1285 protected: 1284 protected:
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
1404 1403
1405 #if ENABLE(ASSERT) 1404 #if ENABLE(ASSERT)
1406 virtual bool paintInvalidationStateIsDirty() const 1405 virtual bool paintInvalidationStateIsDirty() const
1407 { 1406 {
1408 return m_bitfields.neededLayoutBecauseOfChildren() || shouldCheckForPain tInvalidationRegardlessOfPaintInvalidationState(); 1407 return m_bitfields.neededLayoutBecauseOfChildren() || shouldCheckForPain tInvalidationRegardlessOfPaintInvalidationState();
1409 } 1408 }
1410 #endif 1409 #endif
1411 1410
1412 virtual void invalidatePaintOfSubtreesIfNeeded(PaintInvalidationState& child PaintInvalidationState); 1411 virtual void invalidatePaintOfSubtreesIfNeeded(PaintInvalidationState& child PaintInvalidationState);
1413 virtual PaintInvalidationReason invalidatePaintIfNeeded(PaintInvalidationSta te&, const LayoutBoxModelObject& paintInvalidationContainer); 1412 virtual PaintInvalidationReason invalidatePaintIfNeeded(PaintInvalidationSta te&, const LayoutBoxModelObject& paintInvalidationContainer);
1414 void invalidatePaintIfNeededForSynchronizedPainting(const PaintInfo&);
1415 1413
1416 // When this object is invalidated for paint, this method is called to inval idate any DisplayItemClients 1414 // When this object is invalidated for paint, this method is called to inval idate any DisplayItemClients
1417 // owned by this object, including the object itself, LayoutText/LayoutInlin e line boxes, etc., 1415 // owned by this object, including the object itself, LayoutText/LayoutInlin e line boxes, etc.,
1418 // not including children which will be invalidated normally during invalida teTreeIfNeeded() and 1416 // not including children which will be invalidated normally during invalida teTreeIfNeeded() and
1419 // parts which are invalidated separately (e.g. scrollbars). 1417 // parts which are invalidated separately (e.g. scrollbars).
1420 virtual void invalidateDisplayItemClients(const LayoutBoxModelObject& paintI nvalidationContainer, PaintInvalidationReason, const LayoutRect& previousPaintIn validationRect, const LayoutRect& newPaintInvalidationRect) const; 1418 virtual void invalidateDisplayItemClients(const LayoutBoxModelObject& paintI nvalidationContainer, PaintInvalidationReason, const LayoutRect& previousPaintIn validationRect, const LayoutRect& newPaintInvalidationRect) const;
1421 1419
1422 void setIsBackgroundAttachmentFixedObject(bool); 1420 void setIsBackgroundAttachmentFixedObject(bool);
1423 1421
1424 void clearSelfNeedsOverflowRecalcAfterStyleChange() { m_bitfields.setSelfNee dsOverflowRecalcAfterStyleChange(false); } 1422 void clearSelfNeedsOverflowRecalcAfterStyleChange() { m_bitfields.setSelfNee dsOverflowRecalcAfterStyleChange(false); }
(...skipping 576 matching lines...) Expand 10 before | Expand all | Expand 10 after
2001 void showTree(const blink::LayoutObject*); 1999 void showTree(const blink::LayoutObject*);
2002 void showLineTree(const blink::LayoutObject*); 2000 void showLineTree(const blink::LayoutObject*);
2003 void showLayoutTree(const blink::LayoutObject* object1); 2001 void showLayoutTree(const blink::LayoutObject* object1);
2004 // We don't make object2 an optional parameter so that showLayoutTree 2002 // We don't make object2 an optional parameter so that showLayoutTree
2005 // can be called from gdb easily. 2003 // can be called from gdb easily.
2006 void showLayoutTree(const blink::LayoutObject* object1, const blink::LayoutObjec t* object2); 2004 void showLayoutTree(const blink::LayoutObject* object1, const blink::LayoutObjec t* object2);
2007 2005
2008 #endif 2006 #endif
2009 2007
2010 #endif // LayoutObject_h 2008 #endif // LayoutObject_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp ('k') | third_party/WebKit/Source/core/layout/LayoutObject.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698