Title: [244798] branches/safari-607-branch
Revision
244798
Author
[email protected]
Date
2019-04-30 13:13:09 -0700 (Tue, 30 Apr 2019)

Log Message

Revert "Versioning."
Revert "Cherry-pick r244632. rdar://problem/50344188"

This reverts r244788 and r244632 to reset the state of the 607 branch.

Modified Paths

Added Paths

Removed Paths

Diff

Modified: branches/safari-607-branch/ChangeLog (244797 => 244798)


--- branches/safari-607-branch/ChangeLog	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/ChangeLog	2019-04-30 20:13:09 UTC (rev 244798)
@@ -1,3 +1,7 @@
+2019-04-24  Alan Coon  <[email protected]>
+
+        Revert r244173. rdar://problem/28160396
+
 2019-04-10  Alan Coon  <[email protected]>
 
         Cherry-pick r243819. rdar://problem/49725678

Modified: branches/safari-607-branch/JSTests/ChangeLog (244797 => 244798)


--- branches/safari-607-branch/JSTests/ChangeLog	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/JSTests/ChangeLog	2019-04-30 20:13:09 UTC (rev 244798)
@@ -1,3 +1,7 @@
+2019-04-24  Alan Coon  <[email protected]>
+
+        Revert r244122. rdar://problem/50132675
+
 2019-04-09  Alan Coon  <[email protected]>
 
         Cherry-pick r243639. rdar://problem/49725710

Deleted: branches/safari-607-branch/JSTests/stress/map-b3-licm-infinite-loop.js (244797 => 244798)


--- branches/safari-607-branch/JSTests/stress/map-b3-licm-infinite-loop.js	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/JSTests/stress/map-b3-licm-infinite-loop.js	2019-04-30 20:13:09 UTC (rev 244798)
@@ -1,25 +0,0 @@
-let count = 0;
-function foo() {
-    ++count;
-    if (count === 1000000)
-        throw new Error;
-}
-noInline(foo);
-
-function test() {
-    let map = new Map();
-
-    let count = 0;
-    for (let i = 1000000 % 0; ; ) {
-        if (!map.has(i)) {
-            map.set(i, i);
-        }
-        foo();
-    }
-
-    return map;
-}
-
-try {
-    test();
-} catch {}

Modified: branches/safari-607-branch/LayoutTests/ChangeLog (244797 => 244798)


--- branches/safari-607-branch/LayoutTests/ChangeLog	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/LayoutTests/ChangeLog	2019-04-30 20:13:09 UTC (rev 244798)
@@ -1,3 +1,11 @@
+2019-04-24  Alan Coon  <[email protected]>
+
+        Revert r244173. rdar://problem/28160396
+
+2019-04-24  Alan Coon  <[email protected]>
+
+        Revert r244174. rdar://problem/28160396
+
 2019-04-10  Alan Coon  <[email protected]>
 
         Cherry-pick r243841. rdar://problem/49725678

Deleted: branches/safari-607-branch/LayoutTests/fast/text/trailing-word-detection-expected.txt (244797 => 244798)


--- branches/safari-607-branch/LayoutTests/fast/text/trailing-word-detection-expected.txt	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/LayoutTests/fast/text/trailing-word-detection-expected.txt	2019-04-30 20:13:09 UTC (rev 244798)
@@ -1,6 +0,0 @@
-PASS '-apple-trailing-word' in element.style is true
-PASS window.getComputedStyle(element).getPropertyValue('color') is "rgb(0, 128, 0)"
-PASS successfullyParsed is true
-
-TEST COMPLETE
-

Deleted: branches/safari-607-branch/LayoutTests/fast/text/trailing-word-detection.html (244797 => 244798)


--- branches/safari-607-branch/LayoutTests/fast/text/trailing-word-detection.html	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/LayoutTests/fast/text/trailing-word-detection.html	2019-04-30 20:13:09 UTC (rev 244798)
@@ -1,22 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<script src=""
-<style>
-@supports (-apple-trailing-word: auto) {
-    #test {
-        color: rgb(0, 128, 0);
-    }
-}
-</style>
-</head>
-<body>
-<div id="test"></div>
-<script>
-let element = document.getElementById("test");
-shouldBeTrue("'-apple-trailing-word' in element.style");
-shouldBeEqualToString("window.getComputedStyle(element).getPropertyValue('color')", "rgb(0, 128, 0)");
-</script>
-<script src=""
-</body>
-</html>

Added: branches/safari-607-branch/LayoutTests/fast/text/trailing-word-expected.html (0 => 244798)


--- branches/safari-607-branch/LayoutTests/fast/text/trailing-word-expected.html	                        (rev 0)
+++ branches/safari-607-branch/LayoutTests/fast/text/trailing-word-expected.html	2019-04-30 20:13:09 UTC (rev 244798)
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+<head>
+</head>
+<body>
+This test makes sure that -apple-trailing-word: -apple-partially-balanced breaks lines correctly.
+<div style="font-family: Ahem;">
+<div>ABC DEF GHI JKL MNO PQRS TUVW XYZ ABC DEF GHI JKL<br>MNO</div>
+<div>ABC DEF GHI JKL MNO PQRS TUVW XYZ ABC DEF GHI<br>JKL MNO</div>
+<div>ABC DEF GHI JKL MNO PQRS TUVW XYZ ABC DEF G H<br>I J K</div>
+<div>ABC DEF GHI JKL MNO PQRS TUVW XYZ ABC DEF GHI JKL<br>MNO PQRS</div>
+<div>ABC DEF GHI JKL MNO PQRS TUVW XYZ ABC DEF GHI JKL<br>MNO PQRS TUV WXYZ ABC DEF GHI JKL MNO PQRS TUV<br>WXYZ</div>
+</div>
+</body>
+</html>

Added: branches/safari-607-branch/LayoutTests/fast/text/trailing-word.html (0 => 244798)


--- branches/safari-607-branch/LayoutTests/fast/text/trailing-word.html	                        (rev 0)
+++ branches/safari-607-branch/LayoutTests/fast/text/trailing-word.html	2019-04-30 20:13:09 UTC (rev 244798)
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+<head>
+</head>
+<body>
+This test makes sure that -apple-trailing-word: -apple-partially-balanced breaks lines correctly.
+<div style="font-family: Ahem;">
+<div>ABC DEF GHI JKL MNO PQRS TUVW XYZ ABC DEF GHI JKL MNO</div>
+<div style="-apple-trailing-word: -apple-partially-balanced;">ABC DEF GHI JKL MNO PQRS TUVW XYZ ABC DEF GHI JKL MNO</div>
+<div style="-apple-trailing-word: -apple-partially-balanced;">ABC DEF GHI JKL MNO PQRS TUVW XYZ ABC DEF G H I J K</div>
+<div style="-apple-trailing-word: -apple-partially-balanced;">ABC DEF GHI JKL MNO PQRS TUVW XYZ ABC DEF GHI JKL MNO PQRS</div>
+<div style="-apple-trailing-word: -apple-partially-balanced;">ABC DEF GHI JKL MNO PQRS TUVW XYZ ABC DEF GHI JKL MNO PQRS TUV WXYZ ABC DEF GHI JKL MNO PQRS TUV WXYZ</div>
+</div>
+</body>
+</html>

Modified: branches/safari-607-branch/LayoutTests/platform/gtk/TestExpectations (244797 => 244798)


--- branches/safari-607-branch/LayoutTests/platform/gtk/TestExpectations	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/LayoutTests/platform/gtk/TestExpectations	2019-04-30 20:13:09 UTC (rev 244798)
@@ -3158,7 +3158,7 @@
 
 webkit.org/b/160248 fast/text/combining-mark-paint.html [ ImageOnlyFailure ]
 webkit.org/b/160248 fast/text/synthetic-bold-transformed.html [ ImageOnlyFailure ]
-webkit.org/b/160248 fast/text/trailing-word-detection.html [ Failure ]
+webkit.org/b/160248 fast/text/trailing-word.html [ ImageOnlyFailure ]
 
 webkit.org/b/160249 fast/shrink-wrap/rect-shrink-wrap.html [ ImageOnlyFailure ]
 

Added: branches/safari-607-branch/LayoutTests/platform/mac/fast/text/trailing-word-parse-expected.txt (0 => 244798)


