1647 Commits

Author SHA1 Message Date
shoryukenn
38d545ee17 Improve Unicode handling on Windows (#11899)
Significantly improves the behavior of non-ASCII text input on Windows. Correctly
processes incoming character events as UTF-16, and for now uses UTF-32 for
the text model so that the existing index-based logic will work much more often.

Future work is still needed, but this will handle far more cases correctly.
2019-09-08 12:13:59 -07:00
xster
8cdb3afd65
Annotate nullability on FlutterEngine to make swift writing more ergonomic (#11808) 2019-09-08 00:25:07 -07:00
Kaushik Iska
35875e0f00
Revert "Manage resource and onscreen contexts using separate IOSGLContext objects (#11798)" (#12055)
This reverts commit a353f93d370dded7bc7756082fbab8b519679d4d.
2019-09-06 18:12:16 -07:00
George Wright
a353f93d37
Manage resource and onscreen contexts using separate IOSGLContext objects (#11798)
Manage resource and onscreen contexts using separate IOSGLContext objects
2019-09-06 16:44:49 -07:00
Kaushik Iska
c9ea4dba8d
[flutter_runner] Refactor our build rules to make them more inline with topaz. (#12034)
Also add flutter tool support for topaz in-tree builds that already have
a dependency on the framework repository.

After this the only major changes left are profiler symbols and
Framework mode.

This should make making topaz use our buldrules significantly easier.
2019-09-06 15:30:37 -07:00
Emmanuel Garcia
50bdbd769e
Document dependencies and remove support-v13 (#11912) 2019-09-06 15:25:59 -07:00
Kaushik Iska
7ea9884ab0
[flutter_runner] Kernel platform files can now be built in topaz (#12016)
- Tested this compatibility in topaz repo. The build rules can now be
used to build kernel_platform_files in topaz tree, after this change we
can migrate the platform*dill and vm*snapshot files in topaz to use the
engine built artifacts.

- Also removes some namespace conflicts for dart configuration.
2019-09-06 14:34:26 -07:00
Kaushik Iska
453d06b1ab
[flutter_runner] Plumb Flutter component arguments to the Dart entrypoint (#12026)
port of Change-Id: Ibcd4a110b84805af02a436a2a5bcf2cf3d2029a4
2019-09-06 14:16:13 -07:00
Matt Carroll
ef2a452124
Remove un-needed FragmentActivity import statements to facilitate proguard. (#11902) 2019-09-05 14:44:04 -07:00
Emmanuel Garcia
edee1fea58
Add @Keep annotation (#11893) 2019-09-05 13:23:04 -07:00
Shi-Hao Hong
14e41878ad
Incorporate View.setSystemGestureExclusionRects code review feedback from #11441 (#11804)
* Improve variable naming and javadoc for setSystemGestureExclusionRects

* Remove variables from setSystemGestureExclusionRects tests

* Split test for two behaviors into two separate tests for setSystemGestureExclusionRects success case
2019-09-05 12:53:41 -07:00
xster
dd71e7be8e
remove extra redundant channels setup in iOS embedding engine (#11886) 2019-09-05 11:13:04 -07:00
Francisco Magdaleno
ef26c460ab
Finish plumbing message responses on method channels (#11877) 2019-09-04 16:17:10 -07:00
James Clarke
7bf31e9bac [Windows] Address #36422 by adding a context for async resource uploading (#11828)
Add a context for async resource uploading.

Fixes flutter/flutter#36422
2019-09-04 15:52:12 -07:00
Shi-Hao Hong
898480fe05
Android 10+ View.getSystemGestureExclusionRects (#11451)
* SystemGesture.getSystemGestureExclusionRects

* Add getSystemExclusionRects unit tests
2019-09-04 15:13:02 -07:00
Core
27955f2477 Fix deleting Thai vowel bug on iOS (skip string range sanitization) (#11807) 2019-09-04 13:19:53 -07:00
Kaushik Iska
b9a743ce8b
[flutter_runner] Add common libs to the test far (#11875)
* [flutter_runner] Add common libs to the test far

* Add flutter runner test build as part of CI
2019-09-04 11:17:25 -07:00
Kaushik Iska
746c7a1cc4
Add a sample unit test target to flutter runner (#11847) 2019-09-04 07:58:52 -07:00
Matt Carroll
fde7c8c334
Rename first frame method and notify FlutterActivity when full drawn (#38714 #36796). (#11357) 2019-09-03 15:49:53 -07:00
James Clarke
51a376d73b
[Windows] Update API for alternative Windows shell platform implementation (#11327)
* Begin API evolution to a more native win32 API

* Child-window based hosting

* Plumb through an initial size for child window to avoid reallocated surface on start

* Windows API cleanup part 1

* Fix wrapper tests

* Ensure flutter's HWND resources are destroyed

* Final API cleanup

* Fix dynamic DPI handling

* Cleanup

* Fix a bug that was causing engine to not be shutdown correctly

* CR feedback

* auto format

* CR feedback: combine FlutterView and FlutterViewController

* The one that clang-format seems to always get wrong

* expletive

* fix sources for licesnse file

* CR Feedback

* cleanup

* Update GetNativeWindow() to return an HWND rather than a long

* fix formatting
2019-09-02 17:55:42 -07:00
gaaclarke
daf1a27d46
Started logging warnings if we drop platform messages. (#11792) 2019-08-30 12:48:03 -07:00
Kaushik Iska
766125b4f2
Roll fuchsia/clang/linux-amd64 from wGyr4... to -mnHl... (#11790)
* Roll fuchsia/clang/linux-amd64 from wGyr4... to -mnHl...

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-toolchain-flutter-engine
Please CC  on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

* Fix dangling pointer
2019-08-30 11:38:12 -07:00
Kaushik Iska
25ffa223b9
Roll fuchsia/sdk/core/linux-amd64 from -UaaS... to fSXZ0... (#11784)
* Roll fuchsia/sdk/core/linux-amd64 from -UaaS... to fSXZ0...

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter-engine
Please CC  on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

* Fix deprecated usage
2019-08-30 10:34:06 -07:00
Kaushik Iska
d426031811
[flutter_runner] Port over all the changes to the dart_runner cmx files (#11776)
* Port over all the changes to the dart_runner cmx files

* Update vmservice.cmx
2019-08-30 10:19:08 -07:00
Matt Carroll
dce8a34048
Revert "Notify framework to clear input connection when app is backgrounded (#35054) (#9498)" (#11720)
This reverts commit 4003fbc3ed48865cf6993d01be60749c3cabeff5.
2019-08-29 15:42:11 -07:00
Dan Field
101e03c1c8
Return a JSON value for the Skia channel (#11717) 2019-08-29 14:03:55 -07:00
Shi-Hao Hong
7024722e38
Android 10+ View.setSystemGestureExclusionRects (#11441)
* Implement SystemGesture.setSystemGestureExclusionRects platform channel

* Add PlatformChannelTest.java

* Fix typo in android/test/README.md
2019-08-29 17:00:42 -04:00
Martin Kustermann
74a3c73e3c
Roll src/third_party/dart 35382f9b14..05c28c6115 (#11702)
* Roll src/third_party/dart 35382f9b14..05c28c6115

dart-lang/sdk@05c28c6115 Reland "Scaffolding for dart:wasm"
dart-lang/sdk@d57a8f7451 [vm/bytecode] Remove DebugCheck in synthetic non-local transfer (no source pos).
dart-lang/sdk@b565c8c20f Don't serialize not serializable constant variable initializers.
dart-lang/sdk@ce12a2722d Migration: handle named parameters in _substituteFunctionAfterFormals.
dart-lang/sdk@a290271dea [vm/bytecode] Throw should be 'debug checked', but not ReThrow.
dart-lang/sdk@63133a2a8c [cfe] Handle extension instance method tearoff
dart-lang/sdk@a147d4e8d2 [cfe] Handle simple use of extension instance members
dart-lang/sdk@e9fdeb2db8 Migration: add support for creating instances without supplying type arguments.
dart-lang/sdk@66e349da9c Migration: Clean up substitution logic in getOrComputeElementType
dart-lang/sdk@e9a44ba6a8 fix extension instance field error
dart-lang/sdk@15a7b57d8e split endFields into endClass/Mixin/ExtensionFields events
dart-lang/sdk@ed1b4ffba1 Add tests of extensions of mixins
dart-lang/sdk@ef36f1ba0d [vm/fuzzer] Reduce limit on methods and classes
dart-lang/sdk@7b17602c74 [vm/bytecode] Include function name into source fingerprints
dart-lang/sdk@851701d2a4 add BREAK suggestions to switch cases
dart-lang/sdk@57f7941eef [cfe] Remove 'functionNestingLevel' for VariableDeclaration.forValue
2019-08-29 22:06:42 +02:00
Chinmay Garde
d5242ff205
Append newlines to EOF of all translation units. (#11654)
We are switching to -Wnewline-eof soon and these will become errors. Anyway, this was undefined behavior.
2019-08-28 15:06:49 -07:00
Kaushik Iska
9d61b9a31a
[flutter] Port: Run handle wait completers on the microtask queue (#11649)
Change-Id: I66c39d9ef7d534094148212940eef45754559d04
2019-08-28 14:02:11 -07:00
Kaushik Iska
03318327d2
[flutter_runner] Port Expose ViewBound Wireframe Functionality (#11635)
Expose scenic's ability to toggle wireframe debug
rendering of view bounds in flutter_runner. This is done
by registering a new function on the platform_views channel
with the PlatformView.

Note: Unittests have not been enabled, will enable once we
have sufficient infra.

SCN-1351 #done

Change-Id: Id4c8ef65cc39a967087d7fa6c9f595da8cfe5f01
2019-08-28 12:46:24 -07:00
Kaushik Iska
728ff715e8
[fidl][flutter_runner] Port Migrate to new fit::optional compatible APIs (#11636)
* [fidl][flutter_runner] Port Migrate to new fit::optional compatible APIs

Updated all call-sites.

See: https://fuchsia-review.googlesource.com/c/fuchsia/+/304389

FIDL-564 #comment

Change-Id: I831712ffd4a47b8fc9cf1fe237b709a1b983109f

* fix observatory port and re-sync cmx files
2019-08-28 12:31:07 -07:00
Brian Osman
0b614aff4c
Update CanvasSpy::onDrawEdgeAAQuad for Skia API change (#11638) 2019-08-28 14:31:23 -04:00
Dan Field
4ceaafc0a8
Make Skia cache size channel respond with a value (#11550) 2019-08-27 17:52:35 -07:00
Maurice Parrish
ccdadb1dac
Add check to enable metal for import (#11537) 2019-08-27 14:47:14 -07:00
P.Y. Laligand
aba340af5c
Update label of Fuchsia FIDL targets. (#11514) 2019-08-27 13:54:38 -07:00
Chris Bracken
37a4af0ca8
Reuse texture cache in ios_external_texture_gl (#11524)
In current implementation, external texture data flow is a
producer-consumer model. When painting external texture, it always asks
registered external texture object to produce new CVPixelBuffer, then
transforms it to texture. `MarkNewFrameAvailable` function is ignored.
This commit changes the dataflow. Now ios_external_texture_gl caches
previous opengl texture, if no new frame are available, it do not
`copyPixelBuffer` method, just uses cached opengl texture to draw.

This is a re-land of flutter/engine#9806, which was previously reverted
in flutter/engine#11522.
2019-08-27 11:03:24 -07:00
Chris Bracken
bf7796611d
Revert "Reuse texture cache in ios_external_texture_gl. (#9806)" (#11522)
Broke iOS builds:

    ../../flutter/shell/platform/darwin/ios/ios_external_texture_gl.mm:56:28: error: out-of-line definition of 'NeedUpdateTexture' does not match any declaration in 'flutter::IOSExternalTextureGL'
    bool IOSExternalTextureGL::NeedUpdateTexture(bool freeze) {
                           ^~~~~~~~~~~~~~~~~

This reverts commit 94b31749436e23bef0596f48bdf63e682670486c.
2019-08-27 09:39:48 -07:00
LiuJiLong
94b3174943 Reuse texture cache in ios_external_texture_gl. (#9806)
In current implementation, external texture data flow is a producer-consumer model. When painting external texture, it always asks registered external texture object to produce new CVPixelBuffer, then transforms it to texture. `MarkNewFrameAvailable` function is ignored. This commit changes the dataflow. Now ios_external_texture_gl caches previous opengl texture, if no new frame are available, it do not `copyPixelBuffer` method, just uses cached opengl texture to draw.
2019-08-27 02:00:09 -07:00
Chris Bracken
92c63e848a
Ensure trailing newline before EOF in C++ sources (#11489)
In generated text fixture location lookup code:
When the second argument to write_file() is a list, it is written one
item per line to the path specified by the first argument. This ensures
that we emit a trailing newline at EOF to comply with -Wnewline-eof.

Elsewhere:
Lack of a newline at EOF was undefined behaviour prior to C++11. The
Fuchsia tree sets -Wnewline-eof in its buildroot, so we plan to do the
same. This cleans up remaining first-party C++ sources that don't
include a trailing newline.
2019-08-27 00:13:00 -07:00
xster
fd25f80a1d
make it possible to disable debug symbols stripping (#11265) 2019-08-26 16:53:00 -07:00
Tong Mu
ba1a303ae2
Patch buttons for chromebook touchpad (#11420)
Changes irregular events of touchpad scrolling on Chromebook to have buttons: 1.
2019-08-26 11:49:55 -07:00
Amir Hardon
a34f9a811c
Skip empty platform view overlays. (#11427)
This change sets up a "spying canvas" to try and detect empty canvases.
When using platform views with a custom embedder, if a platform view
overlay canvas is known to be empty we skip creating a compositor layer
for that overlay.
2019-08-26 11:40:49 -07:00
Qxyat
11e3ade157 Release _ongoingTouches when FlutterViewController dealloc (#11049) 2019-08-26 10:49:54 -07:00
Dan Field
d4932ba714
update method for skia (#11436) 2019-08-25 20:06:12 -07:00
liyuqian
4d83ef8c7f
Support non-60 refresh rate on PerformanceOverlay (#11419)
So we can get the correct graph on 90fps/120fps devices :)

See https://github.com/flutter/flutter/issues/37888
2019-08-24 15:22:52 -07:00
Jim Graham
00b72a1475
Add tracing of the number of frames in flight in the pipeline. (#11423) 2019-08-23 16:50:03 -07:00
Dan Field
66636eaded
Platform View implemenation for Metal (#11070) 2019-08-23 16:15:41 -07:00
Chinmay Garde
139a9a799c
Avoid root surface acquisition during custom composition with software renderer. (#11394)
Uses the same technique used during OpenGL composition to elide root surface access. The refactoring of this approach is tracked in https://github.com/flutter/flutter/issues/38466

Fixes https://github.com/flutter/flutter/issues/39009.
2019-08-23 13:52:06 -07:00
Chinmay Garde
b7d03138ed
Remove deprecated ThreadTest::GetThreadTaskRunner and use the newer CreateNewThread API. (#11395)
We will end up creating fewer threads in tests.
2019-08-23 12:21:46 -07:00