2011-04-07 Nat Duca <nduca@chromium.org>
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 8 Apr 2011 04:32:04 +0000 (04:32 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 8 Apr 2011 04:32:04 +0000 (04:32 +0000)
commita2fb4b34973a7d2997721292fa441c5d4ef3c278
treec69a3340449a7a166d210284901dabadbf765018
parent604752e5c64ff755ae2e7ecd801926bcac20c422
2011-04-07  Nat Duca  <nduca@chromium.org>

        Reviewed by David Levin.

        [chromium] Compositor thread infrastructure
        https://bugs.webkit.org/show_bug.cgi?id=56131

        Introduce chrome compositor thread and related
        infrastructure.

        * WebCore.gypi:
        * platform/graphics/chromium/cc/CCMainThread.cpp: Added.
        (WebCore::CCMainThread::performTask):
        (WebCore::CCMainThread::postTask):
        * platform/graphics/chromium/cc/CCMainThread.h: Added.
        (WebCore::CCMainThread::Task::~Task):
        (WebCore::CCMainThread::Task::instance):
        (WebCore::CCMainThread::Task::Task):
        * platform/graphics/chromium/cc/CCMainThreadTask.h: Added.
        (WebCore::MainThreadTask0::create):
        (WebCore::MainThreadTask0::MainThreadTask0):
        (WebCore::MainThreadTask0::performTask):
        (WebCore::MainThreadTask1::create):
        (WebCore::MainThreadTask1::MainThreadTask1):
        (WebCore::MainThreadTask1::performTask):
        (WebCore::MainThreadTask2::create):
        (WebCore::MainThreadTask2::MainThreadTask2):
        (WebCore::MainThreadTask2::performTask):
        (WebCore::MainThreadTask3::create):
        (WebCore::MainThreadTask3::MainThreadTask3):
        (WebCore::MainThreadTask3::performTask):
        (WebCore::createMainThreadTask):
        * platform/graphics/chromium/cc/CCThread.cpp: Added.
        (WebCore::CCThread::create):
        (WebCore::CCThread::CCThread):
        (WebCore::CCThread::~CCThread):
        (WebCore::CCThread::postTask):
        (WebCore::CCThread::compositorThreadStart):
        (WebCore::CCThread::runLoop):
        * platform/graphics/chromium/cc/CCThread.h: Added.
        (WebCore::CCThread::Task::~Task):
        (WebCore::CCThread::Task::instance):
        (WebCore::CCThread::Task::Task):
        (WebCore::CCThread::threadID):
        (WebCore::CCCompletionEvent::CCCompletionEvent):
        (WebCore::CCCompletionEvent::~CCCompletionEvent):
        (WebCore::CCCompletionEvent::wait):
        (WebCore::CCCompletionEvent::signal):
        * platform/graphics/chromium/cc/CCThreadTask.h: Added.
        (WebCore::CCThreadTask0::create):
        (WebCore::CCThreadTask0::CCThreadTask0):
        (WebCore::CCThreadTask0::performTask):
        (WebCore::CCThreadTask1::create):
        (WebCore::CCThreadTask1::CCThreadTask1):
        (WebCore::CCThreadTask1::performTask):
        (WebCore::CCThreadTask2::create):
        (WebCore::CCThreadTask2::CCThreadTask2):
        (WebCore::CCThreadTask2::performTask):
        (WebCore::CCThreadTask3::create):
        (WebCore::CCThreadTask3::CCThreadTask3):
        (WebCore::CCThreadTask3::performTask):
        (WebCore::createCCThreadTask):
2011-04-07  Nat Duca  <nduca@chromium.org>

        Reviewed by David Levin.

        [chromium] Compositor thread infrastructure
        https://bugs.webkit.org/show_bug.cgi?id=56131

        Tests for chrome compositor thread and related infrastructure.

        * WebKit.gyp:
        * WebKit.gypi:
        * tests/CCThreadTaskTest.cpp: Added.
        (WebCore::TEST):
        * tests/CCThreadTest.cpp: Added.
        (WebCore::TEST):
        (WebCore::PingPongUsingCondition::ping):
        (WebCore::PingPongTestUsingTasks::ping):
        (WebCore::PingPongTestUsingTasks::pong):
        * tests/RunAllTests.cpp:
        (main):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@83249 268f45cc-cd09-0410-ab3c-d52691b4dbfc
15 files changed:
Source/WebCore/ChangeLog
Source/WebCore/WebCore.gypi
Source/WebCore/platform/graphics/chromium/cc/CCCompletionEvent.h [new file with mode: 0644]
Source/WebCore/platform/graphics/chromium/cc/CCMainThread.cpp [new file with mode: 0644]
Source/WebCore/platform/graphics/chromium/cc/CCMainThread.h [new file with mode: 0644]
Source/WebCore/platform/graphics/chromium/cc/CCMainThreadTask.h [new file with mode: 0644]
Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp [new file with mode: 0644]
Source/WebCore/platform/graphics/chromium/cc/CCThread.h [new file with mode: 0644]
Source/WebCore/platform/graphics/chromium/cc/CCThreadTask.h [new file with mode: 0644]
Source/WebKit/chromium/ChangeLog
Source/WebKit/chromium/WebKit.gyp
Source/WebKit/chromium/WebKit.gypi
Source/WebKit/chromium/tests/CCThreadTaskTest.cpp [new file with mode: 0644]
Source/WebKit/chromium/tests/CCThreadTest.cpp [new file with mode: 0644]
Source/WebKit/chromium/tests/RunAllTests.cpp