| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "ipc/mojo/ipc_channel_mojo.h" | 5 #include "ipc/mojo/ipc_channel_mojo.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 #include <memory> | 9 #include <memory> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 373 | 373 |
| 374 class ListenerThatExpectsMessagePipe : public IPC::Listener { | 374 class ListenerThatExpectsMessagePipe : public IPC::Listener { |
| 375 public: | 375 public: |
| 376 ListenerThatExpectsMessagePipe() : sender_(NULL) {} | 376 ListenerThatExpectsMessagePipe() : sender_(NULL) {} |
| 377 | 377 |
| 378 ~ListenerThatExpectsMessagePipe() override {} | 378 ~ListenerThatExpectsMessagePipe() override {} |
| 379 | 379 |
| 380 bool OnMessageReceived(const IPC::Message& message) override { | 380 bool OnMessageReceived(const IPC::Message& message) override { |
| 381 base::PickleIterator iter(message); | 381 base::PickleIterator iter(message); |
| 382 HandleSendingHelper::ReadReceivedPipe(message, &iter); | 382 HandleSendingHelper::ReadReceivedPipe(message, &iter); |
| 383 base::MessageLoop::current()->QuitWhenIdle(); | |
| 384 ListenerThatExpectsOK::SendOK(sender_); | 383 ListenerThatExpectsOK::SendOK(sender_); |
| 385 return true; | 384 return true; |
| 386 } | 385 } |
| 387 | 386 |
| 388 void OnChannelError() override { NOTREACHED(); } | 387 void OnChannelError() override { |
| 388 base::MessageLoop::current()->QuitWhenIdle(); |
| 389 } |
| 389 | 390 |
| 390 void set_sender(IPC::Sender* sender) { sender_ = sender; } | 391 void set_sender(IPC::Sender* sender) { sender_ = sender; } |
| 391 | 392 |
| 392 private: | 393 private: |
| 393 IPC::Sender* sender_; | 394 IPC::Sender* sender_; |
| 394 }; | 395 }; |
| 395 | 396 |
| 396 TEST_F(IPCChannelMojoTest, SendMessagePipe) { | 397 TEST_F(IPCChannelMojoTest, SendMessagePipe) { |
| 397 InitWithMojo("IPCChannelMojoTestSendMessagePipeClient"); | 398 InitWithMojo("IPCChannelMojoTestSendMessagePipeClient"); |
| 398 | 399 |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 450 base::PickleIterator iter(message); | 451 base::PickleIterator iter(message); |
| 451 mojo::MessagePipeHandle handle; | 452 mojo::MessagePipeHandle handle; |
| 452 EXPECT_TRUE(IPC::ParamTraits<mojo::MessagePipeHandle>::Read(&message, &iter, | 453 EXPECT_TRUE(IPC::ParamTraits<mojo::MessagePipeHandle>::Read(&message, &iter, |
| 453 &handle)); | 454 &handle)); |
| 454 EXPECT_EQ(handle.is_valid(), receiving_valid_); | 455 EXPECT_EQ(handle.is_valid(), receiving_valid_); |
| 455 if (receiving_valid_) { | 456 if (receiving_valid_) { |
| 456 ReadOK(handle); | 457 ReadOK(handle); |
| 457 MojoClose(handle.value()); | 458 MojoClose(handle.value()); |
| 458 } | 459 } |
| 459 | 460 |
| 460 base::MessageLoop::current()->QuitWhenIdle(); | |
| 461 ListenerThatExpectsOK::SendOK(sender_); | 461 ListenerThatExpectsOK::SendOK(sender_); |
| 462 return true; | 462 return true; |
| 463 } | 463 } |
| 464 | 464 |
| 465 void OnChannelError() override { NOTREACHED(); } | 465 void OnChannelError() override { |
| 466 base::MessageLoop::current()->QuitWhenIdle(); |
| 467 } |
| 468 |
| 466 void set_sender(IPC::Sender* sender) { sender_ = sender; } | 469 void set_sender(IPC::Sender* sender) { sender_ = sender; } |
| 467 | 470 |
| 468 private: | 471 private: |
| 469 IPC::Sender* sender_; | 472 IPC::Sender* sender_; |
| 470 bool receiving_valid_; | 473 bool receiving_valid_; |
| 471 }; | 474 }; |
| 472 | 475 |
| 473 class ParamTraitMessagePipeClient : public ChannelClient { | 476 class ParamTraitMessagePipeClient : public ChannelClient { |
| 474 public: | 477 public: |
| 475 void RunTest(bool receiving_valid_handle) { | 478 void RunTest(bool receiving_valid_handle) { |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 582 #if defined(OS_POSIX) | 585 #if defined(OS_POSIX) |
| 583 class ListenerThatExpectsFile : public IPC::Listener { | 586 class ListenerThatExpectsFile : public IPC::Listener { |
| 584 public: | 587 public: |
| 585 ListenerThatExpectsFile() : sender_(NULL) {} | 588 ListenerThatExpectsFile() : sender_(NULL) {} |
| 586 | 589 |
| 587 ~ListenerThatExpectsFile() override {} | 590 ~ListenerThatExpectsFile() override {} |
| 588 | 591 |
| 589 bool OnMessageReceived(const IPC::Message& message) override { | 592 bool OnMessageReceived(const IPC::Message& message) override { |
| 590 base::PickleIterator iter(message); | 593 base::PickleIterator iter(message); |
| 591 HandleSendingHelper::ReadReceivedFile(message, &iter); | 594 HandleSendingHelper::ReadReceivedFile(message, &iter); |
| 592 base::MessageLoop::current()->QuitWhenIdle(); | |
| 593 ListenerThatExpectsOK::SendOK(sender_); | 595 ListenerThatExpectsOK::SendOK(sender_); |
| 594 return true; | 596 return true; |
| 595 } | 597 } |
| 596 | 598 |
| 597 void OnChannelError() override { NOTREACHED(); } | 599 void OnChannelError() override { |
| 600 base::MessageLoop::current()->QuitWhenIdle(); |
| 601 } |
| 598 | 602 |
| 599 void set_sender(IPC::Sender* sender) { sender_ = sender; } | 603 void set_sender(IPC::Sender* sender) { sender_ = sender; } |
| 600 | 604 |
| 601 private: | 605 private: |
| 602 IPC::Sender* sender_; | 606 IPC::Sender* sender_; |
| 603 }; | 607 }; |
| 604 | 608 |
| 605 TEST_F(IPCChannelMojoTest, SendPlatformHandle) { | 609 TEST_F(IPCChannelMojoTest, SendPlatformHandle) { |
| 606 InitWithMojo("IPCChannelMojoTestSendPlatformHandleClient"); | 610 InitWithMojo("IPCChannelMojoTestSendPlatformHandleClient"); |
| 607 | 611 |
| (...skipping 27 matching lines...) Expand all Loading... |
| 635 class ListenerThatExpectsFileAndPipe : public IPC::Listener { | 639 class ListenerThatExpectsFileAndPipe : public IPC::Listener { |
| 636 public: | 640 public: |
| 637 ListenerThatExpectsFileAndPipe() : sender_(NULL) {} | 641 ListenerThatExpectsFileAndPipe() : sender_(NULL) {} |
| 638 | 642 |
| 639 ~ListenerThatExpectsFileAndPipe() override {} | 643 ~ListenerThatExpectsFileAndPipe() override {} |
| 640 | 644 |
| 641 bool OnMessageReceived(const IPC::Message& message) override { | 645 bool OnMessageReceived(const IPC::Message& message) override { |
| 642 base::PickleIterator iter(message); | 646 base::PickleIterator iter(message); |
| 643 HandleSendingHelper::ReadReceivedFile(message, &iter); | 647 HandleSendingHelper::ReadReceivedFile(message, &iter); |
| 644 HandleSendingHelper::ReadReceivedPipe(message, &iter); | 648 HandleSendingHelper::ReadReceivedPipe(message, &iter); |
| 645 base::MessageLoop::current()->QuitWhenIdle(); | |
| 646 ListenerThatExpectsOK::SendOK(sender_); | 649 ListenerThatExpectsOK::SendOK(sender_); |
| 647 return true; | 650 return true; |
| 648 } | 651 } |
| 649 | 652 |
| 650 void OnChannelError() override { NOTREACHED(); } | 653 void OnChannelError() override { |
| 654 base::MessageLoop::current()->QuitWhenIdle(); |
| 655 } |
| 651 | 656 |
| 652 void set_sender(IPC::Sender* sender) { sender_ = sender; } | 657 void set_sender(IPC::Sender* sender) { sender_ = sender; } |
| 653 | 658 |
| 654 private: | 659 private: |
| 655 IPC::Sender* sender_; | 660 IPC::Sender* sender_; |
| 656 }; | 661 }; |
| 657 | 662 |
| 658 TEST_F(IPCChannelMojoTest, SendPlatformHandleAndPipe) { | 663 TEST_F(IPCChannelMojoTest, SendPlatformHandleAndPipe) { |
| 659 InitWithMojo("IPCChannelMojoTestSendPlatformHandleAndPipeClient"); | 664 InitWithMojo("IPCChannelMojoTestSendPlatformHandleAndPipeClient"); |
| 660 | 665 |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 727 Connect(&listener); | 732 Connect(&listener); |
| 728 | 733 |
| 729 base::MessageLoop::current()->Run(); | 734 base::MessageLoop::current()->Run(); |
| 730 | 735 |
| 731 Close(); | 736 Close(); |
| 732 } | 737 } |
| 733 | 738 |
| 734 #endif // OS_LINUX | 739 #endif // OS_LINUX |
| 735 | 740 |
| 736 } // namespace | 741 } // namespace |
| OLD | NEW |