Changeset 214126 in webkit


Ignore:
Timestamp:
Mar 17, 2017 2:59:33 PM (7 years ago)
Author:
hyatt@apple.com
Message:

Disable per-region boxes for multicolumn
https://bugs.webkit.org/show_bug.cgi?id=169830

Reviewed by Zalan Bujtas.

Source/WebCore:

Test: fast/multicol/float-adjacent-to-overflow-block.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::determineLogicalLeftPositionForChild):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::borderBoxRectInRegion):
(WebCore::RenderBox::renderBoxRegionInfo):
Limit all of the per-region box code to RenderNamedFlowThreads.
This code should never be used by multicolumn layout.

LayoutTests:

  • fast/multicol/float-adjacent-to-overflow-block-expected.html: Added.
  • fast/multicol/float-adjacent-to-overflow-block.html: Added.
Location:
trunk
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r214122 r214126  
     12017-03-17  Dave Hyatt  <hyatt@apple.com>
     2
     3        Disable per-region boxes for multicolumn
     4        https://bugs.webkit.org/show_bug.cgi?id=169830
     5
     6        Reviewed by Zalan Bujtas.
     7
     8        * fast/multicol/float-adjacent-to-overflow-block-expected.html: Added.
     9        * fast/multicol/float-adjacent-to-overflow-block.html: Added.
     10
    1112017-03-17  Jiewen Tan  <jiewen_tan@apple.com>
    212
  • trunk/Source/WebCore/ChangeLog

    r214125 r214126  
     12017-03-17  Dave Hyatt  <hyatt@apple.com>
     2
     3        Disable per-region boxes for multicolumn
     4        https://bugs.webkit.org/show_bug.cgi?id=169830
     5
     6        Reviewed by Zalan Bujtas.
     7
     8        Test: fast/multicol/float-adjacent-to-overflow-block.html
     9
     10        * rendering/RenderBlockFlow.cpp:
     11        (WebCore::RenderBlockFlow::determineLogicalLeftPositionForChild):
     12        * rendering/RenderBox.cpp:
     13        (WebCore::RenderBox::borderBoxRectInRegion):
     14        (WebCore::RenderBox::renderBoxRegionInfo):
     15        Limit all of the per-region box code to RenderNamedFlowThreads.
     16        This code should never be used by multicolumn layout.
     17
    1182017-03-17  Said Abou-Hallawa  <sabouhallawa@apple.com>
    219
  • trunk/Source/WebCore/rendering/RenderBlockFlow.cpp

    r214110 r214126  
    3737#include "Logging.h"
    3838#include "RenderCombineText.h"
    39 #include "RenderFlowThread.h"
    4039#include "RenderInline.h"
    4140#include "RenderIterator.h"
     
    4746#include "RenderMultiColumnSet.h"
    4847#include "RenderNamedFlowFragment.h"
     48#include "RenderNamedFlowThread.h"
    4949#include "RenderTableCell.h"
    5050#include "RenderText.h"
     
    877877    // Some objects (e.g., tables, horizontal rules, overflow:auto blocks) avoid floats. They need
    878878    // to shift over as necessary to dodge any floats that might get in the way.
    879     if (child.avoidsFloats() && containsFloats() && !flowThreadContainingBlock())
     879    if (child.avoidsFloats() && containsFloats() && !is<RenderNamedFlowThread>(flowThreadContainingBlock()))
    880880        newPosition += computeStartPositionDeltaForChildAvoidingFloats(child, marginStartForChild(child));
    881881
  • trunk/Source/WebCore/rendering/RenderBox.cpp

    r214110 r214126  
    212212        return borderBoxRect();
    213213
    214     RenderFlowThread* flowThread = flowThreadContainingBlock();
    215     if (!flowThread)
     214    auto* flowThread = flowThreadContainingBlock();
     215    if (!is<RenderNamedFlowThread>(flowThread))
    216216        return borderBoxRect();
    217217
     
    27302730    // support to cover all boxes.
    27312731    RenderFlowThread* flowThread = flowThreadContainingBlock();
    2732     if (isRenderFlowThread() || !flowThread || !canHaveBoxInfoInRegion() || flowThread->style().writingMode() != style().writingMode())
     2732    if (isRenderFlowThread() || !is<RenderNamedFlowThread>(flowThread) || !canHaveBoxInfoInRegion() || flowThread->style().writingMode() != style().writingMode())
    27332733        return nullptr;
    27342734
Note: See TracChangeset for help on using the changeset viewer.