| Index: third_party/WebKit/Source/bindings/core/v8/ScriptPromisePropertyTest.cpp
|
| diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptPromisePropertyTest.cpp b/third_party/WebKit/Source/bindings/core/v8/ScriptPromisePropertyTest.cpp
|
| index 52af5edc000a6c2d26d5e4563c6f58122de5c3c1..3ad60fbef68be1642aa6f89a3e0ed18689bf9f3f 100644
|
| --- a/third_party/WebKit/Source/bindings/core/v8/ScriptPromisePropertyTest.cpp
|
| +++ b/third_party/WebKit/Source/bindings/core/v8/ScriptPromisePropertyTest.cpp
|
| @@ -16,7 +16,6 @@
|
| #include "core/testing/DummyPageHolder.h"
|
| #include "core/testing/GCObservation.h"
|
| #include "core/testing/GarbageCollectedScriptWrappable.h"
|
| -#include "core/testing/RefCountedScriptWrappable.h"
|
| #include "platform/heap/Handle.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| #include "wtf/OwnPtr.h"
|
| @@ -99,26 +98,6 @@ private:
|
| Member<Property> m_property;
|
| };
|
|
|
| -class RefCountedHolder : public RefCountedScriptWrappable {
|
| -public:
|
| - // Do not resolve or reject the property with the holder itself. It leads
|
| - // to a leak.
|
| - typedef ScriptPromiseProperty<RefCountedScriptWrappable*, RefPtr<RefCountedScriptWrappable>, RefPtr<RefCountedScriptWrappable>> Property;
|
| - static PassRefPtr<RefCountedHolder> create(ExecutionContext* executionContext)
|
| - {
|
| - return adoptRef(new RefCountedHolder(executionContext));
|
| - }
|
| - Property* getProperty() { return m_property; }
|
| - RefCountedScriptWrappable* toRefCountedScriptWrappable() { return this; }
|
| -
|
| -private:
|
| - RefCountedHolder(ExecutionContext* executionContext)
|
| - : RefCountedScriptWrappable("holder")
|
| - , m_property(new Property(executionContext, toRefCountedScriptWrappable(), Property::Ready)) { }
|
| -
|
| - Persistent<Property> m_property;
|
| -};
|
| -
|
| class ScriptPromisePropertyTestBase {
|
| public:
|
| ScriptPromisePropertyTestBase()
|
| @@ -414,89 +393,6 @@ TEST_F(ScriptPromisePropertyGarbageCollectedTest, Reset)
|
| EXPECT_NE(oldActual, newActual);
|
| }
|
|
|
| -// Tests that ScriptPromiseProperty works with a ref-counted holder.
|
| -class ScriptPromisePropertyRefCountedTest : public ScriptPromisePropertyTestBase, public ::testing::Test {
|
| -public:
|
| - typedef RefCountedHolder::Property Property;
|
| -
|
| - ScriptPromisePropertyRefCountedTest()
|
| - : m_holder(RefCountedHolder::create(&document()))
|
| - {
|
| - }
|
| -
|
| - RefCountedHolder* holder() { return m_holder.get(); }
|
| - Property* getProperty() { return m_holder->getProperty(); }
|
| -
|
| -private:
|
| - RefPtr<RefCountedHolder> m_holder;
|
| -};
|
| -
|
| -TEST_F(ScriptPromisePropertyRefCountedTest, Resolve)
|
| -{
|
| - ScriptValue actual;
|
| - size_t nResolveCalls = 0;
|
| -
|
| - {
|
| - ScriptState::Scope scope(mainScriptState());
|
| - getProperty()->promise(DOMWrapperWorld::mainWorld()).then(stub(currentScriptState(), actual, nResolveCalls), notReached(currentScriptState()));
|
| - }
|
| -
|
| - RefPtr<RefCountedScriptWrappable> value = RefCountedScriptWrappable::create("value");
|
| - getProperty()->resolve(value.get());
|
| - EXPECT_EQ(Property::Resolved, getProperty()->getState());
|
| -
|
| - v8::MicrotasksScope::PerformCheckpoint(isolate());
|
| - EXPECT_EQ(1u, nResolveCalls);
|
| - EXPECT_EQ(wrap(mainWorld(), value), actual);
|
| -}
|
| -
|
| -TEST_F(ScriptPromisePropertyRefCountedTest, Reject)
|
| -{
|
| - ScriptValue actual;
|
| - size_t nRejectCalls = 0;
|
| -
|
| - {
|
| - ScriptState::Scope scope(mainScriptState());
|
| - getProperty()->promise(DOMWrapperWorld::mainWorld()).then(notReached(currentScriptState()), stub(currentScriptState(), actual, nRejectCalls));
|
| - }
|
| -
|
| - RefPtr<RefCountedScriptWrappable> reason = RefCountedScriptWrappable::create("reason");
|
| - getProperty()->reject(reason);
|
| - EXPECT_EQ(Property::Rejected, getProperty()->getState());
|
| -
|
| - v8::MicrotasksScope::PerformCheckpoint(isolate());
|
| - EXPECT_EQ(1u, nRejectCalls);
|
| - EXPECT_EQ(wrap(mainWorld(), reason), actual);
|
| -}
|
| -
|
| -TEST_F(ScriptPromisePropertyRefCountedTest, ReSolveAndReset)
|
| -{
|
| - RefPtr<RefCountedScriptWrappable> value = RefCountedScriptWrappable::create("value");
|
| -
|
| - {
|
| - ScriptState::Scope scope(mainScriptState());
|
| - getProperty()->resolve(value);
|
| - }
|
| -
|
| - EXPECT_EQ(2, value->refCount());
|
| - getProperty()->reset();
|
| - EXPECT_EQ(1, value->refCount());
|
| -}
|
| -
|
| -TEST_F(ScriptPromisePropertyRefCountedTest, RejectAndReset)
|
| -{
|
| - RefPtr<RefCountedScriptWrappable> value = RefCountedScriptWrappable::create("value");
|
| -
|
| - {
|
| - ScriptState::Scope scope(mainScriptState());
|
| - getProperty()->reject(value.get());
|
| - }
|
| -
|
| - EXPECT_EQ(2, value->refCount());
|
| - getProperty()->reset();
|
| - EXPECT_EQ(1, value->refCount());
|
| -}
|
| -
|
| // Tests that ScriptPromiseProperty works with a non ScriptWrappable resolution
|
| // target.
|
| class ScriptPromisePropertyNonScriptWrappableResolutionTargetTest : public ScriptPromisePropertyTestBase, public ::testing::Test {
|
|
|