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

Unified Diff: base/scoped_clipboard_writer.cc

Issue 27370: Update clipboard classes to use string16 and FilePath instead of wstring.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 10 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 | « base/scoped_clipboard_writer.h ('k') | base/string_util.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/scoped_clipboard_writer.cc
===================================================================
--- base/scoped_clipboard_writer.cc (revision 10811)
+++ base/scoped_clipboard_writer.cc (working copy)
@@ -19,11 +19,11 @@
clipboard_->WriteObjects(objects_);
}
-void ScopedClipboardWriter::WriteText(const std::wstring& text) {
+void ScopedClipboardWriter::WriteText(const string16& text) {
if (text.empty())
return;
- std::string utf8_text = WideToUTF8(text);
+ std::string utf8_text = UTF16ToUTF8(text);
Clipboard::ObjectMapParams parameters;
parameters.push_back(Clipboard::ObjectMapParam(utf8_text.begin(),
@@ -31,12 +31,12 @@
objects_[Clipboard::CBF_TEXT] = parameters;
}
-void ScopedClipboardWriter::WriteHTML(const std::wstring& markup,
+void ScopedClipboardWriter::WriteHTML(const string16& markup,
const std::string& source_url) {
if (markup.empty())
return;
- std::string utf8_markup = WideToUTF8(markup);
+ std::string utf8_markup = UTF16ToUTF8(markup);
Clipboard::ObjectMapParams parameters;
parameters.push_back(
@@ -50,12 +50,12 @@
objects_[Clipboard::CBF_HTML] = parameters;
}
-void ScopedClipboardWriter::WriteBookmark(const std::wstring& bookmark_title,
+void ScopedClipboardWriter::WriteBookmark(const string16& bookmark_title,
const std::string& url) {
if (bookmark_title.empty() || url.empty())
return;
- std::string utf8_markup = WideToUTF8(bookmark_title);
+ std::string utf8_markup = UTF16ToUTF8(bookmark_title);
Clipboard::ObjectMapParams parameters;
parameters.push_back(Clipboard::ObjectMapParam(utf8_markup.begin(),
@@ -64,12 +64,12 @@
objects_[Clipboard::CBF_BOOKMARK] = parameters;
}
-void ScopedClipboardWriter::WriteHyperlink(const std::wstring& link_text,
+void ScopedClipboardWriter::WriteHyperlink(const string16& link_text,
const std::string& url) {
if (link_text.empty() || url.empty())
return;
- std::string utf8_markup = WideToUTF8(link_text);
+ std::string utf8_markup = UTF16ToUTF8(link_text);
Clipboard::ObjectMapParams parameters;
parameters.push_back(Clipboard::ObjectMapParam(utf8_markup.begin(),
@@ -78,29 +78,38 @@
objects_[Clipboard::CBF_LINK] = parameters;
}
-void ScopedClipboardWriter::WriteFile(const std::wstring& file) {
- WriteFiles(std::vector<std::wstring>(1, file));
+void ScopedClipboardWriter::WriteFile(const FilePath& file) {
+ WriteFiles(std::vector<FilePath>(1, file));
}
// Save the filenames as a string separated by nulls and terminated with an
// extra null.
-void ScopedClipboardWriter::WriteFiles(const std::vector<std::wstring>& files) {
+void ScopedClipboardWriter::WriteFiles(const std::vector<FilePath>& files) {
if (files.empty())
return;
Clipboard::ObjectMapParam parameter;
- for (std::vector<std::wstring>::const_iterator iter = files.begin();
+ for (std::vector<FilePath>::const_iterator iter = files.begin();
iter != files.end(); ++iter) {
- std::string filename = WideToUTF8(*iter);
- for (std::string::const_iterator filename_iter = filename.begin();
- filename_iter != filename.end(); ++filename_iter) {
- parameter.push_back(*filename_iter);
- }
- parameter.push_back('\0');
+ FilePath filepath = *iter;
+ FilePath::StringType filename = filepath.value();
+
+ size_t data_length = filename.length() * sizeof(FilePath::CharType);
+ const char* data = reinterpret_cast<const char*>(filename.data());
+ const char* data_end = data + data_length;
+
+ for (const char* ch = data; ch < data_end; ++ch)
+ parameter.push_back(*ch);
+
+ // NUL-terminate the string.
+ for (size_t i = 0; i < sizeof(FilePath::CharType); ++i)
+ parameter.push_back('\0');
}
- parameter.push_back('\0');
+ // NUL-terminate the string list.
+ for (size_t i = 0; i < sizeof(FilePath::CharType); ++i)
+ parameter.push_back('\0');
Clipboard::ObjectMapParams parameters;
parameters.push_back(parameter);
« no previous file with comments | « base/scoped_clipboard_writer.h ('k') | base/string_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698