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.
M dom/src/Makefile.in
- conditional builds to work properly XP
M webclient/build-tests.xml
- pass MOZ_SRC to test environment to enable absolute pathing to golden
files
M webclient/test/automated/src/classes/org/mozilla/webclient/WebclientTestCase.java
- Leverage MOZ_SRC to get absolute pathing to golden files
work on the dom viewer in the TestBrowser.
M webclient/classes_spec/org/mozilla/webclient/EventRegistration.java
M webclient/classes_spec/org/mozilla/webclient/EventRegistration2.java
- add javadocs.
bytes, including whitespace, that is being shown in the BrowserControl.
The source actually comes from the browser's cache, and is not
re-fetched over the network unless the browser doesn't have an entry in
the cache.
Next step is to fix up the TestBrowser to show off this feature.
A src_moz/LoadCompleteProgressListener.cpp
A src_moz/LoadCompleteProgressListener.h
* Simple nsIWebProgressListener that offers a "loadComplete" property
* that can be queried to determine if the load has completed.
A test/manual/src/classes/org/mozilla/webclient/test/DOMAccessPanel.java
A test/manual/src/classes/org/mozilla/webclient/test/DOMCellRenderer.java
A test/manual/src/classes/org/mozilla/webclient/test/DOMTreeDumper.java
A test/manual/src/classes/org/mozilla/webclient/test/DOMTreeModel.java
A test/manual/src/classes/org/mozilla/webclient/test/DOMTreeNotifier.java
A test/manual/src/classes/org/mozilla/webclient/test/DOMViewerFrame.java
- move over from Old test browser. Produces some thread issues.
M src_moz/CurrentPageImpl.cpp
- Leverage LoadCompleteProgressListener to discover when it's safe to
call "selectAll" on the window.
M src_moz/Makefile.in
- add LoadCompleteProgressListener
M test/automated/src/classes/org/mozilla/webclient/CurrentPageTest.java
- re-enable GetSource test
M test/automated/src/test/ViewSourceTest.html
- re-edit for ease of comparison in CurrentPageTest
M test/manual/src/classes/org/mozilla/webclient/test/TestBrowser.java
- Hack: viewSource button. A menu would be better.
problem is that selectAll isn't working due to the window not being
realized. We'll see. Next step is to get it working!
M classes_spec/org/mozilla/webclient/impl/wrapper_native/CurrentPageImpl.java
- rewrite getSource() to call native code, instead of using the DOM.
M src_moz/CurrentPageImpl.cpp
- re-enable nativeGetSource().
M src_moz/EmbedWindow.cpp
M src_moz/EmbedWindow.h
- fill out dtor
- add InitNoChrome.
M test/automated/src/classes/org/mozilla/webclient/CurrentPageTest.java
- comment out test
classes_spec/org/mozilla/webclient/impl/wrapper_native/CurrentPageImpl.java src_moz/CurrentPageImpl.cpp src_moz/EmbedWindow.cpp src_moz/EmbedWindow.h test/automated/src/classes/org/mozilla/webclient/CurrentPageTest.java
the whitespace formatting of the current page, which is a big problem.
Next step is to get the DOMViewer working with the TestBrowser.
M build.xml
- exclude test from the default build
A classes_spec/org/mozilla/webclient/impl/DOMTreeDumper.java
- Copy this over from test.
M classes_spec/org/mozilla/webclient/impl/wrapper_native/CurrentPageImpl.java
- leverage DOMTreeDumper to print the current source.
M test/automated/src/classes/org/mozilla/webclient/CurrentPageTest.java
A test/automated/src/test/ViewSourceTest.html
- exercise new methods.
This change-bundle implements the FULL proposal for this, as well as
covering some corner-cases not in the initial proposal.
I have yet to get the last stamp of approval from the EG, but I'm
confident we'll get it, so I'm checking it in now.
r=visvan.
SECTION: API Changes
M jsf-api/src/javax/faces/application/StateManager.java
- reword the class description for readability
- saveSerializedView
Deprecate this. Make it no-longer abstract. Provide default impl
that returns null.
- saveView
new method. Replaces saveSerializedView. Provide default impl that
calls through to saveSerializedView().
- writeState that takes Object
new method. Provide default impl:
+ * <p>For backwards compatability with existing
+ * <code>StateManager</code> implementations, the default
+ * implementation of this method checks if the argument is an
+ * instance of <code>Object []</code> of length greater than or
+ * equal to two. If so, it creates a <code>SerializedView</code>
+ * instance with the tree structure coming frome element zero and
+ * the component state coming from element one and calls through to
+ * {@link
+ * #writeState(javax.faces.context.FacesContext,javax.faces.application.StateManager.SerializedView}.
+ * If not, does nothing.</p>
- getTreeStructureToSave
- getComponentStateToSave
- restoreTreeStructure
- restoreComponentState
Deprecate these. Provide default impl that returns null or no-ops.
- SerializedView
Deprecate this.
M jsf-api/src/javax/faces/application/StateManagerWrapper.java
- add new methods.
M jsf-api/src/javax/faces/render/ResponseStateManager.java
- writeState that takes Object
new method.
+ * <p>For backwards compatability with existing
+ * <code>ResponseStateManager</code> implementations, the default
+ * implementation of this method checks if the argument is an
+ * instance of <code>SerializedView</code>. If so, it calls through
+ * to {@link
+ * #writeState(javax.faces.context.FacesContext,javax.faces.application.StateManager.SerializedView}.
+ * If not, does nothing.</p>
- writeState that takes SerializedView
+ * @deprecated This method has been replaced by {@link
+ * #writeState(javax.faces.context.FacesContext,java.lang.Object)}.
+ * The default implementation of this method does nothing.
+ *
- getState
new method.
- getTreeStructureToRestore
- getComponentStateToRestore
Deprecate these. Provide default impl that returns null or no-ops.
SECTION: RI Changes
M jsf-ri/src/com/sun/faces/application/StateManagerImpl.java
Provide implementations for deprecated methods that will be called by
the default implementations of the new methods in StateManager.
- saveSerializedView(): no functional change since last version
M jsf-ri/src/com/sun/faces/application/ViewHandlerImpl.java
- move the responsibility for doing the redirect to createView() from
renderView(), since it was only designed to catch the initial request.
M jsf-ri/src/com/sun/faces/lifecycle/RestoreViewPhase.java
- introduce private isPostback() method.
+ * @return true if the request method is POST or PUT, or the method
+ * is GET but there are query parameters, or the request is not an
+ * instance of HttpServletRequest.
Only call restoreView() if isPostback(), otherwise call createView().
M jsf-ri/src/com/sun/faces/renderkit/ResponseStateManagerImpl.java
- modify getTreeStructureToRestore() so it knows the value of the hidden
field is only a string, not a base64 encoded object tree, if the
stateSavingMethod is server.
- modify writeState() to not encode the view if we're saving state in
the server, just write out the id.
- remove unused replaceMarkers method.
M jsf-ri/src/com/sun/faces/taglib/jsf_core/ViewTag.java
- leverage new APIs and rely on impl to delegate to deprecated APIs for
backwards compatability.
M jsf-ri/systest/build-tests.xml
M jsf-ri/systest/src/com/sun/faces/htmlunit/AbstractTestCase.java
M jsf-ri/systest/src/com/sun/faces/jsptest/JspIntegrationTestCase.java
M jsf-ri/test/com/sun/faces/FacesTestCaseService.java
M jsf-ri/test/com/sun/faces/lifecycle/TestApplyRequestValuesPhase.java
M jsf-ri/test/com/sun/faces/lifecycle/TestLifecycleImpl_initial.java
M jsf-ri/test/com/sun/faces/lifecycle/TestPhase.java
M jsf-ri/test/com/sun/faces/lifecycle/TestProcessValidationsPhase.java
M jsf-ri/test/com/sun/faces/lifecycle/TestRestoreViewPhase.java
M jsf-ri/web/test/RenderResponse_correct
M jsf-ri/web/test/TestLifecycleImpl_initial_correct
M jsf-ri/web/test/TestViewHandlerImpl_correct
- Oof, mondo changes here.