OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/sessions/base_session_service.h" | 5 #include "chrome/browser/sessions/base_session_service.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "base/pickle.h" | 9 #include "base/pickle.h" |
10 #include "base/stl_util.h" | 10 #include "base/stl_util.h" |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
109 void BaseSessionService::ScheduleCommand(SessionCommand* command) { | 109 void BaseSessionService::ScheduleCommand(SessionCommand* command) { |
110 DCHECK(command); | 110 DCHECK(command); |
111 commands_since_reset_++; | 111 commands_since_reset_++; |
112 pending_commands_.push_back(command); | 112 pending_commands_.push_back(command); |
113 StartSaveTimer(); | 113 StartSaveTimer(); |
114 } | 114 } |
115 | 115 |
116 void BaseSessionService::StartSaveTimer() { | 116 void BaseSessionService::StartSaveTimer() { |
117 // Don't start a timer when testing (profile == NULL or | 117 // Don't start a timer when testing (profile == NULL or |
118 // MessageLoop::current() is NULL). | 118 // MessageLoop::current() is NULL). |
119 if (MessageLoop::current() && profile() && !weak_factory_.HasWeakPtrs()) { | 119 if (base::MessageLoop::current() && profile() && |
120 MessageLoop::current()->PostDelayedTask( | 120 !weak_factory_.HasWeakPtrs()) { |
| 121 base::MessageLoop::current()->PostDelayedTask( |
121 FROM_HERE, | 122 FROM_HERE, |
122 base::Bind(&BaseSessionService::Save, weak_factory_.GetWeakPtr()), | 123 base::Bind(&BaseSessionService::Save, weak_factory_.GetWeakPtr()), |
123 base::TimeDelta::FromMilliseconds(kSaveDelayMS)); | 124 base::TimeDelta::FromMilliseconds(kSaveDelayMS)); |
124 } | 125 } |
125 } | 126 } |
126 | 127 |
127 void BaseSessionService::Save() { | 128 void BaseSessionService::Save() { |
128 DCHECK(backend()); | 129 DCHECK(backend()); |
129 | 130 |
130 if (pending_commands_.empty()) | 131 if (pending_commands_.empty()) |
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
306 // has gone away (around shutdown time) or if we're running as | 307 // has gone away (around shutdown time) or if we're running as |
307 // part of a unit test that does not set profile_. | 308 // part of a unit test that does not set profile_. |
308 task.Run(); | 309 task.Run(); |
309 return true; | 310 return true; |
310 } | 311 } |
311 } | 312 } |
312 | 313 |
313 bool BaseSessionService::RunningInProduction() const { | 314 bool BaseSessionService::RunningInProduction() const { |
314 return profile_ && BrowserThread::IsMessageLoopValid(BrowserThread::FILE); | 315 return profile_ && BrowserThread::IsMessageLoopValid(BrowserThread::FILE); |
315 } | 316 } |
OLD | NEW |