From 0f0602301d47ac60614c549301c9181401b6cc23 Mon Sep 17 00:00:00 2001 From: "hyatt@apple.com" Date: Sat, 1 Oct 2011 03:07:46 +0000 Subject: [PATCH] https://bugs.webkit.org/show_bug.cgi?id=69202 [CSS3 Regions] Make positioned objects use the first region as the ICB when it is their containing block. Make sure static distance computations take into account the current region as well. Reviewed by Sam Weinig. Source/WebCore: Added new tests in fast/regions. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::adjustPositionedBlock): * rendering/RenderBlock.h: (WebCore::RenderBlock::startOffsetForContent): * rendering/RenderBox.cpp: (WebCore::RenderBox::containingBlockLogicalWidthForPositioned): (WebCore::RenderBox::containingBlockLogicalHeightForPositioned): (WebCore::computeInlineStaticDistance): (WebCore::computeLogicalLeftPositionedOffset): (WebCore::computeLogicalTopPositionedOffset): * rendering/RenderFlowThread.cpp: (WebCore::RenderFlowThread::contentLogicalWidthOfFirstRegion): (WebCore::RenderFlowThread::contentLogicalHeightOfFirstRegion): (WebCore::RenderFlowThread::contentLogicalLeftOfFirstRegion): * rendering/RenderFlowThread.h: LayoutTests: * fast/regions/positioned-objects-block-static-in-regions.html: Added. * fast/regions/positioned-objects-block-static-in-rtl-regions.html: Added. * fast/regions/positioned-objects-in-regions.html: Added. * fast/regions/positioned-objects-in-rtl-regions.html: Added. * fast/regions/positioned-objects-inline-static-in-regions.html: Added. * fast/regions/positioned-objects-inline-static-in-rtl-regions.html: Added. * fast/regions/positioned-objects-perpendicular-flows-in-regions.html: Added. * platform/mac/fast/regions/positioned-objects-block-static-in-regions-expected.png: Added. * platform/mac/fast/regions/positioned-objects-block-static-in-regions-expected.txt: Added. * platform/mac/fast/regions/positioned-objects-block-static-in-rtl-regions-expected.png: Added. * platform/mac/fast/regions/positioned-objects-block-static-in-rtl-regions-expected.txt: Added. * platform/mac/fast/regions/positioned-objects-in-regions-expected.png: Added. * platform/mac/fast/regions/positioned-objects-in-regions-expected.txt: Added. * platform/mac/fast/regions/positioned-objects-in-rtl-regions-expected.png: Added. * platform/mac/fast/regions/positioned-objects-in-rtl-regions-expected.txt: Added. * platform/mac/fast/regions/positioned-objects-inline-static-in-regions-expected.png: Added. * platform/mac/fast/regions/positioned-objects-inline-static-in-regions-expected.txt: Added. * platform/mac/fast/regions/positioned-objects-inline-static-in-rtl-regions-expected.png: Added. * platform/mac/fast/regions/positioned-objects-inline-static-in-rtl-regions-expected.txt: Added. * platform/mac/fast/regions/positioned-objects-perpendicular-flows-in-regions-expected.png: Added. * platform/mac/fast/regions/positioned-objects-perpendicular-flows-in-regions-expected.txt: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96452 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- LayoutTests/ChangeLog | 32 +++++++++++ ...positioned-objects-block-static-in-regions.html | 59 ++++++++++++++++++++ ...tioned-objects-block-static-in-rtl-regions.html | 61 ++++++++++++++++++++ .../regions/positioned-objects-in-regions.html | 60 ++++++++++++++++++++ .../regions/positioned-objects-in-rtl-regions.html | 61 ++++++++++++++++++++ ...ositioned-objects-inline-static-in-regions.html | 59 ++++++++++++++++++++ ...ioned-objects-inline-static-in-rtl-regions.html | 60 ++++++++++++++++++++ ...ned-objects-perpendicular-flows-in-regions.html | 62 +++++++++++++++++++++ ...ed-objects-block-static-in-regions-expected.png | Bin 0 -> 20632 bytes ...ed-objects-block-static-in-regions-expected.txt | 26 +++++++++ ...bjects-block-static-in-rtl-regions-expected.png | Bin 0 -> 20584 bytes ...bjects-block-static-in-rtl-regions-expected.txt | 27 +++++++++ .../positioned-objects-in-regions-expected.png | Bin 0 -> 18903 bytes .../positioned-objects-in-regions-expected.txt | 25 +++++++++ .../positioned-objects-in-rtl-regions-expected.png | Bin 0 -> 19296 bytes .../positioned-objects-in-rtl-regions-expected.txt | 25 +++++++++ ...d-objects-inline-static-in-regions-expected.png | Bin 0 -> 20636 bytes ...d-objects-inline-static-in-regions-expected.txt | 25 +++++++++ ...jects-inline-static-in-rtl-regions-expected.png | Bin 0 -> 20898 bytes ...jects-inline-static-in-rtl-regions-expected.txt | 25 +++++++++ ...cts-perpendicular-flows-in-regions-expected.png | Bin 0 -> 19196 bytes ...cts-perpendicular-flows-in-regions-expected.txt | 25 +++++++++ Source/WebCore/ChangeLog | 28 ++++++++++ Source/WebCore/rendering/RenderBlock.cpp | 2 +- Source/WebCore/rendering/RenderBlock.h | 3 +- Source/WebCore/rendering/RenderBlockLineLayout.cpp | 6 +- Source/WebCore/rendering/RenderBox.cpp | 39 ++++++++++++- Source/WebCore/rendering/RenderFlowThread.cpp | 42 ++++++++++++++ Source/WebCore/rendering/RenderFlowThread.h | 4 ++ 29 files changed, 748 insertions(+), 8 deletions(-) create mode 100644 LayoutTests/fast/regions/positioned-objects-block-static-in-regions.html create mode 100644 LayoutTests/fast/regions/positioned-objects-block-static-in-rtl-regions.html create mode 100644 LayoutTests/fast/regions/positioned-objects-in-regions.html create mode 100644 LayoutTests/fast/regions/positioned-objects-in-rtl-regions.html create mode 100644 LayoutTests/fast/regions/positioned-objects-inline-static-in-regions.html create mode 100644 LayoutTests/fast/regions/positioned-objects-inline-static-in-rtl-regions.html create mode 100644 LayoutTests/fast/regions/positioned-objects-perpendicular-flows-in-regions.html create mode 100644 LayoutTests/platform/mac/fast/regions/positioned-objects-block-static-in-regions-expected.png create mode 100644 LayoutTests/platform/mac/fast/regions/positioned-objects-block-static-in-regions-expected.txt create mode 100644 LayoutTests/platform/mac/fast/regions/positioned-objects-block-static-in-rtl-regions-expected.png create mode 100644 LayoutTests/platform/mac/fast/regions/positioned-objects-block-static-in-rtl-regions-expected.txt create mode 100644 LayoutTests/platform/mac/fast/regions/positioned-objects-in-regions-expected.png create mode 100644 LayoutTests/platform/mac/fast/regions/positioned-objects-in-regions-expected.txt create mode 100644 LayoutTests/platform/mac/fast/regions/positioned-objects-in-rtl-regions-expected.png create mode 100644 LayoutTests/platform/mac/fast/regions/positioned-objects-in-rtl-regions-expected.txt create mode 100644 LayoutTests/platform/mac/fast/regions/positioned-objects-inline-static-in-regions-expected.png create mode 100644 LayoutTests/platform/mac/fast/regions/positioned-objects-inline-static-in-regions-expected.txt create mode 100644 LayoutTests/platform/mac/fast/regions/positioned-objects-inline-static-in-rtl-regions-expected.png create mode 100644 LayoutTests/platform/mac/fast/regions/positioned-objects-inline-static-in-rtl-regions-expected.txt create mode 100644 LayoutTests/platform/mac/fast/regions/positioned-objects-perpendicular-flows-in-regions-expected.png create mode 100644 LayoutTests/platform/mac/fast/regions/positioned-objects-perpendicular-flows-in-regions-expected.txt diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog index bfd2656..2a66524 100644 --- a/LayoutTests/ChangeLog +++ b/LayoutTests/ChangeLog @@ -1,3 +1,35 @@ +2011-09-30 David Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=69202 + + [CSS3 Regions] Make positioned objects use the first region as the ICB when it + is their containing block. Make sure static distance computations take into + account the current region as well. + + Reviewed by Sam Weinig. + + * fast/regions/positioned-objects-block-static-in-regions.html: Added. + * fast/regions/positioned-objects-block-static-in-rtl-regions.html: Added. + * fast/regions/positioned-objects-in-regions.html: Added. + * fast/regions/positioned-objects-in-rtl-regions.html: Added. + * fast/regions/positioned-objects-inline-static-in-regions.html: Added. + * fast/regions/positioned-objects-inline-static-in-rtl-regions.html: Added. + * fast/regions/positioned-objects-perpendicular-flows-in-regions.html: Added. + * platform/mac/fast/regions/positioned-objects-block-static-in-regions-expected.png: Added. + * platform/mac/fast/regions/positioned-objects-block-static-in-regions-expected.txt: Added. + * platform/mac/fast/regions/positioned-objects-block-static-in-rtl-regions-expected.png: Added. + * platform/mac/fast/regions/positioned-objects-block-static-in-rtl-regions-expected.txt: Added. + * platform/mac/fast/regions/positioned-objects-in-regions-expected.png: Added. + * platform/mac/fast/regions/positioned-objects-in-regions-expected.txt: Added. + * platform/mac/fast/regions/positioned-objects-in-rtl-regions-expected.png: Added. + * platform/mac/fast/regions/positioned-objects-in-rtl-regions-expected.txt: Added. + * platform/mac/fast/regions/positioned-objects-inline-static-in-regions-expected.png: Added. + * platform/mac/fast/regions/positioned-objects-inline-static-in-regions-expected.txt: Added. + * platform/mac/fast/regions/positioned-objects-inline-static-in-rtl-regions-expected.png: Added. + * platform/mac/fast/regions/positioned-objects-inline-static-in-rtl-regions-expected.txt: Added. + * platform/mac/fast/regions/positioned-objects-perpendicular-flows-in-regions-expected.png: Added. + * platform/mac/fast/regions/positioned-objects-perpendicular-flows-in-regions-expected.txt: Added. + 2011-09-30 David Barr Implement currentColor support for CSS gradients diff --git a/LayoutTests/fast/regions/positioned-objects-block-static-in-regions.html b/LayoutTests/fast/regions/positioned-objects-block-static-in-regions.html new file mode 100644 index 0000000..b7c6080 --- /dev/null +++ b/LayoutTests/fast/regions/positioned-objects-block-static-in-regions.html @@ -0,0 +1,59 @@ + + + + + +

