<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[168490] branches/safari-537.76-branch</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/168490">168490</a></dd>
<dt>Author</dt> <dd>matthew_hanson@apple.com</dd>
<dt>Date</dt> <dd>2014-05-08 13:34:53 -0700 (Thu, 08 May 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Rollout <a href="http://trac.webkit.org/projects/webkit/changeset/168034">r168034</a>.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#branchessafari53776branchSourceWebCoreChangeLog">branches/safari-537.76-branch/Source/WebCore/ChangeLog</a></li>
<li><a href="#branchessafari53776branchSourceWebCoreWebCoreexpin">branches/safari-537.76-branch/Source/WebCore/WebCore.exp.in</a></li>
<li><a href="#branchessafari53776branchSourceWebCoreplatformmacWebCoreNSURLExtrash">branches/safari-537.76-branch/Source/WebCore/platform/mac/WebCoreNSURLExtras.h</a></li>
<li><a href="#branchessafari53776branchSourceWebCoreplatformmacWebCoreNSURLExtrasmm">branches/safari-537.76-branch/Source/WebCore/platform/mac/WebCoreNSURLExtras.mm</a></li>
<li><a href="#branchessafari53776branchToolsChangeLog">branches/safari-537.76-branch/Tools/ChangeLog</a></li>
<li><a href="#branchessafari53776branchToolsTestWebKitAPITestWebKitAPIxcodeprojprojectpbxproj">branches/safari-537.76-branch/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#branchessafari53776branchToolsTestWebKitAPITestsmacURLExtrasmm">branches/safari-537.76-branch/Tools/TestWebKitAPI/Tests/mac/URLExtras.mm</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="branchessafari53776branchSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: branches/safari-537.76-branch/Source/WebCore/ChangeLog (168489 => 168490)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-537.76-branch/Source/WebCore/ChangeLog        2014-05-08 20:28:43 UTC (rev 168489)
+++ branches/safari-537.76-branch/Source/WebCore/ChangeLog        2014-05-08 20:34:53 UTC (rev 168490)
</span><span class="lines">@@ -1,3 +1,7 @@
</span><ins>+2014-05-08  Matthew Hanson  &lt;matthew_hanson@apple.com&gt;
+
+        Rollout r168034.
+
</ins><span class="cx"> 2014-05-07  Lucas Forschler  &lt;lforschler@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">     Rollout r168104
</span><span class="lines">@@ -303,33 +307,6 @@
</span><span class="cx">     
</span><span class="cx"> 2014-04-30  Lucas Forschler  &lt;lforschler@apple.com&gt;
</span><span class="cx"> 
</span><del>-        Merge r167211
-
-    2014-04-13  Darin Adler  &lt;darin@apple.com&gt;
-
-            userVisibleString should not try to &quot;encode&quot; host names
-            https://bugs.webkit.org/show_bug.cgi?id=131587
-            rdar://problem/14686849
-
-            Reviewed by Alexey Proskuryakov.
-
-            * WebCore.exp.in: Updated for WebCoreNSURLExtras argument type changes.
-
-            * platform/mac/WebCoreNSURLExtras.h: Removed unneeded code to make this
-            Objective-C++ header compile in plain C++ files, which we never need to do.
-            Added missing argument name, baseURL, and changed mysterious CFIndex arguments
-            to the correct type, CFURLComponentType.
-
-            * platform/mac/WebCoreNSURLExtras.mm:
-            (WebCore::isLookalikeCharacter): Removed the inline keyword from this, and added
-            more lookalike characters from the Mozilla list referenced here.
-            (WebCore::URLByTruncatingOneCharacterBeforeComponent): Updated argument type.
-            (WebCore::dataForURLComponentType): Ditto.
-            (WebCore::userVisibleString): Only call mapHostNames if host name decoding is
-            needed; no encoding here.
-
-2014-04-30  Lucas Forschler  &lt;lforschler@apple.com&gt;
-
</del><span class="cx">     Rollout r168020.
</span><span class="cx">     This causes build failures on Lion/ML.  
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari53776branchSourceWebCoreWebCoreexpin"></a>
<div class="modfile"><h4>Modified: branches/safari-537.76-branch/Source/WebCore/WebCore.exp.in (168489 => 168490)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-537.76-branch/Source/WebCore/WebCore.exp.in        2014-05-08 20:28:43 UTC (rev 168489)
+++ branches/safari-537.76-branch/Source/WebCore/WebCore.exp.in        2014-05-08 20:34:53 UTC (rev 168490)
</span><span class="lines">@@ -767,13 +767,7 @@
</span><span class="cx"> __ZN7WebCore23MutableStylePropertySetD1Ev
</span><span class="cx"> __ZN7WebCore23SynchronousLoaderClient24platformBadResponseErrorEv
</span><span class="cx"> __ZN7WebCore23createFragmentFromNodesEPNS_8DocumentERKN3WTF6VectorIPNS_4NodeELm0ENS2_15CrashOnOverflowEEE
</span><del>-
-#if __MAC_OS_X_VERSION_MIN_REQUIRED == 1070 || __cplusplus &lt; 201103L
</del><span class="cx"> __ZN7WebCore23dataForURLComponentTypeEP5NSURLl
</span><del>-#else
-__ZN7WebCore23dataForURLComponentTypeEP5NSURL18CFURLComponentType
-#endif
-
</del><span class="cx"> __ZN7WebCore23decodeHostNameWithRangeEP8NSString8_NSRange
</span><span class="cx"> __ZN7WebCore23encodeHostNameWithRangeEP8NSString8_NSRange
</span><span class="cx"> __ZN7WebCore23getHostnamesWithCookiesERKNS_21NetworkStorageSessionERN3WTF7HashSetINS3_6StringENS3_10StringHashENS3_10HashTraitsIS5_EEEE
</span><span class="lines">@@ -834,13 +828,7 @@
</span><span class="cx"> __ZN7WebCore3macERKNS_10CredentialE
</span><span class="cx"> __ZN7WebCore3macERKNS_23AuthenticationChallengeE
</span><span class="cx"> __ZN7WebCore40restrictMinimumScaleFactorToViewportSizeERNS_18ViewportAttributesENS_7IntSizeEf
</span><del>-
-#if __MAC_OS_X_VERSION_MIN_REQUIRED == 1070 || __cplusplus &lt; 201103L
</del><span class="cx"> __ZN7WebCore42URLByTruncatingOneCharacterBeforeComponentEP5NSURLl
</span><del>-#else
-__ZN7WebCore42URLByTruncatingOneCharacterBeforeComponentEP5NSURL18CFURLComponentType
-#endif
-
</del><span class="cx"> __ZN7WebCore47attributedStringByStrippingAttachmentCharactersEP18NSAttributedString
</span><span class="cx"> __ZN7WebCore4Font11setCodePathENS0_8CodePathE
</span><span class="cx"> __ZN7WebCore4Font18shouldUseSmoothingEv
</span></span></pre></div>
<a id="branchessafari53776branchSourceWebCoreplatformmacWebCoreNSURLExtrash"></a>
<div class="modfile"><h4>Modified: branches/safari-537.76-branch/Source/WebCore/platform/mac/WebCoreNSURLExtras.h (168489 => 168490)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-537.76-branch/Source/WebCore/platform/mac/WebCoreNSURLExtras.h        2014-05-08 20:28:43 UTC (rev 168489)
+++ branches/safari-537.76-branch/Source/WebCore/platform/mac/WebCoreNSURLExtras.h        2014-05-08 20:34:53 UTC (rev 168490)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2005, 2007, 2012, 2014 Apple, Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2005, 2007, 2012 Apple, Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -26,13 +26,20 @@
</span><span class="cx">  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx"> 
</span><ins>+#include &lt;objc/objc.h&gt;
+
+#ifdef __OBJC__
</ins><span class="cx"> @class NSString;
</span><span class="cx"> @class NSURL;
</span><ins>+#else
+OBJC_CLASS(NSString);
+OBJC_CLASS(NSURL);
+#endif
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> NSString *userVisibleString(NSURL *);
</span><del>-NSURL *URLWithUserTypedString(NSString *, NSURL *baseURL);
</del><ins>+NSURL *URLWithUserTypedString(NSString *, NSURL *);
</ins><span class="cx"> NSURL *URLByRemovingUserInfo(NSURL *);
</span><span class="cx"> BOOL hostNameNeedsDecodingWithRange(NSString *, NSRange);
</span><span class="cx"> BOOL hostNameNeedsEncodingWithRange(NSString *, NSRange);
</span><span class="lines">@@ -40,10 +47,10 @@
</span><span class="cx"> NSString *encodeHostNameWithRange(NSString *, NSRange);
</span><span class="cx"> NSString *decodeHostName(NSString *);
</span><span class="cx"> NSString *encodeHostName(NSString *);
</span><del>-NSURL *URLByTruncatingOneCharacterBeforeComponent(NSURL *, CFURLComponentType);
</del><ins>+NSURL *URLByTruncatingOneCharacterBeforeComponent(NSURL *, CFIndex);
</ins><span class="cx"> NSURL *URLWithData(NSData *, NSURL *baseURL);
</span><span class="cx"> NSData *originalURLData(NSURL *);
</span><del>-NSData *dataForURLComponentType(NSURL *, CFURLComponentType);
</del><ins>+NSData *dataForURLComponentType(NSURL *, CFIndex);
</ins><span class="cx"> BOOL isUserVisibleURL(NSString *);
</span><span class="cx">     
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="branchessafari53776branchSourceWebCoreplatformmacWebCoreNSURLExtrasmm"></a>
<div class="modfile"><h4>Modified: branches/safari-537.76-branch/Source/WebCore/platform/mac/WebCoreNSURLExtras.mm (168489 => 168490)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-537.76-branch/Source/WebCore/platform/mac/WebCoreNSURLExtras.mm        2014-05-08 20:28:43 UTC (rev 168489)
+++ branches/safari-537.76-branch/Source/WebCore/platform/mac/WebCoreNSURLExtras.mm        2014-05-08 20:34:53 UTC (rev 168490)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2005, 2007, 2014 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2005, 2007 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -50,95 +50,48 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-static BOOL isLookalikeCharacter(UChar32 charCode)
</del><ins>+static inline BOOL isLookalikeCharacter(int charCode)
</ins><span class="cx"> {
</span><span class="cx">     // This function treats the following as unsafe, lookalike characters:
</span><del>-    // any non-printable character, any character considered as whitespace,
</del><ins>+    // any non-printable character, any character considered as whitespace that isn't already converted to a space by ICU, 
</ins><span class="cx">     // any ignorable character, and emoji characters related to locks.
</span><span class="cx">     
</span><del>-    // We also considered the characters in Mozilla's blacklist &lt;http://kb.mozillazine.org/Network.IDN.blacklist_chars&gt;.
-
-    // Some of the characters here will never appear once ICU has encoded.
-    // For example, ICU transforms most spaces into an ASCII space and most
-    // slashes into an ASCII solidus. But one of the two callers uses this
-    // on characters that have not been processed by ICU, so they are needed here.
</del><ins>+    // We also considered the characters in Mozilla's blacklist (http://kb.mozillazine.org/Network.IDN.blacklist_chars), 
+    // and included all of these characters that ICU can encode.
</ins><span class="cx">     
</span><span class="cx">     if (!u_isprint(charCode) || u_isUWhiteSpace(charCode) || u_hasBinaryProperty(charCode, UCHAR_DEFAULT_IGNORABLE_CODE_POINT))
</span><span class="cx">         return YES;
</span><span class="cx">     
</span><span class="cx">     switch (charCode) {
</span><del>-        case 0x00BC: /* VULGAR FRACTION ONE QUARTER */
-        case 0x00BD: /* VULGAR FRACTION ONE HALF */
-        case 0x00BE: /* VULGAR FRACTION THREE QUARTERS */
</del><span class="cx">         case 0x00ED: /* LATIN SMALL LETTER I WITH ACUTE */
</span><span class="cx">         case 0x01C3: /* LATIN LETTER RETROFLEX CLICK */
</span><span class="cx">         case 0x0251: /* LATIN SMALL LETTER ALPHA */
</span><span class="cx">         case 0x0261: /* LATIN SMALL LETTER SCRIPT G */
</span><del>-        case 0x02D0: /* MODIFIER LETTER TRIANGULAR COLON */
</del><span class="cx">         case 0x0335: /* COMBINING SHORT STROKE OVERLAY */
</span><span class="cx">         case 0x0337: /* COMBINING SHORT SOLIDUS OVERLAY */
</span><span class="cx">         case 0x0338: /* COMBINING LONG SOLIDUS OVERLAY */
</span><del>-        case 0x0589: /* ARMENIAN FULL STOP */
</del><span class="cx">         case 0x05B4: /* HEBREW POINT HIRIQ */
</span><span class="cx">         case 0x05BC: /* HEBREW POINT DAGESH OR MAPIQ */
</span><span class="cx">         case 0x05C3: /* HEBREW PUNCTUATION SOF PASUQ */
</span><span class="cx">         case 0x05F4: /* HEBREW PUNCTUATION GERSHAYIM */
</span><del>-        case 0x0609: /* ARABIC-INDIC PER MILLE SIGN */
-        case 0x060A: /* ARABIC-INDIC PER TEN THOUSAND SIGN */
</del><span class="cx">         case 0x0660: /* ARABIC INDIC DIGIT ZERO */
</span><del>-        case 0x066A: /* ARABIC PERCENT SIGN */
</del><span class="cx">         case 0x06D4: /* ARABIC FULL STOP */
</span><span class="cx">         case 0x06F0: /* EXTENDED ARABIC INDIC DIGIT ZERO */
</span><del>-        case 0x0701: /* SYRIAC SUPRALINEAR FULL STOP */
-        case 0x0702: /* SYRIAC SUBLINEAR FULL STOP */
-        case 0x0703: /* SYRIAC SUPRALINEAR COLON */
-        case 0x0704: /* SYRIAC SUBLINEAR COLON */
-        case 0x1735: /* PHILIPPINE SINGLE PUNCTUATION */
-        case 0x2024: /* ONE DOT LEADER */
</del><span class="cx">         case 0x2027: /* HYPHENATION POINT */
</span><span class="cx">         case 0x2039: /* SINGLE LEFT-POINTING ANGLE QUOTATION MARK */
</span><span class="cx">         case 0x203A: /* SINGLE RIGHT-POINTING ANGLE QUOTATION MARK */
</span><del>-        case 0x2041: /* CARET INSERTION POINT */
</del><span class="cx">         case 0x2044: /* FRACTION SLASH */
</span><del>-        case 0x2052: /* COMMERCIAL MINUS SIGN */
-        case 0x2153: /* VULGAR FRACTION ONE THIRD */
-        case 0x2154: /* VULGAR FRACTION TWO THIRDS */
-        case 0x2155: /* VULGAR FRACTION ONE FIFTH */
-        case 0x2156: /* VULGAR FRACTION TWO FIFTHS */
-        case 0x2157: /* VULGAR FRACTION THREE FIFTHS */
-        case 0x2158: /* VULGAR FRACTION FOUR FIFTHS */
-        case 0x2159: /* VULGAR FRACTION ONE SIXTH */
-        case 0x215A: /* VULGAR FRACTION FIVE SIXTHS */
-        case 0x215B: /* VULGAR FRACTION ONE EIGHT */
-        case 0x215C: /* VULGAR FRACTION THREE EIGHTHS */
-        case 0x215D: /* VULGAR FRACTION FIVE EIGHTHS */
-        case 0x215E: /* VULGAR FRACTION SEVEN EIGHTHS */
-        case 0x215F: /* FRACTION NUMERATOR ONE */
</del><span class="cx">         case 0x2215: /* DIVISION SLASH */
</span><span class="cx">         case 0x2216: /* SET MINUS */
</span><del>-        case 0x2236: /* RATIO */
</del><span class="cx">         case 0x233F: /* APL FUNCTIONAL SYMBOL SLASH BAR */
</span><span class="cx">         case 0x23AE: /* INTEGRAL EXTENSION */
</span><span class="cx">         case 0x244A: /* OCR DOUBLE BACKSLASH */
</span><span class="cx">         case 0x2571: /* BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT */
</span><span class="cx">         case 0x2572: /* BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT */
</span><del>-        case 0x29F6: /* SOLIDUS WITH OVERBAR */
</del><span class="cx">         case 0x29F8: /* BIG SOLIDUS */
</span><ins>+        case 0x29f6: /* SOLIDUS WITH OVERBAR */
</ins><span class="cx">         case 0x2AFB: /* TRIPLE SOLIDUS BINARY RELATION */
</span><span class="cx">         case 0x2AFD: /* DOUBLE SOLIDUS OPERATOR */
</span><del>-        case 0x2FF0: /* IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT */
-        case 0x2FF1: /* IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO BELOW */
-        case 0x2FF2: /* IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO MIDDLE AND RIGHT */
-        case 0x2FF3: /* IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO MIDDLE AND BELOW */
-        case 0x2FF4: /* IDEOGRAPHIC DESCRIPTION CHARACTER FULL SURROUND */
-        case 0x2FF5: /* IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM ABOVE */
-        case 0x2FF6: /* IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM BELOW */
-        case 0x2FF7: /* IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LEFT */
-        case 0x2FF8: /* IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER LEFT */
-        case 0x2FF9: /* IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER RIGHT */
-        case 0x2FFA: /* IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LOWER LEFT */
-        case 0x2FFB: /* IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID */
-        case 0x3002: /* IDEOGRAPHIC FULL STOP */
</del><span class="cx">         case 0x3008: /* LEFT ANGLE BRACKET */
</span><span class="cx">         case 0x3014: /* LEFT TORTOISE SHELL BRACKET */
</span><span class="cx">         case 0x3015: /* RIGHT TORTOISE SHELL BRACKET */
</span><span class="lines">@@ -146,21 +99,12 @@
</span><span class="cx">         case 0x3035: /* VERTICAL KANA REPEAT MARK LOWER HALF */
</span><span class="cx">         case 0x321D: /* PARENTHESIZED KOREAN CHARACTER OJEON */
</span><span class="cx">         case 0x321E: /* PARENTHESIZED KOREAN CHARACTER O HU */
</span><del>-        case 0x33AE: /* SQUARE RAD OVER S */
-        case 0x33AF: /* SQUARE RAD OVER S SQUARED */
-        case 0x33C6: /* SQUARE C OVER KG */
</del><span class="cx">         case 0x33DF: /* SQUARE A OVER M */
</span><del>-        case 0xA789: /* MODIFIER LETTER COLON */
</del><span class="cx">         case 0xFE14: /* PRESENTATION FORM FOR VERTICAL SEMICOLON */
</span><span class="cx">         case 0xFE15: /* PRESENTATION FORM FOR VERTICAL EXCLAMATION MARK */
</span><span class="cx">         case 0xFE3F: /* PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET */
</span><span class="cx">         case 0xFE5D: /* SMALL LEFT TORTOISE SHELL BRACKET */
</span><span class="cx">         case 0xFE5E: /* SMALL RIGHT TORTOISE SHELL BRACKET */
</span><del>-        case 0xFF0E: /* FULLWIDTH FULL STOP */
-        case 0xFF0F: /* FULL WIDTH SOLIDUS */
-        case 0xFF61: /* HALFWIDTH IDEOGRAPHIC FULL STOP */
-        case 0xFFFC: /* OBJECT REPLACEMENT CHARACTER */
-        case 0xFFFD: /* REPLACEMENT CHARACTER */
</del><span class="cx">         case 0x1F50F: /* LOCK WITH INK PEN */
</span><span class="cx">         case 0x1F510: /* CLOSED LOCK WITH KEY */
</span><span class="cx">         case 0x1F511: /* KEY */
</span><span class="lines">@@ -567,12 +511,12 @@
</span><span class="cx">     return trimmed;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-NSURL *URLByTruncatingOneCharacterBeforeComponent(NSURL *URL, CFURLComponentType component)
</del><ins>+NSURL *URLByTruncatingOneCharacterBeforeComponent(NSURL *URL, CFIndex component)
</ins><span class="cx"> {
</span><span class="cx">     if (!URL)
</span><span class="cx">         return nil;
</span><span class="cx">     
</span><del>-    CFRange fragRg = CFURLGetByteRangeForComponent((CFURLRef)URL, component, NULL);
</del><ins>+    CFRange fragRg = CFURLGetByteRangeForComponent((CFURLRef)URL, static_cast&lt;CFURLComponentType&gt;(component), NULL);
</ins><span class="cx">     if (fragRg.location == kCFNotFound)
</span><span class="cx">         return URL;
</span><span class="cx">     
</span><span class="lines">@@ -624,7 +568,7 @@
</span><span class="cx">         if (!result)
</span><span class="cx">             result = HardAutorelease(CFURLCreateAbsoluteURLWithBytes(NULL, bytes, length, kCFStringEncodingISOLatin1, (CFURLRef)baseURL, YES));
</span><span class="cx">     } else
</span><del>-        result = [NSURL URLWithString:@&quot;&quot;];
</del><ins>+            result = [NSURL URLWithString:@&quot;&quot;];
</ins><span class="cx">                 
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="lines">@@ -676,7 +620,7 @@
</span><span class="cx"> 
</span><span class="cx"> #define completeURL (CFURLComponentType)-1
</span><span class="cx"> 
</span><del>-NSData *dataForURLComponentType(NSURL *URL, CFURLComponentType componentType)
</del><ins>+NSData *dataForURLComponentType(NSURL *URL, CFIndex componentType)
</ins><span class="cx"> {
</span><span class="cx">     static int URLComponentTypeBufferLength = 2048;
</span><span class="cx">     
</span><span class="lines">@@ -692,7 +636,7 @@
</span><span class="cx">     
</span><span class="cx">     CFRange range;
</span><span class="cx">     if (componentType != completeURL) {
</span><del>-        range = CFURLGetByteRangeForComponent((CFURLRef)URL, componentType, NULL);
</del><ins>+        range = CFURLGetByteRangeForComponent((CFURLRef)URL, static_cast&lt;CFURLComponentType&gt;(componentType), NULL);
</ins><span class="cx">         if (range.location == kCFNotFound)
</span><span class="cx">             return nil;
</span><span class="cx">     } else {
</span><span class="lines">@@ -833,7 +777,7 @@
</span><span class="cx">     const unsigned char *before = static_cast&lt;const unsigned char*&gt;([data bytes]);
</span><span class="cx">     int length = [data length];
</span><span class="cx">     
</span><del>-    bool mayNeedHostNameDecoding = false;
</del><ins>+    bool needsHostNameDecoding = false;
</ins><span class="cx">     
</span><span class="cx">     const unsigned char *p = before;
</span><span class="cx">     int bufferLength = (length * 3) + 1;
</span><span class="lines">@@ -858,8 +802,8 @@
</span><span class="cx">             *q++ = c;
</span><span class="cx">             
</span><span class="cx">             // Check for &quot;xn--&quot; in an efficient, non-case-sensitive, way.
</span><del>-            if (c == '-' &amp;&amp; i &gt;= 3 &amp;&amp; !mayNeedHostNameDecoding &amp;&amp; (q[-4] | 0x20) == 'x' &amp;&amp; (q[-3] | 0x20) == 'n' &amp;&amp; q[-2] == '-')
-                mayNeedHostNameDecoding = true;
</del><ins>+            if (c == '-' &amp;&amp; i &gt;= 3 &amp;&amp; !needsHostNameDecoding &amp;&amp; (q[-4] | 0x20) == 'x' &amp;&amp; (q[-3] | 0x20) == 'n' &amp;&amp; q[-2] == '-')
+                needsHostNameDecoding = true;
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx">     *q = '\0';
</span><span class="lines">@@ -892,8 +836,7 @@
</span><span class="cx">     
</span><span class="cx">     free(after);
</span><span class="cx">     
</span><del>-    if (mayNeedHostNameDecoding)
-        result = mapHostNames(result, NO);
</del><ins>+    result = mapHostNames(result, !needsHostNameDecoding);
</ins><span class="cx">     result = [result precomposedStringWithCanonicalMapping];
</span><span class="cx">     return HardAutorelease(createStringWithEscapedUnsafeCharacters((CFStringRef)result));
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchessafari53776branchToolsChangeLog"></a>
<div class="modfile"><h4>Modified: branches/safari-537.76-branch/Tools/ChangeLog (168489 => 168490)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-537.76-branch/Tools/ChangeLog        2014-05-08 20:28:43 UTC (rev 168489)
+++ branches/safari-537.76-branch/Tools/ChangeLog        2014-05-08 20:34:53 UTC (rev 168490)
</span><span class="lines">@@ -1,20 +1,7 @@
</span><del>-2014-04-30  Lucas Forschler  &lt;lforschler@apple.com&gt;
</del><ins>+2014-05-08  Matthew Hanson  &lt;matthew_hanson@apple.com&gt;
</ins><span class="cx"> 
</span><del>-        Merge r167211
</del><ins>+        Rollout r168034.
</ins><span class="cx"> 
</span><del>-    2014-04-13  Darin Adler  &lt;darin@apple.com&gt;
-
-            userVisibleString should not try to &quot;encode&quot; host names
-            https://bugs.webkit.org/show_bug.cgi?id=131587
-            rdar://problem/14686849
-
-            Reviewed by Alexey Proskuryakov.
-
-            * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Added URLExtras.mm.
-
-            * TestWebKitAPI/Tests/mac/URLExtras.mm: Added. A few tests for WebCoreNSURLExtras.
-            Coverage is tiny at this point; we could add a lot more cases!
-
</del><span class="cx"> 2014-04-30  Lucas Forschler  &lt;lforschler@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">     Rollout r168020
</span></span></pre></div>
<a id="branchessafari53776branchToolsTestWebKitAPITestWebKitAPIxcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: branches/safari-537.76-branch/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj (168489 => 168490)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-537.76-branch/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj        2014-05-08 20:28:43 UTC (rev 168489)
+++ branches/safari-537.76-branch/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj        2014-05-08 20:34:53 UTC (rev 168490)
</span><span class="lines">@@ -114,7 +114,6 @@
</span><span class="cx">                 9331407C17B4419000F083B1 /* DidNotHandleKeyDown.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9331407B17B4419000F083B1 /* DidNotHandleKeyDown.cpp */; };
</span><span class="cx">                 9361002914DC95A70061379D /* lots-of-iframes.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = 9361002814DC957B0061379D /* lots-of-iframes.html */; };
</span><span class="cx">                 939BA91714103412001A01BD /* DeviceScaleFactorOnBack.mm in Sources */ = {isa = PBXBuildFile; fileRef = 939BA91614103412001A01BD /* DeviceScaleFactorOnBack.mm */; };
</span><del>-                93A7EB3D18FA63A4009E7670 /* URLExtras.mm in Sources */ = {isa = PBXBuildFile; fileRef = 93A7EB3C18FA63A4009E7670 /* URLExtras.mm */; };
</del><span class="cx">                 93ABA80916DDAB91002DB2FA /* StringHasher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 93ABA80816DDAB91002DB2FA /* StringHasher.cpp */; };
</span><span class="cx">                 93AF4ECE1506F064007FD57E /* NewFirstVisuallyNonEmptyLayoutForImages_Bundle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 93AF4ECD1506F064007FD57E /* NewFirstVisuallyNonEmptyLayoutForImages_Bundle.cpp */; };
</span><span class="cx">                 93AF4ED01506F123007FD57E /* lots-of-images.html in Resources */ = {isa = PBXBuildFile; fileRef = 93AF4ECF1506F123007FD57E /* lots-of-images.html */; };
</span><span class="lines">@@ -424,7 +423,6 @@
</span><span class="cx">                 9361002814DC957B0061379D /* lots-of-iframes.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = &quot;lots-of-iframes.html&quot;; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 939BA91614103412001A01BD /* DeviceScaleFactorOnBack.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DeviceScaleFactorOnBack.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 93ABA80816DDAB91002DB2FA /* StringHasher.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StringHasher.cpp; path = WTF/StringHasher.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                93A7EB3C18FA63A4009E7670 /* URLExtras.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = URLExtras.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 93AF4ECA1506F035007FD57E /* NewFirstVisuallyNonEmptyLayoutForImages.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NewFirstVisuallyNonEmptyLayoutForImages.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 93AF4ECD1506F064007FD57E /* NewFirstVisuallyNonEmptyLayoutForImages_Bundle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NewFirstVisuallyNonEmptyLayoutForImages_Bundle.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 93AF4ECF1506F123007FD57E /* lots-of-images.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = &quot;lots-of-images.html&quot;; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -927,7 +925,6 @@
</span><span class="cx">                                 3799AD3914120A43005EB0C6 /* StringByEvaluatingJavaScriptFromString.mm */,
</span><span class="cx">                                 37A6895D148A9B50005100FA /* SubresourceErrorCrash.mm */,
</span><span class="cx">                                 E490296714E2E3A4002BEDD1 /* TypingStyleCrash.mm */,
</span><del>-                                93A7EB3C18FA63A4009E7670 /* URLExtras.mm */,
</del><span class="cx">                                 51FBBB4C1513D4E900822738 /* WebViewCanPasteURL.mm */,
</span><span class="cx">                                 C2EB2DD116CAC7AC009B52EE /* WebViewDidCreateJavaScriptContext.mm */,
</span><span class="cx">                                 37E38C33169B7D010084C28C /* WebViewDidRemoveFrameFromHierarchy.mm */,
</span><span class="lines">@@ -1233,7 +1230,6 @@
</span><span class="cx">                                 BC3C4C7F14587AA60025FB62 /* WKBrowsingContextGroupTest.mm in Sources */,
</span><span class="cx">                                 BC3C4C7214575B6A0025FB62 /* WKBrowsingContextLoadDelegateTest.mm in Sources */,
</span><span class="cx">                                 BC901E241492ADCE0074A667 /* WKConnection.cpp in Sources */,
</span><del>-                                93A7EB3D18FA63A4009E7670 /* URLExtras.mm in Sources */,
</del><span class="cx">                                 51E93017156B13E1004C99DF /* WKPageGetScaleFactorNotZero.cpp in Sources */,
</span><span class="cx">                                 BC7B61AA129A038700D174A4 /* WKPreferences.cpp in Sources */,
</span><span class="cx">                                 BC90995E12567BC100083756 /* WKString.cpp in Sources */,
</span></span></pre></div>
<a id="branchessafari53776branchToolsTestWebKitAPITestsmacURLExtrasmm"></a>
<div class="delfile"><h4>Deleted: branches/safari-537.76-branch/Tools/TestWebKitAPI/Tests/mac/URLExtras.mm (168489 => 168490)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-537.76-branch/Tools/TestWebKitAPI/Tests/mac/URLExtras.mm        2014-05-08 20:28:43 UTC (rev 168489)
+++ branches/safari-537.76-branch/Tools/TestWebKitAPI/Tests/mac/URLExtras.mm        2014-05-08 20:34:53 UTC (rev 168490)
</span><span class="lines">@@ -1,130 +0,0 @@
</span><del>-/*
- * Copyright (C) 2014 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import &quot;config.h&quot;
-
-#import &lt;WebCore/WebCoreNSURLExtras.h&gt;
-
-namespace TestWebKitAPI {
-
-static NSData *literalAsData(const char* literal)
-{
-    return [NSData dataWithBytes:literal length:strlen(literal)];
-}
-
-static const char* dataAsString(NSData *data)
-{
-    static char buffer[1000];
-    if ([data length] &gt; sizeof(buffer) - 1)
-        return &quot;ERROR&quot;;
-    if (memchr([data bytes], 0, [data length]))
-        return &quot;ERROR&quot;;
-    memcpy(buffer, [data bytes], [data length]);
-    buffer[[data length]] = '\0';
-    return buffer;
-}
-
-static const char* originalDataAsString(NSURL *URL)
-{
-    return dataAsString(WebCore::originalURLData(URL));
-}
-
-static const char* userVisibleString(NSURL *URL)
-{
-    return [WebCore::userVisibleString(URL) UTF8String];
-}
-
-static NSURL *literalURL(const char* literal)
-{
-    return WebCore::URLWithData(literalAsData(literal), nil);
-}
-
-TEST(WebCore, URLExtras)
-{
-    EXPECT_STREQ(&quot;http://site.com&quot;, originalDataAsString(literalURL(&quot;http://site.com&quot;)));
-    EXPECT_STREQ(&quot;http://%77ebsite.com&quot;, originalDataAsString(literalURL(&quot;http://%77ebsite.com&quot;)));
-
-    EXPECT_STREQ(&quot;http://site.com&quot;, userVisibleString(literalURL(&quot;http://site.com&quot;)));
-    EXPECT_STREQ(&quot;http://%77ebsite.com&quot;, userVisibleString(literalURL(&quot;http://%77ebsite.com&quot;)));
-}
-
-TEST(WebCore, URLExtras_DivisionSign)
-{
-    // Selected the division sign as an example of a non-ASCII character that is allowed in host names, since it's a lookalike character.
-
-    // Code path similar to the one used when typing in a URL.
-    EXPECT_STREQ(&quot;http://site.xn--comothersite-kjb.org&quot;, originalDataAsString(WebCore::URLWithUserTypedString(@&quot;http://site.com\xC3\xB7othersite.org&quot;, nil)));
-    EXPECT_STREQ(&quot;http://site.com\xC3\xB7othersite.org&quot;, userVisibleString(WebCore::URLWithUserTypedString(@&quot;http://site.com\xC3\xB7othersite.org&quot;, nil)));
-
-    // Code paths similar to the ones used for URLs found in webpages or HTTP responses.
-    EXPECT_STREQ(&quot;http://site.com\xC3\xB7othersite.org&quot;, originalDataAsString(literalURL(&quot;http://site.com\xC3\xB7othersite.org&quot;)));
-    EXPECT_STREQ(&quot;http://site.com\xC3\xB7othersite.org&quot;, userVisibleString(literalURL(&quot;http://site.com\xC3\xB7othersite.org&quot;)));
-    EXPECT_STREQ(&quot;http://site.com%C3%B7othersite.org&quot;, originalDataAsString(literalURL(&quot;http://site.com%C3%B7othersite.org&quot;)));
-    EXPECT_STREQ(&quot;http://site.com\xC3\xB7othersite.org&quot;, userVisibleString(literalURL(&quot;http://site.com%C3%B7othersite.org&quot;)));
-
-    // Separate functions that deal with just a host name on its own.
-    EXPECT_STREQ(&quot;site.xn--comothersite-kjb.org&quot;, [WebCore::encodeHostName(@&quot;site.com\xC3\xB7othersite.org&quot;) UTF8String]);
-    EXPECT_STREQ(&quot;site.com\xC3\xB7othersite.org&quot;, [WebCore::decodeHostName(@&quot;site.com\xC3\xB7othersite.org&quot;) UTF8String]);
-}
-
-TEST(WebCore, URLExtras_Solidus)
-{
-    // Selected full width solidus, which looks like the solidus, which is the character that indicates the end of the host name.
-
-    // Code path similar to the one used when typing in a URL.
-    EXPECT_STREQ(&quot;http://site.com/othersite.org&quot;, originalDataAsString(WebCore::URLWithUserTypedString(@&quot;http://site.com\xEF\xBC\x8Fothersite.org&quot;, nil)));
-    EXPECT_STREQ(&quot;http://site.com/othersite.org&quot;, userVisibleString(WebCore::URLWithUserTypedString(@&quot;http://site.com\xEF\xBC\x8Fothersite.org&quot;, nil)));
-
-    // Code paths similar to the ones used for URLs found in webpages or HTTP responses.
-    EXPECT_STREQ(&quot;http://site.com\xEF\xBC\x8Fothersite.org&quot;, originalDataAsString(literalURL(&quot;http://site.com\xEF\xBC\x8Fothersite.org&quot;)));
-    EXPECT_STREQ(&quot;http://site.com%EF%BC%8Fothersite.org&quot;, userVisibleString(literalURL(&quot;http://site.com\xEF\xBC\x8Fothersite.org&quot;)));
-    EXPECT_STREQ(&quot;http://site.com%EF%BC%8Fothersite.org&quot;, originalDataAsString(literalURL(&quot;http://site.com%EF%BC%8Fothersite.org&quot;)));
-    EXPECT_STREQ(&quot;http://site.com%EF%BC%8Fothersite.org&quot;, userVisibleString(literalURL(&quot;http://site.com%EF%BC%8Fothersite.org&quot;)));
-
-    // Separate functions that deal with just a host name on its own.
-    EXPECT_STREQ(&quot;site.com/othersite.org&quot;, [WebCore::encodeHostName(@&quot;site.com\xEF\xBC\x8Fothersite.org&quot;) UTF8String]);
-    EXPECT_STREQ(&quot;site.com\xEF\xBC\x8Fothersite.org&quot;, [WebCore::decodeHostName(@&quot;site.com\xEF\xBC\x8Fothersite.org&quot;) UTF8String]);
-}
-
-TEST(WebCore, URLExtras_Space)
-{
-    // Selected ideographic space, which looks like the ASCII space, which is not allowed unescaped.
-
-    // Code path similar to the one used when typing in a URL.
-    EXPECT_STREQ(&quot;http://site.com%20othersite.org&quot;, originalDataAsString(WebCore::URLWithUserTypedString(@&quot;http://site.com\xE3\x80\x80othersite.org&quot;, nil)));
-    EXPECT_STREQ(&quot;http://site.com%20othersite.org&quot;, userVisibleString(WebCore::URLWithUserTypedString(@&quot;http://site.com\xE3\x80\x80othersite.org&quot;, nil)));
-
-    // Code paths similar to the ones used for URLs found in webpages or HTTP responses.
-    EXPECT_STREQ(&quot;http://site.com\xE3\x80\x80othersite.org&quot;, originalDataAsString(literalURL(&quot;http://site.com\xE3\x80\x80othersite.org&quot;)));
-    EXPECT_STREQ(&quot;http://site.com%E3%80%80othersite.org&quot;, userVisibleString(literalURL(&quot;http://site.com\xE3\x80\x80othersite.org&quot;)));
-    EXPECT_STREQ(&quot;http://site.com%E3%80%80othersite.org&quot;, originalDataAsString(literalURL(&quot;http://site.com%E3%80%80othersite.org&quot;)));
-    EXPECT_STREQ(&quot;http://site.com%E3%80%80othersite.org&quot;, userVisibleString(literalURL(&quot;http://site.com%E3%80%80othersite.org&quot;)));
-
-    // Separate functions that deal with just a host name on its own.
-    EXPECT_STREQ(&quot;site.com othersite.org&quot;, [WebCore::encodeHostName(@&quot;site.com\xE3\x80\x80othersite.org&quot;) UTF8String]);
-    EXPECT_STREQ(&quot;site.com\xE3\x80\x80othersite.org&quot;, [WebCore::decodeHostName(@&quot;site.com\xE3\x80\x80othersite.org&quot;) UTF8String]);
-}
-
-} // namespace TestWebKitAPI
</del></span></pre>
</div>
</div>

</body>
</html>