diff options
author | inferno@chromium.org <inferno@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-29 22:09:37 +0000 |
---|---|---|
committer | inferno@chromium.org <inferno@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-29 22:09:37 +0000 |
commit | bdb3992a2b76b27ad08293013ccfa0ca755770ba (patch) | |
tree | 50dcc844776e871f8f9e6fb98ae6540b92c2c00b /chrome/browser/cocoa/external_protocol_dialog.mm | |
parent | 49b446611965a9d1c17ad1338cdfcd272d1a6d55 (diff) | |
download | chromium_src-bdb3992a2b76b27ad08293013ccfa0ca755770ba.zip chromium_src-bdb3992a2b76b27ad08293013ccfa0ca755770ba.tar.gz chromium_src-bdb3992a2b76b27ad08293013ccfa0ca755770ba.tar.bz2 |
Fix the GTK crash by eliding extra long url,command strings in external protocol launch message.
BUG=35168
TEST=None
Review URL: http://codereview.chromium.org/1518003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43002 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/cocoa/external_protocol_dialog.mm')
-rw-r--r-- | chrome/browser/cocoa/external_protocol_dialog.mm | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/chrome/browser/cocoa/external_protocol_dialog.mm b/chrome/browser/cocoa/external_protocol_dialog.mm index 6c346a4..c729cbf 100644 --- a/chrome/browser/cocoa/external_protocol_dialog.mm +++ b/chrome/browser/cocoa/external_protocol_dialog.mm @@ -6,6 +6,7 @@ #include "app/l10n_util_mac.h" #include "base/message_loop.h" +#include "base/string_util.h" #include "base/sys_string_conversions.h" #include "base/utf_string_conversions.h" #include "chrome/browser/external_protocol_handler.h" @@ -57,10 +58,15 @@ void ExternalProtocolHandler::RunExternalProtocolDialog( l10n_util::GetNSStringWithFixup( IDS_EXTERNAL_PROTOCOL_CANCEL_BUTTON_TEXT)]; + const int kMaxUrlWithoutSchemeSize = 256; + std::wstring elided_url_without_scheme; + ElideString(ASCIIToWide(url_.possibly_invalid_spec()), + kMaxUrlWithoutSchemeSize, &elided_url_without_scheme); + NSString* urlString = l10n_util::GetNSStringFWithFixup( IDS_EXTERNAL_PROTOCOL_INFORMATION, ASCIIToUTF16(url_.scheme() + ":"), - ASCIIToUTF16(url_.possibly_invalid_spec())); + WideToUTF16(elided_url_without_scheme)); NSString* appString = l10n_util::GetNSStringFWithFixup( IDS_EXTERNAL_PROTOCOL_APPLICATION_TO_LAUNCH, appName); |