The green positioned object should only be as tall as the first region it +is contained in. It should be centered in the first region, and no red +should be visible.

+ +
+
+
+
+ +
+
+
+ +
+
+
+
+
diff --git a/LayoutTests/fast/regions/positioned-objects-block-static-in-rtl-regions.html b/LayoutTests/fast/regions/positioned-objects-block-static-in-rtl-regions.html new file mode 100644 index 0000000..2fc76f9 --- /dev/null +++ b/LayoutTests/fast/regions/positioned-objects-block-static-in-rtl-regions.html @@ -0,0 +1,61 @@ + + + + + + + +

The green positioned object should only be as tall as the first region it +is contained in. It should be centered in the first region, and no red +should be visible.

+ +
+
+
+
+ +
+
+
+ +
+
+
+
+
diff --git a/LayoutTests/fast/regions/positioned-objects-in-regions.html b/LayoutTests/fast/regions/positioned-objects-in-regions.html new file mode 100644 index 0000000..7d38670 --- /dev/null +++ b/LayoutTests/fast/regions/positioned-objects-in-regions.html @@ -0,0 +1,60 @@ + + + + + +

The green positioned object should only be as tall as the first region it +is contained in. It should fill the left half of the first region.

+ +
+
+
+ +
+
+
+ +
+
+
+
+
diff --git a/LayoutTests/fast/regions/positioned-objects-in-rtl-regions.html b/LayoutTests/fast/regions/positioned-objects-in-rtl-regions.html new file mode 100644 index 0000000..4c1481b --- /dev/null +++ b/LayoutTests/fast/regions/positioned-objects-in-rtl-regions.html @@ -0,0 +1,61 @@ + + + + + + +

