stylo: Study the performance impact of unconditionally passing the reconstruct frame hint where no frame is found in the post-traversal.

RESOLVED FIXED

Status

()

Core
CSS Parsing and Computation
P5
normal
RESOLVED FIXED
a year ago
2 months ago

People

(Reporter: emilio, Unassigned)

Tracking

(Blocks: 2 bugs)

unspecified
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox57 fixed)

Details

(Reporter)

Description

a year ago
We're probably doing this for now, given we are storing the change hint in the style context, which lives in the frame.
(Reporter)

Updated

a year ago
Blocks: 1289864
No longer blocks: 1289587
In stock Gecko, when we have new content inserted into the document, it should get frames constructed for it either immediately under the nsCSSFrameConstructor::ContentAppended notification, or that method will set flags on the node to lazily create frames once we call CreateNeededFrames() from within RestyleManager::ProcessPendingRestyles.

Can we do the same here?  I'm not sure why we need to generate nsChangeHint_ReconstructFrame here.


A related point is that since RestyleManager traverses the frame tree, it will not restyle down into content with no frames.  Well, it will try restyling the undisplayed children of a node with a frame, since we might need to restyle them from display:none to display:block for example, but otherwise won't go any further.
(Reporter)

Comment 2

a year ago
So I was not talking about ContentAppended, but changes from display: none to block, for example. Basically, if we arrive to an content without frame we do the equivalent of nsChangeHint_ReconstructFrame. (I'm about to upload a few patches to bug 1290335, doing the rebase and sanity-check build right now that does it).

But I was wondering when I filled the bug if we could do better than that (probably?).
(Reporter)

Updated

a year ago
See Also: → bug 1290335, bug 1290193
Priority: -- → P5
Blocks: 1243581
(Reporter)

Comment 3

3 months ago
This is not an issue anymore.
Status: NEW → RESOLVED
Last Resolved: 3 months ago
Resolution: --- → FIXED
status-firefox57: --- → fixed
You need to log in before you can comment on or make changes to this bug.