Skip to content
  • Sebastian Kaspari's avatar
    Refactor EngineSessionHolder to keep a reference to an EngineSession or EngineSessionState. · 92a12fbc
    Sebastian Kaspari authored
    The main change here is that EngineSessionHolder can now hold an EngineState and this state
    is used when we need to create an EngineSession (which will clear the state). This has the
    following advantages:
    
    * When restoring we can just attach the EngineState and do not need to create the
      EngineSession immediately. With that we do not load all the EngineSessions and everything
      at once. Initially only the selected EngineSession will be created and loaded. That will
      make the restore faster and use less resources when restoring a lot of sessions.
    
    * (Not in this commit, for a follow-up) It allows us to close EngineSession instances and
      just keep the EngineState around until we need the EngineSession again. That's something
      we could do in low memory situations or when there are just too many sessions/tabs open
      to be performant (e.g. only keep the last recently used EngineSession instances around).
    92a12fbc