fix(content): fullscreen works when rotating device #26782
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Pull request checklist
Please check if your PR fulfills the following requirements:
ionic-docsrepo, in a separate PR. See the contributing guide for details.npm run build) was run locally and any changes were pushednpm run lint) has passed locally and any fixes were made for failuresPull request type
Please check the type of change your PR introduces:
What is the current behavior?
Issue URL: resolves #26743
Rotating the device can cause safe area values to change. This means that the fullscreen values on ion-content, --offset-top and --offset-bottom, can be invalidated. We do not listen for these device orientation changes, so blank space can sometimes appear above headers or below footers.
What is the new behavior?
resizeevent listener that calls thethis.resize()method to recalculate the fullscreen valeus.I considered the following alternatives:
ion-contentwould need to prompt the user for access data from the orientation sensor on their devices.The
resizeevent has cross-browser support and does not have any permissions restrictions. The above two features also give us more information than we need. We don't care what the orientation is, we just want to know when the orientation changes.I also added the resize callback in a 100ms timeout to avoid any layout thrashing since
this.resizeaccesses some element properties that can force layouts to occur.Does this introduce a breaking change?
Other information