зеркало из https://github.com/mozilla/pjs.git
r=marklin%eng.sun.com
a=edburns bug=20659 Make BrowserControl vend a Canvas instead of BrowserControlCanvas vending a BrowserControl. This change has nothing to do with mozilla. It's pure java.
This commit is contained in:
Родитель
ded572767e
Коммит
375b331d9b
|
@ -52,7 +52,7 @@ import java.awt.*;
|
|||
|
||||
* See concrete subclasses for scope info.
|
||||
|
||||
* @version $Id: BrowserControlCanvas.java,v 1.4 1999-11-06 02:24:16 dmose%mozilla.org Exp $
|
||||
* @version $Id: BrowserControlCanvas.java,v 1.5 1999-12-03 01:55:26 edburns%acm.org Exp $
|
||||
|
||||
* @see org.mozilla.webclient.win32.Win32BrowserControlCanvas
|
||||
|
||||
|
@ -111,13 +111,10 @@ protected BrowserControlCanvas ()
|
|||
|
||||
} // BrowserControlCanvas() ctor
|
||||
|
||||
protected static void initialize(String verifiedBinDirAbsolutePath)
|
||||
protected void initialize(BrowserControl controlImpl)
|
||||
{
|
||||
try {
|
||||
BrowserControlMozillaShim.initialize(verifiedBinDirAbsolutePath);
|
||||
} catch (Exception e) {
|
||||
System.out.println(e.toString());
|
||||
}
|
||||
ParameterCheck.nonNull(controlImpl);
|
||||
webShell = controlImpl;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -151,7 +148,8 @@ public void addNotify ()
|
|||
|
||||
try {
|
||||
Rectangle r = new Rectangle(getBoundsRelativeToWindow());
|
||||
webShell = new BrowserControlImpl(nativeWindow, r);
|
||||
Assert.assert(null != webShell);
|
||||
webShell.createWindow(nativeWindow, r);
|
||||
} catch (Exception e) {
|
||||
dsi.unlock();
|
||||
System.out.println(e.toString());
|
||||
|
|
|
@ -27,12 +27,15 @@ package org.mozilla.webclient;
|
|||
|
||||
// BrowserControlCore.java
|
||||
|
||||
import java.awt.Canvas;
|
||||
import java.awt.Rectangle;
|
||||
|
||||
/**
|
||||
*
|
||||
* <B>BrowserControlCore</B> Defines the core methods for browsing
|
||||
*
|
||||
|
||||
* @version $Id: BrowserControlCore.java,v 1.3 1999-11-06 02:24:17 dmose%mozilla.org Exp $
|
||||
* @version $Id: BrowserControlCore.java,v 1.4 1999-12-03 01:55:28 edburns%acm.org Exp $
|
||||
*
|
||||
|
||||
* @see org.mozilla.webclient.BrowserControlExtended
|
||||
|
@ -60,6 +63,10 @@ public boolean refresh() throws Exception;
|
|||
|
||||
public int getNativeWebShell();
|
||||
|
||||
public void createWindow(int windowPtr, Rectangle bounds) throws Exception;
|
||||
|
||||
public Canvas getCanvas();
|
||||
|
||||
} // end of interface BrowserControlCore
|
||||
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
|
||||
package org.mozilla.webclient;
|
||||
|
||||
// BrowserControlCanvasFactory.java
|
||||
// BrowserControlFactory.java
|
||||
|
||||
import org.mozilla.util.Assert;
|
||||
import org.mozilla.util.Log;
|
||||
|
@ -36,20 +36,20 @@ import java.io.FileNotFoundException;
|
|||
|
||||
/**
|
||||
*
|
||||
* <B>BrowserControlCanvasFactory</B> creates concrete instances of BrowserControlCanvas
|
||||
* <B>BrowserControlFactory</B> creates concrete instances of BrowserControl
|
||||
|
||||
* <B>Lifetime And Scope</B> <P>
|
||||
|
||||
* This is a static class, it is neven instantiated.
|
||||
|
||||
*
|
||||
* @version $Id: BrowserControlCanvasFactory.java,v 1.5 1999-11-06 02:24:17 dmose%mozilla.org Exp $
|
||||
* @version $Id: BrowserControlFactory.java,v 1.1 1999-12-03 01:55:28 edburns%acm.org Exp $
|
||||
*
|
||||
* @see org.mozilla.webclient.test.EmbeddedMozilla
|
||||
|
||||
*/
|
||||
|
||||
public class BrowserControlCanvasFactory extends Object
|
||||
public class BrowserControlFactory extends Object
|
||||
{
|
||||
//
|
||||
// Protected Constants
|
||||
|
@ -75,7 +75,7 @@ public class BrowserControlCanvasFactory extends Object
|
|||
// Constructors and Initializers
|
||||
//
|
||||
|
||||
public BrowserControlCanvasFactory()
|
||||
public BrowserControlFactory()
|
||||
{
|
||||
Assert.assert(false, "This class shouldn't be constructed.");
|
||||
}
|
||||
|
@ -139,21 +139,32 @@ public static void setAppData(String absolutePathToNativeBrowserBinDir) throws F
|
|||
throw new ClassNotFoundException("Could not determine WebShellCanvas class to load\n");
|
||||
}
|
||||
|
||||
BrowserControlCanvas.initialize(absolutePathToNativeBrowserBinDir);
|
||||
try {
|
||||
BrowserControlMozillaShim.initialize(absolutePathToNativeBrowserBinDir);
|
||||
}
|
||||
catch (Exception e) {
|
||||
throw new ClassNotFoundException("Can't initialize native browser: " +
|
||||
e.getMessage());
|
||||
}
|
||||
appDataHasBeenSet = true;
|
||||
}
|
||||
}
|
||||
|
||||
public static BrowserControlCanvas newBrowserControlCanvas() throws InstantiationException, IllegalAccessException, IllegalStateException
|
||||
public static BrowserControl newBrowserControl() throws InstantiationException, IllegalAccessException, IllegalStateException
|
||||
{
|
||||
if (!appDataHasBeenSet) {
|
||||
throw new IllegalStateException("Can't create BrowserControlCanvasInstance: setAppData() has not been called.");
|
||||
}
|
||||
Assert.assert(null != browserControlCanvasClass);
|
||||
|
||||
BrowserControlCanvas result = null;
|
||||
result = (BrowserControlCanvas) browserControlCanvasClass.newInstance();
|
||||
|
||||
BrowserControlCanvas newCanvas = null;
|
||||
BrowserControl result = null;
|
||||
newCanvas = (BrowserControlCanvas) browserControlCanvasClass.newInstance();
|
||||
if (null != newCanvas &&
|
||||
null != (result = new BrowserControlImpl(newCanvas))) {
|
||||
newCanvas.initialize(result);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -171,22 +182,24 @@ public static void main(String [] args)
|
|||
{
|
||||
System.out.println("doing asserts");
|
||||
Assert.setEnabled(true);
|
||||
Log.setApplicationName("BrowserControlCanvasFactory");
|
||||
Log.setApplicationName("BrowserControlFactory");
|
||||
Log.setApplicationVersion("0.0");
|
||||
Log.setApplicationVersionDate("$Id: BrowserControlCanvasFactory.java,v 1.5 1999-11-06 02:24:17 dmose%mozilla.org Exp $");
|
||||
Log.setApplicationVersionDate("$Id: BrowserControlFactory.java,v 1.1 1999-12-03 01:55:28 edburns%acm.org Exp $");
|
||||
|
||||
BrowserControlCanvas canvas = null;
|
||||
java.awt.Canvas canvas = null;
|
||||
BrowserControl control = null;
|
||||
try {
|
||||
BrowserControlCanvasFactory.setAppData(args[0]);
|
||||
canvas = BrowserControlCanvasFactory.newBrowserControlCanvas();
|
||||
BrowserControlFactory.setAppData(args[0]);
|
||||
control = BrowserControlFactory.newBrowserControl();
|
||||
Assert.assert(control != null);
|
||||
canvas = control.getCanvas();
|
||||
Assert.assert(canvas != null);
|
||||
}
|
||||
catch (Exception e) {
|
||||
System.out.println(e.getMessage());
|
||||
}
|
||||
|
||||
Assert.assert(null != canvas);
|
||||
}
|
||||
|
||||
// ----UNIT_TEST_END
|
||||
|
||||
} // end of class BrowserControl!CanvasFactory
|
||||
} // end of class BrowserControlFactory
|
|
@ -33,6 +33,7 @@ import org.mozilla.util.Log;
|
|||
import org.mozilla.util.ParameterCheck;
|
||||
|
||||
import java.awt.Rectangle;
|
||||
import java.awt.Canvas;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -40,7 +41,7 @@ import java.awt.Rectangle;
|
|||
*
|
||||
* <B>Lifetime And Scope</B> <P>
|
||||
*
|
||||
* @version $Id: BrowserControlImpl.java,v 1.5 1999-11-06 02:24:17 dmose%mozilla.org Exp $
|
||||
* @version $Id: BrowserControlImpl.java,v 1.6 1999-12-03 01:55:29 edburns%acm.org Exp $
|
||||
*
|
||||
* @see org.mozilla.webclient.BrowserControl
|
||||
*
|
||||
|
@ -71,14 +72,16 @@ public class BrowserControlImpl extends Object implements BrowserControl, EventR
|
|||
*/
|
||||
|
||||
private int nativeWebShell;
|
||||
private Canvas myCanvas;
|
||||
|
||||
//
|
||||
// Constructors and Initializers
|
||||
//
|
||||
|
||||
public BrowserControlImpl(int windowPtr, Rectangle bounds) throws Exception
|
||||
protected BrowserControlImpl(Canvas yourCanvas)
|
||||
{
|
||||
nativeWebShell = BrowserControlMozillaShim.webShellCreate(windowPtr, bounds);
|
||||
ParameterCheck.nonNull(yourCanvas);
|
||||
myCanvas = yourCanvas;
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -93,6 +96,16 @@ public BrowserControlImpl(int windowPtr, Rectangle bounds) throws Exception
|
|||
// Methods from BrowserControl
|
||||
//
|
||||
|
||||
public void createWindow(int windowPtr, Rectangle bounds) throws Exception
|
||||
{
|
||||
nativeWebShell = BrowserControlMozillaShim.webShellCreate(windowPtr, bounds);
|
||||
}
|
||||
|
||||
public Canvas getCanvas()
|
||||
{
|
||||
return myCanvas;
|
||||
}
|
||||
|
||||
public void loadURL(String urlString) throws Exception
|
||||
{
|
||||
BrowserControlMozillaShim.webShellLoadURL(nativeWebShell, urlString);
|
||||
|
@ -268,7 +281,7 @@ public static void main(String [] args)
|
|||
// BrowserControlImpl me = new BrowserControlImpl();
|
||||
Log.setApplicationName("BrowserControlImpl");
|
||||
Log.setApplicationVersion("0.0");
|
||||
Log.setApplicationVersionDate("$Id: BrowserControlImpl.java,v 1.5 1999-11-06 02:24:17 dmose%mozilla.org Exp $");
|
||||
Log.setApplicationVersionDate("$Id: BrowserControlImpl.java,v 1.6 1999-12-03 01:55:29 edburns%acm.org Exp $");
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -33,6 +33,7 @@ import java.awt.*;
|
|||
import java.awt.event.*;
|
||||
|
||||
import org.mozilla.webclient.*;
|
||||
import org.mozilla.util.Assert;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -40,9 +41,9 @@ import org.mozilla.webclient.*;
|
|||
* This is a test application for using the BrowserControl.
|
||||
|
||||
*
|
||||
* @version $Id: EmbeddedMozilla.java,v 1.4 1999-11-06 02:24:19 dmose%mozilla.org Exp $
|
||||
* @version $Id: EmbeddedMozilla.java,v 1.5 1999-12-03 01:55:30 edburns%acm.org Exp $
|
||||
*
|
||||
* @see org.mozilla.webclient.BrowserControlCanvasFactory
|
||||
* @see org.mozilla.webclient.BrowserControlFactory
|
||||
|
||||
*/
|
||||
|
||||
|
@ -114,29 +115,28 @@ public static void printUsage()
|
|||
controlPanel.add(buttonsPanel, BorderLayout.WEST);
|
||||
|
||||
// Create the browser
|
||||
BrowserControlCanvas browser = null;
|
||||
Canvas browserCanvas = null;
|
||||
|
||||
try {
|
||||
BrowserControlCanvasFactory.setAppData(binDir);
|
||||
browser = BrowserControlCanvasFactory.newBrowserControlCanvas();
|
||||
BrowserControlFactory.setAppData(binDir);
|
||||
browserControl = BrowserControlFactory.newBrowserControl();
|
||||
}
|
||||
catch(Exception e) {
|
||||
System.out.println("Can't create BrowserControlCanvas: " +
|
||||
System.out.println("Can't create BrowserControl: " +
|
||||
e.getMessage());
|
||||
}
|
||||
|
||||
browser.setSize(defaultWidth, defaultHeight);
|
||||
browserCanvas = browserControl.getCanvas();
|
||||
Assert.assert(null != browserCanvas);
|
||||
browserCanvas.setSize(defaultWidth, defaultHeight);
|
||||
|
||||
// Add the control panel and the browser
|
||||
// Add the control panel and the browserCanvas
|
||||
add(controlPanel, BorderLayout.NORTH);
|
||||
add(browser, BorderLayout.CENTER);
|
||||
add(browserCanvas, BorderLayout.CENTER);
|
||||
|
||||
pack();
|
||||
show();
|
||||
toFront();
|
||||
|
||||
browserControl = browser.getWebShell();
|
||||
|
||||
try {
|
||||
browserControl.loadURL(url);
|
||||
urlField.setText(url);
|
||||
|
|
|
@ -33,6 +33,7 @@ import java.awt.event.*;
|
|||
import javax.swing.*;
|
||||
|
||||
import org.mozilla.webclient.*;
|
||||
import org.mozilla.util.Assert;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -40,9 +41,9 @@ import org.mozilla.webclient.*;
|
|||
* This is a test application for using the BrowserControl.
|
||||
|
||||
*
|
||||
* @version $Id: SwingEmbeddedMozilla.java,v 1.2 1999-11-06 02:24:19 dmose%mozilla.org Exp $
|
||||
* @version $Id: SwingEmbeddedMozilla.java,v 1.3 1999-12-03 01:55:31 edburns%acm.org Exp $
|
||||
*
|
||||
* @see org.mozilla.webclient.BrowserControlCanvasFactory
|
||||
* @see org.mozilla.webclient.BrowserControlFactory
|
||||
|
||||
*/
|
||||
|
||||
|
@ -100,21 +101,22 @@ public SwingEmbeddedMozilla (String title, String binDir, String url)
|
|||
setSize(defaultWidth, defaultHeight);
|
||||
|
||||
// Create the browser
|
||||
BrowserControlCanvas browser = null;
|
||||
Canvas browserCanvas = null;
|
||||
|
||||
try {
|
||||
BrowserControlCanvasFactory.setAppData(binDir);
|
||||
browser = BrowserControlCanvasFactory.newBrowserControlCanvas();
|
||||
BrowserControlFactory.setAppData(binDir);
|
||||
browserControl = BrowserControlFactory.newBrowserControl();
|
||||
}
|
||||
catch(Exception e) {
|
||||
System.out.println("Can't create BrowserControlCanvas: " +
|
||||
e.getMessage());
|
||||
}
|
||||
|
||||
browser.setSize(defaultWidth, defaultHeight);
|
||||
browserCanvas = browserControl.getCanvas();
|
||||
Assert.assert(null != browserCanvas);
|
||||
browserCanvas.setSize(defaultWidth, defaultHeight);
|
||||
|
||||
// Add the control panel and the browser
|
||||
contentPane.add(browser, BorderLayout.CENTER);
|
||||
contentPane.add(browserCanvas, BorderLayout.CENTER);
|
||||
|
||||
|
||||
controlPanel = new CommandPanel(this);
|
||||
|
@ -127,8 +129,6 @@ public SwingEmbeddedMozilla (String title, String binDir, String url)
|
|||
show();
|
||||
toFront();
|
||||
|
||||
browserControl = browser.getWebShell();
|
||||
|
||||
// DocumentLoadListener dll;
|
||||
try {
|
||||
// dll = new DocumentLoadListener();
|
||||
|
|
Загрузка…
Ссылка в новой задаче