power_save_blocker_win.cc revision c407dc5cd9bdc5668497f21b26b09d988ab439de
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
3// found in the LICENSE file.
4
5#include "chrome/browser/power_save_blocker.h"
6
7#include <windows.h>
8
9#include "chrome/browser/chrome_thread.h"
10
11// Runs on UI thread only.
12void PowerSaveBlocker::ApplyBlock(bool blocking) {
13  DCHECK(ChromeThread::CurrentlyOn(ChromeThread::UI));
14
15  DWORD flags = ES_CONTINUOUS;
16
17  if (blocking)
18    flags |= ES_SYSTEM_REQUIRED;
19
20  SetThreadExecutionState(flags);
21}
22