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

Side by Side Diff: base/scoped_clipboard_writer.cc

Issue 159815: Refactor bookmark clipboard code to be cross platform. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: fix UMR Created 11 years, 4 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 #include "base/scoped_clipboard_writer.h" 10 #include "base/scoped_clipboard_writer.h"
10 11
11 #include "base/gfx/size.h" 12 #include "base/gfx/size.h"
13 #include "base/pickle.h"
12 #include "base/string_util.h" 14 #include "base/string_util.h"
13 15
14 ScopedClipboardWriter::ScopedClipboardWriter(Clipboard* clipboard) 16 ScopedClipboardWriter::ScopedClipboardWriter(Clipboard* clipboard)
15 : clipboard_(clipboard) { 17 : clipboard_(clipboard) {
16 } 18 }
17 19
18 ScopedClipboardWriter::~ScopedClipboardWriter() { 20 ScopedClipboardWriter::~ScopedClipboardWriter() {
19 if (!objects_.empty() && clipboard_) 21 if (!objects_.empty() && clipboard_)
20 clipboard_->WriteObjects(objects_); 22 clipboard_->WriteObjects(objects_);
21 } 23 }
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 const char* size_data = reinterpret_cast<const char*>(&size); 134 const char* size_data = reinterpret_cast<const char*>(&size);
133 size_t size_length = sizeof(gfx::Size); 135 size_t size_length = sizeof(gfx::Size);
134 for (size_t i = 0; i < size_length; i++) 136 for (size_t i = 0; i < size_length; i++)
135 size_parameter.push_back(size_data[i]); 137 size_parameter.push_back(size_data[i]);
136 138
137 Clipboard::ObjectMapParams parameters; 139 Clipboard::ObjectMapParams parameters;
138 parameters.push_back(pixels_parameter); 140 parameters.push_back(pixels_parameter);
139 parameters.push_back(size_parameter); 141 parameters.push_back(size_parameter);
140 objects_[Clipboard::CBF_BITMAP] = parameters; 142 objects_[Clipboard::CBF_BITMAP] = parameters;
141 } 143 }
144
145 void ScopedClipboardWriter::WritePickledData(const Pickle& pickle,
146 Clipboard::FormatType format) {
147 Clipboard::ObjectMapParam format_parameter(format.begin(), format.end());
148 Clipboard::ObjectMapParam data_parameter;
149
150 data_parameter.resize(pickle.size());
151 memcpy(const_cast<char*>(&data_parameter.front()),
152 pickle.data(), pickle.size());
153
154 Clipboard::ObjectMapParams parameters;
155 parameters.push_back(format_parameter);
156 parameters.push_back(data_parameter);
157 objects_[Clipboard::CBF_DATA] = parameters;
158 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698