Browse Source

fix: make screen wrapper remote-friendly again (#26660)

This restores accessibility of screen methods via remote.screen.

Fixes #26610.

Signed-off-by: Anders Kaseorg <[email protected]>

Co-authored-by: Anders Kaseorg <[email protected]>
trop[bot] 4 years ago
parent
commit
18cde2ef04
1 changed files with 18 additions and 0 deletions
  1. 18 0
      lib/browser/api/screen.ts

+ 18 - 0
lib/browser/api/screen.ts

@@ -16,5 +16,23 @@ export default new Proxy({}, {
       return v.bind(_screen);
     }
     return v;
+  },
+  ownKeys: () => {
+    if (_screen === undefined) {
+      _screen = createScreen();
+    }
+    return Reflect.ownKeys(_screen);
+  },
+  has: (target, prop: string) => {
+    if (_screen === undefined) {
+      _screen = createScreen();
+    }
+    return prop in _screen;
+  },
+  getOwnPropertyDescriptor: (target, prop: string) => {
+    if (_screen === undefined) {
+      _screen = createScreen();
+    }
+    return Reflect.getOwnPropertyDescriptor(_screen, prop);
   }
 });