mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 607309 - Modify nsINavBookmarkObserver::onItemAdded to include the URI
r=mak sr=mconnor a=blocking
This commit is contained in:
parent
74d3598b51
commit
878becc3e3
@ -972,8 +972,9 @@ var PlacesStarButton = {
|
||||
this.updateState();
|
||||
this._batching = false;
|
||||
},
|
||||
|
||||
onItemAdded: function PSB_onItemAdded(aItemId, aFolder, aIndex, aItemType) {
|
||||
|
||||
onItemAdded: function PSB_onItemAdded(aItemId, aFolder, aIndex, aItemType,
|
||||
aURI) {
|
||||
if (!this._batching && !this._starred)
|
||||
this.updateState();
|
||||
},
|
||||
|
@ -1161,7 +1161,8 @@ var gEditItemOverlay = {
|
||||
this._folderMenuList.selectedItem = folderItem;
|
||||
},
|
||||
|
||||
onItemAdded: function EIO_onItemAdded(aItemId, aFolder, aIndex, aItemType) {
|
||||
onItemAdded: function EIO_onItemAdded(aItemId, aFolder, aIndex, aItemType,
|
||||
aURI) {
|
||||
this._lastNewItem = aItemId;
|
||||
},
|
||||
|
||||
|
@ -204,7 +204,7 @@ var bookmarksObserver = {
|
||||
},
|
||||
|
||||
// nsINavBookmarkObserver
|
||||
onItemAdded: function PSB_onItemAdded(aItemId, aFolderId, aIndex) {
|
||||
onItemAdded: function PSB_onItemAdded(aItemId, aFolderId, aIndex, aURI) {
|
||||
var node = null;
|
||||
var index = null;
|
||||
[node, index] = getNodeForTreeItem(aItemId, gLibrary.PlacesOrganizer._places);
|
||||
|
@ -223,7 +223,7 @@ var bookmarksObserver = {
|
||||
|
||||
// nsINavBookmarkObserver
|
||||
onItemAdded: function PSB_onItemAdded(aItemId, aFolderId, aIndex,
|
||||
aItemType) {
|
||||
aItemType, aURI) {
|
||||
var views = getViewsForFolder(aFolderId);
|
||||
ok(views.length > 0, "Found affected views (" + views.length + "): " + views);
|
||||
|
||||
|
@ -53,7 +53,7 @@ var observer = {
|
||||
onEndUpdateBatch: function() {
|
||||
this._endUpdateBatch = true;
|
||||
},
|
||||
onItemAdded: function(id, folder, index, itemType) {
|
||||
onItemAdded: function(id, folder, index, itemType, uri) {
|
||||
this._itemAddedId = id;
|
||||
this._itemAddedParent = folder;
|
||||
this._itemAddedIndex = index;
|
||||
|
@ -394,7 +394,7 @@ Bookmark.prototype = {
|
||||
onEndUpdateBatch : function bm_oeub() {
|
||||
},
|
||||
|
||||
onItemAdded : function bm_oia(aId, aFolder, aIndex) {
|
||||
onItemAdded : function bm_oia(aId, aFolder, aIndex, aItemType, aURI) {
|
||||
// bookmark object doesn't exist at this point
|
||||
},
|
||||
|
||||
@ -547,7 +547,7 @@ BookmarkFolder.prototype = {
|
||||
onEndUpdateBatch : function bmf_oeub() {
|
||||
},
|
||||
|
||||
onItemAdded : function bmf_oia(aId, aFolder, aIndex) {
|
||||
onItemAdded : function bmf_oia(aId, aFolder, aIndex, aItemType, aURI) {
|
||||
// handle root folder events
|
||||
if (!this._parent)
|
||||
this._events.dispatch("add", aId);
|
||||
|
@ -49,8 +49,7 @@ interface nsINavHistoryBatchCallback;
|
||||
/**
|
||||
* Observer for bookmark changes.
|
||||
*/
|
||||
|
||||
[scriptable, uuid(1f7e9032-b2c0-4561-b35b-94ba3f8344e2)]
|
||||
[scriptable, uuid(76f892d9-31ea-4061-b38c-6b40fad57e9d)]
|
||||
interface nsINavBookmarkObserver : nsISupports
|
||||
{
|
||||
/**
|
||||
@ -80,9 +79,13 @@ interface nsINavBookmarkObserver : nsISupports
|
||||
* @param aItemType
|
||||
* The type of the item that was added (one of the TYPE_* constants
|
||||
* defined above).
|
||||
* @param aURI
|
||||
* The URI of the item that was added when aItemType is TYPE_BOOKMARK,
|
||||
* null otherwise.
|
||||
*/
|
||||
void onItemAdded(in long long aItemId, in long long aParentId,
|
||||
in long aIndex, in unsigned short aItemType);
|
||||
in long aIndex, in unsigned short aItemType,
|
||||
in nsIURI aURI);
|
||||
|
||||
/**
|
||||
* Notify this observer that an item is about to be removed. Called before
|
||||
|
@ -1015,7 +1015,8 @@ nsNavBookmarks::InsertBookmark(PRInt64 aFolder,
|
||||
|
||||
NOTIFY_OBSERVERS(mCanNotify, mCacheObservers, mObservers,
|
||||
nsINavBookmarkObserver,
|
||||
OnItemAdded(*aNewBookmarkId, aFolder, index, TYPE_BOOKMARK));
|
||||
OnItemAdded(*aNewBookmarkId, aFolder, index, TYPE_BOOKMARK,
|
||||
aURI));
|
||||
|
||||
// If the bookmark has been added to a tag container, notify all
|
||||
// bookmark-folder result nodes which contain a bookmark for the new
|
||||
@ -1280,7 +1281,8 @@ nsNavBookmarks::CreateContainerWithID(PRInt64 aItemId,
|
||||
|
||||
NOTIFY_OBSERVERS(mCanNotify, mCacheObservers, mObservers,
|
||||
nsINavBookmarkObserver,
|
||||
OnItemAdded(*aNewFolder, aParent, index, containerType));
|
||||
OnItemAdded(*aNewFolder, aParent, index, containerType,
|
||||
nsnull));
|
||||
|
||||
*aIndex = index;
|
||||
return NS_OK;
|
||||
@ -1326,7 +1328,8 @@ nsNavBookmarks::InsertSeparator(PRInt64 aParent,
|
||||
|
||||
NOTIFY_OBSERVERS(mCanNotify, mCacheObservers, mObservers,
|
||||
nsINavBookmarkObserver,
|
||||
OnItemAdded(*aNewItemId, aParent, index, TYPE_SEPARATOR));
|
||||
OnItemAdded(*aNewItemId, aParent, index, TYPE_SEPARATOR,
|
||||
nsnull));
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
@ -3106,7 +3106,8 @@ NS_IMETHODIMP
|
||||
nsNavHistoryQueryResultNode::OnItemAdded(PRInt64 aItemId,
|
||||
PRInt64 aFolder,
|
||||
PRInt32 aIndex,
|
||||
PRUint16 aItemType)
|
||||
PRUint16 aItemType,
|
||||
nsIURI* aURI)
|
||||
{
|
||||
if (aItemType == nsINavBookmarksService::TYPE_BOOKMARK &&
|
||||
mLiveUpdate == QUERYUPDATE_COMPLEX_WITH_BOOKMARKS)
|
||||
@ -3804,7 +3805,8 @@ NS_IMETHODIMP
|
||||
nsNavHistoryFolderResultNode::OnItemAdded(PRInt64 aItemId,
|
||||
PRInt64 aParentFolder,
|
||||
PRInt32 aIndex,
|
||||
PRUint16 aItemType)
|
||||
PRUint16 aItemType,
|
||||
nsIURI* aURI)
|
||||
{
|
||||
NS_ASSERTION(aParentFolder == mItemId, "Got wrong bookmark update");
|
||||
|
||||
@ -3837,11 +3839,9 @@ nsNavHistoryFolderResultNode::OnItemAdded(PRInt64 aItemId,
|
||||
// in results and views.
|
||||
PRBool isQuery = PR_FALSE;
|
||||
if (aItemType == nsINavBookmarksService::TYPE_BOOKMARK) {
|
||||
nsCOMPtr<nsIURI> itemURI;
|
||||
rv = bookmarks->GetBookmarkURI(aItemId, getter_AddRefs(itemURI));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
NS_ASSERTION(aURI, "Got a null URI when we are a bookmark?!");
|
||||
nsCAutoString itemURISpec;
|
||||
rv = itemURI->GetSpec(itemURISpec);
|
||||
rv = aURI->GetSpec(itemURISpec);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
isQuery = IsQueryURI(itemURISpec);
|
||||
}
|
||||
@ -3851,7 +3851,7 @@ nsNavHistoryFolderResultNode::OnItemAdded(PRInt64 aItemId,
|
||||
// don't update items when we aren't displaying them, but we still need
|
||||
// to adjust bookmark indices to account for the insertion
|
||||
ReindexRange(aIndex, PR_INT32_MAX, 1);
|
||||
return NS_OK;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
if (!StartIncrementalUpdate())
|
||||
@ -4157,8 +4157,18 @@ nsNavHistoryFolderResultNode::OnItemMoved(PRInt64 aItemId, PRInt64 aOldParent,
|
||||
// moving between two different folders, just do a remove and an add
|
||||
if (aOldParent == mItemId)
|
||||
OnItemRemoved(aItemId, aOldParent, aOldIndex, aItemType);
|
||||
if (aNewParent == mItemId)
|
||||
OnItemAdded(aItemId, aNewParent, aNewIndex, aItemType);
|
||||
if (aNewParent == mItemId) {
|
||||
nsCOMPtr<nsIURI> itemURI;
|
||||
if (aItemType == nsINavBookmarksService::TYPE_BOOKMARK) {
|
||||
nsNavBookmarks* bookmarks = nsNavBookmarks::GetBookmarksService();
|
||||
NS_ENSURE_TRUE(bookmarks, NS_ERROR_OUT_OF_MEMORY);
|
||||
|
||||
nsresult rv =
|
||||
bookmarks->GetBookmarkURI(aItemId, getter_AddRefs(itemURI));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
}
|
||||
OnItemAdded(aItemId, aNewParent, aNewIndex, aItemType, itemURI);
|
||||
}
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
@ -4616,13 +4626,18 @@ NS_IMETHODIMP
|
||||
nsNavHistoryResult::OnItemAdded(PRInt64 aItemId,
|
||||
PRInt64 aParentId,
|
||||
PRInt32 aIndex,
|
||||
PRUint16 aItemType)
|
||||
PRUint16 aItemType,
|
||||
nsIURI* aURI)
|
||||
{
|
||||
ENUMERATE_BOOKMARK_FOLDER_OBSERVERS(aParentId,
|
||||
OnItemAdded(aItemId, aParentId, aIndex, aItemType));
|
||||
ENUMERATE_HISTORY_OBSERVERS(OnItemAdded(aItemId, aParentId, aIndex, aItemType));
|
||||
ENUMERATE_ALL_BOOKMARKS_OBSERVERS(OnItemAdded(aItemId, aParentId, aIndex,
|
||||
aItemType));
|
||||
OnItemAdded(aItemId, aParentId, aIndex, aItemType, aURI)
|
||||
);
|
||||
ENUMERATE_HISTORY_OBSERVERS(
|
||||
OnItemAdded(aItemId, aParentId, aIndex, aItemType, aURI)
|
||||
);
|
||||
ENUMERATE_ALL_BOOKMARKS_OBSERVERS(
|
||||
OnItemAdded(aItemId, aParentId, aIndex, aItemType, aURI)
|
||||
);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
@ -173,7 +173,7 @@ nsPlacesDBFlush.prototype = {
|
||||
this._flushWithQueries([kQuerySyncPlacesId, kQuerySyncHistoryVisitsId]);
|
||||
},
|
||||
|
||||
onItemAdded: function(aItemId, aParentId, aIndex, aItemType)
|
||||
onItemAdded: function(aItemId, aParentId, aIndex, aItemType, aURI)
|
||||
{
|
||||
// Sync only if we added a TYPE_BOOKMARK item. Note, we want to run the
|
||||
// least amount of queries as possible here for performance reasons.
|
||||
|
@ -400,7 +400,7 @@ TaggingService.prototype = {
|
||||
this._inBatch = false;
|
||||
},
|
||||
|
||||
onItemAdded: function(aItemId, aFolderId, aIndex, aItemType) {
|
||||
onItemAdded: function(aItemId, aFolderId, aIndex, aItemType, aURI) {
|
||||
// Nothing to do if this is not a tag.
|
||||
if (aFolderId != PlacesUtils.tagsFolderId ||
|
||||
aItemType != PlacesUtils.bookmarks.TYPE_FOLDER)
|
||||
|
@ -47,7 +47,7 @@ try {
|
||||
var observer = {
|
||||
onBeginUpdateBatch: function() {},
|
||||
onEndUpdateBatch: function() {},
|
||||
onItemAdded: function(id, folder, index, itemType) {
|
||||
onItemAdded: function(id, folder, index, itemType, uri) {
|
||||
this._itemAddedId = id;
|
||||
this._itemAddedParent = folder;
|
||||
this._itemAddedIndex = index;
|
||||
|
@ -50,10 +50,11 @@ let bookmarksObserver = {
|
||||
onEndUpdateBatch: function() {
|
||||
this._endUpdateBatch = true;
|
||||
},
|
||||
onItemAdded: function(id, folder, index, itemType) {
|
||||
onItemAdded: function(id, folder, index, itemType, uri) {
|
||||
this._itemAddedId = id;
|
||||
this._itemAddedParent = folder;
|
||||
this._itemAddedIndex = index;
|
||||
this._itemAddedURI = uri;
|
||||
},
|
||||
onBeforeItemRemoved: function(){},
|
||||
onItemRemoved: function(id, folder, index, itemType) {
|
||||
@ -128,6 +129,7 @@ function run_test() {
|
||||
do_check_eq(bookmarksObserver._itemAddedId, testRoot);
|
||||
do_check_eq(bookmarksObserver._itemAddedParent, root);
|
||||
do_check_eq(bookmarksObserver._itemAddedIndex, bmStartIndex);
|
||||
do_check_eq(bookmarksObserver._itemAddedURI, null);
|
||||
let testStartIndex = 0;
|
||||
|
||||
// test getItemIndex for folders
|
||||
@ -136,7 +138,7 @@ function run_test() {
|
||||
// test getItemType for folders
|
||||
do_check_eq(bs.getItemType(testRoot), bs.TYPE_FOLDER);
|
||||
|
||||
// insert a bookmark
|
||||
// insert a bookmark.
|
||||
// the time before we insert, in microseconds
|
||||
let beforeInsert = Date.now() * 1000;
|
||||
do_check_true(beforeInsert > 0);
|
||||
@ -146,6 +148,7 @@ function run_test() {
|
||||
do_check_eq(bookmarksObserver._itemAddedId, newId);
|
||||
do_check_eq(bookmarksObserver._itemAddedParent, testRoot);
|
||||
do_check_eq(bookmarksObserver._itemAddedIndex, testStartIndex);
|
||||
do_check_true(bookmarksObserver._itemAddedURI.equals(uri("http://google.com/")));
|
||||
do_check_eq(bs.getBookmarkURI(newId).spec, "http://google.com/");
|
||||
|
||||
let dateAdded = bs.getItemDateAdded(newId);
|
||||
@ -210,6 +213,7 @@ function run_test() {
|
||||
do_check_eq(bookmarksObserver._itemAddedId, workFolder);
|
||||
do_check_eq(bookmarksObserver._itemAddedParent, testRoot);
|
||||
do_check_eq(bookmarksObserver._itemAddedIndex, 0);
|
||||
do_check_eq(bookmarksObserver._itemAddedURI, null);
|
||||
|
||||
do_check_eq(bs.getItemTitle(workFolder), "Work");
|
||||
bs.setItemTitle(workFolder, "Work #");
|
||||
|
@ -63,7 +63,7 @@ Observer.prototype =
|
||||
},
|
||||
onEndUpdateBatch: function() {
|
||||
},
|
||||
onItemAdded: function(id, folder, index) {
|
||||
onItemAdded: function(id, folder, index, itemType, uri) {
|
||||
},
|
||||
onBeforeItemRemoved: function(id) {
|
||||
this.removedId = id;
|
||||
|
@ -69,7 +69,7 @@ var observer =
|
||||
// nsINavBookmarkObserver
|
||||
onBeginUpdateBatch: function(){},
|
||||
onEndUpdateBatch: function(){},
|
||||
onItemAdded: function(bookmarkId, folderId, index, itemType) {
|
||||
onItemAdded: function(bookmarkId, folderId, index, itemType, uri) {
|
||||
if ( status == 0 ) {
|
||||
runTest1( folderId );
|
||||
} else {
|
||||
|
@ -51,7 +51,7 @@ var observer =
|
||||
onBeginUpdateBatch: function(){},
|
||||
onEndUpdateBatch: function(){
|
||||
},
|
||||
onItemAdded: function(itemId, folder, index, itemType) {
|
||||
onItemAdded: function(itemId, folder, index, itemType, uri) {
|
||||
var title = bmsvc.getItemTitle(itemId);
|
||||
if (title == "The First Title") {
|
||||
ok(true, "Item with title loaded");
|
||||
|
@ -65,7 +65,7 @@ DummyObserver.prototype = {
|
||||
// bookmark observer
|
||||
//onBeginUpdateBatch: function() {},
|
||||
//onEndUpdateBatch: function() {},
|
||||
onItemAdded: function(aItemId, aParentId, aIndex, aItemType) {
|
||||
onItemAdded: function(aItemId, aParentId, aIndex, aItemType, aURI) {
|
||||
let os = Cc["@mozilla.org/observer-service;1"].
|
||||
getService(Ci.nsIObserverService);
|
||||
os.notifyObservers(null, "dummy-observer-item-added", null);
|
||||
|
@ -59,7 +59,7 @@ function run_test()
|
||||
|
||||
// Now check to make sure it gets added with the right id
|
||||
bs.addObserver({
|
||||
onItemAdded: function(aItemId, aFolder, aIndex)
|
||||
onItemAdded: function(aItemId, aFolder, aIndex, aItemType, aURI)
|
||||
{
|
||||
do_check_eq(aItemId, id);
|
||||
do_check_eq(bs.getItemTitle(aItemId), TITLE);
|
||||
|
@ -51,7 +51,7 @@
|
||||
var observer = {
|
||||
onBeginUpdateBatch: function() {},
|
||||
onEndUpdateBatch: function() {},
|
||||
onItemAdded: function(id, folder, index, itemType) {
|
||||
onItemAdded: function(id, folder, index, itemType, uri) {
|
||||
do_check_true(id > 0);
|
||||
},
|
||||
onBeforeItemRemoved: function() {},
|
||||
|
Loading…
Reference in New Issue
Block a user