Skip to content

Revert "Improve non rect platform view rendering (#182662)" - #190003

Merged
auto-submit[bot] merged 2 commits into
flutter:masterfrom
hellohuanlin:revert_non_rect_pv_rendering
Aug 1, 2026
Merged

auto-submit[bot] merged 2 commits into
flutter:masterfrom
hellohuanlin:revert_non_rect_pv_rendering

Conversation

@hellohuanlin

Copy link
Copy Markdown
Contributor

This reverts commit 2d424bd.

This caused a regression for an internal project.
The project uses web view as rich text editor. The regression is that the buttons etc are gone.
However, we were not able to repro.

List which issues are fixed by this PR. You must list at least one issue. An issue is not required if the PR fixes something trivial like a typo.

NA. Internally tracked by b/515604266

If you had to change anything in the flutter/tests repo, include a link to the migration guide as per the breaking change policy.

Pre-launch Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

If this change needs to override an active code freeze, provide a comment explaining why. The code freeze workflow can be overridden by code reviewers. See pinned issues for any active code freezes with guidance.

Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. Comments from the gemini-code-assist bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.

@hellohuanlin
hellohuanlin requested review from a team as code owners July 24, 2026 20:32
@hellohuanlin
hellohuanlin requested review from camsim99 and removed request for a team July 24, 2026 20:32
@flutter-dashboard flutter-dashboard Bot added the CICD Run CI/CD label Jul 24, 2026
@hellohuanlin
hellohuanlin requested a review from Hari-07 July 24, 2026 20:32
@github-actions github-actions Bot added platform-android Android applications specifically platform-ios iOS applications specifically engine flutter/engine related. See also e: labels. team-android Owned by Android platform team team-ios Owned by iOS platform team labels Jul 24, 2026
@hellohuanlin
hellohuanlin removed the request for review from camsim99 July 24, 2026 20:32

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request removes the logic and parameters associated with preserving underlays for selected views with non-rectangular clips. Specifically, it simplifies the SliceViews function signature and implementation by removing the views_with_underlay_preserved parameter, updates the Android external view embedders, and removes the corresponding underlay preservation logic, helper functions, and tests from the iOS platform views controller and view slicer unit tests. There are no review comments, so I have no feedback to provide.

@Hari-07

Hari-07 commented Jul 24, 2026 •

Copy link
Copy Markdown
Member

The project uses web view as rich text editor. The regression is that the buttons etc are gone.
However, we were not able to repro.

Is this only on ios?

There's only one possible reason I could think of that may cause such a bug, if I open a patch PR can we test it on this internal app?

@jmagman

jmagman commented Jul 27, 2026

Copy link
Copy Markdown
Member

The project uses web view as rich text editor. The regression is that the buttons etc are gone.
However, we were not able to repro.

Is this only on ios?

There's only one possible reason I could think of that may cause such a bug, if I open a patch PR can we test it on this internal app?

That would be great, thank you!

jmagman
jmagman previously approved these changes Jul 27, 2026
@hellohuanlin hellohuanlin added the autosubmit Merge PR when tree becomes green via auto submit App label Jul 27, 2026
@auto-submit auto-submit Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Jul 27, 2026
@auto-submit

auto-submit Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

autosubmit label was removed for flutter/flutter/190003, because - The status or check suite Dashboard Checks has failed. Please fix the issues identified (or deflake) before re-applying this label.

@hellohuanlin

Copy link
Copy Markdown
Contributor Author

Looks like there are some platform view failures related to golden files:

https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8675362895432170545/+/u/test:_Scenario_App_Integration_Tests/stdout

I'm not sure if we have changed the golden or not during the past 2-3 months. Let me re-run the test first. CC @Hari-07

@hellohuanlin

Copy link
Copy Markdown
Contributor Author

Checking again, it became an infra error. Let me re-run it.

@hellohuanlin

hellohuanlin commented Jul 31, 2026 •

Copy link
Copy Markdown
Contributor Author

Golden image Failure after re-run. Will take a look later


Test Suite 'PlatformViewMutationClipRRectWithTransformMultipleClipsTests' started at 2026-07-30 14:17:54.579.
Test Case '-[PlatformViewMutationClipRRectWithTransformMultipleClipsTests testPlatformView]' started.
    t =     0.00s Start Test at 2026-07-30 14:17:54.582
    t =     0.57s Set Up
    t =     0.58s     Open dev.flutter.Scenarios
    t =     0.58s         Launch dev.flutter.Scenarios
    t =     1.11s             Setting up automation session
    t =     5.91s             Wait for dev.flutter.Scenarios to idle
    t =     8.34s Waiting 30.0s for TextView (First Match) to exist
    t =     9.39s     Checking `Expect predicate `existsNoRetry == 1` for object TextView (First Match)`
    t =     9.39s         Checking existence of `TextView (First Match)`
