Skip to content

ScrollView: prevent unnecessary scrollbar at non-100% browser zoom (T1310288)#33291

Merged
EugeniyKiyashko merged 2 commits intoDevExpress:26_1from
EugeniyKiyashko:26_1_prevent_scrollbar_showing
Apr 16, 2026
Merged

ScrollView: prevent unnecessary scrollbar at non-100% browser zoom (T1310288)#33291
EugeniyKiyashko merged 2 commits intoDevExpress:26_1from
EugeniyKiyashko:26_1_prevent_scrollbar_showing

Conversation

@EugeniyKiyashko
Copy link
Copy Markdown
Contributor

No description provided.

@EugeniyKiyashko EugeniyKiyashko self-assigned this Apr 16, 2026
@EugeniyKiyashko EugeniyKiyashko requested a review from a team as a code owner April 16, 2026 06:58
Copilot AI review requested due to automatic review settings April 16, 2026 06:58
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR addresses an issue in the internal ScrollView simulated scrolling implementation where browser zoom (non-100%) can introduce rounding artifacts that cause an unnecessary scrollbar to appear.

Changes:

  • Added a utility (getAdjustedBaseContainerSize) to compensate for ~1px rounding artifacts when zoom is detected.
  • Updated simulated scrollbar sizing logic to use the adjusted base container size.
  • Added Jest unit tests covering the adjustment behavior.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
packages/devextreme/js/__internal/ui/scroll_view/utils/get_adjusted_base_container_size.ts Introduces the zoom/rounding-artifact adjustment helper used when computing base sizing for scrollbar visibility.
packages/devextreme/js/__internal/ui/scroll_view/utils/get_adjusted_base_container_size.test.ts Adds Jest coverage for zoom vs non-zoom scenarios and 1px vs >1px deltas.
packages/devextreme/js/__internal/ui/scroll_view/scrollable.simulated.ts Integrates the helper into _updateScrollbar() to prevent false-positive scrollbars at non-100% zoom.

Comment thread packages/devextreme/js/__internal/ui/scroll_view/scrollable.simulated.ts Outdated
@EugeniyKiyashko EugeniyKiyashko merged commit a8192da into DevExpress:26_1 Apr 16, 2026
127 of 128 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants