| Index: content/browser/renderer_host/media/webrtc_identity_service_host_unittest.cc | 
| diff --git a/content/browser/renderer_host/media/webrtc_identity_service_host_unittest.cc b/content/browser/renderer_host/media/webrtc_identity_service_host_unittest.cc | 
| deleted file mode 100644 | 
| index e5f0dbd04ff3c37972cebeb200f6620c0ff309ef..0000000000000000000000000000000000000000 | 
| --- a/content/browser/renderer_host/media/webrtc_identity_service_host_unittest.cc | 
| +++ /dev/null | 
| @@ -1,260 +0,0 @@ | 
| -// Copyright 2013 The Chromium Authors. All rights reserved. | 
| -// Use of this source code is governed by a BSD-style license that can be | 
| -// found in the LICENSE file. | 
| - | 
| -#include <deque> | 
| -#include <tuple> | 
| - | 
| -#include "content/browser/child_process_security_policy_impl.h" | 
| -#include "content/browser/media/webrtc/webrtc_identity_store.h" | 
| -#include "content/browser/renderer_host/media/webrtc_identity_service_host.h" | 
| -#include "content/common/media/webrtc_identity_messages.h" | 
| -#include "content/public/test/mock_resource_context.h" | 
| -#include "content/public/test/test_browser_thread_bundle.h" | 
| -#include "content/test/test_content_browser_client.h" | 
| -#include "ipc/ipc_message.h" | 
| -#include "net/base/net_errors.h" | 
| -#include "testing/gtest/include/gtest/gtest.h" | 
| - | 
| -namespace content { | 
| - | 
| -namespace { | 
| - | 
| -const char kFakeUrl[] = "http://www.fake.com"; | 
| -const char kFakeSite[] = "http://fake.com"; | 
| -const char kOtherSite[] = "https://other.com"; | 
| -const char kFakeFirstPartyUrl[] = "http://fake.firstparty.com"; | 
| -const char kFakeidentityName[] = "fake identity"; | 
| -const char kFakeCommonName[] = "fake common name"; | 
| -const char kFakeCertificate[] = "fake cert"; | 
| -const char kFakePrivateKey[] = "fake private key"; | 
| -const int kFakeRendererId = 10; | 
| -const int kFakeRequestId = 1; | 
| - | 
| -class WebRTCIdentityServiceHostTestBrowserClient | 
| -    : public TestContentBrowserClient { | 
| - public: | 
| -  WebRTCIdentityServiceHostTestBrowserClient() : allow_cache_(true) {} | 
| - | 
| -  void set_allow_cache(bool allow) { allow_cache_ = allow; } | 
| - | 
| -  bool AllowWebRTCIdentityCache(const GURL& url, | 
| -                                const GURL& first_party_url, | 
| -                                ResourceContext* context) override { | 
| -    url_ = url; | 
| -    first_party_url_ = first_party_url; | 
| -    return allow_cache_; | 
| -  } | 
| - | 
| -  GURL url() const { return url_; } | 
| -  GURL first_party_url() const { return first_party_url_; } | 
| - | 
| - private: | 
| -  bool allow_cache_; | 
| -  GURL url_; | 
| -  GURL first_party_url_; | 
| -}; | 
| - | 
| -class MockWebRTCIdentityStore : public WebRTCIdentityStore { | 
| - public: | 
| -  MockWebRTCIdentityStore() | 
| -      : WebRTCIdentityStore(base::FilePath(), NULL), enable_cache_(true) {} | 
| - | 
| -  base::Closure RequestIdentity(const GURL& origin, | 
| -                                const std::string& identity_name, | 
| -                                const std::string& common_name, | 
| -                                const CompletionCallback& callback, | 
| -                                bool enable_cache) override { | 
| -    EXPECT_TRUE(callback_.is_null()); | 
| - | 
| -    callback_ = callback; | 
| -    enable_cache_ = enable_cache; | 
| -    return base::Bind(&MockWebRTCIdentityStore::OnCancel, | 
| -                      base::Unretained(this)); | 
| -  } | 
| - | 
| -  bool HasPendingRequest() const { return !callback_.is_null(); } | 
| - | 
| -  void RunCompletionCallback(int error, | 
| -                             const std::string& cert, | 
| -                             const std::string& key) { | 
| -    callback_.Run(error, cert, key); | 
| -    callback_.Reset(); | 
| -  } | 
| - | 
| -  bool enable_cache() const { return enable_cache_; } | 
| - | 
| - private: | 
| -  ~MockWebRTCIdentityStore() override {} | 
| - | 
| -  void OnCancel() { callback_.Reset(); } | 
| - | 
| -  CompletionCallback callback_; | 
| -  bool enable_cache_; | 
| -}; | 
| - | 
| -class WebRTCIdentityServiceHostForTest : public WebRTCIdentityServiceHost { | 
| - public: | 
| -  WebRTCIdentityServiceHostForTest(WebRTCIdentityStore* identity_store, | 
| -                                   ResourceContext* resource_context) | 
| -      : WebRTCIdentityServiceHost(kFakeRendererId, | 
| -                                  identity_store, | 
| -                                  resource_context) { | 
| -    ChildProcessSecurityPolicyImpl* policy = | 
| -        ChildProcessSecurityPolicyImpl::GetInstance(); | 
| -    policy->Add(kFakeRendererId); | 
| -  } | 
| - | 
| -  bool Send(IPC::Message* message) override { | 
| -    messages_.push_back(*message); | 
| -    delete message; | 
| -    return true; | 
| -  } | 
| - | 
| -  bool OnMessageReceived(const IPC::Message& message) override { | 
| -    return WebRTCIdentityServiceHost::OnMessageReceived(message); | 
| -  } | 
| - | 
| -  IPC::Message GetLastMessage() { return messages_.back(); } | 
| - | 
| -  int GetNumberOfMessages() { return messages_.size(); } | 
| - | 
| -  void ClearMessages() { messages_.clear(); } | 
| - | 
| - private: | 
| -  ~WebRTCIdentityServiceHostForTest() override { | 
| -    ChildProcessSecurityPolicyImpl* policy = | 
| -        ChildProcessSecurityPolicyImpl::GetInstance(); | 
| -    policy->Remove(kFakeRendererId); | 
| -  } | 
| - | 
| -  std::deque<IPC::Message> messages_; | 
| -}; | 
| - | 
| -class WebRTCIdentityServiceHostTest : public ::testing::Test { | 
| - public: | 
| -  WebRTCIdentityServiceHostTest() | 
| -      : browser_thread_bundle_(TestBrowserThreadBundle::IO_MAINLOOP), | 
| -        mock_resource_context_(new MockResourceContext()), | 
| -        store_(new MockWebRTCIdentityStore()), | 
| -        host_(new WebRTCIdentityServiceHostForTest( | 
| -            store_.get(), | 
| -            mock_resource_context_.get())) {} | 
| - | 
| -  void SendRequestToHost() { | 
| -    WebRTCIdentityMsg_RequestIdentity_Params params; | 
| -    params.request_id = kFakeRequestId; | 
| -    params.url = GURL(kFakeUrl); | 
| -    params.first_party_for_cookies = GURL(kFakeFirstPartyUrl); | 
| -    params.identity_name = kFakeidentityName; | 
| -    params.common_name = kFakeCommonName; | 
| -    host_->OnMessageReceived(WebRTCIdentityMsg_RequestIdentity(params)); | 
| -  } | 
| - | 
| -  void SendCancelRequestToHost() { | 
| -    host_->OnMessageReceived(WebRTCIdentityMsg_CancelRequest()); | 
| -  } | 
| - | 
| -  void VerifyRequestFailedMessage(int error) { | 
| -    EXPECT_EQ(1, host_->GetNumberOfMessages()); | 
| -    IPC::Message ipc = host_->GetLastMessage(); | 
| -    EXPECT_EQ(ipc.type(), WebRTCIdentityHostMsg_RequestFailed::ID); | 
| - | 
| -    std::tuple<int, int> error_in_message; | 
| -    WebRTCIdentityHostMsg_RequestFailed::Read(&ipc, &error_in_message); | 
| -    EXPECT_EQ(kFakeRequestId, std::get<0>(error_in_message)); | 
| -    EXPECT_EQ(error, std::get<1>(error_in_message)); | 
| -  } | 
| - | 
| -  void VerifyIdentityReadyMessage(const std::string& cert, | 
| -                                  const std::string& key) { | 
| -    EXPECT_EQ(1, host_->GetNumberOfMessages()); | 
| -    IPC::Message ipc = host_->GetLastMessage(); | 
| -    EXPECT_EQ(ipc.type(), WebRTCIdentityHostMsg_IdentityReady::ID); | 
| - | 
| -    std::tuple<int, std::string, std::string> identity_in_message; | 
| -    WebRTCIdentityHostMsg_IdentityReady::Read(&ipc, &identity_in_message); | 
| -    EXPECT_EQ(kFakeRequestId, std::get<0>(identity_in_message)); | 
| -    EXPECT_EQ(cert, std::get<1>(identity_in_message)); | 
| -    EXPECT_EQ(key, std::get<2>(identity_in_message)); | 
| -  } | 
| - | 
| - protected: | 
| -  TestBrowserThreadBundle browser_thread_bundle_; | 
| -  std::unique_ptr<MockResourceContext> mock_resource_context_; | 
| -  scoped_refptr<MockWebRTCIdentityStore> store_; | 
| -  scoped_refptr<WebRTCIdentityServiceHostForTest> host_; | 
| -}; | 
| - | 
| -}  // namespace | 
| - | 
| -TEST_F(WebRTCIdentityServiceHostTest, TestCacheDisabled) { | 
| -  WebRTCIdentityServiceHostTestBrowserClient test_client; | 
| -  test_client.set_allow_cache(false); | 
| -  ContentBrowserClient* old_client = SetBrowserClientForTesting(&test_client); | 
| - | 
| -  SendRequestToHost(); | 
| -  EXPECT_TRUE(store_->HasPendingRequest()); | 
| -  EXPECT_FALSE(store_->enable_cache()); | 
| -  EXPECT_EQ(GURL(kFakeUrl), test_client.url()); | 
| -  EXPECT_EQ(GURL(kFakeFirstPartyUrl), test_client.first_party_url()); | 
| - | 
| -  // Restore the original content browser client. | 
| -  SetBrowserClientForTesting(old_client); | 
| -} | 
| - | 
| -TEST_F(WebRTCIdentityServiceHostTest, TestSendAndCancelRequest) { | 
| -  SendRequestToHost(); | 
| -  EXPECT_TRUE(store_->HasPendingRequest()); | 
| -  SendCancelRequestToHost(); | 
| -  EXPECT_FALSE(store_->HasPendingRequest()); | 
| -} | 
| - | 
| -TEST_F(WebRTCIdentityServiceHostTest, TestOnlyOneRequestAllowed) { | 
| -  SendRequestToHost(); | 
| -  EXPECT_TRUE(store_->HasPendingRequest()); | 
| -  EXPECT_EQ(0, host_->GetNumberOfMessages()); | 
| -  SendRequestToHost(); | 
| - | 
| -  VerifyRequestFailedMessage(net::ERR_INSUFFICIENT_RESOURCES); | 
| -} | 
| - | 
| -TEST_F(WebRTCIdentityServiceHostTest, TestOnIdentityReady) { | 
| -  SendRequestToHost(); | 
| -  store_->RunCompletionCallback(net::OK, kFakeCertificate, kFakePrivateKey); | 
| -  VerifyIdentityReadyMessage(kFakeCertificate, kFakePrivateKey); | 
| -} | 
| - | 
| -TEST_F(WebRTCIdentityServiceHostTest, TestOnRequestFailed) { | 
| -  SendRequestToHost(); | 
| -  store_->RunCompletionCallback(net::ERR_KEY_GENERATION_FAILED, "", ""); | 
| -  VerifyRequestFailedMessage(net::ERR_KEY_GENERATION_FAILED); | 
| -} | 
| - | 
| -TEST_F(WebRTCIdentityServiceHostTest, TestOriginAccessDenied) { | 
| -  ChildProcessSecurityPolicyImpl* policy = | 
| -      ChildProcessSecurityPolicyImpl::GetInstance(); | 
| -  policy->LockToOrigin(kFakeRendererId, GURL(kOtherSite)); | 
| - | 
| -  SendRequestToHost(); | 
| -  VerifyRequestFailedMessage(net::ERR_ACCESS_DENIED); | 
| -} | 
| - | 
| -TEST_F(WebRTCIdentityServiceHostTest, TestOriginAccessAllowed) { | 
| -  ChildProcessSecurityPolicyImpl* policy = | 
| -      ChildProcessSecurityPolicyImpl::GetInstance(); | 
| -  policy->LockToOrigin(kFakeRendererId, GURL(kFakeSite)); | 
| - | 
| -  SendRequestToHost(); | 
| -  store_->RunCompletionCallback(net::OK, kFakeCertificate, kFakePrivateKey); | 
| -  VerifyIdentityReadyMessage(kFakeCertificate, kFakePrivateKey); | 
| -} | 
| - | 
| -// Verifies that we do not crash if we try to cancel a completed request. | 
| -TEST_F(WebRTCIdentityServiceHostTest, TestCancelAfterRequestCompleted) { | 
| -  SendRequestToHost(); | 
| -  store_->RunCompletionCallback(net::OK, kFakeCertificate, kFakePrivateKey); | 
| -  SendCancelRequestToHost(); | 
| -} | 
| - | 
| -}  // namespace content | 
|  |