Changeset 140286 in webkit
- Timestamp:
- Jan 20, 2013 5:29:07 PM (11 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 29 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r140276 r140286 1 2013-01-20 Yoshifumi Inoue <yosin@chromium.org> 2 3 Dragging over an element with scrollbars should scroll the element when dragging near edges 4 https://bugs.webkit.org/show_bug.cgi?id=39725 5 6 Reviewed by Hajime Morita. 7 8 This patch adds new test for autoscroll during drag-and-drop. 9 This test is skipped other than Chromium ports. 10 11 * fast/events/drag-and-drop-autoscroll-expected.txt: Added. 12 * fast/events/drag-and-drop-autoscroll.html: Added. 13 * platform/efl/TestExpectations: Changed to skip fast/events/drag-and-drop-autoscroll.html 14 * platform/wincairo/TestExpectations: ditto. 15 * platform/mac/TestExpectations: ditto. 16 * platform/mac/TestExpectations: ditto. 17 * platform/qt/TestExpectations: ditto. 18 * platform/gtk/TestExpectations: ditto. 19 * platform/win/TestExpectations: ditto. 20 * platform/wk2/TestExpectations: ditto. 21 1 22 2013-01-20 Filip Pizlo <fpizlo@apple.com> 2 23 -
trunk/LayoutTests/platform/efl/TestExpectations
r140257 r140286 1781 1781 webkit.org/b/105535 inspector-protocol/nmi-webaudio-leak-test.html [ Failure ] 1782 1782 1783 # Enable when support drag-and-drop autoscrolling 1784 webkit.org/b/39725 fast/events/drag-and-drop-autoscroll.html [ Skip ] 1785 1783 1786 # Leaking state into the next test. 1784 1787 webkit.org/b/85522 http/tests/security/sandboxed-iframe-form-top.html [ Skip ] -
trunk/LayoutTests/platform/gtk/TestExpectations
r140255 r140286 1341 1341 webkit.org/b/98146 accessibility/svg-bounds.html [ Failure ] 1342 1342 1343 # Enable when support drag-and-drop autoscrolling 1344 webkit.org/b/39725 fast/events/drag-and-drop-autoscroll.html [ Skip ] 1345 1343 1346 # Leaking state into the next test. 1344 1347 webkit.org/b/85522 http/tests/security/sandboxed-iframe-form-top.html [ Skip ] -
trunk/LayoutTests/platform/mac/TestExpectations
r140202 r140286 1274 1274 webkit.org/b/106415 fast/workers/worker-lifecycle.html [ Pass Failure ] 1275 1275 1276 # Enable when support drag-and-drop autoscrolling 1277 webkit.org/b/39725 fast/events/drag-and-drop-autoscroll.html [ Skip ] 1278 1276 1279 # Transient. Needs rebaseline. 1277 1280 webkit.org/b/103955 fast/repaint/4774354.html [ ImageOnlyFailure ] -
trunk/LayoutTests/platform/qt/TestExpectations
r139866 r140286 2516 2516 webkit.org/b/106459 [ Debug ] fast/js/dfg-create-inlined-arguments-in-closure-inline.html 2517 2517 2518 # Enable when support drag-and-drop autoscrolling 2519 webkit.org/b/39725 fast/events/drag-and-drop-autoscroll.html [ Skip ] 2520 2518 2521 # New inspector/editor/text-editor-formatter.html introduced in r139617 fails on EFL, Mac, QT 2519 2522 # https://bugs.webkit.org/show_bug.cgi?id=106883 -
trunk/LayoutTests/platform/win/TestExpectations
r139866 r140286 2507 2507 media/video-controls-visible-exiting-fullscreen.html 2508 2508 2509 # Enable when support drag-and-drop autoscrolling 2510 webkit.org/b/39725 fast/events/drag-and-drop-autoscroll.html [ Skip ] 2511 2509 2512 # Device Proximity is not enabled/implemented 2510 2513 proximity/add-listener-from-callback.html -
trunk/LayoutTests/platform/wincairo/TestExpectations
r139866 r140286 2960 2960 fast/xmlhttprequest/xmlhttprequest-recursive-sync-event.html 2961 2961 2962 # Enable when support drag-and-drop autoscrolling 2963 webkit.org/b/39725 fast/events/drag-and-drop-autoscroll.html [ Skip ] 2964 2962 2965 # CSS3_TEXT is disabled on Windows 2963 2966 fast/css3-text/css3-text-align-last/getComputedStyle/getComputedStyle-text-align-last-inherited.html -
trunk/Source/WebCore/ChangeLog
r140283 r140286 1 2013-01-20 Yoshifumi Inoue <yosin@chromium.org> 2 3 Dragging over an element with scrollbars should scroll the element when dragging near edges 4 https://bugs.webkit.org/show_bug.cgi?id=39725 5 6 Reviewed by Hajime Morita. 7 8 This patch introduces auto scrolling functionality during drag-and-drop 9 when drop source is near edge of scrollable element. 10 11 When drop source is inside 20px of scrollable element more than 200ms, 12 scrollable element is automatically scrolled every 50ms toward drop 13 source position, e.g. vertically scroll up when drop source is in top 14 edge. 15 16 Test: fast/events/drag-and-drop-autoscroll.html 17 18 * page/AutoscrollController.cpp: 19 (WebCore::AutoscrollController::AutoscrollController): Changed to initialize m_dragAndDropAutoscrollStartTime. 20 (WebCore::AutoscrollController::updateDragAndDrop): Added for start/stop autoscroll during drag-and-drop. 21 (WebCore::AutoscrollController::autoscrollTimerFired): Changed to add autoscroll for drag-and-drop, and to pass last know position to RenderBox::autoscroll(). 22 * page/AutoscrollController.h: 23 (AutoscrollController): Changed to add updateDragAndDrop() and m_dragAndDropAutoscrollReferencePosition and m_dragAndDropAutoscrollStartTime. 24 * page/ChromeClient.h: 25 (WebCore::ChromeClient): Changed to add new function shouldAutoscrollForDragAndDrop(). 26 * page/EventHandler.cpp: 27 (WebCore::EventHandler::updateDragAndDrop): Changed to call AutoscrollController::updateDragAndDrop(). 28 (WebCore::EventHandler::clearDragState): Changed to call stopAutoscrollTimer(). 29 * rendering/RenderBox.cpp: 30 (WebCore::RenderBox::autoscroll): Changed for new parameter position. 31 (WebCore::RenderBox::calculateAutoscrollDirection): Added for autoscroll. 32 * rendering/RenderBox.h: 33 (RenderBox): 34 * rendering/RenderLayer.cpp: 35 (WebCore::RenderLayer::autoscroll): Changed for new parameter position and move updateSelectionForMouseDrag() to AutoscrollController. 36 * rendering/RenderLayer.h: 37 (RenderLayer): 38 * rendering/RenderListBox.cpp: 39 (WebCore::RenderListBox::autoscroll): Changed for new parameter position. 40 * rendering/RenderListBox.h: 41 (RenderListBox): 42 * rendering/RenderTextControlSingleLine.cpp: 43 (WebCore::RenderTextControlSingleLine::autoscroll): Changed for new parameter position. 44 * rendering/RenderTextControlSingleLine.h: 45 (RenderTextControlSingleLine): 46 1 47 2013-01-20 Laszlo Gombos <l.gombos@samsung.com> 2 48 -
trunk/Source/WebCore/page/AutoscrollController.cpp
r140104 r140286 29 29 #include "AutoscrollController.h" 30 30 31 #include "Chrome.h" 32 #include "ChromeClient.h" 31 33 #include "EventHandler.h" 32 34 #include "Frame.h" … … 36 38 #include "RenderBox.h" 37 39 #include "ScrollView.h" 40 #include <wtf/CurrentTime.h> 38 41 39 42 namespace WebCore { 43 44 // Delay time in second for start autoscroll if pointer is in border edge of scrollable element. 45 static double autoscrollDelay = 0.2; 40 46 41 47 // When the autoscroll or the panScroll is triggered when do the scroll every 0.05s to make it smooth … … 54 60 , m_autoscrollRenderer(0) 55 61 , m_autoscrollType(NoAutoscroll) 62 , m_dragAndDropAutoscrollStartTime(0) 56 63 { 57 64 } … … 137 144 } 138 145 146 void AutoscrollController::updateDragAndDrop(Node* dropTargetNode, const IntPoint& eventPosition, double eventTime) 147 { 148 if (!dropTargetNode) { 149 stopAutoscrollTimer(); 150 return; 151 } 152 153 RenderBox* scrollable = RenderBox::findAutoscrollable(dropTargetNode->renderer()); 154 if (!scrollable) { 155 stopAutoscrollTimer(); 156 return; 157 } 158 159 Frame* frame = scrollable->frame(); 160 if (!frame) { 161 stopAutoscrollTimer(); 162 return; 163 } 164 165 Page* page = frame->page(); 166 if (!page || !page->chrome()->client()->shouldAutoscrollForDragAndDrop(scrollable)) { 167 stopAutoscrollTimer(); 168 return; 169 } 170 171 IntSize offset = scrollable->calculateAutoscrollDirection(eventPosition); 172 if (offset.isZero()) { 173 stopAutoscrollTimer(); 174 return; 175 } 176 177 m_dragAndDropAutoscrollReferencePosition = eventPosition + offset; 178 179 if (m_autoscrollType == NoAutoscroll) { 180 m_autoscrollType = AutoscrollForDragAndDrop; 181 m_autoscrollRenderer = scrollable; 182 m_dragAndDropAutoscrollStartTime = eventTime; 183 startAutoscrollTimer(); 184 } else if (m_autoscrollRenderer != scrollable) { 185 m_dragAndDropAutoscrollStartTime = eventTime; 186 m_autoscrollRenderer = scrollable; 187 } 188 } 189 139 190 #if ENABLE(PAN_SCROLLING) 140 191 void AutoscrollController::didPanScrollStart() … … 197 248 Frame* frame = m_autoscrollRenderer->frame(); 198 249 switch (m_autoscrollType) { 199 case AutoscrollForSelection: 200 if (!frame->eventHandler()->mousePressed()) { 250 case AutoscrollForDragAndDrop: 251 if (WTF::currentTime() - m_dragAndDropAutoscrollStartTime > autoscrollDelay) 252 m_autoscrollRenderer->autoscroll(m_dragAndDropAutoscrollReferencePosition); 253 break; 254 case AutoscrollForSelection: { 255 EventHandler* eventHandler = frame->eventHandler(); 256 if (!eventHandler->mousePressed()) { 201 257 stopAutoscrollTimer(); 202 258 return; 203 259 } 204 m_autoscrollRenderer->autoscroll(); 205 break; 260 eventHandler->updateSelectionForMouseDrag(); 261 m_autoscrollRenderer->autoscroll(eventHandler->lastKnownMousePosition()); 262 break; 263 } 206 264 case NoAutoscroll: 207 265 break; -
trunk/Source/WebCore/page/AutoscrollController.h
r140104 r140286 35 35 class Frame; 36 36 class FrameView; 37 class Node; 37 38 class PlatformMouseEvent; 38 39 class RenderBox; … … 41 42 enum AutoscrollType { 42 43 NoAutoscroll, 44 AutoscrollForDragAndDrop, 43 45 AutoscrollForSelection, 44 46 #if ENABLE(PAN_SCROLLING) … … 58 60 void stopAutoscrollTimer(bool rendererIsBeingDestroyed = false); 59 61 void updateAutoscrollRenderer(); 62 void updateDragAndDrop(Node* targetNode, const IntPoint& eventPosition, double eventTime); 60 63 #if ENABLE(PAN_SCROLLING) 61 64 void didPanScrollStart(); … … 76 79 RenderBox* m_autoscrollRenderer; 77 80 AutoscrollType m_autoscrollType; 81 IntPoint m_dragAndDropAutoscrollReferencePosition; 82 double m_dragAndDropAutoscrollStartTime; 78 83 #if ENABLE(PAN_SCROLLING) 79 84 IntPoint m_panScrollStartPos; -
trunk/Source/WebCore/page/ChromeClient.h
r139078 r140286 376 376 virtual PassRefPtr<Image> plugInStartLabelImage(RenderSnapshottedPlugIn::LabelSize) const { return 0; } 377 377 378 // FIXME: Port should return true using heuristic based on scrollable(RenderBox). 379 virtual bool shouldAutoscrollForDragAndDrop(RenderBox*) const { return false; } 380 378 381 protected: 379 382 virtual ~ChromeClient() { } -
trunk/Source/WebCore/page/EventHandler.cpp
r140177 r140286 1966 1966 newTarget = newTarget->parentNode(); 1967 1967 1968 m_autoscrollController->updateDragAndDrop(newTarget.get(), event.position(), event.timestamp()); 1969 1968 1970 if (m_dragTarget != newTarget) { 1969 1971 // FIXME: this ordering was explicitly chosen to match WinIE. However, … … 2049 2051 void EventHandler::clearDragState() 2050 2052 { 2053 stopAutoscrollTimer(); 2051 2054 m_dragTarget = 0; 2052 2055 m_capturingMouseEventsNode = 0; -
trunk/Source/WebCore/rendering/RenderBox.cpp
r140225 r140286 86 86 static OverrideSizeMap* gOverrideContainingBlockLogicalWidthMap = 0; 87 87 88 89 // Size of border belt for autoscroll. When mouse pointer in border belt, 90 // autoscroll is started. 91 static const int autoscrollBeltSize = 20; 92 88 93 bool RenderBox::s_hadOverflowClip = false; 89 94 … … 709 714 } 710 715 711 void RenderBox::autoscroll( )716 void RenderBox::autoscroll(const IntPoint& position) 712 717 { 713 718 if (layer()) 714 layer()->autoscroll( );719 layer()->autoscroll(position); 715 720 } 716 721 … … 734 739 Page* page = frame->page(); 735 740 return page && page->mainFrame() == frame; 741 } 742 743 // If specified point is in border belt, returned offset denotes direction of 744 // scrolling. 745 IntSize RenderBox::calculateAutoscrollDirection(const IntPoint& windowPoint) const 746 { 747 if (!frame()) 748 return IntSize(); 749 750 FrameView* frameView = frame()->view(); 751 if (!frameView) 752 return IntSize(); 753 754 IntSize offset; 755 IntPoint point = frameView->windowToContents(windowPoint); 756 IntRect box(absoluteBoundingBoxRect()); 757 758 if (point.x() < box.x() + autoscrollBeltSize) 759 point.move(-autoscrollBeltSize, 0); 760 else if (point.x() > box.maxX() - autoscrollBeltSize) 761 point.move(autoscrollBeltSize, 0); 762 763 if (point.y() < box.y() + autoscrollBeltSize) 764 point.move(0, -autoscrollBeltSize); 765 else if (point.y() > box.maxY() - autoscrollBeltSize) 766 point.move(0, autoscrollBeltSize); 767 return frameView->contentsToWindow(point) - windowPoint; 736 768 } 737 769 -
trunk/Source/WebCore/rendering/RenderBox.h
r139920 r140286 448 448 bool canBeScrolledAndHasScrollableArea() const; 449 449 virtual bool canBeProgramaticallyScrolled() const; 450 virtual void autoscroll( );450 virtual void autoscroll(const IntPoint&); 451 451 bool canAutoscroll() const; 452 IntSize calculateAutoscrollDirection(const IntPoint& windowPoint) const; 452 453 static RenderBox* findAutoscrollable(RenderObject*); 453 454 virtual void stopAutoscroll() { } -
trunk/Source/WebCore/rendering/RenderLayer.cpp
r140244 r140286 2302 2302 } 2303 2303 2304 void RenderLayer::autoscroll( )2304 void RenderLayer::autoscroll(const IntPoint& position) 2305 2305 { 2306 2306 Frame* frame = renderer()->frame(); … … 2312 2312 return; 2313 2313 2314 #if ENABLE(DRAG_SUPPORT) 2315 frame->eventHandler()->updateSelectionForMouseDrag(); 2316 #endif 2317 2318 IntPoint currentDocumentPosition = frameView->windowToContents(frame->eventHandler()->lastKnownMousePosition()); 2314 IntPoint currentDocumentPosition = frameView->windowToContents(position); 2319 2315 scrollRectToVisible(LayoutRect(currentDocumentPosition, LayoutSize(1, 1)), ScrollAlignment::alignToEdgeIfNeeded, ScrollAlignment::alignToEdgeIfNeeded); 2320 2316 } -
trunk/Source/WebCore/rendering/RenderLayer.h
r140177 r140286 374 374 375 375 bool scroll(ScrollDirection, ScrollGranularity, float multiplier = 1); 376 void autoscroll( );376 void autoscroll(const IntPoint&); 377 377 378 378 void resize(const PlatformMouseEvent&, const LayoutSize&); -
trunk/Source/WebCore/rendering/RenderListBox.cpp
r139536 r140286 558 558 } 559 559 560 void RenderListBox::autoscroll( )560 void RenderListBox::autoscroll(const IntPoint&) 561 561 { 562 562 IntPoint pos = frame()->view()->windowToContents(frame()->eventHandler()->lastKnownMousePosition()); -
trunk/Source/WebCore/rendering/RenderListBox.h
r139536 r140286 86 86 87 87 virtual bool canBeProgramaticallyScrolled() const { return true; } 88 virtual void autoscroll( );88 virtual void autoscroll(const IntPoint&); 89 89 virtual void stopAutoscroll(); 90 90 -
trunk/Source/WebCore/rendering/RenderTextControlSingleLine.cpp
r140244 r140286 382 382 } 383 383 384 void RenderTextControlSingleLine::autoscroll( )384 void RenderTextControlSingleLine::autoscroll(const IntPoint& position) 385 385 { 386 386 RenderLayer* layer = innerTextElement()->renderBox()->layer(); 387 387 if (layer) 388 layer->autoscroll( );388 layer->autoscroll(position); 389 389 } 390 390 -
trunk/Source/WebCore/rendering/RenderTextControlSingleLine.h
r140244 r140286 59 59 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE; 60 60 61 virtual void autoscroll( );61 virtual void autoscroll(const IntPoint&); 62 62 63 63 // Subclassed to forward to our inner div. -
trunk/Source/WebKit/chromium/ChangeLog
r140219 r140286 1 2013-01-20 Yoshifumi Inoue <yosin@chromium.org> 2 3 Dragging over an element with scrollbars should scroll the element when dragging near edges 4 https://bugs.webkit.org/show_bug.cgi?id=39725 5 6 Reviewed by Hajime Morita. 7 8 This patch removes DragScrollTimer used for automatic scrolling of main 9 frame drag-and-drop which is now implemented in EventHandler. 10 11 Another patch will remove DragScrollTimer.{cpp,h} and update GYP files to 12 make patch size small. 13 14 No tests. Existing test covers this change. 15 16 * src/ChromeClientImpl.cpp: 17 (WebKit::ChromeClientImpl::shouldAutoscrollForDragAndDrop): Added. 18 * src/ChromeClientImpl.h: 19 (ChromeClientImpl): Changed to add shouldAutoscrollForDragAndDrop(). 20 * src/WebViewImpl.cpp: 21 (WebKit::WebViewImpl::WebViewImpl): Changed to remove m_dragScrollTimer. 22 (WebKit::WebViewImpl::dragSourceEndedAt): ditto 23 (WebKit::WebViewImpl::dragSourceMovedTo): ditto 24 (WebKit::WebViewImpl::dragTargetDrop): ditto 25 (WebKit::WebViewImpl::dragTargetDragEnterOrOver): ditto 26 * src/WebViewImpl.h: 27 (WebKit): Chagned to remove DragScrollTimer. 28 1 29 2013-01-18 Alec Flett <alecflett@chromium.org> 2 30 -
trunk/Source/WebKit/chromium/src/ChromeClientImpl.cpp
r140025 r140286 1132 1132 } 1133 1133 1134 bool ChromeClientImpl::shouldAutoscrollForDragAndDrop(WebCore::RenderBox*) const 1135 { 1136 return true; 1137 } 1138 1139 1134 1140 #if ENABLE(TOUCH_EVENTS) 1135 1141 void ChromeClientImpl::needTouchEvents(bool needsTouchEvents) -
trunk/Source/WebKit/chromium/src/ChromeClientImpl.h
r139829 r140286 226 226 virtual void numWheelEventHandlersChanged(unsigned); 227 227 228 virtual bool shouldAutoscrollForDragAndDrop(WebCore::RenderBox* scrollable) const OVERRIDE; 229 228 230 #if ENABLE(POINTER_LOCK) 229 231 virtual bool requestPointerLock(); -
trunk/Source/WebKit/chromium/src/WebViewImpl.cpp
r140183 r140286 54 54 #include "DragController.h" 55 55 #include "DragData.h" 56 #include "DragScrollTimer.h"57 56 #include "DragSession.h" 58 57 #include "Editor.h" … … 416 415 , m_isTransparent(false) 417 416 , m_tabsToLinks(false) 418 , m_dragScrollTimer(adoptPtr(new DragScrollTimer))419 417 , m_isCancelingFullScreen(false) 420 418 , m_benchmarkSupport(this) … … 3291 3289 m_page->mainFrame()->eventHandler()->dragSourceEndedAt(pme, 3292 3290 static_cast<DragOperation>(operation)); 3293 m_dragScrollTimer->stop();3294 3291 } 3295 3292 … … 3299 3296 WebDragOperation operation) 3300 3297 { 3301 m_dragScrollTimer->triggerScroll(mainFrameImpl()->frameView(), clientPoint);3302 3298 } 3303 3299 … … 3385 3381 m_dragOperation = WebDragOperationNone; 3386 3382 m_currentDragData = 0; 3387 3388 m_dragScrollTimer->stop();3389 3383 } 3390 3384 … … 3413 3407 3414 3408 m_dragOperation = static_cast<WebDragOperation>(dropEffect); 3415 3416 if (dragAction == DragOver)3417 m_dragScrollTimer->triggerScroll(mainFrameImpl()->frameView(), clientPoint);3418 else3419 m_dragScrollTimer->stop();3420 3409 3421 3410 return m_dragOperation; -
trunk/Source/WebKit/chromium/src/WebViewImpl.h
r140183 r140286 93 93 class ContextMenuClientImpl; 94 94 class DeviceOrientationClientProxy; 95 class DragScrollTimer;96 95 class GeolocationClientProxy; 97 96 class LinkHighlight; … … 822 821 typedef HashMap<WTF::String, WTF::String> SettingsMap; 823 822 OwnPtr<SettingsMap> m_inspectorSettingsMap; 824 OwnPtr<DragScrollTimer> m_dragScrollTimer;825 823 826 824 #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS) -
trunk/Tools/ChangeLog
r140281 r140286 1 2013-01-20 Yoshifumi Inoue <yosin@chromium.org> 2 3 Dragging over an element with scrollbars should scroll the element when dragging near edges 4 https://bugs.webkit.org/show_bug.cgi?id=39725 5 6 Reviewed by Hajime Morita. 7 8 This patch introduces canceling drag-and-drop by escape key for testing 9 behavior after cancellation drag-and-drop. 10 11 * DumpRenderTree/chromium/TestRunner/src/EventSender.cpp: 12 (WebTestRunner): 13 (WebTestRunner::EventSender::doMouseUp): 14 (WebTestRunner::EventSender::finishDragAndDrop): 15 (WebTestRunner::EventSender::keyDown): 16 * DumpRenderTree/chromium/TestRunner/src/EventSender.h: 17 (EventSender): 18 * DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h: Added VKEY_ESCAPE. 19 1 20 2013-01-20 Jochen Eisinger <jochen@chromium.org> 2 21 -
trunk/Tools/DumpRenderTree/chromium/TestRunner/src/EventSender.cpp
r135789 r140286 469 469 if (currentDragData.isNull()) 470 470 return; 471 471 472 WebPoint clientPoint(e.x, e.y); 472 473 WebPoint screenPoint(e.globalX, e.globalY); 473 474 currentDragEffect = webview()->dragTargetDragOver(clientPoint, screenPoint, currentDragEffectsAllowed, 0); 474 finishDragAndDrop(e, webview()->dragTargetDragOver(clientPoint, screenPoint, currentDragEffectsAllowed, 0)); 475 } 476 477 void EventSender::finishDragAndDrop(const WebMouseEvent& e, WebKit::WebDragOperation dragEffect) 478 { 479 WebPoint clientPoint(e.x, e.y); 480 WebPoint screenPoint(e.globalX, e.globalY); 481 currentDragEffect = dragEffect; 475 482 if (currentDragEffect) 476 483 webview()->dragTargetDrop(clientPoint, screenPoint, 0); … … 649 656 webview()->handleInputEvent(eventDown); 650 657 658 if (code == VKEY_ESCAPE && !currentDragData.isNull()) { 659 WebMouseEvent event; 660 initMouseEvent(WebInputEvent::MouseDown, pressedButton, lastMousePos, &event, getCurrentEventTimeSec(m_delegate)); 661 finishDragAndDrop(event, WebKit::WebDragOperationNone); 662 } 663 651 664 m_delegate->clearEditCommand(); 652 665 -
trunk/Tools/DumpRenderTree/chromium/TestRunner/src/EventSender.h
r135789 r140286 159 159 bool needsShiftModifier(int); 160 160 161 void finishDragAndDrop(const WebKit::WebMouseEvent&, WebKit::WebDragOperation); 161 162 void updateClickCountForButton(WebKit::WebMouseEvent::Button); 162 163 -
trunk/Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.h
r132781 r140286 37 37 enum { 38 38 VKEY_RETURN = 0x0D, 39 VKEY_ESCAPE = 0x1B, 39 40 VKEY_PRIOR = 0x21, 40 41 VKEY_NEXT = 0x22,
Note: See TracChangeset
for help on using the changeset viewer.