Commit Graph

611 Commits

Author SHA1 Message Date
Greg Spencer a1d84996dd Fix spelling errors in dartdocs (#7997)
Fix the spelling errors in the dartdocs for the engine.

There are no functionality changes here, just documentation fixes.
2019-02-28 14:42:55 -08:00
Jason Simmons 9b924765f4 Improve performance of Locale.toString (#7990)
Use a map instead of a switch to replace deprecated language and country codes.
Also cache the result for the most recently used locale.
2019-02-27 14:41:58 -08:00
Jonah Williams e32531f0ee Switch flutter's dart sdk to full and add dartdevc libraries (#7968) 2019-02-26 14:49:09 -08:00
Ben Konyi fb1c543dd4 Link dart:* sources into engine for debugger source support (#7908)
Link dart:* sources into engine for debugger source support

Currently, dart:* libraries appear to have no source in
debuggers like Observatory. With this change, these sources will be
available in debug mode applications. Sources for dart:* libraries are
lazily loaded on a script-by-script basis.

Refer to https://dart-review.googlesource.com/c/sdk/+/93375 for the Dart
SDK change.
2019-02-26 13:28:04 -08:00
Chris Bracken 5db4b37724 Revert dart rolls (#7913)
* Roll back three Dart SDK rolls

Revert "Roll src/third_party/dart 75ee523f91..4cff5a4fd6 (6 commits)"
Revert "Roll src/third_party/dart 5ddd157809..75ee523f91 (19 commits)"
Revert "Roll src/third_party/dart c92d5ca288..5ddd157809 (153 commits)"

`pub upgrade` appears to fail 100% reproducibly on broken on Windows.
This rollback rolls back both what appears to be the breaking roll (61fc178)
and the following roll.

This reverts commit 0053c1d506.
This reverts commit 1cf6b8b64d.
This reverts commit 61fc1786fd.

* Revert "Revert "Revert "Remove unnecessary entry-point closurization. (#7827)" (#7876)" (#7904)"

This reverts commit 93eeb48bae.
2019-02-21 16:53:20 -08:00
Dan Field 93eeb48bae Revert "Revert "Remove unnecessary entry-point closurization. (#7827)" (#7876)" (#7904)
This reverts commit f45572e95f.
2019-02-21 10:57:31 -08:00
Chris Bracken abe9826a9d Add accessibility semantics support to embedder (#7891)
Flutter's accessibility APIs consist of three main calls from the
embedder to the Dart application:

  1. FlutterEngineUpdateSemanticsEnabled: enables/disables semantics support.

  2. FlutterEngineUpdateAccessibilityFeatures: sets embedder-specific
     accessibility features.

  3. FlutterEngineDispatchSemanticsAction: dispatches an action (tap,
     long-press, scroll, etc.) to a semantics node.

and two main callbacks triggered by Dart code:

  1. FlutterUpdateSemanticsNodeCallback: notifies the embedder of
     updates to the properties of a given semantics node.

  2. FlutterUpdateSemanticsCustomActionCallback: notifies the embedder
     of updates to custom semantics actions registered in Dart code.

In the Flutter framework, when accessibility is first enabled, the
embedder will receive a stream of update callbacks notifying the
embedder of the full semantics tree. On further changes in the Dart
application, only updates will be sent.
2019-02-20 18:59:29 -08:00
Chris Bracken dad6ec01c3 Correct onAccessibilityFeaturesChanged docs (#7883)
Reference to `accessibilityFlags` corrected to `accessibilityFeatures`.
2019-02-20 08:53:12 -08:00
Chris Bracken a150cc125a Fix minor typos in accessibility action docs (#7882)
Fixes a minor pluralisation error in docs for didGainAccessibilityFocus,
didLoseAccessibilityFocus.
2019-02-19 23:27:37 -08:00
Dan Field f45572e95f Revert "Remove unnecessary entry-point closurization. (#7827)" (#7876)
This reverts commit 3a1b9b3d85.
2019-02-19 16:14:31 -08:00
Dan Field 572fea361c Revert "Shut down and restart the Dart VM as needed. (#7832)" (#7877)
This reverts commit 0d6ff1669c.
2019-02-19 16:14:18 -08:00
sjindel-google 3a1b9b3d85 Remove unnecessary entry-point closurization. (#7827) 2019-02-18 14:23:17 +01:00
Chinmay Garde 0d6ff1669c Shut down and restart the Dart VM as needed. (#7832)
The shell was already designed to cleanly shut down the VM but it couldnt
earlier as |Dart_Initialize| could never be called after a |Dart_Cleanup|. This
meant that shutting down an engine instance could not shut down the VM to save
memory because newly created engines in the process after that point couldn't
restart the VM. There can only be one VM running in a process at a time.

This patch separate the previous DartVM object into one that references a
running instance of the DartVM and a set of immutable dependencies that
components can reference even as the VM is shutting down.

Unit tests have been added to assert that non-overlapping engine launches use
difference VM instances.
2019-02-15 14:16:17 -08:00
Martin Kustermann ecbaea10a4 Ensure to pass dill file after VM options for gen_snapshot (#7839) 2019-02-15 15:17:54 +01:00
Dan Field f519aedb95 Fix typo in painting.dart (#7814) 2019-02-13 15:14:10 -08:00
sjindel-google 61d3080d5d Add FFI to libraries.yaml. (#7811) 2019-02-13 22:28:07 +01:00
Dan Field 816921b9e4 Use newer Skia API for PathMeasure (#7809) 2019-02-13 11:15:19 -08:00
Brian Osman 7c702404b8 Create mipmaps for images when uploading them on the IO thread (#7751)
This does several things:
- It adds CPU time on the IO thread, but avoids GPU time on the GPU
  thread.
- For images that are never drawn with mipmaps, it adds about 33%
  memory overhead. For images that are drawn with mipmaps, it saves
  an entire copy of the base level.
- It fixes https://github.com/flutter/flutter/issues/24517, which is
  a driver bug related to mip-mapping and cross-context images.

Overall, I think the tradeoff is good, but I'm curious to see what
benchmarks look like.
2019-02-08 15:12:29 -05:00
Jonah Williams cf1d70a278 Add onPlatformBrightnessChanged/platformBrightness to stub ui window. (#7739) 2019-02-08 10:34:48 -08:00
Michael Klimushyn b0370c13c3 Decode using the last cached required frame (#7715)
`MultiFrameCodec` now uses whatever previously cached required frame is
available instead of panicking if it doesn't have the exact frame
requested by `SkCodec::FrameInfo#fRequiredFrame`.

`SkCodec::FrameInfo#fRequiredFrame` doesn't point to the one and only
frame that's required to decode the given frame. It points to the latest
frame that's disposal method none and filling a greater surface area
than the current frame. The last required frame `MultiFrameCodec` has
actually cached is also valid in these cases and can be supplied as
`fPriorFrame` instead. [flutter/flutter#26757](https://github.com/flutter/flutter/issues/26757#issuecomment-459522530)
has a more detailed explanation.

Fixes flutter/flutter#26757
2019-02-07 14:47:23 -08:00
Dan Field 3c38dd342f Fix versions implementation (#7726) 2019-02-07 08:53:31 -08:00
Jonah Williams ee0cf82c1f Correct libraries.yaml path for stub_ui, add brightness, copy dart2js_platform.dill files (#7725) 2019-02-06 22:24:15 -08:00
Chinmay Garde 6585f334a1 Allow all entrypoints support by the command line VM. (#7717) 2019-02-06 15:29:19 -08:00
Jonah Williams affa62a34a Create stubbed dart:ui implementation, dart2js libraries file, copy rule (#7694) 2019-02-05 17:07:47 -08:00
Ben Konyi 3dbc37531d Update snapshot build rules to generate .o files instead of .S files on Windows (#7702)
Update snapshot build rules to generate .o files instead of .S files on Windows to improve link times.

This mirrors build rules for snapshots in the Dart SDK.
2019-02-05 14:23:44 -08:00