| Index: ui/base/dragdrop/os_exchange_data_provider_win.cc
|
| ===================================================================
|
| --- ui/base/dragdrop/os_exchange_data_provider_win.cc (revision 259999)
|
| +++ ui/base/dragdrop/os_exchange_data_provider_win.cc (working copy)
|
| @@ -23,6 +23,14 @@
|
|
|
| namespace ui {
|
|
|
| +static const OSExchangeData::CustomFormat& GetRendererTaintCustomType() {
|
| + CR_DEFINE_STATIC_LOCAL(
|
| + ui::OSExchangeData::CustomFormat,
|
| + format,
|
| + (ui::Clipboard::GetFormatType("chromium/x-renderer-taint")));
|
| + return format;
|
| +}
|
| +
|
| // Creates a new STGMEDIUM object to hold the specified text. The caller
|
| // owns the resulting object. The "Bytes" version does not NULL terminate, the
|
| // string version does.
|
| @@ -269,6 +277,16 @@
|
| return new OSExchangeDataProviderWin(data_object());
|
| }
|
|
|
| +void OSExchangeDataProviderWin::MarkOriginatedFromRenderer() {
|
| + STGMEDIUM* storage = GetStorageForString(std::string());
|
| + data_->contents_.push_back(new DataObjectImpl::StoredDataInfo(
|
| + GetRendererTaintCustomType().ToFormatEtc(), storage));
|
| +}
|
| +
|
| +bool OSExchangeDataProviderWin::DidOriginateFromRenderer() const {
|
| + return HasCustomFormat(GetRendererTaintCustomType());
|
| +}
|
| +
|
| void OSExchangeDataProviderWin::SetString(const base::string16& data) {
|
| STGMEDIUM* storage = GetStorageForString(data);
|
| data_->contents_.push_back(new DataObjectImpl::StoredDataInfo(
|
|
|