summaryrefslogtreecommitdiffstats
path: root/base/scoped_clipboard_writer.h
diff options
context:
space:
mode:
authorestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-12-05 21:57:29 +0000
committerestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-12-05 21:57:29 +0000
commitdb9da27d07d045484f227d7fd3b2f026d6fe7db7 (patch)
tree12ad8e016468cbecac455ca763030fa4ee845523 /base/scoped_clipboard_writer.h
parentacd4450a06be8fd2e79f13f143daf5f065991e94 (diff)
downloadchromium_src-db9da27d07d045484f227d7fd3b2f026d6fe7db7.zip
chromium_src-db9da27d07d045484f227d7fd3b2f026d6fe7db7.tar.gz
chromium_src-db9da27d07d045484f227d7fd3b2f026d6fe7db7.tar.bz2
changelist for estade readability review.
submitted changelist: http://codereview.chromium.org/9154 Review URL: http://codereview.chromium.org/12605 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6457 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/scoped_clipboard_writer.h')
-rw-r--r--base/scoped_clipboard_writer.h34
1 files changed, 20 insertions, 14 deletions
diff --git a/base/scoped_clipboard_writer.h b/base/scoped_clipboard_writer.h
index 932c334..7bfedf4 100644
--- a/base/scoped_clipboard_writer.h
+++ b/base/scoped_clipboard_writer.h
@@ -2,15 +2,16 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef SCOPED_CLIPBOARD_WRITER_H_
-#define SCOPED_CLIPBOARD_WRITER_H_
+// This file declares the ScopedClipboardWriter class, a wrapper around
+// the Clipboard class which simplifies writing data to the system clipboard.
+// Upon deletion the class atomically writes all data to |clipboard_|,
+// avoiding any potential race condition with other processes that are also
+// writing to the system clipboard.
+#ifndef BASE_SCOPED_CLIPBOARD_WRITER_H_
+#define BASE_SCOPED_CLIPBOARD_WRITER_H_
#include "base/clipboard.h"
-#if defined(OS_WIN)
-class SkBitmap;
-#endif
-
// This class is a wrapper for |Clipboard| that handles packing data
// into a Clipboard::ObjectMap.
// NB: You should probably NOT be using this class if you include
@@ -22,19 +23,21 @@ class ScopedClipboardWriter {
~ScopedClipboardWriter();
- // Adds UNICODE and ASCII text to the clipboard.
+ // Converts |text| to UTF-8 and adds it to the clipboard.
void WriteText(const std::wstring& text);
// Adds HTML to the clipboard. The url parameter is optional, but especially
- // useful if the HTML fragment contains relative links
- void WriteHTML(const std::wstring& markup, const std::string& src_url);
+ // useful if the HTML fragment contains relative links.
+ void WriteHTML(const std::wstring& markup, const std::string& source_url);
- // Adds a bookmark to the clipboard
- void WriteBookmark(const std::wstring& title, const std::string& url);
+ // Adds a bookmark to the clipboard.
+ void WriteBookmark(const std::wstring& bookmark_title,
+ const std::string& url);
// Adds both a bookmark and an HTML hyperlink to the clipboard. It is a
- // convenience wrapper around WriteBookmark and WriteHTML.
- void WriteHyperlink(const std::wstring& title, const std::string& url);
+ // convenience wrapper around WriteBookmark and WriteHTML. |link_text| is
+ // used as the bookmark title.
+ void WriteHyperlink(const std::wstring& link_text, const std::string& url);
// Adds a file or group of files to the clipboard.
void WriteFile(const std::wstring& file);
@@ -49,9 +52,11 @@ class ScopedClipboardWriter {
// memcpy the pixels into GDI and the blit the bitmap to the clipboard.
// Pixel format is assumed to be 32-bit BI_RGB.
void WriteBitmapFromPixels(const void* pixels, const gfx::Size& size);
-#endif
+#endif // defined(OS_WIN)
protected:
+ // We accumulate the data passed to the various targets in the |objects_|
+ // vector, and pass it to Clipboard::WriteObjects() during object destruction.
Clipboard::ObjectMap objects_;
Clipboard* clipboard_;
@@ -60,3 +65,4 @@ class ScopedClipboardWriter {
};
#endif // SCOPED_CLIPBOARD_WRITER_H_
+