611 Commits

Author SHA1 Message Date
Adam Barth
2d006b8294 Actually stop Sky from linking with V8
We don't use V8 anymore. There's no reason to link it in.

TBR=eseidel@chromium.org

Review URL: https://codereview.chromium.org/918263003
2015-02-12 21:16:55 -08:00
Adam Barth
52b56750a1 Rename sky/engine/bindings2 to sky/engine/bindings
There's only one bindings system now.

TBR=eseidel@chromium.org

Review URL: https://codereview.chromium.org/915293003
2015-02-12 20:16:17 -08:00
Adam Barth
30de02064c Remove unused V8 integration code in Sky
We don't build this code anymore.

TBR=eseidel@chromium.org

Review URL: https://codereview.chromium.org/922053002
2015-02-12 19:44:16 -08:00
Adam Barth
f2d2e80e59 Merge the Sky Engine changes from the SkyDart branch
This CL flips the switch to make Sky use Dart.

TBR=eseidel@chromium.org
BUG=454613

Review URL: https://codereview.chromium.org/922893002
2015-02-12 15:06:03 -08:00
Eric Seidel
c7d2352897 Add the c++ code part of bindings2/
This is all the bindings-level dart code we had to write
to enable Dart in Sky.  We wrote this over the last 2
weeks in:
https://github.com/eseidel/skydart

R=abarth@chromium.org, jamesr@chromium.org
BUG=454613

Review URL: https://codereview.chromium.org/918333002
2015-02-12 13:42:11 -08:00
Adam Barth
c6dce9ad07 Add DartController and friends
This CL adds the DartController and associated classes. These classes let you
load and execute dart code.

R=rafaelw@chromium.org
BUG=454613

Review URL: https://codereview.chromium.org/921903002
2015-02-12 13:34:45 -08:00
Adam Barth
128591574e Build sky/engine/tonic
This CL adds a dependency from Sky to DartVM.  We need to remove Sky from the
ASAN build because DartVM doesn't currently build in ASAN (see https://code.google.com/p/dart/issues/detail?id=22121).

R=rafaelw@chromium.org
BUG=454613

Review URL: https://codereview.chromium.org/919463004
2015-02-12 13:18:25 -08:00
Rafael Weinstein
2a5e18ff64 Merge the tonic layer from skydart branch back to master
The tonic layer is analogous to "gin" for v8. It provides wrappers and helpers around common dart types and implements the basic infrastructure for allowing dart wrappers around sky DOM objects to have proper GC behavior.

R=abarth@chromium.org
TBR=eseidel
BUG=

Review URL: https://codereview.chromium.org/924593002
2015-02-12 12:55:01 -08:00
Eric Seidel
c0b8517544 Add a new bindings2/scripts directory for Dart bindings
These bindings were developed over the last 2 weeks on:
https://github.com/eseidel/skydart
They started as copies of the Dartium scripts (aka dart/tools/dom):
https://code.google.com/p/dart/source/browse/#svn%2Ftrunk%2Fdart%2Ftools%2Fdom
Which in turn started as a forked copy of Blink's
binding generation scripts from some years ago.

This is still way more python than we need to generate
bindings for SkyDart, but it's a start.

Reviews were done for many (but not all) of the patches.

I'll add the bindings2/ code and build system wiring
in further patches. Landing the new directories one at a
time so that it's easier to read through.

R=abarth@chromium.org, jamesr@chromium.org
BUG=454613

Review URL: https://codereview.chromium.org/914413004
2015-02-12 12:22:38 -08:00
Adam Barth
82c1ea5adc Remove bindings-dart
This code was a drop from Dartium and isn't used. It will be replaced with code
from the SkyDart branch.

TBR=rafaelw@chromium.org

Review URL: https://codereview.chromium.org/918273002
2015-02-12 10:07:28 -08:00
Hans Muller
47bf46b00e Adds support for embedViewManagerClient() to IFrame.
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/912183002
2015-02-10 17:09:22 -08:00
James Robinson
50527025ca Update from https://crrev.com/315085
This includes the switch to libc++ on Android.

Other fixes:

*) Add (dumb) impl of OrderingBarrier() to command buffer
*) "base/debug/trace_event.h" -> "base/trace_event/trace_event.h"
*) Added a few <cmath> includes to sky

