| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- global.chrome =
- global.browser = {
- storage: {
- local: {
- get() {
- return Promise.resolve({});
- },
- set() {
- return Promise.resolve();
- },
- },
- },
- extension: {
- isAllowedFileSchemeAccess: () => false,
- },
- runtime: {
- getURL: path => path,
- getManifest: () => ({
- icons: { 16: '' },
- options_ui: {},
- }),
- getPlatformInfo: async () => ({}),
- },
- tabs: {
- onRemoved: { addListener: () => {} },
- onReplaced: { addListener: () => {} },
- onUpdated: { addListener: () => {} },
- },
- windows: {
- getAll: () => [{}],
- getCurrent: () => ({}),
- },
- };
- if (!window.Response) window.Response = { prototype: {} };
- const domProps = Object.getOwnPropertyDescriptors(window);
- for (const k of Object.keys(domProps)) {
- // Skipping ***Storage and native global methods
- if (k.endsWith('Storage') || /^[a-z]/.test(k) && (k in global)) {
- delete domProps[k];
- }
- }
- Object.defineProperties(global, domProps);
- delete MessagePort.prototype.onmessage; // to avoid hanging
- global.PAGE_MODE_HANDSHAKE = 123;
- global.VAULT_ID = false;
- Object.assign(URL, {
- blobCache: {},
- createObjectURL(blob) {
- const blobUrl = `blob:${Math.random()}`;
- URL.blobCache[blobUrl] = blob;
- return blobUrl;
- },
- });
- Object.assign(global, require('@/common/safe-globals-shared'));
- Object.assign(global, require('@/common/safe-globals'));
- Object.assign(global, require('@/injected/safe-globals'));
- Object.assign(global, require('@/injected/content/safe-globals'));
- Object.assign(global, require('@/injected/web/safe-globals'));
|