38 Commits

Author SHA1 Message Date
John McCutchan
f0c5ab0b82 Roll Dart forward
BUG=
R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1159443002
2015-05-28 07:45:06 -07:00
Eric Seidel
827e621238 Teach sky_viewer about the new main.dart hotness
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/1147413003
2015-05-21 12:46:36 -07:00
John McCutchan
76da439f44 Add Observatory to sky dart_controller
- Bump Dart and Observatory DEPS to 45576 and 45565 respectively.
- Include 'dart:io' in snapshot
- Add 'dart:io' native bindings to sky bindings.
- Initialize 'dart:io' in sky dart_controller.
- Include Observatory and service isolate resources in build.
- Bring up service isolate.
- Start handle watcher isolate from service isolate (hides handle watcher isolate from debugger and Observatory).
- Hook up debugger.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1107803002
2015-05-06 15:36:12 -07:00
Eric Seidel
c78cea7e54 Allow multiple dart <script> tags in .sky files
This does several things:
1.  Teaches sky about asynchronous script execution. Previously once all imports
were loaded and the script text was available, we executed a script and assumed
it completed synchronously.  We left the parser loop to do so, but that was fine
as the next chunk from the background thread would resume the parser.  In this
change scripts now load and execute separately.  The "load" step may trigger
further dart import loads which may cause the execution to happen asynchronously
which required teaching both the DartController and the HTMLScriptRunner to
take callbacks to allow HTMLDocumentParser to know to continue parsing after
the Dart script has resolved its imports and executed.

This required re-working some of how the parser executes scripts and I
re-purposed isWaitingForScripts to include "is the parser blocked" where
as before it was limited only to "does the treebuilder have a script", even
though the imports system may have had pending scripts as well.

I made HTMLScriptRunner live only as long as the script it was executing
since it only contained per-script state at this point.

