зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1357386: Gather telemetry for toplevel data: URI loads. r=dveditz,francois
This commit is contained in:
Родитель
0bd0cd9cd7
Коммит
d0c653622f
|
@ -11018,6 +11018,28 @@ nsDocShell::DoURILoad(nsIURI* aURI,
|
||||||
new LoadInfo(loadingPrincipal, aTriggeringPrincipal, loadingNode,
|
new LoadInfo(loadingPrincipal, aTriggeringPrincipal, loadingNode,
|
||||||
securityFlags, aContentPolicyType);
|
securityFlags, aContentPolicyType);
|
||||||
|
|
||||||
|
if (aContentPolicyType == nsIContentPolicy::TYPE_DOCUMENT) {
|
||||||
|
enum TopLevelDataState {
|
||||||
|
DATA_NAVIGATED = 0,
|
||||||
|
DATA_TYPED = 1,
|
||||||
|
NO_DATA = 2,
|
||||||
|
};
|
||||||
|
bool isDataURI = (NS_SUCCEEDED(aURI->SchemeIs("data", &isDataURI)) && isDataURI);
|
||||||
|
if (isDataURI) {
|
||||||
|
// In all cases where the toplevel document is navigated to a data: URI
|
||||||
|
// the triggeringPrincipal is a CodeBasePrincipal. In all other cases
|
||||||
|
// e.g. typing a data: URL into the URL-Bar or also clicking a bookmark
|
||||||
|
// uses a SystemPrincipal as the triggeringPrincipal.
|
||||||
|
if (aTriggeringPrincipal->GetIsCodebasePrincipal()) {
|
||||||
|
Telemetry::Accumulate(Telemetry::DOCUMENT_DATA_URI_LOADS, DATA_NAVIGATED);
|
||||||
|
} else {
|
||||||
|
Telemetry::Accumulate(Telemetry::DOCUMENT_DATA_URI_LOADS, DATA_TYPED);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Telemetry::Accumulate(Telemetry::DOCUMENT_DATA_URI_LOADS, NO_DATA);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (aPrincipalToInherit) {
|
if (aPrincipalToInherit) {
|
||||||
loadInfo->SetPrincipalToInherit(aPrincipalToInherit);
|
loadInfo->SetPrincipalToInherit(aPrincipalToInherit);
|
||||||
}
|
}
|
||||||
|
|
|
@ -13173,6 +13173,15 @@
|
||||||
"bug_numbers": [1351021],
|
"bug_numbers": [1351021],
|
||||||
"description": "Every time we run an unlabeled runnable, this histogram records the time (in ms) since the last unlabeled runnable ran."
|
"description": "Every time we run an unlabeled runnable, this histogram records the time (in ms) since the last unlabeled runnable ran."
|
||||||
},
|
},
|
||||||
|
"DOCUMENT_DATA_URI_LOADS": {
|
||||||
|
"record_in_processes": ["main", "content"],
|
||||||
|
"alert_emails": ["seceng-telemetry@mozilla.com"],
|
||||||
|
"bug_numbers": [1357386],
|
||||||
|
"expires_in_version": "60",
|
||||||
|
"kind": "enumerated",
|
||||||
|
"n_values": 3,
|
||||||
|
"description": "Whether a toplevel document uses data: URI? (0=data-navigated, 1=data-typed, 2=nodata)"
|
||||||
|
},
|
||||||
"VFC_INVALIDATE_LOCK_WAIT_MS": {
|
"VFC_INVALIDATE_LOCK_WAIT_MS": {
|
||||||
"record_in_processes": ["main", "content"],
|
"record_in_processes": ["main", "content"],
|
||||||
"alert_emails": ["jwwang@mozilla.com"],
|
"alert_emails": ["jwwang@mozilla.com"],
|
||||||
|
|
Загрузка…
Ссылка в новой задаче