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

Side by Side Diff: sdk/lib/_internal/pub/lib/src/barback/dart2js_transformer.dart

Issue 368103002: Support passing CSP configuration to the dart2js transformer. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 5 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
« no previous file with comments | « no previous file | sdk/lib/_internal/pub/lib/src/dart.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) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 pub.dart2js_transformer; 5 library pub.dart2js_transformer;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:convert'; 8 import 'dart:convert';
9 9
10 import 'package:analyzer/analyzer.dart'; 10 import 'package:analyzer/analyzer.dart';
11 import 'package:barback/barback.dart'; 11 import 'package:barback/barback.dart';
12 import 'package:path/path.dart' as path; 12 import 'package:path/path.dart' as path;
13 import 'package:stack_trace/stack_trace.dart'; 13 import 'package:stack_trace/stack_trace.dart';
14 14
15 import '../../../../compiler/compiler.dart' as compiler; 15 import '../../../../compiler/compiler.dart' as compiler;
16 import '../../../../compiler/implementation/dart2js.dart' 16 import '../../../../compiler/implementation/dart2js.dart'
17 show AbortLeg; 17 show AbortLeg;
18 import '../../../../compiler/implementation/source_file.dart'; 18 import '../../../../compiler/implementation/source_file.dart';
19 import '../barback.dart'; 19 import '../barback.dart';
20 import '../dart.dart' as dart; 20 import '../dart.dart' as dart;
21 import '../pool.dart'; 21 import '../pool.dart';
22 import '../utils.dart'; 22 import '../utils.dart';
23 import 'asset_environment.dart'; 23 import 'asset_environment.dart';
24 24
25 /// The set of all valid configuration options for this transformer. 25 /// The set of all valid configuration options for this transformer.
26 final _validOptions = new Set<String>.from([ 26 final _validOptions = new Set<String>.from([
27 'commandLineOptions', 'checked', 'minify', 'verbose', 'environment', 27 'commandLineOptions', 'checked', 'csp', 'minify', 'verbose', 'environment',
28 'analyzeAll', 'suppressWarnings', 'suppressHints', 'suppressPackageWarnings', 28 'analyzeAll', 'suppressWarnings', 'suppressHints', 'suppressPackageWarnings',
29 'terse' 29 'terse'
30 ]); 30 ]);
31 31
32 /// A [Transformer] that uses dart2js's library API to transform Dart 32 /// A [Transformer] that uses dart2js's library API to transform Dart
33 /// entrypoints in "web" to JavaScript. 33 /// entrypoints in "web" to JavaScript.
34 class Dart2JSTransformer extends Transformer implements LazyTransformer { 34 class Dart2JSTransformer extends Transformer implements LazyTransformer {
35 /// We use this to ensure that only one compilation is in progress at a time. 35 /// We use this to ensure that only one compilation is in progress at a time.
36 /// 36 ///
37 /// Dart2js uses lots of memory, so if we try to actually run compiles in 37 /// Dart2js uses lots of memory, so if we try to actually run compiles in
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 var entrypoint = path.join(_environment.graph.packages[id.package].dir, 128 var entrypoint = path.join(_environment.graph.packages[id.package].dir,
129 id.path); 129 id.path);
130 130
131 // TODO(rnystrom): Should have more sophisticated error-handling here. Need 131 // TODO(rnystrom): Should have more sophisticated error-handling here. Need
132 // to report compile errors to the user in an easily visible way. Need to 132 // to report compile errors to the user in an easily visible way. Need to
133 // make sure paths in errors are mapped to the original source path so they 133 // make sure paths in errors are mapped to the original source path so they
134 // can understand them. 134 // can understand them.
135 return Chain.track(dart.compile( 135 return Chain.track(dart.compile(
136 entrypoint, provider, 136 entrypoint, provider,
137 commandLineOptions: _configCommandLineOptions, 137 commandLineOptions: _configCommandLineOptions,
138 csp: _configBool('csp'),
138 checked: _configBool('checked'), 139 checked: _configBool('checked'),
139 minify: _configBool( 140 minify: _configBool(
140 'minify', defaultsTo: _settings.mode == BarbackMode.RELEASE), 141 'minify', defaultsTo: _settings.mode == BarbackMode.RELEASE),
141 verbose: _configBool('verbose'), 142 verbose: _configBool('verbose'),
142 environment: _configEnvironment, 143 environment: _configEnvironment,
143 packageRoot: path.join(_environment.rootPackage.dir, "packages"), 144 packageRoot: path.join(_environment.rootPackage.dir, "packages"),
144 analyzeAll: _configBool('analyzeAll'), 145 analyzeAll: _configBool('analyzeAll'),
145 suppressWarnings: _configBool('suppressWarnings'), 146 suppressWarnings: _configBool('suppressWarnings'),
146 suppressHints: _configBool('suppressHints'), 147 suppressHints: _configBool('suppressHints'),
147 suppressPackageWarnings: _configBool( 148 suppressPackageWarnings: _configBool(
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after
404 } 405 }
405 } 406 }
406 407
407 /// An [EventSink] that discards all data. Provided to dart2js when we don't 408 /// An [EventSink] that discards all data. Provided to dart2js when we don't
408 /// want an actual output. 409 /// want an actual output.
409 class NullSink<T> implements EventSink<T> { 410 class NullSink<T> implements EventSink<T> {
410 void add(T event) {} 411 void add(T event) {}
411 void addError(errorEvent, [StackTrace stackTrace]) {} 412 void addError(errorEvent, [StackTrace stackTrace]) {}
412 void close() {} 413 void close() {}
413 } 414 }
OLDNEW
« no previous file with comments | « no previous file | sdk/lib/_internal/pub/lib/src/dart.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698