1. 29 Feb, 2024 8 commits
    • engine-flutter-autoroll's avatar
      Roll Flutter Engine from 61510db94a1c to 9e1876141be8 (1 revision) (#144362) · 71bb9125
      engine-flutter-autoroll authored
      https://github.com/flutter/engine/compare/61510db94a1c...9e1876141be8
      
      2024-02-29 jonahwilliams@google.com [Impeller] switch fallback default from ImpellerVulkan to SkiaOpenGLES (flutter/engine#51071)
      
      If this roll has caused a breakage, revert this CL and stop the roller
      using the controls here:
      https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
      Please CC aaclarke@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
      is aware of the problem.
      
      To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
      
      To report a problem with the AutoRoller itself, please file a bug:
      https://issues.skia.org/issues/new?component=1389291&template=1850622
      
      Documentation for the AutoRoller is here:
      https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
      71bb9125
    • engine-flutter-autoroll's avatar
      Roll Flutter Engine from 10331db8f748 to 61510db94a1c (5 revisions) (#144355) · 52d45c41
      engine-flutter-autoroll authored
      https://github.com/flutter/engine/compare/10331db8f748...61510db94a1c
      
      2024-02-28 skia-flutter-autoroll@skia.org Roll Skia from 27171d6a9205 to f0a60bfe98e0 (4 revisions) (flutter/engine#51068)
      2024-02-28 chillers@google.com Prefix flutter in flutter_vma.h import (flutter/engine#51065)
      2024-02-28 jonahwilliams@google.com [Impeller] Cache entire render target and not just allocations. (flutter/engine#50990)
      2024-02-28 matanlurey@users.noreply.github.com Test the `SurfaceTextureSurfaceProducer`-branch in the Android `scenario_app` (flutter/engine#51061)
      2024-02-28 jacksongardner@google.com Revert "[skwasm] Clip pictures if they go beyond the bounds of the window. (#50887)" (flutter/engine#51067)
      
      If this roll has caused a breakage, revert this CL and stop the roller
      using the controls here:
      https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
      Please CC aaclarke@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
      is aware of the problem.
      
      To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
      
      To report a problem with the AutoRoller itself, please file a bug:
      https://issues.skia.org/issues/new?component=1389291&template=1850622
      
      Documentation for the AutoRoller is here:
      https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
      52d45c41
    • Justin McCandless's avatar
      Docs on the interaction between Shortcuts and text input (#144328) · ac66b295
      Justin McCandless authored
      I was talking with @tvolkert about the complex behavior of Shortcuts when a text field is focused.  I created [this dartpad](https://dartpad.dev/?id=0b5c08fa85637422baa84927b7f1ee5f) to illustrate the problem, which shows a key being stolen from a text field by Shortcuts, and how to prevent that using DoNothingAndStopPropagationIntent.
      
      This PR adds a section in the docs explaining how all of this works and how to override this "stealing" problem.
      ac66b295
    • Dan Field's avatar
      Use robolectric/AndroidJUnit4 for integration test tests (#144348) · 835112de
      Dan Field authored
      This allows relanding https://github.com/flutter/engine/pull/51056. The patch introduced a change where a static member is initialized from `View.generateViewId()` instead of conditionally using that API. Without an implementation for that in android.jar, the test will fail. The test in here currently is using a fake implementation that creates errors seen below.
      
      See https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8754827734484522225/+/u/run_plugin_test/stdout#L46564_2 for failure. More detailed failure information is available locally in the `build` folder:
      
      ```
      Mockito cannot mock this class: class io.flutter.embedding.android.FlutterActivity.
      
      If you're not sure why you're getting this error, please open an issue on GitHub.
      
      Java               : 17
      JVM vendor name    : JetBrains s.r.o.
      JVM vendor version : 17.0.7+0-17.0.7b1000.6-10550314
      JVM name           : OpenJDK 64-Bit Server VM
      JVM version        : 17.0.7+0-17.0.7b1000.6-10550314
      JVM info           : mixed mode
      OS name            : Mac OS X
      OS version         : 14.3.1
      
      You are seeing this disclaimer because Mockito is configured to create inlined mocks.
      You can learn about inline mocks and their limitations under item #39 of the Mockito class javadoc.
      
      Underlying exception : org.mockito.exceptions.base.MockitoException: Cannot instrument class io.flutter.embedding.android.FlutterActivity because it or one of its supertypes could not be initialized
      	at app//dev.flutter.plugins.integration_test.FlutterDeviceScreenshotTest.getFlutterView_returnsFlutterViewForFlutterActivity(FlutterDeviceScreenshotTest.java:32)
      	at java.base@17.0.7/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at java.base@17.0.7/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      	at java.base@17.0.7/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      	at java.base@17.0.7/java.lang.reflect.Method.invoke(Unknown Source)
      	at app//org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
      	at app//org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
      	at app//org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
      	at app//org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
      	at app//org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
      	at app//org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
      	at app//org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
      	at app//org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
      	at app//org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
      	at app//org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
      	at app//org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
      	at app//org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
      	at app//org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
      	at app//org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
      	at app//org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
      	at app//org.junit.runners.ParentRunner.run(ParentRunner.java:413)
      	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.runTestClass(JUnitTestClassExecutor.java:110)
      	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:58)
      	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:38)
      	at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:62)
      	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51)
      	at java.base@17.0.7/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at java.base@17.0.7/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      	at java.base@17.0.7/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      	at java.base@17.0.7/java.lang.reflect.Method.invoke(Unknown Source)
      	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
      	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
      	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
      	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
      	at jdk.proxy1/jdk.proxy1.$Proxy2.processTestClass(Unknown Source)
      	at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:176)
      	at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129)
      	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100)
      	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60)
      	at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
      	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:133)
      	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:71)
      	at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
      	at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
      Caused by: org.mockito.exceptions.base.MockitoException: Cannot instrument class io.flutter.embedding.android.FlutterActivity because it or one of its supertypes could not be initialized
      	at app//net.bytebuddy.TypeCache.findOrInsert(TypeCache.java:168)
      	at app//net.bytebuddy.TypeCache$WithInlineExpunction.findOrInsert(TypeCache.java:399)
      	at app//net.bytebuddy.TypeCache.findOrInsert(TypeCache.java:190)
      	at app//net.bytebuddy.TypeCache$WithInlineExpunction.findOrInsert(TypeCache.java:410)
      	... 44 more
      Caused by: java.lang.RuntimeException: Method generateViewId in android.view.View not mocked. See http://g.co/androidstudio/not-mocked for details.
      	at android.view.View.generateViewId(View.java)
      	at io.flutter.embedding.android.FlutterActivity.<clinit>(FlutterActivity.java:218)
      	at java.base/java.lang.Class.forName0(Native Method)
      	at java.base/java.lang.Class.forName(Unknown Source)
      	at org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.assureInitialization(InlineBytecodeGenerator.java:236)
      	at org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.triggerRetransformation(InlineBytecodeGenerator.java:261)
      	at org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.mockClass(InlineBytecodeGenerator.java:218)
      	at org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator.lambda$mockClass$0(TypeCachingBytecodeGenerator.java:47)
      	at net.bytebuddy.TypeCache.findOrInsert(TypeCache.java:168)
      	at net.bytebuddy.TypeCache$WithInlineExpunction.findOrInsert(TypeCache.java:399)
      	at net.bytebuddy.TypeCache.findOrInsert(TypeCache.java:190)
      	at net.bytebuddy.TypeCache$WithInlineExpunction.findOrInsert(TypeCache.java:410)
      	at org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator.mockClass(TypeCachingBytecodeGenerator.java:40)
      	at org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMaker.createMockType(InlineDelegateByteBuddyMockMaker.java:396)
      	at org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMaker.doCreateMock(InlineDelegateByteBuddyMockMaker.java:355)
      	at org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMaker.createMock(InlineDelegateByteBuddyMockMaker.java:334)
      	at org.mockito.internal.creation.bytebuddy.InlineByteBuddyMockMaker.createMock(InlineByteBuddyMockMaker.java:56)
      	at org.mockito.internal.util.MockUtil.createMock(MockUtil.java:99)
      	at org.mockito.internal.MockitoCore.mock(MockitoCore.java:88)
      	at org.mockito.Mockito.mock(Mockito.java:2087)
      	at org.mockito.Mockito.mock(Mockito.java:2002)
      	... 44 more
      ```
      835112de
    • LongCatIsLooong's avatar
      Reland "Cache FocusNode.enclosingScope, clean up descendantsAreFocusable (#144207)" (#144330) · dddbd047
      LongCatIsLooong authored
      The [internal test failure](https://github.com/flutter/flutter/pull/144207#issuecomment-1968236339) was caused by `Focus.withExternalFocusNode` modifying the external node's attributes. The extra changes are in this commit:  https://github.com/flutter/flutter/commit/e53d98b06c6e2ae65271681c4b40b28b2d02ad04
      
      CL with (almost) passing TGP: cl/611157582
      dddbd047
    • engine-flutter-autoroll's avatar
      Roll Flutter Engine from 455c814fe5de to 10331db8f748 (7 revisions) (#144345) · 7f65c9ef
      engine-flutter-autoroll authored
      https://github.com/flutter/engine/compare/455c814fe5de...10331db8f748
      
      2024-02-28 skia-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from T1xAi_ww_mWEiDkVN... to ujOkbeYbrC8loPbfR... (flutter/engine#51066)
      2024-02-28 chris@bracken.jp Roll abseil-cpp to 1db3bdd4eb208bef55c77f22aa94991e52225230 (flutter/engine#51062)
      2024-02-28 skia-flutter-autoroll@skia.org Roll Dart SDK from 7896a944fe67 to fdf4a62bd07b (1 revision) (flutter/engine#51064)
      2024-02-28 jason-simmons@users.noreply.github.com [Impeller] Mark subpass framebuffer fetch tests as unsupported on GLES (flutter/engine#50982)
      2024-02-28 skia-flutter-autoroll@skia.org Roll Skia from 93f245da0097 to 27171d6a9205 (1 revision) (flutter/engine#51063)
      2024-02-28 jonahwilliams@google.com [Impeller] fix render pass depth descriptor. (flutter/engine#51031)
      2024-02-28 flar@google.com Make Skia object ostream operators work with unit tests (flutter/engine#51041)
      
      Also rolling transitive DEPS:
        fuchsia/sdk/core/linux-amd64 from T1xAi_ww_mWE to ujOkbeYbrC8l
      
      If this roll has caused a breakage, revert this CL and stop the roller
      using the controls here:
      https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
      Please CC aaclarke@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
      is aware of the problem.
      
      To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
      
      To report a problem with the AutoRoller itself, please file a bug:
      https://issues.skia.org/issues/new?component=1389291&template=1850622
      
      Documentation for the AutoRoller is here:
      https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
      7f65c9ef
    • Tong Mu's avatar
    • Kate Lovett's avatar
      Disable flaky golden file test (#144351) · a185ff90
      Kate Lovett authored
      Filed https://github.com/flutter/flutter/issues/144350 for follow up.
      This test has become flaky and is breaking the tree.
      
      ## Pre-launch Checklist
      
      - [x] I read the [Contributor Guide] and followed the process outlined
      there for submitting PRs.
      - [x] I read the [Tree Hygiene] wiki page, which explains my
      responsibilities.
      - [x] I read and followed the [Flutter Style Guide], including [Features
      we expect every widget to implement].
      - [x] I signed the [CLA].
      - [x] I listed at least one issue that this PR fixes in the description
      above.
      - [ ] I updated/added relevant documentation (doc comments with `///`).
      - [ ] I added new tests to check the change I am making, or this PR is
      [test-exempt].
      - [ ] I followed the [breaking change policy] and added [Data Driven
      Fixes] where supported.
      - [ ] All existing and new tests are passing.
      
      If you need help, consider asking for advice on the #hackers-new channel
      on [Discord].
      
      <!-- Links -->
      [Contributor Guide]:
      https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
      [Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
      [test-exempt]:
      https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
      [Flutter Style Guide]:
      https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
      [Features we expect every widget to implement]:
      https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#features-we-expect-every-widget-to-implement
      [CLA]: https://cla.developers.google.com/
      [flutter/tests]: https://github.com/flutter/tests
      [breaking change policy]:
      https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
      [Discord]: https://github.com/flutter/flutter/wiki/Chat
      [Data Driven Fixes]:
      https://github.com/flutter/flutter/wiki/Data-driven-Fixes
      a185ff90
  2. 28 Feb, 2024 20 commits
  3. 27 Feb, 2024 12 commits