54 Commits

Author SHA1 Message Date
Adam Barth
4e74d9df30 Remove RenderLayerScrollableArea
This CL is a first step towards removing the scrolling machinery from the
engine. Notice that we pay a tax for scrolling in RenderBlockFlow::layout.

R=esprehn@chromium.org, ojan@chromium.org

Review URL: https://codereview.chromium.org/877043002
2015-01-27 09:58:45 -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
88f2015c22 Remove dead control clip code.
TBR=abarth@chromium.org

Review URL: https://codereview.chromium.org/883583003
2015-01-26 21:09:31 -08:00
Ojan Vafai
785f64ed86 Remove outline painting on inlines.
Jagged edge outlines are more complexity than is justified
for the use-cases. We should enable to use-cases like this,
but with a lower-level line-box + custom painting API.

Removes the paintOutline method on RenderInline. Also removed
a number of dead methods that call absoluteRects so we can delete
that method and related code.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/867653005
2015-01-26 18:58:02 -08:00
Ojan Vafai
81341480bf Merge the background paint phase into the foreground phase.
First step in getting rid of paint phases. Verified that
deleting this phase entirely would cause flights-app-pixel.sky
to fail and that it still passes in this patch, which just does
the background painting as part of the foreground phase.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/867463005
2015-01-26 15:52:47 -08:00
Ojan Vafai
2d8bc531eb Remove GraphicsContext annotations.
It's all dead code. This is a first step
towards getting rid of paint phases.
Also delete some related dead classes.

TBR=esprehn@chromium.org

Review URL: https://codereview.chromium.org/870393002
2015-01-25 19:52:29 -08:00
Ojan Vafai
4256d4a224 Remove background obscuration checks.
This is an optimization to avoid painting backgrounds
that are obscured. It's a lot of complexity that it's
not clear we'll need given that we're using a GL backend.
Also, we can add it back in more easily/efficiently in the future
once we have a display list architecture.

This also means we can remove the needsPaintInvalidation
dirty bit and some opacity information on filters.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/856563006
2015-01-15 17:11:44 -08:00
Ojan Vafai
5f718d3e63 Delete selection paint invalidation code.
There is a slight change in behavior in FrameSelection::revealSelection.
If you have a non-collapsed selection, then we'll center the start
of the selection instead of the whole selection in some cases. There's
a ton of callers of this code, so it's hard to be sure if any of this
actually changes behavior for sky. In manual testing, I couldn't find
any scenarios where there was a difference. Almost universally,
when we call revealSelection, we have a CaretSelection. The only
case I could think of where we have a RangeSelection is when
modifying an off-screen selection (e.g. shift+right), but in that case
we pass the RevealExtent option, so this patch doesn't change behavior
there.

Removing that caller makes all the rest of this rect computing
code into dead code.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/847303003
2015-01-14 13:25:16 -08:00
Elliott Sprehn
60748a6f94 Remove StyleEngine::usesFirstLineRules().
It always returns false, and Sky doesn't support first
line rules.

R=abarth@chromium.org, ojan@chromium.org

Review URL: https://codereview.chromium.org/847053002
2015-01-12 23:32:28 -08:00
Ojan Vafai
1729b054e2 Delete dead painting code around m_pendingSheetLayout.
m_pendingSheetLayout is never set to a non-default value.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/837633003
2015-01-12 17:15:26 -08:00
Ojan Vafai
544a24a448 Delete RenderSelectionInfo and other selection rect paint invalidation code.
R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/851593002
2015-01-12 17:08:36 -08:00
Ojan Vafai
a198a95ea6 Delete invalidateTreeIfNeeded.
This is just setting and clearing paint invalidation dirty bits.
Also remove a bunch of the paint invalidation dirty bits entirely.
There's plenty more to do.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/791023006
2015-01-12 13:29:12 -08:00
Ojan Vafai
a794eb951d Delete an assortment of unneeded paint invalidation code.
R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/845093002
2015-01-09 18:31:26 -08:00
Ojan Vafai
81fe9184ff Fix renderName on RenderBlock and RenderParagraph.
RenderBlock should indicate when something is an inline-block.
RenderParagraph should not print out RenderBlock.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/828433004
2015-01-08 17:14:17 -08:00
Etienne Membrives
404a0cc6db Update from https://crrev.com/308331
Fix ui/compositor/compositor.(h|cpp) based on http://crrev.com/738983002

Fix sky/engine based on current Blink code

R=qsr@chromium.org

Review URL: https://codereview.chromium.org/812543002
2014-12-16 13:56:09 +01:00
Ojan Vafai
52a8beb189 Get rid of PaintPhaseTextClip.
This was just used for background-clip:text, which we no
longer support.

R=rafaelw@chromium.org

Review URL: https://codereview.chromium.org/783233002
2014-12-08 11:23:30 -08:00
Ojan Vafai
6a4ca1bc83 Remove PaintPhaseClippingMask.
I believe it was only used for regions/multi-column.
It's never set now.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/786003002
2014-12-08 10:18:34 -08:00
Ojan Vafai
ec0519a888 Remove some dead paint flags.
These are all dead code.

R=rafaelw@chromium.org

Review URL: https://codereview.chromium.org/766303002
2014-12-01 16:08:07 -08:00
Rafael Weinstein
d6605f71f9 Remove a bunch of dead code from RenderLayer
R=ojan@chromium.org

