, m_stylesheetDocTaken(false)
, m_compilationFailed(false)
, m_parentStyleSheet(parentRule ? parentRule->parentStyleSheet() : 0)
+ , m_ownerDocument(nullptr)
{
}
, m_stylesheetDocTaken(false)
, m_compilationFailed(false)
, m_parentStyleSheet(nullptr)
+ , m_ownerDocument(nullptr)
+{
+}
+
+XSLStyleSheet::XSLStyleSheet(Document* ownerDocument, Node* styleSheetRootNode, const String& originalURL, const KURL& finalURL, bool embedded)
+ : m_ownerNode(styleSheetRootNode)
+ , m_originalURL(originalURL)
+ , m_finalURL(finalURL)
+ , m_isDisabled(false)
+ , m_embedded(embedded)
+ , m_processed(true) // The root sheet starts off processed.
+ , m_stylesheetDoc(0)
+ , m_stylesheetDocTaken(false)
+ , m_compilationFailed(false)
+ , m_parentStyleSheet(nullptr)
+ , m_ownerDocument(ownerDocument)
{
}
Document* XSLStyleSheet::ownerDocument()
{
for (XSLStyleSheet* styleSheet = this; styleSheet; styleSheet = styleSheet->parentStyleSheet()) {
+ if (styleSheet->m_ownerDocument)
+ return styleSheet->m_ownerDocument.get();
Node* node = styleSheet->ownerNode();
if (node)
return &node->document();
visitor->trace(m_ownerNode);
visitor->trace(m_children);
visitor->trace(m_parentStyleSheet);
+ visitor->trace(m_ownerDocument);
StyleSheet::trace(visitor);
}