OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011 Adobe Systems Incorporated. All rights reserved. | 2 * Copyright (C) 2011 Adobe Systems Incorporated. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above | 8 * 1. Redistributions of source code must retain the above |
9 * copyright notice, this list of conditions and the following | 9 * copyright notice, this list of conditions and the following |
10 * disclaimer. | 10 * disclaimer. |
(...skipping 532 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
543 | 543 |
544 // FIXME: Region styling fails for pseudo-elements because the renderers don
't have a node. | 544 // FIXME: Region styling fails for pseudo-elements because the renderers don
't have a node. |
545 Element* element = toElement(object->node()); | 545 Element* element = toElement(object->node()); |
546 RefPtr<RenderStyle> renderObjectRegionStyle = object->view()->document().sty
leResolver()->styleForElement(element, 0, DisallowStyleSharing, MatchAllRules, t
his); | 546 RefPtr<RenderStyle> renderObjectRegionStyle = object->view()->document().sty
leResolver()->styleForElement(element, 0, DisallowStyleSharing, MatchAllRules, t
his); |
547 | 547 |
548 return renderObjectRegionStyle.release(); | 548 return renderObjectRegionStyle.release(); |
549 } | 549 } |
550 | 550 |
551 void RenderRegion::computeChildrenStyleInRegion(const RenderObject* object) | 551 void RenderRegion::computeChildrenStyleInRegion(const RenderObject* object) |
552 { | 552 { |
553 for (RenderObject* child = object->firstChild(); child; child = child->nextS
ibling()) { | 553 for (RenderObject* child = object->lastChild(); child; child = child->previo
usSibling()) { |
554 | 554 |
555 RenderObjectRegionStyleMap::iterator it = m_renderObjectRegionStyle.find
(child); | 555 RenderObjectRegionStyleMap::iterator it = m_renderObjectRegionStyle.find
(child); |
556 | 556 |
557 RefPtr<RenderStyle> childStyleInRegion; | 557 RefPtr<RenderStyle> childStyleInRegion; |
558 bool objectRegionStyleCached = false; | 558 bool objectRegionStyleCached = false; |
559 if (it != m_renderObjectRegionStyle.end()) { | 559 if (it != m_renderObjectRegionStyle.end()) { |
560 childStyleInRegion = it->value.style; | 560 childStyleInRegion = it->value.style; |
561 objectRegionStyleCached = true; | 561 objectRegionStyleCached = true; |
562 } else { | 562 } else { |
563 if (child->isAnonymous() || child->isInFlowRenderFlowThread()) | 563 if (child->isAnonymous() || child->isInFlowRenderFlowThread()) |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
595 styleInfo.cached = objectRegionStyleCached; | 595 styleInfo.cached = objectRegionStyleCached; |
596 m_renderObjectRegionStyle.set(object, styleInfo); | 596 m_renderObjectRegionStyle.set(object, styleInfo); |
597 } | 597 } |
598 | 598 |
599 void RenderRegion::clearObjectStyleInRegion(const RenderObject* object) | 599 void RenderRegion::clearObjectStyleInRegion(const RenderObject* object) |
600 { | 600 { |
601 ASSERT(object); | 601 ASSERT(object); |
602 m_renderObjectRegionStyle.remove(object); | 602 m_renderObjectRegionStyle.remove(object); |
603 | 603 |
604 // Clear the style for the children of this object. | 604 // Clear the style for the children of this object. |
605 for (RenderObject* child = object->firstChild(); child; child = child->nextS
ibling()) | 605 for (RenderObject* child = object->lastChild(); child; child = child->previo
usSibling()) |
606 clearObjectStyleInRegion(child); | 606 clearObjectStyleInRegion(child); |
607 } | 607 } |
608 | 608 |
609 void RenderRegion::computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, La
youtUnit& maxLogicalWidth) const | 609 void RenderRegion::computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, La
youtUnit& maxLogicalWidth) const |
610 { | 610 { |
611 if (!isValid()) { | 611 if (!isValid()) { |
612 RenderBlock::computeIntrinsicLogicalWidths(minLogicalWidth, maxLogicalWi
dth); | 612 RenderBlock::computeIntrinsicLogicalWidths(minLogicalWidth, maxLogicalWi
dth); |
613 return; | 613 return; |
614 } | 614 } |
615 | 615 |
(...skipping 29 matching lines...) Expand all Loading... |
645 | 645 |
646 LayoutUnit autoHeight = hasOverrideHeight() ? overrideLogicalContentHeight()
: computedAutoHeight(); | 646 LayoutUnit autoHeight = hasOverrideHeight() ? overrideLogicalContentHeight()
: computedAutoHeight(); |
647 | 647 |
648 LayoutUnit newLogicalHeight = autoHeight + borderAndPaddingLogicalHeight(); | 648 LayoutUnit newLogicalHeight = autoHeight + borderAndPaddingLogicalHeight(); |
649 ASSERT(newLogicalHeight < LayoutUnit::max() / 2); | 649 ASSERT(newLogicalHeight < LayoutUnit::max() / 2); |
650 if (newLogicalHeight > logicalHeight()) | 650 if (newLogicalHeight > logicalHeight()) |
651 setLogicalHeight(newLogicalHeight); | 651 setLogicalHeight(newLogicalHeight); |
652 } | 652 } |
653 | 653 |
654 } // namespace WebCore | 654 } // namespace WebCore |
OLD | NEW |