Revision control

Copy as Markdown

Other Tools

<?xml version="1.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/. -->
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
type="text/css"?>
<!DOCTYPE window [
<!ENTITY % editBookmarkOverlayDTD SYSTEM "chrome://communicator/locale/places/editBookmarkOverlay.dtd">
%editBookmarkOverlayDTD;
]>
title="Bug 427633 - Disable creating a New Folder in the bookmarks dialogs if insertionPoint is invalid"
onload="runTest();">
<body xmlns="http://www.w3.org/1999/xhtml" />
<vbox id="editBookmarkPanelContent"/>
<script>
<![CDATA[
/**
* Bug 427633 - Disable creating a New Folder in the bookmarks dialogs if
* insertionPoint is invalid.
*/
function runTest() {
var bs = Cc["@mozilla.org/browser/nav-bookmarks-service;1"].
getService(Ci.nsINavBookmarksService);
function uri(spec) {
return Services.io.newURI(spec);
}
// Add a bookmark.
var itemId = bs.insertBookmark(bs.toolbarFolder,
bs.DEFAULT_INDEX,
"mozilla");
// Init panel.
ok(gEditItemOverlay, "gEditItemOverlay is in context");
gEditItemOverlay.initPanel(itemId);
ok(gEditItemOverlay._initialized, "gEditItemOverlay is initialized");
// We must be sure tree is initialized, so we wait for place to be set.
SimpleTest.waitForExplicitFinish();
var tree = gEditItemOverlay._element("folderTree");
tree.addEventListener("DOMAttrModified", function treeDOMAttrMod(event) {
if (event.attrName != "place")
return;
tree.removeEventListener("DOMAttrModified", treeDOMAttrMod, false);
SimpleTest.executeSoon(function() {
tree.view.selection.clearSelection();
ok(document.getElementById("editBMPanel_newFolderButton").disabled,
"New folder button is disabled if there's no selection");
// Cleanup.
bs.removeItem(itemId);
SimpleTest.finish();
});
}, false);
// Open the folder tree.
document.getElementById("editBMPanel_foldersExpander").doCommand();
}
]]>
</script>
</window>