update cef and a few calls for it

This commit is contained in:
Micah
2022-03-21 13:08:26 -04:00
parent 3844df20c9
commit bf559c5605
6 changed files with 28 additions and 21 deletions

View File

@@ -55,14 +55,15 @@ cmake_policy(SET CMP0074 NEW)
# Specify the CEF distribution version.
# Release from 04/24/2019 verified to work on Windows.
set(CEF_VERSION "73.1.13+g6e3c989+chromium-73.0.3683.75")
# Release from 03/21/2022 verified to work on Windows.
set(CEF_VERSION "99.2.12+g2977b3a+chromium-99.0.4844.74")
# Removing - micahnyc 03/21/2022
# 73.1.13 has an issue on MacOS: The GUI freezing upon interaction.
# Therefore, we fall back to 3.3578.1867 from 01/29/2019
if (APPLE)
set(CEF_VERSION "3.3578.1867.g0f6d65a")
endif ()
#if (APPLE)
# set(CEF_VERSION "3.3578.1867.g0f6d65a")
#endif ()
# CEF Sandbox is not working with the latest Visual Studio, so we disable it for now.
if (WIN32)

View File

@@ -456,12 +456,10 @@ if(OS_WINDOWS)
# List of CEF binary files.
set(CEF_BINARY_FILES
chrome_elf.dll
d3dcompiler_43.dll
d3dcompiler_47.dll
libcef.dll
libEGL.dll
libGLESv2.dll
natives_blob.bin
snapshot_blob.bin
v8_context_snapshot.bin
#swiftshader
@@ -469,11 +467,9 @@ if(OS_WINDOWS)
# List of CEF resource files.
set(CEF_RESOURCE_FILES
cef.pak
cef_100_percent.pak
cef_200_percent.pak
cef_extensions.pak
devtools_resources.pak
chrome_100_percent.pak
chrome_200_percent.pak
resources.pak
icudtl.dat
locales
)

View File

@@ -41,11 +41,17 @@ namespace openspace {
class DefaultBrowserLauncher : public CefLifeSpanHandler, public CefRequestHandler {
public:
bool OnBeforePopup(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame,
const CefString& targetUrl, const CefString& targetFrameName,
CefLifeSpanHandler::WindowOpenDisposition targetDisposition, bool userGesture,
const CefPopupFeatures& popupFeatures, CefWindowInfo& windowInfo,
CefRefPtr<CefClient>& client, CefBrowserSettings& settings,
bool OnBeforePopup(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
const CefString& targetUrl,
const CefString& targetFrameName,
CefLifeSpanHandler::WindowOpenDisposition targetDisposition,
bool userGesture,
const CefPopupFeatures& popupFeatures,
CefWindowInfo& windowInfo,
CefRefPtr<CefClient>& client,
CefBrowserSettings& settings,
CefRefPtr<CefDictionaryValue>& extra_info,
bool* noJavascriptAccess) override;
//bool OnOpenURLFromTab(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame,

View File

@@ -48,7 +48,7 @@ BrowserInstance::BrowserInstance(WebRenderHandler* renderer,
: _renderHandler(renderer)
, _keyboardHandler(keyboardHandler)
{
_client = new BrowserClient(_renderHandler, _keyboardHandler);
_client = new BrowserClient(renderer, keyboardHandler);
CefWindowInfo windowInfo;
windowInfo.SetAsWindowless(nullptr);
@@ -62,6 +62,7 @@ BrowserInstance::BrowserInstance(WebRenderHandler* renderer,
_client.get(),
url,
browserSettings,
nullptr,
nullptr
);

View File

@@ -38,6 +38,7 @@ bool DefaultBrowserLauncher::OnBeforePopup(CefRefPtr<CefBrowser>, CefRefPtr<CefF
CefLifeSpanHandler::WindowOpenDisposition,
bool, const CefPopupFeatures&, CefWindowInfo&,
CefRefPtr<CefClient>&, CefBrowserSettings&,
CefRefPtr<CefDictionaryValue>&,
bool*)
{
// never permit CEF popups, always launch in default browser

View File

@@ -92,10 +92,12 @@ ScreenSpaceBrowser::ScreenSpaceBrowser(const ghoul::Dictionary& dictionary)
_dimensions = windowDimensions;
_renderHandler = new ScreenSpaceRenderHandler;
_keyboardHandler = new WebKeyboardHandler();
WebRenderHandler* renderer = (WebRenderHandler*)(&_renderHandler);
WebKeyboardHandler* keyboardHandler = new WebKeyboardHandler();
_keyboardHandler = keyboardHandler;
_browserInstance = std::make_unique<BrowserInstance>(
_renderHandler,
_keyboardHandler
renderer,
keyboardHandler
);
_url.onChange([this]() { _isUrlDirty = true; });