mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
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:
committed by
Marshall Greenblatt
parent
4ae030fec1
commit
bdec92caf8
@@ -9,7 +9,7 @@
|
||||
// implementations. See the translator.README.txt file in the tools directory
|
||||
// for more information.
|
||||
//
|
||||
// $hash=dc5d0e68bdc9b8ec86dbc9b4fa0ddce6e4597006$
|
||||
// $hash=14322f994bd6eb8732cef20a3a70fc8ebbf32dea$
|
||||
//
|
||||
|
||||
#include "libcef_dll/cpptoc/drag_data_cpptoc.h"
|
||||
@@ -300,6 +300,38 @@ int CEF_CALLBACK drag_data_get_file_names(struct _cef_drag_data_t* self,
|
||||
return _retval;
|
||||
}
|
||||
|
||||
int CEF_CALLBACK
|
||||
drag_data_get_file_paths(struct _cef_drag_data_t* self,
|
||||
cef_string_list_t paths) {
|
||||
shutdown_checker::AssertNotShutdown();
|
||||
|
||||
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
||||
|
||||
DCHECK(self);
|
||||
if (!self) {
|
||||
return 0;
|
||||
}
|
||||
// Verify param: paths; type: string_vec_byref
|
||||
DCHECK(paths);
|
||||
if (!paths) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Translate param: paths; type: string_vec_byref
|
||||
std::vector<CefString> pathsList;
|
||||
transfer_string_list_contents(paths, pathsList);
|
||||
|
||||
// Execute
|
||||
bool _retval = CefDragDataCppToC::Get(self)->GetFilePaths(pathsList);
|
||||
|
||||
// Restore param: paths; type: string_vec_byref
|
||||
cef_string_list_clear(paths);
|
||||
transfer_string_list_contents(pathsList, paths);
|
||||
|
||||
// Return type: bool
|
||||
return _retval;
|
||||
}
|
||||
|
||||
void CEF_CALLBACK drag_data_set_link_url(struct _cef_drag_data_t* self,
|
||||
const cef_string_t* url) {
|
||||
shutdown_checker::AssertNotShutdown();
|
||||
@@ -520,6 +552,7 @@ CefDragDataCppToC::CefDragDataCppToC() {
|
||||
GetStruct()->get_file_name = drag_data_get_file_name;
|
||||
GetStruct()->get_file_contents = drag_data_get_file_contents;
|
||||
GetStruct()->get_file_names = drag_data_get_file_names;
|
||||
GetStruct()->get_file_paths = drag_data_get_file_paths;
|
||||
GetStruct()->set_link_url = drag_data_set_link_url;
|
||||
GetStruct()->set_link_title = drag_data_set_link_title;
|
||||
GetStruct()->set_link_metadata = drag_data_set_link_metadata;
|
||||
|
@@ -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();
|
||||
|
@@ -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;
|
||||
|
Reference in New Issue
Block a user