Commit Graph

756 Commits

Author SHA1 Message Date
Valentin Gosu
8193f10635 Bug 1607460 - Align with Cross-Origin-Opener-Policy changes r=michal
See: https://gist.github.com/annevk/6f2dd8c79c77123f39797f6bdac43f3e/f39cac7bf3a8a894059879f15c5b7b41f0195e29
The definition of the header is now:
Cross-Origin-Opener-Policy = %s"same-origin" / %s"same-origin-allow-popups" / %s"unsafe-none"; case-sensitive

Differential Revision: https://phabricator.services.mozilla.com/D60480
2020-02-18 16:39:08 +00:00
Bogdan Tara
c74233732c Backed out 2 changesets (bug 1607999) for test_fetch_cors_sw_reroute.html & test_fetch_event.html failures CLOSED TREE
Backed out changeset 3dd8004b9b6c (bug 1607999)
Backed out changeset 470e927e5f3f (bug 1607999)
2020-02-14 16:00:51 +02:00
Daisuke Akatsuka
088b2b4b72 Bug 1607999: Convey User-Agent request header to a channel which is for redirection. r=dragana
For now, when redirecting before creating docshell, the custom user agent is not conveyed to a channel for the redirection. In this patch, fix that.

Differential Revision: https://phabricator.services.mozilla.com/D60210
2020-02-14 11:55:13 +00:00
Valentin Gosu
2c00444d67 Bug 1614267 - Don't proxy URI release to the main thread for HttpBaseChannel r=kershaw
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
2020-02-12 12:32:39 +00:00
Eric Rahm
9f1fb4c724 Bug 1610070 - Part 3: Convert the rest of netwerk/ to use UniquePtr. r=mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D60341
2020-02-11 16:20:08 +00:00
Kershaw Chang
b9b52f3e0f Bug 1600254 - P8: Make nsIInputChannelThrottleQueue work with socket process r=dragana
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
2020-01-30 13:32:55 +00:00
Emilio Cobos Álvarez
778b011866 Bug 1609996 - Reorder some includes affected by the previous patches. r=froydnj
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
2020-01-20 16:19:48 +00:00
Emilio Cobos Álvarez
2efdea1ee5 Bug 1609996 - Remove mozilla/Move.h. r=froydnj
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
2020-01-20 16:18:20 +00:00
Valentin Gosu
3776a7e5d3 Bug 1590166 - WindowGlobalChild::Create should call GetCrossOriginOpenerPolicy instead of ComputeCrossOriginOpenerPolicy r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D59360
2020-01-18 17:14:07 +00:00
Valentin Gosu
4d7851b64e Bug 1552176 - Add nsIRequest.set/getTRRMode r=dragana
* Makes it possible to selectively enable TRR for pbmode/container/window/etc

Differential Revision: https://phabricator.services.mozilla.com/D48363
2020-01-07 20:20:38 +00:00
Matt Woodrow
f816cca417 Bug 1601743 - Don't apply the referrer header to the referrer that we send back to the content process when converting a DocumentChannel into a real channel. r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D56841
2019-12-16 00:19:03 +00:00
Gabriele Svelto
f03cdb2b2d Bug 1600545 - Remove useless inclusions of header files generated from IDL files in modules/, netwerk/, parser/, security/, startupcache/, storage/, toolkit/, tools/, uriloader/, widget/, xpcom/ and xpfe/ r=Ehsan
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.

find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
    interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
    if [ -n "$interfaces" ]; then
        if [[ "$interfaces" == *$'\n'* ]]; then
          regexp="\("
          for i in $interfaces; do regexp="$regexp$i\|"; done
          regexp="${regexp%%\\\|}\)"
        else
          regexp="$interfaces"
        fi
        interface=$(basename "$path")
        rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
            hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
            if [ $hits -eq 0 ]; then
                echo "Removing ${interface} from ${path2}"
                grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
                mv -f "$path2".tmp "$path2"
            fi
        done
    fi
done

Differential Revision: https://phabricator.services.mozilla.com/D55444
2019-12-06 09:17:57 +00:00
Boris Zbarsky
2df1df0176 Bug 1517588. Use nsIPrincipal::IsSystemPrincipal instead of nsContentUtils::IsSystemPrincipal r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D53067
2019-12-05 04:44:32 +00:00
Matt Woodrow
0d7366cc20 Bug 1600211 - Disable content conversion by HttpChannelChild if we have already applied it by the time we get to HttpChannelParent::OnStartRequest. r=mayhemer
We normally get HttpChannelParent::OnStartRequest directly from nsHttpChannel::OnStartRequest, where we disable content conversion and ask the child to do it instead.

