| Index: mojo/public/cpp/bindings/strong_associated_binding.h
 | 
| diff --git a/mojo/public/cpp/bindings/strong_binding.h b/mojo/public/cpp/bindings/strong_associated_binding.h
 | 
| similarity index 51%
 | 
| copy from mojo/public/cpp/bindings/strong_binding.h
 | 
| copy to mojo/public/cpp/bindings/strong_associated_binding.h
 | 
| index 99d10956c6f040e2835ff9f705f713f38486a641..4d77a35ee8e4b0d485e1e4ce85353e4fe2c37739 100644
 | 
| --- a/mojo/public/cpp/bindings/strong_binding.h
 | 
| +++ b/mojo/public/cpp/bindings/strong_associated_binding.h
 | 
| @@ -1,9 +1,9 @@
 | 
| -// Copyright 2014 The Chromium Authors. All rights reserved.
 | 
| +// Copyright 2016 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_STRONG_BINDING_H_
 | 
| -#define MOJO_PUBLIC_CPP_BINDINGS_STRONG_BINDING_H_
 | 
| +#ifndef MOJO_PUBLIC_CPP_BINDINGS_STRONG_ASSOCIATED_BINDING_H_
 | 
| +#define MOJO_PUBLIC_CPP_BINDINGS_STRONG_ASSOCIATED_BINDING_H_
 | 
|  
 | 
|  #include <memory>
 | 
|  #include <string>
 | 
| @@ -14,50 +14,47 @@
 | 
|  #include "base/logging.h"
 | 
|  #include "base/macros.h"
 | 
|  #include "base/memory/weak_ptr.h"
 | 
| -#include "mojo/public/cpp/bindings/binding.h"
 | 
| +#include "mojo/public/cpp/bindings/associated_binding.h"
 | 
| +#include "mojo/public/cpp/bindings/associated_interface_request.h"
 | 
|  #include "mojo/public/cpp/bindings/connection_error_callback.h"
 | 
| -#include "mojo/public/cpp/bindings/filter_chain.h"
 | 
| -#include "mojo/public/cpp/bindings/interface_ptr.h"
 | 
| -#include "mojo/public/cpp/bindings/interface_request.h"
 | 
| -#include "mojo/public/cpp/bindings/lib/router.h"
 | 
| -#include "mojo/public/cpp/bindings/message_header_validator.h"
 | 
|  #include "mojo/public/cpp/system/core.h"
 | 
|  
 | 
