Commit 68749c30 authored by Francois Doray's avatar Francois Doray Committed by Commit Bot

RC: Disallow large timeouts in ProactiveTabFreezeAndDiscardParams.

TimeDelta::Max() should be used to express infinite timeouts. A large
timeout that is not TimeDelta::Max() causes MessageLoop to output a
warning.

Bug: 889652
Change-Id: Ied1dd02cdeaec18e6d00e7fd3023e5ec1ea77826
Reviewed-on: https://chromium-review.googlesource.com/c/1336030Reviewed-by: default avatarSébastien Marchand <sebmarchand@chromium.org>
Commit-Queue: François Doray <fdoray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#608569}
parent 75aa2b5d
...@@ -162,6 +162,11 @@ InfiniteSessionRestoreParams::InfiniteSessionRestoreParams( ...@@ -162,6 +162,11 @@ InfiniteSessionRestoreParams::InfiniteSessionRestoreParams(
ProactiveTabFreezeAndDiscardParams GetProactiveTabFreezeAndDiscardParams( ProactiveTabFreezeAndDiscardParams GetProactiveTabFreezeAndDiscardParams(
int memory_in_gb) { int memory_in_gb) {
// TimeDelta::Max() should be used to express infinite timeouts. A large
// timeout that is not TimeDelta::Max() causes MessageLoop to output a
// warning.
constexpr base::TimeDelta kLargeTimeout = base::TimeDelta::FromDays(14);
ProactiveTabFreezeAndDiscardParams params = {}; ProactiveTabFreezeAndDiscardParams params = {};
params.should_proactively_discard = params.should_proactively_discard =
...@@ -187,21 +192,27 @@ ProactiveTabFreezeAndDiscardParams GetProactiveTabFreezeAndDiscardParams( ...@@ -187,21 +192,27 @@ ProactiveTabFreezeAndDiscardParams GetProactiveTabFreezeAndDiscardParams(
params.low_occluded_timeout = base::TimeDelta::FromSeconds( params.low_occluded_timeout = base::TimeDelta::FromSeconds(
ProactiveTabFreezeAndDiscardParams::kLowOccludedTimeout.Get()); ProactiveTabFreezeAndDiscardParams::kLowOccludedTimeout.Get());
DCHECK_LT(params.low_occluded_timeout, kLargeTimeout);
params.moderate_occluded_timeout = base::TimeDelta::FromSeconds( params.moderate_occluded_timeout = base::TimeDelta::FromSeconds(
ProactiveTabFreezeAndDiscardParams::kModerateOccludedTimeout.Get()); ProactiveTabFreezeAndDiscardParams::kModerateOccludedTimeout.Get());
DCHECK_LT(params.moderate_occluded_timeout, kLargeTimeout);
params.high_occluded_timeout = base::TimeDelta::FromSeconds( params.high_occluded_timeout = base::TimeDelta::FromSeconds(
ProactiveTabFreezeAndDiscardParams::kHighOccludedTimeout.Get()); ProactiveTabFreezeAndDiscardParams::kHighOccludedTimeout.Get());
DCHECK_LT(params.high_occluded_timeout, kLargeTimeout);
params.freeze_timeout = base::TimeDelta::FromSeconds( params.freeze_timeout = base::TimeDelta::FromSeconds(
ProactiveTabFreezeAndDiscardParams::kFreezeTimeout.Get()); ProactiveTabFreezeAndDiscardParams::kFreezeTimeout.Get());
DCHECK_LT(params.freeze_timeout, kLargeTimeout);
params.unfreeze_timeout = base::TimeDelta::FromSeconds( params.unfreeze_timeout = base::TimeDelta::FromSeconds(
ProactiveTabFreezeAndDiscardParams::kUnfreezeTimeout.Get()); ProactiveTabFreezeAndDiscardParams::kUnfreezeTimeout.Get());
DCHECK_LT(params.unfreeze_timeout, kLargeTimeout);
params.refreeze_timeout = base::TimeDelta::FromSeconds( params.refreeze_timeout = base::TimeDelta::FromSeconds(
ProactiveTabFreezeAndDiscardParams::kRefreezeTimeout.Get()); ProactiveTabFreezeAndDiscardParams::kRefreezeTimeout.Get());
DCHECK_LT(params.refreeze_timeout, kLargeTimeout);
params.disable_heuristics_protections = params.disable_heuristics_protections =
ProactiveTabFreezeAndDiscardParams::kDisableHeuristicsProtections.Get(); ProactiveTabFreezeAndDiscardParams::kDisableHeuristicsProtections.Get();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment