I had to add back document.createText() since new Text()
does not work in the new world yet.
LayoutRoot is a new Dart-exposed class which holds the Frame and
all associated machinery, sufficient to trigger a restyle
and layout of the subtree.
This is all kinda hacky and I'm sure likely to cause many
crashes if folks call random methods on these disconnected
trees.
But this makes it at least possible to paint text for now
and we can improve this in the coming days.
This really should have Adam's review. It's hugely hacky
but I'd like to negotiate out with him the timeline on
which we should fix some of these hacks.
R=ianh@google.comTBR=abarth@chromium.org
Review URL: https://codereview.chromium.org/1148253003
With this gone, cursors will no longer change
on hover when running Sky on a desktop.
Then again the iGeneration doesn't
probably even know what a mouse is, let alone
have a burning desire to set a CSS3 custom-cursor.
R=ojan@chromium.org
Review URL: https://codereview.chromium.org/1076623002
-Remove RenderLayerFilterInfo. It was just a static map for
FilterEffectRenderers. Instead, put the FilterEffectRenderer
directly on RenderLayer.
-Make FilterEffectRenderer not be RefCounted. This involved
deleting a ton of dead code around ReferenceFilters since they
were the other subclass of Filter. As best I can tell,
reference filters are already don't parse in Sky, so this should
just be removing dead code.
R=abarth@chromium.org
Review URL: https://codereview.chromium.org/962543003
These appear to have been for ensuring that you
only paint elements in a given subtree. It's not clear
to me exactly how you get to painting an element that
is not rooted at the RenderLayer you started with.
I think it's just not possible in Sky anymore.
This code was added in 2004 for drag images, which
we no longer support.
R=esprehn@chromium.org
Review URL: https://codereview.chromium.org/882223005
The only scheduleAnimation() methods left are going through the layers of
client interfaces. I'll rename and remove those next. This is working
towards making requestAnimationFrame() not cause a full repaint and also
making it more clear to callers that scheduling a frame causes a raster.
R=abarth@chromium.org
Review URL: https://codereview.chromium.org/875283003
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
Removed all uses of Frame in InspectorTraceEvents
in the process, since none of them actually
needed a Frame (since each sky instance only
has one frame).
I've just been burning down the list of core
includes using:
grep "#include" sky/engine/v8_inspector/* -h | sort | uniq | sort | grep core
TBR=yurys@chromium.org
BUG=435243
Review URL: https://codereview.chromium.org/771323002
We not longer have compositing, so these states are gone.
This was causing asserts to hit because we'd go from
PaintInvalidationClean to InPaintInvalidation, which is
now a valid transition if a new frame is pumped without
style or layout being dirtied.
Unfortunately, we can't test this until we fix test_sky
to actually pump fake frames.
R=esprehn@chromium.org
Review URL: https://codereview.chromium.org/755843003
Particularly, this deletes RenderLayerCompositor. After this,
there's just CompositingState left to remove.
This is all dead code, so there should be no change in behavior.
R=abarth@chromium.org
Review URL: https://codereview.chromium.org/758843004
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
Fix (most) generated includes to have gen/ in their path.
This makes it easier to tell where files exist on disk.
Unfortunately I had to leave the old include path
in engine/BUILD.gn to support all the v8 includes
which were too many to deal with in this patch.
It's a little nasty to have the raw build directory
in our include path, but it produces nicer paths.
R=abarth@chromium.org
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
We don't need a lot of the Widget API. I also removed the
visibility code which seems to have been broken when we
removed FrameView::show and hide(), which looks like it
would have broken image loading. Unfortuantely we don't
have pixel tests or tests that load images so I can't
test this yet. Even so it's a good simplificatin since
our system has no concept of hidden widgets.
R=abarth@chromium.org, ojan@chromium.org
Review URL: https://codereview.chromium.org/691453002
No change in behavior. Just deleting dead code.
Also removes ScrollAnimatorNone since it's unused.
We'll need to bring some of this back, but we'll
do that when we get rid of composited scrolling.
R=esprehn@chromium.org
Review URL: https://codereview.chromium.org/682363002
FrameView doesn't really need to know about the child widgets,
which are just Scrollbars now.
I also deleted some dead code from Widget and removed FrameWidget
since we don't need that abstraction now.
R=ojan@chromium.org
Review URL: https://codereview.chromium.org/685593005
We will only have one scrolling path in Sky, so we don't need
machinery for mutiple scrolling codepaths.
Remove viewportConstrained plumbing.
Sky doesn't have viewport constrained elements (no position:fixed).
R=esprehn@chromium.org
Review URL: https://codereview.chromium.org/661633003
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