Add CefDragData::GetFilePaths to return file paths (fixes #3568)

GetFileNames now returns just the display names with a fallback to
path.BaseName() if the display name is empty.
This commit is contained in:
Cristian Amarie
2023-09-22 14:04:16 +03:00
committed by Marshall Greenblatt
parent 4ae030fec1
commit bdec92caf8
8 changed files with 105 additions and 9 deletions

View File

@@ -9,7 +9,7 @@
// implementations. See the translator.README.txt file in the tools directory
// for more information.
//
// $hash=62aa3d486f9f864b4a5a68ebdf4ebb0695c017d1$
// $hash=1dadac1c1138021a5f38e52ccb8f9863f5a387b5$
//
#include "libcef_dll/ctocpp/drag_data_ctocpp.h"
@@ -305,6 +305,38 @@ bool CefDragDataCToCpp::GetFileNames(std::vector<CefString>& names) {
return _retval ? true : false;
}
NO_SANITIZE("cfi-icall")
bool CefDragDataCToCpp::GetFilePaths(std::vector<CefString>& paths) {
shutdown_checker::AssertNotShutdown();
cef_drag_data_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_file_paths)) {
return false;
}
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Translate param: paths; type: string_vec_byref
cef_string_list_t pathsList = cef_string_list_alloc();
DCHECK(pathsList);
if (pathsList) {
transfer_string_list_contents(paths, pathsList);
}
// Execute
int _retval = _struct->get_file_paths(_struct, pathsList);
// Restore param:paths; type: string_vec_byref
if (pathsList) {
paths.clear();
transfer_string_list_contents(pathsList, paths);
cef_string_list_free(pathsList);
}
// Return type: bool
return _retval ? true : false;
}
NO_SANITIZE("cfi-icall")
void CefDragDataCToCpp::SetLinkURL(const CefString& url) {
shutdown_checker::AssertNotShutdown();

View File

@@ -9,7 +9,7 @@
// implementations. See the translator.README.txt file in the tools directory
// for more information.
//
// $hash=7a8ec7b7c1010725596b1a64eb325b0e75ea34b7$
// $hash=fee8d107d6baed8cb7d838613ab4b95134e04c59$
//
#ifndef CEF_LIBCEF_DLL_CTOCPP_DRAG_DATA_CTOCPP_H_
@@ -49,6 +49,7 @@ class CefDragDataCToCpp : public CefCToCppRefCounted<CefDragDataCToCpp,
CefString GetFileName() override;
size_t GetFileContents(CefRefPtr<CefStreamWriter> writer) override;
bool GetFileNames(std::vector<CefString>& names) override;
bool GetFilePaths(std::vector<CefString>& paths) override;
void SetLinkURL(const CefString& url) override;
void SetLinkTitle(const CefString& title) override;
void SetLinkMetadata(const CefString& data) override;