Commit Graph

2874 Commits

Author SHA1 Message Date
Zachary Anderson
814847ec3c [Fuchsia] Pass namespaces to Isolates (flutter/engine#4047) 2017-09-01 13:17:20 -07:00
Chinmay Garde
db6a6c8809 Fix the libTXT benchmarking target for API updates and compile on Mac. (flutter/engine#4049) 2017-09-01 12:27:35 -07:00
Chinmay Garde
7d184eb710 Wire up support for multiple font managers in txt::FontCollection. (flutter/engine#4042) 2017-09-01 11:56:38 -07:00
Ryan Macnak
d6e340346d Initial implementation of idle notification. (flutter/engine#4012)
- Assumes only the Dart VM is interested in idle notification.
 - Gives the VM the time remaining in each frame.
 - Gives the VM 100ms if there is no pending frame.

Issue flutter/flutter#9594
2017-09-01 11:11:25 -07:00
Jason Simmons
2b3c53ecd1 Update the license script for the Garnet tree (flutter/engine#4045)
See https://github.com/flutter/engine/pull/4043
2017-09-01 11:00:59 -07:00
Adam Barth
a5906680dd Fix Fuchsia build 2017-08-31 17:23:41 -07:00
Adam Barth
2cf3cffd3f Add //garnet (flutter/engine#4043)
This repository contains FTL now in the Fuchsia build.
2017-08-31 16:47:13 -07:00
Ryan Macnak
e766555661 Fix truncation of frame time on 32-bit Android. (flutter/engine#4040) 2017-08-31 09:46:34 -07:00
Adam Barth
23cc9ebd3e Update gn path for FIDL move (flutter/engine#4023)
We're moving the FIDL library to a new path. This patch updates the GN
dependency.
2017-08-30 12:53:03 -07:00
Ian McKellar
00c64afc52 Add new entry points for dart:fidl.internal (flutter/engine#4039) 2017-08-29 15:53:37 -07:00
Jason Simmons
8c330fdb1d Revert "Re-enable Unicode ZWJ handling code that had been disabled pending an ICU update (#4035)" (flutter/engine#4036)
This reverts commit 3d8d4c0ef7.

Fuchsia is still using an older version of ICU that does not support this.

Also temporarily disable a unit test that failed without the reverted patch.
2017-08-29 12:53:25 -07:00
Jason Simmons
3d8d4c0ef7 Re-enable Unicode ZWJ handling code that had been disabled pending an ICU update (flutter/engine#4035) 2017-08-29 11:47:58 -07:00
Sarah Zakarias
8becc361af fix binaryMessenger in FlutterAppDelegate (flutter/engine#4030) 2017-08-29 13:58:26 +02:00
Ian Hickson
bef10d5a70 Implement i18n features in the a11y API. (flutter/engine#4029) 2017-08-28 16:12:39 -07:00
Chinmay Garde
c78cf3d594 Use GrBackendRenderTarget rather than the deprecated GrBackendRenderTargetDesc. (flutter/engine#4028) 2017-08-28 15:53:57 -07:00
Chinmay Garde
d6f8378f56 Remove manual checks for arguments correctly handled by u_hasBinaryProperty. (flutter/engine#4025)
After the DEPS updates, we use Unicode 9.0 and so these workarounds are not necessary. I re-ran all the EmojiTests to verify.
2017-08-28 13:49:40 -07:00
Chinmay Garde
725938c95b Avoid workarounds for old version of ICU and Harfbuzz. (flutter/engine#4024) 2017-08-28 13:28:09 -07:00
Jason Simmons
e4cc8f5e41 Rebase the libtxt integration by @GaryQian onto the current engine head (flutter/engine#4022)
See https://github.com/flutter/engine/pull/3964
2017-08-28 13:01:15 -07:00
Michael Goderbauer
1fe869197a Traverse children from top left to bottom right for a11y (flutter/engine#4017)
* order

* comment fix

* review comments
2017-08-28 12:02:07 -07:00
Chinmay Garde
aa243473a3 Add more tests from the Android Minikin test bench to the common test runner. (flutter/engine#4020)
This will allow us to use the common font fixtures.
2017-08-28 10:10:15 -07:00
Chinmay Garde
8bd3df87a2 Clang format the imported minikin sources, tests and benchmarks to match Flutter engine stylf. (flutter/engine#4018) 2017-08-25 17:43:47 -07:00
Chinmay Garde
589cd19d89 Create a unified target for the txt and minikin library, tests and benchmarks. (flutter/engine#4016) 2017-08-25 17:14:47 -07:00
Jason Simmons
a3fb3be303 Move libtxt under flutter/third_party in the license script (flutter/engine#4015) 2017-08-25 16:16:00 -07:00
Michael Goderbauer
050b4456fd Only expose available semantic scroll actions (flutter/engine#4010)
* Only expose available scroll actions

* formatting

* more formatting
2017-08-25 16:12:50 -07:00
Chinmay Garde
0ca80951be Add 'third_party/txt/' from commit '19426206958a432405c0d4b77102a67dde4d2fa1'
git-subtree-dir: third_party/txt
git-subtree-mainline: 106bbf2d3a
git-subtree-split: 1942620695
2017-08-25 15:16:46 -07:00
Jason Simmons
7af7d5ee18 Update the license script to handle the new version of ICU (flutter/engine#4009) 2017-08-25 14:17:51 -07:00
Chinmay Garde
b16a1fc30f Switch to Harfbuzz 1.5.0 from Fuchsia. (flutter/engine#4006) 2017-08-25 12:57:43 -07:00
Carlo Bernaschina
f3aaa23f74 Remove dependency from VM isolate name convention (flutter/engine#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
6a41695e04 Update ICU to ToT and ensure that slimmed down versions of data files are shipped on the mobile platforms. (flutter/engine#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
5f93b1e9f3 Let the FlutterAppDelegate's messenger be customizable if the rootViewController isn't a FlutterViewController (flutter/engine#3916)
* Customizable messenger

* rename
2017-08-23 18:50:14 -07:00
mikejurka
3bf835e3cd Fix crash when removing stories. (flutter/engine#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
6c91bf883d Create a window toolkit agnostic Flutter engine API. (flutter/engine#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
be545ba93b Add animation to Android too (flutter/engine#3981) 2017-08-23 12:57:06 -07:00
John Bauman
65dbd61aca Enable VK_GOOGLE_external_memory_magma extension on Fuchsia (flutter/engine#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
066f1b719a Revert "Pass TextDirection to ParagraphBuilder. (#4001)" (flutter/engine#4004)
This reverts commit 515f72380c.
2017-08-23 11:14:26 -07:00
Ian Hickson
515f72380c Pass TextDirection to ParagraphBuilder. (flutter/engine#4001) 2017-08-23 10:34:57 -07:00
Chris Bracken
433b2507db Disable all rasterizer work while backgrounded on iOS (flutter/engine#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
Ian McKellar
294cb8fa86 Update to new Dart FIDL bindings API. (flutter/engine#3988)
* Update to new Dart FIDL bindings API.
2017-08-22 13:32:46 -07:00
Alexander Aprelev
cf23a4d599 Fix frontend_server problem with _filename not being set in compile. (flutter/engine#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
e859ef3093 Missed one feedback item from https://github.com/flutter/engine/pull/3982 (flutter/engine#3996) 2017-08-21 17:41:16 -07:00
Jason Simmons
1e5a61b584 Revert to a Jellybean compatible variant of getDrawable (flutter/engine#3997) 2017-08-21 17:25:31 -07:00
jbauman42
68448fcd3c Update VK_KHX_external_memory dependency to KHR (flutter/engine#3992)
The extension was made official.
2017-08-21 17:09:29 -07:00
Alexander Aprelev
c5c4abaeff Introduce frontend_server that flutter tools will use for compilation. (flutter/engine#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
1fda50a2c0 Fire TextInputClient.updateEditingState on text changes (iOS) (flutter/engine#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
Jason Simmons
de38c0b15a Improve checks for calls into native code made after the platform view has been detached (flutter/engine#3926) 2017-08-17 10:24:12 -07:00
Jason Simmons
e6c9b04074 Skip third_party/benchmark in the license source crawl (flutter/engine#3986)
Also regenerate sky_engine/LICENSE to include libtxt
2017-08-16 16:35:14 -07:00
Jason Simmons
bd7ae44737 Allow infinity values in the Dart wrappers for Skia Canvas (flutter/engine#3985)
Fixes https://github.com/flutter/flutter/issues/11586
2017-08-16 16:21:52 -07:00
Carlo Bernaschina
a78aa4cde4 Roll Dart to 491390eeaa7974f44a8931d10a899c39c0df8dda (flutter/engine#3984)
- Roll Dart to 491390eeaa7974f44a8931d10a899c39c0df8dda
- Register the EmbedderInformationCallback
2017-08-16 13:17:11 -07:00
Petr Hosek
8f73cd6c6c No longer need to use fuchsia_shared_library (flutter/engine#3983)
Use $shlib_toolchain to find the shared_library output file.
2017-08-15 23:44:38 -07:00
Carlo Bernaschina
e2b8d9e76b Avoid race condition into NotifyNextFrameOnce (flutter/engine#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