Skip to content

Commit 8e33d1e

Browse files
q71114github-actions[bot]
authored andcommitted
Release build 4.3.4 [ci release]
1 parent 5434ffe commit 8e33d1e

File tree

8 files changed

+176
-50
lines changed

8 files changed

+176
-50
lines changed

Sources/ContentScopeScripts/dist/contentScope.js

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7587,27 +7587,45 @@
75877587
// these permissions cannot be disabled using WebView2 or DevTools protocol
75887588
const permissionsToDisable = [
75897589
// @ts-expect-error https://app.asana.com/0/1201614831475344/1203979574128023/f
7590-
{ name: 'Bluetooth', prototype: Bluetooth.prototype, method: 'requestDevice' },
7590+
{ name: 'Bluetooth', prototype: Bluetooth.prototype, method: 'requestDevice', isPromise: true },
75917591
// @ts-expect-error https://app.asana.com/0/1201614831475344/1203979574128023/f
7592-
{ name: 'USB', prototype: USB.prototype, method: 'requestDevice' },
7592+
{ name: 'USB', prototype: USB.prototype, method: 'requestDevice', isPromise: true },
75937593
// @ts-expect-error https://app.asana.com/0/1201614831475344/1203979574128023/f
7594-
{ name: 'Serial', prototype: Serial.prototype, method: 'requestPort' },
7594+
{ name: 'Serial', prototype: Serial.prototype, method: 'requestPort', isPromise: true },
75957595
// @ts-expect-error https://app.asana.com/0/1201614831475344/1203979574128023/f
7596-
{ name: 'HID', prototype: HID.prototype, method: 'requestDevice' },
7597-
{ name: 'Protocol handler', prototype: Navigator.prototype, method: 'registerProtocolHandler' }
7596+
{ name: 'HID', prototype: HID.prototype, method: 'requestDevice', isPromise: true },
7597+
{ name: 'Protocol handler', prototype: Navigator.prototype, method: 'registerProtocolHandler', isPromise: false },
7598+
{ name: 'MIDI', prototype: Navigator.prototype, method: 'requestMIDIAccess', isPromise: true }
75987599
];
7599-
for (const { name, prototype, method } of permissionsToDisable) {
7600+
for (const { name, prototype, method, isPromise } of permissionsToDisable) {
76007601
try {
76017602
const proxy = new DDGProxy(featureName, prototype, method, {
76027603
apply () {
7603-
return Promise.reject(new DOMException('Permission denied'))
7604+
if (isPromise) {
7605+
return Promise.reject(new DOMException('Permission denied'))
7606+
} else {
7607+
throw new DOMException('Permission denied')
7608+
}
76047609
}
76057610
});
76067611
proxy.overload();
76077612
} catch (error) {
76087613
console.info(`Could not disable access to ${name} because of error`, error);
76097614
}
76107615
}
7616+
7617+
// these permissions can be disabled using DevTools protocol but it's not reliable and can throw exception sometimes
7618+
const permissionsToDelete = [
7619+
{ name: 'Idle detection', permission: 'IdleDetector' },
7620+
{ name: 'NFC', permission: 'NDEFReader' },
7621+
{ name: 'Orientation', permission: 'ondeviceorientation' },
7622+
{ name: 'Motion', permission: 'ondevicemotion' }
7623+
];
7624+
for (const { permission } of permissionsToDelete) {
7625+
if (permission in window) {
7626+
delete window[permission];
7627+
}
7628+
}
76117629
}
76127630

76137631
var windowsPermissionUsage = /*#__PURE__*/Object.freeze({

build/android/contentScope.js

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7587,27 +7587,45 @@
75877587
// these permissions cannot be disabled using WebView2 or DevTools protocol
75887588
const permissionsToDisable = [
75897589
// @ts-expect-error https://app.asana.com/0/1201614831475344/1203979574128023/f
7590-
{ name: 'Bluetooth', prototype: Bluetooth.prototype, method: 'requestDevice' },
7590+
{ name: 'Bluetooth', prototype: Bluetooth.prototype, method: 'requestDevice', isPromise: true },
75917591
// @ts-expect-error https://app.asana.com/0/1201614831475344/1203979574128023/f
7592-
{ name: 'USB', prototype: USB.prototype, method: 'requestDevice' },
7592+
{ name: 'USB', prototype: USB.prototype, method: 'requestDevice', isPromise: true },
75937593
// @ts-expect-error https://app.asana.com/0/1201614831475344/1203979574128023/f
7594-
{ name: 'Serial', prototype: Serial.prototype, method: 'requestPort' },
7594+
{ name: 'Serial', prototype: Serial.prototype, method: 'requestPort', isPromise: true },
75957595
// @ts-expect-error https://app.asana.com/0/1201614831475344/1203979574128023/f
7596-
{ name: 'HID', prototype: HID.prototype, method: 'requestDevice' },
7597-
{ name: 'Protocol handler', prototype: Navigator.prototype, method: 'registerProtocolHandler' }
7596+
{ name: 'HID', prototype: HID.prototype, method: 'requestDevice', isPromise: true },
7597+
{ name: 'Protocol handler', prototype: Navigator.prototype, method: 'registerProtocolHandler', isPromise: false },
7598+
{ name: 'MIDI', prototype: Navigator.prototype, method: 'requestMIDIAccess', isPromise: true }
75987599
];
7599-
for (const { name, prototype, method } of permissionsToDisable) {
7600+
for (const { name, prototype, method, isPromise } of permissionsToDisable) {
76007601
try {
76017602
const proxy = new DDGProxy(featureName, prototype, method, {
76027603
apply () {
7603-
return Promise.reject(new DOMException('Permission denied'))
7604+
if (isPromise) {
7605+
return Promise.reject(new DOMException('Permission denied'))
7606+
} else {
7607+
throw new DOMException('Permission denied')
7608+
}
76047609
}
76057610
});
76067611
proxy.overload();
76077612
} catch (error) {
76087613
console.info(`Could not disable access to ${name} because of error`, error);
76097614
}
76107615
}
7616+
7617+
// these permissions can be disabled using DevTools protocol but it's not reliable and can throw exception sometimes
7618+
const permissionsToDelete = [
7619+
{ name: 'Idle detection', permission: 'IdleDetector' },
7620+
{ name: 'NFC', permission: 'NDEFReader' },
7621+
{ name: 'Orientation', permission: 'ondeviceorientation' },
7622+
{ name: 'Motion', permission: 'ondevicemotion' }
7623+
];
7624+
for (const { permission } of permissionsToDelete) {
7625+
if (permission in window) {
7626+
delete window[permission];
7627+
}
7628+
}
76117629
}
76127630

76137631
var windowsPermissionUsage = /*#__PURE__*/Object.freeze({

build/chrome-mv3/inject.js

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6855,27 +6855,45 @@
68556855
// these permissions cannot be disabled using WebView2 or DevTools protocol
68566856
const permissionsToDisable = [
68576857
// @ts-expect-error https://app.asana.com/0/1201614831475344/1203979574128023/f
6858-
{ name: 'Bluetooth', prototype: Bluetooth.prototype, method: 'requestDevice' },
6858+
{ name: 'Bluetooth', prototype: Bluetooth.prototype, method: 'requestDevice', isPromise: true },
68596859
// @ts-expect-error https://app.asana.com/0/1201614831475344/1203979574128023/f
6860-
{ name: 'USB', prototype: USB.prototype, method: 'requestDevice' },
6860+
{ name: 'USB', prototype: USB.prototype, method: 'requestDevice', isPromise: true },
68616861
// @ts-expect-error https://app.asana.com/0/1201614831475344/1203979574128023/f
6862-
{ name: 'Serial', prototype: Serial.prototype, method: 'requestPort' },
6862+
{ name: 'Serial', prototype: Serial.prototype, method: 'requestPort', isPromise: true },
68636863
// @ts-expect-error https://app.asana.com/0/1201614831475344/1203979574128023/f
6864-
{ name: 'HID', prototype: HID.prototype, method: 'requestDevice' },
6865-
{ name: 'Protocol handler', prototype: Navigator.prototype, method: 'registerProtocolHandler' }
6864+
{ name: 'HID', prototype: HID.prototype, method: 'requestDevice', isPromise: true },
6865+
{ name: 'Protocol handler', prototype: Navigator.prototype, method: 'registerProtocolHandler', isPromise: false },
6866+
{ name: 'MIDI', prototype: Navigator.prototype, method: 'requestMIDIAccess', isPromise: true }
68666867
];
6867-
for (const { name, prototype, method } of permissionsToDisable) {
6868+
for (const { name, prototype, method, isPromise } of permissionsToDisable) {
68686869
try {
68696870
const proxy = new DDGProxy(featureName, prototype, method, {
68706871
apply () {
6871-
return Promise.reject(new DOMException('Permission denied'))
6872+
if (isPromise) {
6873+
return Promise.reject(new DOMException('Permission denied'))
6874+
} else {
6875+
throw new DOMException('Permission denied')
6876+
}
68726877
}
68736878
});
68746879
proxy.overload();
68756880
} catch (error) {
68766881
console.info(`Could not disable access to ${name} because of error`, error);
68776882
}
68786883
}
6884+
6885+
// these permissions can be disabled using DevTools protocol but it's not reliable and can throw exception sometimes
6886+
const permissionsToDelete = [
6887+
{ name: 'Idle detection', permission: 'IdleDetector' },
6888+
{ name: 'NFC', permission: 'NDEFReader' },
6889+
{ name: 'Orientation', permission: 'ondeviceorientation' },
6890+
{ name: 'Motion', permission: 'ondevicemotion' }
6891+
];
6892+
for (const { permission } of permissionsToDelete) {
6893+
if (permission in window) {
6894+
delete window[permission];
6895+
}
6896+
}
68796897
}
68806898

68816899
var windowsPermissionUsage = /*#__PURE__*/Object.freeze({

build/chrome/inject.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build/firefox/inject.js

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6879,27 +6879,45 @@
68796879
// these permissions cannot be disabled using WebView2 or DevTools protocol
68806880
const permissionsToDisable = [
68816881
// @ts-expect-error https://app.asana.com/0/1201614831475344/1203979574128023/f
6882-
{ name: 'Bluetooth', prototype: Bluetooth.prototype, method: 'requestDevice' },
6882+
{ name: 'Bluetooth', prototype: Bluetooth.prototype, method: 'requestDevice', isPromise: true },
68836883
// @ts-expect-error https://app.asana.com/0/1201614831475344/1203979574128023/f
6884-
{ name: 'USB', prototype: USB.prototype, method: 'requestDevice' },
6884+
{ name: 'USB', prototype: USB.prototype, method: 'requestDevice', isPromise: true },
68856885
// @ts-expect-error https://app.asana.com/0/1201614831475344/1203979574128023/f
6886-
{ name: 'Serial', prototype: Serial.prototype, method: 'requestPort' },
6886+
{ name: 'Serial', prototype: Serial.prototype, method: 'requestPort', isPromise: true },
68876887
// @ts-expect-error https://app.asana.com/0/1201614831475344/1203979574128023/f
6888-
{ name: 'HID', prototype: HID.prototype, method: 'requestDevice' },
6889-
{ name: 'Protocol handler', prototype: Navigator.prototype, method: 'registerProtocolHandler' }
6888+
{ name: 'HID', prototype: HID.prototype, method: 'requestDevice', isPromise: true },
6889+
{ name: 'Protocol handler', prototype: Navigator.prototype, method: 'registerProtocolHandler', isPromise: false },
6890+
{ name: 'MIDI', prototype: Navigator.prototype, method: 'requestMIDIAccess', isPromise: true }
68906891
];
6891-
for (const { name, prototype, method } of permissionsToDisable) {
6892+
for (const { name, prototype, method, isPromise } of permissionsToDisable) {
68926893
try {
68936894
const proxy = new DDGProxy(featureName, prototype, method, {
68946895
apply () {
6895-
return Promise.reject(new DOMException('Permission denied'))
6896+
if (isPromise) {
6897+
return Promise.reject(new DOMException('Permission denied'))
6898+
} else {
6899+
throw new DOMException('Permission denied')
6900+
}
68966901
}
68976902
});
68986903
proxy.overload();
68996904
} catch (error) {
69006905
console.info(`Could not disable access to ${name} because of error`, error);
69016906
}
69026907
}
6908+
6909+
// these permissions can be disabled using DevTools protocol but it's not reliable and can throw exception sometimes
6910+
const permissionsToDelete = [
6911+
{ name: 'Idle detection', permission: 'IdleDetector' },
6912+
{ name: 'NFC', permission: 'NDEFReader' },
6913+
{ name: 'Orientation', permission: 'ondeviceorientation' },
6914+
{ name: 'Motion', permission: 'ondevicemotion' }
6915+
];
6916+
for (const { permission } of permissionsToDelete) {
6917+
if (permission in window) {
6918+
delete window[permission];
6919+
}
6920+
}
69036921
}
69046922

69056923
var windowsPermissionUsage = /*#__PURE__*/Object.freeze({

build/integration/contentScope.js

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6834,27 +6834,45 @@
68346834
// these permissions cannot be disabled using WebView2 or DevTools protocol
68356835
const permissionsToDisable = [
68366836
// @ts-expect-error https://app.asana.com/0/1201614831475344/1203979574128023/f
6837-
{ name: 'Bluetooth', prototype: Bluetooth.prototype, method: 'requestDevice' },
6837+
{ name: 'Bluetooth', prototype: Bluetooth.prototype, method: 'requestDevice', isPromise: true },
68386838
// @ts-expect-error https://app.asana.com/0/1201614831475344/1203979574128023/f
6839-
{ name: 'USB', prototype: USB.prototype, method: 'requestDevice' },
6839+
{ name: 'USB', prototype: USB.prototype, method: 'requestDevice', isPromise: true },
68406840
// @ts-expect-error https://app.asana.com/0/1201614831475344/1203979574128023/f
6841-
{ name: 'Serial', prototype: Serial.prototype, method: 'requestPort' },
6841+
{ name: 'Serial', prototype: Serial.prototype, method: 'requestPort', isPromise: true },
68426842
// @ts-expect-error https://app.asana.com/0/1201614831475344/1203979574128023/f
6843-
{ name: 'HID', prototype: HID.prototype, method: 'requestDevice' },
6844-
{ name: 'Protocol handler', prototype: Navigator.prototype, method: 'registerProtocolHandler' }
6843+
{ name: 'HID', prototype: HID.prototype, method: 'requestDevice', isPromise: true },
6844+
{ name: 'Protocol handler', prototype: Navigator.prototype, method: 'registerProtocolHandler', isPromise: false },
6845+
{ name: 'MIDI', prototype: Navigator.prototype, method: 'requestMIDIAccess', isPromise: true }
68456846
];
6846-
for (const { name, prototype, method } of permissionsToDisable) {
6847+
for (const { name, prototype, method, isPromise } of permissionsToDisable) {
68476848
try {
68486849
const proxy = new DDGProxy(featureName, prototype, method, {
68496850
apply () {
6850-
return Promise.reject(new DOMException('Permission denied'))
6851+
if (isPromise) {
6852+
return Promise.reject(new DOMException('Permission denied'))
6853+
} else {
6854+
throw new DOMException('Permission denied')
6855+
}
68516856
}
68526857
});
68536858
proxy.overload();
68546859
} catch (error) {
68556860
console.info(`Could not disable access to ${name} because of error`, error);
68566861
}
68576862
}
6863+
6864+
// these permissions can be disabled using DevTools protocol but it's not reliable and can throw exception sometimes
6865+
const permissionsToDelete = [
6866+
{ name: 'Idle detection', permission: 'IdleDetector' },
6867+
{ name: 'NFC', permission: 'NDEFReader' },
6868+
{ name: 'Orientation', permission: 'ondeviceorientation' },
6869+
{ name: 'Motion', permission: 'ondevicemotion' }
6870+
];
6871+
for (const { permission } of permissionsToDelete) {
6872+
if (permission in window) {
6873+
delete window[permission];
6874+
}
6875+
}
68586876
}
68596877

68606878
var windowsPermissionUsage = /*#__PURE__*/Object.freeze({

build/windows/contentScope.js

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7589,27 +7589,45 @@
75897589
// these permissions cannot be disabled using WebView2 or DevTools protocol
75907590
const permissionsToDisable = [
75917591
// @ts-expect-error https://app.asana.com/0/1201614831475344/1203979574128023/f
7592-
{ name: 'Bluetooth', prototype: Bluetooth.prototype, method: 'requestDevice' },
7592+
{ name: 'Bluetooth', prototype: Bluetooth.prototype, method: 'requestDevice', isPromise: true },
75937593
// @ts-expect-error https://app.asana.com/0/1201614831475344/1203979574128023/f
7594-
{ name: 'USB', prototype: USB.prototype, method: 'requestDevice' },
7594+
{ name: 'USB', prototype: USB.prototype, method: 'requestDevice', isPromise: true },
75957595
// @ts-expect-error https://app.asana.com/0/1201614831475344/1203979574128023/f
7596-
{ name: 'Serial', prototype: Serial.prototype, method: 'requestPort' },
7596+
{ name: 'Serial', prototype: Serial.prototype, method: 'requestPort', isPromise: true },
75977597
// @ts-expect-error https://app.asana.com/0/1201614831475344/1203979574128023/f
7598-
{ name: 'HID', prototype: HID.prototype, method: 'requestDevice' },
7599-
{ name: 'Protocol handler', prototype: Navigator.prototype, method: 'registerProtocolHandler' }
7598+
{ name: 'HID', prototype: HID.prototype, method: 'requestDevice', isPromise: true },
7599+
{ name: 'Protocol handler', prototype: Navigator.prototype, method: 'registerProtocolHandler', isPromise: false },
7600+
{ name: 'MIDI', prototype: Navigator.prototype, method: 'requestMIDIAccess', isPromise: true }
76007601
];
7601-
for (const { name, prototype, method } of permissionsToDisable) {
7602+
for (const { name, prototype, method, isPromise } of permissionsToDisable) {
76027603
try {
76037604
const proxy = new DDGProxy(featureName, prototype, method, {
76047605
apply () {
7605-
return Promise.reject(new DOMException('Permission denied'))
7606+
if (isPromise) {
7607+
return Promise.reject(new DOMException('Permission denied'))
7608+
} else {
7609+
throw new DOMException('Permission denied')
7610+
}
76067611
}
76077612
});
76087613
proxy.overload();
76097614
} catch (error) {
76107615
console.info(`Could not disable access to ${name} because of error`, error);
76117616
}
76127617
}
7618+
7619+
// these permissions can be disabled using DevTools protocol but it's not reliable and can throw exception sometimes
7620+
const permissionsToDelete = [
7621+
{ name: 'Idle detection', permission: 'IdleDetector' },
7622+
{ name: 'NFC', permission: 'NDEFReader' },
7623+
{ name: 'Orientation', permission: 'ondeviceorientation' },
7624+
{ name: 'Motion', permission: 'ondevicemotion' }
7625+
];
7626+
for (const { permission } of permissionsToDelete) {
7627+
if (permission in window) {
7628+
delete window[permission];
7629+
}
7630+
}
76137631
}
76147632

76157633
var windowsPermissionUsage = /*#__PURE__*/Object.freeze({

0 commit comments

Comments
 (0)