Commit Graph

55 Commits

Author SHA1 Message Date
Nikhil Marathe
b3e6fca016 Bug 1143155 - Filtered response stores internal response and allows access to headers. r=bkelly 2015-03-17 08:47:01 -07:00
Ehsan Akhgari
f06a3793f9 Bug 1143222 - Avoid dumping out extremely long response bodies to the mochitest log, and re-enable the newly added DOM cache tests to run both in seqential and parallel modes; r=bkelly
The test timeouts here are some form of bug 1141256, which causes the service
worker spawned in the parallel mode of the tests to never start up.  It turns
out that avoiding sending this huge message to the mochitest logger avoids the
issue on the infrastructure, so let's re-enable these tests.  Bug 1141256 still
needs to be investigated.
2015-03-17 16:51:57 -04:00
Daniel Holbert
2c24121797 Bug 1142841: Convert all nsRefPtr<nsIRunnable> to nsCOMPtr<nsIRunnable>. r=ehsan
This patch was generated by a script.  Here's the source of the script for
future reference:

find . \( -iname "*.cpp" -o -iname "*.h" \) | \
  xargs -n 1 sed -i "s/nsRefPtr<nsIRunnable>/nsCOMPtr<nsIRunnable>/g"
2015-03-17 09:29:17 -07:00
Ehsan Akhgari
db9a1f6dab Bug 1143959 - Set the journal mode and foreign key pragmas for all DBActions; r=bkelly
Before this patch, we would only set these pragmas as part of CreateSchema
which runs in SetupAction.  This meant that the connection used to perform
other DBActions would not have had these pragmas applied.  As a result,
sqlite would not honor foreign keys on such connections, so the cascade
delete rules responsible for deleting rows from request_headers and
response_headers would not get executed when DBSchema::CachePut deleted the
old entry before adding a new one.

