| Index: extensions/browser/api/cast_channel/cast_channel_apitest.cc
|
| diff --git a/extensions/browser/api/cast_channel/cast_channel_apitest.cc b/extensions/browser/api/cast_channel/cast_channel_apitest.cc
|
| index 06d2c82f87c984c011c9881d73a35021d0e1db41..93bbf91babd26a855a08ce1760e6a6cf8f477e55 100644
|
| --- a/extensions/browser/api/cast_channel/cast_channel_apitest.cc
|
| +++ b/extensions/browser/api/cast_channel/cast_channel_apitest.cc
|
| @@ -110,8 +110,9 @@ class CastChannelAPITest : public ExtensionApiTest {
|
| .WillRepeatedly(Return(ChannelError::NONE));
|
| {
|
| InSequence sequence;
|
| - EXPECT_CALL(*mock_cast_socket_, ConnectRawPtr(_, _))
|
| - .WillOnce(InvokeCompletionCallback<1>(ChannelError::NONE));
|
| +
|
| + EXPECT_CALL(*mock_cast_socket_, Connect(_))
|
| + .WillOnce(InvokeCompletionCallback<0>(ChannelError::NONE));
|
| EXPECT_CALL(*mock_cast_socket_, ready_state())
|
| .WillOnce(Return(ReadyState::OPEN));
|
| EXPECT_CALL(*mock_cast_socket_->mock_transport(),
|
| @@ -133,9 +134,10 @@ class CastChannelAPITest : public ExtensionApiTest {
|
| EXPECT_CALL(*mock_cast_socket_, keep_alive()).WillRepeatedly(Return(true));
|
| {
|
| InSequence sequence;
|
| - EXPECT_CALL(*mock_cast_socket_, ConnectRawPtr(_, _))
|
| - .WillOnce(DoAll(SaveArg<0>(&message_delegate_),
|
| - InvokeCompletionCallback<1>(ChannelError::NONE)));
|
| + EXPECT_CALL(*mock_cast_socket_, AddObserverInternal(_, _))
|
| + .WillOnce(SaveArg<1>(&message_observer_));
|
| + EXPECT_CALL(*mock_cast_socket_, Connect(_))
|
| + .WillOnce(InvokeCompletionCallback<0>(ChannelError::NONE));
|
| EXPECT_CALL(*mock_cast_socket_, ready_state())
|
| .WillOnce(Return(ReadyState::OPEN))
|
| .RetiresOnSaturation();
|
| @@ -153,7 +155,7 @@ class CastChannelAPITest : public ExtensionApiTest {
|
| api->GetLogger()->LogSocketEventWithRv(
|
| mock_cast_socket_->id(), ::cast_channel::ChannelEvent::SOCKET_WRITE,
|
| net::ERR_FAILED);
|
| - message_delegate_->OnError(ChannelError::CONNECT_ERROR);
|
| + message_observer_->OnError(*mock_cast_socket_, ChannelError::CONNECT_ERROR);
|
| }
|
|
|
| protected:
|
| @@ -169,25 +171,20 @@ class CastChannelAPITest : public ExtensionApiTest {
|
| const std::string& message) {
|
| CastMessage cast_message;
|
| FillCastMessage(message, &cast_message);
|
| - message_delegate_->OnMessage(cast_message);
|
| - }
|
| -
|
| - // Starts the read delegate on the IO thread.
|
| - void StartDelegate() {
|
| - CHECK(message_delegate_);
|
| - content::BrowserThread::PostTask(
|
| - content::BrowserThread::IO, FROM_HERE,
|
| - base::Bind(&CastTransport::Delegate::Start,
|
| - base::Unretained(message_delegate_)));
|
| + message_observer_->OnMessage(*cast_socket, cast_message);
|
| }
|
|
|
| // Fires a timer on the IO thread.
|
| void FireTimeout() {
|
| content::BrowserThread::PostTask(
|
| content::BrowserThread::IO, FROM_HERE,
|
| - base::Bind(&CastTransport::Delegate::OnError,
|
| - base::Unretained(message_delegate_),
|
| - cast_channel::ChannelError::PING_TIMEOUT));
|
| + base::Bind(&CastChannelAPITest::DoFireTimeout, base::Unretained(this),
|
| + mock_cast_socket_));
|
| + }
|
| +
|
| + void DoFireTimeout(MockCastSocket* cast_socket) {
|
| + message_observer_->OnError(*cast_socket,
|
| + cast_channel::ChannelError::PING_TIMEOUT);
|
| }
|
|
|
| extensions::CastChannelOpenFunction* CreateOpenFunction(
|
| @@ -209,12 +206,12 @@ class CastChannelAPITest : public ExtensionApiTest {
|
| MockCastSocket* mock_cast_socket_;
|
| net::IPEndPoint ip_endpoint_;
|
| LastError last_error_;
|
| - CastTransport::Delegate* message_delegate_;
|
| + CastSocket::Observer* message_observer_;
|
| net::TestNetLog capturing_net_log_;
|
| int channel_id_;
|
| };
|
|
|
| -ACTION_P2(InvokeDelegateOnError, api_test, api) {
|
| +ACTION_P2(InvokeObserverOnError, api_test, api) {
|
| content::BrowserThread::PostTask(
|
| content::BrowserThread::IO, FROM_HERE,
|
| base::Bind(&CastChannelAPITest::DoCallOnError, base::Unretained(api_test),
|
| @@ -254,7 +251,6 @@ IN_PROC_BROWSER_TEST_F(CastChannelAPITest, MAYBE_TestPingTimeout) {
|
| EXPECT_TRUE(
|
| RunExtensionSubtest("cast_channel/api", "test_open_timeout.html"));
|
| EXPECT_TRUE(channel_opened.WaitUntilSatisfied());
|
| - StartDelegate();
|
| FireTimeout();
|
| EXPECT_TRUE(timeout.WaitUntilSatisfied());
|
| }
|
| @@ -277,7 +273,6 @@ IN_PROC_BROWSER_TEST_F(CastChannelAPITest, MAYBE_TestPingTimeoutSslVerified) {
|
| EXPECT_TRUE(RunExtensionSubtest("cast_channel/api",
|
| "test_open_timeout_verified.html"));
|
| EXPECT_TRUE(channel_opened.WaitUntilSatisfied());
|
| - StartDelegate();
|
| FireTimeout();
|
| EXPECT_TRUE(timeout.WaitUntilSatisfied());
|
| }
|
| @@ -298,9 +293,10 @@ IN_PROC_BROWSER_TEST_F(CastChannelAPITest, MAYBE_TestOpenReceiveClose) {
|
|
|
| {
|
| InSequence sequence;
|
| - EXPECT_CALL(*mock_cast_socket_, ConnectRawPtr(NotNull(), _))
|
| - .WillOnce(DoAll(SaveArg<0>(&message_delegate_),
|
| - InvokeCompletionCallback<1>(ChannelError::NONE)));
|
| + EXPECT_CALL(*mock_cast_socket_, AddObserverInternal(_, _))
|
| + .WillOnce(SaveArg<1>(&message_observer_));
|
| + EXPECT_CALL(*mock_cast_socket_, Connect(_))
|
| + .WillOnce(InvokeCompletionCallback<0>(ChannelError::NONE));
|
| EXPECT_CALL(*mock_cast_socket_, ready_state())
|
| .Times(3)
|
| .WillRepeatedly(Return(ReadyState::OPEN));
|
| @@ -330,10 +326,11 @@ IN_PROC_BROWSER_TEST_F(CastChannelAPITest, MAYBE_TestOpenReceiveClose) {
|
| IN_PROC_BROWSER_TEST_F(CastChannelAPITest, MAYBE_TestOpenError) {
|
| SetUpMockCastSocket();
|
|
|
| - EXPECT_CALL(*mock_cast_socket_, ConnectRawPtr(NotNull(), _))
|
| - .WillOnce(DoAll(
|
| - SaveArg<0>(&message_delegate_), InvokeDelegateOnError(this, GetApi()),
|
| - InvokeCompletionCallback<1>(ChannelError::CONNECT_ERROR)));
|
| + EXPECT_CALL(*mock_cast_socket_, AddObserverInternal(_, _))
|
| + .WillOnce(DoAll(SaveArg<1>(&message_observer_),
|
| + InvokeObserverOnError(this, GetApi())));
|
| + EXPECT_CALL(*mock_cast_socket_, Connect(_))
|
| + .WillOnce(InvokeCompletionCallback<0>(ChannelError::CONNECT_ERROR));
|
| EXPECT_CALL(*mock_cast_socket_, error_state())
|
| .WillRepeatedly(Return(ChannelError::CONNECT_ERROR));
|
| EXPECT_CALL(*mock_cast_socket_, ready_state())
|
|
|