OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 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 13 matching lines...) Expand all Loading... |
24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
29 */ | 29 */ |
30 | 30 |
31 #ifndef PageWidgetDelegate_h | 31 #ifndef PageWidgetDelegate_h |
32 #define PageWidgetDelegate_h | 32 #define PageWidgetDelegate_h |
33 | 33 |
| 34 #include "public/platform/CoalescedWebInputEvent.h" |
34 #include "public/platform/WebCanvas.h" | 35 #include "public/platform/WebCanvas.h" |
35 #include "public/platform/WebInputEvent.h" | |
36 #include "public/web/WebWidget.h" | 36 #include "public/web/WebWidget.h" |
37 #include "web/WebExport.h" | 37 #include "web/WebExport.h" |
38 | 38 |
39 namespace blink { | 39 namespace blink { |
40 | 40 |
41 class LocalFrame; | 41 class LocalFrame; |
42 class Page; | 42 class Page; |
43 class WebGestureEvent; | 43 class WebGestureEvent; |
44 class WebInputEvent; | 44 class WebInputEvent; |
45 class WebKeyboardEvent; | 45 class WebKeyboardEvent; |
46 class WebMouseEvent; | 46 class WebMouseEvent; |
47 class WebMouseWheelEvent; | 47 class WebMouseWheelEvent; |
48 class WebTouchEvent; | 48 class WebTouchEvent; |
49 | 49 |
50 class WEB_EXPORT PageWidgetEventHandler { | 50 class WEB_EXPORT PageWidgetEventHandler { |
51 public: | 51 public: |
52 virtual void handleMouseMove(LocalFrame& mainFrame, const WebMouseEvent&); | 52 virtual void handleMouseMove(LocalFrame& mainFrame, |
| 53 const WebMouseEvent&, |
| 54 const std::vector<const WebInputEvent*>&); |
53 virtual void handleMouseLeave(LocalFrame& mainFrame, const WebMouseEvent&); | 55 virtual void handleMouseLeave(LocalFrame& mainFrame, const WebMouseEvent&); |
54 virtual void handleMouseDown(LocalFrame& mainFrame, const WebMouseEvent&); | 56 virtual void handleMouseDown(LocalFrame& mainFrame, const WebMouseEvent&); |
55 virtual void handleMouseUp(LocalFrame& mainFrame, const WebMouseEvent&); | 57 virtual void handleMouseUp(LocalFrame& mainFrame, const WebMouseEvent&); |
56 virtual WebInputEventResult handleMouseWheel(LocalFrame& mainFrame, | 58 virtual WebInputEventResult handleMouseWheel(LocalFrame& mainFrame, |
57 const WebMouseWheelEvent&); | 59 const WebMouseWheelEvent&); |
58 virtual WebInputEventResult handleKeyEvent(const WebKeyboardEvent&) = 0; | 60 virtual WebInputEventResult handleKeyEvent(const WebKeyboardEvent&) = 0; |
59 virtual WebInputEventResult handleCharEvent(const WebKeyboardEvent&) = 0; | 61 virtual WebInputEventResult handleCharEvent(const WebKeyboardEvent&) = 0; |
60 virtual WebInputEventResult handleGestureEvent(const WebGestureEvent&) = 0; | 62 virtual WebInputEventResult handleGestureEvent(const WebGestureEvent&) = 0; |
61 virtual WebInputEventResult handleTouchEvent(LocalFrame& mainFrame, | 63 virtual WebInputEventResult handleTouchEvent( |
62 const WebTouchEvent&); | 64 LocalFrame& mainFrame, |
| 65 const WebTouchEvent&, |
| 66 const std::vector<const WebInputEvent*>&); |
63 virtual ~PageWidgetEventHandler() {} | 67 virtual ~PageWidgetEventHandler() {} |
64 }; | 68 }; |
65 | 69 |
66 // Common implementation of WebViewImpl and WebPagePopupImpl. | 70 // Common implementation of WebViewImpl and WebPagePopupImpl. |
67 class PageWidgetDelegate { | 71 class PageWidgetDelegate { |
68 public: | 72 public: |
69 static void animate(Page&, double monotonicFrameBeginTime); | 73 static void animate(Page&, double monotonicFrameBeginTime); |
70 | 74 |
71 // For the following methods, the |root| argument indicates a root localFrame | 75 // For the following methods, the |root| argument indicates a root localFrame |
72 // from which to start performing the specified operation. | 76 // from which to start performing the specified operation. |
73 | 77 |
74 // See documents of methods with the same names in FrameView class. | 78 // See documents of methods with the same names in FrameView class. |
75 static void updateAllLifecyclePhases(Page&, LocalFrame& root); | 79 static void updateAllLifecyclePhases(Page&, LocalFrame& root); |
76 | 80 |
77 static void paint(Page&, WebCanvas*, const WebRect&, LocalFrame& root); | 81 static void paint(Page&, WebCanvas*, const WebRect&, LocalFrame& root); |
78 static void paintIgnoringCompositing(Page&, | 82 static void paintIgnoringCompositing(Page&, |
79 WebCanvas*, | 83 WebCanvas*, |
80 const WebRect&, | 84 const WebRect&, |
81 LocalFrame& root); | 85 LocalFrame& root); |
82 | 86 |
83 // See FIXME in the function body about nullptr |root|. | 87 // See FIXME in the function body about nullptr |root|. |
84 static WebInputEventResult handleInputEvent(PageWidgetEventHandler&, | 88 static WebInputEventResult handleInputEvent(PageWidgetEventHandler&, |
85 const WebInputEvent&, | 89 const CoalescedWebInputEvent&, |
86 LocalFrame* root); | 90 LocalFrame* root); |
87 | 91 |
88 private: | 92 private: |
89 PageWidgetDelegate() {} | 93 PageWidgetDelegate() {} |
90 }; | 94 }; |
91 | 95 |
92 } // namespace blink | 96 } // namespace blink |
93 #endif | 97 #endif |
OLD | NEW |