-
Notifications
You must be signed in to change notification settings - Fork 13.5k
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
bug: chromium issue with translucent popover #22176
Comments
Thanks for the issue! Which browser are you seeing this in? I'm able to reproduce this in Chrome only, but in Safari I see it working fine. Here's an example Codepen: https://codepen.io/brandyscarney/pen/OJXJQNp. Are you seeing the same? |
Yep you're right, safari works fine. I'm using chrome which is where it's not working. |
Thanks for the quick reply! I don't think this has ever worked, because Chrome didn't have support for |
Same Problem here |
After I updated to this Version |
Backdrop filter seems to still work in Chrome, so it looks like something on our end broke: https://codepen.io/liamdebeasi/pen/xxOMwYW Alternatively, it could be that under certain circumstances, Chrome's implementation is now breaking. |
@liamdebeasi it is related to Ionic |
It was the latter. For some reason |
@liamdebeasi i also asked my self how this could happen :D |
The issue here is that Chromium has trouble rendering the backdrop filter on an element when animating its parent element. If we were to animate in the content and arrow instead of the wrapper, the problem would go away. Here is a dev build if anyone would like to try out a potential fix: Angular
React
Vue
Vaniall JS
|
I tested your Repo. It does work 😍👌. Does it make sense to create an Issue at the Chromium Project? |
Glad the fix is working! I already created an issue: https://bugs.chromium.org/p/chromium/issues/detail?id=1148826. |
Issue number: Resolves #22176 --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> Translucent popovers do not get blurred in Chromium ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Translucent popover gets blurred in Chromium Note: existing screenshot tests nicely show the change in behavior. ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information Because of the [existing, apparently intentional](https://bugs.chromium.org/p/chromium/issues/detail?id=1148826) behavior in Chromium browsers with `backdrop-filter` and animation, we need to either animate the arrow and content instead of the wrapper or apply the filter to a different element. Here, I've animated the arrow and content instead of the wrapper. The fix only needs to apply in `ios` mode. The translucent option is not supported in `md` mode. <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> --------- Co-authored-by: ionitron <[email protected]>
Issue number: Resolves #22176 --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> Translucent popovers do not get blurred in Chromium ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Translucent popover gets blurred in Chromium Note: existing screenshot tests nicely show the change in behavior. ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information Because of the [existing, apparently intentional](https://bugs.chromium.org/p/chromium/issues/detail?id=1148826) behavior in Chromium browsers with `backdrop-filter` and animation, we need to either animate the arrow and content instead of the wrapper or apply the filter to a different element. Here, I've animated the arrow and content instead of the wrapper. The fix only needs to apply in `ios` mode. The translucent option is not supported in `md` mode. <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> --------- Co-authored-by: ionitron <[email protected]>
Thanks for the issue! This issue is being locked to prevent comments that are not relevant to the original issue. If this is still an issue with the latest version of Ionic, please create a new issue and ensure the template is fully filled out. |
Bug Report
Ionic version:
[ ] 4.x
[x] 5.x
Current behavior:
Popover with the translucent property does not work. You can see behind the popover is not blurred as expected.
Expected behavior:
When the translucent property is set to true, the popover backdrop filter works.
Steps to reproduce:
Open popover in menu. See my example deployment here: https://elegant-hugle-0f5e0e.netlify.app
Related code:
See code here: https://github.com/TylerAHolden/popover-issue-bug-ionic
Other information:
It seems that the parent container "popover-wrapper ion-overlay-wrapper sc-ion-popover-ios" is the reason backdrop filter is not applied. Since the parent is 0x0 pixels set in the middle of the screen, I think that's why backdrop-filter isn't blurring any background.
Ionic info:
The text was updated successfully, but these errors were encountered: