[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

mjs mjs at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:37:04 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 71dc040ce46a94bc28d1c6e1e0d098871233c6dc
Author: mjs <mjs at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Apr 15 05:31:49 2003 +0000

            Reviewed by Trey.
    
    	- fixed 3214900 - iBench JavaScript test times get progressively slower with each test run
    
    	The fix is to make sure to always cast NodeImpl * to DocumentImpl
    	*. Multiple inheritance means the pointer values need not be the
    	same.
    
            * khtml/ecma/kjs_binding.cpp:
            (ScriptInterpreter::getDOMObjectForDocument):
            (ScriptInterpreter::putDOMObjectForDocument):
            (ScriptInterpreter::deleteDOMObjectsForDocument):
            (ScriptInterpreter::forgetDOMObjectsForDocument):
            * khtml/ecma/kjs_binding.h:
            * khtml/ecma/kjs_dom.cpp:
            (KJS::getDOMNode):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@4104 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 993d436..1435248 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,22 @@
+2003-04-14  Maciej Stachowiak  <mjs at apple.com>
+
+        Reviewed by Trey.
+
+	- fixed 3214900 - iBench JavaScript test times get progressively slower with each test run
+
+	The fix is to make sure to always cast NodeImpl * to DocumentImpl
+	*. Multiple inheritance means the pointer values need not be the
+	same.
+	
+        * khtml/ecma/kjs_binding.cpp:
+        (ScriptInterpreter::getDOMObjectForDocument):
+        (ScriptInterpreter::putDOMObjectForDocument):
+        (ScriptInterpreter::deleteDOMObjectsForDocument):
+        (ScriptInterpreter::forgetDOMObjectsForDocument):
+        * khtml/ecma/kjs_binding.h:
+        * khtml/ecma/kjs_dom.cpp:
+        (KJS::getDOMNode):
+
 2003-04-11  David Hyatt  <hyatt at apple.com>
 
         Reviewed by darin
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 993d436..1435248 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,22 @@
+2003-04-14  Maciej Stachowiak  <mjs at apple.com>
+
+        Reviewed by Trey.
+
+	- fixed 3214900 - iBench JavaScript test times get progressively slower with each test run
+
+	The fix is to make sure to always cast NodeImpl * to DocumentImpl
+	*. Multiple inheritance means the pointer values need not be the
+	same.
+	
+        * khtml/ecma/kjs_binding.cpp:
+        (ScriptInterpreter::getDOMObjectForDocument):
+        (ScriptInterpreter::putDOMObjectForDocument):
+        (ScriptInterpreter::deleteDOMObjectsForDocument):
+        (ScriptInterpreter::forgetDOMObjectsForDocument):
+        * khtml/ecma/kjs_binding.h:
+        * khtml/ecma/kjs_dom.cpp:
+        (KJS::getDOMNode):
+
 2003-04-11  David Hyatt  <hyatt at apple.com>
 
         Reviewed by darin
diff --git a/WebCore/khtml/ecma/kjs_binding.cpp b/WebCore/khtml/ecma/kjs_binding.cpp
index c34bfa5..4764ffb 100644
--- a/WebCore/khtml/ecma/kjs_binding.cpp
+++ b/WebCore/khtml/ecma/kjs_binding.cpp
@@ -165,7 +165,7 @@ void ScriptInterpreter::forgetDOMObject( void* objectHandle )
   }
 }
 
