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

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

Issue 1906803002: Prevent markContainerChainForLayout to scheduleRelayout() if isInPerformLayout() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: RELEASE_ASSERT to FrameView Created 4 years, 8 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 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 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) 2004, 2005, 2006, 2007, 2008, 2011 Apple Inc. All rights reserv ed. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2011 Apple Inc. All rights reserv ed.
7 * Copyright (C) 2009 Google Inc. All rights reserved. 7 * Copyright (C) 2009 Google Inc. All rights reserved.
8 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/) 8 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/)
9 * 9 *
10 * This library is free software; you can redistribute it and/or 10 * This library is free software; you can redistribute it and/or
(...skipping 785 matching lines...) Expand 10 before | Expand all | Expand 10 after
796 if (object == layouter->root()) 796 if (object == layouter->root())
797 return; 797 return;
798 } 798 }
799 799
800 last = object; 800 last = object;
801 if (scheduleRelayout && objectIsRelayoutBoundary(last)) 801 if (scheduleRelayout && objectIsRelayoutBoundary(last))
802 break; 802 break;
803 object = container; 803 object = container;
804 } 804 }
805 805
806 if (scheduleRelayout) 806 if (scheduleRelayout && !frameView()->isInPerformLayout())
leviw_travelin_and_unemployed 2016/04/22 17:24:33 This is probably worthy of a comment.
807 last->scheduleRelayout(); 807 last->scheduleRelayout();
808 } 808 }
809 809
810 #if ENABLE(ASSERT) 810 #if ENABLE(ASSERT)
811 void LayoutObject::checkBlockPositionedObjectsNeedLayout() 811 void LayoutObject::checkBlockPositionedObjectsNeedLayout()
812 { 812 {
813 ASSERT(!needsLayout()); 813 ASSERT(!needsLayout());
814 814
815 if (isLayoutBlock()) 815 if (isLayoutBlock())
816 toLayoutBlock(this)->checkPositionedObjectsNeedLayout(); 816 toLayoutBlock(this)->checkPositionedObjectsNeedLayout();
(...skipping 2868 matching lines...) Expand 10 before | Expand all | Expand 10 after
3685 const blink::LayoutObject* root = object1; 3685 const blink::LayoutObject* root = object1;
3686 while (root->parent()) 3686 while (root->parent())
3687 root = root->parent(); 3687 root = root->parent();
3688 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0); 3688 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0);
3689 } else { 3689 } else {
3690 fprintf(stderr, "Cannot showLayoutTree. Root is (nil)\n"); 3690 fprintf(stderr, "Cannot showLayoutTree. Root is (nil)\n");
3691 } 3691 }
3692 } 3692 }
3693 3693
3694 #endif 3694 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698