-
Notifications
You must be signed in to change notification settings - Fork 6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix native constructor of list of zircon handles and remove unused list factory specializations. #21980
Fix native constructor of list of zircon handles and remove unused list factory specializations. #21980
Conversation
…st factory specializations. The Fuchsia specific Dart utilities don't use Tonic and hence are unaffected by the recent changes to the engine for sound null-safety. This patch fixes the creation of lists of non-nullable Zircon handles. While looking for potential unpatched callsites that create lists of non-nullable handles from native code, I also found a couple of unused and incomplete specializations. I have removed the same. Fixes flutter/flutter#68496
It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact Hixie on the #hackers channel in Chat. Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. |
This is in code that we imported from the Fuchsia repository. I have limited ability to test this locally but I did verify that One specialization I removed was for lists of convertibles wrapped in smart pointers. As written, it is definitely incorrect as it cannot work with non-null types. However, it also seems to be unused. So I just removed it instead of fixing it. The other list factory was for text boxes which was only declared but not defined. I removed that too. |
There are no non-Tonic based users of native list constructors in //flutter except for this one in Fuchsia. So I don't think we should be running into this issue again. |
…nused list factory specializations. (flutter/engine#21980)
…nused list factory specializations. (flutter/engine#21980)
…nused list factory specializations. (flutter/engine#21980)
…nused list factory specializations. (flutter/engine#21980)
…nused list factory specializations. (flutter/engine#21980)
…nused list factory specializations. (flutter/engine#21980)
…nused list factory specializations. (flutter/engine#21980)
…nused list factory specializations. (flutter/engine#21980)
…nused list factory specializations. (flutter/engine#21980)
…nused list factory specializations. (flutter/engine#21980)
…nused list factory specializations. (flutter/engine#21980)
…nused list factory specializations. (flutter/engine#21980)
* 3edc16c Roll Dart SDK from 5c59a47beda7 to 902538ea56d5 (2 revisions) (flutter/engine#21978) * 0747f2f [web] Fix 3d transforms for html backend (flutter/engine#21499) * fa11ee6 Fix native constructor of list of zircon handles and remove unused list factory specializations. (flutter/engine#21980) * 2dc43ee Roll Fuchsia Mac SDK from MR_bRfe8I... to pZ9FgVZTK... (flutter/engine#21982) * 149ef70 [web] Implement sweep gradient (flutter/engine#21873) * 7987980 [web] Fix image gap due to svg element without position attribute (flutter/engine#21939) * 727a928 Roll Skia from 27f7fe32f49b to ac1ded033136 (15 revisions) (flutter/engine#21984) * 326157e [null-safety] fix Scene.toImage declaration (flutter/engine#21983) * 2ef0f42 Revert "[web] Fix image gap due to svg element without position attribute (#21939)" (flutter/engine#21986) * e78e405 Enable lazy-async-stacks by-default in all modes (Take 4) (flutter/engine#21802) * 91c81eb Fix linking issue (missing wayland-client library) (flutter/engine#21408) * 40784a0 Roll Fuchsia Linux SDK from dcMRY8S12... to lPMs_KwnU... (flutter/engine#21988) * 8510469 Roll Skia from ac1ded033136 to a25c0619b5ef (2 revisions) (flutter/engine#21989) * 7b72ce7 Roll Skia from a25c0619b5ef to 4964300530d3 (2 revisions) (flutter/engine#21990) * 564bd09 Roll Skia from 4964300530d3 to 51dc28505fb9 (5 revisions) (flutter/engine#21993) * eb6f7f8 Roll Dart SDK from 902538ea56d5 to fc82eeed7df3 (1 revision) (flutter/engine#21981) * 6ce33dd [null-safety] fix soundness of Paragraph._addPlaceholder (flutter/engine#21994) * 3cd70f2 Reland: Use dispatchKeyEventPreIme, and handle keys sent to InputConnection.sendKeyEvent on Android (flutter/engine#21979) * a82e917 [iOS] Fixes leaks of presses key message (flutter/engine#21987) * 5d4727d Roll Skia from 51dc28505fb9 to 1c823674d957 (8 revisions) (flutter/engine#21995) * 3658bd7 Revert "Reland: Use dispatchKeyEventPreIme, and handle keys sent to InputConnection.sendKeyEvent on Android (#21979)" (flutter/engine#22004) * ed53ff1 Roll Dart SDK from fc82eeed7df3 to 8be6a08153cc (1 revision) (flutter/engine#22002)
* Add an adjustment to currentLineWidth comparisons when pushing greedy line breaks (#21356) This is similar to the workaround used for https://github.com/flutter/flutter/issues/30347 The Minikin line breaker inserts greedy breaks based on a comparison of postBreak width and currentLineWidth. currentLineWidth is provided by the framework based on previous calls to Layout::measureText. That calculation may not exactly match the calculation of postBreak. This change ensures that breaks are only added if the difference between postBreak and currentLineWidth is significant. Fixes https://github.com/flutter/flutter/issues/65419 * Run desktop darwin tests in debug mode (#21660) * [macOS] Allow loading of AOT snapshots and instructions from elf bundle (#21670) * Ensure JNI is not called from raster thread (#21665) * Roll Skia from a7f69c290667 to 041fd0ad7d93 (5 revisions) (#21676) * [web] Support custom url strategies (#19134) * Enabled metal on ios simulator (#17881) * Roll Dart SDK from 9560a32779fc to 8f1a96317589 (12 revisions) (#21678) * Avoid leaking the FlutterEngineAOTData structure in FlutterEngineCollectAOTData. (#21680) * Store selection base/extent as integers (#21663) Previously, the selection base and extent were stored internally as iterators over text_. Since iterators must be treated as invalidated whenever the underlying container changes, this requires that selection_base_ and selection_extent_ be re-assigned after every change to text_. This is not currently particularly problematic, but once we add fields to track the base and extent of the composing region for multi-step input method support, as well as support for the sub-range within the composing region to which edits/completions apply, we end up having to regenerate a lot of iterators with each change, many of which are logically unchanged in position. A side benefit is that this simplifies inspection of these fields when debugging. * Revert "[web] Support custom url strategies (#19134)" (#21687) This reverts commit 02324994a3f44a2777ade96b3d69aa61901fb9b4. * Make TextInputModel::selection_start/end const (#21685) Neither of these methods mutate the state of the model. * Roll Skia from 041fd0ad7d93 to 38e6d226f24e (1 revision) (#21683) * Roll Fuchsia Linux SDK from kr1tNtZvZ... to ZJHmp3INU... (#21684) * Roll Dart SDK from 8f1a96317589 to 8572b5c0f6dc (1 revision) (#21686) * Roll Skia from 38e6d226f24e to ac0723a06b53 (3 revisions) (#21688) * Roll Fuchsia Mac SDK from m6w8tDXMm... to zhRBO0hCr... (#21689) * Roll Dart SDK from 8572b5c0f6dc to 98ea0b4971dd (1 revision) (#21691) * Skip flaky test (#21694) * Preserve specified AssetResolvers when performing a hot restart or updating the asset directory (#21611) Follow up from #21436 . That PR works for all embeddings except for Android, which creates a special JNI AssetResolver. Since the shell cannot recreate this resolver, update the logic to preserve existing resolvers instead. * Roll Skia from ac0723a06b53 to 8d43858ed21a (1 revision) (#21692) * Remove dependencies on _product variants of libdart from the Fuchsia release mode build (#21668) * fixing the autofill overlay problem (blue area for chrome) (#21610) * fixing the autofill overlay problem (blue area for chrome) * addression comments * [macOS] flutter_desktop_darwin_unittests can be enabled for all runtime modes (#21681) * Roll Dart SDK from 98ea0b4971dd to 44fa3b9e566c (1 revision) (#21695) * Update PR template to include the presubmit flake form (#21697) * [macOS] Fix docs for loadAOTData and minor refactor (#21699) * Roll Skia from 8d43858ed21a to 9c0b79a35489 (14 revisions) (#21698) * Fix engine Xcode projection for newer versions of Xcode. (#21701) * chrome driver for chrome 86 (#21705) * Clear the Minikin layout cache during engine destruction (#21473) * Roll Skia from 9c0b79a35489 to e17b0501963a (15 revisions) (#21707) * [web] Reland Support custom url strategies (#21702) * SecurityException: Permission Denial (#21290) Fix `java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider` Fixes flutter/flutter#66108 Co-authored-by: Dan Field <dfield@gmail.com> * Roll ICU to 146cb611fb2c1f53e63c2e59bd735d7a8ac6ec8c (#21606) * fl_method_response.cc: fix lint failures (#21406) Fix lint issues caused by `google-readability-braces-around-statements`. * Forbid android.util.Log (#21696) * Roll Dart SDK from 44fa3b9e566c to 4ba58cad60e4 (1 revision) (#21708) * Roll Fuchsia Linux SDK from ZJHmp3INU... to wrXNShr_8... (#21709) * Perform selection check in DeleteSelected (#21711) At every call site for TextInputModel::DeleteSelected, we perform a check for a collapsed selection. This moves that check into the method itself. * Roll Dart SDK from 4ba58cad60e4 to fe566e6d08b1 (1 revision) (#21718) * Roll Fuchsia Mac SDK from zhRBO0hCr... to LyP59nILn... (#21720) * Roll Dart SDK from fe566e6d08b1 to 1e7250f91944 (1 revision) (#21723) * Roll Dart SDK from 1e7250f91944 to 712e35f7fd0b (1 revision) (#21725) https://dart.googlesource.com/sdk.git/+log/1e7250f91944..712e35f7fd0b 2020-10-09 dart-luci-ci-builder@dart-ci.iam.gserviceaccount.com Version 2.11.0-205.0.dev If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/dart-sdk-flutter-engine Please CC dart-vm-team@google.com 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/+doc/master/autoroll/README.md * Roll Skia from e17b0501963a to 453f67ff0ade (28 revisions) (#21732) https://skia.googlesource.com/skia.git/+log/e17b0501963a..453f67ff0ade 2020-10-09 ethannicholas@google.com SkSL enum changes 2020-10-09 egdaniel@google.com Suppress vulkan validation layers bug. 2020-10-09 ethannicholas@google.com more SkSL IRNode refactoring 2020-10-09 egdaniel@google.com Make sure the normal GrProgramDesc handles input attachment key. 2020-10-09 michaelludwig@google.com SkDevice::drawSpecial accepts arbitrary matrix v2 2020-10-09 brianosman@google.com Reorganize how SkSL includes are parsed and stored 2020-10-09 johnstiles@google.com Reland "Add sk_Caps.builtinDeterminantSupport and use it in cross()." 2020-10-09 adlai@google.com Reland "Merge GrContext::init into GrDirectContext ..." 2020-10-09 johnstiles@google.com Add test for sk_Caps.mustGuardDivisionEvenAfterExplicitZeroCheck. 2020-10-09 johnstiles@google.com Add test for sk_Caps.inBlendModesFailRandomlyForAllZeroVec. 2020-10-09 johnstiles@google.com Reland "Put top level FPs into their own functions" 2020-10-09 ethannicholas@google.com refactored more SkSL IRNodes 2020-10-09 egdaniel@google.com Reland "Rename GrStencilAttachment class to generic GrAttachment" 2020-10-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from af82ff2606e9 to 4a368eae5a6f (468 revisions) 2020-10-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 5f4e70b81046 to 952149303d06 (1 revision) 2020-10-09 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from 6b4a4a85dfd7 to 793a07e36636 (12 revisions) 2020-10-09 jvanverth@google.com Revert "Add sk_Caps.builtinDeterminantSupport and use it in cross()." 2020-10-09 brianosman@google.com Remove custom iterators from SkSL::Program 2020-10-08 jvanverth@google.com Revert "Rename GrStencilAttachment class to generic GrAttachment" 2020-10-08 johnstiles@google.com Add sk_Caps.builtinDeterminantSupport and use it in cross(). 2020-10-08 michaelludwig@google.com Add SkImageFilters::Shader in place of Paint factory 2020-10-08 michaelludwig@google.com Clip perspective bounds by device clip in SkPDFDevice 2020-10-08 jvanverth@google.com Revert "Merge GrContext::init into GrDirectContext ..." 2020-10-08 jvanverth@google.com Add push constant support to GrCaps. 2020-10-08 adlai@google.com Merge GrContext::init into GrDirectContext ... 2020-10-08 bsalomon@google.com Expose ManagedBackendTexture from BackendTextureImageFactory. 2020-10-08 kjlubick@google.com [canvaskit] Attempt to turn off rtti 2020-10-08 johnstiles@google.com Use SkSTArray to track CFG exits instead of std<set>. If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/skia-flutter-autoroll Please CC jvanverth@google.com 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/+doc/master/autoroll/README.md * Roll Fuchsia Mac SDK from LyP59nILn... to lqn8xmlDn... (#21733) * Roll Dart SDK from 712e35f7fd0b to 06536d68ca0f (2 revisions) (#21736) * Roll Fuchsia Linux SDK from wrXNShr_8... to EBX49sN_X... (#21729) * Roll Skia from 453f67ff0ade to 269e43fd9830 (11 revisions) (#21739) * Fix filesystem access prior to macOS 10.15 (#21740) * Roll Skia from 269e43fd9830 to 88cda17bbeb8 (3 revisions) (#21742) * [web] Add ShaderBuilder, change drawVertices to use builder. (#21716) * Move shader.dart into shaders directory * Add Shader builder basic structure and decls * rewrite drawVertices with ShaderBuilder * Fix in parameters in fragment shader to use varying for webgl1 * Add dart_entrypoint_argc/argv to the FlutterProjectArgs (#21737) * Migration to PlatformDispatcher and multi-window (#20496) This is a PR for converting the dart:ui code in the engine to use a multi-window API. The goal here is to convert from the window singleton to an API that has the concept of multiple windows. Also, I'm matching up the new PlatformDispatcher class to talk directly to the PlatformConfiguration class in the engine. I'm not attempting to actually enable creating multiple windows here, just migrate to an API that has a concept of multiple windows. The multi-window API in this PR currently only ever creates one window. The design doc for this change is here. The major changes in this PR: Move the platfom-specific attributes out of Window, and into the new PlatformDispatcher class that holds all of the platform state, so that the platform code need only update the configuration on this class. Create FlutterView, FlutterWindow, and SingletonFlutterWindow classes to separate out the concepts of a view (of which there may be multiple in a window), a window (of which there may be multiple on a screen, and they host views), and a window where there is only ever expected to be one (this hosts the entire API of the former Window class, and will eventually be the type of the window singleton). Next step after this PR lands: Remove the Window class entirely (it is replaced by SingletonFlutterWindow). Some minor changes in the Framework are needed to switch to using SingletonFlutterWindow directly first. The Window class still exists in this PR, but will be removed as soon as the framework is converted to point to the SingletonFlutterWindow class instead. They share the same API, just have different names (Window is currently a subclass of SingletonFlutterWindow). The intention is that the Window name will be freed up to use as a widget class name in the framework for managing windows. The singleton called window will remain, and keep the same API it has now. * Remove uses of Dart VM bytecode mode from Flutter engine (#21741) * Roll Skia from 88cda17bbeb8 to 61003cde7688 (4 revisions) (#21744) * Revert "fix On iOS, dialog titles are announced twice (#19826)" (#21714) * Roll Skia from 61003cde7688 to 13fc260c7080 (1 revision) (#21746) * Roll Fuchsia Mac SDK from lqn8xmlDn... to gzhbqRUap... (#21749) * Roll Skia from 13fc260c7080 to aa64c352b349 (1 revision) (#21752) * Roll Fuchsia Linux SDK from EBX49sN_X... to YRTc9YoiB... (#21753) * Roll Skia from aa64c352b349 to d71dc2d25b8b (1 revision) (#21758) * Roll Fuchsia Mac SDK from gzhbqRUap... to _0R2HD4c8... (#21759) * Roll Fuchsia Linux SDK from YRTc9YoiB... to Nw5-0_sVF... (#21760) * Roll Fuchsia Mac SDK from _0R2HD4c8... to 82ankF-Ht... (#21762) * Roll Fuchsia Mac SDK from 82ankF-Ht... to FFpTJfmj1... (#21768) * Use buildroot clang for scenario app (#21690) * Roll Fuchsia Linux SDK from Nw5-0_sVF... to h-DeV4tgE... (#21771) * Roll Skia from d71dc2d25b8b to ceb6214a556a (5 revisions) (#21772) * Ignore analysis warning for doc comment (#21773) This is to unblock a Dart -> engine roll. * Roll Skia from ceb6214a556a to 9213e610ed92 (8 revisions) (#21774) * Roll Dart SDK from 06536d68ca0f to e256855d07ba (6 revisions) (#21775) * Reland "Create root isolate asynchronously (#20142)" (#21747) This reverts commit 5585ed99039efb3705025e1c58170cdb86af111b. Additionally, the following _flutter.runInView deadlock is fixed. Previously, a deadlock would occur when service protocol _flutter.runInView is used to restart the engine wihtout tearing down the shell: the shared mutex of the service protocol will be locked during the restart as it's in the middle of handling a service protocol message; if ServiceProtocol::AddHandler is also called during the restart, the deadlock happens as AddHandler also requires such lock. test/integration.shard/background_isolate_test.dart would fail without this fix. * Roll Skia from 9213e610ed92 to 840e8ea7403e (11 revisions) (#21779) * Roll Skia from 840e8ea7403e to ab6e62c131e9 (7 revisions) (#21783) * Fix documentation build for window changes. (#21780) * Fix documentation build for window changes. * Add missing interfaces for web_ui * E2e screenshot tests2 (#21383) * carrying code * more changes for carrying the code * rebase changes onto ios-screenshot tests * adding screenshot capability to text_editing e2e test * address some comments * change enable flag for isUnitTestsScreenshotsAvailable * addressing the reviewer comments * change the dependency for path * add to licencense file * changing goldens commit no. the new commit has the screenshot goldens * update readme file * firefox tests needs LUCI changes * change to release mode since screenshots were taken in release mode * change window size * some argument changes * small comment change * test the chrome linux tests again * use roboto font instead of default font * addressing reviewer comments * change commit for goldens * [null-safety] fix build rule to produce sound dill (#21784) The space in the argument name was causing this argument to be dropped and the sound and unsound dills to be identical. * Extract a TextRange class for selection (#21722) Extracts a TextRange class with a base and extent, and start(), end(), collapsed(), and length() getters. The possibility of reversed base and extent in selections and composing ranges makes reasoning about them complex and increases the chances of errors in the code. This change migrates most uses of base and extent in the text model to start()/end() or position(). The position() method is intended purely as an aid to readability to indicate that a collapsed selection is expected at the call site; it also enforces a debug-time assertion that this is the case. * Revert "Migration to PlatformDispatcher and multi-window #20496" (#21792) * Revert "Fix documentation build for window changes. (#21780)" This reverts commit 931a04683d6eb49fc92059b2384ac5b1618d5422. * Revert "Migration to PlatformDispatcher and multi-window (#20496)" This reverts commit 85b0031f73544e448354047dc6a236c0b0808252. * Add workaround for missing fl_method_xxx_response_get_type() symbols (#21405) * Support Wayland only (without X11 support in gdk) (#21218) Adds a support for compiling flutter engine when gdk does not have X11 backend. In such a configuration the generated gdkconfig.h header file looks like the following: /* gdkconfig.h * * This is a generated file. Please modify `configure.ac' */ #ifndef __GDKCONFIG_H__ #define __GDKCONFIG_H__ #if !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION) #error "Only <gdk/gdk.h> can be included directly." #endif #include <glib.h> G_BEGIN_DECLS #define GDK_WINDOWING_WAYLAND G_END_DECLS #endif /* __GDKCONFIG_H__ */ Additionally headers like <gdk/gdkx.h> are not available at all. Above configuration can be found on the most of the embedded systems. This patch enables compilation of X11 specific code only when gdk defines GDK_WINDOWING_X11. Signed-off-by: Damian Wrobel <dwrobel@ertelnet.rybnik.pl> * Roll Skia from ab6e62c131e9 to f58db3c94da3 (6 revisions) (#21794) * Roll Fuchsia Mac SDK from FFpTJfmj1... to 8Cb2zG9e3... (#21795) * Roll Fuchsia Linux SDK from h-DeV4tgE... to gdo4mZ5oI... (#21797) * Roll Skia from f58db3c94da3 to 387fd62a1280 (3 revisions) (#21801) * Roll Skia from 387fd62a1280 to c89a7ee628db (1 revision) (#21803) * Roll Skia from c89a7ee628db to fa8891164062 (1 revision) (#21804) * [web] Fix Altgr keyboard crash (#21781) * Fix AltGr modifier crash * update integration test * Roll Skia from fa8891164062 to 01b93eabe25b (4 revisions) (#21805) * Ocmock dylib (#21786) - Build OCMock as a dylib for iOS tests - Set install_name for ios_flutter_test and ocmock dylibs - Copy and sign dylibs during build process * Roll Dart SDK from e256855d07ba to a3b62f366529 (4 revisions) (#21808) * Roll Dart SDK from e256855d07ba to a3b62f366529 (4 revisions) (#21809) * Roll Skia from 01b93eabe25b to 2e0c70dc9c3e (10 revisions) (#21810) * Roll Fuchsia Linux SDK from gdo4mZ5oI... to 41fVbRhb0... (#21814) * Revert "Roll Fuchsia Linux SDK from gdo4mZ5oI... to 41fVbRhb0... (#21814)" (#21823) This reverts commit 7959d80c10d586a71f2671febe877bfba3d2d014. * Allow TalkBack navigation while a platform view is rendered (#21719) * [ios] Create a standalone external view embedder on iOS (#21798) * Add missing ninja call to analyze.sh so it can be run locally easily (#21782) * Roll Skia from 2e0c70dc9c3e to 7bbdde059685 (10 revisions) (#21816) * Call PlatformView.dispose when removing hybrid composition platform views (#21790) Also force disposal of all hybrid platform views when shutting down the engine. Fixes https://github.com/flutter/flutter/issues/66764 * [fuchsia] add intercept_all_input flag support (#21821) [fuchsia] add intercept_all_input flag support This change also fixes an issue where FlutterRunnerProductConfiguration crashes when a field is missing, when building with --unopt. Test: Added unit tests Bug: fxb/61466, fxb/61942 * [web] enabling firefox screenshot tests. adding to documentation (#21807) * enabling firefox screenshot tests. adding to documentation * test with correct goldens * update goldens SHA * change the goldens with flutter/goldens repo * do not run preparation step twice. this will cause test_results to be deleted * Revert Linux Fuchsia SDK rolls to 10/8 (#21829) * Roll Dart SDK from a3b62f366529 to 4226116043f5 (1 revision) (#21830) * Roll Fuchsia Mac SDK from 8Cb2zG9e3... to SFNhlfVb_... (#21832) * Roll Skia from 7bbdde059685 to 99446001182c (5 revisions) (#21834) * Fix the offset passed to minikin::GraphemeBreak::isGraphemeBreak (#21706) The character offset passed to isGraphemeBreak is relative to the beginning of the string (not relative to the text_start parameter). This caused bad results when searching for grapheme breaks beyond the first line of text (see https://github.com/flutter/flutter/issues/24802). This PR fixes the offset value. It also reverts the workaround applied in https://github.com/flutter/engine/pull/10063, which caused incorrect calculation of boundaries between graphemes within ligatures. * Update flutter to pass Skia the VkImageUsageFlags and Samples (#21842) Previously Skia did not require the clients to pass in the usage flags and Skia would just assumed they contained specific ones depending on how the client wrapped the VkImage. Now Skia allows the client to pass in the specific usage flags used so that Skia knows exactly what type of operations are legal without having to guess/assume what the client did. Also update to set the sample count as well while I'm in here. * [android] Refactor surface factory and wire in external view embedder (#21839) * Upgrade to latest process runner, fix commands that throw to fail test (#21827) This fixes the lint script to fail when the clang-tidy command itself fails to execute, and print the exception that was raised. * Prevent a race between SurfaceTexture.release and updateTexImage (#21777) * Explicitly make the X connection for EGL. (#21831) Explicitly make the X connection for EGL. EGL can mistakenly choose the GBM backend when using EGL_DEFAULT_DISPLAY. Fixes https://github.com/flutter/flutter/issues/60429 * Revert "Explicitly make the X connection for EGL. (#21831)" (#21851) This reverts commit 516cbaee8736cb4bbc9fdaa6af4ae9a2ec55c5cc. * Roll Dart SDK from 4226116043f5 to 04cf6ade9fc4 (4 revisions) (#21846) * Roll Skia from 99446001182c to f4bda743ff8d (22 revisions) (#21848) * Migrate TextInputPlugin API to TextRange (#21854) Replaces selection_base() and selection_extent() with selection() and SetSelection(int, int) with SetSelection(range). This also adds the following convenience methods to TextRange: * reversed() * Contains(size_t position) * Contains(const TextRange& range) as well as operator== for use in unit tests. When Flutter migrates to C++20, we can replace that method with a default declaration. * Add a style note about Linux embedding style (#21819) * Add flag to not publish the observatory port over mDNS (#21632) * Add flag to not publish the observatory port over mDNS * Review edits * Format * Fix destruction order in C++ plugin registrar (#21840) The C++ wrapper's plugin registrar can own plugins to provided lifetime management. However, plugins expect the registrar to be valid for the life of the object, including during destruction, so any owned plugins must be explicitly cleared before any registrar-specific destruction happens. * Revert "Add flag to not publish the observatory port over mDNS (#21632)" (#21882) This reverts commit dc848f154b9c5534262e5b8d3f0360a1beafdeb5. * Add flag to not publish the observatory port over mDNS (#21883) * begin to add uniformData * Update more class names from GrContext to GrDirectContext (#21864) This name change has to do with SkDeferredDisplayList, which Flutter does not use. As far as Flutter is concerned, this is a no-op. * Add more TextStyle support to Paragraph in CanvasKit mode (#21629) * WIP on Paragraph * WIP skparagraph * Add more Paragraph features in CanvasKit mode * Fix addRoundRect test * Respond to review comments * Remove unused (and potentially harmful) getters from Sk classes * disabled the auto assign bot (#21341) * Fix incldues to be flutter/shell rather than shell/ (#21889) * Check for null images in ImageFromCompressedData (#21891) * Roll buildroot to 9184ff0695be1b3e4bb20cf64efcfa56daa0a3c0 (#21884) This fixes Windows build on goma. Rolls in buildroot change https://github.com/flutter/buildroot/pull/406 https://github.com/flutter/engine/pull/21884 by stuartmorgan which removes the /FC flag in Windows builds. That flag is incompatible with upstream goma changes. See: https://source.chromium.org/chromium/chromium/src/+/2e6d17c6948b2ca1e4dbd6bf15fcb52d32fa338d * Add TextRange::Contains tests spanning base/extent (#21874) Adds tests for TextRange::Contains(const TextRange&) where the range being tested spans the base/extent of the testing range. This was originally intended to land in #21854, but it seems I didn't push the additional tests before landing. * Roll Skia from f4bda743ff8d to f1b53836b705 (21 revisions) (#21892) * [fuchsia] External view embedder will be shared with platform view (#21850) * Add multi-step IME support to TextInputModel (#21682) * Add multi-step IME support to TextInputModel This updates the platform-independent TextInputModel to add support for input method (abbreviated IM or IME) composing regions. In contrast to languages such as English, where keyboard input is managed keystroke-by-keystroke, languages such as Japanese require a multi-step input process wherein the user begins a composing sequence, during which point their keystrokes are captured by a system input method and converted into a text sequence. During composing, the user is able to edit the composing range and manage the conversion from keyboard input to text before eventually committing the text to the underlying text input field. To illustrate this, in Japanese, this sequence might look something like the following: 1. User types 'k'. The character 'k' is added to the composing region. Typically, the text 'k' will be inserted inline into the underlying text field but the composing range will be highlighted in some manner, frequently with a highlight or underline. 2. User types 'a'. The composing range is replaced with the phonetic kana character 'か' (ka). The composing range continues to be highlighted. 3. User types 'k'. The character 'k' is appended to the composing range such that the highlighted text is now 'かk' 4. User types 'u'. The trailing 'k' is replaced with the phonetic kana character 'く' (ku) such that the composing range now reads 'かく' The composing range continues to be highlighted. 5. The user presses the space bar to convert the kana characters to kanji. The composing range is replaced with '書く' (kaku: to write). 6. The user presses the space bar again to show other conversions. The user's configured input method (for example, ibus) pops up a completions menu populated with alternatives such as 各 (kaku: every), 描く (kaku: to draw), 核 (kaku: pit of a fruit, nucleus), 角 (kaku: angle), etc. 7. The user uses the arrow keys to navigate the completions menu and select the alternative to input. As they do, the inline composing region in the text field is updated. It continues to be highlighted or underlined. 8. The user hits enter to commit the composing region. The text is committed to the underlying text field and the visual highlighting is removed. 9. If the user presses another key, a new composing sequence begins. If a selection is present when composing begins, it is preserved until the first keypress of input is received, at which point the selection is deleted. If a composing sequence is aborted before the first keypress, the selection is preserved. Creating a new selection (with the mouse, for example) aborts composing and the composing region is automatically committed. A composing range and selection, both with an extent, are not permitted to co-exist. During composing, keyboard navigation via the arrow keys, or home and end (or equivalent shortcuts) is restricted to the composing range, as are deletions via backspace and the delete key. This patch adds two new private convenience methods, `editing_range` and `text_range`. The former returns the range for which editing is currently active -- the composing range, if composing, otherwise the full range of the text. The latter, returns a range from position 0 (inclusive) to `text_.length()` exclusive. * Move SetComposingLength to TextRange::set_* Adds set_base, set_extent, set_start, set_end methods to TextRange. * [embedder] Platform View owns lifecycle of external view embedder (#21847) Changing it to shared_ptr and migrating the ownership from surface to platform view. * [ios] Refactor IOSSurface factory and unify surface creation (#21877) * Roll Fuchsia Mac SDK from SFNhlfVb_... to _FaRRt69Z... (#21906) * Roll Dart SDK from 04cf6ade9fc4 to 80288ca68c49 (6 revisions) (#21909) * Roll Skia from f1b53836b705 to db0288d747ae (7 revisions) (#21910) * Forward Error objects to uncaught exception handler if there is one. (#21806) * Roll Skia from db0288d747ae to 839fb228ac44 (1 revision) (#21911) * Roll Dart SDK from 80288ca68c49 to e655b9a3839e (1 revision) (#21915) * Eliminate FLUTTER_NOLINT where possible (#21904) This removes most of the remaining FLUTTER_NOLINT comments and opts these files back into linter enforcement. I've filed https://github.com/flutter/flutter/issues/68273 to require that all FLUTTER_NOLINT comments be followed by a GitHub issue URL describing the problem to be fixed. * Roll Skia from 839fb228ac44 to 418eda2c599a (9 revisions) (#21917) * Roll Dart SDK from e655b9a3839e to b58cfe5ab24e (1 revision) (#21919) https://dart.googlesource.com/sdk.git/+log/e655b9a3839e..b58cfe5ab24e 2020-10-16 dart-luci-ci-builder@dart-ci.iam.gserviceaccount.com Version 2.11.0-230.0.dev If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/dart-sdk-flutter-engine Please CC dart-vm-team@google.com,asiva@google.com 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/+doc/master/autoroll/README.md * Roll Dart SDK from e655b9a3839e to b58cfe5ab24e (1 revision) (#21920) * Roll Skia from 418eda2c599a to f9c7b2803461 (3 revisions) (#21923) * Enable loading snapshots with sound null safety enabled. (#21820) Snapshots compiled with sound null-safety enabled require changes to the way in which isolates are launched. Specifically, the `Dart_IsolateFlags::null_safety` field needs to be known upfront. The value of this field can only be determined once the kernel snapshot is available. This poses a problem in the engine because the engine used to launch the isolate at shell initialization and only need the kernel mappings later at isolate launch (when transitioning the root isolate to the `DartIsolate::Phase::Running` phase). This patch delays launch of the isolate on the UI task runner till a kernel mapping is available. The side effects of this delay (callers no longer having access to the non-running isolate handle) have been addressed in this patch. The DartIsolate API has also been amended to hide the method that could return a non-running isolate to the caller. Instead, it has been replaced with a method that requires a valid isolate configuration that returns a running root isolate. The isolate will be launched by asking the isolate configuration for its null-safety characteristics. A side effect of enabling null-safety is that Dart APIs that work with legacy types will now terminate the process if used with an isolate that has sound null-safety enabled. These APIs may no longer be used in the engine. This primarily affects the Dart Convertors in Tonic that convert certain C++ objects into the Dart counterparts. All known Dart Converters have been updated to convert C++ objects to non-nullable Dart types inferred using type traits of the corresponding C++ object. The few spots in the engine that used the old Dart APIs directly have been manually updated. To ensure that no usage of the legacy APIs remain in the engine (as these would cause runtime process terminations), the legacy APIs were prefixed with the `DART_LEGACY_API` macro and the macro defined to `[[deprecated]]` in all engine translation units. While the engine now primarily works with non-nullable Dart types, callers can still use `Dart_TypeToNonNullableType` to acquire nullable types for use directly or with Tonic. One use case that is not addressed with the Tonic Dart Convertors is the creation of non-nullable lists of nullable types. This hasn’t come up so far in the engine. A minor related change is reworking tonic to define a single library target. This allows the various tonic subsystems to depend on one another. Primarily, this is used to make the Dart convertors use the logging utilities. This now allows errors to be more descriptive as the presence of error handles is caught (and logged) earlier. Fixes https://github.com/flutter/flutter/issues/59879 * Break the reference cycle between the surface factory and the external view embedder (#21918) See https://github.com/flutter/flutter/issues/68315 * Revert "[fuchsia] External view embedder will be shared with platform view (#21850)" (#21924) This reverts commit 1bc025d6cbf1136c2e96c6fb041d24202ea47ff0. * Add plumbing to grab dart entrypoint args on macOS (#21789) * Update FLUTTER_NOLINT uses to include issue link (#21921) In an upcoming patch, we'll enable enforcement that all FLUTTER_NOLINT comments include an issue link. This migrates the remaining uses to that format. Bug: https://github.com/flutter/flutter/issues/68273 * Set strokeCap, strokeJoin, and strokeMiter when resurrecting Paint (#21926) * Roll Skia from f9c7b2803461 to f60a76e2ac01 (4 revisions) (#21929) * Eliminate unnecessary linter opt-outs (#21935) Eliminates FLUTTER_NOLINT where they can be landed without triggering lint failures. * Require that FLUTTER_NOLINT include issue link (#21922) This adds enforcement to the linter that all FLUTTER_NOLINT comments be of the form: // FLUTTER_NOLINT: https://github.com/flutter/flutter/issue/ID Every linter opt-out should have an associated bug describing what issue it works around so that others can work on eliminating it, or at least understanding the rationale and whether it's still relevant. This also reduces the likelihood of inadvertent copy-pasting into new files either because the author fails to spot it when copying the copyright block from another file, or assumes that it's necessary for some subcomponent of the engine. Bug: https://github.com/flutter/flutter/issues/68273 * Roll Skia from f60a76e2ac01 to be8004d2fb6c (1 revision) (#21936) * Roll the process_runner package used by the formatter script (#21937) * Roll Dart SDK from b58cfe5ab24e to aaab579579be (1 revision) (#21938) * Add FML_UNREACHABLE to declare points in code that should never be reached. (#21941) A version of this macro is present in most code-bases. The use of this macro must satisfy two requirements: 1: If reached, the process must be terminated in all runtime modes and at all optimization levels. 2: If the compiler requires a value to be returned from the function, encountering this macro should not make the compiler insist on a return value (since the process is about to die anyway). We used to have a version of this macro that wasn't widely used and didn't satisfy the two requirements. I have removed the same and another unused macro in fml/logging.h Fixes https://github.com/flutter/flutter/issues/68164. * Roll Fuchsia Mac SDK from _FaRRt69Z... to XZSNobQCT... (#21944) * Collect logs in the background. (#21828) * Collect logs in the background. * Use fuchsia_ctl log_file option. * Delete the correct file. * Remove commented code. * Roll Dart SDK from aaab579579be to 42a0bf548ea3 (1 revision) (#21946) * [web] Implement ClipOp.difference (#21901) * Roll Dart SDK from 42a0bf548ea3 to 675c7165c071 (1 revision) (#21948) * Roll Fuchsia Mac SDK from XZSNobQCT... to 9mMCqUXkF... (#21950) * [null-safety] fix type declaration of Picutre._toImage (#21942) Fixes flutter/flutter#68377 Should be a nullable string. Looks like --null-assertions does not cover the native binding code. * Roll Dart SDK from 675c7165c071 to 5c59a47beda7 (1 revision) (#21952) * Restore missing call to RuntimeDelegate.OnRootIsolateCreated (#21953) Fixes https://github.com/flutter/flutter/issues/68411 * Roll Fuchsia Mac SDK from 9mMCqUXkF... to MR_bRfe8I... (#21955) * Roll Skia from be8004d2fb6c to 27f7fe32f49b (1 revision) (#21956) * Temporarily disabled tests that were using latin and arabic characters (#21971) while we fix them. * Specify the Noto Naskh Arabic font to get consistent results in tests using Arabic characters (#21974) See https://github.com/flutter/flutter/issues/68493 * Added keyEvent support for iOS 13.4+ (#20972) * Fix the initialization of AndroidSurfaceFactoryImpl (#21977) Fixes https://github.com/flutter/flutter/issues/68446 * [null-safety] fix types of layer code (#21959) * FlTextInputPlugin: fix memory leaks (#21879) This PR fixes a few small memory leaks in FlTextInputPlugin. All three cases are creating temporary FlValue instances for lookups and comparison without ever releasing them. * Add multi-step input method support for Linux (#21897) This implements the Gtk hooks required to support multi-step input methods on Linux. This builds on the support for composing regions (preedit region in Gtk terminology) added to TextInputModel in https://github.com/flutter/engine/pull/21682. Specifically, the following changes are included: 1. Add handler for TextInput.setMarkedTextRegion framework messages: On any change to the EditableText in the framework, this message is sent which provides an updated rect (in the local co-ordinates of the EditableText) for the composing region. If not in composing mode, the cursor rect is sent. 2. Add handler for TextInput.setEditableSizeAndTransform framework messages: On any change to the RenderObject underlying the EditableText, an updated size for the full EditableText widget, as well as an affine transform matrix from local co-ordinates to Flutter root co-ordinates is sent. 3. On either of the above messages, we use the transformed composing rect to compute the cursor position in Gtk window co-ordinates and inform Gtk, so that it can position any system IM composing window correctly for on-the-spot composing, such as is used when inputting Japanese text. 4. Adds handlers for preedit-start, preedit-changed, and preedit-end signals from Gtk. These are passed on to the TextInputModel. 5. Updates the preedit-commit handler to commit the composing region to the text or, if not composing, insert new text at the cursor. 6. Updates the handler for TextInput.setEditingState framework messages to extract the composing range base and extent and pass these on to TextInputModel. 7. Updates update_editing_state function to set composing base and extent on text input state updates sent to the framework. * Forward font collection APIs to the SkParagraph font collection (#21734) * Define SK_VULKAN for clang-tidy runs (#21927) When linting flutter/vulkan/vulkan_window.cc, the call to GrDirectContext::MakeVulkan is undefined when SK_VULKAN is not defined, triggering a lint error. Bug: https://github.com/flutter/flutter/issues/68331 * Revert "[ios] Refactor IOSSurface factory and unify surface creation (#21877)" (#21970) * Roll Fuchsia Linux SDK from ZJHmp3INU... to dcMRY8S12... (#21976) * Roll Dart SDK from 5c59a47beda7 to 902538ea56d5 (2 revisions) (#21978) * [web] Fix 3d transforms for html backend (#21499) * Workaround for canvas element lacking support for 3d setTransform * update golden test * Add webkit workaround * Implement DOM rendering for perspective * cleanup * update goldens lock * Add check for shader and filtermask for dom use * Fix svg viewBox. Move zIndex check to bitmap canvas * Fix null check warning * Fix scene_builder zIndex=-1 test to force canvas usage * Add blendmode handling for DOM mode * Update maxdiff and golden locks * Remove unused import * Add drawcolor/drawpaint test. Fix bounds for drawColor/drawPaint * update golden locks * adjust drawColor for dpr * Update test to use canvas * Fix toDataUrl NNBD * Update Picture.toImage to use canvas to obstain image data * Remove write:true from golden calls * Add fill-rule for _pathToSvgElement * Update golden locks * Fix sceneBuilder pushClip / add missing clipBehaviour * Fix test now that clipping works correctly * move overflow handling for tests into DOMClip.addOverflow * Add clipRect to test to keep render inside bitmap canvas area * Update compositing test, fix drawColor coordinates * update golden locks * Skip test for matchGolden infra fail * update golden lock * merge * update maxdiff for text over canvas * update golden diff * update paint spread bounds maxdiff * update paint spread maxDiff * Fix native constructor of list of zircon handles and remove unused list factory specializations. (#21980) * Roll Fuchsia Mac SDK from MR_bRfe8I... to pZ9FgVZTK... (#21982) * [web] Implement sweep gradient (#21873) * [web] Fix image gap due to svg element without position attribute (#21939) * Roll Skia from 27f7fe32f49b to ac1ded033136 (15 revisions) (#21984) * [null-safety] fix Scene.toImage declaration (#21983) * Revert "[web] Fix image gap due to svg element without position attribute (#21939)" (#21986) This reverts commit 79879802e05edb2f8fb871428609f3db5a549273. * Enable lazy-async-stacks by-default in all modes (Take 4) (#21802) * Fix linking issue (missing wayland-client library) (#21408) As fl_renderer_wayland.cc uses directly some of the wayland-client related functions it should also add this library as a dependency. * Roll Fuchsia Linux SDK from dcMRY8S12... to lPMs_KwnU... (#21988) * Roll Skia from ac1ded033136 to a25c0619b5ef (2 revisions) (#21989) * Roll Skia from a25c0619b5ef to 4964300530d3 (2 revisions) (#21990) * Roll Skia from 4964300530d3 to 51dc28505fb9 (5 revisions) (#21993) * Roll Dart SDK from 902538ea56d5 to fc82eeed7df3 (1 revision) (#21981) * [null-safety] fix soundness of Paragraph._addPlaceholder (#21994) * Reland: Use dispatchKeyEventPreIme, and handle keys sent to InputConnection.sendKeyEvent on Android (#21979) This re-lands #21163, which was reverted in #21513 Now that flutter/flutter#67359 has landed, this change will no longer cause spaces (and other shortcuts) to be ignored in text fields if there is no action associated with the intent, even if there is a shortcut key mapping to an intent. Here's the original PR description: This switches from using dispatchKeyEvent to using dispatchKeyEventPreIme so that keys can be intercepted before they reach the IME and be handled by the framework. It also now intercepts key events sent to InputConnection.sendKeyEvent, as some IMEs do (e.g. the Hacker's Keyboard), and sends the to Flutter before sending them to the IME (which it now only does if they are not handled by the framework). This fixes the problem where pressing TAB on a hardware keyboard sends the tab to both the text field and to the focus traversal system. Note that we still can't intercept all keystrokes given to a soft keyboard, only those which the soft keyboard decides to send to InputConnection.sendKeyEvent. * [iOS] Fixes leaks of presses key message (#21987) Related PR: #20972 * Roll Skia from 51dc28505fb9 to 1c823674d957 (8 revisions) (#21995) * Revert "Reland: Use dispatchKeyEventPreIme, and handle keys sent to InputConnection.sendKeyEvent on Android (#21979)" (#22004) This reverts commit 3cd70f2cfb21baf30cc62de29d311118aa757c60 because it causes some failures in web tests. * Roll Dart SDK from fc82eeed7df3 to 8be6a08153cc (1 revision) (#22002) https://dart.googlesource.com/sdk.git/+log/fc82eeed7df3..8be6a08153cc 2020-10-20 dart-luci-ci-builder@dart-ci.iam.gserviceaccount.com Version 2.11.0-238.0.dev If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/dart-sdk-flutter-engine Please CC dart-vm-team@google.com,zra@google.com 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/+doc/master/autoroll/README.md * Roll Dart SDK from fc82eeed7df3 to 8be6a08153cc (1 revision) (#22005) * [fuchsia] opt-out null-safety in standalone scripts (#22009) * [fuchsia] zx::vmar::map migration (#22003) The new map() method receives its arguments in the same order as the underlying C system call. This patch should not change any behavior. * Revert "Define SK_VULKAN for clang-tidy runs (#21927)" (#22012) This breaks linting on other targets that include skia headers that do ifdef checks on SK_VULKAN. This reverts commit 25d8fa5a79cb0228e639601822598ada49695ff6. * Determine null-safety isolate flags for launches of the service isolate. (#22013) * Roll Skia from 1c823674d957 to 2d2f82c00aeb (13 revisions) (#22015) https://skia.googlesource.com/skia.git/+log/1c823674d957..2d2f82c00aeb 2020-10-20 brianosman@google.com Always declare sk_FragColor in GLSL, even if unused 2020-10-20 ethannicholas@google.com added SkSLNodeArrayWrapper 2020-10-20 reed@google.com update dox for drawPaint 2020-10-20 johnstiles@google.com Wrap built-in symbol tables during inlining. 2020-10-20 johnstiles@google.com Wrap built-in symbol tables when an IRNode is cloned. 2020-10-20 johnstiles@google.com Fix typo in class name. 2020-10-20 robertphillips@google.com Make GrFillRectOp::onPrePrepareDraws also call base class' version 2020-10-20 adlai@google.com Reland "Remove GrContext" 2020-10-20 robertphillips@google.com Rename some of GrThreadSafeCache's member variables 2020-10-20 abarth@google.com [fuchsia] Migrate to new zx::vmar::map method 2020-10-20 mtklein@google.com upstream cl/337571894 with tweaks 2020-10-20 robertphillips@google.com Pull the triangulating path renderer's shape-space triangulation into a helper method 2020-10-20 fmalita@chromium.org [svg] Parse text attributes If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/skia-flutter-autoroll Please CC egdaniel@google.com 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/+doc/master/autoroll/README.md * Roll Dart SDK from 8be6a08153cc to 86242db30c23 (2 revisions) (#22018) * Roll Dart SDK from 86242db30c23 to 874709e52a99 (1 revision) (#22023) * Roll Dart SDK from 874709e52a99 to a3d902d8598e (1 revision) (#22026) https://dart.googlesource.com/sdk.git/+log/874709e52a99..a3d902d8598e 2020-10-21 dart-luci-ci-builder@dart-ci.iam.gserviceaccount.com Version 2.11.0-242.0.dev If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/dart-sdk-flutter-engine Please CC dart-vm-team@google.com 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/+doc/master/autoroll/README.md * Run framework tests in sound null safety mode (#22038) * Plumb through Dart entrypoint arguments on the Linux embedder (#21933) * Ensure root isolate create callback is invoked before the isolate is in the running phase. (#22041) Embedders that have access to the Dart native API (only Fuchsia now) may perform library setup in the isolate create callback. The engine used to depend on the fact the root isolate entrypoint is invoked in the next iteration of message loop (via the `_startIsolate` trampoline in `isolate_patch.dart`) to ensure that library setup occur before the main entrypoint was invoked. However, due to differences in the way in which message loops are setup in Fuchsia, this entrypoint was run before the callback could be executed. Dart code on Fuchsia also has the ability to access the underlying event loops directly. This patch moves the invocation of the create callback to before user dart code has a chance to run. This difference in behavior on Fuchsia became an issue when the isolate initialization was reworked in https://github.com/flutter/engine/pull/21820 for null-safety. Another issue was discovered in that the callback was being invoked twice, I fixed that too and added a test. Fixes https://github.com/flutter/flutter/issues/68732 * Isolates launched by the engine instance use the settings of that instance. (#22052) This regression was introduced in https://github.com/flutter/engine/pull/21820 for sound-null safety. The settings used to launch the VM were incorrectly used to determine the isolate lifecycle callbacks. Since the first shell/engine in the process also starts the VM, these objects are usually identical. However, for subsequent engine shell/engine launches, the callbacks attached to the new settings object would be ignored. The unit-test harness is also structured in such a way that each test case tears down the VM before the next. So all existing tests created a bespoke VM for the test run, and, the tests that did create multiple isolates did not also test attaching callbacks to the settings object. Fixes https://github.com/flutter/engine/pull/22041 * Roll Skia from 2d2f82c00aeb to 5c7bb326a7b3 (33 revisions) (#22059) https://skia.googlesource.com/skia.git/+log/2d2f82c00aeb..5c7bb326a7b3 2020-10-22 johnstiles@google.com Reland "Create a basic IRNode pooling system." 2020-10-22 egdaniel@google.com Revert "Reland "Create a basic IRNode pooling system."" 2020-10-22 egdaniel@google.com Revert "Add pooling support on iOS." 2020-10-22 brianosman@google.com Add much better SkTHashMap visualization to Skia.natvis 2020-10-22 kjlubick@google.com [fuzz] Copy crashing outputs before failing 2020-10-22 johnstiles@google.com Add pooling support on iOS. 2020-10-22 jvanverth@google.com Fix storage class issues for push constant variables. 2020-10-22 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 84f5eeb6dd9b to e02d8938821a (3 revisions) 2020-10-22 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 4bdce889ea35 to 502ec4ce30b3 (465 revisions) 2020-10-22 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from e2147a58a233 to d74754378f09 (16 revisions) 2020-10-22 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from cca03ca6bfe9 to 22505a5afe1f (9 revisions) 2020-10-22 johnstiles@google.com Reland "Create a basic IRNode pooling system." 2020-10-21 fmalita@chromium.org [svg] Add support for preserveAspectRatio 2020-10-21 johnstiles@google.com Pop the symbol table if compilation fails. 2020-10-21 kjlubick@google.com [canvaskit] Load resources into wasm gms/unit tests. 2020-10-21 egdaniel@google.com In Vk don't set dynamic blend constant on Pipeline if we don't use it. 2020-10-21 tdenniston@google.com [svg] Add gradientUnits attribute, value, and parsing 2020-10-21 jlavrova@google.com Underline decorations with gaps and no text 2020-10-21 bsalomon@google.com Reland "Perform bounding rect-relative calcs in full float in GrRRectBlurEffect" 2020-10-21 brianosman@google.com Add several more visualizations to Skia.natvis 2020-10-21 michaelludwig@google.com Make small epsilons more rigorous for gpu gaussian blurs 2020-10-21 johnstiles@google.com Revert "Create a basic IRNode pooling system." 2020-10-21 bsalomon@google.com Revert "Perform bounding rect-relative calcs in full float in GrRRectBlurEffect" 2020-10-21 johnstiles@google.com Migrate additional FPs to `return` instead of `sk_OutColor`. 2020-10-21 johnstiles@google.com Wrap built-in symbol tables when a switch statement is cloned. 2020-10-21 bsalomon@google.com Perform bounding rect-relative calcs in full float in GrRRectBlurEffect 2020-10-21 johnstiles@google.com Create a basic IRNode pooling system. 2020-10-21 robertphillips@google.com Increase encapsulation of GrThreadSafeCache::Entry 2020-10-21 kjlubick@google.com [canvaskit] Fix gm test runner on non-tryjobs 2020-10-21 skia-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from df17a76102df to 84f5eeb6dd9b (3 revisions) 2020-10-21 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 2be35682cd67 to e2147a58a233 (40 revisions) 2020-10-21 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 60b90a0bfd24 to 4bdce889ea35 (441 revisions) 2020-10-21 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Dawn from c4593127cbdd to cca03ca6bfe9 (7 revisions) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/skia-flutter-autoroll Please CC egdaniel@google.com 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/+doc/master/autoroll/README.md * Roll Fuchsia Linux SDK from lPMs_KwnU... to gqS_DIjN4... (#22057) 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 chinmaygarde@google.com 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/+doc/master/autoroll/README.md * Roll Fuchsia Mac SDK from pZ9FgVZTK... to WLxBkBnZa... (#22055) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/fuchsia-mac-sdk-flutter-engine Please CC chinmaygarde@google.com 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/+doc/master/autoroll/README.md Co-authored-by: Jason Simmons <jason-simmons@users.noreply.github.com> Co-authored-by: Kaushik Iska <iska.kaushik@gmail.com> Co-authored-by: Emmanuel Garcia <egarciad@google.com> Co-authored-by: skia-flutter-autoroll <skia-flutter-autoroll@skia.org> Co-authored-by: Mouad Debbar <mouad.debbar@gmail.com> Co-authored-by: Pieter van Loon <Kavantix@users.noreply.github.com> Co-authored-by: Chinmay Garde <chinmaygarde@google.com> Co-authored-by: Chris Bracken <chris@bracken.jp> Co-authored-by: Dan Field <dnfield@google.com> Co-authored-by: Jonah Williams <jonahwilliams@google.com> Co-authored-by: nturgut <nurhan@google.com> Co-authored-by: Hamdi Kahloun <32666446+hamdikahloun@users.noreply.github.com> Co-authored-by: Dan Field <dfield@gmail.com> Co-authored-by: J-P Nurmi <jpnurmi@gmail.com> Co-authored-by: Ferhat <ferhat@gmail.com> Co-authored-by: George Wright <gw280@google.com> Co-authored-by: Greg Spencer <gspencergoog@users.noreply.github.com> Co-authored-by: Alexander Markov <alexmarkov@google.com> Co-authored-by: gaaclarke <30870216+gaaclarke@users.noreply.github.com> Co-authored-by: LongCatIsLooong <31859944+LongCatIsLooong@users.noreply.github.com> Co-authored-by: Zachary Anderson <zanderso@users.noreply.github.com> Co-authored-by: Yuqian Li <liyuqian@google.com> Co-authored-by: Damian Wrobel <dwrobel@ertelnet.rybnik.pl> Co-authored-by: Felipe Archondo <felipearchondo@google.com> Co-authored-by: egdaniel <egdaniel@google.com> Co-authored-by: Robert Ancell <robert.ancell@canonical.com> Co-authored-by: stuartmorgan <stuartmorgan@google.com> Co-authored-by: Jenn Magder <magder@google.com> Co-authored-by: Adlai Holler <adlai@google.com> Co-authored-by: Harry Terkelsen <hterkelsen@users.noreply.github.com> Co-authored-by: Mehmet Fidanboylu <mehmetf@users.noreply.github.com> Co-authored-by: Ren You <renyou@google.com> Co-authored-by: godofredoc <54371434+godofredoc@users.noreply.github.com> Co-authored-by: puelo <tobias-ka@gmx.de> Co-authored-by: Clement Skau <cskau-g@users.noreply.github.com> Co-authored-by: Wu Zhong <zhongwuzw@qq.com> Co-authored-by: Chase Latta <chaselatta@google.com> Co-authored-by: Adam Barth <abarth@chromium.org> Co-authored-by: Michael Goderbauer <goderbauer@google.com>
The Fuchsia specific Dart utilities don't use Tonic and hence are
unaffected by the recent changes to the engine for sound null-safety.
This patch fixes the creation of lists of non-nullable Zircon handles.
While looking for potential unpatched call-sites that create lists of
non-nullable handles from native code, I also found a couple of unused
and incomplete specializations. I have removed the same.
Fixes flutter/flutter#68496