Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit e6b171d

Browse files
Revert "Revert "Skwasm Font Loading" (#41750)"
This reverts commit 901503d.
1 parent 901503d commit e6b171d

File tree

117 files changed

+1401
-913
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

117 files changed

+1401
-913
lines changed

ci/licenses_golden/licenses_flutter

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1949,6 +1949,7 @@ ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/html_image_codec.dart + ../..
19491949
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/initialization.dart + ../../../flutter/LICENSE
19501950
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/js_interop/js_loader.dart + ../../../flutter/LICENSE
19511951
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/js_interop/js_promise.dart + ../../../flutter/LICENSE
1952+
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/js_interop/js_typed_data.dart + ../../../flutter/LICENSE
19521953
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/key_map.g.dart + ../../../flutter/LICENSE
19531954
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/keyboard_binding.dart + ../../../flutter/LICENSE
19541955
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/mouse_cursor.dart + ../../../flutter/LICENSE
@@ -2001,16 +2002,19 @@ ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/paragraph.
20012002
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/path.dart + ../../../flutter/LICENSE
20022003
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/path_metrics.dart + ../../../flutter/LICENSE
20032004
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/picture.dart + ../../../flutter/LICENSE
2004-
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/js_functions.dart + ../../../flutter/LICENSE
20052005
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_canvas.dart + ../../../flutter/LICENSE
2006+
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_fonts.dart + ../../../flutter/LICENSE
20062007
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_geometry.dart + ../../../flutter/LICENSE
20072008
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_memory.dart + ../../../flutter/LICENSE
20082009
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_paint.dart + ../../../flutter/LICENSE
20092010
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_path.dart + ../../../flutter/LICENSE
20102011
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_path_metrics.dart + ../../../flutter/LICENSE
20112012
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_picture.dart + ../../../flutter/LICENSE
20122013
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_shaders.dart + ../../../flutter/LICENSE
2014+
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_skdata.dart + ../../../flutter/LICENSE
2015+
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_skstring.dart + ../../../flutter/LICENSE
20132016
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_surface.dart + ../../../flutter/LICENSE
2017+
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/skwasm_module.dart + ../../../flutter/LICENSE
20142018
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/renderer.dart + ../../../flutter/LICENSE
20152019
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/scene_builder.dart + ../../../flutter/LICENSE
20162020
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/shaders.dart + ../../../flutter/LICENSE
@@ -2060,12 +2064,15 @@ ORIGIN: ../../../flutter/lib/web_ui/lib/ui_web/src/ui_web/url_strategy.dart + ..
20602064
ORIGIN: ../../../flutter/lib/web_ui/lib/window.dart + ../../../flutter/LICENSE
20612065
ORIGIN: ../../../flutter/lib/web_ui/skwasm/canvas.cpp + ../../../flutter/LICENSE
20622066
ORIGIN: ../../../flutter/lib/web_ui/skwasm/contour_measure.cpp + ../../../flutter/LICENSE
2067+
ORIGIN: ../../../flutter/lib/web_ui/skwasm/data.cpp + ../../../flutter/LICENSE
20632068
ORIGIN: ../../../flutter/lib/web_ui/skwasm/export.h + ../../../flutter/LICENSE
2069+
ORIGIN: ../../../flutter/lib/web_ui/skwasm/fonts.cpp + ../../../flutter/LICENSE
20642070
ORIGIN: ../../../flutter/lib/web_ui/skwasm/helpers.h + ../../../flutter/LICENSE
20652071
ORIGIN: ../../../flutter/lib/web_ui/skwasm/paint.cpp + ../../../flutter/LICENSE
20662072
ORIGIN: ../../../flutter/lib/web_ui/skwasm/path.cpp + ../../../flutter/LICENSE
20672073
ORIGIN: ../../../flutter/lib/web_ui/skwasm/picture.cpp + ../../../flutter/LICENSE
20682074
ORIGIN: ../../../flutter/lib/web_ui/skwasm/shaders.cpp + ../../../flutter/LICENSE
2075+
ORIGIN: ../../../flutter/lib/web_ui/skwasm/string.cpp + ../../../flutter/LICENSE
20692076
ORIGIN: ../../../flutter/lib/web_ui/skwasm/surface.cpp + ../../../flutter/LICENSE
20702077
ORIGIN: ../../../flutter/lib/web_ui/skwasm/wrappers.h + ../../../flutter/LICENSE
20712078
ORIGIN: ../../../flutter/runtime/dart_isolate.cc + ../../../flutter/LICENSE
@@ -4545,6 +4552,7 @@ FILE: ../../../flutter/lib/web_ui/lib/src/engine/html_image_codec.dart
45454552
FILE: ../../../flutter/lib/web_ui/lib/src/engine/initialization.dart
45464553
FILE: ../../../flutter/lib/web_ui/lib/src/engine/js_interop/js_loader.dart
45474554
FILE: ../../../flutter/lib/web_ui/lib/src/engine/js_interop/js_promise.dart
4555+
FILE: ../../../flutter/lib/web_ui/lib/src/engine/js_interop/js_typed_data.dart
45484556
FILE: ../../../flutter/lib/web_ui/lib/src/engine/key_map.g.dart
45494557
FILE: ../../../flutter/lib/web_ui/lib/src/engine/keyboard_binding.dart
45504558
FILE: ../../../flutter/lib/web_ui/lib/src/engine/mouse_cursor.dart
@@ -4597,16 +4605,19 @@ FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/paragraph.da
45974605
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/path.dart
45984606
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/path_metrics.dart
45994607
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/picture.dart
4600-
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/js_functions.dart
46014608
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_canvas.dart
4609+
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_fonts.dart
46024610
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_geometry.dart
46034611
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_memory.dart
46044612
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_paint.dart
46054613
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_path.dart
46064614
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_path_metrics.dart
46074615
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_picture.dart
46084616
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_shaders.dart
4617+
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_skdata.dart
4618+
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_skstring.dart
46094619
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_surface.dart
4620+
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/skwasm_module.dart
46104621
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/renderer.dart
46114622
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/scene_builder.dart
46124623
FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/shaders.dart
@@ -4656,12 +4667,15 @@ FILE: ../../../flutter/lib/web_ui/lib/ui_web/src/ui_web/url_strategy.dart
46564667
FILE: ../../../flutter/lib/web_ui/lib/window.dart
46574668
FILE: ../../../flutter/lib/web_ui/skwasm/canvas.cpp
46584669
FILE: ../../../flutter/lib/web_ui/skwasm/contour_measure.cpp
4670+
FILE: ../../../flutter/lib/web_ui/skwasm/data.cpp
46594671
FILE: ../../../flutter/lib/web_ui/skwasm/export.h
4672+
FILE: ../../../flutter/lib/web_ui/skwasm/fonts.cpp
46604673
FILE: ../../../flutter/lib/web_ui/skwasm/helpers.h
46614674
FILE: ../../../flutter/lib/web_ui/skwasm/paint.cpp
46624675
FILE: ../../../flutter/lib/web_ui/skwasm/path.cpp
46634676
FILE: ../../../flutter/lib/web_ui/skwasm/picture.cpp
46644677
FILE: ../../../flutter/lib/web_ui/skwasm/shaders.cpp
4678+
FILE: ../../../flutter/lib/web_ui/skwasm/string.cpp
46654679
FILE: ../../../flutter/lib/web_ui/skwasm/surface.cpp
46664680
FILE: ../../../flutter/lib/web_ui/skwasm/wrappers.h
46674681
FILE: ../../../flutter/runtime/dart_isolate.cc

