Diff
Modified: branches/safari-607-branch/ChangeLog (244620 => 244621)
--- branches/safari-607-branch/ChangeLog 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/ChangeLog 2019-04-24 23:05:50 UTC (rev 244621)
@@ -1,7 +1,3 @@
-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 (244620 => 244621)
--- branches/safari-607-branch/JSTests/ChangeLog 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/JSTests/ChangeLog 2019-04-24 23:05:50 UTC (rev 244621)
@@ -1,7 +1,3 @@
-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
Added: branches/safari-607-branch/JSTests/stress/map-b3-licm-infinite-loop.js (0 => 244621)
--- branches/safari-607-branch/JSTests/stress/map-b3-licm-infinite-loop.js (rev 0)
+++ branches/safari-607-branch/JSTests/stress/map-b3-licm-infinite-loop.js 2019-04-24 23:05:50 UTC (rev 244621)
@@ -0,0 +1,25 @@
+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 (244620 => 244621)
--- branches/safari-607-branch/LayoutTests/ChangeLog 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/LayoutTests/ChangeLog 2019-04-24 23:05:50 UTC (rev 244621)
@@ -1,11 +1,3 @@
-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
Added: branches/safari-607-branch/LayoutTests/fast/text/trailing-word-detection-expected.txt (0 => 244621)
--- branches/safari-607-branch/LayoutTests/fast/text/trailing-word-detection-expected.txt (rev 0)
+++ branches/safari-607-branch/LayoutTests/fast/text/trailing-word-detection-expected.txt 2019-04-24 23:05:50 UTC (rev 244621)
@@ -0,0 +1,6 @@
+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
+
Added: branches/safari-607-branch/LayoutTests/fast/text/trailing-word-detection.html (0 => 244621)
--- branches/safari-607-branch/LayoutTests/fast/text/trailing-word-detection.html (rev 0)
+++ branches/safari-607-branch/LayoutTests/fast/text/trailing-word-detection.html 2019-04-24 23:05:50 UTC (rev 244621)
@@ -0,0 +1,22 @@
+<!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>
Deleted: branches/safari-607-branch/LayoutTests/fast/text/trailing-word-expected.html (244620 => 244621)
--- branches/safari-607-branch/LayoutTests/fast/text/trailing-word-expected.html 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/LayoutTests/fast/text/trailing-word-expected.html 2019-04-24 23:05:50 UTC (rev 244621)
@@ -1,15 +0,0 @@
-<!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>
Deleted: branches/safari-607-branch/LayoutTests/fast/text/trailing-word.html (244620 => 244621)
--- branches/safari-607-branch/LayoutTests/fast/text/trailing-word.html 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/LayoutTests/fast/text/trailing-word.html 2019-04-24 23:05:50 UTC (rev 244621)
@@ -1,15 +0,0 @@
-<!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 (244620 => 244621)
--- branches/safari-607-branch/LayoutTests/platform/gtk/TestExpectations 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/LayoutTests/platform/gtk/TestExpectations 2019-04-24 23:05:50 UTC (rev 244621)
@@ -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.html [ ImageOnlyFailure ]
+webkit.org/b/160248 fast/text/trailing-word-detection.html [ Failure ]
webkit.org/b/160249 fast/shrink-wrap/rect-shrink-wrap.html [ ImageOnlyFailure ]
Deleted: branches/safari-607-branch/LayoutTests/platform/mac/fast/text/trailing-word-parse-expected.txt (244620 => 244621)
--- branches/safari-607-branch/LayoutTests/platform/mac/fast/text/trailing-word-parse-expected.txt 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/LayoutTests/platform/mac/fast/text/trailing-word-parse-expected.txt 2019-04-24 23:05:50 UTC (rev 244621)
@@ -1,41 +0,0 @@
-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
-
Deleted: branches/safari-607-branch/LayoutTests/platform/mac/fast/text/trailing-word-parse.html (244620 => 244621)
--- branches/safari-607-branch/LayoutTests/platform/mac/fast/text/trailing-word-parse.html 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/LayoutTests/platform/mac/fast/text/trailing-word-parse.html 2019-04-24 23:05:50 UTC (rev 244621)
@@ -1,104 +0,0 @@
-<!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 (244620 => 244621)
--- branches/safari-607-branch/LayoutTests/platform/win/TestExpectations 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/LayoutTests/platform/win/TestExpectations 2019-04-24 23:05:50 UTC (rev 244621)
@@ -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.html [ ImageOnlyFailure ]
+fast/text/trailing-word-detection.html [ Failure ]
# TestRunner::addChromeInputField() and focusWebView() not implemented
fast/forms/focus-option-control-on-page.html [ Skip ]
Modified: branches/safari-607-branch/PerformanceTests/ChangeLog (244620 => 244621)
--- branches/safari-607-branch/PerformanceTests/ChangeLog 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/PerformanceTests/ChangeLog 2019-04-24 23:05:50 UTC (rev 244621)
@@ -1,7 +1,3 @@
-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 (244620 => 244621)
--- branches/safari-607-branch/PerformanceTests/MotionMark/resources/debug-runner/motionmark.css 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/PerformanceTests/MotionMark/resources/debug-runner/motionmark.css 2019-04-24 23:05:50 UTC (rev 244621)
@@ -209,7 +209,6 @@
#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 (244620 => 244621)
--- branches/safari-607-branch/Source/_javascript_Core/ChangeLog 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/Source/_javascript_Core/ChangeLog 2019-04-24 23:05:50 UTC (rev 244621)
@@ -1,15 +1,3 @@
-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 (244620 => 244621)
--- branches/safari-607-branch/Source/_javascript_Core/Configurations/Version.xcconfig 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/Source/_javascript_Core/Configurations/Version.xcconfig 2019-04-24 23:05:50 UTC (rev 244621)
@@ -22,11 +22,11 @@
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
MAJOR_VERSION = 607;
-MINOR_VERSION = 2;
-TINY_VERSION = 6;
+MINOR_VERSION = 3;
+TINY_VERSION = 1;
MICRO_VERSION = 0;
-NANO_VERSION = 1;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
+NANO_VERSION = 0;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
// The bundle version and short version string are set based on the current build configuration, see below.
BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION));
Modified: branches/safari-607-branch/Source/_javascript_Core/b3/testb3.cpp (244620 => 244621)
--- branches/safari-607-branch/Source/_javascript_Core/b3/testb3.cpp 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/Source/_javascript_Core/b3/testb3.cpp 2019-04-24 23:05:50 UTC (rev 244621)
@@ -16327,6 +16327,51 @@
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()
{
@@ -17898,6 +17943,8 @@
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 (244620 => 244621)
--- branches/safari-607-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig 2019-04-24 23:05:50 UTC (rev 244621)
@@ -22,11 +22,11 @@
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
MAJOR_VERSION = 607;
-MINOR_VERSION = 2;
-TINY_VERSION = 6;
+MINOR_VERSION = 3;
+TINY_VERSION = 1;
MICRO_VERSION = 0;
-NANO_VERSION = 1;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
+NANO_VERSION = 0;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
// The bundle version and short version string are set based on the current build configuration, see below.
BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION));
Modified: branches/safari-607-branch/Source/WTF/ChangeLog (244620 => 244621)
--- branches/safari-607-branch/Source/WTF/ChangeLog 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/Source/WTF/ChangeLog 2019-04-24 23:05:50 UTC (rev 244621)
@@ -1,7 +1,3 @@
-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 (244620 => 244621)
--- branches/safari-607-branch/Source/WTF/WTF.xcodeproj/project.pbxproj 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/Source/WTF/WTF.xcodeproj/project.pbxproj 2019-04-24 23:05:50 UTC (rev 244621)
@@ -388,6 +388,7 @@
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>"; };
@@ -1077,6 +1078,7 @@
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 (244620 => 244621)
--- branches/safari-607-branch/Source/WTF/wtf/BackwardsGraph.h 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/Source/WTF/wtf/BackwardsGraph.h 2019-04-24 23:05:50 UTC (rev 244621)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2016 Apple Inc. All rights reserved.
+ * Copyright (C) 2016-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
@@ -29,6 +29,7 @@
#include <wtf/GraphNodeWorklist.h>
#include <wtf/Noncopyable.h>
#include <wtf/SingleRootGraph.h>
+#include <wtf/SpanningTree.h>
#include <wtf/StdLibExtras.h>
namespace WTF {
@@ -57,6 +58,23 @@
}
};
+ {
+ // 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())
Added: branches/safari-607-branch/Source/WTF/wtf/SpanningTree.h (0 => 244621)
--- branches/safari-607-branch/Source/WTF/wtf/SpanningTree.h (rev 0)
+++ branches/safari-607-branch/Source/WTF/wtf/SpanningTree.h 2019-04-24 23:05:50 UTC (rev 244621)
@@ -0,0 +1,84 @@
+/*
+ * 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 (244620 => 244621)
--- branches/safari-607-branch/Source/WebCore/ChangeLog 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/Source/WebCore/ChangeLog 2019-04-24 23:05:50 UTC (rev 244621)
@@ -1,15 +1,3 @@
-2019-04-24 Alan Coon <[email protected]>
-
- Revert r244120. 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/WebCore/Configurations/Version.xcconfig (244620 => 244621)
--- branches/safari-607-branch/Source/WebCore/Configurations/Version.xcconfig 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/Source/WebCore/Configurations/Version.xcconfig 2019-04-24 23:05:50 UTC (rev 244621)
@@ -22,11 +22,11 @@
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
MAJOR_VERSION = 607;
-MINOR_VERSION = 2;
-TINY_VERSION = 6;
+MINOR_VERSION = 3;
+TINY_VERSION = 1;
MICRO_VERSION = 0;
-NANO_VERSION = 1;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
+NANO_VERSION = 0;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
// The bundle version and short version string are set based on the current build configuration, see below.
BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION));
Modified: branches/safari-607-branch/Source/WebCore/PAL/ChangeLog (244620 => 244621)
--- branches/safari-607-branch/Source/WebCore/PAL/ChangeLog 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/Source/WebCore/PAL/ChangeLog 2019-04-24 23:05:50 UTC (rev 244621)
@@ -1,11 +1,3 @@
-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 (244620 => 244621)
--- branches/safari-607-branch/Source/WebCore/PAL/Configurations/Version.xcconfig 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/Source/WebCore/PAL/Configurations/Version.xcconfig 2019-04-24 23:05:50 UTC (rev 244621)
@@ -22,11 +22,11 @@
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
MAJOR_VERSION = 607;
-MINOR_VERSION = 2;
-TINY_VERSION = 6;
+MINOR_VERSION = 3;
+TINY_VERSION = 1;
MICRO_VERSION = 0;
-NANO_VERSION = 1;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
+NANO_VERSION = 0;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
// The bundle version and short version string are set based on the current build configuration, see below.
BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION));
Modified: branches/safari-607-branch/Source/WebCore/css/CSSProperties.json (244620 => 244621)
--- branches/safari-607-branch/Source/WebCore/css/CSSProperties.json 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/Source/WebCore/css/CSSProperties.json 2019-04-24 23:05:50 UTC (rev 244621)
@@ -6709,7 +6709,10 @@
"name-for-methods": "TrailingWord",
"enable-if": "ENABLE_CSS_TRAILING_WORD"
},
- "status": "non-standard"
+ "status": {
+ "status": "non-standard",
+ "comment": "Needed for feature-detecting the Safari browser. Implementation has no effect."
+ }
},
"-apple-pay-button-style": {
"codegen-properties": {
Modified: branches/safari-607-branch/Source/WebCore/page/DOMWindow.cpp (244620 => 244621)
--- branches/safari-607-branch/Source/WebCore/page/DOMWindow.cpp 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/Source/WebCore/page/DOMWindow.cpp 2019-04-24 23:05:50 UTC (rev 244621)
@@ -488,6 +488,9 @@
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 (244620 => 244621)
--- branches/safari-607-branch/Source/WebCore/rendering/SimpleLineLayout.cpp 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/Source/WebCore/rendering/SimpleLineLayout.cpp 2019-04-24 23:05:50 UTC (rev 244621)
@@ -240,10 +240,6 @@
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 (244620 => 244621)
--- branches/safari-607-branch/Source/WebCore/rendering/SimpleLineLayoutCoverage.cpp 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/Source/WebCore/rendering/SimpleLineLayoutCoverage.cpp 2019-04-24 23:05:50 UTC (rev 244621)
@@ -135,9 +135,6 @@
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 (244620 => 244621)
--- branches/safari-607-branch/Source/WebCore/rendering/SimpleLineLayoutCoverage.h 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/Source/WebCore/rendering/SimpleLineLayoutCoverage.h 2019-04-24 23:05:50 UTC (rev 244621)
@@ -66,7 +66,6 @@
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 (244620 => 244621)
--- branches/safari-607-branch/Source/WebCore/rendering/line/BreakingContext.h 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/Source/WebCore/rendering/line/BreakingContext.h 2019-04-24 23:05:50 UTC (rev 244621)
@@ -97,11 +97,7 @@
: m_lineBreaker(lineBreaker)
, m_resolver(resolver)
, m_current(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_lineBreak(resolver.position())
, m_block(block)
, m_lastObject(m_current.renderer())
, m_nextObject(nullptr)
@@ -134,7 +130,7 @@
}
RenderObject* currentObject() { return m_current.renderer(); }
- InlineIterator lineBreak() { return m_lineBreakHistory.current(); }
+ InlineIterator lineBreak() { return m_lineBreak; }
LineWidth& lineWidth() { return m_width; }
bool atEnd() { return m_atEnd; }
@@ -153,9 +149,6 @@
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);
@@ -162,7 +155,7 @@
void clearLineBreakIfFitsOnLine(bool ignoringTrailingSpace = false)
{
if (m_width.fitsOnLine(ignoringTrailingSpace) || m_lastWS == WhiteSpace::NoWrap || m_hangsAtEnd)
- m_lineBreakHistory.clear();
+ m_lineBreak.clear();
m_hangsAtEnd = false;
}
@@ -169,7 +162,7 @@
void commitLineBreakClear()
{
m_width.commit();
- m_lineBreakHistory.clear();
+ m_lineBreak.clear();
m_hangsAtEnd = false;
}
@@ -176,77 +169,16 @@
void commitLineBreakAtCurrentWidth(RenderObject& object, unsigned offset = 0, Optional<unsigned> nextBreak = Optional<unsigned>())
{
m_width.commit();
- m_lineBreakHistory.moveTo(object, offset, nextBreak);
+ m_lineBreak.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;
- InlineIteratorHistory m_lineBreakHistory;
+ InlineIterator m_lineBreak;
InlineIterator m_startOfIgnoredSpaces;
RenderBlockFlow& m_block;
@@ -342,10 +274,8 @@
{
if (fitsOnLineOrHangsAtEnd()) {
RenderObject& br = *m_current.renderer();
- m_lineBreakHistory.push([&](InlineIterator& modifyMe) {
- modifyMe.moveToStartOf(br);
- modifyMe.increment();
- });
+ m_lineBreak.moveToStartOf(br);
+ m_lineBreak.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
@@ -464,9 +394,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_lineBreakHistory.renderer() == m_current.renderer()) {
- ASSERT(!m_lineBreakHistory.offset());
- m_lineBreakHistory.increment();
+ if (m_lineBreak.renderer() == m_current.renderer()) {
+ ASSERT(!m_lineBreak.offset());
+ m_lineBreak.increment();
}
} else
m_floatsFitOnLine = false;
@@ -752,9 +682,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_lineBreakHistory.current(), combineRenderer)) {
+ if (iteratorIsBeyondEndOfRenderCombineText(m_lineBreak, combineRenderer)) {
ASSERT(iteratorIsBeyondEndOfRenderCombineText(m_resolver.position(), combineRenderer));
- m_lineBreakHistory.increment();
+ m_lineBreak.increment();
m_resolver.increment();
}
}
@@ -920,10 +850,8 @@
// additional whitespace.
if (!m_width.fitsOnLineIncludingExtraWidth(charWidth)) {
lineWasTooWide = true;
- m_lineBreakHistory.push([&](InlineIterator& modifyMe) {
- modifyMe.moveTo(renderObject, m_current.offset(), m_current.nextBreakablePosition());
- m_lineBreaker.skipTrailingWhitespace(modifyMe, m_lineInfo);
- });
+ m_lineBreak.moveTo(renderObject, m_current.offset(), m_current.nextBreakablePosition());
+ m_lineBreaker.skipTrailingWhitespace(m_lineBreak, m_lineInfo);
}
}
if ((lineWasTooWide || !m_width.fitsOnLine()) && !m_hangsAtEnd) {
@@ -931,28 +859,26 @@
// 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)) {
- 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);
- });
+ 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 (m_lineBreaker.m_hyphenated) {
m_atEnd = true;
return false;
}
}
- if (m_lineBreakHistory.atTextParagraphSeparator()) {
+ if (m_lineBreak.atTextParagraphSeparator()) {
if (!stoppedIgnoringSpaces && m_current.offset() > 0)
ensureCharacterGetsLineBox(m_lineWhitespaceCollapsingState, m_current);
- m_lineBreakHistory.increment();
+ m_lineBreak.increment();
m_lineInfo.setPreviousLineBrokeCleanly(true);
- wordMeasurement.endOffset = m_lineBreakHistory.offset();
+ wordMeasurement.endOffset = m_lineBreak.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_lineBreakHistory.offset() || m_lineBreakHistory.nextBreakablePosition()) {
- lastBreakingPositon = m_lineBreakHistory.offset();
- rendererAtBreakingPosition = m_lineBreakHistory.renderer();
+ if (m_lineBreak.offset() || m_lineBreak.nextBreakablePosition()) {
+ lastBreakingPositon = m_lineBreak.offset();
+ rendererAtBreakingPosition = m_lineBreak.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();
@@ -973,9 +899,9 @@
hyphenated = characterBeforeBreakingPosition.value() == softHyphen;
}
}
- if (m_lineBreakHistory.offset() && m_lineBreakHistory.offset() != (unsigned)wordMeasurement.endOffset && !wordMeasurement.width) {
+ if (m_lineBreak.offset() && m_lineBreak.offset() != (unsigned)wordMeasurement.endOffset && !wordMeasurement.width) {
if (charWidth) {
- wordMeasurement.endOffset = m_lineBreakHistory.offset();
+ wordMeasurement.endOffset = m_lineBreak.offset();
wordMeasurement.width = charWidth;
}
}
@@ -999,7 +925,7 @@
if (!stoppedIgnoringSpaces && m_current.offset())
ensureCharacterGetsLineBox(m_lineWhitespaceCollapsingState, m_current);
commitLineBreakAtCurrentWidth(renderObject, m_current.offset(), m_current.nextBreakablePosition());
- m_lineBreakHistory.increment();
+ m_lineBreak.increment();
m_lineInfo.setPreviousLineBrokeCleanly(true);
return true;
}
@@ -1016,7 +942,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_lineBreakHistory.moveTo(renderObject, m_current.offset(), m_current.nextBreakablePosition());
+ m_lineBreak.moveTo(renderObject, m_current.offset(), m_current.nextBreakablePosition());
midWordBreak &= (breakWords || breakAll);
}
@@ -1081,7 +1007,7 @@
if (!m_currentCharacterIsWS && previousCharacterIsWS) {
if (m_autoWrap && m_currentStyle->breakOnlyAfterWhiteSpace())
- m_lineBreakHistory.moveTo(renderObject, m_current.offset(), m_current.nextBreakablePosition());
+ m_lineBreak.moveTo(renderObject, m_current.offset(), m_current.nextBreakablePosition());
}
if (m_collapseWhiteSpace && m_currentCharacterIsSpace && !m_ignoringSpaces)
@@ -1124,13 +1050,10 @@
// 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)) {
- 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 (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 (!hyphenated && m_lineBreakHistory.previousInSameNode() == softHyphen && style.hyphens() != Hyphens::None) {
+ if (!hyphenated && m_lineBreak.previousInSameNode() == softHyphen && style.hyphens() != Hyphens::None) {
hyphenated = true;
m_atEnd = true;
}
@@ -1254,8 +1177,8 @@
inline InlineIterator BreakingContext::handleEndOfLine()
{
- if (m_lineBreakHistory.current() == m_resolver.position()) {
- if (!m_lineBreakHistory.renderer() || !m_lineBreakHistory.renderer()->isBR()) {
+ if (m_lineBreak == m_resolver.position()) {
+ if (!m_lineBreak.renderer() || !m_lineBreak.renderer()->isBR()) {
// we just add as much as possible
if (m_blockStyle.whiteSpace() == WhiteSpace::Pre && !m_current.offset()) {
if (m_lastObject)
@@ -1262,8 +1185,7 @@
commitLineBreakAtCurrentWidth(*m_lastObject, m_lastObject->isText() ? m_lastObject->length() : 0);
else
commitLineBreakClear();
- }
- else if (m_lineBreakHistory.renderer()) {
+ } else if (m_lineBreak.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.
@@ -1271,74 +1193,31 @@
}
}
// make sure we consume at least one char/object.
- if (m_lineBreakHistory.current() == m_resolver.position())
- m_lineBreakHistory.increment();
+ if (m_lineBreak == m_resolver.position())
+ m_lineBreak.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_lineBreakHistory.increment();
+ m_lineBreak.increment();
}
// Sanity check our whitespace collapsing transitions.
- TrailingObjects::CollapseFirstSpaceOrNot collapsed = checkWhitespaceCollapsingTransitions(m_lineWhitespaceCollapsingState, m_lineBreakHistory.current());
+ TrailingObjects::CollapseFirstSpaceOrNot collapsed = checkWhitespaceCollapsingTransitions(m_lineWhitespaceCollapsingState, m_lineBreak);
- m_trailingObjects.updateWhitespaceCollapsingTransitionsForTrailingBoxes(m_lineWhitespaceCollapsingState, m_lineBreakHistory.current(), collapsed);
+ m_trailingObjects.updateWhitespaceCollapsingTransitionsForTrailingBoxes(m_lineWhitespaceCollapsingState, m_lineBreak, 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_lineBreakHistory.offset()) {
- m_lineBreakHistory.update([](InlineIterator& modifyMe) {
- modifyMe.setOffset(modifyMe.offset() - 1);
- modifyMe.increment();
- });
+ if (m_lineBreak.offset()) {
+ m_lineBreak.setOffset(m_lineBreak.offset() - 1);
+ m_lineBreak.increment();
}
-#if ENABLE(CSS_TRAILING_WORD)
- if (m_blockStyle.trailingWord() == TrailingWord::PartiallyBalanced)
- return optimalLineBreakLocationForTrailingWord();
-#endif
- return m_lineBreakHistory.current();
+ return m_lineBreak;
}
-#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 (244620 => 244621)
--- branches/safari-607-branch/Source/WebCore/rendering/style/RenderStyle.h 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/Source/WebCore/rendering/style/RenderStyle.h 2019-04-24 23:05:50 UTC (rev 244621)
@@ -799,7 +799,7 @@
bool shouldPlaceBlockDirectionScrollbarOnLeft() const;
#if ENABLE(CSS_TRAILING_WORD)
- TrailingWord trailingWord() const { return static_cast<TrailingWord>(m_rareInheritedData->trailingWord); }
+ TrailingWord trailingWord() const { return TrailingWord::Auto; }
#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 v) { SET_VAR(m_rareInheritedData, trailingWord, static_cast<unsigned>(v)); }
+ void setTrailingWord(TrailingWord) { }
#endif
#if ENABLE(APPLE_PAY)
Modified: branches/safari-607-branch/Source/WebCore/rendering/style/StyleRareInheritedData.cpp (244620 => 244621)
--- branches/safari-607-branch/Source/WebCore/rendering/style/StyleRareInheritedData.cpp 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/Source/WebCore/rendering/style/StyleRareInheritedData.cpp 2019-04-24 23:05:50 UTC (rev 244621)
@@ -131,9 +131,6 @@
#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())
@@ -229,9 +226,6 @@
#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)
@@ -354,9 +348,6 @@
&& 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 (244620 => 244621)
--- branches/safari-607-branch/Source/WebCore/rendering/style/StyleRareInheritedData.h 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/Source/WebCore/rendering/style/StyleRareInheritedData.h 2019-04-24 23:05:50 UTC (rev 244621)
@@ -145,10 +145,6 @@
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 (244620 => 244621)
--- branches/safari-607-branch/Source/WebInspectorUI/ChangeLog 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/Source/WebInspectorUI/ChangeLog 2019-04-24 23:05:50 UTC (rev 244621)
@@ -1,7 +1,3 @@
-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 (244620 => 244621)
--- branches/safari-607-branch/Source/WebInspectorUI/Configurations/Version.xcconfig 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/Source/WebInspectorUI/Configurations/Version.xcconfig 2019-04-24 23:05:50 UTC (rev 244621)
@@ -1,9 +1,9 @@
MAJOR_VERSION = 607;
-MINOR_VERSION = 2;
-TINY_VERSION = 6;
+MINOR_VERSION = 3;
+TINY_VERSION = 1;
MICRO_VERSION = 0;
-NANO_VERSION = 1;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
+NANO_VERSION = 0;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
// The system version prefix is based on the current system version.
SYSTEM_VERSION_PREFIX[sdk=iphone*] = 8;
Modified: branches/safari-607-branch/Source/WebInspectorUI/UserInterface/Models/CSSKeywordCompletions.js (244620 => 244621)
--- branches/safari-607-branch/Source/WebInspectorUI/UserInterface/Models/CSSKeywordCompletions.js 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/Source/WebInspectorUI/UserInterface/Models/CSSKeywordCompletions.js 2019-04-24 23:05:50 UTC (rev 244621)
@@ -155,7 +155,6 @@
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",
@@ -787,9 +786,6 @@
"-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 (244620 => 244621)
--- branches/safari-607-branch/Source/WebKit/ChangeLog 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/Source/WebKit/ChangeLog 2019-04-24 23:05:50 UTC (rev 244621)
@@ -1,11 +1,3 @@
-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 (244620 => 244621)
--- branches/safari-607-branch/Source/WebKit/Configurations/Version.xcconfig 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/Source/WebKit/Configurations/Version.xcconfig 2019-04-24 23:05:50 UTC (rev 244621)
@@ -22,11 +22,11 @@
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
MAJOR_VERSION = 607;
-MINOR_VERSION = 2;
-TINY_VERSION = 6;
+MINOR_VERSION = 3;
+TINY_VERSION = 1;
MICRO_VERSION = 0;
-NANO_VERSION = 1;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
+NANO_VERSION = 0;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
// The bundle version and short version string are set based on the current build configuration, see below.
BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION));
Modified: branches/safari-607-branch/Source/WebKitLegacy/mac/ChangeLog (244620 => 244621)
--- branches/safari-607-branch/Source/WebKitLegacy/mac/ChangeLog 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/Source/WebKitLegacy/mac/ChangeLog 2019-04-24 23:05:50 UTC (rev 244621)
@@ -1,11 +1,3 @@
-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 (244620 => 244621)
--- branches/safari-607-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig 2019-04-24 23:05:50 UTC (rev 244621)
@@ -22,11 +22,11 @@
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
MAJOR_VERSION = 607;
-MINOR_VERSION = 2;
-TINY_VERSION = 6;
+MINOR_VERSION = 3;
+TINY_VERSION = 1;
MICRO_VERSION = 0;
-NANO_VERSION = 1;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
+NANO_VERSION = 0;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
// The bundle version and short version string are set based on the current build configuration, see below.
BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION));
Modified: branches/safari-607-branch/Source/cmake/WebKitFeatures.cmake (244620 => 244621)
--- branches/safari-607-branch/Source/cmake/WebKitFeatures.cmake 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/Source/cmake/WebKitFeatures.cmake 2019-04-24 23:05:50 UTC (rev 244621)
@@ -108,7 +108,6 @@
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 (244620 => 244621)
--- branches/safari-607-branch/Tools/ChangeLog 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/Tools/ChangeLog 2019-04-24 23:05:50 UTC (rev 244621)
@@ -1,11 +1,3 @@
-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 (244620 => 244621)
--- branches/safari-607-branch/Tools/Scripts/webkitperl/FeatureList.pm 2019-04-24 22:42:38 UTC (rev 244620)
+++ branches/safari-607-branch/Tools/Scripts/webkitperl/FeatureList.pm 2019-04-24 23:05:50 UTC (rev 244621)
@@ -262,9 +262,6 @@
{ 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 },