// Copyright (c) 2024 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. // // --------------------------------------------------------------------------- // // This file was generated by the CEF translator tool. If making changes by // hand only do so within the body of existing method and function // implementations. See the translator.README.txt file in the tools directory // for more information. // // $hash=2ef28289570e9eba45c5e2bb87c94e7e8e51ed0e$ // #include "libcef_dll/ctocpp/render_handler_ctocpp.h" #include "libcef_dll/cpptoc/browser_cpptoc.h" #include "libcef_dll/cpptoc/drag_data_cpptoc.h" #include "libcef_dll/ctocpp/accessibility_handler_ctocpp.h" #include "libcef_dll/shutdown_checker.h" // VIRTUAL METHODS - Body may be edited by hand. NO_SANITIZE("cfi-icall") CefRefPtr CefRenderHandlerCToCpp::GetAccessibilityHandler() { shutdown_checker::AssertNotShutdown(); cef_render_handler_t* _struct = GetStruct(); if (CEF_MEMBER_MISSING(_struct, get_accessibility_handler)) { return nullptr; } // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING // Execute cef_accessibility_handler_t* _retval = _struct->get_accessibility_handler(_struct); // Return type: refptr_same return CefAccessibilityHandlerCToCpp::Wrap(_retval); } NO_SANITIZE("cfi-icall") bool CefRenderHandlerCToCpp::GetRootScreenRect(CefRefPtr browser, CefRect& rect) { shutdown_checker::AssertNotShutdown(); cef_render_handler_t* _struct = GetStruct(); if (CEF_MEMBER_MISSING(_struct, get_root_screen_rect)) { return false; } // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING // Verify param: browser; type: refptr_diff DCHECK(browser.get()); if (!browser.get()) { return false; } // Execute int _retval = _struct->get_root_screen_rect( _struct, CefBrowserCppToC::Wrap(browser), &rect); // Return type: bool return _retval ? true : false; } NO_SANITIZE("cfi-icall") void CefRenderHandlerCToCpp::GetViewRect(CefRefPtr browser, CefRect& rect) { shutdown_checker::AssertNotShutdown(); cef_render_handler_t* _struct = GetStruct(); if (CEF_MEMBER_MISSING(_struct, get_view_rect)) { return; } // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING // Verify param: browser; type: refptr_diff DCHECK(browser.get()); if (!browser.get()) { return; } // Execute _struct->get_view_rect(_struct, CefBrowserCppToC::Wrap(browser), &rect); } NO_SANITIZE("cfi-icall") bool CefRenderHandlerCToCpp::GetScreenPoint(CefRefPtr browser, int viewX, int viewY, int& screenX, int& screenY) { shutdown_checker::AssertNotShutdown(); cef_render_handler_t* _struct = GetStruct(); if (CEF_MEMBER_MISSING(_struct, get_screen_point)) { return false; } // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING // Verify param: browser; type: refptr_diff DCHECK(browser.get()); if (!browser.get()) { return false; } // Execute int _retval = _struct->get_screen_point(_struct, CefBrowserCppToC::Wrap(browser), viewX, viewY, &screenX, &screenY); // Return type: bool return _retval ? true : false; } NO_SANITIZE("cfi-icall") bool CefRenderHandlerCToCpp::GetScreenInfo(CefRefPtr browser, CefScreenInfo& screen_info) { shutdown_checker::AssertNotShutdown(); cef_render_handler_t* _struct = GetStruct(); if (CEF_MEMBER_MISSING(_struct, get_screen_info)) { return false; } // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING // Verify param: browser; type: refptr_diff DCHECK(browser.get()); if (!browser.get()) { return false; } // Execute int _retval = _struct->get_screen_info( _struct, CefBrowserCppToC::Wrap(browser), &screen_info); // Return type: bool return _retval ? true : false; } NO_SANITIZE("cfi-icall") void CefRenderHandlerCToCpp::OnPopupShow(CefRefPtr browser, bool show) { shutdown_checker::AssertNotShutdown(); cef_render_handler_t* _struct = GetStruct(); if (CEF_MEMBER_MISSING(_struct, on_popup_show)) { return; } // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING // Verify param: browser; type: refptr_diff DCHECK(browser.get()); if (!browser.get()) { return; } // Execute _struct->on_popup_show(_struct, CefBrowserCppToC::Wrap(browser), show); } NO_SANITIZE("cfi-icall") void CefRenderHandlerCToCpp::OnPopupSize(CefRefPtr browser, const CefRect& rect) { shutdown_checker::AssertNotShutdown(); cef_render_handler_t* _struct = GetStruct(); if (CEF_MEMBER_MISSING(_struct, on_popup_size)) { return; } // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING // Verify param: browser; type: refptr_diff DCHECK(browser.get()); if (!browser.get()) { return; } // Execute _struct->on_popup_size(_struct, CefBrowserCppToC::Wrap(browser), &rect); } NO_SANITIZE("cfi-icall") void CefRenderHandlerCToCpp::OnPaint(CefRefPtr browser, PaintElementType type, const RectList& dirtyRects, const void* buffer, int width, int height) { shutdown_checker::AssertNotShutdown(); cef_render_handler_t* _struct = GetStruct(); if (CEF_MEMBER_MISSING(_struct, on_paint)) { return; } // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING // Verify param: browser; type: refptr_diff DCHECK(browser.get()); if (!browser.get()) { return; } // Verify param: buffer; type: simple_byaddr DCHECK(buffer); if (!buffer) { return; } // Translate param: dirtyRects; type: simple_vec_byref_const const size_t dirtyRectsCount = dirtyRects.size(); cef_rect_t* dirtyRectsList = NULL; if (dirtyRectsCount > 0) { dirtyRectsList = new cef_rect_t[dirtyRectsCount]; DCHECK(dirtyRectsList); if (dirtyRectsList) { for (size_t i = 0; i < dirtyRectsCount; ++i) { dirtyRectsList[i] = dirtyRects[i]; } } } // Execute _struct->on_paint(_struct, CefBrowserCppToC::Wrap(browser), type, dirtyRectsCount, dirtyRectsList, buffer, width, height); // Restore param:dirtyRects; type: simple_vec_byref_const if (dirtyRectsList) { delete[] dirtyRectsList; } } NO_SANITIZE("cfi-icall") void CefRenderHandlerCToCpp::OnAcceleratedPaint( CefRefPtr browser, PaintElementType type, const RectList& dirtyRects, const CefAcceleratedPaintInfo& info) { shutdown_checker::AssertNotShutdown(); cef_render_handler_t* _struct = GetStruct(); if (CEF_MEMBER_MISSING(_struct, on_accelerated_paint)) { return; } // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING // Verify param: browser; type: refptr_diff DCHECK(browser.get()); if (!browser.get()) { return; } // Translate param: dirtyRects; type: simple_vec_byref_const const size_t dirtyRectsCount = dirtyRects.size(); cef_rect_t* dirtyRectsList = NULL; if (dirtyRectsCount > 0) { dirtyRectsList = new cef_rect_t[dirtyRectsCount]; DCHECK(dirtyRectsList); if (dirtyRectsList) { for (size_t i = 0; i < dirtyRectsCount; ++i) { dirtyRectsList[i] = dirtyRects[i]; } } } // Execute _struct->on_accelerated_paint(_struct, CefBrowserCppToC::Wrap(browser), type, dirtyRectsCount, dirtyRectsList, &info); // Restore param:dirtyRects; type: simple_vec_byref_const if (dirtyRectsList) { delete[] dirtyRectsList; } } NO_SANITIZE("cfi-icall") void CefRenderHandlerCToCpp::GetTouchHandleSize( CefRefPtr browser, cef_horizontal_alignment_t orientation, CefSize& size) { shutdown_checker::AssertNotShutdown(); cef_render_handler_t* _struct = GetStruct(); if (CEF_MEMBER_MISSING(_struct, get_touch_handle_size)) { return; } // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING // Verify param: browser; type: refptr_diff DCHECK(browser.get()); if (!browser.get()) { return; } // Execute _struct->get_touch_handle_size(_struct, CefBrowserCppToC::Wrap(browser), orientation, &size); } NO_SANITIZE("cfi-icall") void CefRenderHandlerCToCpp::OnTouchHandleStateChanged( CefRefPtr browser, const CefTouchHandleState& state) { shutdown_checker::AssertNotShutdown(); cef_render_handler_t* _struct = GetStruct(); if (CEF_MEMBER_MISSING(_struct, on_touch_handle_state_changed)) { return; } // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING // Verify param: browser; type: refptr_diff DCHECK(browser.get()); if (!browser.get()) { return; } // Execute _struct->on_touch_handle_state_changed( _struct, CefBrowserCppToC::Wrap(browser), &state); } NO_SANITIZE("cfi-icall") bool CefRenderHandlerCToCpp::StartDragging(CefRefPtr browser, CefRefPtr drag_data, DragOperationsMask allowed_ops, int x, int y) { shutdown_checker::AssertNotShutdown(); cef_render_handler_t* _struct = GetStruct(); if (CEF_MEMBER_MISSING(_struct, start_dragging)) { return false; } // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING // Verify param: browser; type: refptr_diff DCHECK(browser.get()); if (!browser.get()) { return false; } // Verify param: drag_data; type: refptr_diff DCHECK(drag_data.get()); if (!drag_data.get()) { return false; } // Execute int _retval = _struct->start_dragging( _struct, CefBrowserCppToC::Wrap(browser), CefDragDataCppToC::Wrap(drag_data), allowed_ops, x, y); // Return type: bool return _retval ? true : false; } NO_SANITIZE("cfi-icall") void CefRenderHandlerCToCpp::UpdateDragCursor(CefRefPtr browser, DragOperation operation) { shutdown_checker::AssertNotShutdown(); cef_render_handler_t* _struct = GetStruct(); if (CEF_MEMBER_MISSING(_struct, update_drag_cursor)) { return; } // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING // Verify param: browser; type: refptr_diff DCHECK(browser.get()); if (!browser.get()) { return; } // Execute _struct->update_drag_cursor(_struct, CefBrowserCppToC::Wrap(browser), operation); } NO_SANITIZE("cfi-icall") void CefRenderHandlerCToCpp::OnScrollOffsetChanged( CefRefPtr browser, double x, double y) { shutdown_checker::AssertNotShutdown(); cef_render_handler_t* _struct = GetStruct(); if (CEF_MEMBER_MISSING(_struct, on_scroll_offset_changed)) { return; } // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING // Verify param: browser; type: refptr_diff DCHECK(browser.get()); if (!browser.get()) { return; } // Execute _struct->on_scroll_offset_changed(_struct, CefBrowserCppToC::Wrap(browser), x, y); } NO_SANITIZE("cfi-icall") void CefRenderHandlerCToCpp::OnImeCompositionRangeChanged( CefRefPtr browser, const CefRange& selected_range, const RectList& character_bounds) { shutdown_checker::AssertNotShutdown(); cef_render_handler_t* _struct = GetStruct(); if (CEF_MEMBER_MISSING(_struct, on_ime_composition_range_changed)) { return; } // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING // Verify param: browser; type: refptr_diff DCHECK(browser.get()); if (!browser.get()) { return; } // Translate param: character_bounds; type: simple_vec_byref_const const size_t character_boundsCount = character_bounds.size(); cef_rect_t* character_boundsList = NULL; if (character_boundsCount > 0) { character_boundsList = new cef_rect_t[character_boundsCount]; DCHECK(character_boundsList); if (character_boundsList) { for (size_t i = 0; i < character_boundsCount; ++i) { character_boundsList[i] = character_bounds[i]; } } } // Execute _struct->on_ime_composition_range_changed( _struct, CefBrowserCppToC::Wrap(browser), &selected_range, character_boundsCount, character_boundsList); // Restore param:character_bounds; type: simple_vec_byref_const if (character_boundsList) { delete[] character_boundsList; } } NO_SANITIZE("cfi-icall") void CefRenderHandlerCToCpp::OnTextSelectionChanged( CefRefPtr browser, const CefString& selected_text, const CefRange& selected_range) { shutdown_checker::AssertNotShutdown(); cef_render_handler_t* _struct = GetStruct(); if (CEF_MEMBER_MISSING(_struct, on_text_selection_changed)) { return; } // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING // Verify param: browser; type: refptr_diff DCHECK(browser.get()); if (!browser.get()) { return; } // Unverified params: selected_text, selected_range // Execute _struct->on_text_selection_changed(_struct, CefBrowserCppToC::Wrap(browser), selected_text.GetStruct(), &selected_range); } NO_SANITIZE("cfi-icall") void CefRenderHandlerCToCpp::OnVirtualKeyboardRequested( CefRefPtr browser, TextInputMode input_mode) { shutdown_checker::AssertNotShutdown(); cef_render_handler_t* _struct = GetStruct(); if (CEF_MEMBER_MISSING(_struct, on_virtual_keyboard_requested)) { return; } // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING // Verify param: browser; type: refptr_diff DCHECK(browser.get()); if (!browser.get()) { return; } // Execute _struct->on_virtual_keyboard_requested( _struct, CefBrowserCppToC::Wrap(browser), input_mode); } // CONSTRUCTOR - Do not edit by hand. CefRenderHandlerCToCpp::CefRenderHandlerCToCpp() {} // DESTRUCTOR - Do not edit by hand. CefRenderHandlerCToCpp::~CefRenderHandlerCToCpp() { shutdown_checker::AssertNotShutdown(); } template <> cef_render_handler_t* CefCToCppRefCounted::UnwrapDerived(CefWrapperType type, CefRenderHandler* c) { DCHECK(false) << "Unexpected class type: " << type; return nullptr; } template <> CefWrapperType CefCToCppRefCounted::kWrapperType = WT_RENDER_HANDLER;