The green positioned object should only be as tall as the first region it +is contained in. It should fill the right half of the first region.

+ +
+
+
+ +
+
+
+ +
+
+
+
+
diff --git a/LayoutTests/fast/regions/positioned-objects-inline-static-in-regions.html b/LayoutTests/fast/regions/positioned-objects-inline-static-in-regions.html new file mode 100644 index 0000000..9041c4c --- /dev/null +++ b/LayoutTests/fast/regions/positioned-objects-inline-static-in-regions.html @@ -0,0 +1,59 @@ + + + + + +

The green positioned object should only be as tall as the first region it +is contained in. It should fill the right half of the first region, and no red +should be visible.

+ +
+
+ + +
+
+ + +
+
+
+
+
diff --git a/LayoutTests/fast/regions/positioned-objects-inline-static-in-rtl-regions.html b/LayoutTests/fast/regions/positioned-objects-inline-static-in-rtl-regions.html new file mode 100644 index 0000000..94c3c31 --- /dev/null +++ b/LayoutTests/fast/regions/positioned-objects-inline-static-in-rtl-regions.html @@ -0,0 +1,60 @@ + + + + + + +

The green positioned object should only be as tall as the first region it +is contained in. It should fill the left half of the first region, and no red +should be visible.

+ +
+
+ + +
+
+ + +
+
+
+
+
diff --git a/LayoutTests/fast/regions/positioned-objects-perpendicular-flows-in-regions.html b/LayoutTests/fast/regions/positioned-objects-perpendicular-flows-in-regions.html new file mode 100644 index 0000000..cde5e73 --- /dev/null +++ b/LayoutTests/fast/regions/positioned-objects-perpendicular-flows-in-regions.html @@ -0,0 +1,62 @@ + + + + + + +

The green positioned object should only be as tall as the first region it +is contained in. It should fill the left half of the first region.

