browser(firefox): fix screencast in first window on mac headful (#3826)
* browser(firefox): fix screencast in first window on mac headful * Revert only
This commit is contained in:
parent
559f30d50e
commit
d64d0025a4
|
|
@ -1,2 +1,2 @@
|
||||||
1171
|
1172
|
||||||
Changed: aslushnikov@gmail.com Wed Sep 9 09:33:56 PDT 2020
|
Changed: yurys@chromium.org Wed Sep 9 23:06:13 PDT 2020
|
||||||
|
|
|
||||||
|
|
@ -196,6 +196,11 @@ class TargetRegistry {
|
||||||
const browserContext = this._userContextIdToBrowserContext.get(userContextId);
|
const browserContext = this._userContextIdToBrowserContext.get(userContextId);
|
||||||
if (browserContext && browserContext.defaultViewportSize)
|
if (browserContext && browserContext.defaultViewportSize)
|
||||||
setViewportSizeForBrowser(browserContext.defaultViewportSize, tab.linkedBrowser, window);
|
setViewportSizeForBrowser(browserContext.defaultViewportSize, tab.linkedBrowser, window);
|
||||||
|
|
||||||
|
const linkedBrowser = tab.linkedBrowser;
|
||||||
|
const target = this._browserToTarget.get(linkedBrowser);
|
||||||
|
if (target)
|
||||||
|
target._pageWindowReadyCallback();
|
||||||
};
|
};
|
||||||
|
|
||||||
const onTabCloseListener = event => {
|
const onTabCloseListener = event => {
|
||||||
|
|
@ -320,6 +325,7 @@ class TargetRegistry {
|
||||||
});
|
});
|
||||||
if (browserContext && browserContext.defaultViewportSize)
|
if (browserContext && browserContext.defaultViewportSize)
|
||||||
setViewportSizeForBrowser(browserContext.defaultViewportSize, browser, window);
|
setViewportSizeForBrowser(browserContext.defaultViewportSize, browser, window);
|
||||||
|
target._pageWindowReadyCallback();
|
||||||
browser.focus();
|
browser.focus();
|
||||||
if (browserContext.settings.timezoneId) {
|
if (browserContext.settings.timezoneId) {
|
||||||
if (await target.hasFailedToOverrideTimezone())
|
if (await target.hasFailedToOverrideTimezone())
|
||||||
|
|
@ -376,6 +382,7 @@ class PageTarget {
|
||||||
browserContext._firstPageCallback();
|
browserContext._firstPageCallback();
|
||||||
this._registry._browserToTarget.set(this._linkedBrowser, this);
|
this._registry._browserToTarget.set(this._linkedBrowser, this);
|
||||||
this._registry._browserBrowsingContextToTarget.set(this._linkedBrowser.browsingContext, this);
|
this._registry._browserBrowsingContextToTarget.set(this._linkedBrowser.browsingContext, this);
|
||||||
|
this._pageWindowReady = new Promise(r => this._pageWindowReadyCallback = r);
|
||||||
}
|
}
|
||||||
|
|
||||||
linkedBrowser() {
|
linkedBrowser() {
|
||||||
|
|
|
||||||
|
|
@ -137,6 +137,10 @@ class PageHandler {
|
||||||
const options = this._pageTarget.browserContext().screencastOptions;
|
const options = this._pageTarget.browserContext().screencastOptions;
|
||||||
if (options) {
|
if (options) {
|
||||||
const file = OS.Path.join(options.dir, helper.generateId() + '.webm');
|
const file = OS.Path.join(options.dir, helper.generateId() + '.webm');
|
||||||
|
// On Mac the window may not yet be visible when TargetCreated and its
|
||||||
|
// NSWindow.windowNumber may be -1, so we wait until the window is known
|
||||||
|
// to be initialized and visible.
|
||||||
|
await this._pageTarget._pageWindowReady;
|
||||||
await this.startVideoRecording(Object.assign({file}, options));
|
await this.startVideoRecording(Object.assign({file}, options));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue