blob: 4a29556d72423bcab39defcc1b9fe2178e437735 [file] [log] [blame]
<!DOCTYPE html>
<script src="../../resources/js-test-pre.js"></script>
<script src="resources/worker-create-common.js"></script>
<script>
var jsTestIsAsync = true;
description("Tests that WorkerGlobalScope's properties are on the prototype.");
var worker = createWorker();
worker.postMessage("eval self.__proto__.__proto__ === WorkerGlobalScope.prototype");
worker.postMessage("eval self.__proto__.__proto__.__proto__ === EventTarget.prototype");
worker.postMessage("eval self.__proto__.__proto__.__proto__.__proto__ === {}.__proto__");
worker.postMessage("eval self.__proto__.__proto__.hasOwnProperty('navigator') === true");
worker.postMessage("eval self.__proto__.__proto__.hasOwnProperty('self') === true");
worker.postMessage("eval self.__proto__.__proto__.hasOwnProperty('location') === true");
worker.postMessage("eval self.__proto__.__proto__.hasOwnProperty('close') === false");
worker.postMessage("eval self.__proto__.__proto__.hasOwnProperty('importScripts') === true");
worker.postMessage("eval self.__proto__.__proto__.hasOwnProperty('indexedDB') === true");
worker.postMessage("eval self.hasOwnProperty('navigator') === false");
worker.postMessage("eval self.hasOwnProperty('location') === false");
worker.postMessage("eval self.hasOwnProperty('close') === true");
// DedicatedWorkerGlobalScope properties should be on the instance.
worker.postMessage("eval self.hasOwnProperty('postMessage') === true");
worker.postMessage("eval self.hasOwnProperty('onmessage') === true");
worker.postMessage("eval DONE");
worker.onmessage = function(evt) {
if (!/DONE/.test(evt.data))
debug(evt.data.replace(new RegExp("/.*LayoutTests"), "<...>"));
else
finishJSTest();
};
</script>
<script src="../../resources/js-test-post.js"></script>