954 Commits

Author SHA1 Message Date
Hixie
722daacffb Specs: Rename ui.md to pointer.md so I can put the keyboard stuff in a different file
Review URL: https://codereview.chromium.org/886593003
2015-01-28 13:18:52 -08:00
Hixie
083499e089 Specs: Some notes on combining simultaneous animations of the same property
Review URL: https://codereview.chromium.org/888453002
2015-01-28 13:15:45 -08:00
Hans Muller
acdacb9214 Upgrade Sky's use of the JS bindings
BUG=
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/875713003
2015-01-28 11:27:33 -08:00
Eric Seidel
7f9d02fc75 Add a very basic deploy script for mojo.
We could do something much more sophisticated for deploy in the future.

Also add #!mojo:sky_viewer to .sky file demos

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/885653006
2015-01-28 11:00:52 -08:00
Elliot Glaysher
ad852a56be Roll Chrome into Mojo.
Update from https://crrev.com/313321

This roll is to pick up a fix which prevents -Wl,--as-needed being used
in Release ASAN builds.

This also has some manual changes to mojo only code to fix interface
changes from chromium (mainly, changes in skia interfaces, and changes
in cc). It updates a cc patch, which started failing to apply I also
added patch files to deal with the upstream move of mojo to
third_party/mojo/.

BUG=452105
TBR=jamesr@chromium.org

Review URL: https://codereview.chromium.org/885443002
2015-01-28 10:47:32 -08:00
Tony Gentilcore
6682573cb4 Set execute permissions on sky_server after download.
BUG=
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/886543004
2015-01-28 10:26:06 -08:00
Ojan Vafai
b4c4004f56 Merge outline paint phases into the foreground phase.
Mostly just mechanical changes. The one surprising bit
is that RenderLayer no longer needs to explictly paint
outlines. I tested manually that before this patch,
the paintOutline call in RenderLayer was needed for
outlines on positioned elements and that after this
patch it's not.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/878023002
2015-01-27 17:45:04 -08:00
Adam Barth
63b6ffb281 Normalize import paths for Sky modules
This CL simplifies the sky_server to only map the build directory into /gen,
which will make the deploy script simpler. This CL updates all the imports to
use the /gen prefix when referring to generated files.

TBR=eseidel@chromium.org

Review URL: https://codereview.chromium.org/881093003
2015-01-27 17:04:40 -08:00
Eric Seidel
bf64f39c29 Remove skydb dependency on build/android/pylib
I also fixed skydb to use --args-for sky_debugger to
automatically issue the load from 'start' even when
the --gdb option is present.

I tried to invoke gdb_attach directly from within start_command
but that seemed to cause some strangeness with my zsh shell
where it would automatically suspend gdb.  So I'll revisit
that change in the next patch.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/880143002
2015-01-27 15:56:23 -08:00
Adam Barth
3c04836a54 Remove "ForcedLayer" from Sky
No one uses this mechanism.

TBR=esprehn@chromium.org

Review URL: https://codereview.chromium.org/877213003
2015-01-27 15:22:15 -08:00
Adam Barth
f4618c1bb2 Remove RenderLayer::m_lostGroupedMapping
No one touches this state.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/881123002
2015-01-27 15:21:24 -08:00
Adam Barth
54809a8877 Remove more scrolling code from Sky
None of this code does anything anymore.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/878303002
2015-01-27 15:20:14 -08:00
Adam Barth
242402c943 Merge pull request #26 from domenic/patch-1
Don't create redundant promises
2015-01-27 14:40:59 -08:00
Adam Barth
645a6a9d12 Remove dead code related to compositing from Sky
R=esprehn@chromium.org, eseidel@chromium.org

Review URL: https://codereview.chromium.org/865153004
2015-01-27 14:38:56 -08:00
Adam Barth
d5e67f963c Split skydb trace into start_tracing and stop_tracing
Now stop_tracing writes the response to a file instead of spamming the trace data to stdout.

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

Review URL: https://codereview.chromium.org/878283002
2015-01-27 13:58:29 -08:00
Hixie
4690f10d33 Specs: Yet Another Gesture Model (mark IV). This one handles
double-tap gestures, gestures being negotiated between different
levels of the ancestor chain, and gestures starting half-way through a
drag (but still not while hovered). Also, hopefully slightly more
usable API.

Review URL: https://codereview.chromium.org/880963005
2015-01-27 13:39:45 -08:00
Domenic Denicola
1dd62846b2 Don't create redundant promises
Just use promise chaining
2015-01-27 15:43:56 -05:00
Adam Barth
c33c565f8b Remove ScrollableArea and Scrollbar
This code is unused.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/879993004
2015-01-27 12:08:24 -08:00
Ryan Macnak
f7abc9050d Import Dart bindings as of Blink r188698. This merely copies the files over and does not attach anything.
(The merge base is r180365, roughly three weeks behind where Sky forked from Blink at r181355.)

