Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(70)

Side by Side Diff: third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp

Issue 2650403006: Remove PlatformMouseEvent and use WebMouseEvent instead (Closed)
Patch Set: Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2014 Google Inc. All rights reserved. 2 * Copyright (C) 2014 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 break; 365 break;
366 case WebInputEvent::MouseUp: 366 case WebInputEvent::MouseUp:
367 eventType = EventTypeNames::mouseup; 367 eventType = EventTypeNames::mouseup;
368 gestureIndicator = WTF::wrapUnique( 368 gestureIndicator = WTF::wrapUnique(
369 new UserGestureIndicator(m_mouseCaptureGestureToken.release())); 369 new UserGestureIndicator(m_mouseCaptureGestureToken.release()));
370 break; 370 break;
371 default: 371 default:
372 NOTREACHED(); 372 NOTREACHED();
373 } 373 }
374 374
375 node->dispatchMouseEvent( 375 WebMouseEvent transformedEvent =
376 PlatformMouseEventBuilder( 376 TransformWebMouseEvent(m_localRoot->frameView(),
377 m_localRoot->frameView(), 377 static_cast<const WebMouseEvent&>(inputEvent));
378 static_cast<const WebMouseEvent&>(inputEvent)), 378 node->dispatchMouseEvent(transformedEvent, eventType,
379 eventType, static_cast<const WebMouseEvent&>(inputEvent).clickCount); 379 transformedEvent.clickCount);
380 return WebInputEventResult::HandledSystem; 380 return WebInputEventResult::HandledSystem;
381 } 381 }
382 382
383 return PageWidgetDelegate::handleInputEvent(*this, coalescedEvent, 383 return PageWidgetDelegate::handleInputEvent(*this, coalescedEvent,
384 m_localRoot->frame()); 384 m_localRoot->frame());
385 } 385 }
386 386
387 void WebFrameWidgetImpl::setCursorVisibilityState(bool isVisible) { 387 void WebFrameWidgetImpl::setCursorVisibilityState(bool isVisible) {
388 page()->setIsCursorVisible(isVisible); 388 page()->setIsCursorVisible(isVisible);
389 } 389 }
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after
769 #else 769 #else
770 if (event.button == WebMouseEvent::Button::Right) 770 if (event.button == WebMouseEvent::Button::Right)
771 mouseContextMenu(event); 771 mouseContextMenu(event);
772 #endif 772 #endif
773 } 773 }
774 } 774 }
775 775
776 void WebFrameWidgetImpl::mouseContextMenu(const WebMouseEvent& event) { 776 void WebFrameWidgetImpl::mouseContextMenu(const WebMouseEvent& event) {
777 page()->contextMenuController().clearContextMenu(); 777 page()->contextMenuController().clearContextMenu();
778 778
779 PlatformMouseEventBuilder pme(m_localRoot->frameView(), event); 779 WebMouseEvent transformedEvent =
780 TransformWebMouseEvent(m_localRoot->frameView(), event);
781 IntPoint positionInRootFrame =
782 flooredIntPoint(transformedEvent.positionInRootFrame());
780 783
781 // Find the right target frame. See issue 1186900. 784 // Find the right target frame. See issue 1186900.
782 HitTestResult result = hitTestResultForRootFramePos(pme.position()); 785 HitTestResult result = hitTestResultForRootFramePos(positionInRootFrame);
783 Frame* targetFrame; 786 Frame* targetFrame;
784 if (result.innerNodeOrImageMapImage()) 787 if (result.innerNodeOrImageMapImage())
785 targetFrame = result.innerNodeOrImageMapImage()->document().frame(); 788 targetFrame = result.innerNodeOrImageMapImage()->document().frame();
786 else 789 else
787 targetFrame = page()->focusController().focusedOrMainFrame(); 790 targetFrame = page()->focusController().focusedOrMainFrame();
788 791
789 // This will need to be changed to a nullptr check when focus control 792 // This will need to be changed to a nullptr check when focus control
790 // is refactored, at which point focusedOrMainFrame will never return a 793 // is refactored, at which point focusedOrMainFrame will never return a
791 // RemoteFrame. 794 // RemoteFrame.
792 // See https://crbug.com/341918. 795 // See https://crbug.com/341918.
793 if (!targetFrame->isLocalFrame()) 796 if (!targetFrame->isLocalFrame())
794 return; 797 return;
795 798
796 LocalFrame* targetLocalFrame = toLocalFrame(targetFrame); 799 LocalFrame* targetLocalFrame = toLocalFrame(targetFrame);
797 800
798 #if OS(WIN) 801 #if OS(WIN)
799 targetLocalFrame->view()->setCursor(pointerCursor()); 802 targetLocalFrame->view()->setCursor(pointerCursor());
800 #endif 803 #endif
801 804
802 { 805 {
803 ContextMenuAllowedScope scope; 806 ContextMenuAllowedScope scope;
804 targetLocalFrame->eventHandler().sendContextMenuEvent(pme, nullptr); 807 targetLocalFrame->eventHandler().sendContextMenuEvent(transformedEvent,
808 nullptr);
805 } 809 }
806 // Actually showing the context menu is handled by the ContextMenuClient 810 // Actually showing the context menu is handled by the ContextMenuClient
807 // implementation... 811 // implementation...
808 } 812 }
809 813
810 void WebFrameWidgetImpl::handleMouseUp(LocalFrame& mainFrame, 814 void WebFrameWidgetImpl::handleMouseUp(LocalFrame& mainFrame,
811 const WebMouseEvent& event) { 815 const WebMouseEvent& event) {
812 PageWidgetEventHandler::handleMouseUp(mainFrame, event); 816 PageWidgetEventHandler::handleMouseUp(mainFrame, event);
813 817
814 if (page()->settings().getShowContextMenuOnMouseUp()) { 818 if (page()->settings().getShowContextMenuOnMouseUp()) {
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after
1137 return nullptr; 1141 return nullptr;
1138 } 1142 }
1139 1143
1140 LocalFrame* WebFrameWidgetImpl::focusedLocalFrameAvailableForIme() const { 1144 LocalFrame* WebFrameWidgetImpl::focusedLocalFrameAvailableForIme() const {
1141 if (!m_imeAcceptEvents) 1145 if (!m_imeAcceptEvents)
1142 return nullptr; 1146 return nullptr;
1143 return focusedLocalFrameInWidget(); 1147 return focusedLocalFrameInWidget();
1144 } 1148 }
1145 1149
1146 } // namespace blink 1150 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698