Index: Source/core/rendering/RenderListMarker.cpp |
diff --git a/Source/core/rendering/RenderListMarker.cpp b/Source/core/rendering/RenderListMarker.cpp |
index 3c91c6f2bc13a07bca5c89e4eec5c11f99cc00e6..ccd2764ea0db1658ac996d89f35c7b5df84032f6 100644 |
--- a/Source/core/rendering/RenderListMarker.cpp |
+++ b/Source/core/rendering/RenderListMarker.cpp |
@@ -25,6 +25,7 @@ |
#include "config.h" |
#include "core/rendering/RenderListMarker.h" |
+#include "core/dom/MarkerPseudoElement.h" |
#include "core/fetch/ImageResource.h" |
#include "core/paint/ListMarkerPainter.h" |
#include "core/rendering/RenderLayer.h" |
@@ -1047,6 +1048,15 @@ String listMarkerText(EListStyleType type, int value) |
return ""; |
} |
+RenderListMarker::RenderListMarker(Element* node, RenderListItem* item) |
+ : RenderBox(node) |
+ , m_listItem(item) |
+{ |
+ // init RenderObject attributes |
+ setInline(true); // our object is Inline |
+ setReplaced(true); // pretend to be replaced |
+} |
+ |
RenderListMarker::RenderListMarker(RenderListItem* item) |
: RenderBox(0) |
, m_listItem(item) |
@@ -1638,16 +1648,7 @@ LayoutRect RenderListMarker::selectionRectForPaintInvalidation(const RenderLayer |
void RenderListMarker::listItemStyleDidChange() |
{ |
- RefPtr<RenderStyle> newStyle = RenderStyle::create(); |
- // The marker always inherits from the list item, regardless of where it might end |
- // up (e.g., in some deeply nested line box). See CSS3 spec. |
- newStyle->inheritFrom(m_listItem->style()); |
- if (style()) { |
- // Reuse the current margins. Otherwise resetting the margins to initial values |
- // would trigger unnecessary layout. |
- newStyle->setMarginStart(style()->marginStart()); |
- newStyle->setMarginEnd(style()->marginRight()); |
- } |
+ RefPtr<RenderStyle> newStyle = MarkerPseudoElement::styleForListMarkerRenderer(*m_listItem, style()); |
Julien - ping for review
2015/02/04 01:56:34
styleRef() (and more generally let's use const Ren
dsinclair
2015/02/04 15:30:59
Making this a const RenderStyle& is a much larger
|
setStyle(newStyle.release()); |
} |