--- branches/safari-607-branch/LayoutTests/platform/mac/fast/text/trailing-word-parse-expected.txt	                        (rev 0)
+++ branches/safari-607-branch/LayoutTests/platform/mac/fast/text/trailing-word-parse-expected.txt	2019-04-30 20:13:09 UTC (rev 244798)
@@ -0,0 +1,41 @@
+PASS cssRule.type is cssRule.STYLE_RULE
+PASS declaration.length is 0
+PASS declaration.getPropertyValue('-apple-trailing-word') is ""
+PASS computedStyle.getPropertyCSSValue('-apple-trailing-word').cssText is "auto"
+PASS cssRule.type is cssRule.STYLE_RULE
+PASS declaration.length is 1
+PASS declaration.getPropertyValue('-apple-trailing-word') is "initial"
+PASS computedStyle.getPropertyCSSValue('-apple-trailing-word').cssText is "auto"
+PASS cssRule.type is cssRule.STYLE_RULE
+PASS declaration.length is 1
+PASS declaration.getPropertyValue('-apple-trailing-word') is "-webkit-partially-balanced"
+PASS computedStyle.getPropertyCSSValue('-apple-trailing-word').cssText is "-webkit-partially-balanced"
+PASS cssRule.type is cssRule.STYLE_RULE
+PASS declaration.length is 0
+PASS computedStyle.getPropertyCSSValue('-apple-trailing-word').cssText is "auto"
+PASS cssRule.type is cssRule.STYLE_RULE
+PASS declaration.length is 0
+PASS computedStyle.getPropertyCSSValue('-apple-trailing-word').cssText is "auto"
+PASS cssRule.type is cssRule.STYLE_RULE
+PASS declaration.length is 0
+PASS computedStyle.getPropertyCSSValue('-apple-trailing-word').cssText is "auto"
+PASS cssRule.type is cssRule.STYLE_RULE
+PASS declaration.length is 0
+PASS computedStyle.getPropertyCSSValue('-apple-trailing-word').cssText is "auto"
+PASS cssRule.type is cssRule.STYLE_RULE
+PASS declaration.length is 0
+PASS computedStyle.getPropertyCSSValue('-apple-trailing-word').cssText is "auto"
+PASS cssRule.type is cssRule.STYLE_RULE
+PASS declaration.length is 0
+PASS computedStyle.getPropertyCSSValue('-apple-trailing-word').cssText is "auto"
+PASS cssRule.type is cssRule.STYLE_RULE
+PASS declaration.length is 1
+PASS declaration.getPropertyValue('-apple-trailing-word') is "auto"
+PASS computedStyle.getPropertyCSSValue('-apple-trailing-word').cssText is "auto"
+PASS cssRule.type is cssRule.STYLE_RULE
+PASS declaration.length is 0
+PASS computedStyle.getPropertyCSSValue('-apple-trailing-word').cssText is "auto"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: branches/safari-607-branch/LayoutTests/platform/mac/fast/text/trailing-word-parse.html (0 => 244798)


--- branches/safari-607-branch/LayoutTests/platform/mac/fast/text/trailing-word-parse.html	                        (rev 0)
+++ branches/safari-607-branch/LayoutTests/platform/mac/fast/text/trailing-word-parse.html	2019-04-30 20:13:09 UTC (rev 244798)
@@ -0,0 +1,104 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+<script src=""
+</head>
+<body>
+  <div id="p"></div>
+  <script type="text/_javascript_">
+    function testPartiallyBalancedIsValid(stylesheet, target) {
+      cssRule = stylesheet.cssRules.item(0);
+      shouldBe("cssRule.type", "cssRule.STYLE_RULE");
+      declaration = cssRule.style;
+      shouldBe("declaration.length", "1");
+      shouldBeEqualToString("declaration.getPropertyValue('-apple-trailing-word')", "-webkit-partially-balanced");
+      computedStyle = window.getComputedStyle(target, null);
+      shouldBeEqualToString("computedStyle.getPropertyCSSValue('-apple-trailing-word').cssText", "-webkit-partially-balanced");
+      stylesheet.deleteRule(0);
+    }
+
+    function testEmptyIsNone(stylesheet, target) {
+      cssRule = stylesheet.cssRules.item(0);
+      shouldBe("cssRule.type", "cssRule.STYLE_RULE");
+      declaration = cssRule.style;
+      shouldBe("declaration.length", "0");
+      shouldBeEqualToString("declaration.getPropertyValue('-apple-trailing-word')", "");
+      computedStyle = window.getComputedStyle(target, null);
+      shouldBeEqualToString("computedStyle.getPropertyCSSValue('-apple-trailing-word').cssText", "auto");
+      stylesheet.deleteRule(0);
+    }
+
+    function testInitialIsNone(stylesheet, target) {
+      cssRule = stylesheet.cssRules.item(0);
+      shouldBe("cssRule.type", "cssRule.STYLE_RULE");
+      declaration = cssRule.style;
+      shouldBe("declaration.length", "1");
+      shouldBeEqualToString("declaration.getPropertyValue('-apple-trailing-word')",  "initial");
+      computedStyle = window.getComputedStyle(target, null);
+      shouldBeEqualToString("computedStyle.getPropertyCSSValue('-apple-trailing-word').cssText", "auto");
+      stylesheet.deleteRule(0);
+    }
+
+    function testInvalidRule(stylesheet, target) {
+      cssRule = stylesheet.cssRules.item(0);
+      shouldBe("cssRule.type", "cssRule.STYLE_RULE");
+      declaration = cssRule.style;
+      shouldBe("declaration.length", "0");
+      computedStyle = window.getComputedStyle(target, null);
+      shouldBeEqualToString("computedStyle.getPropertyCSSValue('-apple-trailing-word').cssText", "auto");
+      stylesheet.deleteRule(0);
+    }
+
+    function testNoneIsValid(stylesheet, target) {
+      cssRule = stylesheet.cssRules.item(0);
+      shouldBe("cssRule.type", "cssRule.STYLE_RULE");
+      declaration = cssRule.style;
+      shouldBe("declaration.length", "1");
+      shouldBeEqualToString("declaration.getPropertyValue('-apple-trailing-word')", "auto");
+      computedStyle = window.getComputedStyle(target, null);
+      shouldBeEqualToString("computedStyle.getPropertyCSSValue('-apple-trailing-word').cssText", "auto");
+      stylesheet.deleteRule(0);
+    }
+
+    var styleElement = document.createElement("style");
+    document.head.appendChild(styleElement);
+    stylesheet = styleElement.sheet;
+    var target = document.getElementById("p");
+
+    stylesheet.insertRule("#p { }", 0);
+    testEmptyIsNone(stylesheet, target);
+
+    stylesheet.insertRule("#p { -apple-trailing-word: initial; }", 0);
+    testInitialIsNone(stylesheet, target);
+
+    stylesheet.insertRule("#p { -apple-trailing-word: -apple-partially-balanced; }", 0);
+    testPartiallyBalancedIsValid(stylesheet, target);
+
+    stylesheet.insertRule("#p { -apple-trailing-word: -apple-partially-balanced -apple-partially-balanced -apple-partially-balanced; }", 0);
+    testInvalidRule(stylesheet, target);
+
+    stylesheet.insertRule("#p { -apple-trailing-word: garbage; }", 0);
+    testInvalidRule(stylesheet, target);
+
+    stylesheet.insertRule("#p { -apple-trailing-word: garbage -apple-partially-balanced; }", 0);
+    testInvalidRule(stylesheet, target);
+
+    stylesheet.insertRule("#p { -apple-trailing-word: -apple-partially-balanced garbage; }", 0);
+    testInvalidRule(stylesheet, target);
+
+    stylesheet.insertRule("#p { -apple-trailing-word: garbage -apple-partially-balanced garbage; }", 0);
+    testInvalidRule(stylesheet, target);
+
+    stylesheet.insertRule("#p { -apple-trailing-word: -apple-partially-balanced garbage -apple-partially-balanced; }", 0);
+    testInvalidRule(stylesheet, target);
+
+    stylesheet.insertRule("#p { -apple-trailing-word: auto; }", 0);
+    testNoneIsValid(stylesheet, target);
+
+    stylesheet.insertRule("#p { -apple-trailing-word: ; }", 0);
+    testInvalidRule(stylesheet, target);
+  </script>
+<script src=""
+</body>
+</html>
+

Modified: branches/safari-607-branch/LayoutTests/platform/win/TestExpectations (244797 => 244798)


--- branches/safari-607-branch/LayoutTests/platform/win/TestExpectations	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/LayoutTests/platform/win/TestExpectations	2019-04-30 20:13:09 UTC (rev 244798)
@@ -3000,7 +3000,7 @@
 fast/ruby/ruby-expansion-cjk-5.html [ ImageOnlyFailure ]
 fast/text/combining-mark-paint.html [ ImageOnlyFailure ]
 fast/text/synthetic-bold-transformed.html [ ImageOnlyFailure ]
-fast/text/trailing-word-detection.html [ Failure ]
+fast/text/trailing-word.html [ ImageOnlyFailure ]
 
 # TestRunner::addChromeInputField() and focusWebView() not implemented
 fast/forms/focus-option-control-on-page.html [ Skip ]

Modified: branches/safari-607-branch/PerformanceTests/ChangeLog (244797 => 244798)


--- branches/safari-607-branch/PerformanceTests/ChangeLog	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/PerformanceTests/ChangeLog	2019-04-30 20:13:09 UTC (rev 244798)
@@ -1,3 +1,7 @@
+2019-04-24  Alan Coon  <[email protected]>
+
+        Revert r244174. rdar://problem/28160396
+
 2019-04-10  Alan Coon  <[email protected]>
 
         Cherry-pick r243841. rdar://problem/49725678

