Title: [238743] trunk
Revision
238743
Author
drou...@apple.com
Date
2018-11-30 10:55:38 -0800 (Fri, 30 Nov 2018)

Log Message

Web Inspector: replace all unicode characters with the escaped character code
https://bugs.webkit.org/show_bug.cgi?id=192216
<rdar://problem/46275637>

Reviewed by Brian Burg.

Source/WebInspectorUI:

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Controllers/BreakpointPopoverController.js:
* UserInterface/Debug/UncaughtExceptionReporter.js:
* UserInterface/Models/AuditTestCase.js:
* UserInterface/Models/Canvas.js:
* UserInterface/Models/RecordingAction.js:
* UserInterface/Models/ScriptTimelineRecord.js:
* UserInterface/Views/AuditTestCaseContentView.js:
* UserInterface/Views/AuditTestContentView.js:
* UserInterface/Views/AuditTestGroupContentView.js:
* UserInterface/Views/CallFrameView.js:
* UserInterface/Views/CanvasContentView.js:
* UserInterface/Views/CanvasOverviewContentView.css:
* UserInterface/Views/ConsoleMessageView.css:
* UserInterface/Views/ContextMenuUtilities.js:
* UserInterface/Views/DOMEventsBreakdownView.js:
* UserInterface/Views/DataGrid.css:
* UserInterface/Views/DataGrid.js:
* UserInterface/Views/DatabaseTableContentView.js:
* UserInterface/Views/DebuggerDashboardView.css:
* UserInterface/Views/DebuggerSidebarPanel.js:
* UserInterface/Views/ErrorObjectView.js:
* UserInterface/Views/EventBreakpointPopover.js:
* UserInterface/Views/InlineSwatch.js:
* UserInterface/Views/LayerTreeDataGridNode.js:
* UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
* UserInterface/Views/Layers3DContentView.js:
* UserInterface/Views/LayoutTimelineDataGridNode.js:
* UserInterface/Views/NetworkTableContentView.css:
* UserInterface/Views/NetworkTableContentView.js:
* UserInterface/Views/ObjectPreviewView.js:
* UserInterface/Views/ProfileDataGridNode.js:
* UserInterface/Views/ResourceTimelineDataGridNode.js:
* UserInterface/Views/ScriptDetailsTimelineView.css:
* UserInterface/Views/TextEditor.css:
* UserInterface/Views/TreeOutline.css:

LayoutTests:

* inspector/audit/data-domAttributes-expected.txt:
* inspector/audit/data-domNodes-expected.txt:
* inspector/audit/data-errors-expected.txt:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (238742 => 238743)


--- trunk/LayoutTests/ChangeLog	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/LayoutTests/ChangeLog	2018-11-30 18:55:38 UTC (rev 238743)
@@ -1,3 +1,15 @@
+2018-11-30  Devin Rousso  <drou...@apple.com>
+
+        Web Inspector: replace all unicode characters with the escaped character code
+        https://bugs.webkit.org/show_bug.cgi?id=192216
+        <rdar://problem/46275637>
+
+        Reviewed by Brian Burg.
+
+        * inspector/audit/data-domAttributes-expected.txt:
+        * inspector/audit/data-domNodes-expected.txt:
+        * inspector/audit/data-errors-expected.txt:
+
 2018-11-30  Justin Fan  <justin_...@apple.com>
 
         [WebGPU] Flesh out WebGPURenderPassDescriptor to match the WebGPU IDL

Modified: trunk/LayoutTests/inspector/audit/data-domAttributes-expected.txt (238742 => 238743)


--- trunk/LayoutTests/inspector/audit/data-domAttributes-expected.txt	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/LayoutTests/inspector/audit/data-domAttributes-expected.txt	2018-11-30 18:55:38 UTC (rev 238743)
@@ -17,23 +17,23 @@
 Testing value `{"level":"pass","domAttributes":null}`...
 PASS: Result should be "error".
   errors:
-   - “domAttributes“ must be an array
+   - "domAttributes" must be an array
 
 -- Running test case: Audit.DOMAttributes.Error.Number
 Testing value `{"level":"pass","domAttributes":42}`...
 PASS: Result should be "error".
   errors:
-   - “domAttributes“ must be an array
+   - "domAttributes" must be an array
 
 -- Running test case: Audit.DOMAttributes.Error.String
 Testing value `{"level":"pass","domAttributes":"foo"}`...
 PASS: Result should be "error".
   errors:
-   - “domAttributes“ must be an array
+   - "domAttributes" must be an array
 
 -- Running test case: Audit.DOMAttributes.Error.Object
 Testing value `{"level":"pass","domAttributes":{}}`...
 PASS: Result should be "error".
   errors:
-   - “domAttributes“ must be an array
+   - "domAttributes" must be an array
 

Modified: trunk/LayoutTests/inspector/audit/data-domNodes-expected.txt (238742 => 238743)


--- trunk/LayoutTests/inspector/audit/data-domNodes-expected.txt	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/LayoutTests/inspector/audit/data-domNodes-expected.txt	2018-11-30 18:55:38 UTC (rev 238743)
@@ -35,23 +35,23 @@
 Testing value `{"level":"pass","domNodes":null}`...
 PASS: Result should be "error".
   errors:
-   - “domNodes“ must be an array
+   - "domNodes" must be an array
 
 -- Running test case: Audit.DOMNodes.Error.Number
 Testing value `{"level":"pass","domNodes":42}`...
 PASS: Result should be "error".
   errors:
-   - “domNodes“ must be an array
+   - "domNodes" must be an array
 
 -- Running test case: Audit.DOMNodes.Error.String
 Testing value `{"level":"pass","domNodes":"foo"}`...
 PASS: Result should be "error".
   errors:
-   - “domNodes“ must be an array
+   - "domNodes" must be an array
 
 -- Running test case: Audit.DOMNodes.Error.Object
 Testing value `{"level":"pass","domNodes":{}}`...
 PASS: Result should be "error".
   errors:
-   - “domNodes“ must be an array
+   - "domNodes" must be an array
 

Modified: trunk/LayoutTests/inspector/audit/data-errors-expected.txt (238742 => 238743)


--- trunk/LayoutTests/inspector/audit/data-errors-expected.txt	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/LayoutTests/inspector/audit/data-errors-expected.txt	2018-11-30 18:55:38 UTC (rev 238743)
@@ -30,7 +30,7 @@
 Testing value `{"level":"pass","errors":["user generated error"]}`...
 PASS: Result should be "error".
   errors:
-   - All items in “errors“ must be error objects
+   - All items in "errors" must be error objects
 
 -- Running test case: Audit.Errors.Undefined
 Testing value `{"level":"pass"}`...
@@ -40,23 +40,23 @@
 Testing value `{"level":"pass","errors":null}`...
 PASS: Result should be "error".
   errors:
-   - “errors“ must be an array
+   - "errors" must be an array
 
 -- Running test case: Audit.Errors.Error.Number
 Testing value `{"level":"pass","errors":42}`...
 PASS: Result should be "error".
   errors:
-   - “errors“ must be an array
+   - "errors" must be an array
 
 -- Running test case: Audit.Errors.Error.String
 Testing value `{"level":"pass","errors":"foo"}`...
 PASS: Result should be "error".
   errors:
