Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(117)

Side by Side Diff: ui/base/dragdrop/os_exchange_data_provider_win.cc

Issue 2014733003: Removing parsing of text from pasteboard. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: moving url parsing up the hierarchy Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 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_win.h" 5 #include "ui/base/dragdrop/os_exchange_data_provider_win.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 10
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 } 214 }
215 // Carry over 215 // Carry over
216 e->cursor_ = other->cursor_; 216 e->cursor_ = other->cursor_;
217 return e; 217 return e;
218 } 218 }
219 219
220 /////////////////////////////////////////////////////////////////////////////// 220 ///////////////////////////////////////////////////////////////////////////////
221 // OSExchangeDataProviderWin, public: 221 // OSExchangeDataProviderWin, public:
222 222
223 // static 223 // static
224 bool OSExchangeDataProviderWin::HasPlainTextURL(IDataObject* source) {
225 base::string16 plain_text;
226 return (ClipboardUtil::GetPlainText(source, &plain_text) &&
227 !plain_text.empty() && GURL(plain_text).is_valid());
228 }
229
230 // static
231 bool OSExchangeDataProviderWin::GetPlainTextURL(IDataObject* source,
232 GURL* url) {
233 base::string16 plain_text;
234 if (ClipboardUtil::GetPlainText(source, &plain_text) &&
235 !plain_text.empty()) {
236 GURL gurl(plain_text);
237 if (gurl.is_valid()) {
238 *url = gurl;
239 return true;
240 }
241 }
242 return false;
243 }
244
245 // static
246 DataObjectImpl* OSExchangeDataProviderWin::GetDataObjectImpl( 224 DataObjectImpl* OSExchangeDataProviderWin::GetDataObjectImpl(
247 const OSExchangeData& data) { 225 const OSExchangeData& data) {
248 return static_cast<const OSExchangeDataProviderWin*>(&data.provider())-> 226 return static_cast<const OSExchangeDataProviderWin*>(&data.provider())->
249 data_.get(); 227 data_.get();
250 } 228 }
251 229
252 // static 230 // static
253 IDataObject* OSExchangeDataProviderWin::GetIDataObject( 231 IDataObject* OSExchangeDataProviderWin::GetIDataObject(
254 const OSExchangeData& data) { 232 const OSExchangeData& data) {
255 return static_cast<const OSExchangeDataProviderWin*>(&data.provider())-> 233 return static_cast<const OSExchangeDataProviderWin*>(&data.provider())->
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
404 } 382 }
405 383
406 bool OSExchangeDataProviderWin::GetString(base::string16* data) const { 384 bool OSExchangeDataProviderWin::GetString(base::string16* data) const {
407 return ClipboardUtil::GetPlainText(source_object_.get(), data); 385 return ClipboardUtil::GetPlainText(source_object_.get(), data);
408 } 386 }
409 387
410 bool OSExchangeDataProviderWin::GetURLAndTitle( 388 bool OSExchangeDataProviderWin::GetURLAndTitle(
411 OSExchangeData::FilenameToURLPolicy policy, 389 OSExchangeData::FilenameToURLPolicy policy,
412 GURL* url, 390 GURL* url,
413 base::string16* title) const { 391 base::string16* title) const {
414 base::string16 url_str; 392 if (ClipboardUtil::GetUrl(source_object_.get(), url, title,
415 bool success = ClipboardUtil::GetUrl( 393 policy == OSExchangeData::CONVERT_FILENAMES)) {
416 source_object_.get(), url, title,
417 policy == OSExchangeData::CONVERT_FILENAMES ? true : false);
418 if (success) {
419 DCHECK(url->is_valid()); 394 DCHECK(url->is_valid());
420 return true; 395 return true;
421 } else if (GetPlainTextURL(source_object_.get(), url)) {
422 if (url->is_valid())
423 *title = net::GetSuggestedFilename(*url, "", "", "", "", std::string());
424 else
425 title->clear();
426 return true;
427 } 396 }
397 *url = GURL();
398 title->clear();
428 return false; 399 return false;
429 } 400 }
430 401
431 bool OSExchangeDataProviderWin::GetFilename(base::FilePath* path) const { 402 bool OSExchangeDataProviderWin::GetFilename(base::FilePath* path) const {
432 std::vector<base::string16> filenames; 403 std::vector<base::string16> filenames;
433 bool success = ClipboardUtil::GetFilenames(source_object_.get(), &filenames); 404 bool success = ClipboardUtil::GetFilenames(source_object_.get(), &filenames);
434 if (success) 405 if (success)
435 *path = base::FilePath(filenames[0]); 406 *path = base::FilePath(filenames[0]);
436 return success; 407 return success;
437 } 408 }
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
488 *base_url = GURL(url); 459 *base_url = GURL(url);
489 return success; 460 return success;
490 } 461 }
491 462
492 bool OSExchangeDataProviderWin::HasString() const { 463 bool OSExchangeDataProviderWin::HasString() const {
493 return ClipboardUtil::HasPlainText(source_object_.get()); 464 return ClipboardUtil::HasPlainText(source_object_.get());
494 } 465 }
495 466
496 bool OSExchangeDataProviderWin::HasURL( 467 bool OSExchangeDataProviderWin::HasURL(
497 OSExchangeData::FilenameToURLPolicy policy) const { 468 OSExchangeData::FilenameToURLPolicy policy) const {
498 return (ClipboardUtil::HasUrl( 469 return ClipboardUtil::HasUrl(source_object_.get(),
499 source_object_.get(), 470 policy == OSExchangeData::CONVERT_FILENAMES);
500 policy == OSExchangeData::CONVERT_FILENAMES ? true : false) ||
501 HasPlainTextURL(source_object_.get()));
502 } 471 }
503 472
504 bool OSExchangeDataProviderWin::HasFile() const { 473 bool OSExchangeDataProviderWin::HasFile() const {
505 return ClipboardUtil::HasFilenames(source_object_.get()); 474 return ClipboardUtil::HasFilenames(source_object_.get());
506 } 475 }
507 476
508 bool OSExchangeDataProviderWin::HasFileContents() const { 477 bool OSExchangeDataProviderWin::HasFileContents() const {
509 return ClipboardUtil::HasFileContents(source_object_.get()); 478 return ClipboardUtil::HasFileContents(source_object_.get());
510 } 479 }
511 480
(...skipping 555 matching lines...) Expand 10 before | Expand all | Expand 10 after
1067 1036
1068 /////////////////////////////////////////////////////////////////////////////// 1037 ///////////////////////////////////////////////////////////////////////////////
1069 // OSExchangeData, public: 1038 // OSExchangeData, public:
1070 1039
1071 // static 1040 // static
1072 OSExchangeData::Provider* OSExchangeData::CreateProvider() { 1041 OSExchangeData::Provider* OSExchangeData::CreateProvider() {
1073 return new OSExchangeDataProviderWin(); 1042 return new OSExchangeDataProviderWin();
1074 } 1043 }
1075 1044
1076 } // namespace ui 1045 } // namespace ui
OLDNEW
« ui/base/dragdrop/os_exchange_data.cc ('K') | « ui/base/dragdrop/os_exchange_data_provider_win.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698