Index: Source/bindings/core/v8/ScriptPromisePropertyTest.cpp |
diff --git a/Source/bindings/core/v8/ScriptPromisePropertyTest.cpp b/Source/bindings/core/v8/ScriptPromisePropertyTest.cpp |
index 58b81c37d03539ee1aa85ef8a512c606adb2b835..0d6f95941e77e5147e5ab221ec08ebbc80ce7ed7 100644 |
--- a/Source/bindings/core/v8/ScriptPromisePropertyTest.cpp |
+++ b/Source/bindings/core/v8/ScriptPromisePropertyTest.cpp |
@@ -126,14 +126,12 @@ public: |
: m_page(DummyPageHolder::create(IntSize(1, 1))) |
{ |
v8::HandleScope handleScope(isolate()); |
- m_otherScriptState = ScriptStateForTesting::create(v8::Context::New(isolate()), DOMWrapperWorld::create(isolate(), 1)); |
+ m_otherScriptState = ScriptStateForTesting::create(v8::Context::New(isolate()), DOMWrapperWorld::ensureIsolatedWorld(isolate(), 1, -1)); |
} |
virtual ~ScriptPromisePropertyTestBase() |
{ |
- m_page.clear(); |
- gc(); |
- Heap::collectAllGarbage(); |
+ ScriptPromisePropertyTestBase::destroyContext(); |
} |
Document& document() { return m_page->document(); } |
@@ -147,9 +145,12 @@ public: |
virtual void destroyContext() |
{ |
m_page.clear(); |
- m_otherScriptState.clear(); |
+ if (m_otherScriptState) { |
+ m_otherScriptState->disposePerContextData(); |
+ m_otherScriptState = nullptr; |
+ } |
gc(); |
- Heap::collectGarbage(ThreadState::HeapPointersOnStack, ThreadState::GCWithSweep, Heap::ForcedGC); |
+ Heap::collectAllGarbage(); |
sof
2015/08/31 06:44:40
Incidental to this CL, but having the name of this
haraken
2015/08/31 06:46:42
Yeah, a better idea would be to call V8GCControlle
sof
2015/08/31 06:50:22
You have to supply the "force" flag in V8GCControl
haraken
2015/08/31 06:55:52
V8GCController::collectGarbage calls window.gc() a
sof
2015/08/31 06:58:34
This is a unit test -- isn't "gc()" mapping to wha
sof
2015/08/31 07:03:46
Which maps to v8/src/extensions/gc-extension.*
i.
yhirano
2015/08/31 07:10:43
Once I was told that relying on the conservative G
|
} |
void gc() { V8GCController::collectGarbage(v8::Isolate::GetCurrent()); } |
@@ -361,7 +362,7 @@ TEST_F(ScriptPromisePropertyGarbageCollectedTest, Reject_RejectsScriptPromise) |
TEST_F(ScriptPromisePropertyGarbageCollectedTest, Promise_DeadContext) |
{ |
- Property* property = this->property(); |
+ Persistent<Property> property = this->property(); |
property->resolve(new GarbageCollectedScriptWrappable("value")); |
EXPECT_EQ(Property::Resolved, property->state()); |
@@ -372,7 +373,7 @@ TEST_F(ScriptPromisePropertyGarbageCollectedTest, Promise_DeadContext) |
TEST_F(ScriptPromisePropertyGarbageCollectedTest, Resolve_DeadContext) |
{ |
- Property* property = this->property(); |
+ Persistent<Property> property = this->property(); |
{ |
ScriptState::Scope scope(mainScriptState()); |