Title: [104615] trunk/Tools
Revision
104615
Author
aro...@apple.com
Date
2012-01-10 12:23:48 -0800 (Tue, 10 Jan 2012)

Log Message

Make MiniBrowser automatically escape invalid URL characters typed in its URL field

Fixes <http://webkit.org/b/75086> Crash when typing a data: URL containing double-quotes in
MiniBrowser on Windows

Reviewed by Darin Adler.

* MiniBrowser/win/BrowserView.cpp:
(BrowserView::goToURL): Pass the typed string through
CFURLCreateStringByAddingPercentEscapes before trying to create a URL from it.

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (104614 => 104615)


--- trunk/Tools/ChangeLog	2012-01-10 20:08:55 UTC (rev 104614)
+++ trunk/Tools/ChangeLog	2012-01-10 20:23:48 UTC (rev 104615)
@@ -1,3 +1,16 @@
+2012-01-10  Adam Roben  <aro...@apple.com>
+
+        Make MiniBrowser automatically escape invalid URL characters typed in its URL field
+
+        Fixes <http://webkit.org/b/75086> Crash when typing a data: URL containing double-quotes in
+        MiniBrowser on Windows
+
+        Reviewed by Darin Adler.
+
+        * MiniBrowser/win/BrowserView.cpp:
+        (BrowserView::goToURL): Pass the typed string through
+        CFURLCreateStringByAddingPercentEscapes before trying to create a URL from it.
+
 2012-01-10  Ben Wells  <benwe...@chromium.org>
 
         Adding myself (benwells) to committers.py

Modified: trunk/Tools/MiniBrowser/win/BrowserView.cpp (104614 => 104615)


--- trunk/Tools/MiniBrowser/win/BrowserView.cpp	2012-01-10 20:08:55 UTC (rev 104614)
+++ trunk/Tools/MiniBrowser/win/BrowserView.cpp	2012-01-10 20:23:48 UTC (rev 104615)
@@ -152,8 +152,10 @@
 void BrowserView::goToURL(const std::wstring& urlString)
 {
     CFStringRef string = CFStringCreateWithCharacters(0, (const UniChar*)urlString.data(), urlString.size());
-    CFURLRef cfURL = CFURLCreateWithString(0, string, 0);
+    CFStringRef escapedString = CFURLCreateStringByAddingPercentEscapes(0, string, 0, 0, kCFStringEncodingUTF8);
     CFRelease(string);
+    CFURLRef cfURL = CFURLCreateWithString(0, escapedString, 0);
+    CFRelease(escapedString);
 
     WKURLRef url = ""
     CFRelease(cfURL); 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to