CSChromium always starts with 7 empty tabs. Fix this by:
1. saving session when changes occurs
- tabs are opened/closed
- active tab changes
- navigation occurs
2. restoring session on startup
Note that new architecture supports having multiple Browser per ChromeBrowserState, so the serialisation mechanism needs to supports saving multiple SessionWindowIOS (which correspond to the state of a WebStateList).
In addition, the restoration needs to fix the list of invalid certificates exceptions from the serialised session and to properly restore the WKWebView scroll position.
Comment 1 by sdefresne@chromium.org
, Apr 12 2017