OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // This file implements the ScopedClipboardWriter class. Documentation on its | 5 // This file implements the ScopedClipboardWriter class. Documentation on its |
6 // purpose can be found in base/scoped_clipboard_writer.h. Documentation on the | 6 // purpose can be found in base/scoped_clipboard_writer.h. Documentation on the |
7 // format of the parameters for each clipboard target can be found in | 7 // format of the parameters for each clipboard target can be found in |
8 // base/clipboard.h. | 8 // base/clipboard.h. |
9 | 9 |
10 #include "base/scoped_clipboard_writer.h" | 10 #include "base/scoped_clipboard_writer.h" |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
60 | 60 |
61 std::string utf8_markup = UTF16ToUTF8(bookmark_title); | 61 std::string utf8_markup = UTF16ToUTF8(bookmark_title); |
62 | 62 |
63 Clipboard::ObjectMapParams parameters; | 63 Clipboard::ObjectMapParams parameters; |
64 parameters.push_back(Clipboard::ObjectMapParam(utf8_markup.begin(), | 64 parameters.push_back(Clipboard::ObjectMapParam(utf8_markup.begin(), |
65 utf8_markup.end())); | 65 utf8_markup.end())); |
66 parameters.push_back(Clipboard::ObjectMapParam(url.begin(), url.end())); | 66 parameters.push_back(Clipboard::ObjectMapParam(url.begin(), url.end())); |
67 objects_[Clipboard::CBF_BOOKMARK] = parameters; | 67 objects_[Clipboard::CBF_BOOKMARK] = parameters; |
68 } | 68 } |
69 | 69 |
70 void ScopedClipboardWriter::WriteHyperlink(const string16& link_text, | 70 void ScopedClipboardWriter::WriteHyperlink(const std::string& anchor_text, |
71 const std::string& url) { | 71 const std::string& url) { |
72 if (link_text.empty() || url.empty()) | 72 if (anchor_text.empty() || url.empty()) |
73 return; | 73 return; |
74 | 74 |
75 std::string utf8_markup = UTF16ToUTF8(link_text); | 75 // Construct the hyperlink. |
76 | 76 std::string html("<a href=\""); |
77 Clipboard::ObjectMapParams parameters; | 77 html.append(url); |
78 parameters.push_back(Clipboard::ObjectMapParam(utf8_markup.begin(), | 78 html.append("\">"); |
79 utf8_markup.end())); | 79 html.append(anchor_text); |
80 parameters.push_back(Clipboard::ObjectMapParam(url.begin(), url.end())); | 80 html.append("</a>"); |
81 objects_[Clipboard::CBF_LINK] = parameters; | 81 WriteHTML(UTF8ToUTF16(html), std::string()); |
82 } | 82 } |
83 | 83 |
84 void ScopedClipboardWriter::WriteFile(const FilePath& file) { | 84 void ScopedClipboardWriter::WriteFile(const FilePath& file) { |
85 WriteFiles(std::vector<FilePath>(1, file)); | 85 WriteFiles(std::vector<FilePath>(1, file)); |
86 } | 86 } |
87 | 87 |
88 // Save the filenames as a string separated by nulls and terminated with an | 88 // Save the filenames as a string separated by nulls and terminated with an |
89 // extra null. | 89 // extra null. |
90 void ScopedClipboardWriter::WriteFiles(const std::vector<FilePath>& files) { | 90 void ScopedClipboardWriter::WriteFiles(const std::vector<FilePath>& files) { |
91 if (files.empty()) | 91 if (files.empty()) |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
149 | 149 |
150 data_parameter.resize(pickle.size()); | 150 data_parameter.resize(pickle.size()); |
151 memcpy(const_cast<char*>(&data_parameter.front()), | 151 memcpy(const_cast<char*>(&data_parameter.front()), |
152 pickle.data(), pickle.size()); | 152 pickle.data(), pickle.size()); |
153 | 153 |
154 Clipboard::ObjectMapParams parameters; | 154 Clipboard::ObjectMapParams parameters; |
155 parameters.push_back(format_parameter); | 155 parameters.push_back(format_parameter); |
156 parameters.push_back(data_parameter); | 156 parameters.push_back(data_parameter); |
157 objects_[Clipboard::CBF_DATA] = parameters; | 157 objects_[Clipboard::CBF_DATA] = parameters; |
158 } | 158 } |
OLD | NEW |