webengine/osswebengine/JavaScriptCore/bindings/npruntime.cpp
changeset 13 10e98eab6f85
parent 0 dd21522fd290
equal deleted inserted replaced
8:7c90e6132015 13:10e98eab6f85
    39 
    39 
    40 using namespace KJS::Bindings;
    40 using namespace KJS::Bindings;
    41 
    41 
    42 typedef HashMap<RefPtr<KJS::UString::Rep>, PrivateIdentifier*> StringIdentifierMap;
    42 typedef HashMap<RefPtr<KJS::UString::Rep>, PrivateIdentifier*> StringIdentifierMap;
    43 
    43 
       
    44 static StringIdentifierMap* stringIdentifierMap = 0;
       
    45     
    44 static StringIdentifierMap* getStringIdentifierMap()
    46 static StringIdentifierMap* getStringIdentifierMap()
    45 {
    47 {
    46     static StringIdentifierMap* stringIdentifierMap = 0;
       
    47     if (!stringIdentifierMap)
    48     if (!stringIdentifierMap)
    48         stringIdentifierMap = new StringIdentifierMap;
    49         stringIdentifierMap = new StringIdentifierMap;
    49     return stringIdentifierMap;
    50     return stringIdentifierMap;
    50 }
    51 }
       
    52 
       
    53 struct cleanupStringIdentifier {
       
    54     ~cleanupStringIdentifier() {
       
    55         if( stringIdentifierMap ) {
       
    56             stringIdentifierMap->clear();
       
    57             delete stringIdentifierMap;
       
    58             stringIdentifierMap = 0;
       
    59         }
       
    60     }
       
    61 };
       
    62 struct cleanupStringIdentifier cleanup;
    51 
    63 
    52 typedef HashMap<int, PrivateIdentifier*> IntIdentifierMap;
    64 typedef HashMap<int, PrivateIdentifier*> IntIdentifierMap;
    53 
    65 
    54 static IntIdentifierMap* getIntIdentifierMap()
    66 static IntIdentifierMap* getIntIdentifierMap()
    55 {
    67 {