Skip to content

Commit bd63689

Browse files
committed
fixup! feat($compile): add support for arbitrary property and event bindings
1 parent 678721f commit bd63689

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

src/ng/compile.js

+6-7
Original file line numberDiff line numberDiff line change
@@ -3424,11 +3424,10 @@ function $CompileProvider($provide, $$sanitizeUriProvider) {
34243424
}
34253425

34263426

3427-
function getTrustedAttrContext(node, attrNormalizedName) {
3427+
function getTrustedAttrContext(tag, attrNormalizedName) {
34283428
if (attrNormalizedName === 'srcdoc') {
34293429
return $sce.HTML;
34303430
}
3431-
var tag = nodeName_(node);
34323431
// All tags with src attributes require a RESOURCE_URL value, except for
34333432
// img and various html5 media tags, which require the MEDIA_URL context.
34343433
if (attrNormalizedName === 'src' || attrNormalizedName === 'ngSrc') {
@@ -3457,8 +3456,7 @@ function $CompileProvider($provide, $$sanitizeUriProvider) {
34573456
}
34583457
}
34593458

3460-
function getTrustedPropContext(node, propNormalizedName) {
3461-
var tag = nodeName_(node);
3459+
function getTrustedPropContext(tag, propNormalizedName) {
34623460
var prop = propNormalizedName.toLowerCase();
34633461
return PROP_CONTEXTS[tag + "|" + prop] || PROP_CONTEXTS["*|" + prop];
34643462
}
@@ -3471,7 +3469,7 @@ function $CompileProvider($provide, $$sanitizeUriProvider) {
34713469
}
34723470

34733471
var nodeName = nodeName_(node);
3474-
var trustedContext = getTrustedPropContext(node, propName);
3472+
var trustedContext = getTrustedPropContext(nodeName, propName);
34753473

34763474
directives.push({
34773475
priority: 100,
@@ -3504,7 +3502,8 @@ function $CompileProvider($provide, $$sanitizeUriProvider) {
35043502
}
35053503

35063504
function addAttrInterpolateDirective(node, directives, value, name, isNgAttr) {
3507-
var trustedContext = getTrustedAttrContext(node, name);
3505+
var tag = nodeName_(node);
3506+
var trustedContext = getTrustedAttrContext(tag, name);
35083507
var mustHaveExpression = !isNgAttr;
35093508
var allOrNothing = ALL_OR_NOTHING_ATTRS[name] || isNgAttr;
35103509

@@ -3513,7 +3512,7 @@ function $CompileProvider($provide, $$sanitizeUriProvider) {
35133512
// no interpolation found -> ignore
35143513
if (!interpolateFn) return;
35153514

3516-
if (name === 'multiple' && nodeName_(node) === 'select') {
3515+
if (name === 'multiple' && tag === 'select') {
35173516
throw $compileMinErr('selmulti',
35183517
'Binding to the \'multiple\' attribute is not supported. Element: {0}',
35193518
startingTag(node));

0 commit comments

Comments
 (0)