{"action":"created","issue":{"url":"https://api.github.com/repos/servo/servo/issues/4178","labels_url":"https://api.github.com/repos/servo/servo/issues/4178/labels{/name}","comments_url":"https://api.github.com/repos/servo/servo/issues/4178/comments","events_url":"https://api.github.com/repos/servo/servo/issues/4178/events","html_url":"https://github.com/servo/servo/issues/4178","id":50727278,"number":4178,"title":"Freeze cached pages that aren't active","user":{"login":"jdm","id":27658,"avatar_url":"https://avatars.githubusercontent.com/u/27658?v=3","gravatar_id":"","url":"https://api.github.com/users/jdm","html_url":"https://github.com/jdm","followers_url":"https://api.github.com/users/jdm/followers","following_url":"https://api.github.com/users/jdm/following{/other_user}","gists_url":"https://api.github.com/users/jdm/gists{/gist_id}","starred_url":"https://api.github.com/users/jdm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jdm/subscriptions","organizations_url":"https://api.github.com/users/jdm/orgs","repos_url":"https://api.github.com/users/jdm/repos","events_url":"https://api.github.com/users/jdm/events{/privacy}","received_events_url":"https://api.github.com/users/jdm/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/servo/servo/labels/A-content/script","name":"A-content/script","color":"d7e102"},{"url":"https://api.github.com/repos/servo/servo/labels/E-less%20easy","name":"E-less easy","color":"02e10c"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2014-12-02T21:40:48Z","updated_at":"2015-04-13T23:48:58Z","closed_at":null,"body":"Navigating back and forward currently just stash the pipeline in a vector, so the script task continues running its event loop despite being inactive. We should send an event containing a channel on which the script task should synchronously receive - when an event comes through, that means the page should unfreeze and resume running its event loop."},"comment":{"url":"https://api.github.com/repos/servo/servo/issues/comments/92538603","html_url":"https://github.com/servo/servo/issues/4178#issuecomment-92538603","issue_url":"https://api.github.com/repos/servo/servo/issues/4178","id":92538603,"user":{"login":"jdm","id":27658,"avatar_url":"https://avatars.githubusercontent.com/u/27658?v=3","gravatar_id":"","url":"https://api.github.com/users/jdm","html_url":"https://github.com/jdm","followers_url":"https://api.github.com/users/jdm/followers","following_url":"https://api.github.com/users/jdm/following{/other_user}","gists_url":"https://api.github.com/users/jdm/gists{/gist_id}","starred_url":"https://api.github.com/users/jdm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jdm/subscriptions","organizations_url":"https://api.github.com/users/jdm/orgs","repos_url":"https://api.github.com/users/jdm/repos","events_url":"https://api.github.com/users/jdm/events{/privacy}","received_events_url":"https://api.github.com/users/jdm/received_events","type":"User","site_admin":false},"created_at":"2015-04-13T23:48:58Z","updated_at":"2015-04-13T23:48:58Z","body":"These are good questions. I think the idea of stopping the event loop no longer makes sense, especially with regards to future plans like #5481. We should just store whether a document is frozen or not, and we'll need to create a buffer to queue events like storage events that can be dispatched to inactive documents (c.f. https://html.spec.whatwg.org/multipage/webstorage.html#send-a-storage-notification)."}}