| Index: mojo/public/cpp/bindings/weak_binding_set.h | 
| diff --git a/mojo/public/cpp/bindings/weak_binding_set.h b/mojo/public/cpp/bindings/weak_binding_set.h | 
| deleted file mode 100644 | 
| index bf06a289d232a45883cdf36f9d091be1d33c0aca..0000000000000000000000000000000000000000 | 
| --- a/mojo/public/cpp/bindings/weak_binding_set.h | 
| +++ /dev/null | 
| @@ -1,118 +0,0 @@ | 
| -// Copyright 2014 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. | 
| - | 
| -#ifndef MOJO_PUBLIC_CPP_BINDINGS_WEAK_BINDING_SET_H_ | 
| -#define MOJO_PUBLIC_CPP_BINDINGS_WEAK_BINDING_SET_H_ | 
| - | 
| -#include <algorithm> | 
| -#include <utility> | 
| -#include <vector> | 
| - | 
| -#include "base/macros.h" | 
| -#include "base/memory/weak_ptr.h" | 
| -#include "mojo/public/cpp/bindings/binding.h" | 
| - | 
| -namespace mojo { | 
| - | 
| -template <typename Interface> | 
| -class WeakBinding; | 
| - | 
| -// Use this class to manage a set of weak pointers to bindings each of which is | 
| -// owned by the pipe they are bound to. | 
| -template <typename Interface> | 
| -class WeakBindingSet { | 
| - public: | 
| -  using GenericInterface = typename Interface::GenericInterface; | 
| - | 
| -  WeakBindingSet() {} | 
| -  ~WeakBindingSet() { CloseAllBindings(); } | 
| - | 
| -  void set_connection_error_handler(const Closure& error_handler) { | 
| -    error_handler_ = error_handler; | 
| -  } | 
| - | 
| -  void AddBinding(Interface* impl, InterfaceRequest<GenericInterface> request) { | 
| -    auto binding = new WeakBinding<Interface>(impl, std::move(request)); | 
| -    binding->set_connection_error_handler([this]() { OnConnectionError(); }); | 
| -    bindings_.push_back(binding->GetWeakPtr()); | 
| -  } | 
| - | 
| -  // Returns an InterfacePtr bound to one end of a pipe whose other end is | 
| -  // bound to |this|. | 
| -  InterfacePtr<Interface> CreateInterfacePtrAndBind(Interface* impl) { | 
| -    InterfacePtr<Interface> interface_ptr; | 
| -    AddBinding(impl, GetProxy(&interface_ptr)); | 
| -    return interface_ptr; | 
| -  } | 
| - | 
| -  void CloseAllBindings() { | 
| -    for (const auto& it : bindings_) { | 
| -      if (it) { | 
| -        it->Close(); | 
| -        delete it.get(); | 
| -      } | 
| -    } | 
| -    bindings_.clear(); | 
| -  } | 
| - | 
| -  bool empty() const { return bindings_.empty(); } | 
| - | 
| - private: | 
| -  void OnConnectionError() { | 
| -    // Clear any deleted bindings. | 
| -    bindings_.erase( | 
| -        std::remove_if(bindings_.begin(), bindings_.end(), | 
| -                       [](const base::WeakPtr<WeakBinding<Interface>>& p) { | 
| -                         return p.get() == nullptr; | 
| -                       }), | 
| -        bindings_.end()); | 
| - | 
| -    error_handler_.Run(); | 
| -  } | 
| - | 
| -  Closure error_handler_; | 
| -  std::vector<base::WeakPtr<WeakBinding<Interface>>> bindings_; | 
| - | 
| -  DISALLOW_COPY_AND_ASSIGN(WeakBindingSet); | 
| -}; | 
| - | 
| -template <typename Interface> | 
| -class WeakBinding { | 
| - public: | 
| -  using GenericInterface = typename Interface::GenericInterface; | 
| - | 
| -  WeakBinding(Interface* impl, InterfaceRequest<GenericInterface> request) | 
| -      : binding_(impl, std::move(request)), weak_ptr_factory_(this) { | 
| -    binding_.set_connection_error_handler([this]() { OnConnectionError(); }); | 
| -  } | 
| - | 
| -  ~WeakBinding() {} | 
| - | 
| -  void set_connection_error_handler(const Closure& error_handler) { | 
| -    error_handler_ = error_handler; | 
| -  } | 
| - | 
| -  base::WeakPtr<WeakBinding> GetWeakPtr() { | 
| -    return weak_ptr_factory_.GetWeakPtr(); | 
| -  } | 
| - | 
| -  void Close() { binding_.Close(); } | 
| - | 
| -  void OnConnectionError() { | 
| -    Closure error_handler = error_handler_; | 
| -    delete this; | 
| -    error_handler.Run(); | 
| -  } | 
| - | 
| - private: | 
| -  Binding<Interface> binding_; | 
| -  Closure error_handler_; | 
| -  base::WeakPtrFactory<WeakBinding> weak_ptr_factory_; | 
| - | 
| -  DISALLOW_COPY_AND_ASSIGN(WeakBinding); | 
| -}; | 
| - | 
| -}  // namespace mojo | 
| - | 
| -#endif  // MOJO_PUBLIC_CPP_BINDINGS_WEAK_BINDING_SET_H_ | 
|  |