lib/web_ui/lib/src/engine.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ export 'engine/html_image_codec.dart';
108108
export 'engine/initialization.dart';
109109
export 'engine/js_interop/js_loader.dart';
110110
export 'engine/js_interop/js_promise.dart';
111+
export 'engine/js_interop/js_typed_data.dart';
111112
export 'engine/key_map.g.dart';
112113
export 'engine/keyboard_binding.dart';
113114
export 'engine/mouse_cursor.dart';

lib/web_ui/lib/src/engine/assets.dart

Lines changed: 0 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,6 @@ import 'dart:typed_data';
88
import 'dom.dart';
99
import 'util.dart';
1010

11-
const String ahemFontFamily = 'Ahem';
12-
const String ahemFontUrl = '/assets/fonts/ahem.ttf';
13-
const String robotoFontFamily = 'Roboto';
14-
const String robotoTestFontUrl = '/assets/fonts/Roboto-Regular.ttf';
15-
16-
/// The list of test fonts, in the form of font family name - font file url pairs.
17-
/// This list does not include embedded test fonts, which need to be loaded and
18-
/// registered separately in [FontCollection.debugDownloadTestFonts].
19-
const Map<String, String> testFontUrls = <String, String>{
20-
ahemFontFamily: ahemFontUrl,
21-
robotoFontFamily: robotoTestFontUrl,
22-
'RobotoVariable': '/assets/fonts/RobotoSlab-VariableFont_wght.ttf',
23-
};
24-
2511
/// This class downloads assets over the network.
2612
///
2713
/// Assets are resolved relative to [assetsDir] inside the absolute base
@@ -110,79 +96,3 @@ class AssetManager {
11096
return (await response.payload.asByteBuffer()).asByteData();
11197
}
11298
}
113-
114-
/// An asset manager that gives fake empty responses for assets.
115-
class WebOnlyMockAssetManager extends AssetManager {
116-
/// Mock asset directory relative to base url.
117-
String defaultAssetsDir = '';
118-
119-
/// Mock empty asset manifest.
120-
String defaultAssetManifest = '{}';
121-
122-
/// Mock font manifest overridable for unit testing.
123-
String defaultFontManifest = '''
124-
[
125-
{
126-
"family":"$robotoFontFamily",
127-
"fonts":[{"asset":"$robotoTestFontUrl"}]
128-
},
129-
{
130-
"family":"$ahemFontFamily",
131-
"fonts":[{"asset":"$ahemFontUrl"}]
132-
}
133-
]''';
134-
135-
@override
136-
String get assetsDir => defaultAssetsDir;
137-
138-
@override
139-
String getAssetUrl(String asset) => asset;
140-
141-
@override
142-
Future<HttpFetchResponse> loadAsset(String asset) async {
143-
if (asset == getAssetUrl('AssetManifest.json')) {
144-
return MockHttpFetchResponse(
145-
url: asset,
146-
status: 200,
147-
payload: MockHttpFetchPayload(
148-
byteBuffer: _toByteData(utf8.encode(defaultAssetManifest)).buffer,
149-
),
150-
);
151-
}
152-
if (asset == getAssetUrl('FontManifest.json')) {
153-
return MockHttpFetchResponse(
154-
url: asset,
155-
status: 200,
156-
payload: MockHttpFetchPayload(
157-
byteBuffer: _toByteData(utf8.encode(defaultFontManifest)).buffer,
158-
),
159-
);
160-
}
161-
162-
return MockHttpFetchResponse(
163-
url: asset,
164-
status: 404,
165-
);
166-
}
167-
168-
@override
169-
Future<ByteData> load(String asset) {
170-
if (asset == getAssetUrl('AssetManifest.json')) {
171-
return Future<ByteData>.value(
172-
_toByteData(utf8.encode(defaultAssetManifest)));
173-
}
174-
if (asset == getAssetUrl('FontManifest.json')) {
175-
return Future<ByteData>.value(
176-
_toByteData(utf8.encode(defaultFontManifest)));
177-
}
178-
throw HttpFetchNoPayloadError(asset, status: 404);
179-
}
180-
181-
ByteData _toByteData(List<int> bytes) {
182-
final ByteData byteData = ByteData(bytes.length);
183-
for (int i = 0; i < bytes.length; i++) {
184-
byteData.setUint8(i, bytes[i]);
185-
}
186-
return byteData;
187-
}
188-
}

lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -456,7 +456,7 @@ class FallbackFontDownloadQueue {
456456
final Uint8List bytes = downloadedData[url]!;
457457
FontFallbackData.instance.registerFallbackFont(font.name, bytes);
458458
if (pendingFonts.isEmpty) {
459-
renderer.fontCollection.registerDownloadedFonts();
459+
(renderer.fontCollection as SkiaFontCollection).registerDownloadedFonts();
460460
sendFontChangeMessage();
461461
}
462462
}

0 commit comments

Comments
 (0)