Index: chrome/browser/download/download_util.cc |
=================================================================== |
--- chrome/browser/download/download_util.cc (revision 4189) |
+++ chrome/browser/download/download_util.cc (working copy) |
@@ -10,6 +10,7 @@ |
#include "base/base_drag_source.h" |
#include "base/file_util.h" |
+#include "base/scoped_clipboard_writer.h" |
#include "base/gfx/image_operations.h" |
#include "chrome/app/theme/theme_resources.h" |
#include "chrome/browser/browser_process.h" |
@@ -103,24 +104,20 @@ |
} |
void BaseContextMenu::ExecuteCommand(int id) { |
- ClipboardService* clipboard = g_browser_process->clipboard_service(); |
- DCHECK(clipboard); |
+ ScopedClipboardWriter scw(g_browser_process->clipboard_service()); |
switch (id) { |
case SHOW_IN_FOLDER: |
download_->manager()->ShowDownloadInShell(download_); |
break; |
case COPY_LINK: |
- clipboard->Clear(); |
- clipboard->WriteText(download_->url()); |
+ scw.WriteText(download_->url()); |
break; |
case COPY_PATH: |
- clipboard->Clear(); |
- clipboard->WriteText(download_->full_path()); |
+ scw.WriteText(download_->full_path()); |
break; |
case COPY_FILE: |
// TODO(paulg): Move to OSExchangeData when implementing drag and drop? |
- clipboard->Clear(); |
- clipboard->WriteFile(download_->full_path()); |
+ scw.WriteFile(download_->full_path()); |
break; |
case OPEN_WHEN_COMPLETE: |
OpenDownload(download_); |