diff options
author | jbeich <jbeich@FreeBSD.org> | 2018-04-03 08:49:05 +0800 |
---|---|---|
committer | jbeich <jbeich@FreeBSD.org> | 2018-04-03 08:49:05 +0800 |
commit | 7d7859ec838e3bd2415c0dbb1fe8cfb62b6bdf1b (patch) | |
tree | f0778da17ee3779f1fcc6ee8df1dd929974846f8 /www | |
parent | 21e9df5842af57adac13d6a7ffbcdc7eeadc8e0f (diff) | |
download | freebsd-ports-gnome-7d7859ec838e3bd2415c0dbb1fe8cfb62b6bdf1b.tar.gz freebsd-ports-gnome-7d7859ec838e3bd2415c0dbb1fe8cfb62b6bdf1b.tar.zst freebsd-ports-gnome-7d7859ec838e3bd2415c0dbb1fe8cfb62b6bdf1b.zip |
www/waterfox: apply some FF60 fixes
Diffstat (limited to 'www')
-rw-r--r-- | www/waterfox/Makefile | 2 | ||||
-rw-r--r-- | www/waterfox/files/patch-bug1372107 | 82 | ||||
-rw-r--r-- | www/waterfox/files/patch-bug1418009 | 28 | ||||
-rw-r--r-- | www/waterfox/files/patch-bug1436809 | 27 | ||||
-rw-r--r-- | www/waterfox/files/patch-bug1447131 | 160 |
5 files changed, 298 insertions, 1 deletions
diff --git a/www/waterfox/Makefile b/www/waterfox/Makefile index 7dd5228a9568..f1e96f0d309b 100644 --- a/www/waterfox/Makefile +++ b/www/waterfox/Makefile @@ -2,7 +2,7 @@ PORTNAME= waterfox DISTVERSION= 56.1.0 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= www ipv6 MAINTAINER= jbeich@FreeBSD.org diff --git a/www/waterfox/files/patch-bug1372107 b/www/waterfox/files/patch-bug1372107 new file mode 100644 index 000000000000..298cc734250b --- /dev/null +++ b/www/waterfox/files/patch-bug1372107 @@ -0,0 +1,82 @@ +commit 4224928879ee +Author: Michael Kaply <mozilla@kaply.com> +Date: Wed Mar 14 13:30:53 2018 -0500 + + Bug 1372107 - Allow browser to be started despite Autoconfig errors. r=florian, a=ritu + + MozReview-Commit-ID: of8cdUMedC + + --HG-- + extra : rebase_source : d58039b1f2e268c7a0af77e9a0680f759f203d99 + extra : source : dad020b0bb45903972c2856cc3a2968f39a27635 +--- + extensions/pref/autoconfig/src/nsReadConfig.cpp | 27 +++++++++++++------------ + 1 file changed, 14 insertions(+), 13 deletions(-) + +diff --git extensions/pref/autoconfig/src/nsReadConfig.cpp extensions/pref/autoconfig/src/nsReadConfig.cpp +index a87b5b2c1bd4..8939fdc268eb 100644 +--- extensions/pref/autoconfig/src/nsReadConfig.cpp ++++ extensions/pref/autoconfig/src/nsReadConfig.cpp +@@ -36,35 +36,35 @@ extern nsresult CentralizedAdminPrefManagerInit(); + extern nsresult CentralizedAdminPrefManagerFinish(); + + +-static void DisplayError(void) ++static nsresult DisplayError(void) + { + nsresult rv; + + nsCOMPtr<nsIPromptService> promptService = do_GetService("@mozilla.org/embedcomp/prompt-service;1"); + if (!promptService) +- return; ++ return NS_ERROR_FAILURE; + + nsCOMPtr<nsIStringBundleService> bundleService = do_GetService(NS_STRINGBUNDLE_CONTRACTID); + if (!bundleService) +- return; ++ return NS_ERROR_FAILURE; + + nsCOMPtr<nsIStringBundle> bundle; + bundleService->CreateBundle("chrome://autoconfig/locale/autoconfig.properties", + getter_AddRefs(bundle)); + if (!bundle) +- return; ++ return NS_ERROR_FAILURE; + + nsXPIDLString title; + rv = bundle->GetStringFromName("readConfigTitle", getter_Copies(title)); + if (NS_FAILED(rv)) +- return; ++ return rv; + + nsXPIDLString err; + rv = bundle->GetStringFromName("readConfigMsg", getter_Copies(err)); + if (NS_FAILED(rv)) +- return; ++ return rv; + +- promptService->Alert(nullptr, title.get(), err.get()); ++ return promptService->Alert(nullptr, title.get(), err.get()); + } + + // nsISupports Implementation +@@ -101,12 +101,13 @@ NS_IMETHODIMP nsReadConfig::Observe(nsISupports *aSubj + if (!nsCRT::strcmp(aTopic, NS_PREFSERVICE_READ_TOPIC_ID)) { + rv = readConfigFile(); + if (NS_FAILED(rv)) { +- DisplayError(); +- +- nsCOMPtr<nsIAppStartup> appStartup = +- do_GetService(NS_APPSTARTUP_CONTRACTID); +- if (appStartup) +- appStartup->Quit(nsIAppStartup::eAttemptQuit); ++ rv = DisplayError(); ++ if (NS_FAILED(rv)) { ++ nsCOMPtr<nsIAppStartup> appStartup = ++ do_GetService(NS_APPSTARTUP_CONTRACTID); ++ if (appStartup) ++ appStartup->Quit(nsIAppStartup::eAttemptQuit); ++ } + } + } + return rv; diff --git a/www/waterfox/files/patch-bug1418009 b/www/waterfox/files/patch-bug1418009 new file mode 100644 index 000000000000..2a9f5a7fd4fa --- /dev/null +++ b/www/waterfox/files/patch-bug1418009 @@ -0,0 +1,28 @@ +commit 068a8c4feb56 +Author: Oriol Brufau <oriol-bugzilla@hotmail.com> +Date: Fri Mar 16 16:58:36 2018 +0100 + + Bug 1418009 - Avoid speculative connections on prematurely inserted lazy tabs. r=dao, a=RyanVM + + MozReview-Commit-ID: 3T8PLBLEGNt + + --HG-- + extra : rebase_source : 5839f1ede2a3d939e8bad02520979a8911f69553 + extra : source : 6d67283033868a54d89a936ba5e336d9bad5c79c +--- + browser/components/sessionstore/SessionStore.jsm | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git browser/components/sessionstore/SessionStore.jsm browser/components/sessionstore/SessionStore.jsm +index dee998cbe7eb..88de8a64f0fc 100644 +--- browser/components/sessionstore/SessionStore.jsm ++++ browser/components/sessionstore/SessionStore.jsm +@@ -3547,7 +3547,7 @@ var SessionStoreInternal = { + * a tab to speculatively connect on mouse hover. + */ + speculativeConnectOnTabHover(tab) { +- if (this._restore_on_demand && !tab.__SS_connectionPrepared && tab.hasAttribute("pending")) { ++ if (tab.__SS_lazyData && !tab.__SS_connectionPrepared) { + let url = this.getLazyTabValue(tab, "url"); + let prepared = this.prepareConnectionToHost(url); + // This is used to test if a connection has been made beforehand. diff --git a/www/waterfox/files/patch-bug1436809 b/www/waterfox/files/patch-bug1436809 new file mode 100644 index 000000000000..541eaa1562ee --- /dev/null +++ b/www/waterfox/files/patch-bug1436809 @@ -0,0 +1,27 @@ +commit 91f4336a7ddc +Author: Michal Novotny <michal.novotny@gmail.com> +Date: Mon Apr 2 12:59:18 2018 -0400 + + Bug 1436809 - Check that stream message was converted to string correctly. r=valentin, a=abillings + + --HG-- + extra : rebase_source : c81e8000cd7e41d8928e6ee0c6eb6ee823debc23 + extra : source : b229809d17ff18263becfad6f9777c9ab0165279 +--- + netwerk/protocol/websocket/WebSocketChannel.cpp | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git netwerk/protocol/websocket/WebSocketChannel.cpp netwerk/protocol/websocket/WebSocketChannel.cpp +index a08655f95d8c..a17b2f382d23 100644 +--- netwerk/protocol/websocket/WebSocketChannel.cpp ++++ netwerk/protocol/websocket/WebSocketChannel.cpp +@@ -1052,6 +1052,9 @@ public: + nsresult rv = NS_ReadInputStreamToString(mMsg.pStream, *temp, mLength); + + NS_ENSURE_SUCCESS(rv, rv); ++ if (temp->Length() != mLength) { ++ return NS_ERROR_UNEXPECTED; ++ } + + mMsg.pStream->Close(); + mMsg.pStream->Release(); diff --git a/www/waterfox/files/patch-bug1447131 b/www/waterfox/files/patch-bug1447131 new file mode 100644 index 000000000000..ff424b941472 --- /dev/null +++ b/www/waterfox/files/patch-bug1447131 @@ -0,0 +1,160 @@ +commit c6116093dd45 +Author: Botond Ballo <botond@mozilla.com> +Date: Wed Mar 28 14:22:30 2018 -0400 + + Bug 1447131 - Handle backface-visibility:hidden in compositor hit testing. r=kats a=RyanVM + + MozReview-Commit-ID: EZhhSk3EZAL + + --HG-- + extra : source : e4b8a1682e6c4587649bcfbf5dab4b2ccdf4c741 +--- + gfx/layers/LayerMetricsWrapper.h | 7 +++++++ + gfx/layers/apz/src/APZCTreeManager.cpp | 9 ++++++--- + gfx/layers/apz/src/HitTestingTreeNode.cpp | 12 +++++++++++- + gfx/layers/apz/src/HitTestingTreeNode.h | 11 ++++++++++- + gfx/layers/wr/WebRenderScrollDataWrapper.h | 7 +++++++ + 5 files changed, 41 insertions(+), 5 deletions(-) + +diff --git gfx/layers/LayerMetricsWrapper.h gfx/layers/LayerMetricsWrapper.h +index baffde611220..dcf9fdc02b21 100644 +--- gfx/layers/LayerMetricsWrapper.h ++++ gfx/layers/LayerMetricsWrapper.h +@@ -446,6 +446,13 @@ public: + return mLayer->GetFixedPositionScrollContainerId(); + } + ++ bool IsBackfaceHidden() const ++ { ++ MOZ_ASSERT(IsValid()); ++ ++ return mLayer->IsBackfaceHidden(); ++ } ++ + // Expose an opaque pointer to the layer. Mostly used for printf + // purposes. This is not intended to be a general-purpose accessor + // for the underlying layer. +diff --git gfx/layers/apz/src/APZCTreeManager.cpp gfx/layers/apz/src/APZCTreeManager.cpp +index 9c66d22a41fe..7f82c3cee0a8 100644 +--- gfx/layers/apz/src/APZCTreeManager.cpp ++++ gfx/layers/apz/src/APZCTreeManager.cpp +@@ -835,7 +835,8 @@ APZCTreeManager::PrepareNodeForLayer(const ScrollNode& aLayer, + (!parentHasPerspective && aLayer.GetClipRect()) + ? Some(ParentLayerIntRegion(*aLayer.GetClipRect())) + : Nothing(), +- GetEventRegionsOverride(aParent, aLayer)); ++ GetEventRegionsOverride(aParent, aLayer), ++ aLayer.IsBackfaceHidden()); + node->SetScrollbarData(aLayer.GetScrollbarTargetContainerId(), + aLayer.GetScrollbarAnimationId(), + aLayer.GetScrollThumbData(), +@@ -948,7 +949,8 @@ APZCTreeManager::PrepareNodeForLayer(const ScrollNode& aLayer, + aLayer.GetVisibleRegion(), + aLayer.GetTransformTyped(), + clipRegion, +- GetEventRegionsOverride(aParent, aLayer)); ++ GetEventRegionsOverride(aParent, aLayer), ++ aLayer.IsBackfaceHidden()); + apzc->SetAncestorTransform(aAncestorTransform); + + PrintAPZCInfo(aLayer, apzc); +@@ -1047,7 +1049,8 @@ APZCTreeManager::PrepareNodeForLayer(const ScrollNode& aLayer, + aLayer.GetVisibleRegion(), + aLayer.GetTransformTyped(), + clipRegion, +- GetEventRegionsOverride(aParent, aLayer)); ++ GetEventRegionsOverride(aParent, aLayer), ++ aLayer.IsBackfaceHidden()); + } + + // Note: if layer properties must be propagated to nodes, RecvUpdate in +diff --git gfx/layers/apz/src/HitTestingTreeNode.cpp gfx/layers/apz/src/HitTestingTreeNode.cpp +index f16758e72ec6..ee1fce927c0d 100644 +--- gfx/layers/apz/src/HitTestingTreeNode.cpp ++++ gfx/layers/apz/src/HitTestingTreeNode.cpp +@@ -31,6 +31,7 @@ HitTestingTreeNode::HitTestingTreeNode(AsyncPanZoomController* aApzc, + , mScrollViewId(FrameMetrics::NULL_SCROLL_ID) + , mScrollbarAnimationId(0) + , mFixedPosTarget(FrameMetrics::NULL_SCROLL_ID) ++ , mIsBackfaceHidden(false) + , mOverride(EventRegionsOverride::NoOverride) + { + if (mIsPrimaryApzcHolder) { +@@ -263,13 +264,15 @@ HitTestingTreeNode::SetHitTestData(const EventRegions& aRegions, + const LayerIntRegion& aVisibleRegion, + const CSSTransformMatrix& aTransform, + const Maybe<ParentLayerIntRegion>& aClipRegion, +- const EventRegionsOverride& aOverride) ++ const EventRegionsOverride& aOverride, ++ bool aIsBackfaceHidden) + { + mEventRegions = aRegions; + mVisibleRegion = aVisibleRegion; + mTransform = aTransform; + mClipRegion = aClipRegion; + mOverride = aOverride; ++ mIsBackfaceHidden = aIsBackfaceHidden; + } + + bool +@@ -287,6 +290,13 @@ HitTestingTreeNode::HitTest(const LayerPoint& aPoint) const + } + + auto point = LayerIntPoint::Round(aPoint); ++ ++ // If the layer's backface is showing and it's hidden, don't hit it. ++ // This matches the behavior of main-thread hit testing in ++ // nsDisplayTransform::HitTest(). ++ if (mIsBackfaceHidden) { ++ return HitTestResult::HitNothing; ++ } + + // test against event regions in Layer coordinate space + if (!mEventRegions.mHitRegion.Contains(point.x, point.y)) { +diff --git gfx/layers/apz/src/HitTestingTreeNode.h gfx/layers/apz/src/HitTestingTreeNode.h +index 50e04e515652..aef703fd23b5 100644 +--- gfx/layers/apz/src/HitTestingTreeNode.h ++++ gfx/layers/apz/src/HitTestingTreeNode.h +@@ -89,7 +89,8 @@ public: + const LayerIntRegion& aVisibleRegion, + const CSSTransformMatrix& aTransform, + const Maybe<ParentLayerIntRegion>& aClipRegion, +- const EventRegionsOverride& aOverride); ++ const EventRegionsOverride& aOverride, ++ bool aIsBackfaceHidden); + bool IsOutsideClip(const ParentLayerPoint& aPoint) const; + + /* Scrollbar info */ +@@ -172,6 +173,14 @@ private: + * transforms. */ + CSSTransformMatrix mTransform; + ++ /* Whether layer L is backface-visibility:hidden, and its backface is ++ * currently visible. It's true that the latter depends on the layer's ++ * shadow transform, but the sorts of changes APZ makes to the shadow ++ * transform shouldn't change the backface from hidden to visible or ++ * vice versa, so it's sufficient to record this at hit test tree ++ * building time. */ ++ bool mIsBackfaceHidden; ++ + /* This is clip rect for L that we wish to use for hit-testing purposes. Note + * that this may not be exactly the same as the clip rect on layer L because + * of the touch-sensitive region provided by the GeckoContentController, or +diff --git gfx/layers/wr/WebRenderScrollDataWrapper.h gfx/layers/wr/WebRenderScrollDataWrapper.h +index 2e20bbdcdb8f..64d5319e10ff 100644 +--- gfx/layers/wr/WebRenderScrollDataWrapper.h ++++ gfx/layers/wr/WebRenderScrollDataWrapper.h +@@ -315,6 +315,13 @@ public: + return mLayer->GetFixedPositionScrollContainerId(); + } + ++ bool IsBackfaceHidden() const ++ { ++ // This is only used by APZCTM hit testing, and WR does its own ++ // hit testing, so no need to implement this. ++ return false; ++ } ++ + const void* GetLayer() const + { + MOZ_ASSERT(IsValid()); |