| Index: third_party/WebKit/Source/core/html/HTMLImageElement.cpp
|
| diff --git a/third_party/WebKit/Source/core/html/HTMLImageElement.cpp b/third_party/WebKit/Source/core/html/HTMLImageElement.cpp
|
| index ae623aa5b06f2528997fc5596fae464094d7f11b..df90cfc039467bb72bf03e177e01fefd06e07805 100644
|
| --- a/third_party/WebKit/Source/core/html/HTMLImageElement.cpp
|
| +++ b/third_party/WebKit/Source/core/html/HTMLImageElement.cpp
|
| @@ -439,7 +439,7 @@ int HTMLImageElement::width()
|
|
|
| // if the image is available, use its width
|
| if (imageLoader().image())
|
| - return imageLoader().image()->imageSize(LayoutObject::shouldRespectImageOrientation(nullptr), 1.0f).width();
|
| + return imageLoader().image()->defaultConcreteObjectSize(LayoutObject::shouldRespectImageOrientation(nullptr), 1.0f).width();
|
| }
|
|
|
| LayoutBox* box = layoutBox();
|
| @@ -460,7 +460,7 @@ int HTMLImageElement::height()
|
|
|
| // if the image is available, use its height
|
| if (imageLoader().image())
|
| - return imageLoader().image()->imageSize(LayoutObject::shouldRespectImageOrientation(nullptr), 1.0f).height();
|
| + return imageLoader().image()->defaultConcreteObjectSize(LayoutObject::shouldRespectImageOrientation(nullptr), 1.0f).height();
|
| }
|
|
|
| LayoutBox* box = layoutBox();
|
| @@ -472,7 +472,7 @@ int HTMLImageElement::naturalWidth() const
|
| if (!imageLoader().image())
|
| return 0;
|
|
|
| - return imageLoader().image()->imageSize(LayoutObject::shouldRespectImageOrientation(layoutObject()), m_imageDevicePixelRatio, ImageResource::IntrinsicCorrectedToDPR).width();
|
| + return imageLoader().image()->defaultConcreteObjectSize(LayoutObject::shouldRespectImageOrientation(layoutObject()), m_imageDevicePixelRatio, ImageResource::IntrinsicCorrectedToDPR).width();
|
| }
|
|
|
| int HTMLImageElement::naturalHeight() const
|
| @@ -480,7 +480,7 @@ int HTMLImageElement::naturalHeight() const
|
| if (!imageLoader().image())
|
| return 0;
|
|
|
| - return imageLoader().image()->imageSize(LayoutObject::shouldRespectImageOrientation(layoutObject()), m_imageDevicePixelRatio, ImageResource::IntrinsicCorrectedToDPR).height();
|
| + return imageLoader().image()->defaultConcreteObjectSize(LayoutObject::shouldRespectImageOrientation(layoutObject()), m_imageDevicePixelRatio, ImageResource::IntrinsicCorrectedToDPR).height();
|
| }
|
|
|
| const String& HTMLImageElement::currentSrc() const
|
| @@ -489,7 +489,7 @@ const String& HTMLImageElement::currentSrc() const
|
| // The currentSrc IDL attribute must return the img element's current request's current URL.
|
| // Initially, the pending request turns into current request when it is either available or broken.
|
| // We use the image's dimensions as a proxy to it being in any of these states.
|
| - if (!imageLoader().image() || !imageLoader().image()->image() || !imageLoader().image()->image()->width())
|
| + if (!imageLoader().image() || !imageLoader().image()->image() || !imageLoader().image()->image()->defaultConcreteObjectSizeWidth())
|
| return emptyAtom;
|
|
|
| return imageLoader().image()->url().string();
|
| @@ -618,7 +618,7 @@ PassRefPtr<Image> HTMLImageElement::getSourceImageForCanvas(SourceImageStatus* s
|
| RefPtr<Image> sourceImage;
|
| if (cachedImage()->image()->isSVGImage()) {
|
| sourceImage = SVGImageForContainer::create(toSVGImage(cachedImage()->image()),
|
| - cachedImage()->image()->size(), 1, document().completeURL(imageSourceURL()));
|
| + cachedImage()->image()->defaultConcreteObjectSize(), 1, document().completeURL(imageSourceURL()));
|
| } else {
|
| sourceImage = cachedImage()->image();
|
| }
|
| @@ -640,22 +640,22 @@ bool HTMLImageElement::wouldTaintOrigin(SecurityOrigin* destinationSecurityOrigi
|
| return !image->isAccessAllowed(destinationSecurityOrigin);
|
| }
|
|
|
| -FloatSize HTMLImageElement::elementSize() const
|
| +FloatSize HTMLImageElement::elementSize(const FloatSize& defaultObjectSize) const
|
| {
|
| ImageResource* image = cachedImage();
|
| if (!image)
|
| return FloatSize();
|
|
|
| - return FloatSize(image->imageSize(LayoutObject::shouldRespectImageOrientation(layoutObject()), 1.0f));
|
| + return FloatSize(image->concreteObjectSize(defaultObjectSize, LayoutObject::shouldRespectImageOrientation(layoutObject()), 1.0f));
|
| }
|
|
|
| -FloatSize HTMLImageElement::defaultDestinationSize() const
|
| +FloatSize HTMLImageElement::defaultDestinationSize(const FloatSize& defaultObjectSize) const
|
| {
|
| ImageResource* image = cachedImage();
|
| if (!image)
|
| return FloatSize();
|
| LayoutSize size;
|
| - size = image->imageSize(LayoutObject::shouldRespectImageOrientation(layoutObject()), 1.0f);
|
| + size = image->concreteObjectSize(defaultObjectSize, LayoutObject::shouldRespectImageOrientation(layoutObject()), 1.0f);
|
| if (layoutObject() && layoutObject()->isLayoutImage() && image->image() && !image->image()->hasRelativeSize())
|
| size.scale(toLayoutImage(layoutObject())->imageDevicePixelRatio());
|
| return FloatSize(size);
|
| @@ -813,7 +813,7 @@ IntSize HTMLImageElement::bitmapSourceSize() const
|
| ImageResource* image = cachedImage();
|
| if (!image)
|
| return IntSize();
|
| - LayoutSize lSize = image->imageSize(LayoutObject::shouldRespectImageOrientation(layoutObject()), 1.0f);
|
| + LayoutSize lSize = image->defaultConcreteObjectSize(LayoutObject::shouldRespectImageOrientation(layoutObject()), 1.0f);
|
| ASSERT(lSize.fraction().isZero());
|
| return IntSize(lSize.width(), lSize.height());
|
| }
|
|
|