Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4)

Side by Side Diff: third_party/WebKit/Source/core/html/HTMLPictureElement.cpp

Issue 1511523002: Align HTMLImageElement relevant mutations to spec (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: nit fix Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "config.h" 5 #include "config.h"
6 #include "core/html/HTMLPictureElement.h" 6 #include "core/html/HTMLPictureElement.h"
7 7
8 #include "core/HTMLNames.h" 8 #include "core/HTMLNames.h"
9 #include "core/dom/ElementTraversal.h" 9 #include "core/dom/ElementTraversal.h"
10 #include "core/frame/UseCounter.h" 10 #include "core/frame/UseCounter.h"
11 #include "core/html/HTMLImageElement.h" 11 #include "core/html/HTMLImageElement.h"
12 #include "core/html/HTMLSourceElement.h"
12 #include "core/loader/ImageLoader.h" 13 #include "core/loader/ImageLoader.h"
13 14
14 namespace blink { 15 namespace blink {
15 16
16 using namespace HTMLNames; 17 using namespace HTMLNames;
17 18
18 inline HTMLPictureElement::HTMLPictureElement(Document& document) 19 inline HTMLPictureElement::HTMLPictureElement(Document& document)
19 : HTMLElement(pictureTag, document) 20 : HTMLElement(pictureTag, document)
20 { 21 {
21 } 22 }
22 23
23 DEFINE_NODE_FACTORY(HTMLPictureElement) 24 DEFINE_NODE_FACTORY(HTMLPictureElement)
24 25
25 void HTMLPictureElement::sourceOrMediaChanged() 26 void HTMLPictureElement::sourceOrMediaChanged(HTMLElement* sourceElement, Node* next)
26 { 27 {
27 for (HTMLImageElement* imageElement = Traversal<HTMLImageElement>::firstChil d(*this); imageElement; imageElement = Traversal<HTMLImageElement>::nextSibling( *imageElement)) { 28 bool seenSource = false;
28 imageElement->selectSourceURL(ImageLoader::UpdateNormal); 29 for (HTMLElement* element = Traversal<HTMLElement>::firstChild(*this); eleme nt; element = Traversal<HTMLElement>::nextSibling(*element)) {
30 if (sourceElement == element || (next && element == next))
31 seenSource = true;
32 if (isHTMLImageElement(element) && seenSource)
33 toHTMLImageElement(element)->selectSourceURL(ImageLoader::UpdateNorm al);
29 } 34 }
30 } 35 }
31 36
32 Node::InsertionNotificationRequest HTMLPictureElement::insertedInto(ContainerNod e* insertionPoint) 37 Node::InsertionNotificationRequest HTMLPictureElement::insertedInto(ContainerNod e* insertionPoint)
33 { 38 {
34 UseCounter::count(document(), UseCounter::Picture); 39 UseCounter::count(document(), UseCounter::Picture);
35 return HTMLElement::insertedInto(insertionPoint); 40 return HTMLElement::insertedInto(insertionPoint);
36 } 41 }
37 42
38 } // namespace 43 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698