When we install a multipart converter, we defer calling HttpChannelParent::OnStartRequest until we've decoded parts, at which point content conversion is already applied to the stream.

This detects that case, and stops the child trying to do it a second time (which fails, and breaks the content).

Differential Revision: https://phabricator.services.mozilla.com/D55222
2019-12-04 03:19:26 +00:00
Emilio Cobos Álvarez
3f4ce376a6 Bug 1599615 - Make some necko code less nsresult-happy. r=kershaw,valentin
Stuff that's infallible and not virtual has no reason to return an nsresult.

Differential Revision: https://phabricator.services.mozilla.com/D54831
2019-12-02 13:21:06 +00:00
Liang-Heng Chen
d5dc50571a Bug 1593083 - Ensure mTopWindowURI & mContentBlockingAllowListPrincipal are set correctly during HTTP redirects; r=mayhemer,Ehsan
There are 2 redirections happened on the tracking resource:
`nsHttpChannel` -> `InterceptedHttpChannel` -> `nsHttpChannel`.

`mTopWindowURI` is not copied to during the first redirection because it checks if the target channel is a `nsHttpChannel`.

Differential Revision: https://phabricator.services.mozilla.com/D52181
2019-11-23 22:45:35 +00:00
Bogdan Tara
ad50e1ed6f Backed out 6 changesets (bug 1552176) for causing Hazard bustages CLOSED TREE
Backed out changeset c79b90bae420 (bug 1552176)
Backed out changeset 4b970cc771ca (bug 1552176)
Backed out changeset de7aa0eaf4c8 (bug 1552176)
Backed out changeset c8e692a40cd3 (bug 1552176)
Backed out changeset 68882d1eccac (bug 1552176)
Backed out changeset 692e5e51e19e (bug 1552176)
2019-11-11 12:11:36 +02:00
Valentin Gosu
7db0665dd2 Bug 1552176 - Add nsIRequest.set/getTRRMode r=dragana
* Makes it possible to selectively enable TRR for pbmode/container/window/etc

Differential Revision: https://phabricator.services.mozilla.com/D48363
2019-11-10 17:11:41 +00:00
Bogdan Tara
c68efedde9 Backed out 6 changesets (bug 1552176) for bustages complaining about ServiceWorkerManager.cpp CLOSED TREE
Backed out changeset bff9110e434e (bug 1552176)
Backed out changeset ac8f8a6dbd98 (bug 1552176)
Backed out changeset 8dd630e7534a (bug 1552176)
Backed out changeset 7ce9e220cdb9 (bug 1552176)
Backed out changeset ee9911acfcd4 (bug 1552176)
Backed out changeset 652b3bd6848d (bug 1552176)
2019-11-08 22:18:05 +02:00
Valentin Gosu
a62f629a70 Bug 1552176 - Add nsIRequest.set/getTRRMode r=dragana
* Makes it possible to selectively enable TRR for pbmode/container/window/etc

Differential Revision: https://phabricator.services.mozilla.com/D48363
2019-11-08 17:13:05 +00:00
Noemi Erli
f3b08701bb Backed out 5 changesets (bug 1552176) for causing multiple build bustages CLOSED TREE
Backed out changeset 203060e4af95 (bug 1552176)
Backed out changeset b52f0ff800c8 (bug 1552176)
Backed out changeset 9f8d159fe252 (bug 1552176)
Backed out changeset 751b518e08fa (bug 1552176)
Backed out changeset a11ffd474c0c (bug 1552176)
2019-11-02 23:20:28 +02:00
Valentin Gosu
e7a3c40334 Bug 1552176 - Add nsIRequest.set/getTRRMode r=dragana
* Makes it possible to selectively enable TRR for pbmode/container/window/etc

