diff options
Diffstat (limited to 'ppapi/proxy/ppb_flash_clipboard_proxy.cc')
-rw-r--r-- | ppapi/proxy/ppb_flash_clipboard_proxy.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/ppapi/proxy/ppb_flash_clipboard_proxy.cc b/ppapi/proxy/ppb_flash_clipboard_proxy.cc index 268a8e4..73b987e 100644 --- a/ppapi/proxy/ppb_flash_clipboard_proxy.cc +++ b/ppapi/proxy/ppb_flash_clipboard_proxy.cc @@ -29,7 +29,8 @@ bool IsValidClipboardType(PP_Flash_Clipboard_Type clipboard_type) { bool IsValidClipboardFormat(PP_Flash_Clipboard_Format format) { // Purposely excludes |PP_FLASH_CLIPBOARD_FORMAT_INVALID|. return format == PP_FLASH_CLIPBOARD_FORMAT_PLAINTEXT || - format == PP_FLASH_CLIPBOARD_FORMAT_HTML; + format == PP_FLASH_CLIPBOARD_FORMAT_HTML || + format == PP_FLASH_CLIPBOARD_FORMAT_RTF; } } // namespace @@ -86,6 +87,11 @@ int32_t PPB_Flash_Clipboard_Proxy::WriteData( if (!IsValidClipboardType(clipboard_type)) return PP_ERROR_BADARGUMENT; + for (size_t i = 0; i < data_item_count; ++i) { + if (!IsValidClipboardFormat(formats[i])) + return PP_ERROR_BADARGUMENT; + } + std::vector<int> formats_vector(formats, formats + data_item_count); std::vector<SerializedVar> data_items_vector; |