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

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

Issue 2154913002: Flip for writing mode exactly along the containing block chain. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: none Created 4 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
« no previous file with comments | « third_party/WebKit/Source/core/layout/LayoutBox.cpp ('k') | no next file » | 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) 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 1558 matching lines...) Expand 10 before | Expand all | Expand 10 after
1569 { 1569 {
1570 // For any layout object that doesn't override this method (the main example is LayoutText), 1570 // For any layout object that doesn't override this method (the main example is LayoutText),
1571 // the rect is assumed to be in the parent's coordinate space, except for co ntainer flip. 1571 // the rect is assumed to be in the parent's coordinate space, except for co ntainer flip.
1572 1572
1573 if (ancestor == this) 1573 if (ancestor == this)
1574 return true; 1574 return true;
1575 1575
1576 if (LayoutObject* parent = this->parent()) { 1576 if (LayoutObject* parent = this->parent()) {
1577 if (parent->isBox()) { 1577 if (parent->isBox()) {
1578 LayoutBox* parentBox = toLayoutBox(parent); 1578 LayoutBox* parentBox = toLayoutBox(parent);
1579 if (!parentBox->mapScrollingContentsRectToBoxSpace(rect, parent == a ncestor ? ApplyNonScrollOverflowClip : ApplyOverflowClip, visualRectFlags)) 1579
1580 return false;
1581 // Never flip for SVG as it handles writing modes itself. 1580 // Never flip for SVG as it handles writing modes itself.
1582 if (!isSVG()) 1581 if (!isSVG())
1583 parentBox->flipForWritingMode(rect); 1582 parentBox->flipForWritingMode(rect);
1583
1584 if (!parentBox->mapScrollingContentsRectToBoxSpace(rect, parent == a ncestor ? ApplyNonScrollOverflowClip : ApplyOverflowClip, visualRectFlags))
1585 return false;
1584 } 1586 }
1585 return parent->mapToVisualRectInAncestorSpace(ancestor, rect, visualRect Flags); 1587 return parent->mapToVisualRectInAncestorSpace(ancestor, rect, visualRect Flags);
1586 } 1588 }
1587 return true; 1589 return true;
1588 } 1590 }
1589 1591
1590 void LayoutObject::dirtyLinesFromChangedChild(LayoutObject*, MarkingBehavior) 1592 void LayoutObject::dirtyLinesFromChangedChild(LayoutObject*, MarkingBehavior)
1591 { 1593 {
1592 } 1594 }
1593 1595
(...skipping 2084 matching lines...) Expand 10 before | Expand all | Expand 10 after
3678 const blink::LayoutObject* root = object1; 3680 const blink::LayoutObject* root = object1;
3679 while (root->parent()) 3681 while (root->parent())
3680 root = root->parent(); 3682 root = root->parent();
3681 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0); 3683 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0);
3682 } else { 3684 } else {
3683 WTFLogAlways("%s", "Cannot showLayoutTree. Root is (nil)"); 3685 WTFLogAlways("%s", "Cannot showLayoutTree. Root is (nil)");
3684 } 3686 }
3685 } 3687 }
3686 3688
3687 #endif 3689 #endif
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/layout/LayoutBox.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698