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

Side by Side Diff: dart/tests/try/web/incremental_compilation_update.html

Issue 641143002: Perform incremental compilation, and run the updated program. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Merged with r41074. Created 6 years, 2 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 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <!-- Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 2 <!-- Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
3 -- for details. All rights reserved. Use of this source code is governed by a 3 -- for details. All rights reserved. Use of this source code is governed by a
4 -- BSD-style license that can be found in the LICENSE file. 4 -- BSD-style license that can be found in the LICENSE file.
5 --> 5 -->
6 <html lang="en"> 6 <html lang="en">
7 <head> 7 <head>
8 <title>incremental_compilation_update_test.html</title> 8 <title>incremental_compilation_update_test.html</title>
9 <meta charset="UTF-8"> 9 <meta charset="UTF-8">
10 </head> 10 </head>
11 <body> 11 <body>
12 <h1>incremental_compilation_update_test.html</h1> 12 <h1>incremental_compilation_update_test.html</h1>
13 <pre id="console"></pre> 13 <pre id="console"></pre>
14 <script type="application/javascript" src="print.js"></script> 14 <script type="application/javascript" src="print.js"></script>
15 <script type="application/javascript"> 15 <script type="application/javascript">
16 /// Invoked by JavaScript code generated by dart2js when the program is ready 16 (function() {
17 /// to invoke main. 17 var dartMainClosure;
18 function dartMainRunner(main) {
19 // Invoke the "main" method of the Dart program.
20 main();
21 18
22 // Let the sandbox embedder know that main is done running. 19 /// Invoked by JavaScript code generated by dart2js when the program is ready
23 window.parent.postMessage('iframe-dart-main-done', '*'); 20 /// to invoke main.
24 } 21 self.dartMainRunner = function dartMainRunner(main) {
25 (function() { 22 dartMainClosure = main;
23
24 // Invoke the "main" method of the Dart program.
25 main();
26
27 // Let the sandbox embedder know that main is done running.
28 window.parent.postMessage('iframe-dart-main-done', '*');
29 }
26 30
27 /// Invoked when a 'message' event is received. Message events are generated 31 /// Invoked when a 'message' event is received. Message events are generated
28 /// with Window.postMessage and used to communicate between this iframe and 32 /// with Window.postMessage and used to communicate between this iframe and
29 /// its embedding parent page. 33 /// its embedding parent page.
30 function onMessage(e) { 34 function onMessage(e) {
31 if (e.data[0] === 'add-script') { 35 if (e.data[0] === 'add-script') {
32 // Received a message on the form ['add-script', uri]. 36 // Received a message on the form ['add-script', uri].
33 // Install a new script tag with the uri. 37 // Install a new script tag with the uri.
34 var script = document.createElement('script'); 38 var script = document.createElement('script');
35 script.src = e.data[1]; 39 script.src = e.data[1];
36 script.type = 'application/javascript'; 40 script.type = 'application/javascript';
37 document.body.appendChild(script); 41 document.body.appendChild(script);
42 } else if (e.data[0] === 'apply-update') {
43 self.$dart_unsafe_eval.patch(e.data[1]);
44
45 dartMainClosure();
46
47 // Let the sandbox embedder know that main is done running.
48 window.parent.postMessage('iframe-dart-updated-main-done', '*');
38 } else { 49 } else {
39 // Other messages are just logged. 50 // Other messages are just logged.
40 console.log(e); 51 console.log(e);
41 } 52 }
42 } 53 }
43 window.addEventListener('message', onMessage, false); 54 window.addEventListener('message', onMessage, false);
44 55
45 // Let the sandbox embedder know that this iframe is ready, that is, 56 // Let the sandbox embedder know that this iframe is ready, that is,
46 // listening for messages. 57 // listening for messages.
47 window.parent.postMessage('iframe-ready', '*'); 58 window.parent.postMessage('iframe-ready', '*');
48 59
49 })(); 60 })();
50 </script> 61 </script>
51 </body> 62 </body>
52 </html> 63 </html>
OLDNEW
« no previous file with comments | « dart/pkg/dart2js_incremental/lib/library_updater.dart ('k') | dart/tests/try/web/incremental_compilation_update_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698