summaryrefslogtreecommitdiffstats
path: root/devtools/shared/performance-new/recording-utils.js
blob: c221ab6cd5a958985540a33a630e824899712f61 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/* 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/. */
// @ts-check
"use strict";

/**
 * This file is for the new performance panel that targets profiler.firefox.com,
 * not the default-enabled DevTools performance panel.
 */

/**
 * @typedef {import("../../client/performance-new/@types/perf").GetActiveBrowserID} GetActiveBrowserID
 */

/**
 * Gets the ID of active tab from the browser.
 *
 * @type {GetActiveBrowserID}
 */
function getActiveBrowserID() {
  const win = Services.wm.getMostRecentWindow("navigator:browser");

  const browserId = win?.gBrowser?.selectedBrowser?.browsingContext?.browserId;
  if (browserId) {
    return browserId;
  }

  console.error(
    "Failed to get the active browserId while starting the profiler."
  );
  // `0` mean that we failed to ge the active browserId, and it's
  // treated as null value in the platform.
  return 0;
}

module.exports = {
  getActiveBrowserID,
};