Version 2.15.0-170.0.dev
Merge commit '5fbde4d85036320b51130ab3bfee827728c682dd' into 'dev'
diff --git a/pkg/analyzer/README.md b/pkg/analyzer/README.md
index f574d8c..d35c78b 100644
--- a/pkg/analyzer/README.md
+++ b/pkg/analyzer/README.md
@@ -70,7 +70,7 @@
Many tools embed this library, such as:
-* [dartfmt] - a formatter for Dart code
+* [dart format] - a formatter for Dart code
* [dartdoc] - a documentation generator for Dart code
* [Dart Analysis Server][analysis_sever] - a stateful server that supports IDEs and editors
@@ -102,7 +102,7 @@
[lintrules]: https://dart-lang.github.io/linter/lints/
[glob]: https://pub.dev/packages/glob
[LICENSE]: https://github.com/dart-lang/sdk/blob/main/pkg/analyzer/LICENSE
-[dartfmt]: https://github.com/dart-lang/dart_style
+[dart format]: https://github.com/dart-lang/dart_style
[dartdoc]: https://github.com/dart-lang/dartdoc
[analysis_sever]: https://github.com/dart-lang/sdk/tree/main/pkg/analysis_server
[custom_analysis]: https://dart.dev/guides/language/analysis-options
diff --git a/pkg/compiler/lib/src/commandline_options.dart b/pkg/compiler/lib/src/commandline_options.dart
index 7a72775..09293fc 100644
--- a/pkg/compiler/lib/src/commandline_options.dart
+++ b/pkg/compiler/lib/src/commandline_options.dart
@@ -94,7 +94,6 @@
static const String trustTypeAnnotations = '--trust-type-annotations';
static const String trustJSInteropTypeAnnotations =
'--experimental-trust-js-interop-type-annotations';
- static const String useContentSecurityPolicy = '--csp';
static const String useMultiSourceInfo = '--use-multi-source-info';
static const String useNewSourceInfo = '--use-new-source-info';
static const String useOldRti = '--use-old-rti';
diff --git a/pkg/compiler/lib/src/dart2js.dart b/pkg/compiler/lib/src/dart2js.dart
index bc0d02d..139ebfe 100644
--- a/pkg/compiler/lib/src/dart2js.dart
+++ b/pkg/compiler/lib/src/dart2js.dart
@@ -601,7 +601,6 @@
OptionHandler('--disallow-unsafe-eval', ignoreOption),
OptionHandler(Option.showPackageWarnings, passThrough),
OptionHandler(Option.enableLanguageExperiments, passThrough),
- OptionHandler(Flags.useContentSecurityPolicy, passThrough),
OptionHandler('--enable-experimental-mirrors', ignoreOption),
OptionHandler(Flags.enableAssertMessage, passThrough),
OptionHandler('--strong', ignoreOption),
diff --git a/pkg/compiler/lib/src/js_emitter/class_stub_generator.dart b/pkg/compiler/lib/src/js_emitter/class_stub_generator.dart
index 21e2959..638d53d 100644
--- a/pkg/compiler/lib/src/js_emitter/class_stub_generator.dart
+++ b/pkg/compiler/lib/src/js_emitter/class_stub_generator.dart
@@ -291,7 +291,7 @@
}
jsAst.Statement instanceTearOffGetter;
- if (options.useContentSecurityPolicy) {
+ if (options.features.useContentSecurityPolicy.isEnabled) {
instanceTearOffGetter = js.statement(
'''
function instanceTearOffGetter(isIntercepted, parameters) {
diff --git a/pkg/compiler/lib/src/js_emitter/startup_emitter/model_emitter.dart b/pkg/compiler/lib/src/js_emitter/startup_emitter/model_emitter.dart
index 009853e..de9ddca 100644
--- a/pkg/compiler/lib/src/js_emitter/startup_emitter/model_emitter.dart
+++ b/pkg/compiler/lib/src/js_emitter/startup_emitter/model_emitter.dart
@@ -362,7 +362,6 @@
if (_options.laxRuntimeTypeToString) {
flavor.write(', lax runtime type');
}
- if (_options.useContentSecurityPolicy) flavor.write(', CSP');
var featureString = _options.features.flavorString();
if (featureString.isNotEmpty) flavor.write(', $featureString');
return js.Comment(generatedBy(_options, flavor: '$flavor'));
diff --git a/pkg/compiler/lib/src/options.dart b/pkg/compiler/lib/src/options.dart
index 5bacb0e..5f7b288 100644
--- a/pkg/compiler/lib/src/options.dart
+++ b/pkg/compiler/lib/src/options.dart
@@ -68,11 +68,14 @@
/// Whether to use optimized holders.
FeatureOption newHolders = FeatureOption('new-holders');
+ /// Whether to generate code compliant with Content Security Policy.
+ FeatureOption useContentSecurityPolicy = FeatureOption('csp');
+
/// [FeatureOption]s which default to enabled.
late final List<FeatureOption> shipping = [legacyJavaScript, newHolders];
/// [FeatureOption]s which default to disabled.
- late final List<FeatureOption> canary = [];
+ late final List<FeatureOption> canary = [useContentSecurityPolicy];
/// Forces canary feature on. This must run after [Option].parse.
void forceCanary() {
@@ -436,9 +439,6 @@
/// This is an internal configuration option derived from other flags.
late CheckPolicy defaultIndexBoundsCheckPolicy;
- /// Whether to generate code compliant with content security policy (CSP).
- bool useContentSecurityPolicy = false;
-
/// When obfuscating for minification, whether to use the frequency of a name
/// as an heuristic to pick shorter names.
bool useFrequencyNamer = true;
@@ -626,8 +626,6 @@
_hasOption(options, Flags.laxRuntimeTypeToString)
..testMode = _hasOption(options, Flags.testMode)
..trustPrimitives = _hasOption(options, Flags.trustPrimitives)
- ..useContentSecurityPolicy =
- _hasOption(options, Flags.useContentSecurityPolicy)
..useFrequencyNamer =
!_hasOption(options, Flags.noFrequencyBasedMinification)
..useMultiSourceInfo = _hasOption(options, Flags.useMultiSourceInfo)
@@ -709,7 +707,6 @@
if (benchmarkingExperiment) {
// Set flags implied by '--benchmarking-x'.
// TODO(sra): Use this for some null safety variant.
- useContentSecurityPolicy = true;
features.forceCanary();
}
diff --git a/pkg/compiler/lib/src/ssa/builder_kernel.dart b/pkg/compiler/lib/src/ssa/builder_kernel.dart
index 744a46b..cf8fb72 100644
--- a/pkg/compiler/lib/src/ssa/builder_kernel.dart
+++ b/pkg/compiler/lib/src/ssa/builder_kernel.dart
@@ -363,7 +363,7 @@
case 'MUST_RETAIN_METADATA':
return false;
case 'USE_CONTENT_SECURITY_POLICY':
- return options.useContentSecurityPolicy;
+ return options.features.useContentSecurityPolicy.isEnabled;
case 'VARIANCE':
return options.enableVariance;
case 'LEGACY':
diff --git a/pkg/compiler/test/end_to_end/output_type_test.dart b/pkg/compiler/test/end_to_end/output_type_test.dart
index e48e089..848b1ff 100644
--- a/pkg/compiler/test/end_to_end/output_type_test.dart
+++ b/pkg/compiler/test/end_to_end/output_type_test.dart
@@ -87,6 +87,7 @@
'pkg/compiler/test/deferred/data/deferred_helper.dart',
'--out=custom.js',
'--deferred-map=def/deferred.json',
+ '--no-csp',
Flags.dumpInfo,
], [
'custom.js', 'custom.js.map',
@@ -100,20 +101,19 @@
PRINT_GRAPH = false;
TRACE_FILTER_PATTERN_FOR_TEST = null;
- List<String> additionOptionals = <String>[];
- List<String> expectedOutput = <String>[
+ List<String> additionOptionals = [];
+ List<String> expectedOutput = [
'out.js',
'out.js.map',
'out.js_1.part.js',
'out.js_1.part.js.map',
];
- await test(
- [
- 'pkg/compiler/test/deferred/data/deferred_helper.dart',
- Flags.useContentSecurityPolicy,
- ]..addAll(additionOptionals),
- expectedOutput);
+ await test([
+ 'pkg/compiler/test/deferred/data/deferred_helper.dart',
+ '--csp',
+ ...additionOptionals,
+ ], expectedOutput);
}
asyncTest(() async {
diff --git a/pkg/compiler/test/sourcemaps/tools/source_mapping_tester.dart b/pkg/compiler/test/sourcemaps/tools/source_mapping_tester.dart
index aca0ca8..6bca3c3 100644
--- a/pkg/compiler/test/sourcemaps/tools/source_mapping_tester.dart
+++ b/pkg/compiler/test/sourcemaps/tools/source_mapping_tester.dart
@@ -153,9 +153,8 @@
String config, String filename, Uri uri, List<String> options,
{bool verbose: true}) async {
SourceMapProcessor processor = new SourceMapProcessor(uri);
- SourceMaps sourceMaps = await processor.process(
- [Flags.useContentSecurityPolicy, Flags.disableInlining]..addAll(options),
- verbose: verbose);
+ SourceMaps sourceMaps = await processor
+ .process(['--csp', Flags.disableInlining, ...options], verbose: verbose);
TestResult result = new TestResult(config, filename, processor);
for (SourceMapInfo info in sourceMaps.elementSourceMapInfos.values) {
if (info.element.library.canonicalUri.scheme == 'dart') continue;
diff --git a/tools/VERSION b/tools/VERSION
index 4eb2c84..d744ad1 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 15
PATCH 0
-PRERELEASE 169
+PRERELEASE 170
PRERELEASE_PATCH 0
\ No newline at end of file