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 3 // found in the LICENSE file. 4 5 #include "config.h" 6 #include "core/html/HTMLPictureElement.h" 7 8 #include "core/HTMLNames.h" 9 #include "core/dom/ElementTraversal.h" 10 #include "core/frame/UseCounter.h" 11 #include "core/html/HTMLImageElement.h" 12 #include "core/loader/ImageLoader.h" 13 14 namespace blink { 15 16 using namespace HTMLNames; 17 18 inline HTMLPictureElement::HTMLPictureElement(Document& document) 19 : HTMLElement(pictureTag, document) 20 { 21 } 22 23 DEFINE_NODE_FACTORY(HTMLPictureElement) 24 25 void HTMLPictureElement::sourceOrMediaChanged() 26 { 27 for (HTMLImageElement* imageElement = Traversal<HTMLImageElement>::firstChild(*this); imageElement; imageElement = Traversal<HTMLImageElement>::nextSibling(*imageElement)) { 28 imageElement->selectSourceURL(ImageLoader::UpdateNormal); 29 } 30 } 31 32 Node::InsertionNotificationRequest HTMLPictureElement::insertedInto(ContainerNode* insertionPoint) 33 { 34 UseCounter::count(document(), UseCounter::Picture); 35 return HTMLElement::insertedInto(insertionPoint); 36 } 37 38 } // namespace 39