[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

kocienda kocienda at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 05:41:00 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit e49bd0e00f8352017da92e503b2e25894b26dad5
Author: kocienda <kocienda at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Aug 30 16:00:32 2001 +0000

    Finished work getting khtml/ecma to compile
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/Makefile.in b/WebCore/Makefile.in
index 674c449..65420e5 100644
--- a/WebCore/Makefile.in
+++ b/WebCore/Makefile.in
@@ -20,6 +20,7 @@ SUBDIRS = \
 	src/kdelibs/kjs \
 	src/kdelibs/khtml/css \
 	src/kdelibs/khtml/dom \
+	src/kdelibs/khtml/ecma \
 	src/kdelibs/khtml/xml \
 	$(NULL)
 
diff --git a/WebCore/configure b/WebCore/configure
index c158efd..a02fc95 100644
--- a/WebCore/configure
+++ b/WebCore/configure
@@ -558,6 +558,7 @@ SUBDIRS='
 	src/kdelibs/kjs
 	src/kdelibs/khtml/css
 	src/kdelibs/khtml/dom
+	src/kdelibs/khtml/ecma
 	src/kdelibs/khtml/xml
 '
 for subdir in $SUBDIRS; do
@@ -597,7 +598,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
 fi
 
 echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:601: checking host system type" >&5
+echo "configure:602: checking host system type" >&5
 
 host_alias=$host
 case "$host_alias" in
@@ -628,7 +629,7 @@ esac
 # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:632: checking for $ac_word" >&5
+echo "configure:633: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -658,7 +659,7 @@ if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:662: checking for $ac_word" >&5
+echo "configure:663: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -709,7 +710,7 @@ fi
       # Extract the first word of "cl", so it can be a program name with args.
 set dummy cl; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:713: checking for $ac_word" >&5
+echo "configure:714: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -741,7 +742,7 @@ fi
 fi
 
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:745: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:746: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
 
 ac_ext=c
 # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -752,12 +753,12 @@ cross_compiling=$ac_cv_prog_cc_cross
 
 cat > conftest.$ac_ext << EOF
 
-#line 756 "configure"
+#line 757 "configure"
 #include "confdefs.h"
 
 main(){return(0);}
 EOF
-if { (eval echo configure:761: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:762: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   ac_cv_prog_cc_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
@@ -783,12 +784,12 @@ if test $ac_cv_prog_cc_works = no; then
   { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
 fi
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:787: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:788: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
 cross_compiling=$ac_cv_prog_cc_cross
 
 echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:792: checking whether we are using GNU C" >&5
+echo "configure:793: checking whether we are using GNU C" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -797,7 +798,7 @@ else
   yes;
 #endif
 EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:801: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:802: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gcc=yes
 else
   ac_cv_prog_gcc=no
@@ -816,7 +817,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
 ac_save_CFLAGS="$CFLAGS"
 CFLAGS=
 echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:820: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:821: checking whether ${CC-cc} accepts -g" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -857,7 +858,7 @@ CXXFLAGS=$CFLAGS
  
 
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:861: checking how to run the C preprocessor" >&5
+echo "configure:862: checking how to run the C preprocessor" >&5
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -872,13 +873,13 @@ else
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
-#line 876 "configure"
+#line 877 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:882: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:883: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -889,13 +890,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
-#line 893 "configure"
+#line 894 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:899: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:900: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -906,13 +907,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -nologo -E"
   cat > conftest.$ac_ext <<EOF
-#line 910 "configure"
+#line 911 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:916: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:917: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -939,7 +940,7 @@ echo "$ac_t""$CPP" 1>&6
 # Extract the first word of "flex", so it can be a program name with args.
 set dummy flex; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:943: checking for $ac_word" >&5
+echo "configure:944: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -973,7 +974,7 @@ then
   *) ac_lib=l ;;
   esac
   echo $ac_n "checking for yywrap in -l$ac_lib""... $ac_c" 1>&6
-echo "configure:977: checking for yywrap in -l$ac_lib" >&5
+echo "configure:978: checking for yywrap in -l$ac_lib" >&5
 ac_lib_var=`echo $ac_lib'_'yywrap | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -981,7 +982,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-l$ac_lib  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 985 "configure"
+#line 986 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -992,7 +993,7 @@ int main() {
 yywrap()
 ; return 0; }
 EOF
-if { (eval echo configure:996: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:997: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -1015,7 +1016,7 @@ fi
 fi
 
 echo $ac_n "checking lex output file root""... $ac_c" 1>&6
-echo "configure:1019: checking lex output file root" >&5
+echo "configure:1020: checking lex output file root" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_lex_root'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1036,7 +1037,7 @@ echo "$ac_t""$ac_cv_prog_lex_root" 1>&6
 LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root
 
 echo $ac_n "checking whether yytext is a pointer""... $ac_c" 1>&6
-echo "configure:1040: checking whether yytext is a pointer" >&5
+echo "configure:1041: checking whether yytext is a pointer" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_lex_yytext_pointer'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1048,14 +1049,14 @@ echo 'extern char *yytext;' >>$LEX_OUTPUT_ROOT.c
 ac_save_LIBS="$LIBS"
 LIBS="$LIBS $LEXLIB"
 cat > conftest.$ac_ext <<EOF
-#line 1052 "configure"
+#line 1053 "configure"
 #include "confdefs.h"
 `cat $LEX_OUTPUT_ROOT.c`
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:1059: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1060: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_prog_lex_yytext_pointer=yes
 else
@@ -1081,7 +1082,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1085: checking for $ac_word" >&5
+echo "configure:1086: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1122,7 +1123,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1126: checking for $ac_word" >&5
+echo "configure:1127: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1161,7 +1162,7 @@ YACCFLAGS="-d"
 # Extract the first word of "ar", so it can be a program name with args.
 set dummy ar; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1165: checking for $ac_word" >&5
+echo "configure:1166: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1197,7 +1198,7 @@ ARFLAGS="cr"
 # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1201: checking for $ac_word" >&5
+echo "configure:1202: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1234,7 +1235,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1238: checking for $ac_word" >&5
+echo "configure:1239: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_SED'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1269,7 +1270,7 @@ if test -z "$ac_cv_prog_SED"; then
 fi
 
 echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:1273: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:1274: checking whether ${MAKE-make} sets \${MAKE}" >&5
 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1307,7 +1308,7 @@ fi
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
 echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:1311: checking for a BSD compatible install" >&5
+echo "configure:1312: checking for a BSD compatible install" >&5
 if test -z "$INSTALL"; then
 if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1386,12 +1387,12 @@ for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6
-echo "configure:1390: checking for $ac_hdr that defines DIR" >&5
+echo "configure:1391: checking for $ac_hdr that defines DIR" >&5
 if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1395 "configure"
+#line 1396 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <$ac_hdr>
@@ -1399,7 +1400,7 @@ int main() {
 DIR *dirp = 0;
 ; return 0; }
 EOF
-if { (eval echo configure:1403: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1404: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   eval "ac_cv_header_dirent_$ac_safe=yes"
 else
@@ -1424,7 +1425,7 @@ done
 # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
 if test $ac_header_dirent = dirent.h; then
 echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
-echo "configure:1428: checking for opendir in -ldir" >&5
+echo "configure:1429: checking for opendir in -ldir" >&5
 ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1432,7 +1433,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldir  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1436 "configure"
+#line 1437 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -1443,7 +1444,7 @@ int main() {
 opendir()
 ; return 0; }
 EOF
-if { (eval echo configure:1447: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1448: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -1465,7 +1466,7 @@ fi
 
 else
 echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
-echo "configure:1469: checking for opendir in -lx" >&5
+echo "configure:1470: checking for opendir in -lx" >&5
 ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1473,7 +1474,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lx  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1477 "configure"
+#line 1478 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -1484,7 +1485,7 @@ int main() {
 opendir()
 ; return 0; }
 EOF
-if { (eval echo configure:1488: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1489: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -1507,12 +1508,12 @@ fi
 fi
 
 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:1511: checking for ANSI C header files" >&5
+echo "configure:1512: checking for ANSI C header files" >&5
 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1516 "configure"
+#line 1517 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <stdarg.h>
@@ -1520,7 +1521,7 @@ else
 #include <float.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1524: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1525: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -1537,7 +1538,7 @@ rm -f conftest*
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 1541 "configure"
+#line 1542 "configure"
 #include "confdefs.h"
 #include <string.h>
 EOF
@@ -1555,7 +1556,7 @@ fi
 if test $ac_cv_header_stdc = yes; then
   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 1559 "configure"
+#line 1560 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
@@ -1576,7 +1577,7 @@ if test "$cross_compiling" = yes; then
   :
 else
   cat > conftest.$ac_ext <<EOF
-#line 1580 "configure"
+#line 1581 "configure"
 #include "confdefs.h"
 #include <ctype.h>
 #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -1587,7 +1588,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
 exit (0); }
 
 EOF
-if { (eval echo configure:1591: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1592: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   :
 else
@@ -1614,17 +1615,17 @@ for ac_hdr in sys/param.h sys/mman.h sys/time.h sys/cdefs.h fnmatch.h sysent.h s
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1618: checking for $ac_hdr" >&5
+echo "configure:1619: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1623 "configure"
+#line 1624 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1628: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1629: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -1653,12 +1654,12 @@ done
 
 
 echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:1657: checking for working const" >&5
+echo "configure:1658: checking for working const" >&5
 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1662 "configure"
+#line 1663 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -1707,7 +1708,7 @@ ccp = (char const *const *) p;
 
 ; return 0; }
 EOF
-if { (eval echo configure:1711: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1712: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_const=yes
 else
@@ -1728,21 +1729,21 @@ EOF
 fi
 
 echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:1732: checking for inline" >&5
+echo "configure:1733: checking for inline" >&5
 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_cv_c_inline=no
 for ac_kw in inline __inline__ __inline; do
   cat > conftest.$ac_ext <<EOF
-#line 1739 "configure"
+#line 1740 "configure"
 #include "confdefs.h"
 
 int main() {
 } $ac_kw foo() {
 ; return 0; }
 EOF
-if { (eval echo configure:1746: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1747: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_inline=$ac_kw; break
 else
@@ -1768,12 +1769,12 @@ EOF
 esac
 
 echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
-echo "configure:1772: checking whether time.h and sys/time.h may both be included" >&5
+echo "configure:1773: checking whether time.h and sys/time.h may both be included" >&5
 if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1777 "configure"
+#line 1778 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/time.h>
@@ -1782,7 +1783,7 @@ int main() {
 struct tm *tp;
 ; return 0; }
 EOF
-if { (eval echo configure:1786: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1787: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_header_time=yes
 else
@@ -1807,12 +1808,12 @@ fi
 for ac_func in socket vsnprintf seteuid setegid random strfmon stpcpy mkstemp gettimeofday setenv unsetenv mkstemps
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1811: checking for $ac_func" >&5
+echo "configure:1812: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1816 "configure"
+#line 1817 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -1835,7 +1836,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:1839: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1840: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -1868,12 +1869,12 @@ ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$a
 cross_compiling=$ac_cv_prog_cc_cross
 
 echo $ac_n "checking for pid_t""... $ac_c" 1>&6
-echo "configure:1872: checking for pid_t" >&5
+echo "configure:1873: checking for pid_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1877 "configure"
+#line 1878 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -1902,17 +1903,17 @@ fi
 
 ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for vfork.h""... $ac_c" 1>&6
-echo "configure:1906: checking for vfork.h" >&5
+echo "configure:1907: checking for vfork.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1911 "configure"
+#line 1912 "configure"
 #include "confdefs.h"
 #include <vfork.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1916: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1917: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -1937,18 +1938,18 @@ else
 fi
 
 echo $ac_n "checking for working vfork""... $ac_c" 1>&6
-echo "configure:1941: checking for working vfork" >&5
+echo "configure:1942: checking for working vfork" >&5
 if eval "test \"`echo '$''{'ac_cv_func_vfork_works'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   if test "$cross_compiling" = yes; then
   echo $ac_n "checking for vfork""... $ac_c" 1>&6
-echo "configure:1947: checking for vfork" >&5
+echo "configure:1948: checking for vfork" >&5
 if eval "test \"`echo '$''{'ac_cv_func_vfork'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1952 "configure"
+#line 1953 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char vfork(); below.  */
@@ -1971,7 +1972,7 @@ vfork();
 
 ; return 0; }
 EOF
-if { (eval echo configure:1975: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1976: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_vfork=yes"
 else
@@ -1993,7 +1994,7 @@ fi
 ac_cv_func_vfork_works=$ac_cv_func_vfork
 else
   cat > conftest.$ac_ext <<EOF
-#line 1997 "configure"
+#line 1998 "configure"
 #include "confdefs.h"
 /* Thanks to Paul Eggert for this test.  */
 #include <stdio.h>
@@ -2088,7 +2089,7 @@ main() {
   }
 }
 EOF
-if { (eval echo configure:2092: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2093: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_func_vfork_works=yes
 else
@@ -2115,17 +2116,17 @@ for ac_hdr in ieeefp.h float.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2119: checking for $ac_hdr" >&5
+echo "configure:2120: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2124 "configure"
+#line 2125 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2129: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2130: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -2152,7 +2153,7 @@ fi
 done
 
 echo $ac_n "checking for isinf in -lm""... $ac_c" 1>&6
-echo "configure:2156: checking for isinf in -lm" >&5
+echo "configure:2157: checking for isinf in -lm" >&5
 ac_lib_var=`echo m'_'isinf | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2160,7 +2161,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lm  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2164 "configure"
+#line 2165 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2171,7 +2172,7 @@ int main() {
 isinf()
 ; return 0; }
 EOF
-if { (eval echo configure:2175: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2176: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2197,7 +2198,7 @@ else
 fi
 
 echo $ac_n "checking for finite in -lm""... $ac_c" 1>&6
-echo "configure:2201: checking for finite in -lm" >&5
+echo "configure:2202: checking for finite in -lm" >&5
 ac_lib_var=`echo m'_'finite | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2205,7 +2206,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lm  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2209 "configure"
+#line 2210 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2216,7 +2217,7 @@ int main() {
 finite()
 ; return 0; }
 EOF
-if { (eval echo configure:2220: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2221: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2242,7 +2243,7 @@ else
 fi
 
 echo $ac_n "checking for _finite in -lm""... $ac_c" 1>&6
-echo "configure:2246: checking for _finite in -lm" >&5
+echo "configure:2247: checking for _finite in -lm" >&5
 ac_lib_var=`echo m'_'_finite | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2250,7 +2251,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lm  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2254 "configure"
+#line 2255 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2261,7 +2262,7 @@ int main() {
 _finite()
 ; return 0; }
 EOF
-if { (eval echo configure:2265: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2266: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2287,7 +2288,7 @@ else
 fi
 
 echo $ac_n "checking for isnan in -lm""... $ac_c" 1>&6
-echo "configure:2291: checking for isnan in -lm" >&5
+echo "configure:2292: checking for isnan in -lm" >&5
 ac_lib_var=`echo m'_'isnan | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2295,7 +2296,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lm  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2299 "configure"
+#line 2300 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2306,7 +2307,7 @@ int main() {
 isnan()
 ; return 0; }
 EOF
-if { (eval echo configure:2310: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2311: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2441,6 +2442,7 @@ trap 'rm -fr `echo "Makefile
 	src/kdelibs/kjs/Makefile 
 	src/kdelibs/khtml/css/Makefile
 	src/kdelibs/khtml/dom/Makefile
+	src/kdelibs/khtml/ecma/Makefile
 	src/kdelibs/khtml/xml/Makefile
  config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
 EOF
@@ -2545,6 +2547,7 @@ CONFIG_FILES=\${CONFIG_FILES-"Makefile
 	src/kdelibs/kjs/Makefile 
 	src/kdelibs/khtml/css/Makefile
 	src/kdelibs/khtml/dom/Makefile
+	src/kdelibs/khtml/ecma/Makefile
 	src/kdelibs/khtml/xml/Makefile
 "}
 EOF
diff --git a/WebCore/configure.in b/WebCore/configure.in
index 8dc59d2..5a46e2b 100644
--- a/WebCore/configure.in
+++ b/WebCore/configure.in
@@ -42,6 +42,7 @@ SUBDIRS='
 	src/kdelibs/kjs
 	src/kdelibs/khtml/css
 	src/kdelibs/khtml/dom
+	src/kdelibs/khtml/ecma
 	src/kdelibs/khtml/xml
 '
 for subdir in $SUBDIRS; do
@@ -185,6 +186,7 @@ AC_OUTPUT(
 	src/kdelibs/kjs/Makefile 
 	src/kdelibs/khtml/css/Makefile
 	src/kdelibs/khtml/dom/Makefile
+	src/kdelibs/khtml/ecma/Makefile
 	src/kdelibs/khtml/xml/Makefile
 )
 
diff --git a/WebCore/khtml/css/MakeSystemChanges.sh b/WebCore/khtml/ecma/MakeSystemChanges.sh
similarity index 100%
copy from WebCore/khtml/css/MakeSystemChanges.sh
copy to WebCore/khtml/ecma/MakeSystemChanges.sh
diff --git a/WebCore/src/kdelibs/khtml/dom/Makefile.in.apple b/WebCore/khtml/ecma/Makefile.in.apple
similarity index 86%
copy from WebCore/src/kdelibs/khtml/dom/Makefile.in.apple
copy to WebCore/khtml/ecma/Makefile.in.apple
index 9811ebc..4ebd355 100644
--- a/WebCore/src/kdelibs/khtml/dom/Makefile.in.apple
+++ b/WebCore/khtml/ecma/Makefile.in.apple
@@ -18,14 +18,14 @@ include $(TOPSRCDIR)/Makefile.vars
 #----------------------------------------------------------------------
 # Set variables for this directory
 
-ALLOBJECTS = $(patsubst %.cpp,%.o,$(wildcard *.cpp))
-CXXOBJECTS = $(filter-out css_extensions.o,$(ALLOBJECTS))
+CXXOBJECTS = $(patsubst %.cpp,%.o,$(wildcard *.cpp))
 
 OBJECTS = $(CXXOBJECTS) 
 
-LIBRARY = libkhtmldom.a
+LIBRARY = libkhtmlecma.a
 
 CLEAN_FILES = $(OBJECTS) \
+	kjs_window.moc \
 	$(LIBRARY) \
 	$(NULL)
 
@@ -34,18 +34,20 @@ CLEAN_FILES = $(OBJECTS) \
 
 CXXFLAGS = -I$(TOPSRCDIR)/src/kwq \
 	-I$(TOPSRCDIR)/src/kwq/qt \
-	-I$(TOPSRCDIR)/src/kwq/dcop \
 	-I$(TOPSRCDIR)/src/kwq/kdecore \
-	-I$(TOPSRCDIR)/src/kwq/kio \
+	-I$(TOPSRCDIR)/src/kwq/kdeui \
 	-I$(TOPSRCDIR)/src/kwq/kparts \
 	-I../css \
+	-I../dom \
 	-I../html \
 	-I../misc \
 	-I../xml \
+	-I../.. \
 	-I.. \
 	-I. \
 	$(NULL)
 
+
 #----------------------------------------------------------------------
 # Set targets for this directory
 
@@ -55,6 +57,10 @@ $(LIBRARY): $(CXXOBJECTS)
 	$(AR) $(ARFLAGS) $(LIBRARY) $(CXXOBJECTS)
 	$(RANLIB) $(LIBRARY)
 
+kjs_window.cpp: kjs_window.moc
+kjs_window.moc:
+	touch $@
+
 #----------------------------------------------------------------------
 # include make rules boilerplate
 
diff --git a/WebCore/kwq/KWQEvent.h b/WebCore/kwq/KWQEvent.h
index c7bdad9..c4dc9ff 100644
--- a/WebCore/kwq/KWQEvent.h
+++ b/WebCore/kwq/KWQEvent.h
@@ -50,12 +50,16 @@ public:
     ButtonState state();
 };
 
+class QTimerEvent : public QEvent {
+public:
+    int timerId() const;
+};
+
 class QFocusEvent : public QEvent {};
 class QHideEvent : public QEvent {};
 class QKeyEvent : public QEvent {};
 class QResizeEvent : public QEvent {};
 class QShowEvent : public QEvent {};
-class QTimerEvent : public QEvent {};
 class QWheelEvent : public QEvent {};
 
 #endif
diff --git a/WebCore/kwq/KWQKConfigBase.h b/WebCore/kwq/KWQKConfigBase.h
index cf57ee4..078f1a1 100644
--- a/WebCore/kwq/KWQKConfigBase.h
+++ b/WebCore/kwq/KWQKConfigBase.h
@@ -26,4 +26,13 @@
 #ifndef KCONFIG_H_
 #define KCONFIG_H_
 
+#include "kconfigbase.h"
+
+class QString;
+
+class KConfig : public KConfigBase {
+public:
+    KConfig(const QString &);
+};
+
 #endif
diff --git a/WebCore/kwq/KWQKGlobal.h b/WebCore/kwq/KWQKGlobal.h
index fe179b4..1d8290d 100644
--- a/WebCore/kwq/KWQKGlobal.h
+++ b/WebCore/kwq/KWQKGlobal.h
@@ -26,17 +26,20 @@
 #ifndef KGLOBAL_H_
 #define KGLOBAL_H_
 
-// FIXME: should we use the CF MIN/MAX macros here or typesafe C++ functions?
+class KInstance;
+class KCharsets;
+class KLocale;
+class KStandardDirs;
+
 #define kMin(a, b) ((a) < (b) ? (a) : (b))
 #define kMax(a, b) ((a) > (b) ? (a) : (b))
 
-class KCharsets;
-class KInstance;
-
 class KGlobal {
 public:
     static KInstance *instance();
     static KCharsets *charsets();
+    static KLocale *locale();
+    static KStandardDirs *dirs();
 };
 
 #endif
diff --git a/WebCore/kwq/KWQKLocale.h b/WebCore/kwq/KWQKLocale.h
index 6cb302b..dc62e2d 100644
--- a/WebCore/kwq/KWQKLocale.h
+++ b/WebCore/kwq/KWQKLocale.h
@@ -26,6 +26,13 @@
 #ifndef KLOCALE_H_
 #define KLOCALE_H_
 
+class QString;
+
 QString i18n(const char* text);
 
+class KLocale {
+public:
+    QString language() const;
+};
+
 #endif
diff --git a/WebCore/kwq/KWQKPartsBrowserExtension.h b/WebCore/kwq/KWQKPartsBrowserExtension.h
index c2ba1ee..cc93948 100644
--- a/WebCore/kwq/KWQKPartsBrowserExtension.h
+++ b/WebCore/kwq/KWQKPartsBrowserExtension.h
@@ -29,6 +29,11 @@
 // Added for compilation of khtml/dom/html_document.cpp:184
 #include <qdatastream.h>
 
+// classes and includes added for ecma directory
+#include "part.h"
+#include "browserinterface.h"
+class KURL;
+
 // Added for compilation of khtml/khtml_part.h:734
 class QPoint;
 
@@ -39,11 +44,29 @@ namespace KParts {
 
 // Added for compilation of khtml/khtml_part.h:695
 struct URLArgs {
+    QString frameName;
+    QString serviceType;
 };
 
-class BrowserExtension {
+struct WindowArgs {
+    int x;
+    int y;
+    int width;
+    int height;
+    bool menuBarVisible;
+    bool statusBarVisible;
+    bool toolBarsVisible;
+    bool resizable;
+    bool fullscreen;
 };
 
+class BrowserExtension {
+public:
+     BrowserInterface *browserInterface() const;
+     void openURLRequest(const KURL &url, const KParts::URLArgs &args = KParts::URLArgs());
+     void createNewWindow(const KURL &url, const KParts::URLArgs &args, const KParts::WindowArgs &windowArgs, KParts::ReadOnlyPart *&part);
 };
 
+}; // namespace KParts
+
 #endif
diff --git a/WebCore/kwq/KWQKPartsBrowserInterface.h b/WebCore/kwq/KWQKPartsBrowserInterface.h
index f056ad1..7d83269 100644
--- a/WebCore/kwq/KWQKPartsBrowserInterface.h
+++ b/WebCore/kwq/KWQKPartsBrowserInterface.h
@@ -26,4 +26,16 @@
 #ifndef BROWSERINTERFACE_H_
 #define BROWSERINTERFACE_H_
 
+class QVariant;
+
+namespace KParts {
+
+class BrowserInterface : public QObject {
+public:
+    BrowserInterface(QObject *parent, const char *name = 0);
+    void callMethod(const char *name, const QVariant &argument);
+};
+
+} // namespace KParts
+
 #endif
diff --git a/WebCore/kwq/KWQKPartsPart.h b/WebCore/kwq/KWQKPartsPart.h
index 8bd2eaf..4be88ba 100644
--- a/WebCore/kwq/KWQKPartsPart.h
+++ b/WebCore/kwq/KWQKPartsPart.h
@@ -28,6 +28,9 @@
 
 #include <kurl.h>
 #include <qvariant.h>
+#include <qlist.h>
+#include <qstringlist.h>
+#include <qvaluelist.h>
 
 // added to help in compilation of khtml/khtml_part.h:867
 namespace KIO {
@@ -43,12 +46,19 @@ class QCursor;
 // forward declaration hack to help in compilation of khtml/khtml_part.h:631
 class QDataStream;
 
+// forward declaration hack to help in compilation of khtml/ecma/kjs_binding.cpp:28
+class QPainter;
+
 namespace KParts {
 
-class Part {
+class Part : public QObject {
+public:
+    QWidget *widget();
 };
 
 class ReadOnlyPart : public Part {
+public:
+    virtual const KURL & url() const;
 };
 
 // hack to help in compilation of khtml/khtml_part.h:785
diff --git a/WebCore/kwq/KWQKStandardDirs.h b/WebCore/kwq/KWQKStandardDirs.h
index fd0c316..9000d06 100644
--- a/WebCore/kwq/KWQKStandardDirs.h
+++ b/WebCore/kwq/KWQKStandardDirs.h
@@ -26,4 +26,9 @@
 #ifndef KSTDDIRS_H_
 #define KSTDDIRS_H_
 
+class KStandardDirs {
+public:
+    QString saveLocation(const char *type, const QString& suffix = QString::null, bool create = true) const;
+};
+
 #endif
diff --git a/WebCore/kwq/KWQKURL.h b/WebCore/kwq/KWQKURL.h
index c6be5d9..0a99517 100644
--- a/WebCore/kwq/KWQKURL.h
+++ b/WebCore/kwq/KWQKURL.h
@@ -31,12 +31,27 @@ class QString;
 class KURL {
 public:
         KURL();
+        KURL(const char *url, int encoding_hint = 0);
+        KURL(const KURL& url, const QString &);
         KURL(const QString& url, int encoding_hint = 0);
+        bool hasPath() const;
+	unsigned short int port() const;
+	QString path() const;
+	QString query() const;
+	QString ref() const;
+	QString user() const;
+	QString pass() const;
 	QString url() const;
+	QString host() const;
+	QString protocol() const;
         void setQuery(const QString& _txt, int encoding_hint = 0);
+        void setProtocol(const QString&);
+        void setHost(const QString&);
         void setRef(const QString& _txt);
         void setPath(const QString& path);
+        void setPort(unsigned short int);
 	bool isEmpty() const;
+        QString prettyURL(int _trailing = 0) const;
 };
 
 #endif
diff --git a/WebCore/kwq/KWQKWin.h b/WebCore/kwq/KWQKWin.h
index 7963f60..66b9af5 100644
--- a/WebCore/kwq/KWQKWin.h
+++ b/WebCore/kwq/KWQKWin.h
@@ -26,4 +26,14 @@
 #ifndef KWIN_H_
 #define KWIN_H_
 
+#include <qrect.h>
+
+class KWin {
+public:
+    struct Info {
+        QRect geometry;
+    };
+    static Info info(int win);
+};
+
 #endif
diff --git a/WebCore/kwq/KWQKWinModule.h b/WebCore/kwq/KWQKWinModule.h
index a65cbb9..391ac43 100644
--- a/WebCore/kwq/KWQKWinModule.h
+++ b/WebCore/kwq/KWQKWinModule.h
@@ -26,4 +26,11 @@
 #ifndef KWINMODULE_H_
 #define KWINMODULE_H_
 
+class QRect;
+
+class KWinModule {
+public:
+    QRect workArea(int desktop = - 1) const;
+};
+
 #endif
diff --git a/WebCore/kwq/KWQMap.h b/WebCore/kwq/KWQMap.h
index d954022..103fcbf 100644
--- a/WebCore/kwq/KWQMap.h
+++ b/WebCore/kwq/KWQMap.h
@@ -26,10 +26,16 @@
 #ifndef QMAP_H_
 #define QMAP_H_
 
+template<class K, class T> class QMapIterator {
+};
+
 template <class K, class T> class QMap {
 public:
+    typedef QMapIterator<K,T> Iterator;
+    Iterator insert(const K&, const T&);
     void remove(const K&);
     void clear();
+    T& operator[](const K& k);
 };
 
 #endif
diff --git a/WebCore/kwq/KWQObject.h b/WebCore/kwq/KWQObject.h
index 9cd0352..bb4d292 100644
--- a/WebCore/kwq/KWQObject.h
+++ b/WebCore/kwq/KWQObject.h
@@ -49,6 +49,9 @@ public:
     static bool connect(const QObject *, const char *, const QObject *, const
             char *);
     bool connect(const QObject *, const char *, const char *) const;
+    int startTimer(int);
+    void killTimer(int);
+    void killTimers();
 };
 
 #endif
diff --git a/WebCore/kwq/KWQScrollView.h b/WebCore/kwq/KWQScrollView.h
index 3bdaf6d..2370da3 100644
--- a/WebCore/kwq/KWQScrollView.h
+++ b/WebCore/kwq/KWQScrollView.h
@@ -34,6 +34,8 @@ public:
     int visibleHeight() const;
     int contentsX() const;
     int contentsY() const;
+    void scrollBy(int dx, int dy);
+    virtual void setContentsPos(int x, int y);
     // NOTE: alphabetical order
     enum ScrollBarMode { AlwaysOff, AlwaysOn, Auto };
 };
diff --git a/WebCore/kwq/KWQString.h b/WebCore/kwq/KWQString.h
index 524ebed..61ed1aa 100644
--- a/WebCore/kwq/KWQString.h
+++ b/WebCore/kwq/KWQString.h
@@ -95,6 +95,7 @@ public:
     QString &replace(const QRegExp &, const QString &);
     QString &insert(uint, char);
     void truncate(uint pos);
+    bool startsWith(const QString&) const;
 
     QString arg(const QString&, int fieldwidth = 0) const;
 
diff --git a/WebCore/kwq/KWQVariant.h b/WebCore/kwq/KWQVariant.h
index f9208c3..3f87e7f 100644
--- a/WebCore/kwq/KWQVariant.h
+++ b/WebCore/kwq/KWQVariant.h
@@ -26,11 +26,14 @@
 #ifndef QVARIANT_H_
 #define QVARIANT_H_
 
+typedef unsigned int uint;
+
 class QString;
 
 class QVariant {
 public:
     enum Type {
+        UInt,
         Bool
     };
 
@@ -41,6 +44,7 @@ public:
     
     Type type() const;
     bool toBool() const;
+    uint toUInt() const;
 };
 
 #endif
diff --git a/WebCore/kwq/KWQWidget.h b/WebCore/kwq/KWQWidget.h
index 568cb34..861cac7 100644
--- a/WebCore/kwq/KWQWidget.h
+++ b/WebCore/kwq/KWQWidget.h
@@ -48,6 +48,7 @@ public:
     QPoint mapToGlobal(const QPoint &) const;
     void setFocus();
     void clearFocus();
+    virtual void setActiveWindow();
 };
 
 #endif
diff --git a/WebCore/kwq/kdecore/kconfig.h b/WebCore/kwq/kdecore/kconfig.h
index cf57ee4..078f1a1 100644
--- a/WebCore/kwq/kdecore/kconfig.h
+++ b/WebCore/kwq/kdecore/kconfig.h
@@ -26,4 +26,13 @@
 #ifndef KCONFIG_H_
 #define KCONFIG_H_
 
+#include "kconfigbase.h"
+
+class QString;
+
+class KConfig : public KConfigBase {
+public:
+    KConfig(const QString &);
+};
+
 #endif
diff --git a/WebCore/kwq/KWQCollection.h b/WebCore/kwq/kdecore/kconfigbase.h
similarity index 79%
copy from WebCore/kwq/KWQCollection.h
copy to WebCore/kwq/kdecore/kconfigbase.h
index 2d45385..f3ffa58 100644
--- a/WebCore/kwq/KWQCollection.h
+++ b/WebCore/kwq/kdecore/kconfigbase.h
@@ -23,14 +23,15 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-#ifndef QCOLLECTION_H_
-#define QCOLLECTION_H_
+#ifndef KCONFIGBASE_H_
+#define KCONFIGBASE_H_
 
-class QCollection {
+class KConfigBase {
 public:
-    typedef void *Item;
-protected:
-    virtual Item newItem(Item);
+    void setGroup(const QString& pGroup);
+    QString readEntry(const char *pKey, const QString& aDefault = QString::null) const;
+    int readNumEntry(const char *pKey, int nDefault = 0) const;
+    unsigned int readUnsignedNumEntry(const char *pKey, unsigned int nDefault = 0) const;
 };
 
 #endif
diff --git a/WebCore/kwq/kdecore/kglobal.h b/WebCore/kwq/kdecore/kglobal.h
index fe179b4..1d8290d 100644
--- a/WebCore/kwq/kdecore/kglobal.h
+++ b/WebCore/kwq/kdecore/kglobal.h
@@ -26,17 +26,20 @@
 #ifndef KGLOBAL_H_
 #define KGLOBAL_H_
 
-// FIXME: should we use the CF MIN/MAX macros here or typesafe C++ functions?
+class KInstance;
+class KCharsets;
+class KLocale;
+class KStandardDirs;
+
 #define kMin(a, b) ((a) < (b) ? (a) : (b))
 #define kMax(a, b) ((a) > (b) ? (a) : (b))
 
-class KCharsets;
-class KInstance;
-
 class KGlobal {
 public:
     static KInstance *instance();
     static KCharsets *charsets();
+    static KLocale *locale();
+    static KStandardDirs *dirs();
 };
 
 #endif
diff --git a/WebCore/kwq/kdecore/klocale.h b/WebCore/kwq/kdecore/klocale.h
index 6cb302b..dc62e2d 100644
--- a/WebCore/kwq/kdecore/klocale.h
+++ b/WebCore/kwq/kdecore/klocale.h
@@ -26,6 +26,13 @@
 #ifndef KLOCALE_H_
 #define KLOCALE_H_
 
+class QString;
+
 QString i18n(const char* text);
 
+class KLocale {
+public:
+    QString language() const;
+};
+
 #endif
diff --git a/WebCore/kwq/kdecore/kstddirs.h b/WebCore/kwq/kdecore/kstddirs.h
index fd0c316..9000d06 100644
--- a/WebCore/kwq/kdecore/kstddirs.h
+++ b/WebCore/kwq/kdecore/kstddirs.h
@@ -26,4 +26,9 @@
 #ifndef KSTDDIRS_H_
 #define KSTDDIRS_H_
 
+class KStandardDirs {
+public:
+    QString saveLocation(const char *type, const QString& suffix = QString::null, bool create = true) const;
+};
+
 #endif
diff --git a/WebCore/kwq/kdecore/kurl.h b/WebCore/kwq/kdecore/kurl.h
index c6be5d9..0a99517 100644
--- a/WebCore/kwq/kdecore/kurl.h
+++ b/WebCore/kwq/kdecore/kurl.h
@@ -31,12 +31,27 @@ class QString;
 class KURL {
 public:
         KURL();
+        KURL(const char *url, int encoding_hint = 0);
+        KURL(const KURL& url, const QString &);
         KURL(const QString& url, int encoding_hint = 0);
+        bool hasPath() const;
+	unsigned short int port() const;
+	QString path() const;
+	QString query() const;
+	QString ref() const;
+	QString user() const;
+	QString pass() const;
 	QString url() const;
+	QString host() const;
+	QString protocol() const;
         void setQuery(const QString& _txt, int encoding_hint = 0);
+        void setProtocol(const QString&);
+        void setHost(const QString&);
         void setRef(const QString& _txt);
         void setPath(const QString& path);
+        void setPort(unsigned short int);
 	bool isEmpty() const;
+        QString prettyURL(int _trailing = 0) const;
 };
 
 #endif
diff --git a/WebCore/kwq/kdecore/kwin.h b/WebCore/kwq/kdecore/kwin.h
index 7963f60..66b9af5 100644
--- a/WebCore/kwq/kdecore/kwin.h
+++ b/WebCore/kwq/kdecore/kwin.h
@@ -26,4 +26,14 @@
 #ifndef KWIN_H_
 #define KWIN_H_
 
+#include <qrect.h>
+
+class KWin {
+public:
+    struct Info {
+        QRect geometry;
+    };
+    static Info info(int win);
+};
+
 #endif
diff --git a/WebCore/kwq/kdecore/kwinmodule.h b/WebCore/kwq/kdecore/kwinmodule.h
index a65cbb9..391ac43 100644
--- a/WebCore/kwq/kdecore/kwinmodule.h
+++ b/WebCore/kwq/kdecore/kwinmodule.h
@@ -26,4 +26,11 @@
 #ifndef KWINMODULE_H_
 #define KWINMODULE_H_
 
+class QRect;
+
+class KWinModule {
+public:
+    QRect workArea(int desktop = - 1) const;
+};
+
 #endif
diff --git a/WebCore/kwq/kdeui/kmessagebox.h b/WebCore/kwq/kdeui/kmessagebox.h
index 61522ec..397861d 100644
--- a/WebCore/kwq/kdeui/kmessagebox.h
+++ b/WebCore/kwq/kdeui/kmessagebox.h
@@ -26,4 +26,16 @@
 #ifndef KMESSAGEBOX_H_
 #define KMESSAGEBOX_H_
 
+class QWidget;
+
+class KMessageBox {
+public:
+    enum { Ok = 1, Cancel = 2, Yes = 3, No = 4, Continue = 5 };
+    static void error(QWidget *parent, const QString &text, const QString &caption = QString::null, bool notify=true);
+    static int warningYesNo(QWidget *parent, const QString &text, const QString &caption = QString::null,
+        const QString &buttonYes = QString::null, const QString &buttonNo = QString::null, bool notify=true);
+    static int questionYesNo(QWidget *parent, const QString &text, const QString &caption = QString::null,
+        const QString &buttonYes = QString::null, const QString &buttonNo = QString::null, bool notify=true);
+};
+
 #endif
diff --git a/WebCore/kwq/qt/qfontmetrics.h b/WebCore/kwq/kio/kprotocolmanager.h
similarity index 90%
copy from WebCore/kwq/qt/qfontmetrics.h
copy to WebCore/kwq/kio/kprotocolmanager.h
index 0bec0e4..1271727 100644
--- a/WebCore/kwq/qt/qfontmetrics.h
+++ b/WebCore/kwq/kio/kprotocolmanager.h
@@ -23,15 +23,14 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-#ifndef QFONTMETRICS_H_
-#define QFONTMETRICS_H_
+#ifndef KPROTOCOLMANAGER_H_
+#define KPROTOCOLMANAGER_H_
 
-class QRect;
-class QChar;
+class QString;
 
-class QFontMetrics {
+class KProtocolManager {
 public:
-    QRect boundingRect(QChar) const;
+    static QString userAgentForHost(const QString&);
 };
 
 #endif
diff --git a/WebCore/kwq/kparts/browserextension.h b/WebCore/kwq/kparts/browserextension.h
index c2ba1ee..cc93948 100644
--- a/WebCore/kwq/kparts/browserextension.h
+++ b/WebCore/kwq/kparts/browserextension.h
@@ -29,6 +29,11 @@
 // Added for compilation of khtml/dom/html_document.cpp:184
 #include <qdatastream.h>
 
+// classes and includes added for ecma directory
+#include "part.h"
+#include "browserinterface.h"
+class KURL;
+
 // Added for compilation of khtml/khtml_part.h:734
 class QPoint;
 
@@ -39,11 +44,29 @@ namespace KParts {
 
 // Added for compilation of khtml/khtml_part.h:695
 struct URLArgs {
+    QString frameName;
+    QString serviceType;
 };
 
-class BrowserExtension {
+struct WindowArgs {
+    int x;
+    int y;
+    int width;
+    int height;
+    bool menuBarVisible;
+    bool statusBarVisible;
+    bool toolBarsVisible;
+    bool resizable;
+    bool fullscreen;
 };
 
+class BrowserExtension {
+public:
+     BrowserInterface *browserInterface() const;
+     void openURLRequest(const KURL &url, const KParts::URLArgs &args = KParts::URLArgs());
+     void createNewWindow(const KURL &url, const KParts::URLArgs &args, const KParts::WindowArgs &windowArgs, KParts::ReadOnlyPart *&part);
 };
 
+}; // namespace KParts
+
 #endif
diff --git a/WebCore/kwq/kparts/browserinterface.h b/WebCore/kwq/kparts/browserinterface.h
index f056ad1..7d83269 100644
--- a/WebCore/kwq/kparts/browserinterface.h
+++ b/WebCore/kwq/kparts/browserinterface.h
@@ -26,4 +26,16 @@
 #ifndef BROWSERINTERFACE_H_
 #define BROWSERINTERFACE_H_
 
+class QVariant;
+
+namespace KParts {
+
+class BrowserInterface : public QObject {
+public:
+    BrowserInterface(QObject *parent, const char *name = 0);
+    void callMethod(const char *name, const QVariant &argument);
+};
+
+} // namespace KParts
+
 #endif
diff --git a/WebCore/kwq/kparts/part.h b/WebCore/kwq/kparts/part.h
index 8bd2eaf..4be88ba 100644
--- a/WebCore/kwq/kparts/part.h
+++ b/WebCore/kwq/kparts/part.h
@@ -28,6 +28,9 @@
 
 #include <kurl.h>
 #include <qvariant.h>
+#include <qlist.h>
+#include <qstringlist.h>
+#include <qvaluelist.h>
 
 // added to help in compilation of khtml/khtml_part.h:867
 namespace KIO {
@@ -43,12 +46,19 @@ class QCursor;
 // forward declaration hack to help in compilation of khtml/khtml_part.h:631
 class QDataStream;
 
+// forward declaration hack to help in compilation of khtml/ecma/kjs_binding.cpp:28
+class QPainter;
+
 namespace KParts {
 
-class Part {
+class Part : public QObject {
+public:
+    QWidget *widget();
 };
 
 class ReadOnlyPart : public Part {
+public:
+    virtual const KURL & url() const;
 };
 
 // hack to help in compilation of khtml/khtml_part.h:785
diff --git a/WebCore/kwq/kwq.h b/WebCore/kwq/kwq.h
index b647608..cb818b8 100644
--- a/WebCore/kwq/kwq.h
+++ b/WebCore/kwq/kwq.h
@@ -28,6 +28,8 @@
 
 #include <qsize.h>
 #include <qcolor.h>
+#include <qobject.h>
+#include <qvariant.h>
 
 typedef unsigned char uchar;
 typedef unsigned short ushort;
diff --git a/WebCore/kwq/qt/qevent.h b/WebCore/kwq/qt/qevent.h
index c7bdad9..c4dc9ff 100644
--- a/WebCore/kwq/qt/qevent.h
+++ b/WebCore/kwq/qt/qevent.h
@@ -50,12 +50,16 @@ public:
     ButtonState state();
 };
 
+class QTimerEvent : public QEvent {
+public:
+    int timerId() const;
+};
+
 class QFocusEvent : public QEvent {};
 class QHideEvent : public QEvent {};
 class QKeyEvent : public QEvent {};
 class QResizeEvent : public QEvent {};
 class QShowEvent : public QEvent {};
-class QTimerEvent : public QEvent {};
 class QWheelEvent : public QEvent {};
 
 #endif
diff --git a/WebCore/kwq/qt/qmap.h b/WebCore/kwq/qt/qmap.h
index d954022..103fcbf 100644
--- a/WebCore/kwq/qt/qmap.h
+++ b/WebCore/kwq/qt/qmap.h
@@ -26,10 +26,16 @@
 #ifndef QMAP_H_
 #define QMAP_H_
 
+template<class K, class T> class QMapIterator {
+};
+
 template <class K, class T> class QMap {
 public:
+    typedef QMapIterator<K,T> Iterator;
+    Iterator insert(const K&, const T&);
     void remove(const K&);
     void clear();
+    T& operator[](const K& k);
 };
 
 #endif
diff --git a/WebCore/kwq/qt/qobject.h b/WebCore/kwq/qt/qobject.h
index 9cd0352..bb4d292 100644
--- a/WebCore/kwq/qt/qobject.h
+++ b/WebCore/kwq/qt/qobject.h
@@ -49,6 +49,9 @@ public:
     static bool connect(const QObject *, const char *, const QObject *, const
             char *);
     bool connect(const QObject *, const char *, const char *) const;
+    int startTimer(int);
+    void killTimer(int);
+    void killTimers();
 };
 
 #endif
diff --git a/WebCore/kwq/qt/qscrollview.h b/WebCore/kwq/qt/qscrollview.h
index 3bdaf6d..2370da3 100644
--- a/WebCore/kwq/qt/qscrollview.h
+++ b/WebCore/kwq/qt/qscrollview.h
@@ -34,6 +34,8 @@ public:
     int visibleHeight() const;
     int contentsX() const;
     int contentsY() const;
+    void scrollBy(int dx, int dy);
+    virtual void setContentsPos(int x, int y);
     // NOTE: alphabetical order
     enum ScrollBarMode { AlwaysOff, AlwaysOn, Auto };
 };
diff --git a/WebCore/kwq/qt/qstring.h b/WebCore/kwq/qt/qstring.h
index 524ebed..61ed1aa 100644
--- a/WebCore/kwq/qt/qstring.h
+++ b/WebCore/kwq/qt/qstring.h
@@ -95,6 +95,7 @@ public:
     QString &replace(const QRegExp &, const QString &);
     QString &insert(uint, char);
     void truncate(uint pos);
+    bool startsWith(const QString&) const;
 
     QString arg(const QString&, int fieldwidth = 0) const;
 
diff --git a/WebCore/kwq/qt/qvariant.h b/WebCore/kwq/qt/qvariant.h
index f9208c3..3f87e7f 100644
--- a/WebCore/kwq/qt/qvariant.h
+++ b/WebCore/kwq/qt/qvariant.h
@@ -26,11 +26,14 @@
 #ifndef QVARIANT_H_
 #define QVARIANT_H_
 
+typedef unsigned int uint;
+
 class QString;
 
 class QVariant {
 public:
     enum Type {
+        UInt,
         Bool
     };
 
@@ -41,6 +44,7 @@ public:
     
     Type type() const;
     bool toBool() const;
+    uint toUInt() const;
 };
 
 #endif
diff --git a/WebCore/kwq/qt/qwidget.h b/WebCore/kwq/qt/qwidget.h
index 568cb34..861cac7 100644
--- a/WebCore/kwq/qt/qwidget.h
+++ b/WebCore/kwq/qt/qwidget.h
@@ -48,6 +48,7 @@ public:
     QPoint mapToGlobal(const QPoint &) const;
     void setFocus();
     void clearFocus();
+    virtual void setActiveWindow();
 };
 
 #endif
diff --git a/WebCore/khtml/css/MakeSystemChanges.sh b/WebCore/src/kdelibs/khtml/ecma/MakeSystemChanges.sh
similarity index 100%
copy from WebCore/khtml/css/MakeSystemChanges.sh
copy to WebCore/src/kdelibs/khtml/ecma/MakeSystemChanges.sh
diff --git a/WebCore/src/kdelibs/khtml/dom/Makefile.in.apple b/WebCore/src/kdelibs/khtml/ecma/Makefile.in.apple
similarity index 86%
copy from WebCore/src/kdelibs/khtml/dom/Makefile.in.apple
copy to WebCore/src/kdelibs/khtml/ecma/Makefile.in.apple
index 9811ebc..4ebd355 100644
--- a/WebCore/src/kdelibs/khtml/dom/Makefile.in.apple
+++ b/WebCore/src/kdelibs/khtml/ecma/Makefile.in.apple
@@ -18,14 +18,14 @@ include $(TOPSRCDIR)/Makefile.vars
 #----------------------------------------------------------------------
 # Set variables for this directory
 
-ALLOBJECTS = $(patsubst %.cpp,%.o,$(wildcard *.cpp))
-CXXOBJECTS = $(filter-out css_extensions.o,$(ALLOBJECTS))
+CXXOBJECTS = $(patsubst %.cpp,%.o,$(wildcard *.cpp))
 
 OBJECTS = $(CXXOBJECTS) 
 
-LIBRARY = libkhtmldom.a
+LIBRARY = libkhtmlecma.a
 
 CLEAN_FILES = $(OBJECTS) \
+	kjs_window.moc \
 	$(LIBRARY) \
 	$(NULL)
 
@@ -34,18 +34,20 @@ CLEAN_FILES = $(OBJECTS) \
 
 CXXFLAGS = -I$(TOPSRCDIR)/src/kwq \
 	-I$(TOPSRCDIR)/src/kwq/qt \
-	-I$(TOPSRCDIR)/src/kwq/dcop \
 	-I$(TOPSRCDIR)/src/kwq/kdecore \
-	-I$(TOPSRCDIR)/src/kwq/kio \
+	-I$(TOPSRCDIR)/src/kwq/kdeui \
 	-I$(TOPSRCDIR)/src/kwq/kparts \
 	-I../css \
+	-I../dom \
 	-I../html \
 	-I../misc \
 	-I../xml \
+	-I../.. \
 	-I.. \
 	-I. \
 	$(NULL)
 
+
 #----------------------------------------------------------------------
 # Set targets for this directory
 
@@ -55,6 +57,10 @@ $(LIBRARY): $(CXXOBJECTS)
 	$(AR) $(ARFLAGS) $(LIBRARY) $(CXXOBJECTS)
 	$(RANLIB) $(LIBRARY)
 
+kjs_window.cpp: kjs_window.moc
+kjs_window.moc:
+	touch $@
+
 #----------------------------------------------------------------------
 # include make rules boilerplate
 
diff --git a/WebCore/src/kwq/kdecore/kconfig.h b/WebCore/src/kwq/kdecore/kconfig.h
index cf57ee4..078f1a1 100644
--- a/WebCore/src/kwq/kdecore/kconfig.h
+++ b/WebCore/src/kwq/kdecore/kconfig.h
@@ -26,4 +26,13 @@
 #ifndef KCONFIG_H_
 #define KCONFIG_H_
 
+#include "kconfigbase.h"
+
+class QString;
+
+class KConfig : public KConfigBase {
+public:
+    KConfig(const QString &);
+};
+
 #endif
diff --git a/WebCore/kwq/KWQCollection.h b/WebCore/src/kwq/kdecore/kconfigbase.h
similarity index 79%
copy from WebCore/kwq/KWQCollection.h
copy to WebCore/src/kwq/kdecore/kconfigbase.h
index 2d45385..f3ffa58 100644
--- a/WebCore/kwq/KWQCollection.h
+++ b/WebCore/src/kwq/kdecore/kconfigbase.h
@@ -23,14 +23,15 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-#ifndef QCOLLECTION_H_
-#define QCOLLECTION_H_
+#ifndef KCONFIGBASE_H_
+#define KCONFIGBASE_H_
 
-class QCollection {
+class KConfigBase {
 public:
-    typedef void *Item;
-protected:
-    virtual Item newItem(Item);
+    void setGroup(const QString& pGroup);
+    QString readEntry(const char *pKey, const QString& aDefault = QString::null) const;
+    int readNumEntry(const char *pKey, int nDefault = 0) const;
+    unsigned int readUnsignedNumEntry(const char *pKey, unsigned int nDefault = 0) const;
 };
 
 #endif
diff --git a/WebCore/src/kwq/kdecore/kglobal.h b/WebCore/src/kwq/kdecore/kglobal.h
index fe179b4..1d8290d 100644
--- a/WebCore/src/kwq/kdecore/kglobal.h
+++ b/WebCore/src/kwq/kdecore/kglobal.h
@@ -26,17 +26,20 @@
 #ifndef KGLOBAL_H_
 #define KGLOBAL_H_
 
-// FIXME: should we use the CF MIN/MAX macros here or typesafe C++ functions?
+class KInstance;
+class KCharsets;
+class KLocale;
+class KStandardDirs;
+
 #define kMin(a, b) ((a) < (b) ? (a) : (b))
 #define kMax(a, b) ((a) > (b) ? (a) : (b))
 
-class KCharsets;
-class KInstance;
-
 class KGlobal {
 public:
     static KInstance *instance();
     static KCharsets *charsets();
+    static KLocale *locale();
+    static KStandardDirs *dirs();
 };
 
 #endif
diff --git a/WebCore/src/kwq/kdecore/klocale.h b/WebCore/src/kwq/kdecore/klocale.h
index 6cb302b..dc62e2d 100644
--- a/WebCore/src/kwq/kdecore/klocale.h
+++ b/WebCore/src/kwq/kdecore/klocale.h
@@ -26,6 +26,13 @@
 #ifndef KLOCALE_H_
 #define KLOCALE_H_
 
+class QString;
+
 QString i18n(const char* text);
 
+class KLocale {
+public:
+    QString language() const;
+};
+
 #endif
diff --git a/WebCore/src/kwq/kdecore/kstddirs.h b/WebCore/src/kwq/kdecore/kstddirs.h
index fd0c316..9000d06 100644
--- a/WebCore/src/kwq/kdecore/kstddirs.h
+++ b/WebCore/src/kwq/kdecore/kstddirs.h
@@ -26,4 +26,9 @@
 #ifndef KSTDDIRS_H_
 #define KSTDDIRS_H_
 
+class KStandardDirs {
+public:
+    QString saveLocation(const char *type, const QString& suffix = QString::null, bool create = true) const;
+};
+
 #endif
diff --git a/WebCore/src/kwq/kdecore/kurl.h b/WebCore/src/kwq/kdecore/kurl.h
index c6be5d9..0a99517 100644
--- a/WebCore/src/kwq/kdecore/kurl.h
+++ b/WebCore/src/kwq/kdecore/kurl.h
@@ -31,12 +31,27 @@ class QString;
 class KURL {
 public:
         KURL();
+        KURL(const char *url, int encoding_hint = 0);
+        KURL(const KURL& url, const QString &);
         KURL(const QString& url, int encoding_hint = 0);
+        bool hasPath() const;
+	unsigned short int port() const;
+	QString path() const;
+	QString query() const;
+	QString ref() const;
+	QString user() const;
+	QString pass() const;
 	QString url() const;
+	QString host() const;
+	QString protocol() const;
         void setQuery(const QString& _txt, int encoding_hint = 0);
+        void setProtocol(const QString&);
+        void setHost(const QString&);
         void setRef(const QString& _txt);
         void setPath(const QString& path);
+        void setPort(unsigned short int);
 	bool isEmpty() const;
+        QString prettyURL(int _trailing = 0) const;
 };
 
 #endif
diff --git a/WebCore/src/kwq/kdecore/kwin.h b/WebCore/src/kwq/kdecore/kwin.h
index 7963f60..66b9af5 100644
--- a/WebCore/src/kwq/kdecore/kwin.h
+++ b/WebCore/src/kwq/kdecore/kwin.h
@@ -26,4 +26,14 @@
 #ifndef KWIN_H_
 #define KWIN_H_
 
+#include <qrect.h>
+
+class KWin {
+public:
+    struct Info {
+        QRect geometry;
+    };
+    static Info info(int win);
+};
+
 #endif
diff --git a/WebCore/src/kwq/kdecore/kwinmodule.h b/WebCore/src/kwq/kdecore/kwinmodule.h
index a65cbb9..391ac43 100644
--- a/WebCore/src/kwq/kdecore/kwinmodule.h
+++ b/WebCore/src/kwq/kdecore/kwinmodule.h
@@ -26,4 +26,11 @@
 #ifndef KWINMODULE_H_
 #define KWINMODULE_H_
 
+class QRect;
+
+class KWinModule {
+public:
+    QRect workArea(int desktop = - 1) const;
+};
+
 #endif
diff --git a/WebCore/src/kwq/kdeui/kmessagebox.h b/WebCore/src/kwq/kdeui/kmessagebox.h
index 61522ec..397861d 100644
--- a/WebCore/src/kwq/kdeui/kmessagebox.h
+++ b/WebCore/src/kwq/kdeui/kmessagebox.h
@@ -26,4 +26,16 @@
 #ifndef KMESSAGEBOX_H_
 #define KMESSAGEBOX_H_
 
+class QWidget;
+
+class KMessageBox {
+public:
+    enum { Ok = 1, Cancel = 2, Yes = 3, No = 4, Continue = 5 };
+    static void error(QWidget *parent, const QString &text, const QString &caption = QString::null, bool notify=true);
+    static int warningYesNo(QWidget *parent, const QString &text, const QString &caption = QString::null,
+        const QString &buttonYes = QString::null, const QString &buttonNo = QString::null, bool notify=true);
+    static int questionYesNo(QWidget *parent, const QString &text, const QString &caption = QString::null,
+        const QString &buttonYes = QString::null, const QString &buttonNo = QString::null, bool notify=true);
+};
+
 #endif
diff --git a/WebCore/kwq/qt/qfontmetrics.h b/WebCore/src/kwq/kio/kprotocolmanager.h
similarity index 90%
copy from WebCore/kwq/qt/qfontmetrics.h
copy to WebCore/src/kwq/kio/kprotocolmanager.h
index 0bec0e4..1271727 100644
--- a/WebCore/kwq/qt/qfontmetrics.h
+++ b/WebCore/src/kwq/kio/kprotocolmanager.h
@@ -23,15 +23,14 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-#ifndef QFONTMETRICS_H_
-#define QFONTMETRICS_H_
+#ifndef KPROTOCOLMANAGER_H_
+#define KPROTOCOLMANAGER_H_
 
-class QRect;
-class QChar;
+class QString;
 
-class QFontMetrics {
+class KProtocolManager {
 public:
-    QRect boundingRect(QChar) const;
+    static QString userAgentForHost(const QString&);
 };
 
 #endif
diff --git a/WebCore/src/kwq/kparts/browserextension.h b/WebCore/src/kwq/kparts/browserextension.h
index c2ba1ee..cc93948 100644
--- a/WebCore/src/kwq/kparts/browserextension.h
+++ b/WebCore/src/kwq/kparts/browserextension.h
@@ -29,6 +29,11 @@
 // Added for compilation of khtml/dom/html_document.cpp:184
 #include <qdatastream.h>
 
+// classes and includes added for ecma directory
+#include "part.h"
+#include "browserinterface.h"
+class KURL;
+
 // Added for compilation of khtml/khtml_part.h:734
 class QPoint;
 
@@ -39,11 +44,29 @@ namespace KParts {
 
 // Added for compilation of khtml/khtml_part.h:695
 struct URLArgs {
+    QString frameName;
+    QString serviceType;
 };
 
-class BrowserExtension {
+struct WindowArgs {
+    int x;
+    int y;
+    int width;
+    int height;
+    bool menuBarVisible;
+    bool statusBarVisible;
+    bool toolBarsVisible;
+    bool resizable;
+    bool fullscreen;
 };
 
+class BrowserExtension {
+public:
+     BrowserInterface *browserInterface() const;
+     void openURLRequest(const KURL &url, const KParts::URLArgs &args = KParts::URLArgs());
+     void createNewWindow(const KURL &url, const KParts::URLArgs &args, const KParts::WindowArgs &windowArgs, KParts::ReadOnlyPart *&part);
 };
 
+}; // namespace KParts
+
 #endif
diff --git a/WebCore/src/kwq/kparts/browserinterface.h b/WebCore/src/kwq/kparts/browserinterface.h
index f056ad1..7d83269 100644
--- a/WebCore/src/kwq/kparts/browserinterface.h
+++ b/WebCore/src/kwq/kparts/browserinterface.h
@@ -26,4 +26,16 @@
 #ifndef BROWSERINTERFACE_H_
 #define BROWSERINTERFACE_H_
 
+class QVariant;
+
+namespace KParts {
+
+class BrowserInterface : public QObject {
+public:
+    BrowserInterface(QObject *parent, const char *name = 0);
+    void callMethod(const char *name, const QVariant &argument);
+};
+
+} // namespace KParts
+
 #endif
diff --git a/WebCore/src/kwq/kparts/part.h b/WebCore/src/kwq/kparts/part.h
index 8bd2eaf..4be88ba 100644
--- a/WebCore/src/kwq/kparts/part.h
+++ b/WebCore/src/kwq/kparts/part.h
@@ -28,6 +28,9 @@
 
 #include <kurl.h>
 #include <qvariant.h>
+#include <qlist.h>
+#include <qstringlist.h>
+#include <qvaluelist.h>
 
 // added to help in compilation of khtml/khtml_part.h:867
 namespace KIO {
@@ -43,12 +46,19 @@ class QCursor;
 // forward declaration hack to help in compilation of khtml/khtml_part.h:631
 class QDataStream;
 
+// forward declaration hack to help in compilation of khtml/ecma/kjs_binding.cpp:28
+class QPainter;
+
 namespace KParts {
 
-class Part {
+class Part : public QObject {
+public:
+    QWidget *widget();
 };
 
 class ReadOnlyPart : public Part {
+public:
+    virtual const KURL & url() const;
 };
 
 // hack to help in compilation of khtml/khtml_part.h:785
diff --git a/WebCore/src/kwq/kwq.h b/WebCore/src/kwq/kwq.h
index b647608..cb818b8 100644
--- a/WebCore/src/kwq/kwq.h
+++ b/WebCore/src/kwq/kwq.h
@@ -28,6 +28,8 @@
 
 #include <qsize.h>
 #include <qcolor.h>
+#include <qobject.h>
+#include <qvariant.h>
 
 typedef unsigned char uchar;
 typedef unsigned short ushort;
diff --git a/WebCore/src/kwq/qt/qevent.h b/WebCore/src/kwq/qt/qevent.h
index c7bdad9..c4dc9ff 100644
--- a/WebCore/src/kwq/qt/qevent.h
+++ b/WebCore/src/kwq/qt/qevent.h
@@ -50,12 +50,16 @@ public:
     ButtonState state();
 };
 
+class QTimerEvent : public QEvent {
+public:
+    int timerId() const;
+};
+
 class QFocusEvent : public QEvent {};
 class QHideEvent : public QEvent {};
 class QKeyEvent : public QEvent {};
 class QResizeEvent : public QEvent {};
 class QShowEvent : public QEvent {};
-class QTimerEvent : public QEvent {};
 class QWheelEvent : public QEvent {};
 
 #endif
diff --git a/WebCore/src/kwq/qt/qmap.h b/WebCore/src/kwq/qt/qmap.h
index d954022..103fcbf 100644
--- a/WebCore/src/kwq/qt/qmap.h
+++ b/WebCore/src/kwq/qt/qmap.h
@@ -26,10 +26,16 @@
 #ifndef QMAP_H_
 #define QMAP_H_
 
+template<class K, class T> class QMapIterator {
+};
+
 template <class K, class T> class QMap {
 public:
+    typedef QMapIterator<K,T> Iterator;
+    Iterator insert(const K&, const T&);
     void remove(const K&);
     void clear();
+    T& operator[](const K& k);
 };
 
 #endif
diff --git a/WebCore/src/kwq/qt/qobject.h b/WebCore/src/kwq/qt/qobject.h
index 9cd0352..bb4d292 100644
--- a/WebCore/src/kwq/qt/qobject.h
+++ b/WebCore/src/kwq/qt/qobject.h
@@ -49,6 +49,9 @@ public:
     static bool connect(const QObject *, const char *, const QObject *, const
             char *);
     bool connect(const QObject *, const char *, const char *) const;
+    int startTimer(int);
+    void killTimer(int);
+    void killTimers();
 };
 
 #endif
diff --git a/WebCore/src/kwq/qt/qscrollview.h b/WebCore/src/kwq/qt/qscrollview.h
index 3bdaf6d..2370da3 100644
--- a/WebCore/src/kwq/qt/qscrollview.h
+++ b/WebCore/src/kwq/qt/qscrollview.h
@@ -34,6 +34,8 @@ public:
     int visibleHeight() const;
     int contentsX() const;
     int contentsY() const;
+    void scrollBy(int dx, int dy);
+    virtual void setContentsPos(int x, int y);
     // NOTE: alphabetical order
     enum ScrollBarMode { AlwaysOff, AlwaysOn, Auto };
 };
diff --git a/WebCore/src/kwq/qt/qstring.h b/WebCore/src/kwq/qt/qstring.h
index 524ebed..61ed1aa 100644
--- a/WebCore/src/kwq/qt/qstring.h
+++ b/WebCore/src/kwq/qt/qstring.h
@@ -95,6 +95,7 @@ public:
     QString &replace(const QRegExp &, const QString &);
     QString &insert(uint, char);
     void truncate(uint pos);
+    bool startsWith(const QString&) const;
 
     QString arg(const QString&, int fieldwidth = 0) const;
 
diff --git a/WebCore/src/kwq/qt/qvariant.h b/WebCore/src/kwq/qt/qvariant.h
index f9208c3..3f87e7f 100644
--- a/WebCore/src/kwq/qt/qvariant.h
+++ b/WebCore/src/kwq/qt/qvariant.h
@@ -26,11 +26,14 @@
 #ifndef QVARIANT_H_
 #define QVARIANT_H_
 
+typedef unsigned int uint;
+
 class QString;
 
 class QVariant {
 public:
     enum Type {
+        UInt,
         Bool
     };
 
@@ -41,6 +44,7 @@ public:
     
     Type type() const;
     bool toBool() const;
+    uint toUInt() const;
 };
 
 #endif
diff --git a/WebCore/src/kwq/qt/qwidget.h b/WebCore/src/kwq/qt/qwidget.h
index 568cb34..861cac7 100644
--- a/WebCore/src/kwq/qt/qwidget.h
+++ b/WebCore/src/kwq/qt/qwidget.h
@@ -48,6 +48,7 @@ public:
     QPoint mapToGlobal(const QPoint &) const;
     void setFocus();
     void clearFocus();
+    virtual void setActiveWindow();
 };
 
 #endif

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list