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

Side by Side Diff: lib/parser.dart

Issue 987433005: remove most string concat, fixes #7 (Closed) Base URL: git@github.com:dart-lang/html.git@master
Patch Set: Created 5 years, 9 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
OLDNEW
1 /// This library has a parser for HTML5 documents, that lets you parse HTML 1 /// This library has a parser for HTML5 documents, that lets you parse HTML
2 /// easily from a script or server side application: 2 /// easily from a script or server side application:
3 /// 3 ///
4 /// import 'package:html/parser.dart' show parse; 4 /// import 'package:html/parser.dart' show parse;
5 /// import 'package:html/dom.dart'; 5 /// import 'package:html/dom.dart';
6 /// main() { 6 /// main() {
7 /// var document = parse( 7 /// var document = parse(
8 /// '<body>Hello world! <a href="www.html5rocks.com">HTML5 rocks!'); 8 /// '<body>Hello world! <a href="www.html5rocks.com">HTML5 rocks!');
9 /// print(document.outerHtml); 9 /// print(document.outerHtml);
10 /// } 10 /// }
(...skipping 3377 matching lines...) Expand 10 before | Expand all | Expand 10 after
3388 }; 3388 };
3389 3389
3390 var replace = replacements[token.name]; 3390 var replace = replacements[token.name];
3391 if (replace != null) { 3391 if (replace != null) {
3392 token.name = replace; 3392 token.name = replace;
3393 } 3393 }
3394 } 3394 }
3395 3395
3396 Token processCharacters(CharactersToken token) { 3396 Token processCharacters(CharactersToken token) {
3397 if (token.data == "\u0000") { 3397 if (token.data == "\u0000") {
3398 token.data = "\uFFFD"; 3398 token.replaceData("\uFFFD");
3399 } else if (parser.framesetOK && !allWhitespace(token.data)) { 3399 } else if (parser.framesetOK && !allWhitespace(token.data)) {
3400 parser.framesetOK = false; 3400 parser.framesetOK = false;
3401 } 3401 }
3402 return super.processCharacters(token); 3402 return super.processCharacters(token);
3403 } 3403 }
3404 3404
3405 Token processStartTag(StartTagToken token) { 3405 Token processStartTag(StartTagToken token) {
3406 var currentNode = tree.openElements.last; 3406 var currentNode = tree.openElements.last;
3407 if (breakoutElements.contains(token.name) || 3407 if (breakoutElements.contains(token.name) ||
3408 (token.name == "font" && 3408 (token.name == "font" &&
(...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after
3782 return span.sourceUrl == null ? 'ParserError on $res' : 'On $res'; 3782 return span.sourceUrl == null ? 'ParserError on $res' : 'On $res';
3783 } 3783 }
3784 } 3784 }
3785 3785
3786 /// Convenience function to get the pair of namespace and localName. 3786 /// Convenience function to get the pair of namespace and localName.
3787 Pair<String, String> getElementNameTuple(Element e) { 3787 Pair<String, String> getElementNameTuple(Element e) {
3788 var ns = e.namespaceUri; 3788 var ns = e.namespaceUri;
3789 if (ns == null) ns = Namespaces.html; 3789 if (ns == null) ns = Namespaces.html;
3790 return new Pair(ns, e.localName); 3790 return new Pair(ns, e.localName);
3791 } 3791 }
OLDNEW
« no previous file with comments | « lib/dom.dart ('k') | lib/src/token.dart » ('j') | lib/src/tokenizer.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698