This will allow the DocumentChannel to be removed from the loading group and the docshell to stop waiting for for the ParentProcessDocumentChannel to do something.
Depends on D77201
Differential Revision: https://phabricator.services.mozilla.com/D77202
It would otherwise triggers browser/base/content/test/performance/browser_preferences_usage.js
That pref would have been checked with every single load, a staticpref is O-1 .
Differential Revision: https://phabricator.services.mozilla.com/D76317
The moves all decisions to perform a process switch into the DocumentLoadListerner. This removes the unnecessary need to go via a content process to start the load.
Differential Revision: https://phabricator.services.mozilla.com/D76315
I changed the CacheIR code to specialize on the actual call target.
I think polymorphic targets are actually not totally common,
GDocs for example uses hasOwnProperty.call() a lot.
When we start supporting guardNotClassConstructor etc. this should
just start working as well though.
Differential Revision: https://phabricator.services.mozilla.com/D76620
The method returns a database filename without any extension, so the method name
needs to express that.
Depends on D77068
Differential Revision: https://phabricator.services.mozilla.com/D77069
Cache API is currently not consistent regarding unknown files. Some unknown
files are reported and ignored, other unknown files are reported and deleted or
just silently deleted without a warning.
Quota Manager, IndexedDB, SimpleDB and LocalStorage currently report and ignore
such files. We should try to unify this in future.
Differential Revision: https://phabricator.services.mozilla.com/D76718
All unknown files in the files and journals directory are now properly filtered
out if the filename can't be converted to an integer.
Differential Revision: https://phabricator.services.mozilla.com/D76703
The functionality needs to be verified for all initialization states (modes)
since some methods don't automatically trigger temporary storage initialization
which results in calling different quota client methods (for example
GetUsageForOrigin calls either Client::InitOrigin or Client::GetUsageForOrigin).
Depends on D76701
Differential Revision: https://phabricator.services.mozilla.com/D76702
This was regressed by Bug 766661, and it highlighted
that we're missing test coverage for this, so this
test is adding a test case to prevent future breakage.
Differential Revision: https://phabricator.services.mozilla.com/D76676
We're doing it async, triggered during the stable state runnable, and then the
values are cached in atomic variables, so that the rendering thread can have the
info as well, for using during processing.
Differential Revision: https://phabricator.services.mozilla.com/D75331
ChannelClassifierService notifies "urlclassifier-before-block-channel"
event when a channel is going to be blocked by protection features.
It also provides an API for receivers to "unblock" the channel.
Sample usage:
this.service = Cc["@mozilla.org/url-classifier/channel-classifier-service;1"].getService(
Ci.nsIChannelClassifierService
);
if (this.service) {
this.service.addListener({
observe(aSubject, aTopic, aData) {
switch (aTopic) {
case "urlclassifier-before-block-channel":
let channel = aSubject.QueryInterface(Ci.nsIUrlClassifierBlockedChannel);
channel.unblock();
break;
}
},
})
}
Differential Revision: https://phabricator.services.mozilla.com/D76836
A generated profile now matches real world profiles:
- contains directory metadata
- contains real quota client specific files
- contains unique non-empty unknown files (instead of empty foo.bar files)
- contains unique non-empty unknown directories (instead of empty foo dirs)
There's now only one origin directory which contains unknown files and
directories. All methods that take a principal are verified to work with the
origin direcrtory.
Depends on D76095
Differential Revision: https://phabricator.services.mozilla.com/D76700