Windows: Evaluate only parsing fonts in the parent process

NEW
Unassigned

Status

()

enhancement
P3
normal
10 months ago
a month ago

People

(Reporter: erahm, Unassigned)

Tracking

(Blocks 1 bug, {memory-footprint})

58 Branch
All
Windows
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [MemShrink:P2] [overhead:135k] [gfx-noted])

+++ This bug was initially created as a clone of Bug #1469980 +++

Similar to bug 1439412, it would help content process overhead to only parse fonts in the parent process on Windows. 'explicit/gfx/font-list' reports ~135k per process with about:blank loaded.
(Reporter)

Updated

10 months ago
Whiteboard: [MemShrink] → [MemShrink] [overhead:135k]
Whiteboard: [MemShrink] [overhead:135k] → [MemShrink] [overhead:135k] [gfx-noted]
(Reporter)

Updated

10 months ago
Whiteboard: [MemShrink] [overhead:135k] [gfx-noted] → [MemShrink:P2] [overhead:135k] [gfx-noted]
Maire - we really need some action on this item in Q4 as well as bug 1439412 and bug 1469980 as soon as possible after that.
Flags: needinfo?(mreavy)
(In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #1)
> Maire - we really need some action on this item in Q4 as well as bug 1439412
> and bug 1469980 as soon as possible after that.

Is this for Fission?

Lee -- do you know how much work this would be?
Flags: needinfo?(mreavy) → needinfo?(lsalzman)
(In reply to Maire Reavy [:mreavy] Plz needinfo from comment #2)
> (In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #1)
> > Maire - we really need some action on this item in Q4 as well as bug 1439412
> > and bug 1469980 as soon as possible after that.
> 
> Is this for Fission?
> 
> Lee -- do you know how much work this would be?

This is for Fission. It's an extremely substantial engineering effort. Jonathan Kew is doing preparatory work for this, so he would be the one to ask.
Flags: needinfo?(lsalzman)
(In reply to Lee Salzman [:lsalzman] from comment #3)
> (In reply to Maire Reavy [:mreavy] Plz needinfo from comment #2)
> > (In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #1)
> > > Maire - we really need some action on this item in Q4 as well as bug 1439412
> > > and bug 1469980 as soon as possible after that.
> > 
> > Is this for Fission?
> > 
> > Lee -- do you know how much work this would be?
> 
> This is for Fission. It's an extremely substantial engineering effort.
> Jonathan Kew is doing preparatory work for this, so he would be the one to
> ask.

Thanks, Lee. 

Hi Jonathan -- Is this bug in the right component?  Do you know (roughly) how much work this is?  A month?  A quarter?  A year?  (Please don't say a year ;-) )

And do you need to do the work yourself or can others help?  Thanks!
Flags: needinfo?(jkew)
This is one of those things that's on the boundary between Graphics:Text and Layout:Text&Fonts -- it relates to font selection (layout) and interfacing with platform font APIs (graphics).

I've got a prototype patch that I'm working on, though it's got a long way to go yet. (It basically worked as expected, with some , but cross-process locking needs to be rethought to avoid the risk of a content-process crash locking up the entire browser because it was holding a lock at the time -- ouch.)

The current hope is to have something landable for the Firefox 65 cycle (though no guarantees!)
Flags: needinfo?(jkew)

Does font parsing have to be in the parent process specifically to be shared? With downloadable fonts we don't know what random malicious junk we're going to encounter and we've had security vulnerabilities there in the past, and more that were only prevented because of OTS.

Flags: needinfo?(jfkthame)

Downloadable fonts and system-installed fonts are two quite distinct issues here. The work currently in progress will move much of the management of system fonts to the parent process, but does not affect downloadable fonts at all. Those are still handled entirely within the relevant content process.

(Note that the explicit/gfx/font-list memory mentioned in comment 0 is related to managing the list of system-installed fonts; it's not about downloadable fonts at all.)

We may eventually want to try and share downloadable font resources as well, so that (for example) if several sites are using the exact same resources from a service such as Google Fonts, they can be shared, but we haven't made any firm plans in that direction at this point. It's not immediately clear how much benefit there would be (how often are the same resources used by multiple sites that the user has loaded at the same time?)

Flags: needinfo?(jfkthame)
You need to log in before you can comment on or make changes to this bug.