The main bug fixed here is that in half of our interfaces, we use "is browser frame/element" to mean "browser or app", and in the other half, we use it to mean "is browser not app".
There's a related, functional bug also fixed here, which is that a browser process doesn't inherit its parent's app-id. This causes problems e.g. for IndexedDB: If a browser inside an app uses IndexedDB, the DB should have the app's app-id.
I also modified Tab{Parent,Child} and nsFrameLoader to call "app" "ownOrContainingApp", to emphasize that we might have inherited the app from a parent process. I left nsIDocShell::appId alone, because changing that would have necessitated changing nsILoadGroup and therefore a /lot/ of users in Necko; it's also not clear it would have clarified anything in those cases.
The main bug fixed here is that in half of our interfaces, we use "is browser frame/element" to mean "browser or app", and in the other half, we use it to mean "is browser not app".
There's a related, functional bug also fixed here, which is that a browser process doesn't inherit its parent's app-id. This causes problems e.g. for IndexedDB: If a browser inside an app uses IndexedDB, the DB should have the app's app-id.
I also modified Tab{Parent,Child} and nsFrameLoader to call "app" "ownOrContainingApp", to emphasize that we might have inherited the app from a parent process. I left nsIDocShell::appId alone, because changing that would have necessitated changing nsILoadGroup and therefore a /lot/ of users in Necko; it's also not clear it would have clarified anything in those cases.
The main bug fixed here is that in half of our interfaces, we use "is browser frame/element" to mean "browser or app", and in the other half, we use it to mean "is browser not app".
There's a related, functional bug also fixed here, which is that a browser process doesn't inherit its parent's app-id. This causes problems e.g. for IndexedDB: If a browser inside an app uses IndexedDB, the DB should have the app's app-id.
I also modified Tab{Parent,Child} and nsFrameLoader to call "app" "ownOrContainingApp", to emphasize that we might have inherited the app from a parent process. I left nsIDocShell::appId alone, because changing that would have necessitated changing nsILoadGroup and therefore a /lot/ of users in Necko; it's also not clear it would have clarified anything in those cases.
(Re-landing changeset a6a847452dbf, backed out in 5091aa6083c4, because it was originally landed with the incorrect bug number.)
The main bug fixed here is that in half of our interfaces, we use "is browser frame/element" to mean "browser or app", and in the other half, we use it to mean "is browser not app".
There's a related, functional bug also fixed here, which is that a browser process doesn't inherit its parent's app-id. This causes problems e.g. for IndexedDB: If a browser inside an app uses IndexedDB, the DB should have the app's app-id.
I also modified Tab{Parent,Child} and nsFrameLoader to call "app" "ownOrContainingApp", to emphasize that we might have inherited the app from a parent process. I left nsIDocShell::appId alone, because changing that would have necessitated changing nsILoadGroup and therefore a /lot/ of users in Necko; it's also not clear it would have clarified anything in those cases.
--HG--
extra : rebase_source : f3ef9475e21204da10bf39c6cca506bc08096949
This removes supportImageWithMimeType from the idl and makes all the
callers call the static function directly. To do this we also need
to export imgLoader.h and imgRequest.h.
---
content/base/src/nsObjectLoadingContent.cpp | 9 ++-------
docshell/base/nsWebNavigationInfo.cpp | 8 +++++---
docshell/base/nsWebNavigationInfo.h | 5 -----
image/public/imgILoader.idl | 9 +--------
image/src/Makefile.in | 4 ++++
image/src/imgLoader.cpp | 2 +-
image/src/imgLoader.h | 1 +
layout/build/nsContentDLF.cpp | 5 ++---
8 files changed, 16 insertions(+), 27 deletions(-)
These are the manual fixes that the ensuing auto-generation can't deal with. Some of them
just fix up formatting (such as Components.\nFoo, so that subsequent auto-generation can
work better).
This is probably the worst patch that I have ever written!
We add a setPrivate method to nsIPrivateBrowsingChannel which will be
implemented by channels who care about private browsing. This allows the
client to explicitly override the private bit on the channel.
NS_UsePrivateBrowsing is also taught about this override bit using the
internal nsIPrivateBrowsingChannel::IsPrivateModeOverriden API. This patch
implements the new API for HTTP, FTP and wyciwyg channels. This also
modifies the IPC implementations of these channels to correctly transfer that
bit to the parent process if it has been set in the child process channel.
This makes our builds a bit more reproducible. Without it when processing
#include "IPC/IPCMessageUtils.h
we end up in
#include "ShadowLayers.h"
which in the final XUL translates into the symbol (run nm -a to see it):
- 00 0000 SOL ../../../../gfx/layers/IPC/ShadowLayers.h
now when some file in gfx/layers/ipc does
#include "ShadowLayres.h"
the file found is the local one with the lowercase directory name and we end up
with
- 00 0000 SOL ../../../../gfx/layers/ipc/ShadowLayers.h
--HG--
extra : rebase_source : 96c68f6a3448eedaa280039960df911a9c707cac