Commit graph

132 commits

Author SHA1 Message Date
Carsten "Tomcat" Book
e0324b8ab3 Backed out changeset a4b47c4e9e3b (bug 1290951) 2017-04-19 11:54:45 +02:00
Carsten "Tomcat" Book
7145e26cb8 Backed out changeset 5be709822325 (bug 1290951) 2017-04-19 11:54:42 +02:00
Ho-Pang Hsu
3d64dc715a Bug 1290951 - Part 3.2: Tolerate missing imported scripts. r=bkelly 2017-02-28 19:30:50 +08:00
Ho-Pang Hsu
17665be027 Bug 1290951 - Part 3.1: Extend the bytecheck to imported scripts. r=bkelly 2017-04-13 15:04:27 +08:00
Ho-Pang Hsu
05770db16e Bug 1290951 - Part 2.6: Change the relationship between CompareManager, CompareNetwork, and CompareCache. r=bkelly 2017-04-13 15:02:45 +08:00
Ho-Pang Hsu
e0fb66e9cf Bug 1290951 - Part 2.5: Move ChannelInfo and PrincipalInfo into CompareNetwork. r=bkelly 2017-04-13 15:01:28 +08:00
Ho-Pang Hsu
64540c2896 Bug 1290951 - Part 2.4: Add mIsMainScript to CompareNetwork. r=bkelly 2017-04-07 14:57:19 +08:00
Ho-Pang Hsu
20d389faf6 Bug 1290951 - Part 2.3: Update the lifecycle of CompareCache. r=bkelly 2017-04-07 14:54:00 +08:00
Ho-Pang Hsu
9559405105 Bug 1290951 - Part 2.2: Make CompareManager::ComparisonFinished() public. r=bkelly 2017-02-23 18:34:36 +08:00
Ho-Pang
00d56f9bdb Bug 1290951 - Part 2.1: Move some functions out of their class definitions. r=bkelly 2017-02-23 18:34:16 +08:00
Ho-Pang Hsu
05cc44be10 Bug 1290951 - Part 1.2: Get the script URL list before actual comparing. r=bkelly 2017-04-07 14:44:35 +08:00
Ho-Pang Hsu
836798bd39 Bug 1290951 - Part 1.1: Move some function implementations out of CompareManager. r=baku 2017-04-07 14:41:22 +08:00
Wei-Cheng Pan
510ba75c20 Bug 1310127 - Part 17: Use MOZ_MUST_USE in netwerk/protocol/http r=smaug
MozReview-Commit-ID: 5gvVZtsa3yS

--HG--
extra : rebase_source : 5e1ab2fc06ae58f18abb8909ac93f9512abbe220
2016-12-20 11:49:32 +08:00
Ben Kelly
839d472b39 Bug 1337543 P6 Persist response headers for offlined service worker scripts. r=baku 2017-02-14 10:06:39 -05:00
Sebastian Hengst
db434480b3 Backed out changeset 901f0df29f8f (bug 1337543) 2017-02-13 18:59:44 +01:00
Ben Kelly
414b756468 Bug 1337543 P6 Persist response headers for offlined service worker scripts. r=baku 2017-02-13 12:15:59 -05:00
Ho-Pang Hsu
35faba9cdd Bug 1290944 - Part 3.2: Pass LOAD_BYPASS_CACHE caused by script expiration timer to ServiceWorkerInfo. r=bkelly
--HG--
extra : rebase_source : 1922d7aa09cb63afecbd77d6d0922935cbef1211
extra : histedit_source : 122c0f5a3558fdefa6b9397f4846749817725c63
2017-01-04 17:08:58 +08:00
Ho-Pang Hsu
7b90ecb108 Bug 1290944 - Part 2.2: Load the main script with the load flags of the ServiceWorkerRegistration. r=bkelly
--HG--
extra : rebase_source : 313acc76937d6fe6905f7392101c55e6dddb1beb
extra : histedit_source : 8e0c5ba6490c7820e1066757594e219ad421981a
2017-01-04 17:08:46 +08:00
Yoshi Huang
2ceecc22f5 Bug 1324115 - Part 2: replace the callers to use C++ helper. r=smaug 2016-12-21 14:59:21 +08:00
Kan-Ru Chen
b6d880aca1 Bug 1297276 - Rename mfbt/unused.h to mfbt/Unused.h for consistency. r=froydnj
The patch is generated from following command:

  rgrep -l unused.h|xargs sed -i -e s,mozilla/unused.h,mozilla/Unused.h,

