Commit Graph

69 Commits

Author SHA1 Message Date
Ben Kelly
dc6734f3e2 Bug 1110485 P3 Move Fetch IPC PHeaderEntry type to Cache. Rename HeadesEntry. r=nsm 2015-04-13 14:05:57 -07:00
Ben Kelly
8272fa9b9b Bug 1110485 P2 Remove 'P' prefix from non-protocol IPC types in Cache API. r=baku 2015-04-13 14:05:57 -07:00
Ryan VanderMeulen
f32babf004 Backed out 5 changesets (bug 1149987) for mochitest crashes.
Backed out changeset b62e371d6189 (bug 1149987)
Backed out changeset daa762fca8e6 (bug 1149987)
Backed out changeset bdb64d5befa5 (bug 1149987)
Backed out changeset 693901a4bcde (bug 1149987)
Backed out changeset e7c41c8653c4 (bug 1149987)

CLOSED TREE
2015-04-08 11:49:49 -04:00
Ehsan Akhgari
d9b22fc1d9 Bug 1149987 - Part 5: Do not store or match Response objects with a Vary:* header; r=bkelly 2015-04-08 10:27:40 -04:00
Ben Kelly
a2b4c2dbb7 Bug 1150608 Do not reuse CacheId values within an origin. r=ehsan 2015-04-02 17:11:41 -07:00
Ehsan Akhgari
e799d1a3cd Bug 1147699 - Part 14: Add a test for FetchEvent.request.context when intercepting loads coming from plugins; r=nsm 2015-03-30 08:42:53 -04:00
Ehsan Akhgari
ea4194dbb5 Bug 1146610 - Add static_asserts that check the validity of the enum values that we write into the cache database; r=bkelly
These assertions will catch future accidental changes to these enums
which will invalidate the data that we store in the Cache database.
2015-03-24 16:45:12 -04:00
Ehsan Akhgari
4dbf6f1e90 Bug 1126819 - Part 2: Persist the Request.cache attribute in DOM Cache; r=bkelly 2015-03-23 15:46:58 -04:00
Ehsan Akhgari
cfd28305a2 Bug 1143894 - Part 3: Do not propagate errors in getting the headers to the outside world; r=bkelly
The Vary header may contain invalid header name values.  We should just
ignore such values as opposed to propagating them to the caller.  Before
this patch, attempts to add a request with such a Vary header for example
would fail, since the internal QueryCache() call when executing the
CachePutAllAction would fail.
2015-03-21 19:45:12 -04:00
Ehsan Akhgari
9e1a5685f5 Bug 1143894 - Part 2: Support Vary headers including multiple header names in DOM Cache; r=bkelly
The Vary header may include one or more HTTP header field names, so we
need to extract those names here, similar to the way that the
nsHttpChannel::ResponseWouldVary() function consumes the Vary header.
2015-03-21 19:45:12 -04:00
Ehsan Akhgari
8e39c2d25b Bug 1143894 - Part 1: Clear the ErrorResult message if InternalHeaders::Get fails; r=bkelly
InternalHeaders::Get() may throw NS_ERROR_TYPE_ERR with an associated message.
The semantics of ErrorResult dictate that the message needs to be consumed by
the time that the object gets destroyed, so we need to clear it before
returning in these two places.
2015-03-21 19:45:11 -04:00
Ehsan Akhgari
97417ab549 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
6c67272d65 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
828b178cb6 Backed out changeset b8d2fd1bb7f5 (bug 1142269) for mochitest-1 timeouts CLOSED TREE 2015-03-13 16:02:18 -07:00
Ehsan Akhgari
1591979266 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
fa83368ad6 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
d7067fbb03 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
fdb89bb0d4 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
Ben Kelly
0c2e7a4f3c Bug 940273 - Part 4 - Initial implementation of Service Worker Cache. r=ehsan,baku,janv 2015-03-02 14:20:00 +01:00