Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 3 Apr 2018 00:49:05 +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: r466271 - in head/www/waterfox: . files
Message-ID:  <201804030049.w330n5Il059349@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Tue Apr  3 00:49:05 2018
New Revision: 466271
URL: https://svnweb.freebsd.org/changeset/ports/466271

Log:
  www/waterfox: apply some FF60 fixes

Added:
  head/www/waterfox/files/patch-bug1372107   (contents, props changed)
  head/www/waterfox/files/patch-bug1418009   (contents, props changed)
  head/www/waterfox/files/patch-bug1436809   (contents, props changed)
  head/www/waterfox/files/patch-bug1447131   (contents, props changed)
Modified:
  head/www/waterfox/Makefile   (contents, props changed)

Modified: head/www/waterfox/Makefile
==============================================================================
--- head/www/waterfox/Makefile	Tue Apr  3 00:48:36 2018	(r466270)
+++ head/www/waterfox/Makefile	Tue Apr  3 00:49:05 2018	(r466271)
@@ -2,7 +2,7 @@
 
 PORTNAME=	waterfox
 DISTVERSION=	56.1.0
-PORTREVISION=	3
+PORTREVISION=	4
 CATEGORIES=	www ipv6
 
 MAINTAINER=	jbeich@FreeBSD.org

Added: head/www/waterfox/files/patch-bug1372107
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/waterfox/files/patch-bug1372107	Tue Apr  3 00:49:05 2018	(r466271)
@@ -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;

Added: head/www/waterfox/files/patch-bug1418009
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/waterfox/files/patch-bug1418009	Tue Apr  3 00:49:05 2018	(r466271)
@@ -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.

Added: head/www/waterfox/files/patch-bug1436809
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/waterfox/files/patch-bug1436809	Tue Apr  3 00:49:05 2018	(r466271)
@@ -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();

Added: head/www/waterfox/files/patch-bug1447131
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/waterfox/files/patch-bug1447131	Tue Apr  3 00:49:05 2018	(r466271)
@@ -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());



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