--- a/devtools/client/sourceeditor/codemirror/codemirror.bundle.js
+++ b/devtools/client/sourceeditor/codemirror/codemirror.bundle.js
@@ -12946,17 +12946,17 @@ var CodeMirror =
"lower-greek", "lower-hexadecimal", "lower-latin", "lower-norwegian",
"lower-roman", "lowercase", "ltr", "luminosity", "malayalam", "match", "matrix", "matrix3d",
"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", "media-volume-slider",
"media-volume-slider-container", "media-volume-sliderthumb", "medium",
- "menu", "menulist", "menulist-button", "menulist-text",
+ "menu", "menulist", "menulist-button", "menulist-button-orig", "menulist-text",
"menulist-textfield", "menutext", "message-box", "middle", "min-intrinsic",
"mix", "mongolian", "monospace", "move", "multiple", "multiply", "myanmar", "n-resize",
"narrower", "ne-resize", "nesw-resize", "no-close-quote", "no-drop",
"no-open-quote", "no-repeat", "none", "normal", "not-allowed", "nowrap",
"ns-resize", "numbers", "numeric", "nw-resize", "nwse-resize", "oblique", "octal", "opacity", "open-quote",
"optimizeLegibility", "optimizeSpeed", "oriya", "oromo", "outset",
"outside", "outside-shape", "overlay", "overline", "padding", "padding-box",
"painted", "page", "paused", "persian", "perspective", "plus-darker", "plus-lighter",
--- a/devtools/client/sourceeditor/codemirror/mode/css/css.js
+++ b/devtools/client/sourceeditor/codemirror/mode/css/css.js
@@ -636,17 +636,17 @@ CodeMirror.defineMode("css", function(co
"lower-greek", "lower-hexadecimal", "lower-latin", "lower-norwegian",
"lower-roman", "lowercase", "ltr", "luminosity", "malayalam", "match", "matrix", "matrix3d",
"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", "media-volume-slider",
"media-volume-slider-container", "media-volume-sliderthumb", "medium",
- "menu", "menulist", "menulist-button", "menulist-text",
+ "menu", "menulist", "menulist-button", "menulist-button-orig", "menulist-text",
"menulist-textfield", "menutext", "message-box", "middle", "min-intrinsic",
"mix", "mongolian", "monospace", "move", "multiple", "multiply", "myanmar", "n-resize",
"narrower", "ne-resize", "nesw-resize", "no-close-quote", "no-drop",
"no-open-quote", "no-repeat", "none", "normal", "not-allowed", "nowrap",
"ns-resize", "numbers", "numeric", "nw-resize", "nwse-resize", "oblique", "octal", "opacity", "open-quote",
"optimizeLegibility", "optimizeSpeed", "oriya", "oromo", "outset",
"outside", "outside-shape", "overlay", "overline", "padding", "padding-box",
"painted", "page", "paused", "persian", "perspective", "plus-darker", "plus-lighter",
--- a/devtools/shared/css/generated/properties-db.js
+++ b/devtools/shared/css/generated/properties-db.js
@@ -242,16 +242,17 @@ exports.CSS_PROPERTIES = {
"menuarrow",
"menubar",
"menucheckbox",
"menuimage",
"menuitem",
"menuitemtext",
"menulist",
"menulist-button",
+ "menulist-button-orig",
"menulist-text",
"menulist-textfield",
"menupopup",
"menuradio",
"menuseparator",
"meterbar",
"meterchunk",
"none",
@@ -3452,16 +3453,17 @@ exports.CSS_PROPERTIES = {
"menuarrow",
"menubar",
"menucheckbox",
"menuimage",
"menuitem",
"menuitemtext",
"menulist",
"menulist-button",
+ "menulist-button-orig",
"menulist-text",
"menulist-textfield",
"menupopup",
"menuradio",
"menuseparator",
"message-box",
"meterbar",
"meterchunk",
--- a/gfx/src/nsThemeConstants.h
+++ b/gfx/src/nsThemeConstants.h
@@ -190,18 +190,22 @@ enum ThemeWidgetType : uint8_t {
NS_THEME_TEXTFIELD_MULTILINE,
// A searchfield
NS_THEME_SEARCHFIELD,
// A dropdown list.
NS_THEME_MENULIST,
+ // A dropdown list when pref layout.css.webkit-appearance.enabled is true,
+ // else the dropdown button(s) that open up a dropdown list.
+ NS_THEME_MENULIST_BUTTON,
+
// The dropdown button(s) that open up a dropdown list.
- NS_THEME_MENULIST_BUTTON,
+ NS_THEME_MENULIST_BUTTON_ORIG,
// The text part of a dropdown list, to left of button
NS_THEME_MENULIST_TEXT,
// An editable textfield with a dropdown list (a combobox)
NS_THEME_MENULIST_TEXTFIELD,
// A slider
--- a/layout/style/nsCSSKeywordList.h
+++ b/layout/style/nsCSSKeywordList.h
@@ -709,16 +709,17 @@ CSS_KEY(radiomenuitem, radiomenuitem)
CSS_KEY(menucheckbox, menucheckbox)
CSS_KEY(menuradio, menuradio)
CSS_KEY(menuseparator, menuseparator)
CSS_KEY(menuarrow, menuarrow)
CSS_KEY(menuimage, menuimage)
CSS_KEY(menuitemtext, menuitemtext)
CSS_KEY(menulist, menulist)
CSS_KEY(menulist-button, menulist_button)
+CSS_KEY(menulist-button-orig, menulist_button_orig)
CSS_KEY(menulist-text, menulist_text)
CSS_KEY(menulist-textfield, menulist_textfield)
CSS_KEY(meterbar, meterbar)
CSS_KEY(meterchunk, meterchunk)
CSS_KEY(minimal-ui, minimal_ui)
CSS_KEY(range, range)
CSS_KEY(range-thumb, range_thumb)
CSS_KEY(sans-serif, sans_serif)
--- a/layout/style/nsCSSProps.cpp
+++ b/layout/style/nsCSSProps.cpp
@@ -804,16 +804,17 @@ const KTableEntry nsCSSProps::kAppearanc
{ eCSSKeyword_scrollbarthumb_horizontal, NS_THEME_SCROLLBARTHUMB_HORIZONTAL },
{ eCSSKeyword_scrollbarthumb_vertical, NS_THEME_SCROLLBARTHUMB_VERTICAL },
{ eCSSKeyword_textfield, NS_THEME_TEXTFIELD },
{ eCSSKeyword_textfield_multiline, NS_THEME_TEXTFIELD_MULTILINE },
{ eCSSKeyword_caret, NS_THEME_CARET },
{ eCSSKeyword_searchfield, NS_THEME_SEARCHFIELD },
{ eCSSKeyword_menulist, NS_THEME_MENULIST },
{ eCSSKeyword_menulist_button, NS_THEME_MENULIST_BUTTON },
+ { eCSSKeyword_menulist_button_orig, NS_THEME_MENULIST_BUTTON_ORIG },
{ eCSSKeyword_menulist_text, NS_THEME_MENULIST_TEXT },
{ eCSSKeyword_menulist_textfield, NS_THEME_MENULIST_TEXTFIELD },
{ eCSSKeyword_range, NS_THEME_RANGE },
{ eCSSKeyword_range_thumb, NS_THEME_RANGE_THUMB },
{ eCSSKeyword_scale_horizontal, NS_THEME_SCALE_HORIZONTAL },
{ eCSSKeyword_scale_vertical, NS_THEME_SCALE_VERTICAL },
{ eCSSKeyword_scalethumb_horizontal, NS_THEME_SCALETHUMB_HORIZONTAL },
{ eCSSKeyword_scalethumb_vertical, NS_THEME_SCALETHUMB_VERTICAL },