refactor: remove additional URL parsing entirely when showing dialogs

This commit is contained in:
Noah Gregory
2026-03-06 16:23:44 -05:00
parent 7f84770c1d
commit 46b92bf2d1

View File

@@ -782,9 +782,7 @@ WebContents.prototype._init = function () {
const originCounts = new Map<string, number>();
const openDialogs = new Set<AbortController>();
this.on('-run-dialog', async (info, callback) => {
const originUrl = new URL(info.frame.url || `unknown:${info.frame.processId}:${info.frame.routingId}`);
// By spec, a URL origin may be "null" (an "opaque origin") in some cases, so we use the href as a fallback.
const origin = originUrl.origin === 'null' ? originUrl.href : originUrl.origin;
const origin = info.frame.origin === 'file:' ? info.frame.url : info.frame.origin;
if ((originCounts.get(origin) ?? 0) < 0) return callback(false, '');
const prefs = this.getLastWebPreferences();