Bug 1416044 - Add telemetry probe for if userChrome.css is loaded. r?francois, r?jwatt
* New USER_CHROME_CSS_LOADED histogram
* Just log a boolean to reflect if the userChrome.css was successfully loaded at profile initialization, in the parent process.
MozReview-Commit-ID: 8ffSNUot43I
--- a/layout/style/nsLayoutStylesheetCache.cpp
+++ b/layout/style/nsLayoutStylesheetCache.cpp
@@ -8,16 +8,17 @@
#include "nsAppDirectoryServiceDefs.h"
#include "mozilla/StyleSheetInlines.h"
#include "mozilla/MemoryReporting.h"
#include "mozilla/Omnijar.h"
#include "mozilla/Preferences.h"
#include "mozilla/StyleSheet.h"
#include "mozilla/StyleSheetInlines.h"
+#include "mozilla/Telemetry.h"
#include "mozilla/css/Loader.h"
#include "mozilla/dom/SRIMetadata.h"
#include "MainThreadUtils.h"
#include "nsColor.h"
#include "nsDirectoryServiceDefs.h"
#include "nsDirectoryService.h"
#include "nsExceptionHandler.h"
#include "nsIChromeRegistry.h"
@@ -436,16 +437,22 @@ nsLayoutStylesheetCache::InitFromProfile
contentFile->Clone(getter_AddRefs(chromeFile));
if (!chromeFile) return;
contentFile->Append(NS_LITERAL_STRING("userContent.css"));
chromeFile->Append(NS_LITERAL_STRING("userChrome.css"));
LoadSheetFile(contentFile, &mUserContentSheet, eUserSheetFeatures, eLogToConsole);
LoadSheetFile(chromeFile, &mUserChromeSheet, eUserSheetFeatures, eLogToConsole);
+
+ if (XRE_IsParentProcess()) {
+ // We're interested specifically in potential chrome customizations,
+ // so we only need data points from the parent process
+ Telemetry::Accumulate(Telemetry::USER_CHROME_CSS_LOADED, mUserChromeSheet != nullptr);
+ }
}
void
nsLayoutStylesheetCache::LoadSheetURL(const char* aURL,
RefPtr<StyleSheet>* aSheet,
SheetParsingMode aParsingMode,
FailureAction aFailureAction)
{
--- a/toolkit/components/telemetry/Histograms.json
+++ b/toolkit/components/telemetry/Histograms.json
@@ -13787,16 +13787,25 @@
"record_in_processes": ["main", "content"],
"alert_emails": ["seceng-telemetry@mozilla.com", "francois@mozilla.com"],
"bug_numbers": [1375277],
"expires_in_version": "never",
"kind": "enumerated",
"n_values": 64,
"description": "URL CLassifier-related (aka Safe Browsing) UI events. See nsIUrlClassifierUITelemetry.idl for the specific values."
},
+ "USER_CHROME_CSS_LOADED": {
+ "record_in_processes": ["main"],
+ "bug_numbers": [1416044],
+ "expires_in_version": "62",
+ "alert_emails": ["sfoster@mozilla.com"],
+ "kind": "boolean",
+ "releaseChannelCollection": "opt-out",
+ "description": "Was a userChrome.css stylesheet loaded when the profile was initialized?"
+ },
"WEBAUTHN_CREATE_CREDENTIAL_MS": {
"record_in_processes": ["main"],
"alert_emails": ["seceng-telemetry@mozilla.com", "jjones@mozilla.com"],
"expires_in_version": "70",
"releaseChannelCollection": "opt-out",
"kind": "exponential",
"high": 120000,
"n_buckets": 100,