perf($compile): validate directive.restrict property on directive init
This allows the removal of try/catch from addDirective to avoid V8 deopt. Previously the directive.restrict property was not validated. This would potentially cause exceptions on each compilation of the directive requiring a try/catch and potentially causing repeated errors. New validation when directive.restrict is specified: * must be a string * must contain at least one valid character (E, A, C, M) Cases which previously silently failed (now throw an error): * values with an indexOf method (such as strings, arrays) which returned returned -1 for all valid restrict characters Cases which previously worked unintentionally (now throw an error): * arrays with single-character strings of valid restrict characters PR (#13263)
J
Jason Bedard committed
11f2731f72e932615e8ce15e6a73f4ac808cc7e7
Parent: 1e1fbc7
Committed by Martin Staffa <mjstaffa@googlemail.com>
on 8/30/2016, 8:48:46 PM