--- protobuf-cleaned/src/google/protobuf/descriptor.cc 2015-12-30 13:21:46.000000000 -0800 +++ protobuf-patched/src/google/protobuf/descriptor.cc 2016-03-31 13:25:26.840024811 -0700 @@ -5591,6 +5591,18 @@ "\"uninterpreted_option\"."); } + // TODO(xyzzyz): remove when all uses in Chromium are removed + if (uninterpreted_option_->name(0).name_part() == "retain_unknown_fields") { + // Chromium patch to protobuf used to introduce a retain_unknown_fields + // option that would make the protobuf_lite runtime retain unknown fields + // just like the protobuf_full would. A newer upstream version of protobuf + // retains these unknown fields even in lite runtime, so the option is no + // longer necessary. Therefore, we ignore this option, and when we remove + // all the occurrences of the option from Chromium, we can remove this + // ignore. + return true; + } + const Descriptor* options_descriptor = NULL; // Get the options message's descriptor from the builder's pool, so that we // get the version that knows about any extension options declared in the