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

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

Issue 9232075: Have ScopedClipboardWriter and Clipboard::WriteObjects take a buffer parameter. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Fix build error Created 8 years, 11 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
Index: ui/base/clipboard/clipboard_gtk.cc
diff --git a/ui/base/clipboard/clipboard_gtk.cc b/ui/base/clipboard/clipboard_gtk.cc
index a63bb8eef7eee0284ba085f74614d0a4cc033bdd..c26028edf4789e9d226d80bf1165c6046d6f5e85 100644
--- a/ui/base/clipboard/clipboard_gtk.cc
+++ b/ui/base/clipboard/clipboard_gtk.cc
@@ -218,7 +218,7 @@ Clipboard::~Clipboard() {
gtk_clipboard_store(clipboard_);
}
-void Clipboard::WriteObjects(const ObjectMap& objects) {
+void Clipboard::WriteObjects(Buffer buffer, const ObjectMap& objects) {
clipboard_data_ = new TargetMap();
for (ObjectMap::const_iterator iter = objects.begin();
@@ -226,19 +226,21 @@ void Clipboard::WriteObjects(const ObjectMap& objects) {
DispatchObject(static_cast<ObjectType>(iter->first), iter->second);
}
- SetGtkClipboard();
+ SetGtkClipboard(buffer);
}
// When a URL is copied from a render view context menu (via "copy link
// location", for example), we additionally stick it in the X clipboard. This
// matches other linux browsers.
-void Clipboard::DidWriteURL(const std::string& utf8_text) {
- gtk_clipboard_set_text(primary_selection_, utf8_text.c_str(),
- utf8_text.length());
+void Clipboard::DidWriteURL(Buffer buffer, const std::string& utf8_text) {
+ if (buffer == BUFFER_STANDARD) {
+ gtk_clipboard_set_text(primary_selection_, utf8_text.c_str(),
+ utf8_text.length());
+ }
}
// Take ownership of the GTK clipboard and inform it of the targets we support.
-void Clipboard::SetGtkClipboard() {
+void Clipboard::SetGtkClipboard(Buffer buffer) {
scoped_array<GtkTargetEntry> targets(
new GtkTargetEntry[clipboard_data_->size()]);
@@ -250,11 +252,13 @@ void Clipboard::SetGtkClipboard() {
targets[i].info = 0;
}
- if (gtk_clipboard_set_with_data(clipboard_, targets.get(),
+ GtkClipboard *clipboard = LookupBackingClipboard(buffer);
+
+ if (gtk_clipboard_set_with_data(clipboard, targets.get(),
clipboard_data_->size(),
GetData, ClearData,
clipboard_data_)) {
- gtk_clipboard_set_can_store(clipboard_,
+ gtk_clipboard_set_can_store(clipboard,
targets.get(),
clipboard_data_->size());
}

Powered by Google App Engine
This is Rietveld 408576698