edburns%acm.org 12d6fd624e This checkin is the start of work for the Http header access feature.
Currently, I'm trying to discover what is the best way to expose this
API in documents that include frames.

I think I'll need more than those two new methods on CurrentPage2.  I'll
probably have some way to get a list of all URLs that comprise the
frameset, including nested framesets.  It's true that you could use the
DOM to derive this, but that's very complicated.  I need something more
lightweight.  In the meantime, I'll check in what I have.

M build-tests.xml

- add commented out CurrentPageTest

M build.xml

- add clean.test target

M classes_spec/org/mozilla/webclient/CurrentPage2.java
M classes_spec/org/mozilla/webclient/impl/wrapper_native/CurrentPageImpl.java

- new methods and no-op impls, so test-first test fails.

+    public Map getRequestHeaders();
+
+    public Map getResponseHeaders();

M classes_spec/org/mozilla/webclient/impl/wrapper_native/EventRegistrationImpl.java

- swallow exceptions thrown by listeners.

M src_moz/EmbedProgress.cpp

- test for existence of httpChannel, so we can visit the headers

M test/automated/src/classes/org/mozilla/util/THTTPD.java

- return a "Server: " header that I can test in the testcase.

M test/automated/src/classes/org/mozilla/webclient/DocumentLoadListenerImpl.java

- add doStartCheck() method.

M test/automated/src/classes/org/mozilla/webclient/NavigationTest.java
M test/automated/src/classes/org/mozilla/webclient/WebclientTestCase.java

- push THTTPD stuff to superclass.

A test/automated/src/classes/org/mozilla/webclient/NavigationTest.java

- new testcase, fails.


git-svn-id: svn://10.0.0.236/trunk@161722 18797224-902f-48f8-a5cc-f745e15eee43
2004-09-03 19:04:22 +00:00

325 lines
10 KiB
XML

