On Thursday, January 28, 2016 at 2:56:19 PM UTC-8, Ehsan Akhgari wrote: > 10 days and no objections. This is now the new rule! Please stop updating > UUIDs when changing XPIDL interfaces. > > On Fri, Jan 15, 2016 at 10:58 AM, Ehsan Akhgari <ehsan.akhg...@gmail.com> > wrote: > > > Historically we have enforced updating the XPIDL interface UUIDs when you > > made any changes to it. This was needed because of two reasons: > > > > * Backwards compatibility with binary extensions. Since many changes to > > XPIDL interfaces caused the underlying v-table layout to change, revving > > the UUID enabled previously compiled extensions to fail getting the > > interface through QueryInterface() in the first place, preventing crashes > > when they try to use the interface. > > > > * Incremental builds. Our build system used to not repack the compiled > > XPT file unless it detected a change in the UUID, which would manifest as > > weird issues when you landed code changing an interface without changing > > its UUID, in that in incremental builds the XPT file would be outdated, but > > in clobbered builds it would be correct. > > > > We have created Mercurial hooks that enforce a UUID change when an idl > > file is touched because of these requirements. > > > > Ever since Firefox 41, we have stopped supporting binary components in > > extensions, so the first reason doesn't apply any more. And since > > yesterday I have fixed bug 977464 which fixes the second issue. So as far > > as I can tell, there is no reason to keep revving UUIDs any more. Therefore > > I would like to propose that we should remove the Mercurial hook (bug > > 1170718) and relax this requirement on trunk, and let this ride the trains. > > > > Three points worth mentioning here. > > > > * Thunderbird still supports binary components in extensions. In < > > https://bugzilla.mozilla.org/show_bug.cgi?id=977464#c31> Kent said that > > Thunderbird is OK with change. > > > > * My proposal has no bearing on whether changes to XPIDL interfaces needs > > to be considered as part of the uplift approval process, as such changes > > can still have an impact on JS extension compatibility. Therefore under my > > proposal we'd reword the approval canned questionnaire on Bugzilla to talk > > about changes to XPIDL interfaces in addition to string changes, in lieu of > > mentioning UUID changes. > > > > * UUIDs are still the unique identifiers used in QueryInterface() > > implementations and you'd still need to tag the interface with a UUID when > > you create a new XPIDL interface. > > > > Please let me know if you have any questions or concerns. > > > > Cheers, > > Ehsan > > > > > > -- > Ehsan
Have the reject-on-idl-change-but-no-uuid-change scripts been updated on the hg server? _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform