summaryrefslogtreecommitdiff
path: root/Source/WebCore/css/CSSCrossfadeValue.h
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@qt.io>2017-05-30 12:48:17 +0200
committerOswald Buddenhagen <oswald.buddenhagen@qt.io>2017-05-30 12:48:17 +0200
commit881da28418d380042aa95a97f0cbd42560a64f7c (patch)
treea794dff3274695e99c651902dde93d934ea7a5af /Source/WebCore/css/CSSCrossfadeValue.h
parent7e104c57a70fdf551bb3d22a5d637cdcbc69dbea (diff)
parent0fcedcd17cc00d3dd44c718b3cb36c1033319671 (diff)
downloadqtwebkit-881da28418d380042aa95a97f0cbd42560a64f7c.tar.gz
Merge 'wip/next' into dev
Change-Id: Iff9ee5e23bb326c4371ec8ed81d56f2f05d680e9
Diffstat (limited to 'Source/WebCore/css/CSSCrossfadeValue.h')
-rw-r--r--Source/WebCore/css/CSSCrossfadeValue.h32
1 files changed, 19 insertions, 13 deletions
diff --git a/Source/WebCore/css/CSSCrossfadeValue.h b/Source/WebCore/css/CSSCrossfadeValue.h
index 15f02e7ad..fa03bd976 100644
--- a/Source/WebCore/css/CSSCrossfadeValue.h
+++ b/Source/WebCore/css/CSSCrossfadeValue.h
@@ -10,10 +10,10 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
@@ -37,36 +37,40 @@ namespace WebCore {
class CachedImage;
class CrossfadeSubimageObserverProxy;
-class RenderObject;
+class RenderElement;
class Document;
class CSSCrossfadeValue : public CSSImageGeneratorValue {
friend class CrossfadeSubimageObserverProxy;
public:
- static PassRefPtr<CSSCrossfadeValue> create(PassRefPtr<CSSValue> fromValue, PassRefPtr<CSSValue> toValue)
+ static Ref<CSSCrossfadeValue> create(PassRefPtr<CSSValue> fromValue, PassRefPtr<CSSValue> toValue)
{
- return adoptRef(new CSSCrossfadeValue(fromValue, toValue));
+ return adoptRef(*new CSSCrossfadeValue(fromValue, toValue));
}
~CSSCrossfadeValue();
- String customCssText() const;
+ String customCSSText() const;
- PassRefPtr<Image> image(RenderObject*, const IntSize&);
+ RefPtr<Image> image(RenderElement*, const FloatSize&);
bool isFixedSize() const { return true; }
- IntSize fixedSize(const RenderObject*);
+ FloatSize fixedSize(const RenderElement*);
bool isPending() const;
- bool knownToBeOpaque(const RenderObject*) const;
+ bool knownToBeOpaque(const RenderElement*) const;
- void loadSubimages(CachedResourceLoader*);
+ void loadSubimages(CachedResourceLoader&, const ResourceLoaderOptions&);
void setPercentage(PassRefPtr<CSSPrimitiveValue> percentageValue) { m_percentageValue = percentageValue; }
- bool hasFailedOrCanceledSubresources() const;
+ bool traverseSubresources(const std::function<bool (const CachedResource&)>& handler) const;
+
+ RefPtr<CSSCrossfadeValue> blend(const CSSCrossfadeValue&, double) const;
bool equals(const CSSCrossfadeValue&) const;
+ bool equalInputImages(const CSSCrossfadeValue&) const;
+
private:
CSSCrossfadeValue(PassRefPtr<CSSValue> fromValue, PassRefPtr<CSSValue> toValue)
: CSSImageGeneratorValue(CrossfadeClass)
@@ -76,7 +80,7 @@ private:
{
}
- class CrossfadeSubimageObserverProxy : public CachedImageClient {
+ class CrossfadeSubimageObserverProxy final : public CachedImageClient {
public:
CrossfadeSubimageObserverProxy(CSSCrossfadeValue* ownerValue)
: m_ownerValue(ownerValue)
@@ -85,7 +89,7 @@ private:
}
virtual ~CrossfadeSubimageObserverProxy() { }
- virtual void imageChanged(CachedImage*, const IntRect* = 0) OVERRIDE;
+ virtual void imageChanged(CachedImage*, const IntRect* = nullptr) override;
void setReady(bool ready) { m_ready = ready; }
private:
CSSCrossfadeValue* m_ownerValue;
@@ -108,4 +112,6 @@ private:
} // namespace WebCore
+SPECIALIZE_TYPE_TRAITS_CSS_VALUE(CSSCrossfadeValue, isCrossfadeValue())
+
#endif // CSSCrossfadeValue_h