| Index: Source/core/html/HTMLImageElement.cpp
|
| diff --git a/Source/core/html/HTMLImageElement.cpp b/Source/core/html/HTMLImageElement.cpp
|
| index db192613c5c750cdb22c3ce84d94dc12debf0d24..b03b7e8d7d7badec7c3245a05ffc324f2db7c821 100644
|
| --- a/Source/core/html/HTMLImageElement.cpp
|
| +++ b/Source/core/html/HTMLImageElement.cpp
|
| @@ -320,12 +320,7 @@ ImageCandidate HTMLImageElement::findBestFitImageFromPictureParent()
|
| if (!source->mediaQueryMatches())
|
| continue;
|
|
|
| - String sizes = source->fastGetAttribute(sizesAttr);
|
| - if (!sizes.isNull())
|
| - UseCounter::count(document(), UseCounter::Sizes);
|
| - SizesAttributeParser parser = SizesAttributeParser(MediaValuesDynamic::create(document()), sizes);
|
| - float effectiveSize = parser.length();
|
| - ImageCandidate candidate = bestFitSourceForSrcsetAttribute(document().devicePixelRatio(), effectiveSize, source->fastGetAttribute(srcsetAttr), &document());
|
| + ImageCandidate candidate = bestFitSourceForSrcsetAttribute(document().devicePixelRatio(), sourceSize(*source), source->fastGetAttribute(srcsetAttr), &document());
|
| if (candidate.isEmpty())
|
| continue;
|
| return candidate;
|
| @@ -635,6 +630,14 @@ FloatSize HTMLImageElement::defaultDestinationSize() const
|
| return FloatSize(size);
|
| }
|
|
|
| +float HTMLImageElement::sourceSize(Element& element)
|
| +{
|
| + String sizes = element.fastGetAttribute(sizesAttr);
|
| + if (!sizes.isNull())
|
| + UseCounter::count(document(), UseCounter::Sizes);
|
| + return SizesAttributeParser(MediaValuesDynamic::create(document()), sizes).length();
|
| +}
|
| +
|
| void HTMLImageElement::selectSourceURL(ImageLoader::UpdateFromElementBehavior behavior)
|
| {
|
| if (!document().isActive())
|
| @@ -650,12 +653,7 @@ void HTMLImageElement::selectSourceURL(ImageLoader::UpdateFromElementBehavior be
|
| }
|
|
|
| if (!foundURL) {
|
| - String sizes = fastGetAttribute(sizesAttr);
|
| - if (!sizes.isNull())
|
| - UseCounter::count(document(), UseCounter::Sizes);
|
| - SizesAttributeParser parser = SizesAttributeParser(MediaValuesDynamic::create(document()), sizes);
|
| - float effectiveSize = parser.length();
|
| - ImageCandidate candidate = bestFitSourceForImageAttributes(document().devicePixelRatio(), effectiveSize, fastGetAttribute(srcAttr), fastGetAttribute(srcsetAttr), &document());
|
| + ImageCandidate candidate = bestFitSourceForImageAttributes(document().devicePixelRatio(), sourceSize(*this), fastGetAttribute(srcAttr), fastGetAttribute(srcsetAttr), &document());
|
| setBestFitURLAndDPRFromImageCandidate(candidate);
|
| }
|
| if (m_intrinsicSizingViewportDependant && !m_listener) {
|
|
|