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

Side by Side Diff: pkg/compiler/lib/src/native/native.dart

Issue 2150313003: Add JSNative utility class with static methods methods to efficiently manipulate typed JSInterop ob… (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Fix analyzer warnings in js_util_test, skip js_util_test in csp mode and baseline expectations for … Created 4 years, 4 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
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 native; 5 library native;
6 6
7 import '../compiler.dart' show Compiler; 7 import '../compiler.dart' show Compiler;
8 import '../elements/elements.dart'; 8 import '../elements/elements.dart';
9 9
10 export 'behavior.dart'; 10 export 'behavior.dart';
11 export 'enqueue.dart'; 11 export 'enqueue.dart';
12 export 'js.dart'; 12 export 'js.dart';
13 export 'scanner.dart'; 13 export 'scanner.dart';
14 export 'ssa.dart'; 14 export 'ssa.dart';
15 15
16 const Iterable<String> _allowedDartSchemePaths = const <String>[ 16 const Iterable<String> _allowedDartSchemePaths = const <String>[
17 'async', 17 'async',
18 'html', 18 'html',
19 'html_common', 19 'html_common',
20 'indexed_db', 20 'indexed_db',
21 'js', 21 'js',
22 'js_util',
22 'svg', 23 'svg',
23 '_native_typed_data', 24 '_native_typed_data',
24 'web_audio', 25 'web_audio',
25 'web_gl', 26 'web_gl',
26 'web_sql' 27 'web_sql'
27 ]; 28 ];
28 29
29 bool maybeEnableNative(Compiler compiler, LibraryElement library) { 30 bool maybeEnableNative(Compiler compiler, LibraryElement library) {
30 bool allowedTestLibrary() { 31 bool allowedTestLibrary() {
31 String scriptName = library.entryCompilationUnit.script.name; 32 String scriptName = library.entryCompilationUnit.script.name;
32 return scriptName.contains('sdk/tests/compiler/dart2js_native') || 33 return scriptName.contains('sdk/tests/compiler/dart2js_native') ||
33 scriptName.contains('sdk/tests/compiler/dart2js_extra'); 34 scriptName.contains('sdk/tests/compiler/dart2js_extra');
34 } 35 }
35 bool allowedDartLibary() { 36 bool allowedDartLibary() {
36 Uri uri = library.canonicalUri; 37 Uri uri = library.canonicalUri;
37 if (uri.scheme != 'dart') return false; 38 if (uri.scheme != 'dart') return false;
38 return _allowedDartSchemePaths.contains(uri.path); 39 return _allowedDartSchemePaths.contains(uri.path);
39 } 40 }
40 41
41 return allowedTestLibrary() || 42 return allowedTestLibrary() ||
42 allowedDartLibary() || 43 allowedDartLibary() ||
43 compiler.options.allowNativeExtensions; 44 compiler.options.allowNativeExtensions;
44 } 45 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698