190 Commits

Author SHA1 Message Date
Ryan Macnak
f5d0004ebd Adjust GN for removal of libdart. (#3583) 2017-04-10 16:42:27 -07:00
Chinmay Garde
73299f42f4 Package test fonts on the debug runtime mode. (#3582) 2017-04-10 15:41:09 -07:00
Mikkel Nygaard Ravn
6aa49b5657 Add convenience accessors to get arguments from MethodCall w/o unchecked warnings (#3559) 2017-04-09 17:36:05 +02:00
Mikkel Nygaard Ravn
3035ed86e9 Update unit test to also handle null and zero-byte message differently (#3579) 2017-04-09 00:34:43 +02:00
Mikkel Nygaard Ravn
68194b8df8 Distinguish between null platform message and one with zero-byte payload (#3577) 2017-04-09 00:07:28 +02:00
Chris Bracken
8df4ec7a81 Use Foundation MIN,MAX in place of C++ std::min,max (#3578)
Maintains consistency with other Objective-C code in the engine and
allows us to eliminate a #include.
2017-04-08 12:58:27 -07:00
Jason Simmons
b4088b6479 Backport JSONObject.wrap in order to support Jellybean (#3566) 2017-04-06 10:15:06 -07:00
Jakob Andersen
9c7ad5ad14 Copy Flutter.podspec to engine out directory. (#3560)
So `flutter run --local-engine=...` will work out of the box.

Fixes flutter/flutter#9154.
2017-04-05 09:16:53 +02:00
Chris Bracken
5d9a642257 Update selection base when deleting surrogates (#3558)
Ensure selection base is updated when deleting surrogates

This fixes a bug in which the selection base was not updated when
deleting at index of the trailing char of a Unicode surrogate,
introduced in 38664ac32223228476166b9050ab400c102fda05.

Minor refactor to consolidate logic around NSRange.
2017-04-03 23:12:02 -07:00
Chris Bracken
5b51394b66 Handle Unicode surrogates in FlutterTextInputView (#3557)
* Handle Unicode surrogates in FlutterTextInputView

Fixes a bug introduced in 38664ac32223228476166b9050ab400c102fda05.
2017-04-03 21:49:30 -07:00
Chris Bracken
38664ac322 Maintain FlutterTextInputView text in NSMutableString (#3554)
* Maintain FlutterTextInputView text in NSMutableString

We were converting from/to NSString at the interface of
FlutterTextInputView; instead use NSMutableString to maintain the
internal buffer.

Eliminates nsstring_utils.{h,mm} which no longer has any users.
2017-04-03 17:23:07 -07:00
Chinmay Garde
4eac09481e Remove deprecated FlutterInit. (#3550) 2017-04-03 11:51:38 -07:00
Jason Simmons
29f289acbb Remove dart:jni (#3546)
Fixes https://github.com/flutter/flutter/issues/9129
2017-03-31 13:07:52 -07:00
Collin Jackson
0005285781 Revert "Make FlutterActivity extend from FragmentActivity (#3529)" (#3545)
This reverts commit fa360b55da851381ecf2abaa4769189674265c1c.
2017-03-31 09:06:07 -07:00
Mikkel Nygaard Ravn
a8ecc25aab Ensure platform msg completer is invoked on ios even if no handler has been registered (#3544) 2017-03-30 12:49:09 +02:00
Chinmay Garde
0451dc1106 Cleanup timeline markers. (#3540)
* Name the platform thread in the timeline. This does not affect (nor is it affected by) the pthread name set by the embedder.
* Make it easier in the timeline to see not only when the frame was request, but also when that frame request was fulfilled.
* Trace message loop wakes.
2017-03-29 13:04:25 -07:00
Mikkel Nygaard Ravn
46255fb845 Platform channel API cleanup (retake) (#3539) 2017-03-29 13:43:54 +02:00
Mikkel Nygaard Ravn
8a8fc02f53 Revert "Flutter channel API cleanup (#3532)" (#3538)
This reverts commit afb206d373da8edc30cdd0de43bfa495ece66ab6.
2017-03-29 12:08:39 +02:00
Mikkel Nygaard Ravn
afb206d373 Flutter channel API cleanup (#3532) 2017-03-29 11:38:14 +02:00
Jason Simmons
7356a50445 Copy platform message buffers into byte arrays passed via JNI (#3536)
The Java message object may be held by user-provided message handlers beyond
the lifetime of the raw blink::PlatformMessage and its data buffer
2017-03-28 17:15:01 -07:00
Jason Simmons
59b2fb954f Release JNI references to ByteBuffers passed from native to Java (#3535) 2017-03-28 13:58:42 -07:00
Jason Simmons
2ffab0397b Package the stripped build of libflutter.so inside flutter.jar (#3531) 2017-03-27 17:52:12 -07:00
Collin Jackson
fa360b55da Make FlutterActivity extend from FragmentActivity (#3529)
FragmentActivity is required for plugins that use auto managed Google APIs, such as Google Sign-In. Requires flutter/flutter#9036 to land so that gradle builds include FragmentActivity.
2017-03-27 16:53:09 -07:00
Chinmay Garde
0517edf1de Remove dependency on FontConfig. (#3530) 2017-03-27 16:11:57 -07:00
Chinmay Garde
f4a2c21d50 Rename sky_shell to flutter_tester. (#3521) 2017-03-27 13:09:36 -07:00
Jason Simmons
9ebebe1040 Fix Javadoc on FlutterMethodChannel (#3522) 2017-03-24 18:23:51 -07:00
Chinmay Garde
5e98732301 Remove libsky_shell.so to libflutter.so. (#3517) 2017-03-24 16:25:33 -07:00
Chinmay Garde
809ad59a59 Directly generate flutter.jar without APK generation. (#3516) 2017-03-24 15:51:51 -07:00
Chinmay Garde
0908de9ff4 Avoid linking to GL from the Linux test shell. (#3512) 2017-03-23 16:22:40 -07:00
Chinmay Garde
2323a17acb Remove last reference to //base from //flutter/shell/platform/linux. (#3511) 2017-03-23 16:01:35 -07:00
Chinmay Garde
3f269db72c Remove the interactive mode on the Linux test shell. (#3510) 2017-03-23 15:52:54 -07:00
Chinmay Garde
1c07ea530f Remove uses of //base from all //flutter projects and replace them with //fml variants. (#3492) 2017-03-22 15:42:51 -07:00
Mikkel Nygaard Ravn
61fc1d6e31 Better value coverage of Flutter standard codec on iOS. Unit tests added. (#3498) 2017-03-22 20:23:23 +01:00
Mikkel Nygaard Ravn
4695deb458 Revert "Improved value coverage of Flutter standard codec. Added unit tests. (#3493)" (#3496)
This reverts commit 7932ba76ec64712771a4a5319e6e09dc79b25e17.
2017-03-22 15:48:59 +01:00
Mikkel Nygaard Ravn
7932ba76ec Improved value coverage of Flutter standard codec. Added unit tests. (#3493) 2017-03-22 14:54:12 +01:00
Adam Barth
f1d40b327a Conform to platform protocol (#3485)
The Android and iOS versions of this function had diverged. This patch
makes the iOS version match the Android version (and what the framework
expects).

Fixes https://github.com/flutter/flutter/issues/8878
2017-03-18 13:35:43 -07:00
Mikkel Nygaard Ravn
c4edec7417 Remove old flutter messaging API (#3482)
Breaking change: removed facilities for JSON and string messaging from FlutterView/FlutterViewController, leaving only binary messaging there. All other use of flutter communication now goes through FlutterMessageChannel and FlutterMethodChannels. Retained use of String and JSON codecs for now.

Companion flutter PR: flutter/flutter#8837
2017-03-17 09:04:59 +01:00
Chris Bracken
24d9d25395 Perform all iOS logging through ASL (#3481)
* Perform all iOS logging through ASL

As of iOS 10, ASL is deprecated and replaced with os_log. ASL calls
continue to result in logging but as of iOS 10.3, only ASL_LOG_NOTICE
level and above are logged.

This change partially reverts 2937f06a15cecf5e9398334617ca156316dae52b,
adding back stdout and stderr redirection, which resulted in loss of
some direct writes to stdout that were necessary for debugging.

This change replaces the direct use of syslog with ASL on iOS, which
Apple has stated will continue to log on iOS >= 10. This eliminates the
need for the previous fwd-declaration of syslog.
2017-03-16 18:50:33 -07:00
Chris Bracken
2937f06a15 Eliminate use of ASL on iOS, --no-redirect-to-syslog flag (#3479)
ASL is deprecated and replaced by os_log() on iOS. As of iOS 10.3,
calling this function breaks our logging altogether. os_log isn't
available pre-iOS 10.0. Rather than implement version checks and
conditional logic, this change eliminates the existing redirection
altogether. All engine code should be logging via the syslog redirection
implemented in Logger_PrintString in dart_runtime_hooks.cc.

Since stdio redirection is eliminated, we eliminate the flag that
controls whether such redirection is enabled.
2017-03-15 13:35:53 -07:00
Chinmay Garde
642e325f83 Wire up memory warning notifications on iOS. (#3477) 2017-03-14 17:12:29 -07:00
Jason Simmons
b1a163858d Send an event to signal memory pressure (#3475)
See https://github.com/flutter/flutter/issues/7561
2017-03-14 15:42:30 -07:00
Jakob Andersen
aa2c2449c4 Fix pod name in Flutter.podspec. (#3473)
Names matter, and I apparently forgot to test after adding ' Engine' to
the name. Names can't contain spaces, and must match the filename.
2017-03-14 15:40:59 +01:00
Mikkel Nygaard Ravn
b97103b441 Flutter channels for iOS (#3470)
Flutter channels now also supported on iOS. Use FlutterMessageChannel or FlutterMethodChannel with binary/string/json/standard codecs.
2017-03-13 23:57:46 +01:00
Chinmay Garde
6e54f5e31f Remove deprecated SkyApplication and SkyActivity. (#3464) 2017-03-08 10:47:53 -08:00
Jakob Andersen
d40c5bc96c Add podspec to Flutter iOS framework. (#3467)
* Add podspec to Flutter iOS framework.

Flutter iOS apps are already pod-enabled, so we might as well turn the
engine framework into a pod, so we don't have to manually copy the
current Flutter.framework into the app directory on every build, but
rather let Cocoapods wire things up for us.

For that to happen, we need a pod spec for Flutter.framework. This spec
will not be published, but rather downloaded as part of the engine
artifacts, and the app's Podfile will have a local path dependency on
it.

* Update licenses_golden...
2017-03-08 09:00:59 +01:00
Chinmay Garde
be5d971aa7 Use software rendering on iOS simulators without needing a flag. (#3465) 2017-03-06 14:49:25 -08:00
Mikkel Nygaard Ravn
f9c1f5fa53 Remove usage of JDK7 features not available until Android SDK 19+ (#3462) 2017-03-06 13:22:29 +01:00
Mikkel Nygaard Ravn
74de13c0bd FlutterXxxChannel concepts added to support Flutter/Android interop (#3446)
New concepts: FlutterMessageChannel (basic message send/receive superseding existing FlutterView methods), FlutterMethodChannel (method invocation and event streams), pluggable codecs for messages and method calls: unencoded binary, string, json, and 'standard' flutter binary encoding.
2017-03-01 13:54:32 +01:00
Jason Simmons
113f6e3c1e Disable the cache on the GrContext used for decoding images (#3451)
Fixes https://github.com/flutter/flutter/issues/8429
2017-02-27 16:21:21 -08:00
Chris Bracken
335daf1930 Apply iOS status bar padding to flutter views (#3447)
This change eliminates two previous assumptions:
1. If a Flutter view is embedded in a parent view, that the parent view
   controller would apply any status bar padding necessary.
2. That we should not apply padding unless the flutter view is
   fullscreen.

A simple case where the first assumption fails to hold is a Flutter view
embedded in a UINavigationController with a hidden toolbar. A simple
case where the second assumption fails to hold is a view in a window
whose top overlaps the status bar but isn't fullscreen.
2017-02-24 13:11:10 -08:00