<!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>[219014] trunk</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/219014">219014</a></dd>
<dt>Author</dt> <dd>drousso@apple.com</dd>
<dt>Date</dt> <dd>2017-06-30 14:47:05 -0700 (Fri, 30 Jun 2017)</dd>
</dl>

<h3>Log Message</h3>
<pre>Web Inspector: Default string comparisons to treat numeric characters as numbers
https://bugs.webkit.org/show_bug.cgi?id=173984

Reviewed by Joseph Pecoraro.

Source/WebInspectorUI:

* UserInterface/Base/Utilities.js:
(String.prototype.extendedLocaleCompare):
* UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
(WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.receivedPropertyNames.compare):
* UserInterface/Controllers/ResourceQueryController.js:
(WebInspector.ResourceQueryController.prototype.executeQuery):
* UserInterface/Views/ApplicationCacheFrameContentView.js:
(WebInspector.ApplicationCacheFrameContentView.prototype._sortDataGrid.localeCompare):
* UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype._iterateOverProperties):
* UserInterface/Views/CookieStorageContentView.js:
(WebInspector.CookieStorageContentView.prototype._sortDataGrid.localeCompare):
* UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
(WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAttributes):
(WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshEventListeners.generateGroupsByNode):
* UserInterface/Views/DOMStorageContentView.js:
(WebInspector.DOMStorageContentView.prototype._sortDataGrid.comparator):
* UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel.prototype._compareTopLevelTreeElements):
* UserInterface/Views/FolderizedTreeElement.js:
(WebInspector.FolderizedTreeElement.prototype._compareTreeElementsByMainTitle):
* UserInterface/Views/HeapSnapshotDataGridTree.js:
(WebInspector.HeapSnapshotDataGridTree.buildSortComparator):
* UserInterface/Views/NetworkTimelineView.js:
(WebInspector.NetworkTimelineView.prototype.dataGridSortComparator):
* UserInterface/Views/NewTabContentView.js:
(WebInspector.NewTabContentView.prototype._updateShownTabs):
* UserInterface/Views/OverviewTimelineView.js:
(WebInspector.OverviewTimelineView.prototype._compareDataGridNodesByStartTime):
* UserInterface/Views/ProbeDetailsSidebarPanel.js:
(WebInspector.ProbeDetailsSidebarPanel.prototype.inspect):
* UserInterface/Views/QuickConsole.js:
(WebInspector.QuickConsole.prototype._compareExecutionContextPathComponents):
* UserInterface/Views/ResourceDetailsSidebarPanel.js:
(WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid.sortDataGrid.comparator):
* UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel.prototype._compareTreeElements):
* UserInterface/Views/ResourceTreeElement.js:
(WebInspector.ResourceTreeElement.compareResourceTreeElements):
(WebInspector.ResourceTreeElement.compareFolderAndResourceTreeElements):
* UserInterface/Views/ScriptDetailsTimelineView.js:
(WebInspector.ScriptDetailsTimelineView.prototype.dataGridSortComparator):
* UserInterface/Views/StorageSidebarPanel.js:
(WebInspector.StorageSidebarPanel.prototype._compareTreeElements):
* UserInterface/Views/TimelineDataGrid.js:
(WebInspector.TimelineDataGrid.prototype._sortComparator):

LayoutTests:

