| Index: third_party/WebKit/LayoutTests/webexposed/resources/global-interface-listing.js
|
| diff --git a/third_party/WebKit/LayoutTests/webexposed/resources/global-interface-listing.js b/third_party/WebKit/LayoutTests/webexposed/resources/global-interface-listing.js
|
| deleted file mode 100644
|
| index 0c4f35c8ae5a633b99550b002d19e5c86382e8d5..0000000000000000000000000000000000000000
|
| --- a/third_party/WebKit/LayoutTests/webexposed/resources/global-interface-listing.js
|
| +++ /dev/null
|
| @@ -1,188 +0,0 @@
|
| -// Run all the code in a local scope.
|
| -(function(globalObject) {
|
| -
|
| -// Save the list of property names of the global object before loading other scripts.
|
| -var propertyNamesInGlobal = globalObject.propertyNamesInGlobal || Object.getOwnPropertyNames(globalObject);
|
| -
|
| -if (self.importScripts) {
|
| - importScripts('../../resources/js-test.js');
|
| -
|
| - if (!self.postMessage) {
|
| - // Shared worker. Make postMessage send to the newest client, which in
|
| - // our tests is the only client.
|
| -
|
| - // Store messages for sending until we have somewhere to send them.
|
| - self.postMessage = function(message) {
|
| - if (typeof self.pendingMessages === "undefined")
|
| - self.pendingMessages = [];
|
| - self.pendingMessages.push(message);
|
| - };
|
| - self.onconnect = function(event) {
|
| - self.postMessage = function(message) {
|
| - event.ports[0].postMessage(message);
|
| - };
|
| - // Offload any stored messages now that someone has connected to us.
|
| - if (typeof self.pendingMessages === "undefined")
|
| - return;
|
| - while (self.pendingMessages.length)
|
| - event.ports[0].postMessage(self.pendingMessages.shift());
|
| - };
|
| - }
|
| -}
|
| -
|
| -// List of builtin JS constructors; Blink is not controlling what properties these
|
| -// objects have, so exercising them in a Blink test doesn't make sense.
|
| -//
|
| -// If new builtins are added, please update this list along with the one in
|
| -// LayoutTests/http/tests/serviceworker/webexposed/resources/global-interface-listing-worker.js
|
| -var jsBuiltins = new Set([
|
| - 'Array',
|
| - 'ArrayBuffer',
|
| - 'Boolean',
|
| - 'Date',
|
| - 'Error',
|
| - 'EvalError',
|
| - 'Float32Array',
|
| - 'Float64Array',
|
| - 'Function',
|
| - 'Infinity',
|
| - 'Int16Array',
|
| - 'Int32Array',
|
| - 'Int8Array',
|
| - 'Intl',
|
| - 'JSON',
|
| - 'Map',
|
| - 'Math',
|
| - 'NaN',
|
| - 'Number',
|
| - 'Object',
|
| - 'Promise',
|
| - 'Proxy',
|
| - 'RangeError',
|
| - 'ReferenceError',
|
| - 'Reflect',
|
| - 'RegExp',
|
| - 'Set',
|
| - 'String',
|
| - 'Symbol',
|
| - 'SyntaxError',
|
| - 'TypeError',
|
| - 'URIError',
|
| - 'Uint16Array',
|
| - 'Uint32Array',
|
| - 'Uint8Array',
|
| - 'Uint8ClampedArray',
|
| - 'WeakMap',
|
| - 'WeakSet',
|
| - 'WebAssembly',
|
| - 'decodeURI',
|
| - 'decodeURIComponent',
|
| - 'encodeURI',
|
| - 'encodeURIComponent',
|
| - 'escape',
|
| - 'eval',
|
| - 'isFinite',
|
| - 'isNaN',
|
| - 'parseFloat',
|
| - 'parseInt',
|
| - 'undefined',
|
| - 'unescape',
|
| -]);
|
| -
|
| -function isWebIDLConstructor(propertyKey) {
|
| - if (jsBuiltins.has(propertyKey))
|
| - return false;
|
| - var descriptor = Object.getOwnPropertyDescriptor(this, propertyKey);
|
| - if (descriptor.value == undefined || descriptor.value.prototype == undefined)
|
| - return false;
|
| - return descriptor.writable && !descriptor.enumerable && descriptor.configurable;
|
| -}
|
| -
|
| -var wellKnownSymbols = new Map([
|
| - [Symbol.hasInstance, "@@hasInstance"],
|
| - [Symbol.isConcatSpreadable, "@@isConcatSpreadable"],
|
| - [Symbol.iterator, "@@iterator"],
|
| - [Symbol.match, "@@match"],
|
| - [Symbol.replace, "@@replace"],
|
| - [Symbol.search, "@@search"],
|
| - [Symbol.species, "@@species"],
|
| - [Symbol.split, "@@split"],
|
| - [Symbol.toPrimitive, "@@toPrimitive"],
|
| - [Symbol.toStringTag, "@@toStringTag"],
|
| - [Symbol.unscopables, "@@unscopables"]
|
| -]);
|
| -
|
| -function collectPropertyInfo(object, propertyKey, output) {
|
| - var propertyString = wellKnownSymbols.get(propertyKey) || propertyKey.toString();
|
| - var keywords = Object.prototype.hasOwnProperty.call(object, 'prototype') ? 'static ' : '';
|
| - var descriptor = Object.getOwnPropertyDescriptor(object, propertyKey);
|
| - if ('value' in descriptor) {
|
| - var type = typeof descriptor.value === 'function' ? 'method' : 'attribute';
|
| - output.push(' ' + keywords + type + ' ' + propertyString);
|
| - } else {
|
| - if (descriptor.get)
|
| - output.push(' ' + keywords + 'getter ' + propertyString);
|
| - if (descriptor.set)
|
| - output.push(' ' + keywords + 'setter ' + propertyString);
|
| - }
|
| -}
|
| -
|
| -function ownEnumerableSymbols(object) {
|
| - return Object.getOwnPropertySymbols(object).
|
| - filter(function(name) {
|
| - return Object.getOwnPropertyDescriptor(object, name).enumerable;
|
| - });
|
| -}
|
| -
|
| -function collectPropertyKeys(object) {
|
| - if (Object.prototype.hasOwnProperty.call(object, 'prototype')) {
|
| - // Skip properties that aren't static (e.g. consts), or are inherited.
|
| - // TODO(caitp): Don't exclude non-enumerable properties
|
| - var protoProperties = new Set(Object.keys(object.prototype).concat(
|
| - Object.keys(object.__proto__),
|
| - ownEnumerableSymbols(object.prototype),
|
| - ownEnumerableSymbols(object.__proto__)));
|
| - return propertyKeys = Object.keys(object).
|
| - concat(ownEnumerableSymbols(object)).
|
| - filter(function(name) {
|
| - return !protoProperties.has(name);
|
| - });
|
| - }
|
| - return Object.getOwnPropertyNames(object).concat(Object.getOwnPropertySymbols(object));
|
| -}
|
| -
|
| -// FIXME: List interfaces with NoInterfaceObject specified in their IDL file.
|
| -debug('[INTERFACES]');
|
| -var interfaceNames = Object.getOwnPropertyNames(this).filter(isWebIDLConstructor);
|
| -interfaceNames.sort();
|
| -interfaceNames.forEach(function(interfaceName) {
|
| - var inheritsFrom = this[interfaceName].__proto__.name;
|
| - if (inheritsFrom)
|
| - debug('interface ' + interfaceName + ' : ' + inheritsFrom);
|
| - else
|
| - debug('interface ' + interfaceName);
|
| - // List static properties then prototype properties.
|
| - [this[interfaceName], this[interfaceName].prototype].forEach(function(object) {
|
| - var propertyKeys = collectPropertyKeys(object);
|
| - var propertyStrings = [];
|
| - propertyKeys.forEach(function(propertyKey) {
|
| - collectPropertyInfo(object, propertyKey, propertyStrings);
|
| - });
|
| - propertyStrings.sort().forEach(debug);
|
| - });
|
| -});
|
| -
|
| -debug('[GLOBAL OBJECT]');
|
| -var propertyStrings = [];
|
| -var memberNames = propertyNamesInGlobal.filter(function(propertyKey) {
|
| - return !jsBuiltins.has(propertyKey) && !isWebIDLConstructor(propertyKey);
|
| -});
|
| -memberNames.forEach(function(propertyKey) {
|
| - collectPropertyInfo(globalObject, propertyKey, propertyStrings);
|
| -});
|
| -propertyStrings.sort().forEach(debug);
|
| -
|
| -if (isWorker())
|
| - finishJSTest();
|
| -
|
| -})(this); // Run all the code in a local scope.
|
|
|