-
Notifications
You must be signed in to change notification settings - Fork 30.1k
Closed
Labels
P1High-priority issues at the top of the work listHigh-priority issues at the top of the work liste: web_canvaskitCanvasKit (a.k.a. Skia-on-WebGL) rendering backend for WebCanvasKit (a.k.a. Skia-on-WebGL) rendering backend for Webe: web_htmlHTML rendering backend for WebHTML rendering backend for Webf: material designflutter/packages/flutter/material repository.flutter/packages/flutter/material repository.found in release: 1.26Found to occur in 1.26Found to occur in 1.26frameworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.has reproducible stepsThe issue has been confirmed reproducible and is ready to work onThe issue has been confirmed reproducible and is ready to work onplatform-webWeb applications specificallyWeb applications specificallywaiting for PR to land (fixed)A fix is in flightA fix is in flight
Description
Steps to Reproduce
- Run
flutter create --description "SliderThemeData UnimplementedError Web" --project-name slider_themedata_bug --platforms web,macos --org com.skalio.bug slider_themedata_bug. - Update the file
lib/main.dartas follows:
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Slider ThemeData bug Web',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(title: 'This works for macos but not for web'),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
double _currentSliderValue = 1;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: SliderTheme(
data: SliderThemeData(
trackShape: CustomTrackShape(),
activeTrackColor: Colors.red,
inactiveTrackColor: Colors.grey,
thumbColor: Colors.blue,
activeTickMarkColor: Colors.white,
inactiveTickMarkColor: Colors.white,
),
child: ShaderMask(
blendMode: BlendMode.modulate,
shaderCallback: (Rect bounds) {
return LinearGradient(
colors: <Color>[Colors.blue[50], Colors.blue],
begin: Alignment.centerLeft,
end: Alignment.centerRight,
tileMode: TileMode.clamp,
).createShader(bounds);
},
child: Slider(
onChanged: (double value) {
setState(() {
_currentSliderValue = value;
});
},
min: 1,
max: 3,
value: _currentSliderValue,
divisions: 2,
),
),
),
),);
}
}
/// A TrackShape that can be Used for a [Slider] to allow for a wider,
/// margin-less Slider.
class CustomTrackShape extends RoundedRectSliderTrackShape {
double margin = 10;
Rect getPreferredRect({
@required RenderBox parentBox,
Offset offset = Offset.zero,
@required SliderThemeData sliderTheme,
bool isEnabled = false,
bool isDiscrete = false,
}) {
final double trackHeight = sliderTheme.trackHeight;
final double trackLeft = offset.dx + margin;
final double trackTop = offset.dy + (parentBox.size.height - trackHeight) / 2;
final double trackWidth = parentBox.size.width - 2 * margin;
return Rect.fromLTWH(trackLeft, trackTop, trackWidth, trackHeight);
}
}
- Run example for web:
flutter run -d chrome
Expected results: A nice slider styled with a SliderTheme
Actual results: Nothing is shown in the browser. Instead an UnimplementedError was thrown:
- Run example for macOS:
flutter run -d macos- The slider example works on macOS!
When showing the Slider without the SliderTheme it works on web.
Please support SliderTheme for the web platform!
Logs
porcupine:slider_themedata_bug tom$ flutter run -d chrome --verbose
[ +71 ms] executing: [/usr/local/flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[ +45 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[ +2 ms] a77388e670ad9860c0be0d249c9c832de719e6f2
[ ] executing: [/usr/local/flutter/] git tag --points-at a77388e670ad9860c0be0d249c9c832de719e6f2
[ +73 ms] Exit code 0 from: git tag --points-at a77388e670ad9860c0be0d249c9c832de719e6f2
[ +1 ms] executing: [/usr/local/flutter/] git describe --match *.*.* --long --tags a77388e670ad9860c0be0d249c9c832de719e6f2
[ +76 ms] Exit code 0 from: git describe --match *.*.* --long --tags a77388e670ad9860c0be0d249c9c832de719e6f2
[ ] 1.26.0-17.0.pre-210-ga77388e670
[ +43 ms] executing: [/usr/local/flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[ +14 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[ ] origin/master
[ ] executing: [/usr/local/flutter/] git ls-remote --get-url origin
[ +13 ms] Exit code 0 from: git ls-remote --get-url origin
[ ] https://github.com/flutter/flutter.git
[ +51 ms] executing: [/usr/local/flutter/] git rev-parse --abbrev-ref HEAD
[ +14 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[ ] master
[ +6 ms] executing: sw_vers -productName
[ +12 ms] Exit code 0 from: sw_vers -productName
[ ] macOS
[ ] executing: sw_vers -productVersion
[ +13 ms] Exit code 0 from: sw_vers -productVersion
[ ] 11.2
[ ] executing: sw_vers -buildVersion
[ +15 ms] Exit code 0 from: sw_vers -buildVersion
[ ] 20D64
[ +5 ms] executing: sysctl hw.optional.arm64
[ +4 ms] Exit code 1 from: sysctl hw.optional.arm64
[ ] sysctl: unknown oid 'hw.optional.arm64'
[ +57 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[ +2 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[ +42 ms] executing: /Users/tom/Library/Android/sdk/platform-tools/adb devices -l
[ +13 ms] executing: sysctl hw.optional.arm64
[ +4 ms] Exit code 1 from: sysctl hw.optional.arm64
[ ] sysctl: unknown oid 'hw.optional.arm64'
[ ] executing: xcrun xcodebuild -version
[ +134 ms] Exit code 0 from: xcrun xcodebuild -version
[ +2 ms] Xcode 12.4
Build version 12D4e
[ +2 ms] executing: xcrun xcdevice list --timeout 2
[ +3 ms] xcrun simctl list --json devices
[ ] executing: xcrun simctl list --json devices
[ +12 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[ +1 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[ +56 ms] executing: /Users/tom/Library/Android/sdk/platform-tools/adb devices -l
[ ] executing: xcrun xcdevice list --timeout 2
[ +1 ms] xcrun simctl list --json devices
[ ] executing: xcrun simctl list --json devices
[ +13 ms] Skipping pub get: version match.
[ +119 ms] Generating /Users/tom/Development/slider_themedata_bug/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java
[ +90 ms] List of devices attached
[ +2 ms] List of devices attached
[ +95 ms] Launching lib/main.dart on Chrome in debug mode...
[ +113 ms] {
"devices" : {
REMOVED DEVICES OUTPUT FOR BREVITY!
}
]
}
}
[ +36 ms] Updating assets
[ +79 ms] Waiting for connection from debug service on Chrome...
[ +63 ms] <- reset
[ +6 ms] /usr/local/flutter/bin/cache/dart-sdk/bin/dart --disable-dart-dev /usr/local/flutter/bin/cache/artifacts/engine/darwin-x64/frontend_server.dart.snapshot --sdk-root
/usr/local/flutter/bin/cache/flutter_web_sdk/ --incremental --target=dartdevc --debugger-module-names --experimental-emit-debug-metadata -DFLUTTER_WEB_AUTO_DETECT=true --output-dill
/var/folders/xb/0dzpwyg97cn7k1vx9nk3s73m0000gn/T/flutter_tools.ArVhqh/flutter_tool.zBqpnE/app.dill --libraries-spec file:///usr/local/flutter/bin/cache/flutter_web_sdk/libraries.json --packages
/Users/tom/Development/slider_themedata_bug/.dart_tool/package_config.json -Ddart.vm.profile=false -Ddart.vm.product=false --enable-asserts --track-widget-creation --filesystem-root
/var/folders/xb/0dzpwyg97cn7k1vx9nk3s73m0000gn/T/flutter_tools.ArVhqh/flutter_tools.ujzMDo --filesystem-scheme org-dartlang-app --initialize-from-dill build/c7922d95bf4a2462b75c84a97c312edb.cache.dill.track.dill
--platform file:///usr/local/flutter/bin/cache/flutter_web_sdk/kernel/flutter_ddc_sdk.dill --no-sound-null-safety
[ +17 ms] <- compile org-dartlang-app:/web_entrypoint.dart
[+2444 ms] [
{
REMOVED DEVICES OUTPUT FOR BREVIITY
]
[+11894 ms] Waiting for connection from debug service on Chrome... (completed in 14,4s)
[ ] Synced 29.2MB.
[ ] <- accept
[ ] Caching compiled dill
[ +73 ms] Using Google Chrome 88.0.4324.146
[ +537 ms] [CHROME]:
[ ] [CHROME]:DevTools listening on ws://127.0.0.1:50026/devtools/browser/22c72890-0df6-48ba-b3ff-4a0ff0950f43
[ +561 ms] DwdsInjector: Received request for entrypoint at http://localhost:49953/main_module.bootstrap.js
[ +5 ms] MetadataProvider: Loading debug metadata...
[ +8 ms] MetadataProvider: Loaded debug metadata (no sound null safety)
[ +7 ms] DwdsInjector: Injected debugging metadata for entrypoint at http://localhost:49953/main_module.bootstrap.js
[+1240 ms] ChromeProxyService: Initializing expression compiler for main_module.bootstrap.js with sound null safety: false
[ +301 ms] DevHandler: Debug service listening on ws://127.0.0.1:50052/Yl0j5_Mmt2g=/ws
[ +7 ms] Debug service listening on ws://127.0.0.1:50052/Yl0j5_Mmt2g=/ws
[ ] Running with unsound null safety
[ ] For more information see https://dart.dev/null-safety/unsound-null-safety
[ +1 ms] 🔥 To hot restart changes while running, press "r" or "R".
[ ] For a more detailed help message, press "h". To quit, press "q".
[+1352 ms] ══╡ EXCEPTION CAUGHT BY SCHEDULER LIBRARY ╞═════════════════════════════════════════════════════════
[ +3 ms] The following UnimplementedError was thrown during a scheduler callback:
[ ] UnimplementedError
[ ] When the exception was thrown, this was the stack:
[ ] dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 236:49 throw_
[ ] lib/_engine/engine/canvaskit/layer_scene_builder.dart 196:5 pushShaderMask
[ ] packages/flutter/src/rendering/layer.dart 1779:26 addToScene
[ ] packages/flutter/src/rendering/layer.dart 407:5 [_addToSceneWithRetainedRendering]
[ ] packages/flutter/src/rendering/layer.dart 994:14 addChildrenToScene
[ ] packages/flutter/src/rendering/layer.dart 1966:5 addToScene
[ ] packages/flutter/src/rendering/layer.dart 407:5 [_addToSceneWithRetainedRendering]
[ ] packages/flutter/src/rendering/layer.dart 994:14 addChildrenToScene
[ ] packages/flutter/src/rendering/layer.dart 1131:5 addToScene
[ ] packages/flutter/src/rendering/layer.dart 407:5 [_addToSceneWithRetainedRendering]
[ ] packages/flutter/src/rendering/layer.dart 994:14 addChildrenToScene
[ ] packages/flutter/src/rendering/layer.dart 1131:5 addToScene
[ ] packages/flutter/src/rendering/layer.dart 407:5 [_addToSceneWithRetainedRendering]
[ ] packages/flutter/src/rendering/layer.dart 994:14 addChildrenToScene
[ ] packages/flutter/src/rendering/layer.dart 1576:5 addToScene
[ ] packages/flutter/src/rendering/layer.dart 732:5 buildScene
[ +1 ms] packages/flutter/src/rendering/view.dart 217:30 compositeFrame
[ ] packages/flutter/src/rendering/binding.dart 457:18 drawFrame
[ ] packages/flutter/src/widgets/binding.dart 874:13 drawFrame
[ ] packages/flutter/src/rendering/binding.dart 319:5 [_handlePersistentFrameCallback]
[ ] packages/flutter/src/scheduler/binding.dart 1144:15 [_invokeFrameCallback]
[ ] packages/flutter/src/scheduler/binding.dart 1082:9 handleDrawFrame
[ ] packages/flutter/src/scheduler/binding.dart 865:7 <fn>
[ ] dart-sdk/lib/_internal/js_dev_runtime/private/isolate_helper.dart 48:19 internalCallback
[ ] ════════════════════════════════════════════════════════════════════════════════════════════════════
[ ] Another exception was thrown: UnimplementedError
[+5378 ms] Another exception was thrown: UnimplementedError
[ +5 ms] Another exception was thrown: UnimplementedError
[ +2 ms] Another exception was thrown: UnimplementedError
[ +16 ms] Another exception was thrown: UnimplementedError
[ +16 ms] Another exception was thrown: UnimplementedError
porcupine:slider_themedata_bug tom$ flutter analyze
Analyzing slider_themedata_bug...
No issues found! (ran in 1.6s)
porcupine:slider_themedata_bug tom$
porcupine:slider_themedata_bug tom$ flutter doctor -v
[✓] Flutter (Channel master, 1.26.0-18.0.pre.210, on macOS 11.2 20D64 darwin-x64, locale de-DE)
• Flutter version 1.26.0-18.0.pre.210 at /usr/local/flutter
• Framework revision a77388e670 (3 hours ago), 2021-02-04 22:51:04 -0800
• Engine revision b04955656c
• Dart version 2.13.0 (build 2.13.0-0.0.dev)
[!] Android toolchain - develop for Android devices (Android SDK version 29.0.0)
• Android SDK at /Users/tom/Library/Android/sdk
• Platform android-29, build-tools 29.0.0
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
✗ Android license status unknown.
Run `flutter doctor --android-licenses` to accept the SDK licenses.
See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.
[✓] Xcode - develop for iOS and macOS
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 12.4, Build version 12D4e
• CocoaPods version 1.10.1
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 3.4)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
[✓] VS Code (version 1.53.0)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.19.0
[✓] Connected device (2 available)
• macOS (desktop) • macos • darwin-x64 • macOS 11.2 20D64 darwin-x64
• Chrome (web) • chrome • web-javascript • Google Chrome 88.0.4324.146
! Doctor found issues in 1 category.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P1High-priority issues at the top of the work listHigh-priority issues at the top of the work liste: web_canvaskitCanvasKit (a.k.a. Skia-on-WebGL) rendering backend for WebCanvasKit (a.k.a. Skia-on-WebGL) rendering backend for Webe: web_htmlHTML rendering backend for WebHTML rendering backend for Webf: material designflutter/packages/flutter/material repository.flutter/packages/flutter/material repository.found in release: 1.26Found to occur in 1.26Found to occur in 1.26frameworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.has reproducible stepsThe issue has been confirmed reproducible and is ready to work onThe issue has been confirmed reproducible and is ready to work onplatform-webWeb applications specificallyWeb applications specificallywaiting for PR to land (fixed)A fix is in flightA fix is in flight