[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 08:16:52 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 6177262c95b83d85b4b5131f0f108942896d5d88
Author: mjs <mjs at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Dec 9 01:02:38 2003 +0000
Reviewed by Ken.
<rdar://problem/3504047>: XMLHttpRequest object needs onload event
* khtml/ecma/xmlhttprequest.cpp:
(KJS::XMLHttpRequest::getValueProperty): Implemented onload property.
(KJS::XMLHttpRequest::putValue): Ditto.
(KJS::XMLHttpRequest::XMLHttpRequest): Ditto.
(KJS::XMLHttpRequest::changeState): Ditto.
* khtml/ecma/xmlhttprequest.h:
* khtml/ecma/xmlhttprequest.lut.h: Regenerated.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@5721 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index dcb2381..528f8da 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,17 @@
+2003-12-08 Maciej Stachowiak <mjs at apple.com>
+
+ Reviewed by Ken.
+
+ <rdar://problem/3504047>: XMLHttpRequest object needs onload event
+
+ * khtml/ecma/xmlhttprequest.cpp:
+ (KJS::XMLHttpRequest::getValueProperty): Implemented onload property.
+ (KJS::XMLHttpRequest::putValue): Ditto.
+ (KJS::XMLHttpRequest::XMLHttpRequest): Ditto.
+ (KJS::XMLHttpRequest::changeState): Ditto.
+ * khtml/ecma/xmlhttprequest.h:
+ * khtml/ecma/xmlhttprequest.lut.h: Regenerated.
+
2003-12-08 David Hyatt <hyatt at apple.com>
Fix for 3503022, asahi.com is too wide. Bugs in line breaking of breakable Japanese characters caused
diff --git a/WebCore/khtml/ecma/xmlhttprequest.cpp b/WebCore/khtml/ecma/xmlhttprequest.cpp
index 7434326..3b2e85d 100644
--- a/WebCore/khtml/ecma/xmlhttprequest.cpp
+++ b/WebCore/khtml/ecma/xmlhttprequest.cpp
@@ -106,13 +106,14 @@ Object XMLHttpRequestConstructorImp::construct(ExecState *exec, const List &)
const ClassInfo XMLHttpRequest::info = { "XMLHttpRequest", 0, &XMLHttpRequestTable, 0 };
/* Source for XMLHttpRequestTable.
- at begin XMLHttpRequestTable 6
+ at begin XMLHttpRequestTable 7
readyState XMLHttpRequest::ReadyState DontDelete|ReadOnly
responseText XMLHttpRequest::ResponseText DontDelete|ReadOnly
responseXML XMLHttpRequest::ResponseXML DontDelete|ReadOnly
status XMLHttpRequest::Status DontDelete|ReadOnly
statusText XMLHttpRequest::StatusText DontDelete|ReadOnly
onreadystatechange XMLHttpRequest::Onreadystatechange DontDelete
+ onload XMLHttpRequest::Onload DontDelete
@end
*/
@@ -140,6 +141,12 @@ Value XMLHttpRequest::getValueProperty(ExecState *, int token) const
} else {
return Null();
}
+ case Onload:
+ if (onLoadListener && onLoadListener->listenerObjImp()) {
+ return onLoadListener->listenerObj();
+ } else {
+ return Null();
+ }
default:
kdWarning() << "XMLHttpRequest::getValueProperty unhandled token " << token << endl;
return Value();
@@ -158,6 +165,10 @@ void XMLHttpRequest::putValue(ExecState *exec, int token, const Value& value, in
onReadyStateChangeListener = Window::retrieveActive(exec)->getJSEventListener(value, true);
if (onReadyStateChangeListener) onReadyStateChangeListener->ref();
break;
+ case Onload:
+ onLoadListener = Window::retrieveActive(exec)->getJSEventListener(value, true);
+ if (onLoadListener) onLoadListener->ref();
+ break;
default:
kdWarning() << "HTMLDocument::putValue unhandled token " << token << endl;
}
@@ -171,6 +182,7 @@ XMLHttpRequest::XMLHttpRequest(ExecState *exec, const DOM::Document &d)
job(0),
state(Uninitialized),
onReadyStateChangeListener(0),
+ onLoadListener(0),
decoder(0)
{
}
@@ -192,6 +204,12 @@ void XMLHttpRequest::changeState(XMLHttpRequestState newState)
ev.initEvent("readystatechange", true, true);
onReadyStateChangeListener->handleEvent(ev, true);
}
+
+ if (state == Completed && onLoadListener != 0 && doc->part()) {
+ DOM::Event ev = doc->part()->document().createEvent("HTMLEvents");
+ ev.initEvent("load", true, true);
+ onLoadListener->handleEvent(ev, true);
+ }
}
}
diff --git a/WebCore/khtml/ecma/xmlhttprequest.h b/WebCore/khtml/ecma/xmlhttprequest.h
index 9bc6cb7..297dd3c 100644
--- a/WebCore/khtml/ecma/xmlhttprequest.h
+++ b/WebCore/khtml/ecma/xmlhttprequest.h
@@ -60,7 +60,7 @@ namespace KJS {
virtual bool toBoolean(ExecState *) const { return true; }
virtual const ClassInfo* classInfo() const { return &info; }
static const ClassInfo info;
- enum { Onreadystatechange, ReadyState, ResponseText, ResponseXML, Status, StatusText, Abort, GetAllResponseHeaders, GetResponseHeader, Open, Send, SetRequestHeader };
+ enum { Onload, Onreadystatechange, ReadyState, ResponseText, ResponseXML, Status, StatusText, Abort, GetAllResponseHeaders, GetResponseHeader, Open, Send, SetRequestHeader };
private:
friend class XMLHttpRequestProtoFunc;
@@ -100,6 +100,7 @@ namespace KJS {
XMLHttpRequestState state;
JSEventListener *onReadyStateChangeListener;
+ JSEventListener *onLoadListener;
khtml::Decoder *decoder;
QString encoding;
diff --git a/WebCore/khtml/ecma/xmlhttprequest.lut.h b/WebCore/khtml/ecma/xmlhttprequest.lut.h
index 33f5cba..f3fd803 100644
--- a/WebCore/khtml/ecma/xmlhttprequest.lut.h
+++ b/WebCore/khtml/ecma/xmlhttprequest.lut.h
@@ -20,17 +20,17 @@ const struct HashTable XMLHttpRequestProtoTable = { 2, 8, XMLHttpRequestProtoTab
namespace KJS {
const struct HashEntry XMLHttpRequestTableEntries[] = {
+ { "responseXML", XMLHttpRequest::ResponseXML, DontDelete|ReadOnly, 0, &XMLHttpRequestTableEntries[8] },
{ 0, 0, 0, 0, 0 },
- { 0, 0, 0, 0, 0 },
+ { "onreadystatechange", XMLHttpRequest::Onreadystatechange, DontDelete, 0, 0 },
{ "readyState", XMLHttpRequest::ReadyState, DontDelete|ReadOnly, 0, 0 },
- { 0, 0, 0, 0, 0 },
- { "responseText", XMLHttpRequest::ResponseText, DontDelete|ReadOnly, 0, &XMLHttpRequestTableEntries[6] },
- { "statusText", XMLHttpRequest::StatusText, DontDelete|ReadOnly, 0, &XMLHttpRequestTableEntries[8] },
- { "responseXML", XMLHttpRequest::ResponseXML, DontDelete|ReadOnly, 0, &XMLHttpRequestTableEntries[7] },
{ "status", XMLHttpRequest::Status, DontDelete|ReadOnly, 0, 0 },
- { "onreadystatechange", XMLHttpRequest::Onreadystatechange, DontDelete, 0, 0 }
+ { "responseText", XMLHttpRequest::ResponseText, DontDelete|ReadOnly, 0, &XMLHttpRequestTableEntries[7] },
+ { 0, 0, 0, 0, 0 },
+ { "statusText", XMLHttpRequest::StatusText, DontDelete|ReadOnly, 0, 0 },
+ { "onload", XMLHttpRequest::Onload, DontDelete, 0, 0 }
};
-const struct HashTable XMLHttpRequestTable = { 2, 9, XMLHttpRequestTableEntries, 6 };
+const struct HashTable XMLHttpRequestTable = { 2, 9, XMLHttpRequestTableEntries, 7 };
} // namespace
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list