| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 Google Inc. All rights reserved. |
| 3 * Copyright (C) 2014 Opera Software ASA. All rights reserved. | 3 * Copyright (C) 2014 Opera Software ASA. All rights reserved. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions are | 6 * modification, are permitted provided that the following conditions are |
| 7 * met: | 7 * met: |
| 8 * | 8 * |
| 9 * * Redistributions of source code must retain the above copyright | 9 * * 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 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 63 #include "core/layout/api/LayoutViewItem.h" | 63 #include "core/layout/api/LayoutViewItem.h" |
| 64 #include "core/loader/FrameLoadRequest.h" | 64 #include "core/loader/FrameLoadRequest.h" |
| 65 #include "core/page/FocusController.h" | 65 #include "core/page/FocusController.h" |
| 66 #include "core/page/Page.h" | 66 #include "core/page/Page.h" |
| 67 #include "core/page/scrolling/ScrollingCoordinator.h" | 67 #include "core/page/scrolling/ScrollingCoordinator.h" |
| 68 #include "core/paint/LayoutObjectDrawingRecorder.h" | 68 #include "core/paint/LayoutObjectDrawingRecorder.h" |
| 69 #include "core/paint/PaintLayer.h" | 69 #include "core/paint/PaintLayer.h" |
| 70 #include "modules/plugins/PluginOcclusionSupport.h" | 70 #include "modules/plugins/PluginOcclusionSupport.h" |
| 71 #include "platform/HostWindow.h" | 71 #include "platform/HostWindow.h" |
| 72 #include "platform/KeyboardCodes.h" | 72 #include "platform/KeyboardCodes.h" |
| 73 #include "platform/PlatformGestureEvent.h" | |
| 74 #include "platform/RuntimeEnabledFeatures.h" | 73 #include "platform/RuntimeEnabledFeatures.h" |
| 75 #include "platform/UserGestureIndicator.h" | 74 #include "platform/UserGestureIndicator.h" |
| 76 #include "platform/exported/WrappedResourceResponse.h" | 75 #include "platform/exported/WrappedResourceResponse.h" |
| 77 #include "platform/geometry/LayoutRect.h" | 76 #include "platform/geometry/LayoutRect.h" |
| 78 #include "platform/graphics/GraphicsContext.h" | 77 #include "platform/graphics/GraphicsContext.h" |
| 79 #include "platform/graphics/GraphicsLayer.h" | 78 #include "platform/graphics/GraphicsLayer.h" |
| 80 #include "platform/graphics/paint/CullRect.h" | 79 #include "platform/graphics/paint/CullRect.h" |
| 81 #include "platform/graphics/paint/ForeignLayerDisplayItem.h" | 80 #include "platform/graphics/paint/ForeignLayerDisplayItem.h" |
| 82 #include "platform/scroll/ScrollAnimatorBase.h" | 81 #include "platform/scroll/ScrollAnimatorBase.h" |
| 83 #include "platform/scroll/ScrollbarTheme.h" | 82 #include "platform/scroll/ScrollbarTheme.h" |
| (...skipping 744 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 828 // FIXME: Can a plugin change the cursor from a touch-event callback? | 827 // FIXME: Can a plugin change the cursor from a touch-event callback? |
| 829 return; | 828 return; |
| 830 } | 829 } |
| 831 case TouchEventRequestTypeSynthesizedMouse: | 830 case TouchEventRequestTypeSynthesizedMouse: |
| 832 synthesizeMouseEventIfPossible(event); | 831 synthesizeMouseEventIfPossible(event); |
| 833 return; | 832 return; |
| 834 } | 833 } |
| 835 } | 834 } |
| 836 | 835 |
| 837 void WebPluginContainerImpl::handleGestureEvent(GestureEvent* event) { | 836 void WebPluginContainerImpl::handleGestureEvent(GestureEvent* event) { |
| 838 WebGestureEventBuilder webEvent(LayoutItem(m_element->layoutObject()), | 837 if (event->nativeEvent().type == WebInputEvent::Undefined) |
| 839 *event); | |
| 840 if (webEvent.type == WebInputEvent::Undefined) | |
| 841 return; | 838 return; |
| 842 if (event->type() == EventTypeNames::gesturetapdown) | 839 if (event->nativeEvent().type == WebInputEvent::GestureTapDown) |
| 843 focusPlugin(); | 840 focusPlugin(); |
| 841 |
| 842 // Take a copy of the event and translate it into the coordinate |
| 843 // system of the plugin. |
| 844 WebGestureEvent translatedEvent = event->nativeEvent(); |
| 845 WebFloatPoint absoluteRootFrameLocation = |
| 846 event->nativeEvent().positionInRootFrame(); |
| 847 IntPoint localPoint = |
| 848 roundedIntPoint(m_element->layoutObject()->absoluteToLocal( |
| 849 absoluteRootFrameLocation, UseTransforms)); |
| 850 translatedEvent.flattenTransform(); |
| 851 translatedEvent.x = localPoint.x(); |
| 852 translatedEvent.y = localPoint.y(); |
| 853 |
| 844 WebCursorInfo cursorInfo; | 854 WebCursorInfo cursorInfo; |
| 845 if (m_webPlugin->handleInputEvent(webEvent, cursorInfo) != | 855 if (m_webPlugin->handleInputEvent(translatedEvent, cursorInfo) != |
| 846 WebInputEventResult::NotHandled) { | 856 WebInputEventResult::NotHandled) { |
| 847 event->setDefaultHandled(); | 857 event->setDefaultHandled(); |
| 848 return; | 858 return; |
| 849 } | 859 } |
| 850 | 860 |
| 851 // FIXME: Can a plugin change the cursor from a touch-event callback? | 861 // FIXME: Can a plugin change the cursor from a touch-event callback? |
| 852 } | 862 } |
| 853 | 863 |
| 854 void WebPluginContainerImpl::synthesizeMouseEventIfPossible(TouchEvent* event) { | 864 void WebPluginContainerImpl::synthesizeMouseEventIfPossible(TouchEvent* event) { |
| 855 WebMouseEventBuilder webEvent(this, LayoutItem(m_element->layoutObject()), | 865 WebMouseEventBuilder webEvent(this, LayoutItem(m_element->layoutObject()), |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 960 // frame view. | 970 // frame view. |
| 961 computeClipRectsForPlugin(m_element, windowRect, clipRect, unobscuredRect); | 971 computeClipRectsForPlugin(m_element, windowRect, clipRect, unobscuredRect); |
| 962 } | 972 } |
| 963 getPluginOcclusions(m_element, this->parent(), frameRect(), cutOutRects); | 973 getPluginOcclusions(m_element, this->parent(), frameRect(), cutOutRects); |
| 964 // Convert to the plugin position. | 974 // Convert to the plugin position. |
| 965 for (size_t i = 0; i < cutOutRects.size(); i++) | 975 for (size_t i = 0; i < cutOutRects.size(); i++) |
| 966 cutOutRects[i].move(-frameRect().x(), -frameRect().y()); | 976 cutOutRects[i].move(-frameRect().x(), -frameRect().y()); |
| 967 } | 977 } |
| 968 | 978 |
| 969 } // namespace blink | 979 } // namespace blink |
| OLD | NEW |