pjs/java/webclient/src_moz/WindowControlImpl.cpp

168 строки
5.6 KiB
C++
Исходник Обычный вид История

/* -*- 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 <kbaker@eb.com>
* Ian Wilkinson <iw@ennoble.com>
* Mark Lin <mark.lin@eng.sun.com>
* Mark Goddard
* Ed Burns <edburns@acm.org>
* Ashutosh Kulkarni <ashuk@eng.sun.com>
* Ann Sunhachawee
*/
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 10:29:22 +04:00
#include "org_mozilla_webclient_impl_wrapper_0005fnative_WindowControlImpl.h"
bug=47357 a=edburns r=ashuk This change creates a new directory, java/webclient/src_share, that contains the code that will be used in both src_moz and src_ie, and any other native browser wrapping implementations. Here are the steps I followed to implement this change. 1. Create a new directory java/webclient/src_share 2. Move all jni_util*.* files from src_moz into src_share 3. Make it so src_share compiles into a new .lib src_share has no netscape dependencies. Any functionality that depended on ns dependencies was kept in src_moz. In this case, we have a function prototype only in src_share, with the implementation in src_moz. We did this for nsHashtable. The other trick was for things in WebShellInitContext that had nothing to do with Netscape. This case was accomodated by creating a new struct, ShareInitContext, that contains all WebShellInitContext members that have nothing to do with Netscape. Currently this is just jobject propertiesClass. I modified the WebShellInitContext struct to contain a ShareContext struct as its last member. There are two new methods in jni_util.h that allow for the initialization and deallocation of the members of the ShareContext struct. 4. Make it so src_moz uses the new .lib to provide the jni_util behavior a. Create ns_util* files that include ../src_share/jni_util* files appropriately. The only tricky part was for things in jni_util.h that Here's the list of files in this change. cvs -z3 -n update (in directory D:\Projects\mozilla\java\webclient) cvs server: Updating . M Makefile.win // added src_share to DIRS M src_moz/BookmarksImpl.cpp // include ns_util instead of jni_util M src_moz/CBrowserContainer.cpp // include ns_util instead of jni_util M src_moz/CBrowserContainer.h // include ns_util instead of jni_util M src_moz/CurrentPageImpl.cpp // include ns_util instead of jni_util M src_moz/HistoryImpl.cpp // include ns_util instead of jni_util M src_moz/Makefile.win // include ns_util instead of jni_util M src_moz/NativeEventThread.cpp // include ns_util instead of jni_util M src_moz/NavigationImpl.cpp // include ns_util instead of jni_util M src_moz/RDFEnumeration.cpp // include ns_util instead of jni_util M src_moz/RDFTreeNode.cpp // include ns_util instead of jni_util M src_moz/WindowControlImpl.cpp // include ns_util instead of jni_util // also use new util_InitShareContext // function M src_moz/WrapperFactoryImpl.cpp // include ns_util instead of jni_util R src_moz/jni_util.cpp // moved to ../src_share R src_moz/jni_util.h // moved to ../src_share R src_moz/jni_util_export.cpp // moved to ../src_share R src_moz/jni_util_export.h // moved to ../src_share M src_moz/nsActions.cpp // include ns_util instead of jni_util // also use new util_DeallocateShareContext M src_moz/nsActions.h // include ns_util instead of jni_util A src_moz/ns_util.cpp // include jni_util.h A src_moz/ns_util.h // include jni_util.h, changes to // WebshellInitContext struct A src_moz/ns_util_export.cpp // provide impls for methods in // jni_util_export.h A src_share/Makefile.win A src_share/bal_util.cpp A src_share/bal_util.h A src_share/jni_util.cpp A src_share/jni_util.h A src_share/jni_util_export.cpp A src_share/jni_util_export.h *****CVS exited normally with code 0*****
2000-08-04 01:32:54 +04:00
#include "ns_util.h"
M build-tests.xml - make NavigationTest not run M build.xml - Move Win32BrowserControlCanvas up to parent package M classes_spec/org/mozilla/webclient/BrowserControlCanvas.java - You can't resize until you're initialized - pass visibility through to native layer M classes_spec/org/mozilla/webclient/impl/BrowserControlImpl.java - Use WrapperFactory to create the BrowserControlCanvas impl. A classes_spec/org/mozilla/webclient/impl/wrapper_native/Win32BrowserControlCanvas.java - moved up from child package M classes_spec/org/mozilla/webclient/impl/wrapper_native/WindowControlImpl.java - use the new thread model for nativeSetBounds(), nativeRealize(), nativeSetVisible(). M classes_spec/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImpl.java - make this create the BrowserControlCanvas instance. - honor the new package name for Win32BrowserControlCanvas. R classes_spec/org/mozilla/webclient/impl/wrapper_native/win32/Win32BrowserControlCanvas.java - moved up one level. M src_moz/EmbedWindow.cpp M src_moz/EmbedWindow.h - Take size parameters to CreateWindow_ M src_moz/Makefile.in - add WindowControlImpl.cpp M src_moz/NativeBrowserControl.cpp M src_moz/NativeBrowserControl.h - add size parameters to Realize(). M src_moz/WindowControlImpl.cpp - reactivate nativeRealize(), nativeSetVisible(), nativesetBounds(), M src_moz/win32/Win32BrowserControlCanvas.cpp - new package name M test/automated/src/classes/org/mozilla/webclient/NavigationTest.java - we have to create a Canvas to load a URL. Mozilla limitation. M test/automated/src/classes/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImplTest.java - remove unneeded test metdod
2004-04-20 20:17:43 +04:00
#include "NativeBrowserControl.h"
JNIEXPORT void JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_WindowControlImpl_nativeRealize
M build-tests.xml - make NavigationTest not run M build.xml - Move Win32BrowserControlCanvas up to parent package M classes_spec/org/mozilla/webclient/BrowserControlCanvas.java - You can't resize until you're initialized - pass visibility through to native layer M classes_spec/org/mozilla/webclient/impl/BrowserControlImpl.java - Use WrapperFactory to create the BrowserControlCanvas impl. A classes_spec/org/mozilla/webclient/impl/wrapper_native/Win32BrowserControlCanvas.java - moved up from child package M classes_spec/org/mozilla/webclient/impl/wrapper_native/WindowControlImpl.java - use the new thread model for nativeSetBounds(), nativeRealize(), nativeSetVisible(). M classes_spec/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImpl.java - make this create the BrowserControlCanvas instance. - honor the new package name for Win32BrowserControlCanvas. R classes_spec/org/mozilla/webclient/impl/wrapper_native/win32/Win32BrowserControlCanvas.java - moved up one level. M src_moz/EmbedWindow.cpp M src_moz/EmbedWindow.h - Take size parameters to CreateWindow_ M src_moz/Makefile.in - add WindowControlImpl.cpp M src_moz/NativeBrowserControl.cpp M src_moz/NativeBrowserControl.h - add size parameters to Realize(). M src_moz/WindowControlImpl.cpp - reactivate nativeRealize(), nativeSetVisible(), nativesetBounds(), M src_moz/win32/Win32BrowserControlCanvas.cpp - new package name M test/automated/src/classes/org/mozilla/webclient/NavigationTest.java - we have to create a Canvas to load a URL. Mozilla limitation. M test/automated/src/classes/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImplTest.java - remove unneeded test metdod
2004-04-20 20:17:43 +04:00
(JNIEnv *env, jobject obj, jint windowPtr, jint nativeBCPtr, jint x, jint y,
jint width, jint height, jobject aBrowserControlImpl)
{
NativeBrowserControl* nativeBrowserControl = (NativeBrowserControl *) nativeBCPtr;
if (nativeBrowserControl == nsnull) {
::util_ThrowExceptionToJava(env, "Exception: null passed to nativeRealize");
return;
}
PRBool alreadyRealized;
#ifdef XP_UNIX
int gtkWinPtr =
(int)::util_GetGTKWinPtrFromCanvas(env, aBrowserControlImpl);
// PENDING set this into the nativeBrowserControl for use later
#endif
nativeBrowserControl->Realize(aBrowserControlImpl,
(void *) windowPtr, &alreadyRealized,
M build-tests.xml - make NavigationTest not run M build.xml - Move Win32BrowserControlCanvas up to parent package M classes_spec/org/mozilla/webclient/BrowserControlCanvas.java - You can't resize until you're initialized - pass visibility through to native layer M classes_spec/org/mozilla/webclient/impl/BrowserControlImpl.java - Use WrapperFactory to create the BrowserControlCanvas impl. A classes_spec/org/mozilla/webclient/impl/wrapper_native/Win32BrowserControlCanvas.java - moved up from child package M classes_spec/org/mozilla/webclient/impl/wrapper_native/WindowControlImpl.java - use the new thread model for nativeSetBounds(), nativeRealize(), nativeSetVisible(). M classes_spec/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImpl.java - make this create the BrowserControlCanvas instance. - honor the new package name for Win32BrowserControlCanvas. R classes_spec/org/mozilla/webclient/impl/wrapper_native/win32/Win32BrowserControlCanvas.java - moved up one level. M src_moz/EmbedWindow.cpp M src_moz/EmbedWindow.h - Take size parameters to CreateWindow_ M src_moz/Makefile.in - add WindowControlImpl.cpp M src_moz/NativeBrowserControl.cpp M src_moz/NativeBrowserControl.h - add size parameters to Realize(). M src_moz/WindowControlImpl.cpp - reactivate nativeRealize(), nativeSetVisible(), nativesetBounds(), M src_moz/win32/Win32BrowserControlCanvas.cpp - new package name M test/automated/src/classes/org/mozilla/webclient/NavigationTest.java - we have to create a Canvas to load a URL. Mozilla limitation. M test/automated/src/classes/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImplTest.java - remove unneeded test metdod
2004-04-20 20:17:43 +04:00
width, height);
}
JNIEXPORT void JNICALL
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 10:29:22 +04:00
Java_org_mozilla_webclient_impl_wrapper_1native_WindowControlImpl_nativeSetBounds
M build-tests.xml - make NavigationTest not run M build.xml - Move Win32BrowserControlCanvas up to parent package M classes_spec/org/mozilla/webclient/BrowserControlCanvas.java - You can't resize until you're initialized - pass visibility through to native layer M classes_spec/org/mozilla/webclient/impl/BrowserControlImpl.java - Use WrapperFactory to create the BrowserControlCanvas impl. A classes_spec/org/mozilla/webclient/impl/wrapper_native/Win32BrowserControlCanvas.java - moved up from child package M classes_spec/org/mozilla/webclient/impl/wrapper_native/WindowControlImpl.java - use the new thread model for nativeSetBounds(), nativeRealize(), nativeSetVisible(). M classes_spec/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImpl.java - make this create the BrowserControlCanvas instance. - honor the new package name for Win32BrowserControlCanvas. R classes_spec/org/mozilla/webclient/impl/wrapper_native/win32/Win32BrowserControlCanvas.java - moved up one level. M src_moz/EmbedWindow.cpp M src_moz/EmbedWindow.h - Take size parameters to CreateWindow_ M src_moz/Makefile.in - add WindowControlImpl.cpp M src_moz/NativeBrowserControl.cpp M src_moz/NativeBrowserControl.h - add size parameters to Realize(). M src_moz/WindowControlImpl.cpp - reactivate nativeRealize(), nativeSetVisible(), nativesetBounds(), M src_moz/win32/Win32BrowserControlCanvas.cpp - new package name M test/automated/src/classes/org/mozilla/webclient/NavigationTest.java - we have to create a Canvas to load a URL. Mozilla limitation. M test/automated/src/classes/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImplTest.java - remove unneeded test metdod
2004-04-20 20:17:43 +04:00
(JNIEnv *env, jobject obj, jint nativeBCPtr, jint x, jint y, jint w, jint h)
{
M build-tests.xml - make NavigationTest not run M build.xml - Move Win32BrowserControlCanvas up to parent package M classes_spec/org/mozilla/webclient/BrowserControlCanvas.java - You can't resize until you're initialized - pass visibility through to native layer M classes_spec/org/mozilla/webclient/impl/BrowserControlImpl.java - Use WrapperFactory to create the BrowserControlCanvas impl. A classes_spec/org/mozilla/webclient/impl/wrapper_native/Win32BrowserControlCanvas.java - moved up from child package M classes_spec/org/mozilla/webclient/impl/wrapper_native/WindowControlImpl.java - use the new thread model for nativeSetBounds(), nativeRealize(), nativeSetVisible(). M classes_spec/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImpl.java - make this create the BrowserControlCanvas instance. - honor the new package name for Win32BrowserControlCanvas. R classes_spec/org/mozilla/webclient/impl/wrapper_native/win32/Win32BrowserControlCanvas.java - moved up one level. M src_moz/EmbedWindow.cpp M src_moz/EmbedWindow.h - Take size parameters to CreateWindow_ M src_moz/Makefile.in - add WindowControlImpl.cpp M src_moz/NativeBrowserControl.cpp M src_moz/NativeBrowserControl.h - add size parameters to Realize(). M src_moz/WindowControlImpl.cpp - reactivate nativeRealize(), nativeSetVisible(), nativesetBounds(), M src_moz/win32/Win32BrowserControlCanvas.cpp - new package name M test/automated/src/classes/org/mozilla/webclient/NavigationTest.java - we have to create a Canvas to load a URL. Mozilla limitation. M test/automated/src/classes/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImplTest.java - remove unneeded test metdod
2004-04-20 20:17:43 +04:00
NativeBrowserControl* nativeBrowserControl = (NativeBrowserControl *) nativeBCPtr;
M build-tests.xml - make NavigationTest not run M build.xml - Move Win32BrowserControlCanvas up to parent package M classes_spec/org/mozilla/webclient/BrowserControlCanvas.java - You can't resize until you're initialized - pass visibility through to native layer M classes_spec/org/mozilla/webclient/impl/BrowserControlImpl.java - Use WrapperFactory to create the BrowserControlCanvas impl. A classes_spec/org/mozilla/webclient/impl/wrapper_native/Win32BrowserControlCanvas.java - moved up from child package M classes_spec/org/mozilla/webclient/impl/wrapper_native/WindowControlImpl.java - use the new thread model for nativeSetBounds(), nativeRealize(), nativeSetVisible(). M classes_spec/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImpl.java - make this create the BrowserControlCanvas instance. - honor the new package name for Win32BrowserControlCanvas. R classes_spec/org/mozilla/webclient/impl/wrapper_native/win32/Win32BrowserControlCanvas.java - moved up one level. M src_moz/EmbedWindow.cpp M src_moz/EmbedWindow.h - Take size parameters to CreateWindow_ M src_moz/Makefile.in - add WindowControlImpl.cpp M src_moz/NativeBrowserControl.cpp M src_moz/NativeBrowserControl.h - add size parameters to Realize(). M src_moz/WindowControlImpl.cpp - reactivate nativeRealize(), nativeSetVisible(), nativesetBounds(), M src_moz/win32/Win32BrowserControlCanvas.cpp - new package name M test/automated/src/classes/org/mozilla/webclient/NavigationTest.java - we have to create a Canvas to load a URL. Mozilla limitation. M test/automated/src/classes/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImplTest.java - remove unneeded test metdod
2004-04-20 20:17:43 +04:00
if (nativeBrowserControl == nsnull) {
::util_ThrowExceptionToJava(env, "Exception: null passed to nativeRealize");
return;
}
nativeBrowserControl->Resize(x, y, w, h);
}
M build-tests.xml - make NavigationTest not run M build.xml - Move Win32BrowserControlCanvas up to parent package M classes_spec/org/mozilla/webclient/BrowserControlCanvas.java - You can't resize until you're initialized - pass visibility through to native layer M classes_spec/org/mozilla/webclient/impl/BrowserControlImpl.java - Use WrapperFactory to create the BrowserControlCanvas impl. A classes_spec/org/mozilla/webclient/impl/wrapper_native/Win32BrowserControlCanvas.java - moved up from child package M classes_spec/org/mozilla/webclient/impl/wrapper_native/WindowControlImpl.java - use the new thread model for nativeSetBounds(), nativeRealize(), nativeSetVisible(). M classes_spec/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImpl.java - make this create the BrowserControlCanvas instance. - honor the new package name for Win32BrowserControlCanvas. R classes_spec/org/mozilla/webclient/impl/wrapper_native/win32/Win32BrowserControlCanvas.java - moved up one level. M src_moz/EmbedWindow.cpp M src_moz/EmbedWindow.h - Take size parameters to CreateWindow_ M src_moz/Makefile.in - add WindowControlImpl.cpp M src_moz/NativeBrowserControl.cpp M src_moz/NativeBrowserControl.h - add size parameters to Realize(). M src_moz/WindowControlImpl.cpp - reactivate nativeRealize(), nativeSetVisible(), nativesetBounds(), M src_moz/win32/Win32BrowserControlCanvas.cpp - new package name M test/automated/src/classes/org/mozilla/webclient/NavigationTest.java - we have to create a Canvas to load a URL. Mozilla limitation. M test/automated/src/classes/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImplTest.java - remove unneeded test metdod
2004-04-20 20:17:43 +04:00
/********************
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 10:29:22 +04:00
JNIEXPORT void JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_WindowControlImpl_nativeMoveWindowTo
(JNIEnv *env, jobject obj, jint webShellPtr, jint x, jint y)
{
- rename initContext to NativeBrowserControl, at both the native and java layers. - Rework NativeEventThread to be usable without having the browserControl window realized. - change who owns the NativEventThread to be the BrowserControl, by proxy through WrapperFactoryImpl. Again, this is with a view toward using webclient without the browserControl window realized. A webclient/src_moz/NativeBrowserControl.h A webclient/src_moz/NativeBrowserControl.cpp - Centerpiece of native Object hierarchy. Owned by NativeEventThread. M webclient/build-tests.xml - reformat - add new test, currently failing, for Navigation. M webclient/classes_spec/org/mozilla/webclient/impl/BrowserControlImpl.java - destroy our nativeBrowserControl. M webclient/classes_spec/org/mozilla/webclient/impl/WrapperFactory.java - Added API for obtaining the NativeEventThread for a BrowserControl. M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/BookmarksImpl.java M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/CurrentPageImpl.java M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/EventRegistrationImpl.java M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/HistoryImpl.java M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/NavigationImpl.java - rename nativeWebShell to nativeBrowserControl M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/ImplObjectNative.java - rename nativeWebShell to nativeBrowserControl - add method to get the NativeEventThread for this instance. M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/NativeEventThread.java - remove dependency on WindowControl - make this class be the owner of the nativeBrowserControl instance. - rename nativeWebShell to nativeBrowserControl - renamed nativeInitialize to nativeStartup - added nativeShutdown M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/WindowControlImpl.java - remove delete() method. - no longer owns NativeEventThread - no longer owns nativeBrowserControl M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImpl.java - Take over NativeEventThread ownership responsibilities from WindowControlImpl (by proxy for BrowserControl). M webclient/src_moz/CBrowserContainer.cpp M webclient/src_moz/CBrowserContainer.h M webclient/src_moz/CurrentPageActionEvents.cpp M webclient/src_moz/CurrentPageActionEvents.h M webclient/src_moz/CurrentPageImpl.cpp M webclient/src_moz/HistoryActionEvents.cpp M webclient/src_moz/HistoryActionEvents.h M webclient/src_moz/HistoryImpl.cpp M webclient/src_moz/NativeEventThreadActionEvents.cpp M webclient/src_moz/NativeEventThreadActionEvents.h M webclient/src_moz/NavigationActionEvents.cpp M webclient/src_moz/NavigationActionEvents.h M webclient/src_moz/NavigationImpl.cpp M webclient/src_moz/PromptActionEvents.cpp M webclient/src_moz/PromptActionEvents.h M webclient/src_moz/WindowControlActionEvents.cpp M webclient/src_moz/WindowControlActionEvents.h M webclient/src_moz/WindowCreator.cpp M webclient/src_moz/WindowCreator.h - rename nativeWebShell to nativeBrowserControl M webclient/src_moz/Makefile.in - comment out not yet fixed per-window sources - add NativeBrowserControl.cpp M webclient/src_moz/NativeEventThread.cpp - major refactoring. Much of the work is now being done in NativeBrowserControl.cpp M webclient/src_moz/WindowControlImpl.cpp - remove functionality now located in NativeEventThread and NativeBrowserControl. M webclient/src_moz/WrapperFactoryImpl.cpp - flesh out native{Create,Destroy}BrowserControl. M webclient/src_moz/ns_globals.h - remove gActionQueue and gEmbeddedThread. Moved into class NativeBrowserControl. M webclient/src_moz/ns_util.cpp - rename initContext to NativeBrowserControl - get action queue from NativeBrowserControl M webclient/src_moz/ns_util.h - remove WebShellInitContext! It's finally a class now, called NativeBrowserControl. M webclient/test/automated/src/classes/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImplTest.java - added new testcase to show create/deleteBrowserControl works.
2004-04-11 01:50:39 +04:00
NativeBrowserControl* initContext = (NativeBrowserControl *) webShellPtr;
if (initContext == nsnull) {
::util_ThrowExceptionToJava(env, "Exception: null webShellPtr passed to raptorWebShellMoveTo");
return;
}
if (initContext->initComplete) {
wsMoveToEvent * actionEvent = new wsMoveToEvent(initContext->baseWindow, x, y);
PLEvent * event = (PLEvent*) *actionEvent;
::util_PostEvent(initContext, event);
}
}
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 10:29:22 +04:00
JNIEXPORT void JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_WindowControlImpl_nativeRemoveFocus
(JNIEnv *env, jobject obj, jint webShellPtr)
{
- rename initContext to NativeBrowserControl, at both the native and java layers. - Rework NativeEventThread to be usable without having the browserControl window realized. - change who owns the NativEventThread to be the BrowserControl, by proxy through WrapperFactoryImpl. Again, this is with a view toward using webclient without the browserControl window realized. A webclient/src_moz/NativeBrowserControl.h A webclient/src_moz/NativeBrowserControl.cpp - Centerpiece of native Object hierarchy. Owned by NativeEventThread. M webclient/build-tests.xml - reformat - add new test, currently failing, for Navigation. M webclient/classes_spec/org/mozilla/webclient/impl/BrowserControlImpl.java - destroy our nativeBrowserControl. M webclient/classes_spec/org/mozilla/webclient/impl/WrapperFactory.java - Added API for obtaining the NativeEventThread for a BrowserControl. M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/BookmarksImpl.java M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/CurrentPageImpl.java M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/EventRegistrationImpl.java M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/HistoryImpl.java M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/NavigationImpl.java - rename nativeWebShell to nativeBrowserControl M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/ImplObjectNative.java - rename nativeWebShell to nativeBrowserControl - add method to get the NativeEventThread for this instance. M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/NativeEventThread.java - remove dependency on WindowControl - make this class be the owner of the nativeBrowserControl instance. - rename nativeWebShell to nativeBrowserControl - renamed nativeInitialize to nativeStartup - added nativeShutdown M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/WindowControlImpl.java - remove delete() method. - no longer owns NativeEventThread - no longer owns nativeBrowserControl M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImpl.java - Take over NativeEventThread ownership responsibilities from WindowControlImpl (by proxy for BrowserControl). M webclient/src_moz/CBrowserContainer.cpp M webclient/src_moz/CBrowserContainer.h M webclient/src_moz/CurrentPageActionEvents.cpp M webclient/src_moz/CurrentPageActionEvents.h M webclient/src_moz/CurrentPageImpl.cpp M webclient/src_moz/HistoryActionEvents.cpp M webclient/src_moz/HistoryActionEvents.h M webclient/src_moz/HistoryImpl.cpp M webclient/src_moz/NativeEventThreadActionEvents.cpp M webclient/src_moz/NativeEventThreadActionEvents.h M webclient/src_moz/NavigationActionEvents.cpp M webclient/src_moz/NavigationActionEvents.h M webclient/src_moz/NavigationImpl.cpp M webclient/src_moz/PromptActionEvents.cpp M webclient/src_moz/PromptActionEvents.h M webclient/src_moz/WindowControlActionEvents.cpp M webclient/src_moz/WindowControlActionEvents.h M webclient/src_moz/WindowCreator.cpp M webclient/src_moz/WindowCreator.h - rename nativeWebShell to nativeBrowserControl M webclient/src_moz/Makefile.in - comment out not yet fixed per-window sources - add NativeBrowserControl.cpp M webclient/src_moz/NativeEventThread.cpp - major refactoring. Much of the work is now being done in NativeBrowserControl.cpp M webclient/src_moz/WindowControlImpl.cpp - remove functionality now located in NativeEventThread and NativeBrowserControl. M webclient/src_moz/WrapperFactoryImpl.cpp - flesh out native{Create,Destroy}BrowserControl. M webclient/src_moz/ns_globals.h - remove gActionQueue and gEmbeddedThread. Moved into class NativeBrowserControl. M webclient/src_moz/ns_util.cpp - rename initContext to NativeBrowserControl - get action queue from NativeBrowserControl M webclient/src_moz/ns_util.h - remove WebShellInitContext! It's finally a class now, called NativeBrowserControl. M webclient/test/automated/src/classes/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImplTest.java - added new testcase to show create/deleteBrowserControl works.
2004-04-11 01:50:39 +04:00
NativeBrowserControl* initContext = (NativeBrowserControl *) webShellPtr;
if (initContext == nsnull) {
::util_ThrowExceptionToJava(env, "Exception: null webShellPtr passed to raptorWebShellRemoveFocus");
return;
}
if (initContext->initComplete) {
wsRemoveFocusEvent * actionEvent = new wsRemoveFocusEvent(initContext->baseWindow);
PLEvent * event = (PLEvent*) *actionEvent;
::util_PostEvent(initContext, event);
}
}
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 10:29:22 +04:00
JNIEXPORT void JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_WindowControlImpl_nativeRepaint
(JNIEnv *env, jobject obj, jint webShellPtr, jboolean forceRepaint)
{
- rename initContext to NativeBrowserControl, at both the native and java layers. - Rework NativeEventThread to be usable without having the browserControl window realized. - change who owns the NativEventThread to be the BrowserControl, by proxy through WrapperFactoryImpl. Again, this is with a view toward using webclient without the browserControl window realized. A webclient/src_moz/NativeBrowserControl.h A webclient/src_moz/NativeBrowserControl.cpp - Centerpiece of native Object hierarchy. Owned by NativeEventThread. M webclient/build-tests.xml - reformat - add new test, currently failing, for Navigation. M webclient/classes_spec/org/mozilla/webclient/impl/BrowserControlImpl.java - destroy our nativeBrowserControl. M webclient/classes_spec/org/mozilla/webclient/impl/WrapperFactory.java - Added API for obtaining the NativeEventThread for a BrowserControl. M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/BookmarksImpl.java M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/CurrentPageImpl.java M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/EventRegistrationImpl.java M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/HistoryImpl.java M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/NavigationImpl.java - rename nativeWebShell to nativeBrowserControl M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/ImplObjectNative.java - rename nativeWebShell to nativeBrowserControl - add method to get the NativeEventThread for this instance. M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/NativeEventThread.java - remove dependency on WindowControl - make this class be the owner of the nativeBrowserControl instance. - rename nativeWebShell to nativeBrowserControl - renamed nativeInitialize to nativeStartup - added nativeShutdown M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/WindowControlImpl.java - remove delete() method. - no longer owns NativeEventThread - no longer owns nativeBrowserControl M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImpl.java - Take over NativeEventThread ownership responsibilities from WindowControlImpl (by proxy for BrowserControl). M webclient/src_moz/CBrowserContainer.cpp M webclient/src_moz/CBrowserContainer.h M webclient/src_moz/CurrentPageActionEvents.cpp M webclient/src_moz/CurrentPageActionEvents.h M webclient/src_moz/CurrentPageImpl.cpp M webclient/src_moz/HistoryActionEvents.cpp M webclient/src_moz/HistoryActionEvents.h M webclient/src_moz/HistoryImpl.cpp M webclient/src_moz/NativeEventThreadActionEvents.cpp M webclient/src_moz/NativeEventThreadActionEvents.h M webclient/src_moz/NavigationActionEvents.cpp M webclient/src_moz/NavigationActionEvents.h M webclient/src_moz/NavigationImpl.cpp M webclient/src_moz/PromptActionEvents.cpp M webclient/src_moz/PromptActionEvents.h M webclient/src_moz/WindowControlActionEvents.cpp M webclient/src_moz/WindowControlActionEvents.h M webclient/src_moz/WindowCreator.cpp M webclient/src_moz/WindowCreator.h - rename nativeWebShell to nativeBrowserControl M webclient/src_moz/Makefile.in - comment out not yet fixed per-window sources - add NativeBrowserControl.cpp M webclient/src_moz/NativeEventThread.cpp - major refactoring. Much of the work is now being done in NativeBrowserControl.cpp M webclient/src_moz/WindowControlImpl.cpp - remove functionality now located in NativeEventThread and NativeBrowserControl. M webclient/src_moz/WrapperFactoryImpl.cpp - flesh out native{Create,Destroy}BrowserControl. M webclient/src_moz/ns_globals.h - remove gActionQueue and gEmbeddedThread. Moved into class NativeBrowserControl. M webclient/src_moz/ns_util.cpp - rename initContext to NativeBrowserControl - get action queue from NativeBrowserControl M webclient/src_moz/ns_util.h - remove WebShellInitContext! It's finally a class now, called NativeBrowserControl. M webclient/test/automated/src/classes/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImplTest.java - added new testcase to show create/deleteBrowserControl works.
2004-04-11 01:50:39 +04:00
NativeBrowserControl* initContext = (NativeBrowserControl *) webShellPtr;
if (initContext == nsnull) {
::util_ThrowExceptionToJava(env, "Exception: null webShellPtr passed to raptorWebShellRepaint");
return;
}
if (initContext->initComplete) {
wsRepaintEvent * actionEvent = new wsRepaintEvent(initContext->baseWindow, (PRBool) forceRepaint);
PLEvent * event = (PLEvent*) *actionEvent;
::util_PostEvent(initContext, event);
}
}
M build-tests.xml - make NavigationTest not run M build.xml - Move Win32BrowserControlCanvas up to parent package M classes_spec/org/mozilla/webclient/BrowserControlCanvas.java - You can't resize until you're initialized - pass visibility through to native layer M classes_spec/org/mozilla/webclient/impl/BrowserControlImpl.java - Use WrapperFactory to create the BrowserControlCanvas impl. A classes_spec/org/mozilla/webclient/impl/wrapper_native/Win32BrowserControlCanvas.java - moved up from child package M classes_spec/org/mozilla/webclient/impl/wrapper_native/WindowControlImpl.java - use the new thread model for nativeSetBounds(), nativeRealize(), nativeSetVisible(). M classes_spec/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImpl.java - make this create the BrowserControlCanvas instance. - honor the new package name for Win32BrowserControlCanvas. R classes_spec/org/mozilla/webclient/impl/wrapper_native/win32/Win32BrowserControlCanvas.java - moved up one level. M src_moz/EmbedWindow.cpp M src_moz/EmbedWindow.h - Take size parameters to CreateWindow_ M src_moz/Makefile.in - add WindowControlImpl.cpp M src_moz/NativeBrowserControl.cpp M src_moz/NativeBrowserControl.h - add size parameters to Realize(). M src_moz/WindowControlImpl.cpp - reactivate nativeRealize(), nativeSetVisible(), nativesetBounds(), M src_moz/win32/Win32BrowserControlCanvas.cpp - new package name M test/automated/src/classes/org/mozilla/webclient/NavigationTest.java - we have to create a Canvas to load a URL. Mozilla limitation. M test/automated/src/classes/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImplTest.java - remove unneeded test metdod
2004-04-20 20:17:43 +04:00
*********************/
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 10:29:22 +04:00
JNIEXPORT void JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_WindowControlImpl_nativeSetVisible
M build-tests.xml - make NavigationTest not run M build.xml - Move Win32BrowserControlCanvas up to parent package M classes_spec/org/mozilla/webclient/BrowserControlCanvas.java - You can't resize until you're initialized - pass visibility through to native layer M classes_spec/org/mozilla/webclient/impl/BrowserControlImpl.java - Use WrapperFactory to create the BrowserControlCanvas impl. A classes_spec/org/mozilla/webclient/impl/wrapper_native/Win32BrowserControlCanvas.java - moved up from child package M classes_spec/org/mozilla/webclient/impl/wrapper_native/WindowControlImpl.java - use the new thread model for nativeSetBounds(), nativeRealize(), nativeSetVisible(). M classes_spec/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImpl.java - make this create the BrowserControlCanvas instance. - honor the new package name for Win32BrowserControlCanvas. R classes_spec/org/mozilla/webclient/impl/wrapper_native/win32/Win32BrowserControlCanvas.java - moved up one level. M src_moz/EmbedWindow.cpp M src_moz/EmbedWindow.h - Take size parameters to CreateWindow_ M src_moz/Makefile.in - add WindowControlImpl.cpp M src_moz/NativeBrowserControl.cpp M src_moz/NativeBrowserControl.h - add size parameters to Realize(). M src_moz/WindowControlImpl.cpp - reactivate nativeRealize(), nativeSetVisible(), nativesetBounds(), M src_moz/win32/Win32BrowserControlCanvas.cpp - new package name M test/automated/src/classes/org/mozilla/webclient/NavigationTest.java - we have to create a Canvas to load a URL. Mozilla limitation. M test/automated/src/classes/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImplTest.java - remove unneeded test metdod
2004-04-20 20:17:43 +04:00
(JNIEnv *env, jobject obj, jint nativeBCPtr, jboolean newState)
{
M build-tests.xml - make NavigationTest not run M build.xml - Move Win32BrowserControlCanvas up to parent package M classes_spec/org/mozilla/webclient/BrowserControlCanvas.java - You can't resize until you're initialized - pass visibility through to native layer M classes_spec/org/mozilla/webclient/impl/BrowserControlImpl.java - Use WrapperFactory to create the BrowserControlCanvas impl. A classes_spec/org/mozilla/webclient/impl/wrapper_native/Win32BrowserControlCanvas.java - moved up from child package M classes_spec/org/mozilla/webclient/impl/wrapper_native/WindowControlImpl.java - use the new thread model for nativeSetBounds(), nativeRealize(), nativeSetVisible(). M classes_spec/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImpl.java - make this create the BrowserControlCanvas instance. - honor the new package name for Win32BrowserControlCanvas. R classes_spec/org/mozilla/webclient/impl/wrapper_native/win32/Win32BrowserControlCanvas.java - moved up one level. M src_moz/EmbedWindow.cpp M src_moz/EmbedWindow.h - Take size parameters to CreateWindow_ M src_moz/Makefile.in - add WindowControlImpl.cpp M src_moz/NativeBrowserControl.cpp M src_moz/NativeBrowserControl.h - add size parameters to Realize(). M src_moz/WindowControlImpl.cpp - reactivate nativeRealize(), nativeSetVisible(), nativesetBounds(), M src_moz/win32/Win32BrowserControlCanvas.cpp - new package name M test/automated/src/classes/org/mozilla/webclient/NavigationTest.java - we have to create a Canvas to load a URL. Mozilla limitation. M test/automated/src/classes/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImplTest.java - remove unneeded test metdod
2004-04-20 20:17:43 +04:00
NativeBrowserControl* nativeBrowserControl = (NativeBrowserControl *) nativeBCPtr;
if (nativeBrowserControl == nsnull) {
::util_ThrowExceptionToJava(env, "Exception: null passed to nativeRealize");
return;
}
if (newState) {
nativeBrowserControl->Show();
}
else {
nativeBrowserControl->Hide();
}
}
M build-tests.xml - make NavigationTest not run M build.xml - Move Win32BrowserControlCanvas up to parent package M classes_spec/org/mozilla/webclient/BrowserControlCanvas.java - You can't resize until you're initialized - pass visibility through to native layer M classes_spec/org/mozilla/webclient/impl/BrowserControlImpl.java - Use WrapperFactory to create the BrowserControlCanvas impl. A classes_spec/org/mozilla/webclient/impl/wrapper_native/Win32BrowserControlCanvas.java - moved up from child package M classes_spec/org/mozilla/webclient/impl/wrapper_native/WindowControlImpl.java - use the new thread model for nativeSetBounds(), nativeRealize(), nativeSetVisible(). M classes_spec/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImpl.java - make this create the BrowserControlCanvas instance. - honor the new package name for Win32BrowserControlCanvas. R classes_spec/org/mozilla/webclient/impl/wrapper_native/win32/Win32BrowserControlCanvas.java - moved up one level. M src_moz/EmbedWindow.cpp M src_moz/EmbedWindow.h - Take size parameters to CreateWindow_ M src_moz/Makefile.in - add WindowControlImpl.cpp M src_moz/NativeBrowserControl.cpp M src_moz/NativeBrowserControl.h - add size parameters to Realize(). M src_moz/WindowControlImpl.cpp - reactivate nativeRealize(), nativeSetVisible(), nativesetBounds(), M src_moz/win32/Win32BrowserControlCanvas.cpp - new package name M test/automated/src/classes/org/mozilla/webclient/NavigationTest.java - we have to create a Canvas to load a URL. Mozilla limitation. M test/automated/src/classes/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImplTest.java - remove unneeded test metdod
2004-04-20 20:17:43 +04:00
/******************
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 10:29:22 +04:00
JNIEXPORT void JNICALL Java_org_mozilla_webclient_impl_wrapper_1native_WindowControlImpl_nativeSetFocus
(JNIEnv *env, jobject obj, jint webShellPtr)
{
- rename initContext to NativeBrowserControl, at both the native and java layers. - Rework NativeEventThread to be usable without having the browserControl window realized. - change who owns the NativEventThread to be the BrowserControl, by proxy through WrapperFactoryImpl. Again, this is with a view toward using webclient without the browserControl window realized. A webclient/src_moz/NativeBrowserControl.h A webclient/src_moz/NativeBrowserControl.cpp - Centerpiece of native Object hierarchy. Owned by NativeEventThread. M webclient/build-tests.xml - reformat - add new test, currently failing, for Navigation. M webclient/classes_spec/org/mozilla/webclient/impl/BrowserControlImpl.java - destroy our nativeBrowserControl. M webclient/classes_spec/org/mozilla/webclient/impl/WrapperFactory.java - Added API for obtaining the NativeEventThread for a BrowserControl. M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/BookmarksImpl.java M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/CurrentPageImpl.java M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/EventRegistrationImpl.java M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/HistoryImpl.java M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/NavigationImpl.java - rename nativeWebShell to nativeBrowserControl M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/ImplObjectNative.java - rename nativeWebShell to nativeBrowserControl - add method to get the NativeEventThread for this instance. M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/NativeEventThread.java - remove dependency on WindowControl - make this class be the owner of the nativeBrowserControl instance. - rename nativeWebShell to nativeBrowserControl - renamed nativeInitialize to nativeStartup - added nativeShutdown M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/WindowControlImpl.java - remove delete() method. - no longer owns NativeEventThread - no longer owns nativeBrowserControl M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImpl.java - Take over NativeEventThread ownership responsibilities from WindowControlImpl (by proxy for BrowserControl). M webclient/src_moz/CBrowserContainer.cpp M webclient/src_moz/CBrowserContainer.h M webclient/src_moz/CurrentPageActionEvents.cpp M webclient/src_moz/CurrentPageActionEvents.h M webclient/src_moz/CurrentPageImpl.cpp M webclient/src_moz/HistoryActionEvents.cpp M webclient/src_moz/HistoryActionEvents.h M webclient/src_moz/HistoryImpl.cpp M webclient/src_moz/NativeEventThreadActionEvents.cpp M webclient/src_moz/NativeEventThreadActionEvents.h M webclient/src_moz/NavigationActionEvents.cpp M webclient/src_moz/NavigationActionEvents.h M webclient/src_moz/NavigationImpl.cpp M webclient/src_moz/PromptActionEvents.cpp M webclient/src_moz/PromptActionEvents.h M webclient/src_moz/WindowControlActionEvents.cpp M webclient/src_moz/WindowControlActionEvents.h M webclient/src_moz/WindowCreator.cpp M webclient/src_moz/WindowCreator.h - rename nativeWebShell to nativeBrowserControl M webclient/src_moz/Makefile.in - comment out not yet fixed per-window sources - add NativeBrowserControl.cpp M webclient/src_moz/NativeEventThread.cpp - major refactoring. Much of the work is now being done in NativeBrowserControl.cpp M webclient/src_moz/WindowControlImpl.cpp - remove functionality now located in NativeEventThread and NativeBrowserControl. M webclient/src_moz/WrapperFactoryImpl.cpp - flesh out native{Create,Destroy}BrowserControl. M webclient/src_moz/ns_globals.h - remove gActionQueue and gEmbeddedThread. Moved into class NativeBrowserControl. M webclient/src_moz/ns_util.cpp - rename initContext to NativeBrowserControl - get action queue from NativeBrowserControl M webclient/src_moz/ns_util.h - remove WebShellInitContext! It's finally a class now, called NativeBrowserControl. M webclient/test/automated/src/classes/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImplTest.java - added new testcase to show create/deleteBrowserControl works.
2004-04-11 01:50:39 +04:00
NativeBrowserControl* initContext = (NativeBrowserControl *) webShellPtr;
if (initContext == nsnull) {
::util_ThrowExceptionToJava(env, "Exception: null webShellPtr passed to raptorWebShellSetFocus");
return;
}
if (initContext->initComplete) {
wsSetFocusEvent * actionEvent = new wsSetFocusEvent(initContext->baseWindow);
PLEvent * event = (PLEvent*) *actionEvent;
::util_PostEvent(initContext, event);
}
}
M build-tests.xml - make NavigationTest not run M build.xml - Move Win32BrowserControlCanvas up to parent package M classes_spec/org/mozilla/webclient/BrowserControlCanvas.java - You can't resize until you're initialized - pass visibility through to native layer M classes_spec/org/mozilla/webclient/impl/BrowserControlImpl.java - Use WrapperFactory to create the BrowserControlCanvas impl. A classes_spec/org/mozilla/webclient/impl/wrapper_native/Win32BrowserControlCanvas.java - moved up from child package M classes_spec/org/mozilla/webclient/impl/wrapper_native/WindowControlImpl.java - use the new thread model for nativeSetBounds(), nativeRealize(), nativeSetVisible(). M classes_spec/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImpl.java - make this create the BrowserControlCanvas instance. - honor the new package name for Win32BrowserControlCanvas. R classes_spec/org/mozilla/webclient/impl/wrapper_native/win32/Win32BrowserControlCanvas.java - moved up one level. M src_moz/EmbedWindow.cpp M src_moz/EmbedWindow.h - Take size parameters to CreateWindow_ M src_moz/Makefile.in - add WindowControlImpl.cpp M src_moz/NativeBrowserControl.cpp M src_moz/NativeBrowserControl.h - add size parameters to Realize(). M src_moz/WindowControlImpl.cpp - reactivate nativeRealize(), nativeSetVisible(), nativesetBounds(), M src_moz/win32/Win32BrowserControlCanvas.cpp - new package name M test/automated/src/classes/org/mozilla/webclient/NavigationTest.java - we have to create a Canvas to load a URL. Mozilla limitation. M test/automated/src/classes/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImplTest.java - remove unneeded test metdod
2004-04-20 20:17:43 +04:00
*********************/