Review URL: https://codereview.chromium.org/903273002
2015-02-06 15:14:04 -08:00
Ojan Vafai
effdf28e11 Remove position:relative.
The use-cases we care about are met better by translate2d.
Remove the parsing so that people writing on sky don't
depend on it. Followup patches will remove the functionality.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/904613005
2015-02-06 12:46:04 +11:00
Ojan Vafai
6ee8440f27 Walk render tree instead of render layers for paint.
This is the first step of getting rid of RenderLayer.
Instead of walking the RenderLayer tree, wall the RenderObject
tree and add any layers encountered to a vector to paint later.

This patch just consolidates and move the code from RenderLayer
to RenderBox and then changes the children painting to
iterate over the vector. Therefore we walk the RenderObject tree.
We still call out to RenderLayer in a bunch of places.
A followup patch will get rid of those.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/899753003
2015-02-06 11:38:25 +11:00
Adam Barth
1f8dd823f9 sky/shell should link with sky/engine
This CL causes sky/shell to create a blink::WebView to show that sky/shell
links with sky/engine. In the process, I've made it easier to be a trivial
embedder of sky/engine by removing the requirement to implement
blink::ServiceProvider.

This CL also causes sky/shell to link with mojo/edk/system to resolve link
errors with Mojo fabric (e.g., MojoClose, MojoWriteMessage, etc). To make this
work properly, we'll need to initialize the EDK in a future CL.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/873923003
2015-02-04 19:31:17 -08:00
Tony Gentilcore
2c277b5653 Fix render bounds of iframes on devices with a pixel ratio != 1.
BUG=
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/896233002
2015-02-04 08:57:10 -08:00
Ojan Vafai
b139ec4316 Delete remaining masks dead code.
Removes the straggling code related to masks now that
we've removed the CSS properties.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/893093002
2015-02-03 13:56:34 +11:00
Adam Barth
254f3b5dbb Revert "Dart: 2++ = 3"
Revert "Rename dart_master.cpp to .cc, consistent with chromium style"
Revert "Move the files we're actually building into bindings2"

This reverts commit 0fc92de0468213f621cba0fbdfd96c1625052ba7.
This reverts commit 155144772817476e87bbe20ddc2071308e3f61e6.
This reverts commit fda181ae2420071af887b5914bd9a9bda8a09725.

These CLs belong in the skydart branch.

TBR=rafaelw@chromium.org

Review URL: https://codereview.chromium.org/860273005
2015-02-02 12:25:52 -08:00
Adam Barth
8603909a6d Merge pull request #43 from eseidel/skydart
Skydart
2015-02-02 09:40:11 -08:00
Adam Barth
8b7e67f862 Move the files we're actually building into bindings2
Also, add copyright headers.

TBR=eseidel@chromium.org
2015-02-02 09:32:21 -08:00
Rafael Weinstein
ae9b5ee31b Rename dart_master.cpp to .cc, consistent with chromium style
TBR=eseidel
BUG=

Review URL: https://codereview.chromium.org/894753002
2015-02-02 08:56:30 -08:00
Ojan Vafai
b264b3c269 Remove the last remnant of paint phases.
R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/895483002
2015-02-01 21:09:10 -08:00
Ojan Vafai
4b9622480d Consolidate and delete a bunch of paint methods.
We've simplified paint code enough that most of these
methods are redundant.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/892033003
2015-02-01 21:01:07 -08:00
Ojan Vafai
bd590c7b05 Remove mask painting.
Now that we don't have -webkit-mask-*, this is dead code.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/886263003
2015-02-01 20:37:32 -08:00
Rafael Weinstein
464f03c914 Dart: 2++ = 3
BUG=

Review URL: https://codereview.chromium.org/894613002
2015-02-01 20:31:53 -08:00
Ojan Vafai
81ae67c906 Remove -webkit-mask-*.
This is for doing masking based off the alpha channel of
an image. This is a feature we want to support, but we
want a more general imperative API that the declarative thing
is built on top of.

In the meantime, the code is getting in our way and the
feature was already broken (likely from before making sky public).
We just paint the mask image on top instead of doing the actual
masking.

