fune/toolkit/components/antitracking/AntiTrackingRedirectHeuristic.h
Tim Huang bd22838f55 Bug 1687283 - Part 2: Modify the AntiTrackingRedirectHeuristic. r=dimi
This patch separetes the original AntiTrackingRedirectHeuristic into two
phases. The first phase will be called when we know the redirect is
about to happen. It will check necessary informance to see if we need to
process the heuristic after the classifier flag is ready for the new
channel. The second phase will be called when the classifier flag is
ready for the new channel to really save the storage access permission
for the redirect.

Differential Revision: https://phabricator.services.mozilla.com/D107048
2021-03-12 08:45:29 +00:00

34 lines
1.5 KiB
C++

/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef mozilla_antitrackingredirectheuristic_h
#define mozilla_antitrackingredirectheuristic_h
class nsIChannel;
class nsIURI;
namespace mozilla {
// This function will be called when we know we are about to perform a http
// redirect. It will check if we need to perform the AntiTracking redirect
// heuristic from the old channel perspective. We cannot know the classification
// flags of the new channel at the point. So, we will save the result in the
// loadInfo in order to finish the heuristic once the classification flags is
// ready.
void PrepareForAntiTrackingRedirectHeuristic(nsIChannel* aOldChannel,
nsIURI* aOldURI,
nsIChannel* aNewChannel,
nsIURI* aNewURI);
// This function will be called once the classification flags of the new channel
// is known. It will check and perform the AntiTracking redirect heuristic
// according to the flags and the result from previous preparation.
void FinishAntiTrackingRedirectHeuristic(nsIChannel* aNewChannel,
nsIURI* aNewURI);
} // namespace mozilla
#endif // mozilla_antitrackingredirectheuristic_h