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

hyatt hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:10:14 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit c1ebce8eac1a1b1c58b1fdbf5f54a6afa2011520
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Nov 28 00:00:06 2002 +0000

    	Fix DHTML on phoenix.com.  Add support for window.addEventListener
    	and window.removeEventListener.
    
            * khtml/ecma/kjs_window.cpp:
            (Window::get):
            (WindowFunc::tryCall):
            * khtml/ecma/kjs_window.h:
            * khtml/ecma/kjs_window.lut.h:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2898 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2002-12-03 b/WebCore/ChangeLog-2002-12-03
index d43214b..a938568 100644
--- a/WebCore/ChangeLog-2002-12-03
+++ b/WebCore/ChangeLog-2002-12-03
@@ -1,3 +1,14 @@
+2002-11-27  David Hyatt  <hyatt at apple.com>
+
+	Fix DHTML on phoenix.com.  Add support for window.addEventListener
+	and window.removeEventListener.
+	
+        * khtml/ecma/kjs_window.cpp:
+        (Window::get):
+        (WindowFunc::tryCall):
+        * khtml/ecma/kjs_window.h:
+        * khtml/ecma/kjs_window.lut.h:
+
 2002-11-27  Maciej Stachowiak  <mjs at apple.com>
 
 	- avoid doing any work when setting the document's link colors if
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index d43214b..a938568 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,14 @@
+2002-11-27  David Hyatt  <hyatt at apple.com>
+
+	Fix DHTML on phoenix.com.  Add support for window.addEventListener
+	and window.removeEventListener.
+	
+        * khtml/ecma/kjs_window.cpp:
+        (Window::get):
+        (WindowFunc::tryCall):
+        * khtml/ecma/kjs_window.h:
+        * khtml/ecma/kjs_window.lut.h:
+
 2002-11-27  Maciej Stachowiak  <mjs at apple.com>
 
 	- avoid doing any work when setting the document's link colors if
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index d43214b..a938568 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,14 @@
+2002-11-27  David Hyatt  <hyatt at apple.com>
+
+	Fix DHTML on phoenix.com.  Add support for window.addEventListener
+	and window.removeEventListener.
+	
+        * khtml/ecma/kjs_window.cpp:
+        (Window::get):
+        (WindowFunc::tryCall):
+        * khtml/ecma/kjs_window.h:
+        * khtml/ecma/kjs_window.lut.h:
+
 2002-11-27  Maciej Stachowiak  <mjs at apple.com>
 
 	- avoid doing any work when setting the document's link colors if
