diff options
Diffstat (limited to 'Source/WebCore/rendering/style/StyleGeneratedImage.h')
-rw-r--r-- | Source/WebCore/rendering/style/StyleGeneratedImage.h | 50 |
1 files changed, 24 insertions, 26 deletions
diff --git a/Source/WebCore/rendering/style/StyleGeneratedImage.h b/Source/WebCore/rendering/style/StyleGeneratedImage.h index 756ca2152..fdaaa68a4 100644 --- a/Source/WebCore/rendering/style/StyleGeneratedImage.h +++ b/Source/WebCore/rendering/style/StyleGeneratedImage.h @@ -21,8 +21,7 @@ * */ -#ifndef StyleGeneratedImage_h -#define StyleGeneratedImage_h +#pragma once #include "StyleImage.h" @@ -33,41 +32,40 @@ class CSSImageGeneratorValue; class StyleGeneratedImage final : public StyleImage { public: - static PassRefPtr<StyleGeneratedImage> create(PassRef<CSSImageGeneratorValue> value) + static Ref<StyleGeneratedImage> create(Ref<CSSImageGeneratorValue>&& value) { - return adoptRef(new StyleGeneratedImage(std::move(value))); + return adoptRef(*new StyleGeneratedImage(WTFMove(value))); } - CSSImageGeneratorValue& imageValue() { return m_imageGeneratorValue.get(); } + CSSImageGeneratorValue& imageValue() { return m_imageGeneratorValue; } private: - virtual WrappedImagePtr data() const override { return &m_imageGeneratorValue.get(); } + bool operator==(const StyleImage& other) const override { return data() == other.data(); } - virtual PassRefPtr<CSSValue> cssValue() const override; + WrappedImagePtr data() const override { return m_imageGeneratorValue.ptr(); } - virtual LayoutSize imageSize(const RenderElement*, float multiplier) const override; - virtual bool imageHasRelativeWidth() const override { return !m_fixedSize; } - virtual bool imageHasRelativeHeight() const override { return !m_fixedSize; } - virtual void computeIntrinsicDimensions(const RenderElement*, Length& intrinsicWidth, Length& intrinsicHeight, FloatSize& intrinsicRatio) override; - virtual bool usesImageContainerSize() const override { return !m_fixedSize; } - virtual void setContainerSizeForRenderer(const RenderElement*, const IntSize& containerSize, float) override { m_containerSize = containerSize; } - virtual void addClient(RenderElement*) override; - virtual void removeClient(RenderElement*) override; - virtual PassRefPtr<Image> image(RenderElement*, const IntSize&) const override; - virtual bool knownToBeOpaque(const RenderElement*) const override; + Ref<CSSValue> cssValue() const override; - StyleGeneratedImage(PassRef<CSSImageGeneratorValue>); + bool isPending() const override; + void load(CachedResourceLoader&, const ResourceLoaderOptions&) override; + FloatSize imageSize(const RenderElement*, float multiplier) const override; + bool imageHasRelativeWidth() const override { return !m_fixedSize; } + bool imageHasRelativeHeight() const override { return !m_fixedSize; } + void computeIntrinsicDimensions(const RenderElement*, Length& intrinsicWidth, Length& intrinsicHeight, FloatSize& intrinsicRatio) override; + bool usesImageContainerSize() const override { return !m_fixedSize; } + void setContainerSizeForRenderer(const RenderElement*, const FloatSize& containerSize, float) override { m_containerSize = containerSize; } + void addClient(RenderElement*) override; + void removeClient(RenderElement*) override; + RefPtr<Image> image(RenderElement*, const FloatSize&) const override; + bool knownToBeOpaque(const RenderElement*) const override; + + explicit StyleGeneratedImage(Ref<CSSImageGeneratorValue>&&); Ref<CSSImageGeneratorValue> m_imageGeneratorValue; - IntSize m_containerSize; + FloatSize m_containerSize; bool m_fixedSize; }; -inline StyleGeneratedImage* toStyleGeneratedImage(StyleImage* image) -{ - ASSERT_WITH_SECURITY_IMPLICATION(!image || image->isGeneratedImage()); - return static_cast<StyleGeneratedImage*>(image); -} +} // namespace WebCore -} -#endif +SPECIALIZE_TYPE_TRAITS_STYLE_IMAGE(StyleGeneratedImage, isGeneratedImage) |