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: webkit/compositor/WebCompositorInputHandlerImpl.h

Issue 10920056: Make cc_unittests and webkit_compositor_unittests executable always (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rename to webkit_compositor_bindings Created 8 years, 3 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef WebCompositorInputHandlerImpl_h
6 #define WebCompositorInputHandlerImpl_h
7
8 #include "CCGestureCurve.h"
9 #include "CCInputHandler.h"
10 #include "WebActiveWheelFlingParameters.h"
11 #include "WebCompositorInputHandler.h"
12 #include "WebInputEvent.h"
13 #include <public/WebCompositor.h>
14 #include <wtf/HashSet.h>
15 #include <wtf/Noncopyable.h>
16 #include <wtf/OwnPtr.h>
17
18 namespace WTF {
19 class Mutex;
20 }
21
22 namespace WebCore {
23 class IntPoint;
24 class CCGestureCurveTarget;
25 class CCInputHandlerClient;
26 class CCThread;
27 }
28
29 namespace WebKit {
30
31 class WebCompositorInputHandlerClient;
32
33 class WebCompositorInputHandlerImpl : public WebCompositorInputHandler, public W ebCore::CCInputHandler, public WebCore::CCGestureCurveTarget {
34 WTF_MAKE_NONCOPYABLE(WebCompositorInputHandlerImpl);
35 public:
36 static PassOwnPtr<WebCompositorInputHandlerImpl> create(WebCore::CCInputHand lerClient*);
37 static WebCompositorInputHandler* fromIdentifier(int identifier);
38
39 virtual ~WebCompositorInputHandlerImpl();
40
41 // WebCompositorInputHandler implementation.
42 virtual void setClient(WebCompositorInputHandlerClient*);
43 virtual void handleInputEvent(const WebInputEvent&);
44
45 // WebCore::CCInputHandler implementation.
46 virtual int identifier() const;
47 virtual void animate(double monotonicTime);
48
49 // WebCore::CCGestureCurveTarget implementation.
50 virtual void scrollBy(const WebCore::IntPoint&);
51
52 private:
53 explicit WebCompositorInputHandlerImpl(WebCore::CCInputHandlerClient*);
54
55 enum EventDisposition { DidHandle, DidNotHandle, DropEvent };
56 // This function processes the input event and determines the disposition, b ut does not make
57 // any calls out to the WebCompositorInputHandlerClient. Some input types de fer to helpers.
58 EventDisposition handleInputEventInternal(const WebInputEvent&);
59
60 EventDisposition handleGestureFling(const WebGestureEvent&);
61
62 // Returns true if we actually had an active fling to cancel.
63 bool cancelCurrentFling();
64
65 OwnPtr<WebCore::CCActiveGestureAnimation> m_wheelFlingAnimation;
66 // Parameters for the active fling animation, stored in case we need to tran sfer it out later.
67 WebActiveWheelFlingParameters m_wheelFlingParameters;
68
69 WebCompositorInputHandlerClient* m_client;
70 int m_identifier;
71 WebCore::CCInputHandlerClient* m_inputHandlerClient;
72
73 #ifndef NDEBUG
74 bool m_expectScrollUpdateEnd;
75 bool m_expectPinchUpdateEnd;
76 #endif
77 bool m_gestureScrollStarted;
78
79 static int s_nextAvailableIdentifier;
80 static HashSet<WebCompositorInputHandlerImpl*>* s_compositors;
81 };
82
83 }
84
85 #endif // WebCompositorImpl_h
OLDNEW
« no previous file with comments | « webkit/compositor/WebCompositorImpl.cpp ('k') | webkit/compositor/WebCompositorInputHandlerImpl.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698