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

Side by Side Diff: remoting/host/client_session_unittest.cc

Issue 10920019: [Chromoting] Refactoring DesktopEnvironment and moving screen/audio recorders to ClientSession. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebased. 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
« no previous file with comments | « remoting/host/client_session.cc ('k') | remoting/host/desktop_environment.h » ('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 #include "base/message_loop.h" 5 #include "base/message_loop.h"
6 #include "remoting/base/constants.h" 6 #include "remoting/base/constants.h"
7 #include "remoting/host/audio_capturer.h"
7 #include "remoting/host/client_session.h" 8 #include "remoting/host/client_session.h"
9 #include "remoting/host/desktop_environment.h"
8 #include "remoting/host/host_mock_objects.h" 10 #include "remoting/host/host_mock_objects.h"
9 #include "remoting/protocol/protocol_mock_objects.h" 11 #include "remoting/protocol/protocol_mock_objects.h"
10 #include "testing/gtest/include/gtest/gtest.h" 12 #include "testing/gtest/include/gtest/gtest.h"
11 13
12 namespace remoting { 14 namespace remoting {
13 15
14 using protocol::MockClipboardStub; 16 using protocol::MockClipboardStub;
15 using protocol::MockConnectionToClient; 17 using protocol::MockConnectionToClient;
16 using protocol::MockConnectionToClientEventHandler; 18 using protocol::MockConnectionToClientEventHandler;
17 using protocol::MockHostStub; 19 using protocol::MockHostStub;
18 using protocol::MockInputStub; 20 using protocol::MockInputStub;
19 using protocol::MockSession; 21 using protocol::MockSession;
22 using protocol::SessionConfig;
20 23
21 using testing::_; 24 using testing::_;
25 using testing::AnyNumber;
22 using testing::DeleteArg; 26 using testing::DeleteArg;
23 using testing::InSequence; 27 using testing::InSequence;
24 using testing::Return; 28 using testing::Return;
25 using testing::ReturnRef; 29 using testing::ReturnRef;
26 30
27 class ClientSessionTest : public testing::Test { 31 class ClientSessionTest : public testing::Test {
28 public: 32 public:
29 ClientSessionTest() {} 33 ClientSessionTest() {}
30 34
31 virtual void SetUp() OVERRIDE { 35 virtual void SetUp() OVERRIDE {
36 message_loop_proxy_ = base::MessageLoopProxy::current();
37
38 EXPECT_CALL(context_, ui_task_runner())
39 .Times(AnyNumber())
40 .WillRepeatedly(Return(message_loop_proxy_.get()));
41 EXPECT_CALL(context_, capture_task_runner())
42 .Times(AnyNumber())
43 .WillRepeatedly(Return(message_loop_proxy_.get()));
44 EXPECT_CALL(context_, encode_task_runner())
45 .Times(AnyNumber())
46 .WillRepeatedly(Return(message_loop_proxy_.get()));
47 EXPECT_CALL(context_, network_task_runner())
48 .Times(AnyNumber())
49 .WillRepeatedly(Return(message_loop_proxy_.get()));
50
32 client_jid_ = "user@domain/rest-of-jid"; 51 client_jid_ = "user@domain/rest-of-jid";
33 52
53 event_executor_ = new MockEventExecutor();
54 capturer_ = new MockVideoFrameCapturer();
55 EXPECT_CALL(*capturer_, Start(_));
56 EXPECT_CALL(*capturer_, Stop());
57 EXPECT_CALL(*capturer_, InvalidateRegion(_)).Times(AnyNumber());
58 EXPECT_CALL(*capturer_, CaptureInvalidRegion(_)).Times(AnyNumber());
59
60 scoped_ptr<DesktopEnvironment> desktop_environment(new DesktopEnvironment(
61 scoped_ptr<AudioCapturer>(NULL),
62 scoped_ptr<EventExecutor>(event_executor_),
63 scoped_ptr<VideoFrameCapturer>(capturer_)));
64
34 // Set up a large default screen size that won't affect most tests. 65 // Set up a large default screen size that won't affect most tests.
35 default_screen_size_.set(1000, 1000); 66 default_screen_size_.set(1000, 1000);
36 EXPECT_CALL(capturer_, size_most_recent()) 67 EXPECT_CALL(*capturer_, size_most_recent())
37 .WillRepeatedly(ReturnRef(default_screen_size_)); 68 .WillRepeatedly(ReturnRef(default_screen_size_));
38 69
70 session_config_ = SessionConfig::GetDefault();
71
39 protocol::MockSession* session = new MockSession(); 72 protocol::MockSession* session = new MockSession();
73 EXPECT_CALL(*session, config()).WillRepeatedly(ReturnRef(session_config_));
40 EXPECT_CALL(*session, jid()).WillRepeatedly(ReturnRef(client_jid_)); 74 EXPECT_CALL(*session, jid()).WillRepeatedly(ReturnRef(client_jid_));
41 EXPECT_CALL(*session, SetEventHandler(_)); 75 EXPECT_CALL(*session, SetEventHandler(_));
42 EXPECT_CALL(*session, Close()); 76 EXPECT_CALL(*session, Close());
43 scoped_ptr<protocol::ConnectionToClient> connection( 77 scoped_ptr<protocol::ConnectionToClient> connection(
44 new protocol::ConnectionToClient(session)); 78 new protocol::ConnectionToClient(session));
45 connection_ = connection.get(); 79 connection_ = connection.get();
46 client_session_.reset(new ClientSession( 80
47 &session_event_handler_, connection.Pass(), 81 client_session_ = new ClientSession(
48 &host_clipboard_stub_, &host_input_stub_, &capturer_, 82 &session_event_handler_,
49 base::TimeDelta())); 83 context_.capture_task_runner(),
84 context_.encode_task_runner(),
85 context_.network_task_runner(),
86 connection.Pass(),
87 desktop_environment.Pass(),
88 base::TimeDelta());
50 } 89 }
51 90
52 virtual void TearDown() OVERRIDE { 91 virtual void TearDown() OVERRIDE {
53 client_session_.reset(); 92 // MockClientSessionEventHandler won't trigger StopAndDelete, so fake it.
93 client_session_->StopAndDelete();
54 // Run message loop before destroying because protocol::Session is 94 // Run message loop before destroying because protocol::Session is
55 // destroyed asynchronously. 95 // destroyed asynchronously.
56 message_loop_.RunAllPending(); 96 message_loop_.RunAllPending();
57 } 97 }
58 98
59 protected: 99 protected:
60 void DisconnectClientSession() { 100 void DisconnectClientSession() {
61 client_session_->Disconnect(); 101 client_session_->Disconnect();
62 // MockSession won't trigger OnConnectionClosed, so fake it. 102 // MockSession won't trigger OnConnectionClosed, so fake it.
63 client_session_->OnConnectionClosed(client_session_->connection(), 103 client_session_->OnConnectionClosed(client_session_->connection(),
64 protocol::OK); 104 protocol::OK);
65 } 105 }
66 106
107 MockChromotingHostContext context_;
108 scoped_refptr<base::MessageLoopProxy> message_loop_proxy_;
67 SkISize default_screen_size_; 109 SkISize default_screen_size_;
68 MessageLoop message_loop_; 110 MessageLoop message_loop_;
69 std::string client_jid_; 111 std::string client_jid_;
70 MockHostStub host_stub_; 112 MockHostStub host_stub_;
71 MockClipboardStub host_clipboard_stub_; 113 MockEventExecutor* event_executor_;
72 MockInputStub host_input_stub_; 114 MockVideoFrameCapturer* capturer_;
73 MockVideoFrameCapturer capturer_;
74 MockClientSessionEventHandler session_event_handler_; 115 MockClientSessionEventHandler session_event_handler_;
75 scoped_ptr<ClientSession> client_session_; 116 ClientSession* client_session_;
117 SessionConfig session_config_;
76 118
77 // ClientSession owns |connection_| but tests need it to inject fake events. 119 // ClientSession owns |connection_| but tests need it to inject fake events.
78 protocol::ConnectionToClient* connection_; 120 protocol::ConnectionToClient* connection_;
79 }; 121 };
80 122
81 MATCHER_P2(EqualsClipboardEvent, m, d, "") { 123 MATCHER_P2(EqualsClipboardEvent, m, d, "") {
82 return (strcmp(arg.mime_type().c_str(), m) == 0 && 124 return (strcmp(arg.mime_type().c_str(), m) == 0 &&
83 memcmp(arg.data().data(), d, arg.data().size()) == 0); 125 memcmp(arg.data().data(), d, arg.data().size()) == 0);
84 } 126 }
85 127
86 TEST_F(ClientSessionTest, ClipboardStubFilter) { 128 TEST_F(ClientSessionTest, ClipboardStubFilter) {
87 protocol::ClipboardEvent clipboard_event1; 129 protocol::ClipboardEvent clipboard_event1;
88 clipboard_event1.set_mime_type(kMimeTypeTextUtf8); 130 clipboard_event1.set_mime_type(kMimeTypeTextUtf8);
89 clipboard_event1.set_data("a"); 131 clipboard_event1.set_data("a");
90 132
91 protocol::ClipboardEvent clipboard_event2; 133 protocol::ClipboardEvent clipboard_event2;
92 clipboard_event2.set_mime_type(kMimeTypeTextUtf8); 134 clipboard_event2.set_mime_type(kMimeTypeTextUtf8);
93 clipboard_event2.set_data("b"); 135 clipboard_event2.set_data("b");
94 136
95 protocol::ClipboardEvent clipboard_event3; 137 protocol::ClipboardEvent clipboard_event3;
96 clipboard_event3.set_mime_type(kMimeTypeTextUtf8); 138 clipboard_event3.set_mime_type(kMimeTypeTextUtf8);
97 clipboard_event3.set_data("c"); 139 clipboard_event3.set_data("c");
98 140
99 InSequence s; 141 InSequence s;
100 EXPECT_CALL(session_event_handler_, OnSessionAuthenticated(_)); 142 EXPECT_CALL(session_event_handler_, OnSessionAuthenticated(_));
143 EXPECT_CALL(*event_executor_, StartPtr(_));
101 EXPECT_CALL(session_event_handler_, OnSessionChannelsConnected(_)); 144 EXPECT_CALL(session_event_handler_, OnSessionChannelsConnected(_));
102 EXPECT_CALL(host_clipboard_stub_, InjectClipboardEvent(EqualsClipboardEvent( 145 EXPECT_CALL(*event_executor_, InjectClipboardEvent(EqualsClipboardEvent(
103 kMimeTypeTextUtf8, "b"))); 146 kMimeTypeTextUtf8, "b")));
104 EXPECT_CALL(session_event_handler_, OnSessionClosed(_)); 147 EXPECT_CALL(session_event_handler_, OnSessionClosed(_));
148 EXPECT_CALL(*event_executor_, StopAndDeleteMock());
105 149
106 // This event should not get through to the clipboard stub, 150 // This event should not get through to the clipboard stub,
107 // because the client isn't authenticated yet. 151 // because the client isn't authenticated yet.
108 connection_->clipboard_stub()->InjectClipboardEvent(clipboard_event1); 152 connection_->clipboard_stub()->InjectClipboardEvent(clipboard_event1);
109 client_session_->OnConnectionAuthenticated(client_session_->connection()); 153 client_session_->OnConnectionAuthenticated(client_session_->connection());
110 client_session_->OnConnectionChannelsConnected(client_session_->connection()); 154 client_session_->OnConnectionChannelsConnected(client_session_->connection());
111 // This event should get through to the clipboard stub. 155 // This event should get through to the clipboard stub.
112 connection_->clipboard_stub()->InjectClipboardEvent(clipboard_event2); 156 connection_->clipboard_stub()->InjectClipboardEvent(clipboard_event2);
113 DisconnectClientSession(); 157 DisconnectClientSession();
114 // This event should not get through to the clipboard stub, 158 // This event should not get through to the clipboard stub,
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 protocol::MouseEvent mouse_event2; 196 protocol::MouseEvent mouse_event2;
153 mouse_event2.set_x(200); 197 mouse_event2.set_x(200);
154 mouse_event2.set_y(201); 198 mouse_event2.set_y(201);
155 199
156 protocol::MouseEvent mouse_event3; 200 protocol::MouseEvent mouse_event3;
157 mouse_event3.set_x(300); 201 mouse_event3.set_x(300);
158 mouse_event3.set_y(301); 202 mouse_event3.set_y(301);
159 203
160 InSequence s; 204 InSequence s;
161 EXPECT_CALL(session_event_handler_, OnSessionAuthenticated(_)); 205 EXPECT_CALL(session_event_handler_, OnSessionAuthenticated(_));
206 EXPECT_CALL(*event_executor_, StartPtr(_));
162 EXPECT_CALL(session_event_handler_, OnSessionChannelsConnected(_)); 207 EXPECT_CALL(session_event_handler_, OnSessionChannelsConnected(_));
163 EXPECT_CALL(host_input_stub_, InjectKeyEvent(EqualsKeyEvent(2, true))); 208 EXPECT_CALL(*event_executor_, InjectKeyEvent(EqualsKeyEvent(2, true)));
164 EXPECT_CALL(host_input_stub_, InjectKeyEvent(EqualsKeyEvent(2, false))); 209 EXPECT_CALL(*event_executor_, InjectKeyEvent(EqualsKeyEvent(2, false)));
165 EXPECT_CALL(host_input_stub_, InjectMouseEvent(EqualsMouseEvent(200, 201))); 210 EXPECT_CALL(*event_executor_, InjectMouseEvent(EqualsMouseEvent(200, 201)));
166 EXPECT_CALL(session_event_handler_, OnSessionClosed(_)); 211 EXPECT_CALL(session_event_handler_, OnSessionClosed(_));
212 EXPECT_CALL(*event_executor_, StopAndDeleteMock());
167 213
168 // These events should not get through to the input stub, 214 // These events should not get through to the input stub,
169 // because the client isn't authenticated yet. 215 // because the client isn't authenticated yet.
170 connection_->input_stub()->InjectKeyEvent(key_event1); 216 connection_->input_stub()->InjectKeyEvent(key_event1);
171 connection_->input_stub()->InjectMouseEvent(mouse_event1); 217 connection_->input_stub()->InjectMouseEvent(mouse_event1);
172 client_session_->OnConnectionAuthenticated(client_session_->connection()); 218 client_session_->OnConnectionAuthenticated(client_session_->connection());
173 client_session_->OnConnectionChannelsConnected(client_session_->connection()); 219 client_session_->OnConnectionChannelsConnected(client_session_->connection());
174 // These events should get through to the input stub. 220 // These events should get through to the input stub.
175 connection_->input_stub()->InjectKeyEvent(key_event2_down); 221 connection_->input_stub()->InjectKeyEvent(key_event2_down);
176 connection_->input_stub()->InjectKeyEvent(key_event2_up); 222 connection_->input_stub()->InjectKeyEvent(key_event2_up);
(...skipping 11 matching lines...) Expand all
188 mouse_event1.set_y(101); 234 mouse_event1.set_y(101);
189 protocol::MouseEvent mouse_event2; 235 protocol::MouseEvent mouse_event2;
190 mouse_event2.set_x(200); 236 mouse_event2.set_x(200);
191 mouse_event2.set_y(201); 237 mouse_event2.set_y(201);
192 protocol::MouseEvent mouse_event3; 238 protocol::MouseEvent mouse_event3;
193 mouse_event3.set_x(300); 239 mouse_event3.set_x(300);
194 mouse_event3.set_y(301); 240 mouse_event3.set_y(301);
195 241
196 InSequence s; 242 InSequence s;
197 EXPECT_CALL(session_event_handler_, OnSessionAuthenticated(_)); 243 EXPECT_CALL(session_event_handler_, OnSessionAuthenticated(_));
244 EXPECT_CALL(*event_executor_, StartPtr(_));
198 EXPECT_CALL(session_event_handler_, OnSessionChannelsConnected(_)); 245 EXPECT_CALL(session_event_handler_, OnSessionChannelsConnected(_));
199 EXPECT_CALL(host_input_stub_, InjectMouseEvent(EqualsMouseEvent(100, 101))); 246 EXPECT_CALL(*event_executor_, InjectMouseEvent(EqualsMouseEvent(100, 101)));
200 EXPECT_CALL(host_input_stub_, InjectMouseEvent(EqualsMouseEvent(200, 201))); 247 EXPECT_CALL(*event_executor_, InjectMouseEvent(EqualsMouseEvent(200, 201)));
201 EXPECT_CALL(session_event_handler_, OnSessionClosed(_)); 248 EXPECT_CALL(session_event_handler_, OnSessionClosed(_));
249 EXPECT_CALL(*event_executor_, StopAndDeleteMock());
202 250
203 client_session_->OnConnectionAuthenticated(client_session_->connection()); 251 client_session_->OnConnectionAuthenticated(client_session_->connection());
204 client_session_->OnConnectionChannelsConnected(client_session_->connection()); 252 client_session_->OnConnectionChannelsConnected(client_session_->connection());
205 // This event should get through to the input stub. 253 // This event should get through to the input stub.
206 connection_->input_stub()->InjectMouseEvent(mouse_event1); 254 connection_->input_stub()->InjectMouseEvent(mouse_event1);
207 // This one should too because the local event echoes the remote one. 255 // This one should too because the local event echoes the remote one.
208 client_session_->LocalMouseMoved(SkIPoint::Make(mouse_event1.x(), 256 client_session_->LocalMouseMoved(SkIPoint::Make(mouse_event1.x(),
209 mouse_event1.y())); 257 mouse_event1.y()));
210 connection_->input_stub()->InjectMouseEvent(mouse_event2); 258 connection_->input_stub()->InjectMouseEvent(mouse_event2);
211 // This one should not. 259 // This one should not.
(...skipping 13 matching lines...) Expand all
225 protocol::KeyEvent key2; 273 protocol::KeyEvent key2;
226 key2.set_pressed(true); 274 key2.set_pressed(true);
227 key2.set_keycode(2); 275 key2.set_keycode(2);
228 276
229 protocol::MouseEvent mousedown; 277 protocol::MouseEvent mousedown;
230 mousedown.set_button(protocol::MouseEvent::BUTTON_LEFT); 278 mousedown.set_button(protocol::MouseEvent::BUTTON_LEFT);
231 mousedown.set_button_down(true); 279 mousedown.set_button_down(true);
232 280
233 InSequence s; 281 InSequence s;
234 EXPECT_CALL(session_event_handler_, OnSessionAuthenticated(_)); 282 EXPECT_CALL(session_event_handler_, OnSessionAuthenticated(_));
283 EXPECT_CALL(*event_executor_, StartPtr(_));
235 EXPECT_CALL(session_event_handler_, OnSessionChannelsConnected(_)); 284 EXPECT_CALL(session_event_handler_, OnSessionChannelsConnected(_));
236 EXPECT_CALL(host_input_stub_, InjectKeyEvent(EqualsKeyEvent(1, true))); 285 EXPECT_CALL(*event_executor_, InjectKeyEvent(EqualsKeyEvent(1, true)));
237 EXPECT_CALL(host_input_stub_, InjectKeyEvent(EqualsKeyEvent(2, true))); 286 EXPECT_CALL(*event_executor_, InjectKeyEvent(EqualsKeyEvent(2, true)));
238 EXPECT_CALL(host_input_stub_, InjectMouseEvent(EqualsMouseButtonEvent( 287 EXPECT_CALL(*event_executor_, InjectMouseEvent(EqualsMouseButtonEvent(
239 protocol::MouseEvent::BUTTON_LEFT, true))); 288 protocol::MouseEvent::BUTTON_LEFT, true)));
240 EXPECT_CALL(host_input_stub_, InjectKeyEvent(EqualsKeyEvent(1, false))); 289 EXPECT_CALL(*event_executor_, InjectKeyEvent(EqualsKeyEvent(1, false)));
241 EXPECT_CALL(host_input_stub_, InjectKeyEvent(EqualsKeyEvent(2, false))); 290 EXPECT_CALL(*event_executor_, InjectKeyEvent(EqualsKeyEvent(2, false)));
242 EXPECT_CALL(host_input_stub_, InjectMouseEvent(EqualsMouseButtonEvent( 291 EXPECT_CALL(*event_executor_, InjectMouseEvent(EqualsMouseButtonEvent(
243 protocol::MouseEvent::BUTTON_LEFT, false))); 292 protocol::MouseEvent::BUTTON_LEFT, false)));
244 EXPECT_CALL(session_event_handler_, OnSessionClosed(_)); 293 EXPECT_CALL(session_event_handler_, OnSessionClosed(_));
294 EXPECT_CALL(*event_executor_, StopAndDeleteMock());
245 295
246 client_session_->OnConnectionAuthenticated(client_session_->connection()); 296 client_session_->OnConnectionAuthenticated(client_session_->connection());
247 client_session_->OnConnectionChannelsConnected(client_session_->connection()); 297 client_session_->OnConnectionChannelsConnected(client_session_->connection());
248 298
249 connection_->input_stub()->InjectKeyEvent(key1); 299 connection_->input_stub()->InjectKeyEvent(key1);
250 connection_->input_stub()->InjectKeyEvent(key2); 300 connection_->input_stub()->InjectKeyEvent(key2);
251 connection_->input_stub()->InjectMouseEvent(mousedown); 301 connection_->input_stub()->InjectMouseEvent(mousedown);
252 302
253 DisconnectClientSession(); 303 DisconnectClientSession();
254 } 304 }
255 305
256 TEST_F(ClientSessionTest, ClampMouseEvents) { 306 TEST_F(ClientSessionTest, ClampMouseEvents) {
257 SkISize screen(SkISize::Make(200, 100)); 307 SkISize screen(SkISize::Make(200, 100));
258 EXPECT_CALL(capturer_, size_most_recent()) 308 EXPECT_CALL(*capturer_, size_most_recent())
259 .WillRepeatedly(ReturnRef(screen)); 309 .WillRepeatedly(ReturnRef(screen));
260 310
261 EXPECT_CALL(session_event_handler_, OnSessionAuthenticated(_)); 311 EXPECT_CALL(session_event_handler_, OnSessionAuthenticated(_));
312 EXPECT_CALL(*event_executor_, StartPtr(_));
262 EXPECT_CALL(session_event_handler_, OnSessionChannelsConnected(_)); 313 EXPECT_CALL(session_event_handler_, OnSessionChannelsConnected(_));
263 EXPECT_CALL(session_event_handler_, OnSessionClosed(_)); 314 EXPECT_CALL(session_event_handler_, OnSessionClosed(_));
315 EXPECT_CALL(*event_executor_, StopAndDeleteMock());
264 316
265 client_session_->OnConnectionAuthenticated(client_session_->connection()); 317 client_session_->OnConnectionAuthenticated(client_session_->connection());
266 client_session_->OnConnectionChannelsConnected(client_session_->connection()); 318 client_session_->OnConnectionChannelsConnected(client_session_->connection());
267 319
268 int input_x[3] = { -999, 100, 999 }; 320 int input_x[3] = { -999, 100, 999 };
269 int expected_x[3] = { 0, 100, 199 }; 321 int expected_x[3] = { 0, 100, 199 };
270 int input_y[3] = { -999, 50, 999 }; 322 int input_y[3] = { -999, 50, 999 };
271 int expected_y[3] = { 0, 50, 99 }; 323 int expected_y[3] = { 0, 50, 99 };
272 324
273 protocol::MouseEvent event; 325 protocol::MouseEvent event;
274 for (int j = 0; j < 3; j++) { 326 for (int j = 0; j < 3; j++) {
275 for (int i = 0; i < 3; i++) { 327 for (int i = 0; i < 3; i++) {
276 event.set_x(input_x[i]); 328 event.set_x(input_x[i]);
277 event.set_y(input_y[j]); 329 event.set_y(input_y[j]);
278 EXPECT_CALL(host_input_stub_, InjectMouseEvent(EqualsMouseEvent( 330 EXPECT_CALL(*event_executor_, InjectMouseEvent(EqualsMouseEvent(
279 expected_x[i], expected_y[j]))); 331 expected_x[i], expected_y[j])));
280 connection_->input_stub()->InjectMouseEvent(event); 332 connection_->input_stub()->InjectMouseEvent(event);
281 } 333 }
282 } 334 }
283 335
284 DisconnectClientSession(); 336 DisconnectClientSession();
285 } 337 }
286 338
287 } // namespace remoting 339 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/host/client_session.cc ('k') | remoting/host/desktop_environment.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698