diff options
author | atwilson@chromium.org <atwilson@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-12 17:39:23 +0000 |
---|---|---|
committer | atwilson@chromium.org <atwilson@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-12 17:39:23 +0000 |
commit | 022132ceb7f9aacdfe8ac750bd8ebc6a41eed065 (patch) | |
tree | fd4690851ef2e0890e51442cc56a682b5a9fb78e /chrome/test/data/workers | |
parent | 55beb13f610c7ec714c6fdf061357b4b522b041e (diff) | |
download | chromium_src-022132ceb7f9aacdfe8ac750bd8ebc6a41eed065.zip chromium_src-022132ceb7f9aacdfe8ac750bd8ebc6a41eed065.tar.gz chromium_src-022132ceb7f9aacdfe8ac750bd8ebc6a41eed065.tar.bz2 |
Enabled a number of worker tests on various platforms.
Added new SingleSharedWorker and MultipleSharedWorker tests, and enabled a bunch of other tests after marking them flaky/excluding them from valgrind.
Review URL: http://codereview.chromium.org/490023
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34429 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test/data/workers')
-rw-r--r-- | chrome/test/data/workers/multi_worker.html | 2 | ||||
-rw-r--r-- | chrome/test/data/workers/single_worker.html | 2 | ||||
-rw-r--r-- | chrome/test/data/workers/worker_common.js | 11 | ||||
-rw-r--r-- | chrome/test/data/workers/worker_utils.js | 20 |
4 files changed, 33 insertions, 2 deletions
diff --git a/chrome/test/data/workers/multi_worker.html b/chrome/test/data/workers/multi_worker.html index b0ef8cc..46cc3c6 100644 --- a/chrome/test/data/workers/multi_worker.html +++ b/chrome/test/data/workers/multi_worker.html @@ -13,7 +13,7 @@ var completed_worker_count = 0; var total_workers = 4; function createWorker(base) { - var worker = new Worker("worker_common.js"); + var worker = getWorker("worker_common.js"); for (var i = 0; i < 100; i++) { worker.postMessage("eval " + base + "+" + i); expected_total += base + i; diff --git a/chrome/test/data/workers/single_worker.html b/chrome/test/data/workers/single_worker.html index d5b1962..3c6e7d2 100644 --- a/chrome/test/data/workers/single_worker.html +++ b/chrome/test/data/workers/single_worker.html @@ -7,7 +7,7 @@ <script> -var worker = new Worker("worker_common.js"); +var worker = getWorker("worker_common.js"); worker.postMessage("ping"); worker.onmessage = function(evt) { if (evt.data == "pong") diff --git a/chrome/test/data/workers/worker_common.js b/chrome/test/data/workers/worker_common.js index 583c6a5..8caa622 100644 --- a/chrome/test/data/workers/worker_common.js +++ b/chrome/test/data/workers/worker_common.js @@ -1,3 +1,14 @@ +if (!self.postMessage) { + // This is a shared worker - mimic dedicated worker APIs + onconnect = function(event) { + event.ports[0].onmessage = function(e) { + self.onmessage(e); + }; + self.postMessage = function(msg, ports) { + event.ports[0].postMessage(msg, ports); + }; + }; +} onmessage = function(evt) { if (evt.data == "ping") postMessage("pong"); diff --git a/chrome/test/data/workers/worker_utils.js b/chrome/test/data/workers/worker_utils.js index 03c84631..50d8c96 100644 --- a/chrome/test/data/workers/worker_utils.js +++ b/chrome/test/data/workers/worker_utils.js @@ -1,3 +1,23 @@ +var shared_worker_count = 0; +function getWorker(worker_url) +{ + // Create either a dedicated or shared worker, depending on flags + var url = document.location.toString(); + if (url.search("shared") >= 0) { + // Make a shared worker that looks like a worker + var worker = new SharedWorker(worker_url, "name" + ++shared_worker_count); + worker.port.onmessage = function(evt) { + worker.onmessage(evt); + }; + worker.postMessage = function(msg, port) { + worker.port.postMessage(msg, port); + }; + return worker; + } else { + return new Worker(worker_url); + } +} + function onSuccess() { setTimeout(onFinished, 0, "OK"); |