⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 244621 in webkit


Ignore:
Timestamp:
Apr 24, 2019, 4:05:50 PM (7 years ago)
Author:
Kocsen Chung
Message:

Revert all the previous reverts to reset the safari-607-branch versioning.

Location:
branches/safari-607-branch
Files:
4 added
4 deleted
37 edited

Legend:

Unmodified
Added
Removed
  • branches/safari-607-branch/ChangeLog

    r244607 r244621  
    1 2019-04-24  Alan Coon  <alancoon@apple.com>
    2 
    3         Revert r244173. rdar://problem/28160396
    4 
    512019-04-10  Alan Coon  <alancoon@apple.com>
    62
  • branches/safari-607-branch/JSTests/ChangeLog

    r244608 r244621  
    1 2019-04-24  Alan Coon  <alancoon@apple.com>
    2 
    3         Revert r244122. rdar://problem/50132675
    4 
    512019-04-09  Alan Coon  <alancoon@apple.com>
    62
  • branches/safari-607-branch/LayoutTests/ChangeLog

    r244607 r244621  
    1 2019-04-24  Alan Coon  <alancoon@apple.com>
    2 
    3         Revert r244173. rdar://problem/28160396
    4 
    5 2019-04-24  Alan Coon  <alancoon@apple.com>
    6 
    7         Revert r244174. rdar://problem/28160396
    8 
    912019-04-10  Alan Coon  <alancoon@apple.com>
    102
  • branches/safari-607-branch/LayoutTests/platform/gtk/TestExpectations

    r244607 r244621  
    31593159webkit.org/b/160248 fast/text/combining-mark-paint.html [ ImageOnlyFailure ]
    31603160webkit.org/b/160248 fast/text/synthetic-bold-transformed.html [ ImageOnlyFailure ]
    3161 webkit.org/b/160248 fast/text/trailing-word.html [ ImageOnlyFailure ]
     3161webkit.org/b/160248 fast/text/trailing-word-detection.html [ Failure ]
    31623162
    31633163webkit.org/b/160249 fast/shrink-wrap/rect-shrink-wrap.html [ ImageOnlyFailure ]
  • branches/safari-607-branch/LayoutTests/platform/win/TestExpectations

    r244607 r244621  
    30013001fast/text/combining-mark-paint.html [ ImageOnlyFailure ]
    30023002fast/text/synthetic-bold-transformed.html [ ImageOnlyFailure ]
    3003 fast/text/trailing-word.html [ ImageOnlyFailure ]
     3003fast/text/trailing-word-detection.html [ Failure ]
    30043004
    30053005# TestRunner::addChromeInputField() and focusWebView() not implemented
  • branches/safari-607-branch/PerformanceTests/ChangeLog

    r244606 r244621  
    1 2019-04-24  Alan Coon  <alancoon@apple.com>
    2 
    3         Revert r244174. rdar://problem/28160396
    4 
    512019-04-10  Alan Coon  <alancoon@apple.com>
    62
  • branches/safari-607-branch/PerformanceTests/MotionMark/resources/debug-runner/motionmark.css

    r244606 r244621  
    210210    color: hsl(11, 72%, 50%);
    211211    margin-bottom: 1em;
    212     -apple-trailing-word: -apple-partially-balanced;
    213212}
    214213
  • branches/safari-607-branch/Source/JavaScriptCore/ChangeLog

    r244608 r244621  
    1 2019-04-24  Alan Coon  <alancoon@apple.com>
    2 
    3         Revert r244122. rdar://problem/50132675
    4 
    5 2019-04-24  Alan Coon  <alancoon@apple.com>
    6 
    7         Revert r244173. rdar://problem/28160396
    8 
    9 2019-04-24  Alan Coon  <alancoon@apple.com>
    10 
    11         Revert r244174. rdar://problem/28160396
    12 
    1312019-04-10  Alan Coon  <alancoon@apple.com>
    142
  • branches/safari-607-branch/Source/JavaScriptCore/Configurations/Version.xcconfig

    r244605 r244621  
    2323
    2424MAJOR_VERSION = 607;
    25 MINOR_VERSION = 2;
    26 TINY_VERSION = 6;
     25MINOR_VERSION = 3;
     26TINY_VERSION = 1;
    2727MICRO_VERSION = 0;
    28 NANO_VERSION = 1;
    29 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
     28NANO_VERSION = 0;
     29FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
    3030
    3131// The bundle version and short version string are set based on the current build configuration, see below.
  • branches/safari-607-branch/Source/JavaScriptCore/b3/testb3.cpp

    r244608 r244621  
    1632616326
    1632716327    compileAndRun<void>(proc);
     16328}
     16329
     16330void testInfiniteLoopDoesntCauseBadHoisting()
     16331{
     16332    Procedure proc;
     16333    if (proc.optLevel() < 2)
     16334        return;
     16335    BasicBlock* root = proc.addBlock();
     16336    BasicBlock* header = proc.addBlock();
     16337    BasicBlock* loadBlock = proc.addBlock();
     16338    BasicBlock* postLoadBlock = proc.addBlock();
     16339
     16340    Value* arg = root->appendNew<ArgumentRegValue>(proc, Origin(), GPRInfo::argumentGPR0);
     16341    root->appendNewControlValue(proc, Jump, Origin(), header);
     16342
     16343    header->appendNewControlValue(
     16344        proc, Branch, Origin(),
     16345        header->appendNew<Value>(proc, Equal, Origin(),
     16346            arg,
     16347            header->appendNew<Const64Value>(proc, Origin(), 10)), header, loadBlock);
     16348
     16349    PatchpointValue* patchpoint = loadBlock->appendNew<PatchpointValue>(proc, Void, Origin());
     16350    patchpoint->effects = Effects::none();
     16351    patchpoint->effects.writesLocalState = true; // Don't DCE this.
     16352    patchpoint->setGenerator(
     16353        [&] (CCallHelpers& jit, const StackmapGenerationParams&) {
     16354            // This works because we don't have callee saves.
     16355            jit.emitFunctionEpilogue();
     16356            jit.ret();
     16357        });
     16358
     16359    Value* badLoad = loadBlock->appendNew<MemoryValue>(proc, Load, Int64, Origin(), arg, 0);
     16360
     16361    loadBlock->appendNewControlValue(
     16362        proc, Branch, Origin(),
     16363        loadBlock->appendNew<Value>(proc, Equal, Origin(),
     16364            badLoad,
     16365            loadBlock->appendNew<Const64Value>(proc, Origin(), 45)), header, postLoadBlock);
     16366
     16367    postLoadBlock->appendNewControlValue(proc, Return, Origin(), badLoad);
     16368
     16369    // The patchpoint early ret() works because we don't have callee saves.
     16370    auto code = compileProc(proc);
     16371    RELEASE_ASSERT(!proc.calleeSaveRegisterAtOffsetList().size());
     16372    invoke<void>(*code, static_cast<uint64_t>(55)); // Shouldn't crash dereferncing 55.
    1632816373}
    1632916374
     
    1789917944    RUN(testLoopWithMultipleHeaderEdges());
    1790017945
     17946    RUN(testInfiniteLoopDoesntCauseBadHoisting());
     17947
    1790117948    if (isX86()) {
    1790217949        RUN(testBranchBitAndImmFusion(Identity, Int64, 1, Air::BranchTest32, Air::Arg::Tmp));
  • branches/safari-607-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig

    r244605 r244621  
    2323
    2424MAJOR_VERSION = 607;
    25 MINOR_VERSION = 2;
    26 TINY_VERSION = 6;
     25MINOR_VERSION = 3;
     26TINY_VERSION = 1;
    2727MICRO_VERSION = 0;
    28 NANO_VERSION = 1;
    29 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
     28NANO_VERSION = 0;
     29FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
    3030
    3131// The bundle version and short version string are set based on the current build configuration, see below.
  • branches/safari-607-branch/Source/WTF/ChangeLog

    r244608 r244621  
    1 2019-04-24  Alan Coon  <alancoon@apple.com>
    2 
    3         Revert r244122. rdar://problem/50132675
    4 
    512019-04-09  Alan Coon  <alancoon@apple.com>
    62
  • branches/safari-607-branch/Source/WTF/WTF.xcodeproj/project.pbxproj

    r244608 r244621  
    389389                70ECA60B1B02426800449739 /* SymbolImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SymbolImpl.h; sourceTree = "<group>"; };
    390390                70ECA60C1B02426800449739 /* UniquedStringImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UniquedStringImpl.h; sourceTree = "<group>"; };
     391                79038E05224B05A7004C0738 /* SpanningTree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpanningTree.h; sourceTree = "<group>"; };
    391392                7936D6A91C99F8AE000D1AED /* SmallPtrSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SmallPtrSet.h; sourceTree = "<group>"; };
    392393                793BFADD9CED44B8B9FBCA16 /* StdUnorderedMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StdUnorderedMap.h; sourceTree = "<group>"; };
     
    10781079                                7936D6A91C99F8AE000D1AED /* SmallPtrSet.h */,
    10791080                                A30D412D1F0DE13F00B71954 /* SoftLinking.h */,
     1081                                79038E05224B05A7004C0738 /* SpanningTree.h */,
    10801082                                A8A4730D151A825B004123FF /* Spectrum.h */,
    10811083                                A8A4730E151A825B004123FF /* StackBounds.cpp */,
  • branches/safari-607-branch/Source/WTF/wtf/BackwardsGraph.h

    r244608 r244621  
    11/*
    2  * Copyright (C) 2016 Apple Inc. All rights reserved.
     2 * Copyright (C) 2016-2019 Apple Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    3030#include <wtf/Noncopyable.h>
    3131#include <wtf/SingleRootGraph.h>
     32#include <wtf/SpanningTree.h>
    3233#include <wtf/StdLibExtras.h>
    3334
     
    5758            }
    5859        };
     60
     61        {
     62            // Loops are a form of terminality (you can loop forever). To have a loop, you need to
     63            // have a back edge. An edge u->v is a back edge when u is a descendent of v in the
     64            // DFS spanning tree of the Graph.
     65            SpanningTree<Graph> spanningTree(graph);
     66            for (unsigned i = 0; i < graph.numNodes(); ++i) {
     67                if (typename Graph::Node node = graph.node(i)) {
     68                    for (typename Graph::Node successor : graph.successors(node)) {
     69                        if (spanningTree.isDescendent(node, successor)) {
     70                            addRootSuccessor(node);
     71                            break;
     72                        }
     73                    }
     74                }
     75            }
     76        }
    5977
    6078        for (unsigned i = 0; i < graph.numNodes(); ++i) {
  • branches/safari-607-branch/Source/WebCore/ChangeLog

    r244609 r244621  
    1 2019-04-24  Alan Coon  <alancoon@apple.com>
    2 
    3         Revert r244120. rdar://problem/50132675
    4 
    5 2019-04-24  Alan Coon  <alancoon@apple.com>
    6 
    7         Revert r244173. rdar://problem/28160396
    8 
    9 2019-04-24  Alan Coon  <alancoon@apple.com>
    10 
    11         Revert r244174. rdar://problem/28160396
    12 
    1312019-04-10  Alan Coon  <alancoon@apple.com>
    142
  • branches/safari-607-branch/Source/WebCore/Configurations/Version.xcconfig

    r244605 r244621  
    2323
    2424MAJOR_VERSION = 607;
    25 MINOR_VERSION = 2;
    26 TINY_VERSION = 6;
     25MINOR_VERSION = 3;
     26TINY_VERSION = 1;
    2727MICRO_VERSION = 0;
    28 NANO_VERSION = 1;
    29 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
     28NANO_VERSION = 0;
     29FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
    3030
    3131// The bundle version and short version string are set based on the current build configuration, see below.
  • branches/safari-607-branch/Source/WebCore/PAL/ChangeLog

    r244607 r244621  
    1 2019-04-24  Alan Coon  <alancoon@apple.com>
    2 
    3         Revert r244173. rdar://problem/28160396
    4 
    5 2019-04-24  Alan Coon  <alancoon@apple.com>
    6 
    7         Revert r244174. rdar://problem/28160396
    8 
    912019-04-10  Alan Coon  <alancoon@apple.com>
    102
  • branches/safari-607-branch/Source/WebCore/PAL/Configurations/Version.xcconfig

    r244605 r244621  
    2323
    2424MAJOR_VERSION = 607;
    25 MINOR_VERSION = 2;
    26 TINY_VERSION = 6;
     25MINOR_VERSION = 3;
     26TINY_VERSION = 1;
    2727MICRO_VERSION = 0;
    28 NANO_VERSION = 1;
    29 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
     28NANO_VERSION = 0;
     29FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
    3030
    3131// The bundle version and short version string are set based on the current build configuration, see below.
  • branches/safari-607-branch/Source/WebCore/css/CSSProperties.json

    r244607 r244621  
    67106710                "enable-if": "ENABLE_CSS_TRAILING_WORD"
    67116711            },
    6712             "status": "non-standard"
     6712            "status": {
     6713                "status": "non-standard",
     6714                "comment": "Needed for feature-detecting the Safari browser. Implementation has no effect."
     6715            }
    67136716        },
    67146717        "-apple-pay-button-style": {
  • branches/safari-607-branch/Source/WebCore/page/DOMWindow.cpp

    r244609 r244621  
    489489    if (m_performance)
    490490        m_performance->clearResourceTimings();
     491
     492    JSDOMWindowBase::fireFrameClearedWatchpointsForWindow(this);
     493    InspectorInstrumentation::frameWindowDiscarded(*frame(), this);
    491494}
    492495
  • branches/safari-607-branch/Source/WebCore/rendering/SimpleLineLayout.cpp

    r244607 r244621  
    241241    if (style.nbspMode() != NBSPMode::Normal)
    242242        SET_REASON_AND_RETURN_IF_NEEDED(FlowHasWebKitNBSPMode, reasons, includeReasons);
    243 #if ENABLE(CSS_TRAILING_WORD)
    244     if (style.trailingWord() != TrailingWord::Auto)
    245         SET_REASON_AND_RETURN_IF_NEEDED(FlowHasNonAutoTrailingWord, reasons, includeReasons);
    246 #endif
    247243    if (style.hyphens() == Hyphens::Auto) {
    248244        auto textReasons = canUseForText(style.hyphenString(), style.fontCascade(), WTF::nullopt, false, includeReasons);
  • branches/safari-607-branch/Source/WebCore/rendering/SimpleLineLayoutCoverage.cpp

    r244607 r244621  
    136136        stream << "line-break is not auto";
    137137        break;
    138     case FlowHasNonAutoTrailingWord:
    139         stream << "-apple-trailing-word is not auto";
    140         break;
    141138    case FlowHasSVGFont:
    142139        stream << "SVG font";
  • branches/safari-607-branch/Source/WebCore/rendering/SimpleLineLayoutCoverage.h

    r244607 r244621  
    6767    FlowHasBorderFitLines                 = 1LLU  << 29,
    6868    FlowHasNonAutoLineBreak               = 1LLU  << 30,
    69     FlowHasNonAutoTrailingWord            = 1LLU  << 31,
    7069    FlowHasSVGFont                        = 1LLU  << 32,
    7170    FlowTextIsEmpty                       = 1LLU  << 33,
  • branches/safari-607-branch/Source/WebCore/rendering/line/BreakingContext.h

    r244607 r244621  
    9898        , m_resolver(resolver)
    9999        , m_current(resolver.position())
    100 #if ENABLE(CSS_TRAILING_WORD)
    101         , m_lineBreakHistory(InlineIterator(resolver.position()), block.style().trailingWord() == TrailingWord::PartiallyBalanced ? 5 : 1)
    102 #else
    103         , m_lineBreakHistory(InlineIterator(resolver.position()), 1)
    104 #endif
     100        , m_lineBreak(resolver.position())
    105101        , m_block(block)
    106102        , m_lastObject(m_current.renderer())
     
    135131
    136132    RenderObject* currentObject() { return m_current.renderer(); }
    137     InlineIterator lineBreak() { return m_lineBreakHistory.current(); }
     133    InlineIterator lineBreak() { return m_lineBreak; }
    138134    LineWidth& lineWidth() { return m_width; }
    139135    bool atEnd() { return m_atEnd; }
     
    154150    void commitAndUpdateLineBreakIfNeeded();
    155151    InlineIterator handleEndOfLine();
    156 #if ENABLE(CSS_TRAILING_WORD)
    157     InlineIterator optimalLineBreakLocationForTrailingWord();
    158 #endif
    159152   
    160153    float computeAdditionalBetweenWordsWidth(RenderText&, TextLayout*, UChar, WordTrailingSpace&, HashSet<const Font*>& fallbackFonts, WordMeasurements&, const FontCascade&, bool isFixedPitch, unsigned lastSpace, float lastSpaceWordSpacing, float wordSpacingForWordMeasurement, unsigned offset);
     
    163156    {
    164157        if (m_width.fitsOnLine(ignoringTrailingSpace) || m_lastWS == WhiteSpace::NoWrap || m_hangsAtEnd)
    165             m_lineBreakHistory.clear();
     158            m_lineBreak.clear();
    166159        m_hangsAtEnd = false;
    167160    }
     
    170163    {
    171164        m_width.commit();
    172         m_lineBreakHistory.clear();
     165        m_lineBreak.clear();
    173166        m_hangsAtEnd = false;
    174167    }
     
    177170    {
    178171        m_width.commit();
    179         m_lineBreakHistory.moveTo(object, offset, nextBreak);
     172        m_lineBreak.moveTo(object, offset, nextBreak);
    180173        m_hangsAtEnd = false;
    181174    }
    182175
    183176private:
    184     // This class keeps a sliding window of the past n locations for an InlineIterator.
    185     class InlineIteratorHistory : private Vector<InlineIterator, 1> {
    186     public:
    187         InlineIteratorHistory() = delete;
    188         InlineIteratorHistory(const InlineIterator& initial, size_t capacity)
    189             : m_capacity(capacity)
    190         {
    191             ASSERT(capacity > 0);
    192             this->append(initial);
    193         }
    194 
    195         void push(const WTF::Function<void(InlineIterator& modifyMe)>& updater)
    196         {
    197             ASSERT(!this->isEmpty());
    198             if (m_capacity != 1)
    199                 this->insert(0, InlineIterator(this->at(0)));
    200             updater(this->at(0));
    201             if (m_capacity != 1)
    202                 this->resize(m_capacity);
    203         }
    204 
    205         void update(const WTF::Function<void(InlineIterator& modifyMe)>& updater)
    206         {
    207             ASSERT(!this->isEmpty());
    208             updater(this->at(0));
    209         }
    210 
    211         RenderObject* renderer() const { return this->at(0).renderer(); }
    212         unsigned offset() const { return this->at(0).offset(); }
    213         Optional<unsigned> nextBreakablePosition() const { return this->at(0).nextBreakablePosition(); }
    214         bool atTextParagraphSeparator() const { return this->at(0).atTextParagraphSeparator(); }
    215         UChar previousInSameNode() const { return this->at(0).previousInSameNode(); }
    216         const InlineIterator& get(size_t i) const { return this->at(i); };
    217         const InlineIterator& current() const { return get(0); }
    218         size_t historyLength() const { return this->size(); }
    219 
    220         void moveTo(RenderObject& object, unsigned offset, Optional<unsigned> nextBreak = WTF::nullopt)
    221         {
    222             push([&](InlineIterator& modifyMe) {
    223                 modifyMe.moveTo(object, offset, nextBreak);
    224             });
    225         }
    226 
    227         void increment()
    228         {
    229             update([](InlineIterator& modifyMe) {
    230                 modifyMe.increment();
    231             });
    232         }
    233 
    234         void clear()
    235         {
    236             push([](InlineIterator& modifyMe) {
    237                 modifyMe.clear();
    238             });
    239         }
    240 
    241     private:
    242         const size_t m_capacity;
    243     };
    244 
    245177    LineBreaker& m_lineBreaker;
    246178    InlineBidiResolver& m_resolver;
    247179
    248180    InlineIterator m_current;
    249     InlineIteratorHistory m_lineBreakHistory;
     181    InlineIterator m_lineBreak;
    250182    InlineIterator m_startOfIgnoredSpaces;
    251183
     
    343275    if (fitsOnLineOrHangsAtEnd()) {
    344276        RenderObject& br = *m_current.renderer();
    345         m_lineBreakHistory.push([&](InlineIterator& modifyMe) {
    346             modifyMe.moveToStartOf(br);
    347             modifyMe.increment();
    348         });
     277        m_lineBreak.moveToStartOf(br);
     278        m_lineBreak.increment();
    349279
    350280        // A <br> always breaks a line, so don't let the line be collapsed
     
    465395    if (m_floatsFitOnLine && m_width.fitsOnLineExcludingTrailingWhitespace(m_block.logicalWidthForFloat(floatingObject))) {
    466396        m_lineBreaker.positionNewFloatOnLine(floatingObject, m_lastFloatFromPreviousLine, m_lineInfo, m_width);
    467         if (m_lineBreakHistory.renderer() == m_current.renderer()) {
    468             ASSERT(!m_lineBreakHistory.offset());
    469             m_lineBreakHistory.increment();
     397        if (m_lineBreak.renderer() == m_current.renderer()) {
     398            ASSERT(!m_lineBreak.offset());
     399            m_lineBreak.increment();
    470400        }
    471401    } else
     
    753683        combineRenderer.combineTextIfNeeded();
    754684        // The length of the renderer's text may have changed. Increment stale iterator positions
    755         if (iteratorIsBeyondEndOfRenderCombineText(m_lineBreakHistory.current(), combineRenderer)) {
     685        if (iteratorIsBeyondEndOfRenderCombineText(m_lineBreak, combineRenderer)) {
    756686            ASSERT(iteratorIsBeyondEndOfRenderCombineText(m_resolver.position(), combineRenderer));
    757             m_lineBreakHistory.increment();
     687            m_lineBreak.increment();
    758688            m_resolver.increment();
    759689        }
     
    921851                    if (!m_width.fitsOnLineIncludingExtraWidth(charWidth)) {
    922852                        lineWasTooWide = true;
    923                         m_lineBreakHistory.push([&](InlineIterator& modifyMe) {
    924                             modifyMe.moveTo(renderObject, m_current.offset(), m_current.nextBreakablePosition());
    925                             m_lineBreaker.skipTrailingWhitespace(modifyMe, m_lineInfo);
    926                         });
     853                        m_lineBreak.moveTo(renderObject, m_current.offset(), m_current.nextBreakablePosition());
     854                        m_lineBreaker.skipTrailingWhitespace(m_lineBreak, m_lineInfo);
    927855                    }
    928856                }
     
    932860                    // bad so just don't allow it.
    933861                    if (canHyphenate && !m_width.fitsOnLine() && (m_nextObject || !renderText.containsOnlyHTMLWhitespace(m_current.offset(), renderText.text().length() - m_current.offset()) || isLineEmpty)) {
    934                         m_lineBreakHistory.push([&](InlineIterator& modifyMe) {
    935                             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);
    936                         });
     862                        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);
    937863                        if (m_lineBreaker.m_hyphenated) {
    938864                            m_atEnd = true;
     
    940866                        }
    941867                    }
    942                     if (m_lineBreakHistory.atTextParagraphSeparator()) {
     868                    if (m_lineBreak.atTextParagraphSeparator()) {
    943869                        if (!stoppedIgnoringSpaces && m_current.offset() > 0)
    944870                            ensureCharacterGetsLineBox(m_lineWhitespaceCollapsingState, m_current);
    945                         m_lineBreakHistory.increment();
     871                        m_lineBreak.increment();
    946872                        m_lineInfo.setPreviousLineBrokeCleanly(true);
    947                         wordMeasurement.endOffset = m_lineBreakHistory.offset();
     873                        wordMeasurement.endOffset = m_lineBreak.offset();
    948874                    }
    949875                    // Check if the last breaking position is a soft-hyphen.
     
    951877                        Optional<unsigned> lastBreakingPositon;
    952878                        const RenderObject* rendererAtBreakingPosition = nullptr;
    953                         if (m_lineBreakHistory.offset() || m_lineBreakHistory.nextBreakablePosition()) {
    954                             lastBreakingPositon = m_lineBreakHistory.offset();
    955                             rendererAtBreakingPosition = m_lineBreakHistory.renderer();
     879                        if (m_lineBreak.offset() || m_lineBreak.nextBreakablePosition()) {
     880                            lastBreakingPositon = m_lineBreak.offset();
     881                            rendererAtBreakingPosition = m_lineBreak.renderer();
    956882                        } else if (m_current.nextBreakablePosition() && m_current.nextBreakablePosition().value() <= m_current.offset()) {
    957883                            // We might just be right after the soft-hyphen
     
    974900                        }
    975901                    }
    976                     if (m_lineBreakHistory.offset() && m_lineBreakHistory.offset() != (unsigned)wordMeasurement.endOffset && !wordMeasurement.width) {
     902                    if (m_lineBreak.offset() && m_lineBreak.offset() != (unsigned)wordMeasurement.endOffset && !wordMeasurement.width) {
    977903                        if (charWidth) {
    978                             wordMeasurement.endOffset = m_lineBreakHistory.offset();
     904                            wordMeasurement.endOffset = m_lineBreak.offset();
    979905                            wordMeasurement.width = charWidth;
    980906                        }
     
    1000926                    ensureCharacterGetsLineBox(m_lineWhitespaceCollapsingState, m_current);
    1001927                commitLineBreakAtCurrentWidth(renderObject, m_current.offset(), m_current.nextBreakablePosition());
    1002                 m_lineBreakHistory.increment();
     928                m_lineBreak.increment();
    1003929                m_lineInfo.setPreviousLineBrokeCleanly(true);
    1004930                return true;
     
    1017943                // Remember this as a breakable position in case
    1018944                // adding the end width forces a break.
    1019                 m_lineBreakHistory.moveTo(renderObject, m_current.offset(), m_current.nextBreakablePosition());
     945                m_lineBreak.moveTo(renderObject, m_current.offset(), m_current.nextBreakablePosition());
    1020946                midWordBreak &= (breakWords || breakAll);
    1021947            }
     
    10821008        if (!m_currentCharacterIsWS && previousCharacterIsWS) {
    10831009            if (m_autoWrap && m_currentStyle->breakOnlyAfterWhiteSpace())
    1084                 m_lineBreakHistory.moveTo(renderObject, m_current.offset(), m_current.nextBreakablePosition());
     1010                m_lineBreak.moveTo(renderObject, m_current.offset(), m_current.nextBreakablePosition());
    10851011        }
    10861012
     
    11251051        // no more content, and a hyphenated single word would end up on a line by itself. This looks
    11261052        // bad so just don't allow it.
    1127         if (canHyphenate && (m_nextObject || isLineEmpty)) {
    1128             m_lineBreakHistory.push([&](InlineIterator& modifyMe) {
    1129                 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);
    1130             });
    1131         }
    1132 
    1133         if (!hyphenated && m_lineBreakHistory.previousInSameNode() == softHyphen && style.hyphens() != Hyphens::None) {
     1053        if (canHyphenate && (m_nextObject || isLineEmpty))
     1054            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);
     1055
     1056        if (!hyphenated && m_lineBreak.previousInSameNode() == softHyphen && style.hyphens() != Hyphens::None) {
    11341057            hyphenated = true;
    11351058            m_atEnd = true;
     
    12551178inline InlineIterator BreakingContext::handleEndOfLine()
    12561179{
    1257     if (m_lineBreakHistory.current() == m_resolver.position()) {
    1258         if (!m_lineBreakHistory.renderer() || !m_lineBreakHistory.renderer()->isBR()) {
     1180    if (m_lineBreak == m_resolver.position()) {
     1181        if (!m_lineBreak.renderer() || !m_lineBreak.renderer()->isBR()) {
    12591182            // we just add as much as possible
    12601183            if (m_blockStyle.whiteSpace() == WhiteSpace::Pre && !m_current.offset()) {
     
    12631186                else
    12641187                    commitLineBreakClear();
    1265             }
    1266             else if (m_lineBreakHistory.renderer()) {
     1188            } else if (m_lineBreak.renderer()) {
    12671189                // Don't ever break in the middle of a word if we can help it.
    12681190                // There's no room at all. We just have to be on this line,
     
    12721194        }
    12731195        // make sure we consume at least one char/object.
    1274         if (m_lineBreakHistory.current() == m_resolver.position())
    1275             m_lineBreakHistory.increment();
     1196        if (m_lineBreak == m_resolver.position())
     1197            m_lineBreak.increment();
    12761198    } else if (!m_current.offset() && !m_width.committedWidth() && m_width.uncommittedWidth() && !m_hadUncommittedWidthBeforeCurrent) {
    12771199        // Do not push the current object to the next line, when this line has some content, but it is still considered empty.
     
    12791201        // at the start of a line, if no width has been committed yet.
    12801202        // Behave as if it was actually empty and consume at least one object.
    1281         m_lineBreakHistory.increment();
     1203        m_lineBreak.increment();
    12821204    }
    12831205
    12841206    // Sanity check our whitespace collapsing transitions.
    1285     TrailingObjects::CollapseFirstSpaceOrNot collapsed = checkWhitespaceCollapsingTransitions(m_lineWhitespaceCollapsingState, m_lineBreakHistory.current());
    1286 
    1287     m_trailingObjects.updateWhitespaceCollapsingTransitionsForTrailingBoxes(m_lineWhitespaceCollapsingState, m_lineBreakHistory.current(), collapsed);
     1207    TrailingObjects::CollapseFirstSpaceOrNot collapsed = checkWhitespaceCollapsingTransitions(m_lineWhitespaceCollapsingState, m_lineBreak);
     1208
     1209    m_trailingObjects.updateWhitespaceCollapsingTransitionsForTrailingBoxes(m_lineWhitespaceCollapsingState, m_lineBreak, collapsed);
    12881210
    12891211    // We might have made lineBreak an iterator that points past the end
     
    12911213    // of the next object instead to avoid confusing the rest of the
    12921214    // code.
    1293     if (m_lineBreakHistory.offset()) {
    1294         m_lineBreakHistory.update([](InlineIterator& modifyMe) {
    1295             modifyMe.setOffset(modifyMe.offset() - 1);
    1296             modifyMe.increment();
    1297         });
    1298     }
    1299 
    1300 #if ENABLE(CSS_TRAILING_WORD)
    1301     if (m_blockStyle.trailingWord() == TrailingWord::PartiallyBalanced)
    1302         return optimalLineBreakLocationForTrailingWord();
    1303 #endif
    1304     return m_lineBreakHistory.current();
    1305 }
    1306 
    1307 #if ENABLE(CSS_TRAILING_WORD)
    1308 inline InlineIterator BreakingContext::optimalLineBreakLocationForTrailingWord()
    1309 {
    1310     const unsigned longTrailingWordLength = 20;
    1311     const float optimalTrailingLineRatio = 0.1;
    1312     InlineIterator lineBreak = m_lineBreakHistory.current();
    1313     if (!lineBreak.renderer() || !m_lineInfo.isFirstLine() || bidiNextSkippingEmptyInlines(*lineBreak.root(), lineBreak.renderer()) || !is<RenderText>(lineBreak.renderer()))
    1314         return lineBreak;
    1315     RenderText& renderText = downcast<RenderText>(*lineBreak.renderer());
    1316     // Don't even bother measuring if our remaining line has many characters
    1317     if (renderText.text().length() == lineBreak.offset() || renderText.text().length() - lineBreak.offset() > longTrailingWordLength)
    1318         return lineBreak;
    1319     bool canUseLineBreakShortcut = m_renderTextInfo.lineBreakIterator.mode() == LineBreakIteratorMode::Default;
    1320     bool breakNBSP = m_autoWrap && m_currentStyle->nbspMode() == NBSPMode::Space;
    1321     Optional<unsigned> nextBreakablePosition = lineBreak.nextBreakablePosition();
    1322     isBreakable(m_renderTextInfo.lineBreakIterator, lineBreak.offset() + 1, nextBreakablePosition, breakNBSP, canUseLineBreakShortcut, m_currentStyle->wordBreak() == WordBreak::KeepAll);
    1323     if (!nextBreakablePosition || nextBreakablePosition.value() != renderText.text().length())
    1324         return lineBreak;
    1325     const RenderStyle& style = lineStyle(renderText, m_lineInfo);
    1326     const FontCascade& font = style.fontCascade();
    1327     HashSet<const Font*> dummyFonts;
    1328     InlineIterator best = lineBreak;
    1329     for (size_t i = 1; i < m_lineBreakHistory.historyLength(); ++i) {
    1330         const InlineIterator& candidate = m_lineBreakHistory.get(i);
    1331         if (candidate.renderer() != lineBreak.renderer())
    1332             return best;
    1333         float width = textWidth(renderText, candidate.offset(), renderText.text().length() - candidate.offset(), font, 0, font.isFixedPitch(), m_collapseWhiteSpace, dummyFonts);
    1334         if (width > m_width.availableWidth())
    1335             return best;
    1336         if (width / m_width.availableWidth() > optimalTrailingLineRatio) // Subsequent line is long enough
    1337             return candidate;
    1338         best = candidate;
    1339     }
    1340     return best;
    1341 }
    1342 #endif
    1343 
    1344 }
     1215    if (m_lineBreak.offset()) {
     1216        m_lineBreak.setOffset(m_lineBreak.offset() - 1);
     1217        m_lineBreak.increment();
     1218    }
     1219
     1220    return m_lineBreak;
     1221}
     1222
     1223}
  • branches/safari-607-branch/Source/WebCore/rendering/style/RenderStyle.h

    r244607 r244621  
    800800
    801801#if ENABLE(CSS_TRAILING_WORD)
    802     TrailingWord trailingWord() const { return static_cast<TrailingWord>(m_rareInheritedData->trailingWord); }
     802    TrailingWord trailingWord() const { return TrailingWord::Auto; }
    803803#endif
    804804
     
    12601260
    12611261#if ENABLE(CSS_TRAILING_WORD)
    1262     void setTrailingWord(TrailingWord v) { SET_VAR(m_rareInheritedData, trailingWord, static_cast<unsigned>(v)); }
     1262    void setTrailingWord(TrailingWord) { }
    12631263#endif
    12641264
  • branches/safari-607-branch/Source/WebCore/rendering/style/StyleRareInheritedData.cpp

    r244607 r244621  
    131131#if PLATFORM(IOS_FAMILY)
    132132    , touchCalloutEnabled(RenderStyle::initialTouchCalloutEnabled())
    133 #endif
    134 #if ENABLE(CSS_TRAILING_WORD)
    135     , trailingWord(static_cast<unsigned>(RenderStyle::initialTrailingWord()))
    136133#endif
    137134    , hangingPunctuation(RenderStyle::initialHangingPunctuation().toRaw())
     
    230227    , touchCalloutEnabled(o.touchCalloutEnabled)
    231228#endif
    232 #if ENABLE(CSS_TRAILING_WORD)
    233     , trailingWord(o.trailingWord)
    234 #endif
    235229    , hangingPunctuation(o.hangingPunctuation)
    236230    , paintOrder(o.paintOrder)
     
    355349        && lineSnap == o.lineSnap
    356350        && lineAlign == o.lineAlign
    357 #if ENABLE(CSS_TRAILING_WORD)
    358         && trailingWord == o.trailingWord
    359 #endif
    360351        && hangingPunctuation == o.hangingPunctuation
    361352        && paintOrder == o.paintOrder
  • branches/safari-607-branch/Source/WebCore/rendering/style/StyleRareInheritedData.h

    r244607 r244621  
    146146#endif
    147147
    148 #if ENABLE(CSS_TRAILING_WORD)
    149     unsigned trailingWord : 1;
    150 #endif
    151 
    152148    unsigned hangingPunctuation : 4;
    153149
  • branches/safari-607-branch/Source/WebInspectorUI/ChangeLog

    r244607 r244621  
    1 2019-04-24  Alan Coon  <alancoon@apple.com>
    2 
    3         Revert r244173. rdar://problem/28160396
    4 
    512019-04-10  Alan Coon  <alancoon@apple.com>
    62
  • branches/safari-607-branch/Source/WebInspectorUI/Configurations/Version.xcconfig

    r244605 r244621  
    11MAJOR_VERSION = 607;
    2 MINOR_VERSION = 2;
    3 TINY_VERSION = 6;
     2MINOR_VERSION = 3;
     3TINY_VERSION = 1;
    44MICRO_VERSION = 0;
    5 NANO_VERSION = 1;
    6 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
     5NANO_VERSION = 0;
     6FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
    77
    88// The system version prefix is based on the current system version.
  • branches/safari-607-branch/Source/WebInspectorUI/UserInterface/Models/CSSKeywordCompletions.js

    r244607 r244621  
    156156    // Compatibility (iOS 12): `inherited` didn't exist on `CSSPropertyInfo`
    157157    "-apple-color-filter",
    158     "-apple-trailing-word",
    159158    "-webkit-animation-trigger",
    160159    "-webkit-aspect-ratio",
     
    788787        "plain", "buy", "set-up", "donate", "check-out", "book", "subscribe",
    789788    ],
    790     "-apple-trailing-word": [
    791         "auto", "-webkit-partially-balanced",
    792     ],
    793789    "-webkit-alt": [
    794790        "attr()",
  • branches/safari-607-branch/Source/WebKit/ChangeLog

    r244607 r244621  
    1 2019-04-24  Alan Coon  <alancoon@apple.com>
    2 
    3         Revert r244173. rdar://problem/28160396
    4 
    5 2019-04-24  Alan Coon  <alancoon@apple.com>
    6 
    7         Revert r244174. rdar://problem/28160396
    8 
    912019-04-19  Kocsen Chung  <kocsen_chung@apple.com>
    102
  • branches/safari-607-branch/Source/WebKit/Configurations/Version.xcconfig

    r244605 r244621  
    2323
    2424MAJOR_VERSION = 607;
    25 MINOR_VERSION = 2;
    26 TINY_VERSION = 6;
     25MINOR_VERSION = 3;
     26TINY_VERSION = 1;
    2727MICRO_VERSION = 0;
    28 NANO_VERSION = 1;
    29 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
     28NANO_VERSION = 0;
     29FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
    3030
    3131// The bundle version and short version string are set based on the current build configuration, see below.
  • branches/safari-607-branch/Source/WebKitLegacy/mac/ChangeLog

    r244607 r244621  
    1 2019-04-24  Alan Coon  <alancoon@apple.com>
    2 
    3         Revert r244173. rdar://problem/28160396
    4 
    5 2019-04-24  Alan Coon  <alancoon@apple.com>
    6 
    7         Revert r244174. rdar://problem/28160396
    8 
    912019-04-10  Alan Coon  <alancoon@apple.com>
    102
  • branches/safari-607-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig

    r244605 r244621  
    2323
    2424MAJOR_VERSION = 607;
    25 MINOR_VERSION = 2;
    26 TINY_VERSION = 6;
     25MINOR_VERSION = 3;
     26TINY_VERSION = 1;
    2727MICRO_VERSION = 0;
    28 NANO_VERSION = 1;
    29 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
     28NANO_VERSION = 0;
     29FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
    3030
    3131// The bundle version and short version string are set based on the current build configuration, see below.
  • branches/safari-607-branch/Source/cmake/WebKitFeatures.cmake

    r244607 r244621  
    109109    WEBKIT_OPTION_DEFINE(ENABLE_CSS_SCROLL_SNAP "Toggle CSS snap scroll support" PRIVATE OFF)
    110110    WEBKIT_OPTION_DEFINE(ENABLE_CSS_SELECTORS_LEVEL4 "Toggle CSS Selectors Level 4 support" PRIVATE ON)
    111     WEBKIT_OPTION_DEFINE(ENABLE_CSS_TRAILING_WORD "Toggle CSS trailing word support" PRIVATE OFF)
    112111    WEBKIT_OPTION_DEFINE(ENABLE_CURSOR_VISIBILITY "Toggle cursor visibility support" PRIVATE OFF)
    113112    WEBKIT_OPTION_DEFINE(ENABLE_CUSTOM_SCHEME_HANDLER "Toggle Custom Scheme Handler support" PRIVATE OFF)
  • branches/safari-607-branch/Tools/ChangeLog

    r244607 r244621  
    1 2019-04-24  Alan Coon  <alancoon@apple.com>
    2 
    3         Revert r244173. rdar://problem/28160396
    4 
    5 2019-04-24  Alan Coon  <alancoon@apple.com>
    6 
    7         Revert r244174. rdar://problem/28160396
    8 
    912019-04-17  Ryan Haddad  <ryanhaddad@apple.com>
    102
  • branches/safari-607-branch/Tools/Scripts/webkitperl/FeatureList.pm

    r244607 r244621  
    263263      define => "ENABLE_CSS_SELECTORS_LEVEL4", value => \$cssSelectorsLevel4Support },
    264264
    265     { option => "css-trailing-word", desc => "Toggle CSS trailing word support",
    266       define => "ENABLE_CSS_TRAILING_WORD", value => \$cssTrailingWordSupport },
    267 
    268265    { option => "cursor-visibility", desc => "Toggle cursor visibility support",
    269266      define => "ENABLE_CURSOR_VISIBILITY", value => \$cursorVisibilitySupport },
Note: See TracChangeset for help on using the changeset viewer.