20087 Commits

Author SHA1 Message Date
Ojan Vafai
0a60268106 Remove most of the old compositing code.
This is all dead code. Just started with CompositedLayerMapping
and deleted everything that touches it.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/758373002
2014-11-25 20:47:53 -08:00
Ojan Vafai
e451291645 Remove m_layerTreeView from WebViewImpl.
It's always null now.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/757143004
2014-11-25 19:54:27 -08:00
Ojan Vafai
767c998cb2 Remove ENABLE(COMPOSITOR).
The new painting code seems to be working well enough.
So we can start removing the old compositing code.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/762723002
2014-11-25 19:32:27 -08:00
James Robinson
973bb96d11 Move tracing_impl code to mojo/common
This moves the tracing code and mojoms from sky/viewer/services/ to
mojo/common/ in anticipation of refactoring these to be more widely
usable. This doesn't actually change behaviors yet.

BUG=436639
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/751303003
2014-11-25 16:23:42 -08:00
Adam Barth
426d193ca6 Fix DCHECK(gr_texture) when running test_sky
We shouldn't bother trying to draw a 0x0 sky::Layer. It makes Ganesh unhappy.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/759763002
2014-11-25 12:11:59 -08:00
Adam Barth
79c704dc99 Fix several leaks in the Sky compositor
When tearing down the Sky compostior, we need to destroy the GL context and all
the textures in the resource manager.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/761503004
2014-11-25 12:11:05 -08:00
Adam Barth
4816213fa9 Mocha shouldn't wait for an animation frame
When we run the tests headless, we never actually put up frames, which means we
never generate animation frames. In this mode, we might want to generate fake
animation frames (like DRT does), but for now just use a timeout to make the
tests work again.

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

Review URL: https://codereview.chromium.org/758113003
2014-11-25 11:20:47 -08:00
Elliott Sprehn
c4cc8dd831 Remove didNotifySubtreeInsertionsToDocument.
This hook existed because some elements wanted to run script inside
::insertedInto, but that wasn't a safe time. Now nothing can run script
inside there so we don't need this extra hook.

HTMLStyleElement's usage of this hook is not clear, but it seems like
it might have related to a pre-lazy attach bug.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/758623002
2014-11-25 02:53:43 -05:00
Elliott Sprehn
8d0f8335d4 Remove autofocus.
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/754043004
2014-11-25 02:53:08 -05:00
Rafael Weinstein
fc84c9d173 Fix bug in city-list autoscroll
TBR=esprehn

Review URL: https://codereview.chromium.org/759483003
2014-11-24 18:27:49 -08:00
Adam Barth
f94dc376d4 Surfaces should acknowledge frame submissions
Previously, there was no way for clients of the surfaces service to
appropriately rate-limit their frame submissions. We tried using the "return
resources" signal to rate-limit, but that's really a measure of how quickly
you're submitting new resources rather than how quickly the system is putting
up frames.

Currently, only the Sky compositor listens to this signal. Using this signal,
we're able to run sky/examples/spinning-square.sky in sync with the surfaces
service (that is, submitting exactly one frames every 17ms).

R=jamesr@chromium.org

Review URL: https://codereview.chromium.org/756673004
2014-11-24 16:21:53 -08:00
Rafael Weinstein
67941ffa00 Add auto-scroll option to sky city-list example
TBR=esprehn

Review URL: https://codereview.chromium.org/758753003
2014-11-24 16:15:19 -08:00
Hixie
cfd7bb0e9a Specs: clean up event listeners a bit. Drop the pointless
'preventDefault()', since that doesn't really do anything now. Clean
up how dispatchEvent() works. Add a 'handled' boolean that listeners
can check to see if they should ignore the event.

Review URL: https://codereview.chromium.org/752093003
2014-11-24 13:55:39 -08:00
Adam Barth
93d4190547 Add some trace events to Sky compositor
This CL adds some basic trace events to the Sky compositor so we can see what's
going on.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/757643002
2014-11-24 09:54:28 -08:00
Adam Barth
eee03d7d8a Fix race condition in test
The |done| function comes from |it| not |describe|. Previously, we were just
ending the test right away.

R=rafaelw@chromium.org

Review URL: https://codereview.chromium.org/754463003
2014-11-21 16:08:31 -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
Adam Barth
792472a3ca Add a basic example of a spinning square
This example will let us test basic animation performance.

R=rafaelw@chromium.org

