110 Commits

Author SHA1 Message Date
Adam Barth
95b5d5dfa8 Update uses of Mojo to new interfaces 2016-03-02 14:14:55 -08:00
Jason Simmons
58a7a7ae02 Merge pull request #2445 from jason-simmons/dom_dart_state_rename
Rename DOMDartState to UIDartState
2016-03-02 11:12:38 -08:00
John McCutchan
19fa1dd776 Reland _embedder.yaml support to Flutter engine 2016-03-02 11:01:13 -08:00
Jason Simmons
41f93f4099 Rename DOMDartState to UIDartState 2016-03-02 10:47:30 -08:00
Jason Simmons
0ede7dded8 Implement support for invoking Mojo services from secondary isolates 2016-02-29 16:20:27 -08:00
Hixie
76ed6dafb7 Revert "Merge pull request #2428 from johnmccutchan/embedder_yaml"
This reverts commit ccd1c5ce1f49c763f9fbce24ad087b46083e4af0, reversing
changes made to d4f97e4fd143b075b52269e22098339941525d8e.

This was requested by @johnmccutchan because this change broke the
analyzer, which only uses SDK version 1.14.1, since that's what we pull
in. He said he'd try again on Monday.
2016-02-26 18:23:11 -08:00
John McCutchan
ac33584da0 Add _embedder.yaml to sky_engine 2016-02-26 11:02:35 -08:00
Jason Simmons
470118b0de Support spawning new Dart isolates from within a Flutter app 2016-02-24 14:59:59 -08:00
Adam Barth
67b11a6c6e Remove Dart entry point for ServiceRegistry
We don't use this entry point anymore.
2016-02-19 10:03:18 -08:00
Adam Barth
8111a77f73 Remove ServiceRegistry
We don't need this anymore now that we have Mozart.
2016-02-18 16:09:58 -08:00
Adam Barth
9dae74e97b Remove dart:ui_internals
This patch merges these functions into dart:ui, which is simpler.

Fixes #83
2016-02-12 22:44:20 -08:00
John McCutchan
d089e76e24 Enable and test sky_shell --start-paused 2016-02-10 14:39:52 -08:00
Ryan Macnak
6ec57b450f Fix-up tree-shaking entry points. Toward making missing entry points an error. 2016-02-04 13:32:09 -08:00
Adam Barth
aec7d422e7 Pass the Mozart ViewHost into Dart
Dart needs access to the ViewHost in order to create child views.
2016-02-03 14:39:45 -08:00
Adam Barth
153c93e8db Introduce TextBox
TextBox is a rect that understands TextDirection.
2016-01-29 12:05:16 -08:00
Adam Barth
9b6698f162 Add getRectsForRange to Paragraph
We can use getRectsForRange to implement selection painting in the
framework.
2016-01-29 01:39:47 -08:00
Jason Simmons
50bdfd2f86 Dart/JNI: improve Java method lookup
Add more rules to determine which overloaded Java method should be invoked
for a given Dart call.  In particular, check whether the class of a
Dart-wrapped Java object matches the type declared for the corresponding
argument in the Java method.
2016-01-25 16:51:09 -08:00
Jason Simmons
80547a2d2a Dart/JNI: reflection-based wrapper for the raw JNI API
Example:
  JavaClass dateFormatClass = Java.getClass('java.text.SimpleDateFormat');
  JavaObject format = dateFormatClass.newInstance('yyyy.MM.dd');
  print(format.parse('2016.01.01').getYear());
2016-01-22 16:27:36 -08:00
Jason Simmons
2ea1692e7d Dart/JNI: support all field and array data types 2016-01-20 10:41:37 -08:00
Jason Simmons
80f7338602 Fix Dart/JNI string conversion to treat the data as UTF-16 2016-01-19 12:26:01 -08:00
Adam Barth
c9cf1f3b95 Remove integration between tonic and WTF::Vector
There's no reason to use WTF::Vector here over std::vector.
2016-01-18 20:47:47 -08:00
Adam Barth
0140555b54 Remove integration between tonic and WTFString
We used to share memory between Dart strings and WTF::String objects by
way of the Dart externalized strings. That used to be important when the
DOM shared many strings between C++ and Dart. However, now that we don't
retain strings in C++ much anymore, we don't need this complexity.

This patch removes DartStringCache and the integration. It also unwinds
several cases where we were converting back and forth between
WTF::String and std::string for no reason. Now we use std::string more
consistently.

For the case of ParagraphBuilder::addText, we now take a raw const
char*, which more closely matches the API the DartVM exposes. That means
we do a single copy out of the VM and into the render tree at that
point.
2016-01-18 20:47:46 -08:00
Adam Barth
1f4416f87b Move microtask queue into tonic
Moving the microtask queue into tonic solves three problems:

