tor-browser

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

tracer.js (2683B)


      1 /* This Source Code Form is subject to the terms of the Mozilla Public
      2 * License, v. 2.0. If a copy of the MPL was not distributed with this
      3 * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
      4 
      5 import { getSourceByActorId } from "./sources.js";
      6 const {
      7  TRACER_FIELDS_INDEXES,
      8 } = require("resource://devtools/server/actors/tracer.js");
      9 
     10 export function getSelectedTraceIndex(state) {
     11  return state.tracerFrames?.selectedTraceIndex;
     12 }
     13 export function getSelectedTraceLocation(state) {
     14  return state.tracerFrames?.selectedTraceLocation;
     15 }
     16 export function getFilteredTopTraces(state) {
     17  return state.tracerFrames?.mutableFilteredTopTraces || [];
     18 }
     19 export function getAllTraces(state) {
     20  return state.tracerFrames?.mutableTraces || [];
     21 }
     22 export function getTraceChildren(state) {
     23  return state.tracerFrames?.mutableChildren || [];
     24 }
     25 export function getTraceParents(state) {
     26  return state.tracerFrames?.mutableParents || [];
     27 }
     28 export function getTraceFrames(state) {
     29  return state.tracerFrames?.mutableFrames || [];
     30 }
     31 export function getAllMutationTraces(state) {
     32  return state.tracerFrames?.mutableMutationTraces || [];
     33 }
     34 export function getAllTraceCount(state) {
     35  return state.tracerFrames?.mutableTraces.length || 0;
     36 }
     37 export function getRuntimeVersions(state) {
     38  return {
     39    localPlatformVersion: state.tracerFrames?.localPlatformVersion,
     40    remotePlatformVersion: state.tracerFrames?.remotePlatformVersion,
     41  };
     42 }
     43 export function getTracerEventNames(state) {
     44  return state.tracerFrames?.mutableEventNames;
     45 }
     46 export function getTraceDomEvent(state) {
     47  return state.tracerFrames?.domEvents || new Set();
     48 }
     49 export function getTraceHighlightedDomEvents(state) {
     50  return state.tracerFrames?.highlightedDomEvents || [];
     51 }
     52 export function getSelectedTraceSource(state) {
     53  const trace = getAllTraces(state)[getSelectedTraceIndex(state)];
     54  if (!trace) {
     55    return null;
     56  }
     57  const frameIndex = trace[TRACER_FIELDS_INDEXES.FRAME_INDEX];
     58  const frames = getTraceFrames(state);
     59  const frame = frames[frameIndex];
     60  if (!frame) {
     61    return null;
     62  }
     63  return getSourceByActorId(state, frame.sourceId);
     64 }
     65 export function getTraceMatchingSearchTraces(state) {
     66  return state.tracerFrames?.mutableMatchingTraces || [];
     67 }
     68 export function getTraceMatchingSearchException(state) {
     69  return state.tracerFrames?.searchExceptionMessage || null;
     70 }
     71 export function getTraceMatchingSearchValueOrGrip(state) {
     72  return state.tracerFrames?.searchValueOrGrip;
     73 }
     74 export function getIsTracingValues(state) {
     75  return state.tracerFrames?.traceValues || false;
     76 }
     77 export function getSelectedLocationTraces(state) {
     78  return state.tracerFrames?.selectedLocationTraces || null;
     79 }