зеркало из https://github.com/mozilla/pjs.git
Bug 633274 - Improve nsINavBookmarkObserver (idl changes).
r=sdwilsh sr=gavin
This commit is contained in:
Родитель
0de7099681
Коммит
5014273615
|
@ -24,6 +24,7 @@
|
|||
* Joe Hughes <joe@retrovirus.com>
|
||||
* Dietrich Ayala <dietrich@mozilla.com>
|
||||
* Asaf Romano <mano@mozilla.com>
|
||||
* Marco Bonardo <mak77@bonardo.net>
|
||||
*
|
||||
* 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
|
||||
|
@ -47,62 +48,89 @@ interface nsITransaction;
|
|||
interface nsINavHistoryBatchCallback;
|
||||
|
||||
/**
|
||||
* Observer for bookmark changes.
|
||||
* Observer for bookmarks changes.
|
||||
*/
|
||||
[scriptable, uuid(76f892d9-31ea-4061-b38c-6b40fad57e9d)]
|
||||
[scriptable, uuid(2fb820a9-9331-4c02-ae41-32a82a4b7aa1)]
|
||||
interface nsINavBookmarkObserver : nsISupports
|
||||
{
|
||||
/**
|
||||
* Notify this observer that a batch transaction has started.
|
||||
* Other notifications will be sent during the batch change,
|
||||
* but the observer is guaranteed that onEndUpdateBatch() will be called
|
||||
* at the completion of changes.
|
||||
* Notifies that a batch transaction has started.
|
||||
* Other notifications will be sent during the batch, but the observer is
|
||||
* guaranteed that onEndUpdateBatch() will be called at its completion.
|
||||
* During a batch the observer should do its best to reduce the work done to
|
||||
* handle notifications, since multiple changes are going to happen in a short
|
||||
* timeframe.
|
||||
*/
|
||||
void onBeginUpdateBatch();
|
||||
|
||||
/**
|
||||
* Notify this observer that a batch transaction has ended.
|
||||
* Notifies that a batch transaction has ended.
|
||||
*/
|
||||
void onEndUpdateBatch();
|
||||
|
||||
/**
|
||||
* Notify this observer that an item was added. Called after the actual
|
||||
* add took place. The items following the index will be shifted down, but
|
||||
* no additional notifications will be sent.
|
||||
* Notifies that an item (any type) was added. Called after the actual
|
||||
* addition took place.
|
||||
* When a new item is created, all the items following it in the same folder
|
||||
* will have their index shifted down, but no additional notifications will
|
||||
* be sent.
|
||||
*
|
||||
* @param aItemId
|
||||
* The id of the bookmark that was added.
|
||||
* The id of the item that was added.
|
||||
* @param aParentId
|
||||
* The id of the folder to which the item was added.
|
||||
* @param aIndex
|
||||
* The item's index in the folder.
|
||||
* @param aItemType
|
||||
* The type of the item that was added (one of the TYPE_* constants
|
||||
* defined above).
|
||||
* The type of the added item (see TYPE_* constants below).
|
||||
* @param aURI
|
||||
* The URI of the item that was added when aItemType is TYPE_BOOKMARK,
|
||||
* null otherwise.
|
||||
* The URI of the added item if it was TYPE_BOOKMARK, null otherwise.
|
||||
* @param aTitle
|
||||
* The title of the added item.
|
||||
* @param aDateAdded
|
||||
* The stored date added value, in microseconds from the epoch.
|
||||
* @param aGUID
|
||||
* The unique ID associated with the item.
|
||||
* @param aParentGUID
|
||||
* The unique ID associated with the item's parent.
|
||||
*/
|
||||
void onItemAdded(in long long aItemId, in long long aParentId,
|
||||
in long aIndex, in unsigned short aItemType,
|
||||
in nsIURI aURI);
|
||||
void onItemAdded(in long long aItemId,
|
||||
in long long aParentId,
|
||||
in long aIndex,
|
||||
in unsigned short aItemType,
|
||||
in nsIURI aURI,
|
||||
in AUTF8String aTitle,
|
||||
in PRTime aDateAdded,
|
||||
in ACString aGUID,
|
||||
in ACString aParentGUID);
|
||||
|
||||
/**
|
||||
* Notify this observer that an item is about to be removed. Called before
|
||||
* the actual removal will take place.
|
||||
* Notifies that an item is about to be removed. Called before the actual
|
||||
* removal will take place.
|
||||
*
|
||||
* @param aItemId
|
||||
* The id of the bookmark to be removed.
|
||||
* @param aItemType
|
||||
* The type of the item to be removed (one of the TYPE_* constants
|
||||
* defined above).
|
||||
* The type of the item to be removed (see TYPE_* constants below).
|
||||
* @param aParentId
|
||||
* The id of the folder containing the item.
|
||||
* @param aGUID
|
||||
* The unique ID associated with the item.
|
||||
* @param aParentGUID
|
||||
* The unique ID associated with the item's parent.
|
||||
*/
|
||||
void onBeforeItemRemoved(in long long aItemId, in unsigned short aItemType);
|
||||
void onBeforeItemRemoved(in long long aItemId,
|
||||
in unsigned short aItemType,
|
||||
in long long aParentId,
|
||||
in ACString aGUID,
|
||||
in ACString aParentGUID);
|
||||
|
||||
/**
|
||||
* Notify this observer that an item was removed. Called after the actual
|
||||
* remove took place. The items following the index will be shifted up, but
|
||||
* no additional notifications will be sent.
|
||||
* Notifies that an item was removed. Called after the actual remove took
|
||||
* place.
|
||||
* When an item is removed, all the items following it in the same folder
|
||||
* will have their index shifted down, but no additional notifications will
|
||||
* be sent.
|
||||
*
|
||||
* @param aItemId
|
||||
* The id of the item that was removed.
|
||||
|
@ -111,66 +139,112 @@ interface nsINavBookmarkObserver : nsISupports
|
|||
* @param aIndex
|
||||
* The bookmark's index in the folder.
|
||||
* @param aItemType
|
||||
* The type of the item that was removed (one of the TYPE_* constants
|
||||
* defined above).
|
||||
* The type of the item to be removed (see TYPE_* constants below).
|
||||
* @param aURI
|
||||
* The URI of the added item if it was TYPE_BOOKMARK, null otherwise.
|
||||
* @param aGUID
|
||||
* The unique ID associated with the item.
|
||||
* @param aParentGUID
|
||||
* The unique ID associated with the item's parent.
|
||||
*/
|
||||
void onItemRemoved(in long long aItemId, in long long aParentId,
|
||||
in long aIndex, in unsigned short aItemType);
|
||||
void onItemRemoved(in long long aItemId,
|
||||
in long long aParentId,
|
||||
in long aIndex,
|
||||
in unsigned short aItemType,
|
||||
in nsIURI aURI,
|
||||
in ACString aGUID,
|
||||
in ACString aParentGUID);
|
||||
|
||||
/**
|
||||
* Notify this observer that an item's information has changed. This
|
||||
* will be called whenever any attributes like "title" are changed.
|
||||
* Notifies that an item's information has changed. This will be called
|
||||
* whenever any attributes like "title" are changed.
|
||||
*
|
||||
* @param aItemId
|
||||
* The id of the item that was changed.
|
||||
* @param aProperty
|
||||
* The property which changed.
|
||||
* The property which changed. Can be null for the removal of all of
|
||||
* the annotations, in this case aIsAnnotationProperty is true.
|
||||
* @param aIsAnnotationProperty
|
||||
* Whether or not aProperty the name of an item annotation.
|
||||
* @param aProperty
|
||||
* The property which has been changed (see list below).
|
||||
* Whether or not aProperty is the name of an annotation. If true
|
||||
* aNewValue is always an empty string.
|
||||
* @param aNewValue
|
||||
* For certain properties, this is set to the new value of the
|
||||
* property (see list below).
|
||||
* property (see the list below).
|
||||
* @param aLastModified
|
||||
* If the item's lastModified field has changed, this parameter is
|
||||
* set to the new value, otherwise it's set to 0.
|
||||
* If lastModified changed, this parameter is the new value, otherwise
|
||||
* it's set to 0.
|
||||
* @param aItemType
|
||||
* The type of the item that has been changed(one of the TYPE_* constants
|
||||
* defined above).
|
||||
* The type of the item to be removed (see TYPE_* constants below).
|
||||
* @param aParentId
|
||||
* The id of the folder containing the item.
|
||||
* @param aGUID
|
||||
* The unique ID associated with the item.
|
||||
* @param aParentGUID
|
||||
* The unique ID associated with the item's parent.
|
||||
*
|
||||
* property = "cleartime": (history was deleted, there is no last visit date):
|
||||
* value = empty string.
|
||||
* property = "title": value = new title.
|
||||
* property = "favicon": value = new "moz-anno" URL of favicon image
|
||||
* property = "uri": value = new uri spec.
|
||||
* property = "tags: (tags set for the bookmarked uri have changed)
|
||||
* value = empty string.
|
||||
* property = "dateAdded": value = PRTime when the item was first added
|
||||
* property = "lastModified": value = PRTime when the item was last modified
|
||||
* aIsAnnotationProperty = true: value = empty string.
|
||||
* @note List of values that may be associated with properties:
|
||||
* aProperty | aNewValue
|
||||
* =====================================================================
|
||||
* cleartime | Empty string (all visits to this item were removed).
|
||||
* title | The new title.
|
||||
* favicon | The "moz-anno" URL of the new favicon.
|
||||
* uri | new URL.
|
||||
* tags | Empty string (tags for this item changed)
|
||||
* dateAdded | PRTime (as string) when the item was first added.
|
||||
* lastModified | PRTime (as string) when the item was last modified.
|
||||
*/
|
||||
void onItemChanged(in long long aItemId, in ACString aProperty,
|
||||
void onItemChanged(in long long aItemId,
|
||||
in ACString aProperty,
|
||||
in boolean aIsAnnotationProperty,
|
||||
in AUTF8String aNewValue, in PRTime aLastModified,
|
||||
in unsigned short aItemType);
|
||||
in AUTF8String aNewValue,
|
||||
in PRTime aLastModified,
|
||||
in unsigned short aItemType,
|
||||
in long long aParentId,
|
||||
in ACString aGUID,
|
||||
in ACString aParentGUID);
|
||||
|
||||
/**
|
||||
* Notify that the item was visited. Normally in bookmarks we use the last
|
||||
* visit date, and normally the time will be a new visit that will be more
|
||||
* recent, but this is not guaranteed. You should check to see if it's
|
||||
* actually more recent before using this new time.
|
||||
* Notifies that the item was visited. Can be invoked only for TYPE_BOOKMARK
|
||||
* items.
|
||||
*
|
||||
* @param aBookmarkId
|
||||
* @param aItemId
|
||||
* The id of the bookmark that was visited.
|
||||
* @see onItemChanged property = "cleartime" for when all visit dates are
|
||||
* deleted for the URI.
|
||||
* @param aVisitId
|
||||
* The id of the visit.
|
||||
* @param aTime
|
||||
* The time of the visit.
|
||||
* @param aTransitionType
|
||||
* The transition for the visit. See nsINavHistoryService::TRANSITION_*
|
||||
* constants for a list of possible values.
|
||||
* @param aURI
|
||||
* The nsIURI for this bookmark.
|
||||
* @param aParentId
|
||||
* The id of the folder containing the item.
|
||||
* @param aGUID
|
||||
* The unique ID associated with the item.
|
||||
* @param aParentGUID
|
||||
* The unique ID associated with the item's parent.
|
||||
*
|
||||
* @see onItemChanged with property = "cleartime" for when all visits to an
|
||||
* item are removed.
|
||||
*
|
||||
* @note The reported time is the time of the visit that was added, which may
|
||||
* be well in the past since the visit time can be specified. This
|
||||
* means that the visit the observer is told about may not be the most
|
||||
* recent visit for that page.
|
||||
*/
|
||||
void onItemVisited(in long long aBookmarkId, in long long aVisitID,
|
||||
in PRTime time);
|
||||
void onItemVisited(in long long aItemId,
|
||||
in long long aVisitId,
|
||||
in PRTime aTime,
|
||||
in unsigned long aTransitionType,
|
||||
in nsIURI aURI,
|
||||
in long long aParentId,
|
||||
in ACString aGUID,
|
||||
in ACString aParentGUID);
|
||||
|
||||
/**
|
||||
* Notify this observer that an item has been moved.
|
||||
* Notifies that an item has been moved.
|
||||
*
|
||||
* @param aItemId
|
||||
* The id of the item that was moved.
|
||||
* @param aOldParentId
|
||||
|
@ -182,13 +256,23 @@ interface nsINavBookmarkObserver : nsISupports
|
|||
* @param aNewIndex
|
||||
* The index inside the new parent.
|
||||
* @param aItemType
|
||||
* The type of the item that was moved (one of the TYPE_* constants
|
||||
* defined above).
|
||||
* The type of the item to be removed (see TYPE_* constants below).
|
||||
* @param aGUID
|
||||
* The unique ID associated with the item.
|
||||
* @param aOldParentGUID
|
||||
* The unique ID associated with the old item's parent.
|
||||
* @param aNewParentGUID
|
||||
* The unique ID associated with the new item's parent.
|
||||
*/
|
||||
void onItemMoved(in long long aItemId,
|
||||
in long long aOldParentId, in long aOldIndex,
|
||||
in long long aNewParentId, in long aNewIndex,
|
||||
in unsigned short aItemType);
|
||||
in long long aOldParentId,
|
||||
in long aOldIndex,
|
||||
in long long aNewParentId,
|
||||
in long aNewIndex,
|
||||
in unsigned short aItemType,
|
||||
in ACString aGUID,
|
||||
in ACString aOldParentGUID,
|
||||
in ACString aNewParentGUID);
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
Загрузка…
Ссылка в новой задаче