summaryrefslogtreecommitdiff
path: root/chromium/chrome/common/file_patcher.mojom
blob: 9bc13238d2dcbac8f6f3866d57def9a8350003c7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// Copyright 2017 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.

// File patching interface provided by the utility process and exposed by
// mojo policy control to the chrome browser process.

module chrome.mojom;

import "mojo/common/file.mojom";

interface FilePatcher {
  // Patch |input_file| with |patch_file| using the bsdiff algorithm
  // (Courgette's version) and place the output in |output_file|.
  // Returns |result| bsdiff::BSDiffStatus::OK on success.
  PatchFileBsdiff(
      mojo.common.mojom.File input_file,
      mojo.common.mojom.File patch_file,
      mojo.common.mojom.File output_file) => (int32 result);

  // Patch |input_file| with |patch_file| using the Courgette algorithm
  // and place the output in |output_file|.
  // Returns |result| courgette::Status::C_OK on success.
  PatchFileCourgette(
      mojo.common.mojom.File input_file,
      mojo.common.mojom.File patch_file,
      mojo.common.mojom.File output_file) => (int32 result);
};