Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / http / tests / serviceworker / fetch-canvas-tainting.html
1 <!DOCTYPE html>
2 <title>Service Worker: canvas tainting of the fetched image</title>
3 <script src="../resources/testharness.js"></script>
4 <script src="../resources/testharnessreport.js"></script>
5 <script src="resources/test-helpers.js?pipe=sub"></script>
6 <script>
7 async_test(function(t) {
8     var SCOPE = 'resources/fetch-canvas-tainting-iframe.html';
9     var SCRIPT = 'resources/fetch-rewrite-worker.js';
10     var host_info = get_host_info();
11     service_worker_unregister_and_register(t, SCRIPT, SCOPE)
12       .then(function(registration) {
13           return wait_for_update(t, registration);
14         })
15       .then(function(sw) {
16           return wait_for_state(t, sw, 'activated');
17         })
18       .then(function() { return with_iframe(SCOPE); })
19       .then(function(frame) {
20           return new Promise(function(resolve, reject) {
21               var channel = new MessageChannel();
22               channel.port1.onmessage = t.step_func(function(e) {
23                   assert_equals(e.data.results, 'finish');
24                   service_worker_unregister_and_done(t, SCOPE);
25                 });
26               frame.contentWindow.postMessage({},
27                                               [channel.port2],
28                                               host_info['HTTP_ORIGIN']);
29             });
30         })
31       .catch(unreached_rejection(t));
32   }, 'Verify canvas tainting of fetched image in a Service Worker');
33 </script>