[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();