Граф коммитов

796 Коммитов

Автор SHA1 Сообщение Дата
edburns%acm.org 00a91ef004 Checkpoint. 2004-04-01 14:54:57 +00:00
edburns%acm.org 1e41ffb99f This checkin refactors who owns the nativeWebShell pointer. It used to
be WindowControl, and now it's BrowserControl.  I'm hoping this allows
  us to operate Webclient in a "headless" fashion.  For example, you can
  imagine a web-crawler app that leverages DOM.

A test/automated/src/test/NavigationTest.txt

- fodder for testcase

M build-tests.xml

- reformat

- add NavigationTest (fails)

M classes_spec/org/mozilla/webclient/ImplObject.java

- Refactoring: remove public ivars.  Make them private, provide
  accessor.

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

- Refactoring: remove public ivars.  Make them private, provide
  accessor.

- Remove dependence on WindowControl

- leverage new method on WrapperFactory: getNativeBrowserControl().

M classes_spec/org/mozilla/webclient/impl/BrowserControlImpl.java

- Make BrowserControlImpl the owner of the nativeWebShell pointer.  I'd
  like to see if it's possible for webclient to operate "headless" for
  certain applications, therefore, you may not have a WindowControl
  instance, which used to own the nativeWebShell pointer.

M classes_spec/org/mozilla/webclient/impl/WrapperFactory.java

- reformatting

- Software Practice: avoid downcasting to implementation class.  Since BrowserControlImpl is the owner of the nativeWebShell, but there
  is no mention of that in the public API, we modify the WrapperFactory
  contract to maintain a data structure of BrowserControl to
  nativeWebShell mappings.

- add native{Create,Destroy}BrowserControl(), which is called from
  ImplObjectNative.

M classes_spec/org/mozilla/webclient/impl/wrapper_native/BookmarksImpl.java
M classes_spec/org/mozilla/webclient/impl/wrapper_native/CurrentPageImpl.java
M classes_spec/org/mozilla/webclient/impl/wrapper_native/EventRegistrationImpl.java
M classes_spec/org/mozilla/webclient/impl/wrapper_native/HistoryImpl.java
M classes_spec/org/mozilla/webclient/impl/wrapper_native/NavigationImpl.java

- refactoring for removing public ivars.

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

- refactoring for removing public ivars.

- comment out nativeCreateInitContext temporarily

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

- implement new methods:

- add native{Create,Destroy}BrowserControl(), which is called from
  ImplObjectNative.

M classes_spec/org/mozilla/webclient/wrapper_nonnative/WrapperFactoryImpl.java

- remove vertigo test

M src_moz/ProfileManagerImpl.cpp

- shutdown the current profile

M src_moz/WrapperFactoryImpl.cpp

- Spinup and Spindown the Appshell

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

- new test

M test/automated/src/test/BrowserControlFactoryTest_correct

- new test content
2004-03-05 15:34:25 +00:00
edburns%acm.org 9cfd63e744 This checkin makes all the existing webclient unit tests run
successfully.  We are now ready to continue with webclient 2.0
development.

M build-tests.xml

- formatting

M build.xml

- added target that skips the "main" dependency.

M src_moz/ProfileManagerImpl.cpp

- correct error messages

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

- reset the system to the original profile before deleting the new one.
2004-02-26 04:21:24 +00:00
edburns%acm.org 43f8b545be M src_moz/ProfileManagerImpl.cpp
- remove log line that isn't guaranteed to be encountered

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

- change "new" to "actual" and "old" to expected

- skip "WARNING:" lines in the expected file as well.

M test/automated/src/test/BrowserControlFactoryTest_correct

- remove log line that isn't guaranteed to be encountered.
2004-02-26 02:37:00 +00:00
edburns%acm.org 2fb7301a66 Formatting. 2004-02-26 02:29:15 +00:00
edburns%acm.org b497e4b3ff This checkin takes us a little closer to the unit tests running. I'm
still seeing non-ignorable differences in the golden file, which I
must address.

M README

- remove quotes from env vars

M webclient/src_moz/WrapperFactoryImpl.cpp

- make the native.waitForDebugger mechanism work on Win32.

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

- Tweaks to optionally ignore WARNING: messages

- Tweaks to ignore lines containing keywords, such as nativeBinDir,
  which changes from platform to platform and user to user

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

- formatting
2004-02-25 05:44:08 +00:00
edburns%acm.org 95545e4e27 remove bogus newlines. 2004-02-25 03:06:36 +00:00
edburns%acm.org 1dd9f8444d Make webclient compile with Mozilla 1.6. Unit tests still don't run.
M README

- update instructions for building and running source and unit tests

M build.properties.sample

- you need junit.jar

M webclient/build-tests.xml

- reformat

M webclient/build.xml

- add "prepare" target to set the PATH_SEP

M webclient/src_ie/BookmarksImpl.cpp
M webclient/src_ie/CurrentPageImpl.cpp
M webclient/src_ie/HistoryImpl.cpp

- Account for new javah header names

M webclient/src_moz/Makefile.in

- account for new location of jawt.lib in J2SDK 1.4.2

M webclient/src_moz/NativeEventThread.cpp

+#include "nsEmbedAPI.h" // for NS_HandleEmbeddingEvent

M webclient/src_moz/NavigationActionEvents.cpp

- result is an nsIInputStream

M webclient/src_moz/WrapperFactoryImpl.cpp

+#include <nsDependentString.h> // for nsDependentCString

 and the compile is more strict now.

M webclient/src_moz/dom_util.cpp

- signature change
2004-02-23 06:26:54 +00:00
edburns%acm.org dd4796eb3e readd 2003-09-28 06:51:37 +00:00
edburns%acm.org d65fae9315 This is a checkpoint milestone for webclient 2.0. Webclient currently
doesn't run, but several unit tests for webclient do.

I'll be proceeding through the rest of the webclient interfaces,
building junit tests as I go, in the coming months.  I hope to flesh out
the basic framework, then publish build instructions, and hopefully I
can get some contributions from the community.

M util/classes/org/mozilla/util/Utilities.java

new method: getImplFromServices:

+     *
+     * <p>This method tries to load the resource
+     * <code>META-INF/services/&gt;interfaceClassName&gt;</code>, where
+     * <code>&gt;interfaceClassName&lt;</code> is the argument to this
+     * method.  If the resource is found, interpret it as a
+     * <code>Properties</code> file and read out its first line.
+     * Interpret the first line as the fully qualified class name of a
+     * class that implements <code></code>.  The named class must have a
+     * public no-arg constructor.</p>

M webclient/build-tests.xml

- junit testcases for Webclient APIs, developed using test-first.

M webclient/build.xml

- changes for new package name structure:

  packages org.mozilla.webclient.{wrapper_native, wrapper_non_native} have gone away.  Replaced with org.mozilla.webclient.impl.{wrapper_native, wrapper_non_native}

- changes to accomodate "Services" based approach for pluggable
  webclient implementation.

- don't bother re-naming the javah generated files, just let javah pick
  the names.

- pass debugging args from build.properties

- changed name of junit test target to "test".

M webclient/classes_spec/org/mozilla/webclient/BrowserControl.java

- got rid of BROWSER_TYPE.  No longer necessary due to the new
  pluggability mechanism.

M webclient/classes_spec/org/mozilla/webclient/BrowserControlFactory.java

- Leverage the org.mozilla.util.Utilities.getImplFromServices()
  mechanism to allow a vendor-pluggable webclient implementation of the
  new "WebclientFactory" interface, which is method for method
  compatible with BrowserControlFactory.  Make all BrowserControlFactory
  methods call through to methods on the vendor provided
  WebclientFactory implementation.

R webclient/classes_spec/org/mozilla/webclient/BrowserControlFactoryInterface.java
A webclient/classes_spec/org/mozilla/webclient/BrowserControlICE.java
R webclient/classes_spec/org/mozilla/webclient/BrowserControlImpl.java
R webclient/classes_spec/org/mozilla/webclient/BrowserType.java

- move all implementation specific classe to the impl package.

M webclient/classes_spec/org/mozilla/webclient/ImplObject.java

- ImplObject shouldn't depend on vendor private classes.

M webclient/classes_spec/org/mozilla/webclient/Preferences.java

- new method

+  public void unregisterPrefChangedCallback(PrefChangedCallback cb,
+                                            String prefName, Object closure);

M webclient/classes_spec/org/mozilla/webclient/ProfileManager.java

- properly specify this interface.

