summaryrefslogtreecommitdiff
path: root/Source/WebCore/rendering/style/StyleGeneratedImage.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/rendering/style/StyleGeneratedImage.h')
-rw-r--r--Source/WebCore/rendering/style/StyleGeneratedImage.h50
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)