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

Side by Side Diff: chrome/browser/power_save_blocker_common.cc

Issue 306032: Simplify threading in browser thread by making only ChromeThread deal with di... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: a few more simplifications Created 11 years, 1 month 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) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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/power_save_blocker.h" 5 #include "chrome/browser/power_save_blocker.h"
6 #include "chrome/browser/chrome_thread.h" 6 #include "chrome/browser/chrome_thread.h"
7 7
8 // Accessed only from the UI thread. 8 // Accessed only from the UI thread.
9 int PowerSaveBlocker::blocker_count_ = 0; 9 int PowerSaveBlocker::blocker_count_ = 0;
10 10
(...skipping 17 matching lines...) Expand all
28 void PowerSaveBlocker::Disable() { 28 void PowerSaveBlocker::Disable() {
29 if (!enabled_) 29 if (!enabled_)
30 return; 30 return;
31 31
32 enabled_ = false; 32 enabled_ = false;
33 PostAdjustBlockCount(-1); 33 PostAdjustBlockCount(-1);
34 } 34 }
35 35
36 36
37 void PowerSaveBlocker::PostAdjustBlockCount(int delta) { 37 void PowerSaveBlocker::PostAdjustBlockCount(int delta) {
38 MessageLoop *ml = ChromeThread::GetMessageLoop(ChromeThread::UI); 38 ChromeThread::PostTask(
39 39 ChromeThread::UI, FROM_HERE,
40 ml->PostTask(FROM_HERE,
41 NewRunnableFunction(&PowerSaveBlocker::AdjustBlockCount, delta)); 40 NewRunnableFunction(&PowerSaveBlocker::AdjustBlockCount, delta));
42 } 41 }
43 42
44 // Called only from UI thread. 43 // Called only from UI thread.
45 void PowerSaveBlocker::AdjustBlockCount(int delta) { 44 void PowerSaveBlocker::AdjustBlockCount(int delta) {
46 DCHECK(ChromeThread::CurrentlyOn(ChromeThread::UI)); 45 DCHECK(ChromeThread::CurrentlyOn(ChromeThread::UI));
47 46
48 bool was_blocking = (blocker_count_ != 0); 47 bool was_blocking = (blocker_count_ != 0);
49 48
50 blocker_count_ += delta; 49 blocker_count_ += delta;
51 50
52 bool is_blocking = (blocker_count_ != 0); 51 bool is_blocking = (blocker_count_ != 0);
53 52
54 DCHECK_GE(blocker_count_, 0); 53 DCHECK_GE(blocker_count_, 0);
55 54
56 if (is_blocking != was_blocking) 55 if (is_blocking != was_blocking)
57 ApplyBlock(is_blocking); 56 ApplyBlock(is_blocking);
58 } 57 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698