[web] remove runtime effect check (#38832)

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 28bcd04..f9cb14e 100644
--- a/lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart
+++ b/lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart
@@ -136,16 +136,8 @@
     Object src,
     SkPartialImageInfo info,
   );
-
-  /// Retrieve the RuntimeEffect namespace for null checking.
-  external Object? get RuntimeEffect;
 }
 
-// TODO(jonahwilliams): remove this once all CanvasKit versions
-// are built in the SDK.
-// https://github.com/flutter/flutter/issues/114260
-final bool isRuntimeEffectAvailable = windowFlutterCanvasKit?.RuntimeEffect != null;
-
 @JS('window.CanvasKitInit')
 external Object _CanvasKitInit(CanvasKitInitOptions options);
 
diff --git a/lib/web_ui/lib/src/engine/canvaskit/renderer.dart b/lib/web_ui/lib/src/engine/canvaskit/renderer.dart
index 0dba09e..800a7f4 100644
--- a/lib/web_ui/lib/src/engine/canvaskit/renderer.dart
+++ b/lib/web_ui/lib/src/engine/canvaskit/renderer.dart
@@ -384,9 +384,6 @@
     if (_programs.containsKey(assetKey)) {
       return _programs[assetKey]!;
     }
-    if (!isRuntimeEffectAvailable) {
-      throw Exception('FragmentProgram is not supported.');
-    }
     return _programs[assetKey] = assetManager.load(assetKey).then((ByteData data) {
       return CkFragmentProgram.fromBytes(assetKey, data.buffer.asUint8List());
     });
diff --git a/lib/web_ui/test/canvaskit/canvaskit_api_test.dart b/lib/web_ui/test/canvaskit/canvaskit_api_test.dart
index 2eedcc1..3dbf24f 100644
--- a/lib/web_ui/test/canvaskit/canvaskit_api_test.dart
+++ b/lib/web_ui/test/canvaskit/canvaskit_api_test.dart
@@ -349,44 +349,41 @@
   });
 
   test('RuntimeEffect', () {
-    // TODO(hterkelsen): Remove this check when local CanvasKit is default.
-    if (isRuntimeEffectAvailable) {
-      const String kSkSlProgram = r'''
+    const String kSkSlProgram = r'''
 half4 main(vec2 fragCoord) {
   return vec4(1.0, 0.0, 0.0, 1.0);
 }
   ''';
 
-      final SkRuntimeEffect? effect = MakeRuntimeEffect(kSkSlProgram);
-      expect(effect, isNotNull);
+    final SkRuntimeEffect? effect = MakeRuntimeEffect(kSkSlProgram);
+    expect(effect, isNotNull);
 
-      const String kInvalidSkSlProgram = '';
+    const String kInvalidSkSlProgram = '';
 
-      // Invalid SkSL returns null.
-      final SkRuntimeEffect? invalidEffect = MakeRuntimeEffect(kInvalidSkSlProgram);
-      expect(invalidEffect, isNull);
+    // Invalid SkSL returns null.
+    final SkRuntimeEffect? invalidEffect = MakeRuntimeEffect(kInvalidSkSlProgram);
+    expect(invalidEffect, isNull);
 
-      final SkShader? shader = effect!.makeShader(<double>[]);
-      expect(shader, isNotNull);
+    final SkShader? shader = effect!.makeShader(<double>[]);
+    expect(shader, isNotNull);
 
-      // mismatched uniforms returns null.
-      final SkShader? invalidShader = effect.makeShader(<double>[1]);
+    // mismatched uniforms returns null.
+    final SkShader? invalidShader = effect.makeShader(<double>[1]);
 
-      expect(invalidShader, isNull);
+    expect(invalidShader, isNull);
 
-      const String kSkSlProgramWithUniforms = r'''
+    const String kSkSlProgramWithUniforms = r'''
 uniform vec4 u_color;
 
 half4 main(vec2 fragCoord) {
-  return u_color;
+return u_color;
 }
-  ''';
+''';
 
-      final SkShader? shaderWithUniform = MakeRuntimeEffect(kSkSlProgramWithUniforms)
-        !.makeShader(<double>[1.0, 0.0, 0.0, 1.0]);
+    final SkShader? shaderWithUniform = MakeRuntimeEffect(kSkSlProgramWithUniforms)
+      !.makeShader(<double>[1.0, 0.0, 0.0, 1.0]);
 
-      expect(shaderWithUniform, isNotNull);
-    }
+    expect(shaderWithUniform, isNotNull);
   });
 }
 
diff --git a/lib/web_ui/test/canvaskit/fragment_program_test.dart b/lib/web_ui/test/canvaskit/fragment_program_test.dart
index b1e402a..178188c 100644
--- a/lib/web_ui/test/canvaskit/fragment_program_test.dart
+++ b/lib/web_ui/test/canvaskit/fragment_program_test.dart
@@ -186,29 +186,26 @@
   });
 
   test('FragmentProgram can be created from JSON IPLR bundle', () async {
-    // TODO(hterkelsen): Remove this check when local CanvasKit is default.
-    if (isRuntimeEffectAvailable) {
-      final Uint8List data = utf8.encode(kJsonIPLR) as Uint8List;
-      final CkFragmentProgram program = await CkFragmentProgram.fromBytes('test', data);
+    final Uint8List data = utf8.encode(kJsonIPLR) as Uint8List;
+    final CkFragmentProgram program = await CkFragmentProgram.fromBytes('test', data);
 
-      expect(program.effect, isNotNull);
-      expect(program.floatCount, 32);
-      expect(program.textureCount, 0);
-      expect(program.uniforms, hasLength(17));
-      expect(program.name, 'test');
+    expect(program.effect, isNotNull);
+    expect(program.floatCount, 32);
+    expect(program.textureCount, 0);
+    expect(program.uniforms, hasLength(17));
+    expect(program.name, 'test');
 
-      final ui.FragmentShader shader = program.fragmentShader();
+    final ui.FragmentShader shader = program.fragmentShader();
 
-      shader.setFloat(0, 4);
-      shader.dispose();
+    shader.setFloat(0, 4);
+    shader.dispose();
 
-      expect(shader.debugDisposed, true);
+    expect(shader.debugDisposed, true);
 
-      final ui.FragmentShader shader2 = program.fragmentShader();
+    final ui.FragmentShader shader2 = program.fragmentShader();
 
-      shader.setFloat(0, 5);
-      shader2.dispose();
-      expect(shader2.debugDisposed, true);
-    }
+    shader.setFloat(0, 5);
+    shader2.dispose();
+    expect(shader2.debugDisposed, true);
   });
 }