158 Commits

Author SHA1 Message Date
Adam Barth
15a638332c Text snaps to pixel grid, images don't
Previously, we tried to use the render tree's paint offset to move the text to
the proper position, but that appears to snap to integer logical pixels,
introducing jitter. Now we use the SkCanvas's matrix to position the text,
removing the jitter.

Fixes https://github.com/flutter/flutter/issues/234
2015-11-20 12:49:01 -08:00
Adam Barth
2d217034be Fix RRect#shift
Previous this would crash.
2015-11-19 11:21:54 -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
George Kulakowski
15fce47583 Merge pull request #2068 from kulakowski/build-stuff
Clean up some dead code in core renderer
2015-11-17 12:54:28 -08:00
George Kulakowski
a3d7faafed Clean up some dead code in core renderer 2015-11-17 11:32:09 -08:00
Collin Jackson
0904164fd6 Fix https://github.com/flutter/flutter/issues/371 renaming "sky" and "chromium" to "flutter" in logs and Mac Shell UI 2015-11-16 14:54:18 -08:00
John McCutchan
b89f2b3f47 Update service isolate server script 2015-11-13 10:22:31 -08:00
Adam Barth
cc81c2fb69 Merge pull request #2027 from abarth/dispose
Add the ability to dispose host objects
2015-11-11 10:39:38 -08:00
Adam Barth
ff48ddb68f Add the ability to dispose host objects
Some host objects hold on to a lot of state and take time to tear down. This
patch adds the ability to dispose them eagerly to release resources faster.
2015-11-11 08:36:29 -08:00
John McCutchan
dd328c3293 Switch to using callback to get observatory data (working) 2015-11-11 07:25:44 -08:00
Jason Simmons
9f2d723006 Replace the legacy pointer input event handling with PointerPackets
With this change we no longer need engine/core/events and its IDL bindings.
2015-11-10 14:34:12 -08:00
Chinmay Garde
88f8527152 Merge pull request #1985 from chinmaygarde/master
Dart isolate symbols are no longer in the blink namespace. Fix the snapshotter to account for the same.
2015-11-05 20:24:45 -08:00
Chinmay Garde
ed7b829678 Dart isolate symbols are no longer in the blink namespace. Fix the snapshotter to account for the same. 2015-11-05 20:01:22 -08:00
Chinmay Garde
a9867b0821 Merge pull request #1975 from chinmaygarde/master
Allow dynamic resolution of Dart isolate and instructions snapshot
2015-11-05 17:07:58 -08:00
Chinmay Garde
4a0ef22f30 Rename: DART_ALLOW_DYNAMIC_LOADING to DART_ALLOW_DYNAMIC_RESOLUTION 2015-11-05 16:54:44 -08:00
Chinmay Garde
f5aae58dc3 Only attempt dynamic resolution of Dart VM assets on iOS and Mac 2015-11-05 16:47:49 -08:00
Chinmay Garde
eb4326331d Allow dynamic resolution of Dart isolate and instructions snapshot 2015-11-05 15:40:36 -08:00
Jason Simmons
cc030ef888 Merge pull request #1965 from jason-simmons/idl_tracing
Convert Tracing to stop using the IDL-based bindings
2015-11-05 15:21:27 -08:00
Jason Simmons
28511cee5a Convert Tracing to stop using the IDL-based bindings 2015-11-05 12:43:31 -08:00
Chinmay Garde
8fd1ce7738 Disable Dart profiling on iOS and MacOS 2015-11-05 12:25:13 -08:00
Jason Simmons
4f94048f10 Improve performance of marshaling simple Paint objects to native code
Paint is an argument on most methods of Canvas, and in many uses the Paint
contains only a color.  In this case, return the Paint's value to native code
as an int instead of constructing a list of attributes.

