Commit 7d899e4f authored by Rune Lillesveen's avatar Rune Lillesveen Committed by Commit Bot

Re-evaluate media queries for initial style changes.

If the default font-size changed, and media queries have font relative
lengths, then media query evaluations may have changed.

Bug: 830119
Change-Id: I912adddcdbd05b729678cff14d16245a35bca3e1
Reviewed-on: https://chromium-review.googlesource.com/1000852
Commit-Queue: Rune Lillesveen <futhark@chromium.org>
Reviewed-by: default avatarMorten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550606}
parent 3e276a96
......@@ -1154,6 +1154,10 @@ void StyleEngine::InitialStyleChanged() {
if (viewport_resolver_)
viewport_resolver_->InitialStyleChanged();
// Media queries may rely on the initial font size relative lengths which may
// have changed.
MediaQueryAffectingValueChanged();
GetDocument().SetNeedsStyleRecalc(
kSubtreeStyleChange,
StyleChangeReasonForTracing::Create(StyleChangeReason::kSettings));
......
......@@ -1405,4 +1405,27 @@ TEST_F(StyleEngineTest, EmptyPseudo_ModifyTextData_HasSiblings) {
EXPECT_FALSE(t3->NeedsStyleInvalidation());
}
TEST_F(StyleEngineTest, MediaQueriesChangeDefaultFontSize) {
GetDocument().body()->SetInnerHTMLFromString(R"HTML(
<style>
body { color: red }
@media (max-width: 40em) {
body { color: green }
}
</style>
<body></body>
)HTML");
GetDocument().View()->UpdateAllLifecyclePhases();
EXPECT_EQ(MakeRGB(255, 0, 0),
GetDocument().body()->GetComputedStyle()->VisitedDependentColor(
GetCSSPropertyColor()));
GetDocument().GetSettings()->SetDefaultFontSize(40);
GetDocument().View()->UpdateAllLifecyclePhases();
EXPECT_EQ(MakeRGB(0, 128, 0),
GetDocument().body()->GetComputedStyle()->VisitedDependentColor(
GetCSSPropertyColor()));
}
} // namespace blink
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment