зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1344017 - Fix an issue where the folder picker in the edit bookmark overlay is not always be updated correctly. r=mak
MozReview-Commit-ID: 7AuIyuFWlGF --HG-- extra : rebase_source : 6edd94299ec77a33d60b9e82be590cd6efb5d49e
This commit is contained in:
Родитель
dc19643b13
Коммит
4c7d99d9ad
|
@ -1121,8 +1121,8 @@ var gEditItemOverlay = {
|
|||
onItemMoved(aItemId, aOldParent, aOldIndex,
|
||||
aNewParent, aNewIndex, aItemType) {
|
||||
if (!this._paneInfo.isItem ||
|
||||
!this._paneInfo.visibleRows.has("folderPicker") ||
|
||||
this._paneInfo.itemId != aItemOd ||
|
||||
!this._paneInfo.visibleRows.has("folderRow") ||
|
||||
this._paneInfo.itemId != aItemId ||
|
||||
aNewParent == this._getFolderIdFromMenuList()) {
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -22,6 +22,7 @@ subsuite = clipboard
|
|||
subsuite = clipboard
|
||||
[browser_475045.js]
|
||||
[browser_555547.js]
|
||||
[browser_addBookmarkForFrame.js]
|
||||
[browser_bookmarklet_windowOpen.js]
|
||||
support-files =
|
||||
pageopeningwindow.html
|
||||
|
|
|
@ -0,0 +1,81 @@
|
|||
/**
|
||||
* Tests that the add bookmark for frame dialog functions correctly.
|
||||
*/
|
||||
|
||||
const BASE_URL = "http://mochi.test:8888/browser/browser/components/places/tests/browser";
|
||||
const PAGE_URL = BASE_URL + "/framedPage.html";
|
||||
const LEFT_URL = BASE_URL + "/frameLeft.html";
|
||||
const RIGHT_URL = BASE_URL + "/frameRight.html";
|
||||
|
||||
function* withAddBookmarkForFrame(taskFn) {
|
||||
// Open a tab and wait for all the subframes to load.
|
||||
let tab = yield BrowserTestUtils.openNewForegroundTab(gBrowser, PAGE_URL);
|
||||
|
||||
let contentAreaContextMenu = document.getElementById("contentAreaContextMenu");
|
||||
|
||||
let popupShownPromise = BrowserTestUtils.waitForEvent(contentAreaContextMenu, "popupshown");
|
||||
yield BrowserTestUtils.synthesizeMouseAtCenter("#left",
|
||||
{ type: "contextmenu", button: 2}, gBrowser.selectedBrowser);
|
||||
yield popupShownPromise;
|
||||
|
||||
yield withBookmarksDialog(true, function() {
|
||||
let frameMenuItem = document.getElementById("frame");
|
||||
frameMenuItem.click();
|
||||
|
||||
let bookmarkFrame = document.getElementById("context-bookmarkframe");
|
||||
bookmarkFrame.click();
|
||||
}, taskFn);
|
||||
|
||||
yield BrowserTestUtils.removeTab(tab);
|
||||
}
|
||||
|
||||
add_task(function* test_open_add_bookmark_for_frame() {
|
||||
info("Test basic opening of the add bookmark for frame dialog.");
|
||||
yield withAddBookmarkForFrame(function* test(dialogWin) {
|
||||
let namepicker = dialogWin.document.getElementById("editBMPanel_namePicker");
|
||||
Assert.ok(!namepicker.readOnly, "Name field is writable");
|
||||
Assert.equal(namepicker.value, "Left frame", "Name field is correct.");
|
||||
|
||||
let expectedFolderName =
|
||||
PlacesUtils.getString("BookmarksMenuFolderTitle");
|
||||
|
||||
let folderPicker = dialogWin.document.getElementById("editBMPanel_folderMenuList");
|
||||
|
||||
Assert.equal(folderPicker.selectedItem.label,
|
||||
expectedFolderName, "The folder is the expected one.");
|
||||
|
||||
let tagsField = dialogWin.document.getElementById("editBMPanel_tagsField");
|
||||
Assert.equal(tagsField.value, "", "The tags field should be empty");
|
||||
});
|
||||
});
|
||||
|
||||
add_task(function* test_move_bookmark_whilst_add_bookmark_open() {
|
||||
info("Test moving a bookmark whilst the add bookmark for frame dialog is open.");
|
||||
yield withAddBookmarkForFrame(function* test(dialogWin) {
|
||||
let bookmarksMenuFolderName = PlacesUtils.getString("BookmarksMenuFolderTitle");
|
||||
let toolbarFolderName = PlacesUtils.getString("BookmarksToolbarFolderTitle");
|
||||
|
||||
let url = makeURI(LEFT_URL);
|
||||
let folderPicker = dialogWin.document.getElementById("editBMPanel_folderMenuList");
|
||||
|
||||
// Check the initial state of the folder picker.
|
||||
Assert.equal(folderPicker.selectedItem.label,
|
||||
bookmarksMenuFolderName, "The folder is the expected one.");
|
||||
|
||||
// Check the bookmark has been created as expected.
|
||||
let bookmark = yield PlacesUtils.bookmarks.fetch({url});
|
||||
|
||||
Assert.equal(bookmark.parentGuid,
|
||||
PlacesUtils.bookmarks.menuGuid,
|
||||
"The bookmark should be in the menuGuid folder.");
|
||||
|
||||
// Now move the bookmark and check the folder picker is updated correctly.
|
||||
bookmark.parentGuid = PlacesUtils.bookmarks.toolbarGuid;
|
||||
bookmark.index = PlacesUtils.bookmarks.DEFAULT_INDEX;
|
||||
|
||||
yield PlacesUtils.bookmarks.update(bookmark);
|
||||
|
||||
Assert.equal(folderPicker.selectedItem.label,
|
||||
toolbarFolderName, "The folder picker has changed to the new folder");
|
||||
});
|
||||
});
|
|
@ -3,7 +3,7 @@
|
|||
<title>Framed page</title>
|
||||
</head>
|
||||
<frameset cols="*,*">
|
||||
<frame name="left" src="frameLeft.html">
|
||||
<frame name="right" src="about:mozilla">
|
||||
<frame id="left" name="left" src="frameLeft.html">
|
||||
<frame id="right" name="right" src="about:mozilla">
|
||||
</frameset>
|
||||
</html>
|
||||
|
|
Загрузка…
Ссылка в новой задаче