         super.viewDidLoad()
         setupToolbar() // setup toolbar needs to be after super.viewDidLoad because the superview owns the toolbar
         apply(theme: theme)
+        setupForStateRestorationIfNecessary()
     }
     
     override func viewWillAppear(_ animated: Bool) {

    
    // MARK: State Restoration
    
    func saveArticleScrollPosition() {
        getVisibleSection { (sectionId, anchor) in
            assert(Thread.isMainThread)

        }
        setWebViewHidden(false, animated: true)
    }

    func setWebViewHidden(_ hidden: Bool, animated: Bool, completion: ((Bool) -> Void)? = nil) {
        let block = {
            self.webView.alpha = hidden ? 0 : 1
