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

Side by Side Diff: content/renderer/input/frame_input_handler_impl.h

Issue 2951053005: Add Mojo API for Blink hit testing (Closed)
Patch Set: Created 3 years, 6 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 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CONTENT_RENDERER_INPUT_FRAME_INPUT_HANDLER_IMPL_H_ 5 #ifndef CONTENT_RENDERER_INPUT_FRAME_INPUT_HANDLER_IMPL_H_
6 #define CONTENT_RENDERER_INPUT_FRAME_INPUT_HANDLER_IMPL_H_ 6 #define CONTENT_RENDERER_INPUT_FRAME_INPUT_HANDLER_IMPL_H_
7 7
8 #include "base/memory/ref_counted.h" 8 #include "base/memory/ref_counted.h"
9 #include "content/common/input/input_handler.mojom.h" 9 #include "content/common/input/input_handler.mojom.h"
10 #include "content/renderer/render_frame_impl.h" 10 #include "content/renderer/render_frame_impl.h"
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 void Redo() override; 57 void Redo() override;
58 void Cut() override; 58 void Cut() override;
59 void Copy() override; 59 void Copy() override;
60 void CopyToFindPboard() override; 60 void CopyToFindPboard() override;
61 void Paste() override; 61 void Paste() override;
62 void PasteAndMatchStyle() override; 62 void PasteAndMatchStyle() override;
63 void Replace(const base::string16& word) override; 63 void Replace(const base::string16& word) override;
64 void ReplaceMisspelling(const base::string16& word) override; 64 void ReplaceMisspelling(const base::string16& word) override;
65 void Delete() override; 65 void Delete() override;
66 void SelectAll() override; 66 void SelectAll() override;
67 void HitTestFrameAt(const gfx::PointF& point,
68 HitTestFrameAtCallback callback) override;
67 void CollapseSelection() override; 69 void CollapseSelection() override;
68 void SelectRange(const gfx::Point& base, const gfx::Point& extent) override; 70 void SelectRange(const gfx::Point& base, const gfx::Point& extent) override;
69 void AdjustSelectionByCharacterOffset(int32_t start, int32_t end) override; 71 void AdjustSelectionByCharacterOffset(int32_t start, int32_t end) override;
70 void MoveRangeSelectionExtent(const gfx::Point& extent) override; 72 void MoveRangeSelectionExtent(const gfx::Point& extent) override;
71 73
72 private: 74 private:
73 ~FrameInputHandlerImpl() override; 75 ~FrameInputHandlerImpl() override;
74 enum class UpdateState { kNone, kIsPasting, kIsSelectingRange }; 76 enum class UpdateState { kNone, kIsPasting, kIsSelectingRange };
75 77
76 class HandlingState { 78 class HandlingState {
77 public: 79 public:
78 HandlingState(RenderFrameImpl* render_frame, UpdateState state); 80 HandlingState(RenderFrameImpl* render_frame, UpdateState state);
79 ~HandlingState(); 81 ~HandlingState();
80 82
81 private: 83 private:
82 RenderFrameImpl* render_frame_; 84 RenderFrameImpl* render_frame_;
83 bool original_select_range_value_; 85 bool original_select_range_value_;
84 bool original_pasting_value_; 86 bool original_pasting_value_;
85 }; 87 };
86 88
87 FrameInputHandlerImpl(base::WeakPtr<RenderFrameImpl> render_frame, 89 FrameInputHandlerImpl(base::WeakPtr<RenderFrameImpl> render_frame,
88 mojom::FrameInputHandlerRequest request); 90 mojom::FrameInputHandlerRequest request);
89 91
90 void RunOnMainThread(const base::Closure& closure); 92 void RunOnMainThread(base::OnceClosure closure);
91 void BindNow(mojom::FrameInputHandlerRequest request); 93 void BindNow(mojom::FrameInputHandlerRequest request);
92 void ExecuteCommandOnMainThread(const std::string& command, 94 void ExecuteCommandOnMainThread(const std::string& command,
93 UpdateState state); 95 UpdateState state);
96 void HitTestOnMainThread(const gfx::PointF&, HitTestFrameAtCallback);
97
94 void Release(); 98 void Release();
95 99
96 mojo::Binding<mojom::FrameInputHandler> binding_; 100 mojo::Binding<mojom::FrameInputHandler> binding_;
97 101
98 // |render_frame_| should only be accessed on the main thread. Use 102 // |render_frame_| should only be accessed on the main thread. Use
99 // GetRenderFrame so that it will DCHECK this for you. 103 // GetRenderFrame so that it will DCHECK this for you.
100 base::WeakPtr<RenderFrameImpl> render_frame_; 104 base::WeakPtr<RenderFrameImpl> render_frame_;
101 105
102 scoped_refptr<MainThreadEventQueue> input_event_queue_; 106 scoped_refptr<MainThreadEventQueue> input_event_queue_;
103 scoped_refptr<base::SingleThreadTaskRunner> main_thread_task_runner_; 107 scoped_refptr<base::SingleThreadTaskRunner> main_thread_task_runner_;
104 108
105 base::WeakPtr<FrameInputHandlerImpl> weak_this_; 109 base::WeakPtr<FrameInputHandlerImpl> weak_this_;
106 base::WeakPtrFactory<FrameInputHandlerImpl> weak_ptr_factory_; 110 base::WeakPtrFactory<FrameInputHandlerImpl> weak_ptr_factory_;
107 111
108 DISALLOW_COPY_AND_ASSIGN(FrameInputHandlerImpl); 112 DISALLOW_COPY_AND_ASSIGN(FrameInputHandlerImpl);
109 }; 113 };
110 114
111 } // namespace content 115 } // namespace content
112 116
113 #endif // CONTENT_RENDERER_INPUT_FRAME_INPUT_HANDLER_IMPL_H_ 117 #endif // CONTENT_RENDERER_INPUT_FRAME_INPUT_HANDLER_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698