diff options
author | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-21 18:20:38 +0000 |
---|---|---|
committer | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-21 18:20:38 +0000 |
commit | 387277cea3d8a6f2f29f6e35bf24d524a267e46a (patch) | |
tree | edd9aba9e15434c112483566fe57c1001d8ba77a /webkit | |
parent | a9b24304db8e19cc8ee2cf866ea85024de943778 (diff) | |
download | chromium_src-387277cea3d8a6f2f29f6e35bf24d524a267e46a.zip chromium_src-387277cea3d8a6f2f29f6e35bf24d524a267e46a.tar.gz chromium_src-387277cea3d8a6f2f29f6e35bf24d524a267e46a.tar.bz2 |
Move webthread_impl.* to content/child.
It is only used by content and is necessary as we continue to move
forward with the process of removing src/webkit/.
BUG=265753
TEST=content_shell and content_unittests
R=jochen@chromium.org
TBR=darin
Review URL: https://codereview.chromium.org/168923003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@252597 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r-- | webkit/child/webkit_child.gyp | 2 | ||||
-rw-r--r-- | webkit/child/webthread_impl.cc | 134 | ||||
-rw-r--r-- | webkit/child/webthread_impl.h | 72 | ||||
-rw-r--r-- | webkit/renderer/compositor_bindings/web_compositor_support_impl.cc | 1 |
4 files changed, 0 insertions, 209 deletions
diff --git a/webkit/child/webkit_child.gyp b/webkit/child/webkit_child.gyp index fd161e7..bdd1833 100644 --- a/webkit/child/webkit_child.gyp +++ b/webkit/child/webkit_child.gyp @@ -77,8 +77,6 @@ 'websocketstreamhandle_delegate.h', 'websocketstreamhandle_impl.cc', 'websocketstreamhandle_impl.h', - 'webthread_impl.cc', - 'webthread_impl.h', 'weburlloader_impl.cc', 'weburlloader_impl.h', 'weburlrequest_extradata_impl.cc', diff --git a/webkit/child/webthread_impl.cc b/webkit/child/webthread_impl.cc deleted file mode 100644 index 4646662..0000000 --- a/webkit/child/webthread_impl.cc +++ /dev/null @@ -1,134 +0,0 @@ -// Copyright 2013 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. - -// An implementation of WebThread in terms of base::MessageLoop and -// base::Thread - -#include "webkit/child/webthread_impl.h" - -#include "base/bind.h" -#include "base/bind_helpers.h" -#include "base/message_loop/message_loop.h" -#include "base/pending_task.h" -#include "base/threading/platform_thread.h" - -namespace webkit_glue { - -WebThreadBase::WebThreadBase() { } -WebThreadBase::~WebThreadBase() { } - -class WebThreadBase::TaskObserverAdapter : - public base::MessageLoop::TaskObserver { - public: - TaskObserverAdapter(WebThread::TaskObserver* observer) - : observer_(observer) { } - - virtual void WillProcessTask(const base::PendingTask& pending_task) OVERRIDE { - observer_->willProcessTask(); - } - - virtual void DidProcessTask(const base::PendingTask& pending_task) OVERRIDE { - observer_->didProcessTask(); - } - -private: - WebThread::TaskObserver* observer_; -}; - -void WebThreadBase::addTaskObserver(TaskObserver* observer) { - CHECK(isCurrentThread()); - std::pair<TaskObserverMap::iterator, bool> result = task_observer_map_.insert( - std::make_pair(observer, static_cast<TaskObserverAdapter*>(NULL))); - if (result.second) - result.first->second = new TaskObserverAdapter(observer); - base::MessageLoop::current()->AddTaskObserver(result.first->second); -} - -void WebThreadBase::removeTaskObserver(TaskObserver* observer) { - CHECK(isCurrentThread()); - TaskObserverMap::iterator iter = task_observer_map_.find(observer); - if (iter == task_observer_map_.end()) - return; - base::MessageLoop::current()->RemoveTaskObserver(iter->second); - delete iter->second; - task_observer_map_.erase(iter); -} - -WebThreadImpl::WebThreadImpl(const char* name) - : thread_(new base::Thread(name)) { - thread_->Start(); -} - -void WebThreadImpl::postTask(Task* task) { - thread_->message_loop()->PostTask( - FROM_HERE, base::Bind(&blink::WebThread::Task::run, base::Owned(task))); -} - -void WebThreadImpl::postDelayedTask( - Task* task, long long delay_ms) { - thread_->message_loop()->PostDelayedTask( - FROM_HERE, - base::Bind(&blink::WebThread::Task::run, base::Owned(task)), - base::TimeDelta::FromMilliseconds(delay_ms)); -} - -void WebThreadImpl::enterRunLoop() { - CHECK(isCurrentThread()); - CHECK(!thread_->message_loop()->is_running()); // We don't support nesting. - thread_->message_loop()->Run(); -} - -void WebThreadImpl::exitRunLoop() { - CHECK(isCurrentThread()); - CHECK(thread_->message_loop()->is_running()); - thread_->message_loop()->Quit(); -} - -bool WebThreadImpl::isCurrentThread() const { - return thread_->thread_id() == base::PlatformThread::CurrentId(); -} - -WebThreadImpl::~WebThreadImpl() { - thread_->Stop(); -} - -WebThreadImplForMessageLoop::WebThreadImplForMessageLoop( - base::MessageLoopProxy* message_loop) - : message_loop_(message_loop) { -} - -void WebThreadImplForMessageLoop::postTask(Task* task) { - message_loop_->PostTask( - FROM_HERE, base::Bind(&blink::WebThread::Task::run, base::Owned(task))); -} - -void WebThreadImplForMessageLoop::postDelayedTask( - Task* task, long long delay_ms) { - message_loop_->PostDelayedTask( - FROM_HERE, - base::Bind(&blink::WebThread::Task::run, base::Owned(task)), - base::TimeDelta::FromMilliseconds(delay_ms)); -} - -void WebThreadImplForMessageLoop::enterRunLoop() { - CHECK(isCurrentThread()); - CHECK(!base::MessageLoop::current() - ->is_running()); // We don't support nesting. - base::MessageLoop::current()->Run(); -} - -void WebThreadImplForMessageLoop::exitRunLoop() { - CHECK(isCurrentThread()); - CHECK(base::MessageLoop::current()->is_running()); - base::MessageLoop::current()->Quit(); -} - -bool WebThreadImplForMessageLoop::isCurrentThread() const { - return message_loop_->BelongsToCurrentThread(); -} - -WebThreadImplForMessageLoop::~WebThreadImplForMessageLoop() { -} - -} diff --git a/webkit/child/webthread_impl.h b/webkit/child/webthread_impl.h deleted file mode 100644 index 73f21c2..0000000 --- a/webkit/child/webthread_impl.h +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright 2013 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 WEBKIT_CHILD_WEBTHREAD_IMPL_H_ -#define WEBKIT_CHILD_WEBTHREAD_IMPL_H_ - -#include <map> - -#include "base/memory/scoped_ptr.h" -#include "base/threading/thread.h" -#include "third_party/WebKit/public/platform/WebThread.h" -#include "webkit/child/webkit_child_export.h" - -namespace webkit_glue { - -class WebThreadBase : public blink::WebThread { - public: - virtual ~WebThreadBase(); - - virtual void addTaskObserver(TaskObserver* observer); - virtual void removeTaskObserver(TaskObserver* observer); - - virtual bool isCurrentThread() const = 0; - - protected: - WebThreadBase(); - - private: - class TaskObserverAdapter; - - typedef std::map<TaskObserver*, TaskObserverAdapter*> TaskObserverMap; - TaskObserverMap task_observer_map_; -}; - -class WebThreadImpl : public WebThreadBase { - public: - WEBKIT_CHILD_EXPORT explicit WebThreadImpl(const char* name); - WEBKIT_CHILD_EXPORT virtual ~WebThreadImpl(); - - virtual void postTask(Task* task); - virtual void postDelayedTask(Task* task, long long delay_ms); - - virtual void enterRunLoop(); - virtual void exitRunLoop(); - - base::MessageLoop* message_loop() const { return thread_->message_loop(); } - - private: - virtual bool isCurrentThread() const OVERRIDE; - scoped_ptr<base::Thread> thread_; -}; - -class WebThreadImplForMessageLoop : public WebThreadBase { - public: - WEBKIT_CHILD_EXPORT explicit WebThreadImplForMessageLoop( - base::MessageLoopProxy* message_loop); - WEBKIT_CHILD_EXPORT virtual ~WebThreadImplForMessageLoop(); - - virtual void postTask(Task* task); - virtual void postDelayedTask(Task* task, long long delay_ms); - - virtual void enterRunLoop(); - virtual void exitRunLoop(); - - private: - virtual bool isCurrentThread() const OVERRIDE; - scoped_refptr<base::MessageLoopProxy> message_loop_; -}; - -} // namespace webkit_glue - -#endif // WEBKIT_CHILD_WEBTHREAD_IMPL_H_ diff --git a/webkit/renderer/compositor_bindings/web_compositor_support_impl.cc b/webkit/renderer/compositor_bindings/web_compositor_support_impl.cc index 51bb621..fe6c1f2 100644 --- a/webkit/renderer/compositor_bindings/web_compositor_support_impl.cc +++ b/webkit/renderer/compositor_bindings/web_compositor_support_impl.cc @@ -9,7 +9,6 @@ #include "cc/animation/transform_operations.h" #include "cc/output/output_surface.h" #include "cc/output/software_output_device.h" -#include "webkit/child/webthread_impl.h" #include "webkit/renderer/compositor_bindings/web_animation_impl.h" #include "webkit/renderer/compositor_bindings/web_content_layer_impl.h" #include "webkit/renderer/compositor_bindings/web_external_texture_layer_impl.h" |