Skip to content

Comments

Refactor ParagraphComponentDescriptor to support subclassing#55634

Open
NickGerleman wants to merge 1 commit intofacebook:mainfrom
NickGerleman:export-D93829402
Open

Refactor ParagraphComponentDescriptor to support subclassing#55634
NickGerleman wants to merge 1 commit intofacebook:mainfrom
NickGerleman:export-D93829402

Conversation

@NickGerleman
Copy link
Contributor

Summary:
Extract ParagraphComponentDescriptor logic into a template base class BaseParagraphComponentDescriptor so that other paragraph-like component descriptors can reuse the same TextLayoutManager wiring. Remove final from ParagraphShadowNode to allow subclassing. Move TextLayoutManagerKey from extern linkage in .cpp to constexpr in the new header.

This is a pure refactor with no behavioral change.

Changelog:
[Internal]

Differential Revision: D93829402

@meta-cla meta-cla bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Feb 20, 2026
Copy link
Contributor

@cortinico cortinico left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review automatically exported from Phabricator review in Meta.

NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Feb 20, 2026
…k#55634)

Summary:

Extract ParagraphComponentDescriptor logic into a template base class BaseParagraphComponentDescriptor<ShadowNodeT> so that other paragraph-like component descriptors can reuse the same TextLayoutManager wiring. Remove `final` from ParagraphShadowNode to allow subclassing. Move TextLayoutManagerKey from extern linkage in .cpp to constexpr in the new header.

This is a pure refactor with no behavioral change.

Changelog:
[Internal]

Reviewed By: cortinico

Differential Revision: D93829402
NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Feb 23, 2026
…k#55634)

Summary:

Extract ParagraphComponentDescriptor logic into a template base class BaseParagraphComponentDescriptor<ShadowNodeT> so that other paragraph-like component descriptors can reuse the same TextLayoutManager wiring. Remove `final` from ParagraphShadowNode to allow subclassing. Move TextLayoutManagerKey from extern linkage in .cpp to constexpr in the new header.

This is a pure refactor with no behavioral change.

Changelog:
[Internal]

Reviewed By: cortinico

Differential Revision: D93829402
NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Feb 23, 2026
…k#55634)

Summary:

Extract ParagraphComponentDescriptor logic into a template base class BaseParagraphComponentDescriptor<ShadowNodeT> so that other paragraph-like component descriptors can reuse the same TextLayoutManager wiring. Remove `final` from ParagraphShadowNode to allow subclassing. Move TextLayoutManagerKey from extern linkage in .cpp to constexpr in the new header.

This is a pure refactor with no behavioral change.

Changelog:
[Internal]

Reviewed By: cortinico

Differential Revision: D93829402
NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Feb 23, 2026
…k#55634)

Summary:

Extract ParagraphComponentDescriptor logic into a template base class BaseParagraphComponentDescriptor<ShadowNodeT> so that other paragraph-like component descriptors can reuse the same TextLayoutManager wiring. Remove `final` from ParagraphShadowNode to allow subclassing. Move TextLayoutManagerKey from extern linkage in .cpp to constexpr in the new header.

This is a pure refactor with no behavioral change.

Changelog:
[Internal]

Reviewed By: cortinico

Differential Revision: D93829402
NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Feb 23, 2026
…k#55634)

Summary:
Pull Request resolved: facebook#55634

Extract ParagraphComponentDescriptor logic into a template base class BaseParagraphComponentDescriptor<ShadowNodeT> so that other paragraph-like component descriptors can reuse the same TextLayoutManager wiring. Remove `final` from ParagraphShadowNode to allow subclassing. Move TextLayoutManagerKey from extern linkage in .cpp to constexpr in the new header.

This is a pure refactor with no behavioral change.

Changelog:
[Internal]

Reviewed By: cortinico

Differential Revision: D93829402
@meta-codesync
Copy link

meta-codesync bot commented Feb 23, 2026

@NickGerleman has exported this pull request. If you are a Meta employee, you can view the originating Diff in D93829402.

NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Feb 23, 2026
…k#55634)

Summary:
Pull Request resolved: facebook#55634

Extract ParagraphComponentDescriptor logic into a template base class BaseParagraphComponentDescriptor<ShadowNodeT> so that other paragraph-like component descriptors can reuse the same TextLayoutManager wiring. Remove `final` from ParagraphShadowNode to allow subclassing. Move TextLayoutManagerKey from extern linkage in .cpp to constexpr in the new header.

This is a pure refactor with no behavioral change.

Changelog:
[Internal]

Reviewed By: cortinico

Differential Revision: D93829402
@NickGerleman NickGerleman force-pushed the export-D93829402 branch 5 times, most recently from d841695 to 7c9c287 Compare February 23, 2026 11:06
…k#55634)

Summary:

Extract ParagraphComponentDescriptor logic into a template base class BaseParagraphComponentDescriptor<ShadowNodeT> so that other paragraph-like component descriptors can reuse the same TextLayoutManager wiring. Remove `final` from ParagraphShadowNode to allow subclassing. Move TextLayoutManagerKey from extern linkage in .cpp to constexpr in the new header.

This is a pure refactor with no behavioral change.

Changelog:
[Internal]

Reviewed By: cortinico

Differential Revision: D93829402
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported meta-exported p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants