OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 our header. Documentation on the format of the | 6 // purpose can be found in our header. Documentation on the format of the |
7 // parameters for each clipboard target can be found in clipboard.h. | 7 // parameters for each clipboard target can be found in clipboard.h. |
8 | 8 |
9 #include "ui/base/clipboard/scoped_clipboard_writer.h" | 9 #include "ui/base/clipboard/scoped_clipboard_writer.h" |
10 | 10 |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
97 size_t size_length = sizeof(gfx::Size); | 97 size_t size_length = sizeof(gfx::Size); |
98 for (size_t i = 0; i < size_length; i++) | 98 for (size_t i = 0; i < size_length; i++) |
99 size_parameter.push_back(size_data[i]); | 99 size_parameter.push_back(size_data[i]); |
100 | 100 |
101 Clipboard::ObjectMapParams parameters; | 101 Clipboard::ObjectMapParams parameters; |
102 parameters.push_back(pixels_parameter); | 102 parameters.push_back(pixels_parameter); |
103 parameters.push_back(size_parameter); | 103 parameters.push_back(size_parameter); |
104 objects_[Clipboard::CBF_BITMAP] = parameters; | 104 objects_[Clipboard::CBF_BITMAP] = parameters; |
105 } | 105 } |
106 | 106 |
107 void ScopedClipboardWriter::WritePickledData(const Pickle& pickle, | 107 void ScopedClipboardWriter::WritePickledData( |
108 Clipboard::FormatType format) { | 108 const Pickle& pickle, const Clipboard::FormatType& format) { |
109 Clipboard::ObjectMapParam format_parameter(format.begin(), format.end()); | 109 std::string format_string = format.Serialize(); |
| 110 Clipboard::ObjectMapParam format_parameter(format_string.begin(), |
| 111 format_string.end()); |
110 Clipboard::ObjectMapParam data_parameter; | 112 Clipboard::ObjectMapParam data_parameter; |
111 | 113 |
112 data_parameter.resize(pickle.size()); | 114 data_parameter.resize(pickle.size()); |
113 memcpy(const_cast<char*>(&data_parameter.front()), | 115 memcpy(const_cast<char*>(&data_parameter.front()), |
114 pickle.data(), pickle.size()); | 116 pickle.data(), pickle.size()); |
115 | 117 |
116 Clipboard::ObjectMapParams parameters; | 118 Clipboard::ObjectMapParams parameters; |
117 parameters.push_back(format_parameter); | 119 parameters.push_back(format_parameter); |
118 parameters.push_back(data_parameter); | 120 parameters.push_back(data_parameter); |
119 objects_[Clipboard::CBF_DATA] = parameters; | 121 objects_[Clipboard::CBF_DATA] = parameters; |
(...skipping 11 matching lines...) Expand all Loading... |
131 objects_[Clipboard::CBF_TEXT] = parameters; | 133 objects_[Clipboard::CBF_TEXT] = parameters; |
132 | 134 |
133 if (is_url) { | 135 if (is_url) { |
134 url_text_ = utf8_text; | 136 url_text_ = utf8_text; |
135 } else { | 137 } else { |
136 url_text_.clear(); | 138 url_text_.clear(); |
137 } | 139 } |
138 } | 140 } |
139 | 141 |
140 } // namespace ui | 142 } // namespace ui |
OLD | NEW |