6 Commits

Author SHA1 Message Date
edburns%acm.org
12d6fd624e This checkin is the start of work for the Http header access feature.
Currently, I'm trying to discover what is the best way to expose this
API in documents that include frames.

I think I'll need more than those two new methods on CurrentPage2.  I'll
probably have some way to get a list of all URLs that comprise the
frameset, including nested framesets.  It's true that you could use the
DOM to derive this, but that's very complicated.  I need something more
lightweight.  In the meantime, I'll check in what I have.

M build-tests.xml

- add commented out CurrentPageTest

M build.xml

- add clean.test target

M classes_spec/org/mozilla/webclient/CurrentPage2.java
M classes_spec/org/mozilla/webclient/impl/wrapper_native/CurrentPageImpl.java

- new methods and no-op impls, so test-first test fails.

+    public Map getRequestHeaders();
+
+    public Map getResponseHeaders();

M classes_spec/org/mozilla/webclient/impl/wrapper_native/EventRegistrationImpl.java

- swallow exceptions thrown by listeners.

M src_moz/EmbedProgress.cpp

- test for existence of httpChannel, so we can visit the headers

M test/automated/src/classes/org/mozilla/util/THTTPD.java

- return a "Server: " header that I can test in the testcase.

M test/automated/src/classes/org/mozilla/webclient/DocumentLoadListenerImpl.java

- add doStartCheck() method.

M test/automated/src/classes/org/mozilla/webclient/NavigationTest.java
M test/automated/src/classes/org/mozilla/webclient/WebclientTestCase.java

- push THTTPD stuff to superclass.

A test/automated/src/classes/org/mozilla/webclient/NavigationTest.java

- new testcase, fails.


git-svn-id: svn://10.0.0.236/trunk@161722 18797224-902f-48f8-a5cc-f745e15eee43
2004-09-03 19:04:22 +00:00
edburns%acm.org
3fd0db98ed Thanks again to Michael Klepikov for these fixes.
M dom/jni/org_mozilla_dom_NodeImpl.cpp

- code around the absence of LowerCaseEqualsLiteral in nsTAString.h.
  I'm surprised the unit tests worked for me all aloung though.

M webclient/build.xml

- make run.test.browser depend on "main"

M webclient/src_moz/EmbedProgress.cpp

- deal with null URL passed to ::OnStateChange

M webclient/src_moz/HistoryImpl.cpp

- Don't cast to PRBool* when you don't need to.

M webclient/test/manual/src/classes/org/mozilla/webclient/test/TestBrowser.java

- don't swallow the exception from setAppData().


git-svn-id: svn://10.0.0.236/trunk@160299 18797224-902f-48f8-a5cc-f745e15eee43
2004-08-03 17:16:57 +00:00
edburns%acm.org
676efc167a M classes_spec/org/mozilla/webclient/impl/wrapper_native/EventRegistrationImpl.java
- Major enhancement of this class.  Framework for all
  WebclientEventListener subclasses now in place.  This includes a
  separate Theard event queue to send events from mozilla to java so
  that the listener can call back into webclient without fear of
  deadlock.  I had to use semaphores!  Thank you Michael Faiman
  <http://www.cs.uiuc.edu/people/faculty/faiman2.html> who taught my
  operating systems class where I learned semaphores.

M classes_spec/org/mozilla/webclient/impl/wrapper_native/NativeEventThread.java

- use notifyAll() instead of notify, for best practice.

M src_moz/EmbedProgress.cpp

- flesh out rest of DocumentLoadListener code.

M test/automated/src/classes/org/mozilla/webclient/NavigationTest.java

- comment out code because I can't seem to get the END_DOCUMENT_LOAD
  event to come from mozilla on the LoadFromStream case.  Top men are
  working on it.

Next step is to uncomment the rest of NavigationTest.


git-svn-id: svn://10.0.0.236/trunk@157843 18797224-902f-48f8-a5cc-f745e15eee43
2004-06-14 01:44:33 +00:00
edburns%acm.org
cf2ea3a91d This checkin enables the StartDocumentLoadEvent. Now adding the rest of
the DocumentLoadListener events will be trivial.

Next step: flesh out the rest of the DocumentLoadListener events.
Modify NavigationTest so that it does its selection checking inside the
listeners.  This will probably require creating a Thread, managed by
EventRegistrationImpl, that is used to process callbacks from mozilla
into Java, so that we don't get deadlock.

M classes_spec/org/mozilla/webclient/impl/wrapper_native/EventRegistrationImpl.java

- remove all dependencies on NativeEventThread

- introduce dependency on BrowserControlCanvas (needed for future
  MouseListener) work.

- {add,remove}DocumentLoadListener() now just a matter of
  adding/removing to List.

- add nativeEventOccurred() method, called from native code

M classes_spec/org/mozilla/webclient/impl/wrapper_native/NativeEventThread.java

- remove dependency on BrowserControlCanvas

- removed nativeEventOccurred

M src_moz/EmbedProgress.cpp

- delete the global ref in the dtor.

- create the global ref in SetEventRegistration().

- call back to Java on startDocumentLoad.

M src_moz/NativeBrowserControl.cpp

- initialize our string constants.

M src_share/jni_util.cpp
M src_share/jni_util.h

- alter the signature of util_SendEventToJava

-void util_SendEventToJava(JNIEnv *yourEnv, jobject nativeEventThread,
-                          jobject webclientEventListener,
+void util_SendEventToJava(JNIEnv *yourEnv, jobject eventRegistrationImpl,
                           jstring eventListenerClassName,
                           jlong eventType, jobject eventData)

M test/automated/src/classes/org/mozilla/webclient/NavigationTest.java

- show that the DocumentLoadListener gets called.


git-svn-id: svn://10.0.0.236/trunk@157818 18797224-902f-48f8-a5cc-f745e15eee43
2004-06-12 05:46:48 +00:00
edburns%acm.org
51c33f1e5a This checkin is the next step for getting DocumentLoadListener to work.
I now have the new architecture for pumping events from mozilla back
into java.  I've added a sequence diagram to
<http://www.mozilla.org/projects/blackwood/webclient/design/20040306-webclient-2_0.zargo>
and updated the private API class diagram.

The next step will be to have the EmbedProgress::On* methods call back
to EventRegistration.nativeEventOccured.

M src_moz/EmbedProgress.cpp
M src_moz/EmbedProgress.h

- make this class maintain a reference to the java EventRegistration
  instance for this BrowserControl

M src_moz/NativeBrowserControl.cpp
M src_moz/NativeBrowserControl.h

- make this class maintain a reference to the java BrowserControl instance.

M src_moz/WindowControlImpl.cpp

- push the java BrowserControl to the NativeBrowserControl on Realize().

M src_moz/WrapperFactoryImpl.cpp
M src_moz/ns_globals.h

- expose gImplementedInterfaces in ns_globals.h


git-svn-id: svn://10.0.0.236/trunk@157781 18797224-902f-48f8-a5cc-f745e15eee43
2004-06-11 15:55:48 +00:00
edburns%acm.org
0f7d3eab20 This checkin is the first step to making DocumentLoadListener work
again.  It provides the native class that implements
nsIWebProgressListener, which I've copied form gtk_moz_embed, so it's
gotta be good.  The next step will be to hook this up to the java side.

A src_moz/EmbedProgress.h
A src_moz/EmbedProgress.cpp

- mostly copied from GTKMOZEMBED

M classes_spec/org/mozilla/webclient/impl/wrapper_native/NativeEventThread.java

- remove javadoc reference to non-existing method

M src_moz/EmbedWindow.cpp
M src_moz/EmbedWindow.h

- expose AddWebBrowserListener method.

M src_moz/InputStreamShim.cpp

- make FileInputStream testcase run

M src_moz/Makefile.in
M src_moz/NativeBrowserControl.cpp
M src_moz/NativeBrowserControl.h

- add EmbedProgress

M test/automated/src/classes/org/mozilla/webclient/NavigationTest.java

- Make this test run


git-svn-id: svn://10.0.0.236/trunk@157716 18797224-902f-48f8-a5cc-f745e15eee43
2004-06-10 16:30:00 +00:00