We're attemping to find globals in JS from many places, this attempts to make
them all use the same methods. Since in some cases we're parsing new files we
can't use the eslint methods for getting the source so I've added a simple way
to convert from AST to a JS string.
In the non-e10s case, this is done by simply avoiding to set the
LOAD_BYPASS_SERVICE_WORKER flag when we detect a non-internal redirect
in the manual redirect mode.
The e10s solution is a bit more complicated. Only the child process
knows whether a URI needs to be intercepted, so we piggy back on the
code written to support the |event.respondWith(Response.redirect())|
case where we know in the child that the target of the redirect needs to
be intercepted.
This means that we need to check the same condition as in the non-e10s
case, but we also need to check whether the target of the redirection
needs to be intercepted, which means we need to properly take secure
upgrades into account as well. This is done by computing both whether
we should intercept and whether we should do a secure upgrade in
HttpChannelChild::SetupRedirect() and saving the information on the
HttpChannelChild for later usage in HttpChannelChild::AsyncOpen().
part 1: reorganize file locations, r=Gijs
part 2: remove built-in pocket code, r=Gijs
part 3: l10n support, r=glandium
part 4: move code/functionality from part 2 into the addon, r=Gijs
part 5: remove dead code, r=Gijs
part 6: create a simple api for addons to add to reader mode, r=Gijs
part 7: various test fixes related to cui behaviour and pocket, r=me
fix_stack_using_bpsyms.py locates a .sym file based on file name only, not uuid or full path,
which causes a failure if a duplicate leaf file name is introduced. This patch introduces a
small utility program on mac and linux to extract a breakpad guid from a shared library or
executable to identify the correct symbol file when this ambiguity occurs. A subsequent commit
implements this for windows.
The controller needs to be able to handle redirects.
HttpChannelParentListener is a listener object that can attach to
multiple HttpChannelParent objects as part of a single logical Necko
channel (meaning that the listener object will be reused for redirected
channels) so it seems like the better choice for the object that should
implement nsINetworkInterceptController. This patch moves the
implementation of the nsINetworkInterceptController interface to
HttpChannelParentListener.
Doing this work in StartRedirectChannelToURI() was causing us to not set
the bypass service worker flag properly in the case of real HTTP redirects.
This patch also fixes the incorrect test expectation value.