| Index: third_party/WebKit/Source/modules/fetch/FetchBlobDataConsumerHandleTest.cpp
|
| diff --git a/third_party/WebKit/Source/modules/fetch/FetchBlobDataConsumerHandleTest.cpp b/third_party/WebKit/Source/modules/fetch/FetchBlobDataConsumerHandleTest.cpp
|
| index aa597e49bc16010fcbea0149894223ae584349ad..869a72738fe7476ffb443af95cb5fd1e4a9bb783 100644
|
| --- a/third_party/WebKit/Source/modules/fetch/FetchBlobDataConsumerHandleTest.cpp
|
| +++ b/third_party/WebKit/Source/modules/fetch/FetchBlobDataConsumerHandleTest.cpp
|
| @@ -18,10 +18,9 @@
|
| #include "platform/testing/UnitTestHelpers.h"
|
| #include "testing/gmock/include/gmock/gmock.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| +#include "wtf/OwnPtr.h"
|
| #include "wtf/PassRefPtr.h"
|
| -#include "wtf/PtrUtil.h"
|
| #include "wtf/RefPtr.h"
|
| -#include <memory>
|
| #include <string.h>
|
|
|
| namespace blink {
|
| @@ -53,9 +52,9 @@ using Checkpoint = StrictMock<::testing::MockFunction<void(int)>>;
|
|
|
| class MockLoaderFactory : public FetchBlobDataConsumerHandle::LoaderFactory {
|
| public:
|
| - std::unique_ptr<ThreadableLoader> create(ExecutionContext& executionContext, ThreadableLoaderClient* client, const ThreadableLoaderOptions& threadableLoaderOptions, const ResourceLoaderOptions& resourceLoaderOptions) override
|
| + PassOwnPtr<ThreadableLoader> create(ExecutionContext& executionContext, ThreadableLoaderClient* client, const ThreadableLoaderOptions& threadableLoaderOptions, const ResourceLoaderOptions& resourceLoaderOptions) override
|
| {
|
| - return wrapUnique(createInternal(executionContext, client, threadableLoaderOptions, resourceLoaderOptions));
|
| + return adoptPtr(createInternal(executionContext, client, threadableLoaderOptions, resourceLoaderOptions));
|
| }
|
|
|
| MOCK_METHOD4(createInternal, ThreadableLoader*(ExecutionContext&, ThreadableLoaderClient*, const ThreadableLoaderOptions&, const ResourceLoaderOptions&));
|
| @@ -63,7 +62,7 @@ public:
|
|
|
| PassRefPtr<BlobDataHandle> createBlobDataHandle(const char* s)
|
| {
|
| - std::unique_ptr<BlobData> data = BlobData::create();
|
| + OwnPtr<BlobData> data = BlobData::create();
|
| data->appendText(s, false);
|
| auto size = data->length();
|
| return BlobDataHandle::create(std::move(data), size);
|
| @@ -88,7 +87,7 @@ public:
|
| Document& document() { return m_dummyPageHolder->document(); }
|
|
|
| private:
|
| - std::unique_ptr<DummyPageHolder> m_dummyPageHolder;
|
| + OwnPtr<DummyPageHolder> m_dummyPageHolder;
|
| };
|
|
|
| TEST_F(FetchBlobDataConsumerHandleTest, CreateLoader)
|
| @@ -100,7 +99,7 @@ TEST_F(FetchBlobDataConsumerHandleTest, CreateLoader)
|
| ThreadableLoaderOptions options;
|
| ResourceLoaderOptions resourceLoaderOptions;
|
|
|
| - std::unique_ptr<MockThreadableLoader> loader = MockThreadableLoader::create();
|
| + OwnPtr<MockThreadableLoader> loader = MockThreadableLoader::create();
|
| MockThreadableLoader* loaderPtr = loader.get();
|
|
|
| InSequence s;
|
| @@ -108,13 +107,13 @@ TEST_F(FetchBlobDataConsumerHandleTest, CreateLoader)
|
| EXPECT_CALL(*factory, createInternal(Ref(document()), _, _, _)).WillOnce(DoAll(
|
| SaveArg<2>(&options),
|
| SaveArg<3>(&resourceLoaderOptions),
|
| - Return(loader.release())));
|
| + Return(loader.leakPtr())));
|
| EXPECT_CALL(*loaderPtr, start(_)).WillOnce(SaveArg<0>(&request));
|
| EXPECT_CALL(checkpoint, Call(2));
|
| EXPECT_CALL(*loaderPtr, cancel());
|
|
|
| RefPtr<BlobDataHandle> blobDataHandle = createBlobDataHandle("Once upon a time");
|
| - std::unique_ptr<WebDataConsumerHandle> handle
|
| + OwnPtr<WebDataConsumerHandle> handle
|
| = FetchBlobDataConsumerHandle::create(&document(), blobDataHandle, factory);
|
| testing::runPendingTasks();
|
|
|
| @@ -145,19 +144,19 @@ TEST_F(FetchBlobDataConsumerHandleTest, CancelLoaderWhenStopped)
|
| auto factory = new StrictMock<MockLoaderFactory>;
|
| Checkpoint checkpoint;
|
|
|
| - std::unique_ptr<MockThreadableLoader> loader = MockThreadableLoader::create();
|
| + OwnPtr<MockThreadableLoader> loader = MockThreadableLoader::create();
|
| MockThreadableLoader* loaderPtr = loader.get();
|
|
|
| InSequence s;
|
| EXPECT_CALL(checkpoint, Call(1));
|
| - EXPECT_CALL(*factory, createInternal(Ref(document()), _, _, _)).WillOnce(Return(loader.release()));
|
| + EXPECT_CALL(*factory, createInternal(Ref(document()), _, _, _)).WillOnce(Return(loader.leakPtr()));
|
| EXPECT_CALL(*loaderPtr, start(_));
|
| EXPECT_CALL(checkpoint, Call(2));
|
| EXPECT_CALL(*loaderPtr, cancel());
|
| EXPECT_CALL(checkpoint, Call(3));
|
|
|
| RefPtr<BlobDataHandle> blobDataHandle = createBlobDataHandle("Once upon a time");
|
| - std::unique_ptr<WebDataConsumerHandle> handle
|
| + OwnPtr<WebDataConsumerHandle> handle
|
| = FetchBlobDataConsumerHandle::create(&document(), blobDataHandle, factory);
|
| testing::runPendingTasks();
|
|
|
| @@ -175,12 +174,12 @@ TEST_F(FetchBlobDataConsumerHandleTest, CancelLoaderWhenDestinationDetached)
|
| auto factory = new StrictMock<MockLoaderFactory>;
|
| Checkpoint checkpoint;
|
|
|
| - std::unique_ptr<MockThreadableLoader> loader = MockThreadableLoader::create();
|
| + OwnPtr<MockThreadableLoader> loader = MockThreadableLoader::create();
|
| MockThreadableLoader* loaderPtr = loader.get();
|
|
|
| InSequence s;
|
| EXPECT_CALL(checkpoint, Call(1));
|
| - EXPECT_CALL(*factory, createInternal(Ref(document()), _, _, _)).WillOnce(Return(loader.release()));
|
| + EXPECT_CALL(*factory, createInternal(Ref(document()), _, _, _)).WillOnce(Return(loader.leakPtr()));
|
| EXPECT_CALL(*loaderPtr, start(_));
|
| EXPECT_CALL(checkpoint, Call(2));
|
| EXPECT_CALL(checkpoint, Call(3));
|
| @@ -188,9 +187,9 @@ TEST_F(FetchBlobDataConsumerHandleTest, CancelLoaderWhenDestinationDetached)
|
| EXPECT_CALL(checkpoint, Call(4));
|
|
|
| RefPtr<BlobDataHandle> blobDataHandle = createBlobDataHandle("Once upon a time");
|
| - std::unique_ptr<WebDataConsumerHandle> handle
|
| + OwnPtr<WebDataConsumerHandle> handle
|
| = FetchBlobDataConsumerHandle::create(&document(), blobDataHandle, factory);
|
| - std::unique_ptr<WebDataConsumerHandle::Reader> reader = handle->obtainReader(nullptr);
|
| + OwnPtr<WebDataConsumerHandle::Reader> reader = handle->obtainReader(nullptr);
|
| testing::runPendingTasks();
|
|
|
| size_t size = 0;
|
| @@ -210,22 +209,22 @@ TEST_F(FetchBlobDataConsumerHandleTest, ReadTest)
|
| auto factory = new StrictMock<MockLoaderFactory>;
|
| Checkpoint checkpoint;
|
|
|
| - std::unique_ptr<MockThreadableLoader> loader = MockThreadableLoader::create();
|
| + OwnPtr<MockThreadableLoader> loader = MockThreadableLoader::create();
|
| MockThreadableLoader* loaderPtr = loader.get();
|
| ThreadableLoaderClient* client = nullptr;
|
|
|
| InSequence s;
|
| EXPECT_CALL(checkpoint, Call(1));
|
| - EXPECT_CALL(*factory, createInternal(Ref(document()), _, _, _)).WillOnce(DoAll(SaveArg<1>(&client), Return(loader.release())));
|
| + EXPECT_CALL(*factory, createInternal(Ref(document()), _, _, _)).WillOnce(DoAll(SaveArg<1>(&client), Return(loader.leakPtr())));
|
| EXPECT_CALL(*loaderPtr, start(_));
|
| EXPECT_CALL(checkpoint, Call(2));
|
| EXPECT_CALL(*loaderPtr, cancel());
|
|
|
| RefPtr<BlobDataHandle> blobDataHandle = createBlobDataHandle("Once upon a time");
|
| - std::unique_ptr<WebDataConsumerHandle> handle
|
| + OwnPtr<WebDataConsumerHandle> handle
|
| = FetchBlobDataConsumerHandle::create(&document(), blobDataHandle, factory);
|
|
|
| - std::unique_ptr<ReplayingHandle> src = ReplayingHandle::create();
|
| + OwnPtr<ReplayingHandle> src = ReplayingHandle::create();
|
| src->add(Command(Command::Wait));
|
| src->add(Command(Command::Data, "hello, "));
|
| src->add(Command(Command::Data, "world"));
|
| @@ -239,7 +238,7 @@ TEST_F(FetchBlobDataConsumerHandleTest, ReadTest)
|
| checkpoint.Call(2);
|
| client->didReceiveResponse(0, ResourceResponse(), std::move(src));
|
| HandleReaderRunner<HandleReader> runner(std::move(handle));
|
| - std::unique_ptr<HandleReadResult> r = runner.wait();
|
| + OwnPtr<HandleReadResult> r = runner.wait();
|
| EXPECT_EQ(kDone, r->result());
|
| EXPECT_EQ("hello, world", toString(r->data()));
|
| }
|
| @@ -249,22 +248,22 @@ TEST_F(FetchBlobDataConsumerHandleTest, TwoPhaseReadTest)
|
| auto factory = new StrictMock<MockLoaderFactory>;
|
| Checkpoint checkpoint;
|
|
|
| - std::unique_ptr<MockThreadableLoader> loader = MockThreadableLoader::create();
|
| + OwnPtr<MockThreadableLoader> loader = MockThreadableLoader::create();
|
| MockThreadableLoader* loaderPtr = loader.get();
|
| ThreadableLoaderClient* client = nullptr;
|
|
|
| InSequence s;
|
| EXPECT_CALL(checkpoint, Call(1));
|
| - EXPECT_CALL(*factory, createInternal(Ref(document()), _, _, _)).WillOnce(DoAll(SaveArg<1>(&client), Return(loader.release())));
|
| + EXPECT_CALL(*factory, createInternal(Ref(document()), _, _, _)).WillOnce(DoAll(SaveArg<1>(&client), Return(loader.leakPtr())));
|
| EXPECT_CALL(*loaderPtr, start(_));
|
| EXPECT_CALL(checkpoint, Call(2));
|
| EXPECT_CALL(*loaderPtr, cancel());
|
|
|
| RefPtr<BlobDataHandle> blobDataHandle = createBlobDataHandle("Once upon a time");
|
| - std::unique_ptr<WebDataConsumerHandle> handle
|
| + OwnPtr<WebDataConsumerHandle> handle
|
| = FetchBlobDataConsumerHandle::create(&document(), blobDataHandle, factory);
|
|
|
| - std::unique_ptr<ReplayingHandle> src = ReplayingHandle::create();
|
| + OwnPtr<ReplayingHandle> src = ReplayingHandle::create();
|
| src->add(Command(Command::Wait));
|
| src->add(Command(Command::Data, "hello, "));
|
| src->add(Command(Command::Data, "world"));
|
| @@ -278,7 +277,7 @@ TEST_F(FetchBlobDataConsumerHandleTest, TwoPhaseReadTest)
|
| checkpoint.Call(2);
|
| client->didReceiveResponse(0, ResourceResponse(), std::move(src));
|
| HandleReaderRunner<HandleTwoPhaseReader> runner(std::move(handle));
|
| - std::unique_ptr<HandleReadResult> r = runner.wait();
|
| + OwnPtr<HandleReadResult> r = runner.wait();
|
| EXPECT_EQ(kDone, r->result());
|
| EXPECT_EQ("hello, world", toString(r->data()));
|
| }
|
| @@ -288,18 +287,18 @@ TEST_F(FetchBlobDataConsumerHandleTest, LoadErrorTest)
|
| auto factory = new StrictMock<MockLoaderFactory>;
|
| Checkpoint checkpoint;
|
|
|
| - std::unique_ptr<MockThreadableLoader> loader = MockThreadableLoader::create();
|
| + OwnPtr<MockThreadableLoader> loader = MockThreadableLoader::create();
|
| MockThreadableLoader* loaderPtr = loader.get();
|
| ThreadableLoaderClient* client = nullptr;
|
|
|
| InSequence s;
|
| EXPECT_CALL(checkpoint, Call(1));
|
| - EXPECT_CALL(*factory, createInternal(Ref(document()), _, _, _)).WillOnce(DoAll(SaveArg<1>(&client), Return(loader.release())));
|
| + EXPECT_CALL(*factory, createInternal(Ref(document()), _, _, _)).WillOnce(DoAll(SaveArg<1>(&client), Return(loader.leakPtr())));
|
| EXPECT_CALL(*loaderPtr, start(_));
|
| EXPECT_CALL(checkpoint, Call(2));
|
|
|
| RefPtr<BlobDataHandle> blobDataHandle = createBlobDataHandle("Once upon a time");
|
| - std::unique_ptr<WebDataConsumerHandle> handle
|
| + OwnPtr<WebDataConsumerHandle> handle
|
| = FetchBlobDataConsumerHandle::create(&document(), blobDataHandle, factory);
|
|
|
| size_t size = 0;
|
| @@ -309,7 +308,7 @@ TEST_F(FetchBlobDataConsumerHandleTest, LoadErrorTest)
|
| checkpoint.Call(2);
|
| client->didFail(ResourceError());
|
| HandleReaderRunner<HandleReader> runner(std::move(handle));
|
| - std::unique_ptr<HandleReadResult> r = runner.wait();
|
| + OwnPtr<HandleReadResult> r = runner.wait();
|
| EXPECT_EQ(kUnexpectedError, r->result());
|
| }
|
|
|
| @@ -318,22 +317,22 @@ TEST_F(FetchBlobDataConsumerHandleTest, BodyLoadErrorTest)
|
| auto factory = new StrictMock<MockLoaderFactory>;
|
| Checkpoint checkpoint;
|
|
|
| - std::unique_ptr<MockThreadableLoader> loader = MockThreadableLoader::create();
|
| + OwnPtr<MockThreadableLoader> loader = MockThreadableLoader::create();
|
| MockThreadableLoader* loaderPtr = loader.get();
|
| ThreadableLoaderClient* client = nullptr;
|
|
|
| InSequence s;
|
| EXPECT_CALL(checkpoint, Call(1));
|
| - EXPECT_CALL(*factory, createInternal(Ref(document()), _, _, _)).WillOnce(DoAll(SaveArg<1>(&client), Return(loader.release())));
|
| + EXPECT_CALL(*factory, createInternal(Ref(document()), _, _, _)).WillOnce(DoAll(SaveArg<1>(&client), Return(loader.leakPtr())));
|
| EXPECT_CALL(*loaderPtr, start(_));
|
| EXPECT_CALL(checkpoint, Call(2));
|
| EXPECT_CALL(*loaderPtr, cancel());
|
|
|
| RefPtr<BlobDataHandle> blobDataHandle = createBlobDataHandle("Once upon a time");
|
| - std::unique_ptr<WebDataConsumerHandle> handle
|
| + OwnPtr<WebDataConsumerHandle> handle
|
| = FetchBlobDataConsumerHandle::create(&document(), blobDataHandle, factory);
|
|
|
| - std::unique_ptr<ReplayingHandle> src = ReplayingHandle::create();
|
| + OwnPtr<ReplayingHandle> src = ReplayingHandle::create();
|
| src->add(Command(Command::Wait));
|
| src->add(Command(Command::Data, "hello, "));
|
| src->add(Command(Command::Error));
|
| @@ -345,7 +344,7 @@ TEST_F(FetchBlobDataConsumerHandleTest, BodyLoadErrorTest)
|
| checkpoint.Call(2);
|
| client->didReceiveResponse(0, ResourceResponse(), std::move(src));
|
| HandleReaderRunner<HandleReader> runner(std::move(handle));
|
| - std::unique_ptr<HandleReadResult> r = runner.wait();
|
| + OwnPtr<HandleReadResult> r = runner.wait();
|
| EXPECT_EQ(kUnexpectedError, r->result());
|
| }
|
|
|
| @@ -354,7 +353,7 @@ TEST_F(FetchBlobDataConsumerHandleTest, DrainAsBlobDataHandle)
|
| auto factory = new StrictMock<MockLoaderFactory>;
|
|
|
| RefPtr<BlobDataHandle> blobDataHandle = createBlobDataHandle("Once upon a time");
|
| - std::unique_ptr<FetchDataConsumerHandle> handle
|
| + OwnPtr<FetchDataConsumerHandle> handle
|
| = FetchBlobDataConsumerHandle::create(&document(), blobDataHandle, factory);
|
|
|
| size_t size = 0;
|
| @@ -369,7 +368,7 @@ TEST_F(FetchBlobDataConsumerHandleTest, DrainAsFormData)
|
| auto factory = new StrictMock<MockLoaderFactory>;
|
|
|
| RefPtr<BlobDataHandle> blobDataHandle = createBlobDataHandle("Once upon a time");
|
| - std::unique_ptr<FetchDataConsumerHandle> handle
|
| + OwnPtr<FetchDataConsumerHandle> handle
|
| = FetchBlobDataConsumerHandle::create(&document(), blobDataHandle, factory);
|
|
|
| RefPtr<EncodedFormData> formData = handle->obtainReader(nullptr)->drainAsFormData();
|
| @@ -390,9 +389,9 @@ TEST_F(FetchBlobDataConsumerHandleTest, ZeroByteReadDoesNotAffectDraining)
|
| auto factory = new StrictMock<MockLoaderFactory>;
|
|
|
| RefPtr<BlobDataHandle> blobDataHandle = createBlobDataHandle("Once upon a time");
|
| - std::unique_ptr<FetchDataConsumerHandle> handle
|
| + OwnPtr<FetchDataConsumerHandle> handle
|
| = FetchBlobDataConsumerHandle::create(&document(), blobDataHandle, factory);
|
| - std::unique_ptr<FetchDataConsumerHandle::Reader> reader = handle->obtainReader(nullptr);
|
| + OwnPtr<FetchDataConsumerHandle::Reader> reader = handle->obtainReader(nullptr);
|
|
|
| size_t readSize;
|
| EXPECT_EQ(kShouldWait, reader->read(nullptr, 0, kNone, &readSize));
|
| @@ -404,9 +403,9 @@ TEST_F(FetchBlobDataConsumerHandleTest, OneByteReadAffectsDraining)
|
| auto factory = new StrictMock<MockLoaderFactory>;
|
|
|
| RefPtr<BlobDataHandle> blobDataHandle = createBlobDataHandle("Once upon a time");
|
| - std::unique_ptr<FetchDataConsumerHandle> handle
|
| + OwnPtr<FetchDataConsumerHandle> handle
|
| = FetchBlobDataConsumerHandle::create(&document(), blobDataHandle, factory);
|
| - std::unique_ptr<FetchDataConsumerHandle::Reader> reader = handle->obtainReader(nullptr);
|
| + OwnPtr<FetchDataConsumerHandle::Reader> reader = handle->obtainReader(nullptr);
|
|
|
| size_t readSize;
|
| char c;
|
| @@ -419,9 +418,9 @@ TEST_F(FetchBlobDataConsumerHandleTest, BeginReadAffectsDraining)
|
| auto factory = new StrictMock<MockLoaderFactory>;
|
|
|
| RefPtr<BlobDataHandle> blobDataHandle = createBlobDataHandle("Once upon a time");
|
| - std::unique_ptr<FetchDataConsumerHandle> handle
|
| + OwnPtr<FetchDataConsumerHandle> handle
|
| = FetchBlobDataConsumerHandle::create(&document(), blobDataHandle, factory);
|
| - std::unique_ptr<FetchDataConsumerHandle::Reader> reader = handle->obtainReader(nullptr);
|
| + OwnPtr<FetchDataConsumerHandle::Reader> reader = handle->obtainReader(nullptr);
|
|
|
| const void* buffer;
|
| size_t available;
|
|
|