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

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

Issue 1033913003: Touch Events capability negotiation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Pass supports_touch_events to classes that inherit BasicDesktopEnvironment Created 5 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
« no previous file with comments | « remoting/host/ipc_desktop_environment.cc ('k') | remoting/host/it2me_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) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/bind.h" 5 #include "base/bind.h"
6 #include "base/bind_helpers.h" 6 #include "base/bind_helpers.h"
7 #include "base/callback.h" 7 #include "base/callback.h"
8 #include "base/memory/ref_counted.h" 8 #include "base/memory/ref_counted.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 162
163 // Destroys the desktop process object created by CreateDesktopProcess(). 163 // Destroys the desktop process object created by CreateDesktopProcess().
164 void DestoyDesktopProcess(); 164 void DestoyDesktopProcess();
165 165
166 void OnDisconnectCallback(); 166 void OnDisconnectCallback();
167 167
168 // Invoked when ChromotingDesktopDaemonMsg_DesktopAttached message is 168 // Invoked when ChromotingDesktopDaemonMsg_DesktopAttached message is
169 // received. 169 // received.
170 void OnDesktopAttached(IPC::PlatformFileForTransit desktop_pipe); 170 void OnDesktopAttached(IPC::PlatformFileForTransit desktop_pipe);
171 171
172 void RunMainLoopUntilDone();
173
172 // The main message loop. 174 // The main message loop.
173 base::MessageLoopForUI message_loop_; 175 base::MessageLoopForUI message_loop_;
174 176
175 // Runs until |desktop_session_proxy_| is connected to the desktop. 177 // Runs until |desktop_session_proxy_| is connected to the desktop.
176 scoped_ptr<base::RunLoop> setup_run_loop_; 178 scoped_ptr<base::RunLoop> setup_run_loop_;
177 179
178 // Runs until there are references to |task_runner_|. 180 // Runs until there are references to |task_runner_|.
179 base::RunLoop main_run_loop_; 181 base::RunLoop main_run_loop_;
Wez 2015/05/21 22:10:45 nit: Make this private, so that the derived tests
Rintaro Kuroiwa 2015/05/22 01:04:04 Done.
180 182
181 scoped_refptr<AutoThreadTaskRunner> task_runner_; 183 scoped_refptr<AutoThreadTaskRunner> task_runner_;
182 scoped_refptr<AutoThreadTaskRunner> io_task_runner_; 184 scoped_refptr<AutoThreadTaskRunner> io_task_runner_;
183 185
184 std::string client_jid_; 186 std::string client_jid_;
185 187
186 // Clipboard stub that receives clipboard events from the desktop process. 188 // Clipboard stub that receives clipboard events from the desktop process.
187 protocol::ClipboardStub* clipboard_stub_; 189 protocol::ClipboardStub* clipboard_stub_;
188 190
189 // The daemons's end of the daemon-to-desktop channel. 191 // The daemons's end of the daemon-to-desktop channel.
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after
431 ASSERT_NE(FALSE, ::DuplicateHandle(GetCurrentProcess(), process_handle, 433 ASSERT_NE(FALSE, ::DuplicateHandle(GetCurrentProcess(), process_handle,
432 GetCurrentProcess(), &process_handle, 434 GetCurrentProcess(), &process_handle,
433 0, FALSE, DUPLICATE_SAME_ACCESS)); 435 0, FALSE, DUPLICATE_SAME_ACCESS));
434 #endif 436 #endif
435 437
436 // Instruct DesktopSessionProxy to connect to the network-to-desktop pipe. 438 // Instruct DesktopSessionProxy to connect to the network-to-desktop pipe.
437 desktop_environment_factory_->OnDesktopSessionAgentAttached( 439 desktop_environment_factory_->OnDesktopSessionAgentAttached(
438 terminal_id_, process_handle, desktop_pipe); 440 terminal_id_, process_handle, desktop_pipe);
439 } 441 }
440 442
443 void IpcDesktopEnvironmentTest::RunMainLoopUntilDone() {
444 task_runner_ = nullptr;
445 io_task_runner_ = nullptr;
446 main_run_loop_.Run();
447 }
448
441 // Runs until the desktop is attached and exits immediately after that. 449 // Runs until the desktop is attached and exits immediately after that.
442 TEST_F(IpcDesktopEnvironmentTest, Basic) { 450 TEST_F(IpcDesktopEnvironmentTest, Basic) {
443 scoped_ptr<protocol::MockClipboardStub> clipboard_stub( 451 scoped_ptr<protocol::MockClipboardStub> clipboard_stub(
444 new protocol::MockClipboardStub()); 452 new protocol::MockClipboardStub());
445 EXPECT_CALL(*clipboard_stub, InjectClipboardEvent(_)) 453 EXPECT_CALL(*clipboard_stub, InjectClipboardEvent(_))
446 .Times(0); 454 .Times(0);
447 455
448 // Start the input injector and screen capturer. 456 // Start the input injector and screen capturer.
449 input_injector_->Start(clipboard_stub.Pass()); 457 input_injector_->Start(clipboard_stub.Pass());
450 458
451 // Run the message loop until the desktop is attached. 459 // Run the message loop until the desktop is attached.
452 setup_run_loop_->Run(); 460 setup_run_loop_->Run();
453 461
454 // Stop the test. 462 // Stop the test.
455 DeleteDesktopEnvironment(); 463 DeleteDesktopEnvironment();
456 464
457 task_runner_ = nullptr; 465 RunMainLoopUntilDone();
458 io_task_runner_ = nullptr; 466 }
459 main_run_loop_.Run(); 467
468 // Check Capabilities.
469 TEST_F(IpcDesktopEnvironmentTest, CapabilitiesNoTouch) {
470 scoped_ptr<protocol::MockClipboardStub> clipboard_stub(
471 new protocol::MockClipboardStub());
472 EXPECT_CALL(*clipboard_stub, InjectClipboardEvent(_))
473 .Times(0);
474
475 EXPECT_EQ("rateLimitResizeRequests", desktop_environment_->GetCapabilities());
476
477 // Start the input injector and screen capturer.
478 input_injector_->Start(clipboard_stub.Pass());
479
480 // Run the message loop until the desktop is attached.
481 setup_run_loop_->Run();
482
483 // Stop the test.
484 DeleteDesktopEnvironment();
485
486 RunMainLoopUntilDone();
487 }
488
489 // Check touchEvents capability is set when the desktop environment can
490 // inject touch events.
491 TEST_F(IpcDesktopEnvironmentTest, TouchEventsCapabilities) {
492 // Create an environment with multi touch enabled.
493 desktop_environment_factory_->set_supports_touch_events(true);
494 desktop_environment_ = desktop_environment_factory_->Create(
495 client_session_control_factory_.GetWeakPtr());
496
497 scoped_ptr<protocol::MockClipboardStub> clipboard_stub(
498 new protocol::MockClipboardStub());
499 EXPECT_CALL(*clipboard_stub, InjectClipboardEvent(_))
500 .Times(0);
501
502 EXPECT_EQ("rateLimitResizeRequests touchEvents",
503 desktop_environment_->GetCapabilities());
504
505 // Start the input injector and screen capturer.
506 input_injector_->Start(clipboard_stub.Pass());
507
508 // Run the message loop until the desktop is attached.
509 setup_run_loop_->Run();
510
511 // Stop the test.
512 DeleteDesktopEnvironment();
513
514 RunMainLoopUntilDone();
460 } 515 }
461 516
462 // Tests that the video capturer receives a frame over IPC. 517 // Tests that the video capturer receives a frame over IPC.
463 TEST_F(IpcDesktopEnvironmentTest, CaptureFrame) { 518 TEST_F(IpcDesktopEnvironmentTest, CaptureFrame) {
464 scoped_ptr<protocol::MockClipboardStub> clipboard_stub( 519 scoped_ptr<protocol::MockClipboardStub> clipboard_stub(
465 new protocol::MockClipboardStub()); 520 new protocol::MockClipboardStub());
466 EXPECT_CALL(*clipboard_stub, InjectClipboardEvent(_)) 521 EXPECT_CALL(*clipboard_stub, InjectClipboardEvent(_))
467 .Times(0); 522 .Times(0);
468 523
469 // Start the input injector and screen capturer. 524 // Start the input injector and screen capturer.
470 input_injector_->Start(clipboard_stub.Pass()); 525 input_injector_->Start(clipboard_stub.Pass());
471 video_capturer_->Start(&desktop_capturer_callback_); 526 video_capturer_->Start(&desktop_capturer_callback_);
472 527
473 // Run the message loop until the desktop is attached. 528 // Run the message loop until the desktop is attached.
474 setup_run_loop_->Run(); 529 setup_run_loop_->Run();
475 530
476 // Stop the test when the first frame is captured. 531 // Stop the test when the first frame is captured.
477 EXPECT_CALL(desktop_capturer_callback_, OnCaptureCompleted(_)) 532 EXPECT_CALL(desktop_capturer_callback_, OnCaptureCompleted(_))
478 .WillOnce(DoAll( 533 .WillOnce(DoAll(
479 DeleteArg<0>(), 534 DeleteArg<0>(),
480 InvokeWithoutArgs( 535 InvokeWithoutArgs(
481 this, &IpcDesktopEnvironmentTest::DeleteDesktopEnvironment))); 536 this, &IpcDesktopEnvironmentTest::DeleteDesktopEnvironment)));
482 537
483 // Capture a single frame. 538 // Capture a single frame.
484 video_capturer_->Capture(webrtc::DesktopRegion()); 539 video_capturer_->Capture(webrtc::DesktopRegion());
485 540
486 task_runner_ = nullptr; 541 RunMainLoopUntilDone();
487 io_task_runner_ = nullptr;
488 main_run_loop_.Run();
489 } 542 }
490 543
491 // Tests that attaching to a new desktop works. 544 // Tests that attaching to a new desktop works.
492 TEST_F(IpcDesktopEnvironmentTest, Reattach) { 545 TEST_F(IpcDesktopEnvironmentTest, Reattach) {
493 scoped_ptr<protocol::MockClipboardStub> clipboard_stub( 546 scoped_ptr<protocol::MockClipboardStub> clipboard_stub(
494 new protocol::MockClipboardStub()); 547 new protocol::MockClipboardStub());
495 EXPECT_CALL(*clipboard_stub, InjectClipboardEvent(_)) 548 EXPECT_CALL(*clipboard_stub, InjectClipboardEvent(_))
496 .Times(0); 549 .Times(0);
497 550
498 // Start the input injector and screen capturer. 551 // Start the input injector and screen capturer.
499 input_injector_->Start(clipboard_stub.Pass()); 552 input_injector_->Start(clipboard_stub.Pass());
500 video_capturer_->Start(&desktop_capturer_callback_); 553 video_capturer_->Start(&desktop_capturer_callback_);
501 554
502 // Run the message loop until the desktop is attached. 555 // Run the message loop until the desktop is attached.
503 setup_run_loop_->Run(); 556 setup_run_loop_->Run();
504 557
505 // Create and start a new desktop process object. 558 // Create and start a new desktop process object.
506 setup_run_loop_.reset(new base::RunLoop()); 559 setup_run_loop_.reset(new base::RunLoop());
507 DestoyDesktopProcess(); 560 DestoyDesktopProcess();
508 CreateDesktopProcess(); 561 CreateDesktopProcess();
509 setup_run_loop_->Run(); 562 setup_run_loop_->Run();
510 563
511 // Stop the test. 564 // Stop the test.
512 DeleteDesktopEnvironment(); 565 DeleteDesktopEnvironment();
513 566
514 task_runner_ = nullptr; 567 RunMainLoopUntilDone();
515 io_task_runner_ = nullptr;
516 main_run_loop_.Run();
517 } 568 }
518 569
519 // Tests injection of clipboard events. 570 // Tests injection of clipboard events.
520 TEST_F(IpcDesktopEnvironmentTest, InjectClipboardEvent) { 571 TEST_F(IpcDesktopEnvironmentTest, InjectClipboardEvent) {
521 scoped_ptr<protocol::MockClipboardStub> clipboard_stub( 572 scoped_ptr<protocol::MockClipboardStub> clipboard_stub(
522 new protocol::MockClipboardStub()); 573 new protocol::MockClipboardStub());
523 clipboard_stub_ = clipboard_stub.get(); 574 clipboard_stub_ = clipboard_stub.get();
524 575
525 // Stop the test when a clipboard event is received from the desktop process. 576 // Stop the test when a clipboard event is received from the desktop process.
526 EXPECT_CALL(*clipboard_stub, InjectClipboardEvent(_)) 577 EXPECT_CALL(*clipboard_stub, InjectClipboardEvent(_))
(...skipping 13 matching lines...) Expand all
540 .Times(1) 591 .Times(1)
541 .WillOnce(Invoke(this, 592 .WillOnce(Invoke(this,
542 &IpcDesktopEnvironmentTest::ReflectClipboardEvent)); 593 &IpcDesktopEnvironmentTest::ReflectClipboardEvent));
543 594
544 // Send a clipboard event. 595 // Send a clipboard event.
545 protocol::ClipboardEvent event; 596 protocol::ClipboardEvent event;
546 event.set_mime_type(kMimeTypeTextUtf8); 597 event.set_mime_type(kMimeTypeTextUtf8);
547 event.set_data("a"); 598 event.set_data("a");
548 input_injector_->InjectClipboardEvent(event); 599 input_injector_->InjectClipboardEvent(event);
549 600
550 task_runner_ = nullptr; 601 RunMainLoopUntilDone();
551 io_task_runner_ = nullptr;
552 main_run_loop_.Run();
553 } 602 }
554 603
555 // Tests injection of key events. 604 // Tests injection of key events.
556 TEST_F(IpcDesktopEnvironmentTest, InjectKeyEvent) { 605 TEST_F(IpcDesktopEnvironmentTest, InjectKeyEvent) {
557 scoped_ptr<protocol::MockClipboardStub> clipboard_stub( 606 scoped_ptr<protocol::MockClipboardStub> clipboard_stub(
558 new protocol::MockClipboardStub()); 607 new protocol::MockClipboardStub());
559 EXPECT_CALL(*clipboard_stub, InjectClipboardEvent(_)) 608 EXPECT_CALL(*clipboard_stub, InjectClipboardEvent(_))
560 .Times(0); 609 .Times(0);
561 610
562 // Start the input injector and screen capturer. 611 // Start the input injector and screen capturer.
563 input_injector_->Start(clipboard_stub.Pass()); 612 input_injector_->Start(clipboard_stub.Pass());
564 video_capturer_->Start(&desktop_capturer_callback_); 613 video_capturer_->Start(&desktop_capturer_callback_);
565 614
566 // Run the message loop until the desktop is attached. 615 // Run the message loop until the desktop is attached.
567 setup_run_loop_->Run(); 616 setup_run_loop_->Run();
568 617
569 // Expect a single key event. 618 // Expect a single key event.
570 EXPECT_CALL(*remote_input_injector_, InjectKeyEvent(_)) 619 EXPECT_CALL(*remote_input_injector_, InjectKeyEvent(_))
571 .Times(AtLeast(1)) 620 .Times(AtLeast(1))
572 .WillRepeatedly(InvokeWithoutArgs( 621 .WillRepeatedly(InvokeWithoutArgs(
573 this, &IpcDesktopEnvironmentTest::DeleteDesktopEnvironment)); 622 this, &IpcDesktopEnvironmentTest::DeleteDesktopEnvironment));
574 623
575 // Send a key event. 624 // Send a key event.
576 protocol::KeyEvent event; 625 protocol::KeyEvent event;
577 event.set_usb_keycode(0x070004); 626 event.set_usb_keycode(0x070004);
578 event.set_pressed(true); 627 event.set_pressed(true);
579 input_injector_->InjectKeyEvent(event); 628 input_injector_->InjectKeyEvent(event);
580 629
581 task_runner_ = nullptr; 630 RunMainLoopUntilDone();
582 io_task_runner_ = nullptr;
583 main_run_loop_.Run();
584 } 631 }
585 632
586 // Tests injection of text events. 633 // Tests injection of text events.
587 TEST_F(IpcDesktopEnvironmentTest, InjectTextEvent) { 634 TEST_F(IpcDesktopEnvironmentTest, InjectTextEvent) {
588 scoped_ptr<protocol::MockClipboardStub> clipboard_stub( 635 scoped_ptr<protocol::MockClipboardStub> clipboard_stub(
589 new protocol::MockClipboardStub()); 636 new protocol::MockClipboardStub());
590 EXPECT_CALL(*clipboard_stub, InjectClipboardEvent(_)) 637 EXPECT_CALL(*clipboard_stub, InjectClipboardEvent(_))
591 .Times(0); 638 .Times(0);
592 639
593 // Start the input injector and screen capturer. 640 // Start the input injector and screen capturer.
594 input_injector_->Start(clipboard_stub.Pass()); 641 input_injector_->Start(clipboard_stub.Pass());
595 video_capturer_->Start(&desktop_capturer_callback_); 642 video_capturer_->Start(&desktop_capturer_callback_);
596 643
597 // Run the message loop until the desktop is attached. 644 // Run the message loop until the desktop is attached.
598 setup_run_loop_->Run(); 645 setup_run_loop_->Run();
599 646
600 // Expect a single text event. 647 // Expect a single text event.
601 EXPECT_CALL(*remote_input_injector_, InjectTextEvent(_)) 648 EXPECT_CALL(*remote_input_injector_, InjectTextEvent(_))
602 .Times(AtLeast(1)) 649 .Times(AtLeast(1))
603 .WillRepeatedly(InvokeWithoutArgs( 650 .WillRepeatedly(InvokeWithoutArgs(
604 this, &IpcDesktopEnvironmentTest::DeleteDesktopEnvironment)); 651 this, &IpcDesktopEnvironmentTest::DeleteDesktopEnvironment));
605 652
606 // Send a text event. 653 // Send a text event.
607 protocol::TextEvent event; 654 protocol::TextEvent event;
608 event.set_text("hello"); 655 event.set_text("hello");
609 input_injector_->InjectTextEvent(event); 656 input_injector_->InjectTextEvent(event);
610 657
611 task_runner_ = nullptr; 658 RunMainLoopUntilDone();
612 io_task_runner_ = nullptr;
613 main_run_loop_.Run();
614 } 659 }
615 660
616 // Tests injection of mouse events. 661 // Tests injection of mouse events.
617 TEST_F(IpcDesktopEnvironmentTest, InjectMouseEvent) { 662 TEST_F(IpcDesktopEnvironmentTest, InjectMouseEvent) {
618 scoped_ptr<protocol::MockClipboardStub> clipboard_stub( 663 scoped_ptr<protocol::MockClipboardStub> clipboard_stub(
619 new protocol::MockClipboardStub()); 664 new protocol::MockClipboardStub());
620 EXPECT_CALL(*clipboard_stub, InjectClipboardEvent(_)) 665 EXPECT_CALL(*clipboard_stub, InjectClipboardEvent(_))
621 .Times(0); 666 .Times(0);
622 667
623 // Start the input injector and screen capturer. 668 // Start the input injector and screen capturer.
624 input_injector_->Start(clipboard_stub.Pass()); 669 input_injector_->Start(clipboard_stub.Pass());
625 video_capturer_->Start(&desktop_capturer_callback_); 670 video_capturer_->Start(&desktop_capturer_callback_);
626 671
627 // Run the message loop until the desktop is attached. 672 // Run the message loop until the desktop is attached.
628 setup_run_loop_->Run(); 673 setup_run_loop_->Run();
629 674
630 // Expect a single mouse event. 675 // Expect a single mouse event.
631 EXPECT_CALL(*remote_input_injector_, InjectMouseEvent(_)) 676 EXPECT_CALL(*remote_input_injector_, InjectMouseEvent(_))
632 .Times(1) 677 .Times(1)
633 .WillOnce(InvokeWithoutArgs( 678 .WillOnce(InvokeWithoutArgs(
634 this, &IpcDesktopEnvironmentTest::DeleteDesktopEnvironment)); 679 this, &IpcDesktopEnvironmentTest::DeleteDesktopEnvironment));
635 680
636 // Send a mouse event. 681 // Send a mouse event.
637 protocol::MouseEvent event; 682 protocol::MouseEvent event;
638 event.set_x(0); 683 event.set_x(0);
639 event.set_y(0); 684 event.set_y(0);
640 input_injector_->InjectMouseEvent(event); 685 input_injector_->InjectMouseEvent(event);
641 686
642 task_runner_ = nullptr; 687 RunMainLoopUntilDone();
643 io_task_runner_ = nullptr;
644 main_run_loop_.Run();
645 } 688 }
646 689
647 // Tests injection of touch events. 690 // Tests injection of touch events.
648 TEST_F(IpcDesktopEnvironmentTest, InjectTouchEvent) { 691 TEST_F(IpcDesktopEnvironmentTest, InjectTouchEvent) {
649 scoped_ptr<protocol::MockClipboardStub> clipboard_stub( 692 scoped_ptr<protocol::MockClipboardStub> clipboard_stub(
650 new protocol::MockClipboardStub()); 693 new protocol::MockClipboardStub());
651 EXPECT_CALL(*clipboard_stub, InjectClipboardEvent(_)) 694 EXPECT_CALL(*clipboard_stub, InjectClipboardEvent(_))
652 .Times(0); 695 .Times(0);
653 696
654 // Start the input injector and screen capturer. 697 // Start the input injector and screen capturer.
(...skipping 23 matching lines...) Expand all
678 // And one more call for ReleaseAll(). 721 // And one more call for ReleaseAll().
679 EXPECT_CALL(*remote_input_injector_, 722 EXPECT_CALL(*remote_input_injector_,
680 InjectTouchEvent(EqualsTouchEvent(event))); 723 InjectTouchEvent(EqualsTouchEvent(event)));
681 EXPECT_CALL(*remote_input_injector_, 724 EXPECT_CALL(*remote_input_injector_,
682 InjectTouchEvent(EqualsTouchEventTypeAndId( 725 InjectTouchEvent(EqualsTouchEventTypeAndId(
683 protocol::TouchEvent::TOUCH_POINT_CANCEL, 0u))); 726 protocol::TouchEvent::TOUCH_POINT_CANCEL, 0u)));
684 727
685 // Send the touch event. 728 // Send the touch event.
686 input_injector_->InjectTouchEvent(event); 729 input_injector_->InjectTouchEvent(event);
687 730
688 task_runner_ = nullptr; 731 RunMainLoopUntilDone();
689 io_task_runner_ = nullptr;
690 main_run_loop_.Run();
691 } 732 }
692 733
693 // Tests that setting the desktop resolution works. 734 // Tests that setting the desktop resolution works.
694 TEST_F(IpcDesktopEnvironmentTest, SetScreenResolution) { 735 TEST_F(IpcDesktopEnvironmentTest, SetScreenResolution) {
695 scoped_ptr<protocol::MockClipboardStub> clipboard_stub( 736 scoped_ptr<protocol::MockClipboardStub> clipboard_stub(
696 new protocol::MockClipboardStub()); 737 new protocol::MockClipboardStub());
697 EXPECT_CALL(*clipboard_stub, InjectClipboardEvent(_)) 738 EXPECT_CALL(*clipboard_stub, InjectClipboardEvent(_))
698 .Times(0); 739 .Times(0);
699 740
700 // Start the input injector and screen capturer. 741 // Start the input injector and screen capturer.
701 input_injector_->Start(clipboard_stub.Pass()); 742 input_injector_->Start(clipboard_stub.Pass());
702 video_capturer_->Start(&desktop_capturer_callback_); 743 video_capturer_->Start(&desktop_capturer_callback_);
703 744
704 // Run the message loop until the desktop is attached. 745 // Run the message loop until the desktop is attached.
705 setup_run_loop_->Run(); 746 setup_run_loop_->Run();
706 747
707 EXPECT_CALL(daemon_channel_, SetScreenResolution(_, _)) 748 EXPECT_CALL(daemon_channel_, SetScreenResolution(_, _))
708 .Times(1) 749 .Times(1)
709 .WillOnce(InvokeWithoutArgs( 750 .WillOnce(InvokeWithoutArgs(
710 this, &IpcDesktopEnvironmentTest::DeleteDesktopEnvironment)); 751 this, &IpcDesktopEnvironmentTest::DeleteDesktopEnvironment));
711 752
712 // Change the desktop resolution. 753 // Change the desktop resolution.
713 screen_controls_->SetScreenResolution(ScreenResolution( 754 screen_controls_->SetScreenResolution(ScreenResolution(
714 webrtc::DesktopSize(100, 100), 755 webrtc::DesktopSize(100, 100),
715 webrtc::DesktopVector(96, 96))); 756 webrtc::DesktopVector(96, 96)));
716 757
717 task_runner_ = nullptr; 758 RunMainLoopUntilDone();
718 io_task_runner_ = nullptr;
719 main_run_loop_.Run();
720 } 759 }
721 760
722 } // namespace remoting 761 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/host/ipc_desktop_environment.cc ('k') | remoting/host/it2me_desktop_environment.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698