summaryrefslogtreecommitdiff
path: root/src/core/CSS.hpp
diff options
context:
space:
mode:
authorBenjamin Paassen <bpaassen@techfak.uni-bielefeld.de>2014-12-05 16:09:53 +0100
committerBenjamin Paassen <bpaassen@techfak.uni-bielefeld.de>2014-12-05 16:09:53 +0100
commit30711f43a6cad9889ee1af8539658c4ca1f59854 (patch)
treed37c88faf794ad2632fc787ec1724c9ec08bdbd1 /src/core/CSS.hpp
parent30765a8bbf30aafad89a632afc39966c5b4029b8 (diff)
Further work on implementing CSSRuleSets. This needs further testing, though.
Diffstat (limited to 'src/core/CSS.hpp')
-rw-r--r--src/core/CSS.hpp18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/core/CSS.hpp b/src/core/CSS.hpp
index 3b4289a..4cf15be 100644
--- a/src/core/CSS.hpp
+++ b/src/core/CSS.hpp
@@ -70,17 +70,24 @@ struct Specificity {
*/
class RuleSet : public Managed {
private:
- const std::map<std::string, variant::Variant> values;
+ std::map<std::string, variant::Variant> rules;
public:
/**
* Initializes an empty RuleSet.
*/
- RuleSet(Manager &mgr) : Managed(mgr), values() {}
+ RuleSet(Manager &mgr) : Managed(mgr), rules() {}
- const std::map<std::string, variant::Variant> &getValues() const
+ std::map<std::string, variant::Variant> &getRules() { return rules; }
+
+ const std::map<std::string, variant::Variant> &getRules() const
{
- return values;
+ return rules;
+ }
+
+ void merge(Rooted<RuleSet> other)
+ {
+ rules.insert(other->rules.begin(), other->rules.end());
}
};
@@ -244,7 +251,7 @@ private:
const PseudoSelector pseudoSelector;
ManagedVector<SelectorEdge> edges;
Owned<RuleSet> ruleSet;
- bool accepting;
+ bool accepting = false;
/**
* This is an internal method all getChildren variants refer to.
@@ -254,7 +261,6 @@ private:
const PseudoSelector *select);
public:
-
/**
* This initializes an empty SelectorNode with the given name and the
* given PseudoSelector.