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

Unified Diff: ui/base/clipboard/clipboard_aura.cc

Issue 8165016: Simple clipboard support for aura (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: " Created 9 years, 2 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | views/controls/textfield/native_textfield_views_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/base/clipboard/clipboard_aura.cc
diff --git a/ui/base/clipboard/clipboard_aura.cc b/ui/base/clipboard/clipboard_aura.cc
index c3f4c87dca030b3f46a8e16c696edc8f93659589..4f19f1c623ac401df4eebcf1c185741271605679 100644
--- a/ui/base/clipboard/clipboard_aura.cc
+++ b/ui/base/clipboard/clipboard_aura.cc
@@ -5,6 +5,7 @@
#include "ui/base/clipboard/clipboard.h"
#include "base/logging.h"
+#include "base/utf_string_conversions.h"
#include "third_party/skia/include/core/SkBitmap.h"
namespace ui {
@@ -12,8 +13,35 @@ namespace ui {
namespace {
const char kMimeTypeBitmap[] = "image/bmp";
const char kMimeTypeWebkitSmartPaste[] = "chromium/x-webkit-paste";
+
+// A mimimum clipboard implementation for simple text cut&paste.
+class ClipboardData {
+ public:
+ ClipboardData() {}
+ virtual ~ClipboardData() {}
+
+ const std::string& text() const { return utf8_text_; }
+
+ void set_text(const std::string& text) {
+ utf8_text_ = text;
+ }
+
+ private:
+ std::string utf8_text_;
+
+ DISALLOW_COPY_AND_ASSIGN(ClipboardData);
+};
+
+ClipboardData* data = NULL;
+
+ClipboardData* GetClipboardData() {
+ if (!data)
+ data = new ClipboardData();
+ return data;
}
+} // namespace
+
Clipboard::Clipboard() {
NOTIMPLEMENTED();
}
@@ -22,6 +50,10 @@ Clipboard::~Clipboard() {
}
void Clipboard::WriteObjects(const ObjectMap& objects) {
+ for (ObjectMap::const_iterator iter = objects.begin();
+ iter != objects.end(); ++iter) {
+ DispatchObject(static_cast<ObjectType>(iter->first), iter->second);
+ }
NOTIMPLEMENTED();
sadrul 2011/10/06 19:53:59 Can this be removed now? Or are there more things
oshima 2011/10/06 20:01:05 removed.
}
@@ -53,11 +85,11 @@ void Clipboard::ReadAvailableTypes(Buffer buffer, std::vector<string16>* types,
}
void Clipboard::ReadText(Buffer buffer, string16* result) const {
- NOTIMPLEMENTED();
+ *result = UTF8ToUTF16(GetClipboardData()->text());
}
void Clipboard::ReadAsciiText(Buffer buffer, std::string* result) const {
- NOTIMPLEMENTED();
+ *result = GetClipboardData()->text();
}
void Clipboard::ReadHTML(Buffer buffer, string16* markup,
@@ -92,7 +124,7 @@ uint64 Clipboard::GetSequenceNumber() {
}
void Clipboard::WriteText(const char* text_data, size_t text_len) {
- NOTIMPLEMENTED();
+ GetClipboardData()->set_text(std::string(text_data, text_len));
}
void Clipboard::WriteHTML(const char* markup_data,
« no previous file with comments | « no previous file | views/controls/textfield/native_textfield_views_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698