blob: 3e54055746514638f9cd57e3b1e5caaa51fd4b20 [file] [log] [blame]
// 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.
syntax = "proto2";
import "uws_spec_by_version.proto";
option optimize_for = LITE_RUNTIME;
package chrome_cleaner;
// The qualifiers used to match a UwS with an Unwanted Extension (UwE).
//
// All of these must match in order to match the UwS with the UwE.
// If a field is omitted then it is assumed that it is a wildcard.
// Next tag: 4
message UwEMatcher {
// TODO(joenotcharles): Unify the definition in
// logging/proto/shared_data.proto with this one. Because right now we are
// duplicating this definition.
// The method used to install an extension.
enum ExtensionInstallMethod {
INSTALL_METHOD_UNSPECIFIED = 0;
POLICY_EXTENSION_FORCELIST = 1;
POLICY_EXTENSION_SETTINGS = 2;
POLICY_MASTER_PREFERENCES = 3;
DEFAULT_APPS_EXTENSION = 4;
}
// The UwS(s) that the UwE is identified to come from. If a UwS is not in
// this list then the rest the fields will not be checked.
//
// There must be at least one.
repeated uint32 uws_id = 1;
// How we should deal with the UwE if we find it.
optional FoilUwSData.Attribute flags = 2;
// Next tag: 4
message MatcherCriteria {
// Match any of these strings
repeated string extension_id = 1;
// Match any of these regexps
repeated string update_url = 2;
// Match any of these install methods.
repeated ExtensionInstallMethod install_method = 3;
}
optional MatcherCriteria criteria = 3;
}
// Next tag: 2
message UwEMatchers {
repeated UwEMatcher uwe_matcher = 1;
}