diff --git a/accessible/tests/mochitest/name/test_general.xul b/accessible/tests/mochitest/name/test_general.xul
index 97c422492110..3aac6e5328db 100644
--- a/accessible/tests/mochitest/name/test_general.xul
+++ b/accessible/tests/mochitest/name/test_general.xul
@@ -238,7 +238,7 @@
-
diff --git a/browser/components/preferences/connection.xul b/browser/components/preferences/connection.xul
index ccfa7f7d9d2c..26b86283294a 100644
--- a/browser/components/preferences/connection.xul
+++ b/browser/components/preferences/connection.xul
@@ -68,8 +68,8 @@
-
+
@@ -88,8 +88,8 @@
-
+
@@ -100,8 +100,8 @@
-
+
@@ -112,8 +112,8 @@
-
+
diff --git a/browser/installer/allowed-dupes.mn b/browser/installer/allowed-dupes.mn
index 097616ac3cc5..31767bc637e4 100644
--- a/browser/installer/allowed-dupes.mn
+++ b/browser/installer/allowed-dupes.mn
@@ -95,7 +95,7 @@ chrome/toolkit/skin/classic/global/global.css
chrome/toolkit/skin/classic/global/icons/close-win7.png
chrome/toolkit/skin/classic/global/menu.css
chrome/toolkit/skin/classic/global/menulist.css
-chrome/toolkit/skin/classic/global/numberbox.css
+chrome/toolkit/skin/classic/global/numberinput.css
chrome/toolkit/skin/classic/global/popup.css
chrome/toolkit/skin/classic/global/preferences.css
chrome/toolkit/skin/classic/global/radio.css
diff --git a/browser/themes/shared/incontentprefs/preferences.inc.css b/browser/themes/shared/incontentprefs/preferences.inc.css
index e26573b94fce..e121ac7c7c47 100644
--- a/browser/themes/shared/incontentprefs/preferences.inc.css
+++ b/browser/themes/shared/incontentprefs/preferences.inc.css
@@ -849,7 +849,8 @@ menulist[indicator=true] > menupopup menuitem[indicator=true]:not([image]) > .me
/* Proxy port input */
.proxy-port-input {
- width: calc(5ch + 22px); /* 5 chars + 11px padding on both sides */
+ width: calc(5ch + 18px); /* 5 chars + (8px padding + 1px border) on both sides */
+ margin-inline-start: 4px;
}
#defaultBrowserLanguage {
diff --git a/editor/reftests/xul/emptytextbox-3.xul b/editor/reftests/xul/emptytextbox-3.xul
deleted file mode 100644
index a37ce642982f..000000000000
--- a/editor/reftests/xul/emptytextbox-3.xul
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/editor/reftests/xul/number-1.xul b/editor/reftests/xul/number-1.xul
deleted file mode 100644
index a37ce642982f..000000000000
--- a/editor/reftests/xul/number-1.xul
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/editor/reftests/xul/number-2.xul b/editor/reftests/xul/number-2.xul
deleted file mode 100644
index 73d2e84a091e..000000000000
--- a/editor/reftests/xul/number-2.xul
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/editor/reftests/xul/number-3.xul b/editor/reftests/xul/number-3.xul
deleted file mode 100644
index 8ddadcf63527..000000000000
--- a/editor/reftests/xul/number-3.xul
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/editor/reftests/xul/number-4.xul b/editor/reftests/xul/number-4.xul
deleted file mode 100644
index 40650e8e4d1e..000000000000
--- a/editor/reftests/xul/number-4.xul
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/editor/reftests/xul/number-5.xul b/editor/reftests/xul/number-5.xul
deleted file mode 100644
index bd6346fe5050..000000000000
--- a/editor/reftests/xul/number-5.xul
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/editor/reftests/xul/number-ref.xul b/editor/reftests/xul/number-ref.xul
deleted file mode 100644
index c5960515e186..000000000000
--- a/editor/reftests/xul/number-ref.xul
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/editor/reftests/xul/numberwithvalue-1.xul b/editor/reftests/xul/numberwithvalue-1.xul
deleted file mode 100644
index 3aaebcfdfeaa..000000000000
--- a/editor/reftests/xul/numberwithvalue-1.xul
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/editor/reftests/xul/numberwithvalue-ref.xul b/editor/reftests/xul/numberwithvalue-ref.xul
deleted file mode 100644
index 79f1c9baefe2..000000000000
--- a/editor/reftests/xul/numberwithvalue-ref.xul
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/editor/reftests/xul/reftest.list b/editor/reftests/xul/reftest.list
index 3318d66aefd2..04e6eba07379 100644
--- a/editor/reftests/xul/reftest.list
+++ b/editor/reftests/xul/reftest.list
@@ -8,16 +8,7 @@ fails-if(Android) fails-if(windowsDefaultTheme&&/^Windows\x20NT\x20(5\.[12]|6\.[
fails-if(Android) == emptymultiline-2.xul emptymultiline-ref.xul # bug 783658
fails-if(Android) skip-if(winWidget) == emptytextbox-1.xul emptytextbox-ref.xul # Windows: bug 1239170
fails-if(Android) skip-if(winWidget) == emptytextbox-2.xul emptytextbox-ref.xul # Windows: bug 1239170
-!= emptytextbox-3.xul emptytextbox-ref.xul
!= emptytextbox-4.xul emptytextbox-ref.xul
-# There is no way to simulate a number textbox in windows XP/Vista/7 default theme using CSS.
-# Therefore, the equlity tests below should be marked as failing.
-!= number-1.xul number-ref.xul
-!= number-2.xul number-ref.xul
-fuzzy-if(webrender,0-205,0-7) fails-if(Android) fails-if(windowsDefaultTheme&&/^Windows\x20NT\x20(5\.[12]|6\.[012]|10\.0)/.test(http.oscpu)) == number-3.xul number-ref.xul # bug 783658
-!= number-4.xul number-ref.xul
-fuzzy-if(webrender,0-205,0-7) fails-if(Android) fails-if(windowsDefaultTheme&&/^Windows\x20NT\x20(5\.[12]|6\.[012]|10\.0)/.test(http.oscpu)) == number-5.xul number-ref.xul # bug 783658
-fuzzy-if(webrender,0-255,0-7) fails-if(Android) fails-if(windowsDefaultTheme&&/^Windows\x20NT\x20(5\.[12]|6\.[012]|10\.0)/.test(http.oscpu)) == numberwithvalue-1.xul numberwithvalue-ref.xul # bug 783658
fails-if(Android) skip-if(winWidget) == passwd-1.xul passwd-ref.xul # Windows: bug 1239170
fails-if(Android) skip-if(winWidget) == passwd-2.xul passwd-ref.xul # Windows: bug 1239170
!= passwd-3.xul passwd-ref.xul
diff --git a/mobile/android/installer/allowed-dupes.mn b/mobile/android/installer/allowed-dupes.mn
index 252cf4ead183..7abd418fbaf5 100644
--- a/mobile/android/installer/allowed-dupes.mn
+++ b/mobile/android/installer/allowed-dupes.mn
@@ -14,7 +14,7 @@ chrome/toolkit/skin/classic/global/global.css
chrome/toolkit/skin/classic/global/listbox.css
chrome/toolkit/skin/classic/global/menu.css
chrome/toolkit/skin/classic/global/menulist.css
-chrome/toolkit/skin/classic/global/numberbox.css
+chrome/toolkit/skin/classic/global/numberinput.css
chrome/toolkit/skin/classic/global/popup.css
chrome/toolkit/skin/classic/global/preferences.css
chrome/toolkit/skin/classic/global/radio.css
diff --git a/toolkit/components/printing/content/printPreviewToolbar.js b/toolkit/components/printing/content/printPreviewToolbar.js
index f2703fe34a83..de001bf88411 100644
--- a/toolkit/components/printing/content/printPreviewToolbar.js
+++ b/toolkit/components/printing/content/printPreviewToolbar.js
@@ -24,7 +24,7 @@ customElements.define("printpreview-toolbar", class PrintPreviewToolbar extends
-
+
@@ -104,6 +104,11 @@ customElements.define("printpreview-toolbar", class PrintPreviewToolbar extends
this.mPPBrowser = null;
this.mMessageManager = null;
+
+ this.mOnPageTextBoxChange = () => {
+ this.navigate(0, Number(this.mPageTextBox.value), 0);
+ };
+ this.mPageTextBox.addEventListener("change", this.mOnPageTextBoxChange);
}
initialize(aPPBrowser) {
@@ -140,6 +145,7 @@ customElements.define("printpreview-toolbar", class PrintPreviewToolbar extends
disconnectedCallback() {
window.removeEventListener("unload", this.disconnectedCallback);
+ this.mPageTextBox.removeEventListener("change", this.mOnPageTextBoxChange);
this.destroy();
}
@@ -188,9 +194,9 @@ customElements.define("printpreview-toolbar", class PrintPreviewToolbar extends
} else if (aDirection) {
// aDirection is either +1 or -1, and allows us to increment
// or decrement our currently viewed page.
- this.mPageTextBox.valueNumber += aDirection;
+ this.mPageTextBox.value = Number(this.mPageTextBox.value) + aDirection;
navType = nsIWebBrowserPrint.PRINTPREVIEW_GOTO_PAGENUM;
- pageNum = this.mPageTextBox.value; // TODO: back to valueNumber?
+ pageNum = this.mPageTextBox.value;
} else {
// We're going to a specific page (aPageNum)
navType = nsIWebBrowserPrint.PRINTPREVIEW_GOTO_PAGENUM;
diff --git a/toolkit/content/customElements.js b/toolkit/content/customElements.js
index 82883005a961..52c82b263f23 100644
--- a/toolkit/content/customElements.js
+++ b/toolkit/content/customElements.js
@@ -141,7 +141,8 @@ const MozElementMixin = Base => class MozElement extends Base {
`;
}, "")}
]>` : ""}
-
+
${str}
`, "application/xml");
diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
index a772d075ca7d..374315701d49 100644
--- a/toolkit/content/jar.mn
+++ b/toolkit/content/jar.mn
@@ -75,7 +75,6 @@ toolkit.jar:
content/global/bindings/menu.xml (widgets/menu.xml)
content/global/bindings/menulist.xml (widgets/menulist.xml)
content/global/bindings/notification.xml (widgets/notification.xml)
- content/global/bindings/numberbox.xml (widgets/numberbox.xml)
content/global/bindings/popup.xml (widgets/popup.xml)
content/global/bindings/radio.xml (widgets/radio.xml)
content/global/bindings/richlistbox.xml (widgets/richlistbox.xml)
@@ -93,7 +92,7 @@ toolkit.jar:
* content/global/bindings/wizard.xml (widgets/wizard.xml)
content/global/elements/datetimebox.js (widgets/datetimebox.js)
content/global/elements/findbar.js (widgets/findbar.js)
- content/global/elements/editor.js (widgets/editor.js)
+ content/global/elements/editor.js (widgets/editor.js)
content/global/elements/general.js (widgets/general.js)
content/global/elements/notificationbox.js (widgets/notificationbox.js)
content/global/elements/pluginProblem.js (widgets/pluginProblem.js)
diff --git a/toolkit/content/tests/chrome/chrome.ini b/toolkit/content/tests/chrome/chrome.ini
index 82888c8e53df..c46a20010498 100644
--- a/toolkit/content/tests/chrome/chrome.ini
+++ b/toolkit/content/tests/chrome/chrome.ini
@@ -182,7 +182,6 @@ support-files = window_preferences_onsyncfrompreference.xul
[test_tabindex.xul]
[test_textbox_dictionary.xul]
[test_textbox_emptytext.xul]
-[test_textbox_number.xul]
[test_textbox_search.xul]
[test_titlebar.xul]
skip-if = os == "linux"
diff --git a/toolkit/content/tests/chrome/test_textbox_number.xul b/toolkit/content/tests/chrome/test_textbox_number.xul
deleted file mode 100644
index 0f7e55e54ded..000000000000
--- a/toolkit/content/tests/chrome/test_textbox_number.xul
+++ /dev/null
@@ -1,159 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/toolkit/content/widgets.css b/toolkit/content/widgets.css
index bef24b61b79c..4604909e23c4 100644
--- a/toolkit/content/widgets.css
+++ b/toolkit/content/widgets.css
@@ -16,17 +16,14 @@
@import url("chrome://global/skin/menu.css");
@import url("chrome://global/skin/menulist.css");
@import url("chrome://global/skin/notification.css");
+@import url("chrome://global/skin/numberinput.css");
@import url("chrome://global/skin/popup.css");
@import url("chrome://global/skin/radio.css");
@import url("chrome://global/skin/richlistbox.css");
@import url("chrome://global/skin/scrollbox.css");
@import url("chrome://global/skin/splitter.css");
@import url("chrome://global/skin/tabbox.css");
-
-/* numberbox.css needs to be loaded after textbox.css since it overrides it */
@import url("chrome://global/skin/textbox.css");
-@import url("chrome://global/skin/numberbox.css");
-
@import url("chrome://global/skin/toolbar.css");
@import url("chrome://global/skin/toolbarbutton.css");
@import url("chrome://global/skin/tree.css");
diff --git a/toolkit/content/widgets/numberbox.xml b/toolkit/content/widgets/numberbox.xml
deleted file mode 100644
index 68ffe7d606ab..000000000000
--- a/toolkit/content/widgets/numberbox.xml
+++ /dev/null
@@ -1,146 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- false
- 0
-
-
-
-
-
- if (this._valueEntered) {
- var newval = this.inputField.value;
- this._validateValue(newval);
- }
- return this._value;
-
-
- this._validateValue(val);
- return val;
-
-
-
-
- var min = this.getAttribute("min");
- return min ? Number(min) : 0;
-
-
-
-
-
-
-
-
- var max = this.getAttribute("max");
- return max ? Number(max) : Infinity;
-
-
- val)
- this._validateValue(val);
- return val;
- ]]>
-
-
-
-
-
-
- max)
- aValue = max;
-
- this._valueEntered = false;
- this._value = Number(aValue);
- this.inputField.value = aValue;
-
- return aValue;
- ]]>
-
-
-
-
-
- var evt = document.createEvent("Events");
- evt.initEvent("change", true, true);
- this.dispatchEvent(evt);
-
-
-
-
-
-
-
-
-
- this._valueEntered = true;
-
-
-
- 57)
- event.preventDefault();
- }
- ]]>
-
-
-
- if (event.originalTarget == this.inputField) {
- this._validateValue(this.inputField.value);
- }
-
-
-
-
-
-
diff --git a/toolkit/content/widgets/textbox.xml b/toolkit/content/widgets/textbox.xml
index b6e13f20083b..0c6fe7255090 100644
--- a/toolkit/content/widgets/textbox.xml
+++ b/toolkit/content/widgets/textbox.xml
@@ -194,29 +194,27 @@
if (this.hasAttribute("focused"))
return;
- let { originalTarget } = event;
- if (originalTarget == this) {
- // Forward focus to actual HTML input
- this.inputField.focus();
- this.setAttribute("focused", "true");
- return;
+ switch (event.originalTarget) {
+ case this:
+ // Forward focus to actual HTML input
+ this.inputField.focus();
+ this.setAttribute("focused", "true");
+ break;
+ case this.inputField:
+ if (this.mIgnoreFocus) {
+ this.mIgnoreFocus = false;
+ } else if (this.clickSelectsAll) {
+ try {
+ if (!this.editor || !this.editor.composing)
+ this.editor.selectAll();
+ } catch (e) {}
+ }
+ this.setAttribute("focused", "true");
+ break;
+ default:
+ // Otherwise, allow other children (e.g. URL bar buttons) to get focus
+ break;
}
-
- // We check for the parent nodes to support input[type=number] where originalTarget may be an
- // anonymous child input.
- if (originalTarget == this.inputField ||
- originalTarget.localName == "input" && originalTarget.parentNode.parentNode == this.inputField) {
- if (this.mIgnoreFocus) {
- this.mIgnoreFocus = false;
- } else if (this.clickSelectsAll) {
- try {
- if (!this.editor || !this.editor.composing)
- this.editor.selectAll();
- } catch (e) {}
- }
- this.setAttribute("focused", "true");
- }
- // Otherwise, allow other children (e.g. URL bar buttons) to get focus
]]>
diff --git a/toolkit/content/xul.css b/toolkit/content/xul.css
index 08a4e4dd6b94..601e89379a05 100644
--- a/toolkit/content/xul.css
+++ b/toolkit/content/xul.css
@@ -562,10 +562,6 @@ textbox[type="search"] {
-moz-binding: url("chrome://global/content/bindings/textbox.xml#search-textbox");
}
-textbox[type="number"] {
- -moz-binding: url("chrome://global/content/bindings/numberbox.xml#numberbox");
-}
-
@supports -moz-bool-pref("layout.css.emulate-moz-box-with-flex") {
html|*.textbox-input,
html|*.textbox-textarea {
diff --git a/toolkit/themes/linux/global/global.css b/toolkit/themes/linux/global/global.css
index 0d96ca7fc98a..1b080b217952 100644
--- a/toolkit/themes/linux/global/global.css
+++ b/toolkit/themes/linux/global/global.css
@@ -11,6 +11,7 @@
@import url("chrome://global/content/widgets.css");
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+@namespace html url("http://www.w3.org/1999/xhtml");
%include ../../shared/global.inc.css
@@ -125,9 +126,10 @@ toolbar[mode="text"] .toolbarbutton-text {
list-style-image: url("moz-icon://stock/gtk-orientation-landscape?size=button");
}
-#print-preview-pageNumber {
- /* 3 chars + 4px padding left + 2px padding right + 2*6px border */
- width: calc(18px + 3ch);
+html|*#print-preview-pageNumber {
+ /* 3 chars + (3px border + 1px padding) on both sides */
+ width: calc(8px + 3ch);
+ margin: 0 4px;
}
/* ::::: miscellaneous formatting ::::: */
@@ -261,4 +263,3 @@ popupnotificationcontent {
}
%include ../../shared/notification-popup.inc.css
-
diff --git a/toolkit/themes/linux/global/in-content/common.css b/toolkit/themes/linux/global/in-content/common.css
index 7ed60c9fbf94..ccb076297b4f 100644
--- a/toolkit/themes/linux/global/in-content/common.css
+++ b/toolkit/themes/linux/global/in-content/common.css
@@ -43,11 +43,6 @@ xul|*.radio-label-box {
-moz-appearance: none;
}
-xul|*.numberbox-input-box {
- -moz-appearance: none;
- border-width: 0;
-}
-
xul|menulist:-moz-focusring > xul|*.menulist-label-box {
outline: none;
}
diff --git a/toolkit/themes/mobile/jar.mn b/toolkit/themes/mobile/jar.mn
index 52700c5e18c9..9b41bc571b52 100644
--- a/toolkit/themes/mobile/jar.mn
+++ b/toolkit/themes/mobile/jar.mn
@@ -13,7 +13,7 @@ toolkit.jar:
skin/classic/global/global.css (global/empty.css)
skin/classic/global/menu.css (global/empty.css)
skin/classic/global/menulist.css (global/empty.css)
- skin/classic/global/numberbox.css (global/empty.css)
+ skin/classic/global/numberinput.css (global/empty.css)
skin/classic/global/popup.css (global/empty.css)
skin/classic/global/radio.css (global/empty.css)
skin/classic/global/richlistbox.css (global/empty.css)
diff --git a/toolkit/themes/osx/global/in-content/common.css b/toolkit/themes/osx/global/in-content/common.css
index 64f97f3bf52a..f9ee778853ec 100644
--- a/toolkit/themes/osx/global/in-content/common.css
+++ b/toolkit/themes/osx/global/in-content/common.css
@@ -70,14 +70,6 @@ xul|radio[focused="true"] > .radio-check {
-moz-outline-radius: 100%;
}
-html|*.numberbox-input::-moz-number-spin-up {
- border-radius: 4px 4px 0 0;
-}
-
-html|*.numberbox-input::-moz-number-spin-down {
- border-radius: 0 0 4px 4px;
-}
-
textbox[type="search"] {
-moz-appearance: none;
padding-inline-start: 8px;
diff --git a/toolkit/themes/shared/in-content/common.inc.css b/toolkit/themes/shared/in-content/common.inc.css
index 18e918c233ff..f55e78fb50b9 100644
--- a/toolkit/themes/shared/in-content/common.inc.css
+++ b/toolkit/themes/shared/in-content/common.inc.css
@@ -165,9 +165,7 @@ html|button {
*|button,
html|select,
html|input[type="color"],
-xul|menulist,
-html|*.numberbox-input::-moz-number-spin-up,
-html|*.numberbox-input::-moz-number-spin-down {
+xul|menulist {
-moz-appearance: none;
min-height: 32px;
/* !important overrides button.css for disabled and default XUL buttons: */
@@ -199,9 +197,7 @@ html|input[type="color"]::-moz-focus-inner {
*|button:-moz-focusring,
html|select:-moz-focusring,
html|input[type="color"]:-moz-focusring,
-xul|menulist:-moz-focusring,
-html|input[type="number"]:-moz-focusring::-moz-number-spin-up,
-html|input[type="number"]:-moz-focusring::-moz-number-spin-down {
+xul|menulist:-moz-focusring {
outline: none;
box-shadow: 0 0 0 1px var(--in-content-border-active) inset,
0 0 0 1px var(--in-content-border-active),
@@ -225,8 +221,6 @@ html|select:not([size]):not([multiple]):dir(rtl) {
html|button:enabled:hover,
html|select:not([size]):not([multiple]):enabled:hover,
-html|*.numberbox-input::-moz-number-spin-up:hover,
-html|*.numberbox-input::-moz-number-spin-down:hover,
html|input[type="color"]:hover,
xul|button:not([disabled="true"]):hover,
xul|menulist:not([disabled="true"]):hover {
@@ -235,8 +229,6 @@ xul|menulist:not([disabled="true"]):hover {
html|button:enabled:hover:active,
html|select:not([size]):not([multiple]):enabled:hover:active,
-html|*.numberbox-input::-moz-number-spin-up:hover:active,
-html|*.numberbox-input::-moz-number-spin-down:hover:active,
html|input[type="color"]:enabled:hover:active,
xul|button:not([disabled="true"]):hover:active,
xul|menulist[open="true"]:not([disabled="true"]) {
@@ -245,7 +237,6 @@ xul|menulist[open="true"]:not([disabled="true"]) {
html|button:disabled,
html|select:disabled,
-html|*.numberbox-input:disabled::-moz-number-spin-box,
html|input[type="color"]:disabled,
xul|button[disabled="true"],
xul|menulist[disabled="true"] {
@@ -297,28 +288,6 @@ xul|*.close-icon > xul|*.button-box {
padding-left: 0 !important;
}
-html|*.numberbox-input::-moz-number-spin-box {
- margin-inline-end: 1px;
-}
-
-html|*.numberbox-input::-moz-number-spin-up,
-html|*.numberbox-input::-moz-number-spin-down {
- padding: 5px 8px;
- margin: 0;
- min-height: initial;
- background-position: center;
-}
-
-html|*.numberbox-input::-moz-number-spin-up {
- border-radius: 1px 1px 0 0;
- background-image: url("chrome://global/skin/arrow/arrow-up.gif");
-}
-
-html|*.numberbox-input::-moz-number-spin-down {
- border-radius: 0 0 1px 1px;
- background-image: url("chrome://global/skin/arrow/arrow-dn.gif");
-}
-
xul|*.menulist-dropmarker {
-moz-appearance: none;
margin-inline-end: 4px;
@@ -418,14 +387,6 @@ xul|textbox {
padding-left: 8px;
}
-xul|textbox[type="number"] {
- padding-inline-end: 0;
-}
-
-html|*.numberbox-input::-moz-number-text {
- margin-inline-end: 10px;
-}
-
/* Create a separate rule to unset these styles on .tree-input instead of
using :not(.tree-input) so the selector specifity doesn't change. */
xul|textbox.tree-input {
diff --git a/toolkit/themes/shared/jar.inc.mn b/toolkit/themes/shared/jar.inc.mn
index a31577d53f43..0ca25053874f 100644
--- a/toolkit/themes/shared/jar.inc.mn
+++ b/toolkit/themes/shared/jar.inc.mn
@@ -22,7 +22,7 @@ toolkit.jar:
skin/classic/global/appPicker.css (../../shared/appPicker.css)
skin/classic/global/config.css (../../shared/config.css)
skin/classic/global/datetimeinputpickers.css (../../shared/datetimeinputpickers.css)
- skin/classic/global/numberbox.css (../../shared/numberbox.css)
+ skin/classic/global/numberinput.css (../../shared/numberinput.css)
skin/classic/global/passwordmgr.css (../../shared/passwordmgr.css)
skin/classic/global/icons/autoscroll.svg (../../shared/icons/autoscroll.svg)
skin/classic/global/icons/autoscroll-horizontal.svg (../../shared/icons/autoscroll-horizontal.svg)
diff --git a/toolkit/themes/shared/numberbox.css b/toolkit/themes/shared/numberbox.css
deleted file mode 100644
index 15cee6266cbb..000000000000
--- a/toolkit/themes/shared/numberbox.css
+++ /dev/null
@@ -1,42 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-/* ===== numberbox.css ==================================================
- == Styles used by the XUL textbox type="number" element.
- ======================================================================= */
-
-@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
-@namespace html url("http://www.w3.org/1999/xhtml");
-
-html|*.numberbox-input {
- text-align: right;
-}
-
-textbox[type="number"][hidespinbuttons="true"] html|*.numberbox-input {
- -moz-appearance: textfield;
-}
-
-/* input[type=number] uses display: flex; by default which is incompatible with XUL flexbox
- Forcing XUL flexbox allows changing the size of the input. */
-html|*.numberbox-input,
-html|*.numberbox-input::-moz-number-wrapper,
-html|*.numberbox-input::-moz-number-spin-box {
- display: -moz-box;
- -moz-box-align: center;
-}
-
-html|*.numberbox-input::-moz-number-spin-box {
- -moz-box-orient: vertical;
-}
-
-html|*.numberbox-input::-moz-number-wrapper,
-html|*.numberbox-input::-moz-number-spin-up,
-html|*.numberbox-input::-moz-number-spin-down,
-html|*.numberbox-input::-moz-number-text {
- -moz-box-flex: 1;
-}
-
-html|*.numberbox-input::-moz-number-wrapper {
- width: 100%;
-}
diff --git a/toolkit/themes/shared/numberinput.css b/toolkit/themes/shared/numberinput.css
new file mode 100644
index 000000000000..e2a40369a3db
--- /dev/null
+++ b/toolkit/themes/shared/numberinput.css
@@ -0,0 +1,35 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== numberinput.css ================================================
+ == Styles used by the input[type="number"] element.
+ ======================================================================= */
+
+@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+@namespace html url("http://www.w3.org/1999/xhtml");
+
+html|input[type="number"] {
+ text-align: right;
+}
+
+html|input[type="number"][hidespinbuttons="true"] {
+ -moz-appearance: textfield !important;
+}
+
+/* input[type=number] uses display: flex; by default which is incompatible with XUL flexbox
+ Forcing XUL flexbox allows changing the size of the input. */
+xul|*:root html|input[type="number"],
+xul|*:root html|input[type="number"]::-moz-number-wrapper {
+ display: -moz-box;
+ -moz-box-align: center;
+}
+
+xul|*:root html|input[type="number"]::-moz-number-wrapper,
+xul|*:root html|input[type="number"]::-moz-number-text {
+ -moz-box-flex: 1;
+}
+
+xul|*:root html|input[type="number"]::-moz-number-wrapper {
+ width: 100%;
+}
diff --git a/toolkit/themes/windows/global/global.css b/toolkit/themes/windows/global/global.css
index bef57c6566f2..19c8c2cb4123 100644
--- a/toolkit/themes/windows/global/global.css
+++ b/toolkit/themes/windows/global/global.css
@@ -11,6 +11,7 @@
@import url("chrome://global/content/widgets.css");
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+@namespace html url("http://www.w3.org/1999/xhtml");
%include ../../shared/global.inc.css
@@ -132,8 +133,10 @@ toolbar[mode="text"] .toolbarbutton-text {
-moz-image-region: rect(0px 32px 16px 16px);
}
-#print-preview-pageNumber {
- width: 3ch;
+html|*#print-preview-pageNumber {
+ /* 3 chars + (3px border + 1px padding) on both sides */
+ width: calc(8px + 3ch);
+ margin: 0 4px;
}
/* ::::: miscellaneous formatting ::::: */
@@ -266,4 +269,3 @@ popupnotificationcontent {
}
%include ../../shared/notification-popup.inc.css
-