зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1469993 - Grant storage access to a 3rd party, tracking resource if a opened document has user-interaction - part 9 - fix a include issue related to window.h, r=smaug
This commit is contained in:
Родитель
b57c0f116e
Коммит
793d7d9ab1
|
@ -18,7 +18,6 @@
|
|||
#include "nsDOMNavigationTiming.h"
|
||||
#include "nsIDOMStorageManager.h"
|
||||
#include "mozilla/dom/AutoplayRequest.h"
|
||||
#include "mozilla/dom/ContentChild.h"
|
||||
#include "mozilla/dom/DOMJSProxyHandler.h"
|
||||
#include "mozilla/dom/DOMPrefs.h"
|
||||
#include "mozilla/dom/EventTarget.h"
|
||||
|
@ -8157,6 +8156,17 @@ nsGlobalWindowInner::ReleaseFirstPartyStorageAccessGrantedOrigins()
|
|||
|
||||
}
|
||||
|
||||
namespace mozilla {
|
||||
namespace dom {
|
||||
|
||||
extern void
|
||||
SendFirstPartyStorageAccessGrantedForOriginToParentProcess(nsIPrincipal* aPrincipal,
|
||||
const nsACString& aParentOrigin,
|
||||
const nsACString& aGrantedOrigin);
|
||||
|
||||
} // namespace dom
|
||||
} // namespace mozilla
|
||||
|
||||
void
|
||||
nsGlobalWindowInner::SaveFirstPartyStorageAccessGrantedFor(const nsAString& aOrigin)
|
||||
{
|
||||
|
@ -8189,14 +8199,11 @@ nsGlobalWindowInner::SaveFirstPartyStorageAccessGrantedFor(const nsAString& aOri
|
|||
return;
|
||||
}
|
||||
|
||||
ContentChild* cc = ContentChild::GetSingleton();
|
||||
MOZ_ASSERT(cc);
|
||||
|
||||
// This is not really secure, because here we have the content process sending
|
||||
// the request of storing a permission.
|
||||
Unused << cc->SendFirstPartyStorageAccessGrantedForOrigin(IPC::Principal(principal),
|
||||
parentOrigin,
|
||||
grantedOrigin);
|
||||
// We have this external function because ContentChild includes windows.h and
|
||||
// for this reason it cannot be included here.
|
||||
SendFirstPartyStorageAccessGrantedForOriginToParentProcess(principal,
|
||||
parentOrigin,
|
||||
grantedOrigin);
|
||||
}
|
||||
|
||||
/* static */ void
|
||||
|
|
|
@ -3279,6 +3279,25 @@ NextWindowID()
|
|||
return (processBits << kWindowIDWindowBits) | windowBits;
|
||||
}
|
||||
|
||||
// This code goes here rather than nsGlobalWindow.cpp because nsGlobalWindow.cpp
|
||||
// can't include ContentChild.h since it includes windows.h.
|
||||
void
|
||||
SendFirstPartyStorageAccessGrantedForOriginToParentProcess(nsIPrincipal* aPrincipal,
|
||||
const nsACString& aParentOrigin,
|
||||
const nsACString& aGrantedOrigin)
|
||||
{
|
||||
MOZ_ASSERT(!XRE_IsParentProcess());
|
||||
|
||||
ContentChild* cc = ContentChild::GetSingleton();
|
||||
MOZ_ASSERT(cc);
|
||||
|
||||
// This is not really secure, because here we have the content process sending
|
||||
// the request of storing a permission.
|
||||
Unused << cc->SendFirstPartyStorageAccessGrantedForOrigin(IPC::Principal(aPrincipal),
|
||||
nsCString(aParentOrigin),
|
||||
nsCString(aGrantedOrigin));
|
||||
}
|
||||
|
||||
mozilla::ipc::IPCResult
|
||||
ContentChild::RecvInvokeDragSession(nsTArray<IPCDataTransfer>&& aTransfers,
|
||||
const uint32_t& aAction)
|
||||
|
|
|
@ -848,6 +848,11 @@ private:
|
|||
uint64_t
|
||||
NextWindowID();
|
||||
|
||||
void
|
||||
SendFirstPartyStorageAccessGrantedForOriginToParentProcess(nsIPrincipal* aPrincipal,
|
||||
const nsACString& aParentOrigin,
|
||||
const nsACString& aGrantedOrigin);
|
||||
|
||||
} // namespace dom
|
||||
} // namespace mozilla
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче