OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserv
ed. | 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserv
ed. |
3 * Copyright (C) 2006 Alexey Proskuryakov (ap@webkit.org) | 3 * Copyright (C) 2006 Alexey Proskuryakov (ap@webkit.org) |
4 * Copyright (C) 2012 Digia Plc. and/or its subsidiary(-ies) | 4 * Copyright (C) 2012 Digia Plc. and/or its subsidiary(-ies) |
5 * | 5 * |
6 * Redistribution and use in source and binary forms, with or without | 6 * Redistribution and use in source and binary forms, with or without |
7 * modification, are permitted provided that the following conditions | 7 * modification, are permitted provided that the following conditions |
8 * are met: | 8 * are met: |
9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 #include "core/page/EditorClient.h" | 72 #include "core/page/EditorClient.h" |
73 #include "core/page/FocusController.h" | 73 #include "core/page/FocusController.h" |
74 #include "core/page/FrameTree.h" | 74 #include "core/page/FrameTree.h" |
75 #include "core/page/Page.h" | 75 #include "core/page/Page.h" |
76 #include "core/page/SpatialNavigation.h" | 76 #include "core/page/SpatialNavigation.h" |
77 #include "core/page/TouchAdjustment.h" | 77 #include "core/page/TouchAdjustment.h" |
78 #include "core/rendering/HitTestRequest.h" | 78 #include "core/rendering/HitTestRequest.h" |
79 #include "core/rendering/HitTestResult.h" | 79 #include "core/rendering/HitTestResult.h" |
80 #include "core/rendering/RenderFlowThread.h" | 80 #include "core/rendering/RenderFlowThread.h" |
81 #include "core/rendering/RenderLayer.h" | 81 #include "core/rendering/RenderLayer.h" |
| 82 #include "core/rendering/RenderPart.h" |
82 #include "core/rendering/RenderTextControlSingleLine.h" | 83 #include "core/rendering/RenderTextControlSingleLine.h" |
83 #include "core/rendering/RenderView.h" | 84 #include "core/rendering/RenderView.h" |
84 #include "core/rendering/RenderWidget.h" | |
85 #include "core/rendering/style/RenderStyle.h" | 85 #include "core/rendering/style/RenderStyle.h" |
86 #include "core/svg/SVGDocumentExtensions.h" | 86 #include "core/svg/SVGDocumentExtensions.h" |
87 #include "platform/PlatformGestureEvent.h" | 87 #include "platform/PlatformGestureEvent.h" |
88 #include "platform/PlatformKeyboardEvent.h" | 88 #include "platform/PlatformKeyboardEvent.h" |
89 #include "platform/PlatformTouchEvent.h" | 89 #include "platform/PlatformTouchEvent.h" |
90 #include "platform/PlatformWheelEvent.h" | 90 #include "platform/PlatformWheelEvent.h" |
91 #include "platform/RuntimeEnabledFeatures.h" | 91 #include "platform/RuntimeEnabledFeatures.h" |
92 #include "platform/TraceEvent.h" | 92 #include "platform/TraceEvent.h" |
93 #include "platform/WindowsKeyboardCodes.h" | 93 #include "platform/WindowsKeyboardCodes.h" |
94 #include "platform/geometry/FloatPoint.h" | 94 #include "platform/geometry/FloatPoint.h" |
(...skipping 848 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
943 { | 943 { |
944 return m_lastKnownMousePosition; | 944 return m_lastKnownMousePosition; |
945 } | 945 } |
946 | 946 |
947 static LocalFrame* subframeForTargetNode(Node* node) | 947 static LocalFrame* subframeForTargetNode(Node* node) |
948 { | 948 { |
949 if (!node) | 949 if (!node) |
950 return 0; | 950 return 0; |
951 | 951 |
952 RenderObject* renderer = node->renderer(); | 952 RenderObject* renderer = node->renderer(); |
953 if (!renderer || !renderer->isWidget()) | 953 if (!renderer || !renderer->isRenderPart()) |
954 return 0; | 954 return 0; |
955 | 955 |
956 // FIXME: This explicit check is needed only until RemoteFrames have RemoteF
rameViews. | 956 // FIXME: This explicit check is needed only until RemoteFrames have RemoteF
rameViews. |
957 if (isHTMLFrameElementBase(node) && toHTMLFrameElementBase(node)->contentFra
me() && toHTMLFrameElementBase(node)->contentFrame()->isRemoteFrameTemporary()) | 957 if (isHTMLFrameElementBase(node) && toHTMLFrameElementBase(node)->contentFra
me() && toHTMLFrameElementBase(node)->contentFrame()->isRemoteFrameTemporary()) |
958 return 0; | 958 return 0; |
959 | 959 |
960 Widget* widget = toRenderWidget(renderer)->widget(); | 960 Widget* widget = toRenderPart(renderer)->widget(); |
961 if (!widget || !widget->isFrameView()) | 961 if (!widget || !widget->isFrameView()) |
962 return 0; | 962 return 0; |
963 | 963 |
964 return &toFrameView(widget)->frame(); | 964 return &toFrameView(widget)->frame(); |
965 } | 965 } |
966 | 966 |
967 static LocalFrame* subframeForHitTestResult(const MouseEventWithHitTestResults&
hitTestResult) | 967 static LocalFrame* subframeForHitTestResult(const MouseEventWithHitTestResults&
hitTestResult) |
968 { | 968 { |
969 if (!hitTestResult.isOverWidget()) | 969 if (!hitTestResult.isOverWidget()) |
970 return 0; | 970 return 0; |
(...skipping 1013 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1984 if (m_previousWheelScrolledNode) | 1984 if (m_previousWheelScrolledNode) |
1985 m_previousWheelScrolledNode = nullptr; | 1985 m_previousWheelScrolledNode = nullptr; |
1986 | 1986 |
1987 isOverWidget = result.isOverWidget(); | 1987 isOverWidget = result.isOverWidget(); |
1988 } | 1988 } |
1989 | 1989 |
1990 if (node) { | 1990 if (node) { |
1991 // Figure out which view to send the event to. | 1991 // Figure out which view to send the event to. |
1992 RenderObject* target = node->renderer(); | 1992 RenderObject* target = node->renderer(); |
1993 | 1993 |
1994 if (isOverWidget && target && target->isWidget()) { | 1994 if (isOverWidget && target && target->isRenderPart()) { |
1995 Widget* widget = toRenderWidget(target)->widget(); | 1995 Widget* widget = toRenderPart(target)->widget(); |
1996 if (widget && passWheelEventToWidget(event, widget)) | 1996 if (widget && passWheelEventToWidget(event, widget)) |
1997 RETURN_WHEEL_EVENT_HANDLED(); | 1997 RETURN_WHEEL_EVENT_HANDLED(); |
1998 } | 1998 } |
1999 | 1999 |
2000 if (node && !node->dispatchWheelEvent(event)) | 2000 if (node && !node->dispatchWheelEvent(event)) |
2001 RETURN_WHEEL_EVENT_HANDLED(); | 2001 RETURN_WHEEL_EVENT_HANDLED(); |
2002 } | 2002 } |
2003 | 2003 |
2004 // We do another check on the frame view because the event handler can run J
S which results in the frame getting destroyed. | 2004 // We do another check on the frame view because the event handler can run J
S which results in the frame getting destroyed. |
2005 view = m_frame->view(); | 2005 view = m_frame->view(); |
(...skipping 361 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2367 return false; | 2367 return false; |
2368 } | 2368 } |
2369 | 2369 |
2370 bool EventHandler::passScrollGestureEventToWidget(const PlatformGestureEvent& ge
stureEvent, RenderObject* renderer) | 2370 bool EventHandler::passScrollGestureEventToWidget(const PlatformGestureEvent& ge
stureEvent, RenderObject* renderer) |
2371 { | 2371 { |
2372 ASSERT(gestureEvent.isScrollEvent()); | 2372 ASSERT(gestureEvent.isScrollEvent()); |
2373 | 2373 |
2374 if (!m_lastGestureScrollOverWidget) | 2374 if (!m_lastGestureScrollOverWidget) |
2375 return false; | 2375 return false; |
2376 | 2376 |
2377 if (!renderer || !renderer->isWidget()) | 2377 if (!renderer || !renderer->isRenderPart()) |
2378 return false; | 2378 return false; |
2379 | 2379 |
2380 Widget* widget = toRenderWidget(renderer)->widget(); | 2380 Widget* widget = toRenderPart(renderer)->widget(); |
2381 | 2381 |
2382 if (!widget || !widget->isFrameView()) | 2382 if (!widget || !widget->isFrameView()) |
2383 return false; | 2383 return false; |
2384 | 2384 |
2385 return toFrameView(widget)->frame().eventHandler().handleGestureScrollEvent(
gestureEvent); | 2385 return toFrameView(widget)->frame().eventHandler().handleGestureScrollEvent(
gestureEvent); |
2386 } | 2386 } |
2387 | 2387 |
2388 bool EventHandler::handleGestureScrollEnd(const PlatformGestureEvent& gestureEve
nt) { | 2388 bool EventHandler::handleGestureScrollEnd(const PlatformGestureEvent& gestureEve
nt) { |
2389 RefPtrWillBeRawPtr<Node> node = m_scrollGestureHandlingNode; | 2389 RefPtrWillBeRawPtr<Node> node = m_scrollGestureHandlingNode; |
2390 clearGestureScrollNodes(); | 2390 clearGestureScrollNodes(); |
(...skipping 1455 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3846 // the event via an EventTargetNode dispatch when this returns false. | 3846 // the event via an EventTargetNode dispatch when this returns false. |
3847 if (!widget->isFrameView()) | 3847 if (!widget->isFrameView()) |
3848 return false; | 3848 return false; |
3849 | 3849 |
3850 return toFrameView(widget)->frame().eventHandler().handleWheelEvent(wheelEve
nt); | 3850 return toFrameView(widget)->frame().eventHandler().handleWheelEvent(wheelEve
nt); |
3851 } | 3851 } |
3852 | 3852 |
3853 bool EventHandler::passWidgetMouseDownEventToWidget(const MouseEventWithHitTestR
esults& event) | 3853 bool EventHandler::passWidgetMouseDownEventToWidget(const MouseEventWithHitTestR
esults& event) |
3854 { | 3854 { |
3855 // Figure out which view to send the event to. | 3855 // Figure out which view to send the event to. |
3856 if (!event.innerNode() || !event.innerNode()->renderer() || !event.innerNode
()->renderer()->isWidget()) | 3856 if (!event.innerNode() || !event.innerNode()->renderer() || !event.innerNode
()->renderer()->isRenderPart()) |
3857 return false; | 3857 return false; |
3858 return false; | 3858 return false; |
3859 } | 3859 } |
3860 | 3860 |
3861 PassRefPtrWillBeRawPtr<DataTransfer> EventHandler::createDraggingDataTransfer()
const | 3861 PassRefPtrWillBeRawPtr<DataTransfer> EventHandler::createDraggingDataTransfer()
const |
3862 { | 3862 { |
3863 return DataTransfer::create(DataTransfer::DragAndDrop, DataTransferWritable,
DataObject::create()); | 3863 return DataTransfer::create(DataTransfer::DragAndDrop, DataTransferWritable,
DataObject::create()); |
3864 } | 3864 } |
3865 | 3865 |
3866 void EventHandler::focusDocumentView() | 3866 void EventHandler::focusDocumentView() |
3867 { | 3867 { |
3868 Page* page = m_frame->page(); | 3868 Page* page = m_frame->page(); |
3869 if (!page) | 3869 if (!page) |
3870 return; | 3870 return; |
3871 page->focusController().focusDocumentView(m_frame); | 3871 page->focusController().focusDocumentView(m_frame); |
3872 } | 3872 } |
3873 | 3873 |
3874 unsigned EventHandler::accessKeyModifiers() | 3874 unsigned EventHandler::accessKeyModifiers() |
3875 { | 3875 { |
3876 #if OS(MACOSX) | 3876 #if OS(MACOSX) |
3877 return PlatformEvent::CtrlKey | PlatformEvent::AltKey; | 3877 return PlatformEvent::CtrlKey | PlatformEvent::AltKey; |
3878 #else | 3878 #else |
3879 return PlatformEvent::AltKey; | 3879 return PlatformEvent::AltKey; |
3880 #endif | 3880 #endif |
3881 } | 3881 } |
3882 | 3882 |
3883 } // namespace blink | 3883 } // namespace blink |
OLD | NEW |