1078 Commits

Author SHA1 Message Date
Adam Barth
d86eedd1aa Connect Sky and Ganesh in SkyShell
This CL contains enough plumbing for Sky to render content to the screen using
Ganesh in SkyShell. We're still missing the ability to load data off the
network.

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

Review URL: https://codereview.chromium.org/936883002
2015-02-18 13:15:36 -08:00
Adam Barth
3d8ffb7f52 Make it possible to load a WebFrame from a URL
Previously, the WebFrame need to be created with a data pipe consumer handle.
This CL makes it possible to create a WebFrame with a URL and have the engine
issue the network request.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/940703002
2015-02-18 12:57:51 -08:00
Hixie
65382428a8 Specs: strip @nonnull annotations since they're too verbose
Review URL: https://codereview.chromium.org/924393004
2015-02-18 12:50:08 -08:00
Hixie
4b2b8f0621 Specs: clean up the last remaining mentions of documents
Review URL: https://codereview.chromium.org/940593003
2015-02-18 12:35:42 -08:00
Hixie
efc921ad18 Specs: write up what we've discussed about fonts, just so that it's written down somewhere (this is just a sketch for now)
Review URL: https://codereview.chromium.org/933373002
2015-02-18 12:18:40 -08:00
Hixie
8eed30936f Specs: rename 'paint' queue to 'frame' queue, add some bits and priorities, make them mutable
Review URL: https://codereview.chromium.org/939743002
2015-02-18 12:10:27 -08:00
Przemyslaw Pietrzkiewicz
6ea43eee14 Drop unneeded build deps on /net.
BUG=456130
R=blundell@chromium.org

Review URL: https://codereview.chromium.org/940473002
2015-02-18 12:03:28 +01:00
Adam Barth
1312b93456 Use Dart_EmptyString
R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/933843004
2015-02-17 16:20:39 -08:00
Adam Barth
dff66fb1b7 Remove the concept of document.documentElement
Now documents can have many element children, all created equal.

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

Review URL: https://codereview.chromium.org/928393003
2015-02-17 16:20:07 -08:00
Eric Seidel
4790abe2f7 Remove the concept of pendingScripts from HTMLScriptRunner
We shouldn't need pendingScripts in ScriptRunner since
we should never be trying to run scripts when we're
not ready to run them.

However this wasn't completely true in the case of imports
there was code to have us break before any start tag after
an <import> was seen, but it was subtly wrong in that it
it would include the start-tag it was trying to break before
in the chunk it sent to the main thread.

This didn't run out to be the problem I was facing, but I fixed
it anyway.  The problem which was actually preventing me from
removing pendingScripts was adding a check inside
didRecieveParsedChunk... to check if imports were pending and
add the chunk to the list of pending chunks.

I also renamed m_speculations to m_pendingChunks since these
chunks are never speculative anymore.

We can't test the off-by-one import-breaking code with our
current system, but it would be trivial to test with a
self-closing custom element if/when we ever add custom
elements back to the system.

R=abarth@chromium.org
BUG=

Review URL: https://codereview.chromium.org/934083002
2015-02-17 16:13:30 -08:00
Hixie
46f80e3ebd Specs: update the run loop and timer stuff to use the new model with task filters, priorities, and so on
(the code in this checkin has not been syntax checked)

Review URL: https://codereview.chromium.org/931333002
2015-02-17 13:54:06 -08:00
Eric Seidel
5e47f9a8f2 Make tests/clipping/canvas-rounded-corners.sky actually run.
Because we dump dart errors to LOG(ERROR) (stderr) instead
of console.log / stdout, tests with dart errors just "pass"
and we don't notice they're not running.

This was the case with canvas-rounded-corners.sky.

I don't think this test actually passes yet, despite it
claiming to, but I at least have made it run and not crash.

Required me commenting out a ton of CanvasRenderingContext2D, but
that's fine, it wasn't actually working and it's better to have
it be compiling valid dart.

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

Review URL: https://codereview.chromium.org/936563002
2015-02-17 12:25:15 -08:00
Eric Seidel
7c33481af9 Fix the tests after my previous commit.
This actually makes [Named] work, previously it was
generating invalid dart.

TBR=abarth@chromium.org
BUG=

