Unreviewed, rolling out r205344.
[WebKit-https.git] / Source / WebCore / css / CSSImageSetValue.h
index d34afbb..27e8465 100644 (file)
 #define CSSImageSetValue_h
 
 #include "CSSValueList.h"
-#include "CachedImageClient.h"
-#include "CachedResourceHandle.h"
 
 namespace WebCore {
 
 class CachedResourceLoader;
 class Document;
+class StyleCachedImage;
+class StyleImage;
 struct ResourceLoaderOptions;
 
 class CSSImageSetValue final : public CSSValueList {
 public:
+
     static Ref<CSSImageSetValue> create()
     {
         return adoptRef(*new CSSImageSetValue());
@@ -45,11 +46,11 @@ public:
     ~CSSImageSetValue();
 
     void loadBestFitImage(CachedResourceLoader&, const ResourceLoaderOptions&);
-    CachedImage* cachedImage() const { return m_cachedImage.get(); }
+    StyleCachedImage& styleImage(const Document&);
 
     String customCSSText() const;
 
-    float bestFitScaleFactor() const { return m_bestFitImageScaleFactor; };
+    bool isPending() const { return !m_accessedBestFitImage; }
 
     struct ImageWithScale {
         String imageURL;
@@ -60,8 +61,6 @@ public:
 
     Ref<CSSImageSetValue> cloneForCSSOM() const;
 
-    void updateDeviceScaleFactor(const Document&);
-
 protected:
     ImageWithScale bestImageForScaleFactor();
 
@@ -72,10 +71,12 @@ private:
     void fillImageSet();
     static inline bool compareByScaleFactor(ImageWithScale first, ImageWithScale second) { return first.scaleFactor < second.scaleFactor; }
 
-    CachedResourceHandle<CachedImage> m_cachedImage;
-    bool m_accessedBestFitImage { false };
-    float m_bestFitImageScaleFactor { 1 };
-    float m_deviceScaleFactor { 1 };
+    RefPtr<StyleCachedImage> m_image;
+    bool m_accessedBestFitImage;
+
+    // This represents the scale factor that we used to find the best fit image. It does not necessarily
+    // correspond to the scale factor of the best fit image.
+    float m_scaleFactor;
 
     Vector<ImageWithScale> m_imagesInSet;
 };