MozReview-Commit-ID: AtLcWApZfES


--HG--
rename : mfbt/unused.h => mfbt/Unused.h
2016-08-24 14:47:04 +08:00
Andrew Sutherland
6f183de053 Bug 1233798 - report to console when service worker register fails due to mime-type issues. r=bkelly
Log a message to the console when there is no Content-Type received for a
service worker or it's not a JS type.  With test.  Looks like:

Failed to register/update a ServiceWorker: Non-JS Content-Type of ‘text/plain’
received for script
‘http://mochi.test:8888/tests/dom/workers/test/serviceworkers/sw_bad_mime_type.js’.
2016-07-10 22:22:28 -04:00
Andrew Sutherland
d1659931b7 Bug 1267473 - Report to console if service worker script 404s. r=bkelly
Add an error message of the following form for when a register/update job
fails for network reasons:

Failed to register/update a ServiceWorker for scope
‘http://mochi.test:8888/tests/dom/workers/test/serviceworkers/network_error/’:
Load failed with status 404 for script
‘http://mochi.test:8888/tests/dom/workers/test/serviceworkers/404.js’.

A mochitest is added that verifies this.

To simplify the process of logging error messages, ServiceWorkerManager gains
a new LocalizeAndReportToAllClients method that always provides the SW scope as
the first argument to the localized string since all good error messages should
include it.

Its argument list takes an nsTArray<nsString> in order to reduce the potential
for use-after-free scenarios from the char16_t** signature that unfortunately
has rippled outwards from the nsIStringBundle interface.  This potentially
results in more memory allocation and byte shuffling than is strictly
necessary, but we're also talking about rare error logging where it's
better to optimize for easily adding the messages without needing to get hung
up on the life-cycle of temporaries.

nsTArray gained a std::initializer_list in bug 1228641.  It is explicit, so
inline argument usages may take a form along the lines of:
`nsTArray<nsString> { string1, string2, ... }`

This change did necessitate a change to nsContentUtils to add an nsTArray
variant of FormatLocalizedString since the existing public function was
slightly too clever.  It used a template function to statically acquire the
number of arguments at compile time, which is not compatible with the dynamic
nsTArray usage. Since nsTArray may be useful to other consumers as well, I
placed the conversion logic in nsContentUtils.
2016-07-10 22:22:27 -04:00
Jonas Sicking
32162d33c2 Bug 1273279 - Changes in preparation for FlyWeb landing. Change InternalResponse handling to track body size. r=baku f=bkelly
--HG--
extra : amend_source : 257331b8f4b86d6e1c7608ca6866526ce6aa645a
2016-06-01 17:02:29 -04:00
Stone Shih
aa7c2fc2bd Bug 1240436 - Part1: Convert UTF16 to UTF8 before generating nsStringInputStream. r=khuey 2016-04-12 16:33:53 +08:00
Kyle Huey
d11b9db617 Bug 1257032: Make files in dom/workers actually build without unification. r=baku 2016-03-16 11:51:11 -07:00
Ehsan Akhgari
fbf2580b8c Bug 1197379 - Remove support for intercepting app:// URIs using service workers; r=jdm 2016-01-27 15:26:27 -05:00
Andrea Marchesini
26837f359d Bug 1241725 - about:serviceworkers "Active Cache Name" UUID should not contain null bytes, r=bkelly 2016-01-22 17:39:14 +00:00
Ben Kelly
f63f1e236a Bug 1226443 P4 Cleanup ServiceWorkerScriptCache objects when initialization fails. r=ehsan 2015-12-11 14:53:11 -05:00
Phil Ringnalda
9229dc1d27 Back out 13 changesets (bug 1226443, bug 1227015) for a variety of serviceworker web-platform-test failures
CLOSED TREE