Modified: branches/safari-607-branch/PerformanceTests/MotionMark/resources/debug-runner/motionmark.css (244797 => 244798)


--- branches/safari-607-branch/PerformanceTests/MotionMark/resources/debug-runner/motionmark.css	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/PerformanceTests/MotionMark/resources/debug-runner/motionmark.css	2019-04-30 20:13:09 UTC (rev 244798)
@@ -209,6 +209,7 @@
 #intro .start-benchmark p {
     color: hsl(11, 72%, 50%);
     margin-bottom: 1em;
+    -apple-trailing-word: -apple-partially-balanced;
 }
 
 #intro .start-benchmark button {

Modified: branches/safari-607-branch/Source/_javascript_Core/ChangeLog (244797 => 244798)


--- branches/safari-607-branch/Source/_javascript_Core/ChangeLog	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/Source/_javascript_Core/ChangeLog	2019-04-30 20:13:09 UTC (rev 244798)
@@ -1,3 +1,15 @@
+2019-04-24  Alan Coon  <[email protected]>
+
+        Revert r244122. rdar://problem/50132675
+
+2019-04-24  Alan Coon  <[email protected]>
+
+        Revert r244173. rdar://problem/28160396
+
+2019-04-24  Alan Coon  <[email protected]>
+
+        Revert r244174. rdar://problem/28160396
+
 2019-04-10  Alan Coon  <[email protected]>
 
         Cherry-pick r243841. rdar://problem/49725678

Modified: branches/safari-607-branch/Source/_javascript_Core/Configurations/Version.xcconfig (244797 => 244798)


--- branches/safari-607-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2019-04-30 20:13:09 UTC (rev 244798)
@@ -24,7 +24,7 @@
 MAJOR_VERSION = 607;
 MINOR_VERSION = 2;
 TINY_VERSION = 6;
-MICRO_VERSION = 1;
+MICRO_VERSION = 0;
 NANO_VERSION = 1;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 

Modified: branches/safari-607-branch/Source/_javascript_Core/b3/testb3.cpp (244797 => 244798)


--- branches/safari-607-branch/Source/_javascript_Core/b3/testb3.cpp	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/Source/_javascript_Core/b3/testb3.cpp	2019-04-30 20:13:09 UTC (rev 244798)
@@ -16327,51 +16327,6 @@
     compileAndRun<void>(proc);
 }
 
