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

Side by Side Diff: ui/aura/remote_window_tree_host_win.h

Issue 277753002: Makes construction of (ash)RemoteWindowTreeHostWin explicit (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix Created 6 years, 7 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
« no previous file with comments | « chrome/test/base/view_event_test_base.cc ('k') | ui/aura/remote_window_tree_host_win.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_WINDOW_TREE_HOST_WIN_H_ 5 #ifndef UI_AURA_REMOTE_WINDOW_TREE_HOST_WIN_H_
6 #define UI_AURA_REMOTE_WINDOW_TREE_HOST_WIN_H_ 6 #define UI_AURA_REMOTE_WINDOW_TREE_HOST_WIN_H_
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 AURA_EXPORT void HandleMetroExit(); 99 AURA_EXPORT void HandleMetroExit();
100 100
101 // WindowTreeHost implementaton that receives events from a different 101 // WindowTreeHost implementaton that receives events from a different
102 // process. In the case of Windows this is the Windows 8 (aka Metro) 102 // process. In the case of Windows this is the Windows 8 (aka Metro)
103 // frontend process, which forwards input events to this class. 103 // frontend process, which forwards input events to this class.
104 class AURA_EXPORT RemoteWindowTreeHostWin 104 class AURA_EXPORT RemoteWindowTreeHostWin
105 : public WindowTreeHost, 105 : public WindowTreeHost,
106 public ui::EventSource, 106 public ui::EventSource,
107 public ui::internal::RemoteInputMethodDelegateWin { 107 public ui::internal::RemoteInputMethodDelegateWin {
108 public: 108 public:
109 // Returns the only RemoteWindowTreeHostWin, if this is the first time 109 // Returns the current RemoteWindowTreeHostWin. This does *not* create a
110 // this function is called and the instance have never set by SetInstance, 110 // RemoteWindowTreeHostWin.
111 // it will call Create() wiht empty bounds.
112 static RemoteWindowTreeHostWin* Instance(); 111 static RemoteWindowTreeHostWin* Instance();
113 112
114 // Manually sets the instance to be used as a return value of |Instance()|
115 // method above. This should not be called if the instance has already
116 // been set or created, and doing so will result in CHECK failure.
117 static void SetInstance(RemoteWindowTreeHostWin* instance);
118
119 // Returns true if there is a RemoteWindowTreeHostWin and it has a valid 113 // Returns true if there is a RemoteWindowTreeHostWin and it has a valid
120 // HWND. A return value of false typically indicates we're not in metro mode. 114 // HWND. A return value of false typically indicates we're not in metro mode.
121 static bool IsValid(); 115 static bool IsValid();
122 116
123 // Sets the handle to the remote window and the scale factor. The 117 // Sets the handle to the remote window. The |remote_window| is the actual
124 // |remote_window| is the actual window owned by the viewer process. Call 118 // window owned by the viewer process. Call this before Connected() for some
125 // this before Connected() for some customers like input method 119 // customers like input method initialization which needs the handle.
126 // initialization which needs the handle. 120 void SetRemoteWindowHandle(HWND remote_window);
127 // |device_scale| indicates the Windows 8 dpi scale. 121 HWND remote_window() { return remote_window_; }
128 void InitializeRemoteWindowAndScaleFactor(HWND remote_window,
129 float device_scale);
130 122
131 // The |host| can be used when we need to send a message to it. 123 // The |host| can be used when we need to send a message to it.
132 void Connected(IPC::Sender* host); 124 void Connected(IPC::Sender* host);
133 // Called when the remote process has closed its IPC connection. 125 // Called when the remote process has closed its IPC connection.
134 void Disconnected(); 126 void Disconnected();
135 127
136 // Called when we have a message from the remote process. 128 // Called when we have a message from the remote process.
137 bool OnMessageReceived(const IPC::Message& message); 129 bool OnMessageReceived(const IPC::Message& message);
138 130
139 void HandleOpenURLOnDesktop(const base::FilePath& shortcut, 131 void HandleOpenURLOnDesktop(const base::FilePath& shortcut,
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 void HandleWindowSizeChanged(uint32 width, uint32 height); 165 void HandleWindowSizeChanged(uint32 width, uint32 height);
174 166
175 // Returns the active ASH root window. 167 // Returns the active ASH root window.
176 Window* GetAshWindow(); 168 Window* GetAshWindow();
177 169
178 // Returns true if the remote window is the foreground window according to the 170 // Returns true if the remote window is the foreground window according to the
179 // OS. 171 // OS.
180 bool IsForegroundWindow(); 172 bool IsForegroundWindow();
181 173
182 protected: 174 protected:
183 explicit RemoteWindowTreeHostWin(const gfx::Rect& bounds); 175 RemoteWindowTreeHostWin();
184 virtual ~RemoteWindowTreeHostWin(); 176 virtual ~RemoteWindowTreeHostWin();
185 177
186 private: 178 private:
187 // IPC message handing methods: 179 // IPC message handing methods:
188 void OnMouseMoved(int32 x, int32 y, int32 flags); 180 void OnMouseMoved(int32 x, int32 y, int32 flags);
189 void OnMouseButton(const MetroViewerHostMsg_MouseButtonParams& params); 181 void OnMouseButton(const MetroViewerHostMsg_MouseButtonParams& params);
190 void OnKeyDown(uint32 vkey, 182 void OnKeyDown(uint32 vkey,
191 uint32 repeat_count, 183 uint32 repeat_count,
192 uint32 scan_code, 184 uint32 scan_code,
193 uint32 flags); 185 uint32 flags);
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
302 294
303 // Current size of this root window. 295 // Current size of this root window.
304 gfx::Size window_size_; 296 gfx::Size window_size_;
305 297
306 DISALLOW_COPY_AND_ASSIGN(RemoteWindowTreeHostWin); 298 DISALLOW_COPY_AND_ASSIGN(RemoteWindowTreeHostWin);
307 }; 299 };
308 300
309 } // namespace aura 301 } // namespace aura
310 302
311 #endif // UI_AURA_REMOTE_WINDOW_TREE_HOST_WIN_H_ 303 #endif // UI_AURA_REMOTE_WINDOW_TREE_HOST_WIN_H_
OLDNEW
« no previous file with comments | « chrome/test/base/view_event_test_base.cc ('k') | ui/aura/remote_window_tree_host_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698