Bug 1627075 - Route Omnijar requests through StartupCache r=froydnj
This should be a relatively straightforward patch. Essentially, we implement a wrapper class (and friends) around nsZipArchive (and friends), which transparently caches entries from the underlying zip archive in the StartupCache. This will break without changes to the StartupCache, made in the patch after this, which allow it to be used off of the main thread, and outside the main process. Depends on D77635 Differential Revision: https://phabricator.services.mozilla.com/D77634
This commit is contained in:
@@ -24,6 +24,7 @@
|
||||
|
||||
#include "mozilla/ContentPrincipal.h"
|
||||
#include "mozilla/dom/ScriptLoader.h"
|
||||
#include "mozilla/Omnijar.h"
|
||||
#include "mozilla/ScriptPreloader.h"
|
||||
#include "mozilla/SystemPrincipal.h"
|
||||
#include "mozilla/scache/StartupCache.h"
|
||||
@@ -248,6 +249,10 @@ bool mozJSSubScriptLoader::ReadScript(JS::MutableHandle<JSScript*> script,
|
||||
const char* uriStr, nsIIOService* serv,
|
||||
bool wantReturnValue,
|
||||
bool useCompilationScope) {
|
||||
// We're going to cache the XDR encoded script data - suspend writes via the
|
||||
// CacheAwareZipReader, otherwise we'll end up redundantly caching scripts.
|
||||
AutoSuspendStartupCacheWrites suspendScache;
|
||||
|
||||
// We create a channel and call SetContentType, to avoid expensive MIME type
|
||||
// lookups (bug 632490).
|
||||
nsCOMPtr<nsIChannel> chan;
|
||||
|
||||
Reference in New Issue
Block a user