browser(firefox): Browser.setPlatformOverride (#8440)

This commit is contained in:
Joel Einbinder 2021-08-25 11:45:45 -04:00 committed by GitHub
parent f7950352b9
commit e04ff81921
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 48 additions and 4 deletions

View file

@ -1,2 +1,2 @@
1282
Changed: joel.einbinder@gmail.com Wed 25 Aug 2021 08:16:37 AM PDT
1283
Changed: joel.einbinder@gmail.com Wed 25 Aug 2021 08:42:49 AM PDT

View file

@ -169,6 +169,7 @@ class TargetRegistry {
throw new Error(`Internal error: cannot find context for userContextId=${userContextId}`);
const target = new PageTarget(this, window, tab, browserContext, openerTarget);
target.updateUserAgent();
target.updatePlatform();
target.updateJavaScriptDisabled();
target.updateTouchOverride();
target.updateColorSchemeOverride();
@ -406,6 +407,10 @@ class PageTarget {
this._linkedBrowser.browsingContext.customUserAgent = this._browserContext.defaultUserAgent;
}
updatePlatform() {
this._linkedBrowser.browsingContext.customPlatform = this._browserContext.defaultPlatform;
}
updateJavaScriptDisabled() {
this._linkedBrowser.browsingContext.allowJavascript = !this._browserContext.javaScriptDisabled;
}
@ -695,6 +700,7 @@ class BrowserContext {
this.defaultViewportSize = undefined;
this.deviceScaleFactor = undefined;
this.defaultUserAgent = null;
this.defaultPlatform = null;
this.javaScriptDisabled = false;
this.touchOverride = false;
this.colorScheme = 'none';
@ -773,6 +779,12 @@ class BrowserContext {
page.updateUserAgent();
}
setDefaultPlatform(platform) {
this.defaultPlatform = platform;
for (const page of this.pages)
page.updatePlatform();
}
setJavaScriptDisabled(javaScriptDisabled) {
this.javaScriptDisabled = javaScriptDisabled;
for (const page of this.pages)

View file

@ -221,6 +221,10 @@ class BrowserHandler {
await this._targetRegistry.browserContextForId(browserContextId).setDefaultUserAgent(userAgent);
}
async ['Browser.setPlatformOverride']({browserContextId, platform}) {
await this._targetRegistry.browserContextForId(browserContextId).setDefaultPlatform(platform);
}
async ['Browser.setBypassCSP']({browserContextId, bypassCSP}) {
await this._targetRegistry.browserContextForId(browserContextId).applySetting('bypassCSP', nullToUndefined(bypassCSP));
}

View file

@ -327,6 +327,12 @@ const Browser = {
userAgent: t.Nullable(t.String),
}
},
'setPlatformOverride': {
params: {
browserContextId: t.Optional(t.String),
platform: t.Nullable(t.String),
}
},
'setBypassCSP': {
params: {
browserContextId: t.Optional(t.String),

View file

@ -1,2 +1,2 @@
1287
Changed: joel.einbinder@gmail.com Wed 25 Aug 2021 08:15:20 AM PDT
1288
Changed: joel.einbinder@gmail.com Wed 25 Aug 2021 08:41:36 AM PDT

View file

@ -169,6 +169,7 @@ class TargetRegistry {
throw new Error(`Internal error: cannot find context for userContextId=${userContextId}`);
const target = new PageTarget(this, window, tab, browserContext, openerTarget);
target.updateUserAgent();
target.updatePlatform();
target.updateJavaScriptDisabled();
target.updateTouchOverride();
target.updateColorSchemeOverride();
@ -406,6 +407,10 @@ class PageTarget {
this._linkedBrowser.browsingContext.customUserAgent = this._browserContext.defaultUserAgent;
}
updatePlatform() {
this._linkedBrowser.browsingContext.customPlatform = this._browserContext.defaultPlatform;
}
updateJavaScriptDisabled() {
this._linkedBrowser.browsingContext.allowJavascript = !this._browserContext.javaScriptDisabled;
}
@ -695,6 +700,7 @@ class BrowserContext {
this.defaultViewportSize = undefined;
this.deviceScaleFactor = undefined;
this.defaultUserAgent = null;
this.defaultPlatform = null;
this.javaScriptDisabled = false;
this.touchOverride = false;
this.colorScheme = 'none';
@ -773,6 +779,12 @@ class BrowserContext {
page.updateUserAgent();
}
setDefaultPlatform(platform) {
this.defaultPlatform = platform;
for (const page of this.pages)
page.updatePlatform();
}
setJavaScriptDisabled(javaScriptDisabled) {
this.javaScriptDisabled = javaScriptDisabled;
for (const page of this.pages)

View file

@ -221,6 +221,10 @@ class BrowserHandler {
await this._targetRegistry.browserContextForId(browserContextId).setDefaultUserAgent(userAgent);
}
async ['Browser.setPlatformOverride']({browserContextId, platform}) {
await this._targetRegistry.browserContextForId(browserContextId).setDefaultPlatform(platform);
}
async ['Browser.setBypassCSP']({browserContextId, bypassCSP}) {
await this._targetRegistry.browserContextForId(browserContextId).applySetting('bypassCSP', nullToUndefined(bypassCSP));
}

View file

@ -327,6 +327,12 @@ const Browser = {
userAgent: t.Nullable(t.String),
}
},
'setPlatformOverride': {
params: {
browserContextId: t.Optional(t.String),
platform: t.Nullable(t.String),
}
},
'setBypassCSP': {
params: {
browserContextId: t.Optional(t.String),