diff --git a/dom/base/nsDOMClassInfo.cpp b/dom/base/nsDOMClassInfo.cpp index 48528344b1d..a3355eb8d30 100644 --- a/dom/base/nsDOMClassInfo.cpp +++ b/dom/base/nsDOMClassInfo.cpp @@ -5183,6 +5183,9 @@ const InterfaceShimEntry kInterfaceShimMap[] = static nsresult DefineComponentsShim(JSContext *cx, JS::HandleObject global) { + // Keep track of how often this happens. + Telemetry::Accumulate(Telemetry::COMPONENTS_SHIM_ACCESSED_BY_CONTENT, true); + // Create a fake Components object. JSObject *components = JS_NewObject(cx, nullptr, nullptr, global); NS_ENSURE_TRUE(components, NS_ERROR_OUT_OF_MEMORY); diff --git a/toolkit/components/telemetry/Histograms.json b/toolkit/components/telemetry/Histograms.json index 6dd0377dc89..f42bf10b1c2 100644 --- a/toolkit/components/telemetry/Histograms.json +++ b/toolkit/components/telemetry/Histograms.json @@ -2906,6 +2906,10 @@ "kind": "flag", "description": "Whether content ever accesed Components.interfaces in this session" }, + "COMPONENTS_SHIM_ACCESSED_BY_CONTENT": { + "kind": "flag", + "description": "Whether content ever accesed the Components shim in this session" + }, "CHECK_ADDONS_MODIFIED_MS": { "kind": "exponential", "high": "5000",