<?xml version="1.0"?>
<!--
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Ed Burns &gt;edburns@acm.org&lt;
-->
<project name="webclient" default="main" basedir=".">
<property name="Name" value="webclient"/>
<property name="name" value="webclient"/>
<property name="version" value="20030906"/>
<!-- ************ Per user local properties ******************************* -->
<property file="${user.home}/build.properties"/> <!-- User local -->
<property file="build.properties"/> <!-- Component local -->
<property file="../build.properties"/> <!-- java-supplement local -->
<property environment="myenv" />
<!-- ************ Compiler Defaults *************************************** -->
<!-- Should Java compilations set the 'debug' compiler option? -->
<property name="compile.debug" value="true"/>
<!-- Should Java compilations set the 'deprecation' compiler option? -->
<property name="compile.deprecation" value="false"/>
<!-- Should Java compilations set the 'optimize' compiler option? -->
<property name="compile.optimize" value="false"/>
<!-- ************ Where are we building into? ***************************** -->
<!-- The base directory for component sources -->
<property name="source.home" value="${basedir}/classes_spec"/>
<!-- Construct compile classpath -->
<path id="compile.classpath">
<pathelement location="${build.home}"/>
</path>
<target name="prepare">
<condition property="PATH_SEP" value=";">
<and>
<os family="windows" />
</and>
</condition>
<condition property="PATH_SEP" value=":">
<and>
<os family="unix" />
</and>
</condition>
</target>
<target name="main"
depends="prepare,compile.classes_spec,compile.src_share,compile.src_moz,compile.src_ie,create.webclient.scripts"/>
<target name="compile.classes_spec">
<javac destdir="${build.home}"
debug="${compile.debug}"
deprecation="${compile.deprecation}"
optimize="${compile.optimize}">
<classpath refid="compile.classpath"/>
<src path="${source.home}"/>
<patternset>
<exclude name="**/Win32*.java" if="build.unix.classes"/>
</patternset>
<patternset>
<exclude name="**/Gtk*.java" if="build.win32.classes"/>
</patternset>
<!-- PENDING(edburns): include additional patternsets for ICE,
HotJava, etc -->
<include name="org/mozilla/webclient/*"/>
<include name="org/mozilla/webclient/impl/wrapper_native/*"/>
<include name="org/mozilla/webclient/impl/*"/>
<include name="org/mozilla/webclient/test/*"/>
</javac>
<mkdir dir="${build.home}/META-INF/services"/>
<echo file="${build.home}/META-INF/services/org.mozilla.webclient.WebclientFactory">org.mozilla.webclient.impl.WebclientFactoryImpl</echo>
<echo file="${build.home}/META-INF/services/org.mozilla.webclient.impl.WrapperFactory">org.mozilla.webclient.impl.wrapper_native.WrapperFactoryImpl</echo>
</target>
<target name="compile.src_share" depends="compile.javah.headers">
<exec os="SunOS" dir="${basedir}/src_share" failonerror="yes"
executable="gmake"/>
<exec os="Linux" dir="${basedir}/src_share" failonerror="yes"
executable="make"/>
<exec os="Windows 2000" dir="${basedir}/src_share" executable="make"
failonerror="yes"/>
</target>
<target name="compile.javah.headers" depends="compile.classes_spec,compile.javah.canvas.headers">
<javah destdir="${basedir}/src_share"
class="org.mozilla.webclient.impl.wrapper_native.BookmarksImpl,org.mozilla.webclient.impl.wrapper_native.ProfileManagerImpl,org.mozilla.webclient.impl.wrapper_native.PreferencesImpl,org.mozilla.webclient.impl.wrapper_native.CurrentPageImpl,org.mozilla.webclient.impl.wrapper_native.HistoryImpl,org.mozilla.webclient.impl.wrapper_native.WrapperFactoryImpl,org.mozilla.webclient.impl.wrapper_native.NavigationImpl,org.mozilla.webclient.impl.wrapper_native.RDFEnumeration,org.mozilla.webclient.impl.wrapper_native.RDFTreeNode,org.mozilla.webclient.impl.wrapper_native.ISupportsPeer,org.mozilla.webclient.impl.wrapper_native.WindowControlImpl,org.mozilla.webclient.impl.wrapper_native.NativeEventThread">
<classpath refid="compile.classpath"/>
</javah>
</target>
<target name="compile.javah.canvas.headers"
depends="compile.unix.canvas.headers,compile.win32.canvas.headers"/>
<target name="compile.unix.canvas.headers" if="build.unix.classes">
<javah destdir="${basedir}/src_moz/gtk"
class="org.mozilla.webclient.impl.wrapper_native.GtkBrowserControlCanvas">
<classpath refid="compile.classpath"/>
</javah>
</target>
<target name="compile.win32.canvas.headers" if="build.win32.classes">
<javah destdir="${basedir}/src_moz/win32"
class="org.mozilla.webclient.impl.wrapper_native.Win32BrowserControlCanvas">
<classpath refid="compile.classpath"/>
</javah>
</target>
<target name="compile.src_moz" depends="compile.src_share">
<exec os="SunOS" dir="${basedir}/src_moz" executable="gmake"
failonerror="yes">
</exec>
<exec os="Linux" dir="${basedir}/src_moz" executable="make"
failonerror="yes">
</exec>
<exec os="Windows 2000" dir="${basedir}/src_moz" executable="make"
failonerror="yes"/>
</target>
<target name="compile.src_ie" depends="compile.src_share">
<!-- PENDING(edburns): re-enable IE support
<exec os="Windows 2000" dir="${basedir}/src_ie" executable="make"
failonerror="yes"/>
-->
</target>
<target name="create.webclient.scripts"
depends="create.win32.webclient.scripts,create.unix.webclient.scripts"/>
<target name="create.win32.webclient.scripts"
if="build.win32.classes">
<condition property="debug.options" value="${debug.jvm.args}">
<equals arg1="${myenv.MOZ_DEBUG}" arg2="1"/>
</condition>
<condition property="debug.options" value="">
<not>
<equals arg1="${myenv.MOZ_DEBUG}" arg2="1"/>
</not>
</condition>
<echo file="${basedir}/src_moz/runem.bat">set CLASSPATH=${build.home};%CLASSPATH%
set PATH=%PATH%;${build.home}\..\bin;${build.home}\..\bin\components;${myenv.MOZ_JDKHOME}\jre\bin
${myenv.MOZ_JDKHOME}/bin/java ${debug.options} org.mozilla.webclient.test.EmbeddedMozillaImpl ${build.home}\..\bin %1%
</echo>
</target>
<target name="create.unix.webclient.scripts"
if="build.unix.classes">
<condition property="debug.options" value="${debug.jvm.args}">
<equals arg1="${myenv.MOZ_DEBUG}" arg2="1"/>
</condition>
<condition property="debug.options" value="">
<not>
<equals arg1="${myenv.MOZ_DEBUG}" arg2="1"/>
</not>
</condition>
<echo file="${basedir}/src_moz/runem">export CLASSPATH=${build.home}:$CLASSPATH
export LD_LIBRARY_PATH=${build.home}/../bin:${build.home}/../bin/components:$LD_LIBRARY_PATH:;${myenv.MOZ_JDKHOME}/jre/bin
${myenv.MOZ_JDKHOME}/bin/java ${debug.options} org.mozilla.webclient.test.EmbeddedMozillaImpl ${build.home}/../bin $*
</echo>
<chmod perm="755" file="${basedir}/src_moz/runem"/>
</target>
<target name="clean.classes_spec">
<delete dir="${build.home}/org/mozilla/webclient"/>
</target>
<target name="clean.test">
<ant antfile="build-tests.xml" target="clean"/>
</target>
<target name="clean" depends="clean.classes_spec">
<ant antfile="build-tests.xml" target="clean"/>
<delete>
<fileset dir="${basedir}/src_moz">
<include name="**/*BrowserControlCanvas.h"/>
<exclude name="motif/MotifBrowserControlCanvas.h"/>
</fileset>
</delete>
<delete >
<fileset dir="${basedir}/src_share">
<include name="*.h"/>
<exclude name="bal_util.h"/>
<exclude name="jni_util_export.h"/>
<exclude name="jni_util.h"/>
</fileset>
</delete>
<delete >
<fileset dir="${basedir}/src_moz">
<include name="*.ilk"/>
</fileset>
</delete>
<delete >
<fileset dir="${basedir}/src_ie">
<include name="*.ilk"/>
</fileset>
</delete>
<exec os="SunOS" dir="${basedir}/src_moz" executable="gmake"
failonerror="yes">
<arg line="clobber_all"/>
</exec>
<exec os="Linux" dir="${basedir}/src_moz" executable="make"
failonerror="yes">
<arg line="clobber_all"/>
</exec>
<exec os="Windows 2000" dir="${basedir}/src_moz" executable="make"
failonerror="yes">
<arg line="clobber_all"/>
</exec>
<exec os="Windows 2000" dir="${basedir}/src_ie" executable="make"
failonerror="yes">
<arg line="clobber_all"/>
</exec>
<exec os="SunOS" dir="${basedir}/src_share" executable="gmake"
failonerror="yes">
<arg line="clobber_all"/>
</exec>
<exec os="Linux" dir="${basedir}/src_share" executable="make"
failonerror="yes">
<arg line="clobber_all"/>
</exec>
<exec os="Windows 2000" dir="${basedir}/src_share" executable="make"
failonerror="yes">
<arg line="clobber_all"/>
</exec>
</target>
<target name="test" depends="main"
description="compile everything and Run unit tests">
<antcall target="run.test" />
</target>
<target name="run.test" description="Run unit tests">
<ant antfile="build-tests.xml" target="run.test"/>
</target>
<target name="run.test.browser" depends="main" description="Run the test browser">
<ant antfile="build-tests.xml" target="run.test.browser"/>
</target>
<target name="compile.test" description="compile unit tests">
<ant antfile="build-tests.xml" target="compile.test"/>
</target>
</project>