diff options
Diffstat (limited to 'browser/components/sessionstore/RunState.jsm')
-rw-r--r-- | browser/components/sessionstore/RunState.jsm | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/browser/components/sessionstore/RunState.jsm b/browser/components/sessionstore/RunState.jsm deleted file mode 100644 index 3cdf47718..000000000 --- a/browser/components/sessionstore/RunState.jsm +++ /dev/null @@ -1,96 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -"use strict"; - -this.EXPORTED_SYMBOLS = ["RunState"]; - -const STATE_STOPPED = 0; -const STATE_RUNNING = 1; -const STATE_QUITTING = 2; -const STATE_CLOSING = 3; -const STATE_CLOSED = 4; - -// We're initially stopped. -var state = STATE_STOPPED; - -/** - * This module keeps track of SessionStore's current run state. We will - * always start out at STATE_STOPPED. After the session was read from disk and - * the initial browser window has loaded we switch to STATE_RUNNING. On the - * first notice that a browser shutdown was granted we switch to STATE_QUITTING. - */ -this.RunState = Object.freeze({ - // If we're stopped then SessionStore hasn't been initialized yet. As soon - // as the session is read from disk and the initial browser window has loaded - // the run state will change to STATE_RUNNING. - get isStopped() { - return state == STATE_STOPPED; - }, - - // STATE_RUNNING is our default mode of operation that we'll spend most of - // the time in. After the session was read from disk and the first browser - // window has loaded we remain running until the browser quits. - get isRunning() { - return state == STATE_RUNNING; - }, - - // We will enter STATE_QUITTING as soon as we receive notice that a browser - // shutdown was granted. SessionStore will use this information to prevent - // us from collecting partial information while the browser is shutting down - // as well as to allow a last single write to disk and block all writes after - // that. - get isQuitting() { - return state >= STATE_QUITTING; - }, - - // We will enter STATE_CLOSING as soon as SessionStore is uninitialized. - // The SessionFile module will know that a last write will happen in this - // state and it can do some necessary cleanup. - get isClosing() { - return state == STATE_CLOSING; - }, - - // We will enter STATE_CLOSED as soon as SessionFile has written to disk for - // the last time before shutdown and will not accept any further writes. - get isClosed() { - return state == STATE_CLOSED; - }, - - // Switch the run state to STATE_RUNNING. This must be called after the - // session was read from, the initial browser window has loaded and we're - // now ready to restore session data. - setRunning() { - if (this.isStopped) { - state = STATE_RUNNING; - } - }, - - // Switch the run state to STATE_CLOSING. This must be called *before* the - // last SessionFile.write() call so that SessionFile knows we're closing and - // can do some last cleanups and write a proper sessionstore.js file. - setClosing() { - if (this.isQuitting) { - state = STATE_CLOSING; - } - }, - - // Switch the run state to STATE_CLOSED. This must be called by SessionFile - // after the last write to disk was accepted and no further writes will be - // allowed. Any writes after this stage will cause exceptions. - setClosed() { - if (this.isClosing) { - state = STATE_CLOSED; - } - }, - - // Switch the run state to STATE_QUITTING. This should be called once we're - // certain that the browser is going away and before we start collecting the - // final window states to save in the session file. - setQuitting() { - if (this.isRunning) { - state = STATE_QUITTING; - } - }, -}); |