| Index: Source/core/html/HTMLImageElement.cpp | 
| diff --git a/Source/core/html/HTMLImageElement.cpp b/Source/core/html/HTMLImageElement.cpp | 
| index f7bd98a18f95fb54b6e865414260d07a5ac7c274..0ce1d2ce4697f23f46611c0923a13139762f5957 100644 | 
| --- a/Source/core/html/HTMLImageElement.cpp | 
| +++ b/Source/core/html/HTMLImageElement.cpp | 
| @@ -27,6 +27,8 @@ | 
| #include "HTMLNames.h" | 
| #include "RuntimeEnabledFeatures.h" | 
| #include "bindings/v8/ScriptEventListener.h" | 
| +#include "core/css/MediaValuesDynamic.h" | 
| +#include "core/css/parser/SizesAttributeParser.h" | 
| #include "core/dom/Attribute.h" | 
| #include "core/fetch/ImageResource.h" | 
| #include "core/html/HTMLAnchorElement.h" | 
| @@ -49,6 +51,7 @@ HTMLImageElement::HTMLImageElement(Document& document, HTMLFormElement* form) | 
| , m_compositeOperator(CompositeSourceOver) | 
| , m_imageDevicePixelRatio(1.0f) | 
| , m_formWasSetByParser(false) | 
| +    , m_effectiveSize(0) | 
| { | 
| ScriptWrappable::init(this); | 
| if (form && form->inDocument()) { | 
| @@ -163,6 +166,8 @@ void HTMLImageElement::parseAttribute(const QualifiedName& name, const AtomicStr | 
| if (renderer() && renderer()->isImage()) | 
| toRenderImage(renderer())->setImageDevicePixelRatio(m_imageDevicePixelRatio); | 
| m_imageLoader.updateFromElementIgnoringPreviousError(); | 
| +    } else if (RuntimeEnabledFeatures::pictureSizesEnabled() && name == sizesAttr) { | 
| +        m_effectiveSize = SizesAttributeParser::findEffectiveSize(value, MediaValuesDynamic::create(document())); | 
| } else if (name == usemapAttr) { | 
| setIsLink(!value.isNull()); | 
| } else if (name == compositeAttr) { | 
|  |