summaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authordcheng@chromium.org <dcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-14 23:37:00 +0000
committerdcheng@chromium.org <dcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-14 23:37:00 +0000
commit5d1124b12d49215fce0de40396a892b891f74fae (patch)
treee0fb5df846d80c30180870f7dd74fb3aea2949f4 /ui
parentac381f190519f153566503e5cba87e310c1a3f96 (diff)
downloadchromium_src-5d1124b12d49215fce0de40396a892b891f74fae.zip
chromium_src-5d1124b12d49215fce0de40396a892b891f74fae.tar.gz
chromium_src-5d1124b12d49215fce0de40396a892b891f74fae.tar.bz2
Remove deprecated WebClipboard::readHTML method.
Now that WebKit r97497 is rolled into Chromium, we no longer need the legacy interface. As a bonus, the last of the Clipboard::readHTML crashes should be fixed. BUG=19360 TEST=ui_unittests and WebKit layout tests Review URL: http://codereview.chromium.org/8305012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105611 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui')
-rw-r--r--ui/base/clipboard/clipboard_win.cc27
1 files changed, 16 insertions, 11 deletions
diff --git a/ui/base/clipboard/clipboard_win.cc b/ui/base/clipboard/clipboard_win.cc
index a2c515b..635b479 100644
--- a/ui/base/clipboard/clipboard_win.cc
+++ b/ui/base/clipboard/clipboard_win.cc
@@ -453,17 +453,22 @@ void Clipboard::ReadHTML(Clipboard::Buffer buffer, string16* markup,
size_t end_index = std::string::npos;
ClipboardUtil::CFHtmlExtractMetadata(cf_html, src_url, &html_start,
&start_index, &end_index);
- if (markup) {
- // Some sanity checks...
- DCHECK(start_index != std::string::npos);
- DCHECK(end_index != std::string::npos);
- DCHECK((start_index - html_start) <= kuint32max);
- DCHECK((end_index - html_start) <= kuint32max);
-
- markup->assign(UTF8ToWide(cf_html.data() + html_start));
- *fragment_start = static_cast<uint32>(start_index - html_start);
- *fragment_end = static_cast<uint32>(end_index - html_start);
- }
+
+ // This might happen if the contents of the clipboard changed and CF_HTML is
+ // no longer available.
+ if (start_index == std::string::npos ||
+ end_index == std::string::npos ||
+ html_start == std::string::npos)
+ return;
+
+ DCHECK(start_index - html_start >= 0);
+ DCHECK(end_index - html_start >= 0);
+ DCHECK((start_index - html_start) <= kuint32max);
+ DCHECK((end_index - html_start) <= kuint32max);
+
+ markup->assign(UTF8ToWide(cf_html.data() + html_start));
+ *fragment_start = static_cast<uint32>(start_index - html_start);
+ *fragment_end = static_cast<uint32>(end_index - html_start);
}
SkBitmap Clipboard::ReadImage(Buffer buffer) const {