// Copyright 2015 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. (function(global, utils, extrasUtils) { "use strict"; %CheckIsBootstrapping(); var GlobalArray = global.Array; // It is important that this file is run after src/js/typedarray.js, // otherwise GlobalTypedArray would be Object, and we would break // old versions of Zepto. var GlobalTypedArray = global.Uint8Array.__proto__; var GlobalMap = global.Map; var GlobalSet = global.Set; var GlobalArrayBuffer = global.ArrayBuffer; var GlobalPromise = global.Promise; var GlobalRegExp = global.RegExp; var speciesSymbol = utils.ImportNow("species_symbol"); function ArraySpecies() { return this; } function TypedArraySpecies() { return this; } function MapSpecies() { return this; } function SetSpecies() { return this; } function ArrayBufferSpecies() { return this; } function PromiseSpecies() { return this; } function RegExpSpecies() { return this; } utils.InstallGetter(GlobalArray, speciesSymbol, ArraySpecies, DONT_ENUM); utils.InstallGetter(GlobalTypedArray, speciesSymbol, TypedArraySpecies, DONT_ENUM); utils.InstallGetter(GlobalMap, speciesSymbol, MapSpecies, DONT_ENUM); utils.InstallGetter(GlobalSet, speciesSymbol, SetSpecies, DONT_ENUM); utils.InstallGetter(GlobalArrayBuffer, speciesSymbol, ArrayBufferSpecies, DONT_ENUM); utils.InstallGetter(GlobalPromise, speciesSymbol, PromiseSpecies, DONT_ENUM); utils.InstallGetter(GlobalRegExp, speciesSymbol, RegExpSpecies, DONT_ENUM); });