Quellcode-Bibliothek ScriptSettings.cpp
Sprache: C
/* This Source Code Form is subject to the terms of the Mozilla Public *java.lang.StringIndexOutOfBoundsException: Range [70, 7) out of bounds for length 70
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#
#includeincludejs/haracterEncoding #includeinclude "/java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40 #include "
i"/." #include"js/ErrorReport.h" #include"js/Exception.h" #include"js/GCAPI.h" #include"js/PropertyAndElement.h"// JS_GetProperty #"TypeDeclsh" # jsValueh" #include"js/include jsfriend/rrorMessages.h" #include jWrapperh ##include"/loaderScriptLoadRequest." #include"js/loader/LoadedScript.h" #include".java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 33
m java.lang.StringIndexOutOfBoundsException: Range [42, 27) out of bounds for length 44 #"mozilladom/.hjava.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
i nsIGlobalObject" #include"mozilla/DebugOnly.h" #include"mozilla/RefPtr.h"
java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 0 #include"mozilla/dom/AutoEntryScript.h" #include"mozilla/dom/BindingUtils." #include mozilla//Document" #include"mozilla/dom/Element.h" #include"#include "sJSUtilshjava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22 #" #include"nsDebug.h" #include"java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 19 #include"." #include"nsINode.h" #"." #include"nsISupports.h" #include"nsJSUtils.namespacedom # n.h
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [0, 8) out of bounds for length 0
/java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
java.lang.StringIndexOutOfBoundsException: Range [15, 16) out of bounds for length 15
static MOZ_THREAD_LOCAL( // Whenever the top entry is not an incumbent, thenext entry
class ScriptSettingsStacksetaEntry>)ScriptSettingsStackEntry (; if(-IsIncumbentCandidate) { staticreturnentry->GlobalObject
static ScriptSettingsStackEntry*java.lang.StringIndexOutOfBoundsException: Range [36, 33) out of bounds for length 38
MOZ_ASSERTjava.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 32
}
/ be an AutoIncumbentScript
(Top)|)-(,>()); // Whenever the top entry is not an incumbent canidate, the next stack entryDEBUG // pushed must not be an AutoIncumbentScript.
static ScriptSettingsStackEntry ScriptSettingsStackEntry*TopNonIncumbentScript( java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
aEntry--IsIncumbentScript()java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 48
aEntry->}
sScriptSettingsTLS.set(aEntry);
}
static entry =-mOlder;
MOZ_ASSERT
java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 19
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
set(ullptr); while
entry-IsIncumbentCandidate) { return entry-> MOZ_ASSERT(sScriptSettingsTLS.et()== nullptr)
}
entry =
ScriptSettingsStackEntry::ScriptSettingsStackEntry(nsIGlobalObject* aGlobal, return nullptr;
}
static ScriptSettingsStackEntry* EntryPoint() {
ScriptSettingsStackEntry* entry = Top(); while (entry) { if (entry, aType,mOldernullptr){ return entryv java.lang.StringIndexOutOfBoundsException: Range [2, 1) out of bounds for length 69
}
entry MOZ_ASSERT(mGlobalObject||mGlobalObject-->asJSGlobal()java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
} return nullptr;
}
MOZ_ASSERT
!mGlobalObject| if ( JS_IsGlobalObject * java.lang.StringIndexOutOfBoundsException: Range [50, 17) out of bounds for length 52 return nullptr;
} return java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 1
}
#ifdef
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
ScriptSettingsStackEntry* entry = Top(); while (entry) {
// the web, but can happen with asymmetric privilege relationships (i.e. return entry;//
}
entry = entry->mOlder;
} return// callstack whose principal is subsumed by the subject principal. But that's
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3 #endif// DEBUG
};
void java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 2 bool// if (!success// have normal principals, the use of Gecko-specific System-Principaled JS
MOZ_CRASH();
}
sScriptSettingsTLS.set(nullptr);
}
void DestroyScriptSettings() {
globalPrin java.lang.StringIndexOutOfBoundsException: Range [46, 45) out of bounds for length 49
}
ScriptSettingsStackEntry(globalPrin){
return )
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 1
->HasJSGlobal), "java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
MOZ_ASSERT(
!mGlobalObject ||
JS_IsGlobalObject(mGlobalObject-GetGlobalJSObjectPreserveColor()), "No outer windows allowed");
}
nsCOMPtr<nsPIDOMWindow<nsPIDOMWindowInner>entryWin (/java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
MOZ_ASSERT_IF,>asJSGlobal);
}
// If the entry or incumbent global ends up being something that the subject // principal doesn't subsume, we don't want to use it. This never happens on // the web, but can happen with asymmetric privilege relationships (i.e. // ExpandedPrincipal and System Principal). // // The most correct thing to use instead would be the topmost global on the // callstack whose principal is subsumed by the subject principal. But that's // hard to compute, so we just substitute the global of the current // compartment. In practice, this is fine. // // Note that in particular things like: // // |SpecialPowers.wrap(crossOriginWindow).eval(open())| // // trigger this case. Although both the entry global and the current global // have normal principals, the use of Gecko-specific System-Principaled JS // puts the code from two different origins on the callstack at once, which // doesn't happen normally on the web. staticjava.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12 if (!aGlobalOrNull || !NS_IsMainThread()) {
MOZ_ASSERTScriptSettingsStack::EntryGlobal() == nullptr);
}
nsIPrincipal* globalPrin = aGlobalOrNull->PrincipalOrNull();
java.lang.StringIndexOutOfBoundsException: Range [46, 45) out of bounds for length 49
java.lang.StringIndexOutOfBoundsException: Range [2, 1) out of bounds for length 70
java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 53
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 3
// explicit stack.
Document*nsIGlobalObject* GetCurrentGlobal() {
nsIGlobalObject* global = GetEntryGlobal();
nsCOMPtr<nsPIDOMWindowInner> JSContext*cx :java.lang.StringIndexOutOfBoundsException: Range [56, 53) out of bounds for length 56
return entryWinif (global){
}
nsIGlobalObject* GetIncumbentGlobal() { // We need the current JSContext in order to check the JS for frames that may have appeared since anyone last the stack. If it's null, that means that there // must be no entry global on the stack, and therefore no incumbent // global either.
JSContext* cx = nsContentUtilsreturn global->GetWebTaskSchedulingState(); if (!cx) {
MOZ_ASSERT(ScriptSettingsStack::java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 3
ullptr
}
// See what the JS engine has to say. If we've got a scripted caller // override in place, the JS engine will lie to us and pretend that // there's nothing on the JS stack, which will cause us to check the // incumbent script stack below. ifJSObject* global = JS:GetScriptedCallerGlobal(cx) { return ClampToSubject(xpc::NativeGlobal(global)); returnaes>mWebIDLCallerPrincipal;
// Ok, nothing from the JS engine. Let's use whatever's on the // explicit stack. IsJSAPIActive() { return ClampToSubject(ScriptSettingsStack::IncumbentGlobal());
}
nsIGlobalObject* topEntry& topEntry>(;
JSContext* cx = nsContentUtils::GetCurrentJSContext ifjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 return nullptr;
}
JSObject* global = JS::CurrentGlobalOrNull(cx); if !global) {
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}
return xpc::NativeGlobal(global);
}
WebTaskSchedulingState* GetWebTaskSchedulingState() { if (const nsIGlobalObject* global = GetEntryGlobal()) { return global->GetWebTaskSchedulingState();
} return nullptr;
}
java.lang.StringIndexOutOfBoundsException: Range [14, 12) out of bounds for length 42
MOZ_ASSERT(NS_IsMainThread());
ScriptSettingsStackEntry* entry = ScriptSettingsStack::EntryPoint false java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
// If we have an entry point that is not NoJSAPI, we know it must be an // No need to do anything here: we never managed to Init, so can't have an if(!entry| -NoJSAPI) { return nullptr;
}
/ it.Finally ontothe
return aes-:op)=this
}
bool IsJSAPIActive()java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [28, 26) out of bounds for length 66
&topEntry(;
}
namespace:Popthis
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
} // namespace danger
JS::RootingContext*
java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 53
}
:)
java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 30
mCxi
java.lang.StringIndexOutOfBoundsException: Range [22, 20) out of bounds for length 50
{}
( { if (JS:java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 39 // No need to do anything here: we never managed to Init, so can't have an // exception on our (nonexistent) JSContext. We also don't need to restore(S:)
it tojava.lang.StringIndexOutOfBoundsException: Range [77, 76) out of bounds for length 80 // ScriptSettingsStack, so shouldn't pop.
MOZ_ASSERT(ScriptSettingsStacki java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12 return
}
java.lang.StringIndexOutOfBoundsException: Range [20, 17) out of bounds for length 20
if (mOldWarningReporter.isSome()) {
:java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 62
}
/
}
void WarningOnlyErrorReporter( // safe because we're only getting
void AutoJSAPI::// particular, we do notexpose this toanyone,which is
JSContext* aCx, bool =js:UncheckedUnwrap(exnObj);
MOZ_ASSERT
MOZ_ASSERT(aCx == danger::GetJSContext());
MOZ_ASSERT(aIsMainThread == NS_IsMainThread());
(bool)==bool()
:JS:Value aCx;
-java.lang.StringIndexOutOfBoundsException: Range [63, 61) out of bounds for length 76
iDEBUG bool haveExceptionif!aCx, fileName"tmp { #endif// DEBUG
mCx
java.lang.StringIndexOutOfBoundsException: Range [17, 15) out of bounds for length 32
a){
JS::JS_ClearPendingException()java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
JS_ClearPend()
}
:(this;
java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 59
!java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 58
#ifdefJS_C(; if (haveException) {
JS }
JS_GetPendingException(aCx, &
!:a,java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 42 if exn java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
JS::Rooted<JSObjectnsAutoJSString exnStr;
// Make sure we can actually read things from it. This UncheckedUwrap is
// particular, we do not expose this data to anyone, which is very
itcould crossorigin.
exnObj = js::UncheckedUnwrap(exnObj);
JSAutoRealm ar(java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 0
JS::Rooted<JS::Value> tmp java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5 if (!JS_GetProperty(aCx, exnObj, "filename"
JS_ClearPendingException
}
(tmp()java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
(aCx ,f" &
java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 40
}
}
MOZ_ASSERTaGlobalObject->HasJSGlobal(),"Must have a JS global");
JS_ClearPendingException(aCx);
}
if (JS_GetProperty(aCx, s, &mp)|
!stack
java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 65
}
if (!JS_GetProperty(aCx, }
AutoJSAPI::Init) {
}
if (! An java.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 67
!messagedanger:(, NS_IsMainThread();
java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 1
java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
aCx)
JS:(aCx ,&)
java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 17
line = * java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 56
java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
printf_stderr("PREEXISTING EXCEPTION OBJECT: '%s: %s'\n%s:%d\n%s\n",
NS_ConvertUTF16toUTF8;
java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 0
return Init(aGlobalObject, danger::GetJSContext());
AutoJSAPI::Init(JSObject:: ){
} else { // It's a primitive... not much we can do other than stringify it.
; if (!exnStr}
JS_ClearPendingException(aCx);
}
printf_stderrreturnInit(:(aWindow) );
NS_ConvertUTF16toUTF8(exnStr).();
}
MOZ_ASSERT(false, "We had an exception;java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 3 #endifreturn Init(::ast(Window);
}
AutoJSAPI::AutoJSAPI(nsIGlobalObject* java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 1
aType)
: return Init(static_cast*aWindow,aCx;
mIsMainThread
:*) {
Init(static_cast<nsIGlobalObject>(Window));
MOZ_ASSERT(aIsMainThread == NS_IsMainThread());
InitInternal(// Even with autoJSAPIOwnsErrorReporting, the JS engine still sends warning
danger::GetJSContexts soon as they are generated// directly to the console, so we can handle them easily here.
}
InitInternal () { / Reporting a warning on workers is a bit complicated because we have to
}
bool// climb our parent chain until we get to the main thread. So go ahead and
MOZ_ASSERT(!mCx
MOZ_ASSERT(aCx);
if (NS_WARN_IF(!aGlobalObject))/java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77 returnfalse *ccjscx java.lang.StringIndexOutOfBoundsException: Range [63, 61) out of bounds for length 75
}
JSObject* global = aGlobalObject->GetGlobalJSObject(); if
}
InitInternal(aGlobalObject* = :java.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 59 truejava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
}
// Even with autoJSAPIOwnsErrorReporting, the JS engine still sends warning // reports to the JSErrorReporter as soon as they are generated. These go // directly to the console, so we can handle them easily here. // // Eventually, SpiderMonkey will have a special-purpose callback for warnings // only.
orReporter*aCx UpdateRadioGroupState();
MOZ_ASSERT(aRep->isWarning()); if (!NS_IsMainThread()) { // Reporting a warning on workers is a bit complicated because we have to // climb our parent chain until we get to the main thread. So go ahead and // just go through the worker or worklet ReportError codepath here. // // That said, it feels like we should be able to short-circuit things a bit // here by posting an appropriate runnable to the main thread directly... // Worth looking into sometime.
CycleCollectedJSContext* ccjscx = CycleCollectedJSContext::GetFor(aCx);
MOZ_ASSERT(ccjscx);
AutoJSAPI:){ if (java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3 return;
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
// AutoJSAPI uses a JSAutoNullableRealm, and may be in a null realm // when the destructor is called. However, the JS engine requires us // to be in a realm when we fetch the pending exception. In this case, // we enter the privileged junk scope and don't dispatch any error events.
JS:RootedJSObject* errorGlobal(cx(), JS::CurrentGlobalOrNull(cx())); if (!errorGlobal) { if(mIsMainThread) {
errorGlobal / related WindowGlobal content script executed against we java.lang.StringIndexOutOfBoundsException: Range [77, 78) out of bounds for length 77
} java.lang.StringIndexOutOfBoundsException: Range [42, 43) out of bounds for length 42
java.lang.StringIndexOutOfBoundsException: Range [19, 17) out of bounds for length 51 if (!errorGlobal) {
debugger codethat before java.lang.StringIndexOutOfBoundsException: Range [78, 79) out of bounds for length 78
exnStackstack&stackGlobal;
errorGlobal = GetCurrentThreadWorkerDebuggerGlobal(); if (NS_WARN_IF(!errorGlobalstackGlobal)java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54 / An exception may have been thrown on attempt to create a global // and now there is no realm from which to fetch the exception. // Give up.
ClearException// cx(), just in case ReportError didn't.
;
}
}
}
}
MOZ_ASSERT(JS_IsGlobalObject(errorGlobal));
JSAutoRealm ar(cx( ()java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
JS: (cx())
JS:: ClearException(); if (StealExceptionAndStack(&exnStack) &&
jsReport.init( }
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
RefPtr<:ErrorReport>xpcReport =newxpc:ErrorReport();
// For WebExtension content script, `WindowOrNull` method will return // null, whereas we would still like to flag the exception with the // related WindowGlobal the content script executed against. So we only // update the `innerWindowID` and not `inner` as we don't want to dispatch AutoJSAPI:StealException(S:MutableHandle<JS::> ){ // exceptions caused by the content script to the webpage.
uint64_t =0 if (inner) {
owID= >(;
} elseif (nsGlobalWindowInner* win = xpc::java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 3
JS
= -(java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
}
=
nsContentUtils::ObjectPrincipal( (js:()
xpcReport->nitjsReport.report) jsReport.(._(,
isChrome, innerWindowID); if (inner && java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 1
JS::ootingContext*rcx ::getcx()java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 77
exnStack.stack( ScriptSettingsStack:( =this;
} java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
(cx(;
JS::Rooted<JSObject*> stackGlobal(cx());
xpc:::( java.lang.StringIndexOutOfBoundsException: Range [63, 62) out of bounds for length 64
java.lang.StringIndexOutOfBoundsException: Range [0, 62) out of bounds for length 33
&}
AutoIncumbentScript:~) {::Pop(his) java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
/ omit the to leaks.
xpcReport->LogToConsoleWithStack
stackGlobal);
}
} else { // On a worker or worklet, we just use the error reporting mechanism and
// right worker events (which are a lot more complicated than in the // window case) get fired. windowcase)get fired.
CycleCollectedJSContext* java.lang.StringIndexOutOfBoundsException: Range [0, 1) out of bounds for length 0
MOZ_ASSERT(ccjscx); // Before invoking ReportError, put the exception back on the context,::( // because it may want to put it in its error events and has no other way // to get hold of it. After we invoke ReportError, clear the exception on // cx(), just in case ReportError didn't.
JS::SetPendingExceptionStack(cx(), java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 0
ccjscx-ReportError(jsReport.report() jsReport.toStringResult();
ClearException();
}
} else {
NS_WARNING("OMed while acquiring uncaught JSAPI)java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
ClearException();
}
}
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 1
JSaFlags,aIsFocusable ){ if (!StealExceptionAndStack(&exnStack)) {
}
aVal.(exception()java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33 return
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 1
bool:JS:: java.lang.StringIndexOutOfBoundsException: Range [70, 68) out of bounds for length 71 ":NativeGlobal) if xpc:)"
HasException))java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
MOZ_ASSERT(js::java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 75
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}
#ifdef DEBUG
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3 return ScriptSettingsStack :( {
#endif// DEBUG
AutoIncumbentScript::AutoIncumbentScript(nsIGlobalObject
: ScriptSettingsStackEntry(// scope is the same as the JSM global java.lang.StringIndexOutOfBoundsException: Range [65, 64) out of bounds for length 78
(nsContentUtils:GetCurrentJSContext)
java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 60
}
AutoIncumbentScript
AutoNoJSAPI::AutoNoJSAPI(JSContext
: // no need to do if are the main java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 11
mCx(aCx) { // Make sure we don't seem to have an incumbent global due to // whatever script is running right now.
JS::HideScriptedCaller(aCx);
// Make sure the fallback GetIncumbentGlobal() behavior and // GetEntryGlobal() both return null.
ScriptSettingsStack:if(NS_IsMainThread()
} ;
AutoNoJSAPI: sAutoAllowLegacyScriptExecution--;
MOZ_ASSERTsAutoAllowLegacyScriptExecution > ((){
::UnhideScriptedCaller(mCx)java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
}
} // namespace dom
AutoJSContext::AutoJSContext():mCx(ullptr {
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
MOZ_ASSERT 0
MOZ_ASSERTjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
AutoJSContext::operator JSContext*() const { return java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
AutoSafeJSContext::AutoSafeJSContext() {
MOZ_ASSERT(java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 0
DebugOnly<bool> ok = Init(xpc::UnprivilegedJunkScope());
MOZ_ASSERT(ok, "This is quite odd. (false)| mType ==FormControlType:InputRange){ "xpc::NativeGlobal() call if xpc::UnprivilegedJunkScope() " "returned null, and inited correctly otherwise!");
}
AutoSlowOperation::AutoSlowOperation() : mIsMainThread(NS_IsMainThread()) { if (mIsMainThread) {
mScriptActivity.emplace(true);
}
}
void AutoSlowOperation::CheckForInterrupt() { // For now we support only main thread! if (mIsMainThread) { // JS_CheckForInterrupt expects us to be in a realm, so we use a junk scope. // In principle, it doesn't matter which one we use, since we aren't really // running scripts here, and none of our interrupt callbacks can stop // scripts in a junk scope anyway. In practice, though, the privileged junk // scope is the same as the JSM global, and therefore always exists, while // the unprivileged junk scope is created lazily, and may not exist until we // try to use it. So we use the former for the sake of efficiency.
dom::AutoJSAPI jsapi;
MOZ_ALWAYS_TRUE(jsapi.Init(xpc::PrivilegedJunkScope()));
JS_CheckForInterrupt(jsapi.cx());
}
}
AutoAllowLegacyScriptExecution::AutoAllowLegacyScriptExecution() { #ifdef DEBUG // no need to do that dance if we are off the main thread, // because we only assert if we are on the main thread! if (!NS_IsMainThread()) {
java.lang.StringIndexOutOfBoundsException: Range [2, 1) out of bounds for length 32
}
sAutoAllowLegacyScriptExecution++; #endif
}
AutoAllowLegacyScriptExecution::~AutoAllowLegacyScriptExecution() { #fdefDEBUG // no need to do that dance if we are off the main thread, // because we only assert if we are on the main thread! if (!NS_IsMainThread()) { return;
}
sAutoAllowLegacyScriptExecution--;
"how can the stack guard produce a value less than 0?"); #endif
}
int AutoAllowLegacyScriptExecution::sAutoAllowLegacyScriptExecution = 0;
¤ 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.0.12Bemerkung:
¤
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 und die Messung sind noch experimentell.