Skip to content

Commit

Permalink
[@container] Remove StyleEngine::UsesContainerQueries, etc
Browse files Browse the repository at this point in the history
Not used anymore. StyleAffectedByLayout and SkippedContainerRecalc are
used instead.

Bug: 1295717
Change-Id: Ib08578e30e56391541326b0b82cb7ef65f55cfe0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3557275
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Anders Hartvoll Ruud <andruud@chromium.org>
Cr-Commit-Position: refs/heads/main@{#987373}
  • Loading branch information
andruud authored and Chromium LUCI CQ committed Mar 31, 2022
1 parent 7a1ccb9 commit 876ea2c
Show file tree
Hide file tree
Showing 5 changed files with 1 addition and 53 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -924,10 +924,8 @@ scoped_refptr<ComputedStyle> StyleResolver::ResolveStyle(

GetDocument().AddViewportUnitFlags(state.StyleRef().ViewportUnitFlags());

if (state.Style()->HasContainerRelativeUnits()) {
if (state.Style()->HasContainerRelativeUnits())
state.Style()->SetDependsOnContainerQueries(true);
GetDocument().GetStyleEngine().SetUsesContainerRelativeUnits();
}

if (state.Style()->HasRemUnits())
GetDocument().GetStyleEngine().SetUsesRemUnit(true);
Expand Down
6 changes: 0 additions & 6 deletions third_party/blink/renderer/core/css/rule_feature_set.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1125,8 +1125,6 @@ RuleFeatureSet::SelectorPreMatch RuleFeatureSet::CollectFeaturesFromRuleData(
kSelectorNeverMatches) {
return kSelectorNeverMatches;
}
metadata.uses_container_queries |=
static_cast<bool>(rule_data->GetContainerQuery());

metadata_.Add(metadata);

Expand Down Expand Up @@ -1199,15 +1197,13 @@ RuleFeatureSet::SelectorPreMatch RuleFeatureSet::CollectFeaturesFromSelector(
void RuleFeatureSet::FeatureMetadata::Add(const FeatureMetadata& other) {
uses_first_line_rules |= other.uses_first_line_rules;
uses_window_inactive_selector |= other.uses_window_inactive_selector;
uses_container_queries |= other.uses_container_queries;
max_direct_adjacent_selectors = std::max(max_direct_adjacent_selectors,
other.max_direct_adjacent_selectors);
}

void RuleFeatureSet::FeatureMetadata::Clear() {
uses_first_line_rules = false;
uses_window_inactive_selector = false;
uses_container_queries = false;
needs_full_recalc_for_rule_set_invalidation = false;
max_direct_adjacent_selectors = 0;
invalidates_parts = false;
Expand All @@ -1217,7 +1213,6 @@ bool RuleFeatureSet::FeatureMetadata::operator==(
const FeatureMetadata& other) const {
return uses_first_line_rules == other.uses_first_line_rules &&
uses_window_inactive_selector == other.uses_window_inactive_selector &&
uses_container_queries == other.uses_container_queries &&
needs_full_recalc_for_rule_set_invalidation ==
other.needs_full_recalc_for_rule_set_invalidation &&
max_direct_adjacent_selectors == other.max_direct_adjacent_selectors &&
Expand Down Expand Up @@ -1729,7 +1724,6 @@ String RuleFeatureSet::ToString() const {
StringBuilder metadata;
metadata.Append(metadata_.uses_first_line_rules ? "F" : "");
metadata.Append(metadata_.uses_window_inactive_selector ? "W" : "");
metadata.Append(metadata_.uses_container_queries ? "C" : "");
metadata.Append(metadata_.needs_full_recalc_for_rule_set_invalidation ? "R"
: "");
metadata.Append(metadata_.invalidates_parts ? "P" : "");
Expand Down
2 changes: 0 additions & 2 deletions third_party/blink/renderer/core/css/rule_feature_set.h
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@ class CORE_EXPORT RuleFeatureSet {
bool UsesWindowInactiveSelector() const {
return metadata_.uses_window_inactive_selector;
}
bool UsesContainerQueries() const { return metadata_.uses_container_queries; }
bool NeedsFullRecalcForRuleSetInvalidation() const {
return metadata_.needs_full_recalc_for_rule_set_invalidation;
}
Expand Down Expand Up @@ -240,7 +239,6 @@ class CORE_EXPORT RuleFeatureSet {

bool uses_first_line_rules = false;
bool uses_window_inactive_selector = false;
bool uses_container_queries = false;
bool needs_full_recalc_for_rule_set_invalidation = false;
unsigned max_direct_adjacent_selectors = 0;
bool invalidates_parts = false;
Expand Down
9 changes: 0 additions & 9 deletions third_party/blink/renderer/core/css/style_engine.h
Original file line number Diff line number Diff line change
Expand Up @@ -262,14 +262,6 @@ class CORE_EXPORT StyleEngine final : public GarbageCollected<StyleEngine>,
bool UsesWindowInactiveSelector() const {
return GetRuleFeatureSet().UsesWindowInactiveSelector();
}
bool UsesContainerQueries() const {
return GetRuleFeatureSet().UsesContainerQueries() ||
uses_container_relative_units_ || skipped_container_recalc_;
}

void SetUsesContainerRelativeUnits() {
uses_container_relative_units_ = true;
}

// Set when we recalc the style of any element that depends on layout.
void SetStyleAffectedByLayout() { style_affected_by_layout_ = true; }
Expand Down Expand Up @@ -762,7 +754,6 @@ class CORE_EXPORT StyleEngine final : public GarbageCollected<StyleEngine>,
String preferred_stylesheet_set_name_;

bool uses_rem_units_{false};
bool uses_container_relative_units_{false};
// True if we have performed style recalc for at least one element that
// depends on container queries.
bool style_affected_by_layout_{false};
Expand Down
33 changes: 0 additions & 33 deletions third_party/blink/renderer/core/css/style_engine_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -4065,39 +4065,6 @@ TEST_F(StyleEngineContainerQueryTest, MarkStyleDirtyFromContainerRecalc) {
EXPECT_NE(old_inner_style, new_inner_style);
}

TEST_F(StyleEngineContainerQueryTest, UsesContainerQueries) {
GetDocument().documentElement()->setInnerHTML(R"HTML(
<style>
#a { z-index:2; }
</style>
<style id=late>
</style>
<div id=a></div>
)HTML");
UpdateAllLifecyclePhases();
auto* a = GetDocument().getElementById("a");
ASSERT_TRUE(a);
EXPECT_EQ(2, a->ComputedStyleRef().ZIndex());
EXPECT_FALSE(GetStyleEngine().UsesContainerQueries());

auto* late_style = GetDocument().getElementById("late");
ASSERT_TRUE(late_style);

late_style->setTextContent(R"CSS(
@container (min-width: 1px) {
#a { color: green; }
}
)CSS");
GetStyleEngine().UpdateActiveStyle();
// Note the @container query does not match anything (it's not inside a
// container), but UsesContainerQueries should still be true.
EXPECT_TRUE(GetStyleEngine().UsesContainerQueries());

late_style->setTextContent("");
GetStyleEngine().UpdateActiveStyle();
EXPECT_FALSE(GetStyleEngine().UsesContainerQueries());
}

TEST_F(StyleEngineContainerQueryTest,
UpdateStyleAndLayoutTreeWithoutLayoutDependency) {
GetDocument().documentElement()->setInnerHTML(R"HTML(
Expand Down

0 comments on commit 876ea2c

Please sign in to comment.