| Index: third_party/WebKit/Source/core/html/HTMLPictureElement.cpp
|
| diff --git a/third_party/WebKit/Source/core/html/HTMLPictureElement.cpp b/third_party/WebKit/Source/core/html/HTMLPictureElement.cpp
|
| index f71379d9380dfb70f566c90e38b603870d037655..96fa451878770a4c6d00f32638eb8557b1619097 100644
|
| --- a/third_party/WebKit/Source/core/html/HTMLPictureElement.cpp
|
| +++ b/third_party/WebKit/Source/core/html/HTMLPictureElement.cpp
|
| @@ -9,6 +9,7 @@
|
| #include "core/dom/ElementTraversal.h"
|
| #include "core/frame/UseCounter.h"
|
| #include "core/html/HTMLImageElement.h"
|
| +#include "core/html/HTMLSourceElement.h"
|
| #include "core/loader/ImageLoader.h"
|
|
|
| namespace blink {
|
| @@ -22,10 +23,14 @@ inline HTMLPictureElement::HTMLPictureElement(Document& document)
|
|
|
| DEFINE_NODE_FACTORY(HTMLPictureElement)
|
|
|
| -void HTMLPictureElement::sourceOrMediaChanged()
|
| +void HTMLPictureElement::sourceOrMediaChanged(HTMLElement* sourceElement, Node* next)
|
| {
|
| - for (HTMLImageElement* imageElement = Traversal<HTMLImageElement>::firstChild(*this); imageElement; imageElement = Traversal<HTMLImageElement>::nextSibling(*imageElement)) {
|
| - imageElement->selectSourceURL(ImageLoader::UpdateNormal);
|
| + bool seenSource = false;
|
| + for (HTMLElement* element = Traversal<HTMLElement>::firstChild(*this); element; element = Traversal<HTMLElement>::nextSibling(*element)) {
|
| + if (sourceElement == element || (next && element == next))
|
| + seenSource = true;
|
| + if (isHTMLImageElement(element) && seenSource)
|
| + toHTMLImageElement(element)->selectSourceURL(ImageLoader::UpdateNormal);
|
| }
|
| }
|
|
|
|
|