Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(680)

Unified Diff: third_party/WebKit/Source/platform/CrossThreadFunctional.h

Issue 2123183002: Move crossThreadBind() from platform/ to wtf/ Base URL: https://chromium.googlesource.com/chromium/src.git@TRV_WTFCrossThreadCopier
Patch Set: Rebase Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/platform/CrossThreadFunctional.h
diff --git a/third_party/WebKit/Source/platform/CrossThreadFunctional.h b/third_party/WebKit/Source/platform/CrossThreadFunctional.h
deleted file mode 100644
index 4b2c5cf96f2e5c2a23e5916a44d64da05ac9261a..0000000000000000000000000000000000000000
--- a/third_party/WebKit/Source/platform/CrossThreadFunctional.h
+++ /dev/null
@@ -1,43 +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.
-
-#ifndef CrossThreadFunctional_h
-#define CrossThreadFunctional_h
-
-#include "base/bind.h"
-#include "wtf/CrossThreadCopier.h"
-#include "wtf/Functional.h"
-#include <type_traits>
-
-namespace blink {
-
-// crossThreadBind() is bind() for cross-thread task posting.
-// crossThreadBind() applies CrossThreadCopier to the arguments.
-//
-// Example:
-// void func1(int, const String&);
-// f = crossThreadBind(func1, 42, str);
-// func1(42, str2) will be called when |f()| is executed,
-// where |str2| is a deep copy of |str| (created by str.isolatedCopy()).
-//
-// crossThreadBind(str) is similar to bind(str.isolatedCopy()), but the latter
-// is NOT thread-safe due to temporary objects (https://crbug.com/390851).
-//
-// Don't (if you pass the task across threads):
-// bind(func1, 42, str);
-// bind(func1, 42, str.isolatedCopy());
-
-template<typename FunctionType, typename... Ps>
-std::unique_ptr<Function<base::MakeUnboundRunType<FunctionType, Ps...>, WTF::CrossThreadAffinity>> crossThreadBind(
- FunctionType function,
- Ps&&... parameters)
-{
- return WTF::bindInternal<WTF::CrossThreadAffinity>(
- function,
- WTF::CrossThreadCopier<typename std::decay<Ps>::type>::copy(std::forward<Ps>(parameters))...);
-}
-
-} // namespace blink
-
-#endif // CrossThreadFunctional_h

Powered by Google App Engine
This is Rietveld 408576698