| Index: ui/message_center/popup_timers_controller.cc
|
| diff --git a/ui/message_center/popup_timers_controller.cc b/ui/message_center/popup_timers_controller.cc
|
| index aae50daf81b5d56a6449febf8e4fc49af2f5009e..a967681d1f01048f987d5b91534d20d74ffc7ccf 100644
|
| --- a/ui/message_center/popup_timers_controller.cc
|
| +++ b/ui/message_center/popup_timers_controller.cc
|
| @@ -100,8 +100,20 @@ void PopupTimersController::OnNotificationUpdated(const std::string& id) {
|
| return;
|
| }
|
|
|
| + auto timer = popup_timers_.find(id);
|
| + // The timer must already have been started and not be running. Relies on
|
| + // the invariant that |popup_timers_| only contains timers that have been
|
| + // started.
|
| + bool was_paused = timer != popup_timers_.end() && !timer->second->IsRunning();
|
| CancelTimer(id);
|
| StartTimer(id, GetTimeoutForNotification(*iter));
|
| +
|
| + // If a timer was paused before, pause it afterwards as well.
|
| + // See crbug.com/710298
|
| + if (was_paused) {
|
| + auto timer = popup_timers_.find(id);
|
| + timer->second->Pause();
|
| + }
|
| }
|
|
|
| void PopupTimersController::OnNotificationRemoved(const std::string& id,
|
|
|