Differential Revision: https://phabricator.services.mozilla.com/D48363
2019-11-02 20:42:42 +00:00
Nihanth Subramanya
edbf406048 Bug 1584479 - Part 1: Add flag for blocked social cookies in the content blocking log. r=Ehsan,droeh
Differential Revision: https://phabricator.services.mozilla.com/D47427
2019-11-01 23:24:25 +00:00
Dorel Luca
2060c2bf48 Backed out 4 changesets (bug 1584479) for Browser-chrome failures in toolkit/components/antitracking/test/browser/browser_socialtracking.js
Backed out changeset b0d9877bd8b0 (bug 1584479)
Backed out changeset d2c56bd61b08 (bug 1584479)
Backed out changeset 0edb22786545 (bug 1584479)
Backed out changeset 7e03b392edb3 (bug 1584479)
2019-11-02 01:18:42 +02:00
Nihanth Subramanya
fcb3e38904 Bug 1584479 - Part 1: Add flag for blocked social cookies in the content blocking log. r=Ehsan,droeh
Differential Revision: https://phabricator.services.mozilla.com/D47427
2019-11-01 21:02:09 +00:00
Junior Hsu
f145a5ed1b Bug 1545423 - P1 Expose requestSize to nsIHttpChannel r=dragana
Differential Revision: https://phabricator.services.mozilla.com/D50404
2019-10-31 03:59:36 +00:00
Andreea Pavel
5635140d90 Backed out 4 changesets (bug 1545423) for failing test_ext_activityLog.html on a CLOSED TREE
Backed out changeset 0abbf10b68b0 (bug 1545423)
Backed out changeset 35758baf44e3 (bug 1545423)
Backed out changeset 3ae45f3be2e1 (bug 1545423)
Backed out changeset 9f7f0e4c65da (bug 1545423)
2019-10-31 02:16:24 +02:00
Junior Hsu
41ae810742 Bug 1545423 - P1 Expose requestSize to nsIHttpChannel r=dragana
Differential Revision: https://phabricator.services.mozilla.com/D50404
2019-10-30 23:11:30 +00:00
Ehsan Akhgari
6f4581b673 Bug 1589407 - Part 2: Ensure that document.referrer sees the same URL as what we send in the Referer HTTP header per the ETP restrictions; r=tnguyen,baku
Differential Revision: https://phabricator.services.mozilla.com/D49773
2019-10-26 21:24:57 +00:00
Coroiu Cristina
26b1ed64e1 Backed out changeset ad44c165c690 (bug 1589407) for browser chrome failures at toolkit/components/antitracking/test/browser/browser_referrerDefaultPolicy.js on a CLOSED TREE 2019-10-25 18:07:14 +03:00
Ehsan Akhgari
c924f6c1cc Bug 1589407 - Ensure that document.referrer sees the same URL as what we send in the Referer HTTP header per the ETP restrictions; r=tnguyen,baku
Differential Revision: https://phabricator.services.mozilla.com/D49773
2019-10-25 07:32:05 +00:00
Csoregi Natalia
74c5469f06 Backed out 3 changesets (bug 1575090) for web platform failures on e.g. nested-sharedworker-success.https.html. CLOSED TREE
Backed out changeset 3791b3afbb44 (bug 1575090)
Backed out changeset 224ad4adb49e (bug 1575090)
Backed out changeset efb654c201a3 (bug 1575090)
2019-10-24 21:52:16 +03:00
Perry Jiang
0a754b9f8c Bug 1575090 - add NS_GetCrossOriginEmbedderPolicyFromHeader r=JuniorHsu
Differential Revision: https://phabricator.services.mozilla.com/D46178
2019-10-24 15:48:57 +00:00
Perry Jiang
50c86de73f Bug 1575090 - expose a response's COEP on nsIHttpChannelInternal r=JuniorHsu
Differential Revision: https://phabricator.services.mozilla.com/D46176
2019-10-24 15:48:43 +00:00
Valentin Gosu
06c9b1569f Bug 1579992 - Load pages into new webCOOP+COEP process type r=nika
* This patch makes pages with the `OPENER_POLICY_SAME_ORIGIN_EMBEDDER_POLICY_REQUIRE_CORP` policy load into a special `webCOOP+COEP={pageOrigin}` remote type.
* Adds `E10SUtils.WEB_REMOTE_COOP_COEP_TYPE_PREFIX="webCOOP+COEP="`
* When a COOP process switch occurs and the target page doesn't have this policy, we pass a `preferredRemoteType="web"` into `E10SUtils.getRemoteTypeForPrincipal` ensuring that we correctly get a different `remoteType`
* E10SUtils.getRemoteTypeForPrincipal is changed such that `if preferredRemoteType.startsWith(WEB_REMOTE_COOP_COEP_TYPE_PREFIX)` we don't override it with `webIsolated={pageOrigin}`.
* `coop_header.sjs` is changed to also allow setting `Cross-Origin-Embedder-Policy` headers
* `browser_httpCrossOriginOpenerPolicy.js` is changed to test that pages are correctly opened in the correct remoteType process.

