Changeset 28482 in webkit


Ignore:
Timestamp:
Dec 5, 2007 10:25:24 PM (16 years ago)
Author:
Darin Adler
Message:

Reviewed by Maciej.

I don't know how to reproduce this in a test.

  • bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark): Call JSEventTargetNode::mark instead of DOMObject::mark. There's no difference right now, but it's best to call your base class, not your base's base.
  • bindings/js/kjs_events.h: Removed unneeded virtual from the JSUnprotectedEventListener::mark() function; it neither derives from or is derived from anyone else with a mark() function so there's no need for virtual.
  • bindings/js/kjs_window.cpp: (KJS::Window::mark): Call JSGlobalObject::mark, not JSObject::mark. This is the actual bug fix.
Location:
trunk/WebCore
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r28481 r28482  
     12007-12-05  Darin Adler  <darin@apple.com>
     2
     3        Reviewed by Maciej.
     4
     5        - fix http://bugs.webkit.org/show_bug.cgi?id=16266
     6          <rdar://problem/5625279> REGRESSION: crash loading CNN.com at
     7          Interpreter::createObjectsForGlobalObjectProperties()
     8
     9        I don't know how to reproduce this in a test.
     10
     11        * bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark):
     12        Call JSEventTargetNode::mark instead of DOMObject::mark. There's no difference
     13        right now, but it's best to call your base class, not your base's base.
     14
     15        * bindings/js/kjs_events.h: Removed unneeded virtual from the
     16        JSUnprotectedEventListener::mark() function; it neither derives from or is
     17        derived from anyone else with a mark() function so there's no need for virtual.
     18
     19        * bindings/js/kjs_window.cpp: (KJS::Window::mark): Call JSGlobalObject::mark,
     20        not JSObject::mark. This is the actual bug fix.
     21
    1222007-12-05  Pierre-Luc Beaudoin  <pierre-luc.beaudoin@collabora.co.uk>
    223
  • trunk/WebCore/bindings/js/JSDocumentCustom.cpp

    r28468 r28482  
    4242void JSDocument::mark()
    4343{
    44     DOMObject::mark();
     44    JSEventTargetNode::mark();
    4545    ScriptInterpreter::markDOMNodesForDocument(static_cast<Document*>(impl()));
    4646}
  • trunk/WebCore/bindings/js/kjs_events.h

    r28468 r28482  
    5858        virtual KJS::Window* windowObj() const;
    5959        void clearWindowObj();
    60         virtual void mark();
     60        void mark();
    6161    private:
    6262        KJS::JSObject* m_listener;
  • trunk/WebCore/bindings/js/kjs_window.cpp

    r28468 r28482  
    287287void Window::mark()
    288288{
    289   JSObject::mark();
     289  JSGlobalObject::mark();
    290290  if (d->loc && !d->loc->marked())
    291291    d->loc->mark();
Note: See TracChangeset for help on using the changeset viewer.