summaryrefslogtreecommitdiffstats
path: root/cc
diff options
context:
space:
mode:
authormithro@mithis.com <mithro@mithis.com@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-09 11:36:58 +0000
committermithro@mithis.com <mithro@mithis.com@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-09 11:36:58 +0000
commit8679de141b71ab776e267c8cde013147954bfd8b (patch)
treeb56caf576dad727cad18c1b9b7223ac936e7f622 /cc
parent0aa9e5f4f96ebfdf6af9bf0c7f35bead7003eaa8 (diff)
downloadchromium_src-8679de141b71ab776e267c8cde013147954bfd8b.zip
chromium_src-8679de141b71ab776e267c8cde013147954bfd8b.tar.gz
chromium_src-8679de141b71ab776e267c8cde013147954bfd8b.tar.bz2
Adding extra DCHECKs to DelayBaseTimeSource to prevent bad states from occuring.
BUG= Review URL: https://codereview.chromium.org/270423002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@269226 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc')
-rw-r--r--cc/scheduler/delay_based_time_source.cc14
1 files changed, 10 insertions, 4 deletions
diff --git a/cc/scheduler/delay_based_time_source.cc b/cc/scheduler/delay_based_time_source.cc
index 00515b7..c40e4e6 100644
--- a/cc/scheduler/delay_based_time_source.cc
+++ b/cc/scheduler/delay_based_time_source.cc
@@ -43,8 +43,10 @@ scoped_refptr<DelayBasedTimeSourceHighRes> DelayBasedTimeSourceHighRes::Create(
}
DelayBasedTimeSourceHighRes::DelayBasedTimeSourceHighRes(
- base::TimeDelta interval, base::SingleThreadTaskRunner* task_runner)
- : DelayBasedTimeSource(interval, task_runner) {}
+ base::TimeDelta interval,
+ base::SingleThreadTaskRunner* task_runner)
+ : DelayBasedTimeSource(interval, task_runner) {
+}
DelayBasedTimeSourceHighRes::~DelayBasedTimeSourceHighRes() {}
@@ -61,14 +63,17 @@ scoped_refptr<DelayBasedTimeSource> DelayBasedTimeSource::Create(
}
DelayBasedTimeSource::DelayBasedTimeSource(
- base::TimeDelta interval, base::SingleThreadTaskRunner* task_runner)
+ base::TimeDelta interval,
+ base::SingleThreadTaskRunner* task_runner)
: client_(NULL),
last_tick_time_(base::TimeTicks() - interval),
current_parameters_(interval, base::TimeTicks()),
next_parameters_(interval, base::TimeTicks()),
active_(false),
task_runner_(task_runner),
- weak_factory_(this) {}
+ weak_factory_(this) {
+ DCHECK_GT(interval.ToInternalValue(), 0);
+}
DelayBasedTimeSource::~DelayBasedTimeSource() {}
@@ -124,6 +129,7 @@ void DelayBasedTimeSource::SetClient(TimeSourceClient* client) {
void DelayBasedTimeSource::SetTimebaseAndInterval(base::TimeTicks timebase,
base::TimeDelta interval) {
+ DCHECK_GT(interval.ToInternalValue(), 0);
next_parameters_.interval = interval;
next_parameters_.tick_target = timebase;