Differential Revision: https://phabricator.services.mozilla.com/D48715
2019-10-22 08:02:16 +00:00
shindli
51f5890d78 Backed out changeset 5686e9cc48b2 (bug 1579992) for causing bc failures in browser/components/aboutlogins/tests/browser/browser_dismissFooter.js CLOSED TREE 2019-10-21 21:09:24 +03:00
Valentin Gosu
75c9c2a97f Bug 1579992 - Load pages into new webCOOP+COEP process type r=nika
* This patch makes pages with the `OPENER_POLICY_SAME_ORIGIN_EMBEDDER_POLICY_REQUIRE_CORP` policy load into a special `webCOOP+COEP={pageOrigin}` remote type.
* Adds `E10SUtils.WEB_REMOTE_COOP_COEP_TYPE_PREFIX="webCOOP+COEP="`
* When a COOP process switch occurs and the target page doesn't have this policy, we pass a `preferredRemoteType="web"` into `E10SUtils.getRemoteTypeForPrincipal` ensuring that we correctly get a different `remoteType`
* E10SUtils.getRemoteTypeForPrincipal is changed such that `if preferredRemoteType.startsWith(WEB_REMOTE_COOP_COEP_TYPE_PREFIX)` we don't override it with `webIsolated={pageOrigin}`.
* `coop_header.sjs` is changed to also allow setting `Cross-Origin-Embedder-Policy` headers
* `browser_httpCrossOriginOpenerPolicy.js` is changed to test that pages are correctly opened in the correct remoteType process.

Differential Revision: https://phabricator.services.mozilla.com/D48715
2019-10-21 16:56:00 +00:00
Junior Hsu
354783fc72 Bug 1566868 - network error for non empty sandboxing flag and non-null COOP r=valentin
Adjust for new spec change (comment 23)

Differential Revision: https://phabricator.services.mozilla.com/D49222
2019-10-15 06:09:26 +00:00
Junior Hsu
8d2cedda83 Bug 1574000 - Obtain COOP only over a secure context r=nika,bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D42046
2019-09-25 00:39:17 +00:00
Jean-Yves Avenard
d1d300ad3b Bug 1575744 - P2. Add nsIProcessSwitchRequestor interface. r=mayhemer,nika
Will allow for SessionStore.jsm process switching to be used by other objects than nsHttpChannel.

Differential Revision: https://phabricator.services.mozilla.com/D46015
2019-09-20 04:09:46 +00:00
Bogdan Tara
2a3b759622 Backed out 8 changesets (bug 1575744) for HttpChannelParent related assertion failures
Backed out changeset af61675dd488 (bug 1575744)
Backed out changeset bf794b9373c8 (bug 1575744)
Backed out changeset 39ffb74d2e12 (bug 1575744)
Backed out changeset c1547b3df672 (bug 1575744)
Backed out changeset 382ee8672027 (bug 1575744)
Backed out changeset 5abb38484f11 (bug 1575744)
Backed out changeset d5244c1bbfe8 (bug 1575744)
Backed out changeset c74b81debf73 (bug 1575744)
2019-09-20 06:58:44 +03:00
Jean-Yves Avenard
e0ff6ec922 Bug 1575744 - P2. Add nsIProcessSwitchRequestor interface. r=mayhemer,nika
Will allow for SessionStore.jsm process switching to be used by other objects than nsHttpChannel.

Differential Revision: https://phabricator.services.mozilla.com/D46015
2019-09-18 23:49:51 +00:00
Valentin Gosu
24be096fd9 Bug 1513574 - Remove UserAgentOverrides.jsm and UserAgentUpdates.jsm r=michal
Also removes the UA cache attached to nsILoadGroup and nsIRequestContext and the "http-on-useragent-request" observer notification.
If overriding the user agent is needed "http-on-modify-request" is equally usable (but should be used rarely, for performance reasons). A better way is using nsIDocShell.customUserAgent.

Depends on D14750