-void testInfiniteLoopDoesntCauseBadHoisting()
-{
-    Procedure proc;
-    if (proc.optLevel() < 2)
-        return;
-    BasicBlock* root = proc.addBlock();
-    BasicBlock* header = proc.addBlock();
-    BasicBlock* loadBlock = proc.addBlock();
-    BasicBlock* postLoadBlock = proc.addBlock();
-
-    Value* arg = root->appendNew<ArgumentRegValue>(proc, Origin(), GPRInfo::argumentGPR0);
-    root->appendNewControlValue(proc, Jump, Origin(), header);
-
-    header->appendNewControlValue(
-        proc, Branch, Origin(),
-        header->appendNew<Value>(proc, Equal, Origin(),
-            arg,
-            header->appendNew<Const64Value>(proc, Origin(), 10)), header, loadBlock);
-
-    PatchpointValue* patchpoint = loadBlock->appendNew<PatchpointValue>(proc, Void, Origin());
-    patchpoint->effects = Effects::none();
-    patchpoint->effects.writesLocalState = true; // Don't DCE this.
-    patchpoint->setGenerator(
-        [&] (CCallHelpers& jit, const StackmapGenerationParams&) {
-            // This works because we don't have callee saves.
-            jit.emitFunctionEpilogue();
-            jit.ret();
-        });
-
-    Value* badLoad = loadBlock->appendNew<MemoryValue>(proc, Load, Int64, Origin(), arg, 0);
-
-    loadBlock->appendNewControlValue(
-        proc, Branch, Origin(),
-        loadBlock->appendNew<Value>(proc, Equal, Origin(),
-            badLoad,
-            loadBlock->appendNew<Const64Value>(proc, Origin(), 45)), header, postLoadBlock);
-
-    postLoadBlock->appendNewControlValue(proc, Return, Origin(), badLoad);
-
-    // The patchpoint early ret() works because we don't have callee saves.
-    auto code = compileProc(proc);
-    RELEASE_ASSERT(!proc.calleeSaveRegisterAtOffsetList().size()); 
-    invoke<void>(*code, static_cast<uint64_t>(55)); // Shouldn't crash dereferncing 55.
-}
-
 // Make sure the compiler does not try to optimize anything out.
 NEVER_INLINE double zero()
 {
@@ -17943,8 +17898,6 @@
 
     RUN(testLoopWithMultipleHeaderEdges());
 
-    RUN(testInfiniteLoopDoesntCauseBadHoisting());
-
     if (isX86()) {
         RUN(testBranchBitAndImmFusion(Identity, Int64, 1, Air::BranchTest32, Air::Arg::Tmp));
         RUN(testBranchBitAndImmFusion(Identity, Int64, 0xff, Air::BranchTest32, Air::Arg::Tmp));

Modified: branches/safari-607-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (244797 => 244798)


--- branches/safari-607-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2019-04-30 20:13:09 UTC (rev 244798)
@@ -24,7 +24,7 @@
 MAJOR_VERSION = 607;
 MINOR_VERSION = 2;
 TINY_VERSION = 6;
-MICRO_VERSION = 1;
+MICRO_VERSION = 0;
 NANO_VERSION = 1;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 

Modified: branches/safari-607-branch/Source/WTF/ChangeLog (244797 => 244798)


--- branches/safari-607-branch/Source/WTF/ChangeLog	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/Source/WTF/ChangeLog	2019-04-30 20:13:09 UTC (rev 244798)
@@ -1,3 +1,7 @@
+2019-04-24  Alan Coon  <[email protected]>
+
+        Revert r244122. rdar://problem/50132675
+
 2019-04-09  Alan Coon  <[email protected]>
 
         Cherry-pick r243639. rdar://problem/49725710

Modified: branches/safari-607-branch/Source/WTF/WTF.xcodeproj/project.pbxproj (244797 => 244798)


--- branches/safari-607-branch/Source/WTF/WTF.xcodeproj/project.pbxproj	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/Source/WTF/WTF.xcodeproj/project.pbxproj	2019-04-30 20:13:09 UTC (rev 244798)
@@ -388,7 +388,6 @@
 		70ECA60A1B02426800449739 /* AtomicStringImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AtomicStringImpl.cpp; sourceTree = "<group>"; };
 		70ECA60B1B02426800449739 /* SymbolImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SymbolImpl.h; sourceTree = "<group>"; };
 		70ECA60C1B02426800449739 /* UniquedStringImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UniquedStringImpl.h; sourceTree = "<group>"; };
-		79038E05224B05A7004C0738 /* SpanningTree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpanningTree.h; sourceTree = "<group>"; };
 		7936D6A91C99F8AE000D1AED /* SmallPtrSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SmallPtrSet.h; sourceTree = "<group>"; };
 		793BFADD9CED44B8B9FBCA16 /* StdUnorderedMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StdUnorderedMap.h; sourceTree = "<group>"; };
 		795212021F42588800BD6421 /* SingleRootGraph.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SingleRootGraph.h; sourceTree = "<group>"; };
@@ -1078,7 +1077,6 @@
 				A8A4730C151A825B004123FF /* SizeLimits.cpp */,
 				7936D6A91C99F8AE000D1AED /* SmallPtrSet.h */,
 				A30D412D1F0DE13F00B71954 /* SoftLinking.h */,
-				79038E05224B05A7004C0738 /* SpanningTree.h */,
 				A8A4730D151A825B004123FF /* Spectrum.h */,
 				A8A4730E151A825B004123FF /* StackBounds.cpp */,
 				A8A4730F151A825B004123FF /* StackBounds.h */,

Modified: branches/safari-607-branch/Source/WTF/wtf/BackwardsGraph.h (244797 => 244798)


--- branches/safari-607-branch/Source/WTF/wtf/BackwardsGraph.h	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/Source/WTF/wtf/BackwardsGraph.h	2019-04-30 20:13:09 UTC (rev 244798)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2016-2019 Apple Inc. All rights reserved.
+ * Copyright (C) 2016 Apple Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -29,7 +29,6 @@
 #include <wtf/GraphNodeWorklist.h>
 #include <wtf/Noncopyable.h>
 #include <wtf/SingleRootGraph.h>
-#include <wtf/SpanningTree.h>
 #include <wtf/StdLibExtras.h>
 
 namespace WTF {
@@ -58,23 +57,6 @@
             }
         };
 
-        {
-            // Loops are a form of terminality (you can loop forever). To have a loop, you need to
-            // have a back edge. An edge u->v is a back edge when u is a descendent of v in the
-            // DFS spanning tree of the Graph.
-            SpanningTree<Graph> spanningTree(graph);
-            for (unsigned i = 0; i < graph.numNodes(); ++i) {
-                if (typename Graph::Node node = graph.node(i)) {
-                    for (typename Graph::Node successor : graph.successors(node)) {
-                        if (spanningTree.isDescendent(node, successor)) {
-                            addRootSuccessor(node);
-                            break;
-                        }
-                    }
-                }
-            }
-        }
-
         for (unsigned i = 0; i < graph.numNodes(); ++i) {
             if (typename Graph::Node node = graph.node(i)) {
                 if (!graph.successors(node).size())

Deleted: branches/safari-607-branch/Source/WTF/wtf/SpanningTree.h (244797 => 244798)


--- branches/safari-607-branch/Source/WTF/wtf/SpanningTree.h	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/Source/WTF/wtf/SpanningTree.h	2019-04-30 20:13:09 UTC (rev 244798)
@@ -1,84 +0,0 @@
-/*
- * Copyright (C) 2019 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
- */
-
-#pragma once
-
-#include <wtf/GraphNodeWorklist.h>
-
-template<typename Graph>
-class SpanningTree {
-public:
-    SpanningTree(Graph& graph)
-        : m_graph(graph)
-        , m_data(graph.template newMap<Data>())
-    {
-        ExtendedGraphNodeWorklist<typename Graph::Node, unsigned, typename Graph::Set> worklist;
-        worklist.push(m_graph.root(), 0);
-    
-        size_t number = 0;
-
-        while (GraphNodeWith<typename Graph::Node, unsigned> item = worklist.pop()) {
-            typename Graph::Node block = item.node;
-            unsigned successorIndex = item.data;
-        
-            // We initially push with successorIndex = 0 regardless of whether or not we have any
-            // successors. This is so that we can assign our prenumber. Subsequently we get pushed
-            // with higher successorIndex values. We finally push successorIndex == # successors
-            // to calculate our post number.
-            ASSERT(!successorIndex || successorIndex <= m_graph.successors(block).size());
-
-            if (!successorIndex)
-                m_data[block].pre = number++;
-        
-            if (successorIndex < m_graph.successors(block).size()) {
-                unsigned nextSuccessorIndex = successorIndex + 1;
-                // We need to push this even if this is out of bounds so we can compute
-                // the post number.
-                worklist.forcePush(block, nextSuccessorIndex);
-
-                typename Graph::Node successorBlock = m_graph.successors(block)[successorIndex];
-                worklist.push(successorBlock, 0);
-            } else
-                m_data[block].post = number++;
-        }
-    }
-
-    // Returns true if a is a descendent of b.
-    // Note a is a descendent of b if they're equal.
-    bool isDescendent(typename Graph::Node a, typename Graph::Node b)
-    {
-        return m_data[b].pre <= m_data[a].pre
-            && m_data[b].post >= m_data[a].post;
-    }
-
-private:
-    struct Data {
-        size_t pre;
-        size_t post;
-    };
-
-    Graph& m_graph;
-    typename Graph::template Map<Data> m_data;
-};

Modified: branches/safari-607-branch/Source/WebCore/ChangeLog (244797 => 244798)


--- branches/safari-607-branch/Source/WebCore/ChangeLog	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/Source/WebCore/ChangeLog	2019-04-30 20:13:09 UTC (rev 244798)
@@ -1,36 +1,15 @@
-2019-04-30  Alan Coon  <[email protected]>
+2019-04-24  Alan Coon  <[email protected]>
 
-        Cherry-pick r244632. rdar://problem/50344188
+        Revert r244120. rdar://problem/50132675
 
-    Do not restart WebRTC stats timer if backend is stopped
-    https://bugs.webkit.org/show_bug.cgi?id=197257
-    <rdar://problem/50095879>
-    
-    Reviewed by Eric Carlson.
-    
-    We used to stop and reschedule the stat gathering timer in case the
-    gathering delay is changing. Timer should not be rescheduled if the backend is stopped.
-    
-    * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
-    (WebCore::LibWebRTCMediaEndpoint::OnStatsDelivered):
-    
-    
-    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@244632 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+2019-04-24  Alan Coon  <[email protected]>
 
-    2019-04-24  Youenn Fablet  <[email protected]>
+        Revert r244173. rdar://problem/28160396
 
-            Do not restart WebRTC stats timer if backend is stopped
-            https://bugs.webkit.org/show_bug.cgi?id=197257
-            <rdar://problem/50095879>
+2019-04-24  Alan Coon  <[email protected]>
 
-            Reviewed by Eric Carlson.
+        Revert r244174. rdar://problem/28160396
 
-            We used to stop and reschedule the stat gathering timer in case the
-            gathering delay is changing. Timer should not be rescheduled if the backend is stopped.
-
-            * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
-            (WebCore::LibWebRTCMediaEndpoint::OnStatsDelivered):
-
 2019-04-10  Alan Coon  <[email protected]>
 
         Cherry-pick r243841. rdar://problem/49725678

Modified: branches/safari-607-branch/Source/WebCore/Configurations/Version.xcconfig (244797 => 244798)


--- branches/safari-607-branch/Source/WebCore/Configurations/Version.xcconfig	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/Source/WebCore/Configurations/Version.xcconfig	2019-04-30 20:13:09 UTC (rev 244798)
@@ -24,7 +24,7 @@
 MAJOR_VERSION = 607;
 MINOR_VERSION = 2;
 TINY_VERSION = 6;
-MICRO_VERSION = 1;
+MICRO_VERSION = 0;
 NANO_VERSION = 1;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 

Modified: branches/safari-607-branch/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp (244797 => 244798)


--- branches/safari-607-branch/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp	2019-04-30 20:13:09 UTC (rev 244798)
@@ -847,7 +847,7 @@
         m_statsFirstDeliveredTimestamp = timestamp;
 
     callOnMainThread([protectedThis = makeRef(*this), this, timestamp, report] {
-        if (m_backend && m_statsLogTimer.repeatInterval() != statsLogInterval(timestamp)) {
+        if (m_statsLogTimer.repeatInterval() != statsLogInterval(timestamp)) {
             m_statsLogTimer.stop();
             m_statsLogTimer.startRepeating(statsLogInterval(timestamp));
         }

Modified: branches/safari-607-branch/Source/WebCore/PAL/ChangeLog (244797 => 244798)


--- branches/safari-607-branch/Source/WebCore/PAL/ChangeLog	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/Source/WebCore/PAL/ChangeLog	2019-04-30 20:13:09 UTC (rev 244798)
@@ -1,3 +1,11 @@
+2019-04-24  Alan Coon  <[email protected]>
+
+        Revert r244173. rdar://problem/28160396
+
+2019-04-24  Alan Coon  <[email protected]>
+
+        Revert r244174. rdar://problem/28160396
+
 2019-04-10  Alan Coon  <[email protected]>
 
         Cherry-pick r243841. rdar://problem/49725678

Modified: branches/safari-607-branch/Source/WebCore/PAL/Configurations/Version.xcconfig (244797 => 244798)


--- branches/safari-607-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2019-04-30 20:13:09 UTC (rev 244798)
@@ -24,7 +24,7 @@
 MAJOR_VERSION = 607;
 MINOR_VERSION = 2;
 TINY_VERSION = 6;
-MICRO_VERSION = 1;
+MICRO_VERSION = 0;
 NANO_VERSION = 1;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 

Modified: branches/safari-607-branch/Source/WebCore/css/CSSProperties.json (244797 => 244798)


--- branches/safari-607-branch/Source/WebCore/css/CSSProperties.json	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/Source/WebCore/css/CSSProperties.json	2019-04-30 20:13:09 UTC (rev 244798)
@@ -6709,10 +6709,7 @@
                 "name-for-methods": "TrailingWord",
                 "enable-if": "ENABLE_CSS_TRAILING_WORD"
             },
-            "status": {
-                "status": "non-standard",
-                "comment": "Needed for feature-detecting the Safari browser. Implementation has no effect."
-            }
+            "status": "non-standard"
         },
         "-apple-pay-button-style": {
             "codegen-properties": {

Modified: branches/safari-607-branch/Source/WebCore/page/DOMWindow.cpp (244797 => 244798)


--- branches/safari-607-branch/Source/WebCore/page/DOMWindow.cpp	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/Source/WebCore/page/DOMWindow.cpp	2019-04-30 20:13:09 UTC (rev 244798)
@@ -488,9 +488,6 @@
 
     if (m_performance)
         m_performance->clearResourceTimings();
-
-    JSDOMWindowBase::fireFrameClearedWatchpointsForWindow(this);
-    InspectorInstrumentation::frameWindowDiscarded(*frame(), this);
 }
 
 #if ENABLE(GAMEPAD)

Modified: branches/safari-607-branch/Source/WebCore/rendering/SimpleLineLayout.cpp (244797 => 244798)


--- branches/safari-607-branch/Source/WebCore/rendering/SimpleLineLayout.cpp	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/Source/WebCore/rendering/SimpleLineLayout.cpp	2019-04-30 20:13:09 UTC (rev 244798)
@@ -240,6 +240,10 @@
         SET_REASON_AND_RETURN_IF_NEEDED(FlowHasNonAutoLineBreak, reasons, includeReasons);
     if (style.nbspMode() != NBSPMode::Normal)
         SET_REASON_AND_RETURN_IF_NEEDED(FlowHasWebKitNBSPMode, reasons, includeReasons);
+#if ENABLE(CSS_TRAILING_WORD)
+    if (style.trailingWord() != TrailingWord::Auto)
+        SET_REASON_AND_RETURN_IF_NEEDED(FlowHasNonAutoTrailingWord, reasons, includeReasons);
+#endif
     if (style.hyphens() == Hyphens::Auto) {
         auto textReasons = canUseForText(style.hyphenString(), style.fontCascade(), WTF::nullopt, false, includeReasons);
         if (textReasons != NoReason)

Modified: branches/safari-607-branch/Source/WebCore/rendering/SimpleLineLayoutCoverage.cpp (244797 => 244798)


--- branches/safari-607-branch/Source/WebCore/rendering/SimpleLineLayoutCoverage.cpp	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/Source/WebCore/rendering/SimpleLineLayoutCoverage.cpp	2019-04-30 20:13:09 UTC (rev 244798)
@@ -135,6 +135,9 @@
     case FlowHasNonAutoLineBreak:
         stream << "line-break is not auto";
         break;
+    case FlowHasNonAutoTrailingWord:
+        stream << "-apple-trailing-word is not auto";
+        break;
     case FlowHasSVGFont:
         stream << "SVG font";
         break;

Modified: branches/safari-607-branch/Source/WebCore/rendering/SimpleLineLayoutCoverage.h (244797 => 244798)


--- branches/safari-607-branch/Source/WebCore/rendering/SimpleLineLayoutCoverage.h	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/Source/WebCore/rendering/SimpleLineLayoutCoverage.h	2019-04-30 20:13:09 UTC (rev 244798)
@@ -66,6 +66,7 @@
     FlowHasTextFillBox                    = 1LLU  << 28,
     FlowHasBorderFitLines                 = 1LLU  << 29,
     FlowHasNonAutoLineBreak               = 1LLU  << 30,
+    FlowHasNonAutoTrailingWord            = 1LLU  << 31,
     FlowHasSVGFont                        = 1LLU  << 32,
     FlowTextIsEmpty                       = 1LLU  << 33,
     FlowTextHasSoftHyphen                 = 1LLU  << 34,

Modified: branches/safari-607-branch/Source/WebCore/rendering/line/BreakingContext.h (244797 => 244798)


--- branches/safari-607-branch/Source/WebCore/rendering/line/BreakingContext.h	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/Source/WebCore/rendering/line/BreakingContext.h	2019-04-30 20:13:09 UTC (rev 244798)
@@ -97,7 +97,11 @@
         : m_lineBreaker(lineBreaker)
         , m_resolver(resolver)
         , m_current(resolver.position())
-        , m_lineBreak(resolver.position())
+#if ENABLE(CSS_TRAILING_WORD)
+        , m_lineBreakHistory(InlineIterator(resolver.position()), block.style().trailingWord() == TrailingWord::PartiallyBalanced ? 5 : 1)
+#else
+        , m_lineBreakHistory(InlineIterator(resolver.position()), 1)
+#endif
         , m_block(block)
         , m_lastObject(m_current.renderer())
         , m_nextObject(nullptr)
@@ -130,7 +134,7 @@
     }
 
     RenderObject* currentObject() { return m_current.renderer(); }
-    InlineIterator lineBreak() { return m_lineBreak; }
+    InlineIterator lineBreak() { return m_lineBreakHistory.current(); }
     LineWidth& lineWidth() { return m_width; }
     bool atEnd() { return m_atEnd; }
     
@@ -149,6 +153,9 @@
     bool canBreakAtThisPosition();
     void commitAndUpdateLineBreakIfNeeded();
     InlineIterator handleEndOfLine();
+#if ENABLE(CSS_TRAILING_WORD)
+    InlineIterator optimalLineBreakLocationForTrailingWord();
+#endif
     
     float computeAdditionalBetweenWordsWidth(RenderText&, TextLayout*, UChar, WordTrailingSpace&, HashSet<const Font*>& fallbackFonts, WordMeasurements&, const FontCascade&, bool isFixedPitch, unsigned lastSpace, float lastSpaceWordSpacing, float wordSpacingForWordMeasurement, unsigned offset);
 
@@ -155,7 +162,7 @@
     void clearLineBreakIfFitsOnLine(bool ignoringTrailingSpace = false)
     {
         if (m_width.fitsOnLine(ignoringTrailingSpace) || m_lastWS == WhiteSpace::NoWrap || m_hangsAtEnd)
-            m_lineBreak.clear();
+            m_lineBreakHistory.clear();
         m_hangsAtEnd = false;
     }
 
@@ -162,7 +169,7 @@
     void commitLineBreakClear()
     {
         m_width.commit();
-        m_lineBreak.clear();
+        m_lineBreakHistory.clear();
         m_hangsAtEnd = false;
     }
 
@@ -169,16 +176,77 @@
     void commitLineBreakAtCurrentWidth(RenderObject& object, unsigned offset = 0, Optional<unsigned> nextBreak = Optional<unsigned>())
     {
         m_width.commit();
-        m_lineBreak.moveTo(object, offset, nextBreak);
+        m_lineBreakHistory.moveTo(object, offset, nextBreak);
         m_hangsAtEnd = false;
     }
 
 private:
+    // This class keeps a sliding window of the past n locations for an InlineIterator.
+    class InlineIteratorHistory : private Vector<InlineIterator, 1> {
+    public:
+        InlineIteratorHistory() = delete;
+        InlineIteratorHistory(const InlineIterator& initial, size_t capacity)
+            : m_capacity(capacity)
+        {
+            ASSERT(capacity > 0);
+            this->append(initial);
+        }
+
+        void push(const WTF::Function<void(InlineIterator& modifyMe)>& updater)
+        {
+            ASSERT(!this->isEmpty());
+            if (m_capacity != 1)
+                this->insert(0, InlineIterator(this->at(0)));
+            updater(this->at(0));
+            if (m_capacity != 1)
+                this->resize(m_capacity);
+        }
+
+        void update(const WTF::Function<void(InlineIterator& modifyMe)>& updater)
+        {
+            ASSERT(!this->isEmpty());
+            updater(this->at(0));
+        }
+
+        RenderObject* renderer() const { return this->at(0).renderer(); }
+        unsigned offset() const { return this->at(0).offset(); }
+        Optional<unsigned> nextBreakablePosition() const { return this->at(0).nextBreakablePosition(); }
+        bool atTextParagraphSeparator() const { return this->at(0).atTextParagraphSeparator(); }
+        UChar previousInSameNode() const { return this->at(0).previousInSameNode(); }
+        const InlineIterator& get(size_t i) const { return this->at(i); };
+        const InlineIterator& current() const { return get(0); }
+        size_t historyLength() const { return this->size(); }
+
+        void moveTo(RenderObject& object, unsigned offset, Optional<unsigned> nextBreak = WTF::nullopt)
+        {
+            push([&](InlineIterator& modifyMe) {
+                modifyMe.moveTo(object, offset, nextBreak);
+            });
+        }
+
+        void increment()
+        {
+            update([](InlineIterator& modifyMe) {
+                modifyMe.increment();
+            });
+        }
+
+        void clear()
+        {
+            push([](InlineIterator& modifyMe) {
+                modifyMe.clear();
+            });
+        }
+
+    private:
+        const size_t m_capacity;
+    };
+
     LineBreaker& m_lineBreaker;
     InlineBidiResolver& m_resolver;
 
     InlineIterator m_current;
-    InlineIterator m_lineBreak;
+    InlineIteratorHistory m_lineBreakHistory;
     InlineIterator m_startOfIgnoredSpaces;
 
     RenderBlockFlow& m_block;
@@ -274,8 +342,10 @@
 {
     if (fitsOnLineOrHangsAtEnd()) {
         RenderObject& br = *m_current.renderer();
-        m_lineBreak.moveToStartOf(br);
-        m_lineBreak.increment();
+        m_lineBreakHistory.push([&](InlineIterator& modifyMe) {
+            modifyMe.moveToStartOf(br);
+            modifyMe.increment();
+        });
 
         // A <br> always breaks a line, so don't let the line be collapsed
         // away. Also, the space at the end of a line with a <br> does not
@@ -394,9 +464,9 @@
     // it after moving to next line (in clearFloats() func)
     if (m_floatsFitOnLine && m_width.fitsOnLineExcludingTrailingWhitespace(m_block.logicalWidthForFloat(floatingObject))) {
         m_lineBreaker.positionNewFloatOnLine(floatingObject, m_lastFloatFromPreviousLine, m_lineInfo, m_width);
-        if (m_lineBreak.renderer() == m_current.renderer()) {
-            ASSERT(!m_lineBreak.offset());
-            m_lineBreak.increment();
+        if (m_lineBreakHistory.renderer() == m_current.renderer()) {
+            ASSERT(!m_lineBreakHistory.offset());
+            m_lineBreakHistory.increment();
         }
     } else
         m_floatsFitOnLine = false;
@@ -682,9 +752,9 @@
         auto& combineRenderer = downcast<RenderCombineText>(*m_current.renderer());
         combineRenderer.combineTextIfNeeded();
         // The length of the renderer's text may have changed. Increment stale iterator positions
-        if (iteratorIsBeyondEndOfRenderCombineText(m_lineBreak, combineRenderer)) {
+        if (iteratorIsBeyondEndOfRenderCombineText(m_lineBreakHistory.current(), combineRenderer)) {
             ASSERT(iteratorIsBeyondEndOfRenderCombineText(m_resolver.position(), combineRenderer));
-            m_lineBreak.increment();
+            m_lineBreakHistory.increment();
             m_resolver.increment();
         }
     }
@@ -850,8 +920,10 @@
                     // additional whitespace.
                     if (!m_width.fitsOnLineIncludingExtraWidth(charWidth)) {
                         lineWasTooWide = true;
-                        m_lineBreak.moveTo(renderObject, m_current.offset(), m_current.nextBreakablePosition());
-                        m_lineBreaker.skipTrailingWhitespace(m_lineBreak, m_lineInfo);
+                        m_lineBreakHistory.push([&](InlineIterator& modifyMe) {
+                            modifyMe.moveTo(renderObject, m_current.offset(), m_current.nextBreakablePosition());
+                            m_lineBreaker.skipTrailingWhitespace(modifyMe, m_lineInfo);
+                        });
                     }
                 }
                 if ((lineWasTooWide || !m_width.fitsOnLine()) && !m_hangsAtEnd) {
@@ -859,26 +931,28 @@
                     // no more content, and a hyphenated single word would end up on a line by itself. This looks
                     // bad so just don't allow it.
                     if (canHyphenate && !m_width.fitsOnLine() && (m_nextObject || !renderText.containsOnlyHTMLWhitespace(m_current.offset(), renderText.text().length() - m_current.offset()) || isLineEmpty)) {
-                        tryHyphenating(renderText, font, style.locale(), consecutiveHyphenatedLines, m_blockStyle.hyphenationLimitLines(), style.hyphenationLimitBefore(), style.hyphenationLimitAfter(), lastSpace, m_current.offset(), m_width.currentWidth() - additionalTempWidth, m_width.availableWidth(), isFixedPitch, m_collapseWhiteSpace, lastSpaceWordSpacing, m_lineBreak, m_current.nextBreakablePosition(), m_lineBreaker.m_hyphenated);
+                        m_lineBreakHistory.push([&](InlineIterator& modifyMe) {
+                            tryHyphenating(renderText, font, style.locale(), consecutiveHyphenatedLines, m_blockStyle.hyphenationLimitLines(), style.hyphenationLimitBefore(), style.hyphenationLimitAfter(), lastSpace, m_current.offset(), m_width.currentWidth() - additionalTempWidth, m_width.availableWidth(), isFixedPitch, m_collapseWhiteSpace, lastSpaceWordSpacing, modifyMe, m_current.nextBreakablePosition(), m_lineBreaker.m_hyphenated);
+                        });
                         if (m_lineBreaker.m_hyphenated) {
                             m_atEnd = true;
                             return false;
                         }
                     }
-                    if (m_lineBreak.atTextParagraphSeparator()) {
+                    if (m_lineBreakHistory.atTextParagraphSeparator()) {
                         if (!stoppedIgnoringSpaces && m_current.offset() > 0)
                             ensureCharacterGetsLineBox(m_lineWhitespaceCollapsingState, m_current);
-                        m_lineBreak.increment();
+                        m_lineBreakHistory.increment();
                         m_lineInfo.setPreviousLineBrokeCleanly(true);
-                        wordMeasurement.endOffset = m_lineBreak.offset();
+                        wordMeasurement.endOffset = m_lineBreakHistory.offset();
                     }
                     // Check if the last breaking position is a soft-hyphen.
                     if (!hyphenated && style.hyphens() != Hyphens::None) {
                         Optional<unsigned> lastBreakingPositon;
                         const RenderObject* rendererAtBreakingPosition = nullptr;
-                        if (m_lineBreak.offset() || m_lineBreak.nextBreakablePosition()) {
-                            lastBreakingPositon = m_lineBreak.offset();
-                            rendererAtBreakingPosition = m_lineBreak.renderer();
+                        if (m_lineBreakHistory.offset() || m_lineBreakHistory.nextBreakablePosition()) {
+                            lastBreakingPositon = m_lineBreakHistory.offset();
+                            rendererAtBreakingPosition = m_lineBreakHistory.renderer();
                         } else if (m_current.nextBreakablePosition() && m_current.nextBreakablePosition().value() <= m_current.offset()) {
                             // We might just be right after the soft-hyphen
                             lastBreakingPositon = m_current.nextBreakablePosition().value();
@@ -899,9 +973,9 @@
                                 hyphenated = characterBeforeBreakingPosition.value() == softHyphen;
                         }
                     }
-                    if (m_lineBreak.offset() && m_lineBreak.offset() != (unsigned)wordMeasurement.endOffset && !wordMeasurement.width) {
+                    if (m_lineBreakHistory.offset() && m_lineBreakHistory.offset() != (unsigned)wordMeasurement.endOffset && !wordMeasurement.width) {
                         if (charWidth) {
-                            wordMeasurement.endOffset = m_lineBreak.offset();
+                            wordMeasurement.endOffset = m_lineBreakHistory.offset();
                             wordMeasurement.width = charWidth;
                         }
                     }
@@ -925,7 +999,7 @@
                 if (!stoppedIgnoringSpaces && m_current.offset())
                     ensureCharacterGetsLineBox(m_lineWhitespaceCollapsingState, m_current);
                 commitLineBreakAtCurrentWidth(renderObject, m_current.offset(), m_current.nextBreakablePosition());
-                m_lineBreak.increment();
+                m_lineBreakHistory.increment();
                 m_lineInfo.setPreviousLineBrokeCleanly(true);
                 return true;
             }
@@ -942,7 +1016,7 @@
             if (midWordBreak && !U16_IS_TRAIL(c) && !(U_GET_GC_MASK(c) & U_GC_M_MASK)) {
                 // Remember this as a breakable position in case
                 // adding the end width forces a break.
-                m_lineBreak.moveTo(renderObject, m_current.offset(), m_current.nextBreakablePosition());
+                m_lineBreakHistory.moveTo(renderObject, m_current.offset(), m_current.nextBreakablePosition());
                 midWordBreak &= (breakWords || breakAll);
             }
 
@@ -1007,7 +1081,7 @@
 
         if (!m_currentCharacterIsWS && previousCharacterIsWS) {
             if (m_autoWrap && m_currentStyle->breakOnlyAfterWhiteSpace())
-                m_lineBreak.moveTo(renderObject, m_current.offset(), m_current.nextBreakablePosition());
+                m_lineBreakHistory.moveTo(renderObject, m_current.offset(), m_current.nextBreakablePosition());
         }
 
         if (m_collapseWhiteSpace && m_currentCharacterIsSpace && !m_ignoringSpaces)
@@ -1050,10 +1124,13 @@
         // Don't try to hyphenate at the final break of a block, since this means there is
         // no more content, and a hyphenated single word would end up on a line by itself. This looks
         // bad so just don't allow it.
-        if (canHyphenate && (m_nextObject || isLineEmpty))
-            tryHyphenating(renderText, font, style.locale(), consecutiveHyphenatedLines, m_blockStyle.hyphenationLimitLines(), style.hyphenationLimitBefore(), style.hyphenationLimitAfter(), lastSpace, m_current.offset(), m_width.currentWidth() - additionalTempWidth, m_width.availableWidth(), isFixedPitch, m_collapseWhiteSpace, lastSpaceWordSpacing, m_lineBreak, m_current.nextBreakablePosition(), m_lineBreaker.m_hyphenated);
+        if (canHyphenate && (m_nextObject || isLineEmpty)) {
+            m_lineBreakHistory.push([&](InlineIterator& modifyMe) {
+                tryHyphenating(renderText, font, style.locale(), consecutiveHyphenatedLines, m_blockStyle.hyphenationLimitLines(), style.hyphenationLimitBefore(), style.hyphenationLimitAfter(), lastSpace, m_current.offset(), m_width.currentWidth() - additionalTempWidth, m_width.availableWidth(), isFixedPitch, m_collapseWhiteSpace, lastSpaceWordSpacing, modifyMe, m_current.nextBreakablePosition(), m_lineBreaker.m_hyphenated);
+            });
+        }
 
-        if (!hyphenated && m_lineBreak.previousInSameNode() == softHyphen && style.hyphens() != Hyphens::None) {
+        if (!hyphenated && m_lineBreakHistory.previousInSameNode() == softHyphen && style.hyphens() != Hyphens::None) {
             hyphenated = true;
             m_atEnd = true;
         }
@@ -1177,8 +1254,8 @@
 
 inline InlineIterator BreakingContext::handleEndOfLine()
 {
-    if (m_lineBreak == m_resolver.position()) {
-        if (!m_lineBreak.renderer() || !m_lineBreak.renderer()->isBR()) {
+    if (m_lineBreakHistory.current() == m_resolver.position()) {
+        if (!m_lineBreakHistory.renderer() || !m_lineBreakHistory.renderer()->isBR()) {
             // we just add as much as possible
             if (m_blockStyle.whiteSpace() == WhiteSpace::Pre && !m_current.offset()) {
                 if (m_lastObject)
@@ -1185,7 +1262,8 @@
                     commitLineBreakAtCurrentWidth(*m_lastObject, m_lastObject->isText() ? m_lastObject->length() : 0);
                 else
                     commitLineBreakClear();
-            } else if (m_lineBreak.renderer()) {
+            }
+            else if (m_lineBreakHistory.renderer()) {
                 // Don't ever break in the middle of a word if we can help it.
                 // There's no room at all. We just have to be on this line,
                 // even though we'll spill out.
@@ -1193,31 +1271,74 @@
             }
         }
         // make sure we consume at least one char/object.
-        if (m_lineBreak == m_resolver.position())
-            m_lineBreak.increment();
+        if (m_lineBreakHistory.current() == m_resolver.position())
+            m_lineBreakHistory.increment();
     } else if (!m_current.offset() && !m_width.committedWidth() && m_width.uncommittedWidth() && !m_hadUncommittedWidthBeforeCurrent) {
         // Do not push the current object to the next line, when this line has some content, but it is still considered empty.
         // Empty inline elements like <span></span> can produce such lines and now we just ignore these break opportunities
         // at the start of a line, if no width has been committed yet.
         // Behave as if it was actually empty and consume at least one object.
-        m_lineBreak.increment();
+        m_lineBreakHistory.increment();
     }
 
     // Sanity check our whitespace collapsing transitions.
-    TrailingObjects::CollapseFirstSpaceOrNot collapsed = checkWhitespaceCollapsingTransitions(m_lineWhitespaceCollapsingState, m_lineBreak);
+    TrailingObjects::CollapseFirstSpaceOrNot collapsed = checkWhitespaceCollapsingTransitions(m_lineWhitespaceCollapsingState, m_lineBreakHistory.current());
 
-    m_trailingObjects.updateWhitespaceCollapsingTransitionsForTrailingBoxes(m_lineWhitespaceCollapsingState, m_lineBreak, collapsed);
+    m_trailingObjects.updateWhitespaceCollapsingTransitionsForTrailingBoxes(m_lineWhitespaceCollapsingState, m_lineBreakHistory.current(), collapsed);
 
     // We might have made lineBreak an iterator that points past the end
     // of the object. Do this adjustment to make it point to the start
     // of the next object instead to avoid confusing the rest of the
     // code.
-    if (m_lineBreak.offset()) {
-        m_lineBreak.setOffset(m_lineBreak.offset() - 1);
-        m_lineBreak.increment();
+    if (m_lineBreakHistory.offset()) {
+        m_lineBreakHistory.update([](InlineIterator& modifyMe) {
+            modifyMe.setOffset(modifyMe.offset() - 1);
+            modifyMe.increment();
+        });
     }
 
-    return m_lineBreak;
+#if ENABLE(CSS_TRAILING_WORD)
+    if (m_blockStyle.trailingWord() == TrailingWord::PartiallyBalanced)
+        return optimalLineBreakLocationForTrailingWord();
+#endif
+    return m_lineBreakHistory.current();
 }
 
+#if ENABLE(CSS_TRAILING_WORD)
+inline InlineIterator BreakingContext::optimalLineBreakLocationForTrailingWord()
+{
+    const unsigned longTrailingWordLength = 20;
+    const float optimalTrailingLineRatio = 0.1;
+    InlineIterator lineBreak = m_lineBreakHistory.current();
+    if (!lineBreak.renderer() || !m_lineInfo.isFirstLine() || bidiNextSkippingEmptyInlines(*lineBreak.root(), lineBreak.renderer()) || !is<RenderText>(lineBreak.renderer()))
+        return lineBreak;
+    RenderText& renderText = downcast<RenderText>(*lineBreak.renderer());
+    // Don't even bother measuring if our remaining line has many characters
+    if (renderText.text().length() == lineBreak.offset() || renderText.text().length() - lineBreak.offset() > longTrailingWordLength)
+        return lineBreak;
+    bool canUseLineBreakShortcut = m_renderTextInfo.lineBreakIterator.mode() == LineBreakIteratorMode::Default;
+    bool breakNBSP = m_autoWrap && m_currentStyle->nbspMode() == NBSPMode::Space;
+    Optional<unsigned> nextBreakablePosition = lineBreak.nextBreakablePosition();
+    isBreakable(m_renderTextInfo.lineBreakIterator, lineBreak.offset() + 1, nextBreakablePosition, breakNBSP, canUseLineBreakShortcut, m_currentStyle->wordBreak() == WordBreak::KeepAll);
+    if (!nextBreakablePosition || nextBreakablePosition.value() != renderText.text().length())
+        return lineBreak;
+    const RenderStyle& style = lineStyle(renderText, m_lineInfo);
+    const FontCascade& font = style.fontCascade();
+    HashSet<const Font*> dummyFonts;
+    InlineIterator best = lineBreak;
+    for (size_t i = 1; i < m_lineBreakHistory.historyLength(); ++i) {
+        const InlineIterator& candidate = m_lineBreakHistory.get(i);
+        if (candidate.renderer() != lineBreak.renderer())
+            return best;
+        float width = textWidth(renderText, candidate.offset(), renderText.text().length() - candidate.offset(), font, 0, font.isFixedPitch(), m_collapseWhiteSpace, dummyFonts);
+        if (width > m_width.availableWidth())
+            return best;
+        if (width / m_width.availableWidth() > optimalTrailingLineRatio) // Subsequent line is long enough
+            return candidate;
+        best = candidate;
+    }
+    return best;
 }
+#endif
+
+}

Modified: branches/safari-607-branch/Source/WebCore/rendering/style/RenderStyle.h (244797 => 244798)


--- branches/safari-607-branch/Source/WebCore/rendering/style/RenderStyle.h	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/Source/WebCore/rendering/style/RenderStyle.h	2019-04-30 20:13:09 UTC (rev 244798)
@@ -799,7 +799,7 @@
     bool shouldPlaceBlockDirectionScrollbarOnLeft() const;
 
 #if ENABLE(CSS_TRAILING_WORD)
-    TrailingWord trailingWord() const { return TrailingWord::Auto; }
+    TrailingWord trailingWord() const { return static_cast<TrailingWord>(m_rareInheritedData->trailingWord); }
 #endif
 
 #if ENABLE(APPLE_PAY)
@@ -1259,7 +1259,7 @@
     void setTextSecurity(TextSecurity security) { SET_VAR(m_rareInheritedData, textSecurity, static_cast<unsigned>(security)); }
 
 #if ENABLE(CSS_TRAILING_WORD)
-    void setTrailingWord(TrailingWord) { }
+    void setTrailingWord(TrailingWord v) { SET_VAR(m_rareInheritedData, trailingWord, static_cast<unsigned>(v)); }
 #endif
 
 #if ENABLE(APPLE_PAY)

Modified: branches/safari-607-branch/Source/WebCore/rendering/style/StyleRareInheritedData.cpp (244797 => 244798)


--- branches/safari-607-branch/Source/WebCore/rendering/style/StyleRareInheritedData.cpp	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/Source/WebCore/rendering/style/StyleRareInheritedData.cpp	2019-04-30 20:13:09 UTC (rev 244798)
@@ -131,6 +131,9 @@
 #if PLATFORM(IOS_FAMILY)
     , touchCalloutEnabled(RenderStyle::initialTouchCalloutEnabled())
 #endif
+#if ENABLE(CSS_TRAILING_WORD)
+    , trailingWord(static_cast<unsigned>(RenderStyle::initialTrailingWord()))
+#endif
     , hangingPunctuation(RenderStyle::initialHangingPunctuation().toRaw())
     , paintOrder(static_cast<unsigned>(RenderStyle::initialPaintOrder()))
     , capStyle(RenderStyle::initialCapStyle())
@@ -226,6 +229,9 @@
 #if PLATFORM(IOS_FAMILY)
     , touchCalloutEnabled(o.touchCalloutEnabled)
 #endif
+#if ENABLE(CSS_TRAILING_WORD)
+    , trailingWord(o.trailingWord)
+#endif
     , hangingPunctuation(o.hangingPunctuation)
     , paintOrder(o.paintOrder)
     , capStyle(o.capStyle)
@@ -348,6 +354,9 @@
         && textZoom == o.textZoom
         && lineSnap == o.lineSnap
         && lineAlign == o.lineAlign
+#if ENABLE(CSS_TRAILING_WORD)
+        && trailingWord == o.trailingWord
+#endif
         && hangingPunctuation == o.hangingPunctuation
         && paintOrder == o.paintOrder
         && capStyle == o.capStyle

Modified: branches/safari-607-branch/Source/WebCore/rendering/style/StyleRareInheritedData.h (244797 => 244798)


--- branches/safari-607-branch/Source/WebCore/rendering/style/StyleRareInheritedData.h	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/Source/WebCore/rendering/style/StyleRareInheritedData.h	2019-04-30 20:13:09 UTC (rev 244798)
@@ -145,6 +145,10 @@
     unsigned touchCalloutEnabled : 1;
 #endif
 
+#if ENABLE(CSS_TRAILING_WORD)
+    unsigned trailingWord : 1;
+#endif
+
     unsigned hangingPunctuation : 4;
 
     unsigned paintOrder : 3; // PaintOrder

Modified: branches/safari-607-branch/Source/WebInspectorUI/ChangeLog (244797 => 244798)


--- branches/safari-607-branch/Source/WebInspectorUI/ChangeLog	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/Source/WebInspectorUI/ChangeLog	2019-04-30 20:13:09 UTC (rev 244798)
@@ -1,3 +1,7 @@
+2019-04-24  Alan Coon  <[email protected]>
+
+        Revert r244173. rdar://problem/28160396
+
 2019-04-10  Alan Coon  <[email protected]>
 
         Cherry-pick r243819. rdar://problem/49725678

Modified: branches/safari-607-branch/Source/WebInspectorUI/Configurations/Version.xcconfig (244797 => 244798)


--- branches/safari-607-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2019-04-30 20:13:09 UTC (rev 244798)
@@ -1,7 +1,7 @@
 MAJOR_VERSION = 607;
 MINOR_VERSION = 2;
 TINY_VERSION = 6;
-MICRO_VERSION = 1;
+MICRO_VERSION = 0;
 NANO_VERSION = 1;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 

Modified: branches/safari-607-branch/Source/WebInspectorUI/UserInterface/Models/CSSKeywordCompletions.js (244797 => 244798)


--- branches/safari-607-branch/Source/WebInspectorUI/UserInterface/Models/CSSKeywordCompletions.js	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/Source/WebInspectorUI/UserInterface/Models/CSSKeywordCompletions.js	2019-04-30 20:13:09 UTC (rev 244798)
@@ -155,6 +155,7 @@
 WI.CSSKeywordCompletions.InheritedProperties = new Set([
     // Compatibility (iOS 12): `inherited` didn't exist on `CSSPropertyInfo`
     "-apple-color-filter",
+    "-apple-trailing-word",
     "-webkit-animation-trigger",
     "-webkit-aspect-ratio",
     "-webkit-border-horizontal-spacing",
@@ -786,6 +787,9 @@
     "-apple-pay-button-type": [
         "plain", "buy", "set-up", "donate", "check-out", "book", "subscribe",
     ],
+    "-apple-trailing-word": [
+        "auto", "-webkit-partially-balanced",
+    ],
     "-webkit-alt": [
         "attr()",
     ],

Modified: branches/safari-607-branch/Source/WebKit/ChangeLog (244797 => 244798)


--- branches/safari-607-branch/Source/WebKit/ChangeLog	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/Source/WebKit/ChangeLog	2019-04-30 20:13:09 UTC (rev 244798)
@@ -1,3 +1,11 @@
+2019-04-24  Alan Coon  <[email protected]>
+
+        Revert r244173. rdar://problem/28160396
+
+2019-04-24  Alan Coon  <[email protected]>
+
+        Revert r244174. rdar://problem/28160396
+
 2019-04-19  Kocsen Chung  <[email protected]>
 
         Cherry-pick r244458. rdar://problem/50041560

Modified: branches/safari-607-branch/Source/WebKit/Configurations/Version.xcconfig (244797 => 244798)


--- branches/safari-607-branch/Source/WebKit/Configurations/Version.xcconfig	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/Source/WebKit/Configurations/Version.xcconfig	2019-04-30 20:13:09 UTC (rev 244798)
@@ -24,7 +24,7 @@
 MAJOR_VERSION = 607;
 MINOR_VERSION = 2;
 TINY_VERSION = 6;
-MICRO_VERSION = 1;
+MICRO_VERSION = 0;
 NANO_VERSION = 1;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 

Modified: branches/safari-607-branch/Source/WebKitLegacy/mac/ChangeLog (244797 => 244798)


--- branches/safari-607-branch/Source/WebKitLegacy/mac/ChangeLog	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/Source/WebKitLegacy/mac/ChangeLog	2019-04-30 20:13:09 UTC (rev 244798)
@@ -1,3 +1,11 @@
+2019-04-24  Alan Coon  <[email protected]>
+
+        Revert r244173. rdar://problem/28160396
+
+2019-04-24  Alan Coon  <[email protected]>
+
+        Revert r244174. rdar://problem/28160396
+
 2019-04-10  Alan Coon  <[email protected]>
 
         Cherry-pick r243841. rdar://problem/49725678

Modified: branches/safari-607-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig (244797 => 244798)


--- branches/safari-607-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig	2019-04-30 20:13:09 UTC (rev 244798)
@@ -24,7 +24,7 @@
 MAJOR_VERSION = 607;
 MINOR_VERSION = 2;
 TINY_VERSION = 6;
-MICRO_VERSION = 1;
+MICRO_VERSION = 0;
 NANO_VERSION = 1;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 

Modified: branches/safari-607-branch/Source/cmake/WebKitFeatures.cmake (244797 => 244798)


--- branches/safari-607-branch/Source/cmake/WebKitFeatures.cmake	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/Source/cmake/WebKitFeatures.cmake	2019-04-30 20:13:09 UTC (rev 244798)
@@ -108,6 +108,7 @@
     WEBKIT_OPTION_DEFINE(ENABLE_CSS_PAINTING_API "Toggle CSS Painting API support" PRIVATE OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_CSS_SCROLL_SNAP "Toggle CSS snap scroll support" PRIVATE OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_CSS_SELECTORS_LEVEL4 "Toggle CSS Selectors Level 4 support" PRIVATE ON)
+    WEBKIT_OPTION_DEFINE(ENABLE_CSS_TRAILING_WORD "Toggle CSS trailing word support" PRIVATE OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_CURSOR_VISIBILITY "Toggle cursor visibility support" PRIVATE OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_CUSTOM_SCHEME_HANDLER "Toggle Custom Scheme Handler support" PRIVATE OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_C_LOOP "Enable CLoop interpreter" PRIVATE ${ENABLE_C_LOOP_DEFAULT})

Modified: branches/safari-607-branch/Tools/ChangeLog (244797 => 244798)


--- branches/safari-607-branch/Tools/ChangeLog	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/Tools/ChangeLog	2019-04-30 20:13:09 UTC (rev 244798)
@@ -1,3 +1,11 @@
+2019-04-24  Alan Coon  <[email protected]>
+
+        Revert r244173. rdar://problem/28160396
+
+2019-04-24  Alan Coon  <[email protected]>
+
+        Revert r244174. rdar://problem/28160396
+
 2019-04-17  Ryan Haddad  <[email protected]>
 
         Cherry-pick r240301. rdar://problem/49984116

Modified: branches/safari-607-branch/Tools/Scripts/webkitperl/FeatureList.pm (244797 => 244798)


--- branches/safari-607-branch/Tools/Scripts/webkitperl/FeatureList.pm	2019-04-30 20:09:44 UTC (rev 244797)
+++ branches/safari-607-branch/Tools/Scripts/webkitperl/FeatureList.pm	2019-04-30 20:13:09 UTC (rev 244798)
@@ -262,6 +262,9 @@
     { option => "css-selectors-level4", desc => "Toggle CSS Selectors Level 4 support",
       define => "ENABLE_CSS_SELECTORS_LEVEL4", value => \$cssSelectorsLevel4Support },
 
+    { option => "css-trailing-word", desc => "Toggle CSS trailing word support",
+      define => "ENABLE_CSS_TRAILING_WORD", value => \$cssTrailingWordSupport },
+
     { option => "cursor-visibility", desc => "Toggle cursor visibility support",
       define => "ENABLE_CURSOR_VISIBILITY", value => \$cursorVisibilitySupport },
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to