3573 Commits

Author SHA1 Message Date
Jason Simmons
d47e663efa Re-land "Hold a global reference to the AssetManager Java object backing the APKAssetProvider" (flutter/engine#5132)
Fixes https://github.com/flutter/flutter/issues/16222
2018-04-30 12:29:40 -07:00
Jason Simmons
8c9ef95bea Detach from JNI during shutdown of the UI thread on Android (flutter/engine#5120)
The APKAssetProvider will hold a reference to its Java peer
(see c2b081e229)

After dropping this reference, the UI thread must detach from JNI before exiting.
2018-04-30 10:44:01 -07:00
Chinmay Garde
bdaa00232e In case of empty Dart data responses, don’t call the buffer method on null. (flutter/engine#5114)
Fixes regression introduced in https://github.com/flutter/engine/pull/5101.
2018-04-27 15:22:16 -07:00
Yegor
2b58565cee Revert "Hold a global reference to the AssetManager Java object backing the APKAssetProvider (#5078)" (flutter/engine#5116)
This reverts commit c2b081e229eb3c1103d0d06f0c9d7057166ece1d.

It causes engine crashes in some Android Espresso tests.
2018-04-27 13:47:26 -07:00
Jason Simmons
cb86a973a7 Create message response external typed data objects as Uint8Lists (flutter/engine#5101)
PlatformMessageResponseDart will wrap large responses in Dart external typed
data objects in order to avoid copying the data into a new buffer.

Previously these objects were created with the Dart_TypedData_kByteData type.
A weak persistent handle is then associated with the ByteData to provide a
finalizer that deletes the raw buffer.  However, the Dart VM could call
finalizer on the ByteData even if references still existed to the Dart ByteBuffer
object backing the ByteData.  The ByteBuffer would then be referencing a deleted
raw buffer.

This PR prevents that scenario by creating a Dart_TypedData_kUint8 object,
attaching the finalizer to that object, and then wrapping it in a ByteData.
2018-04-26 17:49:51 -07:00
Jonah Williams
08d8e86ff1 Add tooltip method to Android AccessibilityBridge (flutter/engine#5103) 2018-04-26 15:03:47 -07:00
Jason Simmons
dd83413e52 libtxt: post-process glyph positions in order to accurately right-justify text (flutter/engine#5093)
Previously libtxt was applying right justification during line layout based on
the line width returned by the Minikin line breaker.  However, this width does
not include the width of leading or trailing whitespace.

So in a right justified line the starting offset of the first glyph would not
account for the advance of the leading whitespace, resulting in text being
clipped.

This PR applies line justification after the glyphs are laid out and the full
advance of the text is known.

Fixes https://github.com/flutter/flutter/issues/16333
2018-04-26 09:42:38 -07:00
Alexander Aprelev
7bbee90efb Set file modified callback. (flutter/engine#5096)
This fixes dart1 hot reload regression caused by 82c5c8fed.
2018-04-26 08:43:28 -07:00
Dan Field
4fc5359abc Path metrics/getBounds/combinations again (flutter/engine#4957)
* add path measure

* fix typo

* getBound and addPathWithMatrix

* Add myself to Authors, add PathOps

* fix linting issues

* update licenses_flutter to add new files

* Use matrix4 instead of matrix3 for consistency/interop

* put pubspec back

* fix bug in getSegment

* fix typo

* Add return value for PathOp

* refactoring from review

* refactoring from review - still TBD on computeMetrics()

* add doc

* lint issue

* fix computeMetrics, add Path.from

* add missing wireup for clone

* change PathMetrics to iterable, fix bug with angle on Tangent

* prefer std::make_unique

* cleanup docs

* add path measure

* fix typo

* getBound and addPathWithMatrix

* Add myself to Authors, add PathOps

* fix linting issues

* update licenses_flutter to add new files

* Use matrix4 instead of matrix3 for consistency/interop

* put pubspec back

* fix bug in getSegment

* fix typo

* Add return value for PathOp

* refactoring from review

* refactoring from review - still TBD on computeMetrics()

* add doc

* lint issue

* fix computeMetrics, add Path.from

* add missing wireup for clone

* change PathMetrics to iterable, fix bug with angle on Tangent

* prefer std::make_unique

* cleanup docs

* fix iterator bug

* remove unnecessary clone for computeMetrics

* fix some doc issues

* fix PathMeasure iterator, extendWithPath, isClosed, and pubspec.lock

* get rid of orElse; use StateException

* StateError, not StateException

* doc improvements and nits

* add unit tests, fix bugs found during testing

* fix two uncommited doc changes

* one more

* change sign of tangent angle, update docs

* update unit tests for inverted angle

* update tangent to include vector

* Doc fixes

* Fix MSVC compilation and unit test
2018-04-25 15:35:01 -07:00
Ben Konyi
e603014960 Initial plugin support for background downloads + content fetching (flutter/engine#5082)
* Added handleEventsForBackgroundURLSession and
performFetchWithCompletionHandler handlers in FlutterAppDelegate to
allow for plugins to perform background downloads and fetch small
amounts of data opportunistically.
2018-04-25 13:35:01 -07:00
Ryan Macnak
b8b7e8e829 [fuchsia] Changes for running Dart 2 on flutter_runner. (flutter/engine#5080)
- Remove assumption that we're in Dart 2 mode only if there's a platform kernel.
 - Load core snapshots from the package instead of linking them in.
2018-04-25 13:31:13 -07:00
Jason Simmons
13b1f11bfe Throw an exception if a secondary isolate tries to send a platform message (flutter/engine#5069)
Platform messages are only support in the UI isolate.  Secondary isolates
do not have a window that can receive incoming messages, and outgoing messages
are not tagged with a destination isolate and thus will always be dispatched
to the UI isolate.

Fixes https://github.com/flutter/flutter/issues/16846
2018-04-25 10:29:20 -07:00
Michael Goderbauer
890dd8c739 Roll Dart to 8d4074175fb95cd4da810b4bf652a956449bac37 (flutter/engine#5089) 2018-04-25 10:03:19 -07:00
Michael Goderbauer
fafddbcd6a Revert "Roll dart to 29d6e963702fcbb0ed0d5ca67d6b5f977ac0c328 (#5083)" (flutter/engine#5085)
This reverts commit efeed7c7174d8e3e05c5ae3793e6b26b77b4e64f.
2018-04-24 18:49:40 -07:00
Michael Goderbauer
efeed7c717 Roll dart to 29d6e963702fcbb0ed0d5ca67d6b5f977ac0c328 (flutter/engine#5083)
Picks up a fix for math on 32bit ARM devices running iOS, required for https://github.com/flutter/flutter/issues/2089.
2018-04-24 18:06:53 -07:00
Chinmay Garde
602b9b7c33 Add disabled failing test for floating point errors on matrix decomposition. (flutter/engine#5076) 2018-04-24 16:02:38 -07:00
Jason Simmons
c2b081e229 Hold a global reference to the AssetManager Java object backing the APKAssetProvider (flutter/engine#5078)
Fixes https://github.com/flutter/flutter/issues/16222
2018-04-24 15:50:52 -07:00
Ryan Macnak
0c28a669f2 [fuchsia] Remove dead package file generation from core snapshots. (flutter/engine#5071) 2018-04-24 09:33:52 -07:00
Chinmay Garde
7293d4cef9 Fixup Fuchsia content handler post shell refactor. (flutter/engine#5072) 2018-04-23 20:16:01 -07:00
Yegor
82678dc356 replace nextNodeId/previousNodeId with hitTestPosition (flutter/engine#5066) 2018-04-23 16:16:17 -07:00
Jason Simmons
21d13e46fa Use the default microtask scheduler on all isolates except the UI isolate (flutter/engine#5068)
See https://github.com/flutter/flutter/issues/16846
2018-04-23 15:02:19 -07:00
Yegor
5d94c8dece ios: remove geometric order; it will be supplied by framework (flutter/engine#4937) 2018-04-23 13:17:25 -07:00
Chinmay Garde
e25af6f85e Apply unaddressed comments in pull/5062 (flutter/engine#5065) 2018-04-23 12:16:15 -07:00
skia-flutter-autoroll
8c64df9150 Roll src/third_party/skia/ 3d0e8507f..5209d7fce (14 commits) (flutter/engine#5061)
https://skia.googlesource.com/skia.git/+log/3d0e8507face..5209d7fce35f

$ git log 3d0e8507f..5209d7fce --date=short --no-merges --format='%ad %ae %s'
2018-04-20 bsalomon Fix starting location in GrRTC::drawOval when converting to GrShape
2018-04-20 bsalomon Analytic dashing of circles with single on/off intervals and butt caps.
2018-04-20 brianosman Fix argument names and documentation for SkMatrix44::set3x3()
2018-04-18 enne Reland "Add stub gpu workaround generators"
2018-04-20 robertphillips Add ability to dump opList info at flush-time
2018-04-20 benjaminwagner Fix Housekeeper-PerCommit-InfraTests
2018-04-20 scroggo Reduce threads used for DNG decodes on Android
2018-04-19 benjaminwagner Add SwiftShader Build jobs.
2018-04-19 benjaminwagner Add cmake_linux asset.
2018-04-20 egdaniel Add discard check when deciding if we should execute op list or not.
2018-04-20 robertphillips Remove another writePixels instance
2018-04-18 csmartdalton ccpr: Don't solve for cubic roots that are out of range
2018-04-19 benjaminwagner Add SwiftShader to DEPS.
2018-04-19 csmartdalton ccpr: Fix flatness and triangle-ness detection for conics

Created with:
  roll-dep src/third_party/skia
2018-04-23 10:26:06 -04:00
Chinmay Garde
d31e721e6c Import intrusively ref counted shared pointers into FML. (flutter/engine#5062) 2018-04-21 20:50:03 -07:00
Todd Volkert
cf5661d4ae Support different encodings in Image.toByteData() (flutter/engine#5060)
Fixes https://github.com/flutter/flutter/issues/16635
2018-04-20 19:47:27 -07:00
Jason Simmons
4a5f9d7c9f Fix syntax error in AccessibilityBridge (flutter/engine#5059) 2018-04-20 13:54:27 -07:00
Jason Simmons
1fab880e72 Prevent multiple calls to FlutterMain.startInitialization (flutter/engine#5058)
See https://github.com/flutter/flutter/issues/16748
and https://github.com/flutter/flutter/issues/16456
2018-04-20 11:38:10 -07:00
Michael Goderbauer
3034fd831c Add SemanticsFlag.isHidden (flutter/engine#5052) 2018-04-20 10:37:02 -07:00
skia-flutter-autoroll
602a3a3727 Roll src/third_party/skia/ c4e384e5a..3d0e8507f (18 commits) (flutter/engine#5056)
https://skia.googlesource.com/skia.git/+log/c4e384e5ad85..3d0e8507face

$ git log c4e384e5a..3d0e8507f --date=short --no-merges --format='%ad %ae %s'
2018-04-20 robertphillips Prevent matrix stack from being corrupted if a rotated image filter is clipped out
2018-04-20 caryclark guard against NaN in path is rect
2018-04-19 fmalita Fix use-of-uninitialized-value in SkPictureShader::onMakeContext
2018-04-19 benjaminwagner Disable retries for Build, CT, and Calmbench tasks.
2018-04-20 angle-skia-autoroll Roll third_party/externals/angle2/ b0f917fa6..3ec304dba (1 commit)
2018-04-20 angle-skia-autoroll Roll third_party/externals/angle2/ e24032a2c..b0f917fa6 (3 commits)
2018-04-19 csmartdalton ccpr: Don't preempt the convex path renderer
2018-04-19 benjaminwagner Add more angle_gl_* configs for NVIDIA.
2018-04-19 jvanverth Remove ambient clamp hack for analytic shadows.
2018-04-19 brianosman Remove duplicate predefined configs
2018-04-18 csmartdalton ccpr: Clean up GrCCGeometry
2018-04-19 herb Adding pinning to the strike cache
2018-04-19 bsalomon Fix double counting of coverage in analytic round capped stroked circles.
2018-04-11 bungeman Document minimum OS requirements.
2018-04-19 angle-skia-autoroll Roll third_party/externals/angle2/ eeec3b14c..e24032a2c (2 commits)
2018-04-18 robertphillips rm SkRRectsGaussianEdgeMaskFilter
2018-04-19 borenet [skcms] Add version.sha1
2018-04-19 mtklein crash rather than overflow in SkTDArray

Created with:
  roll-dep src/third_party/skia
2018-04-20 13:16:21 -04:00
Chinmay Garde
1461d08b68 Prepare and run child isolates on a VM managed (i.e. no UI) task runner. (flutter/engine#5054) 2018-04-19 19:17:11 -07:00
Jason Simmons
a9d706ed38 Throw an error or return null if FlutterView.getBitmap fails (flutter/engine#5051)
getBitmap had been doing FXL_CHECK assertions to check memory allocation
failures and other errors.  getBitmap will now return null to the caller
instead.
(The VM may throw OutOfMemoryError or other exceptions if JNI APIs fail)

Fixes https://github.com/flutter/flutter/issues/16750
2018-04-19 16:12:22 -07:00
Jason Simmons
e2c22f864f Use the raster cache when rendering screenshots as bitmaps (flutter/engine#5050)
This matches the behavior from before the shell refactoring.

Fixes https://github.com/flutter/flutter/issues/16754
2018-04-19 13:32:00 -07:00
Chinmay Garde
4aa708019e Look for an assets path specification in the Info.plist. (flutter/engine#5049) 2018-04-19 12:01:46 -07:00
Jonah Williams
656482af41 AccessibilityBridge support for edge triggered semantics (iOS + Android) (flutter/engine#4901)
AccessibilityBridge support for edge triggered semantics (iOS + Android)
2018-04-19 11:14:47 -07:00
Chinmay Garde
08ba5c14e6 Fix more Linux unittest targets. (flutter/engine#5045) 2018-04-18 18:15:50 -07:00
Jason Simmons
5013086e9e libtxt: add boxes representing empty lines in GetRectsForRange (flutter/engine#5043)
If the start/end range passed to GetRectsForRange includes lines of text
that did not render any glyphs, then GetRectsForRange should add a placeholder
for that line.  In particular, the framework expects this so that it can
position the cursor on an empty line when editing text.

Fixes https://github.com/flutter/flutter/issues/16418
2018-04-18 18:04:52 -07:00
Brian Osman
ebb33d946a Enable downscale of very large images when uploading on IO thread (flutter/engine#5011) 2018-04-18 18:00:00 -07:00
Chinmay Garde
326b317633 Allow runtime unit-test to perform dynamic symbol resolution for Dart snapshots. (flutter/engine#5044) 2018-04-18 17:55:39 -07:00
Chinmay Garde
693b7f248e Don’t build the host shell on target builds. (flutter/engine#5042) 2018-04-18 16:28:24 -07:00
Jason Simmons
6856d1b63d Remove the weak pointer factory from the service isolate's DartIsolate object (flutter/engine#5041)
The WeakPtrFactory must be deleted on the thread where it was created.
However, the service isolate is created and destroyed on threads from
the Dart thread pool, and the creating thread may not be the same as
the destroying thread.
2018-04-18 13:02:19 -07:00
Chinmay Garde
8b6922845b Update the embedder GN target to use a source set instead of a complete static library. (flutter/engine#5040)
Creating a dylib from a “complete” static library does not propagate symbol visisbility definitions. I also got rid of the static library and used a source set instead because we don’t need to do the extra work for other targets.
2018-04-18 12:50:22 -07:00
Chinmay Garde
aa8636c3fc Implement Scene::toImage for creating a raster image representation of a scene. (flutter/engine#5021) 2018-04-18 12:42:16 -07:00
Jason Simmons
2e50155f95 Configure kernel paths in the embedder if the asset directory contains the kernel assets (flutter/engine#5039)
"flutter build bundle" in Dart 2 mode now builds an assets directory
containing the application and platform kernels along with the app's other
assets.

With this patch, embedders can run these bundles by setting
FlutterProjectArgs.assets_path to the bundle directory.  In this scenario,
FlutterProjectArgs.main_path and packages_path will be ignored.
2018-04-18 12:12:39 -07:00
Chinmay Garde
3028fb7777 Simplify weak pointer factories and allow vending weak pointers on multiple threads. (flutter/engine#5029) 2018-04-18 11:07:16 -07:00
Siva
80a6a46fb4 Roll Dart to version fe606f890b0a311da802c78b0af414a3c2087a79 (flutter/engine#5033)
fe606f890b Revert [vm/compiler] Canonicalize more intermediate constants in IL.
54531ad4e7 Bring in the latest pub_semver
61b15fede8 [build] Remove unnecessary inputs from uses of application_snapshot.
9968728df1 Remove package:cli_util deps from package:analyzer.
0ca8b6e5be Improve recovery when "assert" is used in an expression
6de5da1f58 fix #32649, add an option to disable asserts in DDC/K
afbaf0c4a6 Add 'Extract Widget' to getAvailableRefactorings().
d4a1896cfb Demote IMPORT_DUPLICATED_LIBRARY_NAMED to a warning
f85480b4dd Add tests for CFE implementation of expression compilation.
a865531f57 Remove two unused classes from the public API
3b7199fe63 [standalone] Only allow one outstanding load when running with --deterministic.
35fecb4a10 Issue 32896. Add isXYZ accessors to ParameterElementForLink_VariableSetter.
8df94f34fd Improve fasta parser await-for statement recovery
dd897d35a2 Move the task API out of the public API
c32e0e4bf3 [vm] Clear trailing bytes of objects that end up in snapshot images.
3a5fcf5a87 Upgrade the dep on package:isolate.
973a1a0219 Remove uses of upper-case constants in remaining SDK code.
b3595d59b3 [VM] Revert small change in FlowGraphCompiler::EmitTestAndCallCheckCid
0cbd4b520a Address review comments from change 51120
5dd283e783 fix #32270, DDC tests can now work with preview-dart-2
ce2b0db370 Improve fasta parser "assert" recovery
f8f5365a94 [vm/compiler] Fix sorting of instructions stats.
30655dcea0 [vm/aot] Treat Endian.host as a compile time constant.
eeaea82b75 Update status on test that often times out
805c08d8bf Fix a run-time type issue when running in Dart 2 mode
b1bc4ed2b5 Handle as in nested const constructors
823dfda5a5 Delete serialization, except for equivalence and helpers used in other tests.
7383cd46e0 Fix for issue 32872
86ba29265a Clean up the use of deprecated API in the analyzer_plugin package
fbb60b786f Add generic bounds test to function_type_variable_test
fd5f998796 [vm] Delta-encode offsets into ROData.
6fe7a86e7f Replace SourceFactory.resolveUri() with resolveRelativeUri() in resynthesizer.
2fb94418cd Mark mirrors test crashing.
c2b338f1b7 Remove fuzzy arrow support from analyzer
9976cddcd7 Shared cache of FileState contents.
b52931ff30 Revert "[vm/kernel] Fix non-canoncialized type arguments in partial instantiation."
c214c43758 Make LineInfo a public class
bd12c869ae [vm/kernel] Fix non-canoncialized type arguments in partial instantiation.
51a2f96a71 Always call writeAnnotationList to write annotations.
974a8ee21d Fix crash in named function expression
988de9c925 Thread forest object through calls
51f9d243e7 [VM] Mark type as finalized before calling the Canonicalize() method
a8578eaf69 Clean up some imports in Fasta type inference
e9616da13e Cleanup TypeInfo
3b414a277c Reland "[VM] Introduction of type testing stubs - Part 1-4"
c5f69dff2d Include `call` on Closure in inference
826928e2ab Use _trust to test inference of --omit-implicit-checks
6802746ad7 Fixed a couple of typos in subtyping.md
782cfe04d1 fix #32756, DDC dynamic calls to generics will work with emit-metadata
8613938e33 fix DDK to track mock setters correctly.
92f1d0fab4 [gn] Allow single or double quotes in .config
e2ee654cd1 Make a method in MempryResourceProvider private
b0fafbd1f4 Clean up js_runtime parse/tryParse methods
5e1cb4d41b Make SourceRange part of analyzers public API
1ab4cee181 Add a benchmark for running flutter analyze --flutter-repo against flutter head.
ff24a5ee6b fasta: make strong-mode inference aware of the type of LoadLibrary and CheckLibraryIsLoaded
6d7df88fa3 Delay computing file name sets until they are requested.
b7cc1e7ce7 Fix stack overflow in RTI computation
6db4ea4ca5 [vm] Use unsigned varints when possible in the clustered snapshot.
2018-04-18 11:07:56 +02:00
Chinmay Garde
7b5e21ff33 Clear the canvas when attempting to render to the surface. (flutter/engine#5036) 2018-04-17 19:04:52 -07:00
Chinmay Garde
e01a739b45 Make the rasterizer own the compositor context. (flutter/engine#5034)
This allows the texture registry to be accessed before render surface acquisition.
2018-04-17 18:45:58 -07:00
xster
77b1a14fde Correct ninja command instruction (flutter/engine#5032)
giving -C twice silently only builds one directory
2018-04-17 18:32:50 -07:00
Chinmay Garde
e45e1c17b2 Don't send platform messages to isolates that are not running. (flutter/engine#5031)
Isolates may be launched and awaiting snapshot association. We don't
want to send such isolates any messages before their "main" method is
called. In such cases, the engine may intercept and store certain
launch specific information.
2018-04-17 17:10:17 -07:00