Backed out changeset d518261eb3b1 (bug 1226443)
Backed out changeset a7def186c1d3 (bug 1226443)
Backed out changeset e2f21ee1cd4c (bug 1226443)
Backed out changeset 8c4aff8bbfaf (bug 1226443)
Backed out changeset 4c85bf5e9bf5 (bug 1226443)
Backed out changeset 8fbc71a2912a (bug 1227015)
Backed out changeset 00ac71165014 (bug 1227015)
Backed out changeset e261f601b14d (bug 1227015)
Backed out changeset 78896c0bcb95 (bug 1227015)
Backed out changeset 244093d57c03 (bug 1227015)
Backed out changeset 03abf4d48e38 (bug 1227015)
Backed out changeset 2090c1e30933 (bug 1227015)
Backed out changeset 84e011be4e35 (bug 1227015)
2015-12-10 18:49:48 -08:00
Ben Kelly
04ebcb1626 Bug 1226443 P4 Cleanup ServiceWorkerScriptCache objects when initialization fails. r=ehsan 2015-12-10 18:08:14 -05:00
Ben Kelly
fb374694d7 Bug 1221308 Fix some service worker related warnings. r=baku 2015-11-04 08:26:46 -08:00
Birunthan Mohanathas
9985829ecc Bug 1219392 - Capitalize mozilla::unused to avoid conflicts. r=froydnj 2015-11-02 07:53:26 +02:00
dimi
0a7f5412e3 Bug 1207727 - Rework updating service workers according to the latest spec. r=bkelly 2015-10-26 10:59:48 +08:00
Ehsan Akhgari
bbf58e7a30 Bug 1185558 - Send a "Service-Worker: script" header when downloading service worker scripts; r=bkelly 2015-10-22 17:33:35 -04:00
Christoph Kerschbaumer
643f27c257 Bug 1208559 - Hook up ServicerWorkers with CSP (r=sicking,bkelly,dveditz) 2015-10-18 19:59:18 -07:00
Nathan Froyd
01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Ben Kelly
fd3893120c Bug 1210941 P7 Use LOAD_BYPASS_SERVICE_WORKER in ServiceWorkerScriptCache. r=ehsan 2015-10-06 06:37:07 -07:00
Christoph Kerschbaumer
2fac10d123 Bug 1048048 - add preload content policy types for scripts (r=baku)
--HG--
extra : source : 450d4a13c90e95a58caa398e4fcc0a71f4800071
2015-09-20 14:56:21 -07:00
Wes Kocher
cd079d2bf9 Backed out 7 changesets (bug 1048048) for android crashes in various chunks CLOSED TREE
Backed out changeset b5abe23a4ea5 (bug 1048048)
Backed out changeset 4f91b10e8be0 (bug 1048048)
Backed out changeset 450d4a13c90e (bug 1048048)
Backed out changeset 6a727c40eb68 (bug 1048048)
Backed out changeset 88c2333ff745 (bug 1048048)
Backed out changeset 740ab1ecd079 (bug 1048048)
Backed out changeset 02c6d6aef163 (bug 1048048)
2015-09-21 09:08:34 -07:00
Christoph Kerschbaumer
c938714dba Bug 1048048 - add preload content policy types for scripts (r=baku) 2015-09-20 14:56:21 -07:00
Nikhil Marathe
fe819ad8d7 Bug 1180861 - Various ServiceWorker registration fixes to get test passing. r=bkelly,jgraham.
This commit implements the following changes to get registration.https.html working.
1) Fail with NS_ERROR_DOM_SECURITY_ERR where the spec requires it.
2) Propagate JSExnType to ServiceWorkerManager::HandleError() so that a JS
   exception object with the correct .name can be created.
3) Fail with security error on redirect failure.
4) Check fetched script's mimetype.
5) Add missing python server files for web-platform-tests.
6) Update web-platform-tests expected data.
7) Several tests have been changed to use TypeError or more appropriate JS
   errors based on my reading of the spec.

