Commit f3fb24af authored by Dave Tapuska's avatar Dave Tapuska Committed by Commit Bot

Remove PausableTimer

It is no longer used. All other classes have mitigated to using
CancelableTasks and ContextLifecycleObservers directly.

BUG=907125

Change-Id: I9bfa406836e842b1dfc2b14a9144758e3edd55d1
Reviewed-on: https://chromium-review.googlesource.com/c/1407094Reviewed-by: default avatarAlexander Timin <altimin@chromium.org>
Commit-Queue: Dave Tapuska <dtapuska@chromium.org>
Cr-Commit-Position: refs/heads/master@{#622125}
parent 187f4c95
......@@ -119,8 +119,6 @@ blink_core_sources("frame") {
"pausable_script_executor.h",
"pausable_task.cc",
"pausable_task.h",
"pausable_timer.cc",
"pausable_timer.h",
"performance_monitor.cc",
"performance_monitor.h",
"picture_in_picture_controller.cc",
......
......@@ -33,7 +33,7 @@ class CORE_EXPORT PausableTask final
// callback when execution is unpaused.
static void Post(ExecutionContext*, WebLocalFrame::PausableTaskCallback);
// PausableTimer:
// ContextLifecycleObserver:
void ContextDestroyed(ExecutionContext*) override;
private:
......
/*
* Copyright (C) 2008 Apple Inc. All Rights Reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
#include "third_party/blink/renderer/core/frame/pausable_timer.h"
#include "third_party/blink/public/platform/task_type.h"
namespace blink {
namespace {
// TimerBase::NextFireIntervalDelta returns a delta >= 0.
constexpr TimeDelta kNextFireIntervalInvalid = TimeDelta::Min();
} // namespace
PausableTimer::PausableTimer(ExecutionContext* context, TaskType task_type)
: TimerBase(context->GetTaskRunner(task_type)),
PausableObject(context),
next_fire_interval_(kNextFireIntervalInvalid) {
DCHECK(context);
}
PausableTimer::~PausableTimer() = default;
void PausableTimer::Stop() {
next_fire_interval_ = kNextFireIntervalInvalid;
TimerBase::Stop();
}
void PausableTimer::ContextDestroyed(ExecutionContext*) {
Stop();
}
void PausableTimer::Pause() {
#if DCHECK_IS_ON()
DCHECK(!paused_);
paused_ = true;
#endif
if (IsActive()) {
next_fire_interval_ = NextFireInterval();
DCHECK_GE(next_fire_interval_, TimeDelta());
repeat_interval_ = RepeatInterval();
TimerBase::Stop();
}
}
void PausableTimer::Unpause() {
#if DCHECK_IS_ON()
DCHECK(paused_);
paused_ = false;
#endif
if (next_fire_interval_ >= TimeDelta()) {
// start() was called before, therefore location() is already set.
// m_nextFireInterval is only set in suspend() if the Timer was active.
Start(next_fire_interval_, repeat_interval_, GetLocation());
next_fire_interval_ = kNextFireIntervalInvalid;
}
}
} // namespace blink
/*
* Copyright (C) 2008 Apple Inc. All Rights Reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_FRAME_PAUSABLE_TIMER_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_FRAME_PAUSABLE_TIMER_H_
#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/core/dom/pausable_object.h"
#include "third_party/blink/renderer/platform/timer.h"
namespace blink {
class CORE_EXPORT PausableTimer : public TimerBase, public PausableObject {
public:
explicit PausableTimer(ExecutionContext*, TaskType);
~PausableTimer() override;
// PausableObject
void ContextDestroyed(ExecutionContext*) override;
void Pause() final;
void Unpause() final;
void Stop() override;
private:
void Fired() override = 0;
TimeDelta next_fire_interval_;
TimeDelta repeat_interval_;
#if DCHECK_IS_ON()
bool paused_ = false;
#endif
};
} // namespace blink
#endif // THIRD_PARTY_BLINK_RENDERER_CORE_FRAME_PAUSABLE_TIMER_H_
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