From b788ceb7bd2024f2e0f31290db237d0e39ee81be Mon Sep 17 00:00:00 2001 From: Shelley Vohr Date: Mon, 7 Dec 2020 20:47:48 -0800 Subject: [PATCH] fix: screen EventEmitter methods with remote (#26809) * fix: screen EventEmitter methods with remote * Review feedback --- lib/browser/api/screen.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/browser/api/screen.ts b/lib/browser/api/screen.ts index 5899e8b54720..0c01e88c42b9 100644 --- a/lib/browser/api/screen.ts +++ b/lib/browser/api/screen.ts @@ -1,3 +1,5 @@ +import { EventEmitter } from 'events'; + const { createScreen } = process._linkedBinding('electron_common_screen'); let _screen: Electron.Screen; @@ -36,5 +38,11 @@ export default new Proxy({}, { getOwnPropertyDescriptor: (target, property: string) => { createScreenIfNeeded(); return Reflect.getOwnPropertyDescriptor(_screen, property); + }, + getPrototypeOf: () => { + // This is necessary as a result of weirdness with EventEmitterMixin + // and FunctionTemplate - we need to explicitly ensure it's returned + // in the prototype. + return EventEmitter.prototype; } });