This patch just removes the parsing. Followup patches will
remove the implementation code.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/892903002
2015-02-01 18:45:44 -08:00
Adam Barth
2f39655a37 Cleanup unused #includes and declarations in PlatformImpl
These aren't needed anymore. Also, use more |override|.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/892053002
2015-02-01 13:40:42 -08:00
Adam Barth
bf14e27aca Move SharedTimer implementation into sky/engine
Now that sky/engine can talk to base directly, there's no reason to use
Platform::current to implement SharedTimer. Instead, we can just implement it
directly in SharedTimer.cpp.

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

Review URL: https://codereview.chromium.org/886263002
2015-02-01 09:35:02 -08:00
Adam Barth
e962904c7a Remove TRACE_EVENT indirection through blink::Platform
Normal trace events already go directly to base. This CL removes the remaining
trace events that were still indirected through blink::Platform. These were
just the half-finished inspector timeline trace events, which currently aren't
actually hooked up to anything.

This CL also removes the redunant "convertable to trace format" wrappers and
moves their one remaining use over to just using the version in base directly.

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

Review URL: https://codereview.chromium.org/889823002
2015-01-30 08:47:46 -08:00
Adam Barth
65a50f6c81 Remove unused trace sampling states
R=ojan@chromium.org

Review URL: https://codereview.chromium.org/893503002
2015-01-29 22:08:19 -08:00
Adam Barth
fa57fe2819 WTF should get time from base directly
There's no reason to bounce through several indirections to get the current
time.  We can just call into base directly now.

R=ojan@chromium.org

Review URL: https://codereview.chromium.org/887883002
2015-01-29 22:08:02 -08:00
Ojan Vafai
194360db4f Inline two methods with only one caller.
TBR=esprehn@chromium.org

Review URL: https://codereview.chromium.org/886923003
2015-01-29 21:02:16 -08:00
Ojan Vafai
030073714c Removed a bunch of unneeded paint phase checks.
We only have two paint phases now, so we don't
need to do as many checks. Also, remove some
early returns that are not possible to hit since
the earlier code checks that phase already.

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

Review URL: https://codereview.chromium.org/891573002
2015-01-29 18:57:06 -08:00
Ojan Vafai
1332495e6d Remove PaintPhaseSelection.
This is just a mechanical removal. No logic changes
beyond removing the PaintPhaseSelection checks.
Most of these are just early returns to avoid doing
unnecessary work if we're only painting selections.
But now that we paint selections during the foreground
paint phase, we no longer need the early returns since
we're going to paint everything anyways.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/886933002
2015-01-29 17:18:25 -08:00
Adam Barth
36e9c3e46e Implement PointerEvent#dx
In this CL, the event handler keeps track of the delta from the previous
pointer position so authors don't have to.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/887793002
2015-01-29 13:23:45 -08:00
Ojan Vafai
f8411b4218 Simplify paint phase boolean logic.
Now that we only have three paint phases left,
we can simplify some of it to make it more
explicit that the special cases are all just for
PaintPhaseMask.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/886483006
2015-01-28 22:17:18 -08:00
Elliott Sprehn
fa70bea051 Remove CustomElementDescriptor.
In Sky we only need the localName of an element to describe
what it is. Remove this abstraction which is just a thin wrapper
around AtomicString.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/885713004
2015-01-28 20:46:24 -08:00
Ojan Vafai
bdc24bf049 Remove painting roots.
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
2015-01-28 19:53:44 -08:00
Scott Violet
e98fd07ffb Fixes crash in HTMLIFrameElement and exposes HTMLIFrameElement::src
HTMLIFrameElement was adding the observer in navigateView. If the same
HTMLIFrameElement navigated multiple times HTMLIFrameElement would
attach itself as an observer more than once. ObserverList doesn't like
this.

Also adds src as an attribute of HTMLIFrameElement so that I can do:
iframe.src = xxx
in script

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/885783002
2015-01-28 19:47:26 -08:00
Ojan Vafai
218c5f98dc Remove optional arguments.
These are never excluded. Make that explicit.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/882143004
2015-01-28 18:54:51 -08:00
Ojan Vafai
43a0d55697 Remove LayerPaintPhase.
Only LayerPaintPhaseAll was used.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/880263006
2015-01-28 16:33:35 -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
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
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
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
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
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