feat(zone.js): Monkey patch MessagePort.prototype onproperties (#34610)
Monkey patch `MessagePort.prototype.onmessage` and `MessagePort.prototype.onmessageerror` to make these properties's value(callback function) run in the zone when these value are set. PR Close #34610
This commit is contained in:

committed by
Andrew Kushnir

parent
05d0586223
commit
0f8e710c7c
18
packages/zone.js/lib/browser/message-port.ts
Normal file
18
packages/zone.js/lib/browser/message-port.ts
Normal file
@ -0,0 +1,18 @@
|
||||
/**
|
||||
* @license
|
||||
* Copyright Google Inc. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by an MIT-style license that can be
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* Monkey patch `MessagePort.prototype.onmessage` and `MessagePort.prototype.onmessageerror`
|
||||
* properties to make the callback in the zone when the value are set.
|
||||
*/
|
||||
Zone.__load_patch('MessagePort', (global: any, Zone: ZoneType, api: _ZonePrivate) => {
|
||||
const MessagePort = global['MessagePort'];
|
||||
if (typeof MessagePort !== 'undefined' && MessagePort.prototype) {
|
||||
api.patchOnProperties(MessagePort.prototype, ['message', 'messageerror']);
|
||||
}
|
||||
});
|
Reference in New Issue
Block a user