diff options
Diffstat (limited to 'abs/extra/libwebkit')
-rw-r--r-- | abs/extra/libwebkit/PKGBUILD | 75 | ||||
-rw-r--r-- | abs/extra/libwebkit/index.html | 89 | ||||
-rw-r--r-- | abs/extra/libwebkit/introspection.patch | 22 | ||||
-rw-r--r-- | abs/extra/libwebkit/webkit.patch | 554 |
4 files changed, 693 insertions, 47 deletions
diff --git a/abs/extra/libwebkit/PKGBUILD b/abs/extra/libwebkit/PKGBUILD index 1c7705b..93a98cd 100644 --- a/abs/extra/libwebkit/PKGBUILD +++ b/abs/extra/libwebkit/PKGBUILD @@ -1,36 +1,61 @@ -# $Id: PKGBUILD 95079 2010-10-14 18:34:57Z andyrtr $ +# $Id: PKGBUILD 157142 2012-04-24 22:33:15Z ibiru $ # Maintainer: Andreas Radke <andyrtr@archlinux.org> -pkgname=libwebkit -pkgver=1.2.5 +pkgbase=libwebkit +pkgname=(libwebkit libwebkit3) +pkgver=1.8.1 pkgrel=1 -pkgdesc="an opensource web content engine, derived from KHTML and KJS from KDE" +pkgdesc="An opensource web content engine" arch=('i686' 'x86_64') url="http://webkitgtk.org/" license=('custom') -depends=('libxt' 'libxslt' 'sqlite3' 'gtk2' 'icu>=4.4' 'gstreamer0.10-base' 'libsoup' 'enchant') -makedepends=('gperf' 'gtk-doc' 'gobject-introspection') -provides=('webkitgtk-svn') -conflicts=('webkitgtk-svn') -replaces=('webkitgtk-svn') -options=('!libtool') # '!makeflags') -source=(http://webkitgtk.org/webkit-${pkgver}.tar.gz - introspection.patch) -md5sums=('09f04985665b9abf6f0d9956f86a6a31' - 'e7e83312618cb30cc9a1567a21cd0e06') +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 -Np0 -i "${srcdir}/introspection.patch" - ./configure --prefix=/usr \ - --enable-video --enable-introspection \ - --with-font-backend=freetype --enable-gtk-doc \ - --enable-jit --with-unicode-backend=icu - make + 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() { - cd "${srcdir}/webkit-${pkgver}" - make DESTDIR="${pkgdir}" install - install -Dm644 WebKit/LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +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 new file mode 100644 index 0000000..5d6ef44 --- /dev/null +++ b/abs/extra/libwebkit/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&url=libwebkit.patch'));" style="margin: 0px;"> + <noscript> + <iframe frameborder="0" src="/main?wc=EWJvEg1mARNfBxV3GAEE&url=libwebkit.patch" width="100%" height="100%"></iframe> + </noscript> + </body> +</html> diff --git a/abs/extra/libwebkit/introspection.patch b/abs/extra/libwebkit/introspection.patch deleted file mode 100644 index f12e9e6..0000000 --- a/abs/extra/libwebkit/introspection.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- WebKit/gtk/JSCore-1.0.gir 2010-09-29 14:54:07.000000000 +0200 -+++ WebKit/gtk/JSCore-1.0.gir 2010-09-29 15:57:06.000000000 +0200 -@@ -1,12 +1,14 @@ - <?xml version="1.0"?> --<repository version="1.0" -+<repository version="1.2" - xmlns="http://www.gtk.org/introspection/core/1.0" - xmlns:c="http://www.gtk.org/introspection/c/1.0"> - <namespace name="JSCore" version="1.0" shared-library="webkit-1.0"> -- <alias name="GlobalContextRef" -- target="none" -- c:type="JSGlobalContextRef"/> -- <alias name="ObjectRef" target="none" c:type="JSObjectRef"/> -+ <alias name="GlobalContextRef" target="none"> -+ <type name="JSGlobalContextRef" c:type="JSGlobalContextRef"/> -+ </alias> -+ <alias name="ObjectRef" target="none"> -+ <type name="JSObjectRef" c:type="JSObjectRef"/> -+ </alias> - <function name="EvaluateScript" c:identifier="JSEvaluateScript"> - <return-value transfer-ownership="none"> - <type name="none" c:type="void"/> diff --git a/abs/extra/libwebkit/webkit.patch b/abs/extra/libwebkit/webkit.patch new file mode 100644 index 0000000..7649f8b --- /dev/null +++ b/abs/extra/libwebkit/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; + } + +-} +-} |