+ +
+
+
+ +
+
+
+ +
+
+
+
+
diff --git a/LayoutTests/platform/mac/fast/regions/positioned-objects-block-static-in-regions-expected.png b/LayoutTests/platform/mac/fast/regions/positioned-objects-block-static-in-regions-expected.png new file mode 100644 index 0000000000000000000000000000000000000000..727a925f4d0867144cf58da30713925dd20a6b52 GIT binary patch literal 20632 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 literal 0 HcmV?d00001 diff --git a/LayoutTests/platform/mac/fast/regions/positioned-objects-block-static-in-regions-expected.txt b/LayoutTests/platform/mac/fast/regions/positioned-objects-block-static-in-regions-expected.txt new file mode 100644 index 0000000..de95b99 --- /dev/null +++ b/LayoutTests/platform/mac/fast/regions/positioned-objects-block-static-in-regions-expected.txt @@ -0,0 +1,26 @@ +layer at (0,0) size 800x600 + RenderView at (0,0) size 800x600 +layer at (0,0) size 800x532 + RenderBlock {HTML} at (0,0) size 800x532 + RenderBody {BODY} at (8,16) size 784x508 + RenderBlock {P} at (0,0) size 784x36 + RenderText {#text} at (0,0) size 737x36 + text run at (0,0) width 737: "The green positioned object should only be as tall as the first region it is contained in. It should be centered in the first" + text run at (0,18) width 229: "region, and no red should be visible." + RenderBlock {DIV} at (0,52) size 784x456 + RenderRegion {DIV} at (0,0) size 202x152 [border: (1px solid #000000)] + RenderRegion {DIV} at (0,152) size 302x182 [border: (1px solid #000000)] + RenderRegion {DIV} at (0,334) size 122x122 [border: (1px solid #000000)] +Flow Threads + Thread with flow-name 'flow1' + layer at (0,0) size 300x450 + RenderFlowThread at (0,0) size 300x450 + RenderBlock {DIV} at (0,30) size 300x100 + RenderBlock {DIV} at (30,0) size 240x100 + RenderBlock {DIV} at (0,0) size 100x100 [bgcolor=#FF0000] + layer at (20,0) size 160x150 + RenderBlock (positioned) {DIV} at (20,0) size 160x150 [bgcolor=#008000] + Regions for flow 'flow1' + RenderRegion {DIV} #region1 with index 0 + RenderRegion {DIV} #region2 with index 0 + RenderRegion {DIV} #region3 with index 0 diff --git a/LayoutTests/platform/mac/fast/regions/positioned-objects-block-static-in-rtl-regions-expected.png b/LayoutTests/platform/mac/fast/regions/positioned-objects-block-static-in-rtl-regions-expected.png new file mode 100644 index 0000000000000000000000000000000000000000..aca18898df291f51afd470b4101c079d302eda60 GIT binary patch literal 20584 zcmeHvc~nyC`>ze>*l1;gr6wM8I96(wqB)ZrnazGK=dD2OB^LyPx-YKhNj+ zJkRF(0WY`ZOSG4$si`gZaNm7MO>Kd`n%aE-MZW@P^5QR^1^$>K_V^>h&YTR3jE#e- zflpdmhJ>ogn>_iw})=uvE6F>sgPfElF`5@df~3F2RvL|^$(nj zITaptQcW#k-eq4_WcPtJO8Uuys=+k7)2kLcow*r(!Uy4+Pl)s*wjcWnuKmp&TLKHr zqZ$g6tJM3_V(eOwBkE35>dX2r#U$NYPF)i+S$54}ztrGGA=V0F;_rkg*nVU5lU)^*)7eFlC$mc`Gwuc^kamqf!SzJJDy;xoRK(a)z#N{G+bmtUs7jY@NKT-LPVnaU)NJ2)`>l znU{OiRMSY;up!j9VnE`u5g5J;&a;```@$g2zA{OUPCqNg4c})Jg<{}k{2?KXqgRb zFSpbd_Z}41T;LO*ug=rK#DzRAjvlnBAHwRuo-JK;P?i$S$CL5NM;2|Vei#<9?*+nJ zZGjQYD_8PMws_T_OHtP<%&uoW3-!CBCvxEx>K0QI)aA@pK z$>y_s9YvGC+~)AF!5dz_k2Tl2za#GR;wn_|R>4{Z$f2+{<)%F&tlSY6LQHcy@{EBn z573)OTJh{-QRmZ-Ox|bA(uCsaUrRSF>3Q`4x?N38U(I9pAHE6mgiQ5s!^e)QeG5z& zGhVb{(V}Zsdt7c9wEyum=e_!(`J9w(8jyvi8j$tpHyn6+QGb3{8sdi3WnTEjv5Gaf zD~>-{bjAUSI@-~0kBvGvF)bcwq`d7X^$qWYc1#sSDW~GIhaZ3;8Q0b3&0n}^rM^oF z@Q=Fw*{2KquO9w!`2GC-)i+XlSN?kiaLRVuyv2WCI2f>M))zHbGX85EWBqwMw?%9* z_&)0QVO-{i>ilz)?}wjWE;Q6v-wWIG{YZ81g^S!>q87|L)V-Us@bk+j<=1A7y!aaI zpKHI*@WKLMZo2Dh)~@~$@>$bAdwjm;jRnO7gP#ux+?X(H>I*gYyUag#{KJvm zKSxek*bM$T^^}(v7Q4G>q|;MpS>Z-Xe#7!<8b;wK@tzs;CS1Ebe@0e0Lq~CU6desn z`Z`{-w)Wernd#0MtD@=8CR%Q(Fb-5X1l=o`VX_oKk|vPyZ1w(ft;iVCjDj`8oEEZ_ zLOK^zDyF|Qp=_&Bmddc{EZ_9vaaonPiKqU)LYqO$rA!ZTA7y(*D1ocXcjn2j)F;<4 z>}-_%qp|V;5~^M5EzFImkh?P@8hE2%h|sNMICBUcA*w2$GOdKgL|PNFit*k9f`y;= z+7J)M4oC`XcaAi##ob@5SIACPZOMksv7Z8lI! z*SiVELs(ZkS3C@|CRCa@3@&b0*)QHh*g5^S(`rS+%LP5rQ1$n%I|WY~L0BD3^wdtY z9DS*lTgnex4E>eyOVKGUJj}k4)WQ)+JNcKULD0A&~ znjTyMZ9H|V@MSGUA(U=`PQ7`0=*>F@t$}O(jMqf-v(SC{Hb{J)Ce6i6zs_wz)4$kf(NzbKWsyj$*j_R$8ae}5_B}PZ4pWKx>QfYvb%M1mDsp+21NUaNb=HgM z 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�?aesx;`%(UcBTQL4Kw z6MNgiuw~*pX10??^&kFrpYz`uhQr~A+5Wa5iR|>Qy@oznH8+5DE{uZ$`c(BQSIl9+O6s#t6BO=9544X>{vmK!s zP0Q{qz(NpR;$){$iIwu?6|dMF2U7fMlGO?tTSKNf&fLA;fD@*wi4-ZR&Uj?oLbty% zMF!LD_^l2tqAW~!0DB|#n(5>tm2~Ow49CF%uc0V%zxUkP5(+q(r)kPk%fZSooX!hC z7)-5Tkx)$a99heetz+@i&7DD_bS3sUSW=q-SHQhm74wk(J?ry{S zQtnlbrYs6ckkbl>^EA~xUkH}>T<5g zaiRBLn4Ff$BE*MOGuZo#pgO|Pm?eE^;)cUllp|kr30~p?X_I*_X6~LAEwwPcy0+u; z{TF#f>VqLCt8{dubo#ehMy09B8k(t)NE*n{`!`t}H9W}1R>*CZXv)nA$FAiYy7b~( zjfUUlX-a6PFNW3F*=ip$+jX&@ZG6aaZi=`~3%h4AaxFnHM^d~*UU6v2&G9EmUwjI` zkX|+P+^e!hl%bL|)o2NU$&aK13f7Knd;PCJu?c-y5Yl9km7PYOp~%IDW_!*Oh$ZY{ z$K;i*K{j*r!-=Ua)p0ug#Rr;Y?N-Bui%reZ20q5Or$!A)4XC*K^1w>aQsoxF^da$d zH>w4MI(yNfIm?YWda1&30Pz4gGh!f3iE9s^>uoK_#m5$W$^g%t5kKrs;+!rM#!;N? zMZ4bcp(q7s5kTgO0+MG*E@w7;F}`<=yAT4H1D&Lr!Z_xAIecMXBWAX@;~B7nr-4Nn zsy03^&y;&rmo}>hZm-H+E2ga3w7qN7hT;dP8UCS}syBgx%Z8*XpcY{^u>D)_ymWP$ zalWp-?jEn7(dEYuxW?(R_FY}qlZCdtK4qh}>FFQ>}y6`oYA!R!m@>Q`eLv;QeB zc4#h(=ZAwCg)^qy>upQF%w94kr}^tS1PUX=2%l_o13Z{^_+XSbY|Ha<%-~> z<)X(1h*H9v1C~80*}*Hf92(N#LO>#O<0ikK@)9GpDLHvD) z88!f<<4Wu*cbTL1@^scLx#{Va3DC=|7Jbu*4y8G4{|p&tYZqXyfIX4586#RZGU_s>Rvf!c(PcDVm;`*pF1Z^tSB{geR47Hktyg8*?TmyE)AeJS?ON- zV6JoA)w+7`$14jKVivE%Uab$^-aY5cuBQPD7MumxiRWOvIwx7H))4b>&RiedU9|?> zsm^mW?XTO+lE1c}pNl%l$`!7XqbE|nqW}I|02_ljmPlNxW0qL+aBj3iXykT8Z>QVe zcyUdB8MJWWo1lpEoBzSk|AQ_5pSR`ZmplIE))o)XCa;f1L60B|Xxt*L|D66x=F2l$ z;~6ug!#g1Tt1fy^1;cmo4uke59Q@trKiTJ{da2{$j{85(ko+=CbFQ%7eRIy`s#T*m z*X+3(vu~`=o@4eEt`Upon7m@US#rg}$}K-q+~UP67;~?esU3$hZCJbjA@7*J>z#ZSjJIV+*e)5Q3@876yBI)_;HK8hGWnmIxgm7~Q97$T%+uo|uUE zbNlx!WVbkP(J{B9djIf~g^Q0ZTzDw`_qhlR)6p@rThsTWU*c+};oi?4*v{dSk8UJu z%}+FMqaW46JdWmFWIl}iD1GN6?pCIQGY(Z~Djeydq{RqLInAptPc=Vm;roN7GCH?u6Ga z>{{^lk5Km?l7MTCrnWg;I=4e}YQci7JBv)_hzsqSvdQ}KoH|P9?2^SdEAGbrV8l9W zH2)9S{@1df)KhmkI*-o?Mvqg1Veo&4_ zCtbC6Y(M_Pue7dIBx~Ki*OUE&16?_@V8OEoN9Hh~#kCp=G{2#LEHZDQc?|vVsd+E^ fA0LNgYV^mHRI-u#jOLq~w0=L}^;^~c(^vlsAdT$^ literal 0 HcmV?d00001 diff --git a/LayoutTests/platform/mac/fast/regions/positioned-objects-in-regions-expected.txt b/LayoutTests/platform/mac/fast/regions/positioned-objects-in-regions-expected.txt new file mode 100644 index 0000000..b184dbb --- /dev/null +++ b/LayoutTests/platform/mac/fast/regions/positioned-objects-in-regions-expected.txt @@ -0,0 +1,25 @@ +layer at (0,0) size 800x600 + RenderView at (0,0) size 800x600 +layer at (0,0) size 800x532 + RenderBlock {HTML} at (0,0) size 800x532 + RenderBody {BODY} at (8,16) size 784x508 + RenderBlock {P} at (0,0) size 784x36 + RenderText {#text} at (0,0) size 758x36 + text run at (0,0) width 758: "The green positioned object should only be as tall as the first region it is contained in. It should fill the left half of the first" + text run at (0,18) width 44: "region." + RenderBlock {DIV} at (0,52) size 784x456 + RenderRegion {DIV} at (0,0) size 202x152 [border: (1px solid #000000)] + RenderRegion {DIV} at (0,152) size 302x182 [border: (1px solid #000000)] + RenderRegion {DIV} at (0,334) size 122x122 [border: (1px solid #000000)] +Flow Threads + Thread with flow-name 'flow1' + layer at (0,0) size 300x450 + RenderFlowThread at (0,0) size 300x450 + RenderBlock {DIV} at (0,0) size 300x39 + RenderBlock {DIV} at (34,34) size 232x0 + layer at (0,0) size 100x150 + RenderBlock (positioned) {DIV} at (0,0) size 100x150 [bgcolor=#008000] + Regions for flow 'flow1' + RenderRegion {DIV} #region1 with index 0 + RenderRegion {DIV} #region2 with index 0 + RenderRegion {DIV} #region3 with index 0 diff --git a/LayoutTests/platform/mac/fast/regions/positioned-objects-in-rtl-regions-expected.png b/LayoutTests/platform/mac/fast/regions/positioned-objects-in-rtl-regions-expected.png new file mode 100644 index 0000000000000000000000000000000000000000..5cb7bbb4f70c130c3df68d46c04fff116c42f6b8 GIT binary patch literal 19296 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 bXkN;&j?=iI1N_S@IqMVl$4ib~zWqM{1|uMG literal 0 HcmV?d00001 diff --git a/LayoutTests/platform/mac/fast/regions/positioned-objects-in-rtl-regions-expected.txt b/LayoutTests/platform/mac/fast/regions/positioned-objects-in-rtl-regions-expected.txt new file mode 100644 index 0000000..c53d531 --- /dev/null +++ b/LayoutTests/platform/mac/fast/regions/positioned-objects-in-rtl-regions-expected.txt @@ -0,0 +1,25 @@ +layer at (0,0) size 800x600 + RenderView at (0,0) size 800x600 +layer at (0,0) size 800x532 + RenderBlock {HTML} at (0,0) size 800x532 + RenderBody {BODY} at (8,16) size 784x508 + RenderBlock {P} at (0,0) size 784x36 + RenderText {#text} at (0,0) size 767x36 + text run at (0,0) width 767: "The green positioned object should only be as tall as the first region it is contained in. It should fill the right half of the first" + text run at (0,18) width 44: "region." + RenderBlock {DIV} at (0,52) size 784x456 + RenderRegion {DIV} at (582,0) size 202x152 [border: (1px solid #000000)] + RenderRegion {DIV} at (482,152) size 302x182 [border: (1px solid #000000)] + RenderRegion {DIV} at (662,334) size 122x122 [border: (1px solid #000000)] +Flow Threads + Thread with flow-name 'flow1' + layer at (0,0) size 300x450 + RenderFlowThread at (0,0) size 300x450 + RenderBlock {DIV} at (0,0) size 300x39 + RenderBlock {DIV} at (34,34) size 232x0 + layer at (200,0) size 100x150 + RenderBlock (positioned) {DIV} at (200,0) size 100x150 [bgcolor=#008000] + Regions for flow 'flow1' + RenderRegion {DIV} #region1 with index 0 + RenderRegion {DIV} #region2 with index 0 + RenderRegion {DIV} #region3 with index 0 diff --git a/LayoutTests/platform/mac/fast/regions/positioned-objects-inline-static-in-regions-expected.png b/LayoutTests/platform/mac/fast/regions/positioned-objects-inline-static-in-regions-expected.png new file mode 100644 index 0000000000000000000000000000000000000000..fd52c0f2aa88d54a073cc49552e96d557d34d582 GIT binary patch literal 20636 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 literal 0 HcmV?d00001 diff --git a/LayoutTests/platform/mac/fast/regions/positioned-objects-inline-static-in-regions-expected.txt b/LayoutTests/platform/mac/fast/regions/positioned-objects-inline-static-in-regions-expected.txt new file mode 100644 index 0000000..a536055 --- /dev/null +++ b/LayoutTests/platform/mac/fast/regions/positioned-objects-inline-static-in-regions-expected.txt @@ -0,0 +1,25 @@ +layer at (0,0) size 800x600 + RenderView at (0,0) size 800x600 +layer at (0,0) size 800x532 + RenderBlock {HTML} at (0,0) size 800x532 + RenderBody {BODY} at (8,16) size 784x508 + RenderBlock {P} at (0,0) size 784x36 + RenderText {#text} at (0,0) size 767x36 + text run at (0,0) width 767: "The green positioned object should only be as tall as the first region it is contained in. It should fill the right half of the first" + text run at (0,18) width 229: "region, and no red should be visible." + RenderBlock {DIV} at (0,52) size 784x456 + RenderRegion {DIV} at (0,0) size 202x152 [border: (1px solid #000000)] + RenderRegion {DIV} at (0,152) size 302x182 [border: (1px solid #000000)] + RenderRegion {DIV} at (0,334) size 122x122 [border: (1px solid #000000)] +Flow Threads + Thread with flow-name 'flow1' + layer at (0,0) size 300x450 + RenderFlowThread at (0,0) size 300x450 + RenderBlock {DIV} at (0,30) size 300x0 + RenderBlock {DIV} at (30,0) size 240x0 + layer at (100,0) size 100x150 + RenderBlock (positioned) {SPAN} at (100,0) size 100x150 [bgcolor=#008000] + Regions for flow 'flow1' + RenderRegion {DIV} #region1 with index 0 + RenderRegion {DIV} #region2 with index 0 + RenderRegion {DIV} #region3 with index 0 diff --git a/LayoutTests/platform/mac/fast/regions/positioned-objects-inline-static-in-rtl-regions-expected.png b/LayoutTests/platform/mac/fast/regions/positioned-objects-inline-static-in-rtl-regions-expected.png new file mode 100644 index 0000000000000000000000000000000000000000..e8a68943c3e7ab71b688bd4543913ec8ec825ed3 GIT binary patch literal 20898 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 Qi_6SUTc0X9dFA&107c0$Q2+n{ literal 0 HcmV?d00001 diff --git a/LayoutTests/platform/mac/fast/regions/positioned-objects-inline-static-in-rtl-regions-expected.txt b/LayoutTests/platform/mac/fast/regions/positioned-objects-inline-static-in-rtl-regions-expected.txt new file mode 100644 index 0000000..b3ce475 --- /dev/null +++ b/LayoutTests/platform/mac/fast/regions/positioned-objects-inline-static-in-rtl-regions-expected.txt @@ -0,0 +1,25 @@ +layer at (0,0) size 800x600 + RenderView at (0,0) size 800x600 +layer at (0,0) size 800x532 + RenderBlock {HTML} at (0,0) size 800x532 + RenderBody {BODY} at (8,16) size 784x508 + RenderBlock {P} at (0,0) size 784x36 + RenderText {#text} at (0,0) size 758x36 + text run at (0,0) width 758: "The green positioned object should only be as tall as the first region it is contained in. It should fill the left half of the first" + text run at (0,18) width 229: "region, and no red should be visible." + RenderBlock {DIV} at (0,52) size 784x456 + RenderRegion {DIV} at (582,0) size 202x152 [border: (1px solid #000000)] + RenderRegion {DIV} at (482,152) size 302x182 [border: (1px solid #000000)] + RenderRegion {DIV} at (662,334) size 122x122 [border: (1px solid #000000)] +Flow Threads + Thread with flow-name 'flow1' + layer at (0,0) size 300x450 + RenderFlowThread at (0,0) size 300x450 + RenderBlock {DIV} at (0,30) size 300x0 + RenderBlock {DIV} at (30,0) size 240x0 + layer at (100,0) size 100x150 + RenderBlock (positioned) {SPAN} at (100,0) size 100x150 [bgcolor=#008000] + Regions for flow 'flow1' + RenderRegion {DIV} #region1 with index 0 + RenderRegion {DIV} #region2 with index 0 + RenderRegion {DIV} #region3 with index 0 diff --git a/LayoutTests/platform/mac/fast/regions/positioned-objects-perpendicular-flows-in-regions-expected.png b/LayoutTests/platform/mac/fast/regions/positioned-objects-perpendicular-flows-in-regions-expected.png new file mode 100644 index 0000000000000000000000000000000000000000..d7f2ee77726459ff17f33983721e5968dfab49bf GIT binary patch literal 19196 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 + + https://bugs.webkit.org/show_bug.cgi?id=69202 + + [CSS3 Regions] Make positioned objects use the first region as the ICB when it + is their containing block. Make sure static distance computations take into + account the current region as well. + + Reviewed by Sam Weinig. + + Added new tests in fast/regions. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::adjustPositionedBlock): + * rendering/RenderBlock.h: + (WebCore::RenderBlock::startOffsetForContent): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::containingBlockLogicalWidthForPositioned): + (WebCore::RenderBox::containingBlockLogicalHeightForPositioned): + (WebCore::computeInlineStaticDistance): + (WebCore::computeLogicalLeftPositionedOffset): + (WebCore::computeLogicalTopPositionedOffset): + * rendering/RenderFlowThread.cpp: + (WebCore::RenderFlowThread::contentLogicalWidthOfFirstRegion): + (WebCore::RenderFlowThread::contentLogicalHeightOfFirstRegion): + (WebCore::RenderFlowThread::contentLogicalLeftOfFirstRegion): + * rendering/RenderFlowThread.h: + 2011-09-30 David Barr Implement currentColor support for CSS gradients diff --git a/Source/WebCore/rendering/RenderBlock.cpp b/Source/WebCore/rendering/RenderBlock.cpp index 83ef96d..7fb1b19 100644 --- a/Source/WebCore/rendering/RenderBlock.cpp +++ b/Source/WebCore/rendering/RenderBlock.cpp @@ -1473,7 +1473,7 @@ void RenderBlock::adjustPositionedBlock(RenderBox* child, const MarginInfo& marg bool hasStaticBlockPosition = child->style()->hasStaticBlockPosition(isHorizontal); RenderLayer* childLayer = child->layer(); - childLayer->setStaticInlinePosition(borderAndPaddingStart()); + childLayer->setStaticInlinePosition(startOffsetForContent(logicalHeight())); LayoutUnit logicalTop = logicalHeight(); if (!marginInfo.canCollapseWithMarginBefore()) { diff --git a/Source/WebCore/rendering/RenderBlock.h b/Source/WebCore/rendering/RenderBlock.h index 8ed57d5..f38b792 100644 --- a/Source/WebCore/rendering/RenderBlock.h +++ b/Source/WebCore/rendering/RenderBlock.h @@ -128,7 +128,7 @@ public: LayoutUnit availableLogicalWidthForLine(LayoutUnit position, bool firstLine) const; LayoutUnit logicalRightOffsetForLine(LayoutUnit position, bool firstLine) const { return logicalRightOffsetForLine(position, logicalRightOffsetForContent(position), firstLine); } LayoutUnit logicalLeftOffsetForLine(LayoutUnit position, bool firstLine) const { return logicalLeftOffsetForLine(position, logicalLeftOffsetForContent(position), firstLine); } - LayoutUnit startOffsetForLine(LayoutUnit position, bool firstLine) const { return style()->isLeftToRightDirection() ? logicalLeftOffsetForLine(position, firstLine) : width() - logicalRightOffsetForLine(position, firstLine); } + LayoutUnit startOffsetForLine(LayoutUnit position, bool firstLine) const { return style()->isLeftToRightDirection() ? logicalLeftOffsetForLine(position, firstLine) : logicalWidth() - logicalRightOffsetForLine(position, firstLine); } LayoutUnit startAlignedOffsetForLine(RenderBox* child, LayoutUnit position, bool firstLine); LayoutUnit textIndentOffset() const; @@ -263,6 +263,7 @@ public: LayoutUnit logicalLeftOffsetForContent(LayoutUnit position) const; LayoutUnit logicalRightOffsetForContent(LayoutUnit position) const; LayoutUnit availableLogicalWidthForContent(LayoutUnit position) const { return max(0, logicalRightOffsetForContent(position) - logicalLeftOffsetForContent(position)); } + LayoutUnit startOffsetForContent(LayoutUnit position) const { return style()->isLeftToRightDirection() ? logicalLeftOffsetForContent(position) : logicalWidth() - logicalRightOffsetForContent(position); } #ifndef NDEBUG void showLineTreeAndMark(const InlineBox* = 0, const char* = 0, const InlineBox* = 0, const char* = 0, const RenderObject* = 0) const; diff --git a/Source/WebCore/rendering/RenderBlockLineLayout.cpp b/Source/WebCore/rendering/RenderBlockLineLayout.cpp index dd40f92..3d0c80c 100644 --- a/Source/WebCore/rendering/RenderBlockLineLayout.cpp +++ b/Source/WebCore/rendering/RenderBlockLineLayout.cpp @@ -869,7 +869,7 @@ static void setStaticPositions(RenderBlock* block, RenderBox* child) if (child->style()->isOriginalDisplayInlineType()) child->layer()->setStaticInlinePosition(block->startAlignedOffsetForLine(child, blockHeight, false)); else - child->layer()->setStaticInlinePosition(block->borderAndPaddingStart()); + child->layer()->setStaticInlinePosition(block->startOffsetForContent(blockHeight)); child->layer()->setStaticBlockPosition(blockHeight); } @@ -2152,7 +2152,7 @@ InlineIterator RenderBlock::LineBreaker::nextLineBreak(InlineBidiResolver& resol RenderBox* box = toRenderBox(current.m_obj); bool isInlineType = box->style()->isOriginalDisplayInlineType(); if (!isInlineType) - box->layer()->setStaticInlinePosition(m_block->borderAndPaddingStart()); + box->layer()->setStaticInlinePosition(m_block->startOffsetForContent(m_block->logicalHeight())); else { // If our original display was an INLINE type, then we can go ahead // and determine our static y position now. @@ -2714,7 +2714,7 @@ LayoutUnit RenderBlock::startAlignedOffsetForLine(RenderBox* child, LayoutUnit p updateLogicalWidthForAlignment(textAlign, 0l, logicalLeft, totalLogicalWidth, availableLogicalWidth, 0); if (!style()->isLeftToRightDirection()) - return width() - (logicalLeft + totalLogicalWidth); + return logicalWidth() - (logicalLeft + totalLogicalWidth); return logicalLeft; } diff --git a/Source/WebCore/rendering/RenderBox.cpp b/Source/WebCore/rendering/RenderBox.cpp index 0a44f66..5761c69 100644 --- a/Source/WebCore/rendering/RenderBox.cpp +++ b/Source/WebCore/rendering/RenderBox.cpp @@ -2268,8 +2268,11 @@ int RenderBox::containingBlockLogicalWidthForPositioned(const RenderBoxModelObje if (checkForPerpendicularWritingMode && containingBlock->isHorizontalWritingMode() != isHorizontalWritingMode()) return containingBlockLogicalHeightForPositioned(containingBlock, false); - if (containingBlock->isBox()) + if (containingBlock->isBox()) { + if (inRenderFlowThread() && containingBlock->isRenderFlowThread()) + return toRenderFlowThread(containingBlock)->contentLogicalWidthOfFirstRegion(); return toRenderBox(containingBlock)->clientLogicalWidth(); + } ASSERT(containingBlock->isRenderInline() && containingBlock->isRelPositioned()); @@ -2299,8 +2302,11 @@ int RenderBox::containingBlockLogicalHeightForPositioned(const RenderBoxModelObj if (checkForPerpendicularWritingMode && containingBlock->isHorizontalWritingMode() != isHorizontalWritingMode()) return containingBlockLogicalWidthForPositioned(containingBlock, false); - if (containingBlock->isBox()) + if (containingBlock->isBox()) { + if (inRenderFlowThread() && containingBlock->isRenderFlowThread()) + return toRenderFlowThread(containingBlock)->contentLogicalHeightOfFirstRegion(); return toRenderBox(containingBlock)->clientLogicalHeight(); + } ASSERT(containingBlock->isRenderInline() && containingBlock->isRelPositioned()); @@ -2334,6 +2340,13 @@ static void computeInlineStaticDistance(Length& logicalLeft, Length& logicalRigh if (curr->isBox()) staticPosition += toRenderBox(curr)->logicalLeft(); } + + // If our container block is an RTL RenderFlowThread, then we also have to subtract out the region offset. + if (child->inRenderFlowThread() && containerBlock->isRenderFlowThread() + && (child->isHorizontalWritingMode() == containerBlock->isHorizontalWritingMode()) + && containerBlock->style()->direction() == RTL) + staticPosition -= toRenderFlowThread(containerBlock)->contentLogicalLeftOfFirstRegion(); + logicalLeft.setValue(Fixed, staticPosition); } else { RenderBox* enclosingBox = child->parent()->enclosingBox(); @@ -2343,6 +2356,13 @@ static void computeInlineStaticDistance(Length& logicalLeft, Length& logicalRigh if (curr->isBox()) staticPosition -= toRenderBox(curr)->logicalLeft(); } + + // If our container block is an RTL RenderFlowThread, then we also have to subtract out the region offset. + if (child->inRenderFlowThread() && containerBlock->isRenderFlowThread() + && (child->isHorizontalWritingMode() == containerBlock->isHorizontalWritingMode()) + && containerBlock->style()->direction() == RTL) + staticPosition += toRenderFlowThread(containerBlock)->contentLogicalLeftOfFirstRegion(); + logicalRight.setValue(Fixed, staticPosition); } } @@ -2489,8 +2509,15 @@ static void computeLogicalLeftPositionedOffset(LayoutUnit& logicalLeftPos, const if (containerBlock->isHorizontalWritingMode() != child->isHorizontalWritingMode() && containerBlock->style()->isFlippedBlocksWritingMode()) { logicalLeftPos = containerLogicalWidth - logicalWidthValue - logicalLeftPos; logicalLeftPos += (child->isHorizontalWritingMode() ? containerBlock->borderRight() : containerBlock->borderBottom()); - } else + } else { logicalLeftPos += (child->isHorizontalWritingMode() ? containerBlock->borderLeft() : containerBlock->borderTop()); + + // If our container block is an RTL RenderFlowThread, then we also have to add in the region offset. + if (child->inRenderFlowThread() && containerBlock->isRenderFlowThread() + && (child->isHorizontalWritingMode() == containerBlock->isHorizontalWritingMode()) + && containerBlock->style()->direction() == RTL) + logicalLeftPos += toRenderFlowThread(containerBlock)->contentLogicalLeftOfFirstRegion(); + } } void RenderBox::computePositionedLogicalWidthUsing(Length logicalWidth, const RenderBoxModelObject* containerBlock, TextDirection containerDirection, @@ -2807,6 +2834,12 @@ static void computeLogicalTopPositionedOffset(LayoutUnit& logicalTopPos, const R else logicalTopPos += containerBlock->borderLeft(); } + + // If our container block is an RTL RenderFlowThread, then we also have to add in the region offset. + if (child->inRenderFlowThread() && containerBlock->isRenderFlowThread() + && (child->isHorizontalWritingMode() != containerBlock->isHorizontalWritingMode()) + && containerBlock->style()->direction() == RTL) + logicalTopPos += toRenderFlowThread(containerBlock)->contentLogicalLeftOfFirstRegion(); } void RenderBox::computePositionedLogicalHeightUsing(Length logicalHeightLength, const RenderBoxModelObject* containerBlock, diff --git a/Source/WebCore/rendering/RenderFlowThread.cpp b/Source/WebCore/rendering/RenderFlowThread.cpp index c65d10a..8e8d5c6 100644 --- a/Source/WebCore/rendering/RenderFlowThread.cpp +++ b/Source/WebCore/rendering/RenderFlowThread.cpp @@ -636,4 +636,46 @@ void RenderFlowThread::removeRenderBoxRegionInfo(RenderBox* box) } } +LayoutUnit RenderFlowThread::contentLogicalWidthOfFirstRegion() const +{ + if (!hasValidRegions()) + return 0; + for (RenderRegionList::const_iterator iter = m_regionList.begin(); iter != m_regionList.end(); ++iter) { + RenderRegion* region = *iter; + if (!region->isValid()) + continue; + return isHorizontalWritingMode() ? region->contentWidth() : region->contentHeight(); + } + ASSERT_NOT_REACHED(); + return 0; +} + +LayoutUnit RenderFlowThread::contentLogicalHeightOfFirstRegion() const +{ + if (!hasValidRegions()) + return 0; + for (RenderRegionList::const_iterator iter = m_regionList.begin(); iter != m_regionList.end(); ++iter) { + RenderRegion* region = *iter; + if (!region->isValid()) + continue; + return isHorizontalWritingMode() ? region->contentHeight() : region->contentWidth(); + } + ASSERT_NOT_REACHED(); + return 0; +} + +LayoutUnit RenderFlowThread::contentLogicalLeftOfFirstRegion() const +{ + if (!hasValidRegions()) + return 0; + for (RenderRegionList::const_iterator iter = m_regionList.begin(); iter != m_regionList.end(); ++iter) { + RenderRegion* region = *iter; + if (!region->isValid()) + continue; + return isHorizontalWritingMode() ? region->regionRect().x() : region->regionRect().y(); + } + ASSERT_NOT_REACHED(); + return 0; +} + } // namespace WebCore diff --git a/Source/WebCore/rendering/RenderFlowThread.h b/Source/WebCore/rendering/RenderFlowThread.h index f978155..369ed01 100644 --- a/Source/WebCore/rendering/RenderFlowThread.h +++ b/Source/WebCore/rendering/RenderFlowThread.h @@ -109,6 +109,10 @@ public: void removeRenderBoxRegionInfo(RenderBox*); + LayoutUnit contentLogicalWidthOfFirstRegion() const; + LayoutUnit contentLogicalHeightOfFirstRegion() const; + LayoutUnit contentLogicalLeftOfFirstRegion() const; + private: virtual const char* renderName() const { return "RenderFlowThread"; } -- 2.7.4