Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2195)

Unified Diff: cc/base/delayed_unique_notifier.cc

Issue 1057283003: Remove parts of //cc we aren't using (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/base/delayed_unique_notifier.h ('k') | cc/base/delayed_unique_notifier_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/base/delayed_unique_notifier.cc
diff --git a/cc/base/delayed_unique_notifier.cc b/cc/base/delayed_unique_notifier.cc
deleted file mode 100644
index 1824226c2a6d19838d817c06a0824714784ff00e..0000000000000000000000000000000000000000
--- a/cc/base/delayed_unique_notifier.cc
+++ /dev/null
@@ -1,87 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "cc/base/delayed_unique_notifier.h"
-
-#include "base/bind.h"
-#include "base/bind_helpers.h"
-#include "base/location.h"
-#include "base/sequenced_task_runner.h"
-
-namespace cc {
-
-DelayedUniqueNotifier::DelayedUniqueNotifier(
- base::SequencedTaskRunner* task_runner,
- const base::Closure& closure,
- const base::TimeDelta& delay)
- : task_runner_(task_runner),
- closure_(closure),
- delay_(delay),
- notification_pending_(false),
- weak_ptr_factory_(this) {
-}
-
-DelayedUniqueNotifier::~DelayedUniqueNotifier() {
-}
-
-void DelayedUniqueNotifier::Schedule() {
- if (notification_pending_) {
- next_notification_time_ = Now() + delay_;
- return;
- }
-
- next_notification_time_ = Now() + delay_;
- task_runner_->PostDelayedTask(FROM_HERE,
- base::Bind(&DelayedUniqueNotifier::NotifyIfTime,
- weak_ptr_factory_.GetWeakPtr()),
- delay_);
- notification_pending_ = true;
-}
-
-void DelayedUniqueNotifier::Cancel() {
- next_notification_time_ = base::TimeTicks();
-}
-
-void DelayedUniqueNotifier::Shutdown() {
- // This function must destroy any weak ptrs since after being cancelled, this
- // class may be destroyed on another thread during compositor shutdown.
- weak_ptr_factory_.InvalidateWeakPtrs();
- // Deliberately leaves notification_pending_ = true forever so new tasks with
- // weak ptrs can not be created.
- notification_pending_ = true;
-}
-
-bool DelayedUniqueNotifier::HasPendingNotification() const {
- return notification_pending_ && !next_notification_time_.is_null();
-}
-
-base::TimeTicks DelayedUniqueNotifier::Now() const {
- return base::TimeTicks::Now();
-}
-
-void DelayedUniqueNotifier::NotifyIfTime() {
- // If next notifiaction time is not valid, then this schedule was canceled.
- if (next_notification_time_.is_null()) {
- notification_pending_ = false;
- return;
- }
-
- // If the notification was rescheduled or arrived too early for any other
- // reason, then post another task instead of running the callback.
- base::TimeTicks now = Now();
- if (next_notification_time_ > now) {
- task_runner_->PostDelayedTask(
- FROM_HERE,
- base::Bind(&DelayedUniqueNotifier::NotifyIfTime,
- weak_ptr_factory_.GetWeakPtr()),
- next_notification_time_ - now);
- return;
- }
-
- // Note the order here is important since closure might schedule another run.
- notification_pending_ = false;
- closure_.Run();
-}
-
-} // namespace cc
« no previous file with comments | « cc/base/delayed_unique_notifier.h ('k') | cc/base/delayed_unique_notifier_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698