Diff
Modified: trunk/LayoutTests/ChangeLog (94205 => 94206)
--- trunk/LayoutTests/ChangeLog 2011-08-31 17:54:23 UTC (rev 94205)
+++ trunk/LayoutTests/ChangeLog 2011-08-31 18:11:35 UTC (rev 94206)
@@ -1,3 +1,27 @@
+2011-08-31 David Hyatt <[email protected]>
+
+ https://bugs.webkit.org/show_bug.cgi?id=67300
+
+ Add the new border-image-source property (and its corresponding analogue for masks, mask-box-image-source).
+ Change the border-image parsing code to no longer consider "none" to represent the entire border-image
+ _expression_, but instead to just mean "none" for the image component of the _expression_.
+
+ Change the pending image code for border-image and mask-box-image to use the new *-source properties when
+ loading the image so that they're considered the same.
+
+ This is the first step towards eliminating the border-image parsing code in favor of just parsing it as
+ a shorthand instead, but for now I'm implementing each property one by one, and once they're all there,
+ we can cut over to border-image as a true shorthand.
+
+ Reviewed by Beth Dakin.
+
+ Added fast/borders/border-image-source.html.
+
+ * fast/borders/border-image-source.html: Added.
+ * fast/css/getComputedStyle/computed-style-expected.txt:
+ * fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
+ * svg/css/getComputedStyle-basic-expected.txt:
+
2011-08-31 Cary Clark <[email protected]>
Unreviewed; new baselines (Skia on Mac, remainder of fast directory)
Added: trunk/LayoutTests/fast/borders/border-image-source.html (0 => 94206)
--- trunk/LayoutTests/fast/borders/border-image-source.html (rev 0)
+++ trunk/LayoutTests/fast/borders/border-image-source.html 2011-08-31 18:11:35 UTC (rev 94206)
@@ -0,0 +1,37 @@
+<html>
+<head>
+ <style>
+ div {
+ border-width: 21px 30px 30px 21px;
+ width: 75px;
+ height: 75px;
+ margin: 10px;
+ display: inline-block;
+ border-image-source: url("resources/border-image.png") !important
+ }
+
+ div.rr {
+ -webkit-border-image: none 21 30 30 21 repeat repeat;
+ }
+
+ div.rs {
+ -webkit-border-image: none 21 30 30 21 repeat stretch;
+ }
+
+ div.sr {
+ -webkit-border-image: none 21 30 30 21 stretch repeat;
+ }
+
+ div.ss {
+ -webkit-border-image: none 21 30 30 21 stretch stretch;
+ }
+ </style>
+</head>
+<body>
+ <div class="rr"></div>
+ <div class="rs"></div>
+ <br>
+ <div class="sr"></div>
+ <div class="ss"></div>
+</body>
+</html>
Modified: trunk/LayoutTests/fast/css/getComputedStyle/computed-style-expected.txt (94205 => 94206)
--- trunk/LayoutTests/fast/css/getComputedStyle/computed-style-expected.txt 2011-08-31 17:54:23 UTC (rev 94205)
+++ trunk/LayoutTests/fast/css/getComputedStyle/computed-style-expected.txt 2011-08-31 18:11:35 UTC (rev 94206)
@@ -14,6 +14,7 @@
border-bottom-style: none;
border-bottom-width: 0px;
border-collapse: separate;
+border-image-source: none;
border-left-color: rgb(0, 0, 0);
border-left-style: none;
border-left-width: 0px;
@@ -154,6 +155,7 @@
-webkit-marquee-style: scroll;
-webkit-mask-attachment: scroll;
-webkit-mask-box-image: none;
+-webkit-mask-box-image-source: none;
-webkit-mask-clip: border-box;
-webkit-mask-composite: source-over;
-webkit-mask-image: none;
Modified: trunk/LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt (94205 => 94206)
--- trunk/LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt 2011-08-31 17:54:23 UTC (rev 94205)
+++ trunk/LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt 2011-08-31 18:11:35 UTC (rev 94206)
@@ -13,6 +13,7 @@
border-bottom-style: none
border-bottom-width: 0px
border-collapse: separate
+ border-image-source: none
border-left-color: rgb(0, 0, 0)
border-left-style: none
border-left-width: 0px
@@ -153,6 +154,7 @@
-webkit-marquee-style: scroll
-webkit-mask-attachment: scroll
-webkit-mask-box-image: none
+ -webkit-mask-box-image-source: none
-webkit-mask-clip: border-box
-webkit-mask-composite: source-over
-webkit-mask-image: none
Added: trunk/LayoutTests/platform/mac/fast/borders/border-image-source-expected.png
(Binary files differ)
Property changes on: trunk/LayoutTests/platform/mac/fast/borders/border-image-source-expected.png
___________________________________________________________________
Added: svn:mime-type
Added: trunk/LayoutTests/platform/mac/fast/borders/border-image-source-expected.txt (0 => 94206)
--- trunk/LayoutTests/platform/mac/fast/borders/border-image-source-expected.txt (rev 0)
+++ trunk/LayoutTests/platform/mac/fast/borders/border-image-source-expected.txt 2011-08-31 18:11:35 UTC (rev 94206)
@@ -0,0 +1,17 @@
+layer at (0,0) size 800x600
+ RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock {DIV} at (10,10) size 126x126 [border: (21px none #000000) (30px none #000000) (21px none #000000)]
+ RenderText {#text} at (146,132) size 4x18
+ text run at (146,132) width 4: " "
+ RenderBlock {DIV} at (160,10) size 126x126 [border: (21px none #000000) (30px none #000000) (21px none #000000)]
+ RenderText {#text} at (296,132) size 4x18
+ text run at (296,132) width 4: " "
+ RenderBR {BR} at (0,0) size 0x0
+ RenderBlock {DIV} at (10,160) size 126x126 [border: (21px none #000000) (30px none #000000) (21px none #000000)]
+ RenderText {#text} at (146,282) size 4x18
+ text run at (146,282) width 4: " "
+ RenderBlock {DIV} at (160,160) size 126x126 [border: (21px none #000000) (30px none #000000) (21px none #000000)]
+ RenderText {#text} at (0,0) size 0x0
Modified: trunk/LayoutTests/svg/css/getComputedStyle-basic-expected.txt (94205 => 94206)
--- trunk/LayoutTests/svg/css/getComputedStyle-basic-expected.txt 2011-08-31 17:54:23 UTC (rev 94205)
+++ trunk/LayoutTests/svg/css/getComputedStyle-basic-expected.txt 2011-08-31 18:11:35 UTC (rev 94206)
@@ -26,6 +26,8 @@
rect: style.getPropertyCSSValue(border-bottom-width) : [object CSSPrimitiveValue]
rect: style.getPropertyValue(border-collapse) : separate
rect: style.getPropertyCSSValue(border-collapse) : [object CSSPrimitiveValue]
+rect: style.getPropertyValue(border-image-source) : none
+rect: style.getPropertyCSSValue(border-image-source) : [object CSSPrimitiveValue]
rect: style.getPropertyValue(border-left-color) : rgb(0, 0, 0)
rect: style.getPropertyCSSValue(border-left-color) : [object CSSPrimitiveValue]
rect: style.getPropertyValue(border-left-style) : none
@@ -306,6 +308,8 @@
rect: style.getPropertyCSSValue(-webkit-mask-attachment) : [object CSSPrimitiveValue]
rect: style.getPropertyValue(-webkit-mask-box-image) : none
rect: style.getPropertyCSSValue(-webkit-mask-box-image) : [object CSSPrimitiveValue]
+rect: style.getPropertyValue(-webkit-mask-box-image-source) : none
+rect: style.getPropertyCSSValue(-webkit-mask-box-image-source) : [object CSSPrimitiveValue]
rect: style.getPropertyValue(-webkit-mask-clip) : border-box
rect: style.getPropertyCSSValue(-webkit-mask-clip) : [object CSSPrimitiveValue]
rect: style.getPropertyValue(-webkit-mask-composite) : source-over
@@ -484,6 +488,8 @@
g: style.getPropertyCSSValue(border-bottom-width) : [object CSSPrimitiveValue]
g: style.getPropertyValue(border-collapse) : separate
g: style.getPropertyCSSValue(border-collapse) : [object CSSPrimitiveValue]
+g: style.getPropertyValue(border-image-source) : none
+g: style.getPropertyCSSValue(border-image-source) : [object CSSPrimitiveValue]
g: style.getPropertyValue(border-left-color) : rgb(0, 0, 0)
g: style.getPropertyCSSValue(border-left-color) : [object CSSPrimitiveValue]
g: style.getPropertyValue(border-left-style) : none
@@ -764,6 +770,8 @@
g: style.getPropertyCSSValue(-webkit-mask-attachment) : [object CSSPrimitiveValue]
g: style.getPropertyValue(-webkit-mask-box-image) : none
g: style.getPropertyCSSValue(-webkit-mask-box-image) : [object CSSPrimitiveValue]
+g: style.getPropertyValue(-webkit-mask-box-image-source) : none
+g: style.getPropertyCSSValue(-webkit-mask-box-image-source) : [object CSSPrimitiveValue]
g: style.getPropertyValue(-webkit-mask-clip) : border-box
g: style.getPropertyCSSValue(-webkit-mask-clip) : [object CSSPrimitiveValue]
g: style.getPropertyValue(-webkit-mask-composite) : source-over
Modified: trunk/Source/WebCore/ChangeLog (94205 => 94206)
--- trunk/Source/WebCore/ChangeLog 2011-08-31 17:54:23 UTC (rev 94205)
+++ trunk/Source/WebCore/ChangeLog 2011-08-31 18:11:35 UTC (rev 94206)
@@ -1,3 +1,42 @@
+2011-08-31 David Hyatt <[email protected]>
+
+ https://bugs.webkit.org/show_bug.cgi?id=67300
+
+ Add the new border-image-source property (and its corresponding analogue for masks, mask-box-image-source).
+ Change the border-image parsing code to no longer consider "none" to represent the entire border-image
+ _expression_, but instead to just mean "none" for the image component of the _expression_.
+
+ Change the pending image code for border-image and mask-box-image to use the new *-source properties when
+ loading the image so that they're considered the same.
+
+ This is the first step towards eliminating the border-image parsing code in favor of just parsing it as
+ a shorthand instead, but for now I'm implementing each property one by one, and once they're all there,
+ we can cut over to border-image as a true shorthand.
+
+ Reviewed by Beth Dakin.
+
+ Added fast/borders/border-image-source.html.
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue):
+ (WebCore::CSSParser::parseBorderImage):
+ * css/CSSPropertyNames.in:
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+ (WebCore::CSSStyleSelector::mapNinePieceImage):
+ (WebCore::CSSStyleSelector::loadPendingImages):
+ * rendering/style/NinePieceImage.h:
+ (WebCore::NinePieceImage::setImage):
+ * rendering/style/RenderStyle.h:
+ (WebCore::InheritedFlags::borderImageSource):
+ (WebCore::InheritedFlags::maskBoxImageSource):
+ (WebCore::InheritedFlags::setBorderImageSource):
+ (WebCore::InheritedFlags::setMaskBoxImageSource):
+ (WebCore::InheritedFlags::initialBorderImageSource):
+ (WebCore::InheritedFlags::initialMaskBoxImageSource):
+
2011-08-31 Stephen White <[email protected]>
[chromium] Set the GrContext before SkGpuDevice is destroyed.
Modified: trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp (94205 => 94206)
--- trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp 2011-08-31 17:54:23 UTC (rev 94205)
+++ trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp 2011-08-31 18:11:35 UTC (rev 94206)
@@ -73,6 +73,7 @@
CSSPropertyBorderBottomStyle,
CSSPropertyBorderBottomWidth,
CSSPropertyBorderCollapse,
+ CSSPropertyBorderImageSource,
CSSPropertyBorderLeftColor,
CSSPropertyBorderLeftStyle,
CSSPropertyBorderLeftWidth,
@@ -223,6 +224,7 @@
CSSPropertyWebkitMarqueeStyle,
CSSPropertyWebkitMaskAttachment,
CSSPropertyWebkitMaskBoxImage,
+ CSSPropertyWebkitMaskBoxImageSource,
CSSPropertyWebkitMaskClip,
CSSPropertyWebkitMaskComposite,
CSSPropertyWebkitMaskImage,
@@ -990,6 +992,10 @@
return zoomAdjustedPixelValue(style->horizontalBorderSpacing(), style.get(), primitiveValueCache);
case CSSPropertyWebkitBorderVerticalSpacing:
return zoomAdjustedPixelValue(style->verticalBorderSpacing(), style.get(), primitiveValueCache);
+ case CSSPropertyBorderImageSource:
+ if (style->borderImageSource())
+ return style->borderImageSource()->cssValue();
+ return primitiveValueCache->createIdentifierValue(CSSValueNone);
case CSSPropertyBorderTopColor:
return m_allowVisitedStyle ? primitiveValueCache->createColorValue(style->visitedDependentColor(CSSPropertyBorderTopColor).rgb()) : currentColorOrValidColor(style.get(), style->borderTopColor());
case CSSPropertyBorderRightColor:
@@ -1581,6 +1587,10 @@
return valueForNinePieceImage(style->borderImage(), primitiveValueCache);
case CSSPropertyWebkitMaskBoxImage:
return valueForNinePieceImage(style->maskBoxImage(), primitiveValueCache);
+ case CSSPropertyWebkitMaskBoxImageSource:
+ if (style->maskBoxImageSource())
+ return style->maskBoxImageSource()->cssValue();
+ return primitiveValueCache->createIdentifierValue(CSSValueNone);
case CSSPropertyWebkitFontSizeDelta:
// Not a real style property -- used by the editing engine -- so has no computed value.
break;
Modified: trunk/Source/WebCore/css/CSSParser.cpp (94205 => 94206)
--- trunk/Source/WebCore/css/CSSParser.cpp 2011-08-31 17:54:23 UTC (rev 94205)
+++ trunk/Source/WebCore/css/CSSParser.cpp 2011-08-31 18:11:35 UTC (rev 94206)
@@ -1205,6 +1205,8 @@
return result;
}
case CSSPropertyListStyleImage: // <uri> | none | inherit
+ case CSSPropertyBorderImageSource:
+ case CSSPropertyWebkitMaskBoxImageSource:
if (id == CSSValueNone) {
parsedValue = CSSImageValue::create();
m_valueList->next();
@@ -1441,17 +1443,14 @@
break;
case CSSPropertyWebkitBorderImage:
- case CSSPropertyWebkitMaskBoxImage:
- if (id == CSSValueNone)
- validPrimitive = true;
- else {
- RefPtr<CSSValue> result;
- if (parseBorderImage(propId, important, result)) {
- addProperty(propId, result, important);
- return true;
- }
+ case CSSPropertyWebkitMaskBoxImage: {
+ RefPtr<CSSValue> result;
+ if (parseBorderImage(propId, important, result)) {
+ addProperty(propId, result, important);
+ return true;
}
break;
+ }
case CSSPropertyBorderTopRightRadius:
case CSSPropertyBorderTopLeftRadius:
case CSSPropertyBorderBottomLeftRadius:
@@ -5257,7 +5256,7 @@
bool CSSParser::parseBorderImage(int propId, bool important, RefPtr<CSSValue>& result)
{
- // Look for an image initially. If the first value is not a URI, then we're done.
+ // Look for an image initially. If the first value is not a URI or the keyword "none", then we're done.
BorderImageParseContext context(primitiveValueCache());
CSSParserValue* val = m_valueList->current();
if (val->unit == CSSPrimitiveValue::CSS_URI && m_styleSheet) {
@@ -5270,7 +5269,9 @@
context.commitImage(value);
else
return false;
- } else
+ } else if (val->id == CSSValueNone)
+ context.commitImage(CSSImageValue::create());
+ else
return false;
while ((val = m_valueList->next())) {
Modified: trunk/Source/WebCore/css/CSSPropertyNames.in (94205 => 94206)
--- trunk/Source/WebCore/css/CSSPropertyNames.in 2011-08-31 17:54:23 UTC (rev 94205)
+++ trunk/Source/WebCore/css/CSSPropertyNames.in 2011-08-31 18:11:35 UTC (rev 94206)
@@ -58,6 +58,7 @@
border-bottom-width
border-collapse
border-color
+border-image-source
border-left
border-left-color
border-left-style
@@ -278,6 +279,7 @@
-webkit-mask
-webkit-mask-attachment
-webkit-mask-box-image
+-webkit-mask-box-image-source
-webkit-mask-clip
-webkit-mask-composite
-webkit-mask-image
Modified: trunk/Source/WebCore/css/CSSStyleSelector.cpp (94205 => 94206)
--- trunk/Source/WebCore/css/CSSStyleSelector.cpp 2011-08-31 17:54:23 UTC (rev 94205)
+++ trunk/Source/WebCore/css/CSSStyleSelector.cpp 2011-08-31 18:11:35 UTC (rev 94206)
@@ -3681,6 +3681,18 @@
m_style->setListStyleImage(styleImage(CSSPropertyListStyleImage, value));
return;
}
+ case CSSPropertyBorderImageSource:
+ {
+ HANDLE_INHERIT_AND_INITIAL(borderImageSource, BorderImageSource)
+ m_style->setBorderImageSource(styleImage(CSSPropertyBorderImageSource, value));
+ return;
+ }
+ case CSSPropertyWebkitMaskBoxImageSource:
+ {
+ HANDLE_INHERIT_AND_INITIAL(maskBoxImageSource, MaskBoxImageSource)
+ m_style->setMaskBoxImageSource(styleImage(CSSPropertyWebkitMaskBoxImageSource, value));
+ return;
+ }
case CSSPropertyWordBreak:
HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE(wordBreak, WordBreak)
return;
@@ -5650,7 +5662,14 @@
CSSBorderImageValue* borderImage = static_cast<CSSBorderImageValue*>(value);
// Set the image (this kicks off the load).
- image.setImage(styleImage(property, borderImage->imageValue()));
+ CSSPropertyID imageProperty;
+ if (property == CSSPropertyWebkitBorderImage)
+ imageProperty = CSSPropertyBorderImageSource;
+ else if (property == CSSPropertyWebkitMaskBoxImage)
+ imageProperty = CSSPropertyWebkitMaskBoxImageSource;
+ else
+ imageProperty = property;
+ image.setImage(styleImage(imageProperty, borderImage->imageValue()));
// Set up a length box to represent our image slices.
LengthBox l;
@@ -6389,15 +6408,14 @@
break;
}
- case CSSPropertyWebkitBorderImage: {
- const NinePieceImage& borderImage = m_style->borderImage();
- if (borderImage.image() && borderImage.image()->isPendingImage()) {
- CSSImageValue* imageValue = static_cast<StylePendingImage*>(borderImage.image())->cssImageValue();
- m_style->setBorderImage(NinePieceImage(imageValue->cachedImage(cachedResourceLoader), borderImage.slices(), borderImage.horizontalRule(), borderImage.verticalRule()));
+ case CSSPropertyBorderImageSource: {
+ if (m_style->borderImageSource() && m_style->borderImageSource()->isPendingImage()) {
+ CSSImageValue* imageValue = static_cast<StylePendingImage*>(m_style->borderImageSource())->cssImageValue();
+ m_style->setBorderImageSource(imageValue->cachedImage(cachedResourceLoader));
}
break;
}
-
+
case CSSPropertyWebkitBoxReflect: {
if (StyleReflection* reflection = m_style->boxReflect()) {
const NinePieceImage& maskImage = reflection->mask();
@@ -6409,15 +6427,14 @@
break;
}
- case CSSPropertyWebkitMaskBoxImage: {
- const NinePieceImage& maskBoxImage = m_style->maskBoxImage();
- if (maskBoxImage.image() && maskBoxImage.image()->isPendingImage()) {
- CSSImageValue* imageValue = static_cast<StylePendingImage*>(maskBoxImage.image())->cssImageValue();
- m_style->setMaskBoxImage(NinePieceImage(imageValue->cachedImage(cachedResourceLoader), maskBoxImage.slices(), maskBoxImage.horizontalRule(), maskBoxImage.verticalRule()));
+ case CSSPropertyWebkitMaskBoxImageSource: {
+ if (m_style->maskBoxImageSource() && m_style->maskBoxImageSource()->isPendingImage()) {
+ CSSImageValue* imageValue = static_cast<StylePendingImage*>(m_style->maskBoxImageSource())->cssImageValue();
+ m_style->setMaskBoxImageSource(imageValue->cachedImage(cachedResourceLoader));
}
break;
}
-
+
case CSSPropertyWebkitMaskImage: {
for (FillLayer* maskLayer = m_style->accessMaskLayers(); maskLayer; maskLayer = maskLayer->next()) {
if (maskLayer->image() && maskLayer->image()->isPendingImage()) {
Modified: trunk/Source/WebCore/rendering/style/NinePieceImage.h (94205 => 94206)
--- trunk/Source/WebCore/rendering/style/NinePieceImage.h 2011-08-31 17:54:23 UTC (rev 94205)
+++ trunk/Source/WebCore/rendering/style/NinePieceImage.h 2011-08-31 18:11:35 UTC (rev 94206)
@@ -55,7 +55,7 @@
bool hasImage() const { return m_image != 0; }
StyleImage* image() const { return m_image.get(); }
- void setImage(StyleImage* image) { m_image = image; }
+ void setImage(PassRefPtr<StyleImage> image) { m_image = image; }
const LengthBox& slices() const { return m_slices; }
void setSlices(const LengthBox& l) { m_slices = l; }
@@ -66,6 +66,8 @@
ENinePieceImageRule verticalRule() const { return static_cast<ENinePieceImageRule>(m_verticalRule); }
void setVerticalRule(ENinePieceImageRule rule) { m_verticalRule = rule; }
+friend class RenderStyle;
+
private:
RefPtr<StyleImage> m_image;
LengthBox m_slices;
Modified: trunk/Source/WebCore/rendering/style/RenderStyle.h (94205 => 94206)
--- trunk/Source/WebCore/rendering/style/RenderStyle.h 2011-08-31 17:54:23 UTC (rev 94205)
+++ trunk/Source/WebCore/rendering/style/RenderStyle.h 2011-08-31 18:11:35 UTC (rev 94206)
@@ -421,7 +421,8 @@
const BorderValue& borderEnd() const;
const NinePieceImage& borderImage() const { return surround->border.image(); }
-
+ StyleImage* borderImageSource() const { return surround->border.image().image(); }
+
LengthSize borderTopLeftRadius() const { return surround->border.topLeft(); }
LengthSize borderTopRightRadius() const { return surround->border.topRight(); }
LengthSize borderBottomLeftRadius() const { return surround->border.bottomLeft(); }
@@ -593,7 +594,8 @@
FillLayer* accessMaskLayers() { return &(rareNonInheritedData.access()->m_mask); }
const FillLayer* maskLayers() const { return &(rareNonInheritedData->m_mask); }
const NinePieceImage& maskBoxImage() const { return rareNonInheritedData->m_maskBoxImage; }
-
+ StyleImage* maskBoxImageSource() const { return rareNonInheritedData->m_maskBoxImage.image(); }
+
EBorderCollapse borderCollapse() const { return static_cast<EBorderCollapse>(inherited_flags._border_collapse); }
short horizontalBorderSpacing() const { return inherited->horizontal_border_spacing; }
short verticalBorderSpacing() const { return inherited->vertical_border_spacing; }
@@ -869,6 +871,7 @@
void setBackgroundSizeLength(LengthSize l) { SET_VAR(m_background, m_background.m_sizeLength, l) }
void setBorderImage(const NinePieceImage& b) { SET_VAR(surround, border.m_image, b) }
+ void setBorderImageSource(PassRefPtr<StyleImage> v) { surround.access()->border.m_image.setImage(v); }
void setBorderTopLeftRadius(LengthSize s) { SET_VAR(surround, border.m_topLeft, s) }
void setBorderTopRightRadius(LengthSize s) { SET_VAR(surround, border.m_topRight, s) }
@@ -984,6 +987,7 @@
}
void setMaskBoxImage(const NinePieceImage& b) { SET_VAR(rareNonInheritedData, m_maskBoxImage, b) }
+ void setMaskBoxImageSource(PassRefPtr<StyleImage> v) { rareNonInheritedData.access()->m_maskBoxImage.setImage(v); }
void setMaskXPosition(Length l) { SET_VAR(rareNonInheritedData, m_mask.m_xPosition, l) }
void setMaskYPosition(Length l) { SET_VAR(rareNonInheritedData, m_mask.m_yPosition, l) }
void setMaskSize(LengthSize l) { SET_VAR(rareNonInheritedData, m_mask.m_sizeLength, l) }
@@ -1399,6 +1403,8 @@
static TextEmphasisPosition initialTextEmphasisPosition() { return TextEmphasisPositionOver; }
static LineBoxContain initialLineBoxContain() { return LineBoxContainBlock | LineBoxContainInline | LineBoxContainReplaced; }
static EImageRendering initialImageRendering() { return ImageRenderingAuto; }
+ static StyleImage* initialBorderImageSource() { return 0; }
+ static StyleImage* initialMaskBoxImageSource() { return 0; }
static const AtomicString& initialFlowThread() { return nullAtom; }
static const AtomicString& initialRegionThread() { return nullAtom; }