248 Commits

Author SHA1 Message Date
Jonah Williams
56bad48ab2
expose bold text flag in accessibility features for iOS (#6072) 2018-08-28 12:38:54 -07:00
James D. Lin
4ff4a5cc99
Fix potential null pointer dereference in FlutterDartProject (#6035)
If `FlutterDartProject` found an `FLTLibraryPath` entry in an iOS
application's `Info.plist`, it assumed that values that were valid
filesystem paths were paths to bundles.  If the attempt to retrieve
the `NSBundle` fails, `FlutterDartProject` ignored the failure and
then would assign `nil` to a C++ `std::string`, resulting in a null
pointer dereference.

Add some failure checks to prevent this.
2018-08-16 17:40:33 -07:00
Martin Kustermann
81baff97c2
Switch all embedders to use platform_strong.dill instead of platform.dill (the flutter_tester binary already does this) (#6024) 2018-08-15 17:45:11 +02:00
Niko Yuwono
6e780fdc67 Add NSNull check in setSystemChromeSystemUIOverlayStyle (#6011) 2018-08-14 11:45:45 -07:00
James D. Lin
7ec5f8ada4
Don't require FLTLibraryPath and FLTAssetsPath from the main NSBundle (#5986)
We'd like the ability to add Flutter to existing iOS applications
without requiring that they set `FLTLibraryPath` and `FLTAssetsPath`
in the main bundle's `Info.plist`.

1. Modify `-[FlutterDartProject initWithPrecompiledDartBundle:]` to
   support setting the library and assets path from the specified
   `NSBundle` instead.

2. If no `NSBundle` is explicitly specified, look for one with a
   default bundle identifier ("io.flutter.flutter.app") before
   falling back to the main NSBundle.

Also remove `+[FlutterDartProject pathForFlutterAssetsFromBundle:]`
because we don't use it internally, and it isn't exposed in the
header file.
2018-08-14 10:45:05 -07:00
Ben Konyi
e54bc4ea18
Fixed invalid call site of runWithEntrypointAndCallback (#5984) 2018-08-09 12:42:59 -07:00
Ben Konyi
764884b91e
Removed callback for HeadlessDartRunner (#5983) 2018-08-09 11:21:51 -07:00
Jonah Williams
4208f84043
make ios text affinity behavior match android (#5971) 2018-08-08 10:54:29 -07:00
Ben Konyi
3cbb5e2067
Persist DartCallbackCache contents across launches (#5947)
* Updated DartCallbackCache to write callback cache to disk which is
restored on engine startup
* Ensure cache isn't moved off disk in iOS
2018-08-07 14:37:19 -07:00
James D. Lin
76ec93dabf
Add an explicit -[FlutterViewController init] implementation (#5924)
* Add an explicit `-[FlutterViewController init]` implementation

`-[FlutterViewController init]` currently works because it inherits
the `-[UIViewController init]` convenience initializer that invokes
the `-[UIViewController initWithNibName:bundle:]` designated
initializer that `FlutterViewController` overrides.

However, this doesn't seem to be explicitly documented, so it's a bit
confusing (or at least non-obvious), and it seems potentially
brittle.  Add an explicit implementation of `-[FlutterViewController
init]` instead.
2018-08-02 14:03:42 -07:00
Jonah Williams
dcd2956f88
Initial support for more finely-grained a11y features on Window (#5901) 2018-07-31 18:18:19 -07:00
James D. Lin
d06e9e84d0 Deprecate -[FlutterDartProject initFromDefaultSourceForConfiguration] (#18886) (#5858)
* Deprecate -[FlutterDartProject initFromDefaultSourceForConfiguration] (#18886)

`-[FlutterDartProject initFromDefaultSourceForConfiguration]` no
longer seems very useful.  It calls `-initWithPrecompiledDartBundle:`
or `-initWithFlutterAssets:dartMain:packages:`, but since it now
passes `nil` for all arguments, both paths end up doing the same
thing.

Additionally, `-initFromDefaultSourceForConfiguration` is awkward to
use in Swift.  The automatically generated Swift interface is:

    public convenience init!(fromDefaultSourceForConfiguration: ())

and it's not obvious how to call that.

Let's deprecate `-initFromDefaultSourceForConfiguration` and instead
expect callers to use the existing `-init` method. (We can make
`-init` do different things for different build configurations later
if necessary.)

Bonus: Rename some parameters to make it more obvious when they may
be `nil`.
2018-07-31 11:49:57 -07:00
Chinmay Garde
9f8285ac6c
Remove all dependencies on Garnet. (#5869) 2018-07-26 12:49:34 -07:00
Jonah Williams
d559afb320
Support customizing standard accessibility actions on Android. (#5823) 2018-07-25 15:26:02 -07:00
Chinmay Garde
336c23f846
Remove //flutter/glue and use FML directly. (#5862) 2018-07-25 13:20:48 -07:00
Jonah Williams
96f5f5b96c
Semantics framework updates (#5601) 2018-07-20 11:17:59 -07:00
Joshua Seaton
663b4925b8
[fml][fxl] Migrate AutoResetWaitableEvent to fml version. (#5808)
Thanks Jason for the speedy review
2018-07-20 10:12:38 -07:00
Jonah Williams
d1c71e5206
add text capitalization support to ios and android (#5752) 2018-07-19 18:07:18 -07:00
Jonah Williams
2e57ecd38f
Revert rollback of "add assistiveTechnologyEnabled to window" (#5750) 2018-07-16 09:04:20 -07:00
Jonah Williams
e632fb8160
Expose keyboardAppearance field in iOS FlutterTextInputPlugin.mm (#5714) 2018-07-13 19:59:59 -07:00
Jonah Williams
9af920ef22 Revert "Add assistiveTechnologyEnabled flag to window" (#5746)
Reverts flutter/engine#5740
2018-07-13 15:55:49 -07:00
Jonah Williams
9ece2752aa
Add assistiveTechnologyEnabled flag to window (#5740) 2018-07-13 13:47:31 -07:00
Ben Konyi
672e587e74
Background Execution Implementation for iOS (#5539) 2018-07-13 10:55:24 -07:00
Jonah Williams
48d6e1f891
Custom accessibility (local context) action support for iOS and Android. (#5597) 2018-07-11 10:27:50 -07:00
Jonah Williams
d5fce84be8
revert change to app delegate that wont build on earlier xcodes (#5702) 2018-07-09 15:22:25 -07:00
Jonah Williams
d217a95126
Remove cullRect calculation on TransformLayers with a perspective transform. (#5693) 2018-07-09 12:52:10 -07:00
matthew-carroll
061e899b55
Support all keyboard actions. (#11344) (#5620)
* Support all keyboard actions. (#11344)
2018-07-02 06:58:01 +00:00
Sigurd Meldgaard
3528b4851d
Postpone dart initialization to -viewWillAppear on iOS (#5553) 2018-06-21 12:43:38 +02:00
Ryan Macnak
fe9dd64d70
Replace AssetResolver GetAsBuffer with GetAsMapping. (#5546)
Toward no-copy loading of kernel.
2018-06-19 14:24:19 -07:00
Maurice Parrish
6afe4c8e51
Added method for receiving Dynamic Links (#5534) 2018-06-15 10:37:47 -07:00
Chris Bracken
be02d0cf09
Revert "Eliminate support for Dart 1 (#5504)" (#5505)
Broke runtime_unittests, which are still running directly from source.

This reverts commit 0ea93c3a3e40426fd222ba22c2f60756c8a32097.
2018-06-11 18:12:10 -07:00
Chris Bracken
0ea93c3a3e
Eliminate support for Dart 1 (#5504)
Eliminates support for running directly from sources or script snapshots. In
debug mode, we run from a kernel snapshot; in profile and release modes, we
link in AOT-compiled code.

Renames --dart-non-checked-mode to --disable-dart-asserts since checked mode
does not make sense in Dart 2.
2018-06-11 17:00:43 -07:00
Chris Bracken
d328f4e64f
Enforce clang-format on all files in commit (#5495)
* Enforce clang-format on all files in commit

This re-enforces clang-format across all files changed in the commit.

In c10c417, we enabled checking only for the lines changed in the diff
in order to reduce the change of merge conflicts with the shell refactor
landed in 58e84c8.

* Reformat sources to match latest clang-format

As part of re-enabling clang-format across the codebase, reformat all
code to match the latest toolchain.
2018-06-08 15:10:54 -07:00
Sigurd Meldgaard
1b3277268a
App life cycle delegate (#5302)
* Move the handling of delegating AppDelegate callback out of FlutterAppDelegate.

Also moves the plugin registry to FlutterViewController. So each view-controller will handle its
own plugins.

This is intended to simplify including one or more Flutter views in an existing iOS app and giving
more precise control of plugin registration.

Fixes: https://github.com/flutter/flutter/issues/16539

* formatting

* Update license golden file

* Fixed type error

* FREEZE.unindexed

* Fix Header types

* Revert "FREEZE.unindexed"

This reverts commit bebb70056c9bcb90b4321bdc2873896623ed6faa.
2018-06-06 10:49:40 +02:00
Chinmay Garde
366d0e3ef7
Fix Dart project configuration for headless Dart runners. (#5461) 2018-06-04 15:01:58 -07:00
Brandon Parrish
8c564ad120
Correctly added application callback for dynamic links (#5385)
* Correctly added application callback for dynamic links

* Misspelling
2018-05-29 13:56:12 -07:00
Brandon Parrish
193d873cae
Revert "Added application callback" (#5377)
* Revert "Added application callback (#5369)"

This reverts commit a1a54ad1f9d845c8cff31e0d5faca2a012213b80.
2018-05-25 11:29:11 -07:00
Brandon Parrish
a1a54ad1f9
Added application callback (#5369)
* Added application callback

* Formatting
2018-05-25 09:55:41 -07:00
Michael Goderbauer
47f4a2aad4
Remove assert for unsupported SemanticsEvents (#5349)
Not all platforms are expected to handle all SemanticsEvents. Therefore, it is ok to just drop unsupported events on the floor.
2018-05-23 16:05:15 -07:00
Yegor
f876bd5710
split children into two ordered lists: traversal and hit test (#5091)
* split `children` into two ordered lists: traversal and hit test

* address comments

* reduce node object byte size

* link to DebugSemanticsDumpOrder
2018-05-21 17:44:23 -07:00
Alexander Aprelev
65d52d94fd
Revert "Delegate AppDelegate life-cycle callbacks to plugins via separate object (#5173)" (#5294)
This reverts commit 597fa9ed454a8291f5b09978ac821ba316d7c5a0 as it broke
mac engine build bot.
2018-05-17 14:11:12 -07:00
Sigurd Meldgaard
597fa9ed45
Delegate AppDelegate life-cycle callbacks to plugins via separate object (#5173)
* Move the handling of delegating AppDelegate callback out of FlutterAppDelegate.

Also moves the plugin registry to FlutterViewController. So each view-controller will handle its
own plugins.

This is intended to simplify including one or more Flutter views in an existing iOS app and giving
more precise control of plugin registration.

Fixes: https://github.com/flutter/flutter/issues/16539

* formatting

* Update license golden file
2018-05-17 13:13:22 +02:00
Jonah Williams
87da608a95
swap brightness definition on iOS to match android (#5239) 2018-05-11 14:01:29 -07:00
Jonah Williams
57f53b98a4
Re-land Enables system chrome customization on Android O/N and greater (#5171) 2018-05-07 15:45:59 -07:00
Jonah Williams
3c583f81d9
Revert "Enables system chrome customization on Android O and greater" (#5167)
* Revert "Roll dart sdk to e6d7d67f4b35556805dd083fed15bf3ed41f7e33. (#5165)"

This reverts commit 9e4c5d0e1f9daf0c46fdc7e5d1e81ce9c36b65c4.

* Revert "Enables system chrome customization on Android M/O and greater (#5112)"

This reverts commit f2db5dfd30f12407acab57f04acc8af7c6158891.
2018-05-03 15:38:25 -07:00
Jonah Williams
f2db5dfd30
Enables system chrome customization on Android M/O and greater (#5112) 2018-05-03 13:10:44 -07:00
Ben Konyi
e44e1b49f3
Initial plugin support for background downloads + content fetching (#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
78f8a0f45a
[fuchsia] Changes for running Dart 2 on flutter_runner. (#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
Yegor
96af3b29e7
ios: remove geometric order; it will be supplied by framework (#4937) 2018-04-23 13:17:25 -07:00
Michael Goderbauer
995633ef49
Add SemanticsFlag.isHidden (#5052) 2018-04-20 10:37:02 -07:00