OLD | NEW |
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) 2005 Allan Sandfeld Jensen (kde@carewolf.com) | 4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) |
5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com) | 5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com) |
6 * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. | 6 * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. |
7 * Copyright (C) 2010 Google Inc. All rights reserved. | 7 * Copyright (C) 2010 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 406 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
417 { | 417 { |
418 const ComputedStyle& styleToUse = styleRef(); | 418 const ComputedStyle& styleToUse = styleRef(); |
419 setHasBoxDecorationBackground(calculateHasBoxDecorations()); | 419 setHasBoxDecorationBackground(calculateHasBoxDecorations()); |
420 setInline(styleToUse.isDisplayInlineType()); | 420 setInline(styleToUse.isDisplayInlineType()); |
421 setPositionState(styleToUse.position()); | 421 setPositionState(styleToUse.position()); |
422 setHorizontalWritingMode(styleToUse.isHorizontalWritingMode()); | 422 setHorizontalWritingMode(styleToUse.isHorizontalWritingMode()); |
423 } | 423 } |
424 | 424 |
425 static LayoutSize accumulateInFlowPositionOffsets(const LayoutObject* child) | 425 static LayoutSize accumulateInFlowPositionOffsets(const LayoutObject* child) |
426 { | 426 { |
427 if (!child->isAnonymousBlock() || !child->isRelPositioned()) | 427 if (!child->isAnonymousBlock() || !child->isInFlowPositioned()) |
428 return LayoutSize(); | 428 return LayoutSize(); |
429 LayoutSize offset; | 429 LayoutSize offset; |
430 LayoutObject* p = toLayoutBlock(child)->inlineElementContinuation(); | 430 LayoutObject* p = toLayoutBlock(child)->inlineElementContinuation(); |
431 while (p && p->isLayoutInline()) { | 431 while (p && p->isLayoutInline()) { |
432 if (p->isRelPositioned()) { | 432 if (p->isInFlowPositioned()) { |
433 LayoutInline* layoutInline = toLayoutInline(p); | 433 LayoutInline* layoutInline = toLayoutInline(p); |
434 offset += layoutInline->offsetForInFlowPosition(); | 434 offset += layoutInline->offsetForInFlowPosition(); |
435 } | 435 } |
436 p = p->parent(); | 436 p = p->parent(); |
437 } | 437 } |
438 return offset; | 438 return offset; |
439 } | 439 } |
440 | 440 |
441 LayoutBlock* LayoutBoxModelObject::containingBlockForAutoHeightDetection(Length
logicalHeight) const | 441 LayoutBlock* LayoutBoxModelObject::containingBlockForAutoHeightDetection(Length
logicalHeight) const |
442 { | 442 { |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
539 // return the distance between the canvas origin and the left border edge | 539 // return the distance between the canvas origin and the left border edge |
540 // of the element and stop this algorithm. | 540 // of the element and stop this algorithm. |
541 Element* element = offsetParent(); | 541 Element* element = offsetParent(); |
542 if (!element) | 542 if (!element) |
543 return referencePoint; | 543 return referencePoint; |
544 | 544 |
545 if (const LayoutBoxModelObject* offsetParent = element->layoutBoxModelObject
()) { | 545 if (const LayoutBoxModelObject* offsetParent = element->layoutBoxModelObject
()) { |
546 if (offsetParent->isBox() && !offsetParent->isBody()) | 546 if (offsetParent->isBox() && !offsetParent->isBody()) |
547 referencePoint.move(-toLayoutBox(offsetParent)->borderLeft(), -toLay
outBox(offsetParent)->borderTop()); | 547 referencePoint.move(-toLayoutBox(offsetParent)->borderLeft(), -toLay
outBox(offsetParent)->borderTop()); |
548 if (!isOutOfFlowPositioned() || flowThreadContainingBlock()) { | 548 if (!isOutOfFlowPositioned() || flowThreadContainingBlock()) { |
549 if (isRelPositioned()) | 549 if (isInFlowPositioned()) |
550 referencePoint.move(relativePositionOffset()); | 550 referencePoint.move(relativePositionOffset()); |
551 | 551 |
552 LayoutObject* current; | 552 LayoutObject* current; |
553 for (current = parent(); current != offsetParent && current->parent(
); current = current->parent()) { | 553 for (current = parent(); current != offsetParent && current->parent(
); current = current->parent()) { |
554 // FIXME: What are we supposed to do inside SVG content? | 554 // FIXME: What are we supposed to do inside SVG content? |
555 if (!isOutOfFlowPositioned()) { | 555 if (!isOutOfFlowPositioned()) { |
556 if (current->isBox() && !current->isTableRow()) | 556 if (current->isBox() && !current->isTableRow()) |
557 referencePoint.moveBy(toLayoutBox(current)->topLeftLocat
ion()); | 557 referencePoint.moveBy(toLayoutBox(current)->topLeftLocat
ion()); |
558 referencePoint.move(current->parent()->columnOffset(referenc
ePoint)); | 558 referencePoint.move(current->parent()->columnOffset(referenc
ePoint)); |
559 } | 559 } |
(...skipping 413 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
973 if (rootElementStyle->hasBackground()) | 973 if (rootElementStyle->hasBackground()) |
974 return false; | 974 return false; |
975 | 975 |
976 if (node() != document().firstBodyElement()) | 976 if (node() != document().firstBodyElement()) |
977 return false; | 977 return false; |
978 | 978 |
979 return true; | 979 return true; |
980 } | 980 } |
981 | 981 |
982 } // namespace blink | 982 } // namespace blink |
OLD | NEW |