Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(358)

Unified Diff: pkg/polymer/lib/src/build/linter.dart

Issue 562973002: remove event handler warning for auto-binding template elements (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | pkg/polymer/test/build/linter_test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/polymer/lib/src/build/linter.dart
diff --git a/pkg/polymer/lib/src/build/linter.dart b/pkg/polymer/lib/src/build/linter.dart
index 8663115c2c1a735343376c586310ab9e71741886..7a29953826277e8c096a1d64b2449f2b3055969b 100644
--- a/pkg/polymer/lib/src/build/linter.dart
+++ b/pkg/polymer/lib/src/build/linter.dart
@@ -169,6 +169,7 @@ class _LinterVisitor extends TreeVisitor {
BuildLogger _logger;
AssetId _sourceId;
bool _inPolymerElement = false;
+ bool _inAutoBindingElement = false;
bool _dartTagSeen = false;
bool _polymerHtmlSeen = false;
bool _polymerExperimentalHtmlSeen = false;
@@ -192,10 +193,19 @@ class _LinterVisitor extends TreeVisitor {
case 'element': _validateElementElement(node); break;
case 'polymer-element': _validatePolymerElement(node); break;
case 'script': _validateScriptElement(node); break;
+ case 'template':
+ var isTag = node.attributes['is'];
+ if (isTag != null && AUTO_BINDING_ELEMENTS.contains(isTag)) {
+ _inAutoBindingElement = true;
+ }
+ _validateNormalElement(node);
+ super.visitElement(node);
+ _inAutoBindingElement = false;
+ break;
default:
- _validateNormalElement(node);
- super.visitElement(node);
- break;
+ _validateNormalElement(node);
+ super.visitElement(node);
+ break;
}
}
@@ -409,7 +419,7 @@ class _LinterVisitor extends TreeVisitor {
void _validateEventHandler(Element node, String name, String value) {
if (!name.startsWith('on-')) return;
- if (!_inPolymerElement) {
+ if (!_inPolymerElement && !_inAutoBindingElement) {
_logger.warning(EVENT_HANDLERS_ONLY_WITHIN_POLYMER,
span: node.attributeSpans[name]);
return;
@@ -443,3 +453,5 @@ Message usePolymerHtmlMessageFrom(AssetId id) {
const List<String> INTERNALLY_DEFINED_ELEMENTS =
const ['auto-binding-dart', 'polymer-element'];
+const List<String> AUTO_BINDING_ELEMENTS =
+ const ['auto-binding-dart', 'auto-binding'];
« no previous file with comments | « no previous file | pkg/polymer/test/build/linter_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698