Review URL: https://codereview.chromium.org/735033003
2014-11-28 19:59:55 -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
Rafael Weinstein
acf6d9f29d setChildrenInline wasn't doing anything and childrenInlien always deferred to isRenderParagraph.
Also, add a test from the original webkit patch that called setChildrenInline in layoutBlock

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/748943002
2014-11-21 15:16:58 -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
c2276d3976 Remove canCollapseAnonymousBlockChild.
The only place it's used now is making it so that
anonymous flex items don't do ellipsizing the same
way anonymous items inside a block would. This
is something we don't need, especially now that
we only have anonymous paragraphs around text nodes.

It's not clear to me if we want this looking at the
parent behavior at all, but that's something that
can be fixed in a followup.

Also delete some dead anonymous block functions.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/741893002
2014-11-20 15:28:37 -08:00
Ojan Vafai
82ddd6096e Get rid of continuations.
This is all dead code now that inlines can't contain
blocks.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/734813004
2014-11-18 16:56:44 -08:00
Elliott Sprehn
3eb9946952 Remove lots of things from RenderObject
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/735193002
2014-11-18 16:06:22 -08:00
Ojan Vafai
7a37fa8c09 First step at getting rid of anonymous blocks and continuations.
-Add RenderParagraph and display:paragraph. This is the only
render type that's allowed to contain inlines or text.
-If you put text nodes directly in a non-paragraph, wrap them
in an anonymous paragraph. This may not be the place we want
to end up, but it's a good stopgap to make it so we don't
crash in this case.
-Make StyleAdjuster force that non-paragraph blocks only contain
RenderBlock subclasses and that paragraphs and inlines only contain
inlines.
-Considerably simplify addChildIgnoringAnonymousColumnBlocks
now that we only create anonymous blocks for the case of
text nodes in non-paragraphs. Also get rid of the behavior
where we try to group multiple nodes into a single
anonymous block.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/729693003
2014-11-17 18:39:52 -08:00
Elliott Sprehn
42d362ff6b Remove tons of OILPAN.
This removes ::trace, traceAfterDispatch and finalizeGarbageCollectedObject.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/723253004
2014-11-13 16:56:13 -08:00
Ojan Vafai
0f803f8d3c Remove ResourceLoadPriorityOptimizer.
We want to expose the ability to do this in the framework,
not bake it into the platform.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/710743006
2014-11-11 14:53:02 -08:00
Ojan Vafai
aadd9d43cf Remove some more assorted code from RenderBox.
R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/691223003
2014-11-11 10:16:03 -08:00
Rafael Weinstein
c0ffe6fb23 remove updateTouchEventTargetRectsIfNeeded
BUG=
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/713073003
2014-11-10 13:08:21 -08:00
Elliott Sprehn
283fa5f78a Remove ContentData.
This was to support CSS generated content.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/709213002
2014-11-07 18:47:39 -08:00
Ojan Vafai
1fad59d33b Remove OverlayScrollbarSizeRelevancy.
It doesn't do anything anymore.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/715453002
2014-11-07 18:13:42 -08:00
Ojan Vafai
b44392daf4 Remove scrollbar width/height computations from layout.
Scrollbars never take up layout space or participate in hit-testing.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/707233006
2014-11-07 17:54:41 -08:00
Rafael Weinstein
f6b3a8cb02 Remove usesCompositedScrolling
BUG=
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/712573003
2014-11-07 13:59:11 -08:00
Ojan Vafai
2793661b5a Remove scroll corners and resizers.
We never paint scroll corners. The only thing we need them
for is so that the vertical and horizontal scrollbars don't
overlap each other. So, that's the only place left that
still computes a scroll corner rect.

We don't support resizers. Remove the code for them as well
as the CSS resize property.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/689283003
2014-11-07 09:46:16 -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
Elliott Sprehn
59454159a3 Remove shape-outside.
Since we don't have floats this doesn't do anything now.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/703563002
2014-11-03 18:01:57 -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
ed0c01cdca Remove CSS Grid Layout and grid media queries.
The two are unrelated, but it was easier to just grep for grid
and remove them all. Aside from the media query change, there
isn't any change in behavior since grid was behind a flag.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/689853003
2014-10-31 16:40:03 -07:00
Ojan Vafai
86ed666dc2 Get rid of isWritingModeRoot.
This function always returns false now that we don't have writing modes.

TBR=esprehn@chromium.org

Remove flipForWritingMode.

It's a noop now that we don't have writing modes.

Review URL: https://codereview.chromium.org/688223002
2014-10-29 19:53:05 -07:00
Ojan Vafai
13ffe46a43 Remove flipForWritingMode.
It's a noop now that we don't have writing modes.

TBR=esprehn@chromium.org

Review URL: https://codereview.chromium.org/684393002
2014-10-29 19:45:15 -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
Ojan Vafai
3b628f7d39 Delete a ton more dead vertical writing mode code.
No change in behavior.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/684383002
2014-10-29 19:08:09 -07:00
Ojan Vafai
afa0148e0b First pass at removing dead vertical writing mode code.
This just removes a random subset of vertical writing mode bits
that I grepped for. There's a ton more to do, but it seems best to
do it in chunks.

The key things for understanding this patch, isWritingModeRoot is
always false and isHorizontalWritingMode is always true. Also,
we're never flipped* modes of any kind, so we can undo any flipping.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/688213002
2014-10-29 19:06:59 -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
Ojan Vafai
054799183a Remove a bit more position:fixed plumbing.
No change in behavior.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/688443003
2014-10-28 12:56:42 -07:00
Ojan Vafai
42ea48b379 Remove a bunch of fixed position dead code.
There is not change in behavior here. Just removing dead
code now that we no longer support position:fixed.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/686653002
2014-10-28 09:34:19 -07:00