-DOMObject* ScriptInterpreter::getDOMObjectForDocument( void* documentHandle, void *objectHandle ) const
+DOMObject* ScriptInterpreter::getDOMObjectForDocument( DOM::DocumentImpl* documentHandle, void *objectHandle ) const
 {
   QPtrDict<DOMObject> *documentDict = (QPtrDict<DOMObject> *)m_domObjectsPerDocument[documentHandle];
   if (documentDict) {
@@ -175,7 +175,7 @@ DOMObject* ScriptInterpreter::getDOMObjectForDocument( void* documentHandle, voi
   return NULL;
 }
 
-void ScriptInterpreter::putDOMObjectForDocument( void* documentHandle, void *objectHandle, DOMObject *obj )
+void ScriptInterpreter::putDOMObjectForDocument( DOM::DocumentImpl* documentHandle, void *objectHandle, DOMObject *obj )
 {
   QPtrDict<DOMObject> *documentDict = (QPtrDict<DOMObject> *)m_domObjectsPerDocument[documentHandle];
   if (!documentDict) {
@@ -186,7 +186,7 @@ void ScriptInterpreter::putDOMObjectForDocument( void* documentHandle, void *obj
   documentDict->insert( objectHandle, obj );
 }
 
-bool ScriptInterpreter::deleteDOMObjectsForDocument( void* documentHandle )
+bool ScriptInterpreter::deleteDOMObjectsForDocument( DOM::DocumentImpl* documentHandle )
 {
   return m_domObjectsPerDocument.remove( documentHandle );
 }
@@ -210,9 +210,9 @@ void ScriptInterpreter::mark()
   }
 }
 
-void ScriptInterpreter::forgetDOMObjectsForDocument( void* documentHandle )
+void ScriptInterpreter::forgetDOMObjectsForDocument( DOM::DocumentImpl* documentHandle )
 {
- InterpreterImp *first = InterpreterImp::firstInterpreter();
+  InterpreterImp *first = InterpreterImp::firstInterpreter();
   if (first) {
     InterpreterImp *scr = first;
     do {
diff --git a/WebCore/khtml/ecma/kjs_binding.h b/WebCore/khtml/ecma/kjs_binding.h
index ed27299..7e48dd7 100644
--- a/WebCore/khtml/ecma/kjs_binding.h
+++ b/WebCore/khtml/ecma/kjs_binding.h
@@ -24,6 +24,7 @@
 
 #include <kjs/interpreter.h>
 #include <dom/dom_node.h>
+#include <dom/dom_doc.h>
 #include <qvariant.h>
 #include <qptrdict.h>
 #include <kurl.h>
@@ -98,15 +99,15 @@ namespace KJS {
       return m_domObjects.remove( objectHandle );
     }
 
-    DOMObject* getDOMObjectForDocument( void* documentHandle, void *objectHandle ) const;
-    void putDOMObjectForDocument( void* documentHandle, void *objectHandle, DOMObject *obj );
-    bool deleteDOMObjectsForDocument( void* documentHandle );
+    DOMObject* getDOMObjectForDocument( DOM::DocumentImpl* documentHandle, void *objectHandle ) const;
+    void putDOMObjectForDocument( DOM::DocumentImpl* documentHandle, void *objectHandle, DOMObject *obj );
+    bool deleteDOMObjectsForDocument( DOM::DocumentImpl* documentHandle );
 
     /**
      * Static method. Makes all interpreters forget about the object
      */
     static void forgetDOMObject( void* objectHandle );
-    static void forgetDOMObjectsForDocument( void* documentHandle );
+    static void forgetDOMObjectsForDocument( DOM::DocumentImpl* documentHandle );
 
     KHTMLPart* part() const { return m_part; }
 
diff --git a/WebCore/khtml/ecma/kjs_dom.cpp b/WebCore/khtml/ecma/kjs_dom.cpp
index 1697385..a3764d0 100644
--- a/WebCore/khtml/ecma/kjs_dom.cpp
+++ b/WebCore/khtml/ecma/kjs_dom.cpp
@@ -1301,7 +1301,7 @@ Value KJS::getDOMNode(ExecState *exec, const DOM::Node &n)
   ScriptInterpreter* interp = static_cast<ScriptInterpreter *>(exec->interpreter());
   DOM::NodeImpl *doc = n.ownerDocument().handle();
 
-  if ((ret = interp->getDOMObjectForDocument(doc, n.handle())))
+  if ((ret = interp->getDOMObjectForDocument(static_cast<DOM::DocumentImpl *>(doc), n.handle())))
     return Value(ret);
 
   switch (n.nodeType()) {
@@ -1346,7 +1346,7 @@ Value KJS::getDOMNode(ExecState *exec, const DOM::Node &n)
       ret = new DOMNode(exec, n);
   }
 
-  interp->putDOMObjectForDocument(doc, n.handle(), ret);
+  interp->putDOMObjectForDocument(static_cast<DOM::DocumentImpl *>(doc), n.handle(), ret);
 
   return Value(ret);
 }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list