diff --git a/src/app/browser/window/tab/item/page.rs b/src/app/browser/window/tab/item/page.rs index 564bf10b..f420d5d7 100644 --- a/src/app/browser/window/tab/item/page.rs +++ b/src/app/browser/window/tab/item/page.rs @@ -319,6 +319,10 @@ impl Page { transaction: &Transaction, app_browser_window_tab_item_id: &i64, ) -> Result<(), String> { + // Update status + self.meta.set_status(Status::Restore); + + // Begin page restore match Database::records(transaction, app_browser_window_tab_item_id) { Ok(records) => { for record in records { @@ -330,6 +334,9 @@ impl Page { Err(e) => return Err(e.to_string()), } + // Update status + self.meta.set_status(Status::Restored); + Ok(()) } @@ -361,7 +368,7 @@ impl Page { pub fn progress_fraction(&self) -> Option { // Interpret status to progress fraction match self.meta.status() { - Status::Reload => Some(0.0), + Status::Reload | Status::Restore => Some(0.0), Status::Resolving => Some(0.1), Status::Resolved => Some(0.2), Status::Connecting => Some(0.3), @@ -372,7 +379,7 @@ impl Page { Status::TlsHandshaked => Some(0.8), Status::Complete => Some(0.9), Status::Failure | Status::Redirect | Status::Success | Status::Input => Some(1.0), - Status::New => None, + Status::New | Status::Restored => None, } } diff --git a/src/app/browser/window/tab/item/page/meta.rs b/src/app/browser/window/tab/item/page/meta.rs index adc493ec..06d94af3 100644 --- a/src/app/browser/window/tab/item/page/meta.rs +++ b/src/app/browser/window/tab/item/page/meta.rs @@ -22,6 +22,8 @@ pub enum Status { Reload, Resolved, Resolving, + Restore, + Restored, Success, TlsHandshaked, TlsHandshaking,