/* 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/>. */
import { createThread } from "../client/firefox/create"; import { getSourcesToRemoveForThread } from "../selectors/index"; import { clearDocumentsForSources } from "../utils/editor/source-documents";
// Just before emitting the REMOVE_THREAD action, // synchronously compute the list of source and source actor objects // which should be removed as that one target get removed. // // The list of source objects isn't trivial to compute as these objects // are shared across targets/threads. const { actors, sources } = getSourcesToRemoveForThread(
getState(),
threadActorID
);
// CodeMirror documents aren't stored in redux reducer, // so we need this manual function call in order to ensure clearing them.
clearDocumentsForSources(sources);
// Notify the reducers that a target/thread is being removed // and that all related resources should be cleared. // This action receives the list of related source actors and source objects // related to that to-be-removed target. // This will be fired on navigation for all existing targets. // That except the top target, when pausing on unload, where the top target may still hold longer. // Also except for service worker targets, which may be kept alive.
dispatch({
type: "REMOVE_THREAD",
threadActorID,
actors,
sources,
});
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.