{"action":"created","issue":{"url":"https://api.github.com/repos/servo/servo/issues/13249","repository_url":"https://api.github.com/repos/servo/servo","labels_url":"https://api.github.com/repos/servo/servo/issues/13249/labels{/name}","comments_url":"https://api.github.com/repos/servo/servo/issues/13249/comments","events_url":"https://api.github.com/repos/servo/servo/issues/13249/events","html_url":"https://github.com/servo/servo/issues/13249","id":176407098,"number":13249,"title":"Scrolling to end of element should start scrolling the parent element.","user":{"login":"samuknet","id":9294710,"avatar_url":"https://avatars.githubusercontent.com/u/9294710?v=3","gravatar_id":"","url":"https://api.github.com/users/samuknet","html_url":"https://github.com/samuknet","followers_url":"https://api.github.com/users/samuknet/followers","following_url":"https://api.github.com/users/samuknet/following{/other_user}","gists_url":"https://api.github.com/users/samuknet/gists{/gist_id}","starred_url":"https://api.github.com/users/samuknet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/samuknet/subscriptions","organizations_url":"https://api.github.com/users/samuknet/orgs","repos_url":"https://api.github.com/users/samuknet/repos","events_url":"https://api.github.com/users/samuknet/events{/privacy}","received_events_url":"https://api.github.com/users/samuknet/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/servo/servo/labels/A-gfx/compositing","name":"A-gfx/compositing","color":"d7e102"},{"url":"https://api.github.com/repos/servo/servo/labels/A-input","name":"A-input","color":"d7e102"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":15,"created_at":"2016-09-12T15:32:06Z","updated_at":"2016-10-12T01:38:18Z","closed_at":null,"body":"In other browsers, if you carry on scrolling an element past the end then its parent element will begin to scroll, if possible.\r\n\r\nIn Servo, the parent element does not begin to scroll once the inner element has been scrolled all the way down.\r\n\r\nExpected behaviour as shown in FF (identical in Chrome):\r\n![expected](https://cloud.githubusercontent.com/assets/9294710/18441679/cd088246-7905-11e6-9650-8260fc1d19e9.gif)\r\n\r\nHowever, in Servo the parent element does not begin to scroll once the user has scrolled to the very end of the inner element.\r\n\r\nPage used for testing can be found online [here](https://samuknet.github.io/test_cases/nestedScroll/)."},"comment":{"url":"https://api.github.com/repos/servo/servo/issues/comments/253095424","html_url":"https://github.com/servo/servo/issues/13249#issuecomment-253095424","issue_url":"https://api.github.com/repos/servo/servo/issues/13249","id":253095424,"user":{"login":"mstange","id":961291,"avatar_url":"https://avatars.githubusercontent.com/u/961291?v=3","gravatar_id":"","url":"https://api.github.com/users/mstange","html_url":"https://github.com/mstange","followers_url":"https://api.github.com/users/mstange/followers","following_url":"https://api.github.com/users/mstange/following{/other_user}","gists_url":"https://api.github.com/users/mstange/gists{/gist_id}","starred_url":"https://api.github.com/users/mstange/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mstange/subscriptions","organizations_url":"https://api.github.com/users/mstange/orgs","repos_url":"https://api.github.com/users/mstange/repos","events_url":"https://api.github.com/users/mstange/events{/privacy}","received_events_url":"https://api.github.com/users/mstange/received_events","type":"User","site_admin":false},"created_at":"2016-10-12T01:38:18Z","updated_at":"2016-10-12T01:38:18Z","body":"By design. The element you scroll is selected at the start of the scroll gesture, and if you decide that you want to scroll a different element after reaching the end of the current element, you can just lift your fingers and start a new scroll gesture.\r\nIf you scroll using a traditional mouse wheel, you need to move your mouse or wait for a short time to start a new wheel transaction.\r\n\r\nI don't have a good example for why not handing off scrolls to the outside is a good thing. But I do have an example for why retargeting scrolls to the scrollable element under the mouse all the time (which is what Chrome does) is not a good idea: If you scroll a long page, and somewhere on that page is a smaller scrollable element, you don't want that element to swallow the rest of your scroll gesture if it suddenly happens to move under your mouse. You want the current scroll gesture to keep scrolling the outer page."}}
{"actor":{"display_login":"mstange"}}