diff options
Diffstat (limited to 'ui/base/clipboard')
-rw-r--r-- | ui/base/clipboard/clipboard.cc | 35 | ||||
-rw-r--r-- | ui/base/clipboard/clipboard.h | 41 | ||||
-rw-r--r-- | ui/base/clipboard/clipboard_android.cc | 27 | ||||
-rw-r--r-- | ui/base/clipboard/clipboard_aura.cc | 39 | ||||
-rw-r--r-- | ui/base/clipboard/clipboard_aurax11.cc | 35 | ||||
-rw-r--r-- | ui/base/clipboard/clipboard_gtk.cc | 38 | ||||
-rw-r--r-- | ui/base/clipboard/clipboard_mac.mm | 51 | ||||
-rw-r--r-- | ui/base/clipboard/clipboard_sourcetag.h | 16 | ||||
-rw-r--r-- | ui/base/clipboard/clipboard_unittest.cc | 3 | ||||
-rw-r--r-- | ui/base/clipboard/clipboard_win.cc | 28 | ||||
-rw-r--r-- | ui/base/clipboard/scoped_clipboard_writer.cc | 13 | ||||
-rw-r--r-- | ui/base/clipboard/scoped_clipboard_writer.h | 5 |
12 files changed, 17 insertions, 314 deletions
diff --git a/ui/base/clipboard/clipboard.cc b/ui/base/clipboard/clipboard.cc index 684d8d5..d8d0788 100644 --- a/ui/base/clipboard/clipboard.cc +++ b/ui/base/clipboard/clipboard.cc @@ -92,36 +92,9 @@ static base::LazyInstance<ClipboardMap> g_clipboard_map = static base::LazyInstance<base::Lock>::Leaky g_clipboard_map_lock = LAZY_INSTANCE_INITIALIZER; -const std::size_t kSourceTagSize = sizeof(SourceTag); - -// The union serves to easily convert SourceTag into its binary representation -// and vice versa. -union SourceTag2BinaryHelper { - SourceTag tag; - uint8 bytes[kSourceTagSize]; -}; - } // namespace // static -Clipboard::ObjectMapParam Clipboard::SourceTag2Binary(SourceTag tag) { - SourceTag2BinaryHelper helper; - helper.tag = tag; - std::vector<char> bytes(kSourceTagSize); - memcpy(&bytes[0], helper.bytes, kSourceTagSize); - return bytes; -} - -// static -SourceTag Clipboard::Binary2SourceTag(const std::string& binary) { - if (binary.size() != kSourceTagSize) - return SourceTag(); - SourceTag2BinaryHelper helper; - memcpy(helper.bytes, binary.c_str(), kSourceTagSize); - return helper.tag; -} - -// static void Clipboard::SetAllowedThreads( const std::vector<base::PlatformThreadId>& allowed_threads) { base::AutoLock lock(g_clipboard_map_lock.Get()); @@ -173,14 +146,6 @@ void Clipboard::DestroyClipboardForCurrentThread() { } } -void Clipboard::WriteObjects(Buffer buffer, - const ObjectMap& objects, - SourceTag tag) { - WriteObjectsImpl(buffer, objects, tag); - if (!write_objects_callback_.is_null()) - write_objects_callback_.Run(buffer); -} - void Clipboard::DispatchObject(ObjectType type, const ObjectMapParams& params) { // All types apart from CBF_WEBKIT need at least 1 non-empty param. if (type != CBF_WEBKIT && (params.empty() || params[0].empty())) diff --git a/ui/base/clipboard/clipboard.h b/ui/base/clipboard/clipboard.h index 990728e..fffde68 100644 --- a/ui/base/clipboard/clipboard.h +++ b/ui/base/clipboard/clipboard.h @@ -9,7 +9,6 @@ #include <string> #include <vector> -#include "base/callback.h" #include "base/compiler_specific.h" #include "base/gtest_prod_util.h" #include "base/memory/shared_memory.h" @@ -17,7 +16,6 @@ #include "base/string16.h" #include "base/threading/platform_thread.h" #include "base/threading/thread_checker.h" -#include "ui/base/clipboard/clipboard_sourcetag.h" #include "ui/base/ui_export.h" #if defined(TOOLKIT_GTK) @@ -52,10 +50,8 @@ typedef struct _GtkClipboard GtkClipboard; #endif #ifdef __OBJC__ -@class NSPasteboard; @class NSString; #else -class NSPasteboard; class NSString; #endif @@ -187,9 +183,6 @@ class UI_EXPORT Clipboard : NON_EXPORTED_BASE(public base::ThreadChecker) { typedef std::vector<ObjectMapParam> ObjectMapParams; typedef std::map<int /* ObjectType */, ObjectMapParams> ObjectMap; - static ObjectMapParam SourceTag2Binary(SourceTag tag); - static SourceTag Binary2SourceTag(const std::string& serialization); - // Buffer designates which clipboard the action should be applied to. // Only platforms that use the X Window System support the selection // buffer. @@ -198,13 +191,6 @@ class UI_EXPORT Clipboard : NON_EXPORTED_BASE(public base::ThreadChecker) { BUFFER_SELECTION, }; - // The callback is called after Clipboard::WriteObjects(). - // Don't use it for notification about changed OS clipboard. - void set_write_objects_callback_for_testing( - const base::Callback<void(Buffer)>& cb) { - write_objects_callback_ = cb; - } - static bool IsValidBuffer(int32 buffer) { switch (buffer) { case BUFFER_STANDARD: @@ -242,9 +228,7 @@ class UI_EXPORT Clipboard : NON_EXPORTED_BASE(public base::ThreadChecker) { // contents of |objects|. On Windows they are copied to the system clipboard. // On linux they are copied into a structure owned by the Clipboard object and // kept until the system clipboard is set again. - // SourceTag is optional value to be stored in the clipboard, NULL won't be - // stored. - void WriteObjects(Buffer buffer, const ObjectMap& objects, SourceTag tag); + void WriteObjects(Buffer buffer, const ObjectMap& objects); // Returns a sequence number which uniquely identifies clipboard state. // This can be used to version the data on the clipboard and determine @@ -291,9 +275,6 @@ class UI_EXPORT Clipboard : NON_EXPORTED_BASE(public base::ThreadChecker) { // as a byte vector. void ReadData(const FormatType& format, std::string* result) const; - // Reads Source tag from the clipboard, if available. - SourceTag ReadSourceTag(Buffer buffer) const; - // Gets the FormatType corresponding to an arbitrary format string, // registering it with the system if needed. Due to Windows/Linux // limitiations, |format_string| must never be controlled by the user. @@ -316,7 +297,6 @@ class UI_EXPORT Clipboard : NON_EXPORTED_BASE(public base::ThreadChecker) { // crbug.com/158399. static const FormatType& GetWebCustomDataFormatType(); static const FormatType& GetPepperCustomDataFormatType(); - static const FormatType& GetSourceTagFormatType(); // Embeds a pointer to a SharedMemory object pointed to by |bitmap_handle| // belonging to |process| into a shared bitmap [CBF_SMBITMAP] slot in @@ -334,12 +314,6 @@ class UI_EXPORT Clipboard : NON_EXPORTED_BASE(public base::ThreadChecker) { static const FormatType& GetFileContentZeroFormatType(); #endif -#if defined(OS_MACOSX) - // Allows code that directly manipulates the clipboard and doesn't use this - // class to write a SourceTag. - static void WriteSourceTag(NSPasteboard* pb, SourceTag tag); -#endif - private: FRIEND_TEST_ALL_PREFIXES(ClipboardTest, SharedBitmapTest); FRIEND_TEST_ALL_PREFIXES(ClipboardTest, EmptyHTMLTest); @@ -350,8 +324,6 @@ class UI_EXPORT Clipboard : NON_EXPORTED_BASE(public base::ThreadChecker) { void DispatchObject(ObjectType type, const ObjectMapParams& params); - void WriteObjectsImpl(Buffer buffer, const ObjectMap& objects, SourceTag tag); - void WriteText(const char* text_data, size_t text_len); void WriteHTML(const char* markup_data, @@ -373,8 +345,6 @@ class UI_EXPORT Clipboard : NON_EXPORTED_BASE(public base::ThreadChecker) { void WriteData(const FormatType& format, const char* data_data, size_t data_len); - - void WriteSourceTag(SourceTag tag); #if defined(OS_WIN) void WriteBitmapFromHandle(HBITMAP source_hbitmap, const gfx::Size& size); @@ -418,26 +388,17 @@ class UI_EXPORT Clipboard : NON_EXPORTED_BASE(public base::ThreadChecker) { // Find the gtk clipboard for the passed buffer enum. GtkClipboard* LookupBackingClipboard(Buffer clipboard) const; - // Reads raw data from the specified clipboard with the given format type. - void ReadDataImpl(Buffer buffer, - const FormatType& format, - std::string* result) const; TargetMap* clipboard_data_; GtkClipboard* clipboard_; GtkClipboard* primary_selection_; #elif defined(USE_AURA) && defined(USE_X11) && !defined(OS_CHROMEOS) private: - // Reads raw data from the specified clipboard with the given format type. - void ReadDataImpl(Buffer buffer, - const FormatType& format, - std::string* result) const; // We keep our implementation details private because otherwise we bring in // the X11 headers and break chrome compile. class AuraX11Details; scoped_ptr<AuraX11Details> aurax11_details_; #endif - base::Callback<void(Buffer)> write_objects_callback_; DISALLOW_COPY_AND_ASSIGN(Clipboard); }; diff --git a/ui/base/clipboard/clipboard_android.cc b/ui/base/clipboard/clipboard_android.cc index 337c1ea..7298979 100644 --- a/ui/base/clipboard/clipboard_android.cc +++ b/ui/base/clipboard/clipboard_android.cc @@ -43,7 +43,6 @@ const char kWebKitSmartPasteFormat[] = "webkit_smart"; const char kBookmarkFormat[] = "bookmark"; const char kMimeTypePepperCustomData[] = "chromium/x-pepper-custom-data"; const char kMimeTypeWebCustomData[] = "chromium/x-web-custom-data"; -const char kSourceTagFormat[] = "source_tag"; class ClipboardMap { public: @@ -184,9 +183,7 @@ Clipboard::~Clipboard() { } // Main entry point used to write several values in the clipboard. -void Clipboard::WriteObjectsImpl(Buffer buffer, - const ObjectMap& objects, - SourceTag tag) { +void Clipboard::WriteObjects(Buffer buffer, const ObjectMap& objects) { DCHECK(CalledOnValidThread()); DCHECK_EQ(buffer, BUFFER_STANDARD); g_map.Get().Clear(); @@ -194,7 +191,6 @@ void Clipboard::WriteObjectsImpl(Buffer buffer, iter != objects.end(); ++iter) { DispatchObject(static_cast<ObjectType>(iter->first), iter->second); } - WriteSourceTag(tag); } uint64 Clipboard::GetSequenceNumber(Clipboard::Buffer /* buffer */) { @@ -312,14 +308,6 @@ void Clipboard::ReadData(const Clipboard::FormatType& format, *result = g_map.Get().Get(format.data()); } -SourceTag Clipboard::ReadSourceTag(Buffer buffer) const { - DCHECK(CalledOnValidThread()); - DCHECK_EQ(buffer, BUFFER_STANDARD); - std::string result; - ReadData(GetSourceTagFormatType(), &result); - return Binary2SourceTag(result); -} - // static Clipboard::FormatType Clipboard::GetFormatType( const std::string& format_string) { @@ -374,12 +362,6 @@ const Clipboard::FormatType& Clipboard::GetPepperCustomDataFormatType() { return type; } -// static -const Clipboard::FormatType& Clipboard::GetSourceTagFormatType() { - CR_DEFINE_STATIC_LOCAL(FormatType, type, (kSourceTagFormat)); - return type; -} - void Clipboard::WriteText(const char* text_data, size_t text_len) { g_map.Get().Set(kPlainTextFormat, std::string(text_data, text_len)); } @@ -426,13 +408,6 @@ void Clipboard::WriteData(const Clipboard::FormatType& format, g_map.Get().Set(format.data(), std::string(data_data, data_len)); } -void Clipboard::WriteSourceTag(SourceTag tag) { - if (tag != SourceTag()) { - ObjectMapParam binary = SourceTag2Binary(tag); - WriteData(GetSourceTagFormatType(), &binary[0], binary.size()); - } -} - // See clipboard_android_initialization.h for more information. bool RegisterClipboardAndroid(JNIEnv* env) { return RegisterNativesImpl(env); diff --git a/ui/base/clipboard/clipboard_aura.cc b/ui/base/clipboard/clipboard_aura.cc index d56e494..018a028 100644 --- a/ui/base/clipboard/clipboard_aura.cc +++ b/ui/base/clipboard/clipboard_aura.cc @@ -34,7 +34,6 @@ enum AuraClipboardFormat { BITMAP = 1 << 4, CUSTOM = 1 << 5, WEB = 1 << 6, - SOURCETAG = 1 << 7, }; // ClipboardData contains data copied to the Clipboard for a variety of formats. @@ -43,7 +42,6 @@ class ClipboardData { public: ClipboardData() : bitmap_data_(), - source_tag_(), web_smart_paste_(false), format_(0) {} @@ -120,12 +118,6 @@ class ClipboardData { format_ |= WEB; } - SourceTag source_tag() const { return source_tag_; } - void set_source_tag(SourceTag tag) { - source_tag_ = tag; - format_ |= SOURCETAG; - } - private: // Plain text in UTF8 format. std::string text_; @@ -152,9 +144,6 @@ class ClipboardData { std::string custom_data_format_; std::string custom_data_data_; - // SourceTag. - SourceTag source_tag_; - // WebKit smart paste data. bool web_smart_paste_; @@ -307,13 +296,6 @@ class AuraClipboard { *result = data->custom_data_data(); } - SourceTag ReadSourceTag() const { - if (!HasFormat(SOURCETAG)) - return SourceTag(); - const ClipboardData* data = GetData(); - return data->source_tag(); - } - // Writes |data| to the top of the clipboard stack. void WriteData(ClipboardData* data) { DCHECK(data); @@ -417,11 +399,6 @@ class ClipboardDataBuilder { data->SetCustomData(format, std::string(data_data, data_len)); } - static void WriteSourceTag(SourceTag tag) { - ClipboardData* data = GetCurrentData(); - data->set_source_tag(tag); - } - private: static ClipboardData* GetCurrentData() { if (!current_data_) @@ -475,16 +452,13 @@ Clipboard::~Clipboard() { DeleteClipboard(); } -void Clipboard::WriteObjectsImpl(Buffer buffer, - const ObjectMap& objects, - SourceTag tag) { +void Clipboard::WriteObjects(Buffer buffer, const ObjectMap& objects) { DCHECK(CalledOnValidThread()); DCHECK(IsValidBuffer(buffer)); for (ObjectMap::const_iterator iter = objects.begin(); iter != objects.end(); ++iter) { DispatchObject(static_cast<ObjectType>(iter->first), iter->second); } - WriteSourceTag(tag); ClipboardDataBuilder::CommitToClipboard(); } @@ -591,12 +565,6 @@ void Clipboard::ReadData(const FormatType& format, std::string* result) const { GetClipboard()->ReadData(format.ToString(), result); } -SourceTag Clipboard::ReadSourceTag(Buffer buffer) const { - DCHECK(CalledOnValidThread()); - DCHECK_EQ(BUFFER_STANDARD, buffer); - return GetClipboard()->ReadSourceTag(); -} - uint64 Clipboard::GetSequenceNumber(Buffer buffer) { DCHECK(CalledOnValidThread()); return GetClipboard()->GetNumClipboardEntries(); @@ -638,11 +606,6 @@ void Clipboard::WriteData(const FormatType& format, ClipboardDataBuilder::WriteData(format.ToString(), data_data, data_len); } -void Clipboard::WriteSourceTag(SourceTag tag) { - if (tag != SourceTag()) - ClipboardDataBuilder::WriteSourceTag(tag); -} - // static Clipboard::FormatType Clipboard::GetFormatType( const std::string& format_string) { diff --git a/ui/base/clipboard/clipboard_aurax11.cc b/ui/base/clipboard/clipboard_aurax11.cc index bfc474b..431d324 100644 --- a/ui/base/clipboard/clipboard_aurax11.cc +++ b/ui/base/clipboard/clipboard_aurax11.cc @@ -37,7 +37,6 @@ const char kMimeTypeBitmap[] = "image/bmp"; const char kMimeTypeFilename[] = "chromium/filename"; const char kMimeTypePepperCustomData[] = "chromium/x-pepper-custom-data"; const char kMimeTypeWebkitSmartPaste[] = "chromium/x-webkit-paste"; -const char kSourceTagType[] = "org.chromium.source-tag"; const char kTargets[] = "TARGETS"; const char* kAtomsToCache[] = { @@ -46,7 +45,6 @@ const char* kAtomsToCache[] = { kMimeTypeFilename, kMimeTypeMozillaURL, kMimeTypeWebkitSmartPaste, - kSourceTagType, kString, kTargets, kText, @@ -540,9 +538,7 @@ Clipboard::~Clipboard() { // current selection to live on. } -void Clipboard::WriteObjectsImpl(Buffer buffer, - const ObjectMap& objects, - SourceTag tag) { +void Clipboard::WriteObjects(Buffer buffer, const ObjectMap& objects) { DCHECK(CalledOnValidThread()); DCHECK(IsValidBuffer(buffer)); @@ -551,7 +547,6 @@ void Clipboard::WriteObjectsImpl(Buffer buffer, iter != objects.end(); ++iter) { DispatchObject(static_cast<ObjectType>(iter->first), iter->second); } - WriteSourceTag(tag); aurax11_details_->TakeOwnershipOfSelection(buffer); if (buffer == BUFFER_STANDARD) { @@ -560,7 +555,6 @@ void Clipboard::WriteObjectsImpl(Buffer buffer, aurax11_details_->CreateNewClipboardData(); const ObjectMapParam& char_vector = text_iter->second[0]; WriteText(&char_vector.front(), char_vector.size()); - WriteSourceTag(tag); aurax11_details_->TakeOwnershipOfSelection(BUFFER_SELECTION); } } @@ -696,26 +690,14 @@ void Clipboard::ReadBookmark(string16* title, std::string* url) const { } void Clipboard::ReadData(const FormatType& format, std::string* result) const { - ReadDataImpl(BUFFER_STANDARD, format, result); -} - -void Clipboard::ReadDataImpl(Buffer buffer, - const FormatType& format, - std::string* result) const { DCHECK(CalledOnValidThread()); scoped_ptr<SelectionData> data(aurax11_details_->RequestAndWaitForTypes( - buffer, aurax11_details_->GetAtomsForFormat(format))); + BUFFER_STANDARD, aurax11_details_->GetAtomsForFormat(format))); if (data.get()) data->AssignTo(result); } -SourceTag Clipboard::ReadSourceTag(Buffer buffer) const { - std::string result; - ReadDataImpl(buffer, GetSourceTagFormatType(), &result); - return Binary2SourceTag(result); -} - uint64 Clipboard::GetSequenceNumber(Buffer buffer) { DCHECK(CalledOnValidThread()); if (buffer == BUFFER_STANDARD) @@ -797,13 +779,6 @@ void Clipboard::WriteData(const FormatType& format, aurax11_details_->InsertMapping(format.ToString(), data, data_len); } -void Clipboard::WriteSourceTag(SourceTag tag) { - if (tag != SourceTag()) { - ObjectMapParam binary = SourceTag2Binary(tag); - WriteData(GetSourceTagFormatType(), &binary[0], binary.size()); - } -} - // static Clipboard::FormatType Clipboard::GetFormatType( const std::string& format_string) { @@ -879,10 +854,4 @@ const Clipboard::FormatType& Clipboard::GetPepperCustomDataFormatType() { return type; } -// static -const Clipboard::FormatType& Clipboard::GetSourceTagFormatType() { - CR_DEFINE_STATIC_LOCAL(FormatType, type, (kSourceTagType)); - return type; -} - } // namespace ui diff --git a/ui/base/clipboard/clipboard_gtk.cc b/ui/base/clipboard/clipboard_gtk.cc index 7d16c16..659550f 100644 --- a/ui/base/clipboard/clipboard_gtk.cc +++ b/ui/base/clipboard/clipboard_gtk.cc @@ -106,7 +106,6 @@ GdkFilterReturn SelectionChangeObserver::OnXEvent(GdkXEvent* xevent, return GDK_FILTER_CONTINUE; } -const char kSourceTagType[] = "org.chromium.source-tag"; const char kMimeTypeBitmap[] = "image/bmp"; const char kMimeTypeMozillaURL[] = "text/x-moz-url"; const char kMimeTypePepperCustomData[] = "chromium/x-pepper-custom-data"; @@ -218,9 +217,7 @@ Clipboard::~Clipboard() { gtk_clipboard_store(clipboard_); } -void Clipboard::WriteObjectsImpl(Buffer buffer, - const ObjectMap& objects, - SourceTag tag) { +void Clipboard::WriteObjects(Buffer buffer, const ObjectMap& objects) { DCHECK(CalledOnValidThread()); clipboard_data_ = new TargetMap(); @@ -228,7 +225,6 @@ void Clipboard::WriteObjectsImpl(Buffer buffer, iter != objects.end(); ++iter) { DispatchObject(static_cast<ObjectType>(iter->first), iter->second); } - WriteSourceTag(tag); SetGtkClipboard(buffer); if (buffer == BUFFER_STANDARD) { @@ -236,9 +232,7 @@ void Clipboard::WriteObjectsImpl(Buffer buffer, if (text_iter != objects.end()) { // Copy text and SourceTag to the selection clipboard. ObjectMap::const_iterator next_iter = text_iter; - WriteObjectsImpl(BUFFER_SELECTION, - ObjectMap(text_iter, ++next_iter), - tag); + WriteObjects(BUFFER_SELECTION, ObjectMap(text_iter, ++next_iter)); } } } @@ -356,13 +350,6 @@ void Clipboard::WriteData(const FormatType& format, InsertMapping(GdkAtomToString(format.ToGdkAtom()).c_str(), data, data_len); } -void Clipboard::WriteSourceTag(SourceTag tag) { - if (tag != SourceTag()) { - ObjectMapParam binary = SourceTag2Binary(tag); - WriteData(GetSourceTagFormatType(), &binary[0], binary.size()); - } -} - // We do not use gtk_clipboard_wait_is_target_available because of // a bug with the gtk clipboard. It caches the available targets // and does not always refresh the cache when it is appropriate. @@ -589,17 +576,10 @@ void Clipboard::ReadBookmark(string16* title, std::string* url) const { } void Clipboard::ReadData(const FormatType& format, std::string* result) const { - ReadDataImpl(BUFFER_STANDARD, format, result); -} - -void Clipboard::ReadDataImpl(Buffer buffer, - const FormatType& format, - std::string* result) const { DCHECK(CalledOnValidThread()); result->clear(); - GtkClipboard* clipboard = LookupBackingClipboard(buffer); GtkSelectionData* data = - gtk_clipboard_wait_for_contents(clipboard, format.ToGdkAtom()); + gtk_clipboard_wait_for_contents(clipboard_, format.ToGdkAtom()); if (!data) return; result->assign(reinterpret_cast<const char*>( @@ -608,12 +588,6 @@ void Clipboard::ReadDataImpl(Buffer buffer, gtk_selection_data_free(data); } -SourceTag Clipboard::ReadSourceTag(Buffer buffer) const { - std::string result; - ReadDataImpl(buffer, GetSourceTagFormatType(), &result); - return Binary2SourceTag(result); -} - uint64 Clipboard::GetSequenceNumber(Buffer buffer) { DCHECK(CalledOnValidThread()); if (buffer == BUFFER_STANDARD) @@ -686,12 +660,6 @@ const Clipboard::FormatType& Clipboard::GetPepperCustomDataFormatType() { return type; } -// static -const Clipboard::FormatType& Clipboard::GetSourceTagFormatType() { - CR_DEFINE_STATIC_LOCAL(FormatType, type, (kSourceTagType)); - return type; -} - void Clipboard::InsertMapping(const char* key, char* data, size_t data_len) { diff --git a/ui/base/clipboard/clipboard_mac.mm b/ui/base/clipboard/clipboard_mac.mm index c8b0b86..e95dc7f 100644 --- a/ui/base/clipboard/clipboard_mac.mm +++ b/ui/base/clipboard/clipboard_mac.mm @@ -26,9 +26,6 @@ namespace ui { namespace { -// Source tag format type. -NSString* const kSourceTagPboardType = @"org.chromium.source-tag-data"; - // Would be nice if this were in UTCoreTypes.h, but it isn't NSString* const kUTTypeURLName = @"public.url-name"; @@ -49,15 +46,6 @@ NSPasteboard* GetPasteboard() { return pasteboard; } -void WriteDataImpl(NSPasteboard* pb, - NSString* format, - const char* data_data, - size_t data_len) { - [pb addTypes:[NSArray arrayWithObject:format] owner:nil]; - [pb setData:[NSData dataWithBytes:data_data length:data_len] - forType:format]; -} - } // namespace Clipboard::FormatType::FormatType() : data_(nil) { @@ -102,9 +90,7 @@ Clipboard::~Clipboard() { DCHECK(CalledOnValidThread()); } -void Clipboard::WriteObjectsImpl(Buffer buffer, - const ObjectMap& objects, - SourceTag tag) { +void Clipboard::WriteObjects(Buffer buffer, const ObjectMap& objects) { DCHECK(CalledOnValidThread()); DCHECK_EQ(buffer, BUFFER_STANDARD); @@ -115,7 +101,6 @@ void Clipboard::WriteObjectsImpl(Buffer buffer, iter != objects.end(); ++iter) { DispatchObject(static_cast<ObjectType>(iter->first), iter->second); } - WriteSourceTag(tag); } void Clipboard::WriteText(const char* text_data, size_t text_len) { @@ -221,23 +206,10 @@ void Clipboard::WriteBitmap(const char* pixel_data, const char* size_data) { void Clipboard::WriteData(const FormatType& format, const char* data_data, size_t data_len) { - WriteDataImpl(GetPasteboard(), format.ToNSString(), data_data, data_len); -} - -void Clipboard::WriteSourceTag(SourceTag tag) { - if (tag != SourceTag()) - WriteSourceTag(GetPasteboard(), tag); -} - -// static -void Clipboard::WriteSourceTag(NSPasteboard* pb, SourceTag tag) { - if (tag != SourceTag()) { - ObjectMapParam binary = SourceTag2Binary(tag); - WriteDataImpl(pb, - GetSourceTagFormatType().ToNSString(), - &binary[0], - binary.size()); - } + NSPasteboard* pb = GetPasteboard(); + [pb addTypes:[NSArray arrayWithObject:format.ToNSString()] owner:nil]; + [pb setData:[NSData dataWithBytes:data_data length:data_len] + forType:format.ToNSString()]; } // Write an extra flavor that signifies WebKit was the last to modify the @@ -438,13 +410,6 @@ void Clipboard::ReadData(const FormatType& format, std::string* result) const { result->assign(static_cast<const char*>([data bytes]), [data length]); } -SourceTag Clipboard::ReadSourceTag(Buffer buffer) const { - DCHECK_EQ(buffer, BUFFER_STANDARD); - std::string result; - ReadData(GetSourceTagFormatType(), &result); - return Binary2SourceTag(result); -} - // static Clipboard::FormatType Clipboard::GetFormatType( const std::string& format_string) { @@ -520,10 +485,4 @@ const Clipboard::FormatType& Clipboard::GetPepperCustomDataFormatType() { return type; } -// static -const Clipboard::FormatType& Clipboard::GetSourceTagFormatType() { - CR_DEFINE_STATIC_LOCAL(FormatType, type, (kSourceTagPboardType)); - return type; -} - } // namespace ui diff --git a/ui/base/clipboard/clipboard_sourcetag.h b/ui/base/clipboard/clipboard_sourcetag.h deleted file mode 100644 index ba4ab94..0000000 --- a/ui/base/clipboard/clipboard_sourcetag.h +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2013 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef UI_BASE_CLIPBOARD_CLIPBOARD_SOURCETAG_H_ -#define UI_BASE_CLIPBOARD_CLIPBOARD_SOURCETAG_H_ - -namespace ui { - -// Clipboard::WriteObject() caller can use the SourceTag that will be stored in -// the clipboard. NULL value means "no tag". -typedef void* SourceTag; - -} // namespace ui - -#endif // UI_BASE_CLIPBOARD_CLIPBOARD_SOURCETAG_H_ diff --git a/ui/base/clipboard/clipboard_unittest.cc b/ui/base/clipboard/clipboard_unittest.cc index 0215a97..7bef76d 100644 --- a/ui/base/clipboard/clipboard_unittest.cc +++ b/ui/base/clipboard/clipboard_unittest.cc @@ -361,8 +361,7 @@ TEST_F(ClipboardTest, SharedBitmapTest) { Clipboard::ReplaceSharedMemHandle(&objects, handle_to_share, current_process); clipboard().WriteObjects(Clipboard::BUFFER_STANDARD, - objects, - SourceTag()); + objects); EXPECT_TRUE(clipboard().IsFormatAvailable(Clipboard::GetBitmapFormatType(), Clipboard::BUFFER_STANDARD)); diff --git a/ui/base/clipboard/clipboard_win.cc b/ui/base/clipboard/clipboard_win.cc index 2935ea2..e7dec5e 100644 --- a/ui/base/clipboard/clipboard_win.cc +++ b/ui/base/clipboard/clipboard_win.cc @@ -225,9 +225,7 @@ Clipboard::~Clipboard() { clipboard_owner_ = NULL; } -void Clipboard::WriteObjectsImpl(Buffer buffer, - const ObjectMap& objects, - SourceTag tag) { +void Clipboard::WriteObjects(Buffer buffer, const ObjectMap& objects) { DCHECK_EQ(buffer, BUFFER_STANDARD); ScopedClipboard clipboard; @@ -240,7 +238,6 @@ void Clipboard::WriteObjectsImpl(Buffer buffer, iter != objects.end(); ++iter) { DispatchObject(static_cast<ObjectType>(iter->first), iter->second); } - WriteSourceTag(tag); } void Clipboard::WriteText(const char* text_data, size_t text_len) { @@ -380,13 +377,6 @@ void Clipboard::WriteData(const FormatType& format, WriteToClipboard(format.ToUINT(), hdata); } -void Clipboard::WriteSourceTag(SourceTag tag) { - if (tag != SourceTag()) { - ObjectMapParam binary = SourceTag2Binary(tag); - WriteData(GetSourceTagFormatType(), &binary[0], binary.size()); - } -} - void Clipboard::WriteToClipboard(unsigned int format, HANDLE handle) { DCHECK(clipboard_owner_); if (handle && !::SetClipboardData(format, handle)) { @@ -677,13 +667,6 @@ void Clipboard::ReadData(const FormatType& format, std::string* result) const { ::GlobalUnlock(data); } -SourceTag Clipboard::ReadSourceTag(Buffer buffer) const { - DCHECK_EQ(buffer, BUFFER_STANDARD); - std::string result; - ReadData(GetSourceTagFormatType(), &result); - return Binary2SourceTag(result); -} - // static void Clipboard::ParseBookmarkClipboardFormat(const string16& bookmark, string16* title, @@ -834,15 +817,6 @@ const Clipboard::FormatType& Clipboard::GetPepperCustomDataFormatType() { } // static -const Clipboard::FormatType& Clipboard::GetSourceTagFormatType() { - CR_DEFINE_STATIC_LOCAL( - FormatType, - type, - (::RegisterClipboardFormat(L"Chromium Source tag Format"))); - return type; -} - -// static void Clipboard::FreeData(unsigned int format, HANDLE data) { if (format == CF_BITMAP) ::DeleteObject(static_cast<HBITMAP>(data)); diff --git a/ui/base/clipboard/scoped_clipboard_writer.cc b/ui/base/clipboard/scoped_clipboard_writer.cc index 1c215bb..9726446 100644 --- a/ui/base/clipboard/scoped_clipboard_writer.cc +++ b/ui/base/clipboard/scoped_clipboard_writer.cc @@ -17,21 +17,12 @@ namespace ui { ScopedClipboardWriter::ScopedClipboardWriter(Clipboard* clipboard, Clipboard::Buffer buffer) : clipboard_(clipboard), - buffer_(buffer), - source_tag_() { -} - -ScopedClipboardWriter::ScopedClipboardWriter(Clipboard* clipboard, - Clipboard::Buffer buffer, - SourceTag source_tag) - : clipboard_(clipboard), - buffer_(buffer), - source_tag_(source_tag) { + buffer_(buffer) { } ScopedClipboardWriter::~ScopedClipboardWriter() { if (!objects_.empty() && clipboard_) - clipboard_->WriteObjects(buffer_, objects_, source_tag_); + clipboard_->WriteObjects(buffer_, objects_); } void ScopedClipboardWriter::WriteText(const string16& text) { diff --git a/ui/base/clipboard/scoped_clipboard_writer.h b/ui/base/clipboard/scoped_clipboard_writer.h index 32f9a87..576922b 100644 --- a/ui/base/clipboard/scoped_clipboard_writer.h +++ b/ui/base/clipboard/scoped_clipboard_writer.h @@ -30,10 +30,6 @@ class UI_EXPORT ScopedClipboardWriter { // Create an instance that is a simple wrapper around clipboard. ScopedClipboardWriter(Clipboard* clipboard, Clipboard::Buffer buffer); - ScopedClipboardWriter(Clipboard* clipboard, - Clipboard::Buffer buffer, - SourceTag source_tag); - ~ScopedClipboardWriter(); // Converts |text| to UTF-8 and adds it to the clipboard. @@ -82,7 +78,6 @@ class UI_EXPORT ScopedClipboardWriter { Clipboard::ObjectMap objects_; Clipboard* clipboard_; Clipboard::Buffer buffer_; - SourceTag source_tag_; // We keep around the UTF-8 text of the URL in order to pass it to // Clipboard::DidWriteURL(). |