@mirawision/chrome-api
Version:
A comprehensive TypeScript library for Chrome Extension API, providing type-safe wrappers and utilities for bookmarks, commands, context menus, cookies, downloads, storage, notifications, runtime, scripting, and side panel functionalities.
114 lines (113 loc) • 4.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.WebNavigation = void 0;
class WebNavigation {
static async getAllFrames(details) {
return new Promise((resolve, reject) => {
chrome.webNavigation.getAllFrames(details, (frames) => {
if (chrome.runtime.lastError) {
reject(chrome.runtime.lastError);
}
else {
resolve(frames);
}
});
});
}
static async getFrame(details) {
return new Promise((resolve, reject) => {
chrome.webNavigation.getFrame(details, (frame) => {
if (chrome.runtime.lastError) {
reject(chrome.runtime.lastError);
}
else {
resolve(frame);
}
});
});
}
static addBeforeNavigateListener(callback, filters) {
if (filters) {
chrome.webNavigation.onBeforeNavigate.addListener(callback, filters);
}
else {
chrome.webNavigation.onBeforeNavigate.addListener(callback);
}
}
static addCommittedListener(callback, filters) {
if (filters) {
chrome.webNavigation.onCommitted.addListener(callback, filters);
}
else {
chrome.webNavigation.onCommitted.addListener(callback);
}
}
static addCompletedListener(callback, filters) {
if (filters) {
chrome.webNavigation.onCompleted.addListener(callback, filters);
}
else {
chrome.webNavigation.onCompleted.addListener(callback);
}
}
static addDOMContentLoadedListener(callback, filters) {
if (filters) {
chrome.webNavigation.onDOMContentLoaded.addListener(callback, filters);
}
else {
chrome.webNavigation.onDOMContentLoaded.addListener(callback);
}
}
static addErrorOccurredListener(callback, filters) {
if (filters) {
chrome.webNavigation.onErrorOccurred.addListener(callback, filters);
}
else {
chrome.webNavigation.onErrorOccurred.addListener(callback);
}
}
static addHistoryStateUpdatedListener(callback, filters) {
if (filters) {
chrome.webNavigation.onHistoryStateUpdated.addListener(callback, filters);
}
else {
chrome.webNavigation.onHistoryStateUpdated.addListener(callback);
}
}
static addReferenceFragmentUpdatedListener(callback, filters) {
if (filters) {
chrome.webNavigation.onReferenceFragmentUpdated.addListener(callback, filters);
}
else {
chrome.webNavigation.onReferenceFragmentUpdated.addListener(callback);
}
}
static addTabReplacedListener(callback) {
chrome.webNavigation.onTabReplaced.addListener(callback);
}
static removeBeforeNavigateListener(callback) {
chrome.webNavigation.onBeforeNavigate.removeListener(callback);
}
static removeCommittedListener(callback) {
chrome.webNavigation.onCommitted.removeListener(callback);
}
static removeCompletedListener(callback) {
chrome.webNavigation.onCompleted.removeListener(callback);
}
static removeDOMContentLoadedListener(callback) {
chrome.webNavigation.onDOMContentLoaded.removeListener(callback);
}
static removeErrorOccurredListener(callback) {
chrome.webNavigation.onErrorOccurred.removeListener(callback);
}
static removeHistoryStateUpdatedListener(callback) {
chrome.webNavigation.onHistoryStateUpdated.removeListener(callback);
}
static removeReferenceFragmentUpdatedListener(callback) {
chrome.webNavigation.onReferenceFragmentUpdated.removeListener(callback);
}
static removeTabReplacedListener(callback) {
chrome.webNavigation.onTabReplaced.removeListener(callback);
}
}
exports.WebNavigation = WebNavigation;