Changes between Initial Version and Version 1 of BackForwardCacheNotes

Nov 1, 2019 1:49:29 PM (3 years ago)
Jon Davis



  • BackForwardCacheNotes

    v1 v1  
     1= Back / Forward Cache
     2''by Chris Dumez''
     4- Objectives
     5    - Make pages suspendable most of the time (~98%)
     6    - Allow for much faster back/forward navigation
     7    - Means addressing most failures to suspend, not introducing new ones
     8- ActiveDOMObject
     9    - Largest cause of failures
     10    - Need to drop all shouldPreventEnteringBackForwardCache_DEPRECATED() overrides
     11    - Queue tasks on the event loop for running script (e.g. event dispatch, promise resolution)
     12    - Pause CPU-intensive work (e.g. animations) in suspend() and unpause it in resume()
     13    - Abort work that cannot be paused in suspend() and make sure tasks to dispatch relevant error events are queued on the event loop
     14- Dedicated Workers
     15    - Dedicated workers have their whole thread suspended when entering the back/forward cache
     16    - ActiveDOMObject::suspend() / resume() do not get called
     17- Service Workers
     18    - Service workers cannot be easily suspended because they can be shared
     19    - When a client page goes into the back/forward cache, it gets disconnected as a client of the service worker
     20    - When a service worker no longer has any clients, it is terminated