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 all commits
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
2 changes: 1 addition & 1 deletion analysis_options.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
# - "sort_constructors_first" disabled (because we have private fake
# constructors),
# - "prefer_final_fields" disabled (because we do weird things with
# private fields, especially on the Window object):
# private fields, especially on the PlatformDispatcher object):

analyzer:
enable-experiment:
Expand Down
10 changes: 5 additions & 5 deletions common/settings.h
Original file line number Diff line number Diff line change
Expand Up @@ -221,11 +221,11 @@ struct Settings {
FrameRasterizedCallback frame_rasterized_callback;

// This data will be available to the isolate immediately on launch via the
// Window.getPersistentIsolateData callback. This is meant for information
// that the isolate cannot request asynchronously (platform messages can be
// used for that purpose). This data is held for the lifetime of the shell and
// is available on isolate restarts in the shell instance. Due to this,
// the buffer must be as small as possible.
// PlatformDispatcher.getPersistentIsolateData callback. This is meant for
// information that the isolate cannot request asynchronously (platform
// messages can be used for that purpose). This data is held for the lifetime
// of the shell and is available on isolate restarts in the shell instance.
// Due to this, the buffer must be as small as possible.
std::shared_ptr<const fml::Mapping> persistent_isolate_data;

/// Max size of old gen heap size in MB, or 0 for unlimited, -1 for default
Expand Down
216 changes: 1 addition & 215 deletions lib/ui/window.dart
Original file line number Diff line number Diff line change
Expand Up @@ -795,220 +795,6 @@ class AccessibilityFeatures {
int get hashCode => _index.hashCode;
}

/// A soon-to-be deprecated class that is wholly replaced by
/// [SingletonFlutterWindow].
///
/// This class will be removed once the framework no longer refers to it.
// In order for the documentation build to succeed, this interface duplicates
// all of the methods with documentation, overrides them, and calls the super
// implementation. Once this merges into the framework and the framework
// references to it can be updated, this class will be removed entirely.
class Window extends SingletonFlutterWindow {
Window._(Object windowId, PlatformDispatcher platformDispatcher)
: super._(windowId, platformDispatcher);

@override
// ignore: unnecessary_overrides
double get devicePixelRatio => super.devicePixelRatio;

@override
// ignore: unnecessary_overrides
Rect get physicalGeometry => super.physicalGeometry;

@override
// ignore: unnecessary_overrides
Size get physicalSize => super.physicalSize;

@override
// ignore: unnecessary_overrides
WindowPadding get viewInsets => super.viewInsets;

@override
// ignore: unnecessary_overrides
WindowPadding get viewPadding => super.viewPadding;

@override
// ignore: unnecessary_overrides
WindowPadding get systemGestureInsets => super.systemGestureInsets;

@override
// ignore: unnecessary_overrides
WindowPadding get padding => super.padding;

@override
// ignore: unnecessary_overrides
void render(Scene scene) => super.render(scene);

@override
// ignore: unnecessary_overrides
VoidCallback? get onMetricsChanged => super.onMetricsChanged;
@override
// ignore: unnecessary_overrides
set onMetricsChanged(VoidCallback? callback) {
super.onMetricsChanged = callback;
}

@override
// ignore: unnecessary_overrides
Locale get locale => super.locale;

@override
// ignore: unnecessary_overrides
List<Locale> get locales => super.locales;

@override
// ignore: unnecessary_overrides
Locale? computePlatformResolvedLocale(List<Locale> supportedLocales) {
return super.computePlatformResolvedLocale(supportedLocales);
}

@override
// ignore: unnecessary_overrides
VoidCallback? get onLocaleChanged => super.onLocaleChanged;
@override
// ignore: unnecessary_overrides
set onLocaleChanged(VoidCallback? callback) {
super.onLocaleChanged = callback;
}

@override
// ignore: unnecessary_overrides
String get initialLifecycleState => super.initialLifecycleState;

@override
// ignore: unnecessary_overrides
double get textScaleFactor => super.textScaleFactor;

@override
// ignore: unnecessary_overrides
bool get alwaysUse24HourFormat => super.alwaysUse24HourFormat;

@override
// ignore: unnecessary_overrides
VoidCallback? get onTextScaleFactorChanged => super.onTextScaleFactorChanged;
@override
// ignore: unnecessary_overrides
set onTextScaleFactorChanged(VoidCallback? callback) {
super.onTextScaleFactorChanged = callback;
}

@override
// ignore: unnecessary_overrides
Brightness get platformBrightness => super.platformBrightness;

@override
// ignore: unnecessary_overrides
VoidCallback? get onPlatformBrightnessChanged => super.onPlatformBrightnessChanged;
@override
// ignore: unnecessary_overrides
set onPlatformBrightnessChanged(VoidCallback? callback) {
super.onPlatformBrightnessChanged = callback;
}

@override
// ignore: unnecessary_overrides
FrameCallback? get onBeginFrame => super.onBeginFrame;
@override
// ignore: unnecessary_overrides
set onBeginFrame(FrameCallback? callback) {
super.onBeginFrame = callback;
}

@override
// ignore: unnecessary_overrides
VoidCallback? get onDrawFrame => super.onDrawFrame;
@override
// ignore: unnecessary_overrides
set onDrawFrame(VoidCallback? callback) {
super.onDrawFrame = callback;
}

@override
// ignore: unnecessary_overrides
TimingsCallback? get onReportTimings => super.onReportTimings;
@override
// ignore: unnecessary_overrides
set onReportTimings(TimingsCallback? callback) {
super.onReportTimings = callback;
}

@override
// ignore: unnecessary_overrides
PointerDataPacketCallback? get onPointerDataPacket => super.onPointerDataPacket;
@override
// ignore: unnecessary_overrides
set onPointerDataPacket(PointerDataPacketCallback? callback) {
super.onPointerDataPacket = callback;
}

@override
// ignore: unnecessary_overrides
String get defaultRouteName => super.defaultRouteName;

@override
// ignore: unnecessary_overrides
void scheduleFrame() => super.scheduleFrame();

@override
// ignore: unnecessary_overrides
bool get semanticsEnabled => super.semanticsEnabled;

@override
// ignore: unnecessary_overrides
VoidCallback? get onSemanticsEnabledChanged => super.onSemanticsEnabledChanged;
@override
// ignore: unnecessary_overrides
set onSemanticsEnabledChanged(VoidCallback? callback) {
super.onSemanticsEnabledChanged = callback;
}

@override
// ignore: unnecessary_overrides
SemanticsActionCallback? get onSemanticsAction => super.onSemanticsAction;
@override
// ignore: unnecessary_overrides
set onSemanticsAction(SemanticsActionCallback? callback) {
super.onSemanticsAction = callback;
}

@override
// ignore: unnecessary_overrides
AccessibilityFeatures get accessibilityFeatures => super.accessibilityFeatures;

@override
// ignore: unnecessary_overrides
VoidCallback? get onAccessibilityFeaturesChanged =>
super.onAccessibilityFeaturesChanged;
@override
// ignore: unnecessary_overrides
set onAccessibilityFeaturesChanged(VoidCallback? callback) {
super.onAccessibilityFeaturesChanged = callback;
}

@override
// ignore: unnecessary_overrides
void updateSemantics(SemanticsUpdate update) => super.updateSemantics(update);

@override
// ignore: unnecessary_overrides
void sendPlatformMessage(String name, ByteData? data, PlatformMessageResponseCallback? callback) {
super.sendPlatformMessage(name, data, callback);
}

@override
// ignore: unnecessary_overrides
PlatformMessageCallback? get onPlatformMessage => super.onPlatformMessage;
@override
// ignore: unnecessary_overrides
set onPlatformMessage(PlatformMessageCallback? callback) {
super.onPlatformMessage = callback;
}

@override
// ignore: unnecessary_overrides
void setIsolateDebugName(String name) => super.setIsolateDebugName(name);
}

/// Describes the contrast of a theme or color palette.
enum Brightness {
/// The color is dark and will require a light text color to achieve readable
Expand Down Expand Up @@ -1053,4 +839,4 @@ enum Brightness {
/// * [PlatformDispatcher.views], contains the current list of Flutter windows
/// belonging to the application, including top level application windows like
/// this one.
final Window window = Window._(0, PlatformDispatcher.instance);
final SingletonFlutterWindow window = SingletonFlutterWindow._(0, PlatformDispatcher.instance);
4 changes: 2 additions & 2 deletions lib/web_ui/lib/src/engine/dom_renderer.dart
Original file line number Diff line number Diff line change
Expand Up @@ -478,8 +478,8 @@ flt-glass-pane * {
///
/// When there is a text editing going on in mobile devices, do not change
/// the physicalSize, change the [window.viewInsets]. See:
/// https://api.flutter.dev/flutter/dart-ui/Window/viewInsets.html
/// https://api.flutter.dev/flutter/dart-ui/Window/physicalSize.html
/// https://api.flutter.dev/flutter/dart-ui/FlutterView/viewInsets.html
/// https://api.flutter.dev/flutter/dart-ui/FlutterView/physicalSize.html
///
/// Note: always check for rotations for a mobile device. Update the physical
/// size if the change is caused by a rotation.
Expand Down
15 changes: 7 additions & 8 deletions lib/web_ui/lib/src/engine/html/scene_builder.dart
Original file line number Diff line number Diff line change
Expand Up @@ -307,13 +307,12 @@ class SurfaceSceneBuilder implements ui.SceneBuilder {
/// - 0x08: visualizeEngineStatistics - graph UI thread frame times
/// Set enabledOptions to 0x0F to enable all the currently defined features.
///
/// The "UI thread" is the thread that includes all the execution of
/// the main Dart isolate (the isolate that can call
/// [Window.render]). The UI thread frame time is the total time
/// spent executing the [Window.onBeginFrame] callback. The "raster
/// thread" is the thread (running on the CPU) that subsequently
/// processes the [Scene] provided by the Dart code to turn it into
/// GPU commands and send it to the GPU.
/// The "UI thread" is the thread that includes all the execution of the main
/// Dart isolate (the isolate that can call [FlutterView.render]). The UI
/// thread frame time is the total time spent executing the
/// [FlutterView.onBeginFrame] callback. The "raster thread" is the thread
/// (running on the CPU) that subsequently processes the [Scene] provided by
/// the Dart code to turn it into GPU commands and send it to the GPU.
///
/// See also the [PerformanceOverlayOption] enum in the rendering library.
/// for more details.
Expand Down Expand Up @@ -522,7 +521,7 @@ class SurfaceSceneBuilder implements ui.SceneBuilder {
///
/// Returns a [Scene] containing the objects that have been added to
/// this scene builder. The [Scene] can then be displayed on the
/// screen with [Window.render].
/// screen with [FlutterView.render].
///
/// After calling this function, the scene builder object is invalid and
/// cannot be used further.
Expand Down
2 changes: 1 addition & 1 deletion lib/web_ui/lib/src/engine/platform_dispatcher.dart
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ class EnginePlatformDispatcher extends ui.PlatformDispatcher {
/// rasterized frames.
///
/// It's preferred to use [SchedulerBinding.addTimingsCallback] than to use
/// [Window.onReportTimings] directly because
/// [PlatformDispatcher.onReportTimings] directly because
/// [SchedulerBinding.addTimingsCallback] allows multiple callbacks.
///
/// This can be used to see if the application has missed frames (through
Expand Down
8 changes: 4 additions & 4 deletions lib/web_ui/lib/src/engine/semantics/semantics.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1265,11 +1265,11 @@ class EngineSemanticsOwner {

final SemanticsHelper semanticsHelper = SemanticsHelper();

/// Whether the user has requested that [updateSemantics] be called when
/// the semantic contents of window changes.
/// Whether the user has requested that [updateSemantics] be called when the
/// semantic contents of window changes.
///
/// The [ui.Window.onSemanticsEnabledChanged] callback is called whenever this
/// value changes.
/// The [ui.PlatformDispatcher.onSemanticsEnabledChanged] callback is called
/// whenever this value changes.
///
/// This is separate from accessibility [mode], which controls how gestures
/// are interpreted when this value is true.
Expand Down
8 changes: 3 additions & 5 deletions lib/web_ui/lib/src/engine/window.dart
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,8 @@ set customUrlStrategy(UrlStrategy? strategy) {
_customUrlStrategy = strategy;
}

/// The Web implementation of [ui.Window].
// TODO(gspencergoog): Once the framework no longer uses ui.Window, make this extend
// ui.SingletonFlutterWindow instead.
class EngineFlutterWindow extends ui.Window {
/// The Web implementation of [ui.SingletonFlutterWindow].
class EngineFlutterWindow extends ui.SingletonFlutterWindow {
EngineFlutterWindow(this._windowId, this.platformDispatcher) {
final EnginePlatformDispatcher engineDispatcher = platformDispatcher as EnginePlatformDispatcher;
engineDispatcher._windows[_windowId] = this;
Expand Down Expand Up @@ -245,7 +243,7 @@ UrlStrategy? _createDefaultUrlStrategy() {
: const HashUrlStrategy();
}

/// The Web implementation of [ui.Window].
/// The Web implementation of [ui.SingletonFlutterWindow].
class EngineSingletonFlutterWindow extends EngineFlutterWindow {
EngineSingletonFlutterWindow(Object windowId, ui.PlatformDispatcher platformDispatcher) : super(windowId, platformDispatcher);

Expand Down
Loading