| 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 // 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |