Closed
Bug 1187159
Opened 9 years ago
Closed 9 years ago
[PackagedAppService] Pass principal and flags from the requesting channel to the packaged app channel
Categories
(Core :: Networking, defect)
Core
Networking
Tracking
()
RESOLVED
FIXED
mozilla43
Tracking | Status | |
---|---|---|
firefox43 | --- | fixed |
People
(Reporter: valentin, Assigned: valentin)
References
Details
Attachments
(2 files)
18.02 KB,
patch
|
mayhemer
:
review+
|
Details | Diff | Splinter Review |
10.06 KB,
patch
|
jduell.mcbugs
:
review+
|
Details | Diff | Splinter Review |
Right now, when downloading a package, the channel used to download that is the SystemPrincipal. This isn't good, because the cache entry holding the metadata ends up in a different cache storage than the packaged resources. Also, the flags used by the requesting channel should be applied to the packaged app channel, so if the user presses ctrl-shift-R, the request will bypass the cache, or if the docshell wants LOAD_NO_NETWORK_IO we don't hit the network.
Assignee | ||
Comment 1•9 years ago
|
||
Assignee | ||
Comment 2•9 years ago
|
||
Honza, do you think you could review this?
Flags: needinfo?(honzab.moz)
Assignee | ||
Comment 3•9 years ago
|
||
* * * try: -b o -p linux64 -u all -t none
Comment 4•9 years ago
|
||
Comment on attachment 8641460 [details] [diff] [review] Pass principal and flags from the requesting channel to the packaged app channel Review of attachment 8641460 [details] [diff] [review]: ----------------------------------------------------------------- ::: netwerk/base/nsIPackagedAppService.idl @@ +15,5 @@ > > /** > * nsIPackagedAppService > */ > [scriptable, builtinclass, uuid(77f9a34d-d082-43f1-9f83-e852d0173cd5)] any iid change? @@ +25,2 @@ > * - example: http://test.com/path/to/package!//resource.html > + * @aFlags - the load flags for the request the doxygen works as following: @param <paramname> description.. are the load flags merged or set? ::: netwerk/protocol/http/PackagedAppService.cpp @@ -651,5 @@ > - // needs to have a separate entry for anonymous channels. > - uint32_t extra_flags = 0; > - if (aInfo->IsAnonymous()) { > - extra_flags = nsIRequest::LOAD_ANONYMOUS; > - } so, no more support for LOAD_ANONYMOUS unless set by the caller? ::: netwerk/protocol/http/PackagedAppService.h @@ +22,5 @@ > // which are either returned from the cache if they exist and are valid, > // or downloads the package. > // The package format is defined at: > // https://w3ctag.github.io/packaging-on-the-web/#streamable-package-format > +// Downloading the package is triggered by calling getResource(aURI, aInfo, aCallback) omit or update the args too
Attachment #8641460 -
Flags: review+
Updated•9 years ago
|
Flags: needinfo?(honzab.moz)
Updated•9 years ago
|
Attachment #8643354 -
Flags: review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/ca1510a96cc6 https://hg.mozilla.org/integration/mozilla-inbound/rev/78a61d56adae
Comment 6•9 years ago
|
||
Backed out together with bug 1190502: https://hg.mozilla.org/integration/mozilla-inbound/rev/56124e9589e1 23:29:41 INFO - ==2020==ERROR: LeakSanitizer: detected memory leaks 23:29:41 INFO - Direct leak of 96 byte(s) in 3 object(s) allocated from: 23:29:41 INFO - #0 0x472231 in malloc /builds/slave/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:74 23:29:41 INFO - #1 0x48b79d in moz_xmalloc /builds/slave/m-in-l64-asan-0000000000000000/build/src/memory/mozalloc/mozalloc.cpp:83 23:29:41 INFO - #2 0x7fc61d0e1dfd in operator new /builds/slave/m-in-l64-asan-0000000000000000/build/src/obj-firefox/netwerk/base/../../dist/include/mozilla/mozalloc.h:186 23:29:41 INFO - #3 0x7fc61d0e1dfd in mozilla::net::GetLoadContextInfo(nsIChannel*) /builds/slave/m-in-l64-asan-0000000000000000/build/src/netwerk/base/LoadContextInfo.cpp:68 23:29:41 INFO - #4 0x7fc61d5833a6 in mozilla::net::nsHttpChannel::BeginConnect() /builds/slave/m-in-l64-asan-0000000000000000/build/src/netwerk/protocol/http/nsHttpChannel.cpp:5215 23:29:41 INFO - #5 0x7fc61d58599f in mozilla::net::nsHttpChannel::OnProxyAvailable(nsICancelable*, nsIChannel*, nsIProxyInfo*, nsresult) /builds/slave/m-in-l64-asan-0000000000000000/build/src/netwerk/protocol/http/nsHttpChannel.cpp:5441 23:29:41 INFO - ----------------------------------------------------- 23:29:41 INFO - Suppressions used: 23:29:41 INFO - count bytes template 23:29:41 INFO - 40 986 libc.so 23:29:41 INFO - 832 26576 nsComponentManagerImpl 23:29:41 INFO - 69 9384 mozJSComponentLoader::LoadModule 23:29:41 INFO - 1 384 pixman_implementation_lookup_composite 23:29:41 INFO - 7862 372704 libfontconfig.so 23:29:41 INFO - 2 48 PORT_Strdup_Util 23:29:41 INFO - 2 88 _PR_Getfd 23:29:41 INFO - 134 56872 libcairo.so 23:29:41 INFO - 1 32 libdl.so 23:29:41 INFO - 2313 41164 libglib-2.0.so 23:29:41 INFO - 2 144 libpulse.so 23:29:41 INFO - 1 40 libpulsecommon-1.1.so 23:29:41 INFO - 2 56 libresolv.so 23:29:41 INFO - ----------------------------------------------------- 23:29:41 INFO - SUMMARY: AddressSanitizer: 96 byte(s) leaked in 3 allocation(s). 23:29:41 INFO - TEST-INFO | Main app process: exit 0 23:29:41 WARNING - TEST-UNEXPECTED-FAIL | LeakSanitizer | leak at mozilla::net::GetLoadContextInfo, mozilla::net::nsHttpChannel::BeginConnect, mozilla::net::nsHttpChannel::OnProxyAvailable
Comment 8•9 years ago
|
||
Backed out the tests in https://hg.mozilla.org/integration/mozilla-inbound/rev/7a7febd0dcbe.
https://hg.mozilla.org/integration/mozilla-inbound/rev/392ada5a94bb https://hg.mozilla.org/integration/mozilla-inbound/rev/7916e6a2ad85
https://hg.mozilla.org/mozilla-central/rev/392ada5a94bb https://hg.mozilla.org/mozilla-central/rev/7916e6a2ad85
Status: NEW → RESOLVED
Closed: 9 years ago
status-firefox43:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla43
You need to log in
before you can comment on or make changes to this bug.
Description
•