-   - “errors“ must be an array
+   - "errors" must be an array
 
 -- Running test case: Audit.Errors.Error.Object
 Testing value `{"level":"pass","errors":{}}`...
 PASS: Result should be "error".
   errors:
-   - “errors“ must be an array
+   - "errors" must be an array
 

Modified: trunk/Source/WebInspectorUI/ChangeLog (238742 => 238743)


--- trunk/Source/WebInspectorUI/ChangeLog	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/ChangeLog	2018-11-30 18:55:38 UTC (rev 238743)
@@ -1,3 +1,48 @@
+2018-11-30  Devin Rousso  <drou...@apple.com>
+
+        Web Inspector: replace all unicode characters with the escaped character code
+        https://bugs.webkit.org/show_bug.cgi?id=192216
+        <rdar://problem/46275637>
+
+        Reviewed by Brian Burg.
+
+        * Localizations/en.lproj/localizedStrings.js:
+        * UserInterface/Controllers/BreakpointPopoverController.js:
+        * UserInterface/Debug/UncaughtExceptionReporter.js:
+        * UserInterface/Models/AuditTestCase.js:
+        * UserInterface/Models/Canvas.js:
+        * UserInterface/Models/RecordingAction.js:
+        * UserInterface/Models/ScriptTimelineRecord.js:
+        * UserInterface/Views/AuditTestCaseContentView.js:
+        * UserInterface/Views/AuditTestContentView.js:
+        * UserInterface/Views/AuditTestGroupContentView.js:
+        * UserInterface/Views/CallFrameView.js:
+        * UserInterface/Views/CanvasContentView.js:
+        * UserInterface/Views/CanvasOverviewContentView.css:
+        * UserInterface/Views/ConsoleMessageView.css:
+        * UserInterface/Views/ContextMenuUtilities.js:
+        * UserInterface/Views/DOMEventsBreakdownView.js:
+        * UserInterface/Views/DataGrid.css:
+        * UserInterface/Views/DataGrid.js:
+        * UserInterface/Views/DatabaseTableContentView.js:
+        * UserInterface/Views/DebuggerDashboardView.css:
+        * UserInterface/Views/DebuggerSidebarPanel.js:
+        * UserInterface/Views/ErrorObjectView.js:
+        * UserInterface/Views/EventBreakpointPopover.js:
+        * UserInterface/Views/InlineSwatch.js:
+        * UserInterface/Views/LayerTreeDataGridNode.js:
+        * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
+        * UserInterface/Views/Layers3DContentView.js:
+        * UserInterface/Views/LayoutTimelineDataGridNode.js:
+        * UserInterface/Views/NetworkTableContentView.css:
+        * UserInterface/Views/NetworkTableContentView.js:
+        * UserInterface/Views/ObjectPreviewView.js:
+        * UserInterface/Views/ProfileDataGridNode.js:
+        * UserInterface/Views/ResourceTimelineDataGridNode.js:
+        * UserInterface/Views/ScriptDetailsTimelineView.css:
+        * UserInterface/Views/TextEditor.css:
+        * UserInterface/Views/TreeOutline.css:
+
 2018-11-29  Matt Baker  <mattba...@apple.com>
 
         Web Inspector: RTL: disclosure triangles should be flipped and aligned right

Modified: trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js (238742 => 238743)


--- trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js	2018-11-30 18:55:38 UTC (rev 238743)
@@ -40,7 +40,7 @@
 localizedStrings["%d matches"] = "%d matches";
 localizedStrings["%d of %d"] = "%d of %d";
 localizedStrings["%dpx"] = "%dpx";
-localizedStrings["%dpx²"] = "%dpx²";
+localizedStrings["%dpx\u00B2"] = "%dpx\u00B2";
 localizedStrings["%s (%s)"] = "%s (%s)";
 localizedStrings["%s (%s, %s)"] = "%s (%s, %s)";
 localizedStrings["%s (default)"] = "%s (default)";
@@ -96,11 +96,11 @@
 localizedStrings["All Requests"] = "All Requests";
 localizedStrings["All Resources"] = "All Resources";
 localizedStrings["All Storage"] = "All Storage";
-localizedStrings["All items in “%s“ must be error objects"] = "All items in “%s“ must be error objects";
-localizedStrings["All items in “%s“ must be non-empty strings"] = "All items in “%s“ must be non-empty strings";
-localizedStrings["All items in “%s“ must be valid DOM nodes"] = "All items in “%s“ must be valid DOM nodes";
+localizedStrings["All items in \u0022%s\u0022 must be error objects"] = "All items in \u0022%s\u0022 must be error objects";
+localizedStrings["All items in \u0022%s\u0022 must be non-empty strings"] = "All items in \u0022%s\u0022 must be non-empty strings";
+localizedStrings["All items in \u0022%s\u0022 must be valid DOM nodes"] = "All items in \u0022%s\u0022 must be valid DOM nodes";
 localizedStrings["An error occurred trying to load the resource."] = "An error occurred trying to load the resource.";
-localizedStrings["An error occurred trying to read the “%s” table."] = "An error occurred trying to read the “%s” table.";
+localizedStrings["An error occurred trying to read the \u201C%s\u201D table."] = "An error occurred trying to read the \u201C%s\u201D table.";
 localizedStrings["An unexpected error %s occurred."] = "An unexpected error %s occurred.";
 localizedStrings["An unexpected error occurred."] = "An unexpected error occurred.";
 localizedStrings["Angle"] = "Angle";
@@ -125,7 +125,7 @@
 localizedStrings["Attribute Modified"] = "Attribute Modified";
 localizedStrings["Attributes"] = "Attributes";
 localizedStrings["Audit"] = "Audit";
-localizedStrings["Audit test error: %s"] = "Audit test error: %s";
+localizedStrings["Audit error: %s"] = "Audit error: %s";
 localizedStrings["Audit:"] = "Audit:";
 localizedStrings["Audits"] = "Audits";
 localizedStrings["Author Stylesheet"] = "Author Stylesheet";
@@ -145,7 +145,7 @@
 localizedStrings["Box Model"] = "Box Model";
 localizedStrings["Break on events with name:"] = "Break on events with name:";
 localizedStrings["Break on request with URL:"] = "Break on request with URL:";
-localizedStrings["Break on…"] = "Break on…";
+localizedStrings["Break on\u2026"] = "Break on\u2026";
 localizedStrings["Breakdown"] = "Breakdown";
 localizedStrings["Breakdown of each memory category at the end of the selected time range"] = "Breakdown of each memory category at the end of the selected time range";
 localizedStrings["Breakpoint"] = "Breakpoint";
@@ -159,7 +159,7 @@
 localizedStrings["CSP Hash"] = "CSP Hash";
 localizedStrings["CSS"] = "CSS";
 localizedStrings["CSS Canvas"] = "CSS Canvas";
-localizedStrings["CSS canvas “%s”"] = "CSS canvas “%s”";
+localizedStrings["CSS canvas \u201C%s\u201D"] = "CSS canvas \u201C%s\u201D";
 localizedStrings["Cached"] = "Cached";
 localizedStrings["Call Frames Truncated"] = "Call Frames Truncated";
 localizedStrings["Call Stack"] = "Call Stack";
