зеркало из https://github.com/mozilla/gecko-dev.git
Bug 466314 - updatingImplicit.html (used by test_offlineMode.html and test_updatingManifest.html) crashes SeaMonkey, r=dcamp, sr=jst
This commit is contained in:
Родитель
f7d566032e
Коммит
75a83656c3
|
@ -59,9 +59,11 @@ _TEST_FILES = \
|
|||
test_changingManifest.html \
|
||||
test_refetchManifest.html \
|
||||
test_offlineIFrame.html \
|
||||
test_offlineMode.html \
|
||||
test_bug445544.html \
|
||||
test_foreign.html \
|
||||
test_fallback.html \
|
||||
test_updatingManifest.html \
|
||||
445544_part1.html \
|
||||
445544_part2.html \
|
||||
445544.cacheManifest \
|
||||
|
@ -87,6 +89,9 @@ _TEST_FILES = \
|
|||
foreign2.cacheManifest \
|
||||
foreign2.cacheManifest^headers^ \
|
||||
foreign2.html \
|
||||
notonwhitelist.html \
|
||||
onwhitelist.html \
|
||||
onwhitelist.html^headers^ \
|
||||
updatingIFrame.html \
|
||||
updatingIFrame.html^headers^ \
|
||||
updatingImplicit.html \
|
||||
|
@ -104,12 +109,5 @@ _TEST_FILES = \
|
|||
offlineChild.html \
|
||||
$(NULL)
|
||||
|
||||
# Bug 466314 - updatingImplicit.html (used by test_offlineMode.html and test_updatingManifest.html) crashes SeaMonkey
|
||||
# test_offlineMode.html \
|
||||
# notonwhitelist.html \
|
||||
# test_updatingManifest.html \
|
||||
# onwhitelist.html \
|
||||
# onwhitelist.html^headers^ \
|
||||
|
||||
libs:: $(_TEST_FILES)
|
||||
$(INSTALL) $(foreach f,$^,"$f") $(DEPTH)/_tests/testing/mochitest/tests/$(relativesrcdir)
|
||||
|
|
|
@ -67,6 +67,7 @@
|
|||
#include "nsServiceManagerUtils.h"
|
||||
#include "nsStreamUtils.h"
|
||||
#include "nsThreadUtils.h"
|
||||
#include "nsProxyRelease.h"
|
||||
#include "prlog.h"
|
||||
|
||||
static nsOfflineCacheUpdateService *gOfflineCacheUpdateService = nsnull;
|
||||
|
@ -1828,6 +1829,13 @@ nsOfflineCacheUpdate::Finish()
|
|||
{
|
||||
LOG(("nsOfflineCacheUpdate::Finish [%p]", this));
|
||||
|
||||
// Because call to service->UpdateFinished(this) at the end of this method
|
||||
// may relese the last reference to this object but we still want to work
|
||||
// with it after Finish() call ended, make sure to release this instance in
|
||||
// the next thread loop round.
|
||||
NS_ADDREF_THIS();
|
||||
NS_ProxyRelease(NS_GetCurrentThread(), this, PR_TRUE);
|
||||
|
||||
mState = STATE_FINISHED;
|
||||
|
||||
nsOfflineCacheUpdateService* service =
|
||||
|
|
Загрузка…
Ссылка в новой задаче