Skip to content
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

perf: remove persistent global scroll listener #7560

Conversation

crisbeto
Copy link
Member

@crisbeto crisbeto commented Oct 5, 2017

  • Removes the global scroll listener from the viewport ruler, which was being used to invalidate the scroll position cache. Caching the scroll position is pointless since it'll be invalidated very frequently. Since most Material components depend on the ViewportRuler one way or another, it meant that there was a good chance that the scroll listener would stay around forever.
  • Fixes an issue that caused the scroll dispatcher not to remove its global scroll listener, if there are any scrollables on the page, even though nothing was subscribed to it.

Fixes #6882.

@crisbeto crisbeto added P2 The issue is important to a large percentage of users, with a workaround pr: needs review labels Oct 5, 2017
@googlebot googlebot added the cla: yes PR author has agreed to Google's Contributor License Agreement label Oct 5, 2017
Copy link
Member

@jelbourn jelbourn left a comment

Choose a reason for hiding this comment

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

LGTM

@jelbourn jelbourn added pr: lgtm action: merge The PR is ready for merge by the caretaker and removed pr: needs review labels Oct 6, 2017
@kara
Copy link
Contributor

kara commented Oct 6, 2017

@crisbeto Rebase?

@kara kara added pr: needs rebase and removed action: merge The PR is ready for merge by the caretaker labels Oct 6, 2017
@kara kara assigned crisbeto and unassigned jelbourn Oct 6, 2017
@crisbeto crisbeto force-pushed the 6882/viewport-ruler-persistent-listener branch from aabdc3b to 4e049c3 Compare October 6, 2017 20:30
@crisbeto crisbeto added action: merge The PR is ready for merge by the caretaker and removed pr: needs rebase labels Oct 6, 2017
@crisbeto
Copy link
Member Author

crisbeto commented Oct 6, 2017

Rebased.

@crisbeto crisbeto removed the action: merge The PR is ready for merge by the caretaker label Oct 6, 2017
* Removes the global scroll listener from the viewport ruler, which was being used to invalidate the scroll position cache. Caching the scroll position is pointless since it'll be invalidated very frequently. Since most Material components depend on the `ViewportRuler` one way or another, it meant that there was a good chance that the scroll listener would stay around forever.
* Fixes an issue that caused the scroll dispatcher not to remove its global scroll listener, if there are any scrollables on the page, even though nothing was subscribed to it.

Fixes angular#6882.
@crisbeto crisbeto force-pushed the 6882/viewport-ruler-persistent-listener branch from 4e049c3 to 247e799 Compare October 6, 2017 21:03
@crisbeto crisbeto added the action: merge The PR is ready for merge by the caretaker label Oct 6, 2017
@andrewseguin andrewseguin merged commit d6698e1 into angular:master Oct 9, 2017
@angular-automatic-lock-bot
Copy link

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Sep 7, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
action: merge The PR is ready for merge by the caretaker cla: yes PR author has agreed to Google's Contributor License Agreement P2 The issue is important to a large percentage of users, with a workaround
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Performance issue: modals & popups
5 participants