Use the nsIClipboardDragDropHooks mechanism to manually copy over data
from the nsITransferable to java, so that java can manualy fabricate a
Transferable instance and put it on the clipboard.
M src_moz/CurrentPageImpl.cpp
- Pass the java instance to EmbedWindow::CopySelection().
M src_moz/EmbedWindow.cpp
M src_moz/EmbedWindow.h
- Modify CopySelection to take the java object instance
- Make this implement nsIClipboardDragDropHooks. Use the
nsICommandManager to get informed of the copy event.
- Implement ::OnCopyOrDrag() to copy the data from the nsITransferable
over to Java.
M src_moz/Makefile.in
- declare dependency on commandhandler
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImpl.java
M webclient/src_moz/CurrentPageImpl.cpp
M webclient/src_moz/Makefile.in
- Remove bookmarks because bookmarks is not in XULRunner
M webclient/test/automated/src/classes/org/mozilla/webclient/CurrentPageTest.java
- Disable testCopyCurrentSelectionToSystemClipboard. Need to try with
1.5.0.9.
M webclient/test/automated/src/classes/org/mozilla/webclient/NavigationTest.java
M webclient/test/automated/src/classes/org/mozilla/webclient/WebclientTestCase.java
- Account for build dir change
M webclient/test/manual/src/classes/org/mozilla/webclient/test/TestBrowser.java
- enable copy button.
M dom/jni/Makefile.in
M dom/jni/javaDOMGlobals.cpp
M dom/src/Makefile.in
M webclient/build-tests.xml
M webclient/build.xml
M webclient/src_ie/Makefile.in
M webclient/src_moz/Makefile.in
M webclient/src_moz/gtk/Makefile.in
M webclient/src_moz/motif/gtkmozilla.h
M webclient/src_share/Makefile.in
- Enable building with an objdir. Much more civilized. Thanks very
much to Bradley Smedberg.
- re-enable all tests, but CurrentPageTest is currently hanging.
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/EventRegistrationImpl.java
- Use new "runUntilEventOfType" method to prevent deadlock when creating a new
window.
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/NativeEventThread.java
- extract doEventLoopOnce() method from run()
- create new method runUntilEventOfType().
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/WindowControlImpl.java
- convert anonymous inner class for WCRunnable.nativeRealize into
non-anonymous inner class of WindowControlImpl
M webclient/test/automated/src/classes/org/mozilla/webclient/WindowCreatorTest.java
- Make sure to realize the new window on the main thread.
- use log level INFO
M webclient/build-tests.xml
- comment out broken tests. Currently: WindowCreatorTest, CurrentPageTest
M webclient/test/automated/src/classes/org/mozilla/webclient/WebclientTestCase.java
- Log INFO for tearDown()
- Use JDK 1.5 ConcurrentLinkedQueue to enable moving the enqueue and
dequeue operations out of the synchronized block.
- Use a the new "result" property on WCRunnable to convey the result
from the run() back to the caller.
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/WCRunnable.java
- Make this an abstract class and add a read/write property called
"result".
- declare compile.source=1.5
M dom/build.xml
M plugins/build.xml
M plugins/examples/MediaPlayer/build.xml
M plugins/test/build.xml
M util/build.xml
- remove compile.source property, take it from top level build.properties
M plugins/mozilla/Makefile.in
- remove hard coded MS_SDK_HOME reference
M util/classes/org/mozilla/util/Log.java
- This class is the home to the LogStrings property for java supplement
M webclient/build-tests.xml
- copy properties file
- turn on logging
M webclient/build.xml
- remove compile.source property, take it from top level build.properties
- set a FILE_PATH_SEP property
- make run.test depend on prepare
- make run.test.browser depend on prepare
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/BookmarksImpl.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/CocoaBrowserControlCanvas.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
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/PreferencesImpl.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/RDFEnumeration.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/Win32BrowserControlCanvas.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/WindowControlImpl.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImpl.java
- Define toString() for all the WCRunnable and Runnable impls.
M webclient/test/automated/src/classes/org/mozilla/webclient/WebclientTestCase.java
- Some logging.
A util/classes/org/mozilla/LogStrings.properties
A webclient/test/automated/src/classes/org/mozilla/webclient/TestLogStrings.properties
- LogStrings.properties files for tests and core impl
A logging.properties
- Logging settings for java supplement
- don't extract dom2.jar. It's in the JDK now.
M classes/org/mozilla/dom/AttrImpl.java
M classes/org/mozilla/dom/DOMImplementationImpl.java
M classes/org/mozilla/dom/DocumentImpl.java
M classes/org/mozilla/dom/ElementImpl.java
M classes/org/mozilla/dom/EntityImpl.java
M classes/org/mozilla/dom/NodeImpl.java
M classes/org/mozilla/dom/TextImpl.java
- conform to dom in JDK 1.6 (Dom level 3)
is the path to the jar from which the pluglet is loaded.
SECTION: Changes
M classes/org/mozilla/pluglet/PlugletFactory.java
M classes/org/mozilla/pluglet/PlugletFactoryAdaptor.java
- Add new first argument to PlugletFactory.initialize(): the string that
is the path to the jar from which the pluglet is loaded.
M examples/MediaPlayer/JMPlayer.java
M test/test.java
- Account for new first argument
M src/PlugletFactory.cpp
- new JNI signature for initialize.
Declaring this directory memory clean.
M src/Pluglet.cpp
M src/Pluglet.h
- use do_GetService instead of servman->GetServiceByContractID
- do not keep a reference to plugletEngine as an ivar
M src/PlugletFactory.cpp
M src/PlugletFactory.h
- use nsnull instead of NULL
- do not keep a reference to plugletEngine as an ivar
- use PL_strdup and PL_strfree to duplicate and free strings
M src/PlugletsDir.cpp
- use PL_strdup and PL_strfree to duplicate and free strings
make a final pass to make sure we are not leaking memory. After that, I
want to clean up the build system, and the samples.
M build.xml
- Call make export in mozilla directory
- Fix clean target
M mozilla/Makefile.in
- Added export target
M classes/org/mozilla/pluglet/PlugletLoader.java
- avoid ambiguity by casting
+ CodeSource codesource = new CodeSource(url,(java.security.cert.Certificate []) null);
M examples/MediaPlayer/JMPlayer.java
- remove debug printfs
M mozilla/npAPInsIInputStreamShim.cpp
M mozilla/npAPInsIInputStreamShim.h
- remove debug printfs
- fix buffer allocation, refactor into its own method.
- Use NPN_Mem* methods for memory allocation.
- isolate lock access to private methods. Avoids locking when we
already own the lock, which would cause an assertion.
M mozilla/nppluglet.cpp
- in dtor, check for null mScriptablePeer ivar before accessing it.
M mozilla/nsScriptablePeer.cpp
- whitespace
M src/Pluglet.cpp
- get the plugletEngine from do_GetService().
M src/PlugletEngine.cpp
M src/PlugletFactory.cpp
M src/PlugletLoader.cpp
- remove debug printfs
M test/test.java
- added test finalize.
build.xml classes/org/mozilla/pluglet/PlugletLoader.java examples/MediaPlayer/JMPlayer.java mozilla/Makefile.in mozilla/npAPInsIInputStreamShim.cpp mozilla/npAPInsIInputStreamShim.h mozilla/nppluglet.cpp mozilla/nsScriptablePeer.cpp src/Pluglet.cpp src/PlugletEngine.cpp src/PlugletFactory.cpp src/PlugletLoader.cpp test/test.java
A mozilla/npAPInsIInputStreamShim.h
- Shim to allow the np4xplugin API to call pass stream data to pluglet
M mozilla/Makefile.in
- Add the shim to the source files
M mozilla/nppluglet.cpp
- implement the layer that calls the shim
M test/test.html
- Pass the plugin a src of its .java file.
M test/test.java
- additional debug printout inf
mozilla/npAPInsIInputStreamShim.cpp mozilla/npAPInsIInputStreamShim.h mozilla/Makefile.in mozilla/nppluglet.cpp test/test.html test/test.java
? simple
? examples/MediaPlayer/build
? examples/MediaPlayer/build.properties
? examples/MediaPlayer/build.properties.sample
? test/build
M examples/MediaPlayer/JMPlayer.java
M examples/MediaPlayer/build.xml
M examples/MediaPlayer/samples/test.html
M mozilla/nppluglet.cpp
M mozilla/nppluglet.h
loading: it depends on jvm.dll, which was not on my path. I had to add
%JDKHOME%\jre\bin\client to my path and now it loaded. Thanks to shaver
and plasticmillion on #developers for the tip to use depends.exe, the
Dependency Walker. What a nice tool.
Of course, there is now a crash after it loads, which will be my next
step after this checkin.
A plugins/src/iPlugletEngine.idl
A plugins/src/iPlugletManager.idl
- make IDL files for our external interfaces.
M plugins/src/Makefile.in
- move PlugletEngine.cpp to the top of the list.
M plugins/src/PlugletEngine.cpp
M plugins/src/PlugletEngine.h
- big changes here. Make this a proper generic XPCOM component.
- use the iPlugletManager interface, and the nsICategoryManager
to make sure we get called at startup.
M plugins/src/Pluglet.cpp
M plugins/src/Pluglet.h
M plugins/src/PlugletFactory.cpp
M plugins/src/PlugletFactory.h
M plugins/src/PlugletInputStream.cpp
M plugins/src/PlugletInputStream.h
M plugins/src/PlugletLoader.cpp
M plugins/src/PlugletManager.cpp
M plugins/src/PlugletPeer.cpp
M plugins/src/PlugletStreamInfo.cpp
M plugins/src/PlugletStreamListener.cpp
M plugins/src/PlugletViewWindows.cpp
M plugins/src/PlugletsDir.cpp
M plugins/src/Registry.cpp
- remove static method PlugletEngine::GetJNIEnv, in favor of instance
method and use of nsIServiceManager.
M makefiles
- remove plugins/Makefile, this'll be replaced by ant
- add jni Makefile
R plugins/makefile.win
R plugins/jni/makefile.win
R plugins/src/makefile.win
- obsolete.
M plugins/jni/Makefile.in
- new includes and such
M plugins/jni/org_mozilla_pluglet_mozilla_PlugletOutputStream.cpp
- cast to const char *.
Next step is to fix this:
D:\Projects\mozilla\MOZILLA_NIH\FIREFOX_1_5_0_1\mozilla\java\webclient\build-tests.xml:152: Test org.mozilla.webclient.DocumentLoadListenerTest failed
M build.properties.sample
- Add hint for msdev arguments.
M dom/build.xml
M util/build.xml
M webclient/build.xml
- compile.source to 1.3
M dom/jni/Makefile.in
M webclient/src_ie/Makefile.in
M webclient/src_moz/Makefile.in
M webclient/src_moz/gtk/Makefile.in
M webclient/src_share/Makefile.in
- +DEFINES += -DMOZILLA_INTERNAL_API
M dom/jni/nativeDOMProxyListener.cpp
M dom/src/nsJavaDOMImpl.cpp
- remove cast to (void **) in AttachCurrentThread
M dom/src/Makefile.in
- depend on layout
- +DEFINES += -DMOZILLA_INTERNAL_API
M webclient/build-tests.xml
- comment out ProfileManagerTest
- compile with compile.source
M webclient/src_moz/NativeBrowserControl.cpp
- nsIFocusController,nsIChromeEventHandler,nsIDomWindowInternal no
longer needs nsCOMPtr
M webclient/src_moz/NativeEventThread.cpp
- remove IID defs for webShell, sHistory.
M webclient/src_moz/NavigationActionEvents.cpp
- remove nsIPresContext include
M webclient/src_moz/NavigationImpl.cpp
-#include "nsIServiceManagerUtils.h" // PENDING(edburns): when moving
- // past 1.7, this changes to
- // nsServiceManagerUtils.h
+#include "nsServiceManagerUtils.h"
M webclient/src_moz/ProfileManagerImpl.cpp
- This is currently totally broken. Next step is to fix it.
M webclient/src_moz/WrapperFactoryImpl.cpp
- comment out profileManager accesses
M webclient/src_moz/ns_globals.h
M webclient/src_moz/ns_util.h
- take out nsIWebShell
M webclient/test/automated/src/classes/org/mozilla/webclient/BrowserControlFactoryTest.java
- comment out goldenFile assertion until ProfileManager works.
listeners, using test driven development techniques of course.
Next step is to update the test browser to use this feature.
SECTION:
A webclient/classes_spec/org/mozilla/webclient/WCKeyEvent.java
- KeyEvent subclass to expose WebclientEvent, and allow access to the
Source property, which is a dom Node
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/EventRegistrationImpl.java
- change to handle WCKeyEvent
M webclient/test/automated/src/classes/org/mozilla/webclient/KeyListenerTest.java
M webclient/test/automated/src/classes/org/mozilla/webclient/MouseListenerTest.java
- new test content
M webclient/test/automated/src/test/KeyListenerTest1.html
- add id attribute
allowing the standard java key and mouse event listeners to get access
to the dom Node that corresponds to that event. I have the Node
propagated out to the webclient level, but I need to push it all the way
out so the client can access it.
Next step is to expose the dom Node to the standard java key and mouse
listeners, using test driven development techniques of course.
SECTION: Changes
M dom/classes/org/mozilla/dom/DOMAccessor.java
- make getNodeByHandle(long p) public so I can get the dom node for a
key or mouse event.
M dom/classes/org/mozilla/dom/NodeImpl.java
- added commented out methods for the Node in Java SE 5.0
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/EventRegistrationImpl.java
- Extract the dom Node that corresponds to a key or mouse event.
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/RDFTreeNode.java
- Don't use keyword enum, for Java SE 5.0
M webclient/src_moz/EmbedEventListener.cpp
- store the long into the properties.
M webclient/src_share/jni_util.cpp
M webclient/src_share/jni_util.h
- new constant, NodeLong.