sky/engine/bindings-dart was third_party/WebKit/Source/bindings/

R=rafaelw@chromium.org

Review URL: https://codereview.chromium.org/875013003
2015-01-27 11:13:58 -08:00
Adam Barth
a251a157a7 The scrollbar in sky-scrollable should fade in and out
Also, move the vbar after the scrollable div so that it draws on top.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/879003002
2015-01-27 11:11:49 -08:00
Adam Barth
8ec2a9f496 spinning-square.sky doesn't spin
The semantics of requestAnimationFrame and scheduleVisualUpdate are slightly
different. If you're inside a requestAnimationFrame, then calling
requestAnimationFrame should schedule you for next frame. However, if you're
inside a requestAnimationFrame and you scheduleVisualUpdate, that's a noop
because we've already got a visual update pending. When we merge the codepaths,
we broke requestAnimationFrame because it became a noop when called inside a
request animation frame.

We really ought to split up the two roles of requestAnimationFrame (run before
the frame boundary and run once per frame).

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

Review URL: https://codereview.chromium.org/880013003
2015-01-27 11:01:28 -08:00
Adam Barth
4f1ad264d9 Make it possible to navigate <iframes>
Also, add support for exposing services to <iframes>. This worked before but
now that [Client=...] is gone we need to create another message pipe.

R=sky@chromium.org

Review URL: https://codereview.chromium.org/882723003
2015-01-27 10:35:52 -08:00
Adam Barth
7087239480 Rebaseline tests after removing RenderLayerScrollableArea 2015-01-27 10:25:45 -08:00
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
Adam Barth
c3fc9e9663 Add wheel support to sky-scrollable
This CL plumbs wheel events through Sky again and uses them in sky-scrollable.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/876853005
2015-01-27 09:58:22 -08:00
Colin Blundell
f8aeeb7a7e Revert "Add a close box to flights-app toast."
This reverts commit ffcbc3b2f5417b09328eae4aeb8de2e5eab6324d.

This test broke sky_tests:

Regressions: Unexpected text-only failures (6)
  framework/flights-app.sky [ Failure ]

Example:

http://build.chromium.org/p/client.mojo/builders/Mojo%20Linux%20ASan%20%28dbg%29/builds/173/steps/Sky%20tests/logs/stdio

TBR=ojan

Review URL: https://codereview.chromium.org/880863002
2015-01-27 10:11:41 +01:00
Ojan Vafai
7f9fb852f9 Add a close box to flights-app toast.
This is to get a case of having an outline on an
absolutely positioned, overflow:hidden, i.e. a
self-painting layer.

TBR=esprehn@chromium.org

Review URL: https://codereview.chromium.org/878873002
2015-01-26 22:54:39 -08:00
Ojan Vafai
d3ea308c89 Fix border painting on self-painting layers.
Commit efc3afd428bd85fd3d12e0dc941b5eb7248ca30b broke it because
we'd computed an empty foreground layer. Now that background
painting is part of the foreground phase, we need to use the
background rect for clipping. As best I can tell, the
background rect is always >= the size of the foreground
rect, so it should be safe to use.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/876243002
2015-01-26 22:45:30 -08:00
Adam Barth
73d3d84b27 Add a scrollbar to sky-scrollable
Ideally the scrollbar would animate out when you stop scrolling, but we're not
quite that good yet.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/882583002
2015-01-26 21:37:25 -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
b854dc1ebf Remove negative z-index.
There's no good use-case for putting descendants behind
their ancestors.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/873983007
2015-01-26 18:55:09 -08:00
Elliott Sprehn
eb3e7d4b8b Get rid of Chrome, use Page.
This hides ChromeClient inside Page and gets rid of Chrome object.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/878673005
2015-01-26 18:06:24 -08:00
James Robinson
dddf8f294f Remove Client relationship between mojo.Shell/mojo.Application
Instead of mojo.Shell and mojo.Application being clients of each other
they are now separate interfaces. An implementation of mojo.Application
receives a handle to the shell in its Initialize call, as described in
this doc:

https://docs.google.com/document/d/1xjt_TPjTu0elix8fNdBgWmnjJdJAtqSr1XDS_C-Ct8E/edit?usp=sharing

An analogous change is made to the content handler definition.

In C++, this is handled by the mojo::ApplicationImpl class which stores
shell handle in its implementation of Initialize. Thus the only change
for most C++ applications is the meaning of the handle in MojoMain is
different, although mains that use the ApplicationRunners do the same
thing with it.  Connecting to other apps is largely the same although
instead of grabbing the ApplicationImpl's client() to talk to the shell
code must now use the ApplicationImpl::shell() getter.

