#ifndef CEF_TESTS_CEFCLIENT_BROWSER_MAIN_CONTEXT_H_
#define CEF_TESTS_CEFCLIENT_BROWSER_MAIN_CONTEXT_H_
#pragma once
#include <string>
#include "include/base/cef_macros.h"
#include "include/base/cef_ref_counted.h"
#include "include/internal/cef_types_wrappers.h"
#include "tests/cefclient/browser/osr_renderer_settings.h"
namespace client {
class RootWindowManager;
class MainContext {
public:
static MainContext* Get();
virtual std::string GetConsoleLogPath() = 0;
virtual std::string GetDownloadPath(const std::string& file_name) = 0;
virtual std::string GetAppWorkingDirectory() = 0;
virtual std::string GetMainURL() = 0;
virtual cef_color_t GetBackgroundColor() = 0;
virtual bool UseChromeRuntime() = 0;
virtual bool UseViews() = 0;
virtual bool UseWindowlessRendering() = 0;
virtual bool TouchEventsEnabled() = 0;
virtual void PopulateSettings(CefSettings* settings) = 0;
virtual void PopulateBrowserSettings(CefBrowserSettings* settings) = 0;
virtual void PopulateOsrSettings(OsrRendererSettings* settings) = 0;
virtual RootWindowManager* GetRootWindowManager() = 0;
protected:
MainContext();
virtual ~MainContext();
private:
DISALLOW_COPY_AND_ASSIGN(MainContext);
};
}
#endif