The test in the patch demonstrates how this could result in an observable
breakage.  Before this patch, the response headers stored in the cache for
the overwritten entry would reflect both `Mirrored: `foo' and `Mirrored: bar'
headers, which means that attempting to get this header on the cached
response would return the first entry, `foo'.
2015-03-17 08:18:28 -04:00
Ehsan Akhgari
64f754d0c6 Bug 1143833 - Add tests for the ignoreSearch match mode in DOM cache; r=bkelly 2015-03-16 17:11:05 -04:00
Ehsan Akhgari
f5ee76fff8 Bug 1143820 - Add tests to ensure that the URL fragments are correctly ignored by the DOM Cache API; r=bkelly 2015-03-16 17:08:09 -04:00
Ehsan Akhgari
d54b1dad9e Bug 1143813 - Add tests for attempting to store a non-GET request in the DOM Cache; r=bkelly 2015-03-16 17:03:45 -04:00
Ehsan Akhgari
e9c57f7ec1 Bug 1143511 - Correct the usages of .catch() in DOM cache tests; r=bkelly
These tests used .catch() incorrectly, in a way that did not actually
guarantee that the promise is rejected, so in 3 cases the promise
resolved to known failure values (undefined or an empty array) and
this was not being caught as a test failure.

This patch fixes those three places, and also rewrites the .catch()
usage in another case to guarantee that the promise is indeed rejected.
2015-03-16 16:53:10 -04:00
Ehsan Akhgari
a0ece1177a Bug 1143219 - Add tests for passing an unknown request to match and matchAll; r=bkelly 2015-03-16 16:46:49 -04:00
Ehsan Akhgari
0d7e675647 Bug 1143193 - Run the tests for match and matchAll on both Request objects and string URLs; r=bkelly 2015-03-16 16:29:22 -04:00
Ryan VanderMeulen
18cf67168a Backed out changeset 734e81bff9f3 (bug 1110487) for intermittent e10s cache test crashes.
CLOSED TREE
2015-03-16 13:51:33 -04:00
Ben Kelly
f31988b010 Bug 1110487 P2 Implement the nsIOfflineStorage interface in Cache. r=janv,ehsan 2015-03-16 07:10:36 -07:00
Ben Kelly
63df6ce78b Bug 1110487 P1 Fix some non-unified bustage before adding new code. r=ehsan 2015-03-16 07:10:36 -07:00
Ehsan Akhgari
1266bc5984 Bug 1143222 - Re-enable the newly added DOM cache test in sequential mode only for now 2015-03-15 17:53:50 -04:00
Ehsan Akhgari
7ce0b6bfb3 Bug 1143222 - Disable the newly added DOM cache tests for now because of intermittent failures
Landed on a CLOSED TREE
2015-03-13 19:23:34 -04:00
Ehsan Akhgari
529097953d Bug 1142790 - Add a test for passing Request objects to DOM cache matchAll method; r=bkelly 2015-03-13 19:21:16 -04:00
Ehsan Akhgari
f2a66701c9 Bug 1142269 - Auto-vacuum the DOM Cache database; r=bkelly
It's easiest if we use auto_vaccum for now.  In the future if this
proves to be insufficient we can look into more sophisticated
vacuuming strategies.
2015-03-13 19:21:13 -04:00
Wes Kocher
ea55c7410f Backed out changeset b8d2fd1bb7f5 (bug 1142269) for mochitest-1 timeouts CLOSED TREE 2015-03-13 16:02:18 -07:00
Wes Kocher
c48505930a Backed out changeset 1bd38b652695 (bug 1142790) for mochitest-1 timeouts CLOSED TREE 2015-03-13 16:02:08 -07:00
Ehsan Akhgari
5c8aa2057c Bug 1142790 - Add a test for passing Request objects to DOM cache matchAll method; r=bkelly 2015-03-13 14:40:33 -04:00
Ehsan Akhgari
97b8881fbf Bug 1142269 - Auto-vacuum the DOM Cache database; r=bkelly
It's easiest if we use auto_vaccum for now.  In the future if this
proves to be insufficient we can look into more sophisticated
vacuuming strategies.
2015-03-13 14:40:27 -04:00
Ehsan Akhgari
92ea15bb44 Bug 1133763 - Part 4: Store the response's security info in the cache database; r=bkelly 2015-03-13 14:37:19 -04:00
Ehsan Akhgari
ef10661c6f Bug 1133763 - Part 3: Wipe out the cache directory when detecting a change in the DB schema; r=bkelly 2015-03-13 14:37:18 -04:00
Ehsan Akhgari
c11ee2b83b Bug 1133763 - Part 2: Transfer the security info associated with an InternalResponse across the IPC layer; r=bkelly 2015-03-13 14:37:16 -04:00
Ehsan Akhgari
fe88009867 Bug 1142772 - Interleave the DOM Cache tests run through the mini-framework; r=bkelly
Here are the changes needed to achieve this:

* We tag each message posted to the framework with a context argument.
  context can be one of "Window", "Worker" or "ServiceWorker".  In the
  places where we handle messages, we only handle the ones corresponding
  to the context that we expect.
* We use Promise.all in order to interleave the execution of the tests.
  This has the nice property of actually getting the tests run
  simultaneously on multi-core machines.
* For ease of debugging test failures, we print the context from which
  each test message is coming from.
* In order for the tests that are run in parallel to not step on each
  other's toes, we introduce a global `context' variable that the test
  script can use to create names that do not clash with concurrent
  test runs.  For example, instead of `caches.open("foo")', one must now
  use: `caches.open("foo" + context)'.
* The existing tests are modified based on the above.
* When running the tests in parallel, the service worker may end up
  controlling both frame.html and message_receiver.html.  The hunk at
  the end of worker_wrapper.js is intended to ensure that we will
  always be communicating with message_receiver.html.
* An order argument has been added to runTests which can be set to
  "sequential" in order to run the tests in different contexts in
  parallel.  If the argument is omitted, the default is "parallel".
