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

Side by Side Diff: third_party/WebKit/Source/platform/heap/PersistentTest.cpp

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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "platform/heap/Persistent.h" 5 #include "platform/heap/Persistent.h"
6 6
7 #include "platform/CrossThreadFunctional.h"
8 #include "platform/heap/Handle.h" 7 #include "platform/heap/Handle.h"
9 #include "testing/gtest/include/gtest/gtest.h" 8 #include "testing/gtest/include/gtest/gtest.h"
9 #include "wtf/Functional.h"
10 #include <memory> 10 #include <memory>
11 11
12 namespace blink { 12 namespace blink {
13 namespace { 13 namespace {
14 14
15 void preciselyCollectGarbage() 15 void preciselyCollectGarbage()
16 { 16 {
17 ThreadHeap::collectGarbage(BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSw eep, BlinkGC::ForcedGC); 17 ThreadHeap::collectGarbage(BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSw eep, BlinkGC::ForcedGC);
18 } 18 }
19 19
(...skipping 19 matching lines...) Expand all
39 receiver = nullptr; 39 receiver = nullptr;
40 preciselyCollectGarbage(); 40 preciselyCollectGarbage();
41 (*function)(); 41 (*function)();
42 EXPECT_EQ(1, counter); 42 EXPECT_EQ(1, counter);
43 } 43 }
44 44
45 TEST(PersistentTest, CrossThreadBindCancellation) 45 TEST(PersistentTest, CrossThreadBindCancellation)
46 { 46 {
47 Receiver* receiver = new Receiver; 47 Receiver* receiver = new Receiver;
48 int counter = 0; 48 int counter = 0;
49 std::unique_ptr<CrossThreadClosure> function = blink::crossThreadBind(&Recei ver::increment, wrapCrossThreadWeakPersistent(receiver), WTF::crossThreadUnretai ned(&counter)); 49 std::unique_ptr<CrossThreadClosure> function = crossThreadBind(&Receiver::in crement, wrapCrossThreadWeakPersistent(receiver), WTF::crossThreadUnretained(&co unter));
50 50
51 (*function)(); 51 (*function)();
52 EXPECT_EQ(1, counter); 52 EXPECT_EQ(1, counter);
53 53
54 receiver = nullptr; 54 receiver = nullptr;
55 preciselyCollectGarbage(); 55 preciselyCollectGarbage();
56 (*function)(); 56 (*function)();
57 EXPECT_EQ(1, counter); 57 EXPECT_EQ(1, counter);
58 } 58 }
59 59
60 } // namespace 60 } // namespace
61 } // namespace blink 61 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698