diff options
Diffstat (limited to 'chromium/components/previews/content/previews_decider_impl.cc')
-rw-r--r-- | chromium/components/previews/content/previews_decider_impl.cc | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/chromium/components/previews/content/previews_decider_impl.cc b/chromium/components/previews/content/previews_decider_impl.cc index ce9b27d96e6..47034fa9941 100644 --- a/chromium/components/previews/content/previews_decider_impl.cc +++ b/chromium/components/previews/content/previews_decider_impl.cc @@ -274,6 +274,18 @@ PreviewsEligibilityReason PreviewsDeciderImpl::DeterminePreviewEligibility( // eligibility so that it will be available at commit time. previews_data->set_navigation_ect(effective_connection_type_); + // Do not allow previews on any authenticated pages. + if (url.has_username() || url.has_password()) + return PreviewsEligibilityReason::URL_HAS_BASIC_AUTH; + + // Trigger the USER_RECENTLY_OPTED_OUT rule when a reload on a preview has + // occurred recently. + if (recent_preview_reload_time_ && + recent_preview_reload_time_.value() + params::SingleOptOutDuration() > + clock_->Now()) { + return PreviewsEligibilityReason::USER_RECENTLY_OPTED_OUT; + } + // In the case that the user has chosen to ignore the normal blacklist rules // (flags or interventions-internals), a preview should still not be served // for 5 seconds after the last opt out. This allows "show original" to @@ -536,4 +548,10 @@ void PreviewsDeciderImpl::SetEffectiveConnectionType( DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); effective_connection_type_ = effective_connection_type; } + +void PreviewsDeciderImpl::AddPreviewReload() { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + recent_preview_reload_time_ = clock_->Now(); +} + } // namespace previews |