Closed
Bug 1210941
Opened 9 years ago
Closed 9 years ago
replace ForceNoIntercept() with an nsLoadFlag to bypass service worker
Categories
(Core :: DOM: Service Workers, defect)
Core
DOM: Service Workers
Tracking
()
RESOLVED
FIXED
mozilla44
People
(Reporter: bkelly, Assigned: bkelly)
References
(Blocks 1 open bug)
Details
Attachments
(13 files, 1 obsolete file)
2.95 KB,
patch
|
jduell.mcbugs
:
review+
lizzard
:
approval-mozilla-aurora+
|
Details | Diff | Splinter Review |
6.37 KB,
patch
|
jduell.mcbugs
:
review+
|
Details | Diff | Splinter Review |
4.40 KB,
patch
|
jduell.mcbugs
:
review+
|
Details | Diff | Splinter Review |
1.20 KB,
patch
|
ehsan.akhgari
:
review+
|
Details | Diff | Splinter Review |
2.51 KB,
patch
|
ehsan.akhgari
:
review+
|
Details | Diff | Splinter Review |
3.24 KB,
patch
|
ehsan.akhgari
:
review+
|
Details | Diff | Splinter Review |
1.84 KB,
patch
|
ehsan.akhgari
:
review+
|
Details | Diff | Splinter Review |
1.49 KB,
patch
|
ehsan.akhgari
:
review+
|
Details | Diff | Splinter Review |
2.70 KB,
patch
|
ehsan.akhgari
:
review+
|
Details | Diff | Splinter Review |
1.99 KB,
patch
|
ehsan.akhgari
:
review+
|
Details | Diff | Splinter Review |
5.88 KB,
patch
|
ehsan.akhgari
:
review+
|
Details | Diff | Splinter Review |
3.01 KB,
patch
|
jduell.mcbugs
:
review+
|
Details | Diff | Splinter Review |
6.06 KB,
patch
|
jduell.mcbugs
:
review+
|
Details | Diff | Splinter Review |
Currently we have nsIHttpChannelInternal::ForceNoIntercept() to skip service worker interception of a channel.
This has worked ok until now, but its problematic. If the decision to bypass the service worker is disconnected at all from where the channel is created, then we must pass a new policy variable through the code to conditionally call ForceNoIntercept().
If we had an nsLoadFlag for bypassing the service worker, however, we would generally not have to modify much code. Almost all channel creating code accepts nsLoadFlags as an argument.
Therefore, I think we should create a LOAD_BYPASS_SERVICE_WORKER flag and remove ForceNoIntercept(). This will make the code cleaner by using the existing mechanisms in the channel API.
Comment 1•9 years ago
|
||
As discussed on IRC, we're low on bits for new flags, but we still have 1<<1 through 1<<5 in nsIRequest and 1<<25 in nsIChannel, so I've given bkelly my +f to use a bit for this.
Assignee | ||
Comment 2•9 years ago
|
||
Thanks, I'm planning to use 1<<25 in nsIChannel.
Assignee | ||
Comment 3•9 years ago
|
||
Assignee | ||
Comment 4•9 years ago
|
||
Assignee | ||
Comment 5•9 years ago
|
||
Assignee | ||
Comment 6•9 years ago
|
||
Assignee | ||
Comment 7•9 years ago
|
||
Assignee | ||
Comment 8•9 years ago
|
||
Assignee | ||
Comment 9•9 years ago
|
||
Patches are work-in-progress. Still need to fix:
dom/workers/ScriptLoader.cpp
dom/workers/ServiceWorkerScriptCache.cpp
dom/xslt/base/txURIUtils.cpp
netwerk/protocol/http/nsCORSListenerProxy.cpp
security/manager/ssl/nsNSSCallbacks.cpp
And then de-orbit the ForceNoIntercept() method itself.
Assignee | ||
Updated•9 years ago
|
Attachment #8669167 -
Flags: review?(jduell.mcbugs)
Assignee | ||
Updated•9 years ago
|
Attachment #8669168 -
Flags: review?(jduell.mcbugs)
Assignee | ||
Updated•9 years ago
|
Attachment #8669169 -
Flags: review?(jduell.mcbugs)
Assignee | ||
Updated•9 years ago
|
Attachment #8669170 -
Flags: review?(ehsan)
Assignee | ||
Updated•9 years ago
|
Attachment #8669172 -
Flags: review?(ehsan)
Assignee | ||
Updated•9 years ago
|
Attachment #8669173 -
Flags: review?(ehsan)
Assignee | ||
Comment 10•9 years ago
|
||
Attachment #8669750 -
Flags: review?(ehsan)
Assignee | ||
Comment 11•9 years ago
|
||
Attachment #8669751 -
Flags: review?(ehsan)
Assignee | ||
Comment 12•9 years ago
|
||
Attachment #8669752 -
Flags: review?(ehsan)
Assignee | ||
Comment 13•9 years ago
|
||
Attachment #8669753 -
Flags: review?(ehsan)
Assignee | ||
Comment 14•9 years ago
|
||
Attachment #8669754 -
Flags: review?(ehsan)
Assignee | ||
Comment 15•9 years ago
|
||
Note, idl uuid was updated in P1 already for this bug.
Attachment #8669755 -
Flags: review?(jduell.mcbugs)
Assignee | ||
Comment 16•9 years ago
|
||
Attachment #8669756 -
Flags: review?(jduell.mcbugs)
Assignee | ||
Comment 17•9 years ago
|
||
Updated•9 years ago
|
Attachment #8669170 -
Flags: review?(ehsan) → review+
Updated•9 years ago
|
Attachment #8669172 -
Flags: review?(ehsan) → review+
Updated•9 years ago
|
Attachment #8669173 -
Flags: review?(ehsan) → review+
Updated•9 years ago
|
Attachment #8669750 -
Flags: review?(ehsan) → review+
Updated•9 years ago
|
Attachment #8669751 -
Flags: review?(ehsan) → review+
Updated•9 years ago
|
Attachment #8669752 -
Flags: review?(ehsan) → review+
Updated•9 years ago
|
Attachment #8669753 -
Flags: review?(ehsan) → review+
Updated•9 years ago
|
Attachment #8669754 -
Flags: review?(ehsan) → review+
Assignee | ||
Comment 18•9 years ago
|
||
The try build is very unhappy. I obviously borked something in the patches. Investigating.
Assignee | ||
Comment 19•9 years ago
|
||
Comment on attachment 8669755 [details] [diff] [review]
P12 Remove http channel's ForceNoIntercept. r=jduell
Review of attachment 8669755 [details] [diff] [review]:
-----------------------------------------------------------------
The problem is with this patch. Fixed version up shortly.
Attachment #8669755 -
Flags: review?(jduell.mcbugs)
Assignee | ||
Comment 20•9 years ago
|
||
There was a bug in how I was setting the load flag in the redirect case. This updates to fix that. The tests that were failing now pass locally.
https://treeherder.mozilla.org/#/jobs?repo=try&revision=6472215d0c26
Attachment #8669755 -
Attachment is obsolete: true
Attachment #8669883 -
Flags: review?(jduell.mcbugs)
Updated•9 years ago
|
Attachment #8669167 -
Flags: review?(jduell.mcbugs) → review+
Updated•9 years ago
|
Attachment #8669168 -
Flags: review?(jduell.mcbugs) → review+
Updated•9 years ago
|
Attachment #8669169 -
Flags: review?(jduell.mcbugs) → review+
Updated•9 years ago
|
Attachment #8669756 -
Flags: review?(jduell.mcbugs) → review+
Updated•9 years ago
|
Attachment #8669883 -
Flags: review?(jduell.mcbugs) → review+
Comment 21•9 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/95357a330321
https://hg.mozilla.org/integration/mozilla-inbound/rev/8b44bb42ae5c
https://hg.mozilla.org/integration/mozilla-inbound/rev/9525edea379d
https://hg.mozilla.org/integration/mozilla-inbound/rev/b51bece75129
https://hg.mozilla.org/integration/mozilla-inbound/rev/1bd2b8a58acc
https://hg.mozilla.org/integration/mozilla-inbound/rev/6d4f02b05213
https://hg.mozilla.org/integration/mozilla-inbound/rev/6532d08e71c6
https://hg.mozilla.org/integration/mozilla-inbound/rev/9184e91f177d
https://hg.mozilla.org/integration/mozilla-inbound/rev/783ef9cb5802
https://hg.mozilla.org/integration/mozilla-inbound/rev/ac6376757d9c
https://hg.mozilla.org/integration/mozilla-inbound/rev/3945685c83e3
https://hg.mozilla.org/integration/mozilla-inbound/rev/581fec38b1d9
https://hg.mozilla.org/integration/mozilla-inbound/rev/89416f2918ed
Assignee | ||
Comment 22•9 years ago
|
||
Comment on attachment 8669167 [details] [diff] [review]
P1 Create the LOAD_BYPASS_SERVICE_WORKER flag. r=jduell
This request is for all 13 patches in this bug.
Approval Request Comment
[Feature/regressing bug #]: service workers
[User impact if declined]: This bug is necessary to uplift further service worker work to 43 aurora.
[Describe test coverage new/current, TreeHerder]: Many existing mochitests and web-platform-tests cover this feature.
[Risks and why]: Risk limited to service workers only. No other feature uses the ForceNoIntercept() API.
[String/UUID change made/needed]: None
Attachment #8669167 -
Flags: approval-mozilla-aurora?
Assignee | ||
Updated•9 years ago
|
status-firefox43:
--- → affected
status-firefox44:
--- → affected
https://hg.mozilla.org/mozilla-central/rev/95357a330321
https://hg.mozilla.org/mozilla-central/rev/8b44bb42ae5c
https://hg.mozilla.org/mozilla-central/rev/9525edea379d
https://hg.mozilla.org/mozilla-central/rev/b51bece75129
https://hg.mozilla.org/mozilla-central/rev/1bd2b8a58acc
https://hg.mozilla.org/mozilla-central/rev/6d4f02b05213
https://hg.mozilla.org/mozilla-central/rev/6532d08e71c6
https://hg.mozilla.org/mozilla-central/rev/9184e91f177d
https://hg.mozilla.org/mozilla-central/rev/783ef9cb5802
https://hg.mozilla.org/mozilla-central/rev/ac6376757d9c
https://hg.mozilla.org/mozilla-central/rev/3945685c83e3
https://hg.mozilla.org/mozilla-central/rev/581fec38b1d9
https://hg.mozilla.org/mozilla-central/rev/89416f2918ed
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla44
Comment 24•9 years ago
|
||
Tracking since this is part of a feature and may need to be backed out or disabled.
tracking-firefox43:
--- → +
tracking-firefox44:
--- → +
Comment 25•9 years ago
|
||
Comment on attachment 8669167 [details] [diff] [review]
P1 Create the LOAD_BYPASS_SERVICE_WORKER flag. r=jduell
Uplifting parts 1-12 since we're aiming to release the feature in 43.
Attachment #8669167 -
Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Comment 26•9 years ago
|
||
Oops. Parts 1-13. I missed that there was a 13.
There were a few conflicts on the uplift, but I think I dealt with them correctly:
http://hg.mozilla.org/releases/mozilla-aurora/7f44441192a0
http://hg.mozilla.org/releases/mozilla-aurora/204704fd78e0
http://hg.mozilla.org/releases/mozilla-aurora/80dc74df7add
http://hg.mozilla.org/releases/mozilla-aurora/3009a16d818b
http://hg.mozilla.org/releases/mozilla-aurora/d523fa9b2ac1
http://hg.mozilla.org/releases/mozilla-aurora/6c4ddce7e2b2
http://hg.mozilla.org/releases/mozilla-aurora/d75b303dd499
http://hg.mozilla.org/releases/mozilla-aurora/f023556d31e7
http://hg.mozilla.org/releases/mozilla-aurora/6332cd31df15
http://hg.mozilla.org/releases/mozilla-aurora/035593bb1fdf
http://hg.mozilla.org/releases/mozilla-aurora/e11cf29e0820
http://hg.mozilla.org/releases/mozilla-aurora/b75ce95a21fc
http://hg.mozilla.org/releases/mozilla-aurora/e0532d91a2f9
You need to log in
before you can comment on or make changes to this bug.
Description
•