In JavaScript, the initialization sequence is a bit different although
this is hidden mostly in the Application class which calls initialize()
on its subclass with the same set of parameters. Connecting to another
application looks different, especially for sky code using the shell
proxy handle exposed via internals. Hans has some ideas about how to
make this a bit nicer.

Python apps similarly need to change their startup sequence a bit. I
didn't find a common library to take care of this dance, although it's
possible I just missed it.

Other languages probably a bit of reworking - I fixed everything here
that is covered by mojob.py test but some might be missing.

This patch also uses typed handles (i.e. InterfacePtr<> or
InterfaceRequest<> or their type aliases) wherever possible instead of
ScopedMessagePipeHandle for clarity.

R=davemoore@chromium.org

Review URL: https://codereview.chromium.org/868463008
2015-01-26 17:53:08 -08:00
Adam Barth
d05380e397 sky-scrollable should use a reasonable fling curve
This CL uses the aura fling curve to ease flings. Also, I've made Event#timeStamp
use consistent units and timebase with the requestAnimationFrame timestamp. Now
both are doubles of milliseconds since the epoch.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/880473003
2015-01-26 17:34:28 -08:00
Ojan Vafai
480ca1d4dd Add a gratuitous outline to flights-app.
This is so we have minimal coverage of outline painting.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/878803002
2015-01-26 16:40:40 -08:00
Elliott Sprehn
50e7a7c0a0 Rename scheduleAnimation() to scheduleVisualUpdate().
It causes a full screen raster right now, lets name it for what it does.
This also matches the name used in PageAnimator.

Merge WebWidgetClient into WebViewClient.

They're always the same thing in sky. I also removed all the methods that
don't do anything in sky.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/880713003
2015-01-26 16:09:40 -08:00
Elliott Sprehn
10f5a4043d Merge WebWidgetClient into WebViewClient.
They're always the same thing in sky. I also removed all the methods that
don't do anything in sky.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/880643007
2015-01-26 15:55:08 -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
Elliott Sprehn
53e76b3c58 Make all callers of scheduleAnimation() use scheduleVisualUpdate().
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
2015-01-26 15:42:33 -08:00
Elliott Sprehn
bd7bbc8967 Remove CSSCanvas values.
This was to support doing background: -webkit-canvas(#id) where you could then
get the canvas with document.getCSSCanvasContext(id) and draw into it which
is a poor form of custom drawing for elements. In Sky we'll have real custom
painting instead of just background images hacked in like this.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/876913002
2015-01-26 15:12:38 -08:00
Elliott Sprehn
765ef4ec8e Replace createTextNode with new Text().
Sky doesn't have this method (per spec).

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/879733002
2015-01-26 15:12:19 -08:00
Elliott Sprehn
ff2cde060f Remove more properties from the global Window.
StyleMedia seems to have been removed from the web too, and self is a
legacy-ism we don't want. I also removed the global find() which is a
document feature.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/872143004
2015-01-26 15:12:04 -08:00
Elliott Sprehn
865790aca0 Remove the EventFactory machinery.
This leaves behind some python bits with the event_factory name, but
that proved difficult to remove right now. This at least simplifies the
code.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/879743004
2015-01-26 15:11:44 -08:00
Elliott Sprehn
8760fdb944 Remove the global event property.
Sky doesn't have inline event handlers so this is just slowing down
event dispatch. I also simplified the event dispatch code a little.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/873983005
2015-01-26 13:55:29 -08:00
Elliott Sprehn
ed2912af0b Remove PseudoId.
Sky doesn't have pseudo elements (::before, ::after, etc.)

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/883443003
2015-01-26 13:51:56 -08:00
Elliott Sprehn
2988fb5ad2 Remove ElementFlags system.
Tab index is the only thing using it now, we can do something more
explicit. I also simplified the tab index code a little bit.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/871203005
2015-01-26 13:29:52 -08:00
Adam Barth
7ded81cc4f Add a basic sky-scrollable element that scrolls
We still need to polish sky-scrollable, but it basically works.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/875953004
2015-01-26 13:29:38 -08:00
Eric Seidel
9f0f8f500c Make it possible to pass a default url to sky_debugger
sky_debugger will load the default url in every view that it's
asked to embed.  Think of the default_url as being like the
home-page in a conventional browser.

I also fixed prompt.cc to not terminate the entire mojo
environment when it can't start itself, but rather just
quit its own application.

With this patch I'm able to hack up mojo_shell to be able
to have a sensible default behavior when clicked from
the Android homescreen, but I'll land those hacks in a
separate change.

TBR=abarth@chromium.org
BUG=451620

Review URL: https://codereview.chromium.org/875183002
2015-01-26 13:19:06 -08:00