Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions lib/web_ui/lib/initialization.dart
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ Future<void> webOnlyWarmupEngine({
// Should the app "autoStart"?
bool autoStart = true;
if (engine.flutter != null && engine.loader != null) {
autoStart = engine.didCreateEngineInitializer == null;
autoStart = engine.loader!.isAutostart;
}
if (autoStart) {
// The user does not want control of the app, bootstrap immediately.
Expand All @@ -91,7 +91,7 @@ Future<void> webOnlyWarmupEngine({
} else {
// Yield control of the bootstrap procedure to the user.
engine.domWindow.console.debug('Flutter Web Bootstrap: Programmatic.');
engine.didCreateEngineInitializer!(bootstrap.prepareEngineInitializer());
engine.loader!.didCreateEngineInitializer(bootstrap.prepareEngineInitializer());
}
}

Expand Down
15 changes: 11 additions & 4 deletions lib/web_ui/lib/src/engine/js_interop/js_loader.dart
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
library js_loader;

import 'package:js/js.dart';
import 'package:js/js_util.dart' as js_util;

import '../configuration.dart';
import 'js_promise.dart';
Expand All @@ -20,11 +21,17 @@ typedef DidCreateEngineInitializerFn = void Function(FlutterEngineInitializer);
@JS('_flutter')
external Object? get flutter;

@JS('_flutter.loader')
external Object? get loader;
@JS()
@staticInterop
class FlutterLoader {}

@JS('_flutter.loader.didCreateEngineInitializer')
external DidCreateEngineInitializerFn? get didCreateEngineInitializer;
extension FlutterLoaderExtension on FlutterLoader {
external void didCreateEngineInitializer(FlutterEngineInitializer initializer);
bool get isAutostart => !js_util.hasProperty(this, 'didCreateEngineInitializer');
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

autoStart? or rename the bool above to be autostart?

}

@JS('_flutter.loader')
external FlutterLoader? get loader;

// FlutterEngineInitializer

Expand Down