Changeset 125600 in webkit


Ignore:
Timestamp:
Aug 14, 2012 1:53:09 PM (12 years ago)
Author:
commit-queue@webkit.org
Message:

[CSSRegions]regionOverset is computed as "overset" even though the region is not the last in the chain
https://bugs.webkit.org/show_bug.cgi?id=93102

Patch by Andrei Onea <onea@adobe.com> on 2012-08-14
Reviewed by Eric Seidel.

Source/WebCore:

Making Element.webkitRegionOverset return "overset" only for the last region in a region chain,
if the content cannot fit inside it, to reflect current spec. http://www.w3.org/TR/css3-regions/#dom-region-regionoverset

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::computeOverflowStateForRegions):

LayoutTests:

Modified existing tests to reflect spec, where Element.webkitRegionOverset can be
"overset" only for the last region in a region chain, if the content cannot fit inside it.

  • fast/regions/element-region-overset-state-expected.txt:
  • fast/regions/element-region-overset-state-vertical-rl-expected.txt:
  • fast/regions/element-region-overset-state-vertical-rl.html:
  • fast/regions/element-region-overset-state.html:
Location:
trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r125597 r125600  
     12012-08-14  Andrei Onea  <onea@adobe.com>
     2
     3        [CSSRegions]regionOverset is computed as "overset" even though the region is not the last in the chain
     4        https://bugs.webkit.org/show_bug.cgi?id=93102
     5
     6        Reviewed by Eric Seidel.
     7
     8        Modified existing tests to reflect spec, where Element.webkitRegionOverset can be
     9        "overset" only for the last region in a region chain, if the content cannot fit inside it.
     10
     11        * fast/regions/element-region-overset-state-expected.txt:
     12        * fast/regions/element-region-overset-state-vertical-rl-expected.txt:
     13        * fast/regions/element-region-overset-state-vertical-rl.html:
     14        * fast/regions/element-region-overset-state.html:
     15
    1162012-08-13  Adrienne Walker  <enne@google.com>
    217
  • trunk/LayoutTests/fast/regions/element-region-overset-state-expected.txt

    r124771 r125600  
    88PASS regionOverset('region_3') is "empty"
    99Flow content
    10 PASS regionOverset('region_1') is "overset"
     10PASS regionOverset('region_1') is "fit"
    1111PASS regionOverset('region_2') is "fit"
    1212PASS regionOverset('region_3') is "empty"
    1313Add more content
    14 PASS regionOverset('region_1') is "overset"
    15 PASS regionOverset('region_2') is "overset"
     14PASS regionOverset('region_1') is "fit"
     15PASS regionOverset('region_2') is "fit"
    1616PASS regionOverset('region_3') is "fit"
    1717Add visual overflow
    18 PASS regionOverset('region_1') is "overset"
    19 PASS regionOverset('region_2') is "overset"
     18PASS regionOverset('region_1') is "fit"
     19PASS regionOverset('region_2') is "fit"
    2020PASS regionOverset('region_3') is "overset"
    2121Empty content
  • trunk/LayoutTests/fast/regions/element-region-overset-state-vertical-rl-expected.txt

    r124771 r125600  
    88PASS regionOverset('region_3') is "empty"
    99Flow content
    10 PASS regionOverset('region_1') is "overset"
     10PASS regionOverset('region_1') is "fit"
    1111PASS regionOverset('region_2') is "fit"
    1212PASS regionOverset('region_3') is "empty"
    1313Add more content
    14 PASS regionOverset('region_1') is "overset"
    15 PASS regionOverset('region_2') is "overset"
     14PASS regionOverset('region_1') is "fit"
     15PASS regionOverset('region_2') is "fit"
    1616PASS regionOverset('region_3') is "fit"
    1717Add visual overflow
    18 PASS regionOverset('region_1') is "overset"
    19 PASS regionOverset('region_2') is "overset"
     18PASS regionOverset('region_1') is "fit"
     19PASS regionOverset('region_2') is "fit"
    2020PASS regionOverset('region_3') is "overset"
    2121Empty content
  • trunk/LayoutTests/fast/regions/element-region-overset-state-vertical-rl.html

    r124771 r125600  
    7777        flowContent("article");
    7878
    79         shouldBeEqualToString("regionOverset('region_1')", "overset");
     79        shouldBeEqualToString("regionOverset('region_1')", "fit");
    8080        shouldBeEqualToString("regionOverset('region_2')", "fit");
    8181        shouldBeEqualToString("regionOverset('region_3')", "empty");
     
    8484        addMoreContent();
    8585
    86         shouldBeEqualToString("regionOverset('region_1')", "overset");
    87         shouldBeEqualToString("regionOverset('region_2')", "overset");
     86        shouldBeEqualToString("regionOverset('region_1')", "fit");
     87        shouldBeEqualToString("regionOverset('region_2')", "fit");
    8888        shouldBeEqualToString("regionOverset('region_3')", "fit");
    8989
     
    9191        addVisualOverflow();
    9292
    93         shouldBeEqualToString("regionOverset('region_1')", "overset");
    94         shouldBeEqualToString("regionOverset('region_2')", "overset");
     93        shouldBeEqualToString("regionOverset('region_1')", "fit");
     94        shouldBeEqualToString("regionOverset('region_2')", "fit");
    9595        shouldBeEqualToString("regionOverset('region_3')", "overset");
    9696
  • trunk/LayoutTests/fast/regions/element-region-overset-state.html

    r124771 r125600  
    7070        flowContent("article");
    7171
    72         shouldBeEqualToString("regionOverset('region_1')", "overset");
     72        shouldBeEqualToString("regionOverset('region_1')", "fit");
    7373        shouldBeEqualToString("regionOverset('region_2')", "fit");
    7474        shouldBeEqualToString("regionOverset('region_3')", "empty");
     
    7777        addMoreContent();
    7878
    79         shouldBeEqualToString("regionOverset('region_1')", "overset");
    80         shouldBeEqualToString("regionOverset('region_2')", "overset");
     79        shouldBeEqualToString("regionOverset('region_1')", "fit");
     80        shouldBeEqualToString("regionOverset('region_2')", "fit");
    8181        shouldBeEqualToString("regionOverset('region_3')", "fit");
    8282
     
    8484        addVisualOverflow();
    8585
    86         shouldBeEqualToString("regionOverset('region_1')", "overset");
    87         shouldBeEqualToString("regionOverset('region_2')", "overset");
     86        shouldBeEqualToString("regionOverset('region_1')", "fit");
     87        shouldBeEqualToString("regionOverset('region_2')", "fit");
    8888        shouldBeEqualToString("regionOverset('region_3')", "overset");
    8989
  • trunk/Source/WebCore/ChangeLog

    r125599 r125600  
     12012-08-14  Andrei Onea  <onea@adobe.com>
     2
     3        [CSSRegions]regionOverset is computed as "overset" even though the region is not the last in the chain
     4        https://bugs.webkit.org/show_bug.cgi?id=93102
     5
     6        Reviewed by Eric Seidel.
     7
     8        Making Element.webkitRegionOverset return "overset" only for the last region in a region chain,
     9        if the content cannot fit inside it, to reflect current spec. http://www.w3.org/TR/css3-regions/#dom-region-regionoverset
     10
     11        * rendering/RenderFlowThread.cpp:
     12        (WebCore::RenderFlowThread::computeOverflowStateForRegions):
     13
    1142012-08-14  Jan Keromnes  <janx@linux.com>
    215
  • trunk/Source/WebCore/rendering/RenderFlowThread.cpp

    r124771 r125600  
    682682        height = isHorizontalWritingMode() ? visualOverflowRect().maxY() : visualOverflowRect().maxX();
    683683
     684    RenderRegion* lastReg = lastRegion();
    684685    for (RenderRegionList::iterator iter = m_regionList.begin(); iter != m_regionList.end(); ++iter) {
    685686        RenderRegion* region = *iter;
     
    694695        if (flowMin <= 0)
    695696            state = RenderRegion::RegionEmpty;
    696         if (flowMax > 0)
     697        if (flowMax > 0 && region == lastReg)
    697698            state = RenderRegion::RegionOverset;
    698699        region->setRegionState(state);
     
    708709    // With the regions overflow state computed we can also set the overset flag for the named flow.
    709710    // If there are no valid regions in the chain, overset is true
    710     RenderRegion* lastReg = lastRegion();
    711711    m_overset = lastReg ? lastReg->regionState() == RenderRegion::RegionOverset : true;
    712712}
Note: See TracChangeset for help on using the changeset viewer.