Skip to content

Commit

Permalink
[web] Remove --web-renderer=auto and default to canvaskit
Browse files Browse the repository at this point in the history
  • Loading branch information
mdebbar committed May 9, 2024
1 parent 6e722ae commit 65c64db
Show file tree
Hide file tree
Showing 7 changed files with 8 additions and 44 deletions.
8 changes: 0 additions & 8 deletions lib/web_ui/dev/steps/compile_bundle_step.dart
Original file line number Diff line number Diff line change
Expand Up @@ -215,10 +215,6 @@ class Dart2JSCompiler extends TestCompiler {
'--disable-inlining',
'--enable-asserts',

// We do not want to auto-select a renderer in tests. As of today, tests
// are designed to run in one specific mode. So instead, we specify the
// renderer explicitly.
'-DFLUTTER_WEB_AUTO_DETECT=false',
'-DFLUTTER_WEB_USE_SKIA=${renderer == Renderer.canvaskit}',
'-DFLUTTER_WEB_USE_SKWASM=${renderer == Renderer.skwasm}',

Expand Down Expand Up @@ -279,10 +275,6 @@ class Dart2WasmCompiler extends TestCompiler {
'--dart-sdk=${environment.dartSdkDir.path}',
'--enable-asserts',

// We do not want to auto-select a renderer in tests. As of today, tests
// are designed to run in one specific mode. So instead, we specify the
// renderer explicitly.
'-DFLUTTER_WEB_AUTO_DETECT=false',
'-DFLUTTER_WEB_USE_SKIA=${renderer == Renderer.canvaskit}',
'-DFLUTTER_WEB_USE_SKWASM=${renderer == Renderer.skwasm}',

Expand Down
7 changes: 0 additions & 7 deletions lib/web_ui/lib/src/engine/configuration.dart
Original file line number Diff line number Diff line change
Expand Up @@ -165,13 +165,6 @@ class FlutterConfiguration {
// runtime. They must be static constants for the compiler to remove dead code
// effectively.

/// Auto detect which rendering backend to use.
///
/// Using flutter tools option "--web-render=auto" or not specifying one
/// would set the value to true. Otherwise, it would be false.
static const bool flutterWebAutoDetect =
bool.fromEnvironment('FLUTTER_WEB_AUTO_DETECT', defaultValue: true);

static const bool flutterWebUseSkwasm =
bool.fromEnvironment('FLUTTER_WEB_USE_SKWASM');

Expand Down
19 changes: 4 additions & 15 deletions lib/web_ui/lib/src/engine/renderer.dart
Original file line number Diff line number Diff line change
Expand Up @@ -23,22 +23,11 @@ abstract class Renderer {
factory Renderer._internal() {
if (FlutterConfiguration.flutterWebUseSkwasm) {
return SkwasmRenderer();
} else {
bool useCanvasKit;
if (FlutterConfiguration.flutterWebAutoDetect) {
if (configuration.requestedRendererType != null) {
useCanvasKit = configuration.requestedRendererType == 'canvaskit';
} else {
// If requestedRendererType is not specified, use CanvasKit for desktop and
// html for mobile.
useCanvasKit = isDesktop;
}
} else {
useCanvasKit = FlutterConfiguration.useSkia;
}

return useCanvasKit ? CanvasKitRenderer() : HtmlRenderer();
}
if (FlutterConfiguration.useSkia) {
return CanvasKitRenderer();
}
return HtmlRenderer();
}

String get rendererTag;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ class GlobalHtmlAttributes {

void applyAttributes({
required int viewId,
required bool autoDetectRenderer,
required String rendererTag,
required String buildMode,
}) {
Expand All @@ -39,12 +38,7 @@ class GlobalHtmlAttributes {
// document.querySelector('flutter-view[flt-view-id="$viewId"]')
rootElement.setAttribute(flutterViewIdAttributeName, viewId);

// How was the current renderer selected?
final String rendererSelection = autoDetectRenderer
? 'auto-selected'
: 'requested explicitly';

hostElement.setAttribute('flt-renderer', '$rendererTag ($rendererSelection)');
hostElement.setAttribute('flt-renderer', rendererTag);
hostElement.setAttribute('flt-build-mode', buildMode);
// TODO(mdebbar): Disable spellcheck until changes in the framework and
// engine are complete.
Expand Down
2 changes: 0 additions & 2 deletions lib/web_ui/lib/src/engine/window.dart
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import 'package:ui/ui_web/src/ui_web.dart' as ui_web;

import '../engine.dart' show DimensionsProvider, registerHotRestartListener, renderer;
import 'browser_detection.dart';
import 'configuration.dart';
import 'display.dart';
import 'dom.dart';
import 'initialization.dart';
Expand Down Expand Up @@ -75,7 +74,6 @@ base class EngineFlutterView implements ui.FlutterView {
_resizeSubscription = onResize.listen(_didResize);
_globalHtmlAttributes.applyAttributes(
viewId: viewId,
autoDetectRenderer: FlutterConfiguration.flutterWebAutoDetect,
rendererTag: renderer.rendererTag,
buildMode: buildMode,
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,25 +22,23 @@ void doTests() {

globalHtmlAttributes.applyAttributes(
viewId: 123,
autoDetectRenderer: true,
rendererTag: 'canvaskit',
buildMode: 'release',
);

expect(rootElement.getAttribute('flt-view-id'), '123');
expect(hostElement.getAttribute('flt-renderer'), 'canvaskit (auto-selected)');
expect(hostElement.getAttribute('flt-renderer'), 'canvaskit');
expect(hostElement.getAttribute('flt-build-mode'), 'release');
expect(hostElement.getAttribute('spellcheck'), 'false');

globalHtmlAttributes.applyAttributes(
viewId: 456,
autoDetectRenderer: false,
rendererTag: 'html',
buildMode: 'debug',
);

expect(rootElement.getAttribute('flt-view-id'), '456');
expect(hostElement.getAttribute('flt-renderer'), 'html (requested explicitly)');
expect(hostElement.getAttribute('flt-renderer'), 'html');
expect(hostElement.getAttribute('flt-build-mode'), 'debug');
expect(hostElement.getAttribute('spellcheck'), 'false');
});
Expand Down
2 changes: 1 addition & 1 deletion lib/web_ui/test/engine/window_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -467,7 +467,7 @@ Future<void> testMain() async {
final DomElement host = createDomHTMLDivElement();
final EngineFlutterView view = EngineFlutterView(dispatcher, host);

expect(host.getAttribute('flt-renderer'), 'html (requested explicitly)');
expect(host.getAttribute('flt-renderer'), 'html');
expect(host.getAttribute('flt-build-mode'), 'debug');

view.dispose();
Expand Down

0 comments on commit 65c64db

Please sign in to comment.