Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit 7979f6d

Browse files
Revert to drawImage rendering on Chrome 110 or earlier
1 parent fcb866b commit 7979f6d

File tree

3 files changed

+12
-15
lines changed

3 files changed

+12
-15
lines changed

lib/web_ui/lib/src/engine/browser_detection.dart

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -212,29 +212,26 @@ bool get isIOS15 {
212212
/// rendering to be flipped upside down.
213213
// TODO(harryterkelsen): Remove this check once we stop supporting Chrome 110
214214
// and earlier, https://github.com/flutter/flutter/issues/139186.
215-
bool get isChrome110OrOlderOnWindows {
216-
if (debugIsChrome110OrOlderOnWindows != null) {
217-
return debugIsChrome110OrOlderOnWindows!;
215+
bool get isChrome110OrOlder {
216+
if (debugIsChrome110OrOlder != null) {
217+
return debugIsChrome110OrOlder!;
218218
}
219-
if (_cachedIsChrome110OrOlderOnWindows != null) {
220-
return _cachedIsChrome110OrOlderOnWindows!;
221-
}
222-
if (operatingSystem != OperatingSystem.windows) {
223-
return _cachedIsChrome110OrOlderOnWindows = false;
219+
if (_cachedIsChrome110OrOlder != null) {
220+
return _cachedIsChrome110OrOlder!;
224221
}
225222
final RegExp chromeRegexp = RegExp(r'Chrom(e|ium)\/([0-9]+)\.');
226223
final RegExpMatch? match =
227224
chromeRegexp.firstMatch(domWindow.navigator.userAgent);
228225
if (match != null) {
229226
final int chromeVersion = int.parse(match.group(2)!);
230-
return _cachedIsChrome110OrOlderOnWindows = chromeVersion <= 110;
227+
return _cachedIsChrome110OrOlder = chromeVersion <= 110;
231228
}
232-
return _cachedIsChrome110OrOlderOnWindows = false;
229+
return _cachedIsChrome110OrOlder = false;
233230
}
234231

235232
// Cache the result of checking if the app is running on Chrome 110 on Windows
236233
// since we check this on every frame.
237-
bool? _cachedIsChrome110OrOlderOnWindows;
234+
bool? _cachedIsChrome110OrOlder;
238235

239236
/// If set to true pretends that the current browser is iOS Safari.
240237
///
@@ -267,7 +264,7 @@ bool get isWasm => const bool.fromEnvironment('dart.library.ffi');
267264
bool? debugIsIOS15;
268265

269266
/// Use in tests to simulated the detection of Chrome 110 or older on Windows.
270-
bool? debugIsChrome110OrOlderOnWindows;
267+
bool? debugIsChrome110OrOlder;
271268

272269
int? _cachedWebGLVersion;
273270

lib/web_ui/lib/src/engine/dom.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3674,7 +3674,7 @@ bool debugDisableCreateImageBitmapSupport = false;
36743674

36753675
bool get browserSupportsCreateImageBitmap =>
36763676
_createImageBitmapFunction != null &&
3677-
!isChrome110OrOlderOnWindows &&
3677+
!isChrome110OrOlder &&
36783678
!debugDisableCreateImageBitmapSupport;
36793679

36803680
@JS()

lib/web_ui/test/canvaskit/no_create_image_bitmap_test.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ void testMain() {
2424

2525
tearDown(() {
2626
debugDisableCreateImageBitmapSupport = false;
27-
debugIsChrome110OrOlderOnWindows = null;
27+
debugIsChrome110OrOlder = null;
2828
});
2929

3030
test('can render without createImageBitmap', () async {
@@ -69,7 +69,7 @@ void testMain() {
6969
test(
7070
'createImageBitmap support is disabled on '
7171
'Windows on Chrome version 110 or older', () async {
72-
debugIsChrome110OrOlderOnWindows = true;
72+
debugIsChrome110OrOlder = true;
7373
debugDisableCreateImageBitmapSupport = false;
7474

7575
expect(browserSupportsCreateImageBitmap, isFalse);

0 commit comments

Comments
 (0)