summaryrefslogtreecommitdiffstats
path: root/chrome_frame/task_marshaller.h
diff options
context:
space:
mode:
authorstoyan@chromium.org <stoyan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-06 00:17:40 +0000
committerstoyan@chromium.org <stoyan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-06 00:17:40 +0000
commitfcbd65c23cccdb2e0bea7aa7accb47592388845d (patch)
treee1550fd98bcc4c35e40e470d077fd65354125426 /chrome_frame/task_marshaller.h
parent7f0199682d1d591a2a0024a7cacf7205b739ad5d (diff)
downloadchromium_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.h63
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_