2026-07-30 14:18:04.257575-0700 ScenariosUITests-Runner[23110:172179] GOLDEN DIFF FAILED: image diff greater than threshold. Current diff: 0.5676551627600122, threshold: 0.5
    t =     9.79s Added attachment named 'golden_platform_view_cliprrect_with_transform_multiple_clips_impeller_iPhone SE (3rd generation)_26.2_simulator_actual.png'
/Volumes/Work/s/w/ir/cache/builder/engine/src/out/ci/ios_debug_unopt_sim/ios_scenario_app/Scenarios/ScenariosUITests/GoldenTestManager.m:124: error: -[PlatformViewMutationClipRRectWithTransformMultipleClipsTests testPlatformView] : failed - Goldens do not match. Follow the steps in the README to update golden named golden_platform_view_cliprrect_with_transform_multiple_clips_impeller_iPhone SE (3rd generation)_26.2_simulator if needed.
    t =    10.88s Tear Down
Test Case '-[PlatformViewMutationClipRRectWithTransformMultipleClipsTests testPlatformView]' failed (11.436 seconds).
Test Suite 'PlatformViewMutationClipRRectWithTransformMultipleClipsTests' failed at 2026-07-30 14:18:06.018.
	 Executed 1 test, with 1 failure (0 unexpected) in 11.436 (11.439) seconds

@Hari-07

Hari-07 commented Jul 31, 2026

Copy link
Copy Markdown
Member

Weird, I checked my original PR and that didn't update goldens. But neither did it break on that

@vashworth

Copy link
Copy Markdown
Contributor

#186390 needs to be reverted too

@hellohuanlin
hellohuanlin force-pushed the revert_non_rect_pv_rendering branch from d28938c to ec46abe Compare July 31, 2026 23:43
@hellohuanlin hellohuanlin added the autosubmit Merge PR when tree becomes green via auto submit App label Aug 1, 2026
@auto-submit auto-submit Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Aug 1, 2026
@auto-submit

auto-submit Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

autosubmit label was removed for flutter/flutter/190003, because - The status or check suite Google testing has failed. Please fix the issues identified (or deflake) before re-applying this label.

@hellohuanlin

Copy link
Copy Markdown
Contributor Author

The new failure is an android flakiness. Will re-run

@hellohuanlin hellohuanlin added the autosubmit Merge PR when tree becomes green via auto submit App label Aug 1, 2026
@auto-submit
auto-submit Bot added this pull request to the merge queue Aug 1, 2026
Merged via the queue into flutter:master with commit efaddfa Aug 1, 2026
28 checks passed
@flutter-dashboard flutter-dashboard Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Aug 1, 2026
auto-submit Bot pushed a commit to flutter/packages that referenced this pull request Aug 10, 2026
…12406)

Manual roll Flutter from e52f01c920ad to b766512c65d8 (42 revisions)

Manual roll requested by [email protected]

flutter/flutter@e52f01c...b766512