Review URL: https://codereview.chromium.org/748853004
2014-11-21 13:27:09 -08:00
Adam Barth
d906ce5b41 Break Sky's dependency on cc
We no longer link with cc. Instead, we use a simple, direct-to-Ganesh rendering
pipeline.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/752683002
2014-11-21 12:21:39 -08:00
Adam Barth
8c30238f4f Enable the Sky compositor again
This CL fixes two bugs:

1) We need to enter the Ganesh context in order to destroy the GrContext.

2) We had a race condition whereby we'd try to upload a frame to a surface that
   didn't yet exist. This CL fixes that race by adding a state to LayerHost to
   wait for the surface to be created before trying to upload to it.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/753643002
2014-11-21 12:15:30 -08:00
Elliott Sprehn
743423e8fc Remove DOMStringList.
This was for location.ancestorOrigins which Sky doesn't support.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/750663002
2014-11-21 12:06:21 -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
Adam Barth
d27551a5c3 Disable Sky compositor again
Turns out this made a bunch of tests crash.

TBR=esprehn@chromium.org

Review URL: https://codereview.chromium.org/748123003
2014-11-21 10:14:45 -08:00
Adam Barth
cc9da50737 Enable the Sky compositor
Turns out we need to reset the context before switching back to drawing with
Ganesh (i.e., call resetContext on the GrContext) to clean out whatever state we've
changed in the GL context. Now the city-list and the flights-app demos work.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/752653002
2014-11-21 09:57:47 -08:00
Hans Muller
22eee0e624 Mojo Example that demos the difference between providing and requesting an interface.
BUG=
R=viettrungluu@chromium.org, yzshen@chromium.org

Committed: 405bc1690e

Review URL: https://codereview.chromium.org/733563002
2014-11-21 09:54:34 -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
Benjamin Lerman
ba6f3beacd Make sure that Content Handled application can be connected multiple times.
This CL updates ApplicationManager so that it always reconnect to an
application that is already launched.

To obtain this results, the following changes habe also been made:

1) The Loader interface has been simplified:
  - The pipe to the shell if given during the Load request, so that loader do
    not need to called RegisterLoadedApplication
2) PngViewer and PdfViewer allows multiple embedder to embed those.
3) For the second connection forward, Sky issue network request to get the
   content of the page to display.

R=aa@chromium.org

Review URL: https://codereview.chromium.org/741453002
2014-11-21 10:53:37 +01:00
Adam Barth
a2aedc2d68 Move XMLHttpRequest#responseText to a getter
Moving this property to a getter lets the implementation of the object change
the value but prevents clients of the API from changing the value, which is the
expected behavior.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/746953002
2014-11-21 00:09:50 -08:00
Adam Barth
1766fb0ba7 Hide XMLHttpRequest's private state using Symbol
It's not really hidden because you can reflect out the symbols, but this is a
start. We might use a WeakMap in the future if we really need hiding.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/753473002
2014-11-21 00:00:44 -08:00
Adam Barth
1b91a2db4e Convert xmlhttprequest.sky to use classes
R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/753453002
2014-11-20 23:27:53 -08:00
Adam Barth
0c96c6eaa6 Add support for import@async
We don't have a good way of testing this behavior without introducing a race.
Ideally we'd unit test it, but we don't really have unit tests yet.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/751493003
2014-11-20 23:14:49 -08:00
Adam Barth
67d5db4520 Remove WebThemeEngine
It's dead code.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/753443002
2014-11-20 22:51:38 -08:00
Adam Barth
9b40ebc56e Remove unused WebMIMERegistry
It's dead code.

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

Review URL: https://codereview.chromium.org/752463002
2014-11-20 22:41:35 -08:00
Adam Barth
7781f093a2 Wire up Sky directly to Ganesh
This CL wires up Sky directly to Ganesh via the Sky compositor. Currently this
code is compiled out of the binary because it's a bit buggy, but this CL is a
start.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/739413004
2014-11-20 19:15:31 -08:00
Eric Seidel
b60a8cbbc5 Fix gn check //sky/* to pass again.
Just needed to allow core and core_generated
to be a cycle.

TBR=abarth@chromium.org
BUG=435361

Review URL: https://codereview.chromium.org/748643002
2014-11-20 17:56:41 -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
Eric Seidel
5ce2884e26 Audit all of sky's system <> style includes
I wrote a little script to do this.
I'll attach it to the bug in case Blink wants it.

R=abarth@chromium.org
BUG=435361

