| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #include "ui/base/dragdrop/os_exchange_data.h" | |
| 6 | |
| 7 #include "base/pickle.h" | |
| 8 #include "url/gurl.h" | |
| 9 | |
| 10 namespace ui { | |
| 11 | |
| 12 OSExchangeData::DownloadFileInfo::DownloadFileInfo( | |
| 13 const base::FilePath& filename, | |
| 14 DownloadFileProvider* downloader) | |
| 15 : filename(filename), | |
| 16 downloader(downloader) { | |
| 17 } | |
| 18 | |
| 19 OSExchangeData::DownloadFileInfo::~DownloadFileInfo() {} | |
| 20 | |
| 21 OSExchangeData::OSExchangeData() : provider_(CreateProvider()) { | |
| 22 } | |
| 23 | |
| 24 OSExchangeData::OSExchangeData(Provider* provider) : provider_(provider) { | |
| 25 } | |
| 26 | |
| 27 OSExchangeData::~OSExchangeData() { | |
| 28 } | |
| 29 | |
| 30 void OSExchangeData::MarkOriginatedFromRenderer() { | |
| 31 provider_->MarkOriginatedFromRenderer(); | |
| 32 } | |
| 33 | |
| 34 bool OSExchangeData::DidOriginateFromRenderer() const { | |
| 35 return provider_->DidOriginateFromRenderer(); | |
| 36 } | |
| 37 | |
| 38 void OSExchangeData::SetString(const base::string16& data) { | |
| 39 provider_->SetString(data); | |
| 40 } | |
| 41 | |
| 42 void OSExchangeData::SetURL(const GURL& url, const base::string16& title) { | |
| 43 provider_->SetURL(url, title); | |
| 44 } | |
| 45 | |
| 46 void OSExchangeData::SetFilename(const base::FilePath& path) { | |
| 47 provider_->SetFilename(path); | |
| 48 } | |
| 49 | |
| 50 void OSExchangeData::SetFilenames( | |
| 51 const std::vector<FileInfo>& filenames) { | |
| 52 provider_->SetFilenames(filenames); | |
| 53 } | |
| 54 | |
| 55 void OSExchangeData::SetPickledData(const CustomFormat& format, | |
| 56 const Pickle& data) { | |
| 57 provider_->SetPickledData(format, data); | |
| 58 } | |
| 59 | |
| 60 bool OSExchangeData::GetString(base::string16* data) const { | |
| 61 return provider_->GetString(data); | |
| 62 } | |
| 63 | |
| 64 bool OSExchangeData::GetURLAndTitle(FilenameToURLPolicy policy, | |
| 65 GURL* url, | |
| 66 base::string16* title) const { | |
| 67 return provider_->GetURLAndTitle(policy, url, title); | |
| 68 } | |
| 69 | |
| 70 bool OSExchangeData::GetFilename(base::FilePath* path) const { | |
| 71 return provider_->GetFilename(path); | |
| 72 } | |
| 73 | |
| 74 bool OSExchangeData::GetFilenames( | |
| 75 std::vector<FileInfo>* filenames) const { | |
| 76 return provider_->GetFilenames(filenames); | |
| 77 } | |
| 78 | |
| 79 bool OSExchangeData::GetPickledData(const CustomFormat& format, | |
| 80 Pickle* data) const { | |
| 81 return provider_->GetPickledData(format, data); | |
| 82 } | |
| 83 | |
| 84 bool OSExchangeData::HasString() const { | |
| 85 return provider_->HasString(); | |
| 86 } | |
| 87 | |
| 88 bool OSExchangeData::HasURL(FilenameToURLPolicy policy) const { | |
| 89 return provider_->HasURL(policy); | |
| 90 } | |
| 91 | |
| 92 bool OSExchangeData::HasFile() const { | |
| 93 return provider_->HasFile(); | |
| 94 } | |
| 95 | |
| 96 bool OSExchangeData::HasCustomFormat(const CustomFormat& format) const { | |
| 97 return provider_->HasCustomFormat(format); | |
| 98 } | |
| 99 | |
| 100 bool OSExchangeData::HasAnyFormat( | |
| 101 int formats, | |
| 102 const std::set<CustomFormat>& custom_formats) const { | |
| 103 if ((formats & STRING) != 0 && HasString()) | |
| 104 return true; | |
| 105 if ((formats & URL) != 0 && HasURL(CONVERT_FILENAMES)) | |
| 106 return true; | |
| 107 #if defined(OS_WIN) | |
| 108 if ((formats & FILE_CONTENTS) != 0 && provider_->HasFileContents()) | |
| 109 return true; | |
| 110 #endif | |
| 111 #if defined(USE_AURA) | |
| 112 if ((formats & HTML) != 0 && provider_->HasHtml()) | |
| 113 return true; | |
| 114 #endif | |
| 115 if ((formats & FILE_NAME) != 0 && provider_->HasFile()) | |
| 116 return true; | |
| 117 for (std::set<CustomFormat>::const_iterator i = custom_formats.begin(); | |
| 118 i != custom_formats.end(); ++i) { | |
| 119 if (HasCustomFormat(*i)) | |
| 120 return true; | |
| 121 } | |
| 122 return false; | |
| 123 } | |
| 124 | |
| 125 #if defined(OS_WIN) | |
| 126 void OSExchangeData::SetFileContents(const base::FilePath& filename, | |
| 127 const std::string& file_contents) { | |
| 128 provider_->SetFileContents(filename, file_contents); | |
| 129 } | |
| 130 | |
| 131 bool OSExchangeData::GetFileContents(base::FilePath* filename, | |
| 132 std::string* file_contents) const { | |
| 133 return provider_->GetFileContents(filename, file_contents); | |
| 134 } | |
| 135 | |
| 136 void OSExchangeData::SetDownloadFileInfo(const DownloadFileInfo& download) { | |
| 137 provider_->SetDownloadFileInfo(download); | |
| 138 } | |
| 139 #endif | |
| 140 | |
| 141 #if defined(USE_AURA) | |
| 142 void OSExchangeData::SetHtml(const base::string16& html, const GURL& base_url) { | |
| 143 provider_->SetHtml(html, base_url); | |
| 144 } | |
| 145 | |
| 146 bool OSExchangeData::GetHtml(base::string16* html, GURL* base_url) const { | |
| 147 return provider_->GetHtml(html, base_url); | |
| 148 } | |
| 149 #endif | |
| 150 | |
| 151 } // namespace ui | |
| OLD | NEW |