[web] @JS('Intl') (flutter/engine#39211)
* [web] @JS('Intl')
* Fix call sites
* one more place
This commit is contained in:
@@ -63,9 +63,6 @@ extension DomWindowExtension on DomWindow {
|
||||
/// The Trusted Types API (when available).
|
||||
/// See: https://developer.mozilla.org/en-US/docs/Web/API/Trusted_Types_API
|
||||
external DomTrustedTypePolicyFactory? get trustedTypes;
|
||||
|
||||
// ignore: non_constant_identifier_names
|
||||
external DomIntl get Intl;
|
||||
}
|
||||
|
||||
typedef DomRequestAnimationFrameCallback = void Function(num highResTime);
|
||||
@@ -83,6 +80,9 @@ extension DomConsoleExtension on DomConsole {
|
||||
@JS('window')
|
||||
external DomWindow get domWindow;
|
||||
|
||||
@JS('Intl')
|
||||
external DomIntl get domIntl;
|
||||
|
||||
@JS()
|
||||
@staticInterop
|
||||
class DomNavigator {}
|
||||
@@ -1815,7 +1815,7 @@ extension DomV8BreakIteratorExtension on DomV8BreakIterator {
|
||||
}
|
||||
|
||||
DomV8BreakIterator createV8BreakIterator() {
|
||||
final Object? v8BreakIterator = domWindow.Intl.v8BreakIterator;
|
||||
final Object? v8BreakIterator = domIntl.v8BreakIterator;
|
||||
if (v8BreakIterator == null) {
|
||||
throw UnimplementedError('v8BreakIterator is not supported.');
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@ enum LineBreakType {
|
||||
/// Splits [text] into fragments based on line breaks.
|
||||
abstract class LineBreakFragmenter extends TextFragmenter {
|
||||
factory LineBreakFragmenter(String text) {
|
||||
if (domWindow.Intl.v8BreakIterator != null) {
|
||||
if (domIntl.v8BreakIterator != null) {
|
||||
return V8LineBreakFragmenter(text);
|
||||
}
|
||||
return FWLineBreakFragmenter(text);
|
||||
@@ -66,7 +66,7 @@ class FWLineBreakFragmenter extends TextFragmenter implements LineBreakFragmente
|
||||
/// `v8BreakIterator` API to find line breaks in the given [text].
|
||||
class V8LineBreakFragmenter extends TextFragmenter implements LineBreakFragmenter {
|
||||
V8LineBreakFragmenter(super.text)
|
||||
: assert(domWindow.Intl.v8BreakIterator != null);
|
||||
: assert(domIntl.v8BreakIterator != null);
|
||||
|
||||
@override
|
||||
List<LineBreakFragment> fragment() {
|
||||
|
||||
@@ -421,7 +421,7 @@ void groupForEachFragmenter(GroupBody callback) {
|
||||
() => callback(isV8: false),
|
||||
);
|
||||
|
||||
if (domWindow.Intl.v8BreakIterator != null) {
|
||||
if (domIntl.v8BreakIterator != null) {
|
||||
group(
|
||||
'$V8LineBreakFragmenter',
|
||||
() => callback(isV8: true),
|
||||
|
||||
Reference in New Issue
Block a user