mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 457681 - if ExcludeReadOnlyFolders is false, readonly dynamic containers are still excluded, r=dietrich
This commit is contained in:
parent
b1351fc910
commit
56441e9d6e
@ -1470,7 +1470,7 @@ nsNavBookmarks::RemoveFolder(PRInt64 aFolderId)
|
|||||||
|
|
||||||
// If this is a container bookmark, try to notify its service.
|
// If this is a container bookmark, try to notify its service.
|
||||||
if (folderType.Length() > 0) {
|
if (folderType.Length() > 0) {
|
||||||
// There is a type associated with this folder; it's a livemark.
|
// There is a type associated with this folder.
|
||||||
nsCOMPtr<nsIDynamicContainer> bmcServ = do_GetService(folderType.get());
|
nsCOMPtr<nsIDynamicContainer> bmcServ = do_GetService(folderType.get());
|
||||||
if (bmcServ) {
|
if (bmcServ) {
|
||||||
rv = bmcServ->OnContainerRemoving(aFolderId);
|
rv = bmcServ->OnContainerRemoving(aFolderId);
|
||||||
@ -2066,6 +2066,8 @@ nsNavBookmarks::QueryFolderChildren(PRInt64 aFolderId,
|
|||||||
PRBool results;
|
PRBool results;
|
||||||
|
|
||||||
nsCOMPtr<nsNavHistoryQueryOptions> options = do_QueryInterface(aOptions, &rv);
|
nsCOMPtr<nsNavHistoryQueryOptions> options = do_QueryInterface(aOptions, &rv);
|
||||||
|
NS_ENSURE_SUCCESS(rv, rv);
|
||||||
|
|
||||||
PRInt32 index = -1;
|
PRInt32 index = -1;
|
||||||
while (NS_SUCCEEDED(mDBGetChildren->ExecuteStep(&results)) && results) {
|
while (NS_SUCCEEDED(mDBGetChildren->ExecuteStep(&results)) && results) {
|
||||||
|
|
||||||
@ -2093,8 +2095,7 @@ nsNavBookmarks::QueryFolderChildren(PRInt64 aFolderId,
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
} else if (itemType == TYPE_FOLDER || itemType == TYPE_DYNAMIC_CONTAINER) {
|
} else if (itemType == TYPE_FOLDER || itemType == TYPE_DYNAMIC_CONTAINER) {
|
||||||
if (itemType == TYPE_DYNAMIC_CONTAINER ||
|
if (options->ExcludeReadOnlyFolders()) {
|
||||||
(itemType == TYPE_FOLDER && options->ExcludeReadOnlyFolders())) {
|
|
||||||
// see if it's read only and skip it
|
// see if it's read only and skip it
|
||||||
PRBool readOnly = PR_FALSE;
|
PRBool readOnly = PR_FALSE;
|
||||||
GetFolderReadonly(id, &readOnly);
|
GetFolderReadonly(id, &readOnly);
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
*
|
*
|
||||||
* Contributor(s):
|
* Contributor(s):
|
||||||
* Asaf Romano <mano@mozilla.com> (Original Author)
|
* Asaf Romano <mano@mozilla.com> (Original Author)
|
||||||
|
* Marco Bonardo <mak77@bonardo.net>
|
||||||
*
|
*
|
||||||
* Alternatively, the contents of this file may be used under the terms of
|
* Alternatively, the contents of this file may be used under the terms of
|
||||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||||
@ -36,13 +37,16 @@
|
|||||||
*
|
*
|
||||||
* ***** END LICENSE BLOCK ***** */
|
* ***** END LICENSE BLOCK ***** */
|
||||||
|
|
||||||
var histsvc = Cc["@mozilla.org/browser/nav-history-service;1"].
|
try {
|
||||||
getService(Ci.nsINavHistoryService);
|
var histsvc = Cc["@mozilla.org/browser/nav-history-service;1"].
|
||||||
var bmsvc = Cc["@mozilla.org/browser/nav-bookmarks-service;1"].
|
getService(Ci.nsINavHistoryService);
|
||||||
getService(Ci.nsINavBookmarksService);
|
var bmsvc = Cc["@mozilla.org/browser/nav-bookmarks-service;1"].
|
||||||
var annosvc = Cc["@mozilla.org/browser/annotation-service;1"].
|
getService(Ci.nsINavBookmarksService);
|
||||||
getService(Ci.nsIAnnotationService);
|
var annosvc = Cc["@mozilla.org/browser/annotation-service;1"].
|
||||||
|
getService(Ci.nsIAnnotationService);
|
||||||
|
} catch (ex) {
|
||||||
|
do_throw("Could not get services\n");
|
||||||
|
}
|
||||||
// main
|
// main
|
||||||
function run_test() {
|
function run_test() {
|
||||||
// load our dynamic-container sample service
|
// load our dynamic-container sample service
|
||||||
@ -84,4 +88,17 @@ function run_test() {
|
|||||||
// check live update of a folder exposed within a remote container
|
// check live update of a folder exposed within a remote container
|
||||||
bmsvc.insertBookmark(exposedFolder, uri("http://uri2.tld"), bmsvc.DEFAULT_INDEX, "");
|
bmsvc.insertBookmark(exposedFolder, uri("http://uri2.tld"), bmsvc.DEFAULT_INDEX, "");
|
||||||
do_check_eq(folder.childCount, 2);
|
do_check_eq(folder.childCount, 2);
|
||||||
|
|
||||||
|
// Bug 457681
|
||||||
|
// Make the dynamic container read-only and check that it appear in the result
|
||||||
|
bmsvc.setFolderReadonly(remoteContainer, true);
|
||||||
|
options = histsvc.getNewQueryOptions();
|
||||||
|
query = histsvc.getNewQuery();
|
||||||
|
query.setFolders([testRoot], 1);
|
||||||
|
result = histsvc.executeQuery(query, options);
|
||||||
|
rootNode = result.root;
|
||||||
|
rootNode.containerOpen = true;
|
||||||
|
do_check_eq(rootNode.childCount, 2);
|
||||||
|
do_check_eq(rootNode.getChild(1).title, "remote container sample");
|
||||||
|
rootNode.containerOpen = false;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user