#include "chrome/browser/safe_browsing/phishy_interaction_tracker.h"
#include "base/metrics/histogram_functions.h"
#include "base/metrics/user_metrics.h"
#include "base/metrics/user_metrics_action.h"
#include "build/buildflag.h"
#include "build/chromeos_buildflags.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/safe_browsing/safe_browsing_service.h"
#include "components/safe_browsing/content/browser/ui_manager.h"
#include "content/public/browser/browser_thread.h"
#include "ui/base/clipboard/clipboard.h"
#include "ui/events/keycodes/keyboard_codes.h"
namespace safe_browsing {
namespace {
RecordAction;
UserMetricsAction;
void RecordUserStartsPhishyInteraction() { … }
void RecordFirstClickEvent() { … }
void RecordFirstKeyEvent() { … }
void RecordFirstPasteEvent() { … }
void RecordFinishedInteractionUMAData(int click_count,
int key_count,
int paste_count) { … }
}
PhishyPageInteractionDetails::PhishyPageInteractionDetails(
int occurrence_count,
int64_t first_timestamp,
int64_t last_timestamp)
: … { … }
PhishyInteractionTracker::PhishyInteractionTracker(
content::WebContents* web_contents)
: … { … }
PhishyInteractionTracker::~PhishyInteractionTracker() { … }
void PhishyInteractionTracker::WebContentsDestroyed() { … }
void PhishyInteractionTracker::HandlePageChanged() { … }
void PhishyInteractionTracker::HandlePasteEvent() { … }
void PhishyInteractionTracker::HandleInputEvent(
const blink::WebInputEvent& event) { … }
void PhishyInteractionTracker::ResetLoggingHelpers() { … }
bool PhishyInteractionTracker::IsSitePhishy() { … }
void PhishyInteractionTracker::HandlePhishyInteraction(
const ClientSafeBrowsingReportRequest::PhishySiteInteraction::
PhishySiteInteractionType& interaction) { … }
void PhishyInteractionTracker::RecordFirstInteractionOccurrence(
ClientSafeBrowsingReportRequest::PhishySiteInteraction::
PhishySiteInteractionType interaction) { … }
void PhishyInteractionTracker::MaybeLogIfUserInactive() { … }
void PhishyInteractionTracker::LogPageData() { … }
void PhishyInteractionTracker::SetInactivityDelayForTesting(
base::TimeDelta inactivity_delay) { … }
}