[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 08:30:35 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit eedf1737e723cf296920c3599d19490c02d74b0a
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Mar 24 00:56:56 2004 +0000

    	Fix for 3487207, implement onscroll DOM event for elements with overflow:auto/scroll/hidden.  This does
    	not handle firing onscroll on the window when the document scrolls, nor does it handle firing onscroll
    	on textareas.  These are two separate bugs.
    
    	This patch finishes stubbing out the onscroll event and adds support for it to the DOM.  It also supports
    	the firing of the event when overflow blocks scroll.
    
            Reviewed by darin
    
            * khtml/ecma/kjs_dom.cpp:
            (DOMNode::getValueProperty):
            (DOMNode::putValue):
            * khtml/ecma/kjs_dom.h:
            (KJS::DOMNode::):
            * khtml/ecma/kjs_dom.lut.h:
            (KJS::):
            * khtml/ecma/kjs_window.cpp:
            (Window::get):
            (Window::put):
            * khtml/ecma/kjs_window.h:
            (KJS::Window::):
            * khtml/ecma/kjs_window.lut.h:
            (KJS::):
            * khtml/html/html_baseimpl.cpp:
            (HTMLBodyElementImpl::parseHTMLAttribute):
            * khtml/html/html_elementimpl.cpp:
            (HTMLElementImpl::parseHTMLAttribute):
            * khtml/misc/htmlattrs.c:
            (hash_attr):
            (findAttr):
            * khtml/misc/htmlattrs.h:
            * khtml/misc/htmlattrs.in:
            * khtml/rendering/render_layer.cpp:
            (RenderLayer::scrollToOffset):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@6250 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 89c69c3..7634aa4 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,5 +1,42 @@
 2004-03-23  David Hyatt  <hyatt at apple.com>
 
+	Fix for 3487207, implement onscroll DOM event for elements with overflow:auto/scroll/hidden.  This does
+	not handle firing onscroll on the window when the document scrolls, nor does it handle firing onscroll
+	on textareas.  These are two separate bugs.
+
+	This patch finishes stubbing out the onscroll event and adds support for it to the DOM.  It also supports
+	the firing of the event when overflow blocks scroll.
+	
+        Reviewed by darin
+
+        * khtml/ecma/kjs_dom.cpp:
+        (DOMNode::getValueProperty):
+        (DOMNode::putValue):
+        * khtml/ecma/kjs_dom.h:
+        (KJS::DOMNode::):
+        * khtml/ecma/kjs_dom.lut.h:
+        (KJS::):
+        * khtml/ecma/kjs_window.cpp:
+        (Window::get):
+        (Window::put):
+        * khtml/ecma/kjs_window.h:
+        (KJS::Window::):
+        * khtml/ecma/kjs_window.lut.h:
+        (KJS::):
+        * khtml/html/html_baseimpl.cpp:
+        (HTMLBodyElementImpl::parseHTMLAttribute):
+        * khtml/html/html_elementimpl.cpp:
+        (HTMLElementImpl::parseHTMLAttribute):
+        * khtml/misc/htmlattrs.c:
+        (hash_attr):
+        (findAttr):
+        * khtml/misc/htmlattrs.h:
+        * khtml/misc/htmlattrs.in:
+        * khtml/rendering/render_layer.cpp:
+        (RenderLayer::scrollToOffset):
+
+2004-03-23  David Hyatt  <hyatt at apple.com>
+
 	Fix for 3513627, HTML mail prints upside down occasionally.  Change printing so that it never resizes the
         WebHTMLView when formatting for printing.  When computing page rects, instead of using the view's bounds,
         use the root layer's width instead.
diff --git a/WebCore/khtml/ecma/kjs_dom.cpp b/WebCore/khtml/ecma/kjs_dom.cpp
index bc9b700..1340601 100644
--- a/WebCore/khtml/ecma/kjs_dom.cpp
+++ b/WebCore/khtml/ecma/kjs_dom.cpp
@@ -132,6 +132,7 @@ bool DOMNode::toBoolean(ExecState *) const
   onmove	DOMNode::OnMove			DontDelete
   onreset	DOMNode::OnReset		DontDelete
   onresize	DOMNode::OnResize		DontDelete
+  onscroll      DOMNode::OnScroll               DontDelete
   onsearch      DOMNode::OnSearch               DontDelete
   onselect	DOMNode::OnSelect		DontDelete
   onsubmit	DOMNode::OnSubmit		DontDelete
@@ -233,6 +234,8 @@ Value DOMNode::getValueProperty(ExecState *exec, int token) const
     return getListener(DOM::EventImpl::RESET_EVENT);
   case OnResize:
     return getListener(DOM::EventImpl::RESIZE_EVENT);
+  case OnScroll:
+    return getListener(DOM::EventImpl::SCROLL_EVENT);
 #if APPLE_CHANGES
   case OnSearch:
     return getListener(DOM::EventImpl::SEARCH_EVENT);
@@ -369,6 +372,8 @@ void DOMNode::putValue(ExecState *exec, int token, const Value& value, int /*att
   case OnResize:
     setListener(exec,DOM::EventImpl::RESIZE_EVENT,value);
     break;
+  case OnScroll:
+    setListener(exec,DOM::EventImpl::SCROLL_EVENT,value);
 #if APPLE_CHANGES
   case OnSearch:
     setListener(exec,DOM::EventImpl::SEARCH_EVENT,value);
diff --git a/WebCore/khtml/ecma/kjs_dom.h b/WebCore/khtml/ecma/kjs_dom.h
index b5d6c6a..fd6e060 100644
--- a/WebCore/khtml/ecma/kjs_dom.h
+++ b/WebCore/khtml/ecma/kjs_dom.h
@@ -62,7 +62,7 @@ namespace KJS {
            OnAbort, OnBlur, OnChange, OnClick, OnContextMenu, OnDblClick, OnDragDrop, OnError,
            OnFocus, OnKeyDown, OnKeyPress, OnKeyUp, OnLoad, OnMouseDown,
            OnMouseMove, OnMouseOut, OnMouseOver, OnMouseUp, OnMove, OnReset,
-           OnResize, OnSearch, OnSelect, OnSubmit, OnUnload,
+           OnResize, OnScroll, OnSearch, OnSelect, OnSubmit, OnUnload,
            OffsetLeft, OffsetTop, OffsetWidth, OffsetHeight, OffsetParent,
            ClientWidth, ClientHeight, ScrollLeft, ScrollTop, ScrollWidth, ScrollHeight };
 
diff --git a/WebCore/khtml/ecma/kjs_dom.lut.h b/WebCore/khtml/ecma/kjs_dom.lut.h
index 2c75e9f..959d253 100644
--- a/WebCore/khtml/ecma/kjs_dom.lut.h
+++ b/WebCore/khtml/ecma/kjs_dom.lut.h
@@ -65,7 +65,7 @@ const struct HashEntry DOMNodeTableEntries[] = {
    { "offsetParent", DOMNode::OffsetParent, DontDelete|ReadOnly, 0, 0 },
    { "offsetLeft", DOMNode::OffsetLeft, DontDelete|ReadOnly, 0, 0 },
    { "nodeValue", DOMNode::NodeValue, DontDelete, 0, 0 },
-   { 0, 0, 0, 0, 0 },
+   { "onscroll", DOMNode::OnScroll, DontDelete, 0, 0 },
    { "previousSibling", DOMNode::PreviousSibling, DontDelete|ReadOnly, 0, &DOMNodeTableEntries[58] },
    { "prefix", DOMNode::Prefix, DontDelete, 0, &DOMNodeTableEntries[60] },
    { "nextSibling", DOMNode::NextSibling, DontDelete|ReadOnly, 0, &DOMNodeTableEntries[66] },
diff --git a/WebCore/khtml/ecma/kjs_window.cpp b/WebCore/khtml/ecma/kjs_window.cpp
index 9880ab2..6c562b1 100644
--- a/WebCore/khtml/ecma/kjs_window.cpp
+++ b/WebCore/khtml/ecma/kjs_window.cpp
@@ -269,6 +269,7 @@ const ClassInfo Window::info = { "Window", 0, &WindowTable, 0 };
   onmove	Window::Onmove		DontDelete
   onreset	Window::Onreset		DontDelete
   onresize	Window::Onresize	DontDelete
+  onscroll      Window::Onscroll        DontDelete
   onsearch      Window::Onsearch        DontDelete
   onselect	Window::Onselect	DontDelete
   onsubmit	Window::Onsubmit	DontDelete
@@ -681,6 +682,11 @@ Value Window::get(ExecState *exec, const Identifier &p) const
         return getListener(exec,DOM::EventImpl::RESIZE_EVENT);
       else
         return Undefined();
+    case Onscroll:
+        if (isSafeScript(exec))
+            return getListener(exec,DOM::EventImpl::SCROLL_EVENT);
+        else
+            return Undefined();
 #if APPLE_CHANGES
     case Onsearch:
         if (isSafeScript(exec))
@@ -887,6 +893,10 @@ void Window::put(ExecState* exec, const Identifier &propertyName, const Value &v
       if (isSafeScript(exec))
         setListener(exec,DOM::EventImpl::RESIZE_EVENT,value);
       return;
+    case Onscroll:
+      if (isSafeScript(exec))
+        setListener(exec,DOM::EventImpl::SCROLL_EVENT,value);
+      return;
 #if APPLE_CHANGES
     case Onsearch:
         if (isSafeScript(exec))
diff --git a/WebCore/khtml/ecma/kjs_window.h b/WebCore/khtml/ecma/kjs_window.h
index 016461a..793d2c9 100644
--- a/WebCore/khtml/ecma/kjs_window.h
+++ b/WebCore/khtml/ecma/kjs_window.h
@@ -123,7 +123,7 @@ namespace KJS {
            ReleaseEvents, AddEventListener, RemoveEventListener, XMLHttpRequest, XMLSerializer,
 	   Onabort, Onblur, Onchange, Onclick, Ondblclick, Ondragdrop, Onerror, 
 	   Onfocus, Onkeydown, Onkeypress, Onkeyup, Onload, Onmousedown, Onmousemove,
-           Onmouseout, Onmouseover, Onmouseup, Onmove, Onreset, Onresize, Onsearch,
+           Onmouseout, Onmouseover, Onmouseup, Onmove, Onreset, Onresize, Onscroll, Onsearch,
            Onselect, Onsubmit, Onunload };
   protected:
     Value getListener(ExecState *exec, int eventId) const;
diff --git a/WebCore/khtml/ecma/kjs_window.lut.h b/WebCore/khtml/ecma/kjs_window.lut.h
index efdb1da..b5f017c 100644
--- a/WebCore/khtml/ecma/kjs_window.lut.h
+++ b/WebCore/khtml/ecma/kjs_window.lut.h
@@ -79,7 +79,7 @@ const struct HashEntry WindowTableEntries[] = {
    { 0, 0, 0, 0, 0 },
    { "offscreenBuffering", Window::OffscreenBuffering, DontDelete|ReadOnly, 0, 0 },
    { 0, 0, 0, 0, 0 },
-   { 0, 0, 0, 0, 0 },
+   { "onscroll", Window::Onscroll, DontDelete, 0, 0 },
    { "history", Window::_History, DontDelete|ReadOnly, 0, 0 },
    { "Event", Window::EventCtor, DontDelete, 0, 0 },
    { "onresize", Window::Onresize, DontDelete, 0, 0 },
diff --git a/WebCore/khtml/html/html_baseimpl.cpp b/WebCore/khtml/html/html_baseimpl.cpp
index 698156a..295c314 100644
--- a/WebCore/khtml/html/html_baseimpl.cpp
+++ b/WebCore/khtml/html/html_baseimpl.cpp
@@ -181,6 +181,10 @@ void HTMLBodyElementImpl::parseHTMLAttribute(HTMLAttributeImpl *attr)
         getDocument()->setHTMLWindowEventListener(EventImpl::RESIZE_EVENT,
 	    getDocument()->createHTMLEventListener(attr->value().string()));
         break;
+    case ATTR_ONSCROLL:
+        getDocument()->setHTMLWindowEventListener(EventImpl::SCROLL_EVENT,
+                                                  getDocument()->createHTMLEventListener(attr->value().string()));
+        break;
     case ATTR_NOSAVE:
 	break;
     default:
diff --git a/WebCore/khtml/html/html_elementimpl.cpp b/WebCore/khtml/html/html_elementimpl.cpp
index 6dd9094..aa756a6 100644
--- a/WebCore/khtml/html/html_elementimpl.cpp
+++ b/WebCore/khtml/html/html_elementimpl.cpp
@@ -413,6 +413,10 @@ void HTMLElementImpl::parseHTMLAttribute(HTMLAttributeImpl *attr)
         setHTMLEventListener(EventImpl::KEYUP_EVENT,
 	    getDocument()->createHTMLEventListener(attr->value().string()));
         break;
+    case ATTR_ONSCROLL:
+        setHTMLEventListener(EventImpl::SCROLL_EVENT,
+            getDocument()->createHTMLEventListener(attr->value().string()));
+        break;
 // other misc attributes
     default:
 #ifdef UNSUPPORTED_ATTR
diff --git a/WebCore/khtml/misc/htmlattrs.c b/WebCore/khtml/misc/htmlattrs.c
index 54b2de1..259221c 100644
--- a/WebCore/khtml/misc/htmlattrs.c
+++ b/WebCore/khtml/misc/htmlattrs.c
@@ -8,7 +8,7 @@ struct attrs {
     const char *name;
     int id;
 };
-/* maximum key range = 809, duplicates = 1 */
+/* maximum key range = 894, duplicates = 1 */
 
 #ifdef __GNUC__
 __inline
@@ -22,32 +22,32 @@ hash_attr (register const char *str, register unsigned int len)
 {
   static const unsigned short asso_values[] =
     {
-      812, 812, 812, 812, 812, 812, 812, 812, 812, 812,
-      812, 812, 812, 812, 812, 812, 812, 812, 812, 812,
-      812, 812, 812, 812, 812, 812, 812, 812, 812, 812,
-      812, 812, 812, 812, 812, 812, 812, 812, 812, 812,
-      812, 812, 812, 812, 812,   0, 812, 812, 812, 812,
-      812, 812, 812, 812, 812, 812, 812, 812, 812, 812,
-      812, 812, 812, 812, 812, 812, 812, 812, 812, 812,
-      812, 812, 812, 812, 812, 812, 812, 812, 812, 812,
-      812, 812, 812, 812, 812, 812, 812, 812, 812, 812,
-      812, 812, 812, 812, 812, 812, 812,  25, 260,  10,
-       35,   0, 120,  50, 105,   0,   0, 175,   0, 215,
-        0,   0,   0,   5,  20,  80,   0, 140, 150,  10,
-       30,  40,   0, 812, 812, 812, 812, 812, 812, 812,
-      812, 812, 812, 812, 812, 812, 812, 812, 812, 812,
-      812, 812, 812, 812, 812, 812, 812, 812, 812, 812,
-      812, 812, 812, 812, 812, 812, 812, 812, 812, 812,
-      812, 812, 812, 812, 812, 812, 812, 812, 812, 812,
-      812, 812, 812, 812, 812, 812, 812, 812, 812, 812,
-      812, 812, 812, 812, 812, 812, 812, 812, 812, 812,
-      812, 812, 812, 812, 812, 812, 812, 812, 812, 812,
-      812, 812, 812, 812, 812, 812, 812, 812, 812, 812,
-      812, 812, 812, 812, 812, 812, 812, 812, 812, 812,
-      812, 812, 812, 812, 812, 812, 812, 812, 812, 812,
-      812, 812, 812, 812, 812, 812, 812, 812, 812, 812,
-      812, 812, 812, 812, 812, 812, 812, 812, 812, 812,
-      812, 812, 812, 812, 812, 812
+      903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
+      903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
+      903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
+      903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
+      903, 903, 903, 903, 903,  10, 903, 903, 903, 903,
+      903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
+      903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
+      903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
+      903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
+      903, 903, 903, 903, 903, 903, 903,  25, 180,  10,
+       75,   0, 235, 195, 125,   0,  10, 265,   0, 150,
+        0,   0,  35,   0,  30,   5,  45,  20, 135, 150,
+        0,  20,   0, 903, 903, 903, 903, 903, 903, 903,
+      903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
+      903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
+      903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
+      903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
+      903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
+      903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
+      903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
+      903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
+      903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
+      903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
+      903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
+      903, 903, 903, 903, 903, 903, 903, 903, 903, 903,
+      903, 903, 903, 903, 903, 903
     };
   register int hval = len;
 
@@ -97,273 +97,285 @@ findAttr (register const char *str, register unsigned int len)
 {
   enum
     {
-      TOTAL_KEYWORDS = 161,
+      TOTAL_KEYWORDS = 162,
       MIN_WORD_LENGTH = 2,
       MAX_WORD_LENGTH = 15,
-      MIN_HASH_VALUE = 3,
-      MAX_HASH_VALUE = 811
+      MIN_HASH_VALUE = 9,
+      MAX_HASH_VALUE = 902
     };
 
   static const struct attrs wordlist_attr[] =
     {
-      {"top", ATTR_TOP},
+      {"size", ATTR_SIZE},
+      {"cols", ATTR_COLS},
+      {"rel", ATTR_REL},
+      {"axis", ATTR_AXIS},
       {"loop", ATTR_LOOP},
-      {"title", ATTR_TITLE},
+      {"noresize", ATTR_NORESIZE},
+      {"onresize", ATTR_ONRESIZE},
+      {"color", ATTR_COLOR},
+      {"src", ATTR_SRC},
+      {"class", ATTR_CLASS},
+      {"onscroll", ATTR_ONSCROLL},
+      {"scope", ATTR_SCOPE},
       {"cite", ATTR_CITE},
-      {"content", ATTR_CONTENT},
-      {"rel", ATTR_REL},
-      {"alt", ATTR_ALT},
+      {"rules", ATTR_RULES},
       {"plain", ATTR_PLAIN},
-      {"text", ATTR_TEXT},
-      {"color", ATTR_COLOR},
+      {"onselect", ATTR_ONSELECT},
+      {"span", ATTR_SPAN},
+      {"clear", ATTR_CLEAR},
+      {"alt", ATTR_ALT},
+      {"style", ATTR_STYLE},
       {"id", ATTR_ID},
+      {"colspan", ATTR_COLSPAN},
+      {"top", ATTR_TOP},
       {"action", ATTR_ACTION},
-      {"type", ATTR_TYPE},
+      {"onreset", ATTR_ONRESET},
       {"code", ATTR_CODE},
-      {"accept", ATTR_ACCEPT},
-      {"enctype", ATTR_ENCTYPE},
-      {"dir", ATTR_DIR},
-      {"wrap", ATTR_WRAP},
-      {"clear", ATTR_CLEAR},
-      {"nowrap", ATTR_NOWRAP},
-      {"onload", ATTR_ONLOAD},
-      {"onerror", ATTR_ONERROR},
       {"z-index", ATTR_Z_INDEX},
+      {"text", ATTR_TEXT},
+      {"title", ATTR_TITLE},
+      {"onerror", ATTR_ONERROR},
+      {"type", ATTR_TYPE},
+      {"onload", ATTR_ONLOAD},
+      {"content", ATTR_CONTENT},
+      {"dir", ATTR_DIR},
+      {"results", ATTR_RESULTS},
+      {"enctype", ATTR_ENCTYPE},
+      {"coords", ATTR_COORDS},
+      {"classid", ATTR_CLASSID},
+      {"onunload", ATTR_ONUNLOAD},
+      {"accept", ATTR_ACCEPT},
+      {"selected", ATTR_SELECTED},
+      {"declare", ATTR_DECLARE},
+      {"start", ATTR_START},
+      {"readonly", ATTR_READONLY},
+      {"rev", ATTR_REV},
       {"direction", ATTR_DIRECTION},
-      {"lang", ATTR_LANG},
-      {"align", ATTR_ALIGN},
-      {"size", ATTR_SIZE},
+      {"nosave", ATTR_NOSAVE},
       {"data", ATTR_DATA},
-      {"codetype", ATTR_CODETYPE},
-      {"cols", ATTR_COLS},
-      {"scope", ATTR_SCOPE},
-      {"declare", ATTR_DECLARE},
-      {"onselect", ATTR_ONSELECT},
-      {"target", ATTR_TARGET},
-      {"onreset", ATTR_ONRESET},
-      {"noresize", ATTR_NORESIZE},
-      {"onresize", ATTR_ONRESIZE},
-      {"span", ATTR_SPAN},
-      {"pagex", ATTR_PAGEX},
-      {"src", ATTR_SRC},
+      {"scrolldelay", ATTR_SCROLLDELAY},
+      {"version", ATTR_VERSION},
+      {"name", ATTR_NAME},
+      {"value", ATTR_VALUE},
       {"rows", ATTR_ROWS},
-      {"pagey", ATTR_PAGEY},
-      {"colspan", ATTR_COLSPAN},
-      {"left", ATTR_LEFT},
-      {"style", ATTR_STYLE},
-      {"readonly", ATTR_READONLY},
-      {"start", ATTR_START},
-      {"selected", ATTR_SELECTED},
-      {"axis", ATTR_AXIS},
-      {"rowspan", ATTR_ROWSPAN},
-      {"for", ATTR_FOR},
-      {"profile", ATTR_PROFILE},
-      {"coords", ATTR_COORDS},
-      {"width", ATTR_WIDTH},
-      {"face", ATTR_FACE},
+      {"codetype", ATTR_CODETYPE},
       {"char", ATTR_CHAR},
-      {"cellpadding", ATTR_CELLPADDING},
+      {"shape", ATTR_SHAPE},
+      {"onsearch", ATTR_ONSEARCH},
+      {"hspace", ATTR_HSPACE},
+      {"label", ATTR_LABEL},
+      {"vspace", ATTR_VSPACE},
+      {"oversrc", ATTR_OVERSRC},
+      {"truespeed", ATTR_TRUESPEED},
+      {"ismap", ATTR_ISMAP},
+      {"lang", ATTR_LANG},
+      {"align", ATTR_ALIGN},
+      {"onblur", ATTR_ONBLUR},
+      {"noshade", ATTR_NOSHADE},
+      {"onmouseup", ATTR_ONMOUSEUP},
+      {"usemap", ATTR_USEMAP},
+      {"wrap", ATTR_WRAP},
+      {"nowrap", ATTR_NOWRAP},
+      {"charset", ATTR_CHARSET},
       {"scrolling", ATTR_SCROLLING},
-      {"rev", ATTR_REV},
+      {"onmouseout", ATTR_ONMOUSEOUT},
+      {"object", ATTR_OBJECT},
+      {"rowspan", ATTR_ROWSPAN},
+      {"media", ATTR_MEDIA},
+      {"multiple", ATTR_MULTIPLE},
+      {"pagex", ATTR_PAGEX},
+      {"autosave", ATTR_AUTOSAVE},
+      {"headers", ATTR_HEADERS},
+      {"for", ATTR_FOR},
       {"link", ATTR_LINK},
-      {"defer", ATTR_DEFER},
+      {"incremental", ATTR_INCREMENTAL},
+      {"face", ATTR_FACE},
+      {"onfocus", ATTR_ONFOCUS},
+      {"pagey", ATTR_PAGEY},
       {"hidden", ATTR_HIDDEN},
-      {"longdesc", ATTR_LONGDESC},
+      {"compact", ATTR_COMPACT},
+      {"oncontextmenu", ATTR_ONCONTEXTMENU},
+      {"left", ATTR_LEFT},
+      {"onabort", ATTR_ONABORT},
+      {"valuetype", ATTR_VALUETYPE},
       {"cellspacing", ATTR_CELLSPACING},
-      {"onchange", ATTR_ONCHANGE},
-      {"challenge", ATTR_CHALLENGE},
-      {"class", ATTR_CLASS},
       {"onclick", ATTR_ONCLICK},
+      {"longdesc", ATTR_LONGDESC},
       {"alink", ATTR_ALINK},
+      {"scheme", ATTR_SCHEME},
+      {"scrollamount", ATTR_SCROLLAMOUNT},
+      {"prompt", ATTR_PROMPT},
+      {"codebase", ATTR_CODEBASE},
+      {"profile", ATTR_PROFILE},
+      {"pluginurl", ATTR_PLUGINURL},
       {"placeholder", ATTR_PLACEHOLDER},
-      {"onunload", ATTR_ONUNLOAD},
-      {"shape", ATTR_SHAPE},
-      {"scrolldelay", ATTR_SCROLLDELAY},
-      {"hspace", ATTR_HSPACE},
+      {"border", ATTR_BORDER},
+      {"html", ATTR_HTML},
+      {"mayscript", ATTR_MAYSCRIPT},
+      {"archive", ATTR_ARCHIVE},
+      {"tabindex", ATTR_TABINDEX},
+      {"cellborder", ATTR_CELLBORDER},
+      {"autocomplete", ATTR_AUTOCOMPLETE},
+      {"defer", ATTR_DEFER},
+      {"target", ATTR_TARGET},
+      {"onkeyup", ATTR_ONKEYUP},
+      {"datetime", ATTR_DATETIME},
+      {"accesskey", ATTR_ACCESSKEY},
+      {"onmouseover", ATTR_ONMOUSEOVER},
+      {"standby", ATTR_STANDBY},
       {"valign", ATTR_VALIGN},
-      {"classid", ATTR_CLASSID},
-      {"prompt", ATTR_PROMPT},
-      {"name", ATTR_NAME},
-      {"rules", ATTR_RULES},
-      {"charset", ATTR_CHARSET},
-      {"onsearch", ATTR_ONSEARCH},
+      {"onchange", ATTR_ONCHANGE},
+      {"challenge", ATTR_CHALLENGE},
+      {"bordercolor", ATTR_BORDERCOLOR},
+      {"disabled", ATTR_DISABLED},
+      {"onkeypress", ATTR_ONKEYPRESS},
+      {"accept-charset", ATTR_ACCEPT_CHARSET},
+      {"keytype", ATTR_KEYTYPE},
       {"href", ATTR_HREF},
+      {"visibility", ATTR_VISIBILITY},
       {"nohref", ATTR_NOHREF},
-      {"noshade", ATTR_NOSHADE},
-      {"version", ATTR_VERSION},
-      {"nosave", ATTR_NOSAVE},
-      {"keytype", ATTR_KEYTYPE},
-      {"height", ATTR_HEIGHT},
-      {"compact", ATTR_COMPACT},
-      {"onkeydown", ATTR_ONKEYDOWN},
-      {"vspace", ATTR_VSPACE},
-      {"headers", ATTR_HEADERS},
-      {"pluginpage", ATTR_PLUGINPAGE},
-      {"object", ATTR_OBJECT},
-      {"media", ATTR_MEDIA},
-      {"incremental", ATTR_INCREMENTAL},
-      {"datetime", ATTR_DATETIME},
-      {"truespeed", ATTR_TRUESPEED},
-      {"oversrc", ATTR_OVERSRC},
-      {"label", ATTR_LABEL},
-      {"language", ATTR_LANGUAGE},
-      {"accept-charset", ATTR_ACCEPT_CHARSET},
-      {"onabort", ATTR_ONABORT},
-      {"archive", ATTR_ARCHIVE},
-      {"topmargin", ATTR_TOPMARGIN},
-      {"value", ATTR_VALUE},
-      {"html", ATTR_HTML},
-      {"ismap", ATTR_ISMAP},
-      {"results", ATTR_RESULTS},
-      {"hreflang", ATTR_HREFLANG},
+      {"width", ATTR_WIDTH},
+      {"method", ATTR_METHOD},
       {"vlink", ATTR_VLINK},
+      {"summary", ATTR_SUMMARY},
+      {"onsubmit", ATTR_ONSUBMIT},
+      {"onmousedown", ATTR_ONMOUSEDOWN},
+      {"abbr", ATTR_ABBR},
+      {"bgcolor", ATTR_BGCOLOR},
+      {"http-equiv", ATTR_HTTP_EQUIV},
+      {"cellpadding", ATTR_CELLPADDING},
+      {"contenteditable", ATTR_CONTENTEDITABLE},
       {"unknown", ATTR_UNKNOWN},
-      {"border", ATTR_BORDER},
+      {"frame", ATTR_FRAME},
+      {"language", ATTR_LANGUAGE},
+      {"onmousemove", ATTR_ONMOUSEMOVE},
+      {"topmargin", ATTR_TOPMARGIN},
       {"checked", ATTR_CHECKED},
-      {"contenteditable", ATTR_CONTENTEDITABLE},
-      {"bgcolor", ATTR_BGCOLOR},
-      {"cellborder", ATTR_CELLBORDER},
+      {"height", ATTR_HEIGHT},
+      {"behavior", ATTR_BEHAVIOR},
+      {"pluginpage", ATTR_PLUGINPAGE},
+      {"onkeydown", ATTR_ONKEYDOWN},
       {"pluginspage", ATTR_PLUGINSPAGE},
-      {"onfocus", ATTR_ONFOCUS},
-      {"tabindex", ATTR_TABINDEX},
-      {"pluginurl", ATTR_PLUGINURL},
-      {"method", ATTR_METHOD},
-      {"onkeyup", ATTR_ONKEYUP},
-      {"multiple", ATTR_MULTIPLE},
-      {"valuetype", ATTR_VALUETYPE},
-      {"bordercolor", ATTR_BORDERCOLOR},
-      {"frame", ATTR_FRAME},
-      {"mayscript", ATTR_MAYSCRIPT},
-      {"autocomplete", ATTR_AUTOCOMPLETE},
-      {"onkeypress", ATTR_ONKEYPRESS},
-      {"charoff", ATTR_CHAROFF},
-      {"oncontextmenu", ATTR_ONCONTEXTMENU},
-      {"http-equiv", ATTR_HTTP_EQUIV},
-      {"scheme", ATTR_SCHEME},
-      {"codebase", ATTR_CODEBASE},
-      {"onblur", ATTR_ONBLUR},
-      {"autosave", ATTR_AUTOSAVE},
-      {"accesskey", ATTR_ACCESSKEY},
       {"maxlength", ATTR_MAXLENGTH},
-      {"leftmargin", ATTR_LEFTMARGIN},
-      {"bgproperties", ATTR_BGPROPERTIES},
-      {"disabled", ATTR_DISABLED},
-      {"standby", ATTR_STANDBY},
-      {"usemap", ATTR_USEMAP},
-      {"marginwidth", ATTR_MARGINWIDTH},
-      {"onmousedown", ATTR_ONMOUSEDOWN},
       {"ondblclick", ATTR_ONDBLCLICK},
-      {"scrollamount", ATTR_SCROLLAMOUNT},
-      {"visibility", ATTR_VISIBILITY},
-      {"behavior", ATTR_BEHAVIOR},
-      {"abbr", ATTR_ABBR},
-      {"marginheight", ATTR_MARGINHEIGHT},
-      {"onmouseup", ATTR_ONMOUSEUP},
-      {"onmouseout", ATTR_ONMOUSEOUT},
-      {"onmouseover", ATTR_ONMOUSEOVER},
+      {"bgproperties", ATTR_BGPROPERTIES},
       {"tableborder", ATTR_TABLEBORDER},
-      {"onsubmit", ATTR_ONSUBMIT},
-      {"background", ATTR_BACKGROUND},
+      {"hreflang", ATTR_HREFLANG},
+      {"charoff", ATTR_CHAROFF},
+      {"leftmargin", ATTR_LEFTMARGIN},
       {"frameborder", ATTR_FRAMEBORDER},
-      {"summary", ATTR_SUMMARY},
-      {"onmousemove", ATTR_ONMOUSEMOVE}
+      {"marginwidth", ATTR_MARGINWIDTH},
+      {"background", ATTR_BACKGROUND},
+      {"marginheight", ATTR_MARGINHEIGHT}
     };
 
   static const short lookup[] =
     {
-        -1,   -1,   -1,    0,    1,    2,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,    3,   -1,
-        -1,    4,   -1,   -1,   -1,   -1,   -1,    5,
-        -1,   -1,   -1,   -1,    6,   -1,    7,   -1,
-        -1,   -1,    8,    9,   -1,   10,   -1,   -1,
-        -1,   11,   -1,   -1,   12,   -1,   -1,   -1,
-        -1,   13,   -1,   14,   -1,   -1,   -1,   -1,
-        -1,   15,   16,   17,   18,   19,   -1,   -1,
-        -1,   -1,   20,   21,   -1,   -1,   -1,   -1,
-        22,   -1,   23,   -1,   -1,   -1,   -1,   24,
-        25,   -1,   -1,   -1,   26,   -1,   -1,   -1,
-        -1,   27,   -1,   -1,   -1,   28,   29,   30,
-        -1,   31,   32,   -1,   -1,   33,   -1,   -1,
-        -1,   -1,   -1,   34, -273,   37,   38, -126,
-        -2,   39,   40,   -1,   -1,   -1,   -1,   -1,
-        41,   -1,   42,   -1,   43,   44,   -1,   -1,
-        45,   -1,   46,   -1,   -1,   47,   -1,   -1,
-        -1,   -1,   -1,   48,   -1,   -1,   49,   50,
-        -1,   -1,   -1,   51,   -1,   -1,   -1,   52,
-        -1,   -1,   -1,   53,   -1,   -1,   -1,   54,
-        -1,   -1,   -1,   -1,   55,   -1,   56,   -1,
-        -1,   57,   -1,   -1,   -1,   58,   -1,   -1,
-        -1,   -1,   -1,   59,   60,   61,   -1,   62,
-        -1,   -1,   63,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   64,   65,
-        66,   -1,   67,   -1,   -1,   68,   69,   -1,
-        70,   -1,   -1,   -1,   -1,   -1,   -1,   71,
-        -1,   -1,   -1,   -1,   -1,   72,   -1,   -1,
-        -1,   -1,   73,   -1,   -1,   -1,   -1,   74,
-        -1,   -1,   -1,   -1,   -1,   75,   -1,   -1,
-        -1,   76,   -1,   -1,   77,   78,   -1,   79,
-        80,   81,   -1,   82,   83,   -1,   -1,   -1,
-        -1,   84,   -1,   -1,   -1,   85,   86,   -1,
-        -1,   -1,   87,   88,   -1,   89,   -1,   90,
-        91,   -1,   -1,   92,   93,   -1,   -1,   -1,
-        94,   95,   -1,   96,   97,   -1,   -1,   98,
-        -1,   -1,   99,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,  100,  101,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-       102,   -1,   -1,   -1,   -1,  103,   -1,  104,
-       105,   -1,   -1,   -1,  106,  107,   -1,  108,
-       109,   -1,  110,   -1,  111,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,  112,  113,   -1,
-        -1,  114,   -1,  115,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,  116,  117,  118,  119,  120,
-        -1,  121,  122,  123,  124,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-       125,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,  126,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,  127,
-        -1,   -1,  128,   -1,   -1,  129,   -1,  130,
-       131,   -1,  132,   -1,   -1,   -1,   -1,   -1,
-       133,   -1,  134,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,  135,   -1,  136,  137,   -1,   -1,
-        -1,   -1,  138,   -1,   -1,   -1,   -1,   -1,
-       139,   -1,  140,  141,   -1,   -1,   -1,  142,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,  143,   -1,   -1,   -1,   -1,  144,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,  145,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,  146,   -1,  147,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,  148,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-       149,  150,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,  151,   -1,
-       152,  153,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,    0,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,    1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,    2,    3,   -1,   -1,   -1,   -1,    4,
+        -1,   -1,   -1, -209,   -1,    7, -157,   -2,
+         8,   -1,    9,   -1,   -1,   10,   -1,   11,
+        -1,   -1,   -1,   12,   13,   -1,   -1,   -1,
+        -1,   14,   -1,   -1,   15,   16,   17,   -1,
+        -1,   18,   -1,   19,   -1,   20,   -1,   -1,
+        -1,   -1,   21,   22,   -1,   -1,   23,   24,
+        -1,   25,   -1,   -1,   26,   -1,   27,   28,
+        -1,   29,   -1,   -1,   -1,   -1,   -1,   -1,
+        30,   -1,   31,   32,   33,   -1,   -1,   -1,
+        34,   -1,   -1,   -1,   -1,   35,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   36,   37,
+        38,   -1,   -1,   39,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   40,
+        -1,   -1,   -1,   41,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   42,   -1,   -1,   43,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        44,   45,   -1,   46,   -1,   -1,   47,   -1,
+        48,   49,   -1,   50,   -1,   -1,   -1,   -1,
+        -1,   51,   -1,   -1,   -1,   52,   -1,   -1,
+        -1,   53,   54,   55,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   56,   -1,   -1,   57,   -1,
+        -1,   -1,   58,   -1,   -1,   -1,   -1,   -1,
+        59,   60,   -1,   61,   62,   -1,   -1,   -1,
+        63,   64,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   65,   66,   -1,   67,
+        -1,   68,   -1,   -1,   69,   -1,   70,   71,
+        -1,   72,   73,   74,   75,   -1,   -1,   76,
+        -1,   -1,   77,   -1,   78,   -1,   -1,   79,
+        -1,   -1,   -1,   80,   81,   82,   -1,   83,
+        -1,   -1,   84,   -1,   -1,   85,   -1,   -1,
+        86,   87,   88,   89,   90,   -1,   -1,   91,
+        -1,   92,   -1,   93,   94,   95,   -1,   96,
+        97,   98,   -1,   -1,   -1,   99,   -1,  100,
+        -1,   -1,   -1,  101,   -1,  102,   -1,  103,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,  104,   -1,   -1,  105,   -1,   -1,   -1,
+        -1,  106,   -1,   -1,  107,  108,   -1,  109,
+        -1,   -1,   -1,   -1,   -1,   -1,  110,   -1,
+        -1,  111,  112,  113,  114,  115,   -1,  116,
+        -1,   -1,   -1,   -1,   -1,  117,   -1,   -1,
+        -1,  118,   -1,  119,  120,   -1,  121,   -1,
+       122,   -1,  123,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,  124,   -1,   -1,
+       125,   -1,  126,  127,  128,   -1,   -1,   -1,
+       129,  130,   -1,   -1,   -1,  131,   -1,  132,
+       133,   -1,   -1,  134,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,  135,   -1,   -1,  136,   -1,
+        -1,  137,  138,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+       139,   -1,  140,   -1,   -1,  141,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,  142,   -1,   -1,  143,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,  144,   -1,   -1,  145,   -1,   -1,   -1,
+       146,   -1,   -1,   -1,   -1,   -1,   -1,  147,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,  148,   -1,   -1,   -1,  149,
+        -1,  150,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,  151,  152,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,  153,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        154,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,  155,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,  155,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,  156,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,  157,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,  156,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,  157,  158,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,  158,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,  159,   -1,
+        -1,   -1,  160,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
@@ -372,7 +384,7 @@ findAttr (register const char *str, register unsigned int len)
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,  160
+        -1,   -1,   -1,   -1,   -1,   -1,  161
     };
 
   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
@@ -517,6 +529,7 @@ static const char * const attrList[] = {
     "ONMOUSEUP",
     "ONRESET",
     "ONRESIZE",
+    "ONSCROLL",
     "ONSEARCH",
     "ONSELECT",
     "ONSUBMIT",
diff --git a/WebCore/khtml/misc/htmlattrs.h b/WebCore/khtml/misc/htmlattrs.h
index 040655a..14bcd7d 100644
--- a/WebCore/khtml/misc/htmlattrs.h
+++ b/WebCore/khtml/misc/htmlattrs.h
@@ -112,63 +112,64 @@ htmlattrs.in by makeattrs, do not edit */
 #define ATTR_ONMOUSEUP 103
 #define ATTR_ONRESET 104
 #define ATTR_ONRESIZE 105
-#define ATTR_ONSEARCH 106
-#define ATTR_ONSELECT 107
-#define ATTR_ONSUBMIT 108
-#define ATTR_ONUNLOAD 109
-#define ATTR_OVERSRC 110
-#define ATTR_PAGEX 111
-#define ATTR_PAGEY 112
-#define ATTR_PLACEHOLDER 113
-#define ATTR_PLAIN 114
-#define ATTR_PLUGINPAGE 115
-#define ATTR_PLUGINSPAGE 116
-#define ATTR_PLUGINURL 117
-#define ATTR_PROFILE 118
-#define ATTR_PROMPT 119
-#define ATTR_READONLY 120
-#define ATTR_REL 121
-#define ATTR_RESULTS 122
-#define ATTR_REV 123
-#define ATTR_ROWS 124
-#define ATTR_ROWSPAN 125
-#define ATTR_RULES 126
-#define ATTR_SCHEME 127
-#define ATTR_SCOPE 128
-#define ATTR_SCROLLAMOUNT 129
-#define ATTR_SCROLLDELAY 130
-#define ATTR_SCROLLING 131
-#define ATTR_SELECTED 132
-#define ATTR_SHAPE 133
-#define ATTR_SIZE 134
-#define ATTR_SPAN 135
-#define ATTR_SRC 136
-#define ATTR_STANDBY 137
-#define ATTR_START 138
-#define ATTR_STYLE 139
-#define ATTR_SUMMARY 140
-#define ATTR_TABINDEX 141
-#define ATTR_TABLEBORDER 142
-#define ATTR_TARGET 143
-#define ATTR_TEXT 144
-#define ATTR_TITLE 145
-#define ATTR_TOP 146
-#define ATTR_TOPMARGIN 147
-#define ATTR_TRUESPEED 148
-#define ATTR_TYPE 149
-#define ATTR_UNKNOWN 150
-#define ATTR_USEMAP 151
-#define ATTR_VALIGN 152
-#define ATTR_VALUE 153
-#define ATTR_VALUETYPE 154
-#define ATTR_VERSION 155
-#define ATTR_VISIBILITY 156
-#define ATTR_VLINK 157
-#define ATTR_VSPACE 158
-#define ATTR_WIDTH 159
-#define ATTR_WRAP 160
-#define ATTR_Z_INDEX 161
-#define ATTR_LAST_ATTR 161
+#define ATTR_ONSCROLL 106
+#define ATTR_ONSEARCH 107
+#define ATTR_ONSELECT 108
+#define ATTR_ONSUBMIT 109
+#define ATTR_ONUNLOAD 110
+#define ATTR_OVERSRC 111
+#define ATTR_PAGEX 112
+#define ATTR_PAGEY 113
+#define ATTR_PLACEHOLDER 114
+#define ATTR_PLAIN 115
+#define ATTR_PLUGINPAGE 116
+#define ATTR_PLUGINSPAGE 117
+#define ATTR_PLUGINURL 118
+#define ATTR_PROFILE 119
+#define ATTR_PROMPT 120
+#define ATTR_READONLY 121
+#define ATTR_REL 122
+#define ATTR_RESULTS 123
+#define ATTR_REV 124
+#define ATTR_ROWS 125
+#define ATTR_ROWSPAN 126
+#define ATTR_RULES 127
+#define ATTR_SCHEME 128
+#define ATTR_SCOPE 129
+#define ATTR_SCROLLAMOUNT 130
+#define ATTR_SCROLLDELAY 131
+#define ATTR_SCROLLING 132
+#define ATTR_SELECTED 133
+#define ATTR_SHAPE 134
+#define ATTR_SIZE 135
+#define ATTR_SPAN 136
+#define ATTR_SRC 137
+#define ATTR_STANDBY 138
+#define ATTR_START 139
+#define ATTR_STYLE 140
+#define ATTR_SUMMARY 141
+#define ATTR_TABINDEX 142
+#define ATTR_TABLEBORDER 143
+#define ATTR_TARGET 144
+#define ATTR_TEXT 145
+#define ATTR_TITLE 146
+#define ATTR_TOP 147
+#define ATTR_TOPMARGIN 148
+#define ATTR_TRUESPEED 149
+#define ATTR_TYPE 150
+#define ATTR_UNKNOWN 151
+#define ATTR_USEMAP 152
+#define ATTR_VALIGN 153
+#define ATTR_VALUE 154
+#define ATTR_VALUETYPE 155
+#define ATTR_VERSION 156
+#define ATTR_VISIBILITY 157
+#define ATTR_VLINK 158
+#define ATTR_VSPACE 159
+#define ATTR_WIDTH 160
+#define ATTR_WRAP 161
+#define ATTR_Z_INDEX 162
+#define ATTR_LAST_ATTR 162
 DOM::DOMString getAttrName(unsigned short id);
 
 #endif
diff --git a/WebCore/khtml/misc/htmlattrs.in b/WebCore/khtml/misc/htmlattrs.in
index a44ed92..7f06bac 100644
--- a/WebCore/khtml/misc/htmlattrs.in
+++ b/WebCore/khtml/misc/htmlattrs.in
@@ -103,6 +103,7 @@ onmouseover
 onmouseup
 onreset
 onresize
+onscroll
 onsearch
 onselect
 onsubmit
diff --git a/WebCore/khtml/rendering/render_layer.cpp b/WebCore/khtml/rendering/render_layer.cpp
index 6556eef..363688e 100644
--- a/WebCore/khtml/rendering/render_layer.cpp
+++ b/WebCore/khtml/rendering/render_layer.cpp
@@ -48,6 +48,7 @@
 #include "render_canvas.h"
 #include "render_arena.h"
 #include "xml/dom_docimpl.h"
+#include "xml/dom2_eventsimpl.h"
 #include "misc/htmltags.h"
 #include "html/html_blockimpl.h"
 
@@ -451,8 +452,6 @@ RenderLayer::scrollToOffset(int x, int y, bool updateScrollbars, bool repaint)
     m_scrollX = x;
     m_scrollY = y;
 
-    // FIXME: Fire the onscroll DOM event.
-
     // Update the positions of our child layers.
     for (RenderLayer* child = firstChild(); child; child = child->nextSibling())
         child->updateLayerPositions();
@@ -462,6 +461,9 @@ RenderLayer::scrollToOffset(int x, int y, bool updateScrollbars, bool repaint)
     m_object->updateWidgetPositions();
 #endif
 
+    // Fire the scroll DOM event.
+    m_object->element()->dispatchHTMLEvent(EventImpl::SCROLL_EVENT, true, false);
+
     // Just schedule a full repaint of our object.
     if (repaint)
         m_object->repaint(true);

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list