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

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

Issue 204843002: Reduce invalidation on children-needs-layout containers (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Updated after Levi's review. 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 | Annotate | Revision Log
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 509 matching lines...) Expand 10 before | Expand all | Expand 10 after
520 HasBoxDecorationsAndBackgroundIsKnownToBeObscured, 520 HasBoxDecorationsAndBackgroundIsKnownToBeObscured,
521 HasBoxDecorationsAndBackgroundMayBeVisible, 521 HasBoxDecorationsAndBackgroundMayBeVisible,
522 }; 522 };
523 bool hasBoxDecorations() const { return m_bitfields.boxDecorationState() != NoBoxDecorations; } 523 bool hasBoxDecorations() const { return m_bitfields.boxDecorationState() != NoBoxDecorations; }
524 bool backgroundIsKnownToBeObscured(); 524 bool backgroundIsKnownToBeObscured();
525 bool borderImageIsLoadedAndCanBeRendered() const; 525 bool borderImageIsLoadedAndCanBeRendered() const;
526 bool mustRepaintBackgroundOrBorder() const; 526 bool mustRepaintBackgroundOrBorder() const;
527 bool hasBackground() const { return style()->hasBackground(); } 527 bool hasBackground() const { return style()->hasBackground(); }
528 bool hasEntirelyFixedBackground() const; 528 bool hasEntirelyFixedBackground() const;
529 529
530 bool needsLayoutBecauseOfChildren() const { return needsLayout() && !selfNee dsLayout() && !needsPositionedMovementLayout() && !needsSimplifiedNormalFlowLayo ut(); }
eseidel 2014/03/21 00:37:09 Why the needsLayout() check? Doesn't that just ch
Julien - ping for review 2014/03/24 18:00:01 The logic is fine AFAICT. This is similar to needs
531
530 bool needsLayout() const 532 bool needsLayout() const
531 { 533 {
532 return m_bitfields.selfNeedsLayout() || m_bitfields.normalChildNeedsLayo ut() || m_bitfields.posChildNeedsLayout() 534 return m_bitfields.selfNeedsLayout() || m_bitfields.normalChildNeedsLayo ut() || m_bitfields.posChildNeedsLayout()
533 || m_bitfields.needsSimplifiedNormalFlowLayout() || m_bitfields.need sPositionedMovementLayout(); 535 || m_bitfields.needsSimplifiedNormalFlowLayout() || m_bitfields.need sPositionedMovementLayout();
534 } 536 }
535 537
536 bool selfNeedsLayout() const { return m_bitfields.selfNeedsLayout(); } 538 bool selfNeedsLayout() const { return m_bitfields.selfNeedsLayout(); }
537 bool needsPositionedMovementLayout() const { return m_bitfields.needsPositio nedMovementLayout(); } 539 bool needsPositionedMovementLayout() const { return m_bitfields.needsPositio nedMovementLayout(); }
538 bool needsPositionedMovementLayoutOnly() const 540 bool needsPositionedMovementLayoutOnly() const
539 { 541 {
(...skipping 886 matching lines...) Expand 10 before | Expand all | Expand 10 after
1426 void showTree(const WebCore::RenderObject*); 1428 void showTree(const WebCore::RenderObject*);
1427 void showLineTree(const WebCore::RenderObject*); 1429 void showLineTree(const WebCore::RenderObject*);
1428 void showRenderTree(const WebCore::RenderObject* object1); 1430 void showRenderTree(const WebCore::RenderObject* object1);
1429 // We don't make object2 an optional parameter so that showRenderTree 1431 // We don't make object2 an optional parameter so that showRenderTree
1430 // can be called from gdb easily. 1432 // can be called from gdb easily.
1431 void showRenderTree(const WebCore::RenderObject* object1, const WebCore::RenderO bject* object2); 1433 void showRenderTree(const WebCore::RenderObject* object1, const WebCore::RenderO bject* object2);
1432 1434
1433 #endif 1435 #endif
1434 1436
1435 #endif // RenderObject_h 1437 #endif // RenderObject_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698