diff options
Diffstat (limited to 'chrome/browser/download/download_util.cc')
-rw-r--r-- | chrome/browser/download/download_util.cc | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/chrome/browser/download/download_util.cc b/chrome/browser/download/download_util.cc index f9040b3..262c507 100644 --- a/chrome/browser/download/download_util.cc +++ b/chrome/browser/download/download_util.cc @@ -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 "base/string_util.h" #include "chrome/app/locales/locale_settings.h" @@ -105,24 +106,20 @@ bool BaseContextMenu::IsCommandEnabled(int id) const { } 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_); |