Unreviewed, rolling out r235516.
authortsavell@apple.com <tsavell@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 30 Aug 2018 20:54:35 +0000 (20:54 +0000)
committertsavell@apple.com <tsavell@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 30 Aug 2018 20:54:35 +0000 (20:54 +0000)
Caused 50 Crashes on Sierra

Reverted changeset:

"The width of a nullptr TextRun should be zero"
https://bugs.webkit.org/show_bug.cgi?id=189154
https://trac.webkit.org/changeset/235516

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235523 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/fast/text/null-string-textrun-expected.txt [deleted file]
LayoutTests/fast/text/null-string-textrun.html [deleted file]
Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/FontCascade.cpp

index 728d7c4..34abd26 100644 (file)
@@ -1,3 +1,15 @@
+2018-08-30  Truitt Savell  <tsavell@apple.com>
+
+        Unreviewed, rolling out r235516.
+
+        Caused 50 Crashes on Sierra
+
+        Reverted changeset:
+
+        "The width of a nullptr TextRun should be zero"
+        https://bugs.webkit.org/show_bug.cgi?id=189154
+        https://trac.webkit.org/changeset/235516
+
 2018-08-30  Youenn Fablet  <youenn@apple.com>
 
         Remove WebRTC legacy API implementation
diff --git a/LayoutTests/fast/text/null-string-textrun-expected.txt b/LayoutTests/fast/text/null-string-textrun-expected.txt
deleted file mode 100644 (file)
index 99d8c89..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-This test confirms that a null text run doesn't trigger a crash. It passes if it loads without crashing.
-
-        
-        
-    
-
diff --git a/LayoutTests/fast/text/null-string-textrun.html b/LayoutTests/fast/text/null-string-textrun.html
deleted file mode 100644 (file)
index b145900..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<!doctype html>
-<head>
-<script>
-if (window.testRunner)
-    testRunner.dumpAsText();
-</script>
-<head>
-<body>
-    <p>This test confirms that a null text run doesn't trigger a crash. It passes if it loads without crashing.</p>
-    <pre id="pre_tag" dir="RTL" >
-        <style onload="pre_tag.appendChild(meter_tag)"/></style>
-        <select multiple="multiple">
-            <optgroup/>
-        </select>
-    </pre>
-    <label>
-        <meter id="meter_tag">
-    </label>
-</body>
\ No newline at end of file
index 489c454..399eb49 100644 (file)
@@ -1,3 +1,15 @@
+2018-08-30  Truitt Savell  <tsavell@apple.com>
+
+        Unreviewed, rolling out r235516.
+
+        Caused 50 Crashes on Sierra
+
+        Reverted changeset:
+
+        "The width of a nullptr TextRun should be zero"
+        https://bugs.webkit.org/show_bug.cgi?id=189154
+        https://trac.webkit.org/changeset/235516
+
 2018-08-30  Tim Horton  <timothy_horton@apple.com>
 
         Bundle unified sources more tightly in projects with deep directory structures
index 2fbd006..7648f5b 100644 (file)
@@ -341,9 +341,6 @@ float FontCascade::widthOfTextRange(const TextRun& run, unsigned from, unsigned
     ASSERT(from <= to);
     ASSERT(to <= run.length());
 
-    if (!run.length())
-        return 0;
-
     float offsetBeforeRange = 0;
     float offsetAfterRange = 0;
     float totalWidth = 0;
@@ -388,9 +385,6 @@ float FontCascade::widthOfTextRange(const TextRun& run, unsigned from, unsigned
 
 float FontCascade::width(const TextRun& run, HashSet<const Font*>* fallbackFonts, GlyphOverflow* glyphOverflow) const
 {
-    if (!run.length())
-        return 0;
-
     CodePath codePathToUse = codePath(run);
     if (codePathToUse != Complex) {
         // The complex path is more restrictive about returning fallback fonts than the simple path, so we need an explicit test to make their behaviors match.
@@ -610,8 +604,6 @@ FontCascade::CodePath FontCascade::codePath(const TextRun& run, std::optional<un
     if (s_codePath != Auto)
         return s_codePath;
 
-    ASSERT(run.length());
-
 #if !USE(FREETYPE)
     // FIXME: Use the fast code path once it handles partial runs with kerning and ligatures. See http://webkit.org/b/100050
     if ((enableKerning() || requiresShaping()) && (from.value_or(0) || to.value_or(run.length()) != run.length()))