diff options
author | viettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-30 02:19:50 +0000 |
---|---|---|
committer | viettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-30 02:19:50 +0000 |
commit | f9ebecffb3c75e4506cc65243b6a88874cdb3f21 (patch) | |
tree | 1e556e0896422aa48c8d58b5da7bf44cdb443e9a /chrome/browser/cocoa | |
parent | c69af9bb544ac41f5cb3bb600d40421fee7208d5 (diff) | |
download | chromium_src-f9ebecffb3c75e4506cc65243b6a88874cdb3f21.zip chromium_src-f9ebecffb3c75e4506cc65243b6a88874cdb3f21.tar.gz chromium_src-f9ebecffb3c75e4506cc65243b6a88874cdb3f21.tar.bz2 |
Mac: add encoding meta-tag to HTML provided with NSHTMLPboardType.
Otherwise, US-ASCII is assumed.
BUG=42661
TEST=dragging text from, e.g., Chinese-language web sites into TextEdit works
Review URL: http://codereview.chromium.org/1820001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46029 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/cocoa')
-rw-r--r-- | chrome/browser/cocoa/web_drag_source.mm | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/chrome/browser/cocoa/web_drag_source.mm b/chrome/browser/cocoa/web_drag_source.mm index 70c144c..fdbb516 100644 --- a/chrome/browser/cocoa/web_drag_source.mm +++ b/chrome/browser/cocoa/web_drag_source.mm @@ -142,6 +142,12 @@ void PromiseWriterTask::Run() { } - (void)lazyWriteToPasteboard:(NSPasteboard*)pboard forType:(NSString*)type { + // NSHTMLPboardType requires the character set to be declared. Otherwise, it + // assumes US-ASCII. Awesome. + static const string16 kHtmlHeader = + ASCIIToUTF16("<meta http-equiv=\"Content-Type\" " + "content=\"text/html;charset=UTF-8\">"); + // Be extra paranoid; avoid crashing. if (!dropData_.get()) { NOTREACHED() << "No drag-and-drop data available for lazy write."; @@ -151,7 +157,8 @@ void PromiseWriterTask::Run() { // HTML. if ([type isEqualToString:NSHTMLPboardType]) { DCHECK(!dropData_->text_html.empty()); - [pboard setString:SysUTF16ToNSString(dropData_->text_html) + // See comment on |kHtmlHeader| above. + [pboard setString:SysUTF16ToNSString(kHtmlHeader + dropData_->text_html) forType:NSHTMLPboardType]; // URL. |