Changeset 23983 in webkit


Ignore:
Timestamp:
Jul 4, 2007 3:56:08 AM (17 years ago)
Author:
bdash
Message:

2007-07-04 Mitz Pettel <mitz@webkit.org>

Reviewed by Maciej.

No test possible because DumpRenderTree cannot query the current cursor.

  • page/EventHandler.cpp: (WebCore::EventHandler::selectCursor): Changed into a member function and added that if the last mouse down event could not have started a selection, then the cursor should not change to an I-beam unconditionally. (WebCore::EventHandler::handleMouseMoveEvent):
  • page/EventHandler.h:
Location:
trunk/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r23982 r23983  
     12007-07-04  Mitz Pettel  <mitz@webkit.org>
     2
     3        Reviewed by Maciej.
     4
     5        - fix http://bugs.webkit.org/show_bug.cgi?id=14495
     6          REGRESSION: Wrong cursor is displayed during drag and drop when text is selected
     7          <rdar://problem/5312384>
     8
     9        No test possible because DumpRenderTree cannot query the current cursor.
     10
     11        * page/EventHandler.cpp:
     12        (WebCore::EventHandler::selectCursor): Changed into a member function and
     13        added that if the last mouse down event could not have started a
     14        selection, then the cursor should not change to an I-beam unconditionally.
     15        (WebCore::EventHandler::handleMouseMoveEvent):
     16        * page/EventHandler.h:
     17
    1182007-07-04  Holger Hans Peter Freyther  <zecke@selfish.org>
    219
  • trunk/WebCore/page/EventHandler.cpp

    r21925 r23983  
    637637}
    638638
    639 // FIXME: We should consider making this a member function now that we're passing in more info about the object.
    640 static Cursor selectCursor(const MouseEventWithHitTestResults& event, Frame* frame, bool mousePressed, PlatformScrollbar* scrollbar, bool capturingMouseEvents)
     639Cursor EventHandler::selectCursor(const MouseEventWithHitTestResults& event, PlatformScrollbar* scrollbar)
    641640{
    642641    // During selection, use an I-beam no matter what we're over.
    643642    // If you're capturing mouse events for a particular node, don't treat this as a selection.
    644     if (mousePressed && frame->selectionController()->isCaretOrRange() && !capturingMouseEvents)
     643    if (m_mousePressed && m_mouseDownMayStartSelect && m_frame->selectionController()->isCaretOrRange() && !m_capturingMouseEventsNode)
    645644        return iBeamCursor();
    646645
     
    680679            // If the link is editable, then we need to check the settings to see whether or not the link should be followed
    681680            if (editable) {
    682                 ASSERT(frame->settings());
    683                 switch(frame->settings()->editableLinkBehavior()) {
     681                ASSERT(m_frame->settings());
     682                switch(m_frame->settings()->editableLinkBehavior()) {
    684683                    default:
    685684                    case EditableLinkDefaultBehavior:
     
    693692
    694693                    case EditableLinkLiveWhenNotFocused:
    695                         editableLinkEnabled = nodeIsNotBeingEdited(node, frame) || event.event().shiftKey();
     694                        editableLinkEnabled = nodeIsNotBeingEdited(node, m_frame) || event.event().shiftKey();
    696695                        break;
    697696                   
     
    706705            RenderLayer* layer = renderer ? renderer->enclosingLayer() : 0;
    707706            bool inResizer = false;
    708             if (frame->view() && layer && layer->isPointInResizeControl(frame->view()->windowToContents(event.event().pos())))
     707            if (m_frame->view() && layer && layer->isPointInResizeControl(m_frame->view()->windowToContents(event.event().pos())))
    709708                inResizer = true;
    710709            if ((editable || (renderer && renderer->isText() && renderer->canSelect())) && !inResizer && !scrollbar)
     
    963962            scrollbar->handleMouseMoveEvent(mouseEvent); // Handle hover effects on platforms that support visual feedback on scrollbar hovering.
    964963        if ((!m_resizeLayer || !m_resizeLayer->inResizeMode()) && m_frame->view())
    965             m_frame->view()->setCursor(selectCursor(mev, m_frame, m_mousePressed, scrollbar, m_capturingMouseEventsNode));
     964            m_frame->view()->setCursor(selectCursor(mev, scrollbar));
    966965    }
    967966   
  • trunk/WebCore/page/EventHandler.h

    r21925 r23983  
    4949class AtomicString;
    5050class Clipboard;
     51class Cursor;
    5152class EventTargetNode;
    5253class Event;
     
    188189    bool handleMouseReleaseEvent(const MouseEventWithHitTestResults&);
    189190
     191    Cursor selectCursor(const MouseEventWithHitTestResults&, PlatformScrollbar*);
     192
    190193    void hoverTimerFired(Timer<EventHandler>*);
    191194
Note: See TracChangeset for help on using the changeset viewer.