OLD | NEW |
| (Empty) |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "content/shell/renderer/test_runner/web_task.h" | |
6 | |
7 #include <algorithm> | |
8 | |
9 #include "third_party/WebKit/public/web/WebKit.h" | |
10 | |
11 namespace content { | |
12 | |
13 WebTask::WebTask(WebTaskList* list) : task_list_(list) { | |
14 task_list_->RegisterTask(this); | |
15 } | |
16 | |
17 WebTask::~WebTask() { | |
18 if (task_list_) | |
19 task_list_->UnregisterTask(this); | |
20 } | |
21 | |
22 WebTaskList::WebTaskList() { | |
23 } | |
24 | |
25 WebTaskList::~WebTaskList() { | |
26 RevokeAll(); | |
27 } | |
28 | |
29 void WebTaskList::RegisterTask(WebTask* task) { | |
30 tasks_.push_back(task); | |
31 } | |
32 | |
33 void WebTaskList::UnregisterTask(WebTask* task) { | |
34 std::vector<WebTask*>::iterator iter = | |
35 std::find(tasks_.begin(), tasks_.end(), task); | |
36 if (iter != tasks_.end()) | |
37 tasks_.erase(iter); | |
38 } | |
39 | |
40 void WebTaskList::RevokeAll() { | |
41 while (!tasks_.empty()) | |
42 tasks_[0]->cancel(); | |
43 } | |
44 | |
45 } // namespace content | |
OLD | NEW |