webengine/osswebengine/DerivedSources/WebCore/XMLNames.cpp
changeset 5 10e98eab6f85
parent 0 dd21522fd290
child 10 a359256acfc6
equal deleted inserted replaced
1:7c90e6132015 5:10e98eab6f85
    46 // Attributes
    46 // Attributes
    47 DEFINE_GLOBAL(QualifiedName, baseAttr, nullAtom, "base", xmlNamespaceURI);
    47 DEFINE_GLOBAL(QualifiedName, baseAttr, nullAtom, "base", xmlNamespaceURI);
    48 DEFINE_GLOBAL(QualifiedName, langAttr, nullAtom, "lang", xmlNamespaceURI);
    48 DEFINE_GLOBAL(QualifiedName, langAttr, nullAtom, "lang", xmlNamespaceURI);
    49 DEFINE_GLOBAL(QualifiedName, spaceAttr, nullAtom, "space", xmlNamespaceURI);
    49 DEFINE_GLOBAL(QualifiedName, spaceAttr, nullAtom, "space", xmlNamespaceURI);
    50 
    50 
       
    51 static bool initialized = false; 
       
    52 // Attributes 
       
    53 static const char *xmlNSString = "http://www.w3.org/XML/1998/namespace"; 
       
    54 static const char *baseAttrString = "base"; 
       
    55 static const char *langAttrString = "lang"; 
       
    56 static const char *spaceAttrString = "space"; 
       
    57 
    51 
    58 
    52 WebCore::QualifiedName** getXMLAttrs(size_t* size)
    59 WebCore::QualifiedName** getXMLAttrs(size_t* size)
    53 {
    60 {
    54     static WebCore::QualifiedName* XMLAttr[] = {
    61     static WebCore::QualifiedName* XMLAttr[] = {
    55         (WebCore::QualifiedName*)&baseAttr,
    62         (WebCore::QualifiedName*)&baseAttr,
    60     return XMLAttr;
    67     return XMLAttr;
    61 }
    68 }
    62 
    69 
    63 void init()
    70 void init()
    64 {
    71 {
    65     static bool initialized = false;
       
    66     if (initialized)
    72     if (initialized)
    67         return;
    73         return;
    68     initialized = true;
    74     initialized = true;
    69     
    75     
    70     // Use placement new to initialize the globals.
    76     // Use placement new to initialize the globals.
    71     
    77     
    72     AtomicString::init();
    78     AtomicString::init();
    73     AtomicString xmlNS("http://www.w3.org/XML/1998/namespace");
    79     AtomicString xmlNS(xmlNSString);
    74 
    80 
    75     // Namespace
    81     // Namespace
    76     new ((void*)&xmlNamespaceURI) AtomicString(xmlNS);
    82     new ((void*)&xmlNamespaceURI) AtomicString(xmlNS);
    77 
       
    78     // Attributes
       
    79     const char *baseAttrString = "base";
       
    80     const char *langAttrString = "lang";
       
    81     const char *spaceAttrString = "space";
       
    82 
    83 
    83     new ((void*)&baseAttr) QualifiedName(nullAtom, baseAttrString, xmlNS);
    84     new ((void*)&baseAttr) QualifiedName(nullAtom, baseAttrString, xmlNS);
    84     new ((void*)&langAttr) QualifiedName(nullAtom, langAttrString, xmlNS);
    85     new ((void*)&langAttr) QualifiedName(nullAtom, langAttrString, xmlNS);
    85     new ((void*)&spaceAttr) QualifiedName(nullAtom, spaceAttrString, xmlNS);
    86     new ((void*)&spaceAttr) QualifiedName(nullAtom, spaceAttrString, xmlNS);
    86 }
    87 }
    87 
    88 
       
    89 void remove() 
       
    90 { 
       
    91     if( initialized ) {
       
    92         xmlNamespaceURI.~AtomicString();
       
    93         baseAttr.~QualifiedName();
       
    94         langAttr.~QualifiedName();
       
    95         spaceAttr.~QualifiedName();
       
    96     }
       
    97         xmlNSString = ""; 
       
    98         baseAttrString = ""; 
       
    99         langAttrString = ""; 
       
   100         spaceAttrString = ""; 
       
   101         initialized = false; 
       
   102 } 
       
   103 
    88 } }
   104 } }
    89 
   105