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

Side by Side Diff: chrome/browser/chromeos/login/update_screen.cc

Issue 6272012: Temporary whitelist several cases of disk I/O on the UI threads in cros. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/chrome/browser/chromeos
Patch Set: remove UI thread restriction, nits Created 9 years, 11 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/chromeos/login/update_screen.h" 5 #include "chrome/browser/chromeos/login/update_screen.h"
6 6
7 #include "base/file_util.h" 7 #include "base/file_util.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/threading/thread_restrictions.h"
9 #include "chrome/browser/chromeos/cros/cros_library.h" 10 #include "chrome/browser/chromeos/cros/cros_library.h"
10 #include "chrome/browser/chromeos/login/screen_observer.h" 11 #include "chrome/browser/chromeos/login/screen_observer.h"
11 #include "chrome/browser/chromeos/login/update_view.h" 12 #include "chrome/browser/chromeos/login/update_view.h"
12 #include "chrome/browser/chromeos/login/wizard_controller.h" 13 #include "chrome/browser/chromeos/login/wizard_controller.h"
13 14
14 namespace { 15 namespace {
15 16
16 // Progress bar stages. Each represents progress bar value 17 // Progress bar stages. Each represents progress bar value
17 // at the beginning of each stage. 18 // at the beginning of each stage.
18 // TODO(nkostylev): Base stage progress values on approximate time. 19 // TODO(nkostylev): Base stage progress values on approximate time.
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 reboot_timer_.Stop(); 202 reboot_timer_.Stop();
202 DCHECK(!reboot_timer_.IsRunning()); 203 DCHECK(!reboot_timer_.IsRunning());
203 reboot_check_delay_ = seconds; 204 reboot_check_delay_ = seconds;
204 } 205 }
205 206
206 bool UpdateScreen::HasCriticalUpdate() { 207 bool UpdateScreen::HasCriticalUpdate() {
207 if (is_all_updates_critical_) 208 if (is_all_updates_critical_)
208 return true; 209 return true;
209 210
210 std::string deadline; 211 std::string deadline;
212 // Checking for update flag file causes us to do blocking IO on UI thread.
213 // Temporarily allow it until we fix http://crosbug.com/11106
214 base::ThreadRestrictions::ScopedAllowIO allow_io;
211 FilePath update_deadline_file_path(kUpdateDeadlineFile); 215 FilePath update_deadline_file_path(kUpdateDeadlineFile);
212 if (!file_util::ReadFileToString(update_deadline_file_path, &deadline) || 216 if (!file_util::ReadFileToString(update_deadline_file_path, &deadline) ||
213 deadline.empty()) { 217 deadline.empty()) {
214 return false; 218 return false;
215 } 219 }
216 220
217 // TODO(dpolukhin): Analyze file content. Now we can just assume that 221 // TODO(dpolukhin): Analyze file content. Now we can just assume that
218 // if the file exists and not empty, there is critical update. 222 // if the file exists and not empty, there is critical update.
219 return true; 223 return true;
220 } 224 }
221 225
222 void UpdateScreen::SetAllUpdatesCritical(bool is_critical) { 226 void UpdateScreen::SetAllUpdatesCritical(bool is_critical) {
223 is_all_updates_critical_ = is_critical; 227 is_all_updates_critical_ = is_critical;
224 } 228 }
225 229
226 } // namespace chromeos 230 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/ownership_service.cc ('k') | chrome/browser/chromeos/login/wizard_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698