Bug 715809 - AppCache should accept manifests served with non-standard mime types, r=jonas

This commit is contained in:
Honza Bambas 2013-01-03 17:43:51 +01:00
parent 1640af69e6
commit 1e1dc4a34b
4 changed files with 0 additions and 75 deletions

View File

@ -16,7 +16,6 @@ DIRS = namespace1 namespace2
MOCHITEST_FILES = \
offlineTests.js \
test_badManifestMagic.html \
test_badManifestMime.html \
test_bypass.html \
test_missingFile.html \
test_noManifest.html \
@ -89,7 +88,6 @@ MOCHITEST_FILES = \
wildcardManifest.cacheManifest \
wildcardManifest.cacheManifest^headers^ \
updatingManifest.sjs \
simpleManifest.notmanifest \
changing1Sec.sjs \
changing1Hour.sjs \
changingManifest.sjs \

View File

@ -1,8 +0,0 @@
CACHE MANIFEST
http://mochi.test:8888/tests/SimpleTest/SimpleTest.js
http://mochi.test:8888/tests/dom/tests/mochitest/ajax/offline/offlineTests.js
# The following item is not a valid URI and will be ignored
bad:/uri/invalid

View File

@ -1,53 +0,0 @@
<html xmlns="http://www.w3.org/1999/xhtml" manifest="http://mochi.test:8888/tests/dom/tests/mochitest/ajax/offline/simpleManifest.notmanifest">
<head>
<title>bad manifest content type</title>
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="text/javascript" src="/tests/dom/tests/mochitest/ajax/offline/offlineTests.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
<script type="text/javascript">
var gGotChecking = false;
function finishTest() {
OfflineTest.teardown();
OfflineTest.finish();
}
function handleError() {
OfflineTest.ok(gGotChecking, "Expected checking event");
OfflineTest.ok(true, "Expected error event");
// These items are listed in the manifest, but the error should have
// prevented them from being committed to the cache.
var entries = [
["http://mochi.test:8888/tests/SimpleTest/SimpleTest.js", false],
["http://mochi.test:8888/tests/dom/tests/mochitest/ajax/offline/offlineTests.js", false]
];
OfflineTest.checkCacheEntries(entries, finishTest);
}
if (OfflineTest.setup()) {
// Don't expect a bunch of events.
applicationCache.ondownloading = OfflineTest.failEvent;
applicationCache.onupdateready = OfflineTest.failEvent;
applicationCache.oncached = OfflineTest.failEvent;
applicationCache.onnoupdate = OfflineTest.failEvent;
applicationCache.onprogress = OfflineTest.failEvent;
// ... but expect 'checking' and 'error'
applicationCache.onchecking = function() { gGotChecking = true; };
applicationCache.onerror = OfflineTest.priv(handleError);
}
SimpleTest.waitForExplicitFinish();
</script>
</head>
<body>
</body>
</html>

View File

@ -1123,18 +1123,6 @@ nsOfflineManifestItem::OnStartRequest(nsIRequest *aRequest,
return NS_ERROR_ABORT;
}
nsAutoCString contentType;
rv = channel->GetContentType(contentType);
NS_ENSURE_SUCCESS(rv, rv);
if (!contentType.EqualsLiteral("text/cache-manifest")) {
LOG(("Rejected cache manifest with Content-Type %s (expecting text/cache-manifest)",
contentType.get()));
LogToConsole("Offline cache manifest not served with text/cache-manifest", this);
mParserState = PARSE_ERROR;
return NS_ERROR_ABORT;
}
rv = GetOldManifestContentHash(aRequest);
NS_ENSURE_SUCCESS(rv, rv);