--- a/browser/base/content/browser.css
+++ b/browser/base/content/browser.css
@@ -33,17 +33,17 @@ toolbar[printpreview="true"] {
#feed-button > .button-box > .box-inherit > .button-text,
#feed-button > .button-box > .button-menu-dropmarker {
display: none;
}
#urlbar[pageproxystate="invalid"] > #urlbar-icons > :not(#go-button) ,
#urlbar[pageproxystate="valid"] > #urlbar-icons > #go-button ,
-#urlbar[isempty="true"] > #urlbar-icons > #go-button {
+#urlbar[empty="true"] > #urlbar-icons > #go-button {
visibility: collapse;
}
#identity-box > hbox {
max-width: 22em;
min-width: 1px;
}
--- a/browser/themes/pinstripe/browser/browser.css
+++ b/browser/themes/pinstripe/browser/browser.css
@@ -1347,17 +1347,17 @@ richlistitem[selected="true"][current="t
background-color: #666 !important;
color: #fff !important;
}
#editBMPanel_namePicker[droppable="false"] > .menulist-editable-box > html|*.menulist-editable-input {
color: inherit;
}
-#editBMPanel_tagsField[isempty="true"] {
+#editBMPanel_tagsField[empty="true"] {
color: #bbb !important;
}
#editBMPanel_tagsField[focused="true"],
#editBMPanel_namePicker[droppable="false"][focused="true"] > .menulist-editable-box {
outline: 2px solid -moz-mac-focusring;
outline-offset: -1px;
-moz-outline-radius: 1px;
--- a/browser/themes/pinstripe/browser/searchbar.css
+++ b/browser/themes/pinstripe/browser/searchbar.css
@@ -133,16 +133,20 @@
.searchbar-textbox[focused="true"] > .search-go-container:-moz-system-metric(mac-graphite-theme) {
background-image: url("chrome://browser/skin/urlbar/endcap-focused-graphite.png");
}
.searchbar-textbox[focused="true"] > .search-go-container[chromedir="rtl"]:-moz-system-metric(mac-graphite-theme) {
background-image: url("chrome://browser/skin/urlbar/endcap-focused-graphite-rtl.png");
}
+#searchbar[empty="true"] .search-go-button {
+ visibility: hidden;
+}
+
.search-go-button {
padding: 1px;
list-style-image: url("chrome://browser/skin/Search.png");
margin: 0;
padding: 0;
-moz-padding-end: 6px;
}
--- a/toolkit/content/tests/widgets/test_textbox_emptytext.xul
+++ b/toolkit/content/tests/widgets/test_textbox_emptytext.xul
@@ -24,26 +24,26 @@
var gDone = false;
SimpleTest.waitForExplicitFinish();
function doTests() {
var t1 = $("t1");
t1.emptyText = 1;
- ok(t1.hasAttribute("isempty"), "emptyText but no value => 'isempty' attribute is present");
+ ok(t1.hasAttribute("empty"), "emptyText but no value => 'empty' attribute is present");
ok("1" === t1.label, "emptyText exposed as label");
ok("" === t1.value, "emptyText not exposed as value");
t1.label = 2;
ok("2" === t1.label, "label can be set explicitly");
ok("1" === t1.emptyText, "emptyText persists after setting label");
t1.value = 3;
- ok(!t1.hasAttribute("isempty"), "value present => 'isempty' attribute not present");
+ ok(!t1.hasAttribute("empty"), "value present => 'empty' attribute not present");
ok("3" === t1.value, "value setter/getter works while emptyText is present");
ok("1" === t1.emptyText, "emptyText persists after setting value");
t1.value = "";
is(t1.inputField.value, 1, "emptyText is displayed");
is(t1.textLength, 0, "textLength while emptyText is displayed");
t1.focus();
--- a/toolkit/content/textbox.css
+++ b/toolkit/content/textbox.css
@@ -7,25 +7,25 @@ html|*.textbox-input {
text-shadow: inherit;
}
html|*.textbox-textarea {
-moz-appearance: none !important;
text-shadow: inherit;
}
-textbox[isempty="true"] html|*.textbox-input ,
-textbox[isempty="true"] html|*.textbox-textarea {
+textbox[empty="true"] html|*.textbox-input ,
+textbox[empty="true"] html|*.textbox-textarea {
text-align: left;
direction: ltr;
}
-textbox[isempty="true"][chromedir="rtl"] html|*.textbox-input ,
-textbox[isempty="true"][chromedir="rtl"] html|*.textbox-textarea {
+textbox[empty="true"][chromedir="rtl"] html|*.textbox-input ,
+textbox[empty="true"][chromedir="rtl"] html|*.textbox-textarea {
text-align: right;
direction: rtl;
}
-textbox[isempty="true"] html|*.textbox-input[emptytextdelay="true"] ,
-textbox[isempty="true"] html|*.textbox-textarea[emptytextdelay="true"] {
+textbox[empty="true"] html|*.textbox-input[emptytextdelay="true"] ,
+textbox[empty="true"] html|*.textbox-textarea[emptytextdelay="true"] {
color: transparent !important;
}
--- a/toolkit/content/widgets/textbox.xml
+++ b/toolkit/content/widgets/textbox.xml
@@ -50,17 +50,17 @@
<getter><![CDATA[
if (!this.mInputField)
this.mInputField = document.getAnonymousElementByAttribute(this, "anonid", "input");
return this.mInputField;
]]></getter>
</property>
<property name="value"
- onget="return this.hasAttribute('isempty') ? '' : this.inputField.value;">
+ onget="return this.hasAttribute('empty') ? '' : this.inputField.value;">
<setter><![CDATA[
if (val) {
// clear the emptyText _before_ setting a new non-empty value
this._clearEmptyText();
this.inputField.value = val;
} else {
// display the emptyText _after_ setting a value that's an empty string
this.inputField.value = val;
@@ -124,17 +124,17 @@
<method name="select">
<body>
this.inputField.select();
</body>
</method>
<property name="controllers" readonly="true" onget="return this.inputField.controllers"/>
<property name="textLength" readonly="true"
- onget="return this.hasAttribute('isempty') ?
+ onget="return this.hasAttribute('empty') ?
0 : this.inputField.textLength;"/>
<property name="selectionStart" onset="this.inputField.selectionStart = val; return val;"
onget="return this.inputField.selectionStart;"/>
<property name="selectionEnd" onset="this.inputField.selectionEnd = val; return val;"
onget="return this.inputField.selectionEnd;"/>
<method name="setSelectionRange">
<parameter name="aSelectionStart"/>
@@ -163,18 +163,18 @@
</method>
<method name="_updateVisibleText">
<body><![CDATA[
if (!this.hasAttribute("focused") &&
!this.value &&
this.emptyText) {
- if (!this.hasAttribute("isempty")) {
- this.setAttribute("isempty", "true");
+ if (!this.hasAttribute("empty")) {
+ this.setAttribute("empty", "true");
// Hide the emptytext for a bit, in case the textbox will be focused subsequently
this.inputField.setAttribute("emptytextdelay", "true");
setTimeout(function (textbox) {
textbox.inputField.removeAttribute("emptytextdelay");
}, 100, this);
try {
@@ -184,28 +184,28 @@
this.inputField.value = this.emptyText;
}
]]></body>
</method>
<method name="_clearEmptyText">
<body><![CDATA[
- if (this.hasAttribute("isempty")) {
+ if (this.hasAttribute("empty")) {
this.inputField.value = "";
try {
var transactionManager = this.editor.transactionManager;
transactionManager.endBatch();
// Clear undo stack if there have been no user edits
if (transactionManager.numberOfUndoItems == 1 &&
transactionManager.numberOfRedoItems == 0)
transactionManager.clear();
} catch (e) {}
- this.removeAttribute("isempty");
+ this.removeAttribute("empty");
}
]]></body>
</method>
<constructor><![CDATA[
var str = this.boxObject.getProperty("value");
if (str) {
this.inputField.value = str;
@@ -318,17 +318,17 @@
consoleService.logMessage(scriptError);
} catch (e) {}
]]></constructor>
<field name="_timer">null</field>
<property name="timeout"
onset="this.setAttribute('timeout', val); return val;"
onget="return parseInt(this.getAttribute('timeout')) || 0;"/>
<property name="value"
- onget="return this.hasAttribute('isempty') ? '' : this.inputField.value;">
+ onget="return this.hasAttribute('empty') ? '' : this.inputField.value;">
<setter><![CDATA[
if (val) {
// clear the emptyText _before_ setting a new non-empty value
this._clearEmptyText();
this.inputField.value = val;
} else {
// display the emptyText _after_ setting a value that's an empty string
this.inputField.value = val;
@@ -403,17 +403,17 @@
} else {
this.removeAttribute("searchbutton");
this.setAttribute("aria-autocomplete", "list");
}
return val;
]]></setter>
</property>
<property name="value"
- onget="return this.hasAttribute('isempty') ? '' : this.inputField.value;">
+ onget="return this.hasAttribute('empty') ? '' : this.inputField.value;">
<setter><![CDATA[
if (val) {
// clear the emptyText _before_ setting a new non-empty value
this._clearEmptyText();
this.inputField.value = val;
this._searchIcons.selectedIndex = this.searchButton ? 0 : 1;
} else {
// display the emptyText _after_ setting a value that's an empty string
--- a/toolkit/themes/gnomestripe/global/textbox.css
+++ b/toolkit/themes/gnomestripe/global/textbox.css
@@ -55,17 +55,17 @@ textbox {
-moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
padding: 2px 2px 3px;
-moz-padding-start: 4px;
background-color: -moz-Field;
color: -moz-FieldText;
}
-textbox[isempty="true"] {
+textbox[empty="true"] {
color: GrayText;
}
html|*.textbox-input,
html|*.textbox-textarea {
margin: 0px !important;
border: none !important;
padding: 0px !important;
--- a/toolkit/themes/pinstripe/global/textbox.css
+++ b/toolkit/themes/pinstripe/global/textbox.css
@@ -59,17 +59,17 @@ textbox {
-moz-border-radius-topright: 2px;
-moz-border-radius-bottomleft: 2px;
/*padding: 1px 0px 1px 2px ;*/
padding: 0px;
background-color: -moz-Field;
color: -moz-FieldText;
}
-textbox[isempty="true"] {
+textbox[empty="true"] {
color: GrayText;
}
html|*.textbox-input,
html|*.textbox-textarea {
margin: 0px !important;
border: none !important;
padding: 0px !important;
--- a/toolkit/themes/winstripe/global/textbox-aero.css
+++ b/toolkit/themes/winstripe/global/textbox-aero.css
@@ -1,5 +1,5 @@
%include textbox.css
-textbox[isempty="true"]:-moz-system-metric(windows-default-theme) {
+textbox[empty="true"]:-moz-system-metric(windows-default-theme) {
font-style: italic;
}
--- a/toolkit/themes/winstripe/global/textbox.css
+++ b/toolkit/themes/winstripe/global/textbox.css
@@ -55,17 +55,17 @@ textbox {
-moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
padding: 2px 2px 3px;
-moz-padding-start: 4px;
background-color: -moz-Field;
color: -moz-FieldText;
}
-textbox[isempty="true"] {
+textbox[empty="true"] {
color: GrayText;
}
html|*.textbox-input,
html|*.textbox-textarea {
margin: 0px !important;
border: none !important;
padding: 0px !important;