NS_IMETHODIMP nsUrlClassifierDBServiceWorker::CancelUpdate() { LOG(("nsUrlClassifierDBServiceWorker::CancelUpdate")); if (mUpdateObserver) { LOG(("UpdateObserver exists, cancelling")); mUpdateStatus = NS_BINDING_ABORTED; mUpdateObserver->UpdateError(mUpdateStatus); /* * mark the tables as spoiled, we don't want to block hosts * longer than normal because our update failed */ mClassifier->MarkSpoiled(mUpdateTables); ResetStream(); ResetUpdate(); } else { LOG(("No UpdateObserver, nothing to cancel")); } return NS_OK; }
NS_IMETHODIMP nsUrlClassifierDBServiceWorker::FinishUpdate() { if (gShuttingDownThread) return NS_ERROR_NOT_INITIALIZED; NS_ENSURE_STATE(mUpdateObserver); if (NS_SUCCEEDED(mUpdateStatus)) { mUpdateStatus = ApplyUpdate(); } mMissCache.Clear(); if (NS_SUCCEEDED(mUpdateStatus)) { LOG(("Notifying success: %d", mUpdateWait)); mUpdateObserver->UpdateSuccess(mUpdateWait); } else { LOG(("Notifying error: %d", mUpdateStatus)); mUpdateObserver->UpdateError(mUpdateStatus); /* * mark the tables as spoiled, we don't want to block hosts * longer than normal because our update failed */ mClassifier->MarkSpoiled(mUpdateTables); } mUpdateObserver = nsnull; return NS_OK; }