| Index: content/renderer/media/peer_connection_identity_store.cc | 
| diff --git a/content/renderer/media/peer_connection_identity_store.cc b/content/renderer/media/peer_connection_identity_store.cc | 
| deleted file mode 100644 | 
| index 1ccdb30056dd112176fd63a5dc75bc74eb319758..0000000000000000000000000000000000000000 | 
| --- a/content/renderer/media/peer_connection_identity_store.cc | 
| +++ /dev/null | 
| @@ -1,178 +0,0 @@ | 
| -// Copyright 2015 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 "content/renderer/media/peer_connection_identity_store.h" | 
| - | 
| -#include <memory> | 
| - | 
| -#include "base/bind.h" | 
| -#include "base/macros.h" | 
| -#include "base/threading/thread_task_runner_handle.h" | 
| -#include "content/renderer/media/webrtc_identity_service.h" | 
| -#include "content/renderer/render_thread_impl.h" | 
| - | 
| -namespace content { | 
| -namespace { | 
| - | 
| -const char kIdentityName[] = "WebRTC"; | 
| -static unsigned int kRSAChromiumKeyLength = 1024; | 
| -static unsigned int kRSAChromiumPubExp = 0x10001; | 
| -static uint64_t kYearInSeconds = 365 * 24 * 60 * 60; | 
| - | 
| -// Bridges identity requests between the main render thread and libjingle's | 
| -// signaling thread. | 
| -class RequestHandler : public base::RefCountedThreadSafe<RequestHandler> { | 
| - public: | 
| -  explicit RequestHandler( | 
| -      const scoped_refptr<base::SingleThreadTaskRunner>& main_thread, | 
| -      const scoped_refptr<base::SingleThreadTaskRunner>& signaling_thread, | 
| -      webrtc::DtlsIdentityRequestObserver* observer) | 
| -      : main_thread_(main_thread), | 
| -        signaling_thread_(signaling_thread), | 
| -        observer_(observer) { | 
| -    DCHECK(main_thread_); | 
| -    DCHECK(signaling_thread_); | 
| -    DCHECK(observer_); | 
| -  } | 
| - | 
| -  void RequestIdentityOnMainThread(const GURL& url, | 
| -                                   const GURL& first_party_for_cookies) { | 
| -    DCHECK(main_thread_->BelongsToCurrentThread()); | 
| -    int request_id = | 
| -        RenderThreadImpl::current() | 
| -            ->get_webrtc_identity_service() | 
| -            ->RequestIdentity( | 
| -                url, first_party_for_cookies, kIdentityName, kIdentityName, | 
| -                base::Bind(&RequestHandler::OnIdentityReady, this), | 
| -                base::Bind(&RequestHandler::OnRequestFailed, this)); | 
| -    DCHECK_NE(request_id, 0); | 
| -  } | 
| - | 
| - private: | 
| -  friend class base::RefCountedThreadSafe<RequestHandler>; | 
| -  ~RequestHandler() { | 
| -    DCHECK(!observer_); | 
| -  } | 
| - | 
| -  void OnIdentityReady( | 
| -      const std::string& certificate, | 
| -      const std::string& private_key) { | 
| -    DCHECK(main_thread_->BelongsToCurrentThread()); | 
| -    signaling_thread_->PostTask(FROM_HERE, | 
| -        base::Bind(static_cast<void (webrtc::DtlsIdentityRequestObserver::*)( | 
| -                       const std::string&, const std::string&)>( | 
| -                           &webrtc::DtlsIdentityRequestObserver::OnSuccess), | 
| -                   observer_, certificate, private_key)); | 
| -    signaling_thread_->PostTask(FROM_HERE, | 
| -        base::Bind(&RequestHandler::EnsureReleaseObserverOnSignalingThread, | 
| -            this)); | 
| -  } | 
| - | 
| -  void OnRequestFailed(int error) { | 
| -    DCHECK(main_thread_->BelongsToCurrentThread()); | 
| -    signaling_thread_->PostTask(FROM_HERE, | 
| -        base::Bind(&webrtc::DtlsIdentityRequestObserver::OnFailure, observer_, | 
| -                   error)); | 
| -    signaling_thread_->PostTask(FROM_HERE, | 
| -        base::Bind(&RequestHandler::EnsureReleaseObserverOnSignalingThread, | 
| -            this)); | 
| -  } | 
| - | 
| -  void EnsureReleaseObserverOnSignalingThread() { | 
| -    DCHECK(signaling_thread_->BelongsToCurrentThread()); | 
| -    observer_ = nullptr; | 
| -  } | 
| - | 
| -  const scoped_refptr<base::SingleThreadTaskRunner> main_thread_; | 
| -  const scoped_refptr<base::SingleThreadTaskRunner> signaling_thread_; | 
| -  scoped_refptr<webrtc::DtlsIdentityRequestObserver> observer_; | 
| -}; | 
| - | 
| -// Helper function for PeerConnectionIdentityStore::RequestIdentity. | 
| -// Used to invoke |observer|->OnSuccess in a PostTask. | 
| -void ObserverOnSuccess( | 
| -    const rtc::scoped_refptr<webrtc::DtlsIdentityRequestObserver>& observer, | 
| -    std::unique_ptr<rtc::SSLIdentity> identity) { | 
| -  observer->OnSuccess(std::move(identity)); | 
| -} | 
| - | 
| -}  // namespace | 
| - | 
| -PeerConnectionIdentityStore::PeerConnectionIdentityStore( | 
| -    const scoped_refptr<base::SingleThreadTaskRunner>& main_thread, | 
| -    const scoped_refptr<base::SingleThreadTaskRunner>& signaling_thread, | 
| -    const GURL& url, | 
| -    const GURL& first_party_for_cookies) | 
| -    : main_thread_(main_thread), | 
| -      signaling_thread_(signaling_thread), | 
| -      url_(url), | 
| -      first_party_for_cookies_(first_party_for_cookies) { | 
| -  DCHECK(main_thread_); | 
| -  DCHECK(signaling_thread_); | 
| -} | 
| - | 
| -PeerConnectionIdentityStore::~PeerConnectionIdentityStore() { | 
| -  // Typically destructed on libjingle's signaling thread. | 
| -} | 
| - | 
| -void PeerConnectionIdentityStore::RequestIdentity( | 
| -    const rtc::KeyParams& key_params, | 
| -    const rtc::Optional<uint64_t>& expires_ms, | 
| -    const rtc::scoped_refptr<webrtc::DtlsIdentityRequestObserver>& observer) { | 
| -  DCHECK(signaling_thread_->BelongsToCurrentThread()); | 
| -  DCHECK(observer); | 
| - | 
| -  // TODO(torbjorng): crbug.com/544902. RequestIdentityOnUIThread uses Chromium | 
| -  // key generation code with the assumption that it will generate with the | 
| -  // following rsa_params(). This assumption should not be implicit! Either pass | 
| -  // the parameters along or check against constants exported from relevant | 
| -  // header file(s). | 
| -  if (key_params.type() == rtc::KT_RSA && | 
| -      key_params.rsa_params().mod_size == kRSAChromiumKeyLength && | 
| -      key_params.rsa_params().pub_exp == kRSAChromiumPubExp && | 
| -      !expires_ms) { | 
| -    // Use Chromium identity generation code for its hardwired parameters (RSA, | 
| -    // 1024, 0x10001). This generation code is preferred over WebRTC generation | 
| -    // code due to the performance benefits of caching. | 
| -    scoped_refptr<RequestHandler> handler( | 
| -        new RequestHandler(main_thread_, signaling_thread_, observer)); | 
| -    main_thread_->PostTask( | 
| -        FROM_HERE, | 
| -        base::Bind(&RequestHandler::RequestIdentityOnMainThread, handler, url_, | 
| -                   first_party_for_cookies_)); | 
| -  } else { | 
| -    // Fall back on WebRTC identity generation code for everything else, e.g. | 
| -    // RSA with any other parameters or ECDSA. These will not be cached. | 
| -    std::unique_ptr<rtc::SSLIdentity> identity; | 
| -    if (!expires_ms) { | 
| -      identity.reset(rtc::SSLIdentity::Generate(kIdentityName, key_params)); | 
| -    } else { | 
| -      uint64_t expires_s = *expires_ms / 1000; | 
| -      // Limit the expiration time to something reasonable (a year). This also | 
| -      // ensures that the value is not too large for |time_t|. | 
| -      if (expires_s > kYearInSeconds) | 
| -        expires_s = kYearInSeconds; | 
| -      // TODO(hbos,torbjorng): Update |SSLIdentity::GenerateWithExpiration| not | 
| -      // to use |time_t| and stop using |time_t| here, its type is unspecified | 
| -      // and shouldn't be used if we have a choice. bugs.webrtc.org/5720. | 
| -      identity.reset(rtc::SSLIdentity::GenerateWithExpiration( | 
| -          kIdentityName, key_params, static_cast<time_t>(expires_s))); | 
| -    } | 
| - | 
| -    // Invoke |observer| callbacks asynchronously. The callbacks of | 
| -    // DtlsIdentityStoreInterface implementations have to be async. | 
| -    if (identity) { | 
| -      // Async call to |observer|->OnSuccess. | 
| -      signaling_thread_->PostTask(FROM_HERE, | 
| -          base::Bind(&ObserverOnSuccess, observer, base::Passed(&identity))); | 
| -    } else { | 
| -      // Async call to |observer|->OnFailure. | 
| -      signaling_thread_->PostTask(FROM_HERE, | 
| -          base::Bind(&webrtc::DtlsIdentityRequestObserver::OnFailure, | 
| -                     observer, 0)); | 
| -    } | 
| -  } | 
| -} | 
| - | 
| -}  // namespace content | 
|  |