@@ -179,7 +179,7 @@
 localizedStrings["Categories"] = "Categories";
 localizedStrings["Certificate"] = "Certificate";
 localizedStrings["Character Data"] = "Character Data";
-localizedStrings["Charge ‘%s’ to Callers"] = "Charge ‘%s’ to Callers";
+localizedStrings["Charge \u201C%s\u201D to Callers"] = "Charge \u201C%s\u201D to Callers";
 localizedStrings["Checked"] = "Checked";
 localizedStrings["Child"] = "Child";
 localizedStrings["Child Layers"] = "Child Layers";
@@ -313,17 +313,24 @@
 localizedStrings["Dynamically calculated for the selected element"] = "Dynamically calculated for the selected element";
 localizedStrings["Dynamically calculated for the selected element and did not match"] = "Dynamically calculated for the selected element and did not match";
 localizedStrings["Edit"] = "Edit";
-localizedStrings["Edit Breakpoint…"] = "Edit Breakpoint…";
+localizedStrings["Edit Breakpoint\u2026"] = "Edit Breakpoint\u2026";
+localizedStrings["Edit \u201C%s\u201D"] = "Edit \u201C%s\u201D";
+localizedStrings["Edit \u201Ccubic-bezier\u201D function"] = "Edit \u201Ccubic-bezier\u201D function";
+localizedStrings["Edit \u201Cspring\u201D function"] = "Edit \u201Cspring\u201D function";
 localizedStrings["Edit configuration"] = "Edit configuration";
 localizedStrings["Edit custom gradient"] = "Edit custom gradient";
-localizedStrings["Edit “%s”"] = "Edit “%s”";
-localizedStrings["Edit “cubic-bezier“ function"] = "Edit “cubic-bezier“ function";
-localizedStrings["Edit “spring“ function"] = "Edit “spring“ function";
 localizedStrings["Element"] = "Element";
 localizedStrings["Element clips compositing descendants"] = "Element clips compositing descendants";
 localizedStrings["Element has CSS blending applied and composited descendants"] = "Element has CSS blending applied and composited descendants";
 localizedStrings["Element has CSS filters applied"] = "Element has CSS filters applied";
 localizedStrings["Element has CSS filters applied and composited descendants"] = "Element has CSS filters applied and composited descendants";
+localizedStrings["Element has \u201C-webkit-overflow-scrolling: touch\u201D style"] = "Element has \u201C-webkit-overflow-scrolling: touch\u201D style";
+localizedStrings["Element has \u201Cbackface-visibility: hidden\u201D style"] = "Element has \u201Cbackface-visibility: hidden\u201D style";
+localizedStrings["Element has \u201Cblend-mode\u201D style"] = "Element has \u201Cblend-mode\u201D style";
+localizedStrings["Element has \u201Cposition: fixed\u201D style"] = "Element has \u201Cposition: fixed\u201D style";
+localizedStrings["Element has \u201Cposition: sticky\u201D style"] = "Element has \u201Cposition: sticky\u201D style";
+localizedStrings["Element has \u201Ctransform-style: preserve-3d\u201D style"] = "Element has \u201Ctransform-style: preserve-3d\u201D style";
+localizedStrings["Element has \u201Cwill-change\u201D style which includes opacity, transform, transform-style, perspective, filter or backdrop-filter"] = "Element has \u201Cwill-change\u201D style which includes opacity, transform, transform-style, perspective, filter or backdrop-filter";
 localizedStrings["Element has a 2D transform and composited descendants"] = "Element has a 2D transform and composited descendants";
 localizedStrings["Element has a 3D transform"] = "Element has a 3D transform";
 localizedStrings["Element has a reflection and composited descendants"] = "Element has a reflection and composited descendants";
@@ -330,13 +337,6 @@
 localizedStrings["Element has children with a negative z-index"] = "Element has children with a negative z-index";
 localizedStrings["Element has opacity applied and composited descendants"] = "Element has opacity applied and composited descendants";
 localizedStrings["Element has perspective applied"] = "Element has perspective applied";
-localizedStrings["Element has “-webkit-overflow-scrolling: touch” style"] = "Element has “-webkit-overflow-scrolling: touch” style";
-localizedStrings["Element has “backface-visibility: hidden” style"] = "Element has “backface-visibility: hidden” style";
-localizedStrings["Element has “blend-mode” style"] = "Element has “blend-mode” style";
-localizedStrings["Element has “position: fixed” style"] = "Element has “position: fixed” style";
-localizedStrings["Element has “position: sticky” style"] = "Element has “position: sticky” style";
-localizedStrings["Element has “transform-style: preserve-3d” style"] = "Element has “transform-style: preserve-3d” style";
-localizedStrings["Element has “will-change” style which includes opacity, transform, transform-style, perspective, filter or backdrop-filter"] = "Element has “will-change” style which includes opacity, transform, transform-style, perspective, filter or backdrop-filter";
 localizedStrings["Element is <canvas>"] = "Element is <canvas>";
 localizedStrings["Element is <iframe>"] = "Element is <iframe>";
 localizedStrings["Element is <video>"] = "Element is <video>";
@@ -356,7 +356,6 @@
 localizedStrings["Enable Layers Tab"] = "Enable Layers Tab";
 localizedStrings["Enable New Tab Bar"] = "Enable New Tab Bar";
 localizedStrings["Enable Program"] = "Enable Program";
-localizedStrings["Enable Selection of Multiple Properties"] = "Enable Selection of Multiple Properties";
 localizedStrings["Enable all breakpoints (%s)"] = "Enable all breakpoints (%s)";
 localizedStrings["Enable breakpoints"] = "Enable breakpoints";
 localizedStrings["Enable paint flashing"] = "Enable paint flashing";
@@ -386,7 +385,7 @@
 localizedStrings["Event Dispatched"] = "Event Dispatched";
 localizedStrings["Event Listeners"] = "Event Listeners";
 localizedStrings["Events"] = "Events";
-localizedStrings["Example: “%s”"] = "Example: “%s”";
+localizedStrings["Example: \u201C%s\u201D"] = "Example: \u201C%s\u201D";
 localizedStrings["Exception with thrown value: %s"] = "Exception with thrown value: %s";
 localizedStrings["Exited Full-Screen Mode"] = "Exited Full-Screen Mode";
 localizedStrings["Exited Low-Power Mode"] = "Exited Low-Power Mode";
@@ -444,7 +443,7 @@
 localizedStrings["Full Garbage Collection"] = "Full Garbage Collection";
 localizedStrings["Full URL"] = "Full URL";
 localizedStrings["Full-Screen"] = "Full-Screen";
-localizedStrings["Full-Screen from “%s“"] = "Full-Screen from “%s“";
+localizedStrings["Full-Screen from \u201C%s\u201D"] = "Full-Screen from \u201C%s\u201D";
 localizedStrings["Function"] = "Function";
 localizedStrings["Function Name Variable"] = "Function Name Variable";
 localizedStrings["Garbage Collection"] = "Garbage Collection";
@@ -741,7 +740,7 @@
 localizedStrings["Resource failed to load."] = "Resource failed to load.";
 localizedStrings["Resource has no content"] = "Resource has no content";
 localizedStrings["Resource has no timing data"] = "Resource has no timing data";
