diff --git a/engine/core/css/RuleFeature.cpp b/engine/core/css/RuleFeature.cpp index 64a18ca083c..4e807a900df 100644 --- a/engine/core/css/RuleFeature.cpp +++ b/engine/core/css/RuleFeature.cpp @@ -67,10 +67,10 @@ void RuleFeatureSet::collectFeaturesFromRuleData(const RuleData& ruleData) void RuleFeatureSet::collectFeaturesFromSelector(const CSSSelector& selector) { - addSelectorFeatures(selector); - - for (const CSSSelector* current = &selector; current; current = current->tagHistory()) + for (const CSSSelector* current = &selector; current; current = current->tagHistory()) { + addSelectorFeatures(*current); collectFeaturesFromSelectorList(current->selectorList()); + } } void RuleFeatureSet::collectFeaturesFromSelectorList(const CSSSelectorList* selectorList) diff --git a/tests/lowlevel/bug-438036-expected.txt b/tests/lowlevel/bug-438036-expected.txt new file mode 100644 index 00000000000..9aa67ae5116 --- /dev/null +++ b/tests/lowlevel/bug-438036-expected.txt @@ -0,0 +1,6 @@ +Running 2 tests +ok 1 Div width should grow width to 200px +ok 2 Div width should grow height to 200px +2 tests +2 pass +0 fail diff --git a/tests/lowlevel/bug-438036.sky b/tests/lowlevel/bug-438036.sky new file mode 100644 index 00000000000..0ff4d278592 --- /dev/null +++ b/tests/lowlevel/bug-438036.sky @@ -0,0 +1,29 @@ + + + + +
+
+ +