1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- // Copyright (c) 2013 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_TESTS_CEFSIMPLE_SIMPLE_HANDLER_H_
- #define CEF_TESTS_CEFSIMPLE_SIMPLE_HANDLER_H_
- #include "include/cef_client.h"
- #include <list>
- class SimpleHandler : public CefClient,
- public CefDisplayHandler,
- public CefLifeSpanHandler,
- public CefLoadHandler {
- public:
- explicit SimpleHandler(bool use_views);
- ~SimpleHandler();
- // Provide access to the single global instance of this object.
- static SimpleHandler* GetInstance();
- // CefClient methods:
- virtual CefRefPtr<CefDisplayHandler> GetDisplayHandler() OVERRIDE {
- return this;
- }
- virtual CefRefPtr<CefLifeSpanHandler> GetLifeSpanHandler() OVERRIDE {
- return this;
- }
- virtual CefRefPtr<CefLoadHandler> GetLoadHandler() OVERRIDE { return this; }
- // CefDisplayHandler methods:
- virtual void OnTitleChange(CefRefPtr<CefBrowser> browser,
- const CefString& title) OVERRIDE;
- // CefLifeSpanHandler methods:
- virtual void OnAfterCreated(CefRefPtr<CefBrowser> browser) OVERRIDE;
- virtual bool DoClose(CefRefPtr<CefBrowser> browser) OVERRIDE;
- virtual void OnBeforeClose(CefRefPtr<CefBrowser> browser) OVERRIDE;
- // CefLoadHandler methods:
- virtual void OnLoadError(CefRefPtr<CefBrowser> browser,
- CefRefPtr<CefFrame> frame,
- ErrorCode errorCode,
- const CefString& errorText,
- const CefString& failedUrl) OVERRIDE;
- // Request that all existing browser windows close.
- void CloseAllBrowsers(bool force_close);
- bool IsClosing() const { return is_closing_; }
- private:
- // Platform-specific implementation.
- void PlatformTitleChange(CefRefPtr<CefBrowser> browser,
- const CefString& title);
- // True if the application is using the Views framework.
- const bool use_views_;
- // List of existing browser windows. Only accessed on the CEF UI thread.
- typedef std::list<CefRefPtr<CefBrowser>> BrowserList;
- BrowserList browser_list_;
- bool is_closing_;
- // Include the default reference counting implementation.
- IMPLEMENT_REFCOUNTING(SimpleHandler);
- };
- #endif // CEF_TESTS_CEFSIMPLE_SIMPLE_HANDLER_H_
|