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

Side by Side Diff: chrome/browser/gtk/tab_contents_drag_source.cc

Issue 3043048: Clean up download code: (Closed)
Patch Set: Created 10 years, 4 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) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 "chrome/browser/gtk/tab_contents_drag_source.h" 5 #include "chrome/browser/gtk/tab_contents_drag_source.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "app/gtk_dnd_util.h" 9 #include "app/gtk_dnd_util.h"
10 #include "base/file_util.h" 10 #include "base/file_util.h"
11 #include "base/mime_util.h" 11 #include "base/mime_util.h"
12 #include "base/utf_string_conversions.h" 12 #include "base/utf_string_conversions.h"
13 #include "chrome/browser/download/download_manager.h" 13 #include "chrome/browser/download/download_util.h"
14 #include "chrome/browser/download/drag_download_file.h" 14 #include "chrome/browser/download/drag_download_file.h"
15 #include "chrome/browser/download/drag_download_util.h" 15 #include "chrome/browser/download/drag_download_util.h"
16 #include "chrome/browser/gtk/gtk_util.h" 16 #include "chrome/browser/gtk/gtk_util.h"
17 #include "chrome/browser/renderer_host/render_view_host.h" 17 #include "chrome/browser/renderer_host/render_view_host.h"
18 #include "chrome/browser/renderer_host/render_view_host_delegate.h" 18 #include "chrome/browser/renderer_host/render_view_host_delegate.h"
19 #include "chrome/browser/tab_contents/tab_contents.h" 19 #include "chrome/browser/tab_contents/tab_contents.h"
20 #include "chrome/browser/tab_contents/tab_contents_view.h" 20 #include "chrome/browser/tab_contents/tab_contents_view.h"
21 #include "gfx/gtk_util.h" 21 #include "gfx/gtk_util.h"
22 #include "net/base/file_stream.h" 22 #include "net/base/file_stream.h"
23 #include "net/base/net_util.h" 23 #include "net/base/net_util.h"
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
287 } 287 }
288 288
289 void TabContentsDragSource::OnDragBegin(GtkWidget* sender, 289 void TabContentsDragSource::OnDragBegin(GtkWidget* sender,
290 GdkDragContext* drag_context) { 290 GdkDragContext* drag_context) {
291 if (!download_url_.is_empty()) { 291 if (!download_url_.is_empty()) {
292 // Generate the file name based on both mime type and proposed file name. 292 // Generate the file name based on both mime type and proposed file name.
293 std::string download_mime_type = UTF16ToUTF8(wide_download_mime_type_); 293 std::string download_mime_type = UTF16ToUTF8(wide_download_mime_type_);
294 std::string content_disposition("attachment; filename="); 294 std::string content_disposition("attachment; filename=");
295 content_disposition += download_file_name_.value(); 295 content_disposition += download_file_name_.value();
296 FilePath generated_download_file_name; 296 FilePath generated_download_file_name;
297 DownloadManager::GenerateFileName(download_url_, 297 download_util::GenerateFileName(download_url_,
298 content_disposition, 298 content_disposition,
299 std::string(), 299 std::string(),
300 download_mime_type, 300 download_mime_type,
301 &generated_download_file_name); 301 &generated_download_file_name);
302 302
303 // Pass the file name to the drop target by setting the source window's 303 // Pass the file name to the drop target by setting the source window's
304 // XdndDirectSave0 property. 304 // XdndDirectSave0 property.
305 gdk_property_change(drag_context->source_window, 305 gdk_property_change(drag_context->source_window,
306 gtk_dnd_util::GetAtomForTarget( 306 gtk_dnd_util::GetAtomForTarget(
307 gtk_dnd_util::DIRECT_SAVE_FILE), 307 gtk_dnd_util::DIRECT_SAVE_FILE),
308 gtk_dnd_util::GetAtomForTarget( 308 gtk_dnd_util::GetAtomForTarget(
309 gtk_dnd_util::TEXT_PLAIN_NO_CHARSET), 309 gtk_dnd_util::TEXT_PLAIN_NO_CHARSET),
310 8, 310 8,
311 GDK_PROP_MODE_REPLACE, 311 GDK_PROP_MODE_REPLACE,
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
370 cairo_t* cr = gdk_cairo_create(event->window); 370 cairo_t* cr = gdk_cairo_create(event->window);
371 gdk_cairo_rectangle(cr, &event->area); 371 gdk_cairo_rectangle(cr, &event->area);
372 cairo_clip(cr); 372 cairo_clip(cr);
373 cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE); 373 cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
374 gdk_cairo_set_source_pixbuf(cr, drag_pixbuf_, 0, 0); 374 gdk_cairo_set_source_pixbuf(cr, drag_pixbuf_, 0, 0);
375 cairo_paint(cr); 375 cairo_paint(cr);
376 cairo_destroy(cr); 376 cairo_destroy(cr);
377 377
378 return TRUE; 378 return TRUE;
379 } 379 }
OLDNEW
« no previous file with comments | « chrome/browser/download/save_package.cc ('k') | chrome/browser/views/tab_contents/tab_contents_drag_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698