browser(firefox): remove redundant checks for PageTarget._browserContext (#3541)

This commit is contained in:
Yury Semikhatsky 2020-08-19 15:39:46 -07:00 committed by GitHub
parent e679b82339
commit f13cebc66d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 17 deletions

View File

@ -1,2 +1,2 @@
1162 1163
Changed: yurys@chromium.org Wed Aug 19 12:50:44 PDT 2020 Changed: yurys@chromium.org Wed Aug 19 15:35:02 PDT 2020

View File

@ -149,9 +149,7 @@ class NetworkRequest {
const pageNetwork = this._activePageNetwork(); const pageNetwork = this._activePageNetwork();
if (pageNetwork) { if (pageNetwork) {
const browserContext = pageNetwork._target.browserContext(); appendExtraHTTPHeaders(httpChannel, pageNetwork._target.browserContext().extraHTTPHeaders);
if (browserContext)
appendExtraHTTPHeaders(httpChannel, browserContext.extraHTTPHeaders);
appendExtraHTTPHeaders(httpChannel, pageNetwork._extraHTTPHeaders); appendExtraHTTPHeaders(httpChannel, pageNetwork._extraHTTPHeaders);
} }
@ -296,13 +294,12 @@ class NetworkRequest {
const pageNetwork = this._activePageNetwork(); const pageNetwork = this._activePageNetwork();
if (!pageNetwork) if (!pageNetwork)
return false; return false;
const browserContext = pageNetwork._target.browserContext();
let credentials = null; let credentials = null;
if (authInfo.flags & Ci.nsIAuthInformation.AUTH_PROXY) { if (authInfo.flags & Ci.nsIAuthInformation.AUTH_PROXY) {
const proxy = this._networkObserver._targetRegistry.getProxyInfo(aChannel); const proxy = this._networkObserver._targetRegistry.getProxyInfo(aChannel);
credentials = proxy ? {username: proxy.username, password: proxy.password} : null; credentials = proxy ? {username: proxy.username, password: proxy.password} : null;
} else { } else {
credentials = browserContext ? browserContext.httpCredentials : undefined; credentials = pageNetwork._target.browserContext().httpCredentials;
} }
if (!credentials) if (!credentials)
return false; return false;
@ -369,7 +366,7 @@ class NetworkRequest {
} }
const browserContext = pageNetwork._target.browserContext(); const browserContext = pageNetwork._target.browserContext();
if (browserContext && browserContext.settings.onlineOverride === 'offline') { if (browserContext.settings.onlineOverride === 'offline') {
// Implement offline. // Implement offline.
this.abort(Cr.NS_ERROR_OFFLINE); this.abort(Cr.NS_ERROR_OFFLINE);
return; return;
@ -447,9 +444,9 @@ class NetworkRequest {
if (pageNetwork._requestInterceptionEnabled) if (pageNetwork._requestInterceptionEnabled)
return true; return true;
const browserContext = pageNetwork._target.browserContext(); const browserContext = pageNetwork._target.browserContext();
if (browserContext && browserContext.requestInterceptionEnabled) if (browserContext.requestInterceptionEnabled)
return true; return true;
if (browserContext && browserContext.settings.onlineOverride === 'offline') if (browserContext.settings.onlineOverride === 'offline')
return true; return true;
return false; return false;
} }

View File

@ -175,6 +175,8 @@ class TargetRegistry {
openerTarget = this._browserToTarget.get(tab.openerTab.linkedBrowser); openerTarget = this._browserToTarget.get(tab.openerTab.linkedBrowser);
} }
const browserContext = this._userContextIdToBrowserContext.get(userContextId); const browserContext = this._userContextIdToBrowserContext.get(userContextId);
if (!browserContext)
throw new Error(`Internal error: cannot find context for userContextId=${userContextId}`);
const target = new PageTarget(this, window, gBrowser, tab, linkedBrowser, browserContext, openerTarget); const target = new PageTarget(this, window, gBrowser, tab, linkedBrowser, browserContext, openerTarget);
const sessions = []; const sessions = [];
@ -374,10 +376,8 @@ class PageTarget {
]; ];
this._disposed = false; this._disposed = false;
if (browserContext) { browserContext.pages.add(this);
browserContext.pages.add(this); 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);
} }
@ -434,7 +434,7 @@ class PageTarget {
return { return {
targetId: this.id(), targetId: this.id(),
type: 'page', type: 'page',
browserContextId: this._browserContext ? this._browserContext.browserContextId : undefined, browserContextId: this._browserContext.browserContextId,
openerId: this._openerId, openerId: this._openerId,
}; };
} }
@ -466,8 +466,7 @@ class PageTarget {
dispose() { dispose() {
this._disposed = true; this._disposed = true;
if (this._browserContext) this._browserContext.pages.delete(this);
this._browserContext.pages.delete(this);
this._registry._browserToTarget.delete(this._linkedBrowser); this._registry._browserToTarget.delete(this._linkedBrowser);
this._registry._browserBrowsingContextToTarget.delete(this._linkedBrowser.browsingContext); this._registry._browserBrowsingContextToTarget.delete(this._linkedBrowser.browsingContext);
helper.removeListeners(this._eventListeners); helper.removeListeners(this._eventListeners);