Remove nsImageBoxFrame.
Categories
(Core :: XUL, task)
Tracking
()
Tracking | Status | |
---|---|---|
firefox112 | --- | fixed |
People
(Reporter: emilio, Assigned: emilio)
References
Details
Attachments
(8 files)
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
Bug 1815229 - Factor out a few PresContext() calls in nsImageFrame::Init. r=dholbert,tnikkel,#layout
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review |
Assignee | ||
Comment 1•2 years ago
|
||
nsImageFrame has support for displaying style URIs / an owned image
request, so use it.
The main behavior difference is that we don't fire load
/ error
events for those images anymore, but I don't see any event listener for
those around, so I think they can go.
Assignee | ||
Comment 2•2 years ago
|
||
We are about to introduce a kind for <xul:image> elements, so this makes
the naming less confusing.
Assignee | ||
Comment 3•2 years ago
|
||
It's not for content: url() only anymore (we also use it for
list-style-image, and soon for XUL images too). The difference is that
the frame owns that request (vs. the image content).
Depends on D169981
Assignee | ||
Comment 4•2 years ago
|
||
We're about to add a new Kind, so this makes it a bit easier to follow
once that's done, IMO. Also prevents people from forgetting to update
that method in the future.
Depends on D169982
Assignee | ||
Comment 5•2 years ago
|
||
Depends on D169983
Assignee | ||
Comment 6•2 years ago
|
||
We're about to use it a bit more.
Depends on D169984
Assignee | ||
Comment 7•2 years ago
|
||
Depends on D169985
Updated•2 years ago
|
Assignee | ||
Updated•2 years ago
|
Comment 9•2 years ago
|
||
bugherder |
Comment 10•2 years ago
|
||
Assignee | ||
Comment 11•2 years ago
|
||
UL doesn't have visibility tracking nor discarding of images, and they
were always eagerly decoded. Switching to the <img> model causes
browser_startup_flicker.js to fail due to flickering on the FF view
button, which is a lazily-async-decoded chrome:// PNG image.
Given the other benefits that async-decoding has, and the other benefits
that we get from the switch to nsImageFrame, this seems worth
annotating.
We could do some of these alternatives instead:
-
Always sync-decode <xul:image> (what my initial version of D168958
did). The easiest to implement, maybe more behavior-preserving
option. -
Always sync-decode chrome:// or resource:// images. Maybe worth it?
Though some of them could be rather big. -
Add an heuristic to sync-decode small-ish images (maybe only for
<xul:image>). I think if we needed to work around this, this would be
slightly preferable, but it's a bit unclear what the heuristic should
be and whether it's worth it. -
Add a chrome-only CSS property to opt-in to image sync-decoding of
content/etc images. I'd rather not, seems too complicated for the
rather small benefit that we'd get.
Given that, I tend to think I'd rather land the patch as is and address
this later if it becomes a problem for other images or if it's a visible
regression in practice. But happy to do something else instead.
Comment 12•2 years ago
|
||
Comment 13•2 years ago
|
||
bugherder |
Comment 14•2 years ago
|
||
Assignee | ||
Updated•2 years ago
|
Comment 15•2 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/7c7ff0a3cc4e
https://hg.mozilla.org/mozilla-central/rev/07438d7c2372
Description
•