Since nsIURIs are thread safe, we don't need to proxy their release to the
main thread.
Differential Revision: https://phabricator.services.mozilla.com/D62193
--HG--
extra : moz-landing-system : lando
UniquePtr does not allow for implicit conversion to it's pointer type so we need to rework removing items from the array. This also removes a double lookup on removal.
Differential Revision: https://phabricator.services.mozilla.com/D60340
--HG--
extra : moz-landing-system : lando
And fix a bunch of fallout as we now don't include nsDocShell.h everywhere.
Differential Revision: https://phabricator.services.mozilla.com/D62169
--HG--
extra : moz-landing-system : lando
All of these call sites were unnecessarily converting nsIPrincipal* => IPC::Principal => nsIPrincipal*.
Differential Revision: https://phabricator.services.mozilla.com/D62327
--HG--
extra : moz-landing-system : lando
HTTP_CACHE_DISPOSITION_3 is now keyed by content type. Note that probe HTTP_CACHE_DISPOSITION_2 was removed along with the old cache code, so suffix V2 isn't needed anymore.
Differential Revision: https://phabricator.services.mozilla.com/D61676
--HG--
extra : moz-landing-system : lando
The getDefaultFileName helper function does its own filename parsing using header info
it has previously 'manually' retrieved, so it needs to manually unescape its input.
Meanwhile, NS_GetFilenameFromDisposition is used by webbrowserpersist and for
the title of documents, and so updating that helps ensure better UI as well as
correct filename suggestions when saving from the context menu.
Differential Revision: https://phabricator.services.mozilla.com/D61734
--HG--
rename : accessible/tests/mochitest/moz.png => uriloader/exthandler/tests/mochitest/file_with@@funny_name.png
rename : toolkit/components/mediasniffer/test/unit/data/file.webm => uriloader/exthandler/tests/mochitest/file_with[funny_name.webm
extra : moz-landing-system : lando
In a corner case race we might receive a notification from the wrong channel.
- mIPv4Channel is loading and calls nsHttpChannel::DoAuthRetry(NS_OK)
- RecheckDNS() is called and mIPv4Channel gets replaced
we call Cancel for the old channel
- nsHttpChannel::ContinueDoAuthRetry is called, which calls OnStopRequest
for the old channel
- We hit the assertion because we get the call for the wrong channel
Differential Revision: https://phabricator.services.mozilla.com/D61165
--HG--
extra : moz-landing-system : lando
Set nsFtpChannel's content-type to application/octet-stream only when downloading a file.
Differential Revision: https://phabricator.services.mozilla.com/D61494
--HG--
extra : moz-landing-system : lando
This method is called on cache I/O thread while the members are modified usually on the main thread which results in data race.
Differential Revision: https://phabricator.services.mozilla.com/D60367
--HG--
extra : moz-landing-system : lando
When it's first starting up, when mConfirmationState != CONFIRM_OK
the TRR service is not ready to use.
For TRR_FIRST requests we need to fallback to DNS while the service starts up.
Differential Revision: https://phabricator.services.mozilla.com/D61218
--HG--
extra : moz-landing-system : lando
When it's first starting up, when mConfirmationState != CONFIRM_OK
the TRR service is not ready to use.
For TRR_FIRST requests we need to fallback to DNS while the service starts up.
Differential Revision: https://phabricator.services.mozilla.com/D61218
--HG--
extra : moz-landing-system : lando
When it's first starting up, when mConfirmationState != CONFIRM_OK
the TRR service is not ready to use.
For TRR_FIRST requests we need to fallback to DNS while the service starts up.
Differential Revision: https://phabricator.services.mozilla.com/D61218
--HG--
extra : moz-landing-system : lando
The only information that devtools needs is the amount of how many bytes readed, so this patch introduces PInputChannelThrottleQueue ipdl for carrying on this information.
Differential Revision: https://phabricator.services.mozilla.com/D56710
--HG--
extra : moz-landing-system : lando
The following methods are removed:
1. notifyChannelClassifierProtectionDisabled
2. notifyCookieAllowed
3. notifyCookieBlocked
Depends on D56875
Differential Revision: https://phabricator.services.mozilla.com/D57630
--HG--
extra : moz-landing-system : lando
This patch does the followings:
1. Remove NotifyOnContentBlocking in WindowOuter and all the call sites.
This is because all the content blocking event handling is moved to the parent.
2. Replace UrlClassifierCommon::NotifyChannelBlocked with AntiTrackingCommon:::NotifyContentBlockingEventInParent.
This is because we don't need to pass the request to the child anymore, which was implemented in NotifyChannelBlocked previously.
3. Add NotifyContentBlockingEvent* utility functions to AntiTrackingCommon.cpp.
4. Update AntiTrackingCommon::NotifyBlockingDecision, when it is called in the parent,
do not send requests to the child, notify the parent directly
Depends on D56874
Differential Revision: https://phabricator.services.mozilla.com/D56875
--HG--
extra : moz-landing-system : lando
At this point, there is no consumer that uses ContentBlockingLog stored
in the child. This patch removes the following code:
1. Removing nsGlobalWindowOuter::NotifyContentBlockingEvent
2. Removing nsDocLoader::OnContentBlockingEvent
3. Removing contentBlockingEvent in nsISecureBrowserUI.idl
4. Removing mContentBlockingLog from Document.cpp and APIs related to it.
Differential Revision: https://phabricator.services.mozilla.com/D56874
--HG--
extra : moz-landing-system : lando
The following methods are removed:
1. notifyChannelClassifierProtectionDisabled
2. notifyCookieAllowed
3. notifyCookieBlocked
Depends on D56875
Differential Revision: https://phabricator.services.mozilla.com/D57630
--HG--
extra : moz-landing-system : lando
This patch does the followings:
1. Remove NotifyOnContentBlocking in WindowOuter and all the call sites.
This is because all the content blocking event handling is moved to the parent.
2. Replace UrlClassifierCommon::NotifyChannelBlocked with AntiTrackingCommon:::NotifyContentBlockingEventInParent.
This is because we don't need to pass the request to the child anymore, which was implemented in NotifyChannelBlocked previously.
3. Add NotifyContentBlockingEvent* utility functions to AntiTrackingCommon.cpp.
4. Update AntiTrackingCommon::NotifyBlockingDecision, when it is called in the parent,
do not send requests to the child, notify the parent directly
Depends on D56874
Differential Revision: https://phabricator.services.mozilla.com/D56875
--HG--
extra : moz-landing-system : lando
At this point, there is no consumer that uses ContentBlockingLog stored
in the child. This patch removes the following code:
1. Removing nsGlobalWindowOuter::NotifyContentBlockingEvent
2. Removing nsDocLoader::OnContentBlockingEvent
3. Removing contentBlockingEvent in nsISecureBrowserUI.idl
4. Removing mContentBlockingLog from Document.cpp and APIs related to it.
Differential Revision: https://phabricator.services.mozilla.com/D56874
--HG--
extra : moz-landing-system : lando
This change is backwards incompatible with the older cookies.sqlite
files, which means files saved from newer versions of Firefox will
no longer be possible to open in older versions of Firefox.
Differential Revision: https://phabricator.services.mozilla.com/D60464
--HG--
rename : netwerk/test/unit/test_schema_3_migration.js => netwerk/test/unit/test_schema_10_migration.js
extra : moz-landing-system : lando
In order to support the update to move args when invoking callbacks we:
- Convert anything that was using WrapRunnable with `nsAutoPtr` to `UniquePtr`
- Convert anything that was using a non-const ref as a param to either a
const ref or a by-val copy
Addtionally we convert the remaining `nsAutoPtr` usage to `UniquePtr`.
Differential Revision: https://phabricator.services.mozilla.com/D59961
--HG--
extra : moz-landing-system : lando
This change is backwards incompatible with the older cookies.sqlite
files, which means files saved from newer versions of Firefox will
no longer be possible to open in older versions of Firefox.
Differential Revision: https://phabricator.services.mozilla.com/D60464
--HG--
rename : netwerk/test/unit/test_schema_3_migration.js => netwerk/test/unit/test_schema_10_migration.js
extra : moz-landing-system : lando
This in turn requires fixing various other include hell / missing include
issues.
Differential Revision: https://phabricator.services.mozilla.com/D60337
--HG--
extra : moz-landing-system : lando
- process_timer used to be called by process_output, that is not the case any more, therefore we nee$
- how closing/closed event has change: on idle-timeout only closed even is called which means that neqo connection is completely closed and should not be kept alive.
Differential Revision: https://phabricator.services.mozilla.com/D59801
--HG--
extra : moz-landing-system : lando
This patch fixes data race on CacheFileHandle::mFileSize when accessed on main thread by nsHttpChannel::ReportNetVSCacheTelemetry(). All other usages are on cache I/O thread.
Differential Revision: https://phabricator.services.mozilla.com/D60407
--HG--
extra : moz-landing-system : lando
Fetch, configure, and run node for Android on the test host, just like Linux tests do.
Make the node/HTTP/2 environment variables available to the tests on the device, and
use adb port forwarding to connect sockets. Finally, enable tests skipped for node.
Differential Revision: https://phabricator.services.mozilla.com/D60204
--HG--
extra : moz-landing-system : lando
This was done by:
This was done by applying:
```
diff --git a/python/mozbuild/mozbuild/code-analysis/mach_commands.py b/python/mozbuild/mozbuild/code-analysis/mach_commands.py
index 789affde7bbf..fe33c4c7d4d1 100644
--- a/python/mozbuild/mozbuild/code-analysis/mach_commands.py
+++ b/python/mozbuild/mozbuild/code-analysis/mach_commands.py
@@ -2007,7 +2007,7 @@ class StaticAnalysis(MachCommandBase):
from subprocess import Popen, PIPE, check_output, CalledProcessError
diff_process = Popen(self._get_clang_format_diff_command(commit), stdout=PIPE)
- args = [sys.executable, clang_format_diff, "-p1", "-binary=%s" % clang_format]
+ args = [sys.executable, clang_format_diff, "-p1", "-binary=%s" % clang_format, '-sort-includes']
if not output_file:
args.append("-i")
```
Then running `./mach clang-format -c <commit-hash>`
Then undoing that patch.
Then running check_spidermonkey_style.py --fixup
Then running `./mach clang-format`
I had to fix four things:
* I needed to move <utility> back down in GuardObjects.h because I was hitting
obscure problems with our system include wrappers like this:
0:03.94 /usr/include/stdlib.h:550:14: error: exception specification in declaration does not match previous declaration
0:03.94 extern void *realloc (void *__ptr, size_t __size)
0:03.94 ^
0:03.94 /home/emilio/src/moz/gecko-2/obj-debug/dist/include/malloc_decls.h:53:1: note: previous declaration is here
0:03.94 MALLOC_DECL(realloc, void*, void*, size_t)
0:03.94 ^
0:03.94 /home/emilio/src/moz/gecko-2/obj-debug/dist/include/mozilla/mozalloc.h:22:32: note: expanded from macro 'MALLOC_DECL'
0:03.94 MOZ_MEMORY_API return_type name##_impl(__VA_ARGS__);
0:03.94 ^
0:03.94 <scratch space>:178:1: note: expanded from here
0:03.94 realloc_impl
0:03.94 ^
0:03.94 /home/emilio/src/moz/gecko-2/obj-debug/dist/include/mozmemory_wrap.h:142:41: note: expanded from macro 'realloc_impl'
0:03.94 #define realloc_impl mozmem_malloc_impl(realloc)
Which I really didn't feel like digging into.
* I had to restore the order of TrustOverrideUtils.h and related files in nss
because the .inc files depend on TrustOverrideUtils.h being included earlier.
* I had to add a missing include to RollingNumber.h
* Also had to partially restore include order in JsepSessionImpl.cpp to avoid
some -WError issues due to some static inline functions being defined in a
header but not used in the rest of the compilation unit.
Differential Revision: https://phabricator.services.mozilla.com/D60327
--HG--
extra : moz-landing-system : lando
rg -l 'mozilla/Move.h' | xargs sed -i 's/#include "mozilla\/Move.h"/#include <utility>/g'
Further manual fixups and cleanups to the include order incoming.
Differential Revision: https://phabricator.services.mozilla.com/D60323
--HG--
extra : moz-landing-system : lando
Now mfbt/Move.h is empty except for that excellent comment about move
semantics... Should we put it somewhere else and delete the header as a
follow-up? Or just delete the header and carry on?
Differential Revision: https://phabricator.services.mozilla.com/D60297
--HG--
extra : moz-landing-system : lando
Fetch, configure, and run node for Android on the test host, just like Linux tests do.
Make the node/HTTP/2 environment variables available to the tests on the device, and
use adb port forwarding to connect sockets. Finally, enable tests skipped for node.
Differential Revision: https://phabricator.services.mozilla.com/D60204
--HG--
extra : moz-landing-system : lando
Done with:
./mach static-analysis check --checks="-*, modernize-concat-nested-namespaces" --fix .
and then clang-format on the files
Differential Revision: https://phabricator.services.mozilla.com/D58217
--HG--
extra : moz-landing-system : lando
Done with:
./mach static-analysis check --checks="-*, modernize-concat-nested-namespaces" --fix .
and then clang-format on the files
Differential Revision: https://phabricator.services.mozilla.com/D58217
--HG--
extra : moz-landing-system : lando
The intent of ConfigureChannel was to be code that needed to be applied to both the DocumentChannelChild in the content process, and the real channel in the parent.
It looks like everything in there is either QI'ing to a sub-type of channel (which won't apply to DocumentChannelChild), or is mutating the loadinfo/loadflags (which only need to be done once).
Differential Revision: https://phabricator.services.mozilla.com/D59264
--HG--
extra : moz-landing-system : lando
* Enables timing for TRR channels and records telemetry with time elapsed
between the responseEnd and when the listener is notified with the
nsHostRecord object
Differential Revision: https://phabricator.services.mozilla.com/D59739
--HG--
extra : moz-landing-system : lando
baseDomain is used as a key for cookies in a hashmap. For cookie
operations to work properly, the baseDomain generation must be stable.
This is however not the case, because the result can change by updates
to the public suffix list.
Since the stored baseDomain is not reliable, the value must be
recomputed when the database is read.
Differential Revision: https://phabricator.services.mozilla.com/D59430
--HG--
extra : moz-landing-system : lando
Support cancel reason so devtools, download panel, etc. can understand that an extension cancelled a request.
Differential Revision: https://phabricator.services.mozilla.com/D57537
--HG--
extra : moz-landing-system : lando
This patch makes the matched info also set into the channels in the
parent process. This info is neeced for the ContentBlocking telemetry
and GeckoView also relies on it.
Differential Revision: https://phabricator.services.mozilla.com/D56748
--HG--
extra : moz-landing-system : lando
We make the OnContentBlockingEvent to be notified in the parent procees
for UrlClassifierCommon. There are two place would trigger this,
UrlClassifierCommon::SetBlockedContent and
UrlClassifierCommon::AnnotateChannel. But we still send to the child
process to notify the content blocking since we need to update the log
in the content process in this stage.
Differential Revision: https://phabricator.services.mozilla.com/D55647
--HG--
extra : moz-landing-system : lando
This shouldn't have any functional changes, and adds some new comments to explain the purpose of the classes a bit better.
Differential Revision: https://phabricator.services.mozilla.com/D59265
--HG--
rename : netwerk/ipc/DocumentChannelChild.cpp => netwerk/ipc/DocumentChannel.cpp
rename : netwerk/ipc/DocumentChannelChild.h => netwerk/ipc/DocumentChannel.h
extra : source : ca6f43c061311dfe3e45f0216e320872d9d62cd4
This shouldn't have any functional changes, and adds some new comments to explain the purpose of the classes a bit better.
Differential Revision: https://phabricator.services.mozilla.com/D59265
--HG--
rename : netwerk/ipc/DocumentChannelChild.cpp => netwerk/ipc/DocumentChannel.cpp
rename : netwerk/ipc/DocumentChannelChild.h => netwerk/ipc/DocumentChannel.h
extra : moz-landing-system : lando
We currently do a process switch for a failed load so that we show an error page in the right process. This adds an exception for loads that we just explicitly cancelled, since it shouldn't be necessary, and so that tests that use BrowserUtils.waitForDocLoadAndStopIt don't get confused.
Differential Revision: https://phabricator.services.mozilla.com/D58889
--HG--
extra : moz-landing-system : lando