24 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
24 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
27 */ |
27 */ |
28 |
28 |
29 |
|
30 #include "config.h" |
29 #include "config.h" |
31 #ifdef AVOID_STATIC_CONSTRUCTORS |
30 #ifdef AVOID_STATIC_CONSTRUCTORS |
32 #define DOM_XMLNAMES_HIDE_GLOBALS 1 |
31 #define DOM_XMLNAMES_HIDE_GLOBALS 1 |
33 #else |
32 #else |
34 #define QNAME_DEFAULT_CONSTRUCTOR 1 |
33 #define QNAME_DEFAULT_CONSTRUCTOR 1 |
46 // Attributes |
45 // Attributes |
47 DEFINE_GLOBAL(QualifiedName, baseAttr, nullAtom, "base", xmlNamespaceURI); |
46 DEFINE_GLOBAL(QualifiedName, baseAttr, nullAtom, "base", xmlNamespaceURI); |
48 DEFINE_GLOBAL(QualifiedName, langAttr, nullAtom, "lang", xmlNamespaceURI); |
47 DEFINE_GLOBAL(QualifiedName, langAttr, nullAtom, "lang", xmlNamespaceURI); |
49 DEFINE_GLOBAL(QualifiedName, spaceAttr, nullAtom, "space", xmlNamespaceURI); |
48 DEFINE_GLOBAL(QualifiedName, spaceAttr, nullAtom, "space", xmlNamespaceURI); |
50 |
49 |
51 static bool initialized = false; |
50 static bool initialized = false; |
52 // Attributes |
51 // Attributes |
53 static const char *xmlNSString = "http://www.w3.org/XML/1998/namespace"; |
52 static const char *xmlNSString = "http://www.w3.org/XML/1998/namespace"; |
54 static const char *baseAttrString = "base"; |
53 static const char *baseAttrString = "base"; |
55 static const char *langAttrString = "lang"; |
54 static const char *langAttrString = "lang"; |
56 static const char *spaceAttrString = "space"; |
55 static const char *spaceAttrString = "space"; |
57 |
|
58 |
56 |
59 WebCore::QualifiedName** getXMLAttrs(size_t* size) |
57 WebCore::QualifiedName** getXMLAttrs(size_t* size) |
60 { |
58 { |
61 static WebCore::QualifiedName* XMLAttr[] = { |
59 static WebCore::QualifiedName* XMLAttr[] = { |
62 (WebCore::QualifiedName*)&baseAttr, |
60 (WebCore::QualifiedName*)&baseAttr, |
84 new ((void*)&baseAttr) QualifiedName(nullAtom, baseAttrString, xmlNS); |
82 new ((void*)&baseAttr) QualifiedName(nullAtom, baseAttrString, xmlNS); |
85 new ((void*)&langAttr) QualifiedName(nullAtom, langAttrString, xmlNS); |
83 new ((void*)&langAttr) QualifiedName(nullAtom, langAttrString, xmlNS); |
86 new ((void*)&spaceAttr) QualifiedName(nullAtom, spaceAttrString, xmlNS); |
84 new ((void*)&spaceAttr) QualifiedName(nullAtom, spaceAttrString, xmlNS); |
87 } |
85 } |
88 |
86 |
89 void remove() |
87 void remove() |
90 { |
88 { |
|
89 #ifndef __WINSCW__ |
91 if( initialized ) { |
90 if( initialized ) { |
92 xmlNamespaceURI.~AtomicString(); |
91 ((AtomicString*)&xmlNamespaceURI)->~AtomicString(); |
93 baseAttr.~QualifiedName(); |
92 ((QualifiedName*)&baseAttr)->~QualifiedName(); |
94 langAttr.~QualifiedName(); |
93 ((QualifiedName*)&langAttr)->~QualifiedName(); |
95 spaceAttr.~QualifiedName(); |
94 ((QualifiedName*)&spaceAttr)->~QualifiedName(); |
96 } |
95 } |
97 xmlNSString = ""; |
96 #endif // __WINSCW__ |
98 baseAttrString = ""; |
97 |
99 langAttrString = ""; |
98 xmlNSString = ""; |
100 spaceAttrString = ""; |
99 baseAttrString = ""; |
101 initialized = false; |
100 langAttrString = ""; |
102 } |
101 spaceAttrString = ""; |
|
102 initialized = false; |
|
103 } |
103 |
104 |
104 } } |
105 } } |
105 |
106 |