* inspector/unit-tests/string-utilities.html:
Add tests for String.prototype.extendedLocaleCompare.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsinspectorunittestsstringutilitiesexpectedtxt">trunk/LayoutTests/inspector/unit-tests/string-utilities-expected.txt</a></li>
<li><a href="#trunkLayoutTestsinspectorunittestsstringutilitieshtml">trunk/LayoutTests/inspector/unit-tests/string-utilities.html</a></li>
<li><a href="#trunkSourceWebInspectorUIChangeLog">trunk/Source/WebInspectorUI/ChangeLog</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceBaseUtilitiesjs">trunk/Source/WebInspectorUI/UserInterface/Base/Utilities.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceControllersJavaScriptRuntimeCompletionProviderjs">trunk/Source/WebInspectorUI/UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceControllersResourceQueryControllerjs">trunk/Source/WebInspectorUI/UserInterface/Controllers/ResourceQueryController.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsApplicationCacheFrameContentViewjs">trunk/Source/WebInspectorUI/UserInterface/Views/ApplicationCacheFrameContentView.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsCSSStyleDeclarationTextEditorjs">trunk/Source/WebInspectorUI/UserInterface/Views/CSSStyleDeclarationTextEditor.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsCookieStorageContentViewjs">trunk/Source/WebInspectorUI/UserInterface/Views/CookieStorageContentView.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsDOMNodeDetailsSidebarPaneljs">trunk/Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsDOMStorageContentViewjs">trunk/Source/WebInspectorUI/UserInterface/Views/DOMStorageContentView.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsDebuggerSidebarPaneljs">trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsFolderizedTreeElementjs">trunk/Source/WebInspectorUI/UserInterface/Views/FolderizedTreeElement.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsHeapSnapshotDataGridTreejs">trunk/Source/WebInspectorUI/UserInterface/Views/HeapSnapshotDataGridTree.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsNetworkTimelineViewjs">trunk/Source/WebInspectorUI/UserInterface/Views/NetworkTimelineView.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsNewTabContentViewjs">trunk/Source/WebInspectorUI/UserInterface/Views/NewTabContentView.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsOverviewTimelineViewjs">trunk/Source/WebInspectorUI/UserInterface/Views/OverviewTimelineView.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsProbeDetailsSidebarPaneljs">trunk/Source/WebInspectorUI/UserInterface/Views/ProbeDetailsSidebarPanel.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsQuickConsolejs">trunk/Source/WebInspectorUI/UserInterface/Views/QuickConsole.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsResourceDetailsSidebarPaneljs">trunk/Source/WebInspectorUI/UserInterface/Views/ResourceDetailsSidebarPanel.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsResourceSidebarPaneljs">trunk/Source/WebInspectorUI/UserInterface/Views/ResourceSidebarPanel.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsResourceTreeElementjs">trunk/Source/WebInspectorUI/UserInterface/Views/ResourceTreeElement.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsScriptDetailsTimelineViewjs">trunk/Source/WebInspectorUI/UserInterface/Views/ScriptDetailsTimelineView.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsStorageSidebarPaneljs">trunk/Source/WebInspectorUI/UserInterface/Views/StorageSidebarPanel.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsTimelineDataGridjs">trunk/Source/WebInspectorUI/UserInterface/Views/TimelineDataGrid.js</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (219013 => 219014)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog      2017-06-30 21:35:23 UTC (rev 219013)
+++ trunk/LayoutTests/ChangeLog 2017-06-30 21:47:05 UTC (rev 219014)
</span><span class="lines">@@ -1,3 +1,13 @@
</span><ins>+2017-06-30  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: Default string comparisons to treat numeric characters as numbers
+        https://bugs.webkit.org/show_bug.cgi?id=173984
+
+        Reviewed by Joseph Pecoraro.
+
+        * inspector/unit-tests/string-utilities.html:
+        Add tests for String.prototype.extendedLocaleCompare.
+
</ins><span class="cx"> 2017-06-30  Ryosuke Niwa  <rniwa@webkit.org>
</span><span class="cx"> 
</span><span class="cx">         REGRESSION(r214194): Safari leaves a popup window open opened during before unload
</span></span></pre></div>
<a id="trunkLayoutTestsinspectorunittestsstringutilitiesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/inspector/unit-tests/string-utilities-expected.txt (219013 => 219014)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/inspector/unit-tests/string-utilities-expected.txt     2017-06-30 21:35:23 UTC (rev 219013)
+++ trunk/LayoutTests/inspector/unit-tests/string-utilities-expected.txt        2017-06-30 21:47:05 UTC (rev 219014)
</span><span class="lines">@@ -20,3 +20,17 @@
</span><span class="cx"> PASS: integer format specifier with Infinity argument should show "NaN"
</span><span class="cx"> PASS: integer format specifier with NaN argument should show "NaN"
</span><span class="cx"> 
</span><ins>+-- Running test case: String.prototype.extendedLocaleCompare
+PASS: "1" < "2"
+PASS: "2" > "1"
+PASS: "2" < "10"
+PASS: "10" > "2"
+PASS: "1" < "10"
+PASS: "10" > "1"
+PASS: "a1" < "a2"
+PASS: "a2" > "a1"
+PASS: "a2" < "a10"
+PASS: "a10" > "a2"
+PASS: "a1" < "a10"
+PASS: "a10" > "a1"
+
</ins></span></pre></div>
<a id="trunkLayoutTestsinspectorunittestsstringutilitieshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/inspector/unit-tests/string-utilities.html (219013 => 219014)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/inspector/unit-tests/string-utilities.html     2017-06-30 21:35:23 UTC (rev 219013)
+++ trunk/LayoutTests/inspector/unit-tests/string-utilities.html        2017-06-30 21:47:05 UTC (rev 219014)
</span><span class="lines">@@ -33,6 +33,26 @@
</span><span class="cx">         }
</span><span class="cx">     });
</span><span class="cx"> 
</span><ins>+    suite.addTestCase({
+        name: "String.prototype.extendedLocaleCompare",
+        test() {
+            InspectorTest.expectEqual("1".extendedLocaleCompare("2"), -1, `"1" < "2"`);
+            InspectorTest.expectEqual("2".extendedLocaleCompare("1"), 1, `"2" > "1"`);
+            InspectorTest.expectEqual("2".extendedLocaleCompare("10"), -1, `"2" < "10"`);
+            InspectorTest.expectEqual("10".extendedLocaleCompare("2"), 1, `"10" > "2"`);
+            InspectorTest.expectEqual("1".extendedLocaleCompare("10"), -1, `"1" < "10"`);
+            InspectorTest.expectEqual("10".extendedLocaleCompare("1"), 1, `"10" > "1"`);
+
+            InspectorTest.expectEqual("a1".extendedLocaleCompare("a2"), -1, `"a1" < "a2"`);
+            InspectorTest.expectEqual("a2".extendedLocaleCompare("a1"), 1, `"a2" > "a1"`);
+            InspectorTest.expectEqual("a2".extendedLocaleCompare("a10"), -1, `"a2" < "a10"`);
+            InspectorTest.expectEqual("a10".extendedLocaleCompare("a2"), 1, `"a10" > "a2"`);
+            InspectorTest.expectEqual("a1".extendedLocaleCompare("a10"), -1, `"a1" < "a10"`);
+            InspectorTest.expectEqual("a10".extendedLocaleCompare("a1"), 1, `"a10" > "a1"`);
+            return true;
+        }
+    });
+
</ins><span class="cx">     suite.runTestCasesAndFinish();
</span><span class="cx"> }
</span><span class="cx"> </script>
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/ChangeLog (219013 => 219014)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/ChangeLog    2017-06-30 21:35:23 UTC (rev 219013)
+++ trunk/Source/WebInspectorUI/ChangeLog       2017-06-30 21:47:05 UTC (rev 219014)
</span><span class="lines">@@ -1,3 +1,57 @@
</span><ins>+2017-06-30  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: Default string comparisons to treat numeric characters as numbers
+        https://bugs.webkit.org/show_bug.cgi?id=173984
+
+        Reviewed by Joseph Pecoraro.
+
+        * UserInterface/Base/Utilities.js:
+        (String.prototype.extendedLocaleCompare):
+        * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
+        (WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.receivedPropertyNames.compare):
+        * UserInterface/Controllers/ResourceQueryController.js:
+        (WebInspector.ResourceQueryController.prototype.executeQuery):
+        * UserInterface/Views/ApplicationCacheFrameContentView.js:
+        (WebInspector.ApplicationCacheFrameContentView.prototype._sortDataGrid.localeCompare):
+        * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
+        (WebInspector.CSSStyleDeclarationTextEditor.prototype._iterateOverProperties):
+        * UserInterface/Views/CookieStorageContentView.js:
+        (WebInspector.CookieStorageContentView.prototype._sortDataGrid.localeCompare):
+        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
+        (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAttributes):
+        (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshEventListeners.generateGroupsByNode):
+        * UserInterface/Views/DOMStorageContentView.js:
+        (WebInspector.DOMStorageContentView.prototype._sortDataGrid.comparator):
+        * UserInterface/Views/DebuggerSidebarPanel.js:
+        (WebInspector.DebuggerSidebarPanel.prototype._compareTopLevelTreeElements):
+        * UserInterface/Views/FolderizedTreeElement.js:
+        (WebInspector.FolderizedTreeElement.prototype._compareTreeElementsByMainTitle):
+        * UserInterface/Views/HeapSnapshotDataGridTree.js:
+        (WebInspector.HeapSnapshotDataGridTree.buildSortComparator):
+        * UserInterface/Views/NetworkTimelineView.js:
+        (WebInspector.NetworkTimelineView.prototype.dataGridSortComparator):
+        * UserInterface/Views/NewTabContentView.js:
+        (WebInspector.NewTabContentView.prototype._updateShownTabs):
+        * UserInterface/Views/OverviewTimelineView.js:
+        (WebInspector.OverviewTimelineView.prototype._compareDataGridNodesByStartTime):
+        * UserInterface/Views/ProbeDetailsSidebarPanel.js:
+        (WebInspector.ProbeDetailsSidebarPanel.prototype.inspect):
+        * UserInterface/Views/QuickConsole.js:
+        (WebInspector.QuickConsole.prototype._compareExecutionContextPathComponents):
+        * UserInterface/Views/ResourceDetailsSidebarPanel.js:
+        (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid.sortDataGrid.comparator):
+        * UserInterface/Views/ResourceSidebarPanel.js:
+        (WebInspector.ResourceSidebarPanel.prototype._compareTreeElements):
+        * UserInterface/Views/ResourceTreeElement.js:
+        (WebInspector.ResourceTreeElement.compareResourceTreeElements):
+        (WebInspector.ResourceTreeElement.compareFolderAndResourceTreeElements):
+        * UserInterface/Views/ScriptDetailsTimelineView.js:
+        (WebInspector.ScriptDetailsTimelineView.prototype.dataGridSortComparator):
+        * UserInterface/Views/StorageSidebarPanel.js:
+        (WebInspector.StorageSidebarPanel.prototype._compareTreeElements):
+        * UserInterface/Views/TimelineDataGrid.js:
+        (WebInspector.TimelineDataGrid.prototype._sortComparator):
+
</ins><span class="cx"> 2017-06-29  Devin Rousso  <drousso@apple.com>
</span><span class="cx"> 
</span><span class="cx">         Web Inspector: Provide a way for creating a new tab but not making it immediately selected
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceBaseUtilitiesjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Base/Utilities.js (219013 => 219014)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Base/Utilities.js      2017-06-30 21:35:23 UTC (rev 219013)
+++ trunk/Source/WebInspectorUI/UserInterface/Base/Utilities.js 2017-06-30 21:47:05 UTC (rev 219014)
</span><span class="lines">@@ -671,6 +671,14 @@
</span><span class="cx">     }
</span><span class="cx"> });
</span><span class="cx"> 
</span><ins>+Object.defineProperty(String.prototype, "extendedLocaleCompare",
+{
+    value(other)
+    {
+        return this.localeCompare(other, undefined, {numeric: true});
+    }
+});
+
</ins><span class="cx"> Object.defineProperty(String, "tokenizeFormatString",
</span><span class="cx"> {
</span><span class="cx">     value: function(format)
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceControllersJavaScriptRuntimeCompletionProviderjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js (219013 => 219014)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js     2017-06-30 21:35:23 UTC (rev 219013)
+++ trunk/Source/WebInspectorUI/UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js        2017-06-30 21:47:05 UTC (rev 219014)
</span><span class="lines">@@ -282,7 +282,7 @@
</span><span class="cx">                     return -1;
</span><span class="cx"> 
</span><span class="cx">                 // Not numbers, sort as strings.
</span><del>-                return a.localeCompare(b);
</del><ins>+                return a.extendedLocaleCompare(b);
</ins><span class="cx">             }
</span><span class="cx"> 
</span><span class="cx">             completions.sort(compare);
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceControllersResourceQueryControllerjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Controllers/ResourceQueryController.js (219013 => 219014)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Controllers/ResourceQueryController.js 2017-06-30 21:35:23 UTC (rev 219013)
+++ trunk/Source/WebInspectorUI/UserInterface/Controllers/ResourceQueryController.js    2017-06-30 21:47:05 UTC (rev 219014)
</span><span class="lines">@@ -82,7 +82,7 @@
</span><span class="cx">         // rank are sorted by display name.
</span><span class="cx">         return results.sort((a, b) => {
</span><span class="cx">             if (a.rank === b.rank)
</span><del>-                return a.resource.displayName.localeCompare(b.resource.displayName);
</del><ins>+                return a.resource.displayName.extendedLocaleCompare(b.resource.displayName);
</ins><span class="cx">             return b.rank - a.rank;
</span><span class="cx">         });
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsApplicationCacheFrameContentViewjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ApplicationCacheFrameContentView.js (219013 => 219014)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/ApplicationCacheFrameContentView.js      2017-06-30 21:35:23 UTC (rev 219013)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ApplicationCacheFrameContentView.js 2017-06-30 21:47:05 UTC (rev 219014)
</span><span class="lines">@@ -182,7 +182,7 @@
</span><span class="cx">         }
</span><span class="cx">         function localeCompare(columnIdentifier, nodeA, nodeB)
</span><span class="cx">         {
</span><del>-             return (nodeA.data[columnIdentifier] + "").localeCompare(nodeB.data[columnIdentifier] + "");
</del><ins>+             return (nodeA.data[columnIdentifier] + "").extendedLocaleCompare(nodeB.data[columnIdentifier] + "");
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         var comparator;
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsCSSStyleDeclarationTextEditorjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/CSSStyleDeclarationTextEditor.js (219013 => 219014)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/CSSStyleDeclarationTextEditor.js 2017-06-30 21:35:23 UTC (rev 219013)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/CSSStyleDeclarationTextEditor.js    2017-06-30 21:47:05 UTC (rev 219014)
</span><span class="lines">@@ -1303,7 +1303,7 @@
</span><span class="cx"> 
</span><span class="cx">         properties = properties.filter(filterFunction);
</span><span class="cx">         if (this._sortProperties)
</span><del>-            properties.sort((a, b) => a.name.localeCompare(b.name));
</del><ins>+            properties.sort((a, b) => a.name.extendedLocaleCompare(b.name));
</ins><span class="cx"> 
</span><span class="cx">         this._shownProperties = properties;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsCookieStorageContentViewjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/CookieStorageContentView.js (219013 => 219014)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/CookieStorageContentView.js      2017-06-30 21:35:23 UTC (rev 219013)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/CookieStorageContentView.js 2017-06-30 21:47:05 UTC (rev 219014)
</span><span class="lines">@@ -177,7 +177,7 @@
</span><span class="cx">     {
</span><span class="cx">         function localeCompare(field, nodeA, nodeB)
</span><span class="cx">         {
</span><del>-            return (nodeA.data[field] + "").localeCompare(nodeB.data[field] + "");
</del><ins>+            return (nodeA.data[field] + "").extendedLocaleCompare(nodeB.data[field] + "");
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         function numberCompare(field, nodeA, nodeB)
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsDOMNodeDetailsSidebarPaneljs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js (219013 => 219014)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js    2017-06-30 21:35:23 UTC (rev 219013)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js       2017-06-30 21:47:05 UTC (rev 219014)
</span><span class="lines">@@ -187,7 +187,7 @@
</span><span class="cx">         dataGrid.removeChildren();
</span><span class="cx"> 
</span><span class="cx">         let attributes = domNode.attributes();
</span><del>-        attributes.sort((a, b) => a.name.localeCompare(b.name));
</del><ins>+        attributes.sort((a, b) => a.name.extendedLocaleCompare(b.name));
</ins><span class="cx">         for (let attribute of attributes) {
</span><span class="cx">             let dataGridNode = new WebInspector.EditableDataGridNode(attribute);
</span><span class="cx">             dataGridNode.addEventListener(WebInspector.EditableDataGridNode.Event.ValueChanged, this._attributeNodeValueChanged, this);
</span><span class="lines">@@ -355,7 +355,7 @@
</span><span class="cx">                 if (!eventListenersForNode)
</span><span class="cx">                     continue;
</span><span class="cx"> 
</span><del>-                eventListenersForNode.sort((a, b) => a.type.toLowerCase().localeCompare(b.type.toLowerCase()));
</del><ins>+                eventListenersForNode.sort((a, b) => a.type.toLowerCase().extendedLocaleCompare(b.type.toLowerCase()));
</ins><span class="cx"> 
</span><span class="cx">                 rows.push(createEventListenerSection(currentNode.displayName, eventListenersForNode, {hideNode: true}));
</span><span class="cx">             } while (currentNode = currentNode.parentNode);
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsDOMStorageContentViewjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/DOMStorageContentView.js (219013 => 219014)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/DOMStorageContentView.js 2017-06-30 21:35:23 UTC (rev 219013)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/DOMStorageContentView.js    2017-06-30 21:47:05 UTC (rev 219014)
</span><span class="lines">@@ -153,7 +153,7 @@
</span><span class="cx"> 
</span><span class="cx">         function comparator(a, b)
</span><span class="cx">         {
</span><del>-            return a.data[sortColumnIdentifier].localeCompare(b.data[sortColumnIdentifier]);
</del><ins>+            return a.data[sortColumnIdentifier].extendedLocaleCompare(b.data[sortColumnIdentifier]);
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         this._dataGrid.sortNodesImmediately(comparator);
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsDebuggerSidebarPaneljs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.js (219013 => 219014)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.js  2017-06-30 21:35:23 UTC (rev 219013)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.js     2017-06-30 21:47:05 UTC (rev 219014)
</span><span class="lines">@@ -897,7 +897,7 @@
</span><span class="cx">         if (isSpecialBreakpoint(b))
</span><span class="cx">             return 1;
</span><span class="cx"> 
</span><del>-        return a.mainTitle.localeCompare(b.mainTitle);
</del><ins>+        return a.mainTitle.extendedLocaleCompare(b.mainTitle);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     _compareTreeElements(a, b)
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsFolderizedTreeElementjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/FolderizedTreeElement.js (219013 => 219014)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/FolderizedTreeElement.js 2017-06-30 21:35:23 UTC (rev 219013)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/FolderizedTreeElement.js    2017-06-30 21:47:05 UTC (rev 219014)
</span><span class="lines">@@ -237,7 +237,7 @@
</span><span class="cx">             return 1;
</span><span class="cx"> 
</span><span class="cx">         // Then sort by title.
</span><del>-        return a.mainTitle.localeCompare(b.mainTitle, undefined, {numeric: true});
</del><ins>+        return a.mainTitle.extendedLocaleCompare(b.mainTitle);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     _insertFolderTreeElement(folderTreeElement)
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsHeapSnapshotDataGridTreejs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/HeapSnapshotDataGridTree.js (219013 => 219014)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/HeapSnapshotDataGridTree.js      2017-06-30 21:35:23 UTC (rev 219013)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/HeapSnapshotDataGridTree.js 2017-06-30 21:47:05 UTC (rev 219014)
</span><span class="lines">@@ -58,13 +58,13 @@
</span><span class="cx">                     return multiplier * -1;
</span><span class="cx">                 if (!a.propertyName && b.propertyName)
</span><span class="cx">                     return multiplier * 1;
</span><del>-                let propertyNameCompare = a.propertyName.localeCompare(b.propertyName);
</del><ins>+                let propertyNameCompare = a.propertyName.extendedLocaleCompare(b.propertyName);
</ins><span class="cx">                 console.assert(propertyNameCompare !== 0, "Property names should be unique, we shouldn't have equal property names.");
</span><span class="cx">                 return multiplier * propertyNameCompare;
</span><span class="cx">             }
</span><span class="cx"> 
</span><span class="cx">             // Sort by class name and object id if no property name.
</span><del>-            let classNameCompare = a.data.className.localeCompare(b.data.className);
</del><ins>+            let classNameCompare = a.data.className.extendedLocaleCompare(b.data.className);
</ins><span class="cx">             if (classNameCompare)
</span><span class="cx">                 return multiplier * classNameCompare;
</span><span class="cx">             if (a.data.id || b.data.id)
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsNetworkTimelineViewjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/NetworkTimelineView.js (219013 => 219014)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/NetworkTimelineView.js   2017-06-30 21:35:23 UTC (rev 219013)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/NetworkTimelineView.js      2017-06-30 21:47:05 UTC (rev 219014)
</span><span class="lines">@@ -198,9 +198,9 @@
</span><span class="cx">             let displayName2 = node2.displayName();
</span><span class="cx"> 
</span><span class="cx">             if (displayName1 !== displayName2)
</span><del>-                return displayName1.localeCompare(displayName2) * sortDirection;
</del><ins>+                return displayName1.extendedLocaleCompare(displayName2) * sortDirection;
</ins><span class="cx"> 
</span><del>-            return node1.resource.url.localeCompare(node2.resource.url) * sortDirection;
</del><ins>+            return node1.resource.url.extendedLocaleCompare(node2.resource.url) * sortDirection;
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         return null;
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsNewTabContentViewjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/NewTabContentView.js (219013 => 219014)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/NewTabContentView.js     2017-06-30 21:35:23 UTC (rev 219013)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/NewTabContentView.js        2017-06-30 21:47:05 UTC (rev 219014)
</span><span class="lines">@@ -132,7 +132,7 @@
</span><span class="cx">     {
</span><span class="cx">         let allTabClasses = Array.from(WebInspector.knownTabClasses());
</span><span class="cx">         let allowedTabClasses = allTabClasses.filter((tabClass) => tabClass.isTabAllowed() && !tabClass.isEphemeral());
</span><del>-        allowedTabClasses.sort((a, b) => a.tabInfo().title.localeCompare(b.tabInfo().title));
</del><ins>+        allowedTabClasses.sort((a, b) => a.tabInfo().title.extendedLocaleCompare(b.tabInfo().title));
</ins><span class="cx"> 
</span><span class="cx">         if (Array.shallowEqual(this._shownTabClasses, allowedTabClasses))
</span><span class="cx">             return;
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsOverviewTimelineViewjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/OverviewTimelineView.js (219013 => 219014)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/OverviewTimelineView.js  2017-06-30 21:35:23 UTC (rev 219013)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/OverviewTimelineView.js     2017-06-30 21:47:05 UTC (rev 219014)
</span><span class="lines">@@ -178,7 +178,7 @@
</span><span class="cx">             return result;
</span><span class="cx"> 
</span><span class="cx">         // Fallback to comparing titles.
</span><del>-        return a.displayName().localeCompare(b.displayName());
</del><ins>+        return a.displayName().extendedLocaleCompare(b.displayName());
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     _insertDataGridNode(dataGridNode, parentDataGridNode)
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsProbeDetailsSidebarPaneljs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ProbeDetailsSidebarPanel.js (219013 => 219014)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/ProbeDetailsSidebarPanel.js      2017-06-30 21:35:23 UTC (rev 219013)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ProbeDetailsSidebarPanel.js 2017-06-30 21:47:05 UTC (rev 219014)
</span><span class="lines">@@ -68,7 +68,7 @@
</span><span class="cx">         inspectedProbeSets.sort(function sortBySourceLocation(aProbeSet, bProbeSet) {
</span><span class="cx">             var aLocation = aProbeSet.breakpoint.sourceCodeLocation;
</span><span class="cx">             var bLocation = bProbeSet.breakpoint.sourceCodeLocation;
</span><del>-            var comparisonResult = aLocation.sourceCode.displayName.localeCompare(bLocation.sourceCode.displayName);
</del><ins>+            var comparisonResult = aLocation.sourceCode.displayName.extendedLocaleCompare(bLocation.sourceCode.displayName);
</ins><span class="cx">             if (comparisonResult !== 0)
</span><span class="cx">                 return comparisonResult;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsQuickConsolejs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/QuickConsole.js (219013 => 219014)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/QuickConsole.js  2017-06-30 21:35:23 UTC (rev 219013)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/QuickConsole.js     2017-06-30 21:47:05 UTC (rev 219014)
</span><span class="lines">@@ -210,7 +210,7 @@
</span><span class="cx">         if (bNonMainTarget && !aNonMainTarget)
</span><span class="cx">             return 1;
</span><span class="cx">         if (aNonMainTarget && bNonMainTarget)
</span><del>-            return a.displayName.localeCompare(b.displayName);
</del><ins>+            return a.displayName.extendedLocaleCompare(b.displayName);
</ins><span class="cx"> 
</span><span class="cx">         // "Main Frame" follows.
</span><span class="cx">         if (aExecutionContext === WebInspector.mainTarget.executionContext)
</span><span class="lines">@@ -228,7 +228,7 @@
</span><span class="cx">         if (!aExecutionContext.frame.name && bExecutionContext.frame.name)
</span><span class="cx">             return 1;
</span><span class="cx"> 
</span><del>-        return a.displayName.localeCompare(b.displayName);
</del><ins>+        return a.displayName.extendedLocaleCompare(b.displayName);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     _insertOtherExecutionContextPathComponent(executionContextPathComponent, skipRebuild)
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsResourceDetailsSidebarPaneljs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ResourceDetailsSidebarPanel.js (219013 => 219014)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/ResourceDetailsSidebarPanel.js   2017-06-30 21:35:23 UTC (rev 219013)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ResourceDetailsSidebarPanel.js      2017-06-30 21:47:05 UTC (rev 219014)
</span><span class="lines">@@ -480,7 +480,7 @@
</span><span class="cx">             {
</span><span class="cx">                 var item1 = a.data[sortColumnIdentifier];
</span><span class="cx">                 var item2 = b.data[sortColumnIdentifier];
</span><del>-                return item1.localeCompare(item2);
</del><ins>+                return item1.extendedLocaleCompare(item2);
</ins><span class="cx">             }
</span><span class="cx"> 
</span><span class="cx">             dataGrid.sortNodes(comparator);
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsResourceSidebarPaneljs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ResourceSidebarPanel.js (219013 => 219014)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/ResourceSidebarPanel.js  2017-06-30 21:35:23 UTC (rev 219013)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ResourceSidebarPanel.js     2017-06-30 21:47:05 UTC (rev 219014)
</span><span class="lines">@@ -477,7 +477,7 @@
</span><span class="cx">         console.assert(a.mainTitle);
</span><span class="cx">         console.assert(b.mainTitle);
</span><span class="cx"> 
</span><del>-        return (a.mainTitle || "").localeCompare(b.mainTitle || "");
</del><ins>+        return (a.mainTitle || "").extendedLocaleCompare(b.mainTitle || "");
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     _extraDomainsActivated()
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsResourceTreeElementjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ResourceTreeElement.js (219013 => 219014)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/ResourceTreeElement.js   2017-06-30 21:35:23 UTC (rev 219013)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ResourceTreeElement.js      2017-06-30 21:47:05 UTC (rev 219014)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx">     static compareResourceTreeElements(a, b)
</span><span class="cx">     {
</span><span class="cx">         // Compare by type first to keep resources grouped by type when not sorted into folders.
</span><del>-        var comparisonResult = a.resource.type.localeCompare(b.resource.type);
</del><ins>+        var comparisonResult = a.resource.type.extendedLocaleCompare(b.resource.type);
</ins><span class="cx">         if (comparisonResult !== 0)
</span><span class="cx">             return comparisonResult;
</span><span class="cx"> 
</span><span class="lines">@@ -53,12 +53,12 @@
</span><span class="cx">         // domain of the resource. This causes resources to group by domain. If the resource
</span><span class="cx">         // is on the same domain as the frame it will have an empty subtitle. This is good
</span><span class="cx">         // because empty string sorts first, so those will appear before external resources.
</span><del>-        comparisonResult = a.subtitle.localeCompare(b.subtitle);
</del><ins>+        comparisonResult = a.subtitle.extendedLocaleCompare(b.subtitle);
</ins><span class="cx">         if (comparisonResult !== 0)
</span><span class="cx">             return comparisonResult;
</span><span class="cx"> 
</span><span class="cx">         // Compare by title when the subtitles are the same.
</span><del>-        return a.mainTitle.localeCompare(b.mainTitle);
</del><ins>+        return a.mainTitle.extendedLocaleCompare(b.mainTitle);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     static compareFolderAndResourceTreeElements(a, b)
</span><span class="lines">@@ -71,7 +71,7 @@
</span><span class="cx">         if (!aIsFolder && bIsFolder)
</span><span class="cx">             return 1;
</span><span class="cx">         if (aIsFolder && bIsFolder)
</span><del>-            return a.mainTitle.localeCompare(b.mainTitle);
</del><ins>+            return a.mainTitle.extendedLocaleCompare(b.mainTitle);
</ins><span class="cx"> 
</span><span class="cx">         return WebInspector.ResourceTreeElement.compareResourceTreeElements(a, b);
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsScriptDetailsTimelineViewjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ScriptDetailsTimelineView.js (219013 => 219014)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/ScriptDetailsTimelineView.js     2017-06-30 21:35:23 UTC (rev 219013)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ScriptDetailsTimelineView.js        2017-06-30 21:47:05 UTC (rev 219014)
</span><span class="lines">@@ -156,9 +156,9 @@
</span><span class="cx">         let displayName1 = node1.displayName();
</span><span class="cx">         let displayName2 = node2.displayName();
</span><span class="cx">         if (displayName1 !== displayName2)
</span><del>-            return displayName1.localeCompare(displayName2) * sortDirection;
</del><ins>+            return displayName1.extendedLocaleCompare(displayName2) * sortDirection;
</ins><span class="cx"> 
</span><del>-        return node1.subtitle.localeCompare(node2.subtitle) * sortDirection;
</del><ins>+        return node1.subtitle.extendedLocaleCompare(node2.subtitle) * sortDirection;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // Protected
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsStorageSidebarPaneljs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/StorageSidebarPanel.js (219013 => 219014)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/StorageSidebarPanel.js   2017-06-30 21:35:23 UTC (rev 219013)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/StorageSidebarPanel.js      2017-06-30 21:47:05 UTC (rev 219014)
</span><span class="lines">@@ -50,7 +50,7 @@
</span><span class="cx">             {identifier: "session-storage", title: WebInspector.UIString("Session Storage"), classes: [WebInspector.DOMStorageTreeElement], localStorage: false}
</span><span class="cx">         ];
</span><span class="cx"> 
</span><del>-        storageTypes.sort(function(a, b) { return a.title.localeCompare(b.title); });
</del><ins>+        storageTypes.sort(function(a, b) { return a.title.extendedLocaleCompare(b.title); });
</ins><span class="cx"> 
</span><span class="cx">         for (var info of storageTypes) {
</span><span class="cx">             var scopeBarItem = new WebInspector.ScopeBarItem(scopeItemPrefix + info.identifier, info.title);
</span><span class="lines">@@ -305,7 +305,7 @@
</span><span class="cx">         console.assert(a.mainTitle);
</span><span class="cx">         console.assert(b.mainTitle);
</span><span class="cx"> 
</span><del>-        return (a.mainTitle || "").localeCompare(b.mainTitle || "");
</del><ins>+        return (a.mainTitle || "").extendedLocaleCompare(b.mainTitle || "");
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     _addStorageChild(childElement, parentElement, folderName)
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsTimelineDataGridjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/TimelineDataGrid.js (219013 => 219014)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/TimelineDataGrid.js      2017-06-30 21:35:23 UTC (rev 219013)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/TimelineDataGrid.js 2017-06-30 21:47:05 UTC (rev 219014)
</span><span class="lines">@@ -380,7 +380,7 @@
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         if (typeof value1 === "string" && typeof value2 === "string")
</span><del>-            return value1.localeCompare(value2) * sortDirection;
</del><ins>+            return value1.extendedLocaleCompare(value2) * sortDirection;
</ins><span class="cx"> 
</span><span class="cx">         if (value1 instanceof WebInspector.CallFrame || value2 instanceof WebInspector.CallFrame) {
</span><span class="cx">             // Sort by function name if available, then fall back to the source code object.
</span></span></pre>
</div>
</div>

</body>
</html>