42 Commits

Author SHA1 Message Date
darin%netscape.com
8defbf5d26 b=128508 "freeze nsIChannel nsIRequest" r=gagan, sr=rpotts, a=asa
git-svn-id: svn://10.0.0.236/trunk@117002 18797224-902f-48f8-a5cc-f745e15eee43
2002-03-20 22:50:33 +00:00
dougt%netscape.com
5aa996cd82 Fixes 127918. Mime Service was being accessed from a non-ui thread. This causes all kinds of problems. Found that content type is not needed while opening most stream io's. Removes content type result from nsIStreamIO::Open(). Added atrribute content type nsIStreamIO. Fixes callers. r=gordon@netscape.com, sr=darin@netscape.com, a=asa@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@116447 18797224-902f-48f8-a5cc-f745e15eee43
2002-03-13 00:34:54 +00:00
darin%netscape.com
04849998e1 fixes bug 124042 "support internationalized URIs" r=dougt, sr=alecf, a=asa
git-svn-id: svn://10.0.0.236/trunk@115936 18797224-902f-48f8-a5cc-f745e15eee43
2002-03-06 07:48:55 +00:00
darin%netscape.com
96f22b6c0c fixes bug 115222 "jar protocol handler should be cached in the io service"
r=dp, sr=mscott


git-svn-id: svn://10.0.0.236/trunk@110851 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-20 03:46:21 +00:00
dougt%netscape.com
16e560771a fixed bug 112345. JAR Channel does not cache mime service. r=neeti@netscape.com, sr=darin@netscape.com
git-svn-id: svn://10.0.0.236/trunk@109249 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-29 22:29:00 +00:00
gerv%gerv.net
13afb6d0f9 Relicensing Round 1, Take 2. Most C-like NPL files -> NPL/GPL/LGPL. Bug 98089.
git-svn-id: svn://10.0.0.236/trunk@104119 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-28 20:14:13 +00:00
darin%netscape.com
d9914fb477 fixes bug 99183 "JAR channel allocates and uses a monitor even though it is
accessed exclusively by the UI thread" r=dougt, sr=mscott


git-svn-id: svn://10.0.0.236/trunk@103124 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-18 23:07:57 +00:00
valeski%netscape.com
8db35965a8 r=dbaron, sr=dougt. 97667. nsIInterfaceRequestor is now frozen. nsIInterfaceRequestorUtils.h is now required if you want to use do_GetInterface() for convenience. The two were split because the stuff that is now in nsIInterfaceRequestorUtils.h wasn't ready for freezing. Also, .idl files should just contain interface defs anyway.
git-svn-id: svn://10.0.0.236/trunk@102327 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-05 21:28:38 +00:00
brendan%mozilla.org
6abf5e7f73 Bit checkin for bug 68045, r/sr=waterson&shaver, second attempt. It all works
for me on optimized and debug gcc2.96, rh7.1.

- Better failure codes from nsXULPrototypeScript::Deserialize.

- Call nsXULDocument::AbortFastLoads after nsXULPrototypeScript::Serialize
  failure, instead of just nulling the FastLoad service's output stream.

- Expose nsXULDocument::AbortFastLoads via nsIXULPrototypeCache, for use from
  nsChromeProtocolHandler.cpp.  AbortFastLoads flushes the XUL cache now, for
  good measure.

- The needless "Current" adjective in nsIFastLoadService attribute and method
  names is no more.

- Add a do_GetFastLoadService() helper, to use CID instead of contractid, and
  to let the compiler consolidate the static inline CID.

- Add "nglayout.debug.checksum_xul_fastload_file" pref so people can do without
  the checksum verification step when reading a FastLoad file.

- Verify the FastLoad file checksum, by default.  Also, cache it in the FastLoad
  service so we don't recompute it when re-opening the FastLoad file as mailnews
  and other top-levels start up.  Fill the checksum cache in EndFastLoad, when
  the last pseudo-concurrent top-level finishes loading.

  My hope to compute the checksum while writing the FastLoad file ran afoul of
  misordered writes.  The old code to checksum the in-memory nsFastLoadHeader
  also was broken on little endian platforms.  Now all checksumming is done via
  a separate read pass over the complete file, save for the header's checksum
  field, which is summed as if it contained zero.

- Track and check FastLoad file dependencies.  This required groveling with a
  bunch of Necko interfaces in nsChromeProtocolHandler::NewChannel -- read it
  and weep.  Dependency checking, as well as checksum access and computation,
  use better-factored nsIFastLoad{File,Read,Write}Control interfaces.

