Commit Graph

66 Commits

Author SHA1 Message Date
Ho-Pang Hsu
e6a5e45d91 Bug 1290944 - Part 3.2: Pass LOAD_BYPASS_CACHE caused by script expiration timer to ServiceWorkerInfo. r=bkelly 2017-01-04 17:08:58 +08:00
Ho-Pang Hsu
4b1a947fac Bug 1290944 - Part 2.2: Load the main script with the load flags of the ServiceWorkerRegistration. r=bkelly 2017-01-04 17:08:46 +08:00
Yoshi Huang
13130453ba Bug 1324115 - Part 2: replace the callers to use C++ helper. r=smaug 2016-12-21 14:59:21 +08:00
Kan-Ru Chen
a9b19d0584 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
2016-08-24 14:47:04 +08:00
Andrew Sutherland
783c2b77d1 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
371cc6a534 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
95493635e6 Bug 1273279 - Changes in preparation for FlyWeb landing. Change InternalResponse handling to track body size. r=baku f=bkelly 2016-06-01 17:02:29 -04:00
Stone Shih
46ff803a28 Bug 1240436 - Part1: Convert UTF16 to UTF8 before generating nsStringInputStream. r=khuey 2016-04-12 16:33:53 +08:00
Kyle Huey
56bfa0ab15 Bug 1257032: Make files in dom/workers actually build without unification. r=baku 2016-03-16 11:51:11 -07:00
Ehsan Akhgari
f2f320621a Bug 1197379 - Remove support for intercepting app:// URIs using service workers; r=jdm 2016-01-27 15:26:27 -05:00
Andrea Marchesini
9c99222f3f 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
da7d7eb70c Bug 1226443 P4 Cleanup ServiceWorkerScriptCache objects when initialization fails. r=ehsan 2015-12-11 14:53:11 -05:00
Phil Ringnalda
19c264469f 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
89a58b99c7 Bug 1226443 P4 Cleanup ServiceWorkerScriptCache objects when initialization fails. r=ehsan 2015-12-10 18:08:14 -05:00
Ben Kelly
5b16a70772 Bug 1221308 Fix some service worker related warnings. r=baku 2015-11-04 08:26:46 -08:00
Birunthan Mohanathas
ac37dec517 Bug 1219392 - Capitalize mozilla::unused to avoid conflicts. r=froydnj 2015-11-02 07:53:26 +02:00
dimi
f007ebeb9c Bug 1207727 - Rework updating service workers according to the latest spec. r=bkelly 2015-10-26 10:59:48 +08:00
Ehsan Akhgari
a4b0390266 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
234f8b20d3 Bug 1208559 - Hook up ServicerWorkers with CSP (r=sicking,bkelly,dveditz) 2015-10-18 19:59:18 -07:00
Nathan Froyd
4e6d8f6705 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
2015-10-18 01:24:48 -04:00
Ben Kelly
cb133dae8f Bug 1210941 P7 Use LOAD_BYPASS_SERVICE_WORKER in ServiceWorkerScriptCache. r=ehsan 2015-10-06 06:37:07 -07:00
Christoph Kerschbaumer
e1da8f0ded Bug 1048048 - add preload content policy types for scripts (r=baku) 2015-09-20 14:56:21 -07:00
Wes Kocher
7e27875d2c 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
94689f139b Bug 1048048 - add preload content policy types for scripts (r=baku) 2015-09-20 14:56:21 -07:00
Nikhil Marathe
4d4496194c 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.
2015-08-19 16:21:25 -07:00
Andrew McCreight
37dca56c9f Bug 1176341 - De-holder nsIXPConnect::CreateSandbox. r=baku,gabor 2015-07-21 11:31:44 -07:00
Ryan VanderMeulen
81ed743c4f Backed out changeset 553a3e1e7b18 (bug 1176341) for bustage.
CLOSED TREE
2015-07-21 13:00:55 -04:00
Andrew McCreight
d108d4c56a Bug 1176341 - De-holder nsIXPConnect::CreateSandbox. r=baku,gabor 2015-07-21 09:44:37 -07:00
Birunthan Mohanathas
a29151dc87 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
fc38f44dd3 Bug 1181321 - Eliminate duplicate mRefCnt members in PromiseNativeHandler subclasses. r=baku 2015-07-09 08:56:00 +02:00
Wes Kocher
421260e747 Backed out changeset 74293125739a (bug 1176341) 2015-07-10 12:48:20 -07:00
Andrew McCreight
b63d113ad6 Bug 1176341 - De-holder nsIXPConnect::CreateSandbox. r=baku,gabor 2015-07-10 07:41:33 -07:00
Emanuel Hoogeveen
b30abdc582 Bug 905127 - Part 1 - Make some functions from nsNetUtil not inline. r=jduell 2015-07-07 04:17:00 +02:00
Hiroyuki Ikezoe
b61dee95d7 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
091092faac Bug 1148935 - Correctly reflect worker and sharedworker RequestContext values; r=smaug 2015-06-30 18:52:42 -04:00
Ryan VanderMeulen
63ceae91b7 Backed out changeset 07bf31cca660 (bug 1148935) for Werror bustage.
CLOSED TREE
2015-06-30 15:53:43 -04:00
Ehsan Akhgari
0b1720ebbd Bug 1148935 - Correctly reflect worker and sharedworker RequestContext values; r=smaug 2015-06-30 15:30:08 -04:00
Ben Kelly
1222b50d28 Bug 1175138 P5 Make CacheStorage reject on untrusted origins. r=ehsan 2015-06-27 23:19:24 -04:00
Ben Kelly
17962b6f82 Bug 1173467 P3 Pass private browsing flag into CacheStorage factory methods. r=ehsan 2015-06-26 19:36:40 -07:00
Cameron McCormack
5869f35dd7 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
07f9c978c2 Bug 1173467 P3 Pass private browsing flag into CacheStorage factory methods. r=ehsan 2015-06-26 17:42:56 -07:00
Nikhil Marathe
171fda05df 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.
2015-06-04 21:39:34 -07:00
Josh Matthews
78dbef7133 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
e8c86479b9 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 2015-05-27 14:22:53 -04:00
Carsten "Tomcat" Book
c58dbca945 Backed out changeset ae9c77fa58d1 (bug 1168208) for bustage on a CLOSED TREE 2015-05-27 14:50:43 +02:00
Ehsan Akhgari
f770eb78bf 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 2015-05-27 08:25:03 -04:00
Ehsan Akhgari
19c21aed0a Bug 1163945 - Handle aborted CompareNetwork jobs properly in CompareNetwork::OnStartRequst; r=nsm 2015-05-14 11:27:35 -04:00
Ehsan Akhgari
acb3211fe0 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
381a75309c 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
2f6ab55ab7 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 2015-05-04 10:18:01 -04:00