The SkyView interface will replace WebView as the interface to the SkyEngine.
The SkyView interface won't have a root level Document or Frame object but
instead will implement the base layers of the framework.
R=eseidel@chromium.org
Review URL: https://codereview.chromium.org/1135013006
NOTE: This CL appears far larger than it actually is for two reasons:
1) Many files were moved around to use the Dart package directory structure.
2) Many .dart files had to have import paths updated.
- Organize mojo/public/dart so that it uses standard Dart package layout
- Organize mojo/dart/apptest so that it uses a standard Dart package layout
- Organize sky/sdk so that it uses a standard Dart package layout
- Create a mojo/testing package (used by unittests)
- Introduce the 'dart_pkg' gn rule which populates gen/Config/dart-pkg
- All internally vended Dart packages must have a corresponding dart_pkg rule
- It is now possible to use dependency_overrides: in pubspec.yaml to mix internal and external package dependencies (enables analyzer, editor, webstorm usage for internal developers).
- Package root for dart content handler ends with "packages/"
- Imports of mojo package uris no longer need the "public/dart"
- mojo/public/tools/dart_package.py is a clone of mojo/public/tools/gn/zip.py
- Sky tests no longer run 'deploy_sdk' script.
R=eseidel@chromium.org
Review URL: https://codereview.chromium.org/1132063007
The style syncing logic that was in OneChildListRenderNodeWrapper is now in RenderNodeWrapper.
TextFragment and Image now just inherit directly from RenderNodeWrapper.
OneChildListRenderNodeWrapper now only deals with syncing children.
R=eseidel@chromium.org
Review URL: https://codereview.chromium.org/1142123004
It's useful to be able to call org.domokit.sky.shell.SkyMain.ensureInitialized() when implementing custom Android Activities. This commit makes ensureInitialized() public for this purpose.
Unrelated changes:
Added curly braces to pass PRESUBMIT check.
Add Lex Berezhny <lex@damoti.com> to AUTHORS file in order to be able to commit fixes (and pass PRESUBMIT check).
Patch by Lex Berezhny <lex@damoti.com>.
R=abarth@chromium.org
Review URL: https://codereview.chromium.org/1135953004
Previously, the fn "Text" class rendered as a single block of text.
Now, there's a "Paragraph" class that contains "TextFragment"s, and "Text" is just a component that places a single TextFragment into a single Paragraph.
This allows other components, notably the Input component, to build more complicated paragraphs of styled text, without using 'display'.
R=eseidel@chromium.org
Review URL: https://codereview.chromium.org/1139123007
Changes:
- adds a couple of radio buttons to the drawer menu list.
- makes menu items support being tapped and reporting the tap.
- hooks up the checkbox to actually support being checked.
- changes the drawer menu items to make more sense in a stock app.
R=eseidel@chromium.org
Review URL: https://codereview.chromium.org/1137373004
This exposes most methods from Skia's C canvas API to Dart. For now, SkRect and
SkMatrix are represented simply as an array of floats, which requires a
conversion at the bindings layer. More complex types like SkPath are still TODO.
R=eseidel@chromium.org
Review URL: https://codereview.chromium.org/1144483002
This adds a new abstract 'Canvas' which is similar to SkCanvas.
PaintContext implements Canvas while still having its
own commit() method to cause the paint actions to apply to
the Element for the next frame.
This adds a new PictureRecorder which also implements Canvas
and has an endRecording() method which returns a Picture
(another new interface) which can be held from Dart.
There is also now a rootPicture setter on Document which takes
a Picture and will then make the Document draw that Picture
until changed.
This piggybacks on the existing custom painting system
which adds the painting at background-and-borders paint
time so technically if you both set rootPicture as well as
construct a DOM you will draw the DOM on top of your picture. :)
R=mpcomplete@chromium.org
Review URL: https://codereview.chromium.org/1122423009
This CL does the following:
- Moves mojom's generate.dart from bin/ to lib/ to make it available for use
by a wrapper scripts in the Sky package, thus avoiding all consumers of Sky
needing to directly depend on mojom to be able to call
"pub run mojom:generate".
- Adds a sky->mojom pub dependency and creates a wrapper script around mojom's
generate.dart in the Sky package.
- Augments the Sky README to explain the usage of this script.
R=eseidel@chromium.org, sethladd@google.com
Review URL: https://codereview.chromium.org/1136503002
- add a checkbox to the stock app, so that we're testing the checkbox widget
(it's not currently wired up to anything, that can come later)
- make InkSplash use FlexContainer so that we can use flex in the popup menu items
- make effen's Text be more similar to Image and Container, so that it can be styled
- make layout.dart's RenderCSSText correctly support being styled
- also fixes a bug with the stock list where we were rendering one too few a row when scrolling
- check in the code to dump the DOM so I don't have to keep remembering how to do this
R=eseidel@chromium.org
Review URL: https://codereview.chromium.org/1134163003
This introduces a new kind of ContentNode similar to Style but which
instead of changing the styles that apply to the node, provides new
settings to apply to the "parentData" structure.
R=eseidel@chromium.org
Review URL: https://codereview.chromium.org/1122413006
This introduces a new kind of ContentNode similar to Style but which
instead of changing the styles that apply to the node, provides new
settings to apply to the "parentData" structure.
If you have better ideas for the class names here let me know.
Note that the layout.dart backend of this is hacky (more so than
before, even); once we have something other than the DOM and CSS to
back it, it'll get rewritten.
R=eseidel@chromium.org
Review URL: https://codereview.chromium.org/1129893006
FlexContainer is a (pretend) new layout primitive that implements Flex layout.
It's only pretend because right now it's still just backed by CSS.
This is a step along the way to removing all the CSS from fn.
R=eseidel@chromium.org
Review URL: https://codereview.chromium.org/1128743003
We dropped Anchor support, and the markup changed a bit (mostly it got debug='' attributes to help debug output).
TBR=eseidel
Review URL: https://codereview.chromium.org/1129883004
Creates generate.dart script that installs generated .mojom.dart files into
the mojom pub package.
Updates Sky's deploy_sdk.py script to put mojom.dart files in locations where
they can be consumed by the generate.dart script once the SDK is published and
obtained via "pub get".
This CL is adapted from a patch by zra@google.com; most of the work here is his.
R=iposva@google.com
Review URL: https://codereview.chromium.org/1106383006
- 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
This includes the switch to libc++ on android.
Fixes outside of the rolled code:
*) ::TestSuite -> base::TestSuite
*) base::ScopedPtrHashMap's second parameter Value->scoped_ptr<Value>
*) re2 std::tr1 changes from upstream libc++ changes
*) tracked_objects:: api changes in mojo/common/task_tracker*
Review URL: https://codereview.chromium.org/1128733002
String parameters passed to the trace macros in base/trace_event must
either be std::string (which Sky doesn't use very much), pointers to
null terminated C-style strings that live forever (like a string
literal) pointers to C-style strings that are annotated by macro as
needing to be copied. This fixes up a few instances that passed pointers
to temporary strings without the copying annotation or pointers to
non-null-terminated strings so the trace data doesn't have random
garbage memory in it.
R=eseidel@chromium.org
Review URL: https://codereview.chromium.org/1107853003
This rolls in //base, //build and //sandbox/linux and updates other
things to match, in particular:
*) Update build_v8.patch
*) Add junit, mockito and roboelectric to DEPS for android test rules
*) Update DEPS for grit
*) Fix up various GN files for os->target_os rename
*) Fix up a few places that were using //base/float_util to use std::isnan
*) Fix up a few places using ApiCompatibilityUtil to use Android SDK directly
as well as a few miscellaneous fixes.
Many portions based on ncbray's work in
https://codereview.chromium.org/1108173002/R=ncbray@chromium.orgTBR=ncbray@chromium.org
Review URL: https://codereview.chromium.org/1124763003