-localizedStrings["Resource was loaded with the “data” scheme."] = "Resource was loaded with the “data” scheme.";
+localizedStrings["Resource was loaded with the \u201Cdata\u201D scheme."] = "Resource was loaded with the \u201Cdata\u201D scheme.";
 localizedStrings["Resource was served from the cache."] = "Resource was served from the cache.";
 localizedStrings["Resources"] = "Resources";
 localizedStrings["Response"] = "Response";
@@ -770,7 +769,7 @@
 localizedStrings["Reveal in Resources Tab"] = "Reveal in Resources Tab";
 localizedStrings["Role"] = "Role";
 localizedStrings["Run %d"] = "Run %d";
-localizedStrings["Running the “%s“ audit"] = "Running the “%s“ audit";
+localizedStrings["Running the \u201C%s\u201D audit"] = "Running the \u201C%s\u201D audit";
 localizedStrings["Samples"] = "Samples";
 localizedStrings["Save %d"] = "Save %d";
 localizedStrings["Save File"] = "Save File";
@@ -890,7 +889,7 @@
 localizedStrings["Stop recording"] = "Stop recording";
 localizedStrings["Stop recording (%s)"] = "Stop recording (%s)";
 localizedStrings["Stop recording canvas actions"] = "Stop recording canvas actions";
-localizedStrings["Stopping the “%s“ audit"] = "Stopping the “%s“ audit";
+localizedStrings["Stopping the \u201C%s\u201D audit"] = "Stopping the \u201C%s\u201D audit";
 localizedStrings["Storage"] = "Storage";
 localizedStrings["Style Attribute"] = "Style Attribute";
 localizedStrings["Style rule"] = "Style rule";
@@ -918,14 +917,14 @@
 localizedStrings["Text"] = "Text";
 localizedStrings["Text Frame"] = "Text Frame";
 localizedStrings["Text Node"] = "Text Node";
+localizedStrings["The \u201C%s\u201D audit failed"] = "The \u201C%s\u201D audit failed";
+localizedStrings["The \u201C%s\u201D audit is unsupported"] = "The \u201C%s\u201D audit is unsupported";
+localizedStrings["The \u201C%s\u201D audit passed"] = "The \u201C%s\u201D audit passed";
+localizedStrings["The \u201C%s\u201D audit threw an error"] = "The \u201C%s\u201D audit threw an error";
+localizedStrings["The \u201C%s\u201D audit warned"] = "The \u201C%s\u201D audit warned";
+localizedStrings["The \u201C%s\u201D\ntable is empty."] = "The \u201C%s\u201D\ntable is empty.";
 localizedStrings["The page's content has changed"] = "The page's content has changed";
 localizedStrings["The resource was requested insecurely."] = "The resource was requested insecurely.";
-localizedStrings["The “%s“ audit failed"] = "The “%s“ audit failed";
-localizedStrings["The “%s“ audit is unsupported"] = "The “%s“ audit is unsupported";
-localizedStrings["The “%s“ audit passed"] = "The “%s“ audit passed";
-localizedStrings["The “%s“ audit threw an error"] = "The “%s“ audit threw an error";
-localizedStrings["The “%s“ audit warned"] = "The “%s“ audit warned";
-localizedStrings["The “%s”\ntable is empty."] = "The “%s”\ntable is empty.";
 localizedStrings["These are all of the different test result levels."] = "These are all of the different test result levels.";
 localizedStrings["These are all of the different types of data that can be returned with the test result."] = "These are all of the different types of data that can be returned with the test result.";
 localizedStrings["These tests serve as a demonstration of the functionality and structure of audits."] = "These tests serve as a demonstration of the functionality and structure of audits.";
@@ -1006,7 +1005,7 @@
 localizedStrings["Visible"] = "Visible";
 localizedStrings["Waiting"] = "Waiting";
 localizedStrings["Waiting for canvas contexts created by script or CSS."] = "Waiting for canvas contexts created by script or CSS.";
-localizedStrings["Waiting for frames…"] = "Waiting for frames…";
+localizedStrings["Waiting for frames\u2026"] = "Waiting for frames\u2026";
 localizedStrings["Warning: "] = "Warning: ";
 localizedStrings["Warnings"] = "Warnings";
 localizedStrings["Watch Expressions"] = "Watch Expressions";
@@ -1028,6 +1027,12 @@
 localizedStrings["XPath"] = "XPath";
 localizedStrings["Yes"] = "Yes";
 localizedStrings["Zoom:"] = "Zoom:";
+localizedStrings["\u0022%s\u0022 is invalid."] = "\u0022%s\u0022 is invalid.";
+localizedStrings["\u0022%s\u0022 must be a %s"] = "\u0022%s\u0022 must be a %s";
+localizedStrings["\u0022%s\u0022 must be an %s"] = "\u0022%s\u0022 must be an %s";
+localizedStrings["\u0022%s\u0022 threw an error."] = "\u0022%s\u0022 threw an error.";
+localizedStrings["\u201C%s\u201D Event Fired"] = "\u201C%s\u201D Event Fired";
+localizedStrings["\u201C%s\u201D Profile Recorded"] = "\u201C%s\u201D Profile Recorded";
 localizedStrings["computed"] = "computed";
 localizedStrings["default"] = "default";
 localizedStrings["for changes to take effect"] = "for changes to take effect";
@@ -1043,9 +1048,3 @@
 localizedStrings["toggle"] = "toggle";
 localizedStrings["unsupported version."] = "unsupported version.";
 localizedStrings["value"] = "value";
-localizedStrings["“%s“ Event Fired"] = "“%s“ Event Fired";
-localizedStrings["“%s“ must be a %s"] = "“%s“ must be a %s";
-localizedStrings["“%s“ must be an %s"] = "“%s“ must be an %s";
-localizedStrings["“%s” Profile Recorded"] = "“%s” Profile Recorded";
-localizedStrings["“%s” is invalid."] = "“%s” is invalid.";
-localizedStrings["“%s” threw an error."] = "“%s” threw an error.";

