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

Unified Diff: third_party/WebKit/Source/core/dom/CrossThreadTaskTest.cpp

Issue 1904283004: Replace threadSafeBind() + GCed pointers with CrossThreadPersistent (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@temp1912053002
Patch Set: Rebase Created 4 years, 7 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/core/dom/CrossThreadTaskTest.cpp
diff --git a/third_party/WebKit/Source/core/dom/CrossThreadTaskTest.cpp b/third_party/WebKit/Source/core/dom/CrossThreadTaskTest.cpp
index d8afe757c1566a62d9947f43d155292de8ccd3cb..c36c4265a49302f9c1a615266e4010acac3fd601 100644
--- a/third_party/WebKit/Source/core/dom/CrossThreadTaskTest.cpp
+++ b/third_party/WebKit/Source/core/dom/CrossThreadTaskTest.cpp
@@ -43,24 +43,24 @@ protected:
TEST_F(CrossThreadTaskTest, CreateForGarbageCollectedMethod)
{
- std::unique_ptr<ExecutionContextTask> task1 = createCrossThreadTask(&GCObject::run, new GCObject, new GCObject);
- std::unique_ptr<ExecutionContextTask> task2 = createCrossThreadTask(&GCObject::run, new GCObject, new GCObject);
+ std::unique_ptr<ExecutionContextTask> task1 = createCrossThreadTask(&GCObject::run, wrapCrossThreadPersistent(new GCObject), wrapCrossThreadPersistent(new GCObject));
+ std::unique_ptr<ExecutionContextTask> task2 = createCrossThreadTask(&GCObject::run, wrapCrossThreadPersistent(new GCObject), wrapCrossThreadPersistent(new GCObject));
ThreadHeap::collectGarbage(BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSweep, BlinkGC::ForcedGC);
EXPECT_EQ(4, GCObject::s_counter);
}
TEST_F(CrossThreadTaskTest, CreateForFunctionWithGarbageCollected)
{
- std::unique_ptr<ExecutionContextTask> task1 = createCrossThreadTask(&functionWithGarbageCollected, new GCObject);
- std::unique_ptr<ExecutionContextTask> task2 = createCrossThreadTask(&functionWithGarbageCollected, new GCObject);
+ std::unique_ptr<ExecutionContextTask> task1 = createCrossThreadTask(&functionWithGarbageCollected, wrapCrossThreadPersistent(new GCObject));
+ std::unique_ptr<ExecutionContextTask> task2 = createCrossThreadTask(&functionWithGarbageCollected, wrapCrossThreadPersistent(new GCObject));
ThreadHeap::collectGarbage(BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSweep, BlinkGC::ForcedGC);
EXPECT_EQ(2, GCObject::s_counter);
}
TEST_F(CrossThreadTaskTest, CreateForFunctionWithExecutionContext)
{
- std::unique_ptr<ExecutionContextTask> task1 = createCrossThreadTask(&functionWithExecutionContext, new GCObject);
- std::unique_ptr<ExecutionContextTask> task2 = createCrossThreadTask(&functionWithExecutionContext, new GCObject);
+ std::unique_ptr<ExecutionContextTask> task1 = createCrossThreadTask(&functionWithExecutionContext, wrapCrossThreadPersistent(new GCObject));
+ std::unique_ptr<ExecutionContextTask> task2 = createCrossThreadTask(&functionWithExecutionContext, wrapCrossThreadPersistent(new GCObject));
ThreadHeap::collectGarbage(BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSweep, BlinkGC::ForcedGC);
EXPECT_EQ(2, GCObject::s_counter);
}

Powered by Google App Engine
This is Rietveld 408576698