Changeset 106488 in webkit


Ignore:
Timestamp:
Feb 1, 2012 1:34:08 PM (12 years ago)
Author:
rniwa@webkit.org
Message:

Crash in EventHandler::updateDragAndDrop
https://bugs.webkit.org/show_bug.cgi?id=77569

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Test: fast/events/remove-target-with-shadow-in-drag.html

  • page/EventHandler.cpp:

(WebCore::EventHandler::updateDragAndDrop):

LayoutTests:

  • fast/events/remove-target-with-shadow-in-drag-expected.txt: Added.
  • fast/events/remove-target-with-shadow-in-drag.html: Added.
Location:
trunk
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r106480 r106488  
     12012-02-01  Ryosuke Niwa  <rniwa@webkit.org>
     2
     3        Crash in EventHandler::updateDragAndDrop
     4        https://bugs.webkit.org/show_bug.cgi?id=77569
     5
     6        Reviewed by Alexey Proskuryakov.
     7
     8        * fast/events/remove-target-with-shadow-in-drag-expected.txt: Added.
     9        * fast/events/remove-target-with-shadow-in-drag.html: Added.
     10
    1112012-02-01  Szilard Ledan  <Ledan-Muntean.Szilard@stud.u-szeged.hu>
    212
  • trunk/Source/WebCore/ChangeLog

    r106487 r106488  
     12012-02-01  Ryosuke Niwa  <rniwa@webkit.org>
     2
     3        Crash in EventHandler::updateDragAndDrop
     4        https://bugs.webkit.org/show_bug.cgi?id=77569
     5
     6        Reviewed by Alexey Proskuryakov.
     7
     8        Test: fast/events/remove-target-with-shadow-in-drag.html
     9
     10        * page/EventHandler.cpp:
     11        (WebCore::EventHandler::updateDragAndDrop):
     12
    1132012-02-01  Sheriff Bot  <webkit.review.bot@gmail.com>
    214
  • trunk/Source/WebCore/page/EventHandler.cpp

    r106476 r106488  
    18381838
    18391839    // Drag events should never go to text nodes (following IE, and proper mouseover/out dispatch)
    1840     Node* newTarget = targetNode(mev);
     1840    RefPtr<Node> newTarget = targetNode(mev);
    18411841    if (newTarget && newTarget->isTextNode())
    18421842        newTarget = newTarget->parentNode();
     
    18511851        // Moreover, this ordering conforms to section 7.9.4 of the HTML 5 spec. <http://dev.w3.org/html5/spec/Overview.html#drag-and-drop-processing-model>.
    18521852        Frame* targetFrame;
    1853         if (targetIsFrame(newTarget, targetFrame)) {
     1853        if (targetIsFrame(newTarget.get(), targetFrame)) {
    18541854            if (targetFrame)
    18551855                accept = targetFrame->eventHandler()->updateDragAndDrop(event, clipboard);
     
    18601860                dispatchDragSrcEvent(eventNames().dragEvent, event);
    18611861            }
    1862             accept = dispatchDragEvent(eventNames().dragenterEvent, newTarget, event, clipboard);
     1862            accept = dispatchDragEvent(eventNames().dragenterEvent, newTarget.get(), event, clipboard);
    18631863            if (!accept)
    1864                 accept = findDropZone(newTarget, clipboard);
     1864                accept = findDropZone(newTarget.get(), clipboard);
    18651865        }
    18661866
     
    18781878    } else {
    18791879        Frame* targetFrame;
    1880         if (targetIsFrame(newTarget, targetFrame)) {
     1880        if (targetIsFrame(newTarget.get(), targetFrame)) {
    18811881            if (targetFrame)
    18821882                accept = targetFrame->eventHandler()->updateDragAndDrop(event, clipboard);
     
    18871887                dispatchDragSrcEvent(eventNames().dragEvent, event);
    18881888            }
    1889             accept = dispatchDragEvent(eventNames().dragoverEvent, newTarget, event, clipboard);
     1889            accept = dispatchDragEvent(eventNames().dragoverEvent, newTarget.get(), event, clipboard);
    18901890            if (!accept)
    1891                 accept = findDropZone(newTarget, clipboard);
     1891                accept = findDropZone(newTarget.get(), clipboard);
    18921892            m_shouldOnlyFireDragOverEvent = false;
    18931893        }
Note: See TracChangeset for help on using the changeset viewer.