LayoutTests:
[WebKit-https.git] / WebCore / platform / KURL.cpp
index ed60e33a49be1177e34e3cba783929b09fee84bf..590c79392eeff59681c3450cad5f19843158705b 100644 (file)
@@ -279,14 +279,14 @@ void KURL::init(const KURL &base, const DeprecatedString &relative, const TextEn
     
     bool absolute = false;
 
-    // for compatibility with Win IE, we must treat backslashes as if they were slashes
+    // for compatibility with Win IE, we must treat backslashes as if they were slashes, as long as we're not dealing with the javascript: schema
     DeprecatedString substitutedRelative;
-    bool containsBackslash = relative.contains('\\');
-    if (containsBackslash) {
+    bool shouldSubstituteBackslashes = relative.contains('\\') && !relative.startsWith("javascript:", false);
+    if (shouldSubstituteBackslashes) {
         substitutedRelative = substituteBackslashes(relative);
     }
 
-    const DeprecatedString &rel = containsBackslash ? substitutedRelative : relative;
+    const DeprecatedString &rel = shouldSubstituteBackslashes ? substitutedRelative : relative;
     
     bool allASCII = rel.isAllASCII();
     char *strBuffer;