Index: ui/base/dragdrop/os_exchange_data_provider_aurax11.cc |
diff --git a/ui/base/dragdrop/os_exchange_data_provider_aurax11.cc b/ui/base/dragdrop/os_exchange_data_provider_aurax11.cc |
index 15ab97d357b2ce28ddab63ed4f9a97ac137f4c9f..ab8d15c70f9e3121f2c296af0ccef4b4e6136121 100644 |
--- a/ui/base/dragdrop/os_exchange_data_provider_aurax11.cc |
+++ b/ui/base/dragdrop/os_exchange_data_provider_aurax11.cc |
@@ -25,6 +25,7 @@ namespace ui { |
namespace { |
const char kDndSelection[] = "XdndSelection"; |
+const char kRendererTaint[] = "chromium/x-renderer-taint"; |
const char* kAtomsToCache[] = { |
kString, |
@@ -34,6 +35,7 @@ const char* kAtomsToCache[] = { |
Clipboard::kMimeTypeURIList, |
kMimeTypeMozillaURL, |
Clipboard::kMimeTypeText, |
+ kRendererTaint, |
NULL |
}; |
@@ -108,6 +110,18 @@ OSExchangeData::Provider* OSExchangeDataProviderAuraX11::Clone() const { |
return ret; |
} |
+void OSExchangeDataProviderAuraX11::MarkOriginatedFromRenderer() { |
+ std::string empty; |
+ format_map_.Insert(atom_cache_.GetAtom(kRendererTaint), |
+ scoped_refptr<base::RefCountedMemory>( |
+ base::RefCountedString::TakeString(&empty))); |
+} |
+ |
+bool OSExchangeDataProviderAuraX11::DidOriginateFromRenderer() const { |
+ return format_map_.find(atom_cache_.GetAtom(kRendererTaint)) != |
+ format_map_.end(); |
+} |
+ |
void OSExchangeDataProviderAuraX11::SetString(const base::string16& text_data) { |
std::string utf8 = base::UTF16ToUTF8(text_data); |
scoped_refptr<base::RefCountedMemory> mem( |