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

Add external factories for @staticInterop classes instead of synthetic constructor #37443

Merged
merged 1 commit into from
Nov 10, 2022
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
28 changes: 21 additions & 7 deletions lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1865,7 +1865,9 @@ class SkParagraphStyle {}
@JS()
@anonymous
@staticInterop
class SkParagraphStyleProperties {}
class SkParagraphStyleProperties {
external factory SkParagraphStyleProperties();
}

extension SkParagraphStylePropertiesExtension on SkParagraphStyleProperties {
external set textAlign(SkTextAlign? value);
Expand Down Expand Up @@ -1981,7 +1983,9 @@ SkPlaceholderAlignment toSkPlaceholderAlignment(
@JS()
@anonymous
@staticInterop
class SkTextStyleProperties {}
class SkTextStyleProperties {
external factory SkTextStyleProperties();
}

extension SkTextStylePropertiesExtension on SkTextStyleProperties {
external set backgroundColor(Float32List? value);
Expand All @@ -2008,7 +2012,9 @@ extension SkTextStylePropertiesExtension on SkTextStyleProperties {
@JS()
@anonymous
@staticInterop
class SkStrutStyleProperties {}
class SkStrutStyleProperties {
external factory SkStrutStyleProperties();
}

extension SkStrutStylePropertiesExtension on SkStrutStyleProperties {
external set fontFamilies(List<String>? value);
Expand All @@ -2024,7 +2030,9 @@ extension SkStrutStylePropertiesExtension on SkStrutStyleProperties {
@JS()
@anonymous
@staticInterop
class SkFontStyle {}
class SkFontStyle {
external factory SkFontStyle();
}

extension SkFontStyleExtension on SkFontStyle {
external set weight(SkFontWeight? value);
Expand All @@ -2034,7 +2042,9 @@ extension SkFontStyleExtension on SkFontStyle {
@JS()
@anonymous
@staticInterop
class SkTextShadow {}
class SkTextShadow {
external factory SkTextShadow();
}

extension SkTextShadowExtension on SkTextShadow {
external set color(Float32List? value);
Expand All @@ -2045,7 +2055,9 @@ extension SkTextShadowExtension on SkTextShadow {
@JS()
@anonymous
@staticInterop
class SkFontFeature {}
class SkFontFeature {
external factory SkFontFeature();
}

extension SkFontFeatureExtension on SkFontFeature {
external set name(String? value);
Expand All @@ -2055,7 +2067,9 @@ extension SkFontFeatureExtension on SkFontFeature {
@JS()
@anonymous
@staticInterop
class SkFontVariation {}
class SkFontVariation {
external factory SkFontVariation();
}

extension SkFontVariationExtension on SkFontVariation {
external set axis(String? value);
Expand Down
2 changes: 1 addition & 1 deletion lib/web_ui/lib/src/engine/text/font_collection.dart
Original file line number Diff line number Diff line change
Expand Up @@ -325,7 +325,7 @@ class _PolyfillFontManager extends FontManager {
final String fontFaceDeclaration = fontStyleMap.keys
.map((String name) => '$name: ${fontStyleMap[name]};')
.join(' ');
final DomHTMLStyleElement fontLoadStyle = DomHTMLStyleElement();
final DomHTMLStyleElement fontLoadStyle = createDomHTMLStyleElement();
fontLoadStyle.type = 'text/css';
fontLoadStyle.innerHtml = '@font-face { $fontFaceDeclaration }';
domDocument.head!.append(fontLoadStyle);
Expand Down