mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-08 16:58:38 +09:00
moebius#93: DevTools: Network - DOMContentLoaded and load
Issue #31 Improvements: #34 https://github.com/MoonchildProductions/moebius/pull/93
This commit is contained in:
parent
558c645ef6
commit
ed8a17ae7d
12 changed files with 132 additions and 4 deletions
|
|
@ -6,10 +6,12 @@
|
|||
const { combineReducers } = require("devtools/client/shared/vendor/redux");
|
||||
const filters = require("./filters");
|
||||
const requests = require("./requests");
|
||||
const timingMarkers = require("./timing-markers");
|
||||
const ui = require("./ui");
|
||||
|
||||
module.exports = combineReducers({
|
||||
filters,
|
||||
requests,
|
||||
timingMarkers,
|
||||
ui,
|
||||
});
|
||||
|
|
|
|||
|
|
@ -7,5 +7,6 @@ DevToolsModules(
|
|||
'filters.js',
|
||||
'index.js',
|
||||
'requests.js',
|
||||
'timing-markers.js',
|
||||
'ui.js',
|
||||
)
|
||||
|
|
|
|||
52
devtools/client/netmonitor/reducers/timing-markers.js
Normal file
52
devtools/client/netmonitor/reducers/timing-markers.js
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/* 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 } = require("../constants");
|
||||
|
||||
const TimingMarkers = I.Record({
|
||||
firstDocumentDOMContentLoadedTimestamp: -1,
|
||||
firstDocumentLoadTimestamp: -1,
|
||||
});
|
||||
|
||||
function addTimingMarker(state, action) {
|
||||
if (action.marker.name == "document::DOMContentLoaded" &&
|
||||
state.firstDocumentDOMContentLoadedTimestamp == -1) {
|
||||
return state.set("firstDocumentDOMContentLoadedTimestamp",
|
||||
action.marker.unixTime / 1000);
|
||||
}
|
||||
|
||||
if (action.marker.name == "document::Load" &&
|
||||
state.firstDocumentLoadTimestamp == -1) {
|
||||
return state.set("firstDocumentLoadTimestamp",
|
||||
action.marker.unixTime / 1000);
|
||||
}
|
||||
|
||||
return state;
|
||||
}
|
||||
|
||||
function clearTimingMarkers(state) {
|
||||
return state.withMutations(st => {
|
||||
st.remove("firstDocumentDOMContentLoadedTimestamp");
|
||||
st.remove("firstDocumentLoadTimestamp");
|
||||
});
|
||||
}
|
||||
|
||||
function timingMarkers(state = new TimingMarkers(), action) {
|
||||
switch (action.type) {
|
||||
case ADD_TIMING_MARKER:
|
||||
return addTimingMarker(state, action);
|
||||
|
||||
case CLEAR_TIMING_MARKERS:
|
||||
return clearTimingMarkers(state);
|
||||
|
||||
default:
|
||||
return state;
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = timingMarkers;
|
||||
Loading…
Add table
Add a link
Reference in a new issue