// 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_