gecko-dev/netwerk/cache2
Valentin Gosu 5ac68030f7 Bug 1487100 - Allow calling nsICacheInfoChannel.preferAlternativeDataType(altDataType, contentType) multiple times r=michal,luke
This patch changes the way we set and handle the preferred alternate data type.
It is no longer just one choice, but a set of preferences, each conditional
on the contentType of the resource.

For example:
  var cc = chan.QueryInterface(Ci.nsICacheInfoChannel);
  cc.preferAlternativeDataType("js-bytecode", "text/javascript");
  cc.preferAlternativeDataType("ammended-text", "text/plain");
  cc.preferAlternativeDataType("something-else", "");

When loaded from the cache, the available alt-data type will be checked against
"js-bytecode" if the contentType is "text/javascript", "ammended-text" if the contentType is "text/plain" or "something-else" for all contentTypes.
Note that the alt-data type could be "something-else" even if the contentType is "text/javascript".

The preferences are saved as an nsTArray<mozilla::Tuple<nsCString, nsCString>>.

Differential Revision: https://phabricator.services.mozilla.com/D8071

--HG--
extra : rebase_source : eb4961f05a52e557e7d2d986d59e0a2cf18a3447
extra : source : dd1c31ea78c2b15d14750d137037a54d50719997
2018-10-17 13:58:30 +00:00
..
AppCacheStorage.cpp Bug 1476928 - Remove nsIURI.CloneIgnoringRef and nsIURI.CloneWithNewRef r=JuniorHsu 2018-07-23 11:28:47 +00:00
AppCacheStorage.h Bug 1436902 part 3. Replace usage of NS_IMPL_ISUPPORTS_INHERITED0 with NS_INLINE_DECL_REFCOUNTING_INHERITED when possible. r=mccr8 2018-02-12 15:44:40 -05:00
CacheEntry.cpp Bug 1487100 - Allow calling nsICacheInfoChannel.preferAlternativeDataType(altDataType, contentType) multiple times r=michal,luke 2018-10-17 13:58:30 +00:00
CacheEntry.h Bug 1487100 - Allow calling nsICacheInfoChannel.preferAlternativeDataType(altDataType, contentType) multiple times r=michal,luke 2018-10-17 13:58:30 +00:00
CacheFile.cpp Bug 1487100 - Allow calling nsICacheInfoChannel.preferAlternativeDataType(altDataType, contentType) multiple times r=michal,luke 2018-10-17 13:58:30 +00:00
CacheFile.h Bug 1487100 - Allow calling nsICacheInfoChannel.preferAlternativeDataType(altDataType, contentType) multiple times r=michal,luke 2018-10-17 13:58:30 +00:00
CacheFileChunk.cpp Bug 1457813 - Part 2: Replace non-asserting NS_PRECONDITIONs with MOZ_ASSERTs. r=froydnj 2018-04-28 12:50:58 -07:00
CacheFileChunk.h Bug 1444490 Declare classses (and one method) in network/ final to reduce virtual function calls r=nwgh 2018-03-09 08:37:18 -06:00
CacheFileContextEvictor.cpp Bug 1468501 - Implement a way to delete network cache by nsIPrincipal, r=mayhemer, r=michal 2018-07-20 13:57:18 +02:00
CacheFileContextEvictor.h Bug 1468501 - Implement a way to delete network cache by nsIPrincipal, r=mayhemer, r=michal 2018-07-20 13:57:18 +02:00
CacheFileIOManager.cpp Bug 1484496: Follow-up: Fix more NoQueryNeeded assertions. r=bustage 2018-08-23 17:15:41 -07:00
CacheFileIOManager.h Bug 1468501 - Implement a way to delete network cache by nsIPrincipal, r=mayhemer, r=michal 2018-07-20 13:57:18 +02:00
CacheFileInputStream.cpp Bug 1472945 - Remove some deadcode introduced by bug 1470355 r=valentin 2018-07-03 10:38:46 +02:00
CacheFileInputStream.h
CacheFileMetadata.cpp
CacheFileMetadata.h Bug 1444490 Declare classses (and one method) in network/ final to reduce virtual function calls r=nwgh 2018-03-09 08:37:18 -06:00
CacheFileOutputStream.cpp Bug 1457813 - Part 2: Replace non-asserting NS_PRECONDITIONs with MOZ_ASSERTs. r=froydnj 2018-04-28 12:50:58 -07:00
CacheFileOutputStream.h
CacheFileUtils.cpp Bug 1457411 - Update netwerk module to make use of newer methods introduced with c++11 and c++14. r=valentin 2018-04-30 19:46:04 +03:00
CacheFileUtils.h Bug 1457411 - Update netwerk module to make use of newer methods introduced with c++11 and c++14. r=valentin 2018-04-30 19:46:04 +03:00
CacheHashUtils.cpp
CacheHashUtils.h Bug 1457411 - Update netwerk module to make use of newer methods introduced with c++11 and c++14. r=valentin 2018-04-30 19:46:04 +03:00
CacheIOThread.cpp Backed out 2 changesets (bug 1479035) for assertion failure: mEvents. CLOSED TREE 2018-09-26 23:40:13 +03:00
CacheIOThread.h Bug 1444490 Declare classses (and one method) in network/ final to reduce virtual function calls r=nwgh 2018-03-09 08:37:18 -06:00
CacheIndex.cpp Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj 2018-06-17 22:43:11 -07:00
CacheIndex.h Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj 2018-06-17 22:43:11 -07:00
CacheIndexContextIterator.cpp Bug 1457411 - Update netwerk module to make use of newer methods introduced with c++11 and c++14. r=valentin 2018-04-30 19:46:04 +03:00
CacheIndexContextIterator.h Bug 1457411 - Update netwerk module to make use of newer methods introduced with c++11 and c++14. r=valentin 2018-04-30 19:46:04 +03:00
CacheIndexIterator.cpp Bug 1445302 - Replace TArray.RemoveElementAt(TArray.Length() - 1) pattern with TArray.RemoveLastElement() or TArray.PopLastElement() r=froydnj 2018-03-13 14:51:33 +01:00
CacheIndexIterator.h
CacheLog.cpp
CacheLog.h
CacheObserver.cpp Bug 1457084 - Increase max chunk memory usage limit, r=mayhemer 2018-05-23 05:03:00 +03:00
CacheObserver.h Bug 1457411 - Update netwerk module to make use of newer methods introduced with c++11 and c++14. r=valentin 2018-04-30 19:46:04 +03:00
CacheStorage.cpp Bug 1476928 - Remove nsIURI.CloneIgnoringRef and nsIURI.CloneWithNewRef r=JuniorHsu 2018-07-23 11:28:47 +00:00
CacheStorage.h Bug 1457411 - Update netwerk module to make use of newer methods introduced with c++11 and c++14. r=valentin 2018-04-30 19:46:04 +03:00
CacheStorageService.cpp Bug 1468501 - Implement a way to delete network cache by nsIPrincipal, r=mayhemer, r=michal 2018-07-20 13:57:18 +02:00
CacheStorageService.h Bug 1468501 - Implement a way to delete network cache by nsIPrincipal, r=mayhemer, r=michal 2018-07-20 13:57:18 +02:00
OldWrappers.cpp Bug 1487100 - Allow calling nsICacheInfoChannel.preferAlternativeDataType(altDataType, contentType) multiple times r=michal,luke 2018-10-17 13:58:30 +00:00
OldWrappers.h Bug 1487100 - Allow calling nsICacheInfoChannel.preferAlternativeDataType(altDataType, contentType) multiple times r=michal,luke 2018-10-17 13:58:30 +00:00
moz.build
nsICacheEntry.idl Bug 1487100 - Allow calling nsICacheInfoChannel.preferAlternativeDataType(altDataType, contentType) multiple times r=michal,luke 2018-10-17 13:58:30 +00:00
nsICacheEntryDoomCallback.idl
nsICacheEntryOpenCallback.idl
nsICacheStorage.idl
nsICacheStorageService.idl Bug 1468501 - Implement a way to delete network cache by nsIPrincipal, r=mayhemer, r=michal 2018-07-20 13:57:18 +02:00
nsICacheStorageVisitor.idl
nsICacheTesting.idl