/* -*- 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/. */
namespace { // Assert if it's not safe to run script. The helper class // AutoAllowLegacyScriptExecution allows to allow-list // legacy cases where it's actually not safe to run script. #ifdef DEBUG void AssertIfNotSafeToRunScript() { // if it's safe to run script, then there is nothing to do here. if (nsContentUtils::IsSafeToRunScript()) { return;
}
// auto allowing legacy script execution is fine for now. if (AutoAllowLegacyScriptExecution::IsAllowed()) { return;
}
MOZ_ASSERT(false, "is it safe to run script?");
} #endif
} // namespace
AutoEntryScript::AutoEntryScript(nsIGlobalObject* aGlobalObject, constchar* aReason, bool aIsMainThread)
: AutoJSAPI(aGlobalObject, aIsMainThread, eEntryScript),
mWebIDLCallerPrincipal(nullptr) // This relies on us having a cx() because the AutoJSAPI constructor // already ran.
,
mCallerOverride(cx()),
mAutoProfilerLabel( "", aReason, JS::ProfilingCategoryPair::JS,
uint32_t(js::ProfilingStackFrame::Flags::RELEVANT_FOR_JS)),
mJSThreadExecution(aGlobalObject, aIsMainThread) {
MOZ_ASSERT(aGlobalObject);
if (aIsMainThread) { #ifdef DEBUG
AssertIfNotSafeToRunScript(); #endif
mScriptActivity.emplace(true);
}
}
AutoEntryScript::AutoEntryScript(JSObject* aObject, constchar* aReason, bool aIsMainThread)
: AutoEntryScript(xpc::NativeGlobal(aObject), aReason, aIsMainThread) { // xpc::NativeGlobal uses JS::GetNonCCWObjectGlobal, which asserts that // aObject is not a CCW.
}
AutoEntryScript::~AutoEntryScript() = default;
} // namespace mozilla::dom
¤ Dauer der Verarbeitung: 0.16 Sekunden
(vorverarbeitet)
¤
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.