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

Side by Side Diff: Source/core/layout/LayoutListMarker.cpp

Issue 926193003: Move rendering/RenderBox to layout/LayoutBox. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 10 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 | Annotate | Revision Log
« no previous file with comments | « Source/core/layout/LayoutListMarker.h ('k') | Source/core/layout/LayoutMedia.cpp » ('j') | 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 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserv ed. 4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserv ed.
5 * Copyright (C) 2006 Andrew Wellington (proton@wiretapped.net) 5 * Copyright (C) 2006 Andrew Wellington (proton@wiretapped.net)
6 * Copyright (C) 2010 Daniel Bates (dbates@intudata.com) 6 * Copyright (C) 2010 Daniel Bates (dbates@intudata.com)
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 1030 matching lines...) Expand 10 before | Expand all | Expand 10 after
1041 return toGeorgian(value); 1041 return toGeorgian(value);
1042 case Hebrew: 1042 case Hebrew:
1043 return toHebrew(value); 1043 return toHebrew(value);
1044 } 1044 }
1045 1045
1046 ASSERT_NOT_REACHED(); 1046 ASSERT_NOT_REACHED();
1047 return ""; 1047 return "";
1048 } 1048 }
1049 1049
1050 LayoutListMarker::LayoutListMarker(LayoutListItem* item) 1050 LayoutListMarker::LayoutListMarker(LayoutListItem* item)
1051 : RenderBox(0) 1051 : LayoutBox(0)
1052 , m_listItem(item) 1052 , m_listItem(item)
1053 { 1053 {
1054 // init LayoutObject attributes 1054 // init LayoutObject attributes
1055 setInline(true); // our object is Inline 1055 setInline(true); // our object is Inline
1056 setReplaced(true); // pretend to be replaced 1056 setReplaced(true); // pretend to be replaced
1057 } 1057 }
1058 1058
1059 LayoutListMarker::~LayoutListMarker() 1059 LayoutListMarker::~LayoutListMarker()
1060 { 1060 {
1061 } 1061 }
1062 1062
1063 void LayoutListMarker::destroy() 1063 void LayoutListMarker::destroy()
1064 { 1064 {
1065 if (m_image) 1065 if (m_image)
1066 m_image->removeClient(this); 1066 m_image->removeClient(this);
1067 RenderBox::destroy(); 1067 LayoutBox::destroy();
1068 } 1068 }
1069 1069
1070 LayoutListMarker* LayoutListMarker::createAnonymous(LayoutListItem* item) 1070 LayoutListMarker* LayoutListMarker::createAnonymous(LayoutListItem* item)
1071 { 1071 {
1072 Document& document = item->document(); 1072 Document& document = item->document();
1073 LayoutListMarker* renderer = new LayoutListMarker(item); 1073 LayoutListMarker* renderer = new LayoutListMarker(item);
1074 renderer->setDocumentForAnonymous(&document); 1074 renderer->setDocumentForAnonymous(&document);
1075 return renderer; 1075 return renderer;
1076 } 1076 }
1077 1077
1078 void LayoutListMarker::styleWillChange(StyleDifference diff, const LayoutStyle& newStyle) 1078 void LayoutListMarker::styleWillChange(StyleDifference diff, const LayoutStyle& newStyle)
1079 { 1079 {
1080 if (style() && (newStyle.listStylePosition() != style()->listStylePosition() || newStyle.listStyleType() != style()->listStyleType())) 1080 if (style() && (newStyle.listStylePosition() != style()->listStylePosition() || newStyle.listStyleType() != style()->listStyleType()))
1081 setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation(); 1081 setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation();
1082 1082
1083 RenderBox::styleWillChange(diff, newStyle); 1083 LayoutBox::styleWillChange(diff, newStyle);
1084 } 1084 }
1085 1085
1086 void LayoutListMarker::styleDidChange(StyleDifference diff, const LayoutStyle* o ldStyle) 1086 void LayoutListMarker::styleDidChange(StyleDifference diff, const LayoutStyle* o ldStyle)
1087 { 1087 {
1088 RenderBox::styleDidChange(diff, oldStyle); 1088 LayoutBox::styleDidChange(diff, oldStyle);
1089 1089
1090 if (m_image != style()->listStyleImage()) { 1090 if (m_image != style()->listStyleImage()) {
1091 if (m_image) 1091 if (m_image)
1092 m_image->removeClient(this); 1092 m_image->removeClient(this);
1093 m_image = style()->listStyleImage(); 1093 m_image = style()->listStyleImage();
1094 if (m_image) 1094 if (m_image)
1095 m_image->addClient(this); 1095 m_image->addClient(this);
1096 } 1096 }
1097 } 1097 }
1098 1098
1099 InlineBox* LayoutListMarker::createInlineBox() 1099 InlineBox* LayoutListMarker::createInlineBox()
1100 { 1100 {
1101 InlineBox* result = RenderBox::createInlineBox(); 1101 InlineBox* result = LayoutBox::createInlineBox();
1102 result->setIsText(isText()); 1102 result->setIsText(isText());
1103 return result; 1103 return result;
1104 } 1104 }
1105 1105
1106 bool LayoutListMarker::isImage() const 1106 bool LayoutListMarker::isImage() const
1107 { 1107 {
1108 return m_image && !m_image->errorOccurred(); 1108 return m_image && !m_image->errorOccurred();
1109 } 1109 }
1110 1110
1111 LayoutRect LayoutListMarker::localSelectionRect() 1111 LayoutRect LayoutListMarker::localSelectionRect()
(...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after
1466 } 1466 }
1467 1467
1468 style()->setMarginStart(Length(marginStart, Fixed)); 1468 style()->setMarginStart(Length(marginStart, Fixed));
1469 style()->setMarginEnd(Length(marginEnd, Fixed)); 1469 style()->setMarginEnd(Length(marginEnd, Fixed));
1470 } 1470 }
1471 1471
1472 LayoutUnit LayoutListMarker::lineHeight(bool firstLine, LineDirectionMode direct ion, LinePositionMode linePositionMode) const 1472 LayoutUnit LayoutListMarker::lineHeight(bool firstLine, LineDirectionMode direct ion, LinePositionMode linePositionMode) const
1473 { 1473 {
1474 if (!isImage()) 1474 if (!isImage())
1475 return m_listItem->lineHeight(firstLine, direction, PositionOfInteriorLi neBoxes); 1475 return m_listItem->lineHeight(firstLine, direction, PositionOfInteriorLi neBoxes);
1476 return RenderBox::lineHeight(firstLine, direction, linePositionMode); 1476 return LayoutBox::lineHeight(firstLine, direction, linePositionMode);
1477 } 1477 }
1478 1478
1479 int LayoutListMarker::baselinePosition(FontBaseline baselineType, bool firstLine , LineDirectionMode direction, LinePositionMode linePositionMode) const 1479 int LayoutListMarker::baselinePosition(FontBaseline baselineType, bool firstLine , LineDirectionMode direction, LinePositionMode linePositionMode) const
1480 { 1480 {
1481 ASSERT(linePositionMode == PositionOnContainingLine); 1481 ASSERT(linePositionMode == PositionOnContainingLine);
1482 if (!isImage()) 1482 if (!isImage())
1483 return m_listItem->baselinePosition(baselineType, firstLine, direction, PositionOfInteriorLineBoxes); 1483 return m_listItem->baselinePosition(baselineType, firstLine, direction, PositionOfInteriorLineBoxes);
1484 return RenderBox::baselinePosition(baselineType, firstLine, direction, lineP ositionMode); 1484 return LayoutBox::baselinePosition(baselineType, firstLine, direction, lineP ositionMode);
1485 } 1485 }
1486 1486
1487 bool LayoutListMarker::isInside() const 1487 bool LayoutListMarker::isInside() const
1488 { 1488 {
1489 return m_listItem->notInList() || style()->listStylePosition() == INSIDE; 1489 return m_listItem->notInList() || style()->listStylePosition() == INSIDE;
1490 } 1490 }
1491 1491
1492 IntRect LayoutListMarker::getRelativeMarkerRect() 1492 IntRect LayoutListMarker::getRelativeMarkerRect()
1493 { 1493 {
1494 if (isImage()) 1494 if (isImage())
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
1603 relativeRect = relativeRect.transposedRect(); 1603 relativeRect = relativeRect.transposedRect();
1604 relativeRect.setX(size().width() - relativeRect.x() - relativeRect.width ()); 1604 relativeRect.setX(size().width() - relativeRect.x() - relativeRect.width ());
1605 } 1605 }
1606 1606
1607 return relativeRect; 1607 return relativeRect;
1608 } 1608 }
1609 1609
1610 void LayoutListMarker::setSelectionState(SelectionState state) 1610 void LayoutListMarker::setSelectionState(SelectionState state)
1611 { 1611 {
1612 // The selection state for our containing block hierarchy is updated by the base class call. 1612 // The selection state for our containing block hierarchy is updated by the base class call.
1613 RenderBox::setSelectionState(state); 1613 LayoutBox::setSelectionState(state);
1614 1614
1615 if (inlineBoxWrapper() && canUpdateSelectionOnRootLineBoxes()) 1615 if (inlineBoxWrapper() && canUpdateSelectionOnRootLineBoxes())
1616 inlineBoxWrapper()->root().setHasSelectedChildren(state != SelectionNone ); 1616 inlineBoxWrapper()->root().setHasSelectedChildren(state != SelectionNone );
1617 } 1617 }
1618 1618
1619 LayoutRect LayoutListMarker::selectionRectForPaintInvalidation(const LayoutBoxMo delObject* paintInvalidationContainer) const 1619 LayoutRect LayoutListMarker::selectionRectForPaintInvalidation(const LayoutBoxMo delObject* paintInvalidationContainer) const
1620 { 1620 {
1621 ASSERT(!needsLayout()); 1621 ASSERT(!needsLayout());
1622 1622
1623 if (selectionState() == SelectionNone || !inlineBoxWrapper()) 1623 if (selectionState() == SelectionNone || !inlineBoxWrapper())
(...skipping 17 matching lines...) Expand all
1641 if (style()) { 1641 if (style()) {
1642 // Reuse the current margins. Otherwise resetting the margins to initial values 1642 // Reuse the current margins. Otherwise resetting the margins to initial values
1643 // would trigger unnecessary layout. 1643 // would trigger unnecessary layout.
1644 newStyle->setMarginStart(style()->marginStart()); 1644 newStyle->setMarginStart(style()->marginStart());
1645 newStyle->setMarginEnd(style()->marginRight()); 1645 newStyle->setMarginEnd(style()->marginRight());
1646 } 1646 }
1647 setStyle(newStyle.release()); 1647 setStyle(newStyle.release());
1648 } 1648 }
1649 1649
1650 } // namespace blink 1650 } // namespace blink
OLDNEW
« no previous file with comments | « Source/core/layout/LayoutListMarker.h ('k') | Source/core/layout/LayoutMedia.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698