177 Commits

Author SHA1 Message Date
Chinmay Garde
cfcf10bb41 Call SkGraphics::Init on shell initialization. (#3628)
This ensures SkOpts are initialized before we start using Skia.
2017-04-25 21:47:09 -07:00
P.Y. Laligand
4f8a92ae40 Allow Flutter shell to build for a Mac Fuchsia host. (#3625) 2017-04-25 07:38:08 -07:00
Mikkel Nygaard Ravn
264b7a6dd5 Add hasArgument convenience to MethodCall (#3612) 2017-04-22 14:04:03 +02:00
xster
a5b64899c9 Keep resident runner connected on iOS when screen locks in debug mode (#3610)
* Add debug mode background

* Review notes
2017-04-19 18:00:06 -07:00
Mikkel Nygaard Ravn
4eed7d2732 Clarify semantics of channel-related errors (#3607)
Mainly improvements to javadoc and error logging. A bit of refactoring.
2017-04-19 21:53:46 +02:00
Mikkel Nygaard Ravn
2a4434a058 Make naming consistent across channel APIs (#3574) 2017-04-18 14:30:31 +02:00
Chinmay Garde
b4a02debaa Update Skia to 30229ac6282981c28ced8f513c8d09684d9d0581 and fix build. (#3602)
* Update Skia to 30229ac6282981c28ced8f513c8d09684d9d0581 and fix build.
* Update licenses.
2017-04-17 17:27:26 -07:00
Chinmay Garde
eebda8ff96 Avoid creating a CGContextRef when generating a CGImageRef from a Skia pixmap. (#3599)
Also, adds trace events so profiling the software backend is easier.
2017-04-17 13:00:58 -07:00
Chris Bracken
5c4e20c4c5 Correct handling for composed character ranges at text.length (#3590)
Ensure that both self.text and self.selectedTextRange are updated before
triggering textDidChange: or selectionDidChange: on the input delegate
(which then re-computes positions). This prevents inconsistencies in
selection vs text position/offset lookups triggered by didChange
notifications.

Ensure that rangeOfComposedCharacterSequenceAtIndex: is only ever called
for index values > 0 && < self.text.length. This prevents such calls for
position with index == self.text.length.

Also reduces unnecessary textDidChange/selectionDidChange notifications:
replaceRange:withText: and setMarkedText:selectedRange: are only ever
called by UIKit and methods called by UIKit (insertText,
deleteBackward), so notification is unnecessary.
2017-04-13 11:48:59 -07:00
Chris Bracken
059ab3a471 Eliminate UITextInput.textContentType (#3587)
textContentType was added in iOS 10, and we target iOS 8. Either way the
framework doesn't (yet) include support for this; keyboard type covers
most bases.
2017-04-12 11:37:54 -07:00
Chris Bracken
a94c7d6bd3 Initial implementation of UITextInput protocol (#3586)
Supports:
* autocorrect, suggestions view/selection.
* Support for Chinese, Japanese, Korean and other languages using
  multi-stage input with candidate selection.
* styling the composing (mark) region for multi-stage input
* key-repeat when backspace held down
* physical and soft keyboard support for arrow key cursor movement and
  selection.
* improved third-party keyboard support

Does not yet support:
* force-touch drag cursor positioning
* auto-positioning the candidates view for multi-stage input methods
  when used with a physical keyboard (e.g., iPad Pro) currently
  positioned at 0,0.
* voice dictation
2017-04-12 11:04:26 -07:00
Chris Bracken
f5a7a086ec Update Objective-C column limit to 100 (#3585)
The Google style guide specifies a limit of 100 columns.
https://google.github.io/styleguide/objcguide.xml?showone=Line_Length#Line_Length

The Chromium style guide specifies 80.
https://chromium.googlesource.com/chromium/src/+/master/styleguide/objective-c/objective-c.md
2017-04-11 15:14:00 -07:00
Ryan Macnak
1fed16fb25 Adjust GN for removal of libdart, take two. (#3584)
Update targets only included in host_debug_unopt.
2017-04-11 09:52:54 -07:00
Ryan Macnak
6d4b153ba8 Revert "Adjust GN for removal of libdart. (#3583)"
This reverts commit f5d0004ebd0db95c4019ca27fde2aceb0b3fe3e3.
2017-04-10 17:07:28 -07:00
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
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