8800 Commits

Author SHA1 Message Date
Jason Simmons
2ada4107de Move libtxt under flutter/third_party in the license script (#4015) 2017-08-25 16:16:00 -07:00
Michael Goderbauer
8cfa97609c Only expose available semantic scroll actions (#4010)
* Only expose available scroll actions

* formatting

* more formatting
2017-08-25 16:12:50 -07:00
Chinmay Garde
b2555ce932 Remove txt from DEPS now that the repo has been imported into the engine. (#4014) 2017-08-25 15:49:29 -07:00
Chinmay Garde
f8a47e8a35 Subtree import txt into //third_party. 2017-08-25 15:32:29 -07:00
Chinmay Garde
78a04ad75d Add 'third_party/txt/' from commit '130cc7e044a3ace1a70bbd71ce8ca4c72712ce9e'
git-subtree-dir: third_party/txt
git-subtree-mainline: 0f16f8ddeaeceb959cb9ac0fd1823e264758b252
git-subtree-split: 130cc7e044a3ace1a70bbd71ce8ca4c72712ce9e
2017-08-25 15:16:46 -07:00
Chinmay Garde
0f16f8ddea Update buildroot to pick up cleanups in //third_party. (#4011) 2017-08-25 14:45:18 -07:00
Jason Simmons
9abc70c324 Update the license script to handle the new version of ICU (#4009) 2017-08-25 14:17:51 -07:00
Chinmay Garde
2e46f6ff75 Switch to Harfbuzz 1.5.0 from Fuchsia. (#4006) 2017-08-25 12:57:43 -07:00
Ryan Macnak
78d99d4e79 Roll Dart to e9d358921dddbee84c39c951220d5a844b097bb5. (#4008) 2017-08-25 12:16:39 -07:00
Carlo Bernaschina
f5371156d2 Remove dependency from VM isolate name convention (#4007)
Dart_DebugName should be used just to make debug outputs more readable.

We remove the dependency from this API and form the UIDartState debug
name in the engine using the predefined format:
<script_uri>$main-<main_port>

This will allow the engine to change the format of the isolate name
without breaking the engine.
Related https://codereview.chromium.org/3004563003/
2017-08-25 11:11:52 -07:00
Chinmay Garde
217ba07f5d Update ICU to ToT and ensure that slimmed down versions of data files are shipped on the mobile platforms. (#4005)
This reduces the size of the ICU data files from 10.3 MB to 6.6 MB (uncompressed). Also allows us to remove version specific hacks from libTXT and dependencies.
2017-08-24 14:26:07 -07:00
xster
8776c934a2 Let the FlutterAppDelegate's messenger be customizable if the rootViewController isn't a FlutterViewController (#3916)
* Customizable messenger

* rename
2017-08-23 18:50:14 -07:00
mikejurka
3e245ae812 Fix crash when removing stories. (#4003)
Ensure that a Mozart EntityNode (that corresponds
to an ExportNode) is always released on the
Rasterizer thread.

MZ-259
2017-08-23 17:32:19 -07:00
Chinmay Garde
def8061d49 Create a window toolkit agnostic Flutter engine API. (#3987)
* The Flutter engine will be shipped as a shared library.
* The engine is renderer and window toolkit agnostic.
* The simple public C API is described in embedder.h.
* ABI breaking changes will be indicated by changing the FLUTTER_ENGINE_VERSION.
* A simple GLFW based example of this API is available at https://gist.github.com/chinmaygarde/8abf44921f7d87f6da7bf026267c4792
2017-08-23 16:05:16 -07:00
xster
51775c77a9 Add animation to Android too (#3981) 2017-08-23 12:57:06 -07:00
John Bauman
4b96f40947 Enable VK_GOOGLE_external_memory_magma extension on Fuchsia (#3999)
Newer version of the vulkan validation layer check that this
extension is enabled before allowing vkExportDeviceMemoryMAGMA.
2017-08-23 11:53:22 -07:00
Ian Hickson
49d06b3860 Revert "Pass TextDirection to ParagraphBuilder. (#4001)" (#4004)
This reverts commit 86591145a320f2978c3f4c742c972a32bb8cb02a.
2017-08-23 11:14:26 -07:00
Ian Hickson
86591145a3 Pass TextDirection to ParagraphBuilder. (#4001) 2017-08-23 10:34:57 -07:00
Chris Bracken
0062701c7c Disable all rasterizer work while backgrounded on iOS (#4002)
On iOS, backgrounded applications are not permitted to execute GPU work.
See [1].  When backgrounding the application, we now tear down the
underlying iOS render surface, and re-create when the app returns to
foreground.

See [2] for a Technica Q&A on GL-related crashes when rendering is
attempted by a backgrounded application.

[1]: https://developer.apple.com/library/content/documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/ImplementingaMultitasking-awareOpenGLESApplication/ImplementingaMultitasking-awareOpenGLESApplication.html#//apple_ref/doc/uid/TP40008793-CH5-SW1
[2]: https://developer.apple.com/library/content/qa/qa1766/_index.html
2017-08-22 19:57:52 -07:00
Jason Simmons
e887718ca6 Roll Skia to a184ac7e0cdb26919369151f606c194358c94ff5 (#4000) 2017-08-22 15:40:50 -07:00
Ian McKellar
f08b08417d Update to new Dart FIDL bindings API. (#3988)
* Update to new Dart FIDL bindings API.
2017-08-22 13:32:46 -07:00
Alexander Aprelev
364bfa0e6a Fix frontend_server problem with _filename not being set in compile. (#3998)
* Fix problem with _filename not being set. Add tests for that(and add mockito to mock IKG).

* Initialize KernelSerializer, Fix indentation

* Style nits and reworded comment
2017-08-22 11:19:24 -07:00
Alexander Aprelev
c4ac5fe97a Missed one feedback item from https://github.com/flutter/engine/pull/3982 (#3996) 2017-08-21 17:41:16 -07:00
Jason Simmons
e260e35dec Revert to a Jellybean compatible variant of getDrawable (#3997) 2017-08-21 17:25:31 -07:00
jbauman42
af147ba1b7 Update VK_KHX_external_memory dependency to KHR (#3992)
The extension was made official.
2017-08-21 17:09:29 -07:00
Alexander Aprelev
fe0e123b12 Introduce frontend_server that flutter tools will use for compilation. (#3982)
* Introduce frontend_server that allows for interactive and batch modes.

Example of batch mode:
```
$ dart $HOME/p/f/t11/flutter/engine/src/flutter/frontend_server/bin/server.dart --sdk-root=$HOME/p/f/t11/flutter/engine/src/out/android_debug/flutter_patched_sdk --platform-kernel-dill=$HOME/p/f/t11/flutter/engine/src/out/android_debug/flutter_patched_sdk/platform.dill $HOME/p/f/t11/flutter/flutter/examples/flutter_gallery/lib/main.dart

out: result 79256789-598c-4909-a9e4-0ef36d4c26ba
out: 'State&TickerProviderStateMixin^#U0^' is exported from both 'package:flutter/src/widgets/animated_cross_fade.dart' and 'package:flutter/src/widgets/animated_list.dart'.
...
out: Superclass has no method named 'hitTest'.
out: 79256789-598c-4909-a9e4-0ef36d4c26ba $HOME/p/f/t11/flutter/flutter/examples/flutter_gallery/lib/main.dart.dill
$
```

Example of interactive mode - communication via stdin/stdout:
```
$ dart $HOME/p/f/t11/flutter/engine/src/flutter/frontend_server/bin/server.dart --sdk-root=$HOME/p/f/t11/flutter/engine/src/out/android_debug/flutter_patched_sdk --platform-kernel-dill=$HOME/p/f/t11/flutter/engine/src/out/android_debug/flutter_patched_sdk/platform.dill --incremental

out: Frontend server is ready.
in: compile abc.dart
out: result fd99c0f9-12bb-4083-818e-2521d454fdc8
out: fd99c0f9-12bb-4083-818e-2521d454fdc8 abc.dart.dill
in: accept
in: recompile kuka
in: 123.dart
in: 456.dart
in: kuka
out: result d12f8d05-6c79-44f7-a775-1d3469e1be53
in: quit
$
```

* Add test. Cleanup dependencies.

* One more test with mocks

* Remove platform-kernel option. Refactored CompilerOptions. Clean up comments.

* Update license

* Use Uri.base.resolve consistently. Ensure folder path for sdk root. Fix test.

* Fix main_dart for frontend_server build target

* Reintroduce .packages file, add README.md, revert changes to licenses_flutter

* Run analyzer on frontend-server. Update .packages deps so tests can be run too.

* Add analyzer options file

* Clean up dependencies

* Add frontend_server files to license file back

* Fix comment in analysis_options.yaml

* Run frontend_server tests in travis

* Update licenses

* Change a+x permission on travis/test.sh

* pub get before pub run test

* Fix path to when

* Clarify accept/reject instructions

* Formatting, fixed docs, style

* Update license script to skip .travis.yml, when/example. Update license file.

* Update style nits

* Fix license

* Trim license extracted text. Fix licenses

* Update licenses_third_party signature

* Few more tests

* Update dart license

* Update dart license

* Style changes. Fix return value for Future<Null>
2017-08-21 12:55:17 -07:00
Chris Bracken
600567ef15 Fire TextInputClient.updateEditingState on text changes (iOS) (#3995)
For consistency with Android, when the engine receives a
TextInput.setEditingState message from the framework, and the text has
changed, we now send a TextInputClient.updateEditingState message back
to the framework with the updated state from the engine. The framework
currently relies on this behaviour to trigger onChanged events in
certain scenarios (e.g., on tapping Paste in the selection controls).

Note: it may be more desirable for the framework to trigger the
onChanged calls without relying on the return message from the engine,
but this change ensures consistent behaviour across iOS and Android
until we've evaluated the pros/cons of such an approach.
2017-08-21 12:39:56 -07:00
Carlo Bernaschina
e40d4a9fa6 Roll Dart to e673ff0b253d8cadd3249aa0d8efe0516606d704 (#3994)
- Roll Dart to e673ff0b253d8cadd3249aa0d8efe0516606d704
- Update licenses_dart
2017-08-19 14:01:32 -07:00
Jason Simmons
3ec36f0d71 Roll Dart to b8bce019b3e4a344d22ac3c0f805b619565a1f8e (#3993) 2017-08-18 18:36:37 -07:00
Chinmay Garde
689c1b8f5c Update buildroot to pull in Mac toolchain fix. (#3991) 2017-08-18 15:39:37 -07:00
Chinmay Garde
6b7e62d049 Update Skia revision to 141df44fd. (#3989) 2017-08-18 15:04:23 -07:00
Jason Simmons
cd213fad72 Roll buildroot and buildtools to clang-6.0 (#3990) 2017-08-18 14:32:39 -07:00
Jason Simmons
0223e293f2 Improve checks for calls into native code made after the platform view has been detached (#3926) 2017-08-17 10:24:12 -07:00
Jason Simmons
c80860ad1c Skip third_party/benchmark in the license source crawl (#3986)
Also regenerate sky_engine/LICENSE to include libtxt
2017-08-16 16:35:14 -07:00
Jason Simmons
74248d13e4 Allow infinity values in the Dart wrappers for Skia Canvas (#3985)
Fixes https://github.com/flutter/flutter/issues/11586
2017-08-16 16:21:52 -07:00
Carlo Bernaschina
a246501917 Roll Dart to 491390eeaa7974f44a8931d10a899c39c0df8dda (#3984)
- Roll Dart to 491390eeaa7974f44a8931d10a899c39c0df8dda
- Register the EmbedderInformationCallback
2017-08-16 13:17:11 -07:00
Petr Hosek
b99db8948c No longer need to use fuchsia_shared_library (#3983)
Use $shlib_toolchain to find the shared_library output file.
2017-08-15 23:44:38 -07:00
Carlo Bernaschina
1948fef8d5 Avoid race condition into NotifyNextFrameOnce (#3980)
If GPURasterizer::NotifyNextFrameOnce was rapidly invoked twice could
have lead to a null pointer exception.

Also ftp::WeakPtr are not thread safe and should not be dereferenced
from other threads.
2017-08-15 14:35:16 -07:00
Jason Simmons
841cd66712 Remove use of a deprecated getDrawable API (#3979) 2017-08-15 11:54:04 -07:00
xster
08eb72341f Add an explicit user configurable check for whether to keep showing the splash screen. (#3976) 2017-08-15 11:01:12 -07:00
Zachary Anderson
07bc550803 Fix Fuchsia build (#3978) 2017-08-15 08:18:07 -07:00
Zachary Anderson
23036e515a Fixes for gypi -> gni change in Dart (#3977) 2017-08-15 07:44:27 -07:00
xster
f187a5c219 Create platform API for first frame callback. Use for defer hiding splash screens on Android and iOS (#3956)
* Add back launch screen view until first frame on iOS

* improvements

* Move callback plumbing from ios surfaces to the gpu rasterizer. Didn’t wire java JNI yet.

* Android JNI

* Fix ios reference count and let android engine manage a view on top with launch screen

* Hook up Android activity and view

* review notes

* review notes

* Move thread switching upstream. Use weak references for callbacks.

* Some clean up
2017-08-14 15:44:52 -07:00
Jason Simmons
fef7d827d6 Allow infinite cull rectangles on a Canvas (#3975) 2017-08-10 17:20:59 -07:00
Jason Simmons
a7ae2abb59 Capture fractional pixel coordinates in the bounds of raster cache bitmaps (#3974)
The bitmap used to hold a prerolled image in the raster cache must have an
integer width/height in pixels.  However, the picture used to draw the image
may have a non-integer width/height in physical coordinates and thus not
completely fill the bitmap.  The compositor should only select the subset
of the bitmap that reflects the portion filled by the rendered picture.
2017-08-10 14:08:16 -07:00
Jason Simmons
06f6a98706 Apply antialiasing in calls to SkCanvas::clipRect (#3973)
Without this, the cull rect calculated by an SkPicture may be truncated
to integer pixel coordinates.  The raster cache relies on a precise cull
rect in logical coordinates.

See https://bugs.chromium.org/p/skia/issues/detail?id=6954
2017-08-10 13:23:35 -07:00
Alexander Aprelev
941070f5f3 Reapply introduction of dart sdk build steps into Flutter engine (#3972)
* Revert "Revert "Build standalone dart sdk as part of Flutter engine. (#3954)" (#3970)"

This reverts commit 86e007d977c32a482f747aad7ef77dba27a30a1f.

* Add 7-zip download as a hook

* Advance buildroot dependency

* Fix buildroot dependency
2017-08-10 08:42:05 -07:00
Gary Qian
130cc7e044 Add ParagraphBuilder::PeekStyle() to allow Flutter style inheritance.
Change-Id: Ia198778d9a7cfd7053390e6195bf8e03245add77
2017-08-09 18:18:19 -07:00
Gary Qian
ffd0311172 Respect paragraphstyle defaults, slight font name discovery improvements, better italic tests.
Change-Id: I4f032b315a68e2279087f701ab7bd920846cd723
2017-08-09 15:35:17 -07:00
Chinmay Garde
d8ab878c83 Only enable_lto on platforms where the toolchain recognizes the flag. (#3971) 2017-08-09 14:29:05 -07:00