1) Removes three levels of indirection when invoking microtask
callbacks.
2) Removes the sky/engine/dom directory entirely.
3) Removes the last client of the (inefficient) DartValue class.
2016-01-18 16:59:52 -08:00
Jason Simmons
fd672e4196 JNI/Dart: support for more data types
* Conversion of all primitive types, wrapped Java objects, and nulls between Dart and Java
* A way to distinguish float arguments from doubles when calling Java methods
* Construction of a Dart JniClass from a Java class object
2016-01-14 13:32:07 -08:00
Adam Barth
8d00bc118c Fix build with -Werror=return-type
We need to return a value from these functions to make clang happy.
2016-01-12 20:00:46 -08:00
Jason Simmons
acfbced1dc JNI bridge support for constructors, arrays, and strings 2016-01-12 15:58:33 -08:00
Jason Simmons
a5104c4a61 Implement simple method calls in the Dart/JNI bridge
Also adopt a standard pattern for handling exceptions in JNI APIs
2016-01-12 10:02:32 -08:00
Jason Simmons
10ce8a1928 Move the JNI bridge out of dart:ui and into a separate dart:jni library
This also extends DartClassLibrary to support multiple DartClassProviders
for different libraries
2016-01-08 11:04:22 -08:00
Jason Simmons
a9c22e9d8c Initial work toward exposing the Java native interface APIs in Dart 2016-01-07 15:06:35 -08:00
Chinmay Garde
a59456d63c Initialize the global dart library natives separately and outside the isolate create callback 2016-01-04 16:53:19 -08:00
Adam Barth
6c5fc73d77 Remove IDL compiler
We no longer use IDL.
2015-12-29 20:12:26 -08:00
Adam Barth
0f23213486 Fully detach the IDL compiler from the build
Prior to this patch, we were still using it to generate dart_ui.dart.
We'll eventually want to reorganize the dart files in the engine. See
https://github.com/flutter/flutter/issues/1040 for some discussion.
2015-12-29 19:52:27 -08:00
Adam Barth
c5fee9d9b8 Remove unused C++ code
This code was referenced by the IDL compiler, which we no longer use.
2015-12-29 11:02:36 -08:00
Adam Barth
03e3948828 Remove Path.idl
This patch removes the last IDL file from the build and unhooks the bulk
of the IDL compiler from the build system. A later patch will actually
delete the IDL compiler.
2015-12-29 00:41:30 -08:00
Adam Barth
b714feca62 Remove IDL from Canvas and related interfaces
After this patch, Path is the only interface using IDL.
2015-12-29 00:21:14 -08:00
Adam Barth
2e693b1750 Remove IDL from Shader subclasses
- Gradient
- ImageShader
2015-12-28 23:02:22 -08:00
Adam Barth
398e0c89de Remove IDL for ColorFilter and MaskFilter 2015-12-28 22:14:04 -08:00
Adam Barth
3288499017 Remove IDL for DrawLooper-related interfaces 2015-12-28 21:54:40 -08:00
Adam Barth
bd3a181dac Remove IDL from engine/core/text
Instead, use our new template magic.
2015-12-25 20:31:51 -08:00
Adam Barth
e3c12b1daa Remove IDL from engine/core/compositing
Rather than using IDL code generation, we now use some template magic to
generate this code. No all the code is template-generated yet, but this
patch is a start in that direction.
2015-12-24 00:13:09 -08:00
Jason Simmons
e55cf62694 Provide callbacks for activity pause and resume events 2015-12-15 18:01:36 -08:00
Adam Barth
9c3aac7c2f Remove //url
We don't use this anymore.
2015-12-11 11:20:23 -08:00
Adam Barth
a14d4ed590 Remove OpenTypeSantizer and brotli
We don't need OpenTypeSantizer or brotli because we don't support loading fonts
over the network. Instead, fonts will need to be packaged inside the Flutter
asset bundle.
2015-12-11 10:32:40 -08:00
Chinmay Garde
8bc5a87887 Explicitly depend on snapshot_cc on iOS simulator variants 2015-12-10 16:05:51 -08:00
Jason Simmons
98427a2763 Tell Flutter about the host platform's locale 2015-12-07 14:27:22 -08:00
Adam Barth
ad63ba0fb3 Update to the new C++ HandleWatcher 2015-12-03 10:59:40 -08:00
Adam Barth
a9db805f58 Add system-level routing
We now respect the "route" field in Intents to load a route other than '/'.
Also, use popRoute rather than events to indicate that the framework has asked
us to go back.
2015-11-24 12:40:41 -08:00
Todd Turnidge
df3977e38d Add stdout/stderr streaming for Dart debuggers. 2015-11-23 12:53:30 -08:00
Adam Barth
a743fbf27a Remove ui.tracing
This feature is redundant with the Timeline in dart:developer. I've already
switched all the clients over to using dart:developer.
2015-11-18 14:18:45 -08:00
Chinmay Garde
bde64ab147 Use dart_host_toolchain when building host binaries that depend on Dart 2015-11-18 12:15:45 -08:00