diff options
author | abhishek.a21 <abhishek.a21@samsung.com> | 2014-09-12 09:46:31 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-09-12 16:49:25 +0000 |
commit | ab71acb31e8a2241fe7ec07d460a425700574081 (patch) | |
tree | f16ebe59ff867275ca677e2025f91772b676951b /content/shell | |
parent | dcd03ea452e43039934657259674cd2e0848bc61 (diff) | |
download | chromium_src-ab71acb31e8a2241fe7ec07d460a425700574081.zip chromium_src-ab71acb31e8a2241fe7ec07d460a425700574081.tar.gz chromium_src-ab71acb31e8a2241fe7ec07d460a425700574081.tar.bz2 |
Update WebTask in chromium c++ style
BUG=331299
Review URL: https://codereview.chromium.org/566833002
Cr-Commit-Position: refs/heads/master@{#294603}
Diffstat (limited to 'content/shell')
30 files changed, 181 insertions, 195 deletions
diff --git a/content/shell/BUILD.gn b/content/shell/BUILD.gn index 0f8286a..26765c6 100644 --- a/content/shell/BUILD.gn +++ b/content/shell/BUILD.gn @@ -130,8 +130,6 @@ static_library("content_shell_lib") { "renderer/shell_render_process_observer.h", "renderer/shell_render_view_observer.cc", "renderer/shell_render_view_observer.h", - "renderer/test_runner/WebTask.cpp", - "renderer/test_runner/WebTask.h", "renderer/test_runner/WebTestDelegate.h", "renderer/test_runner/WebTestInterfaces.cpp", "renderer/test_runner/WebTestInterfaces.h", @@ -192,6 +190,8 @@ static_library("content_shell_lib") { "renderer/test_runner/web_frame_test_proxy.h", "renderer/test_runner/web_permissions.cc", "renderer/test_runner/web_permissions.h", + "renderer/test_runner/web_task.cc", + "renderer/test_runner/web_task.h", "renderer/test_runner/web_test_proxy.cc", "renderer/test_runner/web_test_proxy.h", "renderer/test_runner/web_test_runner.h", diff --git a/content/shell/renderer/test_runner/WebTask.cpp b/content/shell/renderer/test_runner/WebTask.cpp deleted file mode 100644 index 5c8ba267..0000000 --- a/content/shell/renderer/test_runner/WebTask.cpp +++ /dev/null @@ -1,51 +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. - -#include "content/shell/renderer/test_runner/WebTask.h" - -#include <algorithm> -#include "third_party/WebKit/public/web/WebKit.h" - -namespace content { - -WebTask::WebTask(WebTaskList* list) - : m_taskList(list) -{ - m_taskList->registerTask(this); -} - -WebTask::~WebTask() -{ - if (m_taskList) - m_taskList->unregisterTask(this); -} - -WebTaskList::WebTaskList() -{ -} - -WebTaskList::~WebTaskList() -{ - revokeAll(); -} - -void WebTaskList::registerTask(WebTask* task) -{ - m_tasks.push_back(task); -} - -void WebTaskList::unregisterTask(WebTask* task) -{ - std::vector<WebTask*>::iterator iter = std::find(m_tasks.begin(), m_tasks.end(), task); - if (iter != m_tasks.end()) - m_tasks.erase(iter); -} - -void WebTaskList::revokeAll() -{ - while (!m_tasks.empty()) - m_tasks[0]->cancel(); -} - -} // namespace content diff --git a/content/shell/renderer/test_runner/WebTask.h b/content/shell/renderer/test_runner/WebTask.h deleted file mode 100644 index 35e5d2d..0000000 --- a/content/shell/renderer/test_runner/WebTask.h +++ /dev/null @@ -1,77 +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 CONTENT_SHELL_RENDERER_TEST_RUNNER_WEBTASK_H_ -#define CONTENT_SHELL_RENDERER_TEST_RUNNER_WEBTASK_H_ - -#include <vector> - -namespace content { - -class WebTaskList; - -// WebTask represents a task which can run by WebTestDelegate::postTask() or -// WebTestDelegate::postDelayedTask(). -class WebTask { -public: - explicit WebTask(WebTaskList*); - virtual ~WebTask(); - - // The main code of this task. - // An implementation of run() should return immediately if cancel() was called. - virtual void run() = 0; - virtual void cancel() = 0; - -protected: - WebTaskList* m_taskList; -}; - -class WebTaskList { -public: - WebTaskList(); - ~WebTaskList(); - void registerTask(WebTask*); - void unregisterTask(WebTask*); - void revokeAll(); - -private: - std::vector<WebTask*> m_tasks; -}; - -// A task containing an object pointer of class T. Derived classes should -// override runIfValid() which in turn can safely invoke methods on the -// m_object. The Class T must have "WebTaskList* mutable_task_list()". -template<class T> -class WebMethodTask : public WebTask { -public: - explicit WebMethodTask(T* object) - : WebTask(object->mutable_task_list()) - , m_object(object) - { - } - - virtual ~WebMethodTask() { } - - virtual void run() - { - if (m_object) - runIfValid(); - } - - virtual void cancel() - { - m_object = 0; - m_taskList->unregisterTask(this); - m_taskList = 0; - } - - virtual void runIfValid() = 0; - -protected: - T* m_object; -}; - -} // namespace content - -#endif // CONTENT_SHELL_RENDERER_TEST_RUNNER_WEBTASK_H_ diff --git a/content/shell/renderer/test_runner/event_sender.cc b/content/shell/renderer/test_runner/event_sender.cc index e4db3f9..186a4ae 100644 --- a/content/shell/renderer/test_runner/event_sender.cc +++ b/content/shell/renderer/test_runner/event_sender.cc @@ -233,8 +233,8 @@ class MouseDownTask : public WebMethodTask<EventSender> { button_number_(button_number), modifiers_(modifiers) {} - virtual void runIfValid() OVERRIDE { - m_object->MouseDown(button_number_, modifiers_); + virtual void RunIfValid() OVERRIDE { + object_->MouseDown(button_number_, modifiers_); } private: @@ -249,8 +249,8 @@ class MouseUpTask : public WebMethodTask<EventSender> { button_number_(button_number), modifiers_(modifiers) {} - virtual void runIfValid() OVERRIDE { - m_object->MouseUp(button_number_, modifiers_); + virtual void RunIfValid() OVERRIDE { + object_->MouseUp(button_number_, modifiers_); } private: @@ -269,8 +269,8 @@ class KeyDownTask : public WebMethodTask<EventSender> { modifiers_(modifiers), location_(location) {} - virtual void runIfValid() OVERRIDE { - m_object->KeyDown(code_str_, modifiers_, location_); + virtual void RunIfValid() OVERRIDE { + object_->KeyDown(code_str_, modifiers_, location_); } private: @@ -1112,7 +1112,7 @@ void EventSender::Reset() { last_button_type_ = WebMouseEvent::ButtonNone; touch_points_.clear(); last_context_menu_data_.reset(); - task_list_.revokeAll(); + task_list_.RevokeAll(); current_gesture_location_ = WebPoint(0, 0); mouse_event_queue_.clear(); diff --git a/content/shell/renderer/test_runner/event_sender.h b/content/shell/renderer/test_runner/event_sender.h index ffbd086..2d4b99a 100644 --- a/content/shell/renderer/test_runner/event_sender.h +++ b/content/shell/renderer/test_runner/event_sender.h @@ -13,7 +13,7 @@ #include "base/memory/scoped_ptr.h" #include "base/memory/weak_ptr.h" #include "build/build_config.h" -#include "content/shell/renderer/test_runner/WebTask.h" +#include "content/shell/renderer/test_runner/web_task.h" #include "third_party/WebKit/public/platform/WebDragData.h" #include "third_party/WebKit/public/platform/WebPoint.h" #include "third_party/WebKit/public/web/WebDragOperation.h" diff --git a/content/shell/renderer/test_runner/mock_color_chooser.cc b/content/shell/renderer/test_runner/mock_color_chooser.cc index b111ee6..257d031 100644 --- a/content/shell/renderer/test_runner/mock_color_chooser.cc +++ b/content/shell/renderer/test_runner/mock_color_chooser.cc @@ -17,7 +17,7 @@ class HostMethodTask : public WebMethodTask<MockColorChooser> { : WebMethodTask<MockColorChooser>(object), callback_(callback) {} - virtual void runIfValid() OVERRIDE { (m_object->*callback_)(); } + virtual void RunIfValid() OVERRIDE { (object_->*callback_)(); } private: CallbackMethodType callback_; diff --git a/content/shell/renderer/test_runner/mock_color_chooser.h b/content/shell/renderer/test_runner/mock_color_chooser.h index 3040738..8443051 100644 --- a/content/shell/renderer/test_runner/mock_color_chooser.h +++ b/content/shell/renderer/test_runner/mock_color_chooser.h @@ -6,7 +6,7 @@ #define CONTENT_SHELL_RENDERER_TEST_RUNNER_MOCK_COLOR_CHOOSER_H_ #include "base/basictypes.h" -#include "content/shell/renderer/test_runner/WebTask.h" +#include "content/shell/renderer/test_runner/web_task.h" #include "third_party/WebKit/public/web/WebColorChooser.h" #include "third_party/WebKit/public/web/WebColorChooserClient.h" diff --git a/content/shell/renderer/test_runner/mock_web_media_stream_center.cc b/content/shell/renderer/test_runner/mock_web_media_stream_center.cc index 7666482..c47ea52 100644 --- a/content/shell/renderer/test_runner/mock_web_media_stream_center.cc +++ b/content/shell/renderer/test_runner/mock_web_media_stream_center.cc @@ -30,7 +30,7 @@ class NewTrackTask : public WebMethodTask<MockWebMediaStreamCenter> { virtual ~NewTrackTask() {} - virtual void runIfValid() OVERRIDE { + virtual void RunIfValid() OVERRIDE { blink::WebMediaStreamSource source; blink::WebMediaStreamTrack track; source.initialize("MagicVideoDevice#1", diff --git a/content/shell/renderer/test_runner/mock_web_media_stream_center.h b/content/shell/renderer/test_runner/mock_web_media_stream_center.h index 61bf45f..6d68ede 100644 --- a/content/shell/renderer/test_runner/mock_web_media_stream_center.h +++ b/content/shell/renderer/test_runner/mock_web_media_stream_center.h @@ -8,7 +8,7 @@ #include "third_party/WebKit/public/platform/WebMediaStreamCenter.h" #include "base/basictypes.h" -#include "content/shell/renderer/test_runner/WebTask.h" +#include "content/shell/renderer/test_runner/web_task.h" namespace blink { class WebAudioSourceProvider; diff --git a/content/shell/renderer/test_runner/mock_web_midi_accessor.cc b/content/shell/renderer/test_runner/mock_web_midi_accessor.cc index 362c287..3aec5cb 100644 --- a/content/shell/renderer/test_runner/mock_web_midi_accessor.cc +++ b/content/shell/renderer/test_runner/mock_web_midi_accessor.cc @@ -23,7 +23,7 @@ class DidStartSessionTask : public WebMethodTask<MockWebMIDIAccessor> { client_(client), result_(result) {} - virtual void runIfValid() OVERRIDE { + virtual void RunIfValid() OVERRIDE { client_->didStartSession(result_, "InvalidStateError", ""); } diff --git a/content/shell/renderer/test_runner/mock_web_midi_accessor.h b/content/shell/renderer/test_runner/mock_web_midi_accessor.h index 4fba9ba..80d2102 100644 --- a/content/shell/renderer/test_runner/mock_web_midi_accessor.h +++ b/content/shell/renderer/test_runner/mock_web_midi_accessor.h @@ -6,7 +6,7 @@ #define CONTENT_SHELL_RENDERER_TEST_RUNNER_MOCK_WEB_MIDI_ACCESSOR_H_ #include "base/basictypes.h" -#include "content/shell/renderer/test_runner/WebTask.h" +#include "content/shell/renderer/test_runner/web_task.h" #include "third_party/WebKit/public/platform/WebMIDIAccessor.h" namespace blink { diff --git a/content/shell/renderer/test_runner/mock_web_speech_recognizer.cc b/content/shell/renderer/test_runner/mock_web_speech_recognizer.cc index bf7864d..de468f8 100644 --- a/content/shell/renderer/test_runner/mock_web_speech_recognizer.cc +++ b/content/shell/renderer/test_runner/mock_web_speech_recognizer.cc @@ -231,23 +231,23 @@ void MockWebSpeechRecognizer::ClearTaskQueue() { task_queue_running_ = false; } -void MockWebSpeechRecognizer::StepTask::runIfValid() { - if (m_object->task_queue_.empty()) { - m_object->task_queue_running_ = false; +void MockWebSpeechRecognizer::StepTask::RunIfValid() { + if (object_->task_queue_.empty()) { + object_->task_queue_running_ = false; return; } - Task* task = m_object->task_queue_.front(); - m_object->task_queue_.pop_front(); + Task* task = object_->task_queue_.front(); + object_->task_queue_.pop_front(); task->run(); delete task; - if (m_object->task_queue_.empty()) { - m_object->task_queue_running_ = false; + if (object_->task_queue_.empty()) { + object_->task_queue_running_ = false; return; } - m_object->delegate_->postTask(new StepTask(m_object)); + object_->delegate_->postTask(new StepTask(object_)); } } // namespace content diff --git a/content/shell/renderer/test_runner/mock_web_speech_recognizer.h b/content/shell/renderer/test_runner/mock_web_speech_recognizer.h index 05dbb34..446d142 100644 --- a/content/shell/renderer/test_runner/mock_web_speech_recognizer.h +++ b/content/shell/renderer/test_runner/mock_web_speech_recognizer.h @@ -9,7 +9,7 @@ #include <vector> #include "base/basictypes.h" -#include "content/shell/renderer/test_runner/WebTask.h" +#include "content/shell/renderer/test_runner/web_task.h" #include "third_party/WebKit/public/web/WebSpeechRecognizer.h" namespace blink { @@ -83,7 +83,7 @@ class MockWebSpeechRecognizer : public blink::WebSpeechRecognizer { public: StepTask(MockWebSpeechRecognizer* object) : WebMethodTask<MockWebSpeechRecognizer>(object) {} - virtual void runIfValid() OVERRIDE; + virtual void RunIfValid() OVERRIDE; private: DISALLOW_COPY_AND_ASSIGN(StepTask); diff --git a/content/shell/renderer/test_runner/mock_web_user_media_client.cc b/content/shell/renderer/test_runner/mock_web_user_media_client.cc index 8c4d105..10cc4de 100644 --- a/content/shell/renderer/test_runner/mock_web_user_media_client.cc +++ b/content/shell/renderer/test_runner/mock_web_user_media_client.cc @@ -41,9 +41,7 @@ class UserMediaRequestTask : public WebMethodTask<MockWebUserMediaClient> { DCHECK(!result_.isNull()); } - virtual void runIfValid() OVERRIDE { - request_.requestSucceeded(result_); - } + virtual void RunIfValid() OVERRIDE { request_.requestSucceeded(result_); } private: WebUserMediaRequest request_; @@ -60,7 +58,7 @@ class UserMediaRequestConstraintFailedTask request_(request), constraint_(constraint) {} - virtual void runIfValid() OVERRIDE { + virtual void RunIfValid() OVERRIDE { request_.requestFailedConstraint(constraint_); } @@ -77,9 +75,7 @@ class UserMediaRequestPermissionDeniedTask : WebMethodTask<MockWebUserMediaClient>(object), request_(request) {} - virtual void runIfValid() OVERRIDE { - request_.requestFailed(); - } + virtual void RunIfValid() OVERRIDE { request_.requestFailed(); } private: WebUserMediaRequest request_; @@ -94,9 +90,7 @@ class MediaDevicesRequestTask : public WebMethodTask<MockWebUserMediaClient> { request_(request), result_(result) {} - virtual void runIfValid() OVERRIDE { - request_.requestSucceeded(result_); - } + virtual void RunIfValid() OVERRIDE { request_.requestSucceeded(result_); } private: WebMediaDevicesRequest request_; diff --git a/content/shell/renderer/test_runner/mock_web_user_media_client.h b/content/shell/renderer/test_runner/mock_web_user_media_client.h index 7b3b64b..d7fd4ed8 100644 --- a/content/shell/renderer/test_runner/mock_web_user_media_client.h +++ b/content/shell/renderer/test_runner/mock_web_user_media_client.h @@ -6,7 +6,7 @@ #define CONTENT_SHELL_RENDERER_TEST_RUNNER_MOCK_WEB_USER_MEDIA_CLIENT_H_ #include "base/macros.h" -#include "content/shell/renderer/test_runner/WebTask.h" +#include "content/shell/renderer/test_runner/web_task.h" #include "third_party/WebKit/public/web/WebUserMediaClient.h" namespace content { diff --git a/content/shell/renderer/test_runner/mock_webrtc_data_channel_handler.cc b/content/shell/renderer/test_runner/mock_webrtc_data_channel_handler.cc index f7adf77..fde085e 100644 --- a/content/shell/renderer/test_runner/mock_webrtc_data_channel_handler.cc +++ b/content/shell/renderer/test_runner/mock_webrtc_data_channel_handler.cc @@ -22,7 +22,7 @@ class DataChannelReadyStateTask data_channel_client_(data_channel_client), state_(state) {} - virtual void runIfValid() OVERRIDE { + virtual void RunIfValid() OVERRIDE { data_channel_client_->didChangeReadyState(state_); } diff --git a/content/shell/renderer/test_runner/mock_webrtc_data_channel_handler.h b/content/shell/renderer/test_runner/mock_webrtc_data_channel_handler.h index b49ae27..82adc3e 100644 --- a/content/shell/renderer/test_runner/mock_webrtc_data_channel_handler.h +++ b/content/shell/renderer/test_runner/mock_webrtc_data_channel_handler.h @@ -6,7 +6,7 @@ #define CONTENT_SHELL_RENDERER_TEST_RUNNER_MOCKWEBRTCDATACHANNELHANDLER_H_ #include "base/basictypes.h" -#include "content/shell/renderer/test_runner/WebTask.h" +#include "content/shell/renderer/test_runner/web_task.h" #include "third_party/WebKit/public/platform/WebRTCDataChannelHandler.h" #include "third_party/WebKit/public/platform/WebRTCDataChannelInit.h" #include "third_party/WebKit/public/platform/WebString.h" diff --git a/content/shell/renderer/test_runner/mock_webrtc_dtmf_sender_handler.cc b/content/shell/renderer/test_runner/mock_webrtc_dtmf_sender_handler.cc index 8bd4c53..d043803 100644 --- a/content/shell/renderer/test_runner/mock_webrtc_dtmf_sender_handler.cc +++ b/content/shell/renderer/test_runner/mock_webrtc_dtmf_sender_handler.cc @@ -19,9 +19,9 @@ class DTMFSenderToneTask : public WebMethodTask<MockWebRTCDTMFSenderHandler> { WebRTCDTMFSenderHandlerClient* client) : WebMethodTask<MockWebRTCDTMFSenderHandler>(object), client_(client) {} - virtual void runIfValid() OVERRIDE { - WebString tones = m_object->currentToneBuffer(); - m_object->ClearToneBuffer(); + virtual void RunIfValid() OVERRIDE { + WebString tones = object_->currentToneBuffer(); + object_->ClearToneBuffer(); client_->didPlayTone(tones); } diff --git a/content/shell/renderer/test_runner/mock_webrtc_dtmf_sender_handler.h b/content/shell/renderer/test_runner/mock_webrtc_dtmf_sender_handler.h index fb48710..38d59da 100644 --- a/content/shell/renderer/test_runner/mock_webrtc_dtmf_sender_handler.h +++ b/content/shell/renderer/test_runner/mock_webrtc_dtmf_sender_handler.h @@ -6,7 +6,7 @@ #define CONTENT_SHELL_RENDERER_TEST_RUNNER_MOCKWEBRTCDTMFSENDERHANDLER_H_ #include "base/basictypes.h" -#include "content/shell/renderer/test_runner/WebTask.h" +#include "content/shell/renderer/test_runner/web_task.h" #include "third_party/WebKit/public/platform/WebMediaStreamTrack.h" #include "third_party/WebKit/public/platform/WebRTCDTMFSenderHandler.h" #include "third_party/WebKit/public/platform/WebString.h" diff --git a/content/shell/renderer/test_runner/mock_webrtc_peer_connection_handler.cc b/content/shell/renderer/test_runner/mock_webrtc_peer_connection_handler.cc index 52236d9..12601f6 100644 --- a/content/shell/renderer/test_runner/mock_webrtc_peer_connection_handler.cc +++ b/content/shell/renderer/test_runner/mock_webrtc_peer_connection_handler.cc @@ -34,7 +34,7 @@ class RTCSessionDescriptionRequestSuccededTask request_(request), result_(result) {} - virtual void runIfValid() OVERRIDE { request_.requestSucceeded(result_); } + virtual void RunIfValid() OVERRIDE { request_.requestSucceeded(result_); } private: WebRTCSessionDescriptionRequest request_; @@ -50,7 +50,7 @@ class RTCSessionDescriptionRequestFailedTask : WebMethodTask<MockWebRTCPeerConnectionHandler>(object), request_(request) {} - virtual void runIfValid() OVERRIDE { request_.requestFailed("TEST_ERROR"); } + virtual void RunIfValid() OVERRIDE { request_.requestFailed("TEST_ERROR"); } private: WebRTCSessionDescriptionRequest request_; @@ -66,7 +66,7 @@ class RTCStatsRequestSucceededTask request_(request), response_(response) {} - virtual void runIfValid() OVERRIDE { request_.requestSucceeded(response_); } + virtual void RunIfValid() OVERRIDE { request_.requestSucceeded(response_); } private: blink::WebRTCStatsRequest request_; @@ -83,7 +83,7 @@ class RTCVoidRequestTask request_(request), succeeded_(succeeded) {} - virtual void runIfValid() OVERRIDE { + virtual void RunIfValid() OVERRIDE { if (succeeded_) request_.requestSucceeded(); else @@ -108,7 +108,7 @@ class RTCPeerConnectionStateTask connection_state_(connection_state), gathering_state_(gathering_state) {} - virtual void runIfValid() OVERRIDE { + virtual void RunIfValid() OVERRIDE { client_->didChangeICEGatheringState(gathering_state_); client_->didChangeICEConnectionState(connection_state_); } @@ -129,7 +129,7 @@ class RemoteDataChannelTask client_(client), delegate_(delegate) {} - virtual void runIfValid() OVERRIDE { + virtual void RunIfValid() OVERRIDE { WebRTCDataChannelInit init; WebRTCDataChannelHandler* remote_data_channel = new MockWebRTCDataChannelHandler( @@ -314,7 +314,7 @@ WebRTCDTMFSenderHandler* MockWebRTCPeerConnectionHandler::createDTMFSender( void MockWebRTCPeerConnectionHandler::stop() { stopped_ = true; - task_list_.revokeAll(); + task_list_.RevokeAll(); } } // namespace content diff --git a/content/shell/renderer/test_runner/mock_webrtc_peer_connection_handler.h b/content/shell/renderer/test_runner/mock_webrtc_peer_connection_handler.h index 980f26d..43f9d34 100644 --- a/content/shell/renderer/test_runner/mock_webrtc_peer_connection_handler.h +++ b/content/shell/renderer/test_runner/mock_webrtc_peer_connection_handler.h @@ -6,7 +6,7 @@ #define CONTENT_SHELL_RENDERER_TEST_RUNNER_MOCKWEBRTCPEERCONNECTIONHANDLER_H_ #include "base/basictypes.h" -#include "content/shell/renderer/test_runner/WebTask.h" +#include "content/shell/renderer/test_runner/web_task.h" #include "third_party/WebKit/public/platform/WebRTCPeerConnectionHandler.h" #include "third_party/WebKit/public/platform/WebRTCSessionDescription.h" #include "third_party/WebKit/public/platform/WebRTCSessionDescriptionRequest.h" diff --git a/content/shell/renderer/test_runner/spell_check_client.cc b/content/shell/renderer/test_runner/spell_check_client.cc index b93598c..40c8959 100644 --- a/content/shell/renderer/test_runner/spell_check_client.cc +++ b/content/shell/renderer/test_runner/spell_check_client.cc @@ -22,7 +22,7 @@ class HostMethodTask : public WebMethodTask<SpellCheckClient> { virtual ~HostMethodTask() {} - virtual void runIfValid() OVERRIDE { (m_object->*callback_)(); } + virtual void RunIfValid() OVERRIDE { (object_->*callback_)(); } private: CallbackMethodType callback_; diff --git a/content/shell/renderer/test_runner/spell_check_client.h b/content/shell/renderer/test_runner/spell_check_client.h index f34dbddb..3dbbc1a 100644 --- a/content/shell/renderer/test_runner/spell_check_client.h +++ b/content/shell/renderer/test_runner/spell_check_client.h @@ -6,8 +6,8 @@ #define CONTENT_SHELL_RENDERER_TEST_RUNNER_SPELL_CHECK_CLIENT_H_ #include "base/basictypes.h" -#include "content/shell/renderer/test_runner/WebTask.h" #include "content/shell/renderer/test_runner/mock_spell_check.h" +#include "content/shell/renderer/test_runner/web_task.h" #include "third_party/WebKit/public/web/WebSpellCheckClient.h" namespace content { diff --git a/content/shell/renderer/test_runner/test_runner.cc b/content/shell/renderer/test_runner/test_runner.cc index fe33ffe..1e12467 100644 --- a/content/shell/renderer/test_runner/test_runner.cc +++ b/content/shell/renderer/test_runner/test_runner.cc @@ -71,9 +71,7 @@ class HostMethodTask : public WebMethodTask<TestRunner> { HostMethodTask(TestRunner* object, CallbackMethodType callback) : WebMethodTask<TestRunner>(object), callback_(callback) {} - virtual void runIfValid() OVERRIDE { - (m_object->*callback_)(); - } + virtual void RunIfValid() OVERRIDE { (object_->*callback_)(); } private: CallbackMethodType callback_; @@ -88,10 +86,10 @@ class InvokeCallbackTask : public WebMethodTask<TestRunner> { callback_(blink::mainThreadIsolate(), callback), argc_(0) {} - virtual void runIfValid() OVERRIDE { + virtual void RunIfValid() OVERRIDE { v8::Isolate* isolate = blink::mainThreadIsolate(); v8::HandleScope handle_scope(isolate); - WebFrame* frame = m_object->web_view_->mainFrame(); + WebFrame* frame = object_->web_view_->mainFrame(); v8::Handle<v8::Context> context = frame->mainWorldScriptContext(); if (context.IsEmpty()) @@ -1492,8 +1490,8 @@ void TestRunner::WorkQueue::ProcessWork() { controller_->delegate_->testFinished(); } -void TestRunner::WorkQueue::WorkQueueTask::runIfValid() { - m_object->ProcessWork(); +void TestRunner::WorkQueue::WorkQueueTask::RunIfValid() { + object_->ProcessWork(); } TestRunner::TestRunner(TestInterfaces* interfaces) @@ -1624,7 +1622,7 @@ void TestRunner::Reset() { pointer_locked_ = false; pointer_lock_planned_result_ = PointerLockWillSucceed; - task_list_.revokeAll(); + task_list_.RevokeAll(); work_queue_.Reset(); if (close_remaining_windows_ && delegate_) @@ -1906,7 +1904,7 @@ void TestRunner::NotifyDone() { return; // Test didn't timeout. Kill the timeout timer. - task_list_.revokeAll(); + task_list_.RevokeAll(); CompleteNotifyDone(); } diff --git a/content/shell/renderer/test_runner/test_runner.h b/content/shell/renderer/test_runner/test_runner.h index 4bc8c4c..34eb4eb 100644 --- a/content/shell/renderer/test_runner/test_runner.h +++ b/content/shell/renderer/test_runner/test_runner.h @@ -11,7 +11,7 @@ #include "base/memory/scoped_ptr.h" #include "base/memory/weak_ptr.h" -#include "content/shell/renderer/test_runner/WebTask.h" +#include "content/shell/renderer/test_runner/web_task.h" #include "content/shell/renderer/test_runner/web_test_runner.h" #include "v8/include/v8.h" @@ -163,7 +163,7 @@ class TestRunner : public WebTestRunner, public: WorkQueueTask(WorkQueue* object) : WebMethodTask<WorkQueue>(object) {} - virtual void runIfValid() OVERRIDE; + virtual void RunIfValid() OVERRIDE; }; WebTaskList task_list_; diff --git a/content/shell/renderer/test_runner/web_task.cc b/content/shell/renderer/test_runner/web_task.cc new file mode 100644 index 0000000..369b049 --- /dev/null +++ b/content/shell/renderer/test_runner/web_task.cc @@ -0,0 +1,45 @@ +// 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. + +#include "content/shell/renderer/test_runner/web_task.h" + +#include <algorithm> + +#include "third_party/WebKit/public/web/WebKit.h" + +namespace content { + +WebTask::WebTask(WebTaskList* list) : task_list_(list) { + task_list_->RegisterTask(this); +} + +WebTask::~WebTask() { + if (task_list_) + task_list_->UnregisterTask(this); +} + +WebTaskList::WebTaskList() { +} + +WebTaskList::~WebTaskList() { + RevokeAll(); +} + +void WebTaskList::RegisterTask(WebTask* task) { + tasks_.push_back(task); +} + +void WebTaskList::UnregisterTask(WebTask* task) { + std::vector<WebTask*>::iterator iter = + std::find(tasks_.begin(), tasks_.end(), task); + if (iter != tasks_.end()) + tasks_.erase(iter); +} + +void WebTaskList::RevokeAll() { + while (!tasks_.empty()) + tasks_[0]->cancel(); +} + +} // namespace content diff --git a/content/shell/renderer/test_runner/web_task.h b/content/shell/renderer/test_runner/web_task.h new file mode 100644 index 0000000..437e7b8 --- /dev/null +++ b/content/shell/renderer/test_runner/web_task.h @@ -0,0 +1,77 @@ +// 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 CONTENT_SHELL_RENDERER_TEST_RUNNER_WEB_TASK_H_ +#define CONTENT_SHELL_RENDERER_TEST_RUNNER_WEB_TASK_H_ + +#include <vector> + +#include "base/macros.h" + +namespace content { + +class WebTaskList; + +// WebTask represents a task which can run by WebTestDelegate::postTask() or +// WebTestDelegate::postDelayedTask(). +class WebTask { + public: + explicit WebTask(WebTaskList*); + virtual ~WebTask(); + + // The main code of this task. + // An implementation of run() should return immediately if cancel() was + // called. + virtual void run() = 0; + virtual void cancel() = 0; + + protected: + WebTaskList* task_list_; +}; + +class WebTaskList { + public: + WebTaskList(); + ~WebTaskList(); + void RegisterTask(WebTask*); + void UnregisterTask(WebTask*); + void RevokeAll(); + + private: + std::vector<WebTask*> tasks_; + + DISALLOW_COPY_AND_ASSIGN(WebTaskList); +}; + +// A task containing an object pointer of class T. Derived classes should +// override RunIfValid() which in turn can safely invoke methods on the +// object_. The Class T must have "WebTaskList* mutable_task_list()". +template <class T> +class WebMethodTask : public WebTask { + public: + explicit WebMethodTask(T* object) + : WebTask(object->mutable_task_list()), object_(object) {} + + virtual ~WebMethodTask() {} + + virtual void run() { + if (object_) + RunIfValid(); + } + + virtual void cancel() { + object_ = 0; + task_list_->UnregisterTask(this); + task_list_ = 0; + } + + virtual void RunIfValid() = 0; + + protected: + T* object_; +}; + +} // namespace content + +#endif // CONTENT_SHELL_RENDERER_TEST_RUNNER_WEB_TASK_H_ diff --git a/content/shell/renderer/test_runner/web_test_proxy.cc b/content/shell/renderer/test_runner/web_test_proxy.cc index b299810..1ada3b1 100644 --- a/content/shell/renderer/test_runner/web_test_proxy.cc +++ b/content/shell/renderer/test_runner/web_test_proxy.cc @@ -63,7 +63,7 @@ class HostMethodTask : public WebMethodTask<WebTestProxyBase> { HostMethodTask(WebTestProxyBase* object, CallbackMethodType callback) : WebMethodTask<WebTestProxyBase>(object), callback_(callback) {} - virtual void runIfValid() OVERRIDE { (m_object->*callback_)(); } + virtual void RunIfValid() OVERRIDE { (object_->*callback_)(); } private: CallbackMethodType callback_; diff --git a/content/shell/renderer/test_runner/web_test_proxy.h b/content/shell/renderer/test_runner/web_test_proxy.h index 60b6812..c5ba329d 100644 --- a/content/shell/renderer/test_runner/web_test_proxy.h +++ b/content/shell/renderer/test_runner/web_test_proxy.h @@ -12,7 +12,7 @@ #include "base/basictypes.h" #include "base/callback.h" #include "base/memory/scoped_ptr.h" -#include "content/shell/renderer/test_runner/WebTask.h" +#include "content/shell/renderer/test_runner/web_task.h" #include "third_party/WebKit/public/platform/WebCompositeAndReadbackAsyncCallback.h" #include "third_party/WebKit/public/platform/WebRect.h" #include "third_party/WebKit/public/platform/WebScreenInfo.h" diff --git a/content/shell/renderer/webkit_test_runner.cc b/content/shell/renderer/webkit_test_runner.cc index 5677d2a..2a7a00e 100644 --- a/content/shell/renderer/webkit_test_runner.cc +++ b/content/shell/renderer/webkit_test_runner.cc @@ -33,9 +33,9 @@ #include "content/shell/renderer/gc_controller.h" #include "content/shell/renderer/leak_detector.h" #include "content/shell/renderer/shell_render_process_observer.h" -#include "content/shell/renderer/test_runner/WebTask.h" #include "content/shell/renderer/test_runner/WebTestInterfaces.h" #include "content/shell/renderer/test_runner/mock_screen_orientation_client.h" +#include "content/shell/renderer/test_runner/web_task.h" #include "content/shell/renderer/test_runner/web_test_proxy.h" #include "content/shell/renderer/test_runner/web_test_runner.h" #include "net/base/filename_util.h" |