| OLD | NEW | 
|---|
| (Empty) |  | 
|  | 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 
|  | 2 // Use of this source code is governed by a BSD-style license that can be | 
|  | 3 // found in the LICENSE file. | 
|  | 4 | 
|  | 5 #ifndef BindForMojo_h | 
|  | 6 #define BindForMojo_h | 
|  | 7 | 
|  | 8 #include "base/bind.h" | 
|  | 9 #include "mojo/public/cpp/bindings/callback.h" | 
|  | 10 | 
|  | 11 // This file provides limited access to base::Bind() function. base::Bind() | 
|  | 12 // could be dangerous if it's used across threads, so we don't want to allow | 
|  | 13 // general use of base::Bind(). | 
|  | 14 // See also "platform/ThreadSafeFunctional.h". | 
|  | 15 | 
|  | 16 namespace blink { | 
|  | 17 | 
|  | 18 // Binds an instance of a class to its member function. Does not bind anything | 
|  | 19 // else. | 
|  | 20 template <typename Class, typename ReturnType, typename... Args> | 
|  | 21 mojo::Callback<ReturnType(Args...)> | 
|  | 22 sameThreadBindForMojo(ReturnType (Class::*method)(Args...), Class* instance) | 
|  | 23 { | 
|  | 24     return base::Bind(method, base::Unretained(instance)); | 
|  | 25 } | 
|  | 26 | 
|  | 27 } // namespace blink | 
|  | 28 | 
|  | 29 #endif // BindForMojo_h | 
| OLD | NEW | 
|---|