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

Side by Side Diff: Source/core/xml/XPathParser.h

Issue 209433004: Do not zero-initialize RawPtr. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fix compilation on gcc and msvc Created 6 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright 2005 Maksim Orlovich <maksim@kde.org> 2 * Copyright 2005 Maksim Orlovich <maksim@kde.org>
3 * Copyright (C) 2006 Apple Computer, Inc. 3 * Copyright (C) 2006 Apple Computer, Inc.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 8 *
9 * 1. Redistributions of source code must retain the above copyright 9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 57
58 Token(int t) : type(t) { } 58 Token(int t) : type(t) { }
59 Token(int t, const String& v): type(t), str(v) { } 59 Token(int t, const String& v): type(t), str(v) { }
60 Token(int t, Step::Axis v): type(t), axis(v) { } 60 Token(int t, Step::Axis v): type(t), axis(v) { }
61 Token(int t, NumericOp::Opcode v): type(t), numop(v) { } 61 Token(int t, NumericOp::Opcode v): type(t), numop(v) { }
62 Token(int t, EqTestOp::Opcode v): type(t), eqop(v) { } 62 Token(int t, EqTestOp::Opcode v): type(t), eqop(v) { }
63 }; 63 };
64 64
65 class Parser { 65 class Parser {
66 WTF_MAKE_NONCOPYABLE(Parser); 66 WTF_MAKE_NONCOPYABLE(Parser);
67 // FIXME: oilpan: This should be STACK_ALLOCATED. 67 STACK_ALLOCATED();
68 DISALLOW_ALLOCATION();
69 public: 68 public:
70 Parser(); 69 Parser();
71 ~Parser(); 70 ~Parser();
72 71
73 XPathNSResolver* resolver() const { return m_resolver.get(); } 72 XPathNSResolver* resolver() const { return m_resolver.get(); }
74 bool expandQName(const String& qName, AtomicString& localName, AtomicString& namespaceURI); 73 bool expandQName(const String& qName, AtomicString& localName, AtomicString& namespaceURI);
75 74
76 Expression* parseStatement(const String& statement, PassRefPtrWillBeRawPtr<X PathNSResolver>, ExceptionState&); 75 Expression* parseStatement(const String& statement, PassRefPtrWillBeRawPtr<X PathNSResolver>, ExceptionState&);
77 76
78 static Parser* current() { return currentParser; } 77 static Parser* current() { return currentParser; }
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 Token nextToken(); 114 Token nextToken();
116 Token nextTokenInternal(); 115 Token nextTokenInternal();
117 116
118 void reset(const String& data); 117 void reset(const String& data);
119 118
120 static Parser* currentParser; 119 static Parser* currentParser;
121 120
122 unsigned m_nextPos; 121 unsigned m_nextPos;
123 String m_data; 122 String m_data;
124 int m_lastTokenType; 123 int m_lastTokenType;
125 RefPtrWillBeRawPtr<XPathNSResolver> m_resolver; 124 RefPtrWillBeMember<XPathNSResolver> m_resolver;
126 125
127 HashSet<ParseNode*> m_parseNodes; 126 HashSet<ParseNode*> m_parseNodes;
128 HashSet<Vector<OwnPtr<Predicate> >*> m_predicateVectors; 127 HashSet<Vector<OwnPtr<Predicate> >*> m_predicateVectors;
129 HashSet<Vector<OwnPtr<Expression> >*> m_expressionVectors; 128 HashSet<Vector<OwnPtr<Expression> >*> m_expressionVectors;
130 HashSet<String*> m_strings; 129 HashSet<String*> m_strings;
131 HashSet<Step::NodeTest*> m_nodeTests; 130 HashSet<Step::NodeTest*> m_nodeTests;
132 }; 131 };
133 132
134 } // XPath 133 } // XPath
135 134
136 } // WebCore 135 } // WebCore
137 136
138 #endif 137 #endif
OLDNEW
« no previous file with comments | « Source/core/svg/SVGFontFaceSrcElement.cpp ('k') | Source/modules/webdatabase/DatabaseBackend.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698