Bug 1033463 - don't null out gEditBookmarkOverlay, r=mak

--HG--
extra : rebase_source : ca28e8c7faba88eb4851737c960fe89a61e20955
This commit is contained in:
Gijs Kruitbosch 2014-07-10 15:57:31 +01:00
parent d07265abdf
commit 929d06afe2
4 changed files with 19 additions and 9 deletions

View File

@ -467,7 +467,6 @@ var BookmarkPropertiesPanel = {
// The order here is important! We have to uninit the panel first, otherwise
// late changes could force it to commit more transactions.
gEditItemOverlay.uninitPanel(true);
gEditItemOverlay = null;
this._endBatch();
window.arguments[0].performed = true;
},
@ -477,7 +476,6 @@ var BookmarkPropertiesPanel = {
// changes done as part of Undo may change the panel contents and by
// that force it to commit more transactions.
gEditItemOverlay.uninitPanel(true);
gEditItemOverlay = null;
this._endBatch();
PlacesUtils.transactionManager.undoTransaction();
window.arguments[0].performed = false;

View File

@ -209,6 +209,12 @@ var gEditItemOverlay = {
// observe only tags changes, through bookmarks.
if (this._itemId != -1 || this._uri || this._multiEdit)
PlacesUtils.bookmarks.addObserver(this, false);
this._element("namePicker").addEventListener("blur", this);
this._element("locationField").addEventListener("blur", this);
this._element("tagsField").addEventListener("blur", this);
this._element("keywordField").addEventListener("blur", this);
this._element("descriptionField").addEventListener("blur", this);
window.addEventListener("unload", this, false);
this._observersAdded = true;
}
@ -388,6 +394,12 @@ var gEditItemOverlay = {
if (this._itemId != -1 || this._uri || this._multiEdit)
PlacesUtils.bookmarks.removeObserver(this);
this._element("namePicker").removeEventListener("blur", this);
this._element("locationField").removeEventListener("blur", this);
this._element("tagsField").removeEventListener("blur", this);
this._element("keywordField").removeEventListener("blur", this);
this._element("descriptionField").removeEventListener("blur", this);
this._observersAdded = false;
}
@ -528,7 +540,7 @@ var gEditItemOverlay = {
return false;
},
onNamePickerChange: function EIO_onNamePickerChange() {
onNamePickerBlur: function EIO_onNamePickerBlur() {
if (this._itemId == -1)
return;
@ -879,6 +891,11 @@ var gEditItemOverlay = {
this._element("tagsField").value = tags.join(", ");
this._updateTags();
break;
case "blur":
let replaceFn = (str, firstLetter) => firstLetter.toUpperCase();
let nodeName = aEvent.target.id.replace(/editBMPanel_(\w)/, replaceFn);
this["on" + nodeName + "Blur"]();
break;
case "unload":
this.uninitPanel(false);
break;

View File

@ -33,7 +33,6 @@
control="editBMPanel_namePicker"
observes="paneElementsBroadcaster"/>
<textbox id="editBMPanel_namePicker"
onblur="gEditItemOverlay.onNamePickerChange();"
observes="paneElementsBroadcaster"/>
</row>
@ -45,7 +44,6 @@
observes="paneElementsBroadcaster"/>
<textbox id="editBMPanel_locationField"
class="uri-element"
onblur="gEditItemOverlay.onLocationFieldBlur();"
observes="paneElementsBroadcaster"/>
</row>
@ -150,7 +148,6 @@
completedefaultindex="true"
tabscrolling="true"
showcommentcolumn="true"
onblur="gEditItemOverlay.onTagsFieldBlur();"
observes="paneElementsBroadcaster"
placeholder="&editBookmarkOverlay.tagsEmptyDesc.label;"/>
<button id="editBMPanel_tagsSelectorExpander"
@ -180,7 +177,6 @@
control="editBMPanel_keywordField"
observes="paneElementsBroadcaster"/>
<textbox id="editBMPanel_keywordField"
onblur="gEditItemOverlay.onKeywordFieldBlur();"
observes="paneElementsBroadcaster"/>
</row>
@ -193,7 +189,6 @@
observes="paneElementsBroadcaster"/>
<textbox id="editBMPanel_descriptionField"
multiline="true"
onblur="gEditItemOverlay.onDescriptionFieldBlur();"
observes="paneElementsBroadcaster"/>
</row>
</rows>

View File

@ -127,7 +127,7 @@ gTests.push({
PlacesUtils.bookmarks.getItemTitle(PlacesUtils.unfiledBookmarksFolderId),
"Node title is correct");
// Blur the field and ensure root's name has not been changed.
this.window.gEditItemOverlay.onNamePickerChange();
this.window.gEditItemOverlay.onNamePickerBlur();
is(namepicker.value,
PlacesUtils.bookmarks.getItemTitle(PlacesUtils.unfiledBookmarksFolderId),
"Root title is correct");