tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 9cf0006acdaa348439344ac68724701240ebda4e
parent 2ac3eb983df638a13bd5dbd27fe160aab7baa203
Author: Alexandre Poirot <poirot.alex@gmail.com>
Date:   Tue,  7 Oct 2025 22:22:10 +0000

Bug 1991698 - [devtools] Use the shared thunk middleware in the debugger. r=devtools-reviewers,nchevobbe

Differential Revision: https://phabricator.services.mozilla.com/D267185

Diffstat:
Mdevtools/client/debugger/src/actions/utils/create-store.js | 6++++--
Mdevtools/client/debugger/src/actions/utils/middleware/moz.build | 1-
Ddevtools/client/debugger/src/actions/utils/middleware/thunk.js | 22----------------------
Mdevtools/client/debugger/src/utils/bootstrap.js | 4+---
Mdevtools/client/debugger/src/utils/test-head.js | 21+++++++++------------
Mdevtools/client/framework/test/metrics/browser_metrics_debugger.js | 1+
6 files changed, 15 insertions(+), 40 deletions(-)

diff --git a/devtools/client/debugger/src/actions/utils/create-store.js b/devtools/client/debugger/src/actions/utils/create-store.js @@ -15,13 +15,15 @@ import { import { waitUntilService } from "./middleware/wait-service"; import { log } from "./middleware/log"; import { promise } from "./middleware/promise"; -import { thunk } from "./middleware/thunk"; import { timing } from "./middleware/timing"; import { context } from "./middleware/context"; const { ignore, } = require("resource://devtools/client/shared/redux/middleware/ignore.js"); +const { + thunk, +} = require("resource://devtools/client/shared/redux/middleware/thunk.js"); /** * This creates a dispatcher with all the standard middleware in place @@ -38,7 +40,7 @@ const { */ const configureStore = (opts = {}) => { const middleware = [ - thunk(opts.makeThunkArgs), + thunk(opts.thunkArgs), context, promise, ignore, diff --git a/devtools/client/debugger/src/actions/utils/middleware/moz.build b/devtools/client/debugger/src/actions/utils/middleware/moz.build @@ -9,7 +9,6 @@ CompiledModules( "context.js", "log.js", "promise.js", - "thunk.js", "timing.js", "wait-service.js", ) diff --git a/devtools/client/debugger/src/actions/utils/middleware/thunk.js b/devtools/client/debugger/src/actions/utils/middleware/thunk.js @@ -1,22 +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/>. */ - -/** - * A middleware that allows thunks (functions) to be dispatched. If - * it's a thunk, it is called with an argument that contains - * `dispatch`, `getState`, and any additional args passed in via the - * middleware constructure. This allows the action to create multiple - * actions (most likely asynchronously). - */ -export function thunk(makeArgs) { - return ({ dispatch, getState }) => { - const args = { dispatch, getState }; - - return next => action => { - return typeof action === "function" - ? action(makeArgs ? makeArgs(args, getState()) : args) - : next(action); - }; - }; -} diff --git a/devtools/client/debugger/src/utils/bootstrap.js b/devtools/client/debugger/src/utils/bootstrap.js @@ -44,9 +44,7 @@ export function bootstrapStore(client, workers, panel, initialState) { const createStore = configureStore({ log: prefs.logging || flags.testing, timing: debugJsModules, - makeThunkArgs: args => { - return { ...args, client, ...workers, panel }; - }, + thunkArgs: { client, ...workers, panel }, }); let store = createStore(combineReducers(reducers), initialState); diff --git a/devtools/client/debugger/src/utils/test-head.js b/devtools/client/debugger/src/utils/test-head.js @@ -38,18 +38,15 @@ import sourceMapLoader from "devtools/client/shared/source-map-loader/source-map function createStore(client, initialState = {}, sourceMapLoaderMock) { const store = configureStore({ log: false, - makeThunkArgs: args => { - return { - ...args, - client, - sourceMapLoader: - sourceMapLoaderMock !== undefined - ? sourceMapLoaderMock - : sourceMapLoader, - parserWorker, - prettyPrintWorker, - searchWorker, - }; + thunkArgs: { + client, + sourceMapLoader: + sourceMapLoaderMock !== undefined + ? sourceMapLoaderMock + : sourceMapLoader, + parserWorker, + prettyPrintWorker, + searchWorker, }, })(combineReducers(reducers), initialState); sourceQueue.clear(); diff --git a/devtools/client/framework/test/metrics/browser_metrics_debugger.js b/devtools/client/framework/test/metrics/browser_metrics_debugger.js @@ -36,6 +36,7 @@ add_task(async function () { "resource://devtools/client/shared/vendor/react-redux.js", "resource://devtools/client/shared/vendor/redux.js", "resource://devtools/client/shared/redux/subscriber.js", + "resource://devtools/client/shared/redux/middleware/thunk.js", // React components loaded from Toolbox and Panel BrowserLoaders "resource://devtools/client/shared/components/menu/MenuButton.js",