diff --git a/mozilla/java/webclient/classes_spec/org/mozilla/webclient/wrapper_native/BookmarksImpl.java b/mozilla/java/webclient/classes_spec/org/mozilla/webclient/wrapper_native/BookmarksImpl.java index e9ef6ee7fef..9ce05e9f605 100644 --- a/mozilla/java/webclient/classes_spec/org/mozilla/webclient/wrapper_native/BookmarksImpl.java +++ b/mozilla/java/webclient/classes_spec/org/mozilla/webclient/wrapper_native/BookmarksImpl.java @@ -29,7 +29,6 @@ import org.mozilla.util.ParameterCheck; import org.mozilla.webclient.BrowserControl; import org.mozilla.webclient.Bookmarks; import org.mozilla.webclient.BookmarkEntry; -import org.mozilla.webclient.ImplObject; import org.mozilla.webclient.WindowControl; import org.mozilla.webclient.WrapperFactory; @@ -37,7 +36,7 @@ import javax.swing.tree.TreeModel; import javax.swing.tree.TreeNode; import javax.swing.tree.DefaultTreeModel; -public class BookmarksImpl extends ImplObject implements Bookmarks +public class BookmarksImpl extends ImplObjectNative implements Bookmarks { // // Constants @@ -55,14 +54,6 @@ public class BookmarksImpl extends ImplObject implements Bookmarks // Relationship Instance Variables -/** - - * a handle to the actual mozilla webShell, obtained from WindowControl - - */ - -private int nativeWebShell = -1; - /** * The bookmarks @@ -80,16 +71,6 @@ public BookmarksImpl(WrapperFactory yourFactory, BrowserControl yourBrowserControl) { super(yourFactory, yourBrowserControl); - - // save the native webshell ptr - try { - WindowControl windowControl = (WindowControl) - myBrowserControl.queryInterface(BrowserControl.WINDOW_CONTROL_NAME); - nativeWebShell = windowControl.getNativeWebShell(); - } - catch (Exception e) { - System.out.println(e.getMessage()); - } } // @@ -218,7 +199,7 @@ public static void main(String [] args) Log.setApplicationName("BookmarksImpl"); Log.setApplicationVersion("0.0"); - Log.setApplicationVersionDate("$Id: BookmarksImpl.java,v 1.1 2000-03-04 01:10:55 edburns%acm.org Exp $"); + Log.setApplicationVersionDate("$Id: BookmarksImpl.java,v 1.2 2000-03-09 23:22:50 edburns%acm.org Exp $"); try { org.mozilla.webclient.BrowserControlFactory.setAppData(args[0]); diff --git a/mozilla/java/webclient/classes_spec/org/mozilla/webclient/wrapper_native/CurrentPageImpl.java b/mozilla/java/webclient/classes_spec/org/mozilla/webclient/wrapper_native/CurrentPageImpl.java index 17fba341202..1d4d4ac2355 100644 --- a/mozilla/java/webclient/classes_spec/org/mozilla/webclient/wrapper_native/CurrentPageImpl.java +++ b/mozilla/java/webclient/classes_spec/org/mozilla/webclient/wrapper_native/CurrentPageImpl.java @@ -28,11 +28,10 @@ import org.mozilla.util.ParameterCheck; import org.mozilla.webclient.BrowserControl; import org.mozilla.webclient.CurrentPage; -import org.mozilla.webclient.ImplObject; import org.mozilla.webclient.WindowControl; import org.mozilla.webclient.WrapperFactory; -public class CurrentPageImpl extends ImplObject implements CurrentPage +public class CurrentPageImpl extends ImplObjectNative implements CurrentPage { // // Protected Constants @@ -50,14 +49,6 @@ public class CurrentPageImpl extends ImplObject implements CurrentPage // Relationship Instance Variables -/** - - * a handle to the actual mozilla webShell, obtained from WindowControl - - */ - -private int nativeWebShell = -1; - // // Constructors and Initializers // @@ -66,16 +57,6 @@ public CurrentPageImpl(WrapperFactory yourFactory, BrowserControl yourBrowserControl) { super(yourFactory, yourBrowserControl); - - // save the native webshell ptr - try { - WindowControl windowControl = (WindowControl) - myBrowserControl.queryInterface(BrowserControl.WINDOW_CONTROL_NAME); - nativeWebShell = windowControl.getNativeWebShell(); - } - catch (Exception e) { - System.out.println(e.getMessage()); - } } // @@ -209,7 +190,7 @@ public static void main(String [] args) Assert.setEnabled(true); Log.setApplicationName("CurrentPageImpl"); Log.setApplicationVersion("0.0"); - Log.setApplicationVersionDate("$Id: CurrentPageImpl.java,v 1.1 2000-03-04 01:10:55 edburns%acm.org Exp $"); + Log.setApplicationVersionDate("$Id: CurrentPageImpl.java,v 1.2 2000-03-09 23:22:50 edburns%acm.org Exp $"); } diff --git a/mozilla/java/webclient/classes_spec/org/mozilla/webclient/wrapper_native/EventRegistrationImpl.java b/mozilla/java/webclient/classes_spec/org/mozilla/webclient/wrapper_native/EventRegistrationImpl.java index 6bfdd26b43a..5850a41cf3a 100644 --- a/mozilla/java/webclient/classes_spec/org/mozilla/webclient/wrapper_native/EventRegistrationImpl.java +++ b/mozilla/java/webclient/classes_spec/org/mozilla/webclient/wrapper_native/EventRegistrationImpl.java @@ -27,7 +27,6 @@ import org.mozilla.util.Log; import org.mozilla.util.ParameterCheck; import org.mozilla.webclient.BrowserControl; -import org.mozilla.webclient.ImplObject; import org.mozilla.webclient.EventRegistration; import org.mozilla.webclient.WindowControl; import org.mozilla.webclient.WrapperFactory; @@ -36,7 +35,7 @@ import org.mozilla.webclient.DocumentLoadListener; import org.mozilla.webclient.WebclientEvent; import org.mozilla.webclient.WebclientEventListener; -public class EventRegistrationImpl extends ImplObject implements EventRegistration +public class EventRegistrationImpl extends ImplObjectNative implements EventRegistration { // // Constants @@ -54,15 +53,6 @@ public class EventRegistrationImpl extends ImplObject implements EventRegistrati // Relationship Instance Variables -/** - - * a handle to the actual mozilla webShell, obtained from WindowControl - - */ - -private int nativeWebShell = -1; - - /** * the Java thread for processing events, owned by WindowControlImpl @@ -80,13 +70,11 @@ public EventRegistrationImpl(WrapperFactory yourFactory, { super(yourFactory, yourBrowserControl); - // save the native webshell ptr + // pull out the NativeEventThread from the WindowControl try { WindowControl windowControl = (WindowControl) myBrowserControl.queryInterface(BrowserControl.WINDOW_CONTROL_NAME); - nativeWebShell = windowControl.getNativeWebShell(); - // pull out the NativeEventThread from the WindowControl if (windowControl instanceof WindowControlImpl) { nativeEventThread = ((WindowControlImpl)windowControl).getNativeEventThread(); @@ -149,7 +137,7 @@ public static void main(String [] args) Log.setApplicationName("EventRegistrationImpl"); Log.setApplicationVersion("0.0"); - Log.setApplicationVersionDate("$Id: EventRegistrationImpl.java,v 1.1 2000-03-04 01:10:55 edburns%acm.org Exp $"); + Log.setApplicationVersionDate("$Id: EventRegistrationImpl.java,v 1.2 2000-03-09 23:22:50 edburns%acm.org Exp $"); try { org.mozilla.webclient.BrowserControlFactory.setAppData(args[0]); diff --git a/mozilla/java/webclient/classes_spec/org/mozilla/webclient/wrapper_native/HistoryImpl.java b/mozilla/java/webclient/classes_spec/org/mozilla/webclient/wrapper_native/HistoryImpl.java index f0adcfb7303..10d725145b1 100644 --- a/mozilla/java/webclient/classes_spec/org/mozilla/webclient/wrapper_native/HistoryImpl.java +++ b/mozilla/java/webclient/classes_spec/org/mozilla/webclient/wrapper_native/HistoryImpl.java @@ -29,11 +29,10 @@ import org.mozilla.util.ParameterCheck; import org.mozilla.webclient.BrowserControl; import org.mozilla.webclient.History; import org.mozilla.webclient.HistoryEntry; -import org.mozilla.webclient.ImplObject; import org.mozilla.webclient.WindowControl; import org.mozilla.webclient.WrapperFactory; -public class HistoryImpl extends ImplObject implements History +public class HistoryImpl extends ImplObjectNative implements History { // // Protected Constants @@ -51,14 +50,6 @@ public class HistoryImpl extends ImplObject implements History // Relationship Instance Variables -/** - - * a handle to the actual mozilla webShell, obtained from WindowControl - - */ - -private int nativeWebShell = -1; - // // Constructors and Initializers // @@ -67,16 +58,6 @@ public HistoryImpl(WrapperFactory yourFactory, BrowserControl yourBrowserControl) { super(yourFactory, yourBrowserControl); - - // save the native webshell ptr - try { - WindowControl windowControl = (WindowControl) - myBrowserControl.queryInterface(BrowserControl.WINDOW_CONTROL_NAME); - nativeWebShell = windowControl.getNativeWebShell(); - } - catch (Exception e) { - System.out.println(e.getMessage()); - } } // @@ -284,7 +265,7 @@ public static void main(String [] args) Assert.setEnabled(true); Log.setApplicationName("HistoryImpl"); Log.setApplicationVersion("0.0"); - Log.setApplicationVersionDate("$Id: HistoryImpl.java,v 1.1 2000-03-04 01:10:55 edburns%acm.org Exp $"); + Log.setApplicationVersionDate("$Id: HistoryImpl.java,v 1.2 2000-03-09 23:22:51 edburns%acm.org Exp $"); } diff --git a/mozilla/java/webclient/classes_spec/org/mozilla/webclient/wrapper_native/ImplObjectNative.java b/mozilla/java/webclient/classes_spec/org/mozilla/webclient/wrapper_native/ImplObjectNative.java new file mode 100644 index 00000000000..e1e2859e413 --- /dev/null +++ b/mozilla/java/webclient/classes_spec/org/mozilla/webclient/wrapper_native/ImplObjectNative.java @@ -0,0 +1,124 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * + * The contents of this file are subject to the Mozilla 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/MPL/ + * + * 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 RaptorCanvas. + * + * The Initial Developer of the Original Code is Kirk Baker and + * Ian Wilkinson. Portions created by Kirk Baker and Ian Wilkinson are + * Copyright (C) 1999 Kirk Baker and Ian Wilkinson. All + * Rights Reserved. + * + * Contributor(s): Kirk Baker + * Ian Wilkinson + * Mark Lin + * Mark Goddard + * Ed Burns + * Ann Sunhachawee + */ + +package org.mozilla.webclient.wrapper_native; + +// ImplObjectNative.java + +import org.mozilla.util.Assert; +import org.mozilla.util.Log; +import org.mozilla.util.ParameterCheck; + +import org.mozilla.webclient.ImplObject; +import org.mozilla.webclient.WrapperFactory; +import org.mozilla.webclient.BrowserControl; +import org.mozilla.webclient.WindowControl; + +/** + + * This is the base class for all implementations of the BrowserControl + * interfaces in the native browser wrapping code. It simply defines + * the common attributes for all native browser wrapping webclient + * implementation classes. It extends the ImplObject, which is the base + * class for all implementations of BrowserControl interfaces in either + * native or non-native code. + + */ + +public abstract class ImplObjectNative extends ImplObject +{ +// +// Protected Constants +// + +// +// Class Variables +// + +// +// Instance Variables +// + +// Attribute Instance Variables + +// Relationship Instance Variables + +/** + + * My ivars are public for fast access from subclasses in the wrapper_* + * packages. + + */ + +/** + + * a handle to the actual mozilla webShell, obtained from WindowControl + + */ + +public int nativeWebShell = -1; + +// +// Constructors and Initializers +// + +public ImplObjectNative(WrapperFactory yourFactory, + BrowserControl yourBrowserControl) +{ + super(yourFactory, yourBrowserControl); + + // If we're a WindowControlImpl instance, we can't ask ourself for + // the nativeWebShell, since it hasn't yet been created! + + if (!(this instanceof WindowControlImpl)) { + // save the native webshell ptr + try { + WindowControl windowControl = (WindowControl) + myBrowserControl.queryInterface(BrowserControl.WINDOW_CONTROL_NAME); + nativeWebShell = windowControl.getNativeWebShell(); + } + catch (Exception e) { + System.out.println(e.getMessage()); + } + } +} + + +/** + + * This constructor doesn't initialize the nativeWebshell ivar + + */ + +public ImplObjectNative(WrapperFactory yourFactory, + BrowserControl yourBrowserControl, + boolean notUsed) +{ + super(yourFactory, yourBrowserControl); +} + +} // end of class ImplObject diff --git a/mozilla/java/webclient/classes_spec/org/mozilla/webclient/wrapper_native/NavigationImpl.java b/mozilla/java/webclient/classes_spec/org/mozilla/webclient/wrapper_native/NavigationImpl.java index bd7b545dfdf..14e64e22e61 100644 --- a/mozilla/java/webclient/classes_spec/org/mozilla/webclient/wrapper_native/NavigationImpl.java +++ b/mozilla/java/webclient/classes_spec/org/mozilla/webclient/wrapper_native/NavigationImpl.java @@ -27,14 +27,13 @@ import org.mozilla.util.Log; import org.mozilla.util.ParameterCheck; import org.mozilla.webclient.BrowserControl; -import org.mozilla.webclient.ImplObject; import org.mozilla.webclient.Navigation; import org.mozilla.webclient.WindowControl; import org.mozilla.webclient.WrapperFactory; import java.awt.Rectangle; -public class NavigationImpl extends ImplObject implements Navigation +public class NavigationImpl extends ImplObjectNative implements Navigation { // // Protected Constants @@ -52,15 +51,6 @@ public class NavigationImpl extends ImplObject implements Navigation // Relationship Instance Variables -/** - - * a handle to the actual mozilla webShell, obtained from WindowControl - - */ - -private int nativeWebShell = -1; - - // // Constructors and Initializers // @@ -69,16 +59,6 @@ public NavigationImpl(WrapperFactory yourFactory, BrowserControl yourBrowserControl) { super(yourFactory, yourBrowserControl); - - // save the native webshell ptr - try { - WindowControl windowControl = (WindowControl) - myBrowserControl.queryInterface(BrowserControl.WINDOW_CONTROL_NAME); - nativeWebShell = windowControl.getNativeWebShell(); - } - catch (Exception e) { - System.out.println(e.getMessage()); - } } // @@ -145,7 +125,7 @@ public static void main(String [] args) Log.setApplicationName("NavigationImpl"); Log.setApplicationVersion("0.0"); - Log.setApplicationVersionDate("$Id: NavigationImpl.java,v 1.1 2000-03-04 01:10:56 edburns%acm.org Exp $"); + Log.setApplicationVersionDate("$Id: NavigationImpl.java,v 1.2 2000-03-09 23:22:52 edburns%acm.org Exp $"); try { org.mozilla.webclient.BrowserControlFactory.setAppData(args[0]); diff --git a/mozilla/java/webclient/classes_spec/org/mozilla/webclient/wrapper_native/WindowControlImpl.java b/mozilla/java/webclient/classes_spec/org/mozilla/webclient/wrapper_native/WindowControlImpl.java index 4a08120c1b9..94ec4ae2b64 100644 --- a/mozilla/java/webclient/classes_spec/org/mozilla/webclient/wrapper_native/WindowControlImpl.java +++ b/mozilla/java/webclient/classes_spec/org/mozilla/webclient/wrapper_native/WindowControlImpl.java @@ -27,13 +27,12 @@ import org.mozilla.util.Log; import org.mozilla.util.ParameterCheck; import org.mozilla.webclient.BrowserControl; -import org.mozilla.webclient.ImplObject; import org.mozilla.webclient.WindowControl; import org.mozilla.webclient.WrapperFactory; import java.awt.Rectangle; -public class WindowControlImpl extends ImplObject implements WindowControl +public class WindowControlImpl extends ImplObjectNative implements WindowControl { // // Protected Constants @@ -53,14 +52,6 @@ public class WindowControlImpl extends ImplObject implements WindowControl protected NativeEventThread eventThread = null; -/** - - * a handle to the actual mozilla webShell - - */ - -private int nativeWebShell = -1; - // // Constructors and Initializers // @@ -68,7 +59,7 @@ private int nativeWebShell = -1; public WindowControlImpl(WrapperFactory yourFactory, BrowserControl yourBrowserControl) { - super(yourFactory, yourBrowserControl); + super(yourFactory, yourBrowserControl, false); } // @@ -108,7 +99,7 @@ public void setBounds(Rectangle newBounds) public void createWindow(int nativeWindow, Rectangle bounds) { myFactory.throwExceptionIfNotInitialized(); - + synchronized(myBrowserControl) { synchronized(this) { nativeWebShell = nativeCreateInitContext(nativeWindow, bounds.x, @@ -233,7 +224,7 @@ public static void main(String [] args) Log.setApplicationName("WindowControlImpl"); Log.setApplicationVersion("0.0"); - Log.setApplicationVersionDate("$Id: WindowControlImpl.java,v 1.2 2000-03-07 22:10:06 ashuk%eng.sun.com Exp $"); + Log.setApplicationVersionDate("$Id: WindowControlImpl.java,v 1.3 2000-03-09 23:22:52 edburns%acm.org Exp $"); try { org.mozilla.webclient.BrowserControlFactory.setAppData(args[0]);