зеркало из https://github.com/mozilla/pjs.git
M build.xml
- rework exclusion patterns to prevent compilation of platform specific classes A classes_spec/org/mozilla/webclient/impl/wrapper_native/GtkBrowserControlCanvas.java R classes_spec/org/mozilla/webclient/impl/wrapper_native/gtk/GtkBrowserControlCanvas.java - moved GtkBrowserControlCanvas.java up one level, for access to package private classes. M src_moz/gtk/GtkBrowserControlCanvas.cpp - package name changes M test/automated/src/classes/org/mozilla/webclient/CompareFiles.java - rework this logic to account for files that end in a different number of ignorable conditions. A test/automated/src/classes/org/mozilla/webclient/impl/wrapper_native/TestGtkBrowserControlCanvas.java R test/automated/src/classes/org/mozilla/webclient/impl/wrapper_native/gtk/TestGtkBrowserControlCanvas.java - moved this test up one level.
This commit is contained in:
Родитель
2dfe7bafd2
Коммит
bb14cd7579
|
@ -88,13 +88,11 @@
|
||||||
<classpath refid="compile.classpath"/>
|
<classpath refid="compile.classpath"/>
|
||||||
<src path="${source.home}"/>
|
<src path="${source.home}"/>
|
||||||
<patternset>
|
<patternset>
|
||||||
<include name="org/mozilla/webclient/impl/wrapper_native/gtk/*"
|
<exclude name="**/Win32*.java" if="build.unix.classes"/>
|
||||||
if="build.unix.classes"/>
|
|
||||||
</patternset>
|
</patternset>
|
||||||
|
|
||||||
<patternset>
|
<patternset>
|
||||||
<include name="org/mozilla/webclient/impl/wrapper_native/Win32*"
|
<exclude name="**/Gtk*.java" if="build.win32.classes"/>
|
||||||
if="build.win32.classes"/>
|
|
||||||
</patternset>
|
</patternset>
|
||||||
|
|
||||||
<!-- PENDING(edburns): include additional patternsets for ICE,
|
<!-- PENDING(edburns): include additional patternsets for ICE,
|
||||||
|
@ -137,7 +135,7 @@
|
||||||
<target name="compile.unix.canvas.headers" if="build.unix.classes">
|
<target name="compile.unix.canvas.headers" if="build.unix.classes">
|
||||||
|
|
||||||
<javah destdir="${basedir}/src_moz/gtk"
|
<javah destdir="${basedir}/src_moz/gtk"
|
||||||
class="org.mozilla.webclient.impl.wrapper_native.gtk.GtkBrowserControlCanvas">
|
class="org.mozilla.webclient.impl.wrapper_native.GtkBrowserControlCanvas">
|
||||||
<classpath refid="compile.classpath"/>
|
<classpath refid="compile.classpath"/>
|
||||||
</javah>
|
</javah>
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
/*
|
||||||
*
|
|
||||||
* The contents of this file are subject to the Mozilla Public
|
* The contents of this file are subject to the Mozilla Public
|
||||||
* License Version 1.1 (the "License"); you may not use this file
|
* License Version 1.1 (the "License"); you may not use this file
|
||||||
* except in compliance with the License. You may obtain a copy of
|
* except in compliance with the License. You may obtain a copy of
|
||||||
|
@ -19,7 +18,7 @@
|
||||||
*
|
*
|
||||||
* Contributor(s):
|
* Contributor(s):
|
||||||
*/
|
*/
|
||||||
package org.mozilla.webclient.impl.wrapper_native.gtk;
|
package org.mozilla.webclient.impl.wrapper_native;
|
||||||
|
|
||||||
// GtkBrowserControlCanvas.java
|
// GtkBrowserControlCanvas.java
|
||||||
|
|
||||||
|
@ -42,7 +41,7 @@ import java.awt.Dimension;
|
||||||
|
|
||||||
* There is one instance of GtkBrowserControlCanvas per top level awt Frame.
|
* There is one instance of GtkBrowserControlCanvas per top level awt Frame.
|
||||||
|
|
||||||
* @version $Id: GtkBrowserControlCanvas.java,v 1.1 2003-09-28 06:29:09 edburns%acm.org Exp $
|
* @version $Id: GtkBrowserControlCanvas.java,v 1.1 2004-04-23 14:52:20 edburns%acm.org Exp $
|
||||||
*
|
*
|
||||||
* @see org.mozilla.webclient.BrowserControlCanvasFactory
|
* @see org.mozilla.webclient.BrowserControlCanvasFactory
|
||||||
*
|
*
|
||||||
|
@ -87,10 +86,23 @@ public class GtkBrowserControlCanvas extends BrowserControlCanvas /* implements
|
||||||
synchronized(getTreeLock()) {
|
synchronized(getTreeLock()) {
|
||||||
//Use the AWT Native Peer interface to get the handle
|
//Use the AWT Native Peer interface to get the handle
|
||||||
//of this Canvas's native peer
|
//of this Canvas's native peer
|
||||||
canvasWinID = this.getHandleToPeer();
|
Integer canvasWin = (Integer)
|
||||||
|
NativeEventThread.instance.pushBlockingWCRunnable(new WCRunnable() {
|
||||||
|
public Object run() {
|
||||||
|
Integer result =
|
||||||
|
new Integer(GtkBrowserControlCanvas.this.getHandleToPeer());
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
canvasWinID = canvasWin.intValue();
|
||||||
//Set our canvas as a parent of the top-level gtk widget
|
//Set our canvas as a parent of the top-level gtk widget
|
||||||
//which contains Mozilla.
|
//which contains Mozilla.
|
||||||
this.reparentWindow(this.gtkWinID, this.canvasWinID);
|
NativeEventThread.instance.pushBlockingWCRunnable(new WCRunnable() {
|
||||||
|
public Object run() {
|
||||||
|
GtkBrowserControlCanvas.this.reparentWindow(GtkBrowserControlCanvas.this.gtkWinID, GtkBrowserControlCanvas.this.canvasWinID);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
});
|
||||||
firstTime = false;
|
firstTime = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -98,9 +110,17 @@ public class GtkBrowserControlCanvas extends BrowserControlCanvas /* implements
|
||||||
|
|
||||||
public void setBounds(int x, int y, int width, int height) {
|
public void setBounds(int x, int y, int width, int height) {
|
||||||
super.setBounds(x, y, width, height);
|
super.setBounds(x, y, width, height);
|
||||||
|
final int finalWidth = width;
|
||||||
|
final int finalHeight = height;
|
||||||
|
|
||||||
synchronized(getTreeLock()) {
|
synchronized(getTreeLock()) {
|
||||||
this.setGTKWindowSize(this.gtkTopWindow, width, height);
|
NativeEventThread.instance.pushBlockingWCRunnable(new WCRunnable() {
|
||||||
|
public Object run() {
|
||||||
|
GtkBrowserControlCanvas.this.setGTKWindowSize(GtkBrowserControlCanvas.this.gtkTopWindow,
|
||||||
|
finalWidth, finalHeight);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -120,15 +140,36 @@ public class GtkBrowserControlCanvas extends BrowserControlCanvas /* implements
|
||||||
|
|
||||||
protected int getWindow() {
|
protected int getWindow() {
|
||||||
synchronized(getTreeLock()) {
|
synchronized(getTreeLock()) {
|
||||||
this.gtkTopWindow = this.createTopLevelWindow();
|
Integer topWindow = (Integer)
|
||||||
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
|
NativeEventThread.instance.pushBlockingWCRunnable(new WCRunnable() {
|
||||||
|
public Object run() {
|
||||||
|
Integer result =
|
||||||
|
new Integer(GtkBrowserControlCanvas.this.createTopLevelWindow());
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.gtkTopWindow = topWindow.intValue();
|
||||||
|
|
||||||
this.gtkWinPtr =
|
final Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
|
||||||
this.createContainerWindow(this.gtkTopWindow, screenSize.width,
|
Integer winPtr = (Integer)
|
||||||
screenSize.height);
|
NativeEventThread.instance.pushBlockingWCRunnable(new WCRunnable() {
|
||||||
|
public Object run() {
|
||||||
|
Integer result =
|
||||||
|
new Integer(GtkBrowserControlCanvas.this.createContainerWindow(GtkBrowserControlCanvas.this.gtkTopWindow, screenSize.width, screenSize.height));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.gtkWinPtr = winPtr.intValue();
|
||||||
|
|
||||||
this.gtkWinID = this.getGTKWinID(gtkWinPtr);
|
Integer winId = (Integer)
|
||||||
|
NativeEventThread.instance.pushBlockingWCRunnable(new WCRunnable() {
|
||||||
|
public Object run() {
|
||||||
|
Integer result = new Integer(GtkBrowserControlCanvas.this.getGTKWinID(GtkBrowserControlCanvas.this.gtkWinPtr));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
this.gtkWinID = winId.intValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.gtkWinPtr;
|
return this.gtkWinPtr;
|
|
@ -28,7 +28,7 @@
|
||||||
#include <jni.h>
|
#include <jni.h>
|
||||||
#include <jawt_md.h>
|
#include <jawt_md.h>
|
||||||
#include <jawt.h>
|
#include <jawt.h>
|
||||||
#include "org_mozilla_webclient_impl_wrapper_0005fnative_gtk_GtkBrowserControlCanvas.h"
|
#include "org_mozilla_webclient_impl_wrapper_0005fnative_GtkBrowserControlCanvas.h"
|
||||||
|
|
||||||
#include <X11/Xlib.h>
|
#include <X11/Xlib.h>
|
||||||
|
|
||||||
|
@ -55,7 +55,7 @@ extern "C" {
|
||||||
* Method: createTopLevelWindow
|
* Method: createTopLevelWindow
|
||||||
* Signature: ()I
|
* Signature: ()I
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jint JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_gtk_GtkBrowserControlCanvas_createTopLevelWindow
|
JNIEXPORT jint JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_GtkBrowserControlCanvas_createTopLevelWindow
|
||||||
(JNIEnv * env, jobject obj) {
|
(JNIEnv * env, jobject obj) {
|
||||||
PR_LOG(prLogModuleInfo, PR_LOG_DEBUG,
|
PR_LOG(prLogModuleInfo, PR_LOG_DEBUG,
|
||||||
("GtkBrowserControlCanvas_createTopLevelWindow: entering\n"));
|
("GtkBrowserControlCanvas_createTopLevelWindow: entering\n"));
|
||||||
|
@ -99,7 +99,7 @@ JNIEXPORT jint JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_gtk_GtkBr
|
||||||
* Method: createContainerWindow
|
* Method: createContainerWindow
|
||||||
* Signature: (III)I
|
* Signature: (III)I
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jint JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_gtk_GtkBrowserControlCanvas_createContainerWindow
|
JNIEXPORT jint JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_GtkBrowserControlCanvas_createContainerWindow
|
||||||
(JNIEnv * env, jobject obj, jint parent, jint screenWidth, jint screenHeight) {
|
(JNIEnv * env, jobject obj, jint parent, jint screenWidth, jint screenHeight) {
|
||||||
|
|
||||||
PR_LOG(prLogModuleInfo, PR_LOG_DEBUG,
|
PR_LOG(prLogModuleInfo, PR_LOG_DEBUG,
|
||||||
|
@ -136,7 +136,7 @@ int getWinID(GtkWidget * gtkWidgetPtr) {
|
||||||
* Method: getGTKWinID
|
* Method: getGTKWinID
|
||||||
* Signature: (I)I
|
* Signature: (I)I
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jint JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_gtk_GtkBrowserControlCanvas_getGTKWinID
|
JNIEXPORT jint JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_GtkBrowserControlCanvas_getGTKWinID
|
||||||
(JNIEnv * env, jobject obj, jint gtkWinPtr) {
|
(JNIEnv * env, jobject obj, jint gtkWinPtr) {
|
||||||
GtkWidget * gtkWidgetPtr = (GtkWidget *) gtkWinPtr;
|
GtkWidget * gtkWidgetPtr = (GtkWidget *) gtkWinPtr;
|
||||||
|
|
||||||
|
@ -149,7 +149,7 @@ JNIEXPORT jint JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_gtk_GtkBr
|
||||||
* Method: reparentWindow
|
* Method: reparentWindow
|
||||||
* Signature: (II)V
|
* Signature: (II)V
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_gtk_GtkBrowserControlCanvas_reparentWindow (JNIEnv * env, jobject obj, jint childID, jint parentID) {
|
JNIEXPORT void JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_GtkBrowserControlCanvas_reparentWindow (JNIEnv * env, jobject obj, jint childID, jint parentID) {
|
||||||
XReparentWindow(GDK_DISPLAY(), childID, parentID, 0, 0);
|
XReparentWindow(GDK_DISPLAY(), childID, parentID, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -158,7 +158,7 @@ JNIEXPORT void JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_gtk_GtkBr
|
||||||
* Method: processEvents
|
* Method: processEvents
|
||||||
* Signature: ()V
|
* Signature: ()V
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_gtk_GtkBrowserControlCanvas_processEvents
|
JNIEXPORT void JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_GtkBrowserControlCanvas_processEvents
|
||||||
(JNIEnv * env, jobject obj) {
|
(JNIEnv * env, jobject obj) {
|
||||||
//printf("process events....\n");
|
//printf("process events....\n");
|
||||||
//processEventLoopIntelligently();
|
//processEventLoopIntelligently();
|
||||||
|
@ -169,7 +169,7 @@ JNIEXPORT void JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_gtk_GtkBr
|
||||||
* Method: setGTKWindowSize
|
* Method: setGTKWindowSize
|
||||||
* Signature: (III)V
|
* Signature: (III)V
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_gtk_GtkBrowserControlCanvas_setGTKWindowSize
|
JNIEXPORT void JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_GtkBrowserControlCanvas_setGTKWindowSize
|
||||||
(JNIEnv * env, jobject obj, jint gtkWinPtr, jint width, jint height) {
|
(JNIEnv * env, jobject obj, jint gtkWinPtr, jint width, jint height) {
|
||||||
if (gtkWinPtr != 0) {
|
if (gtkWinPtr != 0) {
|
||||||
GtkWidget * gtkWidgetPtr = (GtkWidget *) gtkWinPtr;
|
GtkWidget * gtkWidgetPtr = (GtkWidget *) gtkWinPtr;
|
||||||
|
@ -186,7 +186,7 @@ JNIEXPORT void JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_gtk_GtkBr
|
||||||
* Method: getHandleToPeer
|
* Method: getHandleToPeer
|
||||||
* Signature: ()I
|
* Signature: ()I
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jint JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_gtk_GtkBrowserControlCanvas_getHandleToPeer
|
JNIEXPORT jint JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_GtkBrowserControlCanvas_getHandleToPeer
|
||||||
(JNIEnv *env, jobject canvas) {
|
(JNIEnv *env, jobject canvas) {
|
||||||
JAWT awt;
|
JAWT awt;
|
||||||
JAWT_DrawingSurface* ds;
|
JAWT_DrawingSurface* ds;
|
||||||
|
@ -278,7 +278,7 @@ JNIEXPORT jint JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_gtk_GtkBr
|
||||||
* Method: loadMainDll
|
* Method: loadMainDll
|
||||||
* Signature: ()V
|
* Signature: ()V
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_gtk_GtkBrowserControlCanvas_loadMainDll
|
JNIEXPORT void JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_GtkBrowserControlCanvas_loadMainDll
|
||||||
(JNIEnv *, jclass)
|
(JNIEnv *, jclass)
|
||||||
{
|
{
|
||||||
PR_LOG(prLogModuleInfo, PR_LOG_ERROR,
|
PR_LOG(prLogModuleInfo, PR_LOG_ERROR,
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* $Id: CompareFiles.java,v 1.3 2004-02-26 02:37:00 edburns%acm.org Exp $
|
* $Id: CompareFiles.java,v 1.4 2004-04-23 14:52:20 edburns%acm.org Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
||||||
|
@ -59,6 +59,7 @@ public class CompareFiles {
|
||||||
LineNumberReader expectedReader = new LineNumberReader(expectedFileReader);
|
LineNumberReader expectedReader = new LineNumberReader(expectedFileReader);
|
||||||
|
|
||||||
String actualLine, expectedLine;
|
String actualLine, expectedLine;
|
||||||
|
boolean swallowedLine = false;
|
||||||
|
|
||||||
actualLine = actualReader.readLine().trim();
|
actualLine = actualReader.readLine().trim();
|
||||||
expectedLine = expectedReader.readLine().trim();
|
expectedLine = expectedReader.readLine().trim();
|
||||||
|
@ -80,22 +81,52 @@ public class CompareFiles {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ignoreWarnings && actualLine.startsWith("WARNING:")) {
|
swallowedLine = false;
|
||||||
|
// while the actual lines start with a warning condition
|
||||||
|
// keep reading them until we get a non-warning line or end
|
||||||
|
// of stream.
|
||||||
|
while (null != actualLine && ignoreWarnings &&
|
||||||
|
(-1 != actualLine.indexOf("WARNING:") ||
|
||||||
|
-1 != actualLine.indexOf("###!!! ASSERTION:") ||
|
||||||
|
-1 != actualLine.indexOf("###!!! Break:"))) {
|
||||||
// we're ignoring warnings, no-op
|
// we're ignoring warnings, no-op
|
||||||
actualLine = actualReader.readLine(); // swallow WARNING
|
actualLine = actualReader.readLine(); // swallow WARNING
|
||||||
// line
|
// line
|
||||||
continue;
|
swallowedLine = true;
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (ignoreWarnings && expectedLine.startsWith("WARNING:")) {
|
if (null != actualLine && swallowedLine) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
swallowedLine = false;
|
||||||
|
// while the expected lines start with a warning condition,
|
||||||
|
// keep reading them until we get a non-warning line or end
|
||||||
|
// of stream.
|
||||||
|
while (null != expectedLine && ignoreWarnings &&
|
||||||
|
(-1 != expectedLine.indexOf("WARNING:") ||
|
||||||
|
-1 != expectedLine.indexOf("###!!! ASSERTION:") ||
|
||||||
|
-1 != expectedLine.indexOf("###!!! Break:"))) {
|
||||||
// we're ignoring warnings, no-op
|
// we're ignoring warnings, no-op
|
||||||
expectedLine = expectedReader.readLine(); // swallow
|
expectedLine = expectedReader.readLine(); // swallow
|
||||||
// WARNING
|
// WARNING
|
||||||
// line
|
// line
|
||||||
continue;
|
swallowedLine = true;
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (!actualLine.equals(expectedLine)) {
|
if (null != actualLine && swallowedLine) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (null == actualLine && null == expectedLine) {
|
||||||
|
same = true;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
// if one of the lines is null, but not the other
|
||||||
|
if (((null == actualLine) && (null != expectedLine)) ||
|
||||||
|
((null != actualLine) && (null == expectedLine))) {
|
||||||
|
same = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (!actualLine.equals(expectedLine)) {
|
||||||
if (null != expectedLinesToIgnore) {
|
if (null != expectedLinesToIgnore) {
|
||||||
// go thru the list of expectedLinesToIgnore and see if
|
// go thru the list of expectedLinesToIgnore and see if
|
||||||
// the current expectedLine matches any of them.
|
// the current expectedLine matches any of them.
|
||||||
|
@ -141,12 +172,6 @@ public class CompareFiles {
|
||||||
actualLine = actualReader.readLine();
|
actualLine = actualReader.readLine();
|
||||||
expectedLine = expectedReader.readLine();
|
expectedLine = expectedReader.readLine();
|
||||||
|
|
||||||
// if one of the lines is null, but not the other
|
|
||||||
if (((null == actualLine) && (null != expectedLine)) ||
|
|
||||||
((null != actualLine) && (null == expectedLine))) {
|
|
||||||
same = false;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (null != actualLine) {
|
if (null != actualLine) {
|
||||||
actualLine = actualLine.trim();
|
actualLine = actualLine.trim();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* $Id: TestGtkBrowserControlCanvas.java,v 1.1 2003-09-28 06:29:21 edburns%acm.org Exp $
|
* $Id: TestGtkBrowserControlCanvas.java,v 1.1 2004-04-23 14:52:21 edburns%acm.org Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
||||||
|
@ -24,7 +24,7 @@
|
||||||
* Contributor(s):
|
* Contributor(s):
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.mozilla.webclient.impl.wrapper_native.gtk;
|
package org.mozilla.webclient.impl.wrapper_native;
|
||||||
|
|
||||||
// TestGtkBrowserControlCanvas.java
|
// TestGtkBrowserControlCanvas.java
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ import org.mozilla.webclient.WebclientTestCase;
|
||||||
*
|
*
|
||||||
* <B>Lifetime And Scope</B> <P>
|
* <B>Lifetime And Scope</B> <P>
|
||||||
*
|
*
|
||||||
* @version $Id: TestGtkBrowserControlCanvas.java,v 1.1 2003-09-28 06:29:21 edburns%acm.org Exp $
|
* @version $Id: TestGtkBrowserControlCanvas.java,v 1.1 2004-04-23 14:52:21 edburns%acm.org Exp $
|
||||||
*
|
*
|
||||||
* @see Blah
|
* @see Blah
|
||||||
* @see Bloo
|
* @see Bloo
|
Загрузка…
Ссылка в новой задаче