Title: [118246] trunk/LayoutTests
- Revision
- 118246
- Author
- [email protected]
- Date
- 2012-05-23 14:37:04 -0700 (Wed, 23 May 2012)
Log Message
There are no shared worker filesystem tests
https://bugs.webkit.org/show_bug.cgi?id=83828
Reviewed by David Levin.
* fast/filesystem/resources/file-writer-events.js:
Minor tweak to prevent double-import of js-test-pre.js
* fast/filesystem/resources/shared-worker-stub.js: Added.
Stub that imports js-test-pre.js for shared workers, so that we don't
actually import the test script until postMessage has somewhere to go.
* fast/filesystem/workers/file-writer-events-shared-worker-expected.txt: Added.
* fast/filesystem/workers/file-writer-events-shared-worker.html: Added.
The new test, running the same old file-writer-events.js that runs in
document and worker context.
* fast/js/resources/js-test-pre.js:
Previously it looked like startWorker supported creating shared workers;
there was an option, but it was a lie. If you used it, it was
completely broken. This adds a functional minimal implementation.
(startWorker.worker.port.onmessage):
(startWorker):
(.self.onconnect.workerPort.onmessage):
(.self.onconnect):
(.description):
(.testFailed):
(.testPassed):
(.finishJSTest):
(.debug):
* platform/chromium/test_expectations.txt:
DumpRenderTree and test_shell don't support shared workers; you have to
run this by hand in Chrome.
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (118245 => 118246)
--- trunk/LayoutTests/ChangeLog 2012-05-23 21:15:21 UTC (rev 118245)
+++ trunk/LayoutTests/ChangeLog 2012-05-23 21:37:04 UTC (rev 118246)
@@ -1,3 +1,36 @@
+2012-04-12 Eric Uhrhane <[email protected]>
+
+ There are no shared worker filesystem tests
+ https://bugs.webkit.org/show_bug.cgi?id=83828
+
+ Reviewed by David Levin.
+
+ * fast/filesystem/resources/file-writer-events.js:
+ Minor tweak to prevent double-import of js-test-pre.js
+ * fast/filesystem/resources/shared-worker-stub.js: Added.
+ Stub that imports js-test-pre.js for shared workers, so that we don't
+ actually import the test script until postMessage has somewhere to go.
+ * fast/filesystem/workers/file-writer-events-shared-worker-expected.txt: Added.
+ * fast/filesystem/workers/file-writer-events-shared-worker.html: Added.
+ The new test, running the same old file-writer-events.js that runs in
+ document and worker context.
+ * fast/js/resources/js-test-pre.js:
+ Previously it looked like startWorker supported creating shared workers;
+ there was an option, but it was a lie. If you used it, it was
+ completely broken. This adds a functional minimal implementation.
+ (startWorker.worker.port.onmessage):
+ (startWorker):
+ (.self.onconnect.workerPort.onmessage):
+ (.self.onconnect):
+ (.description):
+ (.testFailed):
+ (.testPassed):
+ (.finishJSTest):
+ (.debug):
+ * platform/chromium/test_expectations.txt:
+ DumpRenderTree and test_shell don't support shared workers; you have to
+ run this by hand in Chrome.
+
2012-05-23 Christophe Dumez <[email protected]>
[EFL] webintents/web-intents-delivery-reuse.html is failing on EFL port
Modified: trunk/LayoutTests/fast/filesystem/resources/file-writer-events.js (118245 => 118246)
--- trunk/LayoutTests/fast/filesystem/resources/file-writer-events.js 2012-05-23 21:15:21 UTC (rev 118245)
+++ trunk/LayoutTests/fast/filesystem/resources/file-writer-events.js 2012-05-23 21:37:04 UTC (rev 118246)
@@ -1,6 +1,7 @@
if (this.importScripts) {
importScripts('fs-worker-common.js');
- importScripts('../../js/resources/js-test-pre.js');
+ if (!('description' in self)) // Shared workers will already have imported this, and importing twice would break it.
+ importScripts('../../js/resources/js-test-pre.js');
importScripts('file-writer-utils.js');
}
Added: trunk/LayoutTests/fast/filesystem/resources/shared-worker-stub.js (0 => 118246)
--- trunk/LayoutTests/fast/filesystem/resources/shared-worker-stub.js (rev 0)
+++ trunk/LayoutTests/fast/filesystem/resources/shared-worker-stub.js 2012-05-23 21:37:04 UTC (rev 118246)
@@ -0,0 +1,3 @@
+// We don't start js-test-pre.js directly as the worker script because it screws
+// up the base of all relative paths passed to importScripts.
+importScripts('../../js/resources/js-test-pre.js');
Property changes on: trunk/LayoutTests/fast/filesystem/resources/shared-worker-stub.js
___________________________________________________________________
Added: svn:eol-style
Added: trunk/LayoutTests/fast/filesystem/workers/file-writer-events-shared-worker-expected.txt (0 => 118246)
--- trunk/LayoutTests/fast/filesystem/workers/file-writer-events-shared-worker-expected.txt (rev 0)
+++ trunk/LayoutTests/fast/filesystem/workers/file-writer-events-shared-worker-expected.txt 2012-05-23 21:37:04 UTC (rev 118246)
@@ -0,0 +1,11 @@
+[Worker] Test that FileWriter produces proper progress events.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+Starting worker: ../resources/shared-worker-stub.js
+[Worker] starting test
+PASS [Worker] Saw all the right events.
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Property changes on: trunk/LayoutTests/fast/filesystem/workers/file-writer-events-shared-worker-expected.txt
___________________________________________________________________
Added: svn:eol-style
Added: trunk/LayoutTests/fast/filesystem/workers/file-writer-events-shared-worker.html (0 => 118246)
--- trunk/LayoutTests/fast/filesystem/workers/file-writer-events-shared-worker.html (rev 0)
+++ trunk/LayoutTests/fast/filesystem/workers/file-writer-events-shared-worker.html 2012-05-23 21:37:04 UTC (rev 118246)
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML>
+<html>
+ <head>
+ <title>File Writer Events Shared Worker</title>
+ <script src=""
+ </head>
+ <body>
+ <div id="description"></div>
+ <div id="console"></div>
+ <script>
+ var worker = startWorker("../resources/shared-worker-stub.js", true /* shared */);
+ worker.port.postMessage("IMPORT:file-writer-events.js");
+ </script>
+ <script src=""
+ </body>
+</html>
+
+
+
Property changes on: trunk/LayoutTests/fast/filesystem/workers/file-writer-events-shared-worker.html
___________________________________________________________________
Added: svn:eol-style
Modified: trunk/LayoutTests/fast/js/resources/js-test-pre.js (118245 => 118246)
--- trunk/LayoutTests/fast/js/resources/js-test-pre.js 2012-05-23 21:15:21 UTC (rev 118245)
+++ trunk/LayoutTests/fast/js/resources/js-test-pre.js 2012-05-23 21:37:04 UTC (rev 118246)
@@ -485,9 +485,7 @@
{
self.jsTestIsAsync = true;
debug('Starting worker: ' + testScriptURL);
- var worker = shared ? new SharedWorker(testScriptURL) : new Worker(testScriptURL);
- if (shared)
- worker.port._onmessage_ = function(event) { worker.onmessage(event); };
+ var worker = shared ? new SharedWorker(testScriptURL, "Shared Worker") : new Worker(testScriptURL);
worker._onmessage_ = function(event)
{
var workerPrefix = "[Worker] ";
@@ -515,23 +513,52 @@
finishJSTest();
}
+ if (shared) {
+ worker.port._onmessage_ = function(event) { worker.onmessage(event); };
+ worker.port.start();
+ }
return worker;
}
if (isWorker()) {
+ var workerPort = self;
+ if (self.name == "Shared Worker") {
+ self._onconnect_ = function(e) {
+ workerPort = e.ports[0];
+ workerPort._onmessage_ = function(event)
+ {
+
+ var colon = event.data.indexOf(":");
+ if (colon == -1) {
+ testFailed("Unrecognized message to shared worker: " + event.data);
+ return;
+ }
+ var code = event.data.substring(0, colon);
+ var payload = event.data.substring(colon + 1);
+ try {
+ if (code == "IMPORT")
+ importScripts(payload);
+ else
+ testFailed("Unrecognized message to shared worker: " + event.data);
+ } catch (ex) {
+ testFailed("Caught exception in shared worker onmessage: " + ex);
+ }
+ };
+ };
+ }
description = function(msg, quiet) {
- postMessage('DESC:' + msg);
+ workerPort.postMessage('DESC:' + msg);
}
testFailed = function(msg) {
- postMessage('FAIL:' + msg);
+ workerPort.postMessage('FAIL:' + msg);
}
testPassed = function(msg) {
- postMessage('PASS:' + msg);
+ workerPort.postMessage('PASS:' + msg);
}
finishJSTest = function() {
- postMessage('DONE:');
+ workerPort.postMessage('DONE:');
}
debug = function(msg) {
- postMessage(msg);
+ workerPort.postMessage(msg);
}
}
Modified: trunk/LayoutTests/platform/chromium/test_expectations.txt (118245 => 118246)
--- trunk/LayoutTests/platform/chromium/test_expectations.txt 2012-05-23 21:15:21 UTC (rev 118245)
+++ trunk/LayoutTests/platform/chromium/test_expectations.txt 2012-05-23 21:37:04 UTC (rev 118246)
@@ -466,6 +466,7 @@
WONTFIX SKIP : storage/domstorage/quota.html = PASS FAIL
// test_shell does not support shared workers
+WONTFIX SKIP : fast/filesystem/workers/file-writer-events-shared-worker.html = TIMEOUT
WONTFIX SKIP : fast/workers/shared-worker-context-gc.html = TIMEOUT
WONTFIX SKIP : fast/workers/shared-worker-event-listener.html = TIMEOUT
WONTFIX SKIP : fast/workers/shared-worker-exception.html = TIMEOUT
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes