- Include debug options
M webclient/build.xml
A webclient/default-profile-dir-contents.jar
- Include a sample profile dir into the webclient jar
M webclient/classes_spec/org/mozilla/webclient/WebclientFactory.java
M webclient/classes_spec/org/mozilla/webclient/impl/WebclientFactoryImpl.java
- add setProfileDir()
M webclient/classes_spec/org/mozilla/webclient/impl/WrapperFactory.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImpl.java
- add methods for allowing the setting of profile directories.
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/ProfileManagerImpl.java
- cook up a profile directory based on the bin directory if the user hasn't provided one.
M webclient/src_moz/ProfileManagerImpl.cpp
- Make sure NSS is initialized by giving the system a ProfD and getting the
psm service via contract id.
M webclient/test/manual/src/classes/org/mozilla/webclient/test/TestBrowser.java
- Make sure the darn thing is visible
git-svn-id: svn://10.0.0.236/trunk@253371 18797224-902f-48f8-a5cc-f745e15eee43
A webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/NativeBrowserControlCanvas.java
- The base class for all native browser controls
M build.xml
- rm -rf dist/classes on clean
M dist/mcp-test/src/test/java/cardemo/CarDemoTest.java
- disable, due to https://bugzilla.mozilla.org/show_bug.cgi?id=366619
not being fixed on FIREFOX_2_0_0_3_RELEASE branch.
M dom/jni/nativeDOMProxyListener.cpp
- Need extra void ** cast for first argument to AttachCurrentThread
M dom/jni/org_mozilla_dom_ElementImpl.cpp
- modify handleInterceptableAttr to adjust screenX,screenY per cross
platform fudge factors.
M dom/src/nsJavaDOMImpl.cpp
- use %p instead of %x when printing out pointers
- Need extra void ** cast for first argument to AttachCurrentThread
M webclient/classes_spec/org/mozilla/mcp/MCP.java
- remove fudge factor, moved into DOM layer.
M webclient/classes_spec/org/mozilla/webclient/BrowserControlCanvas.java
- add logging
- push some code down to NativeBrowserControlCanvas
M webclient/classes_spec/org/mozilla/webclient/NewWindowEvent.java
- change the contract of how a new window event is handled.
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/CocoaAppKitThreadDelegatingNativeEventThread.java
- correctly case where exception is thrown on the AppKit thread when
doing a ReturnRunnable.
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/CocoaBrowserControlCanvas.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/Win32BrowserControlCanvas.java
- make this extend NativeBrowserControlCanvas
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/EventRegistrationImpl.java
- new contract for NewWindowListener
M webclient/src_moz/NativeEventThread.cpp
- fix compiler warning.
M webclient/src_moz/WindowCreator.cpp
- add logging
M webclient/test/automated/src/classes/org/mozilla/webclient/DOMTest.java
M webclient/test/automated/src/classes/org/mozilla/webclient/KeyListenerTest.java
M webclient/test/automated/src/classes/org/mozilla/webclient/MouseListenerTest.java
M webclient/test/automated/src/classes/org/mozilla/webclient/WindowCreatorTest.java
- use dom to get the screen coordinates of elements on which to click,
instead of using hard coded screen coordinates, which are not cross
platform friendly.
M webclient/test/automated/src/test/WindowCreatorTest0.html
- add ids to some elements for use in testcases.
git-svn-id: svn://10.0.0.236/trunk@228340 18797224-902f-48f8-a5cc-f745e15eee43
M webclient/build.xml
- separate out "compile.binaries" target
M webclient/classes_spec/org/mozilla/mcp/MCP.java
- account for mac coordinate wierdness.
M webclient/src_moz/AjaxListener.cpp
M webclient/src_moz/CBrowserContainer.cpp
M webclient/src_moz/EmbedEventListener.cpp
M webclient/src_moz/ns_util.h
- make sure to initialize the buffer before calling WC_ITOA
M webclient/test/automated/src/classes/org/mozilla/webclient/CurrentPageTest.java
M webclient/test/automated/src/classes/org/mozilla/webclient/KeyListenerTest.java
M webclient/test/automated/src/classes/org/mozilla/webclient/MouseListenerTest.java
- Make these tests run
M webclient/test/automated/src/test/HistoryTest0.html
- add an ID.
M webclient/test/manual/src/classes/org/mozilla/webclient/test/TestBrowser.java
- print out coordinates
git-svn-id: svn://10.0.0.236/trunk@228024 18797224-902f-48f8-a5cc-f745e15eee43
- Correctly exclude Gtk test on Mac
M dist/netbeans/logging.properties
- turn on all webclient logging
M dist/netbeans/webclient.properties
- Use correct extension for jnilib on mac os x
M webclient/src_moz/EmbedWindow.cpp
M webclient/src_moz/NativeBrowserControl.cpp
- extra logging
M webclient/src_moz/WindowControlImpl.cpp
- correct ifdef logic to exclude some Gtk specific code.
git-svn-id: svn://10.0.0.236/trunk@227854 18797224-902f-48f8-a5cc-f745e15eee43
M webclient/classes_spec/org/mozilla/webclient/impl/WrapperFactory.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImpl.java
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/NativeEventThread.java
- get rid of the wait/notifyAll in favor of using the CountDownLatch()
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/CocoaAppKitThreadDelegatingNativeEventThread.java
- When running code on the AppKit thread, log exceptions before rethowing.
M webclient/src_moz/cocoa/CocoaBrowserControlCanvas.mm
M webclient/src_share/jni_util.cpp
- Make exception error messages more descriptive.
git-svn-id: svn://10.0.0.236/trunk@227837 18797224-902f-48f8-a5cc-f745e15eee43
PowerBook G4, so the only binary I can produce is for the PowerPC.
Perhaps someone lucky enough to own a MacBookPro can produce a binary
for me on that processor architecture.
Many thanks to the generous folks on #developers, in particular, timeless,
cbarrett, sdwilsh, and jhpedemonte.
Here are the changes.
SECTION: Changes
M dist/build.xml
- propogate clean on mac os x
- On mac os x, there is .jnilib and also .dylib
M dom/build.xml
- propogate make on mac os x
M webclient/build.xml
- new file for javah on mac
- propogate clobber_all on mac
M webclient/classes_spec/org/mozilla/webclient/BrowserControlCanvas.java
- get the tree lock before calling to native code to get the native window
A webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/CocoaAppKitThreadDelegatingNativeEventThread.java
- Allows running arbitrary code on the AppKit thread. Prevents Thread
Safety assertions.
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/CocoaBrowserControlCanvas.java
- adhere to informal protocol to create NativeEventThread
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/ImplObjectNative.java
- use NativeEventThread.instance.isNativeEventThread()
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/NativeEventThread.java
- implement isNativeEventThread()
M webclient/src_moz/Makefile.in
- turn on objc-exceptions on mac os x
M webclient/src_moz/NativeBrowserControl.cpp
M webclient/src_moz/NativeBrowserControl.h
- work with cocoa
M webclient/src_moz/NativeEventThread.cpp
M webclient/src_moz/cocoa/CocoaBrowserControlCanvas.h
M webclient/src_moz/cocoa/CocoaBrowserControlCanvasImpl.cpp
- two methods to run arbitrary code on the AppKit thread
M webclient/src_moz/cocoa/CocoaBrowserControlCanvas.mm
M webclient/test/manual/src/classes/org/mozilla/webclient/test/TestBrowser.java
git-svn-id: svn://10.0.0.236/trunk@227737 18797224-902f-48f8-a5cc-f745e15eee43
M dist/build.xml
M dom/build.xml
M webclient/build.xml
M dist/netbeans/build.xml
M dist/netbeans/webclient.properties
M dom/jni/Makefile.in
M dom/src/Makefile.in
M webclient/src_moz/Makefile.in
M webclient/src_moz/EmbedWindow.cpp
M webclient/src_moz/EmbedWindow.h
- Fix for Mac OS X
git-svn-id: svn://10.0.0.236/trunk@226938 18797224-902f-48f8-a5cc-f745e15eee43
- package description for MCP
M dist/build.xml
- copy ancilliary files for javadoc
A dist/javadoc.css
- Stylesheet for code samples within Javadocs
M dist/netbeans/build.xml
- Use releasenotes for test browesr start page
M dom/jni/Makefile.in
M dom/src/Makefile.in
M webclient/src_moz/Makefile.in
M webclient/src_share/Makefile.in
- FORCE_PR_LOG
M dom/jni/javaDOMEventsGlobals.cpp
M dom/jni/nativeDOMProxyListener.cpp
M dom/jni/org_mozilla_dom_events_MouseEventImpl.cpp
- use nsCOMPtr and correct QI-ing.
M webclient/classes_spec/org/mozilla/mcp/MCP.java
- Javadocs
- Make private things private
A webclient/classes_spec/org/mozilla/mcp/mcp.jpg
- Master Control Program
M webclient/classes_spec/org/mozilla/webclient/WebclientFactory.java
- javadocs
git-svn-id: svn://10.0.0.236/trunk@221898 18797224-902f-48f8-a5cc-f745e15eee43
M dist/netbeans/build.xml
M dist/netbeans/nbproject/project.properties
- prepare for alpha 6 release
M webclient/src_moz/AjaxListener.cpp
M webclient/src_moz/AjaxListener.h
M webclient/src_moz/EmbedProgress.cpp
M webclient/src_moz/EmbedProgress.h
- the AjaxListener no longer keeps the jobject EventRegistrationImpl as
an ivar. Instead, it lazily uses an accessor on EmbedProgress
M webclient/test/manual/src/classes/org/mozilla/webclient/test/TestBrowser.java
- Take a url from commandline.
git-svn-id: svn://10.0.0.236/trunk@221608 18797224-902f-48f8-a5cc-f745e15eee43
- this automated test is now a complete example for how to test an ajax
web application in an automated fashion.
M dom/classes/org/mozilla/dom/NodeImpl.java
M dom/jni/org_mozilla_dom_NodeImpl.cpp
- implement getTextContent() from DOM level 3.
M webclient/build-tests.xml
- add cardemoTest to unit test list as a place-holder until I can write
a testcase that doesn't require the public Internet.
A webclient/classes_spec/org/mozilla/mcp/AjaxListener.java
- New class. Docs forthcoming.
M webclient/classes_spec/org/mozilla/mcp/MCP.java
- new methods to support complete ajax automated testing.
M webclient/src_moz/AjaxListener.cpp
M webclient/src_moz/AjaxListener.h
- add mIsObserving flag. From our dtor, make sure to remove ourselves
from the EmbedProgress.
M webclient/src_moz/EmbedProgress.cpp
M webclient/src_moz/EmbedProgress.h
- We need to add ourselves as an observer both from SetCapturePageInfo
and SetEventRegistration.
M webclient/src_moz/NativeBrowserControl.cpp
- Unit testing found a bug! We can't call mWindow->ReleaseChildren()
until after we remove ourself as a listener.
git-svn-id: svn://10.0.0.236/trunk@221594 18797224-902f-48f8-a5cc-f745e15eee43
- fix bug where eventType was incorrectly getting accessed as a const char *
M webclient/src_moz/AjaxListener.cpp
- Create a Java DOM instance from the Ajax response.
M webclient/test/manual/src/classes/org/mozilla/webclient/test/TestBrowser.java
- Resurrect the DOMViewer. Make it show the tree for ajax responses.
git-svn-id: svn://10.0.0.236/trunk@221545 18797224-902f-48f8-a5cc-f745e15eee43
- add event masks for Ajax
M webclient/classes_spec/org/mozilla/webclient/PageInfoListener.java
- Document map values for ajax events
M webclient/src_moz/AjaxListener.cpp
M webclient/src_moz/AjaxListener.h
- Flesh out implementation as much as the underlying browser allows.
For mozilla, this means start, end, and error.
M webclient/src_moz/EmbedProgress.cpp
M webclient/src_moz/EmbedProgress.h
- move the initialization of the AjaxListener into SetEventRegistration().
- Expose NativeBrowserControl * getter
- Make RequestToURIString public
M webclient/src_share/jni_util.cpp
M webclient/src_share/jni_util.h
- new map keys: readyState, responseText, responseXML
- new event masks START_AJAX, END_AJAX, ERROR_AJAX
M webclient/test/manual/src/classes/org/mozilla/webclient/test/TestBrowser.java
- print map values for AJAX cases.
git-svn-id: svn://10.0.0.236/trunk@221541 18797224-902f-48f8-a5cc-f745e15eee43
a cue from Doron Rosenberg in #developers and looked at the Eclipse ATF
project's XHRObserver.java.
This was my first look at java code that uses the java xpcom bridge, and
I'm very impressed. Once I get webclient 2.0 done, I'll definately
rewrite as much as possible of the mozilla implementation using the java
xpcom bridge. For now, I'm going to continue to crank with my
"on-demand hand coded JNI C++" approach. I think I can get results
pretty quickly with this. For example, just yesterday I learned that
the regular nsIWebProgressListener doesn't get notifications on Ajax
requests, and now I see a way to do it (thanks to Doron).
Here is the work in progress.
A webclient/src_moz/AjaxListener.cpp
A webclient/src_moz/AjaxListener.h
M logging.properties
- set "ALL" for MCP level
M dist/mcp-test/src/test/java/cardemo/CarDemoTest.java
- Cause an Ajax transaction to happen
M webclient/classes_spec/org/mozilla/mcp/MCP.java
- log messages for outgoing HTTP requests
M webclient/src_moz/EmbedProgress.cpp
M webclient/src_moz/EmbedProgress.h
- Leverage new AjaxListener class
M webclient/src_moz/Makefile.in
- add xmlextras, to include nsIXMLHttpRequest.
git-svn-id: svn://10.0.0.236/trunk@221474 18797224-902f-48f8-a5cc-f745e15eee43
Workaround
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/CurrentPageImpl.java
+void addStringToTransferable(String mimeType, String text) {
This method is called from native code when a Transferable is being
inspected for the DataFlavors it supports.
M webclient/classes_spec/org/mozilla/webclient/test/WorkDialog.java
- Whitespace
M webclient/src_moz/EmbedWindow.cpp
M webclient/src_moz/EmbedWindow.h
- copy code from nsPrimitiveHelpers to aid in the extraction of text
from the nsITransferable
- Flesh out GetText(), SendTextToJava() methods.
M webclient/src_moz/Makefile.in
- Additional dependencies for nsPrimitiveHelpers copy.
git-svn-id: svn://10.0.0.236/trunk@220342 18797224-902f-48f8-a5cc-f745e15eee43
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
git-svn-id: svn://10.0.0.236/trunk@220060 18797224-902f-48f8-a5cc-f745e15eee43
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.
git-svn-id: svn://10.0.0.236/trunk@219185 18797224-902f-48f8-a5cc-f745e15eee43
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.
git-svn-id: svn://10.0.0.236/trunk@219157 18797224-902f-48f8-a5cc-f745e15eee43
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.
git-svn-id: svn://10.0.0.236/trunk@191790 18797224-902f-48f8-a5cc-f745e15eee43
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.
git-svn-id: svn://10.0.0.236/trunk@178227 18797224-902f-48f8-a5cc-f745e15eee43
was that I was incorrectly interpreting the return value from
Lock().
This works. Next step is to solve the nsWindow.cpp problem.
git-svn-id: svn://10.0.0.236/trunk@173469 18797224-902f-48f8-a5cc-f745e15eee43
Having trouble with the implementation of getHandleToPeer.
Current problem is that JAWT_DrawingSurface->Lock() is failing.
Why would that be?
git-svn-id: svn://10.0.0.236/trunk@173357 18797224-902f-48f8-a5cc-f745e15eee43
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.
git-svn-id: svn://10.0.0.236/trunk@172378 18797224-902f-48f8-a5cc-f745e15eee43
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
git-svn-id: svn://10.0.0.236/trunk@171314 18797224-902f-48f8-a5cc-f745e15eee43
a request on the END_URL_LOAD event. Please see
<http://lxr.mozilla.org/mozilla/source/java/webclient/test/automated/src/classes/org/mozilla/webclient/DocumentLoadListenerTest.java#138>
for an example.
Next step is to clean up the javadocs.
A webclient/test/automated/src/test/DocumentLoadListenerTest0.html
M webclient/src_moz/EmbedProgress.cpp
M webclient/test/automated/src/classes/org/mozilla/util/THTTPD.java
M webclient/test/automated/src/classes/org/mozilla/webclient/DocumentLoadListenerTest.java
git-svn-id: svn://10.0.0.236/trunk@170610 18797224-902f-48f8-a5cc-f745e15eee43
M src_moz/EmbedProgress.cpp
- remove PageInfoListener meta-data from END_DOCUMENT_LOAD. Didn't
belong there.
M test/manual/src/classes/org/mozilla/webclient/test/TestBrowser.java
- print out the request method and response code.
git-svn-id: svn://10.0.0.236/trunk@170053 18797224-902f-48f8-a5cc-f745e15eee43
of a URL_LOAD event. I'm still working on getting the request body via
the nsIUploadChannel interface. Next step will be to get that working.
I'm currently running into problems where the END_URL event for a POST
doesn't have a status. I think this is because I'm using the
Navigation.post() method rather than simulating a user post by pressing
a form submit button.
A classes_spec/org/mozilla/webclient/impl/wrapper_native/NativeInputStream.java
A src_moz/NativeInputStreamImpl.cpp
- Class to enable reading the post body from the request.
M build.xml
- add NativeInputStream to JNI generation
M classes_spec/org/mozilla/webclient/PageInfoListener.java
* <p>This {@link DocumentLoadListener} subclass adds the ability to get
* detailed information on each event. </p>
*
* <p>The <code>eventData</code> property of the
* <code>DocumentLoadEvent</code> instance will be a
* <code>java.util.Map</code>. The following entries may be present in
* this map for the following <code>*_EVENT_MASK</code> types in
* <code>DocumentLoadEvent</code>.</p>
*
* <dl>
*
* <dt>For all <code>*_EVENT_MASK</code> types</dt>
*
* <dd><p>the map will contain an entry under the key "<code>URI</code>"
* without the quotes. This will be the fully qualified URI for the
* event. </p></dd>
*
* <dt>For <code>START_URL_LOAD</code> type</dt>
*
* <dd><p>The map will contain an entry under the key
* "<code>method</code>" without the quotes. This will be the request
* method for this event. The map will also contain an entry under the
* key "<code>headers</code>". This entry will be a
* <code>java.util.Map</code> of all the request headers.</p></dd>
*
* <dt>For <code>END_URL_LOAD</code> type</dt>
*
* <dd><p>The map will contain an entry under the key
* "<code>method</code>" without the quotes. This will be the request
* method for this event. The map will contain an entry under the key
* "<code>status</code>" without the quotes. This will be the response
* status string from the server, such as "<code>200 OK</code>". The
* map will also contain an entry under the key "<code>headers</code>".
* This entry will be a <code>java.util.Map</code> of all the response
* headers.</p></dd>
*
* </dl>
M src_moz/EmbedProgress.cpp
- leverage nsIHttpChannel methods to get request method, response
status, and post body.
M src_moz/Makefile.in
- add NativeInputStream
M src_share/jni_util.cpp
M src_share/jni_util.h
- new constants
- add variant of ThrowExceptionToJava that takes the exception class name.
M test/automated/src/classes/org/mozilla/webclient/DocumentLoadListenerTest.java
- new test content. Post related content commented out.
git-svn-id: svn://10.0.0.236/trunk@169991 18797224-902f-48f8-a5cc-f745e15eee43
Next step is to take a step back and see what's best to do next!
M classes_spec/org/mozilla/webclient/impl/wrapper_native/CurrentPageImpl.java
- call through to print related methods
M src_moz/CurrentPageImpl.cpp
- Copy from CurrentPageActionEvents.cpp
M test/automated/src/classes/org/mozilla/webclient/CurrentPageTest.java
- add test stub for print preview.
git-svn-id: svn://10.0.0.236/trunk@169174 18797224-902f-48f8-a5cc-f745e15eee43
will work.
A test/automated/src/test/DOMSelectionTest.html
- test CurrentPage.highlightSelection and clearAllSelections().
M classes_spec/org/mozilla/webclient/impl/wrapper_native/CurrentPageImpl.java
- send all native methods through the event thread
M classes_spec/org/mozilla/webclient/impl/wrapper_native/SelectionImpl.java
- never return null from toString(). Return "" instead.
M src_moz/CurrentPageImpl.cpp
- copy from CurrentPageActionEvents.cpp
M test/automated/src/classes/org/mozilla/webclient/CurrentPageTest.java
M test/automated/src/classes/org/mozilla/webclient/DOMTest.java
- new test conent
git-svn-id: svn://10.0.0.236/trunk@169173 18797224-902f-48f8-a5cc-f745e15eee43
find command.
Next step will be to add more tests.
M classes_spec/org/mozilla/webclient/CurrentPage2.java
- add find and findNext methods which return boolean.
M classes_spec/org/mozilla/webclient/impl/wrapper_native/CurrentPageImpl.java
- implement these methods
M src_moz/CurrentPageImpl.cpp
- change native methods to accomodate
M test/automated/src/classes/org/mozilla/webclient/CurrentPageTest.java
- minimal test of new content.
git-svn-id: svn://10.0.0.236/trunk@169076 18797224-902f-48f8-a5cc-f745e15eee43
to provide a way to return result of the find, by defining methods on
the CurrentPage2 interface.
A test/automated/src/test/FindTest0.html
- fodder for find
M src_moz/CurrentPageImpl.cpp
- copy content from CurrentPageActionEvents
M test/automated/src/classes/org/mozilla/webclient/CurrentPageTest.java
- basic test. Needs more robustness.
git-svn-id: svn://10.0.0.236/trunk@168903 18797224-902f-48f8-a5cc-f745e15eee43
find in page.
M src_moz/CurrentPageImpl.cpp
M test/automated/src/classes/org/mozilla/webclient/CurrentPageTest.java
git-svn-id: svn://10.0.0.236/trunk@168901 18797224-902f-48f8-a5cc-f745e15eee43
CurrentPage.copyCurrentSelectionToSystemClipboard() and provides a unit
test for it.
Next step is getCurrentURL.
A test/automated/src/classes/org/mozilla/webclient/CurrentPageTest.java
- new test suite for CurrentPage. Currently only has
testCopyCurrentSelectionToSystemClipboard().
M build-tests.xml
- add CurrentPage TestSuite with one test.
M src_moz/CurrentPageImpl.cpp
- re-implement nativeCopyCurrentSelectionToSystemClipboard()
git-svn-id: svn://10.0.0.236/trunk@168900 18797224-902f-48f8-a5cc-f745e15eee43
<http://lxr.mozilla.org/mozilla/source/java/webclient/test/automated/src/classes/org/mozilla/webclient/DOMTest.java>
for a trivial usage example.
Next step is to continue to flesh out CurrentPage methods.
Ed
A test/automated/src/classes/org/mozilla/webclient/DOMTest.java
- show basic DOM functionality
M build-tests.xml
- Add new DOM test
M src_moz/CurrentPageImpl.cpp
- re-expose DOM functionality
M test/automated/src/test/HistoryTest0.html
- Add an ID to the anchor so we can do getElementById() on it.
git-svn-id: svn://10.0.0.236/trunk@168790 18797224-902f-48f8-a5cc-f745e15eee43
re-implemented using the new event model. It's a bit cleaner.
Next step is to uncomment the selection check at the end of
WindowCreatorTest.java. This code currently causes the VM to crash. I
also plan to do some testing on the chrome flags.
M classes_spec/org/mozilla/webclient/EventRegistration2.java
- deprecate {add,remove}NewWindowListener(), replace with
setNewWindowListener().
M classes_spec/org/mozilla/webclient/NewWindowEvent.java
- added BrowserControl property, which the user sets into the event.
M classes_spec/org/mozilla/webclient/impl/wrapper_native/EventRegistrationImpl.java
- change newWindowListeners List ivar to newWindowListener ivar.
- fix {add,remove}NewWindowListener() to leverage setNewWindowListener()
- change nativeEventOccurred() to return an int instead of void.
- add boolean property nativeSetNewWindowListenerAttached()
M classes_spec/org/mozilla/webclient/impl/wrapper_native/NativeEventThread.java
- modify pushBlockingWCRunnable() to execute the runnable right away if
we're already on the NativeEventThread. This is necessary to allow
re-entrancy.
M src_moz/EmbedEventListener.cpp
M src_moz/EmbedEventListener.h
- expose the mEventRegistration ivar via a getter.
M src_moz/EventRegistrationImpl.cpp
M src_moz/NativeBrowserControl.cpp
M src_moz/NativeBrowserControl.h
- add nativeSetNewWindowListenerAttached(), which calls through and sets
it on the NativeBrowserControl.
M src_moz/WindowCreator.cpp
- implement CreateChromeWindow2, which is called when the browser needs
a new window.
M src_share/jni_util.cpp
M src_share/jni_util.h
- change util_SendEventToJava() to return int.
M test/automated/src/classes/org/mozilla/webclient/WindowCreatorTest.java
git-svn-id: svn://10.0.0.236/trunk@167943 18797224-902f-48f8-a5cc-f745e15eee43
NewWindowListener mechanism. Next step will be to continue to try to
get it working.
A test/automated/src/classes/org/mozilla/webclient/WindowCreatorTest.java
A test/automated/src/test/WindowCreatorTest0.html
A test/automated/src/test/WindowCreatorTest1.html
- new test, currently fails.
M build-tests.xml
- add new test, non-running
M classes_spec/org/mozilla/webclient/impl/wrapper_native/EventRegistrationImpl.java
- prep for NewWindowListener
M src_moz/WindowCreator.cpp
- sketch implementation plan. In WindowCreator.CreateChromeWindow2:
+ /*
+ Block this thread.
+
+ Call back into java and ask the user to create a top level
+ window and hand it, or an added child of it, to us. Call this
+ thing the userWindow.
+
+ Create a new BrowserControl, get its BrowserControlCanvas and
+ make it be a child of the userWindow.
+
+ Set the userWindow and the BrowserControlCanvas to visible ==
+ true. This is necessary to get the cause the underlying
+ mozilla window to be created.
+
+ java returns the C++ nativeBrowserControl to us. Cast it to a
+ native NativeBrowserControl C++ object instance. If the
+ nsIURI is non-null, cause the new window to navigate to that
+ URI. Return the NativeBrowserControl's EmbedWindow instance,
+ which is an impl of nsIWebBrowserChrome.
+
+ I'm not sure if it's safe to do all this on the same thread on
+ which mozilla calls us. I hope so.
+ */
git-svn-id: svn://10.0.0.236/trunk@167522 18797224-902f-48f8-a5cc-f745e15eee43
between mozilla concepts and java concepts wrong before. The correct
mapping is:
Mozilla concept Java concept
KeyDown keyPressed
KeyUp keyReleased
KeyPress keyTyped
KeyCode keyCode
CharCode keyChar
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/EventRegistrationImpl.java
- Force the keyCode to be VK_UNDEFINED if this is a KEY_TYPED event.
- For security, log any exceptions thrown during ctor of KeyEvent.
M webclient/src_moz/EmbedEventListener.cpp
- remove unused automatic vars.
M webclient/src_moz/NavigationImpl.cpp
- roll back change done by Brian Ryner, since it doesn't make sense
under mozilla 1.7.
M webclient/src_share/jni_util.cpp
- reverse mapping of CHAR_CODE and KEY_CODE to their java counterparts.
M webclient/test/automated/src/classes/org/mozilla/webclient/KeyListenerTest.java
- Add in some code to make it easier to run this testcase in a manual
fashion.
git-svn-id: svn://10.0.0.236/trunk@166056 18797224-902f-48f8-a5cc-f745e15eee43
A webclient/test/automated/src/classes/org/mozilla/webclient/KeyListenerTest.java
A webclient/test/automated/src/test/KeyListenerTest1.html
M webclient/build-tests.xml
- add new testcase
M webclient/classes_spec/org/mozilla/webclient/BrowserControlCanvas.java
M webclient/classes_spec/org/mozilla/webclient/EventRegistration2.java
- allow KeyListeners to be added and removed.
M webclient/classes_spec/org/mozilla/webclient/impl/wrapper_native/EventRegistrationImpl.java
- Lazily create listener lists.
- Change the contract of queueEvent() to discard null events silently.
- Add createKeyEvent() method.
M webclient/src_moz/EmbedEventListener.cpp
- new mask names and values, DOMDOMKeyListener_maskNames,
DOMKeyListener_maskValues.
- flesh out Key*() events.
- add addKeyEventDataToProperties.
- use eventType to discern how to populate the properties, with either key or
mouse data.
M webclient/src_moz/EmbedEventListener.h
- key event includes and support methods.
M webclient/src_moz/EmbedProgress.cpp
- honor new last argument to util_InitializeEventMaskValuesFromClass().
M webclient/src_share/jni_util.cpp
M webclient/src_share/jni_util.h
- new constants
+jobject CHAR_CODE;
+jobject KEY_CODE;
+jstring KEY_LISTENER_CLASSNAME;
+char *DOMKeyListener_maskNames[] = {
M webclient/src_share/jni_util_export.cpp
M webclient/src_share/jni_util_export.h
- new last argument to
util_InitializeEventMaskValuesFromClass(const char *className,
char *maskNames[],
- jlong maskValues[])
+ jlong maskValuesLong[],
+ jint maskValuesInt[])
Used when the maskValues are ints, otherwise null.
git-svn-id: svn://10.0.0.236/trunk@166003 18797224-902f-48f8-a5cc-f745e15eee43
keyboard controls on the embedded browser. Next step is to re-activate
the keyboard listener features.
M webclient/src_moz/EmbedProgress.cpp
- call TopLevelFocusIn to make sure we get the input focus
M webclient/src_moz/NativeBrowserControl.cpp
M webclient/src_moz/NativeBrowserControl.h
- copy TopLevelFocus{In,Out}() from EmbedPrivate.
git-svn-id: svn://10.0.0.236/trunk@165083 18797224-902f-48f8-a5cc-f745e15eee43
run webclient at the same time mozilla was running. It does this by
introducing a new startup command, which must be called before the first
call to BrowserControlFactory.setAppData(), like this:
BrowserControlFactory.setProfile(startupProfile);
BrowserControlFactory.setAppData(getBrowserBinDir());
This will cause the startupProfile to be created (if necessary) and used
as webclient's mozilla profile. If not specified, a "webclient" profile
is created and used. This profile sticks around on your system.
SECTION: CHANGES
M classes_spec/org/mozilla/webclient/BrowserControlFactory.java
M classes_spec/org/mozilla/webclient/WebclientFactory.java
M classes_spec/org/mozilla/webclient/impl/WebclientFactoryImpl.java
- add setProfile().
M classes_spec/org/mozilla/webclient/impl/WrapperFactory.java
M classes_spec/org/mozilla/webclient/impl/wrapper_native/WrapperFactoryImpl.java
- add setProfile() and getProfile().
M classes_spec/org/mozilla/webclient/impl/wrapper_native/ProfileManagerImpl.java
- pass the wrapperFactory's profile property to the nativeStartup().
M src_moz/ProfileManagerImpl.cpp
- logic to implement above changes
M test/automated/src/classes/org/mozilla/webclient/ProfileManagerTest.java
- test that the startupProfile feature works.
git-svn-id: svn://10.0.0.236/trunk@164983 18797224-902f-48f8-a5cc-f745e15eee43