3051 Commits

Author SHA1 Message Date
liyuqian
6c93145ef5 Read SkSLs from asset (flutter/engine#17601)
Fixes https://github.com/flutter/flutter/issues/53117

Test added:
- ShellTest.CanLoadSkSLsFromAsset
2020-04-10 00:16:33 -07:00
Francisco Magdaleno
c38e7106c0 [windows] Sends complete key data to framework (flutter/engine#17577) 2020-04-09 20:55:02 -07:00
Shi-Hao Hong
7eae32d7f2 Revert getSystemGestureExclusionRects and setSystemGestureExclusionRects (flutter/engine#17613)
* Revert getSystemGestureExclusionRects and setSystemGestureExclusionRects 

* Remove references to removed PlatformChannelTest.java file
2020-04-09 20:44:37 -07:00
gaaclarke
bbae0c06d4 Enabled hiding the home indicator with SystemChrome.setEnabledSystemUIOverlays (flutter/engine#17574) 2020-04-09 09:43:38 -07:00
Chris Yang
efe45cd875 Revert "Improve iOS PlatformViews to better handle thread merging. (#16935)" (flutter/engine#17600)
This reverts commit 930696bbb75ffdb098df4081e0353f4fac38b075.
2020-04-08 21:15:38 -07:00
Chris Yang
930696bbb7 Improve iOS PlatformViews to better handle thread merging. (flutter/engine#16935) 2020-04-08 17:33:33 -07:00
Gary Qian
a03f69c53a Implement repeat filtering logic in Android Embedder (flutter/engine#17509) 2020-04-08 12:51:43 -07:00
Kaushik Iska
78c5bc73ba [perf] Add a SceneDisplayLag event when we miss vsyncs (flutter/engine#17575)
This event goes from now -> current vsync target time
to avoid the limitations as seen in https://github.com/flutter/flutter/issues/54095#issuecomment-610636237

This event also tags additional metadata to capture
`vsync_transitions_missed` considering the refresh rate of the display.
2020-04-08 09:14:11 -07:00
Kaushik Iska
0460673759 Remove SceneDisplayLag trace event temporarily (flutter/engine#17571)
Working theory is that adding async events with begin times
in the past causes the timeline to skip some events.

See: https://github.com/flutter/flutter/issues/54095
2020-04-07 16:33:52 -07:00
LongCatIsLooong
d6d4f376a1 iOS UITextInput autocorrection prompt (flutter/engine#13959) 2020-04-07 14:45:59 -07:00
stuartmorgan
b64faf3a69 Reland "Improve C++ plugin lifetime handling" (flutter/engine#17570)
Relands #17489 with a fix for the unit test flake.

The previous unit test relied on the new instance not being created at the same memory address, which isn't guaranteed.
2020-04-07 14:11:56 -07:00
gaaclarke
9513e65f95 Added "unrecognized-selector" errors to match g3 builds (flutter/engine#17566)
Added "unrecognized-selector" errors to match g3 builds, added
"overriding-method-mismatch" to catch a common error.
2020-04-07 13:28:42 -07:00
stuartmorgan
06e24a71ba Fix flutter_windows_unittests runtime dependency (flutter/engine#17524)
The transitive dependency on the embedder library brings in the right
runtime for the build mode, so directly depending on the JIT version
isn't necessary, and causes duplicate symbol issues in release builds.
2020-04-07 13:19:49 -07:00
Ryoichi Izumita
fee9895d51 Fixed a bug that left a blank at the bottom of the screen (flutter/engine#17474)
I fixed a bug that left a blank at the bottom of the screen when the iPad's split keyboard was hidden.

I also had the same problem with this issue, so I fixed it.
iPad split keyboard cause a blank space problem

There is no function to change the space size at the bottom of the screen when the split keyboard is moved. This is because it's not clear what the keyboard should do when it's moved to the top of the screen.
2020-04-07 11:27:15 -07:00
Jason Simmons
33843702fe Add the Android SDK lambda stub library to the classpath (flutter/engine#17508)
Previously the build scripts obtained the lambda support classes from rt.jar,
which is no longer provided by recent versions of the JDK.
2020-04-07 11:24:52 -07:00
Chris Bracken
2a97bc1e16 Revert "Added errors to match g3 builds and simple errors (#17536)" (flutter/engine#17564)
Test failure:

    [ RUN      ] FlutterStringCodec.CanEncodeAndDecodeNil
    2020-04-07 10:21:25.091 flutter_channels_unittests[26965:163315] *** Assertion failure in -[FlutterStringCodec encode:], ../../flutter/shell/platform/darwin/common/framework/Source/FlutterCodecs.mm:36
    2020-04-07 10:21:25.118 flutter_channels_unittests[26965:163315] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: ''
    *** First throw call stack:
    (
    	0   CoreFoundation                      0x00007fff2ccabcf9 __exceptionPreprocess + 256
    	1   libobjc.A.dylib                     0x00007fff5785ea17 objc_exception_throw + 48
    	2   CoreFoundation                      0x00007fff2ccc6a16 +[NSException raise:format:arguments:] + 98
    	3   Foundation                          0x00007fff2ef58e11 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 194
    	4   flutter_channels_unittests          0x0000000105f1cce2 -[FlutterStringCodec encode:] + 290
    	5   flutter_channels_unittests          0x0000000105f01bbb _ZN45FlutterStringCodec_CanEncodeAndDecodeNil_Test8TestBodyEv + 107
    	6   flutter_channels_unittests          0x00000001081d1732 _ZN7testing8internal38HandleSehExceptionsInMethodIfSupportedINS_4TestEvEET0_PT_MS4_FS3_vEPKc + 146
    	7   flutter_channels_unittests          0x00000001081a76b0 _ZN7testing8internal35HandleExceptionsInMethodIfSupportedINS_4TestEvEET0_PT_MS4_FS3_vEPKc + 128
    	8   flutter_channels_unittests          0x00000001081a75c1 _ZN7testing4Test3RunEv + 209
    	9   flutter_channels_unittests          0x00000001081a8415 _ZN7testing8TestInfo3RunEv + 229
    	10  flutter_channels_unittests          0x00000001081a95aa _ZN7testing9TestSuite3RunEv + 266
    	11  flutter_channels_unittests          0x00000001081b4e43 _ZN7testing8internal12UnitTestImpl11RunAllTestsEv + 995
    	12  flutter_channels_unittests          0x00000001081d8572 _ZN7testing8internal38HandleSehExceptionsInMethodIfSupportedINS0_12UnitTestImplEbEET0_PT_MS4_FS3_vEPKc + 146
    	13  flutter_channels_unittests          0x00000001081b49b3 _ZN7testing8internal35HandleExceptionsInMethodIfSupportedINS0_12UnitTestImplEbEET0_PT_MS4_FS3_vEPKc + 131
    	14  flutter_channels_unittests          0x00000001081b4835 _ZN7testing8UnitTest3RunEv + 197
    	15  flutter_channels_unittests          0x0000000105f22e73 _Z13RUN_ALL_TESTSv + 35
    	16  flutter_channels_unittests          0x0000000105f22d79 main + 553
    	17  libdyld.dylib                       0x00007fff5908c3d5 start + 1
    )
    libc++abi.dylib: terminating with uncaught exception of type NSException
    [ERROR:flutter/fml/backtrace.cc(110)] Caught signal SIGABRT during program execution.
    Frame 0: 0x7fff591316a6 abort
    Frame 1: 0x7fff560ea641 __cxa_bad_cast
    Frame 2: 0x7fff560ea7df default_unexpected_handler()�
    Frame 3: 0x7fff57860ee3 _objc_terminate()�
    Frame 4: 0x7fff560f619e std::__terminate(void (*)())�
    Frame 5: 0x7fff560f5f86 __cxa_get_exception_ptr
    Frame 6: 0x7fff560e8f99 __cxa_get_globals
    Frame 7: 0x7fff5785eb51 objc_exception_throw
    Frame 8: 0x7fff2ccc6a16 +[NSException raise:format:arguments:]
    Frame 9: 0x7fff2ef58e11 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:]
    Frame 10: 0x105f1cce2 -[FlutterStringCodec encode:]
    Frame 11: 0x105f01bbb FlutterStringCodec_CanEncodeAndDecodeNil_Test::TestBody()�
    Frame 12: 0x1081d1732 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*)�
    Frame 13: 0x1081a76b0 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*)�
    Frame 14: 0x1081a75c1 testing::Test::Run()�
    Frame 15: 0x1081a8415 testing::TestInfo::Run()�
    Frame 16: 0x1081a95aa testing::TestSuite::Run()�
    Frame 17: 0x1081b4e43 testing::internal::UnitTestImpl::RunAllTests()�
    Frame 18: 0x1081d8572 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*)�
    Frame 19: 0x1081b49b3 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*)�
    Frame 20: 0x1081b4835 testing::UnitTest::Run()�
    Frame 21: 0x105f22e73 RUN_ALL_TESTS()�
    Frame 22: 0x105f22d79 main
    Frame 23: 0x7fff5908c3d5 start

This reverts commit 46f82a3d938a621d2cae8591d6f7566e01f118e1.
2020-04-07 10:32:38 -07:00
Chris Bracken
4f108b7be1 Revert "Improve C++ plugin lifetime handling (#17489)" (flutter/engine#17563)
Seems to have triggered flaky failures on the Windows bot since landing.
Example failure:

    [ RUN      ] PluginRegistrarTest.ManagerRemovesOnDestruction
    c:\b\s\w\ir\cache\builder\src\flutter\shell\platform\common\cpp\client_wrapper\plugin_registrar_unittests.cc(149): error: Expected: (manager->GetRegistrar<PluginRegistrar>(dummy_registrar_handle)) != (first_wrapper), actual: 000002400A90E3D0 vs 000002400A90E3D0

This reverts commit 478a7855943d81a58dd9e9037fb338d3a18bb294.
2020-04-07 10:22:55 -07:00
gaaclarke
46f82a3d93 Added errors to match g3 builds and simple errors (flutter/engine#17536)
"unrecognized-selector" and "overriding-method-mismatch" added as errors.
2020-04-07 10:03:49 -07:00
Amir Hardon
97d47bf1b6 Fix AlertDialogs built by platform views (flutter/engine#17511) 2020-04-06 15:06:07 -07:00
gaaclarke
b3c7bb7ae9 Added missing declaration (only showed up in g3 builds). (flutter/engine#17535) 2020-04-06 15:02:47 -07:00
gaaclarke
2190b0c3c0 Fixed nullability in plugin header and overridden type mismatch error. (flutter/engine#17532) 2020-04-06 13:23:00 -07:00
stuartmorgan
478a785594 Improve C++ plugin lifetime handling (flutter/engine#17489)
This makes two changes:
- Adds a way to register a callback for when a FlutterDesktopPluginRegistrarRef is destroyed, and implements the logic to call it in the Windows and Linux embeddings.
- Adds a class to the C++ wrapper that handles making a singleton owning PluginRegistrar wrappers, and destroying them when the underlying reference goes away, to avoid needing that boilerplate code in every plugin's source.

Fixes https://github.com/flutter/flutter/issues/53496
2020-04-06 09:55:42 -07:00
gaaclarke
dd3f510913 refactor: split up accessibility bridge and semantics object (flutter/engine#17507) 2020-04-03 16:54:33 -07:00
gaaclarke
cfbd7272da Started clearing out the parent of orphaned semantic objects. (flutter/engine#17499) 2020-04-03 14:35:48 -07:00
xster
c81eeda828 Small updates to objcdocs (flutter/engine#17151) 2020-04-03 13:03:06 -07:00
Jason Simmons
02720fbca8 Fix include paths of fml/time headers in the shell and rasterizer (flutter/engine#17502) 2020-04-03 12:33:54 -07:00
Jason Simmons
3c089996dc Disconnect from platform views and virtual displays before detaching from the engine (flutter/engine#17379) 2020-04-02 18:16:05 -07:00
Kaushik Iska
ce0ec9042f [pipeline] Add trace event for lag between target and display times (flutter/engine#17384)
This change also adds TimeRecorder which records time at the start
of each frame to capture the latest vsync target display time and
wires it in to the rasterizer to add trace events when there is a lag.
2020-04-02 17:15:45 -07:00
Dan Field
f1a58638ad Fix bad texture view config (flutter/engine#17486) 2020-04-02 15:06:03 -07:00
stuartmorgan
7b222c8310 Remove JSON codec from C++ client wrapper (flutter/engine#17312)
The JSON codec is awkward to use in the wrapper (since the client has to build and link one of the JSON libraries to do so). Since it would be very cumbersome to wrap in a C API, and there's essentially no reason to use it instead of the standard codec, this removes it from the wrapper entirely.

Since some system channels (internal to the engine) still use it, it's moved into common/cpp instead of being eliminated entirely. Internally we always use RapidJSON though, so the jsoncpp implementation is removed. Also adds some unit test coverage, since there wasn't any.

Fixes #30669
2020-04-02 14:57:46 -07:00
Dan Field
904a84fee3 Roll to clang11, mark 4 (flutter/engine#17483)
* "Reland Clang 11, roll buildroot to 1bc40a5f916adb93d87e2a2230a0ec43db876c1c, take 4 (#17467)" (#17482)"

This reverts commit d7bbf2e70c8cb86823f1ec7a310d6ab0b9a610db.

* format code

* Roll buildroot to 3a27de1c5bb0f50be7d3efe3e00de4f6068c9f30
2020-04-02 13:04:49 -07:00
Chinmay Garde
165af3205c Always cache SkSL when using the Metal backend. (flutter/engine#17468)
There is no ability to compile shaders online and cache those binaries when
using the Metal backend. SkSL caching must always be used.
2020-04-02 13:00:29 -07:00
Jonah Williams
e6e8170ea8 fix typos in switch descriptions (flutter/engine#17475) 2020-04-02 11:21:04 -07:00
Dan Field
a04ba4f15e Initialize locale from FlutterEngine (flutter/engine#17473)
* Initialize locale from FlutterEngine
2020-04-02 10:06:06 -07:00
Dan Field
d7bbf2e70c Revert "Reland Clang 11, roll buildroot to 1bc40a5f916adb93d87e2a2230a0ec43db876c1c, take 3 (#17467)" (flutter/engine#17482)
This reverts commit 31eab31f771363d9c4fc9799449859abe0e464f2.
2020-04-02 10:01:26 -07:00
Dan Field
31eab31f77 Reland Clang 11, roll buildroot to 1bc40a5f916adb93d87e2a2230a0ec43db876c1c, take 3 (flutter/engine#17467)
* Reland Clang 11, Roll buildroot to 1bc40a5f916adb93d87e2a2230a0ec43db876c1c (#17457)" (#17464)

This reverts commit 6083cda709c194ec81d2092c70a0151a10f0c922.

* Skip more image tests, use newer dsymutil, add missing symbols
2020-04-01 20:55:27 -07:00
Gary Qian
eff62e12bd Implement getExtractedText in InputConnectionAdaptor (flutter/engine#17426) 2020-04-01 18:51:04 -07:00
liyuqian
474e90ba76 Add build_and_test_linux_release presubmit test (flutter/engine#17073) 2020-04-01 18:46:04 -07:00
Dan Field
6083cda709 Revert "Reland Clang 11, Roll buildroot to 1bc40a5f916adb93d87e2a2230a0ec43db876c1c (#17457)" (flutter/engine#17464)
This reverts commit fe77c763691277d3194269f30d9a8c915e437852.
2020-04-01 17:50:57 -07:00
Dan Field
fe77c76369 Reland Clang 11, Roll buildroot to 1bc40a5f916adb93d87e2a2230a0ec43db876c1c (flutter/engine#17457)
* Reland "Roll Clang to v11, roll buildroot to fe13f79dce4ce9aab3209f11988d825dcf580b4a, allow newly exported symbols (#17440)" (#17451)"

This reverts commit d77d53688f77285966adeb2a24349ba490a7e6ce.

* skip golden that is different on macos

* buildroot to 1bc40a5f916adb93d87e2a2230a0ec43db876c1c
2020-04-01 16:32:13 -07:00
gaaclarke
f3c6f8902f Started clearing out the semantics information in Dart as well as deleting the AccessibilityBridge. (flutter/engine#17433) 2020-04-01 13:08:01 -07:00
Brian Osman
6ed6d9bdc8 Finish removing deprecated SkCanvas virtuals (flutter/engine#17445)
API staging is complete - these defines have been removed.
2020-04-01 10:27:50 -04:00
Chinmay Garde
c338e362f1 Use Metal on iOS by default. (flutter/engine#17431)
Fixes https://github.com/flutter/flutter/issues/18208. All Metal for iOS related work items described in https://github.com/orgs/flutter/projects/5 have been completed.
2020-03-31 23:37:04 -07:00
Chinmay Garde
1eec7d5d8e If the application says there is a new texture but does not provide one, reuse the last texture. (flutter/engine#17437)
This matches the behavior of the OpenGL backend.
2020-03-31 22:01:32 -07:00
Robert Ancell
eda8501719 Update FlDartProject to new path format (flutter/engine#17302)
Matches the structure used on Windows of assuming a directory format.
2020-03-31 15:25:44 -07:00
liyuqian
b4f8a7c881 GPU to raster rename, patch 2 (flutter/engine#17428) 2020-03-31 15:16:11 -07:00
Chinmay Garde
7bc00f2d09 Fix iOS builds on Xcode 11.4 for new enum values added in iOS 13.4. (flutter/engine#17429)
The following issues have been filed to track the handling of these enum values:

* Handle the UITouchTypeIndirectPointer enum value. https://github.com/flutter/flutter/issues/53696
* Handle the UITouchPhaseRegion enum values. https://github.com/flutter/flutter/issues/53695

No change in functionality. Only makes the iOS engine build on the latest
versions of Xcode and iOS SDK. The enum values cannot be used with the
API_AVAILABLE macro because the buildbots have not been updated yet.
2020-03-31 15:10:05 -07:00
Nathan Rogers
afb66ed5a6 [fuchsia] Remove "CreateTraceProvider" trace event (flutter/engine#17423)
Since the trace provider hasn't been created yet, it is not possible to
trace the creation of a trace provider using a TRACE_DURATION event (the
trace enabled and category check will always fail).  While this isn't
causing any urgent problems, remove it to set a good example for other
clients of tracing that might happen to reference this code.
2020-03-31 15:09:38 -07:00
liyuqian
6464f4eb97 Strengthen json string comparisons (flutter/engine#17425)
Make the test robust even if the json map reorders its keys.
2020-03-31 15:02:26 -07:00
liyuqian
b5318d05ff More rename from GPU thread to raster thread (flutter/engine#17408)
This PR touches variable names, class names, and file names so it's significantly more risky than its predecessor https://github.com/flutter/engine/pull/17329

Due to file name changes, this PR is expected to change the license files.

We haven't rename `shell/gpu` to `shell/raster` yet. It should be optional but I think it's better to have `raster_surface_software.cc` than `gpu_surface_software.cc`.
2020-03-31 14:05:28 -07:00