2015-03-13 14:32:02 -04:00
Ehsan Akhgari
3c6160ab8a Bug 1142333 - Add a test for passing Request objects to DOM cache match methods; r=bkelly 2015-03-13 14:28:24 -04:00
Ehsan Akhgari
3817356272 Bug 1142195 - Remove some unused class declarations in the DOM Cache code; r=bkelly 2015-03-11 16:46:15 -04:00
Ehsan Akhgari
da62127bf4 Bug 1140658 - Part 8: Disable the service worker part of these tests on b2g while bug 1137683 gets fixed; r=bkelly 2015-03-11 16:46:04 -04:00
Ben Kelly
a246c9c32f Bug 1140658 - Part 7: Close underlying file stream in ReadStream before reporting closed; r=ehsan 2015-03-11 16:45:35 -04:00
Ehsan Akhgari
83a61e3d40 Bug 1140658 - Part 6: Randomize the URL of the ServiceWorker script in order to work around bug 1141256 for now 2015-03-11 16:45:08 -04:00
Ehsan Akhgari
64ac3421d2 Bug 1140658 - Part 5: Remove test_cache_quick_close.html because it makes no sense after bug 1131353; r=bkelly 2015-03-11 16:45:06 -04:00
Ehsan Akhgari
03a8fa96f9 Bug 1140658 - Part 4: Port test_cache_add.html to the new mini-framework; r=bkelly 2015-03-11 16:45:05 -04:00
Ehsan Akhgari
c358837247 Bug 1140658 - Part 3: Port test_cache.html to the new mini-framework; r=bkelly 2015-03-11 16:45:03 -04:00
Ehsan Akhgari
426fd1214e Bug 1140658 - Part 2: Merge test_cache.js and test_cache_frame.html; r=bkelly 2015-03-11 16:45:01 -04:00
Ehsan Akhgari
f9599b5937 Bug 1140658 - Part 1: Create a mini-framework for running tests in the worker, service worker and window contexts; r=bkelly 2015-03-11 16:45:00 -04:00
Carsten "Tomcat" Book
465da5e174 Backed out changeset c96b6474bdac (bug 1140658) for m1 crashes 2015-03-10 09:01:47 +01:00
Carsten "Tomcat" Book
a69d22a4ab Backed out changeset 8827f51084f1 (bug 1140658) 2015-03-10 09:01:10 +01:00
Carsten "Tomcat" Book
eb79c742fc Backed out changeset 0438058b908a (bug 1140658) 2015-03-10 09:01:08 +01:00
Carsten "Tomcat" Book
a4680f38a0 Backed out changeset 2e62e8ce8c3e (bug 1140658) 2015-03-10 09:01:07 +01:00
Carsten "Tomcat" Book
41ffc16209 Backed out changeset f646f28b05d6 (bug 1140658) 2015-03-10 09:01:05 +01:00
Carsten "Tomcat" Book
da4674ff7e Backed out changeset 7d91550919d2 (bug 1140658) 2015-03-10 09:01:00 +01:00
Ehsan Akhgari
b28bca74c4 Bug 1140658 - Part 6: Randomize the URL of the ServiceWorker script in order to work around bug 1141256 for now 2015-03-09 22:03:27 -04:00
Ehsan Akhgari
6096612cba Bug 1140658 - Part 5: Remove test_cache_quick_close.html because it makes no sense after bug 1131353; r=bkelly 2015-03-09 22:03:27 -04:00
Ehsan Akhgari
671425dab3 Bug 1140658 - Part 4: Port test_cache_add.html to the new mini-framework; r=bkelly 2015-03-09 22:03:26 -04:00
Ehsan Akhgari
5d9585e9a8 Bug 1140658 - Part 3: Port test_cache.html to the new mini-framework; r=bkelly 2015-03-09 22:03:26 -04:00
Ehsan Akhgari
b4626b54f8 Bug 1140658 - Part 2: Merge test_cache.js and test_cache_frame.html; r=bkelly 2015-03-09 22:03:25 -04:00
Ehsan Akhgari
5cf074de16 Bug 1140658 - Part 1: Create a mini-framework for running tests in the worker, service worker and window contexts; r=bkelly 2015-03-09 22:03:25 -04:00
Nikhil Marathe
57039ce2c7 Bug 1133861 - Enable the Fetch API by default. r=jst 2015-02-22 01:52:10 -08:00
Ben Kelly
5a43c12edb Bug 1140051 Avoid Cache shutdown assert when Manager alive, but not active. r=ehsan 2015-03-06 13:39:05 -08:00
Ehsan Akhgari
f3ede7f37e Bug 1130452 - Remove support for the prefixMatch option in the service worker cache code; r=bkelly,baku 2015-03-06 08:19:31 -05:00