--HG--
extra : commitid : IxWo2IVUweU
extra : rebase_source : c3c1ead153027bf84e7f239fd7125224fe25c3c0
2015-08-19 16:21:25 -07:00
Andrew McCreight
621e57b2b7 Bug 1176341 - De-holder nsIXPConnect::CreateSandbox. r=baku,gabor 2015-07-21 11:31:44 -07:00
Ryan VanderMeulen
fb3e0b058e Backed out changeset 553a3e1e7b18 (bug 1176341) for bustage.
CLOSED TREE
2015-07-21 13:00:55 -04:00
Andrew McCreight
5cbc3abf39 Bug 1176341 - De-holder nsIXPConnect::CreateSandbox. r=baku,gabor 2015-07-21 09:44:37 -07:00
Birunthan Mohanathas
a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Michael Layzell
562c0a00bc Bug 1181321 - Eliminate duplicate mRefCnt members in PromiseNativeHandler subclasses. r=baku
--HG--
extra : rebase_source : 64348ca27d2f70dc116856dd4f9271e1fb63a467
2015-07-09 08:56:00 +02:00
Wes Kocher
d8780b2a3f Backed out changeset 74293125739a (bug 1176341) 2015-07-10 12:48:20 -07:00
Andrew McCreight
8047284e97 Bug 1176341 - De-holder nsIXPConnect::CreateSandbox. r=baku,gabor 2015-07-10 07:41:33 -07:00
Emanuel Hoogeveen
7d1e52f2ff Bug 905127 - Part 1 - Make some functions from nsNetUtil not inline. r=jduell 2015-07-07 04:17:00 +02:00
Hiroyuki Ikezoe
47d5b2db66 Bug 1179982 - Fix all compile errors in dom/workers on non-unified build. r=mrbkap 2015-07-02 14:54:00 +02:00
Ehsan Akhgari
a7e0f3e102 Bug 1148935 - Correctly reflect worker and sharedworker RequestContext values; r=smaug 2015-06-30 18:52:42 -04:00
Ryan VanderMeulen
c4367148d1 Backed out changeset 07bf31cca660 (bug 1148935) for Werror bustage.
CLOSED TREE
2015-06-30 15:53:43 -04:00
Ehsan Akhgari
d560d3dcf3 Bug 1148935 - Correctly reflect worker and sharedworker RequestContext values; r=smaug 2015-06-30 15:30:08 -04:00
Ben Kelly
2de3ef558a Bug 1175138 P5 Make CacheStorage reject on untrusted origins. r=ehsan 2015-06-27 23:19:24 -04:00
Ben Kelly
d722c7d5fb Bug 1173467 P3 Pass private browsing flag into CacheStorage factory methods. r=ehsan 2015-06-26 19:36:40 -07:00
Cameron McCormack
5ccbe11d06 Back out bug 1173467 (changesets a20799ebf48c, 9312c5cb756e, c0e8bba17067, af075443ab21, 30cefdf8d020) for assertion failures in test_app_protocol.html. 2015-06-27 11:57:17 +10:00
Ben Kelly
73d7dcb1a3 Bug 1173467 P3 Pass private browsing flag into CacheStorage factory methods. r=ehsan 2015-06-26 17:42:56 -07:00
Nikhil Marathe
b52b66ebf5 Bug 1169044 - Patch 3 - Store and set principal with script URI on ServiceWorkers. r=ehsan
The ServiceWorkerRegistrationInfo's principal is the principal of the document
that called register(). If we create WorkerPrivate instances based off of
this, they have a valid principal in terms of security and same-origin-ness,
but the URI path is wrong. When fetching the script from the network, the
channel's principal is used to update the worker principal. We need to do the
same when the script is loaded from Cache. This patch adds support to store the
channel principal in the cache.