2026-08-04 [email protected] Roll Dart SDK from 2a799a2404e9 to 9859c0a39adb (4 revisions) (flutter/flutter#190521)
2026-08-04 [email protected] Revert: iOS: Eliminate use of IOSContextNoop in platform view tests (flutter/flutter#190501)
2026-08-04 [email protected] [Impeller] Enable ETC2/ASTC LDR/BC texture compression features at Vulkan device creation (flutter/flutter#189303)
2026-08-03 [email protected] Remove openglessdf from impeller_unittests. (flutter/flutter#190469)
2026-08-03 [email protected] [web] Unify image decoding and codecs on CanvasKit and Skwasm (flutter/flutter#188573)
2026-08-03 [email protected] iOS: Eliminate use of IOSContextNoop in platform view tests (flutter/flutter#190419)
2026-08-03 [email protected] Add path rendering benchmarks (flutter/flutter#188654)
2026-08-03 [email protected] Add windows platform support for primitive_shape_test integration test (flutter/flutter#190464)
2026-08-03 [email protected] Roll Skia from 958c1c1921a1 to a08d918ebd6a (3 revisions) (flutter/flutter#190467)
2026-08-03 [email protected] tests: add --ios-runtime param (flutter/flutter#190414)
2026-08-03 [email protected] iOS: Remove the synchronous first-frame wait (flutter/flutter#190432)
2026-08-03 [email protected] iOS: Eliminate the Impeller/Skia backend selection params (flutter/flutter#190416)
2026-08-03 [email protected] iOS,macOS: Use @autoclosure in Logger (flutter/flutter#190417)
2026-08-03 [email protected] tools: Support FLUTTER_HOST_ARCH in update_dart_sdk scripts (flutter/flutter#190421)
2026-08-03 [email protected] iOS: Hardcode rendering API to Metal in tests (no-op) (flutter/flutter#190422)
2026-08-03 [email protected] a11y: Map disabled/read-only semantics to AX node restriction (flutter/flutter#190353)
2026-08-03 [email protected] [Infra] Replace defunct umbrella template with Wasm issue form (flutter/flutter#190471)
2026-08-03 [email protected] Roll Skia from abecb0dc02c1 to 958c1c1921a1 (4 revisions) (flutter/flutter#190459)
2026-08-03 [email protected] Roll Dart SDK from 65b163be2485 to 2a799a2404e9 (3 revisions) (flutter/flutter#190454)
2026-08-03 [email protected] Roll Skia from 68efb3f2ad16 to abecb0dc02c1 (1 revision) (flutter/flutter#190443)
2026-08-03 [email protected] Roll Packages from 5351d8c to ac87e65 (4 revisions) (flutter/flutter#190441)
2026-08-03 [email protected] Roll Skia from 5a761eb826c1 to 68efb3f2ad16 (1 revision) (flutter/flutter#190440)
2026-08-03 [email protected] Roll Skia from 4c9f8b4805e2 to 5a761eb826c1 (1 revision) (flutter/flutter#190437)
2026-08-03 [email protected] [macOS] Resume app lifecycle on becomeActive to avoid frozen UI after occlusion (flutter/flutter#188772)
2026-08-03 [email protected] Roll Skia from 39cda9d6d7d2 to 4c9f8b4805e2 (6 revisions) (flutter/flutter#190426)
2026-08-03 [email protected] Roll Skia from df13bfb5a54e to 39cda9d6d7d2 (2 revisions) (flutter/flutter#190425)
2026-08-02 [email protected] iOS: Serialise CADisplayLink access in VSyncClient tests (flutter/flutter#190335)
2026-08-02 [email protected] Roll Skia from 32329e5643b5 to df13bfb5a54e (1 revision) (flutter/flutter#190394)
2026-08-02 [email protected] [Impeller] Skip binding dead-code-eliminated resources on Metal (flutter/flutter#190040)
2026-08-01 [email protected] [Flutter GPU] Raise Dart errors for invalid render pipelines and memoize per-draw pipeline state (flutter/flutter#189899)
2026-08-01 [email protected] Revert "Improve non rect platform view rendering  (#182662)" (flutter/flutter#190003)
2026-08-01 [email protected] Roll Skia from ebf50520d720 to 32329e5643b5 (1 revision) (flutter/flutter#190389)
2026-08-01 [email protected] Roll Skia from f73c4510d12d to ebf50520d720 (6 revisions) (flutter/flutter#190376)
2026-07-31 [email protected] Primitive shape integration test (flutter/flutter#190368)
2026-07-31 [email protected] Eliminate some early returns in uber_sdf.frag to fix broken UberSDF AA on Windows (flutter/flutter#190260)
2026-07-31 [email protected] chore: swiftshader mirrored + llvm16 (flutter/flutter#181225)
2026-07-31 [email protected] [web] Remove in-repo agent documentation (flutter/flutter#190326)
2026-07-31 [email protected] [windows]: Uses offscreen MSAA when implicit msaa isn't available. (flutter/flutter#190256)
2026-07-31 [email protected] flutter_tools: Use new FileSystemExtension from devtools (flutter/flutter#190360)
2026-07-31 [email protected] Roll Dart SDK from c3acfc2479f6 to 65b163be2485 (1 revision) (flutter/flutter#190358)
2026-07-31 [email protected] Use devicectl for screenshots on Xcode 27, remove idevicescreenshot artifact (flutter/flutter#189091)
2026-07-31 [email protected] Roll Skia from 7ef86a5b0eb9 to f73c4510d12d (1 revision) (flutter/flutter#190352)

If this roll has caused a breakage, revert this CL and stop the roller
...
@hellohuanlin

Copy link
Copy Markdown
Contributor Author

There's only one possible reason I could think of that may cause such a bug, if I open a patch PR can we test it on this internal app?

@Hari-07 Good news! An internal test is in place to catch similar regression which will run in CI (we are not able to create a reproducible project, so this is all we have).

Weird, I checked my original PR and that didn't update goldens. But neither did it break on that

The the test was suppressed when your original PR was landed, so it didn't trigger any failure.

@Hari-07

Hari-07 commented Aug 25, 2026

Copy link
Copy Markdown
Member

I did actually reproduce and confirm what the issue was. Just been crazy work wise so didnt get time to open a PR to reland

robinchoice added a commit to robinchoice/doenerapp that referenced this pull request Oct 4, 2026
Flutter 3.47's iOS engine clips everything drawn above a platform view
with a rounded clip to that shape, even where it also covers another
platform view. With the place sheet's preview map (rounded) above the big
map, the review sheet was only visible inside the preview map's frame.
The preview map drops its clip on iOS until we are on a Flutter version
with flutter/flutter#190003.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CICD Run CI/CD engine flutter/engine related. See also e: labels. platform-android Android applications specifically platform-ios iOS applications specifically team-android Owned by Android platform team team-ios Owned by iOS platform team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants