OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * Copyright (C) 2004, 2008, 2010 Apple Inc. All rights reserved. | 4 * Copyright (C) 2004, 2008, 2010 Apple Inc. All rights reserved. |
5 * Copyright (C) 2010 Google Inc. All rights reserved. | 5 * Copyright (C) 2010 Google Inc. All rights reserved. |
6 * | 6 * |
7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
(...skipping 16 matching lines...) Expand all Loading... |
27 #include "core/html/HTMLElement.h" | 27 #include "core/html/HTMLElement.h" |
28 #include "core/html/HTMLImageLoader.h" | 28 #include "core/html/HTMLImageLoader.h" |
29 #include "core/html/canvas/CanvasImageSource.h" | 29 #include "core/html/canvas/CanvasImageSource.h" |
30 #include "platform/graphics/GraphicsTypes.h" | 30 #include "platform/graphics/GraphicsTypes.h" |
31 #include "wtf/WeakPtr.h" | 31 #include "wtf/WeakPtr.h" |
32 | 32 |
33 namespace blink { | 33 namespace blink { |
34 | 34 |
35 class HTMLFormElement; | 35 class HTMLFormElement; |
36 class ImageCandidate; | 36 class ImageCandidate; |
| 37 class MediaQueryList; |
37 | 38 |
38 class HTMLImageElement FINAL : public HTMLElement, public CanvasImageSource { | 39 class HTMLImageElement FINAL : public HTMLElement, public CanvasImageSource { |
39 public: | 40 public: |
| 41 class ViewportChangeListener; |
| 42 |
40 static PassRefPtrWillBeRawPtr<HTMLImageElement> create(Document&); | 43 static PassRefPtrWillBeRawPtr<HTMLImageElement> create(Document&); |
41 static PassRefPtrWillBeRawPtr<HTMLImageElement> create(Document&, HTMLFormEl
ement*, bool createdByParser); | 44 static PassRefPtrWillBeRawPtr<HTMLImageElement> create(Document&, HTMLFormEl
ement*, bool createdByParser); |
42 static PassRefPtrWillBeRawPtr<HTMLImageElement> createForJSConstructor(Docum
ent&, int width, int height); | 45 static PassRefPtrWillBeRawPtr<HTMLImageElement> createForJSConstructor(Docum
ent&, int width, int height); |
43 | 46 |
44 virtual ~HTMLImageElement(); | 47 virtual ~HTMLImageElement(); |
45 virtual void trace(Visitor*) OVERRIDE; | 48 virtual void trace(Visitor*) OVERRIDE; |
46 | 49 |
47 int width(bool ignorePendingStylesheets = false); | 50 int width(bool ignorePendingStylesheets = false); |
48 int height(bool ignorePendingStylesheets = false); | 51 int height(bool ignorePendingStylesheets = false); |
49 | 52 |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
122 virtual void removedFrom(ContainerNode*) OVERRIDE; | 125 virtual void removedFrom(ContainerNode*) OVERRIDE; |
123 virtual bool shouldRegisterAsNamedItem() const OVERRIDE { return true; } | 126 virtual bool shouldRegisterAsNamedItem() const OVERRIDE { return true; } |
124 virtual bool shouldRegisterAsExtraNamedItem() const OVERRIDE { return true;
} | 127 virtual bool shouldRegisterAsExtraNamedItem() const OVERRIDE { return true;
} |
125 virtual bool isInteractiveContent() const OVERRIDE; | 128 virtual bool isInteractiveContent() const OVERRIDE; |
126 virtual Image* imageContents() OVERRIDE; | 129 virtual Image* imageContents() OVERRIDE; |
127 | 130 |
128 void resetFormOwner(); | 131 void resetFormOwner(); |
129 ImageCandidate findBestFitImageFromPictureParent(); | 132 ImageCandidate findBestFitImageFromPictureParent(); |
130 void setBestFitURLAndDPRFromImageCandidate(const ImageCandidate&); | 133 void setBestFitURLAndDPRFromImageCandidate(const ImageCandidate&); |
131 HTMLImageLoader& imageLoader() const { return *m_imageLoader; } | 134 HTMLImageLoader& imageLoader() const { return *m_imageLoader; } |
| 135 void notifyViewportChanged(); |
| 136 void createMediaQueryListIfDoesNotExist(); |
132 | 137 |
133 OwnPtrWillBeMember<HTMLImageLoader> m_imageLoader; | 138 OwnPtrWillBeMember<HTMLImageLoader> m_imageLoader; |
| 139 RefPtrWillBeMember<ViewportChangeListener> m_listener; |
134 #if ENABLE(OILPAN) | 140 #if ENABLE(OILPAN) |
135 Member<HTMLFormElement> m_form; | 141 Member<HTMLFormElement> m_form; |
136 #else | 142 #else |
137 WeakPtr<HTMLFormElement> m_form; | 143 WeakPtr<HTMLFormElement> m_form; |
138 #endif | 144 #endif |
139 CompositeOperator m_compositeOperator; | 145 CompositeOperator m_compositeOperator; |
140 AtomicString m_bestFitImageURL; | 146 AtomicString m_bestFitImageURL; |
141 float m_imageDevicePixelRatio; | 147 float m_imageDevicePixelRatio; |
142 bool m_formWasSetByParser; | 148 unsigned m_formWasSetByParser : 1; |
143 bool m_elementCreatedByParser; | 149 unsigned m_elementCreatedByParser : 1; |
| 150 // Intrinsic sizing is viewport dependant if the 'w' descriptor was used for
the picked resource. |
| 151 unsigned m_intrinsicSizingViewportDependant : 1; |
| 152 // Effective size is viewport dependant if the sizes attribute's effective s
ize used v* length units. |
| 153 unsigned m_effectiveSizeViewportDependant : 1; |
144 }; | 154 }; |
145 | 155 |
146 } //namespace | 156 } //namespace |
147 | 157 |
148 #endif | 158 #endif |
OLD | NEW |