| // Copyright 2018 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| module chrome_cleaner.mojom; |
| |
| import "chrome/chrome_cleaner/interfaces/string16_embedded_nulls.mojom"; |
| import "components/chrome_cleaner/public/interfaces/chrome_prompt.mojom"; |
| import "mojo/public/mojom/base/string16.mojom"; |
| |
| // Passes requests that can mutate the system from the low-privilege sandbox |
| // target process to the high-privilege broker process. It is implemented in |
| // CleanerEngineRequestsImpl in engines/broker. |
| // |
| // This interface is only used when in cleaning mode, in which case the broker |
| // process runs with administrator privileges, so the parameters of each method |
| // must be carefully validated to ensure that the requests are safe. |
| interface CleanerEngineRequests { |
| // Attempts to deletes the given file, applying some basic checks to ensure |
| // the file is safe to delete. |
| SandboxDeleteFile(FilePath file_name) => (bool result); |
| |
| // Schedules the given file for post-reboot removal, applying some basic |
| // checks to ensure the file is safe to delete. |
| SandboxDeleteFilePostReboot(FilePath file_name) => (bool result); |
| |
| // Deletes the given registry key. |key| may contain null characters. |
| SandboxNtDeleteRegistryKey(String16EmbeddedNulls key) => (bool result); |
| |
| // Deletes the given value for the given registry key. |key| and |key_name| |
| // may contain null characters. |
| SandboxNtDeleteRegistryValue(String16EmbeddedNulls key, |
| String16EmbeddedNulls value_name) |
| => (bool result); |
| |
| // Updates the value of the given key's value to |new_value|. |
| // |new_value| must be a subset of the existing value. This is intended to be |
| // used to delete parts of a value, not to set a new value. |
| SandboxNtChangeRegistryValue(String16EmbeddedNulls key, |
| String16EmbeddedNulls value_name, |
| String16EmbeddedNulls new_value) |
| => (bool result); |
| |
| // Deletes the given service. |
| SandboxDeleteService(mojo_base.mojom.String16 name) => (bool result); |
| |
| // Deletes the given task. |
| SandboxDeleteTask(mojo_base.mojom.String16 name) => (bool result); |
| |
| // Terminates the given process. |
| // The broker process can't be terminated. |
| SandboxTerminateProcess(uint32 process_id) => (bool result); |
| }; |