PermissionsData has a handful of methods that take an Extension object. It seems like these are used for two main reasons:
1. To access data about the extension, like id and Manifest::Location.
2. To access the permissions of the extension.
For 1, we should just pass in the bits we need (e.g., id and location). 2 is simply silly, since the PermissionsData object is accessing the PermissionsData of the extension, which is... itself.
Comment 1 by karandeepb@chromium.org
, May 11 2018