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

Unified Diff: ui/base/clipboard/clipboard_mac.mm

Issue 658963003: Change Clipboard to use virtual methods for testing purposes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address review comments Created 6 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 | « ui/base/clipboard/clipboard_mac.h ('k') | ui/base/clipboard/clipboard_win.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/base/clipboard/clipboard_mac.mm
diff --git a/ui/base/clipboard/clipboard_mac.mm b/ui/base/clipboard/clipboard_mac.mm
index 88a9ff17802ba36264fc6a8a0f4027ae3400d1c7..63c1edf7cf5de8579b8912b73e7323c9ff45d9f7 100644
--- a/ui/base/clipboard/clipboard_mac.mm
+++ b/ui/base/clipboard/clipboard_mac.mm
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "ui/base/clipboard/clipboard.h"
+#include "ui/base/clipboard/clipboard_mac.h"
#import <Cocoa/Cocoa.h>
@@ -165,16 +165,22 @@ const Clipboard::FormatType& Clipboard::GetPepperCustomDataFormatType() {
return type;
}
-// Clipboard implementation.
-Clipboard::Clipboard() {
+// Clipboard factory method.
+// static
+Clipboard* Clipboard::Create() {
+ return new ClipboardMac;
+}
+
+// ClipboardMac implementation.
+ClipboardMac::ClipboardMac() {
DCHECK(CalledOnValidThread());
}
-Clipboard::~Clipboard() {
+ClipboardMac::~ClipboardMac() {
DCHECK(CalledOnValidThread());
}
-uint64 Clipboard::GetSequenceNumber(ClipboardType type) {
+uint64 ClipboardMac::GetSequenceNumber(ClipboardType type) {
DCHECK(CalledOnValidThread());
DCHECK_EQ(type, CLIPBOARD_TYPE_COPY_PASTE);
@@ -182,8 +188,8 @@ uint64 Clipboard::GetSequenceNumber(ClipboardType type) {
return [pb changeCount];
}
-bool Clipboard::IsFormatAvailable(const FormatType& format,
- ClipboardType type) const {
+bool ClipboardMac::IsFormatAvailable(const FormatType& format,
+ ClipboardType type) const {
DCHECK(CalledOnValidThread());
DCHECK_EQ(type, CLIPBOARD_TYPE_COPY_PASTE);
@@ -199,7 +205,7 @@ bool Clipboard::IsFormatAvailable(const FormatType& format,
return [types containsObject:format.ToNSString()];
}
-void Clipboard::Clear(ClipboardType type) {
+void ClipboardMac::Clear(ClipboardType type) {
DCHECK(CalledOnValidThread());
DCHECK_EQ(type, CLIPBOARD_TYPE_COPY_PASTE);
@@ -207,9 +213,9 @@ void Clipboard::Clear(ClipboardType type) {
[pb declareTypes:[NSArray array] owner:nil];
}
-void Clipboard::ReadAvailableTypes(ClipboardType type,
- std::vector<base::string16>* types,
- bool* contains_filenames) const {
+void ClipboardMac::ReadAvailableTypes(ClipboardType type,
+ std::vector<base::string16>* types,
+ bool* contains_filenames) const {
DCHECK(CalledOnValidThread());
types->clear();
if (IsFormatAvailable(Clipboard::GetPlainTextFormatType(), type))
@@ -230,7 +236,7 @@ void Clipboard::ReadAvailableTypes(ClipboardType type,
}
}
-void Clipboard::ReadText(ClipboardType type, base::string16* result) const {
+void ClipboardMac::ReadText(ClipboardType type, base::string16* result) const {
DCHECK(CalledOnValidThread());
DCHECK_EQ(type, CLIPBOARD_TYPE_COPY_PASTE);
NSPasteboard* pb = GetPasteboard();
@@ -239,7 +245,8 @@ void Clipboard::ReadText(ClipboardType type, base::string16* result) const {
*result = base::SysNSStringToUTF16(contents);
}
-void Clipboard::ReadAsciiText(ClipboardType type, std::string* result) const {
+void ClipboardMac::ReadAsciiText(ClipboardType type,
+ std::string* result) const {
DCHECK(CalledOnValidThread());
DCHECK_EQ(type, CLIPBOARD_TYPE_COPY_PASTE);
NSPasteboard* pb = GetPasteboard();
@@ -251,11 +258,11 @@ void Clipboard::ReadAsciiText(ClipboardType type, std::string* result) const {
result->assign([contents UTF8String]);
}
-void Clipboard::ReadHTML(ClipboardType type,
- base::string16* markup,
- std::string* src_url,
- uint32* fragment_start,
- uint32* fragment_end) const {
+void ClipboardMac::ReadHTML(ClipboardType type,
+ base::string16* markup,
+ std::string* src_url,
+ uint32* fragment_start,
+ uint32* fragment_end) const {
DCHECK(CalledOnValidThread());
DCHECK_EQ(type, CLIPBOARD_TYPE_COPY_PASTE);
@@ -282,14 +289,14 @@ void Clipboard::ReadHTML(ClipboardType type,
*fragment_end = static_cast<uint32>(markup->length());
}
-void Clipboard::ReadRTF(ClipboardType type, std::string* result) const {
+void ClipboardMac::ReadRTF(ClipboardType type, std::string* result) const {
DCHECK(CalledOnValidThread());
DCHECK_EQ(type, CLIPBOARD_TYPE_COPY_PASTE);
return ReadData(GetRtfFormatType(), result);
}
-SkBitmap Clipboard::ReadImage(ClipboardType type) const {
+SkBitmap ClipboardMac::ReadImage(ClipboardType type) const {
DCHECK(CalledOnValidThread());
DCHECK_EQ(type, CLIPBOARD_TYPE_COPY_PASTE);
@@ -307,9 +314,9 @@ SkBitmap Clipboard::ReadImage(ClipboardType type) const {
return bitmap;
}
-void Clipboard::ReadCustomData(ClipboardType clipboard_type,
- const base::string16& type,
- base::string16* result) const {
+void ClipboardMac::ReadCustomData(ClipboardType clipboard_type,
+ const base::string16& type,
+ base::string16* result) const {
DCHECK(CalledOnValidThread());
DCHECK_EQ(clipboard_type, CLIPBOARD_TYPE_COPY_PASTE);
@@ -321,7 +328,7 @@ void Clipboard::ReadCustomData(ClipboardType clipboard_type,
}
}
-void Clipboard::ReadBookmark(base::string16* title, std::string* url) const {
+void ClipboardMac::ReadBookmark(base::string16* title, std::string* url) const {
DCHECK(CalledOnValidThread());
NSPasteboard* pb = GetPasteboard();
@@ -339,7 +346,8 @@ void Clipboard::ReadBookmark(base::string16* title, std::string* url) const {
}
}
-void Clipboard::ReadData(const FormatType& format, std::string* result) const {
+void ClipboardMac::ReadData(const FormatType& format,
+ std::string* result) const {
DCHECK(CalledOnValidThread());
NSPasteboard* pb = GetPasteboard();
NSData* data = [pb dataForType:format.ToNSString()];
@@ -347,35 +355,35 @@ void Clipboard::ReadData(const FormatType& format, std::string* result) const {
result->assign(static_cast<const char*>([data bytes]), [data length]);
}
-void Clipboard::WriteObjects(ClipboardType type, const ObjectMap& objects) {
+void ClipboardMac::WriteObjects(ClipboardType type, const ObjectMap& objects) {
DCHECK(CalledOnValidThread());
DCHECK_EQ(type, CLIPBOARD_TYPE_COPY_PASTE);
NSPasteboard* pb = GetPasteboard();
[pb declareTypes:[NSArray array] owner:nil];
- for (ObjectMap::const_iterator iter = objects.begin();
- iter != objects.end(); ++iter) {
+ for (ObjectMap::const_iterator iter = objects.begin(); iter != objects.end();
+ ++iter) {
DispatchObject(static_cast<ObjectType>(iter->first), iter->second);
}
}
-void Clipboard::WriteText(const char* text_data, size_t text_len) {
+void ClipboardMac::WriteText(const char* text_data, size_t text_len) {
std::string text_str(text_data, text_len);
- NSString *text = base::SysUTF8ToNSString(text_str);
+ NSString* text = base::SysUTF8ToNSString(text_str);
NSPasteboard* pb = GetPasteboard();
[pb addTypes:[NSArray arrayWithObject:NSStringPboardType] owner:nil];
[pb setString:text forType:NSStringPboardType];
}
-void Clipboard::WriteHTML(const char* markup_data,
- size_t markup_len,
- const char* url_data,
- size_t url_len) {
+void ClipboardMac::WriteHTML(const char* markup_data,
+ size_t markup_len,
+ const char* url_data,
+ size_t url_len) {
// We need to mark it as utf-8. (see crbug.com/11957)
std::string html_fragment_str("<meta charset='utf-8'>");
html_fragment_str.append(markup_data, markup_len);
- NSString *html_fragment = base::SysUTF8ToNSString(html_fragment_str);
+ NSString* html_fragment = base::SysUTF8ToNSString(html_fragment_str);
// TODO(avi): url_data?
NSPasteboard* pb = GetPasteboard();
@@ -383,18 +391,18 @@ void Clipboard::WriteHTML(const char* markup_data,
[pb setString:html_fragment forType:NSHTMLPboardType];
}
-void Clipboard::WriteRTF(const char* rtf_data, size_t data_len) {
+void ClipboardMac::WriteRTF(const char* rtf_data, size_t data_len) {
WriteData(GetRtfFormatType(), rtf_data, data_len);
}
-void Clipboard::WriteBookmark(const char* title_data,
- size_t title_len,
- const char* url_data,
- size_t url_len) {
+void ClipboardMac::WriteBookmark(const char* title_data,
+ size_t title_len,
+ const char* url_data,
+ size_t url_len) {
std::string title_str(title_data, title_len);
- NSString *title = base::SysUTF8ToNSString(title_str);
+ NSString* title = base::SysUTF8ToNSString(title_str);
std::string url_str(url_data, url_len);
- NSString *url = base::SysUTF8ToNSString(url_str);
+ NSString* url = base::SysUTF8ToNSString(url_str);
// TODO(playmobil): In the Windows version of this function, an HTML
// representation of the bookmark is also added to the clipboard, to support
@@ -404,31 +412,29 @@ void Clipboard::WriteBookmark(const char* title_data,
NSPasteboard* pb = GetPasteboard();
// passing UTIs into the pasteboard methods is valid >= 10.5
- [pb addTypes:[NSArray arrayWithObjects:NSURLPboardType,
- kUTTypeURLName,
- nil]
+ [pb addTypes:[NSArray arrayWithObjects:NSURLPboardType, kUTTypeURLName, nil]
owner:nil];
[nsurl writeToPasteboard:pb];
[pb setString:title forType:kUTTypeURLName];
}
-void Clipboard::WriteBitmap(const SkBitmap& bitmap) {
+void ClipboardMac::WriteBitmap(const SkBitmap& bitmap) {
NSImage* image = gfx::SkBitmapToNSImageWithColorSpace(
bitmap, base::mac::GetSystemColorSpace());
// An API to ask the NSImage to write itself to the clipboard comes in 10.6 :(
// For now, spit out the image as a TIFF.
NSPasteboard* pb = GetPasteboard();
[pb addTypes:[NSArray arrayWithObject:NSTIFFPboardType] owner:nil];
- NSData *tiff_data = [image TIFFRepresentation];
+ NSData* tiff_data = [image TIFFRepresentation];
LOG_IF(ERROR, tiff_data == NULL) << "Failed to allocate image for clipboard";
if (tiff_data) {
[pb setData:tiff_data forType:NSTIFFPboardType];
}
}
-void Clipboard::WriteData(const FormatType& format,
- const char* data_data,
- size_t data_len) {
+void ClipboardMac::WriteData(const FormatType& format,
+ const char* data_data,
+ size_t data_len) {
NSPasteboard* pb = GetPasteboard();
[pb addTypes:[NSArray arrayWithObject:format.ToNSString()] owner:nil];
[pb setData:[NSData dataWithBytes:data_data length:data_len]
@@ -437,7 +443,7 @@ void Clipboard::WriteData(const FormatType& format,
// Write an extra flavor that signifies WebKit was the last to modify the
// pasteboard. This flavor has no data.
-void Clipboard::WriteWebSmartPaste() {
+void ClipboardMac::WriteWebSmartPaste() {
NSPasteboard* pb = GetPasteboard();
NSString* format = GetWebKitSmartPasteFormatType().ToNSString();
[pb addTypes:[NSArray arrayWithObject:format] owner:nil];
« no previous file with comments | « ui/base/clipboard/clipboard_mac.h ('k') | ui/base/clipboard/clipboard_win.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698