Bug 1389871: stylo: only clear relevant origins when medium features change. r=heycam

MozReview-Commit-ID: 6ocZc1u1TbU

--HG--
extra : rebase_source : a1f0f17bcb06e075aaa39cce5ac5e31e30f1b33e
This commit is contained in:
Emilio Cobos Álvarez 2017-08-14 10:37:19 +02:00
parent 7f29cd75fa
commit 18c2f8e9a8
2 changed files with 4 additions and 6 deletions

View File

@ -63,7 +63,7 @@ SERVO_BINDING_FUNC(Servo_StyleSet_Clear, void,
RawServoStyleSetBorrowed set)
SERVO_BINDING_FUNC(Servo_StyleSet_RebuildCachedData, void,
RawServoStyleSetBorrowed set)
SERVO_BINDING_FUNC(Servo_StyleSet_MediumFeaturesChanged, bool,
SERVO_BINDING_FUNC(Servo_StyleSet_MediumFeaturesChanged, mozilla::OriginFlags,
RawServoStyleSetBorrowed set, bool* viewport_units_used)
SERVO_BINDING_FUNC(Servo_StyleSet_Drop, void, RawServoStyleSetOwned set)
SERVO_BINDING_FUNC(Servo_StyleSet_CompatModeChanged, void,

View File

@ -167,13 +167,11 @@ nsRestyleHint
ServoStyleSet::MediumFeaturesChanged(bool aViewportChanged)
{
bool viewportUnitsUsed = false;
const bool rulesChanged =
const OriginFlags rulesChanged =
Servo_StyleSet_MediumFeaturesChanged(mRawSet.get(), &viewportUnitsUsed);
if (rulesChanged) {
// XXXheycam Should be able to tell which origin to pass in here
// (bug 1389871).
MarkOriginsDirty(OriginFlags::All);
if (rulesChanged != OriginFlags(0)) {
MarkOriginsDirty(rulesChanged);
return eRestyle_Subtree;
}