| Index: lib/isolate/frog/natives.js
|
| diff --git a/lib/isolate/frog/natives.js b/lib/isolate/frog/natives.js
|
| index 62ad76e63f7af6254b94c82dccd00f5514fb9fba..2808ecb2cc9aeaa989dd5e06d30d8e2bdb3e8e1c 100644
|
| --- a/lib/isolate/frog/natives.js
|
| +++ b/lib/isolate/frog/natives.js
|
| @@ -7,6 +7,10 @@
|
| var $globalThis = this;
|
| var $globals = null;
|
| var $globalState = null;
|
| +var $thisScriptUrl = null;
|
| +var $isWorker = typeof ($globalThis['importScripts']) != 'undefined';
|
| +var $supportsWorkers =
|
| + $isWorker || ((typeof $globalThis['Worker']) != 'undefined');
|
| function $initGlobals(context) { context.isolateStatics = {}; }
|
| function $setGlobals(context) { $globals = context.isolateStatics; }
|
|
|
| @@ -39,3 +43,21 @@ Function.prototype.wrap$call$1 = function() {
|
| this.wrap$call$1 = function() { return this.wrap$1; };
|
| return this.wrap$1;
|
| };
|
| +
|
| +$thisScriptUrl = (function () {
|
| + if (!$supportsWorkers || $isWorker) return (void 0);
|
| +
|
| + // TODO(5334778): Find a cross-platform non-brittle way of getting the
|
| + // currently running script.
|
| + var scripts = document.getElementsByTagName('script');
|
| + // The scripts variable only contains the scripts that have already been
|
| + // executed. The last one is the currently running script.
|
| + var script = scripts[scripts.length - 1];
|
| + var src = script && script.src;
|
| + if (!src) {
|
| + // TODO()
|
| + src = "FIXME:5407062" + "_" + Math.random().toString();
|
| + if (script) script.src = src;
|
| + }
|
| + return src;
|
| +})();
|
|
|