[webkit-changes] cvs commit: WebCore/kwq DOM.mm
Maciej
mjs at opensource.apple.com
Sat Oct 15 20:36:08 PDT 2005
mjs 05/10/15 20:36:08
Modified: . ChangeLog
khtml/ecma kjs_dom.cpp kjs_dom.h kjs_events.cpp
khtml/html html_objectimpl.cpp htmlparser.cpp
khtml/xml dom_nodeimpl.h
kwq DOM.mm
Log:
Backed out the following changes, since they are in a range that
provably caused a performance regression:
<rdar://problem/4302874> Denver Regression: crash repeatedly reloading www.supermanhomepage.com
<rdar://problem/4302879> Re-land SVG object element fix
<rdar://problem/4302880> Re-land isSameNode change
<rdar://problem/4065748> Repro crash at http://www.vanaqua.org using menu system (KHTMLParser::setCurrent(DOM::NodeImpl*))
* khtml/ecma/kjs_dom.cpp:
(KJS::DOMNodeProtoFunc::callAsFunction):
* khtml/ecma/kjs_dom.h:
(KJS::DOMNode::):
* khtml/ecma/kjs_events.cpp:
(KJS::JSAbstractEventListener::handleEvent):
* khtml/html/html_objectimpl.cpp:
(DOM::HTMLObjectElementImpl::isImageType):
* khtml/html/htmlparser.cpp:
(HTMLStackElem::HTMLStackElem):
(HTMLParser::popNestedHeaderTag):
(HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
(HTMLParser::popOneBlock):
* khtml/xml/dom_nodeimpl.h:
* kwq/DOM.mm:
Revision Changes Path
1.244 +26 -0 WebCore/ChangeLog
Index: ChangeLog
===================================================================
RCS file: /cvs/root/WebCore/ChangeLog,v
retrieving revision 1.243
retrieving revision 1.244
diff -u -r1.243 -r1.244
--- ChangeLog 14 Oct 2005 20:57:51 -0000 1.243
+++ ChangeLog 16 Oct 2005 03:36:01 -0000 1.244
@@ -1,3 +1,29 @@
+2005-10-15 Maciej Stachowiak <mjs at apple.com>
+
+ Backed out the following changes, since they are in a range that
+ provably caused a performance regression:
+
+ <rdar://problem/4302874> Denver Regression: crash repeatedly reloading www.supermanhomepage.com
+ <rdar://problem/4302879> Re-land SVG object element fix
+ <rdar://problem/4302880> Re-land isSameNode change
+ <rdar://problem/4065748> Repro crash at http://www.vanaqua.org using menu system (KHTMLParser::setCurrent(DOM::NodeImpl*))
+
+ * khtml/ecma/kjs_dom.cpp:
+ (KJS::DOMNodeProtoFunc::callAsFunction):
+ * khtml/ecma/kjs_dom.h:
+ (KJS::DOMNode::):
+ * khtml/ecma/kjs_events.cpp:
+ (KJS::JSAbstractEventListener::handleEvent):
+ * khtml/html/html_objectimpl.cpp:
+ (DOM::HTMLObjectElementImpl::isImageType):
+ * khtml/html/htmlparser.cpp:
+ (HTMLStackElem::HTMLStackElem):
+ (HTMLParser::popNestedHeaderTag):
+ (HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
+ (HTMLParser::popOneBlock):
+ * khtml/xml/dom_nodeimpl.h:
+ * kwq/DOM.mm:
+
2005-10-14 Geoffrey Garen <ggaren at apple.com>
Style change suggested by Darin.
1.102 +2 -6 WebCore/khtml/ecma/kjs_dom.cpp
Index: kjs_dom.cpp
===================================================================
RCS file: /cvs/root/WebCore/khtml/ecma/kjs_dom.cpp,v
retrieving revision 1.101
retrieving revision 1.102
diff -u -r1.101 -r1.102
--- kjs_dom.cpp 5 Oct 2005 07:26:45 -0000 1.101
+++ kjs_dom.cpp 16 Oct 2005 03:36:04 -0000 1.102
@@ -88,7 +88,7 @@
// -------------------------------------------------------------------------
/* Source for DOMNodeProtoTable. Use "make hashtables" to regenerate.
- at begin DOMNodeProtoTable 14
+ at begin DOMNodeProtoTable 13
insertBefore DOMNode::InsertBefore DontDelete|Function 2
replaceChild DOMNode::ReplaceChild DontDelete|Function 2
removeChild DOMNode::RemoveChild DontDelete|Function 1
@@ -99,8 +99,6 @@
# DOM2
normalize DOMNode::Normalize DontDelete|Function 0
isSupported DOMNode::IsSupported DontDelete|Function 2
-# DOM3
- isSameNode DOMNode::IsSameNode DontDelete|Function 1
# from the EventTarget interface
addEventListener DOMNode::AddEventListener DontDelete|Function 3
removeEventListener DOMNode::RemoveEventListener DontDelete|Function 3
@@ -192,7 +190,7 @@
}
/* Source for DOMNodeTable. Use "make hashtables" to regenerate.
- at begin DOMNodeTable 68
+ at begin DOMNodeTable 67
nodeName DOMNode::NodeName DontDelete|ReadOnly
nodeValue DOMNode::NodeValue DontDelete
nodeType DOMNode::NodeType DontDelete|ReadOnly
@@ -651,8 +649,6 @@
case DOMNode::IsSupported:
return Boolean(node.isSupported(args[0]->toString(exec).domString(),
args[1]->isUndefinedOrNull() ? DOMString() : args[1]->toString(exec).domString()));
- case DOMNode::IsSameNode:
- return Boolean(node.isSameNode(toNode(args[0])));
case DOMNode::AddEventListener: {
JSEventListener *listener = Window::retrieveActive(exec)->getJSEventListener(args[1]);
if (listener)
1.53 +1 -1 WebCore/khtml/ecma/kjs_dom.h
Index: kjs_dom.h
===================================================================
RCS file: /cvs/root/WebCore/khtml/ecma/kjs_dom.h,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -r1.52 -r1.53
--- kjs_dom.h 5 Oct 2005 07:26:45 -0000 1.52
+++ kjs_dom.h 16 Oct 2005 03:36:04 -0000 1.53
@@ -69,7 +69,7 @@
Attributes, NamespaceURI, Prefix, LocalName, OwnerDocument, InsertBefore,
ReplaceChild, RemoveChild, AppendChild, HasAttributes, HasChildNodes,
CloneNode, Normalize, IsSupported, AddEventListener, RemoveEventListener,
- DispatchEvent, Contains, IsSameNode,
+ DispatchEvent, Contains,
OnAbort, OnBlur, OnChange, OnClick, OnContextMenu, OnDblClick, OnDragDrop, OnError,
OnDragEnter, OnDragOver, OnDragLeave, OnDrop, OnDragStart, OnDrag, OnDragEnd,
OnBeforeCut, OnCut, OnBeforeCopy, OnCopy, OnBeforePaste, OnPaste, OnSelectStart,
1.66 +4 -3 WebCore/khtml/ecma/kjs_events.cpp
Index: kjs_events.cpp
===================================================================
RCS file: /cvs/root/WebCore/khtml/ecma/kjs_events.cpp,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -r1.65 -r1.66
--- kjs_events.cpp 5 Oct 2005 07:01:49 -0000 1.65
+++ kjs_events.cpp 16 Oct 2005 03:36:04 -0000 1.66
@@ -156,10 +156,11 @@
if (ret.type() == QVariant::Bool && ret.toBool() == false)
evt->preventDefault();
}
-
- DOM::DocumentImpl::updateDocumentsRendering();
- deref();
}
+
+ DOM::DocumentImpl::updateDocumentsRendering();
+
+ deref();
}
DOM::DOMString JSAbstractEventListener::eventListenerType()
1.82 +0 -6 WebCore/khtml/html/html_objectimpl.cpp
Index: html_objectimpl.cpp
===================================================================
RCS file: /cvs/root/WebCore/khtml/html/html_objectimpl.cpp,v
retrieving revision 1.81
retrieving revision 1.82
diff -u -r1.81 -r1.82
--- html_objectimpl.cpp 5 Oct 2005 08:18:26 -0000 1.81
+++ html_objectimpl.cpp 16 Oct 2005 03:36:05 -0000 1.82
@@ -839,12 +839,6 @@
serviceType = "text/plain"; // Data URLs with no MIME type are considered text/plain.
}
}
-
-#if SVG_SUPPORT
- // Even if the image system supports it, we don't want to render SVGs as images.
- if (serviceType == "image/svg+xml")
- return false;
-#endif
return canRenderImageType(serviceType);
}
1.120 +7 -18 WebCore/khtml/html/htmlparser.cpp
Index: htmlparser.cpp
===================================================================
RCS file: /cvs/root/WebCore/khtml/html/htmlparser.cpp,v
retrieving revision 1.119
retrieving revision 1.120
diff -u -r1.119 -r1.120
--- htmlparser.cpp 7 Oct 2005 18:38:46 -0000 1.119
+++ htmlparser.cpp 16 Oct 2005 03:36:06 -0000 1.120
@@ -84,24 +84,13 @@
level(_level),
strayTableContent(false),
node(_node),
- holdingRef(!_node->isDocumentNode()),
next(_next)
- {
- if (holdingRef)
- _node->ref();
- }
-
- ~HTMLStackElem()
- {
- if (holdingRef)
- node->deref();
- }
+ { }
AtomicString tagName;
int level;
bool strayTableContent;
- NodeImpl *node;
- bool holdingRef;
+ SharedPtr<NodeImpl> node;
HTMLStackElem* next;
};
@@ -893,7 +882,7 @@
}
if (currNode && !isInline(currNode))
return;
- currNode = curr->node;
+ currNode = curr->node.get();
}
}
@@ -1001,9 +990,9 @@
if (!curr || !maxElem || !isAffectedByResidualStyle(maxElem->tagName)) return;
- NodeImpl* residualElem = prev->node;
- NodeImpl* blockElem = prevMaxElem ? prevMaxElem->node : current;
- NodeImpl* parentElem = elem->node;
+ NodeImpl* residualElem = prev->node.get();
+ NodeImpl* blockElem = prevMaxElem ? prevMaxElem->node.get() : current;
+ NodeImpl* parentElem = elem->node.get();
// Check to see if the reparenting that is going to occur is allowed according to the DOM.
// FIXME: We should either always allow it or perform an additional fixup instead of
@@ -1285,7 +1274,7 @@
}
blockStack = Elem->next;
- setCurrent(Elem->node);
+ setCurrent(Elem->node.get());
if (Elem->strayTableContent)
inStrayTableContent--;
1.106 +0 -2 WebCore/khtml/xml/dom_nodeimpl.h
Index: dom_nodeimpl.h
===================================================================
RCS file: /cvs/root/WebCore/khtml/xml/dom_nodeimpl.h,v
retrieving revision 1.105
retrieving revision 1.106
diff -u -r1.105 -r1.106
--- dom_nodeimpl.h 5 Oct 2005 07:26:46 -0000 1.105
+++ dom_nodeimpl.h 16 Oct 2005 03:36:06 -0000 1.106
@@ -111,8 +111,6 @@
void normalize ();
static bool isSupported(const DOMString &feature, const DOMString &version);
- bool isSameNode(NodeImpl *other) { return this == other; }
-
NodeImpl *lastDescendant() const;
// Other methods (not part of DOM)
1.52 +0 -5 WebCore/kwq/DOM.mm
Index: DOM.mm
===================================================================
RCS file: /cvs/root/WebCore/kwq/DOM.mm,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -r1.51 -r1.52
--- DOM.mm 5 Oct 2005 07:26:47 -0000 1.51
+++ DOM.mm 16 Oct 2005 03:36:07 -0000 1.52
@@ -376,11 +376,6 @@
return [self _nodeImpl]->hasAttributes();
}
-- (BOOL)isSameNode:(DOMNode *)other
-{
- return [self _nodeImpl]->isSameNode([other _nodeImpl]);
-}
-
- (void)addEventListener:(NSString *)type :(id <DOMEventListener>)listener :(BOOL)useCapture
{
EventListener *wrapper = ObjCEventListener::create(listener);
More information about the webkit-changes
mailing list