svn commit: r469881 - in branches/2018Q2/www/waterfox: . files
Jan Beich
jbeich at FreeBSD.org
Mon May 14 12:10:01 UTC 2018
Author: jbeich
Date: Mon May 14 12:09:58 2018
New Revision: 469881
URL: https://svnweb.freebsd.org/changeset/ports/469881
Log:
MFH: r469879
www/waterfox: update to 56.1.0.111178
- Apply some FF61 fixes
Changes: https://github.com/MrAlex94/Waterfox/compare/941b28140102e...edfc016bc021c
Approved by: ports-secteam blanket
Added:
branches/2018Q2/www/waterfox/files/patch-bug1436241
- copied unchanged from r469879, head/www/waterfox/files/patch-bug1436241
branches/2018Q2/www/waterfox/files/patch-bug1451262
- copied unchanged from r469879, head/www/waterfox/files/patch-bug1451262
branches/2018Q2/www/waterfox/files/patch-bug1452576
- copied unchanged from r469879, head/www/waterfox/files/patch-bug1452576
branches/2018Q2/www/waterfox/files/patch-bug1458166
- copied unchanged from r469879, head/www/waterfox/files/patch-bug1458166
branches/2018Q2/www/waterfox/files/patch-bug1458720
- copied unchanged from r469879, head/www/waterfox/files/patch-bug1458720
branches/2018Q2/www/waterfox/files/patch-bug1459206
- copied unchanged from r469879, head/www/waterfox/files/patch-bug1459206
Deleted:
branches/2018Q2/www/waterfox/files/patch-bug1381815
branches/2018Q2/www/waterfox/files/patch-bug1436983
branches/2018Q2/www/waterfox/files/patch-bug1444668
branches/2018Q2/www/waterfox/files/patch-bug1445234
branches/2018Q2/www/waterfox/files/patch-bug1449530
Modified:
branches/2018Q2/www/waterfox/Makefile
branches/2018Q2/www/waterfox/distinfo
branches/2018Q2/www/waterfox/files/patch-typos
Directory Properties:
branches/2018Q2/ (props changed)
Modified: branches/2018Q2/www/waterfox/Makefile
==============================================================================
--- branches/2018Q2/www/waterfox/Makefile Mon May 14 12:09:24 2018 (r469880)
+++ branches/2018Q2/www/waterfox/Makefile Mon May 14 12:09:58 2018 (r469881)
@@ -1,8 +1,8 @@
# $FreeBSD$
PORTNAME= waterfox
-DISTVERSION= 56.1.0-111172
-DISTVERSIONSUFFIX= -g941b28140102e
+DISTVERSION= 56.1.0-111178
+DISTVERSIONSUFFIX= -gedfc016bc021c
CATEGORIES= www ipv6
MAINTAINER= jbeich at FreeBSD.org
Modified: branches/2018Q2/www/waterfox/distinfo
==============================================================================
--- branches/2018Q2/www/waterfox/distinfo Mon May 14 12:09:24 2018 (r469880)
+++ branches/2018Q2/www/waterfox/distinfo Mon May 14 12:09:58 2018 (r469881)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1526148821
-SHA256 (MrAlex94-Waterfox-56.1.0-111172-g941b28140102e_GH0.tar.gz) = a9cedc302e81667f75e46e971ad8e165761f3bed2e1a4a27f6fdb6bc4a812bf1
-SIZE (MrAlex94-Waterfox-56.1.0-111172-g941b28140102e_GH0.tar.gz) = 394958117
+TIMESTAMP = 1526290324
+SHA256 (MrAlex94-Waterfox-56.1.0-111178-gedfc016bc021c_GH0.tar.gz) = a34715f6954e5b557e976166b69f976f0ae3bc92b168ca26ab6d3ba62bf8e6ec
+SIZE (MrAlex94-Waterfox-56.1.0-111178-gedfc016bc021c_GH0.tar.gz) = 394952776
Copied: branches/2018Q2/www/waterfox/files/patch-bug1436241 (from r469879, head/www/waterfox/files/patch-bug1436241)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/2018Q2/www/waterfox/files/patch-bug1436241 Mon May 14 12:09:58 2018 (r469881, copy of r469879, head/www/waterfox/files/patch-bug1436241)
@@ -0,0 +1,54 @@
+commit 540471c8085c
+Author: Kyle Machulis <kyle at nonpolynomial.com>
+Date: Mon Apr 30 12:49:15 2018 -0700
+
+ Bug 1436241 - Check redirect status code before forwarding to NPAPI. r=jimm, r=pauljt, a=RyanVM
+
+ NPAPI may handle a 307 redirect across different origins, while they
+ should only happen on same origin requests. Have the browser check
+ this before forwarding to NPAPI.
+
+ MozReview-Commit-ID: 5vxMooygI4g
+
+ --HG--
+ extra : source : 6d595a423fb52766abb5c1d10d4b9d7d6027d68a
+---
+ dom/plugins/base/nsPluginStreamListenerPeer.cpp | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+diff --git dom/plugins/base/nsPluginStreamListenerPeer.cpp dom/plugins/base/nsPluginStreamListenerPeer.cpp
+index b780688ddd0c7..dd8e84d2df075 100644
+--- dom/plugins/base/nsPluginStreamListenerPeer.cpp
++++ dom/plugins/base/nsPluginStreamListenerPeer.cpp
+@@ -668,15 +668,6 @@ nsPluginStreamListenerPeer::AsyncOnChannelRedirect(nsIChannel *oldChannel, nsICh
+ return NS_ERROR_FAILURE;
+ }
+
+- nsCOMPtr<nsIAsyncVerifyRedirectCallback> proxyCallback =
+- new ChannelRedirectProxyCallback(this, callback, oldChannel, newChannel);
+-
+- // Give NPAPI a chance to control redirects.
+- bool notificationHandled = mPStreamListener->HandleRedirectNotification(oldChannel, newChannel, proxyCallback);
+- if (notificationHandled) {
+- return NS_OK;
+- }
+-
+ // Don't allow cross-origin 307 POST redirects.
+ nsCOMPtr<nsIHttpChannel> oldHttpChannel(do_QueryInterface(oldChannel));
+ if (oldHttpChannel) {
+@@ -700,6 +691,15 @@ nsPluginStreamListenerPeer::AsyncOnChannelRedirect(nsIChannel *oldChannel, nsICh
+ }
+ }
+
++ nsCOMPtr<nsIAsyncVerifyRedirectCallback> proxyCallback =
++ new ChannelRedirectProxyCallback(this, callback, oldChannel, newChannel);
++
++ // Give NPAPI a chance to control redirects.
++ bool notificationHandled = mPStreamListener->HandleRedirectNotification(oldChannel, newChannel, proxyCallback);
++ if (notificationHandled) {
++ return NS_OK;
++ }
++
+ // Fall back to channel event sink for window.
+ nsCOMPtr<nsIChannelEventSink> channelEventSink;
+ nsresult rv = GetInterfaceGlobal(NS_GET_IID(nsIChannelEventSink), getter_AddRefs(channelEventSink));
Copied: branches/2018Q2/www/waterfox/files/patch-bug1451262 (from r469879, head/www/waterfox/files/patch-bug1451262)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/2018Q2/www/waterfox/files/patch-bug1451262 Mon May 14 12:09:58 2018 (r469881, copy of r469879, head/www/waterfox/files/patch-bug1451262)
@@ -0,0 +1,62 @@
+commit 659634effe22
+Author: Valentin Gosu <valentin.gosu at gmail.com>
+Date: Wed Apr 4 13:47:46 2018 +0300
+
+ Bug 1451262 - Clear gSocketThread after finishing all operations so we don't trigger thread assertions r=mayhemer
+
+ MozReview-Commit-ID: AHMPd72S2GB
+
+ --HG--
+ extra : rebase_source : fe5fb1604e771f223d78f23fcf9d37b1f85763f9
+---
+ netwerk/base/nsSocketTransportService2.cpp | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git netwerk/base/nsSocketTransportService2.cpp netwerk/base/nsSocketTransportService2.cpp
+index abaa8f8fb6da3..a16d888998ae9 100644
+--- netwerk/base/nsSocketTransportService2.cpp
++++ netwerk/base/nsSocketTransportService2.cpp
+@@ -1067,9 +1067,8 @@ nsSocketTransportService::Run()
+ // socket detach handlers get processed.
+ NS_ProcessPendingEvents(mRawThread);
+
+- gSocketThread = nullptr;
+-
+ psm::StopSSLServerCertVerificationThreads();
++ gSocketThread = nullptr;
+
+ SOCKET_LOG(("STS thread exit\n"));
+
+commit 43e3838b681b
+Author: Valentin Gosu <valentin.gosu at gmail.com>
+Date: Thu May 10 10:37:24 2018 +0200
+
+ Bug 1451262 - Call NS_ProcessPendingEvents after StopSSLServerCertVerificationThreads. r=mayhemer, a=RyanVM
+
+ If there are still pending events after we null out gSocketThread, OnSocketThread() will always return false, which can trigger assertions.
+
+ MozReview-Commit-ID: CovFIU3cKL
+
+ --HG--
+ extra : source : b859a16d74500eed3b00d7e0bc1eba0d9e0c34a4
+---
+ netwerk/base/nsSocketTransportService2.cpp | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git netwerk/base/nsSocketTransportService2.cpp netwerk/base/nsSocketTransportService2.cpp
+index 637a7d95f748c..06cda53f52056 100644
+--- netwerk/base/nsSocketTransportService2.cpp
++++ netwerk/base/nsSocketTransportService2.cpp
+@@ -1067,7 +1067,12 @@ nsSocketTransportService::Run()
+ // socket detach handlers get processed.
+ NS_ProcessPendingEvents(mRawThread);
+
++ // Stopping the SLL threads can generate new events, so we need to
++ // process them before nulling out gSocketThread, otherwise we can get
++ // !onSocketThread assertions.
+ psm::StopSSLServerCertVerificationThreads();
++ NS_ProcessPendingEvents(mRawThread);
++
+ gSocketThread = nullptr;
+
+ SOCKET_LOG(("STS thread exit\n"));
Copied: branches/2018Q2/www/waterfox/files/patch-bug1452576 (from r469879, head/www/waterfox/files/patch-bug1452576)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/2018Q2/www/waterfox/files/patch-bug1452576 Mon May 14 12:09:58 2018 (r469881, copy of r469879, head/www/waterfox/files/patch-bug1452576)
@@ -0,0 +1,92 @@
+commit fac32e857b4b
+Author: Andrea Marchesini <amarchesini at mozilla.com>
+Date: Thu May 10 09:02:16 2018 +0200
+
+ Bug 1452576 - Improve StructuredCloneHolder for fuzzy tests. r=decoder, a=RyanVM
+
+ --HG--
+ extra : source : c8d6bf455ae5ac9a31ff9fc5418e87a66f12e89c
+---
+ dom/base/StructuredCloneHolder.cpp | 34 ++++++++++++++++++----------------
+ 1 file changed, 18 insertions(+), 16 deletions(-)
+
+diff --git dom/base/StructuredCloneHolder.cpp dom/base/StructuredCloneHolder.cpp
+index 745ef7871b856..9f697fc2878e7 100644
+--- dom/base/StructuredCloneHolder.cpp
++++ dom/base/StructuredCloneHolder.cpp
+@@ -1024,9 +1024,9 @@ StructuredCloneHolder::CustomReadHandler(JSContext* aCx,
+ return ReadFormData(aCx, aReader, aIndex, this);
+ }
+
+- if (aTag == SCTAG_DOM_IMAGEBITMAP) {
+- MOZ_ASSERT(mStructuredCloneScope == StructuredCloneScope::SameProcessSameThread ||
+- mStructuredCloneScope == StructuredCloneScope::SameProcessDifferentThread);
++ if (aTag == SCTAG_DOM_IMAGEBITMAP &&
++ (mStructuredCloneScope == StructuredCloneScope::SameProcessSameThread ||
++ mStructuredCloneScope == StructuredCloneScope::SameProcessDifferentThread)) {
+
+ // Get the current global object.
+ // This can be null.
+@@ -1040,7 +1040,9 @@ StructuredCloneHolder::CustomReadHandler(JSContext* aCx,
+ return StructuredCloneBlob::ReadStructuredClone(aCx, aReader, this);
+ }
+
+- if (aTag == SCTAG_DOM_WASM) {
++ if (aTag == SCTAG_DOM_WASM &&
++ (mStructuredCloneScope == StructuredCloneScope::SameProcessSameThread ||
++ mStructuredCloneScope == StructuredCloneScope::SameProcessDifferentThread)) {
+ return ReadWasmModule(aCx, aIndex, this);
+ }
+
+@@ -1175,9 +1177,9 @@ StructuredCloneHolder::CustomReadTransferHandler(JSContext* aCx,
+ return true;
+ }
+
+- if (aTag == SCTAG_DOM_CANVAS) {
+- MOZ_ASSERT(mStructuredCloneScope == StructuredCloneScope::SameProcessSameThread ||
+- mStructuredCloneScope == StructuredCloneScope::SameProcessDifferentThread);
++ if (aTag == SCTAG_DOM_CANVAS &&
++ (mStructuredCloneScope == StructuredCloneScope::SameProcessSameThread ||
++ mStructuredCloneScope == StructuredCloneScope::SameProcessDifferentThread)) {
+ MOZ_ASSERT(aContent);
+ OffscreenCanvasCloneData* data =
+ static_cast<OffscreenCanvasCloneData*>(aContent);
+@@ -1195,9 +1197,9 @@ StructuredCloneHolder::CustomReadTransferHandler(JSContext* aCx,
+ return true;
+ }
+
+- if (aTag == SCTAG_DOM_IMAGEBITMAP) {
+- MOZ_ASSERT(mStructuredCloneScope == StructuredCloneScope::SameProcessSameThread ||
+- mStructuredCloneScope == StructuredCloneScope::SameProcessDifferentThread);
++ if (aTag == SCTAG_DOM_IMAGEBITMAP &&
++ (mStructuredCloneScope == StructuredCloneScope::SameProcessSameThread ||
++ mStructuredCloneScope == StructuredCloneScope::SameProcessDifferentThread)) {
+ MOZ_ASSERT(aContent);
+ ImageBitmapCloneData* data =
+ static_cast<ImageBitmapCloneData*>(aContent);
+@@ -1320,9 +1322,9 @@ StructuredCloneHolder::CustomFreeTransferHandler(uint32_t aTag,
+ return;
+ }
+
+- if (aTag == SCTAG_DOM_CANVAS) {
+- MOZ_ASSERT(mStructuredCloneScope == StructuredCloneScope::SameProcessSameThread ||
+- mStructuredCloneScope == StructuredCloneScope::SameProcessDifferentThread);
++ if (aTag == SCTAG_DOM_CANVAS &&
++ (mStructuredCloneScope == StructuredCloneScope::SameProcessSameThread ||
++ mStructuredCloneScope == StructuredCloneScope::SameProcessDifferentThread)) {
+ MOZ_ASSERT(aContent);
+ OffscreenCanvasCloneData* data =
+ static_cast<OffscreenCanvasCloneData*>(aContent);
+@@ -1330,9 +1332,9 @@ StructuredCloneHolder::CustomFreeTransferHandler(uint32_t aTag,
+ return;
+ }
+
+- if (aTag == SCTAG_DOM_IMAGEBITMAP) {
+- MOZ_ASSERT(mStructuredCloneScope == StructuredCloneScope::SameProcessSameThread ||
+- mStructuredCloneScope == StructuredCloneScope::SameProcessDifferentThread);
++ if (aTag == SCTAG_DOM_IMAGEBITMAP &&
++ (mStructuredCloneScope == StructuredCloneScope::SameProcessSameThread ||
++ mStructuredCloneScope == StructuredCloneScope::SameProcessDifferentThread)) {
+ MOZ_ASSERT(aContent);
+ ImageBitmapCloneData* data =
+ static_cast<ImageBitmapCloneData*>(aContent);
Copied: branches/2018Q2/www/waterfox/files/patch-bug1458166 (from r469879, head/www/waterfox/files/patch-bug1458166)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/2018Q2/www/waterfox/files/patch-bug1458166 Mon May 14 12:09:58 2018 (r469881, copy of r469879, head/www/waterfox/files/patch-bug1458166)
@@ -0,0 +1,75 @@
+commit 64082ca923f8
+Author: Andreas Pehrson <pehrsons at mozilla.com>
+Date: Mon May 7 11:33:07 2018 +0200
+
+ Bug 1458166 - Clear out tracks while destroying MediaStream. r=bryce, a=RyanVM
+
+ MediaStream::Destroy() is part of a controlled shutdown sequence.
+ If there are still tracks with content beyond Destroy() they will
+ only get caught by the dtor, which may be on CC shutdown and too late.
+
+ MozReview-Commit-ID: GV6XRiTCIRk
+
+ --HG--
+ extra : source : da84235630724b32d2e619c4ae6b7ae34a4c5c2d
+---
+ dom/media/MediaStreamGraph.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git dom/media/MediaStreamGraph.cpp dom/media/MediaStreamGraph.cpp
+index 1c6683c966084..9cdb50e8abc98 100644
+--- dom/media/MediaStreamGraph.cpp
++++ dom/media/MediaStreamGraph.cpp
+@@ -2054,6 +2054,7 @@ MediaStream::DestroyImpl()
+ for (int32_t i = mConsumers.Length() - 1; i >= 0; --i) {
+ mConsumers[i]->Disconnect();
+ }
++ mTracks.Clear();
+ mGraph = nullptr;
+ }
+
+commit d18fab7f3fa9
+Author: Andreas Pehrson <pehrsons at mozilla.com>
+Date: Mon May 7 11:36:35 2018 +0200
+
+ Bug 1458166 - Remove listeners before destroying MediaStreams. r=bryce, a=RyanVM
+
+ If listeners are still registered to a MediaStream on MediaStream::Destroy
+ (triggered by MediaStream::UnregisterUser below), they will catch and act
+ on further events from the MediaStream (such as a track ending).
+
+ This may dispatch runnables that are unnecessary since we know we are
+ shutting down.
+
+ If we first remove the listeners from the MediaStream we will never see
+ said events.
+
+ MozReview-Commit-ID: IZ1kENqL2C8
+
+ --HG--
+ extra : source : 8dc7d2696a29c0752066ebe67962b1ad323c4153
+---
+ dom/media/DOMMediaStream.cpp | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git dom/media/DOMMediaStream.cpp dom/media/DOMMediaStream.cpp
+index f69324d416a8f..febb527556701 100644
+--- dom/media/DOMMediaStream.cpp
++++ dom/media/DOMMediaStream.cpp
+@@ -455,10 +455,16 @@ DOMMediaStream::Destroy()
+ {
+ LOG(LogLevel::Debug, ("DOMMediaStream %p Being destroyed.", this));
+ if (mOwnedListener) {
++ if (mOwnedStream) {
++ mOwnedStream->RemoveListener(mOwnedListener);
++ }
+ mOwnedListener->Forget();
+ mOwnedListener = nullptr;
+ }
+ if (mPlaybackListener) {
++ if (mPlaybackStream) {
++ mPlaybackStream->RemoveListener(mPlaybackListener);
++ }
+ mPlaybackListener->Forget();
+ mPlaybackListener = nullptr;
+ }
Copied: branches/2018Q2/www/waterfox/files/patch-bug1458720 (from r469879, head/www/waterfox/files/patch-bug1458720)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/2018Q2/www/waterfox/files/patch-bug1458720 Mon May 14 12:09:58 2018 (r469881, copy of r469879, head/www/waterfox/files/patch-bug1458720)
@@ -0,0 +1,99 @@
+commit ba437f08694c
+Author: David Keeler <dkeeler at mozilla.com>
+Date: Wed May 2 16:42:51 2018 -0700
+
+ Bug 1458720 - Make RunOnAllContentParents runnable from any thread. r=Ehsan, r=jcj, a=RyanVM
+
+ In bug 1215723 RunOnAllContentParents was added to the DataStorage
+ implementation so we could make more security state information available in
+ child processes. It uses IPC APIs, which in general are not thread-safe. We need
+ to make sure that these APIs are only accessed on the main thread, which means
+ we have to copy any necessary data, create a runnable, and send it to the main
+ thread to do the actual work. Note that the IPC APIs are async, so this dispatch
+ can be async as well.
+
+ MozReview-Commit-ID: HwkgSX1iORU
+
+ --HG--
+ extra : source : 38e60f49b316258b72f8453387049c16d2005867
+---
+ security/manager/ssl/DataStorage.cpp | 34 +++++++++++++++++++++++-----------
+ 1 file changed, 23 insertions(+), 11 deletions(-)
+
+diff --git security/manager/ssl/DataStorage.cpp security/manager/ssl/DataStorage.cpp
+index e93f7f50a0b39..00e43f298aae3 100644
+--- security/manager/ssl/DataStorage.cpp
++++ security/manager/ssl/DataStorage.cpp
+@@ -707,6 +707,8 @@ DataStorage::MaybeEvictOneEntry(DataStorageType aType,
+ }
+ }
+
++// NB: Because this may cross a thread boundary, any variables captured by the
++// Functor must be captured by copy and not by reference.
+ template <class Functor>
+ static
+ void
+@@ -716,11 +718,16 @@ RunOnAllContentParents(Functor func)
+ return;
+ }
+ using dom::ContentParent;
+- nsTArray<ContentParent*> parents;
+- ContentParent::GetAll(parents);
+- for (auto& parent: parents) {
+- func(parent);
+- }
++
++ nsCOMPtr<nsIRunnable> r = NS_NewRunnableFunction("RunOnAllContentParents",
++ [func] () {
++ nsTArray<ContentParent*> parents;
++ ContentParent::GetAll(parents);
++ for (auto& parent: parents) {
++ func(parent);
++ }
++ });
++ MOZ_ALWAYS_SUCCEEDS(NS_DispatchToMainThread(r));
+ }
+
+ nsresult
+@@ -749,12 +756,14 @@ DataStorage::Put(const nsCString& aKey, const nsCString& aValue,
+ return rv;
+ }
+
+- RunOnAllContentParents([&](dom::ContentParent* aParent) {
++ nsString filename(mFilename);
++ RunOnAllContentParents(
++ [aKey, aValue, aType, filename] (dom::ContentParent* aParent) {
+ DataStorageItem item;
+ item.key() = aKey;
+ item.value() = aValue;
+ item.type() = aType;
+- Unused << aParent->SendDataStoragePut(mFilename, item);
++ Unused << aParent->SendDataStoragePut(filename, item);
+ });
+
+ return NS_OK;
+@@ -788,8 +797,10 @@ DataStorage::Remove(const nsCString& aKey, DataStorageType aType)
+ Unused << AsyncSetTimer(lock);
+ }
+
+- RunOnAllContentParents([&](dom::ContentParent* aParent) {
+- Unused << aParent->SendDataStorageRemove(mFilename, aKey, aType);
++ nsString filename(mFilename);
++ RunOnAllContentParents(
++ [filename, aKey, aType] (dom::ContentParent* aParent) {
++ Unused << aParent->SendDataStorageRemove(filename, aKey, aType);
+ });
+ }
+
+@@ -914,8 +925,9 @@ DataStorage::Clear()
+ }
+ }
+
+- RunOnAllContentParents([&](dom::ContentParent* aParent) {
+- Unused << aParent->SendDataStorageClear(mFilename);
++ nsString filename(mFilename);
++ RunOnAllContentParents([filename] (dom::ContentParent* aParent) {
++ Unused << aParent->SendDataStorageClear(filename);
+ });
+
+ return NS_OK;
Copied: branches/2018Q2/www/waterfox/files/patch-bug1459206 (from r469879, head/www/waterfox/files/patch-bug1459206)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/2018Q2/www/waterfox/files/patch-bug1459206 Mon May 14 12:09:58 2018 (r469881, copy of r469879, head/www/waterfox/files/patch-bug1459206)
@@ -0,0 +1,44 @@
+commit 4741651d3ac6
+Author: Andrea Marchesini <amarchesini at mozilla.com>
+Date: Thu May 10 11:24:25 2018 +0200
+
+ Bug 1459206 - Use FileSystemSecurity in ContentParent::RecvGetFilesRequest. r=ehsan, a=RyanVM
+
+ --HG--
+ extra : source : a3ebab26f0d9e962f1f892335838ee1b51335378
+---
+ dom/filesystem/tests/test_webkitdirectory.html | 1 +
+ dom/ipc/ContentParent.cpp | 8 ++++++++
+ 2 files changed, 9 insertions(+)
+
+diff --git dom/filesystem/tests/test_webkitdirectory.html dom/filesystem/tests/test_webkitdirectory.html
+index 3611039a5a46a..45957f9bb56d0 100644
+--- dom/filesystem/tests/test_webkitdirectory.html
++++ dom/filesystem/tests/test_webkitdirectory.html
+@@ -151,6 +151,7 @@ function test_changeDataWhileWorking() {
+
+ function test_setup() {
+ SpecialPowers.pushPrefEnv({"set": [["dom.input.dirpicker", true],
++ ["dom.filesystem.pathcheck.disabled", true],
+ ["dom.webkitBlink.dirPicker.enabled", true]]}, next);
+ }
+
+diff --git dom/ipc/ContentParent.cpp dom/ipc/ContentParent.cpp
+index 9912238b27744..c55fb106690f0 100644
+--- dom/ipc/ContentParent.cpp
++++ dom/ipc/ContentParent.cpp
+@@ -5241,6 +5241,14 @@ ContentParent::RecvGetFilesRequest(const nsID& aUUID,
+ {
+ MOZ_ASSERT(!mGetFilesPendingRequests.GetWeak(aUUID));
+
++ if (!mozilla::Preferences::GetBool("dom.filesystem.pathcheck.disabled", false)) {
++ RefPtr<FileSystemSecurity> fss = FileSystemSecurity::Get();
++ if (NS_WARN_IF(!fss ||
++ !fss->ContentProcessHasAccessTo(ChildID(), aDirectoryPath))) {
++ return IPC_FAIL_NO_REASON(this);
++ }
++ }
++
+ ErrorResult rv;
+ RefPtr<GetFilesHelper> helper =
+ GetFilesHelperParent::Create(aUUID, aDirectoryPath, aRecursiveFlag, this,
Modified: branches/2018Q2/www/waterfox/files/patch-typos
==============================================================================
--- branches/2018Q2/www/waterfox/files/patch-typos Mon May 14 12:09:24 2018 (r469880)
+++ branches/2018Q2/www/waterfox/files/patch-typos Mon May 14 12:09:58 2018 (r469881)
@@ -40,3 +40,16 @@ Mismerges found by comparing changes with Firefox 56
+#define SOFTOKEN_BETA PR_FALSE
#endif /* _SOFTKVER_H_ */
+--- widget/WidgetMessageUtils.h.orig
++++ widget/WidgetMessageUtils.h
+@@ -35,10 +35,6 @@ struct ParamTraits<LookAndFeelInt>
+ };
+
+ template<>
+-struct ParamTraits<nsTransparencyMode> : public ContiguousEnumSerializerInclusive<nsTransparencyMode, eTransparencyOpaque, eTransparencyBorderlessGlass>
+-{ };
+-
+-template<>
+ struct ParamTraits<nsCursor>
+ : public ContiguousEnumSerializer<nsCursor, eCursor_standard, eCursorCount>
+ {
More information about the svn-ports-all
mailing list