summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Hofmann <Johannes.Hofmann@gmx.de>2010-10-11 23:35:49 +0200
committerJohannes Hofmann <Johannes.Hofmann@gmx.de>2010-10-11 23:35:49 +0200
commit97cd61e9ca455834cc2095241bf0f3517208b83d (patch)
treeb04e463d0122c7eec27bbfbf2ddd6e7c2c0ae659
parentf1cd41cc277cb7e509b60aabdf5308ec20c37637 (diff)
allow to apply CssContext to an arbitrary node in the docTree
-rw-r--r--src/css.cc5
-rw-r--r--src/css.hh2
2 files changed, 3 insertions, 4 deletions
diff --git a/src/css.cc b/src/css.cc
index ea64a26c..384845f4 100644
--- a/src/css.cc
+++ b/src/css.cc
@@ -428,7 +428,7 @@ void CssStyleSheet::apply (CssPropertyList *props,
}
}
- ruleList[numLists] = elementTable[docTree->top ()->element];
+ ruleList[numLists] = elementTable[node->element];
if (ruleList[numLists])
numLists++;
@@ -512,9 +512,8 @@ CssContext::~CssContext () {
* This allows e.g. user styles to overwrite author styles.
*/
void CssContext::apply (CssPropertyList *props, Doctree *docTree,
+ DoctreeNode *node,
CssPropertyList *tagStyle, CssPropertyList *nonCssHints) {
- const DoctreeNode *node = docTree->top ();
-
if (sheet[CSS_PRIMARY_USER_AGENT])
sheet[CSS_PRIMARY_USER_AGENT]->apply (props, docTree, node);
diff --git a/src/css.hh b/src/css.hh
index 9922dd65..1ed8c39b 100644
--- a/src/css.hh
+++ b/src/css.hh
@@ -478,7 +478,7 @@ class CssContext {
void addRule (CssSelector *sel, CssPropertyList *props,
CssPrimaryOrder order);
void apply (CssPropertyList *props,
- Doctree *docTree,
+ Doctree *docTree, DoctreeNode *node,
CssPropertyList *tagStyle, CssPropertyList *nonCssHints);
};