Commit e7665d7f authored by tyoshino@chromium.org's avatar tyoshino@chromium.org

Factor out NullExecutionContext from unittest files.

R=haraken,sof
BUG=none

Review URL: https://codereview.chromium.org/338833002

git-svn-id: svn://svn.chromium.org/blink/trunk@176279 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent a9b51b31
......@@ -3346,6 +3346,8 @@
'testing/MallocStatistics.h',
'testing/MockPagePopupDriver.cpp',
'testing/MockPagePopupDriver.h',
'testing/NullExecutionContext.cpp',
'testing/NullExecutionContext.h',
'testing/TypeConversions.h',
'testing/v8/WebCoreTestSupport.cpp',
'testing/v8/WebCoreTestSupport.h',
......
......@@ -28,71 +28,19 @@
#include "config.h"
#include "core/dom/MainThreadTaskRunner.h"
#include "core/dom/ExecutionContext.h"
#include "core/dom/ExecutionContextTask.h"
#include "core/dom/SecurityContext.h"
#include "core/events/EventQueue.h"
#include "core/testing/NullExecutionContext.h"
#include "core/testing/UnitTestHelpers.h"
#include "platform/heap/Handle.h"
#include "wtf/Forward.h"
#include "wtf/OwnPtr.h"
#include "wtf/PassOwnPtr.h"
#include <gtest/gtest.h>
using namespace WebCore;
namespace {
class NullEventQueue : public EventQueue {
public:
NullEventQueue() { }
virtual ~NullEventQueue() { }
virtual bool enqueueEvent(PassRefPtrWillBeRawPtr<Event>) OVERRIDE { return true; }
virtual bool cancelEvent(Event*) OVERRIDE { return true; }
virtual void close() OVERRIDE { }
};
class NullExecutionContext : public RefCountedWillBeGarbageCollectedFinalized<NullExecutionContext>, public SecurityContext, public ExecutionContext {
WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(NullExecutionContext);
public:
NullExecutionContext();
virtual EventQueue* eventQueue() const OVERRIDE { return m_queue.get(); }
virtual bool tasksNeedSuspension() { return m_tasksNeedSuspension; }
void setTasksNeedSuspention(bool flag) { m_tasksNeedSuspension = flag; }
void trace(Visitor* visitor)
{
visitor->trace(m_queue);
ExecutionContext::trace(visitor);
}
virtual void reportBlockedScriptExecutionToInspector(const String& directiveText) OVERRIDE { }
virtual SecurityContext& securityContext() { return *this; }
#if !ENABLE(OILPAN)
using RefCounted<NullExecutionContext>::ref;
using RefCounted<NullExecutionContext>::deref;
virtual void refExecutionContext() OVERRIDE { ref(); }
virtual void derefExecutionContext() OVERRIDE { deref(); }
#endif
protected:
virtual const KURL& virtualURL() const OVERRIDE { return m_dummyURL; }
virtual KURL virtualCompleteURL(const String&) const OVERRIDE { return m_dummyURL; }
private:
bool m_tasksNeedSuspension;
OwnPtrWillBeMember<EventQueue> m_queue;
KURL m_dummyURL;
};
NullExecutionContext::NullExecutionContext()
: m_tasksNeedSuspension(false)
, m_queue(adoptPtrWillBeNoop(new NullEventQueue()))
{
}
class MarkingBooleanTask FINAL : public ExecutionContextTask {
public:
static PassOwnPtr<MarkingBooleanTask> create(bool* toBeMarked)
......@@ -132,13 +80,13 @@ TEST(MainThreadTaskRunnerTest, SuspendTask)
OwnPtr<MainThreadTaskRunner> runner = MainThreadTaskRunner::create(context.get());
bool isMarked = false;
context->setTasksNeedSuspention(true);
context->setTasksNeedSuspension(true);
runner->postTask(MarkingBooleanTask::create(&isMarked));
runner->suspend();
WebCore::testing::runPendingTasks();
EXPECT_FALSE(isMarked);
context->setTasksNeedSuspention(false);
context->setTasksNeedSuspension(false);
runner->resume();
WebCore::testing::runPendingTasks();
EXPECT_TRUE(isMarked);
......@@ -150,7 +98,7 @@ TEST(MainThreadTaskRunnerTest, RemoveRunner)
OwnPtr<MainThreadTaskRunner> runner = MainThreadTaskRunner::create(context.get());
bool isMarked = false;
context->setTasksNeedSuspention(true);
context->setTasksNeedSuspension(true);
runner->postTask(MarkingBooleanTask::create(&isMarked));
runner.clear();
WebCore::testing::runPendingTasks();
......
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "config.h"
#include "core/testing/NullExecutionContext.h"
namespace WebCore {
namespace {
class NullEventQueue FINAL : public EventQueue {
public:
NullEventQueue() { }
virtual ~NullEventQueue() { }
virtual bool enqueueEvent(PassRefPtrWillBeRawPtr<Event>) OVERRIDE { return true; }
virtual bool cancelEvent(Event*) OVERRIDE { return true; }
virtual void close() OVERRIDE { }
};
} // namespace
NullExecutionContext::NullExecutionContext()
: m_tasksNeedSuspension(false)
, m_queue(adoptPtrWillBeNoop(new NullEventQueue()))
{
}
} // namespace WebCore
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef NullExecutionContext_h
#define NullExecutionContext_h
#include "core/dom/ExecutionContext.h"
#include "core/dom/SecurityContext.h"
#include "core/events/EventQueue.h"
#include "platform/heap/Handle.h"
#include "platform/weborigin/KURL.h"
#include "wtf/RefCounted.h"
namespace WebCore {
class NullExecutionContext FINAL : public RefCountedWillBeGarbageCollectedFinalized<NullExecutionContext>, public SecurityContext, public ExecutionContext {
WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(NullExecutionContext);
public:
NullExecutionContext();
virtual EventQueue* eventQueue() const OVERRIDE { return m_queue.get(); }
virtual bool tasksNeedSuspension() OVERRIDE { return m_tasksNeedSuspension; }
void setTasksNeedSuspension(bool flag) { m_tasksNeedSuspension = flag; }
void trace(Visitor* visitor)
{
visitor->trace(m_queue);
ExecutionContext::trace(visitor);
}
virtual void reportBlockedScriptExecutionToInspector(const String& directiveText) OVERRIDE { }
virtual SecurityContext& securityContext() OVERRIDE { return *this; }
#if !ENABLE(OILPAN)
using RefCounted<NullExecutionContext>::ref;
using RefCounted<NullExecutionContext>::deref;
virtual void refExecutionContext() OVERRIDE { ref(); }
virtual void derefExecutionContext() OVERRIDE { deref(); }
#endif
protected:
virtual const KURL& virtualURL() const OVERRIDE { return m_dummyURL; }
virtual KURL virtualCompleteURL(const String&) const OVERRIDE { return m_dummyURL; }
private:
bool m_tasksNeedSuspension;
OwnPtrWillBeMember<EventQueue> m_queue;
KURL m_dummyURL;
};
} // namespace WebCore
#endif // NullExecutionContext_h
......@@ -26,17 +26,23 @@
#include "config.h"
#include "modules/indexeddb/IDBRequest.h"
#include "bindings/v8/ScriptState.h"
#include "bindings/v8/V8Binding.h"
#include "core/dom/DOMError.h"
#include "core/dom/Document.h"
#include "core/dom/SecurityContext.h"
#include "core/events/EventQueue.h"
#include "core/dom/ExecutionContext.h"
#include "core/testing/NullExecutionContext.h"
#include "modules/indexeddb/IDBDatabaseCallbacks.h"
#include "modules/indexeddb/IDBKey.h"
#include "modules/indexeddb/IDBKeyRange.h"
#include "modules/indexeddb/IDBOpenDBRequest.h"
#include "platform/SharedBuffer.h"
#include "public/platform/WebBlobInfo.h"
#include "public/platform/WebIDBDatabase.h"
#include "wtf/OwnPtr.h"
#include "wtf/PassOwnPtr.h"
#include "wtf/PassRefPtr.h"
#include "wtf/Vector.h"
#include "wtf/dtoa/utils.h"
#include <gtest/gtest.h>
#include <v8.h>
......@@ -45,54 +51,6 @@ using namespace WebCore;
namespace {
class NullEventQueue FINAL : public EventQueue {
public:
NullEventQueue() { }
virtual ~NullEventQueue() { }
virtual bool enqueueEvent(PassRefPtrWillBeRawPtr<Event>) OVERRIDE { return true; }
virtual bool cancelEvent(Event*) OVERRIDE { return true; }
virtual void close() OVERRIDE { }
};
class NullExecutionContext FINAL : public RefCountedWillBeGarbageCollectedFinalized<NullExecutionContext>, public SecurityContext, public ExecutionContext {
WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(NullExecutionContext);
public:
NullExecutionContext();
virtual EventQueue* eventQueue() const OVERRIDE { return m_queue.get(); }
void trace(Visitor* visitor)
{
visitor->trace(m_queue);
ExecutionContext::trace(visitor);
}
virtual void reportBlockedScriptExecutionToInspector(const String& directiveText) OVERRIDE { }
virtual SecurityContext& securityContext() { return *this; }
#if !ENABLE(OILPAN)
using RefCounted<NullExecutionContext>::ref;
using RefCounted<NullExecutionContext>::deref;
virtual void refExecutionContext() OVERRIDE { ref(); }
virtual void derefExecutionContext() OVERRIDE { deref(); }
#endif
protected:
virtual const KURL& virtualURL() const OVERRIDE { return m_dummyURL; }
virtual KURL virtualCompleteURL(const String&) const OVERRIDE { return m_dummyURL; }
private:
OwnPtrWillBeMember<EventQueue> m_queue;
KURL m_dummyURL;
};
NullExecutionContext::NullExecutionContext()
: m_queue(adoptPtrWillBeNoop(new NullEventQueue()))
{
}
class IDBRequestTest : public testing::Test {
public:
IDBRequestTest()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment