Source/WebCore/ChangeLog

 12012-07-19 Shinya Kawanaka <shinyak@chromium.org>
 2
 3 Needs pseudo id to point the inner element of an img elemnet for styling
 4 https://bugs.webkit.org/show_bug.cgi?id=91590
 5
 6 Reviewed by Hajime Morita.
 7
 8 We introduce pseudo id to point the element in UserAgentShadowDOM.
 9 This enables us to style the inner element of an img element shadow.
 10 Please see also http://trac.webkit.org/wiki/ShadowDOMForReplacedElements
 11
 12 Test: fast/dom/shadow/shadowdom-for-image-with-pseudo-id.html
 13
 14 * html/shadow/ImageInnerElement.cpp:
 15 (WebCore::ImageInnerElement::shadowPseudoId):
 16 (WebCore):
 17 * html/shadow/ImageInnerElement.h:
 18 (ImageInnerElement):
 19
1202012-07-19 Dmitry Titov <dimich@chromium.org>
221
322 Unreviewed, reverting http://trac.webkit.org/changeset/123149.

Source/WebCore/html/shadow/ImageInnerElement.cpp

@@RenderObject* ImageInnerElement::createRenderer(RenderArena* arena, RenderStyle*
6868 return createRendererForImage(this, arena);
6969}
7070
 71const AtomicString& ImageInnerElement::shadowPseudoId() const
 72{
 73 DEFINE_STATIC_LOCAL(AtomicString, pseudoId, ("-webkit-image-inner-element"));
 74 return pseudoId;
 75}
 76
7177}

Source/WebCore/html/shadow/ImageInnerElement.h

@@private:
5353
5454 virtual void attach() OVERRIDE;
5555 virtual RenderObject* createRenderer(RenderArena*, RenderStyle*) OVERRIDE;
 56
 57 virtual const AtomicString& shadowPseudoId() const OVERRIDE;
5658};
5759
5860inline PassRefPtr<ImageInnerElement> ImageInnerElement::create(Document* document)

LayoutTests/ChangeLog

 12012-07-19 Shinya Kawanaka <shinyak@chromium.org>
 2
 3 Needs pseudo id to point the inner element of an img elemnet for styling
 4 https://bugs.webkit.org/show_bug.cgi?id=91590
 5
 6 Reviewed by Hajime Morita.
 7
 8 Uses pseudo id to confirm the style is applied to the inner element of an img element shadow.
 9
 10 * fast/dom/shadow/shadowdom-for-image-with-pseudo-id-expected.html: Added.
 11 * fast/dom/shadow/shadowdom-for-image-with-pseudo-id.html: Added.
 12
1132012-07-19 Erik Arvidsson <arv@chromium.org>
214
315 Fix test after r123145.

LayoutTests/fast/dom/shadow/shadowdom-for-image-with-pseudo-id-expected.html

 1<!DOCTYPE html>
 2<html>
 3<body>
 4<div id="container">
 5 <div>
 6 <div style="display: inline-block">(before)<img src="../resources/apple.gif" width="100" height="100">(after)</div>
 7 </div>
 8</div>
 9</body>
 10</html>

LayoutTests/fast/dom/shadow/shadowdom-for-image-with-pseudo-id.html

 1<!DOCTYPE html>
 2<html>
 3<body>
 4<script src="resources/polyfill.js"></script>
 5<style>
 6#host::-webkit-image-inner-element {
 7 width: 100px;
 8 height: 100px;
 9}
 10</style>
 11
 12<div id="container">
 13 <div>
 14 <img id="host" src="../resources/apple.gif">
 15 </div>
 16</div>
 17
 18<script>
 19function addShadowDOM(host) {
 20 var shadowRoot = new WebKitShadowRoot(host);
 21 shadowRoot.innerHTML = "(before)<shadow></shadow>(after)";
 22}
 23
 24addShadowDOM(host);
 25</script>
 26
 27</body>
 28</html>