Differential Revision: https://phabricator.services.mozilla.com/D14751
2019-09-16 15:21:36 +00:00
Cosmin Sabou
b52f5cbaf7 Backed out 4 changesets (bug 1513574) for causing several browser chrome failures. CLOSED TREE
Backed out changeset 7d950fc452fb (bug 1513574)
Backed out changeset 11f015a3e739 (bug 1513574)
Backed out changeset be6959a563f6 (bug 1513574)
Backed out changeset ce51efd054b8 (bug 1513574)
2019-09-16 12:40:40 +03:00
Valentin Gosu
9d838b2fdd Bug 1513574 - Remove UserAgentOverrides.jsm and UserAgentUpdates.jsm r=michal
Also removes the UA cache attached to nsILoadGroup and nsIRequestContext and the "http-on-useragent-request" observer notification.
If overriding the user agent is needed "http-on-modify-request" is equally usable (but should be used rarely, for performance reasons). A better way is using nsIDocShell.customUserAgent.

Depends on D14750

Differential Revision: https://phabricator.services.mozilla.com/D14751
2019-09-16 08:38:24 +00:00
Matt Woodrow
0dc503330c Bug 1579765 - Don't overwrite redirect timings when we convert DocumentChannel to a real channel. r=mayhemer
DocumentChannel doesn't use the REDIRECT_INTERNAL flag when replacing itself with a real channel if there has been a real redirect handled in the parent.
This is so that the docshell knows about the URI change, and to add history entries.
The timing data however always wanted to be treated as an internal redirect, so that we don't record a new 'redirectEnd' at the time of the switch.
This adds a new parameter to ConfigureReplacementChannel so that we can more accurately describe the behaviour we need.

Differential Revision: https://phabricator.services.mozilla.com/D45150
2019-09-16 07:22:32 +00:00
Matt Woodrow
8c025129a0 Bug 1579765 - Move upload stream handling into ReplacementChannelConfig so that it gets applied to DocumentChannel as well as normal HTTP redirects. r=mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D45146
2019-09-16 07:25:18 +00:00
Cosmin Sabou
84b485377b Backed out 4 changesets (bug 1513574) for Android build bustage and browser chrome failures. CLOSED TREE
Backed out changeset f155c449e516 (bug 1513574)
Backed out changeset 1f2bbbe0f781 (bug 1513574)
Backed out changeset 5f8b5f72a4ea (bug 1513574)
Backed out changeset 0e4cababccc7 (bug 1513574)
2019-09-13 21:38:18 +03:00
Valentin Gosu
05e040b6f0 Bug 1513574 - Remove UserAgentOverrides.jsm and UserAgentUpdates.jsm r=michal
Also removes the UA cache attached to nsILoadGroup and nsIRequestContext and the "http-on-useragent-request" observer notification.
If overriding the user agent is needed "http-on-modify-request" is equally usable (but should be used rarely, for performance reasons). A better way is using nsIDocShell.customUserAgent.

Depends on D14750

Differential Revision: https://phabricator.services.mozilla.com/D14751
2019-09-13 17:19:40 +00:00
Daisuke Akatsuka
d07b98214f Bug 1572933: Introduce an attribute to raise the cache priority. r=pbro,mayhemer
For now, when we turn on `disable cache` switch in DevTools[1], web page loads
the contents without using the cache. Furthermore, DevTools as well comes to
load the contents DevTools inspects without using the cache. And, if the loaded
contents from the web page and DevTools was different, becomes impossible to
inspect the content correctly.
Thus, in order to make DevTools refer the same content the web page loaded,
makes DevTools load the contents inspecting from the cache at first, no matter
if disables the switch or not.

When turns on disable cache in DevTools, `LOAD_BYPASS_CACHE` flag is set into
`loadFlags` in the `docshell`.[2] The other hand, the content DevTools inspects
is loaded from a channel DevTools creates with `LOAD_FROM_CACHE` flag.[3]
However, because this channel is belong to same `loadGroup` of the `docshell`,
`LOAD_BYPASS_CACHE` is inherited and is choosen even if `LOAD_FROM_CACHE` is set.
Thus, in this patch, we introduce an attribute `preferCacheLoadOverBypass`
which raises the priority for `LOAD_FROM_CACHE` above `LOAD_BYPASS_CACHE` and
`LOAD_BYPASS_LOCAL_CACHE`.

[1] https://developer.mozilla.org/en-US/docs/Tools/Settings#Advanced_settings
[2] https://searchfox.org/mozilla-central/source/devtools/server/actors/targets/browsing-context.js#1227
[3] https://searchfox.org/mozilla-central/source/devtools/shared/DevToolsUtils.js#542-544

Differential Revision: https://phabricator.services.mozilla.com/D44626
2019-09-09 00:57:05 +00:00