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

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

Issue 1530303003: Implement Layout Containment (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add additional test case and descriptions Created 5 years 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 716 matching lines...) Expand 10 before | Expand all | Expand 10 after
727 727
728 static inline bool objectIsRelayoutBoundary(const LayoutObject* object) 728 static inline bool objectIsRelayoutBoundary(const LayoutObject* object)
729 { 729 {
730 // FIXME: In future it may be possible to broaden these conditions in order to improve performance. 730 // FIXME: In future it may be possible to broaden these conditions in order to improve performance.
731 if (object->isTextControl()) 731 if (object->isTextControl())
732 return true; 732 return true;
733 733
734 if (object->isSVGRoot()) 734 if (object->isSVGRoot())
735 return true; 735 return true;
736 736
737 if (object->style()->containsLayout())
738 return true;
739
737 if (!object->hasOverflowClip()) 740 if (!object->hasOverflowClip())
738 return false; 741 return false;
739 742
740 if (object->style()->width().isIntrinsicOrAuto() || object->style()->height( ).isIntrinsicOrAuto() || object->style()->height().hasPercent()) 743 if (object->style()->width().isIntrinsicOrAuto() || object->style()->height( ).isIntrinsicOrAuto() || object->style()->height().hasPercent())
741 return false; 744 return false;
742 745
743 // Table parts can't be relayout roots since the table is responsible for la youting all the parts. 746 // Table parts can't be relayout roots since the table is responsible for la youting all the parts.
744 if (object->isTablePart()) 747 if (object->isTablePart())
745 return false; 748 return false;
746 749
(...skipping 2775 matching lines...) Expand 10 before | Expand all | Expand 10 after
3522 const blink::LayoutObject* root = object1; 3525 const blink::LayoutObject* root = object1;
3523 while (root->parent()) 3526 while (root->parent())
3524 root = root->parent(); 3527 root = root->parent();
3525 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0); 3528 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0);
3526 } else { 3529 } else {
3527 fprintf(stderr, "Cannot showLayoutTree. Root is (nil)\n"); 3530 fprintf(stderr, "Cannot showLayoutTree. Root is (nil)\n");
3528 } 3531 }
3529 } 3532 }
3530 3533
3531 #endif 3534 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698