Index: chrome/browser/chromeos/power/freezer_cgroup_process_manager.h |
diff --git a/chrome/browser/chromeos/power/freezer_cgroup_process_manager.h b/chrome/browser/chromeos/power/freezer_cgroup_process_manager.h |
index 2cf095c8358d020fd8dae13d5f4b9dfa63d83459..3a0b9ae324239e1049ce1fc3c09af5cb700defa4 100644 |
--- a/chrome/browser/chromeos/power/freezer_cgroup_process_manager.h |
+++ b/chrome/browser/chromeos/power/freezer_cgroup_process_manager.h |
@@ -5,8 +5,11 @@ |
#ifndef CHROME_BROWSER_CHROMEOS_POWER_FREEZER_CGROUP_PROCESS_MANAGER_H_ |
#define CHROME_BROWSER_CHROMEOS_POWER_FREEZER_CGROUP_PROCESS_MANAGER_H_ |
+#include <string> |
+ |
#include "base/files/file_path.h" |
#include "base/macros.h" |
+#include "base/process/process_handle.h" |
#include "chrome/browser/chromeos/power/renderer_freezer.h" |
namespace chromeos { |
@@ -15,17 +18,26 @@ namespace chromeos { |
class FreezerCgroupProcessManager : public RendererFreezer::Delegate { |
public: |
FreezerCgroupProcessManager(); |
- virtual ~FreezerCgroupProcessManager(); |
+ ~FreezerCgroupProcessManager() override; |
// RendererFreezer::Delegate overrides. |
- virtual bool FreezeRenderers() override; |
- virtual bool ThawRenderers() override; |
- virtual bool CanFreezeRenderers() override; |
+ void SetShouldFreezeRenderer(base::ProcessHandle handle, |
+ bool frozen) override; |
+ bool FreezeRenderers() override; |
+ bool ThawRenderers() override; |
+ bool CanFreezeRenderers() override; |
private: |
- bool WriteCommandToStateFile(const std::string& command); |
+ bool WriteCommandToFile(const std::string& command, |
+ const base::FilePath& file); |
+ |
+ // Control path for the cgroup that is not frozen. |
+ base::FilePath default_control_path_; |
+ |
+ // Control and state paths for the cgroup whose processes will be frozen. |
+ base::FilePath to_be_frozen_control_path_; |
+ base::FilePath to_be_frozen_state_path_; |
- base::FilePath state_path_; |
bool enabled_; |
DISALLOW_COPY_AND_ASSIGN(FreezerCgroupProcessManager); |