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

Changeset 243573 in webkit


Ignore:
Timestamp:
Mar 27, 2019, 4:43:41 PM (7 years ago)
Author:
Alan Coon
Message:

Cherry-pick r242919. rdar://problem/49307949

Use RenderBox::previousSiblingBox/nextSiblingBox in RenderMultiColumnFlow
https://bugs.webkit.org/show_bug.cgi?id=195701
<rdar://problem/48448658>

Reviewed by Simon Fraser.

Source/WebCore:

It's safer to use existing RenderBox functions to get sibling boxes.

Test: fast/ruby/crash-when-paginated-ruby.html

  • rendering/RenderMultiColumnFlow.cpp: (WebCore::RenderMultiColumnFlow::nextColumnSetOrSpannerSiblingOf): (WebCore::RenderMultiColumnFlow::previousColumnSetOrSpannerSiblingOf):

LayoutTests:

  • fast/ruby/crash-when-paginated-ruby-expected.txt: Added.
  • fast/ruby/crash-when-paginated-ruby.html: Added.

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

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

Legend:

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

    r243572 r243573  
     12019-03-27  Alan Coon  <alancoon@apple.com>
     2
     3        Cherry-pick r242919. rdar://problem/49307949
     4
     5    Use RenderBox::previousSiblingBox/nextSiblingBox in RenderMultiColumnFlow
     6    https://bugs.webkit.org/show_bug.cgi?id=195701
     7    <rdar://problem/48448658>
     8   
     9    Reviewed by Simon Fraser.
     10   
     11    Source/WebCore:
     12   
     13    It's safer to use existing RenderBox functions to get sibling boxes.
     14   
     15    Test: fast/ruby/crash-when-paginated-ruby.html
     16   
     17    * rendering/RenderMultiColumnFlow.cpp:
     18    (WebCore::RenderMultiColumnFlow::nextColumnSetOrSpannerSiblingOf):
     19    (WebCore::RenderMultiColumnFlow::previousColumnSetOrSpannerSiblingOf):
     20   
     21    LayoutTests:
     22   
     23    * fast/ruby/crash-when-paginated-ruby-expected.txt: Added.
     24    * fast/ruby/crash-when-paginated-ruby.html: Added.
     25   
     26    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242919 268f45cc-cd09-0410-ab3c-d52691b4dbfc
     27
     28    2019-03-13  Zalan Bujtas  <zalan@apple.com>
     29
     30            Use RenderBox::previousSiblingBox/nextSiblingBox in RenderMultiColumnFlow
     31            https://bugs.webkit.org/show_bug.cgi?id=195701
     32            <rdar://problem/48448658>
     33
     34            Reviewed by Simon Fraser.
     35
     36            * fast/ruby/crash-when-paginated-ruby-expected.txt: Added.
     37            * fast/ruby/crash-when-paginated-ruby.html: Added.
     38
    1392019-03-27  Alan Coon  <alancoon@apple.com>
    240
  • branches/safari-607-branch/LayoutTests/platform/mac/TestExpectations

    r240573 r243573  
    151151# Asserts in debug.
    152152[ Debug ] fast/images/large-size-image-crash.html [ Skip ]
     153[ Debug ] fast/ruby/crash-when-paginated-ruby.html [ Skip ]
    153154
    154155webkit.org/b/188061 [ Debug ] webgl/2.0.0/conformance2/glsl3/compound-assignment-type-combination.html [ Slow ]
  • branches/safari-607-branch/Source/WebCore/ChangeLog

    r243572 r243573  
     12019-03-27  Alan Coon  <alancoon@apple.com>
     2
     3        Cherry-pick r242919. rdar://problem/49307949
     4
     5    Use RenderBox::previousSiblingBox/nextSiblingBox in RenderMultiColumnFlow
     6    https://bugs.webkit.org/show_bug.cgi?id=195701
     7    <rdar://problem/48448658>
     8   
     9    Reviewed by Simon Fraser.
     10   
     11    Source/WebCore:
     12   
     13    It's safer to use existing RenderBox functions to get sibling boxes.
     14   
     15    Test: fast/ruby/crash-when-paginated-ruby.html
     16   
     17    * rendering/RenderMultiColumnFlow.cpp:
     18    (WebCore::RenderMultiColumnFlow::nextColumnSetOrSpannerSiblingOf):
     19    (WebCore::RenderMultiColumnFlow::previousColumnSetOrSpannerSiblingOf):
     20   
     21    LayoutTests:
     22   
     23    * fast/ruby/crash-when-paginated-ruby-expected.txt: Added.
     24    * fast/ruby/crash-when-paginated-ruby.html: Added.
     25   
     26    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242919 268f45cc-cd09-0410-ab3c-d52691b4dbfc
     27
     28    2019-03-13  Zalan Bujtas  <zalan@apple.com>
     29
     30            Use RenderBox::previousSiblingBox/nextSiblingBox in RenderMultiColumnFlow
     31            https://bugs.webkit.org/show_bug.cgi?id=195701
     32            <rdar://problem/48448658>
     33
     34            Reviewed by Simon Fraser.
     35
     36            It's safer to use existing RenderBox functions to get sibling boxes.
     37
     38            Test: fast/ruby/crash-when-paginated-ruby.html
     39
     40            * rendering/RenderMultiColumnFlow.cpp:
     41            (WebCore::RenderMultiColumnFlow::nextColumnSetOrSpannerSiblingOf):
     42            (WebCore::RenderMultiColumnFlow::previousColumnSetOrSpannerSiblingOf):
     43
    1442019-03-27  Alan Coon  <alancoon@apple.com>
    245
  • branches/safari-607-branch/Source/WebCore/rendering/RenderMultiColumnFlow.cpp

    r238963 r243573  
    9494RenderBox* RenderMultiColumnFlow::nextColumnSetOrSpannerSiblingOf(const RenderBox* child)
    9595{
     96    return child ? child->nextSiblingBox() : nullptr;
     97}
     98
     99RenderBox* RenderMultiColumnFlow::previousColumnSetOrSpannerSiblingOf(const RenderBox* child)
     100{
    96101    if (!child)
    97102        return nullptr;
    98     if (RenderObject* sibling = child->nextSibling())
    99         return downcast<RenderBox>(sibling);
    100     return nullptr;
    101 }
    102 
    103 RenderBox* RenderMultiColumnFlow::previousColumnSetOrSpannerSiblingOf(const RenderBox* child)
    104 {
    105     if (!child)
    106         return nullptr;
    107     if (RenderObject* sibling = child->previousSibling()) {
    108         if (is<RenderFragmentedFlow>(*sibling))
    109             return nullptr;
    110         return downcast<RenderBox>(sibling);
     103    if (auto* sibling = child->previousSiblingBox()) {
     104        if (!is<RenderFragmentedFlow>(*sibling))
     105            return sibling;
    111106    }
    112107    return nullptr;
Note: See TracChangeset for help on using the changeset viewer.