| Index: third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/ServiceWorkerGlobalScope/resources/extendable-message-event-utils.js
|
| diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/ServiceWorkerGlobalScope/resources/extendable-message-event-utils.js b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/ServiceWorkerGlobalScope/resources/extendable-message-event-utils.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d6a3b483f5394c2034cfc92a73ffdcdbbdcacc51
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/ServiceWorkerGlobalScope/resources/extendable-message-event-utils.js
|
| @@ -0,0 +1,78 @@
|
| +var ExtendableMessageEventUtils = {};
|
| +
|
| +// Create a representation of a given ExtendableMessageEvent that is suitable
|
| +// for transmission via the `postMessage` API.
|
| +ExtendableMessageEventUtils.serialize = function(event) {
|
| + var ports = event.ports.map(function(port) {
|
| + return { constructor: { name: port.constructor.name } };
|
| + });
|
| + return {
|
| + constructor: {
|
| + name: event.constructor.name
|
| + },
|
| + origin: event.origin,
|
| + lastEventId: event.lastEventId,
|
| + source: {
|
| + constructor: {
|
| + name: event.source.constructor.name
|
| + },
|
| + url: event.source.url,
|
| + frameType: event.source.frameType,
|
| + visibilityState: event.source.visibilityState,
|
| + focused: event.source.focused
|
| + },
|
| + ports: ports
|
| + };
|
| +};
|
| +
|
| +// Compare the actual and expected values of an ExtendableMessageEvent that has
|
| +// been transformed using the `serialize` function defined in this file.
|
| +ExtendableMessageEventUtils.assert_equals = function(actual, expected) {
|
| + assert_equals(
|
| + actual.constructor.name, expected.constructor.name, 'event constructor'
|
| + );
|
| + assert_equals(actual.origin, expected.origin, 'event `origin` property');
|
| + assert_equals(
|
| + actual.lastEventId,
|
| + expected.lastEventId,
|
| + 'event `lastEventId` property'
|
| + );
|
| +
|
| + assert_equals(
|
| + actual.source.constructor.name,
|
| + expected.source.constructor.name,
|
| + 'event `source` property constructor'
|
| + );
|
| + assert_equals(
|
| + actual.source.url, expected.source.url, 'event `source` property `url`'
|
| + );
|
| + assert_equals(
|
| + actual.source.frameType,
|
| + expected.source.frameType,
|
| + 'event `source` property `frameType`'
|
| + );
|
| + assert_equals(
|
| + actual.source.visibilityState,
|
| + expected.source.visibilityState,
|
| + 'event `source` property `visibilityState`'
|
| + );
|
| + assert_equals(
|
| + actual.source.focused,
|
| + expected.source.focused,
|
| + 'event `source` property `focused`'
|
| + );
|
| +
|
| + assert_equals(
|
| + actual.ports.length,
|
| + expected.ports.length,
|
| + 'event `ports` property length'
|
| + );
|
| +
|
| + for (var idx = 0; idx < expected.ports.length; ++idx) {
|
| + assert_equals(
|
| + actual.ports[idx].constructor.name,
|
| + expected.ports[idx].constructor.name,
|
| + 'MessagePort #' + idx + ' constructor'
|
| + );
|
| + }
|
| +};
|
|
|