diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /dom/chrome-webidl/PlacesEvent.webidl | |
parent | Initial commit. (diff) | |
download | firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esr
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'dom/chrome-webidl/PlacesEvent.webidl')
-rw-r--r-- | dom/chrome-webidl/PlacesEvent.webidl | 547 |
1 files changed, 547 insertions, 0 deletions
diff --git a/dom/chrome-webidl/PlacesEvent.webidl b/dom/chrome-webidl/PlacesEvent.webidl new file mode 100644 index 0000000000..6507931890 --- /dev/null +++ b/dom/chrome-webidl/PlacesEvent.webidl @@ -0,0 +1,547 @@ +enum PlacesEventType { + "none", + + /** + * data: PlacesVisit. Fired whenever a page is visited. + */ + "page-visited", + /** + * data: PlacesBookmarkAddition. Fired whenever a bookmark + * (or a bookmark folder/separator) is created. + */ + "bookmark-added", + /** + * data: PlacesBookmarkRemoved. Fired whenever a bookmark + * (or a bookmark folder/separator) is removed. + */ + "bookmark-removed", + /** + * data: PlacesBookmarkMoved. Fired whenever a bookmark + * (or a bookmark folder/separator) is moved. + */ + "bookmark-moved", + /** + * data: PlacesBookmarkGuid. Fired whenever a bookmark guid changes. + */ + "bookmark-guid-changed", + /** + * data: PlacesBookmarkKeyword. Fired whenever a bookmark keyword changes. + */ + "bookmark-keyword-changed", + /** + * data: PlacesBookmarkTags. Fired whenever tags of bookmark changes. + */ + "bookmark-tags-changed", + /** + * data: PlacesBookmarkTime. + * Fired whenever dateAdded or lastModified of a bookmark is explicitly changed + * through the Bookmarks API. This notification doesn't fire when a bookmark is + * created, or when a property of a bookmark (e.g. title) is changed, even if + * lastModified will be updated as a consequence of that change. + */ + "bookmark-time-changed", + /** + * data: PlacesBookmarkTitle. Fired whenever a bookmark title changes. + */ + "bookmark-title-changed", + /** + * data: PlacesBookmarkUrl. Fired whenever a bookmark url changes. + */ + "bookmark-url-changed", + /** + * data: PlacesFavicon. Fired whenever a favicon changes. + */ + "favicon-changed", + /** + * data: PlacesVisitTitle. Fired whenever a page title changes. + */ + "page-title-changed", + /** + * data: PlacesHistoryCleared. Fired whenever history is cleared. + */ + "history-cleared", + /** + * data: PlacesRanking. Fired whenever pages ranking is changed. + */ + "pages-rank-changed", + /** + * data: PlacesVisitRemoved. Fired whenever a page or its visits are removed. + * This may be invoked when a page is removed from the store because it has no more + * visits, nor bookmarks. It may also be invoked when all or some of the page visits are + * removed, but the page itself is not removed from the store, because it may be + * bookmarked. + */ + "page-removed", + /** + * data: PlacesPurgeCaches. Fired whenever changes happened that could not be observed + * through other notifications, for example a database fixup. When received, observers, + * especially data views, should drop any caches and reload from scratch. + */ + "purge-caches", +}; + +[ChromeOnly, Exposed=Window] +interface PlacesEvent { + readonly attribute PlacesEventType type; +}; + +[ChromeOnly, Exposed=Window] +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; +}; + +/** + * Base class for properties that are common to all bookmark events. + */ +[ChromeOnly, Exposed=Window] +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; +}; + +[ChromeOnly, Exposed=Window] +interface PlacesBookmarkAddition : PlacesBookmark { + constructor(PlacesBookmarkAdditionInit initDict); + + /** + * 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; +}; + +dictionary PlacesBookmarkRemovedInit { + required long long id; + required long long parentId; + required unsigned short itemType; + required DOMString url; + required DOMString title; + 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 title of the the removed item. + */ + readonly attribute DOMString title; + + /** + * The item is a descendant of an item whose notification has been sent out. + */ + readonly attribute boolean isDescendantRemoval; +}; + +dictionary PlacesBookmarkMovedInit { + required long long id; + required unsigned short itemType; + DOMString? url = null; + required ByteString guid; + required ByteString parentGuid; + required long index; + required ByteString oldParentGuid; + required long oldIndex; + required unsigned short source; + required boolean isTagging; +}; + +[ChromeOnly, Exposed=Window] +/** + * NOTE: Though PlacesBookmarkMoved extends PlacesBookmark, + * parentId will not be set. Use parentGuid instead. + */ +interface PlacesBookmarkMoved : PlacesBookmark { + constructor(PlacesBookmarkMovedInit initDict); + /** + * The item's index in the folder. + */ + readonly attribute long index; + + /** + * The unique ID associated with the item's old parent. + */ + readonly attribute ByteString oldParentGuid; + + /** + * The item's old index in the folder. + */ + readonly attribute long oldIndex; +}; + +[ChromeOnly, Exposed=Window] +interface PlacesBookmarkChanged : PlacesBookmark { + /** + * The updated last modified value in milliseconds. + */ + readonly attribute long long lastModified; +}; + +dictionary PlacesBookmarkGuidInit { + required long long id; + required unsigned short itemType; + DOMString? url = null; + required ByteString guid; + required ByteString parentGuid; + required long long lastModified; + required unsigned short source; + required boolean isTagging; +}; + +[ChromeOnly, Exposed=Window] +interface PlacesBookmarkGuid : PlacesBookmarkChanged { + constructor(PlacesBookmarkGuidInit initDict); +}; + +dictionary PlacesBookmarkKeywordInit { + required long long id; + required unsigned short itemType; + DOMString? url = null; + required ByteString guid; + required ByteString parentGuid; + required ByteString keyword; + required long long lastModified; + required unsigned short source; + required boolean isTagging; +}; + +[ChromeOnly, Exposed=Window] +interface PlacesBookmarkKeyword : PlacesBookmarkChanged { + constructor(PlacesBookmarkKeywordInit initDict); + + /** + * Keyword the bookmark has currently. + */ + [Constant,Cached] + readonly attribute ByteString keyword; +}; + +dictionary PlacesBookmarkTagsInit { + required long long id; + required unsigned short itemType; + DOMString? url = null; + required ByteString guid; + required ByteString parentGuid; + required sequence<DOMString> tags; + required long long lastModified; + required unsigned short source; + required boolean isTagging; +}; + +[ChromeOnly, Exposed=Window] +interface PlacesBookmarkTags : PlacesBookmarkChanged { + constructor(PlacesBookmarkTagsInit initDict); + + /** + * Tags the bookmark has currently. + */ + [Constant,Cached] + readonly attribute sequence<DOMString> tags; +}; + +dictionary PlacesBookmarkTimeInit { + required long long id; + required unsigned short itemType; + DOMString? url = null; + required ByteString guid; + required ByteString parentGuid; + required long long dateAdded; + required long long lastModified; + required unsigned short source; + required boolean isTagging; +}; + +[ChromeOnly, Exposed=Window] +interface PlacesBookmarkTime : PlacesBookmarkChanged { + constructor(PlacesBookmarkTimeInit initDict); + + /** + * The added date in milliseconds. + */ + readonly attribute long long dateAdded; +}; + +dictionary PlacesBookmarkTitleInit { + required long long id; + required unsigned short itemType; + DOMString? url = null; + required ByteString guid; + required ByteString parentGuid; + required DOMString title; + required long long lastModified; + required unsigned short source; + required boolean isTagging; +}; + +[ChromeOnly, Exposed=Window] +interface PlacesBookmarkTitle : PlacesBookmarkChanged { + constructor(PlacesBookmarkTitleInit initDict); + + /** + * The title of the changed bookmark. + */ + readonly attribute DOMString title; +}; + +dictionary PlacesBookmarkUrlInit { + required long long id; + required unsigned short itemType; + required DOMString url; + required ByteString guid; + required ByteString parentGuid; + required long long lastModified; + required unsigned short source; + required boolean isTagging; +}; + +[ChromeOnly, Exposed=Window] +interface PlacesBookmarkUrl : PlacesBookmarkChanged { + constructor(PlacesBookmarkUrlInit initDict); +}; + +dictionary PlacesFaviconInit { + required DOMString url; + required ByteString pageGuid; + required DOMString faviconUrl; +}; + +[ChromeOnly, Exposed=Window] +interface PlacesFavicon : PlacesEvent { + constructor(PlacesFaviconInit initDict); + + /** + * The URI of the changed page. + */ + readonly attribute DOMString url; + + /** + * The unique id associated with the page. + */ + readonly attribute ByteString pageGuid; + + /** + * The URI of the new favicon. + */ + readonly attribute DOMString faviconUrl; +}; + +dictionary PlacesVisitTitleInit { + required DOMString url; + required ByteString pageGuid; + required DOMString title; +}; + +[ChromeOnly, Exposed=Window] +interface PlacesVisitTitle : PlacesEvent { + constructor(PlacesVisitTitleInit initDict); + + /** + * The URI of the changed page. + */ + readonly attribute DOMString url; + + /** + * The unique id associated with the page. + */ + readonly attribute ByteString pageGuid; + + /** + * The title of the changed page. + */ + readonly attribute DOMString title; +}; + +[ChromeOnly, Exposed=Window] +interface PlacesHistoryCleared : PlacesEvent { + constructor(); +}; + +[ChromeOnly, Exposed=Window] +interface PlacesRanking : PlacesEvent { + constructor(); +}; + +dictionary PlacesVisitRemovedInit { + required DOMString url; + required ByteString pageGuid; + required unsigned short reason; + unsigned long transitionType = 0; + boolean isRemovedFromStore = false; + boolean isPartialVisistsRemoval = false; +}; + +[ChromeOnly, Exposed=Window] +interface PlacesVisitRemoved : PlacesEvent { + /** + * Removed by the user. + */ + const unsigned short REASON_DELETED = 0; + + /** + * Removed by periodic expiration. + */ + const unsigned short REASON_EXPIRED = 1; + + constructor(PlacesVisitRemovedInit initDict); + + /** + * The URI of the page. + */ + readonly attribute DOMString url; + + /** + * The unique id associated with the page. + */ + readonly attribute ByteString pageGuid; + + /** + * The reason of removal. + */ + readonly attribute unsigned short reason; + + /** + * One of nsINavHistoryService.TRANSITION_* + * NOTE: Please refer this attribute only when isRemovedFromStore is false. + * Otherwise this will be 0. + */ + readonly attribute unsigned long transitionType; + + /** + * This will be true if the page is removed from store. + * If false, only visits were removed, but not the page. + */ + readonly attribute boolean isRemovedFromStore; + + /** + * This will be true if remains at least one visit to the page. + */ + readonly attribute boolean isPartialVisistsRemoval; +}; + +[ChromeOnly, Exposed=Window] +interface PlacesPurgeCaches : PlacesEvent { + constructor(); +}; |