From 310a7edbca2711210834cc66d66461fe5307eded Mon Sep 17 00:00:00 2001 From: "auto-submit[bot]" <98614782+auto-submit[bot]@users.noreply.github.com> Date: Wed, 7 Feb 2024 02:44:21 +0000 Subject: [PATCH] Reverts "Activate InkSparkle on CanvasKit" (#143036) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reverts flutter/flutter#138545 Initiated by: zanderso Reason for reverting: Failing in post-submit: https://ci.chromium.org/ui/p/flutter/builders/prod/Linux%20web_long_running_tests_5_5/14975/overview ``` ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞═════════════════ The following FormatException was thrown running a test: Invalid Shader Data When the exception was thrown, this was the stack: dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.da Original PR Author: bleroux Reviewed By: {Piinks} This change reverts the following previous change: Original Description: ## Description This PR activates the M3 `InkSparkle` splash animation on Android + CanvasKit. Before it `InkSparkle` was only activated on native Android. ## Related Issue Fixes https://github.com/flutter/flutter/issues/138487 ## Tests Updates several existing tests. --- .../flutter/lib/src/material/theme_data.dart | 2 +- .../test/material/elevated_button_test.dart | 2 +- .../test/material/filled_button_test.dart | 2 +- .../test/material/ink_sparkle_test.dart | 19 +++++++++---------- .../test/material/outlined_button_test.dart | 2 +- .../test/material/text_button_test.dart | 2 +- .../test/material/theme_data_test.dart | 2 +- 7 files changed, 15 insertions(+), 16 deletions(-) diff --git a/packages/flutter/lib/src/material/theme_data.dart b/packages/flutter/lib/src/material/theme_data.dart index 30a4270d81..8ba11e8162 100644 --- a/packages/flutter/lib/src/material/theme_data.dart +++ b/packages/flutter/lib/src/material/theme_data.dart @@ -410,7 +410,7 @@ class ThemeData with Diagnosticable { scrollbarTheme ??= const ScrollbarThemeData(); visualDensity ??= VisualDensity.defaultDensityForPlatform(platform); useMaterial3 ??= true; - final bool useInkSparkle = platform == TargetPlatform.android && (!kIsWeb || isCanvasKit); + final bool useInkSparkle = platform == TargetPlatform.android && !kIsWeb; splashFactory ??= useMaterial3 ? useInkSparkle ? InkSparkle.splashFactory : InkRipple.splashFactory : InkSplash.splashFactory; diff --git a/packages/flutter/test/material/elevated_button_test.dart b/packages/flutter/test/material/elevated_button_test.dart index 2a3b88c8bb..e7f1a6e68c 100644 --- a/packages/flutter/test/material/elevated_button_test.dart +++ b/packages/flutter/test/material/elevated_button_test.dart @@ -1514,7 +1514,7 @@ void main() { matching: find.byType(InkWell), )); - if (debugDefaultTargetPlatformOverride! == TargetPlatform.android && (!kIsWeb || isCanvasKit)) { + if (debugDefaultTargetPlatformOverride! == TargetPlatform.android && !kIsWeb) { expect(buttonInkWell.splashFactory, equals(InkSparkle.splashFactory)); } else { expect(buttonInkWell.splashFactory, equals(InkRipple.splashFactory)); diff --git a/packages/flutter/test/material/filled_button_test.dart b/packages/flutter/test/material/filled_button_test.dart index 7370bbde49..535d8ba52f 100644 --- a/packages/flutter/test/material/filled_button_test.dart +++ b/packages/flutter/test/material/filled_button_test.dart @@ -1649,7 +1649,7 @@ void main() { matching: find.byType(InkWell), )); - if (debugDefaultTargetPlatformOverride! == TargetPlatform.android && (!kIsWeb || isCanvasKit)) { + if (debugDefaultTargetPlatformOverride! == TargetPlatform.android && !kIsWeb) { expect(buttonInkWell.splashFactory, equals(InkSparkle.splashFactory)); } else { expect(buttonInkWell.splashFactory, equals(InkRipple.splashFactory)); diff --git a/packages/flutter/test/material/ink_sparkle_test.dart b/packages/flutter/test/material/ink_sparkle_test.dart index 89ed521f9a..c42c55f86e 100644 --- a/packages/flutter/test/material/ink_sparkle_test.dart +++ b/packages/flutter/test/material/ink_sparkle_test.dart @@ -8,7 +8,6 @@ library; import 'package:flutter/material.dart'; -import 'package:flutter/src/foundation/capabilities.dart'; import 'package:flutter/src/foundation/constants.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -30,7 +29,7 @@ void main() { await tester.pump(); await tester.pumpAndSettle(); }, - skip: kIsWeb && !isCanvasKit, // [intended] shaders are not supported for the HTML renderer. + skip: kIsWeb, // [intended] shaders are not yet supported for web. ); testWidgets('InkSparkle default splashFactory paints with drawRect when bounded', (WidgetTester tester) async { @@ -59,7 +58,7 @@ void main() { // ink feature is disposed. expect((material as dynamic).debugInkFeatures, isEmpty); }, - skip: kIsWeb && !isCanvasKit, // [intended] shaders are not supported for the HTML renderer. + skip: kIsWeb, // [intended] shaders are not yet supported for web. ); testWidgets('InkSparkle default splashFactory paints with drawPaint when unbounded', (WidgetTester tester) async { @@ -82,7 +81,7 @@ void main() { final MaterialInkController material = Material.of(tester.element(buttonFinder)); expect(material, paintsExactlyCountTimes(#drawPaint, 1)); }, - skip: kIsWeb && !isCanvasKit, // [intended] shaders are not supported for the HTML renderer. + skip: kIsWeb, // [intended] shaders are not yet supported for web. ); ///////////// @@ -92,37 +91,37 @@ void main() { testWidgets('Material2 - InkSparkle renders with sparkles when top left of button is tapped', (WidgetTester tester) async { await _runTest(tester, 'top_left', 0.2); }, - skip: kIsWeb && !isCanvasKit, // [intended] shaders are not supported for the HTML renderer. + skip: kIsWeb, // [intended] shaders are not yet supported for web. ); testWidgets('Material3 - InkSparkle renders with sparkles when top left of button is tapped', (WidgetTester tester) async { await _runM3Test(tester, 'top_left', 0.2); }, - skip: kIsWeb && !isCanvasKit, // [intended] shaders are not supported for the HTML renderer. + skip: kIsWeb, // [intended] shaders are not yet supported for web. ); testWidgets('Material2 - InkSparkle renders with sparkles when center of button is tapped', (WidgetTester tester) async { await _runTest(tester, 'center', 0.5); }, - skip: kIsWeb && !isCanvasKit, // [intended] shaders are not supported for the HTML renderer. + skip: kIsWeb, // [intended] shaders are not yet supported for web. ); testWidgets('Material3 - InkSparkle renders with sparkles when center of button is tapped', (WidgetTester tester) async { await _runM3Test(tester, 'center', 0.5); }, - skip: kIsWeb && !isCanvasKit, // [intended] shaders are not supported for the HTML renderer. + skip: kIsWeb, // [intended] shaders are not yet supported for web. ); testWidgets('Material2 - InkSparkle renders with sparkles when bottom right of button is tapped', (WidgetTester tester) async { await _runTest(tester, 'bottom_right', 0.8); }, - skip: kIsWeb && !isCanvasKit, // [intended] shaders are not supported for the HTML renderer. + skip: kIsWeb, // [intended] shaders are not yet supported for web. ); testWidgets('Material3 - InkSparkle renders with sparkles when bottom right of button is tapped', (WidgetTester tester) async { await _runM3Test(tester, 'bottom_right', 0.8); }, - skip: kIsWeb && !isCanvasKit, // [intended] shaders are not supported for the HTML renderer. + skip: kIsWeb, // [intended] shaders are not yet supported for web. ); } diff --git a/packages/flutter/test/material/outlined_button_test.dart b/packages/flutter/test/material/outlined_button_test.dart index 67789fff61..6da9043286 100644 --- a/packages/flutter/test/material/outlined_button_test.dart +++ b/packages/flutter/test/material/outlined_button_test.dart @@ -1691,7 +1691,7 @@ void main() { matching: find.byType(InkWell), )); - if (debugDefaultTargetPlatformOverride! == TargetPlatform.android && (!kIsWeb || isCanvasKit)) { + if (debugDefaultTargetPlatformOverride! == TargetPlatform.android && !kIsWeb) { expect(buttonInkWell.splashFactory, equals(InkSparkle.splashFactory)); } else { expect(buttonInkWell.splashFactory, equals(InkRipple.splashFactory)); diff --git a/packages/flutter/test/material/text_button_test.dart b/packages/flutter/test/material/text_button_test.dart index 1a578a0455..7a63d4c16e 100644 --- a/packages/flutter/test/material/text_button_test.dart +++ b/packages/flutter/test/material/text_button_test.dart @@ -1468,7 +1468,7 @@ void main() { matching: find.byType(InkWell), )); - if (debugDefaultTargetPlatformOverride! == TargetPlatform.android && (!kIsWeb || isCanvasKit)) { + if (debugDefaultTargetPlatformOverride! == TargetPlatform.android && !kIsWeb) { expect(buttonInkWell.splashFactory, equals(InkSparkle.splashFactory)); } else { expect(buttonInkWell.splashFactory, equals(InkRipple.splashFactory)); diff --git a/packages/flutter/test/material/theme_data_test.dart b/packages/flutter/test/material/theme_data_test.dart index aa42824dc7..7d21bf9841 100644 --- a/packages/flutter/test/material/theme_data_test.dart +++ b/packages/flutter/test/material/theme_data_test.dart @@ -409,7 +409,7 @@ void main() { switch (debugDefaultTargetPlatformOverride!) { case TargetPlatform.android: - if (kIsWeb && !isCanvasKit) { + if (kIsWeb) { expect(theme.splashFactory, equals(InkRipple.splashFactory)); } else { expect(theme.splashFactory, equals(InkSparkle.splashFactory));