| Index: extensions/common/extension_unpacker.mojom
|
| diff --git a/extensions/common/extension_unpacker.mojom b/extensions/common/extension_unpacker.mojom
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..9dceedcf6f984508eed58c44e9f7ddbaaaa20bcb
|
| --- /dev/null
|
| +++ b/extensions/common/extension_unpacker.mojom
|
| @@ -0,0 +1,37 @@
|
| +// 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.
|
| +
|
| +// Secure chrome extension unpacker service provided by the utility process
|
| +// and exposed by mojo policy to the chrome browser process.
|
| +
|
| +module extensions.mojom;
|
| +
|
| +import "mojo/common/file_path.mojom";
|
| +import "mojo/common/string16.mojom";
|
| +import "mojo/common/values.mojom";
|
| +
|
| +interface ExtensionUnpacker {
|
| + // Unzip |file| into the directory |path|.
|
| + Unzip(mojo.common.mojom.FilePath file,
|
| + mojo.common.mojom.FilePath path) => (bool success);
|
| +
|
| + // Unpack, validate, and sanitize the extension in directory |path|, and
|
| + // return the parsed manifest.json in |manifest|. The supplied |location|
|
| + // and the |creation_flags| defined by Extension::InitFromValueFlags, are
|
| + // passed to Extension::Create() when unpacking the extension. On success
|
| + // the decoded images and message catalogs from the extension are written
|
| + // to files kDecodedImagesFilename and kDecodedMessageCatalogsFilename in
|
| + // the directory |path|.
|
| + // If Unpack() fails for any reason, |error| contains a user-displayable
|
| + // explanation of what went wrong.
|
| + Unpack(mojo.common.mojom.FilePath path,
|
| + string extension_id,
|
| + ManifestLocation location,
|
| + int32 creation_flags)
|
| + => (mojo.common.mojom.String16 error,
|
| + mojo.common.mojom.DictionaryValue? manifest);
|
| +};
|
| +
|
| +[Native]
|
| +enum ManifestLocation;
|
|
|