Commit 6588d67c authored by dcheng@chromium.org's avatar dcheng@chromium.org

Revert 112986 - Implement Clipboard::ReadData and Clipboard::WriteData for Mac.

BUG=31037
TEST=ui_unittests --gtest_filter=ClipboardTest.*

Review URL: http://codereview.chromium.org/8803006

TBR=dcheng@chromium.org
Review URL: http://codereview.chromium.org/8801015

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112993 0039d316-1c4b-4281-b951-d872f2087c98
parent 36d7b27d
...@@ -141,10 +141,12 @@ void Clipboard::DispatchObject(ObjectType type, const ObjectMapParams& params) { ...@@ -141,10 +141,12 @@ void Clipboard::DispatchObject(ObjectType type, const ObjectMapParams& params) {
break; break;
} }
#if !defined(OS_MACOSX)
case CBF_DATA: case CBF_DATA:
WriteData(&(params[0].front()), params[0].size(), WriteData(&(params[0].front()), params[0].size(),
&(params[1].front()), params[1].size()); &(params[1].front()), params[1].size());
break; break;
#endif // !defined(OS_MACOSX)
default: default:
NOTREACHED(); NOTREACHED();
......
...@@ -172,7 +172,7 @@ class UI_EXPORT Clipboard { ...@@ -172,7 +172,7 @@ class UI_EXPORT Clipboard {
// as a byte vector. // as a byte vector.
// TODO(dcheng): Due to platform limitations on Windows, we should make sure // TODO(dcheng): Due to platform limitations on Windows, we should make sure
// format is never controlled by the user. // format is never controlled by the user.
void ReadData(const std::string& format, std::string* result) const; void ReadData(const std::string& format, std::string* result);
// Get format Identifiers for various types. // Get format Identifiers for various types.
static FormatType GetUrlFormatType(); static FormatType GetUrlFormatType();
...@@ -225,10 +225,12 @@ class UI_EXPORT Clipboard { ...@@ -225,10 +225,12 @@ class UI_EXPORT Clipboard {
void WriteBitmap(const char* pixel_data, const char* size_data); void WriteBitmap(const char* pixel_data, const char* size_data);
#if !defined(OS_MACOSX)
// |format_name| is an ASCII string and should be NULL-terminated. // |format_name| is an ASCII string and should be NULL-terminated.
// TODO(estade): port to mac. // TODO(estade): port to mac.
void WriteData(const char* format_name, size_t format_len, void WriteData(const char* format_name, size_t format_len,
const char* data_data, size_t data_len); const char* data_data, size_t data_len);
#endif
#if defined(OS_WIN) #if defined(OS_WIN)
void WriteBitmapFromHandle(HBITMAP source_hbitmap, void WriteBitmapFromHandle(HBITMAP source_hbitmap,
const gfx::Size& size); const gfx::Size& size);
......
...@@ -260,7 +260,7 @@ void Clipboard::ReadFiles(std::vector<FilePath>* files) const { ...@@ -260,7 +260,7 @@ void Clipboard::ReadFiles(std::vector<FilePath>* files) const {
NOTIMPLEMENTED(); NOTIMPLEMENTED();
} }
void Clipboard::ReadData(const std::string& format, std::string* result) const { void Clipboard::ReadData(const std::string& format, std::string* result) {
result->clear(); result->clear();
ClipboardData* data = GetClipboardData(); ClipboardData* data = GetClipboardData();
if (data->custom_data_format() == format) if (data->custom_data_format() == format)
......
...@@ -500,7 +500,7 @@ void Clipboard::ReadBookmark(string16* title, std::string* url) const { ...@@ -500,7 +500,7 @@ void Clipboard::ReadBookmark(string16* title, std::string* url) const {
NOTIMPLEMENTED(); NOTIMPLEMENTED();
} }
void Clipboard::ReadData(const std::string& format, std::string* result) const { void Clipboard::ReadData(const std::string& format, std::string* result) {
GtkSelectionData* data = GtkSelectionData* data =
gtk_clipboard_wait_for_contents(clipboard_, StringToGdkAtom(format)); gtk_clipboard_wait_for_contents(clipboard_, StringToGdkAtom(format));
if (!data) if (!data)
......
...@@ -153,15 +153,6 @@ void Clipboard::WriteBitmap(const char* pixel_data, const char* size_data) { ...@@ -153,15 +153,6 @@ void Clipboard::WriteBitmap(const char* pixel_data, const char* size_data) {
} }
} }
void Clipboard::WriteData(const char* format_name, size_t format_len,
const char* data_data, size_t data_len) {
NSPasteboard* pb = GetPasteboard();
NSString* format = [NSString stringWithUTF8String:format_name];
[pb addTypes:[NSArray arrayWithObject:format] owner:nil];
[pb setData:[NSData dataWithBytes:data_data length:data_len]
forType:format];
}
// Write an extra flavor that signifies WebKit was the last to modify the // Write an extra flavor that signifies WebKit was the last to modify the
// pasteboard. This flavor has no data. // pasteboard. This flavor has no data.
void Clipboard::WriteWebSmartPaste() { void Clipboard::WriteWebSmartPaste() {
...@@ -179,7 +170,7 @@ uint64 Clipboard::GetSequenceNumber(Buffer buffer) { ...@@ -179,7 +170,7 @@ uint64 Clipboard::GetSequenceNumber(Buffer buffer) {
} }
bool Clipboard::IsFormatAvailable(const Clipboard::FormatType& format, bool Clipboard::IsFormatAvailable(const Clipboard::FormatType& format,
Buffer buffer) const { Clipboard::Buffer buffer) const {
DCHECK_EQ(buffer, BUFFER_STANDARD); DCHECK_EQ(buffer, BUFFER_STANDARD);
NSString* format_ns = base::SysUTF8ToNSString(format); NSString* format_ns = base::SysUTF8ToNSString(format);
...@@ -195,17 +186,6 @@ bool Clipboard::IsFormatAvailable(const Clipboard::FormatType& format, ...@@ -195,17 +186,6 @@ bool Clipboard::IsFormatAvailable(const Clipboard::FormatType& format,
return [types containsObject:format_ns]; return [types containsObject:format_ns];
} }
bool Clipboard::IsFormatAvailableByString(const std::string& format,
Buffer buffer) const {
DCHECK_EQ(buffer, BUFFER_STANDARD);
NSString* format_ns = base::SysUTF8ToNSString(format);
NSPasteboard* pb = GetPasteboard();
NSArray* types = [pb types];
return [types containsObject:format_ns];
}
void Clipboard::ReadAvailableTypes(Clipboard::Buffer buffer, void Clipboard::ReadAvailableTypes(Clipboard::Buffer buffer,
std::vector<string16>* types, std::vector<string16>* types,
bool* contains_filenames) const { bool* contains_filenames) const {
...@@ -362,13 +342,6 @@ void Clipboard::ReadFiles(std::vector<FilePath>* files) const { ...@@ -362,13 +342,6 @@ void Clipboard::ReadFiles(std::vector<FilePath>* files) const {
} }
} }
void Clipboard::ReadData(const std::string& format, std::string* result) const {
NSPasteboard* pb = GetPasteboard();
NSData* data = [pb dataForType:base::SysUTF8ToNSString(format)];
if ([data length])
result->assign(reinterpret_cast<const char*>([data bytes]), [data length]);
}
// static // static
Clipboard::FormatType Clipboard::GetUrlFormatType() { Clipboard::FormatType Clipboard::GetUrlFormatType() {
return base::SysNSStringToUTF8(NSURLPboardType); return base::SysNSStringToUTF8(NSURLPboardType);
......
...@@ -8,7 +8,6 @@ ...@@ -8,7 +8,6 @@
#include "base/basictypes.h" #include "base/basictypes.h"
#include "base/memory/scoped_ptr.h" #include "base/memory/scoped_ptr.h"
#include "base/pickle.h"
#include "base/string_util.h" #include "base/string_util.h"
#include "base/utf_string_conversions.h" #include "base/utf_string_conversions.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
...@@ -23,6 +22,10 @@ ...@@ -23,6 +22,10 @@
#include "ui/base/clipboard/clipboard_util_win.h" #include "ui/base/clipboard/clipboard_util_win.h"
#endif #endif
#if defined(OS_WIN) || (defined(OS_POSIX) && !defined(OS_MACOSX))
#include "base/pickle.h"
#endif
namespace ui { namespace ui {
#if defined(OS_WIN) #if defined(OS_WIN)
...@@ -377,13 +380,10 @@ TEST_F(ClipboardTest, MultipleBitmapReadWriteTest) { ...@@ -377,13 +380,10 @@ TEST_F(ClipboardTest, MultipleBitmapReadWriteTest) {
} }
#endif #endif
#if defined(OS_WIN) || (defined(OS_POSIX) && !defined(OS_MACOSX))
TEST_F(ClipboardTest, DataTest) { TEST_F(ClipboardTest, DataTest) {
Clipboard clipboard; Clipboard clipboard;
#if !defined(OS_MACOSX)
const char* kFormat = "chromium/x-test-format"; const char* kFormat = "chromium/x-test-format";
#else
const char* kFormat = "org.chromium.test.format";
#endif // !defined(OS_MACOSX)
std::string payload("test string"); std::string payload("test string");
Pickle write_pickle; Pickle write_pickle;
write_pickle.WriteString(payload); write_pickle.WriteString(payload);
...@@ -460,6 +460,7 @@ TEST_F(ClipboardTest, MultipleDataTest) { ...@@ -460,6 +460,7 @@ TEST_F(ClipboardTest, MultipleDataTest) {
ASSERT_TRUE(read_pickle1.ReadString(&iter1, &unpickled_string1)); ASSERT_TRUE(read_pickle1.ReadString(&iter1, &unpickled_string1));
EXPECT_EQ(payload1, unpickled_string1); EXPECT_EQ(payload1, unpickled_string1);
} }
#endif
#if defined(OS_WIN) // Windows only tests. #if defined(OS_WIN) // Windows only tests.
TEST_F(ClipboardTest, HyperlinkTest) { TEST_F(ClipboardTest, HyperlinkTest) {
......
...@@ -620,7 +620,7 @@ void Clipboard::ReadFiles(std::vector<FilePath>* files) const { ...@@ -620,7 +620,7 @@ void Clipboard::ReadFiles(std::vector<FilePath>* files) const {
} }
} }
void Clipboard::ReadData(const std::string& format, std::string* result) const { void Clipboard::ReadData(const std::string& format, std::string* result) {
if (!result) { if (!result) {
NOTREACHED(); NOTREACHED();
return; return;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment