OLD | NEW |
---|---|
(Empty) | |
1 // Copyright 2014 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/chromeos/power/renderer_freezer_delegate.h" | |
6 | |
7 #include "base/files/file_util.h" | |
8 | |
9 namespace chromeos { | |
10 | |
11 namespace { | |
12 const char kFreezerStatePath[] = | |
13 "/sys/fs/cgroup/freezer/chrome_renderers/freezer.state"; | |
14 const char kFreezeCommand[] = "FROZEN"; | |
15 const char kThawCommand[] = "THAWED"; | |
16 | |
17 } // namespace | |
18 | |
19 RendererFreezerDelegate::RendererFreezerDelegate() | |
20 : state_path_(base::FilePath(kFreezerStatePath)), | |
21 enabled_(base::PathExists(state_path_) && | |
Daniel Erat
2014/09/06 02:01:25
you should be able to just call PathIsWritable (wh
| |
22 base::PathIsWritable(state_path_)) { | |
23 } | |
24 | |
25 RendererFreezerDelegate::~RendererFreezerDelegate() { | |
26 } | |
27 | |
28 bool RendererFreezerDelegate::FreezeRenderers() { | |
Daniel Erat
2014/09/06 02:01:25
maybe DCHECK() or LOG(ERROR) and return early or s
| |
29 return base::WriteFile(state_path_, kFreezeCommand, strlen(kFreezeCommand)) == | |
30 static_cast<int>(strlen(kFreezeCommand)); | |
31 } | |
32 | |
33 bool RendererFreezerDelegate::ThawRenderers() { | |
34 return base::WriteFile(state_path_, kThawCommand, strlen(kThawCommand)) == | |
35 static_cast<int>(strlen(kThawCommand)); | |
36 } | |
37 | |
38 bool RendererFreezerDelegate::CanFreezeRenderers() { | |
39 return enabled_; | |
40 } | |
41 | |
42 } // namespace chromeos | |
OLD | NEW |