diff --git a/components/style/properties/longhand/border.mako.rs b/components/style/properties/longhand/border.mako.rs index b62d1210480..fac233a6924 100644 --- a/components/style/properties/longhand/border.mako.rs +++ b/components/style/properties/longhand/border.mako.rs @@ -63,3 +63,9 @@ % endfor ${helpers.single_keyword("box-decoration-break", "slice clone", products="gecko")} + +${helpers.single_keyword("-moz-float-edge", + "content-box margin-box", + gecko_ffi_name="mFloatEdge", + gecko_constant_prefix="NS_STYLE_FLOAT_EDGE", + products="gecko")} diff --git a/components/style/properties/longhand/box.mako.rs b/components/style/properties/longhand/box.mako.rs index 69ad8440148..6fd36b71a4d 100644 --- a/components/style/properties/longhand/box.mako.rs +++ b/components/style/properties/longhand/box.mako.rs @@ -824,3 +824,30 @@ ${helpers.single_keyword("page-break-inside", ${helpers.single_keyword("resize", "none both horizontal vertical", products="gecko")} + +// Non-standard +${helpers.single_keyword("-moz-appearance", + """none button button-arrow-down button-arrow-next button-arrow-previous button-arrow-up + button-bevel button-focus caret checkbox checkbox-container checkbox-label checkmenuitem + dualbutton groupbox listbox listitem menuarrow menubar menucheckbox menuimage menuitem + menuitemtext menulist menulist-button menulist-text menulist-textfield menupopup menuradio + menuseparator meterbar meterchunk progressbar progressbar-vertical progresschunk + progresschunk-vertical radio radio-container radio-label radiomenuitem range range-thumb + resizer resizerpanel scale-horizontal scalethumbend scalethumb-horizontal scalethumbstart + scalethumbtick scalethumb-vertical scale-vertical scrollbarbutton-down scrollbarbutton-left + scrollbarbutton-right scrollbarbutton-up scrollbarthumb-horizontal scrollbarthumb-vertical + scrollbartrack-horizontal scrollbartrack-vertical searchfield separator spinner + spinner-downbutton spinner-textfield spinner-upbutton splitter statusbar statusbarpanel tab + tabpanel tabpanels tab-scroll-arrow-back tab-scroll-arrow-forward textfield + textfield-multiline toolbar toolbarbutton toolbarbutton-dropdown toolbargripper toolbox + tooltip treeheader treeheadercell treeheadersortarrow treeitem treeline treetwisty + treetwistyopen treeview -moz-win-borderless-glass -moz-win-browsertabbar-toolbox + -moz-win-communications-toolbox -moz-win-exclude-glass -moz-win-glass -moz-win-media-toolbox + -moz-window-button-box -moz-window-button-box-maximized -moz-window-button-close + -moz-window-button-maximize -moz-window-button-minimize -moz-window-button-restore + -moz-window-frame-bottom -moz-window-frame-left -moz-window-frame-right -moz-window-titlebar + -moz-window-titlebar-maximized + """, + gecko_ffi_name="mAppearance", + gecko_constant_prefix="NS_THEME", + products="gecko")} diff --git a/ports/geckolib/gecko_bindings/structs.rs b/ports/geckolib/gecko_bindings/structs.rs index 7958002e3c4..c2d4d178089 100644 --- a/ports/geckolib/gecko_bindings/structs.rs +++ b/ports/geckolib/gecko_bindings/structs.rs @@ -19,6 +19,129 @@ impl ::std::clone::Clone for __BindgenUnionField { #[inline] fn clone(&self) -> Self { Self::new() } } +pub const NS_THEME_NONE: ::std::os::raw::c_uint = 0; +pub const NS_THEME_BUTTON: ::std::os::raw::c_uint = 1; +pub const NS_THEME_RADIO: ::std::os::raw::c_uint = 2; +pub const NS_THEME_CHECKBOX: ::std::os::raw::c_uint = 3; +pub const NS_THEME_BUTTON_BEVEL: ::std::os::raw::c_uint = 7; +pub const NS_THEME_FOCUS_OUTLINE: ::std::os::raw::c_uint = 8; +pub const NS_THEME_TOOLBOX: ::std::os::raw::c_uint = 11; +pub const NS_THEME_TOOLBAR: ::std::os::raw::c_uint = 12; +pub const NS_THEME_TOOLBARBUTTON: ::std::os::raw::c_uint = 13; +pub const NS_THEME_DUALBUTTON: ::std::os::raw::c_uint = 14; +pub const NS_THEME_TOOLBARBUTTON_DROPDOWN: ::std::os::raw::c_uint = 15; +pub const NS_THEME_BUTTON_ARROW_UP: ::std::os::raw::c_uint = 16; +pub const NS_THEME_BUTTON_ARROW_DOWN: ::std::os::raw::c_uint = 17; +pub const NS_THEME_BUTTON_ARROW_NEXT: ::std::os::raw::c_uint = 18; +pub const NS_THEME_BUTTON_ARROW_PREVIOUS: ::std::os::raw::c_uint = 19; +pub const NS_THEME_SEPARATOR: ::std::os::raw::c_uint = 20; +pub const NS_THEME_TOOLBARGRIPPER: ::std::os::raw::c_uint = 21; +pub const NS_THEME_SPLITTER: ::std::os::raw::c_uint = 22; +pub const NS_THEME_STATUSBAR: ::std::os::raw::c_uint = 23; +pub const NS_THEME_STATUSBARPANEL: ::std::os::raw::c_uint = 24; +pub const NS_THEME_RESIZERPANEL: ::std::os::raw::c_uint = 25; +pub const NS_THEME_RESIZER: ::std::os::raw::c_uint = 26; +pub const NS_THEME_LISTBOX: ::std::os::raw::c_uint = 31; +pub const NS_THEME_LISTITEM: ::std::os::raw::c_uint = 32; +pub const NS_THEME_TREEVIEW: ::std::os::raw::c_uint = 41; +pub const NS_THEME_TREEITEM: ::std::os::raw::c_uint = 42; +pub const NS_THEME_TREETWISTY: ::std::os::raw::c_uint = 43; +pub const NS_THEME_TREELINE: ::std::os::raw::c_uint = 44; +pub const NS_THEME_TREEHEADER: ::std::os::raw::c_uint = 45; +pub const NS_THEME_TREEHEADERCELL: ::std::os::raw::c_uint = 46; +pub const NS_THEME_TREEHEADERSORTARROW: ::std::os::raw::c_uint = 47; +pub const NS_THEME_TREETWISTYOPEN: ::std::os::raw::c_uint = 48; +pub const NS_THEME_PROGRESSBAR: ::std::os::raw::c_uint = 51; +pub const NS_THEME_PROGRESSCHUNK: ::std::os::raw::c_uint = 52; +pub const NS_THEME_PROGRESSBAR_VERTICAL: ::std::os::raw::c_uint = 53; +pub const NS_THEME_PROGRESSCHUNK_VERTICAL: ::std::os::raw::c_uint = 54; +pub const NS_THEME_METERBAR: ::std::os::raw::c_uint = 55; +pub const NS_THEME_METERCHUNK: ::std::os::raw::c_uint = 56; +pub const NS_THEME_TAB: ::std::os::raw::c_uint = 61; +pub const NS_THEME_TABPANEL: ::std::os::raw::c_uint = 62; +pub const NS_THEME_TABPANELS: ::std::os::raw::c_uint = 65; +pub const NS_THEME_TAB_SCROLL_ARROW_BACK: ::std::os::raw::c_uint = 66; +pub const NS_THEME_TAB_SCROLL_ARROW_FORWARD: ::std::os::raw::c_uint = 67; +pub const NS_THEME_TOOLTIP: ::std::os::raw::c_uint = 71; +pub const NS_THEME_SPINNER: ::std::os::raw::c_uint = 72; +pub const NS_THEME_SPINNER_UPBUTTON: ::std::os::raw::c_uint = 73; +pub const NS_THEME_SPINNER_DOWNBUTTON: ::std::os::raw::c_uint = 74; +pub const NS_THEME_SPINNER_TEXTFIELD: ::std::os::raw::c_uint = 75; +pub const NS_THEME_NUMBER_INPUT: ::std::os::raw::c_uint = 76; +pub const NS_THEME_SCROLLBAR: ::std::os::raw::c_uint = 80; +pub const NS_THEME_SCROLLBAR_SMALL: ::std::os::raw::c_uint = 81; +pub const NS_THEME_SCROLLBAR_HORIZONTAL: ::std::os::raw::c_uint = 82; +pub const NS_THEME_SCROLLBAR_VERTICAL: ::std::os::raw::c_uint = 83; +pub const NS_THEME_SCROLLBARBUTTON_UP: ::std::os::raw::c_uint = 84; +pub const NS_THEME_SCROLLBARBUTTON_DOWN: ::std::os::raw::c_uint = 85; +pub const NS_THEME_SCROLLBARBUTTON_LEFT: ::std::os::raw::c_uint = 86; +pub const NS_THEME_SCROLLBARBUTTON_RIGHT: ::std::os::raw::c_uint = 87; +pub const NS_THEME_SCROLLBARTRACK_HORIZONTAL: ::std::os::raw::c_uint = 88; +pub const NS_THEME_SCROLLBARTRACK_VERTICAL: ::std::os::raw::c_uint = 89; +pub const NS_THEME_SCROLLBARTHUMB_HORIZONTAL: ::std::os::raw::c_uint = 90; +pub const NS_THEME_SCROLLBARTHUMB_VERTICAL: ::std::os::raw::c_uint = 91; +pub const NS_THEME_SCROLLBAR_NON_DISAPPEARING: ::std::os::raw::c_uint = 92; +pub const NS_THEME_TEXTFIELD: ::std::os::raw::c_uint = 95; +pub const NS_THEME_CARET: ::std::os::raw::c_uint = 96; +pub const NS_THEME_TEXTFIELD_MULTILINE: ::std::os::raw::c_uint = 97; +pub const NS_THEME_SEARCHFIELD: ::std::os::raw::c_uint = 98; +pub const NS_THEME_MENULIST: ::std::os::raw::c_uint = 101; +pub const NS_THEME_MENULIST_BUTTON: ::std::os::raw::c_uint = 102; +pub const NS_THEME_MENULIST_TEXT: ::std::os::raw::c_uint = 103; +pub const NS_THEME_MENULIST_TEXTFIELD: ::std::os::raw::c_uint = 104; +pub const NS_THEME_SCALE_HORIZONTAL: ::std::os::raw::c_uint = 111; +pub const NS_THEME_SCALE_VERTICAL: ::std::os::raw::c_uint = 112; +pub const NS_THEME_SCALETHUMB_HORIZONTAL: ::std::os::raw::c_uint = 113; +pub const NS_THEME_SCALETHUMB_VERTICAL: ::std::os::raw::c_uint = 114; +pub const NS_THEME_SCALETHUMBSTART: ::std::os::raw::c_uint = 115; +pub const NS_THEME_SCALETHUMBEND: ::std::os::raw::c_uint = 116; +pub const NS_THEME_SCALETHUMBTICK: ::std::os::raw::c_uint = 117; +pub const NS_THEME_RANGE: ::std::os::raw::c_uint = 120; +pub const NS_THEME_RANGE_THUMB: ::std::os::raw::c_uint = 121; +pub const NS_THEME_GROUPBOX: ::std::os::raw::c_uint = 149; +pub const NS_THEME_CHECKBOX_CONTAINER: ::std::os::raw::c_uint = 150; +pub const NS_THEME_RADIO_CONTAINER: ::std::os::raw::c_uint = 151; +pub const NS_THEME_CHECKBOX_LABEL: ::std::os::raw::c_uint = 152; +pub const NS_THEME_RADIO_LABEL: ::std::os::raw::c_uint = 153; +pub const NS_THEME_BUTTON_FOCUS: ::std::os::raw::c_uint = 154; +pub const NS_THEME_WINDOW: ::std::os::raw::c_uint = 200; +pub const NS_THEME_DIALOG: ::std::os::raw::c_uint = 201; +pub const NS_THEME_MENUBAR: ::std::os::raw::c_uint = 210; +pub const NS_THEME_MENUPOPUP: ::std::os::raw::c_uint = 211; +pub const NS_THEME_MENUITEM: ::std::os::raw::c_uint = 212; +pub const NS_THEME_CHECKMENUITEM: ::std::os::raw::c_uint = 213; +pub const NS_THEME_RADIOMENUITEM: ::std::os::raw::c_uint = 214; +pub const NS_THEME_MENUCHECKBOX: ::std::os::raw::c_uint = 215; +pub const NS_THEME_MENURADIO: ::std::os::raw::c_uint = 216; +pub const NS_THEME_MENUSEPARATOR: ::std::os::raw::c_uint = 217; +pub const NS_THEME_MENUARROW: ::std::os::raw::c_uint = 218; +pub const NS_THEME_MENUIMAGE: ::std::os::raw::c_uint = 219; +pub const NS_THEME_MENUITEMTEXT: ::std::os::raw::c_uint = 220; +pub const NS_THEME_WIN_COMMUNICATIONS_TOOLBOX: ::std::os::raw::c_uint = 221; +pub const NS_THEME_WIN_MEDIA_TOOLBOX: ::std::os::raw::c_uint = 222; +pub const NS_THEME_WIN_BROWSERTABBAR_TOOLBOX: ::std::os::raw::c_uint = 223; +pub const NS_THEME_MAC_FULLSCREEN_BUTTON: ::std::os::raw::c_uint = 226; +pub const NS_THEME_MAC_HELP_BUTTON: ::std::os::raw::c_uint = 227; +pub const NS_THEME_WIN_BORDERLESS_GLASS: ::std::os::raw::c_uint = 229; +pub const NS_THEME_WIN_GLASS: ::std::os::raw::c_uint = 230; +pub const NS_THEME_WINDOW_TITLEBAR: ::std::os::raw::c_uint = 231; +pub const NS_THEME_WINDOW_TITLEBAR_MAXIMIZED: ::std::os::raw::c_uint = 232; +pub const NS_THEME_WINDOW_FRAME_LEFT: ::std::os::raw::c_uint = 233; +pub const NS_THEME_WINDOW_FRAME_RIGHT: ::std::os::raw::c_uint = 234; +pub const NS_THEME_WINDOW_FRAME_BOTTOM: ::std::os::raw::c_uint = 235; +pub const NS_THEME_WINDOW_BUTTON_CLOSE: ::std::os::raw::c_uint = 236; +pub const NS_THEME_WINDOW_BUTTON_MINIMIZE: ::std::os::raw::c_uint = 237; +pub const NS_THEME_WINDOW_BUTTON_MAXIMIZE: ::std::os::raw::c_uint = 238; +pub const NS_THEME_WINDOW_BUTTON_RESTORE: ::std::os::raw::c_uint = 239; +pub const NS_THEME_WINDOW_BUTTON_BOX: ::std::os::raw::c_uint = 240; +pub const NS_THEME_WINDOW_BUTTON_BOX_MAXIMIZED: ::std::os::raw::c_uint = 241; +pub const NS_THEME_WIN_EXCLUDE_GLASS: ::std::os::raw::c_uint = 242; +pub const NS_THEME_MAC_VIBRANCY_LIGHT: ::std::os::raw::c_uint = 243; +pub const NS_THEME_MAC_VIBRANCY_DARK: ::std::os::raw::c_uint = 244; +pub const NS_THEME_MAC_DISCLOSURE_BUTTON_OPEN: ::std::os::raw::c_uint = 245; +pub const NS_THEME_MAC_DISCLOSURE_BUTTON_CLOSED: ::std::os::raw::c_uint = 246; +pub const NS_THEME_GTK_INFO_BAR: ::std::os::raw::c_uint = 247; +pub const NS_THEME_MAC_SOURCE_LIST: ::std::os::raw::c_uint = 248; pub const NS_ERROR_MODULE_XPCOM: ::std::os::raw::c_uint = 1; pub const NS_ERROR_MODULE_BASE: ::std::os::raw::c_uint = 2; pub const NS_ERROR_MODULE_GFX: ::std::os::raw::c_uint = 3; @@ -92,8 +215,8 @@ pub const NS_STYLE_BASIC_SHAPE_CIRCLE: ::std::os::raw::c_uint = 1; pub const NS_STYLE_BASIC_SHAPE_ELLIPSE: ::std::os::raw::c_uint = 2; pub const NS_STYLE_BASIC_SHAPE_INSET: ::std::os::raw::c_uint = 3; pub const NS_STYLE_BOX_SHADOW_INSET: ::std::os::raw::c_uint = 0; -pub const NS_STYLE_FLOAT_EDGE_CONTENT: ::std::os::raw::c_uint = 0; -pub const NS_STYLE_FLOAT_EDGE_MARGIN: ::std::os::raw::c_uint = 1; +pub const NS_STYLE_FLOAT_EDGE_CONTENT_BOX: ::std::os::raw::c_uint = 0; +pub const NS_STYLE_FLOAT_EDGE_MARGIN_BOX: ::std::os::raw::c_uint = 1; pub const NS_STYLE_USER_FOCUS_NONE: ::std::os::raw::c_uint = 0; pub const NS_STYLE_USER_FOCUS_IGNORE: ::std::os::raw::c_uint = 1; pub const NS_STYLE_USER_FOCUS_NORMAL: ::std::os::raw::c_uint = 2; diff --git a/ports/geckolib/gecko_bindings/tools/regen_style_structs.sh b/ports/geckolib/gecko_bindings/tools/regen_style_structs.sh index d9210f35dff..5f9c77c146a 100755 --- a/ports/geckolib/gecko_bindings/tools/regen_style_structs.sh +++ b/ports/geckolib/gecko_bindings/tools/regen_style_structs.sh @@ -53,6 +53,7 @@ export RUST_BACKTRACE=1 -DJS_DEBUG=1 \ -DDEBUG=1 -DTRACING=1 -DOS_POSIX=1 \ -DIMPL_LIBXUL \ + -include "nsThemeConstants.h" \ -match "RefCountType.h" \ -match "nscore.h" \ -match "nsError.h" \ @@ -72,6 +73,7 @@ export RUST_BACKTRACE=1 -match "nsPoint.h" \ -match "nsRect.h" \ -match "nsMargin.h" \ + -match "nsThemeConstants.h" \ -match "nsCSSProperty.h" \ -match "CSSVariableValues.h" \ -match "nsFont.h" \ @@ -82,7 +84,7 @@ export RUST_BACKTRACE=1 -match "nsStyleCoord.h" \ -match "RefPtr.h" \ -match "nsISupportsImpl.h" \ - -match "gfxFontConstants.h" \ + -match "gfxFontConstants.h" \ -match "gfxFontFamilyList.h" \ -match "gfxFontFeatures.h" \ -match "imgRequestProxy.h" \