| Index: mojo/public/cpp/bindings/associated_interface_request.h | 
| diff --git a/mojo/public/cpp/bindings/associated_interface_request.h b/mojo/public/cpp/bindings/associated_interface_request.h | 
| index a7a7f662166b7e2111a626760b82fcbcaa54270c..dc437bb5e025e7401dde9270a1a7b87593343e0e 100644 | 
| --- a/mojo/public/cpp/bindings/associated_interface_request.h | 
| +++ b/mojo/public/cpp/bindings/associated_interface_request.h | 
| @@ -57,6 +57,15 @@ class AssociatedInterfaceRequest { | 
|  | 
| const ScopedInterfaceEndpointHandle& handle() const { return handle_; } | 
|  | 
| +  bool Equals(const AssociatedInterfaceRequest& other) const { | 
| +    if (this == &other) | 
| +      return true; | 
| + | 
| +    // Now that the two refer to different objects, they are equivalent if | 
| +    // and only if they are both invalid. | 
| +    return !is_pending() && !other.is_pending(); | 
| +  } | 
| + | 
| private: | 
| ScopedInterfaceEndpointHandle handle_; | 
| }; | 
|  |