nsIJAR is only used to define getCertificatePrincipal and ManifestCount for a ZipReader. By moving nsIJAR into nsIZipReader, we can skip on a number of needless do_QueryInterfaces (as the underlying object is always the same): nsCOMPtr<nsIJAR> systemCertJar(do_QueryInterface(systemCertZip, &rv)); if (NS_FAILED(rv)) return NS_ERROR_FAILURE; rv = systemCertJar->GetCertificatePrincipal(nsnull, getter_AddRefs(mSystemCertificate)); becomes: rv = systemCertZip->GetCertificatePrincipal(nsnull, getter_AddRefs(mSystemCertificate)); Callers are: http://lxr.mozilla.org/seamonkey/source/xpinstall/src/nsSoftwareUpdateRun.cpp#109 http://lxr.mozilla.org/seamonkey/source/caps/src/nsScriptSecurityManager.cpp#2645 http://lxr.mozilla.org/seamonkey/source/modules/libjar/nsJARChannel.cpp#480
Darin, what do you think about this?
QA Contact: networking.file → networking.jar
This code simplification looks good to me. Benjamin can we take a change that moves methods between public interfaces like this?
They aren't frozen, are they? Should be fine.
Attachment #425156 - Flags: superreview?(benjamin)
Attachment #425156 - Flags: superreview?(benjamin) → superreview+
Status: NEW → RESOLVED
Last Resolved: 9 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.