send events for extension field changes
Pass FieldInfo to the eventPlugin since it may be useful,
for example to determine if the field is an extension.
Also did some internal refactoring to pass FieldInfo instead
of a tag number in more places.
API change: make clearExtension actually clear repeated fields,
rather than setting them to a mutable empty list. This is to
avoid inconsistent behavior when using getFieldOrNull,
getDefaultForField, and event delivery.
Proposed API change: clearField() should require a valid tag
number. (Needed to pass the FieldInfo to the eventPlugin.)
This is currently only enforced when an eventPlugin is used.
BUG=
R=sgjesse@google.com
Review URL: https://chromiumcodereview.appspot.com//1291283004.
6 files changed