Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / core / html / HTMLImageElement.h
index 4328dce..11c8178 100644 (file)
 #include "platform/graphics/GraphicsTypes.h"
 #include "wtf/WeakPtr.h"
 
-namespace WebCore {
+namespace blink {
 
 class HTMLFormElement;
 class ImageCandidate;
+class MediaQueryList;
 
 class HTMLImageElement FINAL : public HTMLElement, public CanvasImageSource {
 public:
+    class ViewportChangeListener;
+
     static PassRefPtrWillBeRawPtr<HTMLImageElement> create(Document&);
     static PassRefPtrWillBeRawPtr<HTMLImageElement> create(Document&, HTMLFormElement*, bool createdByParser);
     static PassRefPtrWillBeRawPtr<HTMLImageElement> createForJSConstructor(Document&, int width, int height);
@@ -60,9 +63,7 @@ public:
     ImageResource* cachedImage() const { return imageLoader().image(); }
     void setImageResource(ImageResource* i) { imageLoader().setImage(i); };
 
-    void setLoadManually(bool loadManually) { imageLoader().setLoadManually(loadManually); }
-
-    const AtomicString& alt() const;
+    void setLoadingImageDocument() { imageLoader().setLoadingImageDocument(); }
 
     void setHeight(int);
 
@@ -95,12 +96,8 @@ public:
     virtual FloatSize defaultDestinationSize() const OVERRIDE;
     virtual const KURL& sourceURL() const OVERRIDE;
 
-    enum UpdateFromElementBehavior {
-        UpdateNormal,
-        UpdateIgnorePreviousError
-    };
     // public so that HTMLPictureElement can call this as well.
-    void selectSourceURL(UpdateFromElementBehavior);
+    void selectSourceURL(ImageLoader::UpdateFromElementBehavior);
 protected:
     explicit HTMLImageElement(Document&, HTMLFormElement* = 0, bool createdByParser = false);
 
@@ -135,8 +132,11 @@ private:
     ImageCandidate findBestFitImageFromPictureParent();
     void setBestFitURLAndDPRFromImageCandidate(const ImageCandidate&);
     HTMLImageLoader& imageLoader() const { return *m_imageLoader; }
+    void notifyViewportChanged();
+    void createMediaQueryListIfDoesNotExist();
 
     OwnPtrWillBeMember<HTMLImageLoader> m_imageLoader;
+    RefPtrWillBeMember<ViewportChangeListener> m_listener;
 #if ENABLE(OILPAN)
     Member<HTMLFormElement> m_form;
 #else
@@ -145,8 +145,12 @@ private:
     CompositeOperator m_compositeOperator;
     AtomicString m_bestFitImageURL;
     float m_imageDevicePixelRatio;
-    bool m_formWasSetByParser;
-    bool m_elementCreatedByParser;
+    unsigned m_formWasSetByParser : 1;
+    unsigned m_elementCreatedByParser : 1;
+    // Intrinsic sizing is viewport dependant if the 'w' descriptor was used for the picked resource.
+    unsigned m_intrinsicSizingViewportDependant : 1;
+    // Effective size is viewport dependant if the sizes attribute's effective size used v* length units.
+    unsigned m_effectiveSizeViewportDependant : 1;
 };
 
 } //namespace