OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 UI_AURA_REMOTE_ROOT_WINDOW_HOST_WIN_H_ | 5 #ifndef UI_AURA_REMOTE_ROOT_WINDOW_HOST_WIN_H_ |
6 #define UI_AURA_REMOTE_ROOT_WINDOW_HOST_WIN_H_ | 6 #define UI_AURA_REMOTE_ROOT_WINDOW_HOST_WIN_H_ |
7 | 7 |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/callback.h" | 10 #include "base/callback.h" |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
79 // metro viewer. The on failure callback is invoked on failure. | 79 // metro viewer. The on failure callback is invoked on failure. |
80 AURA_EXPORT void HandleSelectFolder(const base::string16& title, | 80 AURA_EXPORT void HandleSelectFolder(const base::string16& title, |
81 const SelectFolderCompletion& on_success, | 81 const SelectFolderCompletion& on_success, |
82 const FileSelectionCanceled& on_failure); | 82 const FileSelectionCanceled& on_failure); |
83 | 83 |
84 // RootWindowHost implementaton that receives events from a different | 84 // RootWindowHost implementaton that receives events from a different |
85 // process. In the case of Windows this is the Windows 8 (aka Metro) | 85 // process. In the case of Windows this is the Windows 8 (aka Metro) |
86 // frontend process, which forwards input events to this class. | 86 // frontend process, which forwards input events to this class. |
87 class AURA_EXPORT RemoteRootWindowHostWin : public RootWindowHost { | 87 class AURA_EXPORT RemoteRootWindowHostWin : public RootWindowHost { |
88 public: | 88 public: |
89 static RemoteRootWindowHostWin* Instance(); | 89 static RemoteRootWindowHostWin* Instance(); |
gab
2013/08/26 19:46:03
Document that this will return a RemoteRootWindowH
| |
90 static RemoteRootWindowHostWin* Create(const gfx::Rect& bounds); | 90 static RemoteRootWindowHostWin* Create(const gfx::Rect& bounds); |
91 | 91 |
92 // Called when the remote process has established its IPC connection. | 92 // Called when the remote process has established its IPC connection. |
93 // The |host| can be used when we need to send a message to it. | 93 // The |host| can be used when we need to send a message to it. |
gab
2013/08/26 19:46:03
Add |remote_window| to this comment.
| |
94 void Connected(IPC::Sender* host); | 94 void Connected(IPC::Sender* host, HWND remote_window); |
95 // Called when the remote process has closed its IPC connection. | 95 // Called when the remote process has closed its IPC connection. |
96 void Disconnected(); | 96 void Disconnected(); |
97 | 97 |
98 // Called when we have a message from the remote process. | 98 // Called when we have a message from the remote process. |
99 bool OnMessageReceived(const IPC::Message& message); | 99 bool OnMessageReceived(const IPC::Message& message); |
100 | 100 |
101 void HandleOpenFile(const base::string16& title, | 101 void HandleOpenFile(const base::string16& title, |
102 const base::FilePath& default_path, | 102 const base::FilePath& default_path, |
103 const base::string16& filter, | 103 const base::string16& filter, |
104 const OpenFileCompletion& on_success, | 104 const OpenFileCompletion& on_success, |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
196 // invocations we post a synthetic keyboard message directly into the message | 196 // invocations we post a synthetic keyboard message directly into the message |
197 // loop. The dispatcher for the nested loop would then decide how this | 197 // loop. The dispatcher for the nested loop would then decide how this |
198 // message is routed. | 198 // message is routed. |
199 void DispatchKeyboardMessage(ui::EventType type, | 199 void DispatchKeyboardMessage(ui::EventType type, |
200 uint32 vkey, | 200 uint32 vkey, |
201 uint32 repeat_count, | 201 uint32 repeat_count, |
202 uint32 scan_code, | 202 uint32 scan_code, |
203 uint32 flags, | 203 uint32 flags, |
204 bool is_character); | 204 bool is_character); |
205 | 205 |
206 HWND remote_window_; | |
206 RootWindowHostDelegate* delegate_; | 207 RootWindowHostDelegate* delegate_; |
207 IPC::Sender* host_; | 208 IPC::Sender* host_; |
208 scoped_ptr<ui::ViewProp> prop_; | 209 scoped_ptr<ui::ViewProp> prop_; |
209 | 210 |
210 // Saved callbacks which inform the caller about the result of the open file/ | 211 // Saved callbacks which inform the caller about the result of the open file/ |
211 // save file/select operations. | 212 // save file/select operations. |
212 OpenFileCompletion file_open_completion_callback_; | 213 OpenFileCompletion file_open_completion_callback_; |
213 OpenMultipleFilesCompletion multi_file_open_completion_callback_; | 214 OpenMultipleFilesCompletion multi_file_open_completion_callback_; |
214 SaveFileCompletion file_saveas_completion_callback_; | 215 SaveFileCompletion file_saveas_completion_callback_; |
215 SelectFolderCompletion select_folder_completion_callback_; | 216 SelectFolderCompletion select_folder_completion_callback_; |
216 FileSelectionCanceled failure_callback_; | 217 FileSelectionCanceled failure_callback_; |
217 | 218 |
218 // Set to true if we need to ignore mouse messages until the SetCursorPos | 219 // Set to true if we need to ignore mouse messages until the SetCursorPos |
219 // operation is acked by the viewer. | 220 // operation is acked by the viewer. |
220 bool ignore_mouse_moves_until_set_cursor_ack_; | 221 bool ignore_mouse_moves_until_set_cursor_ack_; |
221 | 222 |
222 // Tracking last click event for synthetically generated mouse events. | 223 // Tracking last click event for synthetically generated mouse events. |
223 scoped_ptr<ui::MouseEvent> last_mouse_click_event_; | 224 scoped_ptr<ui::MouseEvent> last_mouse_click_event_; |
224 | 225 |
225 DISALLOW_COPY_AND_ASSIGN(RemoteRootWindowHostWin); | 226 DISALLOW_COPY_AND_ASSIGN(RemoteRootWindowHostWin); |
226 }; | 227 }; |
227 | 228 |
228 } // namespace aura | 229 } // namespace aura |
229 | 230 |
230 #endif // UI_AURA_REMOTE_ROOT_WINDOW_HOST_WIN_H_ | 231 #endif // UI_AURA_REMOTE_ROOT_WINDOW_HOST_WIN_H_ |
OLD | NEW |