23 Commits

Author SHA1 Message Date
Ojan Vafai
a267c39c01 Remove the concept of staticly positioned absolutes.
On the web, if you set position:absolute, but not
top/right/bottom/left, then the absolute goes where it
would have gone if it wasn't positioned. The use-cases for
this are slim and it introduces a lot of complexity to the
engine.

Also changes behavior in the presence of direction:rtl.
On the web, direction:rtl and top/left:auto would
sometimes set right:0. Instead we always position at
0,0 if the opposing values are auto.

This removes the code for this positioning and allows
simplifying a bunch of dirty bit handling code since
we don't need to setNeedsLayout if lines move around
or wrap differently.

The test cases did change their output, but the new
positioning all looks correct to me.

Review URL: https://codereview.chromium.org/944073006
2015-02-20 20:26:59 -08:00
Ojan Vafai
8ba8641a1d Remove LayoutState.
The only bit that was still used was the
containingBlockLogicalWidthChanged check in
RenderBlock::widthAvailableToChildrenHasChanged.
a4f1e657ff
is the patch that added that code. I added a
test to confirm we still pass the test case
that code was added for.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/945003002
2015-02-20 14:02:42 -08:00
Ojan Vafai
bebd6e370d Remove layoutBlock.
We've simplified RenderBlock::layout to the point where we
no longer need it or layoutBlock. The RenderBlock subclasses
can just override layout the way every other renderer does.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/876663003
2015-01-26 21:33:43 -08:00
Ojan Vafai
21f4801613 Remove some unused paint invalidation members from RenderObject.
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/854563005
2015-01-14 16:22:08 -08:00
Ojan Vafai
69fa7db132 Delete InvalidationReason.
Also delete some other paint invalidation code that
doesn't do anything in Sky.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/844023003
2015-01-09 18:01:27 -08:00
Rafael Weinstein
6d450eddcb Split more Paragraph-specific code from RenderBlock into RenderParagraph.
In this episode: inlineSelectionGaps, markupTruncation, lineCount, heightForLineCount, lineAtIndex, lastLineBoxBaseline, firstLineBoxBaseline

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/762073002
2014-11-27 12:39:17 -08:00
Rafael Weinstein
0649efbf80 Remove RenderBlockLineLayout.
This patch moves most of the RenderBlockFlow from RenderBlockLineLayout methods into RenderParagraph.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/763043002
2014-11-27 12:03:43 -08:00
Rafael Weinstein
9e43ce3605 Start splitting RenderParagraph logic out of RenderBlock.
In particular, move RenderParagraph-specific code from
hitTestContents, paintContents, simplifiedNormalFlowLayout & addOverflowFromChildren.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/754493002
2014-11-26 11:15:01 -08:00
Ojan Vafai
fe66ba3f36 Fix text-overflow:ellipsis.
This regressed in 3db9471ae80bd492f2a346113d2323ba8eee0c09.

Accidentally sent some code down the override by sending the
top LayoutUnit instead of the left/right LayoutUnit. The
root problem was bad overloading, which is also fixed in
this patch. Inlined the overloaded method since one of
the calls was only called from one place.

The new test demonstrates the ellipsizing, but that doesn't
show through in the render tree dump. We don't get real
test coverage here until we either start doing pixel tests
or start exposing ellipsis in the render tree dumps.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/751483002
2014-11-21 11:26:05 -08:00
Eric Seidel
295f920116 Fix sky include guards to match Chromium style
I wrote a script to do this which is attached
to the bug.

TBR=abarth@chromium.org
BUG=435361

Review URL: https://codereview.chromium.org/736373003
2014-11-21 02:48:38 -08:00
Eric Seidel
e0fd75b5ab Make absolute and sort all Sky headers
This caused us to lose our gn check certification. :(

Turns out gn check was just ignoring all the header
paths it didn't understand and so gn check passing
for sky wasn't meaning much.  I tried to straighten
out some of the mess in this CL, but its going to take
several more rounds of massaging before gn check
passes again.  On the bright side (almost) all of
our headers are absolute now.  Turns out my script
(attached to the bug) didn't notice ../ includes
but I'll fix that in the next patch.

R=abarth@chromium.org
BUG=435361

Review URL: https://codereview.chromium.org/746023002
2014-11-20 17:42:05 -08:00
Ojan Vafai
aae0aab814 Delete unused methods/arguments from RenderBlockFlow.
No change in behavior. Just deleting dead code.
Removes hit testing and paint phase for floats. They
bottomed out into empty functions.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/706953003
2014-11-06 11:17:20 -08:00
Ojan Vafai
4ecaa91c6c Remove margin collapsing.
Margin collapsing is a document-oriented feature. For applications
it just causes confusion and slowness.

margins.sky has failure output because offsetTop is returning the
wrong values. That's not new with this patch though. When I look
at it visually in skydb, everything seems to be in the right place.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/700743002
2014-11-03 21:30:40 -08:00
Ojan Vafai
29ff7e21fd Remove more float machinery.
Also removed the clear property since it's only purpose was
to clear floats.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/700703002
2014-11-03 17:00:27 -08:00
Ojan Vafai
ab8e1f98d5 Remove more support for floats from RenderBlockFlow.
This doesn't change any behavior. Floats were already removed.
This is just removing effectively noop code.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/692563004
2014-11-03 12:40:09 -08:00
Ojan Vafai
7d3feb3952 Remove line breaking to avoid window.
Now that we don't have multi-column or pagination, this
is dead code. This also means we don't need to call
layoutBlockFlow in a loop.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/697713002
2014-10-31 12:41:40 -07:00
Ojan Vafai
20dd8466c7 Remove border-fit.
This just lets you size an element to it's content. We should
do this in a more generic way or let you override layout
and do it yourself.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/698613002
2014-10-31 10:59:40 -07:00
Ojan Vafai
21bde7479d Remove final instances of WritingMode in Sky.
After this patch, the only instance of WritingMode is in a comment.
No change in behavior.

TBR=esprehn@chromium.org

Review URL: https://codereview.chromium.org/674073005
2014-10-29 19:58:14 -07:00
Ojan Vafai
90b8d2e589 Remove text-combine.
This is a vertical writing mode feature. Sky doesn't support
vertical writing mode.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/677843004
2014-10-29 19:30:32 -07:00
Elliott Sprehn
7c0366d891 Remove most of FloatingObject.
This leaves some uses of FloatingObject*, but it doesn't
leave the impl of the class so it's all dead code passing
around null pointers. I'll remove that in a future patch.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/689733003
2014-10-29 15:04:40 -07:00
Eric Seidel
64b5cb61a1 Remove all oilpan transitional types
I used do-webcore-rename from Blink/WebKit
which is very good at doing this kind
of search-replace.

Also removed toRefPrtNativeArray after
conversion since it previously had two
separate flavors.  Both versions are no longer
used so I've removed the code until we
need one again.

https://www.irccloud.com/pastebin/5C16p5cE
is the diff I used to do-webcore-rename

TBR=abarth@chromium.org
2014-10-27 14:13:01 -07:00
Adam Barth
e8c9ecc556 Use override and final instead of OVERRIDE and FINAL 2014-10-24 15:15:13 -07:00
Adam Barth
ae72930937 Open the Sky 2014-10-23 11:17:19 -07:00