From f663bd44b2b9389a70c568329873b3584308344c Mon Sep 17 00:00:00 2001
From: Britney Fransen <brfransen@gmail.com>
Date: Mon, 15 Dec 2014 20:42:09 +0000
Subject: libtorrent-rasterbar: update to 0.16.17

---
 abs/extra/libtorrent-rasterbar/PKGBUILD |   6 +-
 abs/extra/libwebkit/PKGBUILD            |  61 ----
 abs/extra/libwebkit/index.html          |  89 -----
 abs/extra/libwebkit/webkit.patch        | 554 --------------------------------
 abs/extra/webkitgtk/PKGBUILD            |  61 ++++
 abs/extra/webkitgtk/index.html          |  89 +++++
 abs/extra/webkitgtk/webkit.patch        | 554 ++++++++++++++++++++++++++++++++
 7 files changed, 707 insertions(+), 707 deletions(-)
 delete mode 100644 abs/extra/libwebkit/PKGBUILD
 delete mode 100644 abs/extra/libwebkit/index.html
 delete mode 100644 abs/extra/libwebkit/webkit.patch
 create mode 100644 abs/extra/webkitgtk/PKGBUILD
 create mode 100644 abs/extra/webkitgtk/index.html
 create mode 100644 abs/extra/webkitgtk/webkit.patch

diff --git a/abs/extra/libtorrent-rasterbar/PKGBUILD b/abs/extra/libtorrent-rasterbar/PKGBUILD
index d1f4910..164f6ab 100644
--- a/abs/extra/libtorrent-rasterbar/PKGBUILD
+++ b/abs/extra/libtorrent-rasterbar/PKGBUILD
@@ -3,8 +3,8 @@
 # Contributor: Hugo Doria <hugo@archlinux.org>
 
 pkgname=libtorrent-rasterbar
-pkgver=0.16.16
-pkgrel=1
+pkgver=0.16.17
+pkgrel=3
 epoch=1
 pkgdesc="A C++ library that aims to be a good alternative to all the other bittorrent implementations around"
 url="http://www.rasterbar.com/products/libtorrent/"
@@ -14,7 +14,7 @@ depends=('boost-libs' 'geoip' 'python2')
 makedepends=('boost')
 options=('!emptydirs')
 source=(http://downloads.sourceforge.net/sourceforge/libtorrent/$pkgname-$pkgver.tar.gz)
-sha1sums=('de8faed5cbc09baddb2748cb7b75edd07ab0addc')
+sha1sums=('e713b5dfc45194bfc50fa21096ab67c374ae3740')
 
 build() {
   cd $pkgname-$pkgver
diff --git a/abs/extra/libwebkit/PKGBUILD b/abs/extra/libwebkit/PKGBUILD
deleted file mode 100644
index 93a98cd..0000000
--- a/abs/extra/libwebkit/PKGBUILD
+++ /dev/null
@@ -1,61 +0,0 @@
-# $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/libwebkit/index.html b/abs/extra/libwebkit/index.html
deleted file mode 100644
index 5d6ef44..0000000
--- a/abs/extra/libwebkit/index.html
+++ /dev/null
@@ -1,89 +0,0 @@
-<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/libwebkit/webkit.patch b/abs/extra/libwebkit/webkit.patch
deleted file mode 100644
index 7649f8b..0000000
--- a/abs/extra/libwebkit/webkit.patch
+++ /dev/null
@@ -1,554 +0,0 @@
-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;
- }
- 
--}
--}
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;
+ }
+ 
+-}
+-}
-- 
cgit v0.12