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

Side by Side Diff: base/clipboard_win.cc

Issue 194052: Clipboard:... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: fixes Created 11 years, 3 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
« no previous file with comments | « base/clipboard_unittest.cc ('k') | base/scoped_clipboard_writer.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 // Many of these functions are based on those found in 5 // Many of these functions are based on those found in
6 // webkit/port/platform/PasteboardWin.cpp 6 // webkit/port/platform/PasteboardWin.cpp
7 7
8 #include "base/clipboard.h" 8 #include "base/clipboard.h"
9 9
10 #include <shlobj.h> 10 #include <shlobj.h>
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 std::string bookmark(title_data, title_len); 202 std::string bookmark(title_data, title_len);
203 bookmark.append(1, L'\n'); 203 bookmark.append(1, L'\n');
204 bookmark.append(url_data, url_len); 204 bookmark.append(url_data, url_len);
205 205
206 string16 wide_bookmark = UTF8ToWide(bookmark); 206 string16 wide_bookmark = UTF8ToWide(bookmark);
207 HGLOBAL glob = CreateGlobalData(wide_bookmark); 207 HGLOBAL glob = CreateGlobalData(wide_bookmark);
208 208
209 WriteToClipboard(StringToInt(GetUrlWFormatType()), glob); 209 WriteToClipboard(StringToInt(GetUrlWFormatType()), glob);
210 } 210 }
211 211
212 void Clipboard::WriteHyperlink(const char* title_data,
213 size_t title_len,
214 const char* url_data,
215 size_t url_len) {
216 // Store as a bookmark.
217 WriteBookmark(title_data, title_len, url_data, url_len);
218
219 std::string title(title_data, title_len),
220 url(url_data, url_len),
221 link("<a href=\"");
222
223 // Construct the hyperlink.
224 link.append(url);
225 link.append("\">");
226 link.append(title);
227 link.append("</a>");
228
229 // Store hyperlink as html.
230 WriteHTML(link.c_str(), link.size(), NULL, 0);
231 }
232
233 void Clipboard::WriteWebSmartPaste() { 212 void Clipboard::WriteWebSmartPaste() {
234 DCHECK(clipboard_owner_); 213 DCHECK(clipboard_owner_);
235 ::SetClipboardData(StringToInt(GetWebKitSmartPasteFormatType()), NULL); 214 ::SetClipboardData(StringToInt(GetWebKitSmartPasteFormatType()), NULL);
236 } 215 }
237 216
238 void Clipboard::WriteBitmap(const char* pixel_data, const char* size_data) { 217 void Clipboard::WriteBitmap(const char* pixel_data, const char* size_data) {
239 const gfx::Size* size = reinterpret_cast<const gfx::Size*>(size_data); 218 const gfx::Size* size = reinterpret_cast<const gfx::Size*>(size_data);
240 HDC dc = ::GetDC(NULL); 219 HDC dc = ::GetDC(NULL);
241 220
242 // This doesn't actually cost us a memcpy when the bitmap comes from the 221 // This doesn't actually cost us a memcpy when the bitmap comes from the
(...skipping 455 matching lines...) Expand 10 before | Expand all | Expand 10 after
698 HWND Clipboard::GetClipboardWindow() const { 677 HWND Clipboard::GetClipboardWindow() const {
699 if (!clipboard_owner_ && create_window_) { 678 if (!clipboard_owner_ && create_window_) {
700 clipboard_owner_ = ::CreateWindow(L"ClipboardOwnerWindowClass", 679 clipboard_owner_ = ::CreateWindow(L"ClipboardOwnerWindowClass",
701 L"ClipboardOwnerWindow", 680 L"ClipboardOwnerWindow",
702 0, 0, 0, 0, 0, 681 0, 0, 0, 0, 0,
703 HWND_MESSAGE, 682 HWND_MESSAGE,
704 0, 0, 0); 683 0, 0, 0);
705 } 684 }
706 return clipboard_owner_; 685 return clipboard_owner_;
707 } 686 }
OLDNEW
« no previous file with comments | « base/clipboard_unittest.cc ('k') | base/scoped_clipboard_writer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698