A webclient/classes_spec/org/mozilla/webclient/WebclientFactory.java

 * <p>This interface allows a pluggable webclient API implementation.
 * The static methods in {@link BrowserControlFactory} call through to
 * methods on this interface.  Please see {@link BrowserControlFactory}
 * for information on how to hook up your <code>WebclientFactory</code>
 * implementation to the <code>BrowserControlFactory</code></p>

R webclient/classes_spec/org/mozilla/webclient/WrapperFactory.java
R webclient/classes_spec/org/mozilla/webclient/impl/BrowserControlFactoryImpl.java

- moved these to the impl class

A webclient/classes_spec/org/mozilla/webclient/impl/BrowserControlImpl.java
A webclient/classes_spec/org/mozilla/webclient/impl/Service.java
A webclient/classes_spec/org/mozilla/webclient/impl/WebclientFactoryImpl.java
A webclient/classes_spec/org/mozilla/webclient/impl/WrapperFactory.java
A webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/BookmarkEntryImpl.java
A webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/BookmarksImpl.java
A webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/CurrentPageImpl.java
A webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/EventRegistrationImpl.java
A webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/HistoryImpl.java
A webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/ISupportsPeer.java
A webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/ImplObjectNative.java
A webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/NativeEventThread.java
A webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/NavigationImpl.java
A webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/PreferencesImpl.java
A webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/ProfileManagerImpl.java
A webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/RDFEnumeration.java
A webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/RDFTreeNode.java
A webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/SelectionImpl.java
A webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/WCEventListenerWrapper.java
A webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/WCMouseListenerImpl.java
A webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/WindowControlImpl.java
A webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImpl.java
A webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/gtk/GtkBrowserControlCanvas.java
A webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/win32/Win32BrowserControlCanvas.java

- copied from old package naming scheme.

- lots and lots of cleanup.

R webclient/classes_spec/org/mozilla/webclient/wrapper_native/BookmarkEntryImpl.java
R webclient/classes_spec/org/mozilla/webclient/wrapper_native/BookmarksImpl.java
R webclient/classes_spec/org/mozilla/webclient/wrapper_native/CurrentPageImpl.java
R webclient/classes_spec/org/mozilla/webclient/wrapper_native/EventRegistrationImpl.java
R webclient/classes_spec/org/mozilla/webclient/wrapper_native/HistoryImpl.java
R webclient/classes_spec/org/mozilla/webclient/wrapper_native/ISupportsPeer.java
R webclient/classes_spec/org/mozilla/webclient/wrapper_native/ImplObjectNative.java
R webclient/classes_spec/org/mozilla/webclient/wrapper_native/NativeEventThread.java
R webclient/classes_spec/org/mozilla/webclient/wrapper_native/NavigationImpl.java
R webclient/classes_spec/org/mozilla/webclient/wrapper_native/PreferencesImpl.java
R webclient/classes_spec/org/mozilla/webclient/wrapper_native/ProfileManagerImpl.java
R webclient/classes_spec/org/mozilla/webclient/wrapper_native/RDFEnumeration.java
R webclient/classes_spec/org/mozilla/webclient/wrapper_native/RDFTreeNode.java
A webclient/classes_spec/org/mozilla/webclient/wrapper_native/README
R webclient/classes_spec/org/mozilla/webclient/wrapper_native/SelectionImpl.java
R webclient/classes_spec/org/mozilla/webclient/wrapper_native/WCEventListenerWrapper.java
R webclient/classes_spec/org/mozilla/webclient/wrapper_native/WCMouseListenerImpl.java
R webclient/classes_spec/org/mozilla/webclient/wrapper_native/WindowControlImpl.java
R webclient/classes_spec/org/mozilla/webclient/wrapper_native/WrapperFactoryImpl.java
R webclient/classes_spec/org/mozilla/webclient/wrapper_native/gtk/GtkBrowserControlCanvas.java
R webclient/classes_spec/org/mozilla/webclient/wrapper_native/win32/Win32BrowserControlCanvas.java

- removed from old package naming scheme

M webclient/src_moz/BookmarksImpl.cpp

- remove dependency on RDFActionEvents by inlining all the code that
  formerly was in the events.

- package name change

- JNI include file name change

M webclient/src_moz/CurrentPageImpl.cpp
M webclient/src_moz/HistoryImpl.cpp
M webclient/src_moz/ISupportsPeer.cpp

- package name change

- JNI include file name change

M webclient/src_moz/Makefile.in

- get rid of PreferencesActionEvents.cpp and RDFActionEvents.cpp

- add ProfileManagerImpl.cpp

M webclient/src_moz/NativeEventThread.cpp

- this file is not done yet.  I've been pulling misplaced initialization
  stuff out of here and putting it into WrapperFactoryImpl.cpp.

- got rid of gComponentManager, since we can use do_CreateInstance
  instead.

- package name change

- JNI include file name change

M webclient/src_moz/NativeEventThreadActionEvents.h

- JNI include file name change

M webclient/src_moz/NavigationImpl.cpp

- package name change

- JNI include file name change

R webclient/src_moz/PreferencesActionEvents.cpp
R webclient/src_moz/PreferencesActionEvents.h

- don't need these anymore!  woohoo!

M webclient/src_moz/PreferencesImpl.cpp

- remove dependency on PreferencesActionEvents by inlining code into the
  methods that used to use the events.

A webclient/src_moz/ProfileManagerImpl.cpp

- new class, implementation of the ProfileManager interface.

M webclient/src_moz/PromptActionEvents.cpp

- change erroneous comment so my grep performed correctly.

R webclient/src_moz/RDFActionEvents.cpp
R webclient/src_moz/RDFActionEvents.h

- don't need these anymore!  woohoo!

M webclient/src_moz/RDFEnumeration.cpp
M webclient/src_moz/RDFTreeNode.cpp

- remove dependency on RDFActionEvents by inlining code into the
  methods that used to use the events.

M webclient/src_moz/WindowControlActionEvents.cpp

- deallocate shareInitiContext.

M webclient/src_moz/WindowControlImpl.cpp

- package name change

- JNI include file name change

- remove the "sleep so I can attach gdb" code.  Moved to
  WrapperFactoryImpl.cpp.

M webclient/src_moz/WrapperFactoryImpl.cpp

- lots of changes.  This is now where the app initialization and
  shutdown happens,

M webclient/src_moz/dom_util.cpp

- comment change

M webclient/src_moz/ns_globals.h

- get rid of inappropriate global usage.

M webclient/src_moz/ns_util.h

- new struct WebclientContext for singletons.

M webclient/src_moz/rdf_util.cpp

- new methods, rdf_startup and rdf_shutdown.

- replace calls to nsComponentManager::CreateInstance() with
  do_CreateInstance().

M webclient/src_moz/rdf_util.h

- new methods, rdf_startup and rdf_shutdown.

M webclient/src_moz/gtk/GtkBrowserControlCanvas.cpp

- package name change

- JNI include file name change

M webclient/src_moz/gtk/GtkBrowserControlCanvasStub.cpp

- package name change

- JNI include file name change

- this file isn't needed anymore, thankfully!  I'll remove it soon.

M webclient/src_moz/gtk/StubFunctions.h

- package name change

- JNI include file name change

- this file isn't needed anymore, thankfully!  I'll remove it soon.

M webclient/src_moz/motif/BrowserControlNativeShimStub.cpp
M webclient/src_moz/motif/MotifBrowserControlCanvas.cpp
M webclient/src_moz/motif/MotifBrowserControlCanvasStub.cpp
M webclient/src_moz/motif/NativeLoaderStub.cpp
M webclient/src_moz/win32/Win32BrowserControlCanvas.cpp

- package name change

- JNI include file name change

M webclient/src_share/jni_util.cpp
M webclient/src_share/jni_util.h

- util_InitializeShareInitContext() takes a JNIEnv *.

- new methods

+void util_DeleteGlobalRef(JNIEnv *env, jobject toDeleteRef);
+void util_DeleteLocalRef(JNIEnv *env, jobject toDeleteRef);
+void util_getSystemProperty(JNIEnv *env,
+                            const char *propName,
+                            char *propValue,
+                            jint propValueLen);


M webclient/src_share/jni_util_export.cpp
M webclient/src_share/jni_util_export.h

+JNIEXPORT jobjectArray util_GetJstringArrayFromJcharArray(JNIEnv *env,
+                                                          jint len,
+                                                          jchar **strings,
+                                                          jint *stringLengths)

