2018-02-14 20:06:15 +03:00
|
|
|
enum PlacesEventType {
|
|
|
|
"none",
|
|
|
|
|
|
|
|
/**
|
|
|
|
* data: PlacesVisit. Fired whenever a page is visited.
|
|
|
|
*/
|
|
|
|
"page-visited",
|
2018-10-09 17:47:27 +03:00
|
|
|
/**
|
|
|
|
* data: PlacesBookmarkAddition. Fired whenever a bookmark
|
|
|
|
* (or a bookmark folder/separator) is created.
|
|
|
|
*/
|
|
|
|
"bookmark-added",
|
2020-01-16 21:38:54 +03:00
|
|
|
/**
|
|
|
|
* data: PlacesBookmarkRemoved. Fired whenever a bookmark
|
|
|
|
* (or a bookmark folder/separator) is created.
|
|
|
|
*/
|
|
|
|
"bookmark-removed",
|
2018-02-14 20:06:15 +03:00
|
|
|
};
|
|
|
|
|
2018-10-21 03:02:53 +03:00
|
|
|
[ChromeOnly, Exposed=Window]
|
2018-02-14 20:06:15 +03:00
|
|
|
interface PlacesEvent {
|
|
|
|
readonly attribute PlacesEventType type;
|
|
|
|
};
|
|
|
|
|
2018-10-21 03:02:53 +03:00
|
|
|
[ChromeOnly, Exposed=Window]
|
2018-02-14 20:06:15 +03:00
|
|
|
interface PlacesVisit : PlacesEvent {
|
|
|
|
/**
|
|
|
|
* URL of the visit.
|
|
|
|
*/
|
|
|
|
readonly attribute DOMString url;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Id of the visit.
|
|
|
|
*/
|
|
|
|
readonly attribute unsigned long long visitId;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Time of the visit, in milliseconds since epoch.
|
|
|
|
*/
|
|
|
|
readonly attribute unsigned long long visitTime;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The id of the visit the user came from, defaults to 0 for no referrer.
|
|
|
|
*/
|
|
|
|
readonly attribute unsigned long long referringVisitId;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* One of nsINavHistory.TRANSITION_*
|
|
|
|
*/
|
|
|
|
readonly attribute unsigned long transitionType;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The unique id associated with the page.
|
|
|
|
*/
|
|
|
|
readonly attribute ByteString pageGuid;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Whether the visited page is marked as hidden.
|
|
|
|
*/
|
|
|
|
readonly attribute boolean hidden;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Number of visits (including this one) for this URL.
|
|
|
|
*/
|
|
|
|
readonly attribute unsigned long visitCount;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Whether the URL has been typed or not.
|
|
|
|
* TODO (Bug 1271801): This will become a count, rather than a boolean.
|
|
|
|
* For future compatibility, always compare it with "> 0".
|
|
|
|
*/
|
|
|
|
readonly attribute unsigned long typedCount;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The last known title of the page. Might not be from the current visit,
|
|
|
|
* and might be null if it is not known.
|
|
|
|
*/
|
|
|
|
readonly attribute DOMString? lastKnownTitle;
|
|
|
|
};
|
2018-10-09 17:47:27 +03:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Base class for properties that are common to all bookmark events.
|
|
|
|
*/
|
2018-10-21 03:02:53 +03:00
|
|
|
[ChromeOnly, Exposed=Window]
|
2018-10-09 17:47:27 +03:00
|
|
|
interface PlacesBookmark : PlacesEvent {
|
|
|
|
/**
|
|
|
|
* The id of the item.
|
|
|
|
*/
|
|
|
|
readonly attribute long long id;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The id of the folder to which the item belongs.
|
|
|
|
*/
|
|
|
|
readonly attribute long long parentId;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The type of the added item (see TYPE_* constants in nsINavBooksService.idl).
|
|
|
|
*/
|
|
|
|
readonly attribute unsigned short itemType;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The URI of the added item if it was TYPE_BOOKMARK, "" otherwise.
|
|
|
|
*/
|
|
|
|
readonly attribute DOMString url;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The unique ID associated with the item.
|
|
|
|
*/
|
|
|
|
readonly attribute ByteString guid;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The unique ID associated with the item's parent.
|
|
|
|
*/
|
|
|
|
readonly attribute ByteString parentGuid;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* A change source constant from nsINavBookmarksService::SOURCE_*,
|
|
|
|
* passed to the method that notifies the observer.
|
|
|
|
*/
|
|
|
|
readonly attribute unsigned short source;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* True if the item is a tag or a tag folder.
|
|
|
|
* NOTE: this will go away with bug 424160.
|
|
|
|
*/
|
|
|
|
readonly attribute boolean isTagging;
|
|
|
|
};
|
|
|
|
|
|
|
|
dictionary PlacesBookmarkAdditionInit {
|
|
|
|
required long long id;
|
|
|
|
required long long parentId;
|
|
|
|
required unsigned short itemType;
|
|
|
|
required DOMString url;
|
|
|
|
required ByteString guid;
|
|
|
|
required ByteString parentGuid;
|
|
|
|
required unsigned short source;
|
|
|
|
required long index;
|
|
|
|
required DOMString title;
|
|
|
|
required unsigned long long dateAdded;
|
|
|
|
required boolean isTagging;
|
|
|
|
};
|
|
|
|
|
2019-09-11 23:55:26 +03:00
|
|
|
[ChromeOnly, Exposed=Window]
|
2018-10-09 17:47:27 +03:00
|
|
|
interface PlacesBookmarkAddition : PlacesBookmark {
|
2019-09-11 23:55:26 +03:00
|
|
|
constructor(PlacesBookmarkAdditionInit initDict);
|
|
|
|
|
2018-10-09 17:47:27 +03:00
|
|
|
/**
|
|
|
|
* The item's index in the folder.
|
|
|
|
*/
|
|
|
|
readonly attribute long index;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The title of the added item.
|
|
|
|
*/
|
|
|
|
readonly attribute DOMString title;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The time that the item was added, in milliseconds from the epoch.
|
|
|
|
*/
|
|
|
|
readonly attribute unsigned long long dateAdded;
|
|
|
|
};
|
2020-01-16 21:38:54 +03:00
|
|
|
|
|
|
|
dictionary PlacesBookmarkRemovedInit {
|
|
|
|
required long long id;
|
|
|
|
required long long parentId;
|
|
|
|
required unsigned short itemType;
|
|
|
|
required DOMString url;
|
|
|
|
required ByteString guid;
|
|
|
|
required ByteString parentGuid;
|
|
|
|
required unsigned short source;
|
|
|
|
required long index;
|
|
|
|
required boolean isTagging;
|
|
|
|
boolean isDescendantRemoval = false;
|
|
|
|
};
|
|
|
|
|
|
|
|
[ChromeOnly, Exposed=Window]
|
|
|
|
interface PlacesBookmarkRemoved : PlacesBookmark {
|
|
|
|
constructor(PlacesBookmarkRemovedInit initDict);
|
|
|
|
/**
|
|
|
|
* The item's index in the folder.
|
|
|
|
*/
|
|
|
|
readonly attribute long index;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The item is a descendant of an item whose notification has been sent out.
|
|
|
|
*/
|
|
|
|
readonly attribute boolean isDescendantRemoval;
|
|
|
|
};
|