bool AssertAppProcess(PHalParent* aActor, AssertAppProcessType aType, const char* aCapability) { return AssertAppProcess(aActor->Manager(), aType, aCapability); }
bool AssertAppProcess(PContentParent* aActor, AssertAppProcessType aType, const char* aCapability) { const InfallibleTArray<PBrowserParent*>& browsers = aActor->ManagedPBrowserParent(); for (uint32_t i = 0; i < browsers.Length(); ++i) { if (AssertAppProcess(browsers[i], aType, aCapability)) { return true; } } return false; }
bool AssertAppProcess(PContentParent* aActor, AssertAppProcessType aType, const char* aCapability) { nsTArray<TabContext> contextArray = static_cast<ContentParent*>(aActor)->GetManagedTabContext(); for (uint32_t i = 0; i < contextArray.Length(); ++i) { if (AssertAppProcess(contextArray[i], aType, aCapability)) { return true; } } NS_ERROR( nsPrintfCString( "Security problem: Content process does not have `%s'. It will be killed.\n", aCapability).get()); static_cast<ContentParent*>(aActor)->KillHard("AssertAppProcess"); return false; }