2.  Fixed an error reporting bug whereby we would not show errors when "init"
failed to execute, only "main".  This required using the dart_mirrors_api.h
which required adding an include path to the core build. :(

3.  Made it possible for a single sky file to contain multiple dart <script>
tags.  Each <script> is a separate library and executes as
soon as </script> is seen.  main or init is called for each.  This required
mangling "urls" for these script blocks since Dart unique's libraries by urls.
Before this change it may have been possible to do <import 'foo.sky'> and then
<script>import 'foo.sky'</script> and have it work!?

R=abarth@chromium.org
BUG=

Review URL: https://codereview.chromium.org/938623005
2015-02-20 11:08:28 -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
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
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
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
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
464f03c914 Dart: 2++ = 3
BUG=

Review URL: https://codereview.chromium.org/894613002
2015-02-01 20:31:53 -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
Benjamin Lerman
69be2dee41 Adding keyboard service.
This allows to show the soft keyboard on Android.

Also updated platform_viewport_android to dispatch key events.

R=abarth@chromium.org
BUG=449002

Review URL: https://codereview.chromium.org/856063002
2015-01-22 10:19:09 +01:00
Adam Barth
881b06dfc5 <iframe> should expose its mojo::ServiceProvider handle
After this CL, you can exchange services with the app loaded in the iframe by
calling takeServiceProvider() on the iframe element. That gives you the raw
handle, which you'll need to wrap in the appropriate mojom-generated interface.

R=hansmuller@google.com, sky@chromium.org

Review URL: https://codereview.chromium.org/862943004
2015-01-21 16:24:58 -08:00
Colin Blundell
b5be4a0945 Restructure public side of navigation service.
This CL goes from this:
  //mojo/services/public/interfaces/navigation

to this:
  //mojo/services/navigation/public/interfaces

This CL also makes the Mojo-side changes necessary to roll this change into
Chromium.

TBR=beng

Review URL: https://codereview.chromium.org/796783002
2014-12-11 08:49:15 +01:00
James Robinson
15db886b19 Simplify //mojo/public/c/system targets
We don't support building mojo apps in the component build, so we can
simplify these system targets a bit. We don't need to have everything
depend on a forwarding group that always evaluates to the same thing in
the mojo repo.

The new targets are:

//mojo/public/c/system which contains the system headers but no
implementation.

//mojo/public/platform/native:system which contains the system thunks
and exported thunk setter, used by anything run by the shell. This is
mostly used by the mojo_native_application template but is also used
by a few targets that need to link as shared_lib but will ultimately
be loaded by the shell.

//mojo/edk/system provides the real implementation of the system calls
and is used by the shell and a few tests.

The :for_... groups need to stick around for now to keep chromium
working, but once this rolls in to the chromium tree then these can
be fixed up as well.

R=viettrungluu@chromium.org

Review URL: https://codereview.chromium.org/754963008
2014-12-10 13:56:25 -08:00
Colin Blundell
3dc76a69df Restructure public side of view_manager service.
This CL goes from this:
//mojo/services/public/cpp/view_manager
//mojo/services/public/interfaces/view_manager

to this:
//mojo/services/view_manager/public/cpp
//mojo/services/view_manager/public/interfaces

This CL also makes the Mojo-side changes required to roll this change into
Chromium (for both view_manager and window_manager, which was converted in an
earlier CL but for which these updates were not made):
- Updates rev_sdk.py to pull over the new directory
- Updates //mojo/services/public/mojo_services_public.gyp

TBR=beng

Review URL: https://codereview.chromium.org/790623003
2014-12-10 14:16:27 +01:00
James Robinson
09de28ef8c Run gn format on all BUILD.gn files (gn version 306668)
Generated by running the following:
for x in `git ls-files | grep BUILD.gn`; do gn format --in-place $x; done

BUG=348474
R=viettrungluu@chromium.org

Review URL: https://codereview.chromium.org/773283006
2014-12-03 17:39:48 -08:00
Eric Seidel
41796985bc Move many of v8_inspector dependencies out of core/
This doesn't fully separate v8_inspector from
core, but it does lay the path.

The next steps to removing v8_inspector is to
remove all the # FIXME: Remove lines in the
deps section of v8_inspector/BUILD.gn.

gn check out/Debug v8_inspector
will tell us if we've successfully removed
all the dependencies.

It's unclear if we want to remove the wtf
dependency, but definitely all of the engine/core
dependencies should be removed and presumably
replaced with abstract interfaces which can be provided
to v8_inspector by its host.

Given the size of this patch (and that it's largely
mechanical) I plan to TBR it.

Most of this was done with tools/git/move_source_file.py

TBR=yurys@chromium.org

Review URL: https://codereview.chromium.org/772563003
2014-12-02 13:00:40 -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
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
55b5bc485d Sort headers
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
2014-11-19 12:33:42 -08:00
Eric Seidel
593c8f8de3 Wire up more of the DebuggerAgent
The debugger can now correctly break on exceptions
and show the corresponding line in the inspector.

It correctly understands which scripts are internal
to sky and does not pause during them.

There is still a ton to make work here
(including stacktraces which I have not tested),
but basic functionality seems to work.

The current implementation is not smart enough to
unpause the inspector when the frontend disconnects.

BUG=434510,434513
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/727593004
2014-11-18 15:05:05 -08:00
Eric Seidel
97f80336f9 Bring back ScriptDebugServer and associated machinery
Eventually all of this should be moved out of Sky
and instead sit on top of Sky as just a mojo v8 debug service
but for now I'm just bringing back what we had in Blink
so I can make it work with our new inspector backend
and then we can move it out.

I also sorted gn lists and fixed two .idl files
which were in the wrong sources list in core.gni.

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

Review URL: https://codereview.chromium.org/723773002
2014-11-12 14:21:44 -08:00
Matt Perry
d4ddbf836c Add a separate call to initialize the bounds for a sky <iframe> element.
Also rename the methods to refer to "frames" not "views".

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/682413006
2014-11-11 11:11:59 -05:00
Adam Barth
dbd2cc66f9 Remove libxml dependency from Sky
R=esprehn@chromium.org, jamesr@chromium.org

Review URL: https://codereview.chromium.org/689943003
2014-11-07 17:47:24 -08:00
Adam Barth
ef24228598 Remove <meta>
We're not using this element.

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

Review URL: https://codereview.chromium.org/699023002
2014-11-03 16:51:31 -08:00
Adam Barth
e18d99a0f3 Make clicks on <a> request a navigation
Currently our window manager isn't listening for these requests, but it would
work if we loaded sky in wm_flow or example_window_manager.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/695803003
2014-10-31 11:27:44 -07:00
Adam Barth
82cdb4de3b Remove HTMLTokenizerNames
We don't need these anymore.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/682903002
2014-10-27 17:05:46 -07:00
Adam Barth
6df700c6ff Remove HTML entity crazy
This CL removes the bulk of the old HTML entity machinery. We don't need this
anymore.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/680173002
2014-10-27 17:05:17 -07:00
Eric Seidel
988d5e7c14 Use process_in_files helper for make_core_generated_html_element_lookup_trie
This lets us get rid of the manual source listing in core_generated

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/657303006
2014-10-24 15:46:20 -07:00
Adam Barth
70363c9f78 Add missing dependency
TBR=jamesr@chromium.org

Review URL: https://codereview.chromium.org/655993004
2014-10-24 15:01:17 -07:00
Eric Seidel
8663c840aa Fix sky to pass 'gn check'
I also deleted the sky_common and sky_minimal targets
as those were only for the windows build
(which sky does not support).

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/663483006
2014-10-24 15:00:55 -07:00
Eric Seidel
2a4915147e Remove a bunch of dead files found by missing_from_gn
I also fixed several errors in our BUILD.gn files
including bad script dependencies found by
missing_from_gn and gn check.

Still need to figure out how best to handle
:libraries deps being private to :core, etc.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/678703004
2014-10-24 13:50:21 -07:00
Adam Barth
58adc99ae2 Add another missing dependency 2014-10-23 12:02:07 -07:00
Adam Barth
b6ec35ad4c Shuffle build dependencies a bit to fix build
TBR=eseidel@chromium.org

Review URL: https://codereview.chromium.org/677483002
2014-10-23 11:55:50 -07:00
Adam Barth
ae72930937 Open the Sky 2014-10-23 11:17:19 -07:00