2011-02-06 Dominic Cooney <dominicc@google.com>
authormorrita@google.com <morrita@google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 7 Feb 2011 01:40:17 +0000 (01:40 +0000)
committermorrita@google.com <morrita@google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 7 Feb 2011 01:40:17 +0000 (01:40 +0000)
commit307d116e7cf38f9609fc33d63c3ac4ef9c3bbfa0
treeb3fddb23b061019fbe0fa89a408550fc03f18a64
parente7f29ea0dd61c2e3009975127e99f33d13d78e2e
2011-02-06  Dominic Cooney  <dominicc@google.com>

        Reviewed by Dimitri Glazkov.

        Convert <keygen> option elements to a shadow DOM
        https://bugs.webkit.org/show_bug.cgi?id=51379

        * html5lib/runner-expected.txt: Two more tests pass.
        * platform/mac/fast/html/keygen-expected.txt: Shadow render tree.
        * platform/mac/fast/invalid/residual-style-expected.txt:
2011-02-03  Dominic Cooney  <dominicc@google.com>

        Reviewed by Dimitri Glazkov.

        Convert <keygen> option elements to a shadow DOM
        https://bugs.webkit.org/show_bug.cgi?id=51379

        Covered by existing tests e.g. fast/html/keygen.html,
        html5lib/runner.html, etc.

        * css/html.css:
        (form): Cleanup.
        (keygen, select): Border radii should match so focus ring looks good.
        (keygen::-webkit-keygen-select): No margin on the shadow element.
        (select): Hoisting border radius to keygen, select rule.
        * dom/SelectElement.cpp:
        (WebCore::toSelectElement): keygen is no longer a select element.
        * html/HTMLKeygenElement.cpp: Implements keygen shadow.
        (WebCore::KeygenSelectElement::create):
        (WebCore::KeygenSelectElement::shadowPseudoId):
        (WebCore::KeygenSelectElement::KeygenSelectElement):
        (WebCore::HTMLKeygenElement::HTMLKeygenElement):
        (WebCore::HTMLKeygenElement::parseMappedAttribute):
        (WebCore::HTMLKeygenElement::appendFormData):
        (WebCore::HTMLKeygenElement::formControlType):
        (WebCore::HTMLKeygenElement::reset):
        (WebCore::HTMLKeygenElement::selectShadow):
        * html/HTMLKeygenElement.h: keygen is no longer a select on C++ side.
        (WebCore::HTMLKeygenElement::canStartSelection):
        (WebCore::HTMLKeygenElement::isEnumeratable):
        (WebCore::HTMLKeygenElement::isResettable):
        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::ownerSelectElement): Only owned by selects.
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::HTMLSelectElement): Only 'select' tag name.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@77781 268f45cc-cd09-0410-ab3c-d52691b4dbfc
13 files changed:
LayoutTests/ChangeLog
LayoutTests/html5lib/runner-expected.txt
LayoutTests/platform/gtk/Skipped
LayoutTests/platform/mac/fast/html/keygen-expected.txt
LayoutTests/platform/mac/fast/invalid/residual-style-expected.txt
LayoutTests/platform/qt/Skipped
Source/WebCore/ChangeLog
Source/WebCore/css/html.css
Source/WebCore/dom/SelectElement.cpp
Source/WebCore/html/HTMLKeygenElement.cpp
Source/WebCore/html/HTMLKeygenElement.h
Source/WebCore/html/HTMLOptionElement.cpp
Source/WebCore/html/HTMLSelectElement.cpp