diff --git a/WebCore/khtml/ecma/kjs_window.cpp b/WebCore/khtml/ecma/kjs_window.cpp
index cbd1864..5613524 100644
--- a/WebCore/khtml/ecma/kjs_window.cpp
+++ b/WebCore/khtml/ecma/kjs_window.cpp
@@ -170,7 +170,7 @@ Value Screen::getValueProperty(ExecState *exec, int token) const
 const ClassInfo Window::info = { "Window", 0, &WindowTable, 0 };
 
 /*
- at begin WindowTable 77
+ at begin WindowTable 79
   closed	Window::Closed		DontDelete|ReadOnly
   crypto	Window::Crypto		DontDelete|ReadOnly
   defaultStatus	Window::DefaultStatus	DontDelete
@@ -235,6 +235,8 @@ const ClassInfo Window::info = { "Window", 0, &WindowTable, 0 };
   clearInterval	Window::ClearInterval	DontDelete|Function 1
   captureEvents	Window::CaptureEvents	DontDelete|Function 0
 # Warning, when adding a function to this object you need to add a case in Window::get
+  addEventListener	Window::AddEventListener	DontDelete|Function 3
+  removeEventListener	Window::RemoveEventListener	DontDelete|Function 3
   onabort	Window::Onabort		DontDelete
   onblur	Window::Onblur		DontDelete
   onchange	Window::Onchange	DontDelete
@@ -523,6 +525,8 @@ Value Window::get(ExecState *exec, const Identifier &p) const
     case ResizeBy:
     case ResizeTo:
     case CaptureEvents:
+    case AddEventListener:
+    case RemoveEventListener:
       return lookupOrCreateFunction<WindowFunc>(exec,p,this,entry->value,entry->params,entry->attr);
     case SetTimeout:
     case ClearTimeout:
@@ -1370,6 +1374,29 @@ Value WindowFunc::tryCall(ExecState *exec, Object &thisObj, const List &args)
   case Window::CaptureEvents:
     // Do nothing. This is a NS-specific call that isn't needed in Konqueror.
     break;
+  case Window::AddEventListener: {
+        JSEventListener *listener = Window::retrieveActive(exec)->getJSEventListener(args[1]);
+        DOM::Document doc = part->document();
+        if (doc.isHTMLDocument()) {
+            DOM::HTMLDocument htmlDoc = doc;
+            htmlDoc.body().addEventListener(args[0].toString(exec).string(),listener,args[2].toBoolean(exec));
+        }
+        else
+            doc.addEventListener(args[0].toString(exec).string(),listener,args[2].toBoolean(exec));
+        return Undefined();
+    }
+  case Window::RemoveEventListener: {
+        JSEventListener *listener = Window::retrieveActive(exec)->getJSEventListener(args[1]);
+        DOM::Document doc = part->document();
+        if (doc.isHTMLDocument()) {
+            DOM::HTMLDocument htmlDoc = doc;
+            htmlDoc.body().removeEventListener(args[0].toString(exec).string(),listener,args[2].toBoolean(exec));       
+        }
+        else
+            doc.removeEventListener(args[0].toString(exec).string(),listener,args[2].toBoolean(exec));
+        return Undefined();
+    }
+
   }
   return Undefined();
 }
diff --git a/WebCore/khtml/ecma/kjs_window.h b/WebCore/khtml/ecma/kjs_window.h
index 31258bf..7ccdcb0 100644
--- a/WebCore/khtml/ecma/kjs_window.h
+++ b/WebCore/khtml/ecma/kjs_window.h
@@ -113,7 +113,8 @@ namespace KJS {
            ScreenTop, ScreenLeft,
            ScrollTo, ScrollX, ScrollY, MoveBy, MoveTo, ResizeBy, ResizeTo, Self, _Window, Top, _Screen,
            Image, Option, Alert, Confirm, Prompt, Open, SetTimeout, ClearTimeout,
-           Focus, Blur, Close, SetInterval, ClearInterval, CaptureEvents, Onabort, Onblur,
+           Focus, Blur, Close, SetInterval, ClearInterval, CaptureEvents, 
+           AddEventListener, RemoveEventListener, Onabort, Onblur,
            Onchange, Onclick, Ondblclick, Ondragdrop, Onerror, Onfocus,
            Onkeydown, Onkeypress, Onkeyup, Onload, Onmousedown, Onmousemove,
            Onmouseout, Onmouseover, Onmouseup, Onmove, Onreset, Onresize,
diff --git a/WebCore/khtml/ecma/kjs_window.lut.h b/WebCore/khtml/ecma/kjs_window.lut.h
index 932f695..f117d2e 100644
--- a/WebCore/khtml/ecma/kjs_window.lut.h
+++ b/WebCore/khtml/ecma/kjs_window.lut.h
@@ -23,116 +23,120 @@ namespace KJS {
 
 const struct HashEntry WindowTableEntries[] = {
    { 0, 0, 0, 0, 0 },
-   { "scrollbars", Window::Scrollbars, DontDelete|ReadOnly, 0, 0 },
-   { "onmouseup", Window::Onmouseup, DontDelete, 0, 0 },
-   { "NodeFilter", Window::NodeFilter, DontDelete, 0, &WindowTableEntries[84] },
+   { "Option", Window::Option, DontDelete|ReadOnly, 0, &WindowTableEntries[103] },
+   { "closed", Window::Closed, DontDelete|ReadOnly, 0, &WindowTableEntries[87] },
    { 0, 0, 0, 0, 0 },
-   { "Node", Window::Node, DontDelete, 0, &WindowTableEntries[80] },
-   { "resizeTo", Window::ResizeTo, DontDelete|Function, 2, 0 },
-   { "event", Window::Event, DontDelete|ReadOnly, 0, 0 },
    { 0, 0, 0, 0, 0 },
-   { "onkeyup", Window::Onkeyup, DontDelete, 0, 0 },
-   { "location", Window::_Location, DontDelete, 0, &WindowTableEntries[86] },
+   { "onload", Window::Onload, DontDelete, 0, 0 },
+   { "frames", Window::Frames, DontDelete|ReadOnly, 0, 0 },
    { 0, 0, 0, 0, 0 },
-   { "DOMException", Window::DOMException, DontDelete, 0, 0 },
+   { "screenLeft", Window::ScreenLeft, DontDelete|ReadOnly, 0, &WindowTableEntries[90] },
+   { "CSSRule", Window::CSSRule, DontDelete, 0, &WindowTableEntries[91] },
+   { "length", Window::Length, DontDelete|ReadOnly, 0, &WindowTableEntries[81] },
+   { "pageYOffset", Window::PageYOffset, DontDelete|ReadOnly, 0, 0 },
+   { "onmouseout", Window::Onmouseout, DontDelete, 0, &WindowTableEntries[110] },
+   { "clearInterval", Window::ClearInterval, DontDelete|Function, 1, 0 },
    { 0, 0, 0, 0, 0 },
-   { "setInterval", Window::SetInterval, DontDelete|Function, 2, &WindowTableEntries[105] },
    { 0, 0, 0, 0, 0 },
-   { "document", Window::Document, DontDelete|ReadOnly, 0, &WindowTableEntries[78] },
-   { "Option", Window::Option, DontDelete|ReadOnly, 0, &WindowTableEntries[107] },
-   { "closed", Window::Closed, DontDelete|ReadOnly, 0, &WindowTableEntries[87] },
    { 0, 0, 0, 0, 0 },
+   { "opener", Window::Opener, DontDelete|ReadOnly, 0, &WindowTableEntries[82] },
+   { "parent", Window::Parent, DontDelete|ReadOnly, 0, &WindowTableEntries[83] },
+   { "Range", Window::Range, DontDelete, 0, 0 },
    { 0, 0, 0, 0, 0 },
-   { "Image", Window::Image, DontDelete|ReadOnly, 0, &WindowTableEntries[99] },
-   { "frames", Window::Frames, DontDelete|ReadOnly, 0, &WindowTableEntries[81] },
-   { "screenTop", Window::ScreenTop, DontDelete|ReadOnly, 0, 0 },
-   { "screen", Window::_Screen, DontDelete|ReadOnly, 0, 0 },
-   { "CSSRule", Window::CSSRule, DontDelete, 0, 0 },
-   { "length", Window::Length, DontDelete|ReadOnly, 0, &WindowTableEntries[79] },
-   { "offscreenBuffering", Window::OffscreenBuffering, DontDelete|ReadOnly, 0, 0 },
    { 0, 0, 0, 0, 0 },
-   { "onkeypress", Window::Onkeypress, DontDelete, 0, 0 },
-   { "clearTimeout", Window::ClearTimeout, DontDelete|Function, 1, 0 },
-   { "defaultstatus", Window::DefaultStatus, DontDelete, 0, &WindowTableEntries[77] },
-   { "name", Window::Name, DontDelete, 0, &WindowTableEntries[104] },
-   { "opener", Window::Opener, DontDelete|ReadOnly, 0, 0 },
-   { "parent", Window::Parent, DontDelete|ReadOnly, 0, &WindowTableEntries[82] },
-   { "screenX", Window::ScreenX, DontDelete|ReadOnly, 0, 0 },
-   { "screenY", Window::ScreenY, DontDelete|ReadOnly, 0, 0 },
+   { "name", Window::Name, DontDelete, 0, 0 },
+   { "navigator", Window::_Navigator, DontDelete|ReadOnly, 0, &WindowTableEntries[84] },
    { 0, 0, 0, 0, 0 },
-   { "pageXOffset", Window::PageXOffset, DontDelete|ReadOnly, 0, 0 },
-   { "pageYOffset", Window::PageYOffset, DontDelete|ReadOnly, 0, &WindowTableEntries[83] },
-   { "onmouseout", Window::Onmouseout, DontDelete, 0, 0 },
-   { "self", Window::Self, DontDelete|ReadOnly, 0, 0 },
+   { "innerWidth", Window::InnerWidth, DontDelete|ReadOnly, 0, 0 },
    { "onblur", Window::Onblur, DontDelete, 0, 0 },
    { 0, 0, 0, 0, 0 },
-   { "ondblclick", Window::Ondblclick, DontDelete, 0, &WindowTableEntries[102] },
-   { 0, 0, 0, 0, 0 },
-   { "onclick", Window::Onclick, DontDelete, 0, 0 },
-   { "navigator", Window::_Navigator, DontDelete|ReadOnly, 0, &WindowTableEntries[95] },
-   { "window", Window::_Window, DontDelete|ReadOnly, 0, 0 },
-   { "open", Window::Open, DontDelete|Function, 3, 0 },
-   { "scrollX", Window::ScrollX, DontDelete|ReadOnly, 0, 0 },
-   { "innerWidth", Window::InnerWidth, DontDelete|ReadOnly, 0, &WindowTableEntries[85] },
-   { "Event", Window::EventCtor, DontDelete, 0, &WindowTableEntries[93] },
+   { "onclick", Window::Onclick, DontDelete, 0, &WindowTableEntries[104] },
+   { "onmousedown", Window::Onmousedown, DontDelete, 0, 0 },
    { 0, 0, 0, 0, 0 },
+   { "self", Window::Self, DontDelete|ReadOnly, 0, &WindowTableEntries[98] },
+   { "scrollX", Window::ScrollX, DontDelete|ReadOnly, 0, &WindowTableEntries[88] },
+   { "scrollY", Window::ScrollY, DontDelete|ReadOnly, 0, &WindowTableEntries[105] },
    { 0, 0, 0, 0, 0 },
+   { "innerHeight", Window::InnerHeight, DontDelete|ReadOnly, 0, 0 },
    { 0, 0, 0, 0, 0 },
    { 0, 0, 0, 0, 0 },
-   { "crypto", Window::Crypto, DontDelete|ReadOnly, 0, &WindowTableEntries[90] },
-   { "prompt", Window::Prompt, DontDelete|Function, 2, &WindowTableEntries[100] },
-   { "onmousedown", Window::Onmousedown, DontDelete, 0, 0 },
-   { "status", Window::Status, DontDelete, 0, 0 },
    { 0, 0, 0, 0, 0 },
+   { "confirm", Window::Confirm, DontDelete|Function, 1, &WindowTableEntries[93] },
+   { "Event", Window::EventCtor, DontDelete, 0, 0 },
+   { "crypto", Window::Crypto, DontDelete|ReadOnly, 0, 0 },
+   { "defaultStatus", Window::DefaultStatus, DontDelete, 0, &WindowTableEntries[92] },
    { 0, 0, 0, 0, 0 },
-   { "innerHeight", Window::InnerHeight, DontDelete|ReadOnly, 0, &WindowTableEntries[101] },
+   { "status", Window::Status, DontDelete, 0, &WindowTableEntries[80] },
+   { "onchange", Window::Onchange, DontDelete, 0, &WindowTableEntries[100] },
    { "onabort", Window::Onabort, DontDelete, 0, 0 },
-   { "onchange", Window::Onchange, DontDelete, 0, 0 },
-   { "onkeydown", Window::Onkeydown, DontDelete, 0, 0 },
    { 0, 0, 0, 0, 0 },
+   { "setTimeout", Window::SetTimeout, DontDelete|Function, 2, 0 },
    { 0, 0, 0, 0, 0 },
+   { "konqueror", Window::_Konqueror, DontDelete|ReadOnly, 0, 0 },
    { 0, 0, 0, 0, 0 },
-   { "outerWidth", Window::OuterWidth, DontDelete|ReadOnly, 0, 0 },
-   { "ondragdrop", Window::Ondragdrop, DontDelete, 0, 0 },
-   { "scrollBy", Window::ScrollBy, DontDelete|Function, 2, &WindowTableEntries[94] },
+   { "scrollbars", Window::Scrollbars, DontDelete|ReadOnly, 0, &WindowTableEntries[85] },
    { 0, 0, 0, 0, 0 },
-   { "konqueror", Window::_Konqueror, DontDelete|ReadOnly, 0, &WindowTableEntries[89] },
-   { "resizeBy", Window::ResizeBy, DontDelete|Function, 2, &WindowTableEntries[103] },
-   { "defaultStatus", Window::DefaultStatus, DontDelete, 0, &WindowTableEntries[96] },
-   { "Range", Window::Range, DontDelete, 0, &WindowTableEntries[88] },
-   { "history", Window::_History, DontDelete|ReadOnly, 0, 0 },
+   { "outerHeight", Window::OuterHeight, DontDelete|ReadOnly, 0, &WindowTableEntries[101] },
+   { "resizeBy", Window::ResizeBy, DontDelete|Function, 2, &WindowTableEntries[106] },
+   { "NodeFilter", Window::NodeFilter, DontDelete, 0, 0 },
+   { "onreset", Window::Onreset, DontDelete, 0, 0 },
+   { "offscreenBuffering", Window::OffscreenBuffering, DontDelete|ReadOnly, 0, 0 },
    { "clientInformation", Window::ClientInformation, DontDelete|ReadOnly, 0, 0 },
-   { "outerHeight", Window::OuterHeight, DontDelete|ReadOnly, 0, &WindowTableEntries[92] },
-   { "personalbar", Window::Personalbar, DontDelete|ReadOnly, 0, 0 },
-   { "screenLeft", Window::ScreenLeft, DontDelete|ReadOnly, 0, &WindowTableEntries[106] },
-   { "scroll", Window::Scroll, DontDelete|Function, 2, 0 },
-   { "scrollTo", Window::ScrollTo, DontDelete|Function, 2, 0 },
-   { "scrollY", Window::ScrollY, DontDelete|ReadOnly, 0, 0 },
+   { "scrollTo", Window::ScrollTo, DontDelete|Function, 2, &WindowTableEntries[95] },
+   { "DOMException", Window::DOMException, DontDelete, 0, 0 },
+   { "alert", Window::Alert, DontDelete|Function, 1, 0 },
+   { "resizeTo", Window::ResizeTo, DontDelete|Function, 2, &WindowTableEntries[96] },
+   { "onerror", Window::Onerror, DontDelete, 0, 0 },
+   { 0, 0, 0, 0, 0 },
+   { 0, 0, 0, 0, 0 },
+   { "location", Window::_Location, DontDelete, 0, 0 },
+   { "onkeyup", Window::Onkeyup, DontDelete, 0, 0 },
+   { "addEventListener", Window::AddEventListener, DontDelete|Function, 3, 0 },
+   { "focus", Window::Focus, DontDelete|Function, 0, 0 },
+   { "personalbar", Window::Personalbar, DontDelete|ReadOnly, 0, &WindowTableEntries[109] },
+   { "event", Window::Event, DontDelete|ReadOnly, 0, 0 },
+   { "document", Window::Document, DontDelete|ReadOnly, 0, &WindowTableEntries[86] },
+   { "defaultstatus", Window::DefaultStatus, DontDelete, 0, &WindowTableEntries[79] },
+   { "history", Window::_History, DontDelete|ReadOnly, 0, 0 },
+   { 0, 0, 0, 0, 0 },
+   { "clearTimeout", Window::ClearTimeout, DontDelete|Function, 1, 0 },
+   { "screenTop", Window::ScreenTop, DontDelete|ReadOnly, 0, 0 },
+   { "Node", Window::Node, DontDelete, 0, &WindowTableEntries[111] },
+   { "outerWidth", Window::OuterWidth, DontDelete|ReadOnly, 0, 0 },
+   { "pageXOffset", Window::PageXOffset, DontDelete|ReadOnly, 0, &WindowTableEntries[108] },
+   { "screenX", Window::ScreenX, DontDelete|ReadOnly, 0, 0 },
+   { "screenY", Window::ScreenY, DontDelete|ReadOnly, 0, &WindowTableEntries[99] },
+   { "scroll", Window::Scroll, DontDelete|Function, 2, &WindowTableEntries[89] },
+   { "scrollBy", Window::ScrollBy, DontDelete|Function, 2, 0 },
    { "moveBy", Window::MoveBy, DontDelete|Function, 2, 0 },
    { "moveTo", Window::MoveTo, DontDelete|Function, 2, 0 },
+   { "window", Window::_Window, DontDelete|ReadOnly, 0, 0 },
    { "top", Window::Top, DontDelete|ReadOnly, 0, 0 },
-   { "alert", Window::Alert, DontDelete|Function, 1, &WindowTableEntries[91] },
-   { "confirm", Window::Confirm, DontDelete|Function, 1, 0 },
-   { "setTimeout", Window::SetTimeout, DontDelete|Function, 2, 0 },
-   { "focus", Window::Focus, DontDelete|Function, 0, &WindowTableEntries[97] },
-   { "blur", Window::Blur, DontDelete|Function, 0, 0 },
-   { "close", Window::Close, DontDelete|Function, 0, &WindowTableEntries[98] },
-   { "clearInterval", Window::ClearInterval, DontDelete|Function, 1, 0 },
-   { "captureEvents", Window::CaptureEvents, DontDelete|Function, 0, 0 },
-   { "onerror", Window::Onerror, DontDelete, 0, 0 },
+   { "screen", Window::_Screen, DontDelete|ReadOnly, 0, 0 },
+   { "Image", Window::Image, DontDelete|ReadOnly, 0, 0 },
+   { "prompt", Window::Prompt, DontDelete|Function, 2, &WindowTableEntries[94] },
+   { "open", Window::Open, DontDelete|Function, 3, 0 },
+   { "blur", Window::Blur, DontDelete|Function, 0, &WindowTableEntries[97] },
+   { "close", Window::Close, DontDelete|Function, 0, 0 },
+   { "setInterval", Window::SetInterval, DontDelete|Function, 2, 0 },
+   { "captureEvents", Window::CaptureEvents, DontDelete|Function, 0, &WindowTableEntries[102] },
+   { "removeEventListener", Window::RemoveEventListener, DontDelete|Function, 3, 0 },
+   { "ondblclick", Window::Ondblclick, DontDelete, 0, 0 },
+   { "ondragdrop", Window::Ondragdrop, DontDelete, 0, 0 },
    { "onfocus", Window::Onfocus, DontDelete, 0, 0 },
-   { "onload", Window::Onload, DontDelete, 0, 0 },
-   { "onmousemove", Window::Onmousemove, DontDelete, 0, 0 },
+   { "onkeydown", Window::Onkeydown, DontDelete, 0, 0 },
+   { "onkeypress", Window::Onkeypress, DontDelete, 0, 0 },
+   { "onmousemove", Window::Onmousemove, DontDelete, 0, &WindowTableEntries[107] },
    { "onmouseover", Window::Onmouseover, DontDelete, 0, 0 },
+   { "onmouseup", Window::Onmouseup, DontDelete, 0, 0 },
    { "onmove", Window::Onmove, DontDelete, 0, 0 },
-   { "onreset", Window::Onreset, DontDelete, 0, 0 },
    { "onresize", Window::Onresize, DontDelete, 0, 0 },
    { "onselect", Window::Onselect, DontDelete, 0, 0 },
    { "onsubmit", Window::Onsubmit, DontDelete, 0, 0 },
    { "onunload", Window::Onunload, DontDelete, 0, 0 }
 };
 
-const struct HashTable WindowTable = { 2, 108, WindowTableEntries, 77 };
+const struct HashTable WindowTable = { 2, 112, WindowTableEntries, 79 };
 
 }; // namespace
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list