svg is common. It'll be great if you could open-source the externs.
The original version has many warnings for window.prototype.X redefined:
https://closureidl.googlecode.com/files/svg.jsjs/externs/svg.js:6817: WARNING - variable Window.prototype.SVGSVGElement redefined with type function (new:SVGSVGElement): ?, original definition at js/externs/svg.js:10842 with type function (new:SVGSVGElement): ?
function SVGSVGElement(){}
The updated version has the following two warnings:
https://github.com/Hunga1/closure-compiler/commit/93aebbe5103b5aeb4d0b8361e7f9a80ae0ea1f56js/externs/svg.js:421: WARNING - mismatch of the addEventListener property type and the type of the property it overrides from interface EventTarget
original: function (this:EventTarget, string, (EventListener|function (Event): (boolean|undefined)|null), boolean): undefined
override: function (this:SVGElementInstance, string, (EventListener|function ((Event|null)): (boolean|undefined)|null), boolean=): undefined
SVGElementInstance.prototype.addEventListener = function(type, listener, opt_useCapture){};
^
Code:
https://github.com/Hunga1/closure-compiler/blob/93aebbe5103b5aeb4d0b8361e7f9a80ae0ea1f56/contrib/externs/svg.js#L421js/externs/svg.js:429: WARNING - mismatch of the removeEventListener property type and the type of the property it overrides from interface EventTarget
original: function (this:EventTarget, string, (EventListener|function (Event): (boolean|undefined)|null), boolean): undefined
override: function (this:SVGElementInstance, string, (EventListener|function ((Event|null)): (boolean|undefined)|null), boolean=): undefined
SVGElementInstance.prototype.removeEventListener = function(type, listener, opt_useCapture){};
Code:
https://github.com/Hunga1/closure-compiler/blob/93aebbe5103b5aeb4d0b8361e7f9a80ae0ea1f56/contrib/externs/svg.js#L429