[web] Migrate Flutter Web to JS static interop - 2 (#32427)
diff --git a/lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart b/lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart
index cc1a117..96e01b5 100644
--- a/lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart
+++ b/lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart
@@ -170,6 +170,7 @@
@JS()
@anonymous
+@staticInterop
class CanvasKitInitOptions {
external factory CanvasKitInitOptions({
required LocateFileCallback locateFile,
@@ -179,7 +180,10 @@
typedef CanvasKitInitCallback = void Function(CanvasKit canvasKit);
@JS()
-class CanvasKitInitPromise {
+@staticInterop
+class CanvasKitInitPromise {}
+
+extension CanvasKitInitPromiseExtension on CanvasKitInitPromise {
external void then(CanvasKitInitCallback callback);
}
@@ -191,6 +195,7 @@
@JS()
@anonymous
+@staticInterop
class SkWebGLContextOptions {
external factory SkWebGLContextOptions({
required int antialias,
@@ -200,7 +205,10 @@
}
@JS('window.flutterCanvasKit.Surface')
-class SkSurface {
+@staticInterop
+class SkSurface {}
+
+extension SkSurfaceExtension on SkSurface {
external SkCanvas getCanvas();
external void flush();
external int width();
@@ -210,8 +218,10 @@
}
@JS()
-@anonymous
-class SkGrContext {
+@staticInterop
+class SkGrContext {}
+
+extension SkGrContextExtension on SkGrContext {
external void setResourceCacheLimitBytes(int limit);
external void releaseResourcesAndAbandonContext();
external void delete();