|  | # 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. | 
|  |  | 
|  | import("//third_party/protobuf/proto_library.gni") | 
|  |  | 
|  | copy("json_proto_copy") { | 
|  | sources = [ | 
|  | "json.proto", | 
|  | ] | 
|  | outputs = [ | 
|  | "$root_gen_dir" + "/testing/libfuzzer/proto/json.proto", | 
|  | ] | 
|  | } | 
|  |  | 
|  | proto_library("json_proto") { | 
|  | sources = [ | 
|  | "json.proto", | 
|  | ] | 
|  |  | 
|  | # This way json.pb.h header goes into "$root_gen_dir" directory precisely, | 
|  | # otherwise it goes into "$root_gen_dir" + "/testing/libfuzzer/proto/". | 
|  | proto_out_dir = "" | 
|  | deps = [ | 
|  | ":json_proto_copy", | 
|  | ] | 
|  | } | 
|  |  | 
|  | source_set("json_proto_converter") { | 
|  | sources = [ | 
|  | "json_proto_converter.cc", | 
|  | "json_proto_converter.h", | 
|  | ] | 
|  | deps = [ | 
|  | ":json_proto", | 
|  | ] | 
|  | } | 
|  |  | 
|  | if (!is_win) { | 
|  | static_library("skia_image_filter_converter") { | 
|  | sources = [ | 
|  | "skia_image_filter_proto_converter.cc", | 
|  | "skia_image_filter_proto_converter.h", | 
|  | ] | 
|  | deps = [ | 
|  | ":skia_image_filter_proto", | 
|  | "//base", | 
|  | "//skia", | 
|  | "//third_party/libprotobuf-mutator", | 
|  | ] | 
|  | defines = [ "AVOID_MISBEHAVIOR=1" ] | 
|  |  | 
|  | testonly = true | 
|  |  | 
|  | #  Can't disable instrumentation because of container-overflow false | 
|  | # positives. | 
|  |  | 
|  | # Assertion failures and integer oveflows in skia are uninteresting. | 
|  | if (is_debug || is_ubsan) { | 
|  | all_dependent_configs = [ "//testing/libfuzzer:no_clusterfuzz" ] | 
|  | } | 
|  | } | 
|  |  | 
|  | proto_library("skia_image_filter_proto") { | 
|  | sources = [ | 
|  | "skia_image_filter.proto", | 
|  | ] | 
|  | } | 
|  | } |