Closed Bug 1382077 Opened 8 years ago Closed 8 years ago

stylo: Restyle should not be triggered when viewport size changes while there is no media query rules

Categories

(Core :: CSS Parsing and Computation, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla56
Tracking Status
firefox56 --- fixed

People

(Reporter: xidorn, Assigned: xidorn)

References

Details

Attachments

(4 files)

layout/style/test/test_media_queries_dynamic.html checks that, the restyle generation is not updated when viewport size changes but there is no media query rules, which currently fails in Stylo. It is marked with bug 1357461 but that bug has been closed, thus file a new bug for that.
Yup, that's known[1]. I've been meant to fix it for a while already, so probably will take it in a bit, once I've gotten rid of all the other bugs. [1]: http://searchfox.org/mozilla-central/rev/a83a4b68974aecaaacdf25145420e0fe97b7aa22/layout/base/nsPresContext.cpp#2128
(All the other bugs I have assigned, I mean)
I guess I can try fixing this.
Assignee: nobody → xidorn+moz
Blocks: 1383992
Comment on attachment 8889675 [details] Bug 1382077 part 1 - Have StyleSet::MediumFeaturesChanged return nsRestyleHint rather than a bool. https://reviewboard.mozilla.org/r/160708/#review166096
Attachment #8889675 - Flags: review?(cam) → review+
Comment on attachment 8889676 [details] Bug 1382077 part 2 - Move mUsesViewportUnits into nsStyleSet. https://reviewboard.mozilla.org/r/160710/#review166090 ::: layout/style/nsRuleNode.cpp:477 (Diff revision 1) > - aPresContext->SetUsesViewportUnits(true); > + // This is possible to be called on a Servo-styled document, from media > + // query evaluation outside stylesheets. Nit: "It is possible for this to be called".
Attachment #8889676 - Flags: review?(cam) → review+
Comment on attachment 8889677 [details] Bug 1382077 part 3 - Record viewport unit usage and generate proper restyle hint. https://reviewboard.mozilla.org/r/160712/#review166094 I notice viewport_rule.rs can call this function, and cause the bool to be set, but we don't use ViewportRule in stylo. Maybe add a comment to ViewportConstraints::maybe_new near the au_viewport_size call to say if we ever start supporting ViewportRule in Gecko, we probably want to avoid that bool being set? ::: servo/ports/geckolib/glue.rs:878 (Diff revision 1) > // > // FIXME(emilio, bug 1369984): do the computation conditionally, to do it > // less often. > let mut data = PerDocumentStyleData::from_ffi(raw_data).borrow_mut(); > > + let was_viewport_units_used = data.stylist.device().used_viewport_size(); Nit: "were_viewport_units_used" (or just "viewport_units_used") ::: servo/ports/geckolib/glue.rs:880 (Diff revision 1) > // less often. > let mut data = PerDocumentStyleData::from_ffi(raw_data).borrow_mut(); > > + let was_viewport_units_used = data.stylist.device().used_viewport_size(); > data.stylist.device_mut().reset_computed_values(); > - data.stylist.media_features_change_changed_style( > + let rule_changed = data.stylist.media_features_change_changed_style( Nit: maybe "rules_changed"?
Attachment #8889677 - Flags: review?(cam) → review+
Attachment #8889678 - Flags: review?(cam) → review+
Pushed by xquan@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/23c6326dd926 part 1 - Have StyleSet::MediumFeaturesChanged return nsRestyleHint rather than a bool. r=heycam https://hg.mozilla.org/integration/autoland/rev/972821835d48 part 2 - Move mUsesViewportUnits into nsStyleSet. r=heycam https://hg.mozilla.org/integration/autoland/rev/d3f7744b4ec3 part 3 - Record viewport unit usage and generate proper restyle hint. r=heycam https://hg.mozilla.org/integration/autoland/rev/333e1d30100d part 4 - Update test expectations. r=heycam
Backout by cbook@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/d41432f808de Backed out changeset 333e1d30100d https://hg.mozilla.org/integration/autoland/rev/a95f9f156785 Backed out changeset d3f7744b4ec3 https://hg.mozilla.org/integration/autoland/rev/d173f12089ac Backed out changeset 972821835d48 https://hg.mozilla.org/integration/autoland/rev/a34cb0f468bc Backed out changeset 23c6326dd926 on request from xidorn
Pushed by xquan@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/5cf8525a1c18 part 1 - Have StyleSet::MediumFeaturesChanged return nsRestyleHint rather than a bool. r=heycam https://hg.mozilla.org/integration/autoland/rev/fe2124146276 part 2 - Move mUsesViewportUnits into nsStyleSet. r=heycam https://hg.mozilla.org/integration/autoland/rev/2d7df7d3a30f part 3 - Record viewport unit usage and generate proper restyle hint. r=heycam https://hg.mozilla.org/integration/autoland/rev/0203a69a9e6d part 4 - Update test expectations. r=heycam
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: