Bug 1419368 - NetMonitor: Stop using ImmutableJS in timing-markers reducer. r=Honza
MozReview-Commit-ID: 5PQsSWT5m1P
--- a/devtools/client/netmonitor/src/reducers/timing-markers.js
+++ b/devtools/client/netmonitor/src/reducers/timing-markers.js
@@ -1,47 +1,47 @@
/* 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";
-const I = require("devtools/client/shared/vendor/immutable");
const {
ADD_TIMING_MARKER,
CLEAR_TIMING_MARKERS,
CLEAR_REQUESTS,
} = require("../constants");
-const TimingMarkers = I.Record({
- firstDocumentDOMContentLoadedTimestamp: -1,
- firstDocumentLoadTimestamp: -1,
-});
+function TimingMarkers() {
+ return {
+ firstDocumentDOMContentLoadedTimestamp: -1,
+ firstDocumentLoadTimestamp: -1,
+ };
+}
function addTimingMarker(state, action) {
+ state = { ...state };
+
if (action.marker.name === "document::DOMContentLoaded" &&
state.firstDocumentDOMContentLoadedTimestamp === -1) {
- return state.set("firstDocumentDOMContentLoadedTimestamp",
- action.marker.unixTime / 1000);
+ state.firstDocumentDOMContentLoadedTimestamp = action.marker.unixTime / 1000;
+ return state;
}
if (action.marker.name === "document::Load" &&
state.firstDocumentLoadTimestamp === -1) {
- return state.set("firstDocumentLoadTimestamp",
- action.marker.unixTime / 1000);
+ state.firstDocumentLoadTimestamp = action.marker.unixTime / 1000;
+ return state;
}
return state;
}
function clearTimingMarkers(state) {
- return state.withMutations(st => {
- st.remove("firstDocumentDOMContentLoadedTimestamp");
- st.remove("firstDocumentLoadTimestamp");
- });
+ return new TimingMarkers();
}
function timingMarkers(state = new TimingMarkers(), action) {
switch (action.type) {
case ADD_TIMING_MARKER:
return addTimingMarker(state, action);
case CLEAR_REQUESTS:
--- a/devtools/client/netmonitor/src/selectors/timing-markers.js
+++ b/devtools/client/netmonitor/src/selectors/timing-markers.js
@@ -1,13 +1,13 @@
/* 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";
function getDisplayedTimingMarker(state, marker) {
- return state.timingMarkers.get(marker) - state.requests.firstStartedMillis;
+ return state.timingMarkers.marker - state.requests.firstStartedMillis;
}
module.exports = {
getDisplayedTimingMarker,
};