From 238a77a59f94ad571e57ad8b92f001bfc2cf4611 Mon Sep 17 00:00:00 2001 From: "shinyak@chromium.org" Date: Wed, 22 Aug 2012 01:47:20 +0000 Subject: [PATCH] A shadow element in ShadowDOM of a button element does not work. https://bugs.webkit.org/show_bug.cgi?id=91486 Reviewed by Dimitri Glazkov. Source/WebCore: Since a button element is extended from an HTMLFormControlElement, it creates a UserAgentShadowDOM just before adding an AuthorShadowDOM. However, actually a button element does not need any UserAgentShadowDOM. So we have to prevent it from creating UserAgentShadowDOM. Test: fast/dom/shadow/shadowdom-for-button.html * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::willAddAuthorShadowRoot): (WebCore): * html/HTMLButtonElement.h: LayoutTests: * fast/dom/shadow/shadowdom-for-button-expected.html: Added. * fast/dom/shadow/shadowdom-for-button.html: Added. * fast/dom/shadow/shadowdom-for-form-associated-element-useragent-expected.txt: * fast/dom/shadow/shadowdom-for-form-associated-element-useragent.html: a button element does not have user agent shadow dom anymore. git-svn-id: https://svn.webkit.org/repository/webkit/trunk@126248 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- LayoutTests/ChangeLog | 13 ++++++++++++ .../dom/shadow/shadowdom-for-button-expected.html | 13 ++++++++++++ .../fast/dom/shadow/shadowdom-for-button.html | 23 ++++++++++++++++++++++ ...-form-associated-element-useragent-expected.txt | 2 -- ...wdom-for-form-associated-element-useragent.html | 3 +-- Source/WebCore/ChangeLog | 18 +++++++++++++++++ Source/WebCore/html/HTMLButtonElement.cpp | 4 ++++ Source/WebCore/html/HTMLButtonElement.h | 2 ++ 8 files changed, 74 insertions(+), 4 deletions(-) create mode 100644 LayoutTests/fast/dom/shadow/shadowdom-for-button-expected.html create mode 100644 LayoutTests/fast/dom/shadow/shadowdom-for-button.html diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog index 43a56f9..417309f 100644 --- a/LayoutTests/ChangeLog +++ b/LayoutTests/ChangeLog @@ -1,3 +1,16 @@ +2012-08-21 Shinya Kawanaka + + A shadow element in ShadowDOM of a button element does not work. + https://bugs.webkit.org/show_bug.cgi?id=91486 + + Reviewed by Dimitri Glazkov. + + * fast/dom/shadow/shadowdom-for-button-expected.html: Added. + * fast/dom/shadow/shadowdom-for-button.html: Added. + * fast/dom/shadow/shadowdom-for-form-associated-element-useragent-expected.txt: + * fast/dom/shadow/shadowdom-for-form-associated-element-useragent.html: a button element + does not have user agent shadow dom anymore. + 2012-08-21 Kenneth Russell Unreviewed Chromium gardening. Suppress crashes of new test. diff --git a/LayoutTests/fast/dom/shadow/shadowdom-for-button-expected.html b/LayoutTests/fast/dom/shadow/shadowdom-for-button-expected.html new file mode 100644 index 0000000..b8e57e2 --- /dev/null +++ b/LayoutTests/fast/dom/shadow/shadowdom-for-button-expected.html @@ -0,0 +1,13 @@ + + + + + + +

When a button element has a shadow dom having a shadow element, it should get the children of the button element.

+ + + + + + diff --git a/LayoutTests/fast/dom/shadow/shadowdom-for-button.html b/LayoutTests/fast/dom/shadow/shadowdom-for-button.html new file mode 100644 index 0000000..504603c --- /dev/null +++ b/LayoutTests/fast/dom/shadow/shadowdom-for-button.html @@ -0,0 +1,23 @@ + + + + + + +

When a button element has a shadow dom having a shadow element, it should get the children of the button element.

+ + + + + + + + diff --git a/LayoutTests/fast/dom/shadow/shadowdom-for-form-associated-element-useragent-expected.txt b/LayoutTests/fast/dom/shadow/shadowdom-for-form-associated-element-useragent-expected.txt index 03b6199..ed54363 100644 --- a/LayoutTests/fast/dom/shadow/shadowdom-for-form-associated-element-useragent-expected.txt +++ b/LayoutTests/fast/dom/shadow/shadowdom-for-form-associated-element-useragent-expected.txt @@ -6,8 +6,6 @@ PASS oldestShadowRoot is not shadowRoot PASS youngerShadowRoot is shadowRoot PASS oldestShadowRoot is not shadowRoot PASS youngerShadowRoot is shadowRoot -PASS oldestShadowRoot is not shadowRoot -PASS youngerShadowRoot is shadowRoot PASS successfullyParsed is true TEST COMPLETE diff --git a/LayoutTests/fast/dom/shadow/shadowdom-for-form-associated-element-useragent.html b/LayoutTests/fast/dom/shadow/shadowdom-for-form-associated-element-useragent.html index f7ae799..c486e08 100644 --- a/LayoutTests/fast/dom/shadow/shadowdom-for-form-associated-element-useragent.html +++ b/LayoutTests/fast/dom/shadow/shadowdom-for-form-associated-element-useragent.html @@ -7,7 +7,6 @@

When a AuthorShadowRoot is added, UserAgentShadowRoot should exists as the oldest Shadow Root.

- @@ -21,7 +20,7 @@