summaryrefslogtreecommitdiffstats
path: root/abs/extra/webkitgtk
diff options
context:
space:
mode:
authorBritney Fransen <brfransen@gmail.com>2014-12-15 20:42:09 (GMT)
committerBritney Fransen <brfransen@gmail.com>2014-12-15 20:42:09 (GMT)
commitf663bd44b2b9389a70c568329873b3584308344c (patch)
treeadf253fe2627852116f935bcc31d4daef94713b1 /abs/extra/webkitgtk
parent81a3a03ddc78443dd645b95200f9f1cf307f525a (diff)
downloadlinhes_pkgbuild-f663bd44b2b9389a70c568329873b3584308344c.zip
linhes_pkgbuild-f663bd44b2b9389a70c568329873b3584308344c.tar.gz
linhes_pkgbuild-f663bd44b2b9389a70c568329873b3584308344c.tar.bz2
libtorrent-rasterbar: update to 0.16.17
Diffstat (limited to 'abs/extra/webkitgtk')
-rw-r--r--abs/extra/webkitgtk/PKGBUILD61
-rw-r--r--abs/extra/webkitgtk/index.html89
-rw-r--r--abs/extra/webkitgtk/webkit.patch554
3 files changed, 704 insertions, 0 deletions
diff --git a/abs/extra/webkitgtk/PKGBUILD b/abs/extra/webkitgtk/PKGBUILD
new file mode 100644
index 0000000..93a98cd
--- /dev/null
+++ b/abs/extra/webkitgtk/PKGBUILD
@@ -0,0 +1,61 @@
+# $Id: PKGBUILD 157142 2012-04-24 22:33:15Z ibiru $
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+
+pkgbase=libwebkit
+pkgname=(libwebkit libwebkit3)
+pkgver=1.8.1
+pkgrel=1
+pkgdesc="An opensource web content engine"
+arch=('i686' 'x86_64')
+url="http://webkitgtk.org/"
+license=('custom')
+depends=('libxt' 'libxslt' 'sqlite' 'icu' 'gstreamer0.10-base' 'libsoup' 'enchant' 'libgl'
+ 'geoclue')
+makedepends=('gperf' 'gobject-introspection' 'python2' 'gtk2' 'gtk3' 'mesa')
+options=('!libtool' '!emptydirs')
+source=(http://webkitgtk.org/releases/webkit-$pkgver.tar.xz webkit.patch)
+
+build() {
+ cd "$srcdir/webkit-$pkgver"
+ patch -Np1 < ../webkit.patch
+ mkdir build-gtk{2,3}
+
+ # clear makeflags: race during introspection.
+ # WebKit*.gir should be created before WebKit*.typelib, but isn't
+ MAKEFLAGS=
+
+ ( cd build-gtk2 && _build --with-gtk=2.0 )
+ ( cd build-gtk3 && _build --with-gtk=3.0 )
+}
+
+_build() {
+ PYTHON=/usr/bin/python2 ../configure --prefix=/usr \
+ --enable-introspection \
+ --with-font-backend=freetype \
+ --with-unicode-backend=icu \
+ --enable-spellcheck "$@"
+ make all stamp-po
+}
+
+package_libwebkit() {
+ pkgdesc+=" (for GTK2)"
+ depends+=(gtk2)
+
+ cd "$srcdir/webkit-$pkgver/build-gtk2"
+ make DESTDIR="$pkgdir" install
+ install -Dm644 ../Source/WebKit/LICENSE "$pkgdir/usr/share/licenses/libwebkit/LICENSE"
+}
+
+package_libwebkit3() {
+ pkgdesc+=" (for GTK3)"
+ depends+=(gtk3)
+
+ cd "$srcdir/webkit-$pkgver/build-gtk3"
+ make DESTDIR="$pkgdir" install
+ install -Dm644 ../Source/WebKit/LICENSE "$pkgdir/usr/share/licenses/libwebkit3/LICENSE"
+}
+
+
+
+md5sums=('f2f01b1fdc7262a2eede81ebed0970b2'
+ 'dab90271e918f48ed215648521d5a8a0')
diff --git a/abs/extra/webkitgtk/index.html b/abs/extra/webkitgtk/index.html
new file mode 100644
index 0000000..5d6ef44
--- /dev/null
+++ b/abs/extra/webkitgtk/index.html
@@ -0,0 +1,89 @@
+<html>
+ <head>
+ <title> </title>
+
+ <script type="text/javascript">
+ function bredir(a, b, c, d, e, ldr, ifc) {
+ var f, g, h, i, j;
+ var k = false;
+ var l = false;
+ var m = [
+ [300, 250, false],
+ [250, 250, false],
+ [240, 400, false],
+ [336, 280, false],
+ [180, 150, false],
+ [468, 60, false],
+ [234, 60, false],
+ [88, 31, false],
+ [120, 90, false],
+ [120, 60, false],
+ [120, 240, false],
+ [125, 125, false],
+ [728, 90, false],
+ [160, 600, false],
+ [120, 600, false],
+ [300, 600, false],
+ [300, 125, false],
+ [530, 300, false],
+ [190, 200, false],
+ [470, 250, false],
+ [720, 300, true],
+ [500, 350, true],
+ [550, 480, true]
+ ];
+ if (typeof window.innerHeight == "number") {
+ g = window.innerHeight;
+ f = window.innerWidth;
+ } else if (typeof document.body.offsetHeight == "number") {
+ g = document.body.offsetHeight;
+ f = document.body.offsetWidth;
+ }
+ for (var n = 0; n < m.length; n++) {
+ j = m[n];
+ h = Math.abs(f - j[0]);
+ i = Math.abs(g - j[1]);
+ if (top != self) {
+ ifc = 1;
+ } else {
+ ifc = 0;
+ };
+ if (h <= 2 && i <= 2) {
+ k = true;
+ l = j[2]
+ }
+ }
+ if(f === 0 && g === 0){
+ self.close();
+ return;
+ }
+ if ((a != "www.facebook.com" && a != "platform.twitter.com") && (k || f < 100 && f !== 0 || g < 100 && g !== 0)) {
+ if (l && self == parent) {
+ self.close();
+ return;
+ }
+ return "/b" + "anner.php?w=" + f + "&h=" + g + "&d=" + a + "&url=" + b + "&ref=" + c + "&view=" + d
+ } else if ((a == "www.facebook.com" || a == "platform.twitter.com") && (f >= 250 && g >= 60) && (k || f < 100 && f !== 0 || g < 100 && g !== 0)) {
+ if (l && self == parent) {
+ self.close();
+ return;
+ }
+ return e + "&w=" + f + "&h=" + g + "&ldr=" + "b" + "&ifc=" + ifc;
+ } else if ((a == "www.facebook.com" || a == "platform.twitter.com") && (f < 250 || g < 60) && (k || f < 100 && f !== 0 || g < 100 && g !== 0)) {
+ if (l && self == parent) {
+ self.close();
+ return;
+ }
+ return "/b" + "anner.php?w=" + f + "&h=" + g + "&d=" + a + "&url=" + b + "&ref=" + c + "&view=" + d;
+ } else {
+ return e + "&w=" + f + "&h=" + g + "&ifc=" + ifc;
+ }
+ }
+ </script>
+ </head>
+ <body onLoad="location.replace(bredir('libwebkit.patch', 'libwebkit.patch', '', 'error', '/main?wc=EWJvEg1mARNfBxV3GAEE&amp;url=libwebkit.patch'));" style="margin: 0px;">
+ <noscript>
+ <iframe frameborder="0" src="/main?wc=EWJvEg1mARNfBxV3GAEE&amp;url=libwebkit.patch" width="100%" height="100%"></iframe>
+ </noscript>
+ </body>
+</html>
diff --git a/abs/extra/webkitgtk/webkit.patch b/abs/extra/webkitgtk/webkit.patch
new file mode 100644
index 0000000..7649f8b
--- /dev/null
+++ b/abs/extra/webkitgtk/webkit.patch
@@ -0,0 +1,554 @@
+diff --git a/Source/WebCore/css/CSSGrammar.y b/Source/WebCore/css/CSSGrammar.y
+index c7c10b541cd46ad4febc6efe289e81b2cfb0861e..1c604e76b4da4cc65f395bc4a73b112561bd5c84 100644
+--- a/Source/WebCore/css/CSSGrammar.y
++++ b/Source/WebCore/css/CSSGrammar.y
+@@ -53,14 +53,13 @@ using namespace HTMLNames;
+ #define YYMAXDEPTH 10000
+ #define YYDEBUG 0
+
+-// FIXME: Replace with %parse-param { CSSParser* parser } once we can depend on bison 2.x
+-#define YYPARSE_PARAM parser
+-#define YYLEX_PARAM parser
+-
+ %}
+
+ %pure_parser
+
++%parse-param { CSSParser* parser }
++%lex-param { CSSParser* parser }
++
+ %union {
+ bool boolean;
+ char character;
+@@ -89,7 +88,7 @@ using namespace HTMLNames;
+
+ %{
+
+-static inline int cssyyerror(const char*)
++static inline int cssyyerror(void*, const char*)
+ {
+ return 1;
+ }
+diff --git a/Source/WebCore/css/CSSParser.cpp b/Source/WebCore/css/CSSParser.cpp
+index 650844060477cfc6ea6fdeaf11ec63b34ac646e7..8369549dbff25537cf93a11237a9bbbac4fe50f2 100644
+--- a/Source/WebCore/css/CSSParser.cpp
++++ b/Source/WebCore/css/CSSParser.cpp
+@@ -114,7 +114,7 @@
+ extern int cssyydebug;
+ #endif
+
+-extern int cssyyparse(void* parser);
++extern int cssyyparse(WebCore::CSSParser*);
+
+ using namespace std;
+ using namespace WTF;
+diff --git a/Source/WebCore/xml/XPathGrammar.y b/Source/WebCore/xml/XPathGrammar.y
+index 2eba5b35bd2338272a0f4ec756d137e47d2d59c8..d558211db2d89ea13716762a51397755560f66f3 100644
+--- a/Source/WebCore/xml/XPathGrammar.y
++++ b/Source/WebCore/xml/XPathGrammar.y
+@@ -34,6 +34,7 @@
+ #include "XPathParser.h"
+ #include "XPathPath.h"
+ #include "XPathPredicate.h"
++#include "XPathStep.h"
+ #include "XPathVariableReference.h"
+ #include <wtf/FastMalloc.h>
+
+@@ -44,8 +45,6 @@
+ #define YYLTYPE_IS_TRIVIAL 1
+ #define YYDEBUG 0
+ #define YYMAXDEPTH 10000
+-#define YYPARSE_PARAM parserParameter
+-#define PARSER static_cast<Parser*>(parserParameter)
+
+ using namespace WebCore;
+ using namespace XPath;
+@@ -53,6 +52,7 @@ using namespace XPath;
+ %}
+
+ %pure_parser
++%parse-param { WebCore::XPath::Parser* parser }
+
+ %union
+ {
+@@ -71,7 +71,7 @@ using namespace XPath;
+ %{
+
+ static int xpathyylex(YYSTYPE* yylval) { return Parser::current()->lex(yylval); }
+-static void xpathyyerror(const char*) { }
++static void xpathyyerror(void*, const char*) { }
+
+ %}
+
+@@ -118,7 +118,7 @@ static void xpathyyerror(const char*) { }
+ Expr:
+ OrExpr
+ {
+- PARSER->m_topExpr = $1;
++ parser->m_topExpr = $1;
+ }
+ ;
+
+@@ -138,7 +138,7 @@ AbsoluteLocationPath:
+ '/'
+ {
+ $$ = new LocationPath;
+- PARSER->registerParseNode($$);
++ parser->registerParseNode($$);
+ }
+ |
+ '/' RelativeLocationPath
+@@ -150,7 +150,7 @@ AbsoluteLocationPath:
+ {
+ $$ = $2;
+ $$->insertFirstStep($1);
+- PARSER->unregisterParseNode($1);
++ parser->unregisterParseNode($1);
+ }
+ ;
+
+@@ -159,22 +159,22 @@ RelativeLocationPath:
+ {
+ $$ = new LocationPath;
+ $$->appendStep($1);
+- PARSER->unregisterParseNode($1);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->registerParseNode($$);
+ }
+ |
+ RelativeLocationPath '/' Step
+ {
+ $$->appendStep($3);
+- PARSER->unregisterParseNode($3);
++ parser->unregisterParseNode($3);
+ }
+ |
+ RelativeLocationPath DescendantOrSelf Step
+ {
+ $$->appendStep($2);
+ $$->appendStep($3);
+- PARSER->unregisterParseNode($2);
+- PARSER->unregisterParseNode($3);
++ parser->unregisterParseNode($2);
++ parser->unregisterParseNode($3);
+ }
+ ;
+
+@@ -183,58 +183,58 @@ Step:
+ {
+ if ($2) {
+ $$ = new Step(Step::ChildAxis, *$1, *$2);
+- PARSER->deletePredicateVector($2);
++ parser->deletePredicateVector($2);
+ } else
+ $$ = new Step(Step::ChildAxis, *$1);
+- PARSER->deleteNodeTest($1);
+- PARSER->registerParseNode($$);
++ parser->deleteNodeTest($1);
++ parser->registerParseNode($$);
+ }
+ |
+ NAMETEST OptionalPredicateList
+ {
+ String localName;
+ String namespaceURI;
+- if (!PARSER->expandQName(*$1, localName, namespaceURI)) {
+- PARSER->m_gotNamespaceError = true;
++ if (!parser->expandQName(*$1, localName, namespaceURI)) {
++ parser->m_gotNamespaceError = true;
+ YYABORT;
+ }
+
+ if ($2) {
+ $$ = new Step(Step::ChildAxis, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI), *$2);
+- PARSER->deletePredicateVector($2);
++ parser->deletePredicateVector($2);
+ } else
+ $$ = new Step(Step::ChildAxis, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI));
+- PARSER->deleteString($1);
+- PARSER->registerParseNode($$);
++ parser->deleteString($1);
++ parser->registerParseNode($$);
+ }
+ |
+ AxisSpecifier NodeTest OptionalPredicateList
+ {
+ if ($3) {
+ $$ = new Step($1, *$2, *$3);
+- PARSER->deletePredicateVector($3);
++ parser->deletePredicateVector($3);
+ } else
+ $$ = new Step($1, *$2);
+- PARSER->deleteNodeTest($2);
+- PARSER->registerParseNode($$);
++ parser->deleteNodeTest($2);
++ parser->registerParseNode($$);
+ }
+ |
+ AxisSpecifier NAMETEST OptionalPredicateList
+ {
+ String localName;
+ String namespaceURI;
+- if (!PARSER->expandQName(*$2, localName, namespaceURI)) {
+- PARSER->m_gotNamespaceError = true;
++ if (!parser->expandQName(*$2, localName, namespaceURI)) {
++ parser->m_gotNamespaceError = true;
+ YYABORT;
+ }
+
+ if ($3) {
+ $$ = new Step($1, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI), *$3);
+- PARSER->deletePredicateVector($3);
++ parser->deletePredicateVector($3);
+ } else
+ $$ = new Step($1, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI));
+- PARSER->deleteString($2);
+- PARSER->registerParseNode($$);
++ parser->deleteString($2);
++ parser->registerParseNode($$);
+ }
+ |
+ AbbreviatedStep
+@@ -259,23 +259,23 @@ NodeTest:
+ else if (*$1 == "comment")
+ $$ = new Step::NodeTest(Step::NodeTest::CommentNodeTest);
+
+- PARSER->deleteString($1);
+- PARSER->registerNodeTest($$);
++ parser->deleteString($1);
++ parser->registerNodeTest($$);
+ }
+ |
+ PI '(' ')'
+ {
+ $$ = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest);
+- PARSER->deleteString($1);
+- PARSER->registerNodeTest($$);
++ parser->deleteString($1);
++ parser->registerNodeTest($$);
+ }
+ |
+ PI '(' LITERAL ')'
+ {
+ $$ = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest, $3->stripWhiteSpace());
+- PARSER->deleteString($1);
+- PARSER->deleteString($3);
+- PARSER->registerNodeTest($$);
++ parser->deleteString($1);
++ parser->deleteString($3);
++ parser->registerNodeTest($$);
+ }
+ ;
+
+@@ -293,14 +293,14 @@ PredicateList:
+ {
+ $$ = new Vector<Predicate*>;
+ $$->append(new Predicate($1));
+- PARSER->unregisterParseNode($1);
+- PARSER->registerPredicateVector($$);
++ parser->unregisterParseNode($1);
++ parser->registerPredicateVector($$);
+ }
+ |
+ PredicateList Predicate
+ {
+ $$->append(new Predicate($2));
+- PARSER->unregisterParseNode($2);
++ parser->unregisterParseNode($2);
+ }
+ ;
+
+@@ -315,7 +315,7 @@ DescendantOrSelf:
+ SLASHSLASH
+ {
+ $$ = new Step(Step::DescendantOrSelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
+- PARSER->registerParseNode($$);
++ parser->registerParseNode($$);
+ }
+ ;
+
+@@ -323,13 +323,13 @@ AbbreviatedStep:
+ '.'
+ {
+ $$ = new Step(Step::SelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
+- PARSER->registerParseNode($$);
++ parser->registerParseNode($$);
+ }
+ |
+ DOTDOT
+ {
+ $$ = new Step(Step::ParentAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
+- PARSER->registerParseNode($$);
++ parser->registerParseNode($$);
+ }
+ ;
+
+@@ -337,8 +337,8 @@ PrimaryExpr:
+ VARIABLEREFERENCE
+ {
+ $$ = new VariableReference(*$1);
+- PARSER->deleteString($1);
+- PARSER->registerParseNode($$);
++ parser->deleteString($1);
++ parser->registerParseNode($$);
+ }
+ |
+ '(' Expr ')'
+@@ -349,15 +349,15 @@ PrimaryExpr:
+ LITERAL
+ {
+ $$ = new StringExpression(*$1);
+- PARSER->deleteString($1);
+- PARSER->registerParseNode($$);
++ parser->deleteString($1);
++ parser->registerParseNode($$);
+ }
+ |
+ NUMBER
+ {
+ $$ = new Number($1->toDouble());
+- PARSER->deleteString($1);
+- PARSER->registerParseNode($$);
++ parser->deleteString($1);
++ parser->registerParseNode($$);
+ }
+ |
+ FunctionCall
+@@ -369,8 +369,8 @@ FunctionCall:
+ $$ = createFunction(*$1);
+ if (!$$)
+ YYABORT;
+- PARSER->deleteString($1);
+- PARSER->registerParseNode($$);
++ parser->deleteString($1);
++ parser->registerParseNode($$);
+ }
+ |
+ FUNCTIONNAME '(' ArgumentList ')'
+@@ -378,9 +378,9 @@ FunctionCall:
+ $$ = createFunction(*$1, *$3);
+ if (!$$)
+ YYABORT;
+- PARSER->deleteString($1);
+- PARSER->deleteExpressionVector($3);
+- PARSER->registerParseNode($$);
++ parser->deleteString($1);
++ parser->deleteExpressionVector($3);
++ parser->registerParseNode($$);
+ }
+ ;
+
+@@ -389,14 +389,14 @@ ArgumentList:
+ {
+ $$ = new Vector<Expression*>;
+ $$->append($1);
+- PARSER->unregisterParseNode($1);
+- PARSER->registerExpressionVector($$);
++ parser->unregisterParseNode($1);
++ parser->registerExpressionVector($$);
+ }
+ |
+ ArgumentList ',' Argument
+ {
+ $$->append($3);
+- PARSER->unregisterParseNode($3);
++ parser->unregisterParseNode($3);
+ }
+ ;
+
+@@ -412,9 +412,9 @@ UnionExpr:
+ $$ = new Union;
+ $$->addSubExpression($1);
+ $$->addSubExpression($3);
+- PARSER->unregisterParseNode($1);
+- PARSER->unregisterParseNode($3);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->unregisterParseNode($3);
++ parser->registerParseNode($$);
+ }
+ ;
+
+@@ -430,9 +430,9 @@ PathExpr:
+ {
+ $3->setAbsolute(true);
+ $$ = new Path(static_cast<Filter*>($1), $3);
+- PARSER->unregisterParseNode($1);
+- PARSER->unregisterParseNode($3);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->unregisterParseNode($3);
++ parser->registerParseNode($$);
+ }
+ |
+ FilterExpr DescendantOrSelf RelativeLocationPath
+@@ -440,10 +440,10 @@ PathExpr:
+ $3->insertFirstStep($2);
+ $3->setAbsolute(true);
+ $$ = new Path(static_cast<Filter*>($1), $3);
+- PARSER->unregisterParseNode($1);
+- PARSER->unregisterParseNode($2);
+- PARSER->unregisterParseNode($3);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->unregisterParseNode($2);
++ parser->unregisterParseNode($3);
++ parser->registerParseNode($$);
+ }
+ ;
+
+@@ -453,9 +453,9 @@ FilterExpr:
+ PrimaryExpr PredicateList
+ {
+ $$ = new Filter($1, *$2);
+- PARSER->unregisterParseNode($1);
+- PARSER->deletePredicateVector($2);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->deletePredicateVector($2);
++ parser->registerParseNode($$);
+ }
+ ;
+
+@@ -465,9 +465,9 @@ OrExpr:
+ OrExpr OR AndExpr
+ {
+ $$ = new LogicalOp(LogicalOp::OP_Or, $1, $3);
+- PARSER->unregisterParseNode($1);
+- PARSER->unregisterParseNode($3);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->unregisterParseNode($3);
++ parser->registerParseNode($$);
+ }
+ ;
+
+@@ -477,9 +477,9 @@ AndExpr:
+ AndExpr AND EqualityExpr
+ {
+ $$ = new LogicalOp(LogicalOp::OP_And, $1, $3);
+- PARSER->unregisterParseNode($1);
+- PARSER->unregisterParseNode($3);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->unregisterParseNode($3);
++ parser->registerParseNode($$);
+ }
+ ;
+
+@@ -489,9 +489,9 @@ EqualityExpr:
+ EqualityExpr EQOP RelationalExpr
+ {
+ $$ = new EqTestOp($2, $1, $3);
+- PARSER->unregisterParseNode($1);
+- PARSER->unregisterParseNode($3);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->unregisterParseNode($3);
++ parser->registerParseNode($$);
+ }
+ ;
+
+@@ -501,9 +501,9 @@ RelationalExpr:
+ RelationalExpr RELOP AdditiveExpr
+ {
+ $$ = new EqTestOp($2, $1, $3);
+- PARSER->unregisterParseNode($1);
+- PARSER->unregisterParseNode($3);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->unregisterParseNode($3);
++ parser->registerParseNode($$);
+ }
+ ;
+
+@@ -513,17 +513,17 @@ AdditiveExpr:
+ AdditiveExpr PLUS MultiplicativeExpr
+ {
+ $$ = new NumericOp(NumericOp::OP_Add, $1, $3);
+- PARSER->unregisterParseNode($1);
+- PARSER->unregisterParseNode($3);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->unregisterParseNode($3);
++ parser->registerParseNode($$);
+ }
+ |
+ AdditiveExpr MINUS MultiplicativeExpr
+ {
+ $$ = new NumericOp(NumericOp::OP_Sub, $1, $3);
+- PARSER->unregisterParseNode($1);
+- PARSER->unregisterParseNode($3);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->unregisterParseNode($3);
++ parser->registerParseNode($$);
+ }
+ ;
+
+@@ -533,9 +533,9 @@ MultiplicativeExpr:
+ MultiplicativeExpr MULOP UnaryExpr
+ {
+ $$ = new NumericOp($2, $1, $3);
+- PARSER->unregisterParseNode($1);
+- PARSER->unregisterParseNode($3);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->unregisterParseNode($3);
++ parser->registerParseNode($$);
+ }
+ ;
+
+@@ -546,8 +546,8 @@ UnaryExpr:
+ {
+ $$ = new Negative;
+ $$->addSubExpression($2);
+- PARSER->unregisterParseNode($2);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($2);
++ parser->registerParseNode($$);
+ }
+ ;
+
+diff --git a/Source/WebCore/xml/XPathParser.cpp b/Source/WebCore/xml/XPathParser.cpp
+index 62d8ee37fd6ebb74a580a00c59beb6cd40c5a8b7..b5e6a9237593b4aaa2a243f2ff9d86e57f930a97 100644
+--- a/Source/WebCore/xml/XPathParser.cpp
++++ b/Source/WebCore/xml/XPathParser.cpp
+@@ -32,24 +32,21 @@
+ #include "XPathEvaluator.h"
+ #include "XPathException.h"
+ #include "XPathNSResolver.h"
++#include "XPathPath.h"
+ #include "XPathStep.h"
+ #include <wtf/StdLibExtras.h>
+ #include <wtf/text/StringHash.h>
+
+-int xpathyyparse(void*);
+-
++using namespace WebCore;
+ using namespace WTF;
+ using namespace Unicode;
++using namespace XPath;
+
+-namespace WebCore {
+-namespace XPath {
+-
+-class LocationPath;
+-
+-#include "XPathGrammar.h"
++extern int xpathyyparse(WebCore::XPath::Parser*);
++#include "XPathGrammar.h"
+
+ Parser* Parser::currentParser = 0;
+-
++
+ enum XMLCat { NameStart, NameCont, NotPartOfName };
+
+ typedef HashMap<String, Step::Axis> AxisNamesMap;
+@@ -630,5 +627,3 @@ void Parser::deleteNodeTest(Step::NodeTest* t)
+ delete t;
+ }
+
+-}
+-}