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

Side by Side Diff: chrome/browser/download/download_util.cc

Issue 6200005: Move OSExchangeData from src/app to src/ui/base/dragdrop... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 11 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 // Download utility implementation 5 // Download utility implementation
6 6
7 #include "chrome/browser/download/download_util.h" 7 #include "chrome/browser/download/download_util.h"
8 8
9 #if defined(OS_WIN) 9 #if defined(OS_WIN)
10 #include <shobjidl.h> 10 #include <shobjidl.h>
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 #include "grit/generated_resources.h" 49 #include "grit/generated_resources.h"
50 #include "grit/locale_settings.h" 50 #include "grit/locale_settings.h"
51 #include "grit/theme_resources.h" 51 #include "grit/theme_resources.h"
52 #include "net/base/mime_util.h" 52 #include "net/base/mime_util.h"
53 #include "net/base/net_util.h" 53 #include "net/base/net_util.h"
54 #include "skia/ext/image_operations.h" 54 #include "skia/ext/image_operations.h"
55 #include "third_party/skia/include/core/SkPath.h" 55 #include "third_party/skia/include/core/SkPath.h"
56 #include "third_party/skia/include/core/SkShader.h" 56 #include "third_party/skia/include/core/SkShader.h"
57 57
58 #if defined(TOOLKIT_VIEWS) 58 #if defined(TOOLKIT_VIEWS)
59 #include "app/os_exchange_data.h" 59 #include "ui/base/dragdrop/os_exchange_data.h"
60 #include "views/drag_utils.h" 60 #include "views/drag_utils.h"
61 #endif 61 #endif
62 62
63 #if defined(TOOLKIT_USES_GTK) 63 #if defined(TOOLKIT_USES_GTK)
64 #if defined(TOOLKIT_VIEWS) 64 #if defined(TOOLKIT_VIEWS)
65 #include "app/drag_drop_types.h" 65 #include "app/drag_drop_types.h"
66 #include "views/widget/widget_gtk.h" 66 #include "views/widget/widget_gtk.h"
67 #elif defined(TOOLKIT_GTK) 67 #elif defined(TOOLKIT_GTK)
68 #include "chrome/browser/gtk/custom_drag.h" 68 #include "chrome/browser/gtk/custom_drag.h"
69 #endif // defined(TOOLKIT_GTK) 69 #endif // defined(TOOLKIT_GTK)
70 #endif // defined(TOOLKIT_USES_GTK) 70 #endif // defined(TOOLKIT_USES_GTK)
71 71
72 #if defined(OS_WIN) 72 #if defined(OS_WIN)
73 #include "app/os_exchange_data_provider_win.h"
74 #include "app/win/drag_source.h" 73 #include "app/win/drag_source.h"
75 #include "app/win/win_util.h" 74 #include "app/win/win_util.h"
76 #include "base/win/scoped_comptr.h" 75 #include "base/win/scoped_comptr.h"
77 #include "chrome/browser/browser_list.h" 76 #include "chrome/browser/browser_list.h"
78 #include "chrome/browser/ui/views/frame/browser_view.h" 77 #include "chrome/browser/ui/views/frame/browser_view.h"
78 #include "ui/base/dragdrop/os_exchange_data_provider_win.h"
79 #endif 79 #endif
80 80
81 namespace download_util { 81 namespace download_util {
82 82
83 // How many times to cycle the complete animation. This should be an odd number 83 // How many times to cycle the complete animation. This should be an odd number
84 // so that the animation ends faded out. 84 // so that the animation ends faded out.
85 static const int kCompleteAnimationCycles = 5; 85 static const int kCompleteAnimationCycles = 5;
86 86
87 // The maximum number of 'uniquified' files we will try to create. 87 // The maximum number of 'uniquified' files we will try to create.
88 // This is used when the filename we're trying to download is already in use, 88 // This is used when the filename we're trying to download is already in use,
(...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after
462 } 462 }
463 463
464 #if defined(TOOLKIT_VIEWS) 464 #if defined(TOOLKIT_VIEWS)
465 // Download dragging 465 // Download dragging
466 void DragDownload(const DownloadItem* download, 466 void DragDownload(const DownloadItem* download,
467 SkBitmap* icon, 467 SkBitmap* icon,
468 gfx::NativeView view) { 468 gfx::NativeView view) {
469 DCHECK(download); 469 DCHECK(download);
470 470
471 // Set up our OLE machinery 471 // Set up our OLE machinery
472 OSExchangeData data; 472 ui::OSExchangeData data;
473 473
474 if (icon) { 474 if (icon) {
475 drag_utils::CreateDragImageForFile( 475 drag_utils::CreateDragImageForFile(
476 download->GetFileNameToReportUser(), icon, &data); 476 download->GetFileNameToReportUser(), icon, &data);
477 } 477 }
478 478
479 const FilePath full_path = download->full_path(); 479 const FilePath full_path = download->full_path();
480 data.SetFilename(full_path.ToWStringHack()); 480 data.SetFilename(full_path.ToWStringHack());
481 481
482 std::string mime_type = download->mime_type(); 482 std::string mime_type = download->mime_type();
483 if (mime_type.empty()) 483 if (mime_type.empty())
484 net::GetMimeTypeFromFile(full_path, &mime_type); 484 net::GetMimeTypeFromFile(full_path, &mime_type);
485 485
486 // Add URL so that we can load supported files when dragged to TabContents. 486 // Add URL so that we can load supported files when dragged to TabContents.
487 if (net::IsSupportedMimeType(mime_type)) { 487 if (net::IsSupportedMimeType(mime_type)) {
488 data.SetURL(GURL(WideToUTF8(full_path.ToWStringHack())), 488 data.SetURL(GURL(WideToUTF8(full_path.ToWStringHack())),
489 download->GetFileNameToReportUser().ToWStringHack()); 489 download->GetFileNameToReportUser().ToWStringHack());
490 } 490 }
491 491
492 #if defined(OS_WIN) 492 #if defined(OS_WIN)
493 scoped_refptr<app::win::DragSource> drag_source(new app::win::DragSource); 493 scoped_refptr<app::win::DragSource> drag_source(new app::win::DragSource);
494 494
495 // Run the drag and drop loop 495 // Run the drag and drop loop
496 DWORD effects; 496 DWORD effects;
497 DoDragDrop(OSExchangeDataProviderWin::GetIDataObject(data), drag_source.get(), 497 DoDragDrop(ui::OSExchangeDataProviderWin::GetIDataObject(data),
498 DROPEFFECT_COPY | DROPEFFECT_LINK, &effects); 498 drag_source.get(), DROPEFFECT_COPY | DROPEFFECT_LINK, &effects);
499 #elif defined(TOOLKIT_USES_GTK) 499 #elif defined(TOOLKIT_USES_GTK)
500 GtkWidget* root = gtk_widget_get_toplevel(view); 500 GtkWidget* root = gtk_widget_get_toplevel(view);
501 if (!root) 501 if (!root)
502 return; 502 return;
503 views::WidgetGtk* widget = views::WidgetGtk::GetViewForNative(root); 503 views::WidgetGtk* widget = views::WidgetGtk::GetViewForNative(root);
504 if (!widget) 504 if (!widget)
505 return; 505 return;
506 506
507 widget->DoDrag(data, DragDropTypes::DRAG_COPY | DragDropTypes::DRAG_LINK); 507 widget->DoDrag(data, DragDropTypes::DRAG_COPY | DragDropTypes::DRAG_LINK);
508 #endif // OS_WIN 508 #endif // OS_WIN
(...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after
771 !service->IsDownloadFromGallery(info->url, info->referrer_url)) { 771 !service->IsDownloadFromGallery(info->url, info->referrer_url)) {
772 // Extensions that are not from the gallery are considered dangerous. 772 // Extensions that are not from the gallery are considered dangerous.
773 return true; 773 return true;
774 } 774 }
775 } 775 }
776 776
777 return false; 777 return false;
778 } 778 }
779 779
780 } // namespace download_util 780 } // namespace download_util
OLDNEW
« no previous file with comments | « chrome/browser/bookmarks/bookmark_utils.cc ('k') | chrome/browser/renderer_host/render_view_host_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698