file:/// and LoadFromStream cases. There were some problems:
1. RandomHTMLInputStream was never returning -1 from available, even
when there was no more data to be read.
2. the available ivars in InputStreamShim were PRUint32, and needed to
be PRInt32 to accomodate the -1.
3. InputStreamShim wasn't looking for the -1 from java, and it was
incorrectly returning NS_ERROR_NOT_AVAILABLE in that case, when it
should have been returning NS_OK if there was more data for Mozilla.
4. The testcase had a deadlock: it tried to remove the
DocumentLoadListener from the DocumentLoadListener callback. I had
to move this outside of the listener callback.
M src_moz/InputStreamShim.cpp
M src_moz/InputStreamShim.h
- make available be a signed int.
- correctly handle the case when java says, "no more data available".
M test/automated/src/classes/org/mozilla/webclient/NavigationTest.java
- avoid deadlock by moving the call to removeDocumentLoadListener()
outside of the listener itself.
M test/automated/src/classes/org/mozilla/webclient/RandomHTMLInputStream.java
- make sure to return -1 from available() when we have no more data.
git-svn-id: svn://10.0.0.236/trunk@157855 18797224-902f-48f8-a5cc-f745e15eee43
version 1.9 of InputStreamShim.cpp didn't correctly implement
QueryInterface. Fixing that allowed me to discover that the system
wants to call ::ReadSegments, so I had to implement that. Now the
RandomHTMLInputStream case works, but the garden variety FileInputStream
case does not. Since the FileInputStream case is generally easier to
debug, I'll check in what I have now and continue with this last case
tomorrow.
M src_moz/InputStreamShim.cpp
M src_moz/InputStreamShim.h
- made this correctly implement nsIAsyncInputStream.
M test/automated/src/classes/org/mozilla/webclient/NavigationTest.java
- comment out the FileInputStream case.
git-svn-id: svn://10.0.0.236/trunk@157361 18797224-902f-48f8-a5cc-f745e15eee43
- comment in all tests
M classes_spec/org/mozilla/webclient/Navigation2.java
M classes_spec/org/mozilla/webclient/impl/wrapper_native/NavigationImpl.java
- add loadFromStreamBlocking, until we have DocumentLoadListener working
M src_moz/InputStreamShim.cpp
M src_moz/InputStreamShim.h
- rollback the nsIAsyncInputStream changes.
M test/automated/src/classes/org/mozilla/webclient/NavigationTest.java
- test from a FileInputStream
M test/automated/src/classes/org/mozilla/webclient/RandomHTMLInputStream.java
- Allow notification when read completes.
git-svn-id: svn://10.0.0.236/trunk@157311 18797224-902f-48f8-a5cc-f745e15eee43