[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