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

Side by Side Diff: Source/core/html/parser/HTMLParserIdioms.h

Issue 84713002: Add number() static methods to AtomicString class (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Pass NaN as default argument Created 7 years 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2010 Apple Inc. All rights reserved. 2 * Copyright (C) 2010 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution. 11 * documentation and/or other materials provided with the distribution.
12 * 12 *
13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND AN Y 13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND AN Y
14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
15 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 15 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
16 * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR AN Y 16 * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR AN Y
17 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 17 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
18 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 18 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
19 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND O N 19 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND O N
20 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 20 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 21 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
22 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 22 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23 */ 23 */
24 24
25 #ifndef HTMLParserIdioms_h 25 #ifndef HTMLParserIdioms_h
26 #define HTMLParserIdioms_h 26 #define HTMLParserIdioms_h
27 27
28 #include "core/dom/QualifiedName.h" 28 #include "core/dom/QualifiedName.h"
29 #include "core/html/parser/HTMLIdentifier.h" 29 #include "core/html/parser/HTMLIdentifier.h"
30 #include "platform/Decimal.h"
30 #include "wtf/Forward.h" 31 #include "wtf/Forward.h"
31 #include "wtf/text/WTFString.h" 32 #include "wtf/text/WTFString.h"
32 33
33 namespace WebCore { 34 namespace WebCore {
34 35
35 class Decimal;
36
37 // Space characters as defined by the HTML specification. 36 // Space characters as defined by the HTML specification.
38 bool isHTMLSpace(UChar); 37 bool isHTMLSpace(UChar);
39 bool isHTMLLineBreak(UChar); 38 bool isHTMLLineBreak(UChar);
40 bool isNotHTMLSpace(UChar); 39 bool isNotHTMLSpace(UChar);
41 40
42 // Strip leading and trailing whitespace as defined by the HTML specification. 41 // Strip leading and trailing whitespace as defined by the HTML specification.
43 String stripLeadingAndTrailingHTMLSpaces(const String&); 42 String stripLeadingAndTrailingHTMLSpaces(const String&);
44 template<size_t inlineCapacity> 43 template<size_t inlineCapacity>
45 String stripLeadingAndTrailingHTMLSpaces(const Vector<UChar, inlineCapacity>& ve ctor) 44 String stripLeadingAndTrailingHTMLSpaces(const Vector<UChar, inlineCapacity>& ve ctor)
46 { 45 {
47 return stripLeadingAndTrailingHTMLSpaces(StringImpl::create8BitIfPossible(ve ctor)); 46 return stripLeadingAndTrailingHTMLSpaces(StringImpl::create8BitIfPossible(ve ctor));
48 } 47 }
49 48
50 // An implementation of the HTML specification's algorithm to convert a number t o a string for number and range types. 49 // An implementation of the HTML specification's algorithm to convert a number t o a string for number and range types.
51 String serializeForNumberType(const Decimal&); 50 String serializeForNumberType(const Decimal&);
52 String serializeForNumberType(double); 51 String serializeForNumberType(double);
53 52
54 // Convert the specified string to a decimal/double. If the conversion fails, th e return value is fallback value or NaN if not specified. 53 // Convert the specified string to a decimal/double. If the conversion fails, th e return value is fallback value or NaN if not specified.
55 // Leading or trailing illegal characters cause failure, as does passing an empt y string. 54 // Leading or trailing illegal characters cause failure, as does passing an empt y string.
56 // The double* parameter may be 0 to check if the string can be parsed without g etting the result. 55 // The double* parameter may be 0 to check if the string can be parsed without g etting the result.
57 Decimal parseToDecimalForNumberType(const String&); 56 Decimal parseToDecimalForNumberType(const String&, const Decimal& fallbackValue = Decimal::nan());
58 Decimal parseToDecimalForNumberType(const String&, const Decimal& fallbackValue) ; 57 double parseToDoubleForNumberType(const String&, double fallbackValue = std::num eric_limits<double>::quiet_NaN());
59 double parseToDoubleForNumberType(const String&);
60 double parseToDoubleForNumberType(const String&, double fallbackValue);
61 58
62 // http://www.whatwg.org/specs/web-apps/current-work/#rules-for-parsing-integers 59 // http://www.whatwg.org/specs/web-apps/current-work/#rules-for-parsing-integers
63 bool parseHTMLInteger(const String&, int&); 60 bool parseHTMLInteger(const String&, int&);
64 61
65 // http://www.whatwg.org/specs/web-apps/current-work/#rules-for-parsing-non-nega tive-integers 62 // http://www.whatwg.org/specs/web-apps/current-work/#rules-for-parsing-non-nega tive-integers
66 bool parseHTMLNonNegativeInteger(const String&, unsigned int&); 63 bool parseHTMLNonNegativeInteger(const String&, unsigned int&);
67 64
68 // Inline implementations of some of the functions declared above. 65 // Inline implementations of some of the functions declared above.
69 66
70 template<typename CharType> 67 template<typename CharType>
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 { 103 {
107 // When the QualifiedName is known to HTMLIdentifier, 104 // When the QualifiedName is known to HTMLIdentifier,
108 // all we have to do is a pointer compare. 105 // all we have to do is a pointer compare.
109 ASSERT(HTMLIdentifier::isKnown(qName.localName().impl())); 106 ASSERT(HTMLIdentifier::isKnown(qName.localName().impl()));
110 return tagName.asStringImpl() == qName.localName().impl(); 107 return tagName.asStringImpl() == qName.localName().impl();
111 } 108 }
112 109
113 } 110 }
114 111
115 #endif 112 #endif
OLDNEW
« no previous file with comments | « Source/core/html/HTMLViewSourceDocument.cpp ('k') | Source/core/html/parser/HTMLParserIdioms.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698