cef/libcef/browser/browser_message_loop.h

41 lines
1.1 KiB
C++

// Copyright (c) 2012 The Chromium Embedded Framework 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 CEF_LIBCEF_BROWSER_BROWSER_MESSAGE_LOOP_H_
#define CEF_LIBCEF_BROWSER_BROWSER_MESSAGE_LOOP_H_
#pragma once
#include "base/basictypes.h"
#include "base/message_loop.h"
// Class used to process events on the current message loop.
class CefBrowserMessageLoop : public MessageLoopForUI {
typedef MessageLoopForUI inherited;
public:
CefBrowserMessageLoop();
virtual ~CefBrowserMessageLoop();
// Returns the MessageLoopForUI of the current thread.
static CefBrowserMessageLoop* current();
virtual bool DoIdleWork();
// Do a single interation of the UI message loop.
void DoMessageLoopIteration();
// Run the UI message loop.
void RunMessageLoop();
bool is_iterating() { return is_iterating_; }
private:
// True if the message loop is doing one iteration at a time.
bool is_iterating_;
DISALLOW_COPY_AND_ASSIGN(CefBrowserMessageLoop);
};
#endif // CEF_LIBCEF_BROWSER_BROWSER_MESSAGE_LOOP_H_