This improved run time on a drawRect benchmark by 35%.
2015-11-04 14:33:45 -08:00
Jason Simmons
f1f7e79cfe Merge pull request #1908 from jason-simmons/canvas_rrect_marshal_2
Make RRect immutable and replace RRect.setRectXY with a fromRectXY co…
2015-11-03 13:33:20 -08:00
Adam Barth
b0cb37d5a0 Don't anti-alias RRect and Path clips
We should probably expose this dial to clients eventually, but this patch just
makes our default match Skia's default of not anti-aliasing RRect and Path
clips.
2015-11-02 18:26:48 -08:00
Jason Simmons
7b40d5b9d0 Make RRect immutable and replace RRect.setRectXY with a fromRectXY constructor 2015-11-02 16:38:37 -08:00
Jason Simmons
488cff3e40 Marshal RRect using a DartConverter (as is done for Rect)
This improved running time of a Canvas.drawRRect benchmark by 40%
2015-11-02 16:17:25 -08:00
Jason Simmons
fe421cd583 Merge pull request #1888 from jason-simmons/canvas_paint_list_range
Use Dart_ListGetRange instead of multiple calls to Dart_ListGetAt
2015-11-02 10:06:00 -08:00
Adam Barth
ff7b3668ea Add Paint#strokeCap
Fixes #1887
2015-11-01 11:18:39 -08:00
Jason Simmons
51a77faf44 Use Dart_ListGetRange instead of multiple calls to Dart_ListGetAt
Benchmarked this using a no-op native function that takes a Paint argument.
This patch reduced average call time by 9%.
2015-10-30 17:00:06 -07:00
Chinmay Garde
e63d438ac6 Enable service isolate under precompilation
Update dart revision to include changes required to enable profiling
during precompilation
2015-10-29 16:16:03 -07:00
Chinmay Garde
028e21dc5d Bump the Dart profile period to usable levels and enable CPU profiling in release builds on iOS 2015-10-29 14:39:44 -07:00
Jason Simmons
ce38faca74 Remove obsolete Dart GC controller code 2015-10-29 13:28:30 -07:00
Jason Simmons
ee3b016425 simplify the ImageDecoder native code binding 2015-10-29 13:11:02 -07:00
Adam Barth
234f792f51 Remove ui.view
We don't use ui.view anymore.
2015-10-28 11:15:59 -07:00
Adam Barth
5968c60e48 Re-host View on Window
After this patch View is just a shim on top of Window and can be removed
easily.
2015-10-27 17:55:07 -07:00
Adam Barth
02d75552c9 Start booting up the new binding system for window
Currently this code isn't completely wired up, but this patch is an incremental
step in that direction.
2015-10-27 16:53:52 -07:00
Jason Simmons
7983d5f0c5 Fix a memory leak in CanvasImageDecoder
CanvasImageDecoder is instantiated with a callback into a Dart closure.
That closure was holding references to the ImageDecoder and the returned
Image.  The circular reference between the ImageDecoder and the callback
prevented the objects from being GCed, resulting in leakage of the image
buffer.

CanvasImageDecoder will now destroy the callback after it is invoked,
thus releasing its handle to the Dart closure.
2015-10-27 15:05:30 -07:00
Chinmay Garde
1c19bdbd36 Merge pull request #1790 from chinmaygarde/master
Update Dart revision
2015-10-26 11:19:05 -07:00
Chinmay Garde
ae7f980d31 Update Dart revision 2015-10-26 11:12:03 -07:00
Adam Barth
0c03d1c560 Rework how we lookup native functions from Dart
This patch changes how we lookup native functions from Dart to be more
extensible. This patch paves the way for removing the dart:ui_internals
library.
2015-10-25 00:41:45 -07:00
Adam Barth
01c14ff74b Remove a bunch of dead code
I left this code along in my uber patch to remove the DOM and CSS, but it's
just as dead. Also, move lone files out of dead directories into more sensible
places.
2015-10-24 16:09:21 -07:00
Adam Barth
a5768f2718 Remove the DOM and CSS
We don't use the DOM or CSS anymore. Instead, we work directly with the render
tree.
2015-10-24 00:26:24 -07:00
Adam Barth
1a5465c570 Delete OldTextPainter
Also, delete all references to DOM APIs.
2015-10-23 12:07:55 -07:00
Adam Barth
f1f26c93e5 Change VelocityTracker to understand new pointer values
Now we use one velocity tracker per pointer.

Path by Kris Giesing.

Fixes #1704
2015-10-23 10:07:19 -07:00
Adam Barth
08729e37d2 Fix some fiddly bits in ParagraphBuilder 2015-10-23 09:47:02 -07:00
Adam Barth
a066323bd6 Fix Android build
RTLD_SELF doesn't appear to be defined on Android.
2015-10-23 08:54:05 -07:00
Adam Barth
eb594bffdc Make NewTextPainter actually work
The NewTextPainter is still disabled by default. A future patch will flip the
flag to enable it.

This patch uses a new approach to writing bindings by encoding data into array
buffers. This approach is more efficient than the existing IDL based approach.
If this works out well, we should convert our other performance-sensitive
interfaces to this approach in future patches.
2015-10-23 08:41:23 -07:00
Chinmay Garde
d6ff8e90b0 Switch to using precompiled snapshots on iOS 2015-10-22 17:27:40 -07:00
Adam Barth
938abc3142 Add reset to Path
Fixes #88
2015-10-22 16:36:07 -07:00
Adam Barth
fa3b51c0be Offset constructor is missing types
Fixes #1730
2015-10-22 08:56:01 -07:00
Adam Barth
9422e0a427 Don't use a \0 to separate base and Dart trace events
Instead, we can just concatenate the records together, which means you can view
the generated trace file without post-processing. Also, I've made the trace
file world-readable, so that you can trace a device without needing root
access.
2015-10-21 15:14:19 -07:00