Review URL: https://codereview.chromium.org/747663002
2014-11-20 15:55:02 -08:00
Hixie
45af446b75 Docs: fix the hitTest() logic for display:toolbar since it doesn't use size 0x0 for its hidden children
Review URL: https://codereview.chromium.org/741313002
2014-11-20 15:50:43 -08:00
Hixie
a6613e7ef2 Specs: Simplify the paint model. Now you are not responsible for
actually telling your child to paint, you just say where it would
paint. The platform then takes care of making sure all the dirty nodes
have their paint() methods called.

Review URL: https://codereview.chromium.org/744843003
2014-11-20 15:30:30 -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
Eric Seidel
39bf5a7f41 Start moving files from core/inspector into v8_inspector
This was just a test.  I'm about to write a script
to automate this process.  Mostly I just need to
fix tools/git/move_source_file.py to work for blink.

TBR=abarth@chromium.org
BUG=435243

Review URL: https://codereview.chromium.org/745913002
2014-11-20 15:07:19 -08:00
Hixie
bf85d3516b Specs: the paint model where each node is responsible for its children
(I'm just updating this here so that I can revert to it if we decide
the hybrid model isn't better after all)

Review URL: https://codereview.chromium.org/743873003
2014-11-20 15:03:15 -08:00
Adam Barth
e16b5b6655 Teach skydb about --release and --debug
Previously, skydb could be used only for Debug builds. As part of working on
graphics performance, I'd like to use it for release builds as well. This CL
teaches it to use the same configuration arguments as sky_server, test_sky, and
test_perf.

The downside of this CL is that you'll need to supply --debug in the common
case of working with a debug build.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/746473003
2014-11-20 14:39:55 -08:00
Eric Seidel
e4945302eb Move InspectorBackendMojo out of the blink namespace
This starts to break the dependency between blink and
the new v8_inspector.  At least now the front-end
object InspectorBackendMojo is treated as a peer to
WebView instead of WebView providing one.

Unfortunately I also had to teach Page about
InspectorHost in order to make it possible to
lookup the InspectorHost from the v8::Context.

I'm sure there is a nicer way to associate the
InspectorHost with the context but for now
I've chosen this path, we can untangle the
connection in a later patch.

I also ended up removing Page::allPages
and all callers, since they ended up as dead code.

R=abarth@chromium.org, yurys@chromium.org
BUG=435243

Review URL: https://codereview.chromium.org/746713002
2014-11-20 14:21:36 -08:00
Adam Barth
83b49ee3ae Use the scheduler to drive the Sky compositor
This CL lets us put up more than one frame by using the scheduler to schedule
the next frame.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/744753003
2014-11-20 14:13:36 -08:00
Adam Barth
59f18e7ef2 Add a simple compositor for Sky
Currently we're only able to put up one frame and we can have only one layer, but
this is enough to draw a green circle in a sample app. A future CL will wire this
up to Sky and add support for drawing a second frame.

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

Review URL: https://codereview.chromium.org/740923002
2014-11-20 14:10:40 -08:00
Hixie
940276ed6f Specs: update the layout and paint schemes to match discussions better
Review URL: https://codereview.chromium.org/745863002
2014-11-20 13:58:53 -08:00
Scott Violet
90f1388f44 Makes views be initially hidden
This better matches what other toolkits do and lets the client
configure the view before we attempt to show something for it.

BUG=434429
TEST=covered by test
R=erg@chromium.org

Review URL: https://codereview.chromium.org/745743002
2014-11-20 13:04:25 -08:00
Eric Seidel
bc10cd4167 Move inspector_backend_mojo.cc to v8_inspector
Also fixed several chromium style errors in the file.

I had to make web depend on v8_inspector for
the time being until v8_inspector can be
weened off of the Page class.

R=abarth@chromium.org, yurys@chromium.org
BUG=435243

Review URL: https://codereview.chromium.org/749523002
2014-11-20 11:30:01 -08:00
Eric Seidel
8061020580 Add a new v8_inspector target
v8_inspector is a peer to web for now.
Eventually it should be its own separate target
and not depend on core or platform at all, but we can't yet.

This creates a place for us to move the debugger-inspector
code to so it can be refactored to not depend on core.

I also moved the public target for sky out of public/
and renamed it "engine" instead of blink.

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

Review URL: https://codereview.chromium.org/744143002
2014-11-20 11:00:47 -08:00
Elliott Sprehn
4e68e8f732 Enable ES6 classes.
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/742183002
2014-11-20 10:55:28 -08:00