Diff
Modified: trunk/Source/WebCore/ChangeLog (135787 => 135788)
--- trunk/Source/WebCore/ChangeLog 2012-11-27 00:39:53 UTC (rev 135787)
+++ trunk/Source/WebCore/ChangeLog 2012-11-27 00:41:39 UTC (rev 135788)
@@ -1,3 +1,30 @@
+2012-11-26 Andreas Kling <akl...@apple.com>
+
+ RenderStyle: Move 'list-style-image' to rare inherited data.
+ <http://webkit.org/b/103300>
+
+ Reviewed by Antti Koivisto.
+
+ list-style-image is not nearly common enough to merit a spot in StyleInheritedData.
+ Move it to StyleRareInheritedData.
+
+ 134kB progression on Membuster3.
+
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::diff):
+ (WebCore::RenderStyle::listStyleImage):
+ (WebCore::RenderStyle::setListStyleImage):
+ * rendering/style/StyleInheritedData.cpp:
+ (WebCore::StyleInheritedData::StyleInheritedData):
+ (WebCore::StyleInheritedData::operator==):
+ * rendering/style/StyleInheritedData.h:
+ (StyleInheritedData):
+ * rendering/style/StyleRareInheritedData.h:
+ * rendering/style/StyleRareInheritedData.cpp:
+ (SameSizeAsStyleRareInheritedData):
+ (WebCore::StyleRareInheritedData::StyleRareInheritedData):
+ (WebCore::StyleRareInheritedData::operator==):
+
2012-11-26 James Simonsen <simon...@chromium.org>
Consolidate FrameLoader::load() into one function taking a FrameLoadRequest
Modified: trunk/Source/WebCore/rendering/style/RenderStyle.cpp (135787 => 135788)
--- trunk/Source/WebCore/rendering/style/RenderStyle.cpp 2012-11-27 00:39:53 UTC (rev 135787)
+++ trunk/Source/WebCore/rendering/style/RenderStyle.cpp 2012-11-27 00:41:39 UTC (rev 135788)
@@ -491,7 +491,8 @@
|| rareInheritedData->m_imageResolution != other->rareInheritedData->m_imageResolution
#endif
|| rareInheritedData->m_lineSnap != other->rareInheritedData->m_lineSnap
- || rareInheritedData->m_lineAlign != other->rareInheritedData->m_lineAlign)
+ || rareInheritedData->m_lineAlign != other->rareInheritedData->m_lineAlign
+ || rareInheritedData->listStyleImage != other->rareInheritedData->listStyleImage)
return StyleDifferenceLayout;
if (!rareInheritedData->shadowDataEquivalent(*other->rareInheritedData.get()))
@@ -507,7 +508,6 @@
#endif
if (inherited->line_height != other->inherited->line_height
- || inherited->list_style_image != other->inherited->list_style_image
|| inherited->font != other->inherited->font
|| inherited->horizontal_border_spacing != other->inherited->horizontal_border_spacing
|| inherited->vertical_border_spacing != other->inherited->vertical_border_spacing
@@ -966,11 +966,11 @@
return factor;
}
-StyleImage* RenderStyle::listStyleImage() const { return inherited->list_style_image.get(); }
+StyleImage* RenderStyle::listStyleImage() const { return rareInheritedData->listStyleImage.get(); }
void RenderStyle::setListStyleImage(PassRefPtr<StyleImage> v)
{
- if (inherited->list_style_image != v)
- inherited.access()->list_style_image = v;
+ if (rareInheritedData->listStyleImage != v)
+ rareInheritedData.access()->listStyleImage = v;
}
Color RenderStyle::color() const { return inherited->color; }
Modified: trunk/Source/WebCore/rendering/style/StyleInheritedData.cpp (135787 => 135788)
--- trunk/Source/WebCore/rendering/style/StyleInheritedData.cpp 2012-11-27 00:39:53 UTC (rev 135787)
+++ trunk/Source/WebCore/rendering/style/StyleInheritedData.cpp 2012-11-27 00:41:39 UTC (rev 135788)
@@ -23,7 +23,6 @@
#include "StyleInheritedData.h"
#include "RenderStyle.h"
-#include "StyleImage.h"
namespace WebCore {
@@ -31,7 +30,6 @@
: horizontal_border_spacing(RenderStyle::initialHorizontalBorderSpacing())
, vertical_border_spacing(RenderStyle::initialVerticalBorderSpacing())
, line_height(RenderStyle::initialLineHeight())
- , list_style_image(RenderStyle::initialListStyleImage())
, color(RenderStyle::initialColor())
, visitedLinkColor(RenderStyle::initialColor())
{
@@ -46,7 +44,6 @@
, horizontal_border_spacing(o.horizontal_border_spacing)
, vertical_border_spacing(o.vertical_border_spacing)
, line_height(o.line_height)
- , list_style_image(o.list_style_image)
, font(o.font)
, color(o.color)
, visitedLinkColor(o.visitedLinkColor)
@@ -56,7 +53,6 @@
bool StyleInheritedData::operator==(const StyleInheritedData& o) const
{
return line_height == o.line_height
- && StyleImage::imagesEquivalent(list_style_image.get(), o.list_style_image.get())
&& font == o.font
&& color == o.color
&& visitedLinkColor == o.visitedLinkColor
Modified: trunk/Source/WebCore/rendering/style/StyleInheritedData.h (135787 => 135788)
--- trunk/Source/WebCore/rendering/style/StyleInheritedData.h 2012-11-27 00:39:53 UTC (rev 135787)
+++ trunk/Source/WebCore/rendering/style/StyleInheritedData.h 2012-11-27 00:41:39 UTC (rev 135788)
@@ -34,8 +34,6 @@
namespace WebCore {
-class StyleImage;
-
class StyleInheritedData : public RefCounted<StyleInheritedData> {
public:
static PassRefPtr<StyleInheritedData> create() { return adoptRef(new StyleInheritedData); }
@@ -55,8 +53,6 @@
// make a difference currently because of padding
Length line_height;
- RefPtr<StyleImage> list_style_image;
-
Font font;
Color color;
Color visitedLinkColor;
Modified: trunk/Source/WebCore/rendering/style/StyleRareInheritedData.cpp (135787 => 135788)
--- trunk/Source/WebCore/rendering/style/StyleRareInheritedData.cpp 2012-11-27 00:39:53 UTC (rev 135787)
+++ trunk/Source/WebCore/rendering/style/StyleRareInheritedData.cpp 2012-11-27 00:41:39 UTC (rev 135788)
@@ -27,12 +27,14 @@
#include "RenderStyle.h"
#include "RenderStyleConstants.h"
#include "ShadowData.h"
+#include "StyleImage.h"
#include "WebCoreMemoryInstrumentation.h"
#include <wtf/MemoryObjectInfo.h>
namespace WebCore {
struct SameSizeAsStyleRareInheritedData : public RefCounted<SameSizeAsStyleRareInheritedData> {
+ void* styleImage;
Color firstColor;
float firstFloat;
Color colors[5];
@@ -62,7 +64,8 @@
COMPILE_ASSERT(sizeof(StyleRareInheritedData) == sizeof(SameSizeAsStyleRareInheritedData), StyleRareInheritedData_should_bit_pack);
StyleRareInheritedData::StyleRareInheritedData()
- : textStrokeWidth(RenderStyle::initialTextStrokeWidth())
+ : listStyleImage(RenderStyle::initialListStyleImage())
+ , textStrokeWidth(RenderStyle::initialTextStrokeWidth())
, indent(RenderStyle::initialTextIndent())
, m_effectiveZoom(RenderStyle::initialZoom())
, widows(RenderStyle::initialWidows())
@@ -118,6 +121,7 @@
StyleRareInheritedData::StyleRareInheritedData(const StyleRareInheritedData& o)
: RefCounted<StyleRareInheritedData>()
+ , listStyleImage(o.listStyleImage)
, textStrokeColor(o.textStrokeColor)
, textStrokeWidth(o.textStrokeWidth)
, textFillColor(o.textFillColor)
@@ -260,7 +264,8 @@
#if ENABLE(CSS_VARIABLES)
&& m_variables == o.m_variables
#endif
- && m_lineAlign == o.m_lineAlign;
+ && m_lineAlign == o.m_lineAlign
+ && StyleImage::imagesEquivalent(listStyleImage.get(), o.listStyleImage.get());
}
bool StyleRareInheritedData::shadowDataEquivalent(const StyleRareInheritedData& o) const
Modified: trunk/Source/WebCore/rendering/style/StyleRareInheritedData.h (135787 => 135788)
--- trunk/Source/WebCore/rendering/style/StyleRareInheritedData.h 2012-11-27 00:39:53 UTC (rev 135787)
+++ trunk/Source/WebCore/rendering/style/StyleRareInheritedData.h 2012-11-27 00:41:39 UTC (rev 135788)
@@ -41,6 +41,7 @@
class CursorList;
class QuotesData;
class ShadowData;
+class StyleImage;
// This struct is for rarely used inherited CSS3, CSS2, and WebKit-specific properties.
// By grouping them together, we save space, and only allocate this object when someone
@@ -60,6 +61,8 @@
void reportMemoryUsage(MemoryObjectInfo*) const;
+ RefPtr<StyleImage> listStyleImage;
+
Color textStrokeColor;
float textStrokeWidth;
Color textFillColor;