mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Adds support for the OnAcceleratedPaint callback. Verified to work on macOS and Windows. Linux support is present but not implemented for cefclient, so it is not verified to work. To test: Run `cefclient --off-screen-rendering-enabled --shared-texture-enabled`
This commit is contained in:
committed by
Marshall Greenblatt
parent
dca0435d2f
commit
260dd0ca24
@@ -9,7 +9,7 @@
|
||||
// implementations. See the translator.README.txt file in the tools directory
|
||||
// for more information.
|
||||
//
|
||||
// $hash=0a40603ce9d3cb6ee7758c4d8ebad8c2299256cf$
|
||||
// $hash=2ef28289570e9eba45c5e2bb87c94e7e8e51ed0e$
|
||||
//
|
||||
|
||||
#include "libcef_dll/ctocpp/render_handler_ctocpp.h"
|
||||
@@ -239,10 +239,11 @@ void CefRenderHandlerCToCpp::OnPaint(CefRefPtr<CefBrowser> browser,
|
||||
}
|
||||
|
||||
NO_SANITIZE("cfi-icall")
|
||||
void CefRenderHandlerCToCpp::OnAcceleratedPaint(CefRefPtr<CefBrowser> browser,
|
||||
PaintElementType type,
|
||||
const RectList& dirtyRects,
|
||||
void* shared_handle) {
|
||||
void CefRenderHandlerCToCpp::OnAcceleratedPaint(
|
||||
CefRefPtr<CefBrowser> browser,
|
||||
PaintElementType type,
|
||||
const RectList& dirtyRects,
|
||||
const CefAcceleratedPaintInfo& info) {
|
||||
shutdown_checker::AssertNotShutdown();
|
||||
|
||||
cef_render_handler_t* _struct = GetStruct();
|
||||
@@ -257,11 +258,6 @@ void CefRenderHandlerCToCpp::OnAcceleratedPaint(CefRefPtr<CefBrowser> browser,
|
||||
if (!browser.get()) {
|
||||
return;
|
||||
}
|
||||
// Verify param: shared_handle; type: simple_byaddr
|
||||
DCHECK(shared_handle);
|
||||
if (!shared_handle) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Translate param: dirtyRects; type: simple_vec_byref_const
|
||||
const size_t dirtyRectsCount = dirtyRects.size();
|
||||
@@ -278,7 +274,7 @@ void CefRenderHandlerCToCpp::OnAcceleratedPaint(CefRefPtr<CefBrowser> browser,
|
||||
|
||||
// Execute
|
||||
_struct->on_accelerated_paint(_struct, CefBrowserCppToC::Wrap(browser), type,
|
||||
dirtyRectsCount, dirtyRectsList, shared_handle);
|
||||
dirtyRectsCount, dirtyRectsList, &info);
|
||||
|
||||
// Restore param:dirtyRects; type: simple_vec_byref_const
|
||||
if (dirtyRectsList) {
|
||||
|
Reference in New Issue
Block a user