From owner-svn-ports-all@freebsd.org Sat Mar 24 00:23:35 2018 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 62B7BF5A3D6; Sat, 24 Mar 2018 00:23:35 +0000 (UTC) (envelope-from jbeich@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 14CEF6D486; Sat, 24 Mar 2018 00:23:35 +0000 (UTC) (envelope-from jbeich@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0F659272DE; Sat, 24 Mar 2018 00:23:35 +0000 (UTC) (envelope-from jbeich@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2O0NY9h043624; Sat, 24 Mar 2018 00:23:34 GMT (envelope-from jbeich@FreeBSD.org) Received: (from jbeich@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2O0NYFX043619; Sat, 24 Mar 2018 00:23:34 GMT (envelope-from jbeich@FreeBSD.org) Message-Id: <201803240023.w2O0NYFX043619@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jbeich set sender to jbeich@FreeBSD.org using -f From: Jan Beich Date: Sat, 24 Mar 2018 00:23:34 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-branches@freebsd.org Subject: svn commit: r465420 - in branches/2018Q1/www/waterfox: . files X-SVN-Group: ports-branches X-SVN-Commit-Author: jbeich X-SVN-Commit-Paths: in branches/2018Q1/www/waterfox: . files X-SVN-Commit-Revision: 465420 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 24 Mar 2018 00:23:35 -0000 Author: jbeich Date: Sat Mar 24 00:23:34 2018 New Revision: 465420 URL: https://svnweb.freebsd.org/changeset/ports/465420 Log: MFH: r465417 www/waterfox: apply more FF60 fixes Approved by: ports-secteam blanket Added: branches/2018Q1/www/waterfox/files/patch-bug1397795 - copied unchanged from r465417, head/www/waterfox/files/patch-bug1397795 branches/2018Q1/www/waterfox/files/patch-bug1435036 - copied unchanged from r465417, head/www/waterfox/files/patch-bug1435036 branches/2018Q1/www/waterfox/files/patch-bug1444521 - copied unchanged from r465417, head/www/waterfox/files/patch-bug1444521 branches/2018Q1/www/waterfox/files/patch-bug1444541 - copied unchanged from r465417, head/www/waterfox/files/patch-bug1444541 Modified: branches/2018Q1/www/waterfox/Makefile Directory Properties: branches/2018Q1/ (props changed) Modified: branches/2018Q1/www/waterfox/Makefile ============================================================================== --- branches/2018Q1/www/waterfox/Makefile Sat Mar 24 00:21:17 2018 (r465419) +++ branches/2018Q1/www/waterfox/Makefile Sat Mar 24 00:23:34 2018 (r465420) @@ -3,7 +3,7 @@ PORTNAME= waterfox DISTVERSION= 56.0.4-72 DISTVERSIONSUFFIX= -ga9c77bbb9f25 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= www ipv6 PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ Copied: branches/2018Q1/www/waterfox/files/patch-bug1397795 (from r465417, head/www/waterfox/files/patch-bug1397795) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ branches/2018Q1/www/waterfox/files/patch-bug1397795 Sat Mar 24 00:23:34 2018 (r465420, copy of r465417, head/www/waterfox/files/patch-bug1397795) @@ -0,0 +1,61 @@ +commit fc56d498fd83 +Author: Jonathan Watt +Date: Fri Feb 23 10:40:12 2018 +0000 + + Bug 1397795 - Fix stack overflow crash due to box-shadow. r=mstange, a=jcristau + + GetBoxShadowRectForFrame is called while we're calculating the visual + overflow bounds for a frame. So it is not valid for it to use the frame's + "current" visual overflow rect (which may be uninitialized or stale). + + MozReview-Commit-ID: J52dxIMrMg5 + + --HG-- + extra : source : d7c420c8dc2a6b28500eae0e35cd9f17a22908ec +--- + layout/base/nsLayoutUtils.cpp | 22 +++++++++++++--------- + 1 file changed, 13 insertions(+), 9 deletions(-) + +diff --git layout/base/nsLayoutUtils.cpp layout/base/nsLayoutUtils.cpp +index 53c43f6b3546..f85273fbf232 100644 +--- layout/base/nsLayoutUtils.cpp ++++ layout/base/nsLayoutUtils.cpp +@@ -8747,25 +8747,29 @@ nsLayoutUtils::GetBoxShadowRectForFrame(nsIFrame* aFrame, + return nsRect(); + } + +- bool nativeTheme; ++ nsRect inputRect(nsPoint(0, 0), aFrameSize); ++ ++ // According to the CSS spec, box-shadow should be based on the border box. ++ // However, that looks broken when the background extends outside the border ++ // box, as can be the case with native theming. To fix that we expand the ++ // area that we shadow to include the bounds of any native theme drawing. + const nsStyleDisplay* styleDisplay = aFrame->StyleDisplay(); + nsITheme::Transparency transparency; + if (aFrame->IsThemed(styleDisplay, &transparency)) { + // For opaque (rectangular) theme widgets we can take the generic + // border-box path with border-radius disabled. +- nativeTheme = transparency != nsITheme::eOpaque; +- } else { +- nativeTheme = false; ++ if (transparency != nsITheme::eOpaque) { ++ nsPresContext *presContext = aFrame->PresContext(); ++ presContext->GetTheme()-> ++ GetWidgetOverflow(presContext->DeviceContext(), aFrame, ++ styleDisplay->mAppearance, &inputRect); ++ } + } + +- nsRect frameRect = nativeTheme ? +- aFrame->GetVisualOverflowRectRelativeToSelf() : +- nsRect(nsPoint(0, 0), aFrameSize); +- + nsRect shadows; + int32_t A2D = aFrame->PresContext()->AppUnitsPerDevPixel(); + for (uint32_t i = 0; i < boxShadows->Length(); ++i) { +- nsRect tmpRect = frameRect; ++ nsRect tmpRect = inputRect; + nsCSSShadowItem* shadow = boxShadows->ShadowAt(i); + + // inset shadows are never painted outside the frame Copied: branches/2018Q1/www/waterfox/files/patch-bug1435036 (from r465417, head/www/waterfox/files/patch-bug1435036) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ branches/2018Q1/www/waterfox/files/patch-bug1435036 Sat Mar 24 00:23:34 2018 (r465420, copy of r465417, head/www/waterfox/files/patch-bug1435036) @@ -0,0 +1,97 @@ +commit a857f1b964fc +Author: Andreas Pehrson +Date: Mon Mar 19 09:40:38 2018 +0100 + + Bug 1435036 - Improve window checks. r=jib, a=RyanVM + + --HG-- + extra : source : 37039eaf524823ed3157fafbdfcfbc450b67b4ab +--- + dom/media/MediaManager.cpp | 30 +++++++++++++++++++----------- + dom/media/MediaManager.h | 1 + + 2 files changed, 20 insertions(+), 11 deletions(-) + +diff --git dom/media/MediaManager.cpp dom/media/MediaManager.cpp +index e96509db4ce0..f2862dc0b23c 100644 +--- dom/media/MediaManager.cpp ++++ dom/media/MediaManager.cpp +@@ -1013,14 +1013,17 @@ public: + public: + TracksAvailableCallback(MediaManager* aManager, + already_AddRefed aSuccess, +- uint64_t aWindowID, ++ const RefPtr& aWindowListener, + DOMMediaStream* aStream) +- : mWindowID(aWindowID), mOnSuccess(aSuccess), mManager(aManager), +- mStream(aStream) {} ++ : mWindowListener(aWindowListener), ++ mOnSuccess(aSuccess), ++ mManager(aManager), ++ mStream(aStream) ++ {} + void NotifyTracksAvailable(DOMMediaStream* aStream) override + { +- // We're in the main thread, so no worries here. +- if (!(mManager->IsWindowStillActive(mWindowID))) { ++ // We're on the main thread, so no worries here. ++ if (!mManager->IsWindowListenerStillActive(mWindowListener)) { + return; + } + +@@ -1033,7 +1036,7 @@ public: + LOG(("Returning success for getUserMedia()")); + mOnSuccess->OnSuccess(aStream); + } +- uint64_t mWindowID; ++ RefPtr mWindowListener; + nsCOMPtr mOnSuccess; + RefPtr mManager; + // Keep the DOMMediaStream alive until the NotifyTracksAvailable callback +@@ -1056,10 +1059,8 @@ public: + + // We're on main-thread, and the windowlist can only + // be invalidated from the main-thread (see OnNavigation) +- GetUserMediaWindowListener* listener = +- mManager->GetWindowListener(mWindowID); +- if (!listener || !window || !window->GetExtantDoc()) { +- // This window is no longer live. mListener has already been removed ++ if (!mManager->IsWindowListenerStillActive(mWindowListener)) { ++ // This window is no longer live. mListener has already been removed. + return NS_OK; + } + +@@ -1219,7 +1220,7 @@ public: + + // Note: includes JS callbacks; must be released on MainThread + auto callback = MakeRefPtr>>( +- new TracksAvailableCallback(mManager, mOnSuccess.forget(), mWindowID, domStream)); ++ new TracksAvailableCallback(mManager, mOnSuccess.forget(), mWindowListener, domStream)); + + // Dispatch to the media thread to ask it to start the sources, + // because that can take a while. +@@ -3015,6 +3016,13 @@ MediaManager::RemoveWindowID(uint64_t aWindowId) + aWindowId, outerID)); + } + ++bool ++MediaManager::IsWindowListenerStillActive(GetUserMediaWindowListener* aListener) ++{ ++ MOZ_DIAGNOSTIC_ASSERT(aListener); ++ return aListener && aListener == GetWindowListener(aListener->WindowID()); ++} ++ + void + MediaManager::GetPref(nsIPrefBranch *aBranch, const char *aPref, + const char *aData, int32_t *aVal) +diff --git dom/media/MediaManager.h dom/media/MediaManager.h +index 3d9d9e55f8ec..f9c5b0647f64 100644 +--- dom/media/MediaManager.h ++++ dom/media/MediaManager.h +@@ -237,6 +237,7 @@ public: + bool IsWindowStillActive(uint64_t aWindowId) { + return !!GetWindowListener(aWindowId); + } ++ bool IsWindowListenerStillActive(GetUserMediaWindowListener* aListener); + // Note: also calls aListener->Remove(), even if inactive + void RemoveFromWindowList(uint64_t aWindowID, + GetUserMediaWindowListener *aListener); Copied: branches/2018Q1/www/waterfox/files/patch-bug1444521 (from r465417, head/www/waterfox/files/patch-bug1444521) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ branches/2018Q1/www/waterfox/files/patch-bug1444521 Sat Mar 24 00:23:34 2018 (r465420, copy of r465417, head/www/waterfox/files/patch-bug1444521) @@ -0,0 +1,26 @@ +commit 4694ff76f300 +Author: Punam +Date: Tue Mar 13 17:54:18 2018 -0700 + + Bug 1444521 - Preferences UI save to cloud downloads event listener. r=jaws, a=jcristau + + MozReview-Commit-ID: LbKr1rpXn4q + + --HG-- + extra : source : 2cab87e3a891fcdf4ef78b1dc01a6b7b5e69c853 +--- + browser/components/preferences/in-content/main.js | 1 + + 1 file changed, 1 insertion(+) + +diff --git browser/components/preferences/in-content-new/main.js browser/components/preferences/in-content-new/main.js +index 711a9e2cc424..5a579f4a49db 100644 +--- browser/components/preferences/in-content-new/main.js ++++ browser/components/preferences/in-content-new/main.js +@@ -410,6 +410,7 @@ var gMainPane = { + setEventListener("typeColumn", "click", gMainPane.sort); + setEventListener("actionColumn", "click", gMainPane.sort); + setEventListener("chooseFolder", "command", gMainPane.chooseFolder); ++ setEventListener("saveWhere", "command", gMainPane.handleSaveToCommand); + setEventListener("browser.download.dir", "change", gMainPane.displayDownloadDirPref); + setEventListener("saveWhere", "command", gMainPane.handleSaveToCommand); + Copied: branches/2018Q1/www/waterfox/files/patch-bug1444541 (from r465417, head/www/waterfox/files/patch-bug1444541) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ branches/2018Q1/www/waterfox/files/patch-bug1444541 Sat Mar 24 00:23:34 2018 (r465420, copy of r465417, head/www/waterfox/files/patch-bug1444541) @@ -0,0 +1,63 @@ +commit 2b33d877cb03 +Author: Andreas Pehrson +Date: Mon Mar 19 15:52:36 2018 +0100 + + Bug 1444541 - Don't stop recorder on pagehide during frameswap. r=smaug, a=jcristau + + MozReview-Commit-ID: AZec0yXM1FI + + --HG-- + extra : source : bcdb264028e930756222a756e83bdca8574278e2 +--- + dom/media/MediaRecorder.cpp | 18 +++++++++++++++--- + dom/media/moz.build | 1 + + 2 files changed, 16 insertions(+), 3 deletions(-) + +diff --git dom/media/MediaRecorder.cpp dom/media/MediaRecorder.cpp +index 60fe1ea0dae2..a229e4c38d73 100644 +--- dom/media/MediaRecorder.cpp ++++ dom/media/MediaRecorder.cpp +@@ -30,6 +30,7 @@ + #include "nsCharSeparatedTokenizer.h" + #include "nsContentTypeParser.h" + #include "nsContentUtils.h" ++#include "nsDocShell.h" + #include "nsError.h" + #include "nsIDocument.h" + #include "nsIPermissionManager.h" +@@ -1699,9 +1700,20 @@ MediaRecorder::NotifyOwnerDocumentActivityChanged() + nsIDocument* doc = window->GetExtantDoc(); + NS_ENSURE_TRUE_VOID(doc); + +- LOG(LogLevel::Debug, ("MediaRecorder %p document IsActive %d isVisible %d\n", +- this, doc->IsActive(), doc->IsVisible())); +- if (!doc->IsActive() || !doc->IsVisible()) { ++ bool inFrameSwap = false; ++ if (nsDocShell* docShell = static_cast(doc->GetDocShell())) { ++ inFrameSwap = docShell->InFrameSwap(); ++ } ++ ++ LOG(LogLevel::Debug, ("MediaRecorder %p NotifyOwnerDocumentActivityChanged " ++ "IsActive=%d, " ++ "IsVisible=%d, " ++ "InFrameSwap=%d", ++ this, ++ doc->IsActive(), ++ doc->IsVisible(), ++ inFrameSwap)); ++ if (!doc->IsActive() || !(inFrameSwap || doc->IsVisible())) { + // Stop the session. + ErrorResult result; + Stop(result); +diff --git dom/media/moz.build dom/media/moz.build +index 194c73fd2f4c..4b1ca538f927 100644 +--- dom/media/moz.build ++++ dom/media/moz.build +@@ -312,6 +312,7 @@ EXTRA_JS_MODULES.media += [ + + LOCAL_INCLUDES += [ + '/caps', ++ '/docshell/base', + '/dom/base', + '/layout/generic', + '/layout/xul',