|  namespace mojo {
 | 
|  
 | 
|  template <typename Interface>
 | 
| -class StrongBinding;
 | 
| +class StrongAssociatedBinding;
 | 
|  
 | 
|  template <typename Interface>
 | 
| -using StrongBindingPtr = base::WeakPtr<StrongBinding<Interface>>;
 | 
| +using StrongAssociatedBindingPtr =
 | 
| +    base::WeakPtr<StrongAssociatedBinding<Interface>>;
 | 
|  
 | 
| -// This connects an interface implementation strongly to a pipe. When a
 | 
| -// connection error is detected the implementation is deleted.
 | 
| +// This connects an interface implementation strongly to an associated pipe.
 | 
| +// When a connection error is detected the implementation is deleted.
 | 
|  //
 | 
| -// To use, call StrongBinding<T>::Create() (see below) or the helper
 | 
| -// MakeStrongBinding function:
 | 
| +// To use, call StrongAssociatedBinding<T>::Create() (see below) or the helper
 | 
| +// MakeStrongAssociatedBinding function:
 | 
|  //
 | 
| -//   mojo::MakeStrongBinding(base::MakeUnique<FooImpl>(),
 | 
| -//                           std::move(foo_request));
 | 
| +//   mojo::MakeStrongAssociatedBinding(base::MakeUnique<FooImpl>(),
 | 
| +//                                     std::move(foo_request));
 | 
|  //
 | 
|  template <typename Interface>
 | 
| -class StrongBinding {
 | 
| +class StrongAssociatedBinding {
 | 
|   public:
 | 
| -  // Create a new StrongBinding instance. The instance owns itself, cleaning up
 | 
| -  // only in the event of a pipe connection error. Returns a WeakPtr to the new
 | 
| -  // StrongBinding instance.
 | 
| -  static StrongBindingPtr<Interface> Create(
 | 
| +  // Create a new StrongAssociatedBinding instance. The instance owns itself,
 | 
| +  // cleaning up only in the event of a pipe connection error. Returns a WeakPtr
 | 
| +  // to the new StrongAssociatedBinding instance.
 | 
| +  static StrongAssociatedBindingPtr<Interface> Create(
 | 
|        std::unique_ptr<Interface> impl,
 | 
| -      InterfaceRequest<Interface> request) {
 | 
| -    StrongBinding* binding =
 | 
| -        new StrongBinding(std::move(impl), std::move(request));
 | 
| +      AssociatedInterfaceRequest<Interface> request) {
 | 
| +    StrongAssociatedBinding* binding =
 | 
| +        new StrongAssociatedBinding(std::move(impl), std::move(request));
 | 
|      return binding->weak_factory_.GetWeakPtr();
 | 
|    }
 | 
|  
 | 
|    // Note: The error handler must not delete the interface implementation.
 | 
|    //
 | 
| -  // This method may only be called after this StrongBinding has been bound to a
 | 
| -  // message pipe.
 | 
| +  // This method may only be called after this StrongAssociatedBinding has been
 | 
| +  // bound to a message pipe.
 | 
|    void set_connection_error_handler(const base::Closure& error_handler) {
 | 
|      DCHECK(binding_.is_bound());
 | 
|      connection_error_handler_ = error_handler;
 | 
| @@ -76,9 +73,6 @@ class StrongBinding {
 | 
|  
 | 
|    Interface* impl() { return impl_.get(); }
 | 
|  
 | 
| -  // Exposed for testing, should not generally be used.
 | 
| -  internal::Router* internal_router() { return binding_.internal_router(); }
 | 
| -
 | 
|    // Sends a message on the underlying message pipe and runs the current
 | 
|    // message loop until its response is received. This can be used in tests to
 | 
|    // verify that no message was sent on a message pipe in response to some
 | 
| @@ -86,16 +80,16 @@ class StrongBinding {
 | 
|    void FlushForTesting() { binding_.FlushForTesting(); }
 | 
|  
 | 
|   private:
 | 
| -  StrongBinding(std::unique_ptr<Interface> impl,
 | 
| -                InterfaceRequest<Interface> request)
 | 
| +  StrongAssociatedBinding(std::unique_ptr<Interface> impl,
 | 
| +                          AssociatedInterfaceRequest<Interface> request)
 | 
|        : impl_(std::move(impl)),
 | 
|          binding_(impl_.get(), std::move(request)),
 | 
|          weak_factory_(this) {
 | 
| -    binding_.set_connection_error_with_reason_handler(
 | 
| -        base::Bind(&StrongBinding::OnConnectionError, base::Unretained(this)));
 | 
| +    binding_.set_connection_error_with_reason_handler(base::Bind(
 | 
| +        &StrongAssociatedBinding::OnConnectionError, base::Unretained(this)));
 | 
|    }
 | 
|  
 | 
| -  ~StrongBinding() {}
 | 
| +  ~StrongAssociatedBinding() {}
 | 
|  
 | 
|    void OnConnectionError(uint32_t custom_reason,
 | 
|                           const std::string& description) {
 | 
| @@ -109,19 +103,20 @@ class StrongBinding {
 | 
|    std::unique_ptr<Interface> impl_;
 | 
|    base::Closure connection_error_handler_;
 | 
|    ConnectionErrorWithReasonCallback connection_error_with_reason_handler_;
 | 
| -  Binding<Interface> binding_;
 | 
| -  base::WeakPtrFactory<StrongBinding> weak_factory_;
 | 
| +  AssociatedBinding<Interface> binding_;
 | 
| +  base::WeakPtrFactory<StrongAssociatedBinding> weak_factory_;
 | 
|  
 | 
| -  DISALLOW_COPY_AND_ASSIGN(StrongBinding);
 | 
| +  DISALLOW_COPY_AND_ASSIGN(StrongAssociatedBinding);
 | 
|  };
 | 
|  
 | 
|  template <typename Interface, typename Impl>
 | 
| -StrongBindingPtr<Interface> MakeStrongBinding(
 | 
| +StrongAssociatedBindingPtr<Interface> MakeStrongAssociatedBinding(
 | 
|      std::unique_ptr<Impl> impl,
 | 
| -    InterfaceRequest<Interface> request) {
 | 
| -  return StrongBinding<Interface>::Create(std::move(impl), std::move(request));
 | 
| +    AssociatedInterfaceRequest<Interface> request) {
 | 
| +  return StrongAssociatedBinding<Interface>::Create(std::move(impl),
 | 
| +                                                    std::move(request));
 | 
|  }
 | 
|  
 | 
|  }  // namespace mojo
 | 
|  
 | 
| -#endif  // MOJO_PUBLIC_CPP_BINDINGS_STRONG_BINDING_H_
 | 
| +#endif  // MOJO_PUBLIC_CPP_BINDINGS_STRONG_ASSOCIATED_BINDING_H_
 | 
| 
 |