Review URL: https://codereview.chromium.org/931273002
2015-02-17 11:09:27 -08:00
Eric Seidel
9aba803749 Add support for named arguments to our bindings generation.
This doesn't yet support having both named and optional
arguments, but once I have an example of that it should
be trivial to add.

I also cleaned up the generation a little so the generated
dart file looks nicer. :)

R=abarth@chromium.org
BUG=

Review URL: https://codereview.chromium.org/923093003
2015-02-17 11:00:07 -08:00
Adam Barth
24b3a12e95 Throw exception for null listener in addEventListener
We appear to be missing a null check here as well.

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

Review URL: https://codereview.chromium.org/937443002
2015-02-17 10:49:52 -08:00
Przemyslaw Pietrzkiewicz
ee1f5c2cbd Don't depend on /net for error codes in sky viewer.
This patch cuts the last dependencies of sky on /net by hardcoding the
ERR_ABORTED status code.

https://codereview.chromium.org/933973002/ is a proposed solution to
avoid the hardcoding.

BUG=456130
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/935633003
2015-02-17 19:19:47 +01:00
Adam Barth
5c2c411c40 ParentNode#appendChild(null) shouldn't crash
We just needed to throw the proper exception when handed null for a
non-nullable argument.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/934863002
2015-02-17 10:15:27 -08:00
Przemyslaw Pietrzkiewicz
6a04218fdb Delete sky/services/inspector/server.cc.
Sky Inspector is currently not working. This patch removes the Inspector
server, which is based on net/http_server, to unblock dropping /net in
Mojo.

BUG=456130
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/931873002
2015-02-17 18:18:31 +01:00
Przemyslaw Pietrzkiewicz
979663ebc5 Switch skydb to services/http_server.
This patch makes the skydb debugger use the Mojo http_server app instead
of the /net http_server.

BUG=456128
R=eseidel@chromium.org, qsr@chromium.org

Review URL: https://codereview.chromium.org/930903002
2015-02-17 17:10:24 +01:00
Adam Barth
374a768d5b Improve DartLoader error handling.
Before this if a dart import 404s, we crash.
This makes some minor improvements in our logging
for better diagnosis of future errors.

R=abarth@chromium.org
BUG=

Review URL: https://codereview.chromium.org/926753002
2015-02-14 20:18:00 -08:00
Adam Barth
f7e974680c Morph the APIs for Node, ParentNode, and Element closer to the specs
These still don't match the specs exactly, but they're much closer.

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

Review URL: https://codereview.chromium.org/924203002
2015-02-13 21:36:53 -08:00
Ojan Vafai
0b9a9f98c2 Remove HitTestAction.
We no longer paint background and foreground separately,
so we don't need to hit test them separately.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/924273003
2015-02-13 21:08:59 -08:00
Ojan Vafai
04f9707e4f Remove HitTestFilter.
Background and foreground on a layer can't be hit indepdently
anymore, so merge them into a single hitTestContents call.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/924273002
2015-02-13 21:07:54 -08:00
Ojan Vafai
e0c039e035 Get rid of HitTestChildBlockBackground walk.
I'm not 100% what this was for, but looking at Blink,
it appears that HitTestChildBlockBackground being different
from HitTestBlockBackground had something to do with
multi-column/regions, which we don't have. I believe
this patch doesn't change any behavior.

