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

Side by Side Diff: lib/src/codegen/html_codegen.dart

Issue 1007313003: Move sunflower to a new directory, make final tweaks to make it all work. (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 9 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
« no previous file with comments | « lib/runtime/dart_runtime.js ('k') | test/codegen/dom.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library dev_compiler.src.codegen.html_codegen; 5 library dev_compiler.src.codegen.html_codegen;
6 6
7 import 'package:html5lib/dom.dart'; 7 import 'package:html5lib/dom.dart';
8 import 'package:html5lib/parser.dart' show parseFragment; 8 import 'package:html5lib/parser.dart' show parseFragment;
9 import 'package:logging/logging.dart' show Logger; 9 import 'package:logging/logging.dart' show Logger;
10 import 'package:path/path.dart' as path; 10 import 'package:path/path.dart' as path;
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 if (n is ResourceSourceNode) resources.add(n); 49 if (n is ResourceSourceNode) resources.add(n);
50 }, includeParts: false); 50 }, includeParts: false);
51 51
52 String mainLibraryName; 52 String mainLibraryName;
53 var fragment = new DocumentFragment(); 53 var fragment = new DocumentFragment();
54 for (var resource in resources) { 54 for (var resource in resources) {
55 var resourcePath = resourceOutputPath(resource.uri, root.uri); 55 var resourcePath = resourceOutputPath(resource.uri, root.uri);
56 if (resource.cachingHash != null) { 56 if (resource.cachingHash != null) {
57 resourcePath = _addHash(resourcePath, resource.cachingHash); 57 resourcePath = _addHash(resourcePath, resource.cachingHash);
58 } 58 }
59 if (path.extension(resourcePath) == '.css') { 59 var ext = path.extension(resourcePath);
60 if (ext == '.css') {
60 fragment.nodes.add(_cssInclude(resourcePath)); 61 fragment.nodes.add(_cssInclude(resourcePath));
61 } else { 62 } else if (ext == '.js') {
62 fragment.nodes.add(_libraryInclude(resourcePath)); 63 fragment.nodes.add(_libraryInclude(resourcePath));
63 } 64 }
64 } 65 }
65 if (!options.checkSdk) fragment.nodes.add(_miniMockSdk);
66 for (var lib in libraries) { 66 for (var lib in libraries) {
67 var info = lib.info; 67 var info = lib.info;
68 if (info == null) continue; 68 if (info == null) continue;
69 if (info.isEntry) mainLibraryName = jsLibraryName(info.library); 69 if (info.isEntry) mainLibraryName = jsLibraryName(info.library);
70 var jsPath = jsOutputPath(info, root.uri); 70 var jsPath = jsOutputPath(info, root.uri);
71 if (lib.cachingHash != null) { 71 if (lib.cachingHash != null) {
72 jsPath = _addHash(jsPath, lib.cachingHash); 72 jsPath = _addHash(jsPath, lib.cachingHash);
73 } 73 }
74 fragment.nodes.add(_libraryInclude(jsPath)); 74 fragment.nodes.add(_libraryInclude(jsPath));
75 } 75 }
(...skipping 18 matching lines...) Expand all
94 return parseFragment('<script>$code</script>\n'); 94 return parseFragment('<script>$code</script>\n');
95 } 95 }
96 96
97 /// Convert the outputPath to include the hash in it. This function is the 97 /// Convert the outputPath to include the hash in it. This function is the
98 /// reverse of what the server does to determine whether a request needs to have 98 /// reverse of what the server does to determine whether a request needs to have
99 /// cache headers added to it. 99 /// cache headers added to it.
100 _addHash(String outPath, String hash) { 100 _addHash(String outPath, String hash) {
101 return path.join('cached', hash, outPath); 101 return path.join('cached', hash, outPath);
102 } 102 }
103 103
104 /// A script tag with a tiny mock of the core SDK. This is just used for testing
105 /// some small samples.
106 // TODO(sigmund,jmesserly): remove.
107 Node get _miniMockSdk => parseFragment('''
108 <script>
109 /* placehorder for unimplemented code libraries */
110 var math = Math;
111 var core = { int: { parse: Number }, print: e => console.log(e) };
112 </script>''');
113 final _log = new Logger('dev_compiler.src.codegen.html_codegen'); 104 final _log = new Logger('dev_compiler.src.codegen.html_codegen');
OLDNEW
« no previous file with comments | « lib/runtime/dart_runtime.js ('k') | test/codegen/dom.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698