+2012-04-06 Keishi Hattori <keishi@webkit.org>
+
+ Remove obsolete parts of <datalist> support code
+ https://bugs.webkit.org/show_bug.cgi?id=83117
+
+ Removed tests for HTMLInputElement.selectedOption and -webkit-appearance:list-button.
+
+ Reviewed by Kent Tamura.
+
+ * fast/forms/datalist/input-selectedoption-expected.txt: Removed.
+ * fast/forms/datalist/input-selectedoption.html: Removed.
+ * platform/chromium-linux/fast/forms/datalist/input-selectedoption-expected.png: Removed.
+ * platform/chromium-mac-leopard/fast/forms/datalist/input-selectedoption-expected.png: Removed.
+ * platform/chromium-mac/fast/forms/datalist/input-selectedoption-expected.png: Removed.
+ * platform/chromium-mac/fast/forms/datalist/input-selectedoption-expected.txt: Removed.
+ * platform/chromium-win/fast/forms/datalist/input-selectedoption-expected.png: Removed.
+ * platform/chromium-win/fast/forms/datalist/input-selectedoption-expected.txt: Removed.
+ * platform/chromium-win/platform/mac/fast/forms/input-list-button-size-expected.png: Removed.
+ * platform/gtk/fast/forms/input-selectedoption-expected.txt: Removed.
+ * platform/mac-leopard/fast/forms/input-list-button-size-expected.png: Removed.
+ * platform/mac/Skipped:
+ * platform/mac/fast/forms/input-list-button-size-expected.png: Removed.
+ * platform/mac/fast/forms/input-list-button-size-expected.txt: Removed.
+ * platform/mac/fast/forms/input-list-button-size.html: Removed.
+
2012-04-06 James Simonsen <simonjam@chromium.org>
[Chromium] Unreviewed gardening.
+++ /dev/null
-Test for the selectedOption attribute.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS input.selectedOption is null
-PASS input.selectedOption is null
-PASS input.selectedOption is null
-PASS input.selectedOption is null
-PASS input.selectedOption is document.getElementById("o1")
-PASS input.selectedOption is document.getElementById("o2")
-PASS input.selectedOption is null
-PASS input.selectedOption is null
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<script src="../../fast/js/resources/js-test-pre.js"></script>
-</head>
-<body>
-<p id="description"></p>
-<div id="console"></div>
-
-<!-- Empty value and no list attribute -->
-<input type="text" id="i1" value="">
-<!-- Empty list -->
-<input type="text" id="i2" value="foo" list="">
-<!-- Empty datalist -->
-<input type="text" id="i3" value="foo" list="dl1">
-<!-- Empty value and empty option -->
-<input type="text" id="i4" value="" list="dl2">
-<!-- Match cases -->
-<Input type="text" id="i5" value="foo" list="dl3">
-<Input type="text" id="i6" value="bar" list="dl3">
-<!-- Unmatch case -->
-<Input type="text" id="i7" value="foo" list="dl4">
-
-<datalist id="dl1">
-</datalist>
-<datalist id="dl2">
- <option></option>
-</datalist>
-<datalist id="dl3">
- <option id="o1">foo</option>
- <option id="o2">bar</option>
-</datalist>
-<datalist id="dl3">
- <option>bar</option>
-</datalist>
-
-<script>
-description('Test for the selectedOption attribute.');
-
-var input = document.getElementById('i1');
-shouldBeNull('input.selectedOption');
-
-input = document.getElementById('i2');
-shouldBeNull('input.selectedOption');
-
-input = document.getElementById('i3');
-shouldBeNull('input.selectedOption');
-
-input = document.getElementById('i4');
-shouldBeNull('input.selectedOption');
-
-input = document.getElementById('i5');
-shouldBe('input.selectedOption', 'document.getElementById("o1")');
-input = document.getElementById('i6');
-shouldBe('input.selectedOption', 'document.getElementById("o2")');
-
-document.getElementById('o1').disabled = true;
-input = document.getElementById('i5');
-shouldBeNull('input.selectedOption');
-
-input = document.getElementById('i7');
-shouldBeNull('input.selectedOption');
-</script>
-<script src="../../fast/js/resources/js-test-post.js"></script>
-</body>
-</html>
+++ /dev/null
-CONSOLE MESSAGE: line 38: Uncaught TypeError: Property 'description' of object [object Window] is not a function
-layer at (0,0) size 800x600
- RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
- RenderBlock {HTML} at (0,0) size 800x600
- RenderBody {BODY} at (8,8) size 784x584
- RenderBlock {P} at (0,0) size 784x0
- RenderBlock {DIV} at (0,0) size 784x0
- RenderBlock (anonymous) at (0,0) size 784x46
- RenderTextControl {INPUT} at (2,2) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBlock {DIV} at (3,3) size 119x13
- RenderText {#text} at (129,2) size 4x18
- text run at (129,2) width 4: " "
- RenderText {#text} at (0,0) size 0x0
- RenderTextControl {INPUT} at (135,2) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBlock {DIV} at (3,3) size 119x13
- RenderText {#text} at (1,0) size 18x13
- text run at (1,0) width 18: "foo"
- RenderText {#text} at (262,2) size 4x18
- text run at (262,2) width 4: " "
- RenderText {#text} at (0,0) size 0x0
- RenderTextControl {INPUT} at (268,2) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBlock {DIV} at (3,3) size 119x13
- RenderText {#text} at (1,0) size 18x13
- text run at (1,0) width 18: "foo"
- RenderText {#text} at (395,2) size 4x18
- text run at (395,2) width 4: " "
- RenderText {#text} at (0,0) size 0x0
- RenderTextControl {INPUT} at (401,2) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBlock {DIV} at (3,3) size 119x13
- RenderText {#text} at (528,2) size 4x18
- text run at (528,2) width 4: " "
- RenderText {#text} at (0,0) size 0x0
- RenderTextControl {INPUT} at (534,2) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBlock {DIV} at (3,3) size 119x13
- RenderText {#text} at (1,0) size 18x13
- text run at (1,0) width 18: "foo"
- RenderText {#text} at (661,2) size 4x18
- text run at (661,2) width 4: " "
- RenderTextControl {INPUT} at (2,25) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBlock {DIV} at (3,3) size 119x13
- RenderText {#text} at (1,0) size 18x13
- text run at (1,0) width 18: "bar"
- RenderText {#text} at (129,25) size 4x18
- text run at (129,25) width 4: " "
- RenderText {#text} at (0,0) size 0x0
- RenderTextControl {INPUT} at (135,25) size 125x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBlock {DIV} at (3,3) size 119x13
- RenderText {#text} at (1,0) size 18x13
- text run at (1,0) width 18: "foo"
- RenderText {#text} at (0,0) size 0x0
- RenderInline {DATALIST} at (0,0) size 0x0
- RenderText {#text} at (0,0) size 0x0
- RenderText {#text} at (0,0) size 0x0
- RenderInline {DATALIST} at (0,0) size 0x0
- RenderText {#text} at (0,0) size 0x0
- RenderText {#text} at (0,0) size 0x0
- RenderText {#text} at (0,0) size 0x0
- RenderInline {DATALIST} at (0,0) size 0x0
- RenderText {#text} at (0,0) size 0x0
- RenderText {#text} at (0,0) size 0x0
- RenderText {#text} at (0,0) size 0x0
- RenderText {#text} at (0,0) size 0x0
- RenderInline {DATALIST} at (0,0) size 0x0
- RenderText {#text} at (0,0) size 0x0
- RenderText {#text} at (0,0) size 0x0
- RenderText {#text} at (0,0) size 0x0
- RenderText {#text} at (0,0) size 0x0
- RenderText {#text} at (0,0) size 0x0
+++ /dev/null
-CONSOLE MESSAGE: line 38: Uncaught TypeError: Property 'description' of object [object Window] is not a function
-layer at (0,0) size 800x600
- RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
- RenderBlock {HTML} at (0,0) size 800x600
- RenderBody {BODY} at (8,8) size 784x584
- RenderBlock {P} at (0,0) size 784x0
- RenderBlock {DIV} at (0,0) size 784x0
- RenderBlock (anonymous) at (0,0) size 784x52
- RenderTextControl {INPUT} at (2,2) size 155x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBlock {DIV} at (2,3) size 151x16
- RenderText {#text} at (159,3) size 4x19
- text run at (159,3) width 4: " "
- RenderText {#text} at (0,0) size 0x0
- RenderTextControl {INPUT} at (165,2) size 155x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBlock {DIV} at (2,3) size 151x16
- RenderText {#text} at (1,0) size 17x16
- text run at (1,0) width 17: "foo"
- RenderText {#text} at (322,3) size 4x19
- text run at (322,3) width 4: " "
- RenderText {#text} at (0,0) size 0x0
- RenderTextControl {INPUT} at (328,2) size 155x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBlock {DIV} at (2,3) size 151x16
- RenderText {#text} at (1,0) size 17x16
- text run at (1,0) width 17: "foo"
- RenderText {#text} at (485,3) size 4x19
- text run at (485,3) width 4: " "
- RenderText {#text} at (0,0) size 0x0
- RenderTextControl {INPUT} at (491,2) size 155x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBlock {DIV} at (2,3) size 151x16
- RenderText {#text} at (0,0) size 0x0
- RenderText {#text} at (0,0) size 0x0
- RenderTextControl {INPUT} at (2,28) size 155x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBlock {DIV} at (2,3) size 151x16
- RenderText {#text} at (1,0) size 17x16
- text run at (1,0) width 17: "foo"
- RenderText {#text} at (159,29) size 4x19
- text run at (159,29) width 4: " "
- RenderTextControl {INPUT} at (165,28) size 155x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBlock {DIV} at (2,3) size 151x16
- RenderText {#text} at (1,0) size 18x16
- text run at (1,0) width 18: "bar"
- RenderText {#text} at (322,29) size 4x19
- text run at (322,29) width 4: " "
- RenderText {#text} at (0,0) size 0x0
- RenderTextControl {INPUT} at (328,28) size 155x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBlock {DIV} at (2,3) size 151x16
- RenderText {#text} at (1,0) size 17x16
- text run at (1,0) width 17: "foo"
- RenderText {#text} at (0,0) size 0x0
- RenderInline {DATALIST} at (0,0) size 0x0
- RenderText {#text} at (0,0) size 0x0
- RenderText {#text} at (0,0) size 0x0
- RenderInline {DATALIST} at (0,0) size 0x0
- RenderText {#text} at (0,0) size 0x0
- RenderText {#text} at (0,0) size 0x0
- RenderText {#text} at (0,0) size 0x0
- RenderInline {DATALIST} at (0,0) size 0x0
- RenderText {#text} at (0,0) size 0x0
- RenderText {#text} at (0,0) size 0x0
- RenderText {#text} at (0,0) size 0x0
- RenderText {#text} at (0,0) size 0x0
- RenderInline {DATALIST} at (0,0) size 0x0
- RenderText {#text} at (0,0) size 0x0
- RenderText {#text} at (0,0) size 0x0
- RenderText {#text} at (0,0) size 0x0
- RenderText {#text} at (0,0) size 0x0
- RenderText {#text} at (0,0) size 0x0
+++ /dev/null
-Test for the selectedOption attribute.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS input.selectedOption is null
-PASS input.selectedOption is null
-PASS input.selectedOption is null
-PASS input.selectedOption is null
-PASS input.selectedOption is document.getElementById("o1")
-PASS input.selectedOption is document.getElementById("o2")
-PASS input.selectedOption is null
-PASS input.selectedOption is null
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
# Datalist is not yet enabled.
fast/forms/datalist
-platform/mac/fast/forms/input-list-button-size.html
# Color input is not yet enabled.
fast/forms/color
+++ /dev/null
-layer at (0,0) size 800x600
- RenderView at (0,0) size 800x600
-layer at (0,0) size 800x118
- RenderBlock {HTML} at (0,0) size 800x118
- RenderBody {BODY} at (8,10) size 784x92
- RenderBlock {P} at (0,0) size 784x19
- RenderText {#text} at (0,6) size 22x13
- text run at (0,6) width 22: "mini "
- RenderBlock {SPAN} at (22,0) size 17x16
- RenderBlock {P} at (0,30) size 784x21
- RenderText {#text} at (0,8) size 27x13
- text run at (0,8) width 27: "small "
- RenderBlock {SPAN} at (27,0) size 19x18
- RenderBlock {P} at (0,67) size 784x25
- RenderText {#text} at (0,7) size 48x18
- text run at (0,7) width 48: "regular "
- RenderBlock {SPAN} at (48,0) size 21x21
+++ /dev/null
-<!DOCTYPE html>
-<html>
-<head>
-<script src="../../fast/js/resources/js-test-pre.js"></script>
-<style>
-.listbutton {
- -webkit-appearance: list-button;
- display: inline-block;
-}
-</style>
-</head>
-<body>
-<!--
- The list-button size on Mac is depends on a font size.
- It is either 17x16, 19x18, or 21x21.
- -->
-<p style="font-size:10px;">mini <span class="listbutton"></span></p>
-<p style="font-size:11px;">small <span class="listbutton"></span></p>
-<p style="font-size:16px;">regular <span class="listbutton"></span></p>
-<script src="../../fast/js/resources/js-test-post.js"></script>
-</body>
-</html>
+2012-04-06 Keishi Hattori <keishi@webkit.org>
+
+ Remove obsolete parts of <datalist> support code
+ https://bugs.webkit.org/show_bug.cgi?id=83117
+
+ Removing HTMLInputElement::selectedOption because it was removed from the specification.
+ Removing -webkit-appearance:list-button and -webkit-input-list-button pseudo selector
+ related code because we decided not to use it.
+
+ Reviewed by Kent Tamura.
+
+ * WebCore.order:
+ * css/CSSPrimitiveValueMappings.h:
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::pseudoId):
+ (WebCore::nameToPseudoTypeMap):
+ (WebCore::CSSSelector::extractPseudoType):
+ * css/CSSSelector.h:
+ * css/CSSValueKeywords.in:
+ * css/html.css:
+ (datalist):
+ * html/HTMLInputElement.cpp:
+ * html/HTMLInputElement.h:
+ (HTMLInputElement):
+ * html/HTMLInputElement.idl:
+ * inspector/front-end/SourceCSSTokenizer.js:
+ (WebInspector.SourceCSSTokenizer):
+ * inspector/front-end/SourceCSSTokenizer.re2js:
+ * inspector/front-end/StylesSidebarPane.js:
+ * platform/ThemeTypes.h:
+ * platform/chromium/ThemeChromiumMac.mm:
+ (WebCore::setupButtonCell):
+ (WebCore::paintButton):
+ (WebCore::ThemeChromiumMac::controlSize):
+ (WebCore::ThemeChromiumMac::minimumControlSize):
+ (WebCore::ThemeChromiumMac::controlBorder):
+ (WebCore::ThemeChromiumMac::paint):
+ * platform/mac/ThemeMac.mm:
+ (WebCore::setUpButtonCell):
+ (WebCore::paintButton):
+ (WebCore::ThemeMac::controlSize):
+ (WebCore::ThemeMac::minimumControlSize):
+ (WebCore::ThemeMac::controlBorder):
+ (WebCore::ThemeMac::paint):
+ * platform/qt/RenderThemeQtMobile.cpp:
+ (WebCore::RenderThemeQtMobile::computeSizeBasedOnStyle):
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::adjustStyle):
+ (WebCore::RenderTheme::paint):
+ (WebCore::RenderTheme::paintBorderOnly):
+ (WebCore::RenderTheme::paintDecorations):
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::adjustRepaintRect):
+
2012-04-06 Oliver Hunt <oliver@apple.com>
Accessing the returnValue of a modal dialog should be performed directly on the global object.
__ZNK7WebCore16HTMLInputElement11valueAsDateEv
__ZNK7WebCore9InputType11valueAsDateEv
__ZN7WebCore12jsDateOrNullEPN3JSC9ExecStateEd
-__ZN7WebCore32jsHTMLInputElementSelectedOptionEPN3JSC9ExecStateENS0_7JSValueERKNS0_10IdentifierE
-__ZNK7WebCore16HTMLInputElement14selectedOptionEv
__ZNK7WebCore16HTMLInputElement20cachedSelectionStartEv
__ZN7WebCore29jsHTMLInputElementConstructorEPN3JSC9ExecStateENS0_7JSValueERKNS0_10IdentifierE
__ZN7WebCore14JSDOMTokenList19getOwnPropertyNamesEPN3JSC9ExecStateERNS1_17PropertyNameArrayENS1_15EnumerationModeE
case ListboxPart:
m_value.ident = CSSValueListbox;
break;
- case ListButtonPart:
-#if ENABLE(DATALIST)
- m_value.ident = CSSValueListButton;
-#endif
- break;
case ListItemPart:
m_value.ident = CSSValueListitem;
break;
case PseudoAnimatingFullScreenTransition:
return ANIMATING_FULL_SCREEN_TRANSITION;
#endif
-
- case PseudoInputListButton:
-#if ENABLE(DATALIST)
- return INPUT_LIST_BUTTON;
-#endif
case PseudoUnknown:
case PseudoEmpty:
case PseudoFirstChild:
DEFINE_STATIC_LOCAL(AtomicString, focus, ("focus"));
DEFINE_STATIC_LOCAL(AtomicString, hover, ("hover"));
DEFINE_STATIC_LOCAL(AtomicString, indeterminate, ("indeterminate"));
-#if ENABLE(DATALIST)
- DEFINE_STATIC_LOCAL(AtomicString, inputListButton, ("-webkit-input-list-button"));
-#endif
DEFINE_STATIC_LOCAL(AtomicString, lastChild, ("last-child"));
DEFINE_STATIC_LOCAL(AtomicString, lastOfType, ("last-of-type"));
DEFINE_STATIC_LOCAL(AtomicString, link, ("link"));
nameToPseudoType->set(empty.impl(), CSSSelector::PseudoEmpty);
nameToPseudoType->set(firstChild.impl(), CSSSelector::PseudoFirstChild);
nameToPseudoType->set(fullPageMedia.impl(), CSSSelector::PseudoFullPageMedia);
-#if ENABLE(DATALIST)
- nameToPseudoType->set(inputListButton.impl(), CSSSelector::PseudoInputListButton);
-#endif
nameToPseudoType->set(lastChild.impl(), CSSSelector::PseudoLastChild);
nameToPseudoType->set(lastOfType.impl(), CSSSelector::PseudoLastOfType);
nameToPseudoType->set(onlyChild.impl(), CSSSelector::PseudoOnlyChild);
case PseudoFirstLetter:
case PseudoFirstLine:
compat = true;
- case PseudoInputListButton:
case PseudoResizer:
case PseudoScrollbar:
case PseudoScrollbarCorner:
PseudoSingleButton,
PseudoNoButton,
PseudoSelection,
- PseudoInputListButton,
PseudoLeftPage,
PseudoRightPage,
PseudoFirstPage,
default-button
inner-spin-button
-webkit-input-speech-button
-list-button
listbox
listitem
media-enter-fullscreen-button
datalist {
display: none;
}
-
-input::-webkit-input-list-button {
- -webkit-appearance: list-button;
- display: inline-block;
-}
#endif
input::-webkit-inner-spin-button {
return static_cast<HTMLDataListElement*>(element);
}
-HTMLOptionElement* HTMLInputElement::selectedOption() const
-{
- String value = this->value();
-
- // The empty string never matches to a datalist option because it
- // doesn't represent a suggestion according to the standard.
- if (value.isEmpty())
- return 0;
-
- HTMLDataListElement* sourceElement = dataList();
- if (!sourceElement)
- return 0;
- HTMLCollection* options = sourceElement->options();
- if (!options)
- return 0;
- unsigned length = options->length();
- for (unsigned i = 0; i < length; ++i) {
- HTMLOptionElement* option = static_cast<HTMLOptionElement*>(options->item(i));
- if (!option->disabled() && value == option->value())
- return option;
- }
- return 0;
-}
-
#endif // ENABLE(DATALIST)
bool HTMLInputElement::isSteppable() const
#if ENABLE(DATALIST)
HTMLElement* list() const;
- HTMLOptionElement* selectedOption() const;
#endif
HTMLInputElement* checkedRadioButtonForGroup() const;
attribute [Reflect] DOMString align;
attribute [Conditional=DIRECTORY_UPLOAD, Reflect] boolean webkitdirectory;
attribute [Reflect] DOMString useMap;
- readonly attribute [Conditional=DATALIST] HTMLOptionElement selectedOption;
attribute [Reflect] boolean incremental;
attribute [Conditional=INPUT_SPEECH, Reflect, V8EnabledAtRuntime] boolean webkitSpeech;
attribute [Conditional=INPUT_SPEECH, Reflect, V8EnabledAtRuntime] boolean webkitGrammar;
"inactiveborder", "inactivecaption", "inactivecaptiontext", "infinite", "infobackground", "infotext", "inherit", "initial", "inline",
"inline-axis", "inline-block", "inline-table", "inset", "inside", "intrinsic", "invert", "italic", "justify", "kannada", "katakana",
"katakana-iroha", "khmer", "landscape", "lao", "large", "larger", "left", "level", "lighter", "line-through", "linear", "lines",
- "list-button", "list-item", "listbox", "listitem", "local", "logical", "loud", "lower", "lower-alpha", "lower-armenian", "lower-greek",
+ "list-item", "listbox", "listitem", "local", "logical", "loud", "lower", "lower-alpha", "lower-armenian", "lower-greek",
"lower-hexadecimal", "lower-latin", "lower-norwegian", "lower-roman", "lowercase", "ltr", "malayalam", "match", "media-controls-background",
"media-current-time-display", "media-fullscreen-button", "media-mute-button", "media-play-button", "media-return-to-realtime-button",
"media-rewind-button", "media-seek-back-button", "media-seek-forward-button", "media-slider", "media-sliderthumb", "media-time-remaining-display",
"inactiveborder", "inactivecaption", "inactivecaptiontext", "infinite", "infobackground", "infotext", "inherit", "initial", "inline",
"inline-axis", "inline-block", "inline-table", "inset", "inside", "intrinsic", "invert", "italic", "justify", "kannada", "katakana",
"katakana-iroha", "khmer", "landscape", "lao", "large", "larger", "left", "level", "lighter", "line-through", "linear", "lines",
- "list-button", "list-item", "listbox", "listitem", "local", "logical", "loud", "lower", "lower-alpha", "lower-armenian", "lower-greek",
+ "list-item", "listbox", "listitem", "local", "logical", "loud", "lower", "lower-alpha", "lower-armenian", "lower-greek",
"lower-hexadecimal", "lower-latin", "lower-norwegian", "lower-roman", "lowercase", "ltr", "malayalam", "match", "media-controls-background",
"media-current-time-display", "media-fullscreen-button", "media-mute-button", "media-play-button", "media-return-to-realtime-button",
"media-rewind-button", "media-seek-back-button", "media-seek-forward-button", "media-slider", "media-sliderthumb", "media-time-remaining-display",
"-webkit-media-controls-fullscreen-button", "-webkit-media-controls-rewind-button", "-webkit-media-controls-return-to-realtime-button",
"-webkit-media-controls-toggle-closed-captions-button", "-webkit-media-controls-status-display", "-webkit-scrollbar-thumb",
"-webkit-scrollbar-button", "-webkit-scrollbar-track", "-webkit-scrollbar-track-piece", "-webkit-scrollbar-corner",
- "-webkit-resizer", "-webkit-input-list-button", "-webkit-inner-spin-button", "-webkit-outer-spin-button"
+ "-webkit-resizer", "-webkit-inner-spin-button", "-webkit-outer-spin-button"
];
WebInspector.StylesSidebarPane.CSSNumberRegex = /^(-?(?:\d+(?:\.\d+)?|\.\d+))$/;
// Must follow CSSValueKeywords.in order
enum ControlPart {
NoControlPart, CheckboxPart, RadioPart, PushButtonPart, SquareButtonPart, ButtonPart,
- ButtonBevelPart, DefaultButtonPart, InnerSpinButtonPart, InputSpeechButtonPart, ListButtonPart, ListboxPart, ListItemPart,
+ ButtonBevelPart, DefaultButtonPart, InnerSpinButtonPart, InputSpeechButtonPart, ListboxPart, ListItemPart,
MediaEnterFullscreenButtonPart, MediaExitFullscreenButtonPart, MediaFullScreenVolumeSliderPart, MediaFullScreenVolumeSliderThumbPart, MediaMuteButtonPart, MediaPlayButtonPart, MediaSeekBackButtonPart,
MediaSeekForwardButtonPart, MediaRewindButtonPart, MediaReturnToRealtimeButtonPart, MediaToggleClosedCaptionsButtonPart,
MediaSliderPart, MediaSliderThumbPart, MediaVolumeSliderContainerPart, MediaVolumeSliderPart, MediaVolumeSliderThumbPart,
return sizes;
}
-#if ENABLE(DATALIST)
-static const IntSize* listButtonSizes()
-{
- static const IntSize sizes[3] = { IntSize(21, 21), IntSize(19, 18), IntSize(17, 16) };
- return sizes;
-}
-#endif
-
static const int* buttonMargins(NSControlSize controlSize)
{
static const int margins[3][4] =
// Set the control size based off the rectangle we're painting into.
const IntSize* sizes = buttonSizes();
-#if ENABLE(DATALIST)
- if (part == ListButtonPart) {
- [buttonCell setBezelStyle:NSRoundedDisclosureBezelStyle];
- sizes = listButtonSizes();
- } else
-#endif
if (part == SquareButtonPart || zoomedRect.height() > buttonSizes()[NSRegularControlSize].height() * zoomFactor) {
// Use the square button
if ([buttonCell bezelStyle] != NSShadowlessSquareBezelStyle)
LocalCurrentGraphicsContext localContext(context);
NSControlSize controlSize = [buttonCell controlSize];
-#if ENABLE(DATALIST)
- IntSize zoomedSize = (part == ListButtonPart ? listButtonSizes() : buttonSizes())[controlSize];
-#else
IntSize zoomedSize = buttonSizes()[controlSize];
-#endif
zoomedSize.setWidth(zoomedRect.width()); // Buttons don't ever constrain width, so the zoomed width can just be honored.
zoomedSize.setHeight(zoomedSize.height() * zoomFactor);
IntRect inflatedRect = zoomedRect;
case PushButtonPart:
// Height is reset to auto so that specified heights can be ignored.
return sizeFromFont(font, LengthSize(zoomedSize.width(), Length()), zoomFactor, buttonSizes());
-#if ENABLE(DATALIST)
- case ListButtonPart:
- return sizeFromFont(font, LengthSize(zoomedSize.width(), Length()), zoomFactor, listButtonSizes());
-#endif
case InnerSpinButtonPart:
if (!zoomedSize.width().isIntrinsicOrAuto() && !zoomedSize.height().isIntrinsicOrAuto())
return zoomedSize;
case SquareButtonPart:
case DefaultButtonPart:
case ButtonPart:
- case ListButtonPart:
return LengthSize(Length(0, Fixed), Length(static_cast<int>(15 * zoomFactor), Fixed));
case InnerSpinButtonPart: {
IntSize base = stepperSizes()[NSMiniControlSize];
case SquareButtonPart:
case DefaultButtonPart:
case ButtonPart:
- case ListButtonPart:
return LengthBox(0, zoomedBox.right().value(), 0, zoomedBox.left().value());
default:
return Theme::controlBorder(part, font, zoomedBox, zoomFactor);
case DefaultButtonPart:
case ButtonPart:
case SquareButtonPart:
- case ListButtonPart:
paintButton(part, states, context, zoomedRect, zoomFactor, scrollView);
break;
case InnerSpinButtonPart:
return sizes;
}
-#if ENABLE(DATALIST)
-static const IntSize* listButtonSizes()
-{
- static const IntSize sizes[3] = { IntSize(21, 21), IntSize(19, 18), IntSize(17, 16) };
- return sizes;
-}
-#endif
-
static const int* buttonMargins(NSControlSize controlSize)
{
static const int margins[3][4] =
{
// Set the control size based off the rectangle we're painting into.
const IntSize* sizes = buttonSizes();
-#if ENABLE(DATALIST)
- if (part == ListButtonPart) {
- [cell setBezelStyle:NSRoundedDisclosureBezelStyle];
- sizes = listButtonSizes();
- } else
-#endif
if (part == SquareButtonPart || zoomedRect.height() > buttonSizes()[NSRegularControlSize].height() * zoomFactor) {
// Use the square button
if ([cell bezelStyle] != NSShadowlessSquareBezelStyle)
LocalCurrentGraphicsContext localContext(context);
NSControlSize controlSize = [buttonCell controlSize];
-#if ENABLE(DATALIST)
- IntSize zoomedSize = (part == ListButtonPart ? listButtonSizes() : buttonSizes())[controlSize];
-#else
IntSize zoomedSize = buttonSizes()[controlSize];
-#endif
zoomedSize.setWidth(zoomedRect.width()); // Buttons don't ever constrain width, so the zoomed width can just be honored.
zoomedSize.setHeight(zoomedSize.height() * zoomFactor);
IntRect inflatedRect = zoomedRect;
case PushButtonPart:
// Height is reset to auto so that specified heights can be ignored.
return sizeFromFont(font, LengthSize(zoomedSize.width(), Length()), zoomFactor, buttonSizes());
-#if ENABLE(DATALIST)
- case ListButtonPart:
- return sizeFromFont(font, LengthSize(zoomedSize.width(), Length()), zoomFactor, listButtonSizes());
-#endif
case InnerSpinButtonPart:
if (!zoomedSize.width().isIntrinsicOrAuto() && !zoomedSize.height().isIntrinsicOrAuto())
return zoomedSize;
case SquareButtonPart:
case DefaultButtonPart:
case ButtonPart:
- case ListButtonPart:
return LengthSize(Length(0, Fixed), Length(static_cast<int>(15 * zoomFactor), Fixed));
case InnerSpinButtonPart:{
IntSize base = stepperSizes()[NSMiniControlSize];
case SquareButtonPart:
case DefaultButtonPart:
case ButtonPart:
- case ListButtonPart:
return LengthBox(0, zoomedBox.right().value(), 0, zoomedBox.left().value());
default:
return Theme::controlBorder(part, font, zoomedBox, zoomFactor);
case DefaultButtonPart:
case ButtonPart:
case SquareButtonPart:
- case ListButtonPart:
paintButton(part, states, context, zoomedRect, zoomFactor, scrollView);
break;
case InnerSpinButtonPart:
}
case PushButtonPart:
case SquareButtonPart:
- case ListButtonPart:
case DefaultButtonPart:
case ButtonPart:
case MenulistPart: {
#if USE(NEW_THEME)
switch (part) {
- case ListButtonPart:
case CheckboxPart:
case InnerSpinButtonPart:
case RadioPart:
return adjustRadioStyle(selector, style, e);
case PushButtonPart:
case SquareButtonPart:
- case ListButtonPart:
case DefaultButtonPart:
case ButtonPart:
return adjustButtonStyle(selector, style, e);
case RadioPart:
case PushButtonPart:
case SquareButtonPart:
- case ListButtonPart:
case DefaultButtonPart:
case ButtonPart:
case InnerSpinButtonPart:
return paintRadio(o, paintInfo, r);
case PushButtonPart:
case SquareButtonPart:
- case ListButtonPart:
case DefaultButtonPart:
case ButtonPart:
return paintButton(o, paintInfo, r);
case RadioPart:
case PushButtonPart:
case SquareButtonPart:
- case ListButtonPart:
case DefaultButtonPart:
case ButtonPart:
case MenulistPart:
case RadioPart:
case PushButtonPart:
case SquareButtonPart:
- case ListButtonPart:
case DefaultButtonPart:
case ButtonPart:
case MenulistPart:
case RadioPart:
case PushButtonPart:
case SquareButtonPart:
- case ListButtonPart:
case DefaultButtonPart:
case ButtonPart:
case InnerSpinButtonPart:
-webkit-full-screen
-webkit-full-screen-document
-webkit-inner-spin-button
--webkit-input-list-button
-webkit-input-placeholder
-webkit-input-speech-button
-webkit-media-controls-current-time-display