diff --git a/shell/renderer/electron_renderer_client.cc b/shell/renderer/electron_renderer_client.cc index a7a98839fb54e..c507bdcffccbb 100644 --- a/shell/renderer/electron_renderer_client.cc +++ b/shell/renderer/electron_renderer_client.cc @@ -157,6 +157,7 @@ void ElectronRendererClient::WillReleaseScriptContext( // We also do this if we have disable electron site instance overrides to // avoid memory leaks auto prefs = render_frame->GetBlinkPreferences(); + gin_helper::MicrotasksScope microtasks_scope(env->isolate()); node::FreeEnvironment(env); if (env == node_bindings_->uv_env()) node::FreeIsolateData(node_bindings_->isolate_data()); diff --git a/shell/renderer/web_worker_observer.cc b/shell/renderer/web_worker_observer.cc index 2faec5ffc4347..287be9ead13f0 100644 --- a/shell/renderer/web_worker_observer.cc +++ b/shell/renderer/web_worker_observer.cc @@ -37,6 +37,8 @@ WebWorkerObserver::WebWorkerObserver() WebWorkerObserver::~WebWorkerObserver() { lazy_tls.Pointer()->Set(nullptr); + gin_helper::MicrotasksScope microtasks_scope( + node_bindings_->uv_env()->isolate()); node::FreeEnvironment(node_bindings_->uv_env()); node::FreeIsolateData(node_bindings_->isolate_data()); } diff --git a/spec/chromium-spec.js b/spec/chromium-spec.js index 26e43b12ae749..86737f78860a1 100644 --- a/spec/chromium-spec.js +++ b/spec/chromium-spec.js @@ -154,16 +154,6 @@ describe('chromium feature', () => { }); }); - describe('window.postMessage', () => { - it('throws an exception when the targetOrigin cannot be converted to a string', () => { - const b = window.open(''); - expect(() => { - b.postMessage('test', { toString: null }); - }).to.throw('Cannot convert object to primitive value'); - b.close(); - }); - }); - describe('window.opener.postMessage', () => { it('sets source and origin correctly', async () => { const message = waitForEvent(window, 'message'); diff --git a/spec/static/main.js b/spec/static/main.js index f60970d3998b7..f259a3612fd31 100644 --- a/spec/static/main.js +++ b/spec/static/main.js @@ -109,8 +109,7 @@ app.whenReady().then(async function () { backgroundThrottling: false, nodeIntegration: true, webviewTag: true, - contextIsolation: false, - nativeWindowOpen: false + contextIsolation: false } }); window.loadFile('static/index.html', {