Modified: trunk/Source/WebInspectorUI/UserInterface/Controllers/AuditManager.js (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Controllers/AuditManager.js	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Controllers/AuditManager.js	2018-11-30 18:55:38 UTC (rev 238743)
@@ -40,7 +40,7 @@
 
     static synthesizeError(message)
     {
-        let consoleMessage = new WI.ConsoleMessage(WI.mainTarget, WI.ConsoleMessage.MessageSource.Other, WI.ConsoleMessage.MessageLevel.Error, WI.UIString("Audit test error: %s").format(message));
+        let consoleMessage = new WI.ConsoleMessage(WI.mainTarget, WI.ConsoleMessage.MessageSource.Other, WI.ConsoleMessage.MessageLevel.Error, WI.UIString("Audit error: %s").format(message));
         consoleMessage.shouldRevealConsole = true;
 
         WI.consoleLogViewController.appendConsoleMessage(consoleMessage);

Modified: trunk/Source/WebInspectorUI/UserInterface/Controllers/BreakpointPopoverController.js (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Controllers/BreakpointPopoverController.js	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Controllers/BreakpointPopoverController.js	2018-11-30 18:55:38 UTC (rev 238743)
@@ -75,7 +75,7 @@
         };
 
         if (WI.debuggerManager.isBreakpointEditable(breakpoint))
-            contextMenu.appendItem(WI.UIString("Edit Breakpoint…"), editBreakpoint);
+            contextMenu.appendItem(WI.UIString("Edit Breakpoint\u2026"), editBreakpoint);
 
         if (breakpoint.autoContinue && !breakpoint.disabled) {
             contextMenu.appendItem(WI.UIString("Disable Breakpoint"), toggleBreakpoint);

Modified: trunk/Source/WebInspectorUI/UserInterface/Debug/UncaughtExceptionReporter.js (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Debug/UncaughtExceptionReporter.js	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Debug/UncaughtExceptionReporter.js	2018-11-30 18:55:38 UTC (rev 238743)
@@ -207,7 +207,7 @@
 
     function stringifyAndTruncateObject(object) {
         let string = JSON.stringify(object);
-        return string.length > 500 ? string.substr(0, 500) + "…" : string;
+        return string.length > 500 ? string.substr(0, 500) + ellipsis : string;
     }
 
     if (window.InspectorBackend && InspectorBackend.currentDispatchState) {

Modified: trunk/Source/WebInspectorUI/UserInterface/Models/AuditTestCase.js (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Models/AuditTestCase.js	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Models/AuditTestCase.js	2018-11-30 18:55:38 UTC (rev 238743)
@@ -142,9 +142,9 @@
                     function addErrorForValueType(valueType) {
                         let value = null;
                         if (valueType === "object" || valueType === "array")
-                            value = WI.UIString("“%s“ must be an %s");
+                            value = WI.UIString("\u0022%s\u0022 must be an %s");
                         else
-                            value = WI.UIString("“%s“ must be a %s");
+                            value = WI.UIString("\u0022%s\u0022 must be a %s");
                         addError(value.format(key, valueType));
                     }
 
@@ -195,7 +195,7 @@
 
                 await resultArrayForEach("domNodes", async (item) => {
                     if (!item || !item.value || item.value.type !== "object" || item.value.subtype !== "node") {
-                        addError(WI.UIString("All items in “%s“ must be valid DOM nodes").format(WI.unlocalizedString("domNodes")));
+                        addError(WI.UIString("All items in \u0022%s\u0022 must be valid DOM nodes").format(WI.unlocalizedString("domNodes")));
                         return;
                     }
 
@@ -215,7 +215,7 @@
 
                 await resultArrayForEach("domAttributes", (item) => {
                     if (!item || !item.value || item.value.type !== "string" || !item.value.value.length) {
-                        addError(WI.UIString("All items in “%s“ must be non-empty strings").format(WI.unlocalizedString("domAttributes")));
+                        addError(WI.UIString("All items in \u0022%s\u0022 must be non-empty strings").format(WI.unlocalizedString("domAttributes")));
                         return;
                     }
 
@@ -226,7 +226,7 @@
 
                 await resultArrayForEach("errors", (item) => {
                     if (!item || !item.value || item.value.type !== "object" || item.value.subtype !== "error") {
-                        addError(WI.UIString("All items in “%s“ must be error objects").format(WI.unlocalizedString("errors")));
+                        addError(WI.UIString("All items in \u0022%s\u0022 must be error objects").format(WI.unlocalizedString("errors")));
                         return;
                     }
 

Modified: trunk/Source/WebInspectorUI/UserInterface/Models/Canvas.js (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Models/Canvas.js	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Models/Canvas.js	2018-11-30 18:55:38 UTC (rev 238743)
@@ -152,7 +152,7 @@
     get displayName()
     {
         if (this._cssCanvasName)
-            return WI.UIString("CSS canvas “%s”").format(this._cssCanvasName);
+            return WI.UIString("CSS canvas \u201C%s\u201D").format(this._cssCanvasName);
 
         if (this._domNode) {
             let idSelector = this._domNode.escapedIdSelector;

Modified: trunk/Source/WebInspectorUI/UserInterface/Models/RecordingAction.js (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Models/RecordingAction.js	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Models/RecordingAction.js	2018-11-30 18:55:38 UTC (rev 238743)
@@ -310,7 +310,7 @@
                 if (prototype && !(name in prototype)) {
                     this.markInvalid();
 
-                    WI.Recording.synthesizeError(WI.UIString("“%s” is invalid.").format(name));
+                    WI.Recording.synthesizeError(WI.UIString("\u0022%s\u0022 is invalid.").format(name));
                 }
             }
         }
@@ -360,7 +360,7 @@
         } catch {
             this.markInvalid();
 
-            WI.Recording.synthesizeError(WI.UIString("“%s” threw an error.").format(this._name));
+            WI.Recording.synthesizeError(WI.UIString("\u0022%s\u0022 threw an error.").format(this._name));
         }
     }
 

Modified: trunk/Source/WebInspectorUI/UserInterface/Models/ScriptTimelineRecord.js (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Models/ScriptTimelineRecord.js	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Models/ScriptTimelineRecord.js	2018-11-30 18:55:38 UTC (rev 238743)
@@ -371,7 +371,7 @@
         return WI.UIString("Probe Sample Recorded");
     case WI.ScriptTimelineRecord.EventType.ConsoleProfileRecorded:
         if (details && (details instanceof String || typeof details === "string"))
-            return WI.UIString("“%s” Profile Recorded").format(details);
+            return WI.UIString("\u201C%s\u201D Profile Recorded").format(details);
         return WI.UIString("Console Profile Recorded");
     case WI.ScriptTimelineRecord.EventType.GarbageCollected:
         console.assert(details);

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/AuditTestCaseContentView.js (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Views/AuditTestCaseContentView.js	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/AuditTestCaseContentView.js	2018-11-30 18:55:38 UTC (rev 238743)
@@ -223,7 +223,7 @@
     showRunningPlaceholder()
     {
         if (!this.placeholderElement || !this.placeholderElement.__placeholderRunning) {
-            this.placeholderElement = WI.createMessageTextView(WI.UIString("Running the “%s“ audit").format(this.representedObject.name));
+            this.placeholderElement = WI.createMessageTextView(WI.UIString("Running the \u201C%s\u201D audit").format(this.representedObject.name));
             this.placeholderElement.__placeholderRunning = true;
 
             let spinner = new WI.IndeterminateProgressSpinner;

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/AuditTestContentView.js (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Views/AuditTestContentView.js	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/AuditTestContentView.js	2018-11-30 18:55:38 UTC (rev 238743)
@@ -136,7 +136,7 @@
     showStoppingPlaceholder()
     {
         if (!this.placeholderElement || !this.placeholderElement.__placeholderStopping) {
-            this.placeholderElement = WI.createMessageTextView(WI.UIString("Stopping the “%s“ audit").format(this.representedObject.name));
+            this.placeholderElement = WI.createMessageTextView(WI.UIString("Stopping the \u201C%s\u201D audit").format(this.representedObject.name));
             this.placeholderElement.__placeholderStopping = true;
 
             let spinner = new WI.IndeterminateProgressSpinner;
@@ -176,15 +176,15 @@
 
             let message = null;
             if (result.didError)
-                message = WI.UIString("The “%s“ audit threw an error");
+                message = WI.UIString("The \u201C%s\u201D audit threw an error");
             else if (result.didFail)
-                message = WI.UIString("The “%s“ audit failed");
+                message = WI.UIString("The \u201C%s\u201D audit failed");
             else if (result.didWarn)
-                message = WI.UIString("The “%s“ audit warned");
+                message = WI.UIString("The \u201C%s\u201D audit warned");
             else if (result.didPass)
-                message = WI.UIString("The “%s“ audit passed");
+                message = WI.UIString("The \u201C%s\u201D audit passed");
             else if (result.unsupported)
-                message = WI.UIString("The “%s“ audit is unsupported");
+                message = WI.UIString("The \u201C%s\u201D audit is unsupported");
             else {
                 console.error("Unknown result", result);
                 return;

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/AuditTestGroupContentView.js (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Views/AuditTestGroupContentView.js	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/AuditTestGroupContentView.js	2018-11-30 18:55:38 UTC (rev 238743)
@@ -174,7 +174,7 @@
     showRunningPlaceholder()
     {
         if (!this.placeholderElement || !this.placeholderElement.__placeholderRunning) {
-            this.placeholderElement = WI.createMessageTextView(WI.UIString("Running the “%s“ audit").format(this.representedObject.name));
+            this.placeholderElement = WI.createMessageTextView(WI.UIString("Running the \u201C%s\u201D audit").format(this.representedObject.name));
             this.placeholderElement.__placeholderRunning = true;
 
             this.placeholderElement.__progress = document.createElement("progress");

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/CallFrameView.js (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Views/CallFrameView.js	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/CallFrameView.js	2018-11-30 18:55:38 UTC (rev 238743)
@@ -49,7 +49,7 @@
             if (showFunctionName) {
                 var separatorElement = document.createElement("span");
                 separatorElement.classList.add("separator");
-                separatorElement.textContent = " — ";
+                separatorElement.textContent = ` ${emDash} `;
                 subtitleElement.append(separatorElement);
             }
 

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/CanvasContentView.js (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Views/CanvasContentView.js	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/CanvasContentView.js	2018-11-30 18:55:38 UTC (rev 238743)
@@ -399,7 +399,7 @@
             let formatString = this.representedObject.recordingFrameCount === 1 ? WI.UIString("%d Frame") : WI.UIString("%d Frames");
             title = formatString.format(this.representedObject.recordingFrameCount);
         } else
-            title = WI.UIString("Waiting for frames…");
+            title = WI.UIString("Waiting for frames\u2026");
 
         this._progressView.title = title;
         this._progressView.subtitle = this.representedObject.recordingBufferUsed ? Number.bytesToString(this.representedObject.recordingBufferUsed) : "";

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/CanvasOverviewContentView.css (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Views/CanvasOverviewContentView.css	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/CanvasOverviewContentView.css	2018-11-30 18:55:38 UTC (rev 238743)
@@ -81,7 +81,7 @@
 }
 
 .content-view.canvas-overview .content-view.canvas > header .subtitle::before {
-    content: " — ";
+    content: "\00A0\2014\00A0"; /* &nbsp;&mdash;&nbsp; */;
 }
 
 .content-view.canvas-overview .content-view.canvas.recording-active > header > .titles > .title {

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ConsoleMessageView.css (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Views/ConsoleMessageView.css	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ConsoleMessageView.css	2018-11-30 18:55:38 UTC (rev 238743)
@@ -146,7 +146,7 @@
     text-align: center;
 
     height: 13px;
-    content: "•";
+    content: "\2022"; /* &middot; */
 
     font-family: -webkit-system-font, sans-serif;
     font-size: 11px;

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ContextMenuUtilities.js (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Views/ContextMenuUtilities.js	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ContextMenuUtilities.js	2018-11-30 18:55:38 UTC (rev 238743)
@@ -263,7 +263,7 @@
 
     contextMenu.__domBreakpointItemsAdded = true;
 
-    let subMenu = contextMenu.appendSubMenuItem(WI.UIString("Break on…"));
+    let subMenu = contextMenu.appendSubMenuItem(WI.UIString("Break on\u2026"));
 
     let breakpoints = WI.domDebuggerManager.domBreakpointsForNode(domNode);
     let keyValuePairs = breakpoints.map((breakpoint) => [breakpoint.type, breakpoint]);

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/DOMEventsBreakdownView.js (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Views/DOMEventsBreakdownView.js	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/DOMEventsBreakdownView.js	2018-11-30 18:55:38 UTC (rev 238743)
@@ -133,7 +133,7 @@
                     fullscreenArea.style.setProperty("width", percentOfTotalTime(fullscreenRange.endTimestamp - fullscreenRange.startTimestamp) + "%");
 
                     if (fullscreenRange.originator)
-                        fullscreenArea.title = WI.UIString("Full-Screen from “%s“").format(fullscreenRange.originator.displayName);
+                        fullscreenArea.title = WI.UIString("Full-Screen from \u201C%s\u201D").format(fullscreenRange.originator.displayName);
                     else
                         fullscreenArea.title = WI.UIString("Full-Screen");
                 }

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/DataGrid.css (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Views/DataGrid.css	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/DataGrid.css	2018-11-30 18:55:38 UTC (rev 238743)
@@ -314,7 +314,7 @@
 }
 
 .data-grid td .subtitle::before {
-    content: " — ";
+    content: "\00A0\2014\00A0"; /* &nbsp;&mdash;&nbsp; */;
 }
 
 .data-grid:focus tr.selected td .subtitle {

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/DataGrid.js (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Views/DataGrid.js	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/DataGrid.js	2018-11-30 18:55:38 UTC (rev 238743)
@@ -1641,7 +1641,7 @@
                         let element = event.target.enclosingNodeOrSelfWithNodeName("td");
                         let columnIdentifier = element.__columnIdentifier;
                         let columnTitle = this.dataGrid.columns.get(columnIdentifier)["title"];
-                        contextMenu.appendItem(WI.UIString("Edit “%s”").format(columnTitle), this._startEditing.bind(this, event.target));
+                        contextMenu.appendItem(WI.UIString("Edit \u201C%s\u201D").format(columnTitle), this._startEditing.bind(this, event.target));
                     }
                 }
 

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/DatabaseTableContentView.js (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Views/DatabaseTableContentView.js	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/DatabaseTableContentView.js	2018-11-30 18:55:38 UTC (rev 238743)
@@ -95,7 +95,7 @@
 
         // We were returned a table with no columns. This can happen when a table has
         // no data, the SELECT query only returns column names when there is data.
-        this._messageTextViewElement = WI.createMessageTextView(WI.UIString("The “%s”\ntable is empty.").format(this.representedObject.name), false);
+        this._messageTextViewElement = WI.createMessageTextView(WI.UIString("The \u201C%s\u201D\ntable is empty.").format(this.representedObject.name), false);
         this.element.appendChild(this._messageTextViewElement);
     }
 
@@ -109,7 +109,7 @@
         if (this._messageTextViewElement)
             this._messageTextViewElement.remove();
 
-        this._messageTextViewElement = WI.createMessageTextView(WI.UIString("An error occurred trying to read the “%s” table.").format(this.representedObject.name), true);
+        this._messageTextViewElement = WI.createMessageTextView(WI.UIString("An error occurred trying to read the \u201C%s\u201D table.").format(this.representedObject.name), true);
         this.element.appendChild(this._messageTextViewElement);
     }
 

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerDashboardView.css (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerDashboardView.css	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerDashboardView.css	2018-11-30 18:55:38 UTC (rev 238743)
@@ -175,7 +175,7 @@
 }
 
 .dashboard.debugger > .location .function-name::after {
-    content: '\00A0\2014\00A0'; /* &nbsp;&mdash;&nbsp; */
+    content: "\00A0\2014\00A0"; /* &nbsp;&mdash;&nbsp; */;
 }
 
 .dashboard.debugger > .location .go-to-link {

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.js (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.js	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.js	2018-11-30 18:55:38 UTC (rev 238743)
@@ -1186,7 +1186,7 @@
 
             var eventBreakpointTreeElement = new WI.EventBreakpointTreeElement(eventBreakpoint, {
                 className: WI.DebuggerSidebarPanel.PausedBreakpointIconStyleClassName,
-                title: WI.UIString("“%s“ Event Fired").format(pauseData.eventName),
+                title: WI.UIString("\u201C%s\u201D Event Fired").format(pauseData.eventName),
             });
             this._pauseReasonTreeOutline.appendChild(eventBreakpointTreeElement);
 

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ErrorObjectView.js (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Views/ErrorObjectView.js	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ErrorObjectView.js	2018-11-30 18:55:38 UTC (rev 238743)
@@ -55,7 +55,7 @@
 
         var span = document.createElement("span");
         span.classList.add("error-object-link-container");
-        span.textContent = " — ";
+        span.textContent = ` ${emDash} `;
 
         const options = {
             ignoreNetworkTab: true,

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/EventBreakpointPopover.js (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Views/EventBreakpointPopover.js	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/EventBreakpointPopover.js	2018-11-30 18:55:38 UTC (rev 238743)
@@ -82,7 +82,7 @@
             this._typeSelectElement.hidden = true;
 
         this._domEventNameInputElement = typeContainer.appendChild(document.createElement("input"));
-        this._domEventNameInputElement.placeholder = WI.UIString("Example: “%s”").format("click");
+        this._domEventNameInputElement.placeholder = WI.UIString("Example: \u201C%s\u201D").format("click");
         this._domEventNameInputElement.spellcheck = false;
         this._domEventNameInputElement.addEventListener("keydown", (event) => {
             if (isEnterKey(event) || event.key === "Tab") {

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/InlineSwatch.js (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Views/InlineSwatch.js	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/InlineSwatch.js	2018-11-30 18:55:38 UTC (rev 238743)
@@ -48,10 +48,10 @@
                 this._swatchElement.title = WI.UIString("Edit custom gradient");
                 break;
             case WI.InlineSwatch.Type.Bezier:
-                this._swatchElement.title = WI.UIString("Edit “cubic-bezier“ function");
+                this._swatchElement.title = WI.UIString("Edit \u201Ccubic-bezier\u201D function");
                 break;
             case WI.InlineSwatch.Type.Spring:
-                this._swatchElement.title = WI.UIString("Edit “spring“ function");
+                this._swatchElement.title = WI.UIString("Edit \u201Cspring\u201D function");
                 break;
             case WI.InlineSwatch.Type.Variable:
                 this._swatchElement.title = WI.UIString("View variable value");

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeDataGridNode.js (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeDataGridNode.js	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeDataGridNode.js	2018-11-30 18:55:38 UTC (rev 238743)
@@ -44,7 +44,7 @@
 
     createCellContent(columnIdentifier, cell)
     {
-        cell = columnIdentifier === "name" ? this._makeNameCell() : this._makeOutlet(columnIdentifier, document.createTextNode("–"));
+        cell = columnIdentifier === "name" ? this._makeNameCell() : this._makeOutlet(columnIdentifier, document.createTextNode(enDash));
         this._updateCell(columnIdentifier);
         return cell;
     }

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeDetailsSidebarPanel.js (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeDetailsSidebarPanel.js	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeDetailsSidebarPanel.js	2018-11-30 18:55:38 UTC (rev 238743)
@@ -401,7 +401,7 @@
         if (compositingReasons.iFrame)
             addReason(WI.UIString("Element is <iframe>"));
         if (compositingReasons.backfaceVisibilityHidden)
-            addReason(WI.UIString("Element has “backface-visibility: hidden” style"));
+            addReason(WI.UIString("Element has \u201Cbackface-visibility: hidden\u201D style"));
         if (compositingReasons.clipsCompositingDescendants)
             addReason(WI.UIString("Element clips compositing descendants"));
         if (compositingReasons.animation)
@@ -409,11 +409,11 @@
         if (compositingReasons.filters)
             addReason(WI.UIString("Element has CSS filters applied"));
         if (compositingReasons.positionFixed)
-            addReason(WI.UIString("Element has “position: fixed” style"));
+            addReason(WI.UIString("Element has \u201Cposition: fixed\u201D style"));
         if (compositingReasons.positionSticky)
-            addReason(WI.UIString("Element has “position: sticky” style"));
+            addReason(WI.UIString("Element has \u201Cposition: sticky\u201D style"));
         if (compositingReasons.overflowScrollingTouch)
-            addReason(WI.UIString("Element has “-webkit-overflow-scrolling: touch” style"));
+            addReason(WI.UIString("Element has \u201C-webkit-overflow-scrolling: touch\u201D style"));
         if (compositingReasons.stacking)
             addReason(WI.UIString("Element may overlap another compositing element"));
         if (compositingReasons.overlap)
@@ -437,12 +437,12 @@
         if (compositingReasons.perspective)
             addReason(WI.UIString("Element has perspective applied"));
         if (compositingReasons.preserve3D)
-            addReason(WI.UIString("Element has “transform-style: preserve-3d” style"));
+            addReason(WI.UIString("Element has \u201Ctransform-style: preserve-3d\u201D style"));
         if (compositingReasons.willChange)
-            addReason(WI.UIString("Element has “will-change” style which includes opacity, transform, transform-style, perspective, filter or backdrop-filter"));
+            addReason(WI.UIString("Element has \u201Cwill-change\u201D style which includes opacity, transform, transform-style, perspective, filter or backdrop-filter"));
         if (compositingReasons.root)
             addReason(WI.UIString("Element is the root element"));
         if (compositingReasons.blending)
-            addReason(WI.UIString("Element has “blend-mode” style"));
+            addReason(WI.UIString("Element has \u201Cblend-mode\u201D style"));
     }
 };

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/Layers3DContentView.js (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Views/Layers3DContentView.js	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/Layers3DContentView.js	2018-11-30 18:55:38 UTC (rev 238743)
@@ -486,7 +486,7 @@
         if (compositingReasons.iFrame)
             addReason(WI.UIString("Element is <iframe>"));
         if (compositingReasons.backfaceVisibilityHidden)
-            addReason(WI.UIString("Element has “backface-visibility: hidden” style"));
+            addReason(WI.UIString("Element has \u201Cbackface-visibility: hidden\u201D style"));
         if (compositingReasons.clipsCompositingDescendants)
             addReason(WI.UIString("Element clips compositing descendants"));
         if (compositingReasons.animation)
@@ -494,11 +494,11 @@
         if (compositingReasons.filters)
             addReason(WI.UIString("Element has CSS filters applied"));
         if (compositingReasons.positionFixed)
-            addReason(WI.UIString("Element has “position: fixed” style"));
+            addReason(WI.UIString("Element has \u201Cposition: fixed\u201D style"));
         if (compositingReasons.positionSticky)
-            addReason(WI.UIString("Element has “position: sticky” style"));
+            addReason(WI.UIString("Element has \u201Cposition: sticky\u201D style"));
         if (compositingReasons.overflowScrollingTouch)
-            addReason(WI.UIString("Element has “-webkit-overflow-scrolling: touch” style"));
+            addReason(WI.UIString("Element has \u201C-webkit-overflow-scrolling: touch\u201D style"));
         if (compositingReasons.stacking)
             addReason(WI.UIString("Element may overlap another compositing element"));
         if (compositingReasons.overlap)
@@ -522,13 +522,13 @@
         if (compositingReasons.perspective)
             addReason(WI.UIString("Element has perspective applied"));
         if (compositingReasons.preserve3D)
-            addReason(WI.UIString("Element has “transform-style: preserve-3d” style"));
+            addReason(WI.UIString("Element has \u201Ctransform-style: preserve-3d\u201D style"));
         if (compositingReasons.willChange)
-            addReason(WI.UIString("Element has “will-change” style which includes opacity, transform, transform-style, perspective, filter or backdrop-filter"));
+            addReason(WI.UIString("Element has \u201Cwill-change\u201D style which includes opacity, transform, transform-style, perspective, filter or backdrop-filter"));
         if (compositingReasons.root)
             addReason(WI.UIString("Element is the root element"));
         if (compositingReasons.blending)
-            addReason(WI.UIString("Element has “blend-mode” style"));
+            addReason(WI.UIString("Element has \u201Cblend-mode\u201D style"));
     }
 };
 

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/LayoutTimelineDataGridNode.js (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Views/LayoutTimelineDataGridNode.js	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/LayoutTimelineDataGridNode.js	2018-11-30 18:55:38 UTC (rev 238743)
@@ -72,7 +72,7 @@
             return isNaN(value) ? emDash : WI.UIString("%dpx").format(value);
 
         case "area":
-            return isNaN(value) ? emDash : WI.UIString("%dpx²").format(value);
+            return isNaN(value) ? emDash : WI.UIString("%dpx\u00B2").format(value);
 
         case "startTime":
             return isNaN(value) ? emDash : Number.secondsToString(value - this._baseStartTime, true);

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.css (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.css	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.css	2018-11-30 18:55:38 UTC (rev 238743)
@@ -91,7 +91,7 @@
 }
 
 .network-table .data-container .cell.name .range::before {
-    content: " — ";
+    content: "\00A0\2014\00A0"; /* &nbsp;&mdash;&nbsp; */;
 }
 
 .network-table:focus .data-container li.selected .cell.name .range {

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js	2018-11-30 18:55:38 UTC (rev 238743)
@@ -701,7 +701,7 @@
 
                     let originator = fullscreenDOMEvents[i].originator || fullscreenDOMEvents[i + 1].originator;
                     if (originator)
-                        fullscreenElement.title = WI.UIString("Full-Screen from “%s“").format(originator.displayName);
+                        fullscreenElement.title = WI.UIString("Full-Screen from \u201C%s\u201D").format(originator.displayName);
                     else
                         fullscreenElement.title = WI.UIString("Full-Screen");
                 }

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ObjectPreviewView.js (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Views/ObjectPreviewView.js	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ObjectPreviewView.js	2018-11-30 18:55:38 UTC (rev 238743)
@@ -203,7 +203,7 @@
         var lossless = preview.lossless;
         var overflow = preview.overflow;
 
-        // FIXME: Array previews should have better sparse support: (undefined × 10).
+        // FIXME: Array previews should have better sparse support.
         var isArray = preview.subtype === "array";
 
         element.append(isArray ? "[" : "{");

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ProfileDataGridNode.js (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Views/ProfileDataGridNode.js	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ProfileDataGridNode.js	2018-11-30 18:55:38 UTC (rev 238743)
@@ -117,7 +117,7 @@
 
         // FIXME: <https://webkit.org/b/155072> Web Inspector: Charge to Caller should work with Bottom Up Profile View
         let disableChargeToCaller = this._tree.callingContextTree.type === WI.CallingContextTree.Type.BottomUp;
-        contextMenu.appendItem(WI.UIString("Charge ‘%s’ to Callers").format(this.displayName()), () => {
+        contextMenu.appendItem(WI.UIString("Charge \u201C%s\u201D to Callers").format(this.displayName()), () => {
             this._tree.addModifier({type: WI.ProfileDataGridTree.ModifierType.ChargeToCaller, source: this._node});
         }, disableChargeToCaller);
 

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ResourceTimelineDataGridNode.js (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Views/ResourceTimelineDataGridNode.js	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ResourceTimelineDataGridNode.js	2018-11-30 18:55:38 UTC (rev 238743)
@@ -360,7 +360,7 @@
             if (resource.failed)
                 descriptionElement.textContent = WI.UIString("Resource failed to load.");
             else if (resource.urlComponents.scheme === "data")
-                descriptionElement.textContent = WI.UIString("Resource was loaded with the “data” scheme.");
+                descriptionElement.textContent = WI.UIString("Resource was loaded with the \u201Cdata\u201D scheme.");
             else
                 descriptionElement.textContent = WI.UIString("Resource was served from the cache.");
             popoverContentElement.appendChild(descriptionElement);

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ScriptDetailsTimelineView.css (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Views/ScriptDetailsTimelineView.css	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ScriptDetailsTimelineView.css	2018-11-30 18:55:38 UTC (rev 238743)
@@ -48,5 +48,5 @@
 }
 
 .tree-outline .item.small:not(.two-line) .alternate-subtitle::before {
-    content: " — ";
+    content: "\00A0\2014\00A0"; /* &nbsp;&mdash;&nbsp; */;
 }

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/TextEditor.css (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Views/TextEditor.css	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/TextEditor.css	2018-11-30 18:55:38 UTC (rev 238743)
@@ -75,7 +75,7 @@
 }
 
 .text-editor > .CodeMirror .has-breakpoint.multiple-breakpoints .CodeMirror-linenumber::before {
-    content: "•••";
+    content: "\2022\2022\2022"; /* &middot;&middot;&middot; */
     color: white;
     line-height: 6px;
     text-align: center;

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/TreeOutline.css (238742 => 238743)


--- trunk/Source/WebInspectorUI/UserInterface/Views/TreeOutline.css	2018-11-30 18:50:55 UTC (rev 238742)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/TreeOutline.css	2018-11-30 18:55:38 UTC (rev 238743)
@@ -252,7 +252,7 @@
 
 .tree-outline .item .subtitle::before,
 .tree-outline .item .alternate-subtitle::before {
-    content: " — ";
+    content: "\00A0\2014\00A0"; /* &nbsp;&mdash;&nbsp; */;
 }
 
 @media (prefers-dark-interface) {
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to