fune/toolkit/components/extensions/ext-toolkit.js
Kris Maglione 4fe634d449 Bug 1398630: Part 6 - Avoid some avoidable uses of nsIURI. r=zombie
MozReview-Commit-ID: 18Wd3buFM38

--HG--
extra : rebase_source : 0b42a1b55d80560491c0c0e533d8c0e990bffa43
2017-09-10 15:36:57 -07:00

82 lines
2.4 KiB
JavaScript

"use strict";
// These are defined on "global" which is used for the same scopes as the other
// ext-*.js files.
/* exported getCookieStoreIdForTab, getCookieStoreIdForContainer,
getContainerForCookieStoreId,
isValidCookieStoreId, isContainerCookieStoreId,
EventManager, InputEventManager */
/* global getCookieStoreIdForTab:false, getCookieStoreIdForContainer:false,
getContainerForCookieStoreId: false,
isValidCookieStoreId:false, isContainerCookieStoreId:false,
isDefaultCookieStoreId: false, isPrivateCookieStoreId:false,
EventManager: false, InputEventManager: false */
XPCOMUtils.defineLazyModuleGetter(this, "ContextualIdentityService",
"resource://gre/modules/ContextualIdentityService.jsm");
Cu.importGlobalProperties(["URL"]);
Cu.import("resource://gre/modules/ExtensionCommon.jsm");
global.EventEmitter = ExtensionUtils.EventEmitter;
global.EventManager = ExtensionCommon.EventManager;
global.InputEventManager = class extends EventManager {
constructor(...args) {
super(...args);
this.inputHandling = true;
}
};
/* globals DEFAULT_STORE, PRIVATE_STORE, CONTAINER_STORE */
global.DEFAULT_STORE = "firefox-default";
global.PRIVATE_STORE = "firefox-private";
global.CONTAINER_STORE = "firefox-container-";
global.getCookieStoreIdForTab = function(data, tab) {
if (data.incognito) {
return PRIVATE_STORE;
}
if (tab.userContextId) {
return getCookieStoreIdForContainer(tab.userContextId);
}
return DEFAULT_STORE;
};
global.isPrivateCookieStoreId = function(storeId) {
return storeId == PRIVATE_STORE;
};
global.isDefaultCookieStoreId = function(storeId) {
return storeId == DEFAULT_STORE;
};
global.isContainerCookieStoreId = function(storeId) {
return storeId !== null && storeId.startsWith(CONTAINER_STORE);
};
global.getCookieStoreIdForContainer = function(containerId) {
return CONTAINER_STORE + containerId;
};
global.getContainerForCookieStoreId = function(storeId) {
if (!isContainerCookieStoreId(storeId)) {
return null;
}
let containerId = storeId.substring(CONTAINER_STORE.length);
if (ContextualIdentityService.getPublicIdentityFromId(containerId)) {
return parseInt(containerId, 10);
}
return null;
};
global.isValidCookieStoreId = function(storeId) {
return isDefaultCookieStoreId(storeId) ||
isPrivateCookieStoreId(storeId) ||
isContainerCookieStoreId(storeId);
};