Also added to the elementFromPoint test in order to
get more test coverage of the hitTesting code.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/924263002
2015-02-13 21:05:58 -08:00
Hixie
eca61b614a Specs: change how .where() works so that it won't leak once its own listeners are removed (e.g. by a chained .until())
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/923163003
2015-02-13 16:29:48 -08:00
Hixie
ac8d930432 Specs: (reverts part of recent checkin) Make appendChild, prependChild, and setChild not return the child, since that can improve perf (especially if they're actually implemented natively)
Review URL: https://codereview.chromium.org/924163004
2015-02-13 15:48:24 -08:00
Hixie
dfed02124c Specs: Make appendChild, prependChild, and setChild return the child; make Dispatcher's unlisten() function a mote more efficient (in theory; untested)
Review URL: https://codereview.chromium.org/923023005
2015-02-13 15:22:58 -08:00
Adam Barth
c6b03b42e5 Program _uriBaseClosure into the DartVM
Turns out you need a base URI to make the unit testing framework behave in a
sane way.

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

Review URL: https://codereview.chromium.org/926163002
2015-02-13 14:41:31 -08:00
Ojan Vafai
5e291c32e2 Prune HitTestResult and stop special-casing links.
Prunes a bunch of dead code from HitTestResult and
stops special-casing links for creating hand cursors.
This code already isn't working today anyways, so
in practice, there's no change in behavior.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/925933004
2015-02-13 14:17:42 -08:00
Hixie
9f28d58d4a Specs: rename sky:core to dart:sky
Review URL: https://codereview.chromium.org/925923004
2015-02-13 14:15:48 -08:00
Ojan Vafai
1d3f70fc06 Remove unnecessary operator overload on RenderLayer::hitTest.
R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/925903005
2015-02-13 14:12:38 -08:00
Hixie
e5500c19ac Specs: update elements.md to define List-based APIs in terms of Node-based APIs, and finish dartification of modules.md (and do Document->Root there)
Review URL: https://codereview.chromium.org/926733002
2015-02-13 14:07:34 -08:00
Adam Barth
5b9e4a9fbd Port all of Sky's editing tests to Dart
R=eseidel@chromium.org, ojan@chromium.org

Review URL: https://codereview.chromium.org/921123002
2015-02-13 13:54:49 -08:00
Adam Barth
d1d6e4436d Make sky/tests/services/event-sender.sky pass
This CL ports sky/framework/shell.sky to Dart and makes event-sender.sky. I've
also removed a number of not-that-interesting tests for the JS Mojo bindings.

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

Review URL: https://codereview.chromium.org/922123002
2015-02-13 13:52:08 -08:00
Adam Barth
7d9b6f1b8f Delete Sky tests that we're not going to run with Dart
This CL removes a number of tests that we don't plan to port to Dart:

1) custom-elements. We're going to use a different mechanism for custom
   elements. We'll need to write a new set of tests as we implement it.
2) inspector. These are tests of the JS inspector backend, which we don't
   plan to use.
3) js. This is a test of a JavaScript feature.
4) mocha. These are tests of the JavaScript testing framework we were using.
5) mutation-observer. We're keeping the C++ code for mutation observers, but
   it's unclear how we want to expose this in the platform.
6) resources. These are JavaScript-based testing frameworks.

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

Review URL: https://codereview.chromium.org/920343002
2015-02-13 13:51:26 -08:00
Hixie
3a8d8b3a2a Specs: add TODO for renaming insertBefore; rename appendSingle()
Review URL: https://codereview.chromium.org/922113003
2015-02-13 11:17:52 -08:00
Hixie
d9dd8b1280 Specs: Drop @nonnull from dom.md, drop ChildNode from dom.md, drop TreeRoot from dom.md, other minor idomatic changes
Review URL: https://codereview.chromium.org/927613002
2015-02-13 10:57:14 -08:00
Przemyslaw Pietrzkiewicz
7de4ec3b25 Drop weak_ptr_factory in SkyDebugger.
It seems not to be used for anything.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/921633006
2015-02-13 18:24:15 +01:00
Adam Barth
07fef4ad25 Add initializeFromShellProxy to application.dart
This CL adds the ability to initialize the Dart Application class with a shell
proxy (rather than with a MojoHandle). This change lets Sky use the Dart
bindings for Mojo.

This CL was reviewed on the SkyDart branch in
https://codereview.chromium.org/919883002/

R=zra@google.com, zra@chromium.org

Review URL: https://codereview.chromium.org/922083002
2015-02-12 23:36:40 -08:00
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
Hixie
aa99c2f67b Specs: Implement the Dispatcher classes.
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/919693007
2015-02-12 13:40:35 -08:00
Adam Barth
f22842f3bc skydb shouldn't use origin on Linux
Unfortunately, using --origin on Linux is slow and too painful to use at the
moment. We should work on fixing that, but currently many of us have this in
our local working copy anyway.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/922823002
2015-02-12 13:37:50 -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
Adam Barth
1ad365c384 Add testing resources from SkyDart branch
These packages come from Dart's pub system. I've removed files specific to dart:html
and updated "package:" imports to use relative URLs.

R=eseidel@chromium.org
BUG=454613

Review URL: https://codereview.chromium.org/921863002
2015-02-12 12:23:10 -08:00