// Copyright 2015 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_BROWSER_UI_AUTOFILL_RISK_UTIL_H_ #define CHROME_BROWSER_UI_AUTOFILL_RISK_UTIL_H_ #include <stdint.h> #include <string> #include "base/functional/callback_forward.h" #include "ui/gfx/geometry/rect.h" class PrefService; namespace content { class WebContents; } namespace autofill::risk_util { // Loads risk data for the client, getting the device's risk fingerprint before // calling |callback|. |obfuscated_gaia_id| is used in the fingerprinting // process if provided. |web_contents| is used during fingerprinting as well, // when retrieving user prefs, and in determining window bounds when not on // Android. This function ends up calling the following overloaded // LoadRiskData(). void LoadRiskData(uint64_t obfuscated_gaia_id, content::WebContents* web_contents, base::OnceCallback<void(const std::string&)> callback); // LoadRiskDataHelper() retrieves all of the fields that do not use // web contents, and then gets the device's fingerprint before calling // |callback|. In situations where we do not have access to web contents, for // example from the Clank settings page, we should call this implementation // directly and let |web_contents| and |window_bounds| default to nullptr and // empty, respectively. Callers with access to web contents should call the // other version of this function above. void LoadRiskDataHelper(uint64_t obfuscated_gaia_id, PrefService* user_prefs, base::OnceCallback<void(const std::string&)> callback, content::WebContents* web_contents, gfx::Rect window_bounds); } // namespace autofill::risk_util #endif // CHROME_BROWSER_UI_AUTOFILL_RISK_UTIL_H_