A webclient/test/automated/src/classes/org/mozilla/webclient/BookmarksTest.java
R webclient/test/automated/src/classes/org/mozilla/webclient/BrowserControlFactoryTest.java
A webclient/test/automated/src/classes/org/mozilla/webclient/PreferencesTest.java
A webclient/test/automated/src/classes/org/mozilla/webclient/ProfileManagerTest.java
A webclient/test/automated/src/classes/org/mozilla/webclient/impl/WebclientFactoryImplTest.java
A webclient/test/automated/src/classes/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImplTest.java
A webclient/test/automated/src/classes/org/mozilla/webclient/impl/wrapper_native/gtk/TestGtkBrowserControlCanvas.java
R webclient/test/automated/src/classes/org/mozilla/webclient/wrapper_native/gtk/TestGtkBrowserControlCanvas.java
A webclient/test/automated/src/test/BrowserControlFactoryTest_correct

- junit tests!  TEST FIRST!
2003-09-28 06:29:22 +00:00
edburns%acm.org 113476328b SECTION: Changes
M build-tests.xml

- changes to make unit tests run again.

M build.xml

- updated version

- create the services definition for the webclient implementation

M classes_spec/org/mozilla/webclient/BrowserControlCanvas.java
M classes_spec/org/mozilla/webclient/BrowserControlImpl.java

- temporary hacks until we have everything migrated to the new package
  structure.

M classes_spec/org/mozilla/webclient/BrowserControlFactory.java

- Make this class be a shim to the implementation specific instance.

A classes_spec/org/mozilla/webclient/BrowserControlFactoryInterface.java

- Interface to be implemented by the webclient implementor

A classes_spec/org/mozilla/webclient/impl/BrowserControlFactoryImpl.java

- concrete implementation of BrowserControlFactoryInterface

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

- test that the factory can be instantiated.

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

- Make sure we have our bin dir set.


Index: build-tests.xml
===================================================================
RCS file: /cvsroot/mozilla/java/webclient/build-tests.xml,v
retrieving revision 1.1
diff -u -r1.1 build-tests.xml
--- build-tests.xml	1 Oct 2002 00:39:18 -0000	1.1
+++ build-tests.xml	6 Sep 2003 06:22:05 -0000
@@ -3,7 +3,7 @@
  SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 -->
 
-<project name="Webclient Unit Tests" default="test.local" basedir=".">
+<project name="Webclient Unit Tests" default="run.test" basedir=".">
 
 <!--
         This is a generic build.xml file for Ant that is used to run the
@@ -75,7 +75,7 @@
 
     <path id="test.classpath">
       <pathelement location="${junit.jar}"/>
-      <pathelement location="${build.home}/classes"/>
+      <pathelement location="${build.home}"/>
       <pathelement location="${out.test.dir}/classes"/>
     </path>
 
@@ -87,6 +87,8 @@
 -->
     <target name="compile.test">
 
+        <echo message="${build.home}"/>
+
         <mkdir  dir="${out.test.dir}/classes"/>
 
         <javac srcdir="${src.test.dir}"
@@ -125,6 +127,7 @@
             <jvmarg value="-Djava.library.path=${myenv.MOZILLA_FIVE_HOME}:${myenv.MOZILLA_FIVE_HOME}/components"/>
             <jvmarg value="-DNSPR_LOG_MODULES=${myenv.NSPR_LOG_MODULES}"/>
             <jvmarg value="-DNSPR_LOG_FILE=${myenv.NSPR_LOG_FILE}"/>
+            <jvmarg value="-DBROWSER_BIN_DIR=${myenv.MOZILLA_FIVE_HOME}"/>
             <jvmarg line="${debug.jvm.args}"/>
 
 
@@ -132,7 +135,11 @@
 
             <formatter type="plain" usefile="false"/>
 
+            <test name="org.mozilla.webclient.BrowserControlFactoryTest"/>
+<!-- non-running tests 
+
             <test name="org.mozilla.webclient.wrapper_native.gtk.TestGtkBrowserControlCanvas"/>
+-->
 
         </junit>
 
Index: build.xml
===================================================================
RCS file: /cvsroot/mozilla/java/webclient/build.xml,v
retrieving revision 1.15
diff -u -r1.15 build.xml
--- build.xml	9 Jun 2003 20:05:33 -0000	1.15
+++ build.xml	6 Sep 2003 06:22:06 -0000
@@ -30,7 +30,7 @@

   <property name="Name" value="webclient"/>
   <property name="name" value="webclient"/>
-  <property name="version" value="20020916"/>
+  <property name="version" value="20030906"/>

 <!-- ************ Per user local properties ******************************* -->

@@ -85,8 +85,12 @@

       <include name="org/mozilla/webclient/*"/>
       <include name="org/mozilla/webclient/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.BrowserControlFactoryInterface">org.mozilla.webclient.impl.BrowserControlFactoryImpl</echo>

   </target>

Index: classes_spec/org/mozilla/webclient/BrowserControlCanvas.java
===================================================================
RCS file: /cvsroot/mozilla/java/webclient/classes_spec/org/mozilla/webclient/BrowserControlCanvas.java,v
retrieving revision 1.5
diff -u -r1.5 BrowserControlCanvas.java
--- classes_spec/org/mozilla/webclient/BrowserControlCanvas.java	9 Apr 2003 17:42:30 -0000	1.5
+++ classes_spec/org/mozilla/webclient/BrowserControlCanvas.java	6 Sep 2003 06:22:06 -0000
@@ -114,7 +114,8 @@

 } // BrowserControlCanvas() ctor

