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

Side by Side Diff: pkg/csslib/lib/visitor.dart

Issue 268623002: [html5lib] implement querySelector/querySelectorAll (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 7 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « pkg/csslib/lib/src/tree.dart ('k') | pkg/csslib/pubspec.yaml » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library csslib.visitor; 5 library csslib.visitor;
6 6
7 import 'package:source_maps/span.dart' show Span; 7 import 'package:source_maps/span.dart' show Span;
8 import 'parser.dart'; 8 import 'parser.dart';
9 9
10 part 'src/css_printer.dart'; 10 part 'src/css_printer.dart';
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 255
256 void visitSelectorGroup(SelectorGroup node) { 256 void visitSelectorGroup(SelectorGroup node) {
257 _visitNodeList(node.selectors); 257 _visitNodeList(node.selectors);
258 } 258 }
259 259
260 void visitSelector(Selector node) { 260 void visitSelector(Selector node) {
261 _visitNodeList(node.simpleSelectorSequences); 261 _visitNodeList(node.simpleSelectorSequences);
262 } 262 }
263 263
264 void visitSimpleSelectorSequence(SimpleSelectorSequence node) { 264 void visitSimpleSelectorSequence(SimpleSelectorSequence node) {
265 var selector = node.simpleSelector; 265 node.simpleSelector.visit(this);
266 if (selector is NamespaceSelector) {
267 visitNamespaceSelector(selector);
268 } else if (selector is ElementSelector) {
269 visitElementSelector(selector);
270 } else if (selector is IdSelector) {
271 visitIdSelector(selector);
272 } else if (selector is ClassSelector) {
273 visitClassSelector(selector);
274 } else if (selector is PseudoClassFunctionSelector) {
275 visitPseudoClassFunctionSelector(selector);
276 } else if (selector is PseudoElementFunctionSelector) {
277 visitPseudoElementFunctionSelector(selector);
278 } else if (selector is PseudoClassSelector) {
279 visitPseudoClassSelector(selector);
280 } else if (selector is PseudoElementSelector) {
281 visitPseudoElementSelector(selector);
282 } else if (selector is NegationSelector) {
283 visitNegationSelector(selector);
284 } else if (selector is SelectorExpression) {
285 visitSelectorExpression(selector);
286 } else if (selector is AttributeSelector) {
287 visitAttributeSelector(selector);
288 } else {
289 visitSimpleSelector(selector);
290 }
291 } 266 }
292 267
293 void visitSimpleSelector(SimpleSelector node) => node._name.visit(this); 268 void visitSimpleSelector(SimpleSelector node) => node._name.visit(this);
294 269
295 void visitNamespaceSelector(NamespaceSelector node) { 270 void visitNamespaceSelector(NamespaceSelector node) {
296 var namespace = node._namespace; 271 if (node._namespace != null) node._namespace.visit(this);
297 if (namespace is Identifier) { 272 if (node.nameAsSimpleSelector != null) {
298 visitIdentifier(namespace); 273 node.nameAsSimpleSelector.visit(this);
299 } else if (namespace is Wildcard) {
300 visitWildcard(namespace);
301 } 274 }
302
303 visitSimpleSelector(node.nameAsSimpleSelector);
304 } 275 }
305 276
306 void visitElementSelector(ElementSelector node) => visitSimpleSelector(node); 277 void visitElementSelector(ElementSelector node) => visitSimpleSelector(node);
307 278
308 void visitAttributeSelector(AttributeSelector node) { 279 void visitAttributeSelector(AttributeSelector node) {
309 visitSimpleSelector(node); 280 visitSimpleSelector(node);
310 } 281 }
311 282
312 void visitIdSelector(IdSelector node) => visitSimpleSelector(node); 283 void visitIdSelector(IdSelector node) => visitSimpleSelector(node);
313 284
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
475 void visitPaddingExpression(PaddingExpression node) { 446 void visitPaddingExpression(PaddingExpression node) {
476 // TODO(terry): TBD 447 // TODO(terry): TBD
477 throw UnimplementedError; 448 throw UnimplementedError;
478 } 449 }
479 450
480 void visitWidthExpression(WidthExpression node) { 451 void visitWidthExpression(WidthExpression node) {
481 // TODO(terry): TBD 452 // TODO(terry): TBD
482 throw UnimplementedError; 453 throw UnimplementedError;
483 } 454 }
484 } 455 }
OLDNEW
« no previous file with comments | « pkg/csslib/lib/src/tree.dart ('k') | pkg/csslib/pubspec.yaml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698