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

Unified Diff: Source/core/css/CSSCrossfadeValue.cpp

Issue 1164573002: CSSValue Immediates: Change CSSValue to an object instead of a pointer (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebase Created 5 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/css/CSSCrossfadeValue.h ('k') | Source/core/css/CSSCursorImageValue.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/css/CSSCrossfadeValue.cpp
diff --git a/Source/core/css/CSSCrossfadeValue.cpp b/Source/core/css/CSSCrossfadeValue.cpp
index e322487271f213aca64d9cdeb62861cb215dea94..f484eb7e92e6ce2e77e11a3f2c0262d5762b4a85 100644
--- a/Source/core/css/CSSCrossfadeValue.cpp
+++ b/Source/core/css/CSSCrossfadeValue.cpp
@@ -34,47 +34,44 @@
namespace blink {
-static bool subimageIsPending(CSSValue* value)
+static bool subimageIsPending(CSSValue value)
{
- if (value->isImageValue())
- return toCSSImageValue(value)->cachedOrPendingImage()->isPendingImage();
+ if (value.isImageValue())
+ return toCSSImageValue(value).cachedOrPendingImage()->isPendingImage();
- if (value->isImageGeneratorValue())
- return toCSSImageGeneratorValue(value)->isPending();
+ if (value.isImageGeneratorValue())
+ return toCSSImageGeneratorValue(value).isPending();
ASSERT_NOT_REACHED();
return false;
}
-static bool subimageKnownToBeOpaque(CSSValue* value, const LayoutObject* layoutObject)
+static bool subimageKnownToBeOpaque(CSSValue value, const LayoutObject* layoutObject)
{
- if (value->isImageValue())
- return toCSSImageValue(value)->knownToBeOpaque(layoutObject);
+ if (value.isImageValue())
+ return toCSSImageValue(value).knownToBeOpaque(layoutObject);
- if (value->isImageGeneratorValue())
- return toCSSImageGeneratorValue(value)->knownToBeOpaque(layoutObject);
+ if (value.isImageGeneratorValue())
+ return toCSSImageGeneratorValue(value).knownToBeOpaque(layoutObject);
ASSERT_NOT_REACHED();
return false;
}
-static ImageResource* cachedImageForCSSValue(CSSValue* value, Document* document)
+static ImageResource* cachedImageForCSSValue(CSSValue value, Document* document)
{
- if (!value)
- return 0;
-
- if (value->isImageValue()) {
- StyleFetchedImage* styleImageResource = toCSSImageValue(value)->cachedImage(document);
+ if (value.isImageValue()) {
+ StyleFetchedImage* styleImageResource = toCSSImageValue(value).cachedImage(document);
if (!styleImageResource)
return 0;
return styleImageResource->cachedImage();
}
- if (value->isImageGeneratorValue()) {
- toCSSImageGeneratorValue(value)->loadSubimages(document);
+ if (value.isImageGeneratorValue()) {
+ toCSSImageGeneratorValue(value).loadSubimages(document);
// FIXME: Handle CSSImageGeneratorValue (and thus cross-fades with gradients and canvas).
return 0;
}
@@ -96,9 +93,9 @@ String CSSCrossfadeValue::customCSSText() const
{
StringBuilder result;
result.appendLiteral("-webkit-cross-fade(");
- result.append(m_fromValue->cssText());
+ result.append(m_fromValue.cssText());
result.appendLiteral(", ");
- result.append(m_toValue->cssText());
+ result.append(m_toValue.cssText());
result.appendLiteral(", ");
result.append(m_percentageValue->cssText());
result.append(')');
@@ -111,8 +108,8 @@ IntSize CSSCrossfadeValue::fixedSize(const LayoutObject* layoutObject)
float inversePercentage = 1 - percentage;
Document* document = &layoutObject->document();
- ImageResource* cachedFromImage = cachedImageForCSSValue(m_fromValue.get(), document);
- ImageResource* cachedToImage = cachedImageForCSSValue(m_toValue.get(), document);
+ ImageResource* cachedFromImage = cachedImageForCSSValue(m_fromValue, document);
+ ImageResource* cachedToImage = cachedImageForCSSValue(m_toValue, document);
if (!cachedFromImage || !cachedToImage)
return IntSize();
@@ -131,12 +128,12 @@ IntSize CSSCrossfadeValue::fixedSize(const LayoutObject* layoutObject)
bool CSSCrossfadeValue::isPending() const
{
- return subimageIsPending(m_fromValue.get()) || subimageIsPending(m_toValue.get());
+ return subimageIsPending(m_fromValue) || subimageIsPending(m_toValue);
}
bool CSSCrossfadeValue::knownToBeOpaque(const LayoutObject* layoutObject) const
{
- return subimageKnownToBeOpaque(m_fromValue.get(), layoutObject) && subimageKnownToBeOpaque(m_toValue.get(), layoutObject);
+ return subimageKnownToBeOpaque(m_fromValue, layoutObject) && subimageKnownToBeOpaque(m_toValue, layoutObject);
}
void CSSCrossfadeValue::loadSubimages(Document* document)
@@ -144,8 +141,8 @@ void CSSCrossfadeValue::loadSubimages(Document* document)
ResourcePtr<ImageResource> oldCachedFromImage = m_cachedFromImage;
ResourcePtr<ImageResource> oldCachedToImage = m_cachedToImage;
- m_cachedFromImage = cachedImageForCSSValue(m_fromValue.get(), document);
- m_cachedToImage = cachedImageForCSSValue(m_toValue.get(), document);
+ m_cachedFromImage = cachedImageForCSSValue(m_fromValue, document);
+ m_cachedToImage = cachedImageForCSSValue(m_toValue, document);
if (m_cachedFromImage != oldCachedFromImage) {
if (oldCachedFromImage)
@@ -170,8 +167,8 @@ PassRefPtr<Image> CSSCrossfadeValue::image(LayoutObject* layoutObject, const Int
return nullptr;
Document* document = &layoutObject->document();
- ImageResource* cachedFromImage = cachedImageForCSSValue(m_fromValue.get(), document);
- ImageResource* cachedToImage = cachedImageForCSSValue(m_toValue.get(), document);
+ ImageResource* cachedFromImage = cachedImageForCSSValue(m_fromValue, document);
+ ImageResource* cachedToImage = cachedImageForCSSValue(m_toValue, document);
if (!cachedFromImage || !cachedToImage)
return Image::nullImage();
@@ -212,8 +209,8 @@ bool CSSCrossfadeValue::hasFailedOrCanceledSubresources() const
bool CSSCrossfadeValue::equals(const CSSCrossfadeValue& other) const
{
- return compareCSSValuePtr(m_fromValue, other.m_fromValue)
- && compareCSSValuePtr(m_toValue, other.m_toValue)
+ return m_fromValue.equals(other.m_fromValue)
+ && m_toValue.equals(other.m_toValue)
&& compareCSSValuePtr(m_percentageValue, other.m_percentageValue);
}
« no previous file with comments | « Source/core/css/CSSCrossfadeValue.h ('k') | Source/core/css/CSSCursorImageValue.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698