Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8563)

Unified Diff: chrome_frame/task_marshaller.cc

Issue 126143005: Remove Chrome Frame code and resources. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: sync to r244038 Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome_frame/task_marshaller.h ('k') | chrome_frame/test/automation_client_mock.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome_frame/task_marshaller.cc
diff --git a/chrome_frame/task_marshaller.cc b/chrome_frame/task_marshaller.cc
deleted file mode 100644
index c02c245faf60cc77d5b6b626cbb5cf26f5679ab5..0000000000000000000000000000000000000000
--- a/chrome_frame/task_marshaller.cc
+++ /dev/null
@@ -1,136 +0,0 @@
-// Copyright (c) 2011 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 "chrome_frame/task_marshaller.h"
-
-#include "base/callback.h"
-#include "base/logging.h"
-
-TaskMarshallerThroughMessageQueue::TaskMarshallerThroughMessageQueue()
- : wnd_(NULL),
- msg_(0xFFFF) {
-}
-
-TaskMarshallerThroughMessageQueue::~TaskMarshallerThroughMessageQueue() {
- ClearTasks();
-}
-
-void TaskMarshallerThroughMessageQueue::PostTask(
- const tracked_objects::Location& from_here, const base::Closure& task) {
- DCHECK(wnd_ != NULL);
-
- lock_.Acquire();
- bool has_work = !pending_tasks_.empty();
- pending_tasks_.push(task);
- lock_.Release();
-
- // Don't post message if there is already one.
- if (has_work)
- return;
-
- if (!::PostMessage(wnd_, msg_, 0, 0)) {
- DVLOG(1) << "Dropping MSG_EXECUTE_TASK message for destroyed window.";
- ClearTasks();
- }
-}
-
-void TaskMarshallerThroughMessageQueue::PostDelayedTask(
- const tracked_objects::Location& source,
- const base::Closure& task,
- base::TimeDelta& delay) {
- DCHECK(wnd_);
-
- base::AutoLock lock(lock_);
- base::PendingTask delayed_task(source, task, base::TimeTicks::Now() + delay,
- true);
- base::TimeTicks top_run_time = delayed_tasks_.top().delayed_run_time;
- delayed_tasks_.push(delayed_task);
-
- // Reschedule the timer if |delayed_task| will be the next delayed task to
- // run.
- if (delayed_task.delayed_run_time < top_run_time) {
- ::SetTimer(wnd_, reinterpret_cast<UINT_PTR>(this),
- static_cast<DWORD>(delay.InMilliseconds()), NULL);
- }
-}
-
-BOOL TaskMarshallerThroughMessageQueue::ProcessWindowMessage(HWND hWnd,
- UINT uMsg,
- WPARAM wParam,
- LPARAM lParam,
- LRESULT& lResult,
- DWORD dwMsgMapID) {
- if (hWnd == wnd_ && uMsg == msg_) {
- ExecuteQueuedTasks();
- lResult = 0;
- return TRUE;
- }
-
- if (hWnd == wnd_ && uMsg == WM_TIMER) {
- ExecuteDelayedTasks();
- lResult = 0;
- return TRUE;
- }
-
- return FALSE;
-}
-
-base::Closure TaskMarshallerThroughMessageQueue::PopTask() {
- base::AutoLock lock(lock_);
- if (pending_tasks_.empty())
- return base::Closure();
-
- base::Closure task = pending_tasks_.front();
- pending_tasks_.pop();
- return task;
-}
-
-void TaskMarshallerThroughMessageQueue::ExecuteQueuedTasks() {
- DCHECK(CalledOnValidThread());
- base::Closure task;
- while (!(task = PopTask()).is_null())
- task.Run();
-}
-
-void TaskMarshallerThroughMessageQueue::ExecuteDelayedTasks() {
- DCHECK(CalledOnValidThread());
- ::KillTimer(wnd_, reinterpret_cast<UINT_PTR>(this));
- while (true) {
- lock_.Acquire();
-
- if (delayed_tasks_.empty()) {
- lock_.Release();
- return;
- }
-
- base::PendingTask next_task = delayed_tasks_.top();
- base::TimeTicks now = base::TimeTicks::Now();
- base::TimeTicks next_run = next_task.delayed_run_time;
- if (next_run > now) {
- int64 delay = (next_run - now).InMillisecondsRoundedUp();
- ::SetTimer(wnd_, reinterpret_cast<UINT_PTR>(this),
- static_cast<DWORD>(delay), NULL);
- lock_.Release();
- return;
- }
-
- delayed_tasks_.pop();
- lock_.Release();
-
- // Run the task outside the lock.
- next_task.task.Run();
- }
-}
-
-void TaskMarshallerThroughMessageQueue::ClearTasks() {
- base::AutoLock lock(lock_);
- DVLOG_IF(1, !pending_tasks_.empty()) << "Destroying "
- << pending_tasks_.size()
- << " pending tasks.";
- while (!pending_tasks_.empty())
- pending_tasks_.pop();
-
- while (!delayed_tasks_.empty())
- delayed_tasks_.pop();
-}
« no previous file with comments | « chrome_frame/task_marshaller.h ('k') | chrome_frame/test/automation_client_mock.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698