bool Navigator::JavaEnabled(ErrorResult& aRv) { Telemetry::AutoTimer<Telemetry::CHECK_JAVA_ENABLED> telemetryTimer; // Return true if we have a handler for "application/x-java-vm", // otherwise return false. if (!mMimeTypes) { if (!mWindow) { aRv.Throw(NS_ERROR_UNEXPECTED); return false; } mMimeTypes = new nsMimeTypeArray(mWindow); } RefreshMIMEArray(); nsMimeType *mimeType = mMimeTypes->NamedItem(NS_LITERAL_STRING("application/x-java-vm")); return mimeType && mimeType->GetEnabledPlugin(); }
NS_IMETHODIMP Navigator::JavaEnabled(bool* aReturn) { Telemetry::AutoTimer<Telemetry::CHECK_JAVA_ENABLED> telemetryTimer; // Return true if we have a handler for "application/x-java-vm", // otherwise return false. *aReturn = false; if (!mMimeTypes) { mMimeTypes = new nsMimeTypeArray(this); } RefreshMIMEArray(); PRUint32 count; mMimeTypes->GetLength(&count); for (PRUint32 i = 0; i < count; i++) { nsresult rv; nsIDOMMimeType* type = mMimeTypes->GetItemAt(i, &rv); if (NS_FAILED(rv) || !type) { continue; } nsAutoString mimeString; if (NS_FAILED(type->GetType(mimeString))) { continue; } if (mimeString.EqualsLiteral("application/x-java-vm")) { *aReturn = true; break; } } return NS_OK; }