-protected void initialize(BrowserControl controlImpl)
+// PENDING(edburns): make this protected again
+public void initialize(BrowserControl controlImpl)
 {
     ParameterCheck.nonNull(controlImpl);
     webShell = controlImpl;
Index: classes_spec/org/mozilla/webclient/BrowserControlFactory.java
===================================================================
RCS file: /cvsroot/mozilla/java/webclient/classes_spec/org/mozilla/webclient/BrowserControlFactory.java,v
retrieving revision 1.7
diff -u -r1.7 BrowserControlFactory.java
--- classes_spec/org/mozilla/webclient/BrowserControlFactory.java	1 Oct 2002 00:39:20 -0000	1.7
+++ classes_spec/org/mozilla/webclient/BrowserControlFactory.java	6 Sep 2003 06:22:06 -0000
@@ -35,22 +35,38 @@
 import java.io.File;
 import java.io.FileNotFoundException;

-/**
- *
- *  <B>BrowserControlFactory</B> creates concrete instances of BrowserControl
-
- * <B>Lifetime And Scope</B> <P>
+import java.io.BufferedReader;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.util.HashMap;
+import java.util.Properties;

- * This is a static class, it is neven instantiated.

+/**
+ *
+ *  <p><B>BrowserControlFactory</B> uses a discovery algorithm to find
+ *  an implementation of {@link BrowserControlFactoryInterface}.  All of
+ *  the public static methods in this class simply call through to this
+ *  implemenatation instance.</p>
+ *
+ * <p>The discovery mechanism used is to look try to load a resource
+ * called
+ * <code>META-INF/services/org.mozilla.webclient.BrowserControlFactoryInterface</code>.
+ * If the resource is found, interpret it as a <code>Properties</code>
+ * file and read out its first line.  Interpret the first line as the
+ * fully qualified class name of a class that implements {@link
+ * BrowserControlFactoryInterface}.  The named class must have a public
+ * no-arg constructor.</p>
+ *
  *
  * @version $Id: BrowserControlFactory.java,v 1.7 2002/10/01 00:39:20 edburns%acm.org Exp $
  *
- * @see	org.mozilla.webclient.test.EmbeddedMozilla
-
+ *
  */

-public class BrowserControlFactory extends Object
+public class BrowserControlFactory extends Object
 {
 //
 // Protected Constants
@@ -60,24 +76,13 @@
 // Class Variables
 //

-    private static boolean appDataHasBeenSet = false;
-    private static Class browserControlCanvasClass = null;
-    private static String platformCanvasClassName = null;
-    private static String browserType = null;
-
-//
-// Instance Variables
-//
-
-// Attribute Instance Variables
-
-// Relationship Instance Variables
+private static BrowserControlFactoryInterface instance = null;

 //
 // Constructors and Initializers
 //

-public BrowserControlFactory()
+private BrowserControlFactory()
 {
     Assert.assert_it(false, "This class shouldn't be constructed.");
 }
@@ -88,179 +93,97 @@

 public static void setAppData(String absolutePathToNativeBrowserBinDir) throws FileNotFoundException, ClassNotFoundException
 {
-    BrowserControlFactory.setAppData(BrowserControl.BROWSER_TYPE_NATIVE, absolutePathToNativeBrowserBinDir);
+    getInstance().setAppData(BrowserControl.BROWSER_TYPE_NATIVE, absolutePathToNativeBrowserBinDir);
 }

-
-    /**
-
-     * This method is used to set per-application instance data, such as
-     * the location of the browser binary.
-
-     * @param myBrowserType.  Either "native" or "nonnative"
-
-     * @param absolutePathToNativeBrowserBinDir the path to the bin dir
-     * of the native browser, including the bin.  ie:
-     * "D:\Projects\mozilla\dist\win32_d.obj\bin"
-
-     */
-
 public static void setAppData(String myBrowserType, String absolutePathToNativeBrowserBinDir) throws FileNotFoundException, ClassNotFoundException
 {
-    browserType = myBrowserType;
-    if (!appDataHasBeenSet) {
-        // figure out the correct value for platformCanvasClassName
-        if (browserType.equals(BrowserControl.BROWSER_TYPE_NON_NATIVE)) {
-            platformCanvasClassName = "org.mozilla.webclient.wrapper_nonnative.JavaBrowserControlCanvas";
-        }
-        else {
-            ParameterCheck.nonNull(absolutePathToNativeBrowserBinDir);
-
-            // verify that the directory exists:
-            File binDir = new File(absolutePathToNativeBrowserBinDir);
-            if (!binDir.exists()) {
-                throw new FileNotFoundException("Directory " + absolutePathToNativeBrowserBinDir + " is not found.");
-            }
-
-            // This hack is necessary for Sun Bug #4303996
-            java.awt.Canvas c = new java.awt.Canvas();
-            platformCanvasClassName = determinePlatformCanvasClassName();
-        }
-        // end of figuring out the correct value for platformCanvasClassName
-        if (platformCanvasClassName != null) {
-            browserControlCanvasClass = Class.forName(platformCanvasClassName);
-        }
-        else {
-            throw new ClassNotFoundException("Could not determine BrowserControlCanvas class to load\n");
-        }
-
-        try {
-            BrowserControlImpl.appInitialize(browserType, absolutePathToNativeBrowserBinDir);
-        }
-        catch (Exception e) {
-            throw new ClassNotFoundException("Can't initialize native browser: " +
-                                             e.getMessage());
-        }
-        appDataHasBeenSet = true;
-    }
+    getInstance().setAppData(myBrowserType, absolutePathToNativeBrowserBinDir);
 }

 public static void appTerminate() throws Exception
 {
-    BrowserControlImpl.appTerminate();
+    getInstance().appTerminate();
 }

 public static BrowserControl newBrowserControl() throws InstantiationException, IllegalAccessException, IllegalStateException
 {
-    if (!appDataHasBeenSet) {
-        throw new IllegalStateException("Can't create BrowserControl instance: setAppData() has not been called.");
-    }
-    Assert.assert_it(null != browserControlCanvasClass);
-
-    BrowserControlCanvas newCanvas = null;
-    BrowserControl result = null;
-    newCanvas = (BrowserControlCanvas) browserControlCanvasClass.newInstance();
-    if (null != newCanvas &&
-        null != (result = new BrowserControlImpl(browserType, newCanvas))) {
-        newCanvas.initialize(result);
-    }
-
+    BrowserControl result = null;
+    result = getInstance().newBrowserControl();
     return result;
 }

-/**
-
- * BrowserControlFactory.deleteBrowserControl is called with a
- * BrowserControl instance obtained from
- * BrowserControlFactory.newBrowserControl.  This method renders the
- * argument instance completely un-usable.  It should be called when the
- * BrowserControl instance is no longer needed.  This method simply
- * calls through to the non-public BrowserControlImpl.delete() method.
-
- * @see org.mozilla.webclient.ImplObject#delete
-
- */
-
 public static void deleteBrowserControl(BrowserControl toDelete)
 {
-    ParameterCheck.nonNull(toDelete);
-    ((BrowserControlImpl)toDelete).delete();
+    getInstance().deleteBrowserControl(toDelete);
 }

 //
-// General Methods
-//
-
-/**
+// helper methods
+//

- * Called from setAppData() in the native case.  This method simply
- * figures out the proper name for the class that is the
- * BrowserControlCanvas.
-
- * @return  "org.mozilla.webclient.wrapper_native.win32.Win32BrowserControlCanvas" or "org.mozilla.webclient.wrapper_native.gtk.GtkBrowserControlCanvas"
-
- */
-
-private static String determinePlatformCanvasClassName()
+protected static BrowserControlFactoryInterface getInstance()
 {
-    String result = null;
-    // cause the native library to be loaded
-    // PENDING(edburns): do some magic to determine the right kind of
-    // MozWebShellCanvas to instantiate
-
-    // How about this:
-    // I try loading sun.awt.windows.WDrawingSurfaceInfo. If it doesn't
-    // load, then I try loading sun.awt.motif.MDrawingSufaceInfo. If
-    // none loads, then I return a error message.
-    // If you think up of a better way, let me know.
-    // -- Mark
-    // Here is what I think is a better way: query the os.name property.
-    // This works in JDK1.4, as well.
-    // -- edburns
+    if (null != instance) {
+        return instance;
+    }

-    String osName = System.getProperty("os.name");
-
-    if (null != osName) {
-       if (-1 != osName.indexOf("indows")) {
-           result = "org.mozilla.webclient.wrapper_native.win32.Win32BrowserControlCanvas";
-       }
-       else {
-           result = "org.mozilla.webclient.wrapper_native.gtk.GtkBrowserControlCanvas";
-       }
+    ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
+    if (classLoader == null) {
+        throw new RuntimeException("Context ClassLoader");
     }

-    return result;
-}
-
-// ----UNIT_TEST_START
-
-//
-// Test methods
-//
-
-public static void main(String [] args)
-{
-    System.out.println("doing asserts");
-    Assert.setEnabled(true);
-    Log.setApplicationName("BrowserControlFactory");
-    Log.setApplicationVersion("0.0");
-    Log.setApplicationVersionDate("$Id: BrowserControlFactory.java,v 1.7 2002/10/01 00:39:20 edburns%acm.org Exp $");
-
-    BrowserControlCanvas canvas = null;
-    BrowserControl control = null;
+    BufferedReader reader = null;
+    InputStream stream = null;
+    String
+        className = null,
+        resourceName = "META-INF/services/org.mozilla.webclient.BrowserControlFactoryInterface";
     try {
-        BrowserControlFactory.setAppData("nonnative", args[0]);
-        control = BrowserControlFactory.newBrowserControl();
-        Assert.assert_it(control != null);
-        canvas = (BrowserControlCanvas) control.queryInterface("webclient.BrowserControlCanvas");
-        Assert.assert_it(canvas != null);
+        stream = classLoader.getResourceAsStream(resourceName);
+        if (stream != null) {
+            // Deal with systems whose native encoding is possibly
+            // different from the way that the services entry was created
+            try {
+                reader =
+                    new BufferedReader(new InputStreamReader(stream,
+                                                             "UTF-8"));
+            } catch (UnsupportedEncodingException e) {
+                reader = new BufferedReader(new InputStreamReader(stream));
+            }
+            className = reader.readLine();
+            reader.close();
+            reader = null;
+            stream = null;
+        }
+    } catch (IOException e) {
+    } catch (SecurityException e) {
+    } finally {
+        if (reader != null) {
+            try {
+                reader.close();
+            } catch (Throwable t) {
+                ;
+            }
+            reader = null;
+            stream = null;
+        }
+        if (stream != null) {
+            try {
+                stream.close();
+            } catch (Throwable t) {
+                ;
+            }
+            stream = null;
+        }
     }
-    catch (Exception e) {
-        System.out.println("\n BrowserControl not getting created \n");
-        System.out.println(e.getMessage());
+    if (null != className) {
+        try {
+            Class clazz = classLoader.loadClass(className);
+            instance = (BrowserControlFactoryInterface) (clazz.newInstance());
+        } catch (Exception e) {
+        }
     }
+    return instance;
 }
-
-// ----UNIT_TEST_END

 } // end of class BrowserControlFactory
Index: classes_spec/org/mozilla/webclient/BrowserControlImpl.java
===================================================================
RCS file: /cvsroot/mozilla/java/webclient/classes_spec/org/mozilla/webclient/BrowserControlImpl.java,v
retrieving revision 1.7
diff -u -r1.7 BrowserControlImpl.java
--- classes_spec/org/mozilla/webclient/BrowserControlImpl.java	27 Jul 2001 20:57:52 -0000	1.7
+++ classes_spec/org/mozilla/webclient/BrowserControlImpl.java	6 Sep 2003 06:22:07 -0000
@@ -30,8 +30,8 @@
 import org.mozilla.util.Utilities;


-
-class BrowserControlImpl extends Object implements BrowserControl
+// PENDING(edburns); move this inside impl package
+public class BrowserControlImpl extends Object implements BrowserControl
 {
 //
 // Protected Constants
@@ -145,8 +145,8 @@
 //
 // Class methods
 //
-
-static void appInitialize(String myBrowserType, String verifiedBinDirAbsolutePath) throws Exception
+// PENDING(edburns): make this package private again
+public static void appInitialize(String myBrowserType, String verifiedBinDirAbsolutePath) throws Exception
 {
     browserType = myBrowserType;
     if (null == wrapperFactory) {
@@ -157,7 +157,8 @@
     wrapperFactory.initialize(verifiedBinDirAbsolutePath);
 }

-static void appTerminate() throws Exception
+// PENDING(edburns): make this package private again
+public static void appTerminate() throws Exception
 {
     Assert.assert_it(null != wrapperFactory);

Index: test/automated/src/classes/org/mozilla/webclient/WebclientTestCase.java
===================================================================
RCS file: /cvsroot/mozilla/java/webclient/test/automated/src/classes/org/mozilla/webclient/WebclientTestCase.java,v
retrieving revision 1.1
diff -u -r1.1 WebclientTestCase.java
--- test/automated/src/classes/org/mozilla/webclient/WebclientTestCase.java	1 Oct 2002 00:39:28 -0000	1.1
+++ test/automated/src/classes/org/mozilla/webclient/WebclientTestCase.java	6 Sep 2003 06:22:08 -0000
@@ -133,6 +133,16 @@
 	
 }
 
+protected void verifyBinDirSet()
+{
+    assertTrue("BROWSER_BIN_DIR is not set",
+	       null != System.getProperty("BROWSER_BIN_DIR"));
+}
+
+protected String getBrowserBinDir() {
+    return System.getProperty("BROWSER_BIN_DIR");
+}
+
 /**
 
 * assertTrue that NSPR_LOG_FILE is set.
@@ -162,6 +172,7 @@
     // make sure we have at least PR_LOG_DEBUG set
     verifyLogModuleValueIsAtLeastN(WEBCLIENTSTUB_LOG_MODULE, 4);
     verifyLogModuleValueIsAtLeastN(WEBCLIENT_LOG_MODULE, 4);
+    verifyBinDirSet();
     if (sendOutputToFile()) {
 	verifyOutputFileIsSet();
     }
2003-09-06 06:26:50 +00:00
edburns%acm.org eda9510a94 update_README 2003-07-13 04:33:16 +00:00
edburns%acm.org 11b7203f8f r=edburns
Author: Ron Capelli

These changes make webclient run with Mozilla 1.4.

Summary of changes:

  src_moz/rdf_util.cpp

    reason:  API change to RDFServiceImpl::GetResource()

  src_moz/RDFActionEvents.cpp

    reason:  API change to RDFServiceImpl::GetUnicodeResource()

  src_moz/wsRDFObserver.cpp

    reason:  member name changes to inherited nsIRDFObserver

  src_moz/CBrowserContainer.cpp

    reasons:
      - replaced obsolete/deleted nsFileSpec.h with nsCRT.h
        (to access only required/referenced function)
      - added new SetBlurSuppression and GetBlurSuppression methods
        required by change to inherited nsIBaseWindow (implementation
        copied from mozilla/xpfe/appshell/src/nsXULWindow.cpp).

  src_moz/CBrowserContainer.h

    reason:  added mBlurSuppressionLevel member variable for
             SetBlurSuppression and GetBlurSuppression methods.


The changes were relatively straightforward to identify from errors
attempting to build with Mozilla 1.4.  Testing so far indicates no
new problems have been introduced...
2003-07-13 04:23:49 +00:00
caillon%returnzero.com 4cc64cee34 Bug 209852. Remove |dont_QueryInterface|.
r=dbaron, sr=jag
2003-06-21 00:15:41 +00:00
edburns%acm.org 1f52a208ee Author: ron capelli
r=edburns
Enable progress notifications in IE webclient
Fix bug where history got out of synch between webclient and
native browser.
2003-06-10 18:53:00 +00:00
edburns%acm.org c8422041db Ant code to generate JavaOne2003 demo. 2003-06-10 17:47:34 +00:00
edburns%acm.org 09da0f3c0f author=ron capelli
r=edburns

Call clobber_all in src_ie.
2003-06-09 20:05:36 +00:00
edburns%acm.org 8ab45e6186 Author: Kyle Yuan
r=edburns

bugfix from Kyle.  Prep for future work.
2003-05-14 15:54:45 +00:00
edburns%acm.org 393a1b0ed0 r=edburns
Author: Ron Capelli <capelli@acm.org>

The following files are updated to allow use of IBM Java 1.3.x
JVMs on Linux.  Instead of statically linking libjawt.lib, the
code now dynamically links libjawt.so and then libawt.so only
if needed (similar to previous change for win32).  It should
work on Solaris, but we couldn't test that here.

    mozilla/java/webclient/src_moz/Makefile.in
    mozilla/java/webclient/src_moz/gtk/GtkBrowserControlCanvas.cpp

The following files are changed to support the ant 'clean'
target for src_ie.

    mozilla/java/webclient/build.xml
    mozilla/java/webclient/src_ie/Makefile.in

The following files are changed to disable the CurrentPage(2)
interface for IE, since it will be a while before that can be
made to work.  With these changes, IE embeds smoothly with
Navigation and History interfaces working nicely to some degree.

    mozilla/java/webclient/src_ie/WrapperFactoryImpl.cpp

mozilla/java/webclient/classes_spec/org/mozilla/webclient/test/EMWindow.java

The following file is changed so that it does not depend on
Mozilla, allowing it to be shared cleanly for IE.

    mozilla/java/webclient/src_moz/win32/Win32BrowserControlCanvas.cpp

The following file is changed to correct the list of makefiles
that need to be configured for Webclient.

    mozilla/java/makefiles

Finally, please delete the following files from CVS.

    mozilla/java/webclient/src_ie/build.xml
    mozilla/java/webclient/src_ie/Makefile.win
2003-05-13 20:22:13 +00:00
edburns%acm.org 75e7ec52ea buildRunems_no_longer_exists 2003-05-13 19:21:12 +00:00
edburns%acm.org 08b4ea7f10 M webclient/build.xml
- src_ie has no clobber, clobber_all, or clean target.  Comment this out
  for now.

M webclient/classes_spec/org/mozilla/webclient/Prompt.java
M webclient/classes_spec/org/mozilla/webclient/test/EMWindow.java
M webclient/classes_spec/org/mozilla/webclient/test/UniversalDialog.java
M webclient/src_moz/CBrowserContainer.cpp
M webclient/src_moz/CBrowserContainer.h
M webclient/src_moz/Makefile.in
M webclient/src_moz/NativeEventThread.cpp
M webclient/src_moz/NativeEventThreadActionEvents.cpp
M webclient/src_moz/PromptActionEvents.cpp
M webclient/src_moz/PromptActionEvents.h
M webclient/src_share/jni_util.cpp
M webclient/src_share/jni_util.h

- Roll back Kyle Yuan's 20030509 change for nsIPrompt, since it seems to
  break events between the browser and the app.

R webclient/src_moz/PromptService.h
R webclient/classes_spec/org/mozilla/webclient/test/UniversalDialogData.java
R webclient/src_moz/AppComponents.cpp
R webclient/src_moz/AppComponents.h
R webclient/src_moz/PromptService.cpp

- These are new files that Kyle added.
2003-05-13 15:22:04 +00:00
kyle.yuan%sun.com 92c9701d6f missing } at line 698 (the end of Java_org_mozilla_webclient_wrapper_1native_CurrentPageImpl_nativeClearAllSelections) 2003-05-09 10:56:07 +00:00
kyle.yuan%sun.com 636945d6ca Bug 201275 [Webclient] move Prompt code from CBrowserContainer to PromptService
r=edburns
2003-05-06 01:50:06 +00:00
kyle.yuan%sun.com 20952bc3eb Bug 201308
Forgot to check in this new file.
2003-04-24 06:53:03 +00:00
kyle.yuan%sun.com c51f266635 Bug 201308 [Webclient] support nsIWindowCreator::CreateChromeWindow
r=edburns
2003-04-24 05:55:22 +00:00
kyle.yuan%sun.com afee19ff58 Bug 201273 [Webclient] add Print/Print Preview function
r=edburns
2003-04-18 01:07:54 +00:00
edburns%acm.org 570ed13807 Author=Ronald Capelli <capelli@us.ibm.com>
r=edburns

This checkin makes Webclient run with IE!

Thanks Ron!

Ed
2003-04-12 21:40:35 +00:00
edburns%acm.org 8fe43ad62a Author= Daniel Park
r=edburns

SECTION: classes changes

M build.xml

- Removed spurious linebreak on Kyle's create.webclient.scripts.

M classes_spec/org/mozilla/webclient/BrowserControlCanvas.java

- Bugfix from Daniel Park

M classes_spec/org/mozilla/webclient/test/EMWindow.java

- Leverage new CurrentPage2 interface to display the Selection object.

M classes_spec/org/mozilla/webclient/wrapper_native/CurrentPageImpl.java
M classes_spec/org/mozilla/webclient/wrapper_nonnative/CurrentPageImpl.java

- Implement new methods from CurrentPage2.

M src_moz/CurrentPageActionEvents.cpp
M src_moz/CurrentPageActionEvents.h
M src_moz/CurrentPageImpl.cpp
M src_moz/gtk/GtkBrowserControlCanvasStub.cpp
M src_moz/gtk/StubFunctions.h

Native details for CurrentPage2.

SECTION: New files

A classes_spec/org/mozilla/webclient/Selection.java
A classes_spec/org/mozilla/webclient/CurrentPage2.java
A classes_spec/org/mozilla/webclient/wrapper_native/SelectionImpl.java
2003-04-09 17:42:41 +00:00
kyle.yuan%sun.com 5a4cbd5c11 Bug 156712 Webclient can't do File->New Window on Unix
r=edburns
2003-04-09 01:36:03 +00:00
edburns%acm.org 3bc4a0884a author=kyle.yuan@sun.com
r=edburns

Remove the dependency on perl for generating the runem script.
2003-04-08 15:21:28 +00:00
kyle.yuan%sun.com 116864c12f Clean the old Makefile.win 2003-04-04 06:34:30 +00:00
edburns%acm.org a59e8755df Ronald Capelli contributed this fix to make it work with Mozilla
1.3b.
2003-03-11 18:13:22 +00:00
edburns%acm.org 6e17bff1f9 Make Webclient compile and link on win32 2003-01-13 16:36:05 +00:00
edburns%acm.org 95d5042f51 Webclient compiles with 1.3A but does not yet link. 2003-01-13 07:41:00 +00:00
edburns%acm.org 143b5003b6 no need for this anymore! 2003-01-12 07:48:16 +00:00
edburns%acm.org 9cb2b4e2a6 Make JavaDOM build with ANT. 2003-01-12 07:43:38 +00:00
edburns%acm.org 8d21545483 We use Ant here. 2003-01-12 07:30:29 +00:00
edburns%acm.org ced07e3c6e javadom 2003-01-12 07:28:28 +00:00
edburns%acm.org 596c610282 Checkpoint for getting webclient to build with 1.3a. 2003-01-11 09:01:20 +00:00
edburns%acm.org 97b9b3a02b ra=edburns
Author: Tor Norbye <tor@eng.sun.com>

Changes to make it build on Solaris.
2003-01-08 05:21:31 +00:00
edburns%acm.org 2881259b80 gtk 2003-01-02 20:43:52 +00:00
edburns%acm.org 983f5c9fac Changes to produce proper XPI on GNU/Linux 2003-01-02 20:37:53 +00:00
edburns%acm.org cd5ea07821 *** empty log message *** 2003-01-02 01:47:31 +00:00
edburns%acm.org 05fe5e5aae Set the path. 2003-01-02 01:42:40 +00:00
edburns%acm.org 9011f9db22 Build the XPI on UNIX. 2002-12-20 22:40:32 +00:00
edburns%acm.org 40cad5bf9d Uncomment the find component changes. 2002-12-20 22:01:44 +00:00
edburns%acm.org a473d40d9d This file now builds an installable xpi for webclient! 2002-11-26 05:51:27 +00:00
edburns%acm.org 0b4b29c7c0 Generates the XPI. 2002-11-20 03:42:27 +00:00
edburns%acm.org 253a75cdfd Checkpoint. Copy binary artifacts in a cross platform manner. 2002-11-12 02:52:18 +00:00
edburns%acm.org 7eadeec45c Checkpoint. Generates Webclient jar. 2002-11-09 23:03:06 +00:00
edburns%acm.org f683b26798 Make it work on win32. 2002-11-09 21:10:09 +00:00
edburns%acm.org 2a08bcb325 Make it build on win32. 2002-11-06 07:08:30 +00:00
edburns%acm.org 8c344cf726 chmod 2002-10-18 23:18:45 +00:00
edburns%acm.org 367577069d build_with_ant 2002-10-02 22:23:47 +00:00
edburns%acm.org 2b845fdeaf Make Webclient compile and run on GNU/Linux with Mozilla 1.0.1.
Continue migration to ant.

Start out some JUnit tests.
2002-10-01 00:39:31 +00:00
edburns%acm.org 188ed08cfd Checkpoint checkin for converting webclient to building with ant.
Currently builds java classes, javah headers, and compiles src_share, src_moz,
and src_moz/gtk.
2002-09-18 18:25:29 +00:00
edburns%acm.org 11944eda1a Force wc_share to be static 2002-09-02 20:33:54 +00:00
edburns%acm.org 808a924b57 remove these until they can be replaced with JUnit tests 2002-08-31 18:18:26 +00:00
edburns%acm.org 3c8e0ff99b remove these until the can be replaced with JUnit tests 2002-08-31 18:13:17 +00:00
edburns%acm.org 8cc1c14cdf linux 2002-08-31 02:46:40 +00:00
edburns%acm.org b20d8e8183 update 2002-08-31 02:09:42 +00:00
edburns%acm.org c49f111ac8 comment_out_Meta 2002-08-31 02:09:12 +00:00
edburns%acm.org 59f44df16a debug_options 2002-07-11 22:19:59 +00:00
edburns%acm.org a078ea460a debug_options 2002-07-11 22:15:46 +00:00
edburns%acm.org 69b7fd70e5 debug_options 2002-07-11 22:12:10 +00:00
edburns%acm.org 39679cd4a8 Patch contributed by Michal Ceresna and verified by John Marmion.
This patch makes the webclient trunk work with the MOZILLA_0_9_9_BRANCH
on linux.
2002-06-01 19:11:44 +00:00
edburns%acm.org 0957f487f6 Correctly build the XPINSTALLER for Webclient1.2 2002-05-13 07:35:13 +00:00
edburns%acm.org 0eca4c3b0f I now have webclient mostly working on win32. The following features have been tested and work well.
File->New Window

File->Close

View->View Page Source as String

Search->Find

Search->Find Next

Edit->Select All

Edit->Copy

History->Back

History->Forward

History-> <Navigation Number>

Bookmarks->Manage Bookmarks

The bookmarks window pops up and you can double click on bookmarks to
cause webclient to go to that page.

Stream->Load Stream From File...

Stream->Load Random HTML InputStream

Mouse over events work

The DOMViewer works

Navigation buttons work.

This leaves Bookmarks->Add Current Page, Bookmarks->Add Current Page in New Folder,
Profile->Create Profile, and Profile->Delete Profile. The first two should be easy,
the second two, I'll probably just take out, since their implementation was based in
BlackConnect, which is currently quite dead.

When I'm happy with the state of Webclient on win32, I'll get it working on linux.
2002-05-08 21:55:14 +00:00
edburns%acm.org 7901d20cd3 Manage Bookmarks now works. You can click on links and the browser will go there. 2002-05-08 05:17:41 +00:00
edburns%acm.org 83e5af980d Make it possible to render the bookmarks tree, but you can't click on a
bookmark to open it in the browser due to a Java side deadlock.
2002-05-04 00:30:01 +00:00
edburns%acm.org 600f6c8bb1 comment 2002-04-18 19:58:58 +00:00
edburns%acm.org 1d0b339e2f Webclient compiles and runs with MOZILLA_0_9_9_BRANCH. 2002-04-16 06:12:28 +00:00
edburns%acm.org ef70bcad66 M Makefile.win
M dom/jni/javaDOMEventsGlobals.cpp
M dom/jni/makefile.win
M dom/jni/nativeDOMProxyListener.cpp
M dom/jni/nativeDOMProxyListener.h
M dom/jni/org_mozilla_dom_events_EventImpl.cpp
M dom/src/makefile.win
M dom/src/nsJavaDOMImpl.cpp
M webclient/Makefile.win
M webclient/classes_spec/Makefile.win
M webclient/classes_spec/org/mozilla/webclient/wrapper_native/ProfileManagerImpl.java
M webclient/src_moz/CBrowserContainer.cpp
M webclient/src_moz/CurrentPageActionEvents.cpp
M webclient/src_moz/HistoryActionEvents.cpp
M webclient/src_moz/HistoryImpl.cpp
M webclient/src_moz/InputStreamShim.cpp
M webclient/src_moz/Makefile.win
M webclient/src_moz/NativeEventThread.cpp
M webclient/src_moz/NativeEventThreadActionEvents.cpp
M webclient/src_moz/NavigationActionEvents.cpp
M webclient/src_moz/NavigationImpl.cpp
M webclient/src_moz/PreferencesActionEvents.cpp
M webclient/src_moz/PromptActionEvents.cpp
M webclient/src_moz/RDFActionEvents.cpp
M webclient/src_moz/win32/Makefile.win

Changes to make webclient compile and run with MOZILLA_0_9_9_BRANCH.
2002-04-15 17:38:52 +00:00
edburns%acm.org c07946b5a5 Added waitForDebugger.
* Usage: <P>

* Place a call to this method in the earliest possible entry point of
* your servlet app.  It will cause the app to enter into an infinite
* loop, sleeping until the static var keepWaiting is set to false.  The
* idea is that you attach your debugger to the servlet, then, set a
* breakpont in this method.  When it is hit, you use the debugger to set
* the keepWaiting class var to false.
2002-04-12 22:57:18 +00:00
edburns%acm.org 4932a8c19e bug: 119680
Changes to make webclient compile and minimally run with
Netscape 6.2.1.
2002-01-14 18:04:48 +00:00
timeless%mac.com 61a97fd94a Bugzilla Bug 106386 rid source of these misspellings: persistant persistance priviledge protocal editting editted targetted targetting
r='s from many people. sr=jst
2001-12-23 23:23:41 +00:00
timeless%mac.com 51a4520c4a Bugzilla Bug 107823 change nsIFile
to use 'Modified' instead of 'Modification'
r=akkana sr=brendan
2001-11-26 08:05:05 +00:00
jaggernaut%netscape.com d155c8b972 Remove IsUnicode() check on nsString. nsString is always unicode (these days), so replacing this if/then/else with the then part. r=dbaron, rs=scc 2001-10-14 04:37:37 +00:00
idk%eng.sun.com 81ff38a145 *not part of the build*
tiny fix for solaris build.
2001-09-26 01:52:11 +00:00
edburns%acm.org d006062612 Changes to make it work on Linux. 2001-09-20 18:57:35 +00:00
edburns%acm.org 663373d779 99188
r=ashuk
a=edburns

re-implement prompt for cookies.

Modified Files:
 	CBrowserContainer.cpp PromptActionEvents.cpp ns_util.cpp
 	ns_util.h
2001-09-12 23:45:37 +00:00
edburns%acm.org 8a1611e65c 99099
r=ashuk
a=edburns
This bug fix uses os.name as the way to tell platform.
2001-09-10 22:02:05 +00:00
idk%eng.sun.com 829929d6aa *not part of the build*
fix for 96935
2001-08-25 04:53:44 +00:00
idk%eng.sun.com 19f316f490 *not part of the build*
fix for 93888
a = ovk@sparc.spb.su
    jonsmirl@mediaone.net
r = jaggernaut@netscape.com
    idk@eng.sun.com
2001-08-25 01:32:15 +00:00
idk%eng.sun.com 109de17f2b *not part of the build*
fix for 94186, 94192
2001-08-11 07:06:48 +00:00
ashuk%eng.sun.com d0328ef9c7 changed Makefile.in to reflect the change made to libwc_share.a
This file is now being compiled into a shared lib libwc_share.so

_Ashu
2001-08-09 17:33:33 +00:00
idk%eng.sun.com 7c51b505be *not part of the build*
fix for 94194
a=edburns@acm.org
r=idk@eng.sun.com
2001-08-09 09:22:19 +00:00
edburns%acm.org 0f5aebefbc bug=93062
author=Nikolay Igotti
ra=edburns

This fix makes the two files use do_GetService instead of the antiquated NS_WITH_SERVICE.
2001-08-03 00:43:47 +00:00
edburns%acm.org cdc8263791 Defining WEBCLIENT_ICE=1 will cause the ICE implemenation to be built in addition to the mozila one. 2001-07-28 01:14:12 +00:00
ashuk%eng.sun.com 66014df74d Bug=91673
author=ashuk
ra=edburns

Files modifed
BrowserControl.java BrowserControlFactory.java BrowserControlImpl.java
Files added
BrowserType.java
everything in wrapper_nonnative
everything in test_nonnative

This patch allows Webclient to wrap non-native pure Java browsers like
the ICE browser.

_Ashu
2001-07-27 21:02:15 +00:00
edburns%acm.org 73c0d4e146 ignore 2001-07-27 20:05:04 +00:00
edburns%acm.org db45a78c91 Changes to make webclient compile with 0.9.2 2001-07-27 19:56:22 +00:00
edburns%acm.org 63b6674786 Make webclient compile with 0.9.2. 2001-07-27 19:24:40 +00:00
edburns%acm.org 61695e5552 Took out debug println in POST. 2001-07-27 17:24:25 +00:00
idk%eng.sun.com 76eddede1e *not part of the buld*
blackConnect tests update
2001-07-25 22:05:35 +00:00
ashuk%eng.sun.com 6aba9141e3 author=ashuk
Modifying Makefile.in and Makefile.win to create the
classes_spec/org/mozilla/webclient/stubs directory if
it does not exist. Initially this was an empty dir
checked into cvs, but it seems to be removed everytime
causing build failures. This checkin should fix the
problem.

Diffs are below:
----------------------DIFF-----------------

Index: Makefile.in
===================================================================
RCS file: /cvsroot/mozilla/java/webclient/import/Makefile.in,v
retrieving revision 1.3
diff -u -r1.3 Makefile.in
--- Makefile.in 2001/06/19 00:08:10     1.3
+++ Makefile.in 2001/07/25 00:49:46
@@ -40,7 +40,8 @@
        cp $(DEPTH)/dist/idl/$(@F) .

 mvjava2stubs: chPackageinStubs
-       mv *.java ../classes_spec/org/mozilla/webclient/stubs
+       if test ! -d ../classes_spec/org/mozilla/webclient/stubs ; then mkdir ../classes_spec/org/mozilla/webclient/stubs ; else true ; fi ;
+       mv *.java ../classes_spec/org/mozilla/webclient/stubs/.

 chPackageinStubs: idl2java
        perl chPackage.pl unix nsIProfile.java "org.mozilla.webclient.stubs"

Index: Makefile.win
===================================================================
RCS file: /cvsroot/mozilla/java/webclient/import/Makefile.win,v
retrieving revision 1.2
diff -u -r1.2 Makefile.win
--- Makefile.win        2001/05/24 22:38:40     1.2
+++ Makefile.win        2001/07/25 00:49:46
@@ -40,6 +40,7 @@
        copy $(DEPTH)\dist\idl\$(@F) .

 mvjava2stubs:
+       -mkdir ..\classes_spec\org\mozilla\webclient\stubs
        copy *.java ..\classes_spec\org\mozilla\webclient\stubs
2001-07-25 00:52:24 +00:00
idk%eng.sun.com a60a1ce746 *not part of the buld*
fix for 84801
2001-07-24 03:09:18 +00:00
edburns%acm.org 72cc61dc5c bug=64332
r=edburns
author=rpotts

This fix seems to prevent the deadlock.
2001-07-19 22:48:08 +00:00
edburns%acm.org a0065d3e1a Print out the time before initiating each load. 2001-07-19 19:02:16 +00:00
edburns%acm.org 379318d631 Removed inadvertantly remaining debugging statement. 2001-07-18 21:07:14 +00:00
edburns%acm.org b854b38841 Update 2001-07-18 20:56:48 +00:00
edburns%acm.org de1d7ae9f4 Make WFDIR be an absolute path 2001-07-18 20:49:58 +00:00
edburns%acm.org 8d465ac384 Clean implementation of liveconnect.
r=edburns
author=Nikolay
2001-07-18 20:48:17 +00:00
edburns%acm.org c365d139cb Enables waterfall to work on Linux Sparc. 2001-07-17 22:15:21 +00:00
edburns%acm.org a078b84fba Added accessor for browserControl. Needed in WCRandom testcase. 2001-07-17 20:46:32 +00:00
idk%eng.sun.com 1a1f144e76 *not part of the build*
fix for 90573
2001-07-13 22:14:57 +00:00
idk%eng.sun.com a361d7a4c2 *not part of the build*
urpConnect update
2001-07-12 23:27:20 +00:00
edburns%acm.org b2b531d4e3 bug=85523
ra=edburns
authors=edburns,
 *               Brian Satterfield <bsatterf@atl.lmco.com>
 *               Anthony Sizer <sizera@yahoo.com>

This implements Post.  Please see EMWindow for how to use.
2001-07-12 23:18:52 +00:00
edburns%acm.org b4dc72126a correct_paths 2001-07-12 21:57:52 +00:00
edburns%acm.org bd2c515b16 bug=80906
ra=edburns
author=Nikolay Igotti
Minor update to prevent some crashes.
2001-07-12 20:32:09 +00:00
edburns%acm.org 3aa0b68c56 bug=80906
ra=edburns
author=  Nikolay Igotti

Added and removed files - continued previous checkin.
2001-07-12 20:26:30 +00:00
edburns%acm.org efc7c81088 bug=80906
ra=edburns
author=Nikolay Igotti

Major cleanup and new component architecture for Waterfall.
2001-07-12 19:58:29 +00:00
idk%eng.sun.com 5bb0279a0b *not part of the build*
getting test directory back to the build
2001-07-10 00:50:44 +00:00
idk%eng.sun.com f8e14d5d91 *not part of the build*
scriptable wrappers for plugin API
a=sep@sparc.spb.su
2001-07-06 06:45:11 +00:00
idk%eng.sun.com 54ccc7b9f5 *not part of the build*
fix for 88176
2001-07-06 02:56:41 +00:00
idk%eng.sun.com 0ccc81ad71 *not part of the build*
urpConnect update.
a=lsv@sparc.spb.su
2001-06-29 08:08:59 +00:00
idk%eng.sun.com ebeddfd00e *not part of the build*
urpConnect update.
a=idk@eng.sun.com
2001-06-26 11:00:13 +00:00
idk%eng.sun.com 566b142858 *not part of the build*
fix for 86789
2001-06-26 10:54:44 +00:00
idk%eng.sun.com 51927a315d *not part of the build*
urpConnect update
a=lsv@sparc.spb.su
2001-06-23 04:17:49 +00:00
idk%eng.sun.com 00e9470392 *not part of the build*
urpConnect update
a=lsv@sparc.spb.su
2001-06-19 00:16:08 +00:00
ashuk%eng.sun.com e2c879944e author=ashuk
fixes problems with parallel builds on Solaris. Changed target
dependencies in webclient/import/Makefile.in
2001-06-19 00:08:10 +00:00
ashuk%eng.sun.com 602e230f60 author=ashuk
Files modified java/webclient/import/Makefile.in

This fixes the problem of dependencies in parallel builds. Now
Blackwood can be build using parallel make on Solaris.

Added dependencies between .java and .idl files.
2001-06-15 22:36:29 +00:00
idk%eng.sun.com fdca5a742c *not part of the build*
update for blackConnect tests
a=ovk@sparc.spb.su
2001-06-13 23:24:55 +00:00
edburns%acm.org ebfccc0e75 This is generated. 2001-06-13 20:38:59 +00:00
idk%eng.sun.com 31f9d90de8 *not part of the build*
fix for 15507 15510
(add on)
2001-06-13 09:05:48 +00:00
edburns%acm.org b335f7cbcc Changed del and rmdir to rm -rf. clobber_all didn't work on win32. 2001-06-12 20:52:31 +00:00
ashuk%eng.sun.com 2e981f8d9b Bug=85492
author=ashuk

Files modified:
java/build/install_dom_win32.js
java/build/install_pluglets_win32.js
java/build/install_blackconnect_win32.js
java/build/install_webclient_win32.js
java/build/install_blackwood_win32.js

This fix modifies the install.js files for the Blackwood XPIs
to ensure that XPI's copies the appropriate files in the
components dir upon installation.

Thanks to Girish for helping with the changes related to
the new XPInstall API.
2001-06-12 20:42:29 +00:00
ashuk%eng.sun.com f95ccf916c Bug=85486
author=ashuk

Files modified:
mozilla/java/webclient/src_moz/Makefile.in

This fix allows building the JAWT native stuff
in Webclient on Linux.
2001-06-12 20:19:56 +00:00
edburns%acm.org aba0c0a15a ra=ashuk
bug=79427.

This checkin adds the following behavior:

On GetValue, if a checkbox or radio button, it returns "CHECKED" or "UNCHECKED".

On SetValue, any string not equal to the empty string causes the checkbox
to be set.
2001-06-12 18:30:56 +00:00
idk%eng.sun.com 6c73ffba85 *not part of the build*
urpConnect update
a=lsv@sparc.spb.su,
  sep@sparc.spb.su
2001-06-12 04:47:40 +00:00
edburns%acm.org d6fe47cc68 Descend into MediaPlayer and SVG directories 2001-06-10 03:04:55 +00:00
edburns%acm.org 3693397a3f This checkin makes it so the JavaMediaPlayer demo builds on win32.
It also adds some sample content.
2001-06-10 02:54:49 +00:00
edburns%acm.org 40bdf4d358 One big jar file that contains all the jarfiles in batik. 2001-06-10 02:01:34 +00:00
edburns%acm.org 26490f38b7 First import of the SVG pluglet. Compiles and works on win32. 2001-06-10 01:46:41 +00:00
ashuk%eng.sun.com 83ce27340c author=ashuk
Bug=73085

Small fix to Makefile.in. Adding the links to the libjawt.so for
the Java Native AWT Interface. This had mistakenly been backed
out in the previous fix.
2001-06-09 00:34:09 +00:00
idk%eng.sun.com cf700c7c6b *not part of the build*
fix for 15507 15510
2001-06-09 00:12:32 +00:00
edburns%acm.org ea2abf45bf For some reason, this file did not contain the necessary information
to link with jawt.
2001-06-08 23:13:29 +00:00
idk%eng.sun.com d37f98b0a0 *not part of the build*
fixed parallel build failure
2001-06-08 21:36:46 +00:00
idk%eng.sun.com f33f79f4e4 *not part of the build*
urp connect update
2001-06-06 09:44:44 +00:00
ashuk%eng.sun.com bcd2e19d3e author=ashuk
files modified :
motif/MotifBrowserControlCanvas.cpp

changed include "ns_util.h" to
include "../ns_util.h"

This was a simple path resolution problem fix in the
include statement.
2001-06-05 20:43:57 +00:00
ashuk%eng.sun.com 739c716bc2 Bug=70656
author=ashuk
ra=edburns

Files modified:
src_moz/NativeEventThread.cpp

The fix allows webclient to startup correctly with more than
1 profile present.
2001-06-04 18:50:05 +00:00
idk%eng.sun.com bd77a000ee *not part of the build*
build java/xpidl before any other targets
2001-06-03 23:25:29 +00:00
idk%eng.sun.com 70a44612bc *not part of the build*
fix for 77579
r=yiming.chung@eng.sun.com
2001-06-02 04:44:35 +00:00
idk%eng.sun.com 5b4f613ccc *not part of the build*
fix for 83766
2001-06-02 03:28:07 +00:00
idk%eng.sun.com f845d14816 *not part of the build*
fix for 83735
2001-06-02 03:14:02 +00:00
idk%eng.sun.com 4cf55ad9a6 *not part of the build*
addon to 77140.
(NS_CurrentThread -> PR_CurrentThread)
2001-06-01 22:10:57 +00:00
ashuk%eng.sun.com 7a3b93a7bf author=ashuk
Bug=73085

Small fix - added lines to change the permission of symlink.sh to
775 in the install directory. Without this, the symlinks dont
get created correctly when the XPI is downloaded.
2001-06-01 17:37:03 +00:00
ashuk%eng.sun.com ece67777f3 author=ashuk
Bug=81648

Files modifed:
mozilla/java/webclient/classes_spec/org/mozilla/webclient/wrapper_native/motif/MotifBrowserControlCanvas.java

Small change - comment out all references to DrawingSurfaceInfo with
explanation. This is no longer needed now that we use JAWT Native
Interface
2001-06-01 17:11:30 +00:00
edburns%acm.org 88dc43ee1e Remove Accidentally inserted ^M chars. 2001-05-31 21:42:02 +00:00
idk%eng.sun.com 70c262f052 *not part of te build*
checking the right fix for 83320
2001-05-31 20:59:28 +00:00