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: svn://svn.chromium.org/blink/trunk@77781 bbb929c8-8fbe-4397-9dbb-9b2b20218538
diff --git a/Source/WebCore/css/html.css b/Source/WebCore/css/html.css
index bc7a445..0f13fcb 100644
--- a/Source/WebCore/css/html.css
+++ b/Source/WebCore/css/html.css
@@ -323,7 +323,7 @@
form {
display: block;
- margin-top: 0__qem
+ margin-top: 0__qem;
}
label {
@@ -433,6 +433,14 @@
display: inline-block;
}
+keygen, select {
+ -webkit-border-radius: 5px;
+}
+
+keygen::-webkit-keygen-select {
+ margin: 0px;
+}
+
textarea {
-webkit-appearance: textarea;
background-color: white;
@@ -535,12 +543,11 @@
-webkit-box-sizing: border-box;
}
-keygen, select {
+select {
-webkit-appearance: menulist;
-webkit-box-sizing: border-box;
-webkit-box-align: center;
border: 1px solid;
- -webkit-border-radius: 5px;
white-space: pre;
-webkit-rtl-ordering: logical;
color: black;