Index: Source/core/css/CSSCursorImageValue.cpp |
diff --git a/Source/core/css/CSSCursorImageValue.cpp b/Source/core/css/CSSCursorImageValue.cpp |
index fb81043fb58497fd0177571aa9f553ebdb00d8ca..f5c025b7f7ae7364aea343c9f4b414465d51277f 100644 |
--- a/Source/core/css/CSSCursorImageValue.cpp |
+++ b/Source/core/css/CSSCursorImageValue.cpp |
@@ -44,8 +44,8 @@ static inline SVGCursorElement* resourceReferencedByCursorElement(const String& |
return isSVGCursorElement(element) ? toSVGCursorElement(element) : 0; |
} |
-CSSCursorImageValue::CSSCursorImageValue(PassRefPtrWillBeRawPtr<CSSValue> imageValue, bool hotSpotSpecified, const IntPoint& hotSpot) |
- : CSSValue(CursorImageClass) |
+CSSCursorImageValue::CSSCursorImageValue(CSSValue imageValue, bool hotSpotSpecified, const IntPoint& hotSpot) |
+ : CSSValueObject(CursorImageClass) |
, m_imageValue(imageValue) |
, m_hotSpotSpecified(hotSpotSpecified) |
, m_hotSpot(hotSpot) |
@@ -62,7 +62,7 @@ CSSCursorImageValue::~CSSCursorImageValue() |
HashSet<SVGElement*>::const_iterator it = m_referencedElements.begin(); |
HashSet<SVGElement*>::const_iterator end = m_referencedElements.end(); |
- String url = toCSSImageValue(m_imageValue.get())->url(); |
+ String url = toCSSImageValue(m_imageValue).url(); |
for (; it != end; ++it) { |
SVGElement* referencedElement = *it; |
@@ -76,7 +76,7 @@ CSSCursorImageValue::~CSSCursorImageValue() |
String CSSCursorImageValue::customCSSText() const |
{ |
StringBuilder result; |
- result.append(m_imageValue->cssText()); |
+ result.append(m_imageValue.cssText()); |
if (m_hotSpotSpecified) { |
result.append(' '); |
result.appendNumber(m_hotSpot.x()); |
@@ -94,7 +94,7 @@ bool CSSCursorImageValue::updateIfSVGCursorIsUsed(Element* element) |
if (!isSVGCursor()) |
return false; |
- String url = toCSSImageValue(m_imageValue.get())->url(); |
+ String url = toCSSImageValue(m_imageValue).url(); |
if (SVGCursorElement* cursorElement = resourceReferencedByCursorElement(url, element->treeScope())) { |
// FIXME: This will override hot spot specified in CSS, which is probably incorrect. |
SVGLengthContext lengthContext(0); |
@@ -122,8 +122,8 @@ bool CSSCursorImageValue::updateIfSVGCursorIsUsed(Element* element) |
StyleImage* CSSCursorImageValue::cachedImage(Document* document, float deviceScaleFactor) |
{ |
- if (m_imageValue->isImageSetValue()) |
- return toCSSImageSetValue(m_imageValue.get())->cachedImageSet(document, deviceScaleFactor); |
+ if (m_imageValue.isImageSetValue()) |
+ return toCSSImageSetValue(m_imageValue).cachedImageSet(document, deviceScaleFactor); |
if (!m_accessedImage) { |
m_accessedImage = true; |
@@ -132,19 +132,19 @@ StyleImage* CSSCursorImageValue::cachedImage(Document* document, float deviceSca |
// to change the URL of the CSSImageValue (which would then change behavior like cssText), |
// we create an alternate CSSImageValue to use. |
if (isSVGCursor() && document) { |
- RefPtrWillBeRawPtr<CSSImageValue> imageValue = toCSSImageValue(m_imageValue.get()); |
+ CSSImageValue& imageValue = toCSSImageValue(m_imageValue); |
// FIXME: This will fail if the <cursor> element is in a shadow DOM (bug 59827) |
- if (SVGCursorElement* cursorElement = resourceReferencedByCursorElement(imageValue->url(), *document)) { |
+ if (SVGCursorElement* cursorElement = resourceReferencedByCursorElement(imageValue.url(), *document)) { |
RefPtrWillBeRawPtr<CSSImageValue> svgImageValue = CSSImageValue::create(document->completeURL(cursorElement->href()->currentValue()->value())); |
- svgImageValue->setReferrer(imageValue->referrer()); |
+ svgImageValue->setReferrer(imageValue.referrer()); |
StyleFetchedImage* cachedImage = svgImageValue->cachedImage(document); |
m_image = cachedImage; |
return cachedImage; |
} |
} |
- if (m_imageValue->isImageValue()) |
- m_image = toCSSImageValue(m_imageValue.get())->cachedImage(document); |
+ if (m_imageValue.isImageValue()) |
+ m_image = toCSSImageValue(m_imageValue).cachedImage(document); |
} |
if (m_image && m_image->isImageResource()) |
@@ -155,8 +155,8 @@ StyleImage* CSSCursorImageValue::cachedImage(Document* document, float deviceSca |
StyleImage* CSSCursorImageValue::cachedOrPendingImage(float deviceScaleFactor) |
{ |
// Need to delegate completely so that changes in device scale factor can be handled appropriately. |
- if (m_imageValue->isImageSetValue()) |
- return toCSSImageSetValue(m_imageValue.get())->cachedOrPendingImageSet(deviceScaleFactor); |
+ if (m_imageValue.isImageSetValue()) |
+ return toCSSImageSetValue(m_imageValue).cachedOrPendingImageSet(deviceScaleFactor); |
if (!m_image) |
m_image = StylePendingImage::create(this); |
@@ -166,9 +166,9 @@ StyleImage* CSSCursorImageValue::cachedOrPendingImage(float deviceScaleFactor) |
bool CSSCursorImageValue::isSVGCursor() const |
{ |
- if (m_imageValue->isImageValue()) { |
- RefPtrWillBeRawPtr<CSSImageValue> imageValue = toCSSImageValue(m_imageValue.get()); |
- KURL kurl(ParsedURLString, imageValue->url()); |
+ if (m_imageValue.isImageValue()) { |
+ CSSImageValue& imageValue = toCSSImageValue(m_imageValue); |
+ KURL kurl(ParsedURLString, imageValue.url()); |
return kurl.hasFragmentIdentifier(); |
} |
return false; |
@@ -197,13 +197,13 @@ void CSSCursorImageValue::removeReferencedElement(SVGElement* element) |
bool CSSCursorImageValue::equals(const CSSCursorImageValue& other) const |
{ |
return m_hotSpotSpecified ? other.m_hotSpotSpecified && m_hotSpot == other.m_hotSpot : !other.m_hotSpotSpecified |
- && compareCSSValuePtr(m_imageValue, other.m_imageValue); |
+ && m_imageValue.equals(other.m_imageValue); |
} |
DEFINE_TRACE_AFTER_DISPATCH(CSSCursorImageValue) |
{ |
visitor->trace(m_imageValue); |
- CSSValue::traceAfterDispatch(visitor); |
+ CSSValueObject::traceAfterDispatch(visitor); |
} |
} // namespace blink |