Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 May 2018 12:08:37 +0000 (UTC)
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r469879 - in head/www/waterfox: . files
Message-ID:  <201805141208.w4EC8b6m082873@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Mon May 14 12:08:36 2018
New Revision: 469879
URL: https://svnweb.freebsd.org/changeset/ports/469879

Log:
  www/waterfox: update to 56.1.0.111178
  
  - Apply some FF61 fixes
  
  Changes:	https://github.com/MrAlex94/Waterfox/compare/941b28140102e...edfc016bc021c

Added:
  head/www/waterfox/files/patch-bug1436241   (contents, props changed)
  head/www/waterfox/files/patch-bug1451262   (contents, props changed)
  head/www/waterfox/files/patch-bug1452576   (contents, props changed)
  head/www/waterfox/files/patch-bug1458166   (contents, props changed)
  head/www/waterfox/files/patch-bug1458720   (contents, props changed)
  head/www/waterfox/files/patch-bug1459206   (contents, props changed)
Deleted:
  head/www/waterfox/files/patch-bug1381815
  head/www/waterfox/files/patch-bug1436983
  head/www/waterfox/files/patch-bug1444668
  head/www/waterfox/files/patch-bug1445234
  head/www/waterfox/files/patch-bug1449530
Modified:
  head/www/waterfox/Makefile   (contents, props changed)
  head/www/waterfox/distinfo   (contents, props changed)
  head/www/waterfox/files/patch-typos   (contents, props changed)

Modified: head/www/waterfox/Makefile
==============================================================================
--- head/www/waterfox/Makefile	Mon May 14 12:08:22 2018	(r469878)
+++ head/www/waterfox/Makefile	Mon May 14 12:08:36 2018	(r469879)
@@ -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@FreeBSD.org

Modified: head/www/waterfox/distinfo
==============================================================================
--- head/www/waterfox/distinfo	Mon May 14 12:08:22 2018	(r469878)
+++ head/www/waterfox/distinfo	Mon May 14 12:08:36 2018	(r469879)
@@ -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

Added: head/www/waterfox/files/patch-bug1436241
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/waterfox/files/patch-bug1436241	Mon May 14 12:08:36 2018	(r469879)
@@ -0,0 +1,54 @@
+commit 540471c8085c
+Author: Kyle Machulis <kyle@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));

Added: head/www/waterfox/files/patch-bug1451262
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/waterfox/files/patch-bug1451262	Mon May 14 12:08:36 2018	(r469879)
@@ -0,0 +1,62 @@
+commit 659634effe22
+Author: Valentin Gosu <valentin.gosu@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@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"));

Added: head/www/waterfox/files/patch-bug1452576
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/waterfox/files/patch-bug1452576	Mon May 14 12:08:36 2018	(r469879)
@@ -0,0 +1,92 @@
+commit fac32e857b4b
+Author: Andrea Marchesini <amarchesini@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);

Added: head/www/waterfox/files/patch-bug1458166
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/waterfox/files/patch-bug1458166	Mon May 14 12:08:36 2018	(r469879)
@@ -0,0 +1,75 @@
+commit 64082ca923f8
+Author: Andreas Pehrson <pehrsons@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@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;
+   }

Added: head/www/waterfox/files/patch-bug1458720
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/waterfox/files/patch-bug1458720	Mon May 14 12:08:36 2018	(r469879)
@@ -0,0 +1,99 @@
+commit ba437f08694c
+Author: David Keeler <dkeeler@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;

Added: head/www/waterfox/files/patch-bug1459206
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/waterfox/files/patch-bug1459206	Mon May 14 12:08:36 2018	(r469879)
@@ -0,0 +1,44 @@
+commit 4741651d3ac6
+Author: Andrea Marchesini <amarchesini@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: head/www/waterfox/files/patch-typos
==============================================================================
--- head/www/waterfox/files/patch-typos	Mon May 14 12:08:22 2018	(r469878)
+++ head/www/waterfox/files/patch-typos	Mon May 14 12:08:36 2018	(r469879)
@@ -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>
+ {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201805141208.w4EC8b6m082873>