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

Side by Side Diff: ppapi/proxy/ppapi_proxy_test.cc

Issue 2027313002: Migrate WaitableEvent to enum-based constructor in ppapi/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@WEvent_enums
Patch Set: Created 4 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 (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 "ppapi/proxy/ppapi_proxy_test.h" 5 #include "ppapi/proxy/ppapi_proxy_test.h"
6 6
7 #include <sstream> 7 #include <sstream>
8 #include <tuple> 8 #include <tuple>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 509 matching lines...) Expand 10 before | Expand all | Expand 10 after
520 // TwoWayTest --------------------------------------------------------------- 520 // TwoWayTest ---------------------------------------------------------------
521 521
522 TwoWayTest::TwoWayTest(TwoWayTest::TwoWayTestMode test_mode) 522 TwoWayTest::TwoWayTest(TwoWayTest::TwoWayTestMode test_mode)
523 : test_mode_(test_mode), 523 : test_mode_(test_mode),
524 host_(ProxyTestHarnessBase::PER_THREAD_GLOBALS), 524 host_(ProxyTestHarnessBase::PER_THREAD_GLOBALS),
525 plugin_(ProxyTestHarnessBase::PER_THREAD_GLOBALS), 525 plugin_(ProxyTestHarnessBase::PER_THREAD_GLOBALS),
526 io_thread_("TwoWayTest_IOThread"), 526 io_thread_("TwoWayTest_IOThread"),
527 plugin_thread_("TwoWayTest_PluginThread"), 527 plugin_thread_("TwoWayTest_PluginThread"),
528 remote_harness_(NULL), 528 remote_harness_(NULL),
529 local_harness_(NULL), 529 local_harness_(NULL),
530 channel_created_(true, false), 530 channel_created_(base::WaitableEvent::ResetPolicy::MANUAL,
531 shutdown_event_(true, false) { 531 base::WaitableEvent::InitialState::NOT_SIGNALED),
532 shutdown_event_(base::WaitableEvent::ResetPolicy::MANUAL,
533 base::WaitableEvent::InitialState::NOT_SIGNALED) {
532 if (test_mode == TEST_PPP_INTERFACE) { 534 if (test_mode == TEST_PPP_INTERFACE) {
533 remote_harness_ = &plugin_; 535 remote_harness_ = &plugin_;
534 local_harness_ = &host_; 536 local_harness_ = &host_;
535 } else { 537 } else {
536 remote_harness_ = &host_; 538 remote_harness_ = &host_;
537 local_harness_ = &plugin_; 539 local_harness_ = &plugin_;
538 } 540 }
539 } 541 }
540 542
541 TwoWayTest::~TwoWayTest() { 543 TwoWayTest::~TwoWayTest() {
542 shutdown_event_.Signal(); 544 shutdown_event_.Signal();
543 } 545 }
544 546
545 void TwoWayTest::SetUp() { 547 void TwoWayTest::SetUp() {
546 base::Thread::Options options; 548 base::Thread::Options options;
547 options.message_loop_type = base::MessageLoop::TYPE_IO; 549 options.message_loop_type = base::MessageLoop::TYPE_IO;
548 io_thread_.StartWithOptions(options); 550 io_thread_.StartWithOptions(options);
549 plugin_thread_.Start(); 551 plugin_thread_.Start();
550 552
551 // Construct the IPC handle name using the process ID so we can safely run 553 // Construct the IPC handle name using the process ID so we can safely run
552 // multiple |TwoWayTest|s concurrently. 554 // multiple |TwoWayTest|s concurrently.
553 std::ostringstream handle_name; 555 std::ostringstream handle_name;
554 handle_name << "TwoWayTestChannel" << base::GetCurrentProcId(); 556 handle_name << "TwoWayTestChannel" << base::GetCurrentProcId();
555 IPC::ChannelHandle handle(handle_name.str()); 557 IPC::ChannelHandle handle(handle_name.str());
556 base::WaitableEvent remote_harness_set_up(true, false); 558 base::WaitableEvent remote_harness_set_up(
559 base::WaitableEvent::ResetPolicy::MANUAL,
560 base::WaitableEvent::InitialState::NOT_SIGNALED);
557 plugin_thread_.task_runner()->PostTask( 561 plugin_thread_.task_runner()->PostTask(
558 FROM_HERE, base::Bind(&SetUpRemoteHarness, remote_harness_, handle, 562 FROM_HERE, base::Bind(&SetUpRemoteHarness, remote_harness_, handle,
559 base::RetainedRef(io_thread_.task_runner()), 563 base::RetainedRef(io_thread_.task_runner()),
560 &shutdown_event_, &remote_harness_set_up)); 564 &shutdown_event_, &remote_harness_set_up));
561 remote_harness_set_up.Wait(); 565 remote_harness_set_up.Wait();
562 local_harness_->SetUpHarnessWithChannel( 566 local_harness_->SetUpHarnessWithChannel(
563 handle, io_thread_.task_runner().get(), &shutdown_event_, 567 handle, io_thread_.task_runner().get(), &shutdown_event_,
564 true); // is_client 568 true); // is_client
565 } 569 }
566 570
567 void TwoWayTest::TearDown() { 571 void TwoWayTest::TearDown() {
568 base::WaitableEvent remote_harness_torn_down(true, false); 572 base::WaitableEvent remote_harness_torn_down(
573 base::WaitableEvent::ResetPolicy::MANUAL,
574 base::WaitableEvent::InitialState::NOT_SIGNALED);
569 plugin_thread_.task_runner()->PostTask( 575 plugin_thread_.task_runner()->PostTask(
570 FROM_HERE, base::Bind(&TearDownRemoteHarness, remote_harness_, 576 FROM_HERE, base::Bind(&TearDownRemoteHarness, remote_harness_,
571 &remote_harness_torn_down)); 577 &remote_harness_torn_down));
572 remote_harness_torn_down.Wait(); 578 remote_harness_torn_down.Wait();
573 579
574 local_harness_->TearDownHarness(); 580 local_harness_->TearDownHarness();
575 581
576 io_thread_.Stop(); 582 io_thread_.Stop();
577 } 583 }
578 584
579 void TwoWayTest::PostTaskOnRemoteHarness(const base::Closure& task) { 585 void TwoWayTest::PostTaskOnRemoteHarness(const base::Closure& task) {
580 base::WaitableEvent task_complete(true, false); 586 base::WaitableEvent task_complete(
587 base::WaitableEvent::ResetPolicy::MANUAL,
588 base::WaitableEvent::InitialState::NOT_SIGNALED);
581 plugin_thread_.task_runner()->PostTask( 589 plugin_thread_.task_runner()->PostTask(
582 FROM_HERE, base::Bind(&RunTaskOnRemoteHarness, task, &task_complete)); 590 FROM_HERE, base::Bind(&RunTaskOnRemoteHarness, task, &task_complete));
583 task_complete.Wait(); 591 task_complete.Wait();
584 } 592 }
585 593
586 594
587 } // namespace proxy 595 } // namespace proxy
588 } // namespace ppapi 596 } // namespace ppapi
OLDNEW
« no previous file with comments | « ppapi/host/resource_message_filter_unittest.cc ('k') | ppapi/proxy/ppp_instance_proxy_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698