extension_manager->SendMouseEvent(event, btn, x, y);
}
- static const char* RuntimeGetMetadataValue(const char* key) {
+ static void RuntimeGetMetadataValue(const char* key,
+ char* value,
+ unsigned int len) {
auto* extension_manager = XWalkExtensionManager::GetInstance();
- auto value = extension_manager->GetMetadataValue(key);
- return strdup(value.c_str());
+ auto metadata_value = extension_manager->GetMetadataValue(key);
+ if (!metadata_value.empty())
+ std::snprintf(value, len, "%s", metadata_value.c_str());
}
static int PermissionsCheckAPIAccessControl(
void (*RemoveWindowEventListener)(XW_Instance instance);
void (*SendKeyEvent)(const char* event, const char* key_code);
void (*SendMouseEvent)(const char* event, int button, int x, int y);
- const char* (*GetMetadataValue)(const char* key);
+ void (*GetMetadataValue)(const char* key, char* value, unsigned int len);
} XW_Internal_WindowInterface;
#ifdef __cplusplus