gecko-dev/xpcom/io
Nika Layzell 4f556b1bea Bug 1748719 - Make nsStringInputStream more flexible as to the backing data buffer, r=mccr8
This change aims to make the way that the nsStringInputStream owns the backing
data buffer more flexible. This has a few impacts, including allowing
arbitrarily large payload sizes on 64-bit platforms, not requiring as complex
checks around borrowed string buffers or nsTArray data storage, and supporting
custom data ownership schemes such as those used by blobs.

The new system uses a separate refcounted object internally to provide the
contiguous backing buffer, with the nsStringInputStream wrapping it and
providing the `nsIInputStream` interface and cursor. This also avoids issues
around the buffer being mutated during reads, as mutating the `nsIInputStream`
no longer mutates the actual data storage object.

Differential Revision: https://phabricator.services.mozilla.com/D135162
2022-01-07 20:34:52 +00:00
..
Base64.cpp Bug 1679272 - Include ScopeExit.h exactly where used. r=andi 2020-12-07 14:25:59 +00:00
Base64.h Bug 1659923 - Avoid unnecessary copies around Base64Encode. r=xpcom-reviewers,necko-reviewers,froydnj,valentin 2020-08-19 17:45:16 +00:00
CocoaFileUtils.h
CocoaFileUtils.mm Bug 1697964 - Remove GetQuarantinePropKey(). r=mac-reviewers,tnikkel 2021-03-12 01:46:24 +00:00
FileDescriptorFile.cpp Bug 1735717 - Add a way for getting information about total disk space (disk capacity); r=dom-storage-reviewers,jari,xpcom-reviewers,nika 2021-12-08 14:41:38 +00:00
FileDescriptorFile.h
FilePreferences.cpp Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj 2020-07-01 08:29:29 +00:00
FilePreferences.h Bug 1634267 - DOS device paths shouldn't be blocked by IsBlockedUNCPath; r=dom-workers-and-storage-reviewers,janv,froydnj 2020-05-13 14:32:35 +00:00
FileUtilsWin.cpp Bug 1691589 - Reduce reliance on GeckoProfiler.h when only labels (and maybe markers) are needed - r=necko-reviewers,geckoview-reviewers,sg,agi,florian 2021-02-16 04:44:19 +00:00
FileUtilsWin.h Bug 1648010 - Remove NS_NAMED_LITERAL_CSTRING and NS_NAMED_LITERAL_STRING macros. r=froydnj 2020-07-01 08:42:31 +00:00
InputStreamLengthHelper.cpp Bug 1733308 - Fix non-unified builds errors in xpcom/io. r=xpcom-reviewers,mccr8 2021-10-01 01:49:18 +00:00
InputStreamLengthHelper.h
InputStreamLengthWrapper.cpp
InputStreamLengthWrapper.h
NonBlockingAsyncInputStream.cpp Bug 1746488: xpcom/io cleanup r=smaug 2022-01-04 14:21:56 +00:00
NonBlockingAsyncInputStream.h
SeekableStreamWrapper.cpp Bug 1733308 - Fix non-unified builds errors in xpcom/io. r=xpcom-reviewers,mccr8 2021-10-01 01:49:18 +00:00
SeekableStreamWrapper.h Bug 1681529 - Part 6: Introduce a SeekableStreamWrapper to make pipes seekable, r=baku 2021-02-04 18:13:09 +00:00
SlicedInputStream.cpp Bug 1625749 - Make sure SlicedInputStream initializes all its members. r=nika 2020-04-14 18:04:13 +00:00
SlicedInputStream.h
SnappyCompressOutputStream.cpp
SnappyCompressOutputStream.h
SnappyFrameUtils.cpp
SnappyFrameUtils.h
SnappyUncompressInputStream.cpp
SnappyUncompressInputStream.h
SpecialSystemDirectory.cpp Bug 1667872 - Fix GetWindowsFolder storage r=jmathies 2020-09-30 23:58:23 +00:00
SpecialSystemDirectory.h
StreamBufferSource.h Bug 1748719 - Make nsStringInputStream more flexible as to the backing data buffer, r=mccr8 2022-01-07 20:34:52 +00:00
components.conf Bug 1686616 - register all Services.py services with components.conf. r=kmag,necko-reviewers,valentin 2021-02-18 13:26:28 +00:00
crc32c.c
crc32c.h
moz.build Bug 1748719 - Make nsStringInputStream more flexible as to the backing data buffer, r=mccr8 2022-01-07 20:34:52 +00:00
nsAnonymousTemporaryFile.cpp Bug 1729285 - Observers used with NS_NewTimerWithObserver should implement nsINamed, r=smaug. 2021-09-07 08:01:19 +00:00
nsAnonymousTemporaryFile.h
nsAppDirectoryServiceDefs.h Bug 1682030 - Remove Windows NPAPI plugin proccess sandbox r=bobowen 2021-04-06 19:28:19 +00:00
nsAppFileLocationProvider.cpp Bug 1650145 - Replace all value uses of Empty[C]String by 0-length _ns literals. r=froydnj,geckoview-reviewers,agi 2020-09-23 15:17:15 +00:00
nsAppFileLocationProvider.h
nsBinaryStream.cpp Bug 1674777 part 7 - Change nsIBinaryInputStream.readArrayBuffer to use uint64_t instead of uint32_t. r=kmag 2021-02-10 08:30:05 +00:00
nsBinaryStream.h
nsDirectoryService.cpp Bug 1723445 - Use MOZ_ANDROID_LIBDIR in BinaryPath::Get instead of GRE_HOME. r=nika 2021-08-13 00:27:02 +00:00
nsDirectoryService.h
nsDirectoryServiceDefs.h Bug 1726732 Returning the code solving filename disclosure in tmp dir. r=emk,mtigley 2021-08-25 14:50:22 +00:00
nsDirectoryServiceUtils.h
nsEscape.cpp Bug 1737854 - macOS 'Share' menu modifies URL such that shared page doesn't load r=necko-reviewers,mstange,valentin 2021-11-10 19:32:53 +00:00
nsEscape.h Bug 1737854 - macOS 'Share' menu modifies URL such that shared page doesn't load r=necko-reviewers,mstange,valentin 2021-11-10 19:32:53 +00:00
nsIAsyncInputStream.idl Bug 1637742 - P1 - Protocol documentation now states no error should be returned if AsyncWait is called on closed stream r=baku 2020-06-02 11:09:47 +00:00
nsIAsyncOutputStream.idl
nsIBinaryInputStream.idl Bug 1674777 part 7 - Change nsIBinaryInputStream.readArrayBuffer to use uint64_t instead of uint32_t. r=kmag 2021-02-10 08:30:05 +00:00
nsIBinaryOutputStream.idl Bug 1539948, part 3 - Only allow nostdcall methods and attributes on builtinclass interfaces. r=nika 2020-12-09 02:41:19 +00:00
nsICloneableInputStream.idl Bug 1648141 - IPCBlobInputStream to RemoteLazyInputStream - part 6 - remoteLazyInputStream, r=smaug,necko-reviewers,dragana 2020-06-29 11:02:55 +00:00
nsIConverterInputStream.idl
nsIConverterOutputStream.idl
nsIDirectoryEnumerator.idl
nsIDirectoryService.idl
nsIFile.idl Bug 1735717 - Add a way for getting information about total disk space (disk capacity); r=dom-storage-reviewers,jari,xpcom-reviewers,nika 2021-12-08 14:41:38 +00:00
nsIIOUtil.idl
nsIInputStream.idl
nsIInputStreamLength.idl
nsIInputStreamPriority.idl
nsIInputStreamTee.idl
nsILineInputStream.idl
nsILocalFileMac.idl Bug 1736331 - Add nsILocalFileMac methods for interacting with extended attributes r=nika 2021-12-25 00:30:10 +00:00
nsILocalFileWin.idl Bug 1743404 - Provide {Get,Set}WindowsFileAttributes on nsILocalFileWin r=nika 2021-12-17 17:21:21 +00:00
nsIMultiplexInputStream.idl
nsIOUtil.cpp
nsIOUtil.h
nsIObjectInputStream.idl
nsIObjectOutputStream.idl
nsIOutputStream.idl
nsIPipe.idl
nsISafeOutputStream.idl
nsIScriptableBase64Encoder.idl
nsIScriptableInputStream.idl
nsISeekableStream.idl
nsIStorageStream.idl
nsIStreamBufferAccess.idl
nsIStringStream.idl Bug 1748719 - Make nsStringInputStream more flexible as to the backing data buffer, r=mccr8 2022-01-07 20:34:52 +00:00
nsITellableStream.idl
nsIUnicharInputStream.idl
nsIUnicharLineInputStream.idl
nsIUnicharOutputStream.idl
nsInputStreamTee.cpp
nsLinebreakConverter.cpp
nsLinebreakConverter.h
nsLocalFile.h Bug 1736331 - Add nsILocalFileMac methods for interacting with extended attributes r=nika 2021-12-25 00:30:10 +00:00
nsLocalFileCommon.cpp Bug 1731779 - r=dveditz,mtigley 2021-10-19 22:27:31 +00:00
nsLocalFileCommon.h Bug 1731779 - r=dveditz,mtigley 2021-10-19 22:27:31 +00:00
nsLocalFileUnix.cpp Bug 1736331 - Add nsILocalFileMac methods for interacting with extended attributes r=nika 2021-12-25 00:30:10 +00:00
nsLocalFileUnix.h Bug 1735717 - Add a way for getting information about total disk space (disk capacity); r=dom-storage-reviewers,jari,xpcom-reviewers,nika 2021-12-08 14:41:38 +00:00
nsLocalFileWin.cpp Bug 1746114 - Part1. Avoid delayloading shlwapi.dll in a sandboxed process. r=mhowell 2021-12-23 02:15:35 +00:00
nsLocalFileWin.h Bug 1679522 - Use <> style for including windows system headers. r=andi 2021-03-25 10:19:44 +00:00
nsMultiplexInputStream.cpp Bug 1746488: xpcom/io cleanup r=smaug 2022-01-04 14:21:56 +00:00
nsMultiplexInputStream.h
nsNativeCharsetUtils.cpp Bug 1664077 - Remove xpcom-private.h. r=sg 2020-09-15 14:53:10 +00:00
nsNativeCharsetUtils.h
nsPipe.h
nsPipe3.cpp Bug 1733729: Fix non-unified build bustage in xpcom directory. r=mccr8 2021-10-05 00:29:56 +00:00
nsScriptableBase64Encoder.cpp
nsScriptableBase64Encoder.h
nsScriptableInputStream.cpp
nsScriptableInputStream.h
nsSegmentedBuffer.cpp Bug 1733308 - Fix non-unified builds errors in xpcom/io. r=xpcom-reviewers,mccr8 2021-10-01 01:49:18 +00:00
nsSegmentedBuffer.h Bug 1733308 - Fix non-unified builds errors in xpcom/io. r=xpcom-reviewers,mccr8 2021-10-01 01:49:18 +00:00
nsStorageStream.cpp Bug 1733308 - Fix non-unified builds errors in xpcom/io. r=xpcom-reviewers,mccr8 2021-10-01 01:49:18 +00:00
nsStorageStream.h
nsStreamUtils.cpp Bug 1636823 - nsInputTransport must support blocking and async source - part 1 - Use NS_MakeAsyncNonBlockingInputStream, r=smaug,necko-reviewers,mayhemer 2020-06-12 22:48:07 +00:00
nsStreamUtils.h Bug 1636823 - nsInputTransport must support blocking and async source - part 1 - Use NS_MakeAsyncNonBlockingInputStream, r=smaug,necko-reviewers,mayhemer 2020-06-12 22:48:07 +00:00
nsStringStream.cpp Bug 1748719 - Make nsStringInputStream more flexible as to the backing data buffer, r=mccr8 2022-01-07 20:34:52 +00:00
nsStringStream.h Bug 1748719 - Make nsStringInputStream more flexible as to the backing data buffer, r=mccr8 2022-01-07 20:34:52 +00:00
nsUnicharInputStream.cpp Bug 1741665 - Align nsCString's public size_type better with other C++ APIs, r=mccr8,geckoview-reviewers,agi 2021-12-13 21:47:56 +00:00
nsUnicharInputStream.h
nsWildCard.cpp
nsWildCard.h