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

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

Issue 26763004: Vector stores Expression object as OwnPtr instead of raw pointer in XPath. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Change XPathGrammar.y also Created 7 years, 2 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 /* 1 /*
2 * Copyright (C) 2005 Frerich Raabe <raabe@kde.org> 2 * Copyright (C) 2005 Frerich Raabe <raabe@kde.org>
3 * Copyright (C) 2006, 2009 Apple Inc. 3 * Copyright (C) 2006, 2009 Apple 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 17 matching lines...) Expand all
28 #define XPathFunctions_h 28 #define XPathFunctions_h
29 29
30 #include "core/xml/XPathExpressionNode.h" 30 #include "core/xml/XPathExpressionNode.h"
31 31
32 namespace WebCore { 32 namespace WebCore {
33 33
34 namespace XPath { 34 namespace XPath {
35 35
36 class Function : public Expression { 36 class Function : public Expression {
37 public: 37 public:
38 void setArguments(const Vector<Expression*>&); 38 void setArguments(Vector<OwnPtr<Expression> >&);
39 void setName(const String& name) { m_name = name; } 39 void setName(const String& name) { m_name = name; }
40 protected: 40 protected:
41 Expression* arg(int pos) { return subExpr(pos); } 41 Expression* arg(int pos) { return subExpr(pos); }
42 const Expression* arg(int pos) const { return subExpr(pos); } 42 const Expression* arg(int pos) const { return subExpr(pos); }
43 unsigned int argCount() const { return subExprCount(); } 43 unsigned int argCount() const { return subExprCount(); }
44 String name() const { return m_name; } 44 String name() const { return m_name; }
45 45
46 private: 46 private:
47 String m_name; 47 String m_name;
48 }; 48 };
49 49
50 Function* createFunction(const String& name, const Vector<Expression*>& args = Vector<Expression*>()); 50 Function* createFunction(const String& name);
dshwang 2013/10/14 15:56:04 Currently, Vector has a bug as follows Vector<OwnP
51 Function* createFunction(const String& name, Vector<OwnPtr<Expression> > &);
51 52
52 } // namespace XPath 53 } // namespace XPath
53 54
54 } // namespace WebCore 55 } // namespace WebCore
55 56
56 #endif // XPathFunctions_h 57 #endif // XPathFunctions_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698