Closed Bug 1837146 Opened 1 year ago Closed 4 months ago

Implement a platform font-list backend for iOS

Categories

(Core :: Layout: Text and Fonts, enhancement)

Unspecified
iOS
enhancement

Tracking

()

RESOLVED FIXED
125 Branch
Tracking Status
firefox125 --- fixed

People

(Reporter: jfkthame, Assigned: jfkthame)

References

(Blocks 2 open bugs)

Details

Attachments

(1 file, 3 obsolete files)

(I think this will basically be an updated/rewritten version of what bug 1170986 was investigating.)

Group: mozilla-employee-confidential

This should not change user-visible behavior, in principle (though it's possible there will be
minor changes due to using more Core Text APIs in place of Cocoa to enumerate available fonts,
and they may interpret font attributes slightly differently).

AFAICS current macOS tests continue to pass with this refactoring.

Assignee: nobody → jfkthame
Status: NEW → ASSIGNED

This builds and should come close to working, I hope, but is currently untested.

Depends on D180191

No functional change. The issue here is that we're going to move a lot of the contents of this file
to a new .cpp source file; but we have different line-length specifications for .mm vs .cpp files,
and so that results in clang-format making a lot of whitespace-only changes to adjust the lines.

To try and simplify review, this preparatory patch is created by running clang-format on the file
as if it were a .cpp source, so that the whitespace adjustments get done. Then the following patch,
which moves much of the content to CoreTextFontList.cpp, will already see the whitespace in the form
it expects.

No functional change; just applying clang-format to what remains in the Obj-C++ file here,
after factoring out the common Core Text part to a separate .cpp source file.

Depends on D180191

There are some r+ patches which didn't land and no activity in this bug for 2 weeks.
:jfkthame, could you have a look please?
If you still have some work to do, you can add an action "Plan Changes" in Phabricator.
For more information, please visit BugBot documentation.

Flags: needinfo?(jfkthame)
Flags: needinfo?(bwerth)
Flags: needinfo?(bwerth)

These patches have landed on Cedar for now.

Flags: needinfo?(jfkthame)
Attachment #9338051 - Attachment description: Bug 1837146 - patch 0 - Reformat gfxMacPlatformFontList.mm with clang-format as though it were a .cpp file. r=#gfx-reviewers → Bug 1837146 - patch 0 - Reformat gfxMacPlatformFontList.mm with clang-format as though it were a .cpp file.
Attachment #9337837 - Attachment description: Bug 1837146 - patch 1 - Refactor gfxMacPlatformFontList to separate out an abstract, Cocoa-independent CoreTextFontList class, and a small Cocoa-specific gfxMacPlatformFontList implementation. r=#gfx-reviewers → Bug 1837146 - patch 1 - Refactor gfxMacPlatformFontList to separate out an abstract, Cocoa-independent CoreTextFontList class, and a small Cocoa-specific gfxMacPlatformFontList implementation.
Attachment #9338052 - Attachment description: Bug 1837146 - patch 1.1 - Reformat the remains of gfxMacPlatformFontList.mm back to Obj-C++ style. r=#gfx-reviewers → Bug 1837146 - patch 1.1 - Reformat the remains of gfxMacPlatformFontList.mm back to Obj-C++ style.

Comment on attachment 9338051 [details]
Bug 1837146 - patch 0 - Reformat gfxMacPlatformFontList.mm with clang-format as though it were a .cpp file.

Revision D180324 was moved to bug 1170986. Setting attachment 9338051 [details] to obsolete.

Attachment #9338051 - Attachment is obsolete: true

Comment on attachment 9337837 [details]
Bug 1837146 - patch 1 - Refactor gfxMacPlatformFontList to separate out an abstract, Cocoa-independent CoreTextFontList class, and a small Cocoa-specific gfxMacPlatformFontList implementation.

Revision D180191 was moved to bug 1170986. Setting attachment 9337837 [details] to obsolete.

Attachment #9337837 - Attachment is obsolete: true

Comment on attachment 9338052 [details]
Bug 1837146 - patch 1.1 - Reformat the remains of gfxMacPlatformFontList.mm back to Obj-C++ style.

Revision D180325 was moved to bug 1170986. Setting attachment 9338052 [details] to obsolete.

Attachment #9338052 - Attachment is obsolete: true
Depends on: 1170986
Attachment #9337838 - Attachment description: Bug 1837146 - patch 2 - Create an IOSPlatformFontList concrete implementation of CoreTextFontList. r=#gfx-reviewers → Bug 1837146 - Create an IOSPlatformFontList concrete implementation of CoreTextFontList.
Blocks: 1882693

We're moving forward with landing stuff on m-c. I updated the patch to be in a landable state. Do you mind if I land it? (or you can land it too, that would work)

Flags: needinfo?(jfkthame)
Group: mozilla-employee-confidential

(In reply to Mike Hommey [:glandium] from comment #11)

We're moving forward with landing stuff on m-c. I updated the patch to be in a landable state. Do you mind if I land it? (or you can land it too, that would work)

Feel free to go ahead. Thanks for updating it as needed.

Flags: needinfo?(jfkthame)
Pushed by mh@glandium.org:
https://hg.mozilla.org/integration/autoland/rev/27383348695c
Create an IOSPlatformFontList concrete implementation of CoreTextFontList. r=gfx-reviewers,lsalzman
Status: ASSIGNED → RESOLVED
Closed: 4 months ago
Resolution: --- → FIXED
Target Milestone: --- → 125 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: