From 88ff6c2477095d9a727367cf77a483a8eaa60402 Mon Sep 17 00:00:00 2001 From: Marco Bonardo Date: Wed, 21 Jan 2009 12:39:07 +0100 Subject: [PATCH] Bug 473976 - MozMill test breaks editBookmark popup initialization, r=dietrich --- .../places/content/editBookmarkOverlay.js | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/browser/components/places/content/editBookmarkOverlay.js b/browser/components/places/content/editBookmarkOverlay.js index 45ba18ed9818..6f46c2e41384 100644 --- a/browser/components/places/content/editBookmarkOverlay.js +++ b/browser/components/places/content/editBookmarkOverlay.js @@ -53,7 +53,6 @@ var gEditItemOverlay = { _hiddenRows: [], _observersAdded: false, _staticFoldersListBuilt: false, - _initialized: false, get itemId() { return this._itemId; @@ -63,6 +62,11 @@ var gEditItemOverlay = { return this._multiEdit; }, + get panel() { + delete this.panel; + return this.panel = document.getElementById("editBookmarkPanelContent"); + }, + /** * Determines the initial data for the item edited or added by this dialog */ @@ -126,7 +130,10 @@ var gEditItemOverlay = { initPanel: function EIO_initPanel(aFor, aInfo) { // For sanity ensure that the implementer has uninited the panel before // trying to init it again, or we could end up leaking due to observers. - if (this._initialized) + // We are using an attribute to allow detecting panel initialization from + // external implementers, for example Mozmill tests need to wait for us + // to be initialized. + if (this.panel.hasAttribute("initialized")) this.uninitPanel(false); var aItemIdList; @@ -224,7 +231,7 @@ var gEditItemOverlay = { // tags selector this._rebuildTagsSelectorList(); - this._initialized = true; + this.panel.setAttribute("initialized", "true"); } // name picker @@ -519,6 +526,9 @@ var gEditItemOverlay = { }, uninitPanel: function EIO_uninitPanel(aHideCollapsibleElements) { + if (!this.panel.hasAttribute("initialized")) + return; + if (aHideCollapsibleElements) { // hide the folder tree if it was previously visible var folderTreeRow = this._element("folderTreeRow"); @@ -548,7 +558,7 @@ var gEditItemOverlay = { this._allTags = []; this._itemIds = []; this._multiEdit = false; - this._initialized = false; + this.panel.removeAttribute("initialized"); }, onTagsFieldBlur: function EIO_onTagsFieldBlur() {