/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* vim: set ts=8 sts=2 et sw=2 tw=80: */ /* 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/. */
void MediaError::GetMessage(nsAString& aResult) const { // When fingerprinting resistance is enabled, only messages in this list // can be returned to content script. static constexpr nsLiteralCString whitelist[] = { "404: Not Found"_ns // TODO
};
if (shouldBlank) { // Print a warning message to JavaScript console to alert developers of // a non-whitelisted error message.
nsAutoCString message =
nsLiteralCString( "This error message will be blank when " "privacy.resistFingerprinting = true." " If it is really necessary, please add it to the whitelist in" " MediaError::GetMessage: ") +
mMessage;
Document* ownerDoc = mParent->OwnerDoc();
AutoJSAPI api; if (api.Init(ownerDoc->GetScopeObject())) { // We prefer this API because it can also print to our debug log and // try server's log viewer.
JS::WarnASCII(api.cx(), "%s", message.get());
} else { // If failed to use JS::WarnASCII, fall back to // nsContentUtils::ReportToConsoleNonLocalized, which can only print to // JavaScript console.
nsContentUtils::ReportToConsoleNonLocalized(
NS_ConvertASCIItoUTF16(message), nsIScriptError::warningFlag, "MediaError"_ns, ownerDoc);
}
if (!nsContentUtils::IsCallerChrome() &&
ownerDoc->ShouldResistFingerprinting(RFPTarget::MediaError)) {
aResult.Truncate(); return;
}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.