- nsBufferedStream::Seek wasn't flushing the buffer when seeking backward
  within the buffer, but it must, because mCursor bounds the amount to write
  if the buffer contains the end of file.

- Add an unbufferedStream readonly attribute to nsIStreamBufferAccess, so we
  don't have to screw around with the bufferying layer when checksumming. Also
  implement nsIStreamBufferAccess in nsBufferedOutputStream.

- nsISeekableOutputStream was bogus, based on a bad state I had put the
  nsBufferedOutputStream code in on its way from being completely broken when
  you seek backwards outside of the buffer.  Removing this interface required
  using nsIFastLoadFileIO in nsFastLoadFileWriter, and it also required careful
  ordering of Close calls (the Reader must close after the Writer or Updater,
  so that the Reader's underlying, unbuffered input stream can be read by
  nsFastLoadFileWriter::Close to compute the checksum.

- Miscellaneous tab/indentation, comment typo, bracing, if( => if ( style,
  nsnull vs. 0, useless variable elimination, tortured control flow,
  AutoString instead of String, and gratuitous ; after nsISupportsUtils.h
  macro call cleanups.


git-svn-id: svn://10.0.0.236/trunk@101544 18797224-902f-48f8-a5cc-f745e15eee43
2001-08-21 20:51:34 +00:00
blizzard%redhat.com
ac9d1a4c2e Back out brendan's checkin to try and get linux starting up again.
git-svn-id: svn://10.0.0.236/trunk@101334 18797224-902f-48f8-a5cc-f745e15eee43
2001-08-17 19:45:11 +00:00
brendan%mozilla.org
cad980f881 - Better failure codes from nsXULPrototypeScript::Deserialize.
- Call nsXULDocument::AbortFastLoads after nsXULPrototypeScript::Serialize
  failure, instead of just nulling the FastLoad service's output stream.

- Expose nsXULDocument::AbortFastLoads via nsIXULPrototypeCache, for use from
  nsChromeProtocolHandler.cpp.  AbortFastLoads flushes the XUL cache now, for
  good measure.

- The needless "Current" adjective in nsIFastLoadService attribute and method
  names is no more.

- Add a do_GetFastLoadService() helper, to use CID instead of contractid, and
  to let the compiler consolidate the static inline CID.

- Add "nglayout.debug.checksum_xul_fastload_file" pref so people can do without
  the checksum verification step when reading a FastLoad file.

- Verify the FastLoad file checksum, by default.  Also, cache it in the FastLoad
  service so we don't recompute it when re-opening the FastLoad file as mailnews
  and other top-levels start up.  Fill the checksum cache in EndFastLoad, when
  the last pseudo-concurrent top-level finishes loading.

  My hope to compute the checksum while writing the FastLoad file ran afoul of
  misordered writes.  The old code to checksum the in-memory nsFastLoadHeader
  also was broken on little endian platforms.  Now all checksumming is done via
  a separate read pass over the complete file, save for the header's checksum
  field, which is summed as if it contained zero.

- Track and check FastLoad file dependencies.  This required groveling with a
  bunch of Necko interfaces in nsChromeProtocolHandler::NewChannel -- read it
  and weep.  Dependency checking, as well as checksum access and computation,
  use better-factored nsIFastLoad{File,Read,Write}Control interfaces.

- nsBufferedStream::Seek wasn't flushing the buffer when seeking backward
  within the buffer, but it must, because mCursor bounds the amount to write
  if the buffer contains the end of file.

- Add an unbufferedStream readonly attribute to nsIStreamBufferAccess, so we
  don't have to screw around with the bufferying layer when checksumming. Also
  implement nsIStreamBufferAccess in nsBufferedOutputStream.

- nsISeekableOutputStream was bogus, based on a bad state I had put the
  nsBufferedOutputStream code in on its way from being completely broken when
  you seek backwards outside of the buffer.  Removing this interface required
  using nsIFastLoadFileIO in nsFastLoadFileWriter, and it also required careful
  ordering of Close calls (the Writer or Updater must close after the Reader,
  so that the Reader's underlying, unbuffered input stream can be read by
  nsFastLoadFileWriter::Close to compute the checksum.

- Miscellaneous tab/indentation, comment typo, bracing, if( => if ( style,
  nsnull vs. 0, useless variable elimination, tortured control flow,
  AutoString instead of String, and gratuitous ; after nsISupportsUtils.h
  macro call cleanups.


git-svn-id: svn://10.0.0.236/trunk@101289 18797224-902f-48f8-a5cc-f745e15eee43
2001-08-17 09:52:55 +00:00
darin%netscape.com
9d03c579d0 Necko API changes, bug 74221. r=valeski, sr=rpotts.
git-svn-id: svn://10.0.0.236/trunk@91842 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 06:01:08 +00:00
dougt%netscape.com
175245e2de Relanding Necko Changes.
Revising nsIChannel to allow for overlapped i/o. This consists of three parts:

1. Factoring nsIChannel into a protocol specific part, the nsIChannel, and a socket specific, the nsITransport.
2. Derive the nsIChannel from a nsIRequest.
2. Changes the notification system from necko and the URILoader to pass the nsIRequest interface instead of nsIChannel interface.

This goal stems from wanting to be able to have active AsyncRead and AsyncWrite operations on nsSocketTransport.
This is desired because it would greatly simplify the task of maintaining persistent/reusable socket connections
for FTP, HTTP, and Imap (and potentially other protocols). The problem with the existing nsIChannel interface is
that it does not allow one to selectively suspend just one of the read or write operations while keeping the other active.

r=darin@netscape.com
sr=rpotts@netscape.com


git-svn-id: svn://10.0.0.236/trunk@87587 18797224-902f-48f8-a5cc-f745e15eee43
2001-02-21 20:38:08 +00:00
disttsc%bart.nl
03f69c5003 Back out dougt's channel changes
git-svn-id: svn://10.0.0.236/trunk@86793 18797224-902f-48f8-a5cc-f745e15eee43
2001-02-12 03:14:23 +00:00
dougt%netscape.com
7af79c83df Revising nsIChannel to allow for overlapped i/o. This consists of three parts:
1. Factoring nsIChannel into a protocol specific part, the nsIChannel, and a socket specific, the nsITransport.
2. Derive the nsIChannel from a nsIRequest.
2. Changes the notification system from necko and the URILoader to pass the nsIRequest interface instead of nsIChannel interface.

This goal stems from wanting to be able to have active AsyncRead and AsyncWrite operations on nsSocketTransport.
This is desired because it would greatly simplify the task of maintaining persistent/reusable socket connections
for FTP, HTTP, and Imap (and potentially other protocols).  The problem with the existing nsIChannel interface is
that it does not allow one to selectively suspend just one of the read or write operations while keeping the other active.

The full details of the change on written up in the netlib newsgroup.

r=darin@netscape.com
sr=rpotts@netscape.com


git-svn-id: svn://10.0.0.236/trunk@86717 18797224-902f-48f8-a5cc-f745e15eee43
2001-02-10 00:16:26 +00:00
mstoltz%netscape.com
eddbf0c4fe bug 24765, hooking up necko file cache to jar protocol. Hopefully without leaks this time. Also fixed leak in nsJARURI. r=beard, warren
git-svn-id: svn://10.0.0.236/trunk@79857 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-22 06:21:18 +00:00
warren%netscape.com
60fc4becf1 Backing out jar protocol change because it introduced a big memory leak on tinderbox test. a=jag
git-svn-id: svn://10.0.0.236/trunk@79752 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-21 08:26:07 +00:00
mstoltz%netscape.com
2767b34064 Final (I hope) fix for 24765, using Necko file cache for the jar protocol. r=beard, a=warren.
git-svn-id: svn://10.0.0.236/trunk@79711 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-21 05:01:16 +00:00
warren%netscape.com
0bccd6825d Backing mstoltz out to get things back up and running with jar packaging. Also, I don't approve of the changes made to nsJARURI.cpp
git-svn-id: svn://10.0.0.236/trunk@79409 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-18 02:18:00 +00:00
mstoltz%netscape.com
6191db92e2 Fix for bugs 24765, 49288. Using Necko file cache for the jar protocol. r=beard, a=warren.
git-svn-id: svn://10.0.0.236/trunk@79353 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-15 19:27:05 +00:00
warren%netscape.com
b92b57f7ad Fixing up GetOwner method to not crash on startup.
git-svn-id: svn://10.0.0.236/trunk@77066 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-24 07:36:53 +00:00
warren%netscape.com
77c67afe23 Bug 24764. Cache of opened jar files. r=waterson
git-svn-id: svn://10.0.0.236/trunk@70828 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-25 08:32:09 +00:00
warren%netscape.com
7cefc01f95 Factoring stream i/o operations into nsIStreamIO interface.
git-svn-id: svn://10.0.0.236/trunk@65799 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-13 09:20:50 +00:00
warren%netscape.com
22161b7197 Added nsIZipReaderCache. Removed nsIZipReader::ParseManifest. Got jar: protocol going for downloaded jars and input streams. Added assertions that Cancel is called with a failure code.
git-svn-id: svn://10.0.0.236/trunk@65680 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-12 07:58:24 +00:00
warren%netscape.com
e8a3ec30ae Making jar: protocol work in general, and OpenInputStream in particular.
git-svn-id: svn://10.0.0.236/trunk@64583 18797224-902f-48f8-a5cc-f745e15eee43
2000-03-30 07:39:31 +00:00
warren%netscape.com
9fa657f1cd Necko API changes: primarily nsIChannel, changing initialization parameters to accessors. Got javascript: evaluation to happen at the right time (when AsyncRead is called) as well as on the right thread.
git-svn-id: svn://10.0.0.236/trunk@64449 18797224-902f-48f8-a5cc-f745e15eee43
2000-03-29 03:58:50 +00:00
norris%netscape.com
dfa2be9fb0 Added aggregate principal support. r=norris. (This is mstoltz's checkin)
git-svn-id: svn://10.0.0.236/trunk@63541 18797224-902f-48f8-a5cc-f745e15eee43
2000-03-21 04:17:37 +00:00
mstoltz%netscape.com
eb1d039627 Changed GetOwner() to read owner from underlying nsJAR rather than saving it locally. SetOwner() now does nothing. bug=7270 r=norris
git-svn-id: svn://10.0.0.236/trunk@60680 18797224-902f-48f8-a5cc-f745e15eee43
2000-02-14 01:59:09 +00:00
mstoltz%netscape.com
0bfd5a4808 Fixing hoarkage by adding an include statement. r=norris
git-svn-id: svn://10.0.0.236/trunk@59329 18797224-902f-48f8-a5cc-f745e15eee43
2000-02-01 00:35:46 +00:00
warren%netscape.com
1df8c04009 Fix for downloaded jar files, and for pulling jars out of the cache. r=mstoltz
git-svn-id: svn://10.0.0.236/trunk@59311 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-31 23:43:09 +00:00
dougt%netscape.com
714da09a59 Landing nsIFile.
git-svn-id: svn://10.0.0.236/trunk@58490 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-24 21:28:28 +00:00
warren%netscape.com
2a407c901f Added code to cancel/suspend/resume jar channels. Bug #24338
git-svn-id: svn://10.0.0.236/trunk@58460 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-24 03:54:20 +00:00
dougt%netscape.com
01f90e9260 Including nsFileSpec.h directly. This prep work for the nsIFile landing.
git-svn-id: svn://10.0.0.236/trunk@56685 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-03 23:28:35 +00:00
warren%netscape.com
c7d8a4a439 Added buffer size parameters to NewChannel. Allows for optimization of amount of image data consumed. Bug #20408
git-svn-id: svn://10.0.0.236/trunk@55285 18797224-902f-48f8-a5cc-f745e15eee43
1999-12-04 10:01:32 +00:00
warren%netscape.com
cb0dd060c7 Added nsIInterfaceRequestor.h to keep nsCOMPtr happy.
git-svn-id: svn://10.0.0.236/trunk@54403 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-24 08:31:06 +00:00
warren%netscape.com
af805ec2ae Added include for nsCOMPtr.
git-svn-id: svn://10.0.0.236/trunk@54401 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-24 07:40:54 +00:00
warren%netscape.com
cbcd671c5d Removed the nsICapabilities interface in favor of nsIInterfaceRequestor.
git-svn-id: svn://10.0.0.236/trunk@53856 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 07:36:41 +00:00
warren%netscape.com
d8627fe912 Necko API and implementation changes for retargeting. Needed for URL dispatching. r=mscott
git-svn-id: svn://10.0.0.236/trunk@53761 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 08:14:52 +00:00
warren%netscape.com
4695e1619c Libjar cleanup. Added Close method. Bug#18273. r=mstoltz,gayatrib,dveditz
git-svn-id: svn://10.0.0.236/trunk@53330 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 06:13:13 +00:00
warren%netscape.com
b0a33033b6 Got Gayatri's JAR protocol working. (not in build yet)
git-svn-id: svn://10.0.0.236/trunk@52933 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-07 21:55:12 +00:00
dmose%mozilla.org
92d791b7b0 updated license boilerplate to xPL 1.1, a=chofmann@netscape.com,r=endico@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@52908 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 03:40:37 +00:00
valeski%netscape.com
9dab851f4e NOT IN BUILD - adding boilerplate for jar protocol handler
git-svn-id: svn://10.0.0.236/trunk@47973 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-17 16:12:41 +00:00