| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "ui/base/dragdrop/os_exchange_data_provider_mac.h" | 5 #include "ui/base/dragdrop/os_exchange_data_provider_mac.h" |
| 6 | 6 |
| 7 #import <Cocoa/Cocoa.h> | 7 #import <Cocoa/Cocoa.h> |
| 8 | 8 |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/memory/ptr_util.h" | 10 #include "base/memory/ptr_util.h" |
| (...skipping 11 matching lines...) Expand all Loading... |
| 22 OSExchangeDataProviderMac::OSExchangeDataProviderMac() | 22 OSExchangeDataProviderMac::OSExchangeDataProviderMac() |
| 23 : pasteboard_(new ui::UniquePasteboard) {} | 23 : pasteboard_(new ui::UniquePasteboard) {} |
| 24 | 24 |
| 25 OSExchangeDataProviderMac::OSExchangeDataProviderMac( | 25 OSExchangeDataProviderMac::OSExchangeDataProviderMac( |
| 26 scoped_refptr<ui::UniquePasteboard> pb) | 26 scoped_refptr<ui::UniquePasteboard> pb) |
| 27 : pasteboard_(pb) {} | 27 : pasteboard_(pb) {} |
| 28 | 28 |
| 29 OSExchangeDataProviderMac::~OSExchangeDataProviderMac() { | 29 OSExchangeDataProviderMac::~OSExchangeDataProviderMac() { |
| 30 } | 30 } |
| 31 | 31 |
| 32 OSExchangeData::Provider* OSExchangeDataProviderMac::Clone() const { | 32 std::unique_ptr<OSExchangeData::Provider> |
| 33 return new OSExchangeDataProviderMac(pasteboard_); | 33 OSExchangeDataProviderMac::Clone() const { |
| 34 return std::unique_ptr<OSExchangeData::Provider>( |
| 35 new OSExchangeDataProviderMac(pasteboard_)); |
| 34 } | 36 } |
| 35 | 37 |
| 36 void OSExchangeDataProviderMac::MarkOriginatedFromRenderer() { | 38 void OSExchangeDataProviderMac::MarkOriginatedFromRenderer() { |
| 37 NOTIMPLEMENTED(); | 39 NOTIMPLEMENTED(); |
| 38 } | 40 } |
| 39 | 41 |
| 40 bool OSExchangeDataProviderMac::DidOriginateFromRenderer() const { | 42 bool OSExchangeDataProviderMac::DidOriginateFromRenderer() const { |
| 41 NOTIMPLEMENTED(); | 43 NOTIMPLEMENTED(); |
| 42 return false; | 44 return false; |
| 43 } | 45 } |
| (...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 192 } | 194 } |
| 193 | 195 |
| 194 // static | 196 // static |
| 195 std::unique_ptr<OSExchangeData> | 197 std::unique_ptr<OSExchangeData> |
| 196 OSExchangeDataProviderMac::CreateDataFromPasteboard(NSPasteboard* pasteboard) { | 198 OSExchangeDataProviderMac::CreateDataFromPasteboard(NSPasteboard* pasteboard) { |
| 197 OSExchangeDataProviderMac* provider = new OSExchangeDataProviderMac(); | 199 OSExchangeDataProviderMac* provider = new OSExchangeDataProviderMac(); |
| 198 | 200 |
| 199 for (NSPasteboardItem* item in [pasteboard pasteboardItems]) | 201 for (NSPasteboardItem* item in [pasteboard pasteboardItems]) |
| 200 ClipboardUtil::AddDataToPasteboard(provider->pasteboard_->get(), item); | 202 ClipboardUtil::AddDataToPasteboard(provider->pasteboard_->get(), item); |
| 201 | 203 |
| 202 return base::MakeUnique<OSExchangeData>(provider); | 204 return base::MakeUnique<OSExchangeData>( |
| 205 base::WrapUnique<OSExchangeData::Provider>(provider)); |
| 203 } | 206 } |
| 204 | 207 |
| 205 // static | 208 // static |
| 206 NSArray* OSExchangeDataProviderMac::SupportedPasteboardTypes() { | 209 NSArray* OSExchangeDataProviderMac::SupportedPasteboardTypes() { |
| 207 return @[ | 210 return @[ |
| 208 kWebCustomDataPboardType, ui::ClipboardUtil::UTIForWebURLsAndTitles(), | 211 kWebCustomDataPboardType, ui::ClipboardUtil::UTIForWebURLsAndTitles(), |
| 209 NSURLPboardType, NSFilenamesPboardType, ui::kChromeDragDummyPboardType, | 212 NSURLPboardType, NSFilenamesPboardType, ui::kChromeDragDummyPboardType, |
| 210 NSStringPboardType, NSHTMLPboardType, NSRTFPboardType, | 213 NSStringPboardType, NSHTMLPboardType, NSRTFPboardType, |
| 211 NSFilenamesPboardType, ui::kWebCustomDataPboardType, NSPasteboardTypeString | 214 NSFilenamesPboardType, ui::kWebCustomDataPboardType, NSPasteboardTypeString |
| 212 ]; | 215 ]; |
| 213 } | 216 } |
| 214 | 217 |
| 215 /////////////////////////////////////////////////////////////////////////////// | |
| 216 // OSExchangeData, public: | |
| 217 | |
| 218 // static | |
| 219 OSExchangeData::Provider* OSExchangeData::CreateProvider() { | |
| 220 return new OSExchangeDataProviderMac; | |
| 221 } | |
| 222 | |
| 223 } // namespace ui | 218 } // namespace ui |
| OLD | NEW |