Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1197)

Side by Side Diff: LayoutTests/resources/js-test.js

Issue 1140133003: js-test.js: Allow creating a CompositorWorker. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: . Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // js-test now supports lazily printing test results which dumps all test 1 // js-test now supports lazily printing test results which dumps all test
2 // results once at the end of the test instead of building them up. To enable 2 // results once at the end of the test instead of building them up. To enable
3 // this option, call setPrintTestResultsLazily() before running any tests. 3 // this option, call setPrintTestResultsLazily() before running any tests.
4 var _lazyTestResults; // Set by setPrintTestResultsLazily(). 4 var _lazyTestResults; // Set by setPrintTestResultsLazily().
5 5
6 // svg/dynamic-updates tests set enablePixelTesting=true, as we want to dump tex t + pixel results 6 // svg/dynamic-updates tests set enablePixelTesting=true, as we want to dump tex t + pixel results
7 if (self.testRunner) { 7 if (self.testRunner) {
8 if (self.enablePixelTesting) 8 if (self.enablePixelTesting)
9 testRunner.dumpAsTextWithPixelResults(); 9 testRunner.dumpAsTextWithPixelResults();
10 else 10 else
(...skipping 793 matching lines...) Expand 10 before | Expand all | Expand 10 after
804 var span = document.createElement("span"); 804 var span = document.createElement("span");
805 span.innerHTML = msg + '<br />'; 805 span.innerHTML = msg + '<br />';
806 consoleElement.appendChild(span); 806 consoleElement.appendChild(span);
807 }); 807 });
808 } 808 }
809 809
810 if (self.jsTestIsAsync && self.testRunner) 810 if (self.jsTestIsAsync && self.testRunner)
811 testRunner.notifyDone(); 811 testRunner.notifyDone();
812 } 812 }
813 813
814 function startWorker(testScriptURL, shared) 814 function startWorker(testScriptURL, workerType)
815 { 815 {
816 self.jsTestIsAsync = true; 816 self.jsTestIsAsync = true;
817 debug('Starting worker: ' + testScriptURL); 817 debug('Starting worker: ' + testScriptURL);
818 var worker = shared ? new SharedWorker(testScriptURL, "Shared Worker") : new Worker(testScriptURL); 818 var worker;
819 if (workerType == 'shared')
820 worker = new SharedWorker(testScriptURL, "Shared Worker");
821 else if (workerType == 'compositor')
822 worker = new CompositorWorker(testScriptURL);
823 else
824 worker = new Worker(testScriptURL);
819 worker.onmessage = function(event) 825 worker.onmessage = function(event)
820 { 826 {
821 var workerPrefix = "[Worker] "; 827 var workerPrefix = "[Worker] ";
822 if (event.data.length < 5 || event.data.charAt(4) != ':') { 828 if (event.data.length < 5 || event.data.charAt(4) != ':') {
823 debug(workerPrefix + event.data); 829 debug(workerPrefix + event.data);
824 return; 830 return;
825 } 831 }
826 var code = event.data.substring(0, 4); 832 var code = event.data.substring(0, 4);
827 var payload = workerPrefix + event.data.substring(5); 833 var payload = workerPrefix + event.data.substring(5);
828 if (code == "PASS") 834 if (code == "PASS")
829 testPassed(payload); 835 testPassed(payload);
830 else if (code == "FAIL") 836 else if (code == "FAIL")
831 testFailed(payload); 837 testFailed(payload);
832 else if (code == "DESC") 838 else if (code == "DESC")
833 description(payload); 839 description(payload);
834 else if (code == "DONE") 840 else if (code == "DONE")
835 finishJSTest(); 841 finishJSTest();
836 else 842 else
837 debug(workerPrefix + event.data); 843 debug(workerPrefix + event.data);
838 }; 844 };
839 845
840 worker.onerror = function(event) 846 worker.onerror = function(event)
841 { 847 {
842 debug('Got error from worker: ' + event.message); 848 debug('Got error from worker: ' + event.message);
843 finishJSTest(); 849 finishJSTest();
844 }; 850 };
845 851
846 if (shared) { 852 if (workerType == 'shared') {
847 worker.port.onmessage = function(event) { worker.onmessage(event); }; 853 worker.port.onmessage = function(event) { worker.onmessage(event); };
848 worker.port.start(); 854 worker.port.start();
849 } 855 }
850 return worker; 856 return worker;
851 } 857 }
852 858
853 if (isWorker()) { 859 if (isWorker()) {
854 var workerPort = self; 860 var workerPort = self;
855 if (self.name == "Shared Worker") { 861 if (self.name == "Shared Worker") {
856 self.onconnect = function(e) { 862 self.onconnect = function(e) {
(...skipping 27 matching lines...) Expand all
884 testPassed = function(msg) { 890 testPassed = function(msg) {
885 workerPort.postMessage('PASS:' + msg); 891 workerPort.postMessage('PASS:' + msg);
886 }; 892 };
887 finishJSTest = function() { 893 finishJSTest = function() {
888 workerPort.postMessage('DONE:'); 894 workerPort.postMessage('DONE:');
889 }; 895 };
890 debug = function(msg) { 896 debug = function(msg) {
891 workerPort.postMessage(msg); 897 workerPort.postMessage(msg);
892 }; 898 };
893 } 899 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698