diff options
author | stoyan@chromium.org <stoyan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-06 00:17:40 +0000 |
---|---|---|
committer | stoyan@chromium.org <stoyan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-06 00:17:40 +0000 |
commit | fcbd65c23cccdb2e0bea7aa7accb47592388845d (patch) | |
tree | e1550fd98bcc4c35e40e470d077fd65354125426 /chrome_frame/task_marshaller.h | |
parent | 7f0199682d1d591a2a0024a7cacf7205b739ad5d (diff) | |
download | chromium_src-fcbd65c23cccdb2e0bea7aa7accb47592388845d.zip chromium_src-fcbd65c23cccdb2e0bea7aa7accb47592388845d.tar.gz chromium_src-fcbd65c23cccdb2e0bea7aa7accb47592388845d.tar.bz2 |
Revert 61583 - Initial skeleton for refactored ChromeFrameAutomationClient and AutomationProxy for the needs of ChromeFrame.
CFProxy is ready to some extent, while CFAC is mostly structure-only.
Review URL: http://codereview.chromium.org/3528004
TBR=stoyan@chromium.org
Review URL: http://codereview.chromium.org/3547013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61590 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/task_marshaller.h')
-rw-r--r-- | chrome_frame/task_marshaller.h | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/chrome_frame/task_marshaller.h b/chrome_frame/task_marshaller.h deleted file mode 100644 index b3f87b8..0000000 --- a/chrome_frame/task_marshaller.h +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright (c) 2010 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 CHROME_FRAME_TASK_MARSHALLER_H_ -#define CHROME_FRAME_TASK_MARSHALLER_H_ -#pragma once - -#include <windows.h> -#include <deque> -#include <queue> -#include "base/lock.h" -#include "base/non_thread_safe.h" -#include "base/time.h" -class Task; -namespace tracked_objects { - class Location; -} - -// TaskMarshallerThroughMessageQueue is similar to base::MessageLoopForUI -// in cases where we do not control the thread lifetime and message retrieval -// and dispatching. It uses a HWND to ::PostMessage to it as a signal that -// the task queue is not empty. -class TaskMarshallerThroughMessageQueue : public NonThreadSafe { - public: - TaskMarshallerThroughMessageQueue(); - ~TaskMarshallerThroughMessageQueue(); - - void SetWindow(HWND wnd, UINT msg) { - wnd_ = wnd; - msg_ = msg; - } - - virtual void PostTask(const tracked_objects::Location& from_here, - Task* task); - virtual void PostDelayedTask(const tracked_objects::Location& source, - Task* task, - base::TimeDelta& delay); - private: - void DeleteAll(); - inline Task* PopTask(); - inline void ExecuteQueuedTasks(); - void ExecuteDelayedTasks(); - void RunTask(Task* task); - - struct DelayedTask { - DelayedTask(Task* task, base::Time at) : run_at(at), task(task), seq(0) {} - base::Time run_at; - Task* task; - int seq; - // To support sorting based on time in priority_queue. - bool operator<(const DelayedTask& other) const; - }; - - std::priority_queue<DelayedTask> delayed_tasks_; - std::queue<Task*> pending_tasks_; - Lock lock_; - HWND wnd_; - UINT msg_; - int invoke_task_; -}; - -#endif // CHROME_FRAME_TASK_MARSHALLER_H_ |