--HG--
extra : rebase_source : e7d527335aa4f0d4ee52e58915c8b0ef4ad26983
2015-06-04 21:39:34 -07:00
Josh Matthews
e78831b550 Bug 1137683 - Use a loadgroup derived from the document's when updating a ServiceWorker; r=bkelly 2015-06-23 10:50:04 -07:00
Ehsan Akhgari
4017e4028f Bug 1168208 - Refactor the existing logic for syncing the security info between Response and channel objects into a new helper class; r=nsm,jdm,bkelly
--HG--
rename : dom/fetch/InternalResponse.cpp => dom/fetch/ChannelInfo.cpp
rename : dom/fetch/Response.h => dom/fetch/ChannelInfo.h
2015-05-27 14:22:53 -04:00
Carsten "Tomcat" Book
1f0ef48e79 Backed out changeset ae9c77fa58d1 (bug 1168208) for bustage on a CLOSED TREE 2015-05-27 14:50:43 +02:00
Ehsan Akhgari
c66a858d3a Bug 1168208 - Refactor the existing logic for syncing the security info between Response and channel objects into a new helper class; r=nsm,jdm,bkelly
--HG--
rename : dom/fetch/InternalResponse.cpp => dom/fetch/ChannelInfo.cpp
rename : dom/fetch/Response.h => dom/fetch/ChannelInfo.h
2015-05-27 08:25:03 -04:00
Ehsan Akhgari
3309c4cb9b Bug 1163945 - Handle aborted CompareNetwork jobs properly in CompareNetwork::OnStartRequst; r=nsm 2015-05-14 11:27:35 -04:00
Ehsan Akhgari
ac2874c72f Bug 1130101 - Part 2: Honor the Service-Worker-Allowed header when prefix matching the service worker scope; r=nsm 2015-05-07 21:06:34 -04:00
Ehsan Akhgari
0053c63b09 Bug 1130101 - Part 1: Store the value of the Service-Worker-Allowed header in the CompareManager object; r=nsm 2015-05-07 21:06:33 -04:00
Ehsan Akhgari
d1a47ed982 Bug 1159378 - Part 2: When storing the service worker downloaded after a failed network compare into the cache, store its security info in the cache as well; r=nsm
--HG--
extra : rebase_source : 0c085287c181d7a98f83c659e7aceaaf0c32f2cc
2015-05-04 10:18:01 -04:00
Nikhil Marathe
8464296492 Bug 1154494 - patch 2 - Hold a ref to the sandbox. r=baku
--HG--
extra : rebase_source : d08a068a7f79c95b029b7ef5e0fbdea2674ae10a
2015-05-04 13:02:12 -04:00
Nikhil Marathe
cbd6b8b352 Bug 1154494 - Hit network only once. r=baku,bkelly
--HG--
extra : rebase_source : d2720c0bbef92595228658d92db3bbaef051cced
2015-04-13 21:05:28 -07:00
Andrew McCreight
9e8f4b219e Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
Doug Turner
107cf1a962 Bug 1147214 - Allow app: urls to use sw. r=baku 2015-04-25 08:27:50 +02:00
Boris Zbarsky
d36060dc11 Bug 1157898 part 5. Eliminate the remaining non-ErrorResult consumers of ErrorResult::ErrorCode and make it protected. r=peterv 2015-04-27 09:18:52 -04:00
Boris Zbarsky
1540774b0c Bug 1157898 part 1. Make code of the form "return rv.ErrorCode();" where rv is an ErrorResult use StealNSResult instead. r=peterv
This patch was generated with the following command:

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 's/return ([a-zA-Z0-9]+)\.ErrorCode\(\);/return \1.StealNSResult();/'
2015-04-27 09:18:51 -04:00
L. David Baron
b263b5134d Back out bug 1154494 (changeset 94c2f1d254e7 and changeset d1269f811e05) for causing intermittent orange in various service worker tests. 2015-04-25 15:07:54 -07:00
Daniel Holbert
ea974bd459 Bug 1154494 followup: Annotate ServiceWorker helper-class 'CompareManager' refcounting functions as 'override'. rs=ehsan 2015-04-24 21:26:51 -07:00
Nikhil Marathe
903081acfe Bug 1154494 - Hit network only once. r=baku,bkelly
--HG--
extra : rebase_source : b7683b543875fae592dc21e292d8807d3e90af45
2015-04-13 21:05:28 -07:00
Ehsan Akhgari
45059ab04f Back out bug 1154494 for test bustage on a CLOSED TREE 2015-04-23 16:59:24 -04:00
Nikhil Marathe
c7df8d193b Bug 1154494 - Hit network only once. r=baku,bkelly 2015-04-23 16:00:58 -04:00
Nikhil Marathe
7f20aa6e79 Bug 931249 - Patch 10 - Bypass HTTP cache when downloading ServiceWorker script to compare against. r=bkelly
We don't have to bypass in ScriptLoader since this bypass will 'refresh' the cache to the new version.
Talked to :mcmanus about bug comment 78 and there isn't an easy way to ask HTTP Cache for 24 hr expiration, so falling back to this.

--HG--
extra : rebase_source : 57b206a0568bef5d32db3e64d5a2db008405304f
2015-03-19 16:41:55 -07:00
Nikhil Marathe
3325709bc0 Bug 931249 - Patch 6 - Fix abort condition in CompareCache::OnStreamComplete. r=bkelly
--HG--
extra : rebase_source : 327efb1af3405911998bf368d44029ad200a5ee7
2015-03-19 14:57:27 -07:00
Nikhil Marathe
ad2ff46bf5 Bug 931249 - patch 5 - set redirection limit back to zero. r=bkelly
--HG--
extra : rebase_source : 0fd55aa052fb44dac663619bec817c1d1550e714
2015-03-18 13:55:33 -07:00
Nikhil Marathe
1084347046 Bug 931249 - patch 4 - comparison. r=nsm
--HG--
extra : rebase_source : 863e9a46d04513ae8770da2dc9c406457fbda849
2015-03-18 09:52:54 -07:00
Nikhil Marathe
42de02a529 Bug 931249 - patch 2 - cachename integration. r=nsm
--HG--
extra : rebase_source : 8a5bd6a3ec53ccd83c08e58f7a74f6ae1f0edea7
2015-03-18 09:46:38 -07:00