OSDN Git Service

Don't deep copy animations, prepare animations on both trees
[android-x86/external-webkit.git] / Source / JavaScriptGlue / JSRun.cpp
index 78151c1..3b9d245 100644 (file)
 #include <JavaScriptCore/Completion.h>
 #include <JavaScriptCore/SourceCode.h>
 
-JSGlueGlobalObject::JSGlueGlobalObject(PassRefPtr<Structure> structure, JSFlags flags)
-    : JSGlobalObject(structure, new Data, this)
+JSGlueGlobalObject::JSGlueGlobalObject(JSGlobalData& globalData, Structure* structure, JSFlags flags)
+    : JSGlobalObject(globalData, structure)
+    , m_flags(flags)
+    , m_userObjectStructure(globalData, UserObjectImp::createStructure(globalData, jsNull()))
 {
-    d()->flags = flags;
-    d()->userObjectStructure = UserObjectImp::createStructure(jsNull());
-}
-
-void JSGlueGlobalObject::destroyData(void* data)
-{
-    delete static_cast<Data*>(data);
 }
 
 JSRun::JSRun(CFStringRef source, JSFlags inFlags)
     :   JSBase(kJSRunTypeID),
         fSource(CFStringToUString(source)),
-        fGlobalObject(getThreadGlobalExecState()->globalData(), new (&getThreadGlobalExecState()->globalData()) JSGlueGlobalObject(JSGlueGlobalObject::createStructure(jsNull()), inFlags)),
+        fGlobalObject(getThreadGlobalExecState()->globalData(), new (&getThreadGlobalExecState()->globalData()) JSGlueGlobalObject(getThreadGlobalExecState()->globalData(), JSGlueGlobalObject::createStructure(getThreadGlobalExecState()->globalData(), jsNull()), inFlags)),
         fFlags(inFlags)
 {
 }