Skip to content

Refactor ParagraphComponentDescriptor to support subclassing#55634

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

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

Conversation

@NickGerleman
Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown

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 7 times, most recently from f33e017 to c7b458d Compare February 25, 2026 21:43
NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Feb 25, 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 NickGerleman force-pushed the export-D93829402 branch 2 times, most recently from e41ffb1 to 3f3e9f5 Compare February 25, 2026 21:48
NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Feb 26, 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 26, 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 26, 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 26, 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 26, 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 26, 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 26, 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 26, 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 NickGerleman force-pushed the export-D93829402 branch 2 times, most recently from b033fcc to 0afbb7b Compare February 26, 2026 04:00
NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Feb 26, 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 26, 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
…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
@react-native-bot
Copy link
Copy Markdown
Collaborator

This pull request was successfully merged by @NickGerleman in f8daca0

When will my fix make it into a release? | How to file a pick request?

@react-native-bot react-native-bot added the Merged This PR has been merged. label Feb 26, 2026
@meta-codesync
Copy link
Copy Markdown

meta-codesync bot commented Feb 26, 2026

This pull request has been merged in f8daca0.

zoontek pushed a commit to zoontek/react-native that referenced this pull request Mar 9, 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

fbshipit-source-id: f10df765ef86c90da2590cc33ae95fa1021cba7e
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 Merged This PR has been merged. meta-exported p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants