OLD | NEW |
1 /* | 1 /* |
2 * This file is part of the XSL implementation. | 2 * This file is part of the XSL implementation. |
3 * | 3 * |
4 * Copyright (C) 2004, 2007, 2008 Apple, Inc. All rights reserved. | 4 * Copyright (C) 2004, 2007, 2008 Apple, Inc. All rights reserved. |
5 * | 5 * |
6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
10 * | 10 * |
(...skipping 24 matching lines...) Expand all Loading... |
35 | 35 |
36 namespace blink { | 36 namespace blink { |
37 | 37 |
38 class LocalFrame; | 38 class LocalFrame; |
39 class Document; | 39 class Document; |
40 class DocumentFragment; | 40 class DocumentFragment; |
41 | 41 |
42 class XSLTProcessor : public RefCountedWillBeGarbageCollectedFinalized<XSLTProce
ssor>, public ScriptWrappable { | 42 class XSLTProcessor : public RefCountedWillBeGarbageCollectedFinalized<XSLTProce
ssor>, public ScriptWrappable { |
43 DEFINE_WRAPPERTYPEINFO(); | 43 DEFINE_WRAPPERTYPEINFO(); |
44 public: | 44 public: |
45 static PassRefPtrWillBeRawPtr<XSLTProcessor> create() | 45 static PassRefPtrWillBeRawPtr<XSLTProcessor> create(Document& document) |
46 { | 46 { |
47 ASSERT(RuntimeEnabledFeatures::xsltEnabled()); | 47 ASSERT(RuntimeEnabledFeatures::xsltEnabled()); |
48 return adoptRefWillBeNoop(new XSLTProcessor); | 48 return adoptRefWillBeNoop(new XSLTProcessor(document)); |
49 } | 49 } |
50 ~XSLTProcessor(); | 50 ~XSLTProcessor(); |
51 | 51 |
52 void setXSLStyleSheet(PassRefPtrWillBeRawPtr<XSLStyleSheet> styleSheet) { m_
stylesheet = styleSheet; } | 52 void setXSLStyleSheet(PassRefPtrWillBeRawPtr<XSLStyleSheet> styleSheet) { m_
stylesheet = styleSheet; } |
53 bool transformToString(Node* source, String& resultMIMEType, String& resultS
tring, String& resultEncoding); | 53 bool transformToString(Node* source, String& resultMIMEType, String& resultS
tring, String& resultEncoding); |
54 PassRefPtrWillBeRawPtr<Document> createDocumentFromSource(const String& sour
ce, const String& sourceEncoding, const String& sourceMIMEType, Node* sourceNode
, LocalFrame*); | 54 PassRefPtrWillBeRawPtr<Document> createDocumentFromSource(const String& sour
ce, const String& sourceEncoding, const String& sourceMIMEType, Node* sourceNode
, LocalFrame*); |
55 | 55 |
56 // DOM methods | 56 // DOM methods |
57 void importStylesheet(PassRefPtrWillBeRawPtr<Node> style) | 57 void importStylesheet(PassRefPtrWillBeRawPtr<Node> style) |
58 { | 58 { |
(...skipping 14 matching lines...) Expand all Loading... |
73 static void genericErrorFunc(void* userData, const char* msg, ...); | 73 static void genericErrorFunc(void* userData, const char* msg, ...); |
74 | 74 |
75 // Only for libXSLT callbacks | 75 // Only for libXSLT callbacks |
76 XSLStyleSheet* xslStylesheet() const { return m_stylesheet.get(); } | 76 XSLStyleSheet* xslStylesheet() const { return m_stylesheet.get(); } |
77 | 77 |
78 typedef HashMap<String, String> ParameterMap; | 78 typedef HashMap<String, String> ParameterMap; |
79 | 79 |
80 void trace(Visitor*); | 80 void trace(Visitor*); |
81 | 81 |
82 private: | 82 private: |
83 XSLTProcessor() | 83 XSLTProcessor(Document& document) |
| 84 : m_document(&document) |
84 { | 85 { |
85 ScriptWrappable::init(this); | 86 ScriptWrappable::init(this); |
86 } | 87 } |
87 | 88 |
88 RefPtrWillBeMember<XSLStyleSheet> m_stylesheet; | 89 RefPtrWillBeMember<XSLStyleSheet> m_stylesheet; |
89 RefPtrWillBeMember<Node> m_stylesheetRootNode; | 90 RefPtrWillBeMember<Node> m_stylesheetRootNode; |
| 91 RefPtrWillBeMember<Document> m_document; |
90 ParameterMap m_parameters; | 92 ParameterMap m_parameters; |
91 }; | 93 }; |
92 | 94 |
93 } // namespace blink | 95 } // namespace blink |
94 | 96 |
95 #endif // XSLTProcessor_h | 97 #endif // XSLTProcessor_h |
OLD | NEW |