svn commit: r455197 - in head/www/waterfox: . files

Jan Beich jbeich at FreeBSD.org
Thu Nov 30 13:00:46 UTC 2017


Author: jbeich
Date: Thu Nov 30 13:00:44 2017
New Revision: 455197
URL: https://svnweb.freebsd.org/changeset/ports/455197

Log:
  www/waterfox: update to 56.0.s20171130
  
  - Apply some patches from Firefox 57.0.1
  - [amd64] Disable bundled and unmaintained ffvp9
  
  Changes:	https://github.com/MrAlex94/Waterfox/compare/224e688d8ddf...8c17fb8d3c7f

Added:
  head/www/waterfox/files/patch-bug1405364   (contents, props changed)
  head/www/waterfox/files/patch-bug1410106   (contents, props changed)
  head/www/waterfox/files/patch-bug1415946   (contents, props changed)
  head/www/waterfox/files/patch-bug1417869   (contents, props changed)
  head/www/waterfox/files/patch-bug1420001   (contents, props changed)
  head/www/waterfox/files/patch-modules_libpref_init_all.js   (contents, props changed)
  head/www/waterfox/files/patch-waterfox286   (contents, props changed)
Modified:
  head/www/waterfox/Makefile   (contents, props changed)
  head/www/waterfox/distinfo   (contents, props changed)

Modified: head/www/waterfox/Makefile
==============================================================================
--- head/www/waterfox/Makefile	Thu Nov 30 11:36:55 2017	(r455196)
+++ head/www/waterfox/Makefile	Thu Nov 30 13:00:44 2017	(r455197)
@@ -1,7 +1,7 @@
 # $FreeBSD$
 
 PORTNAME=	waterfox
-DISTVERSION=	56.0.s20171122
+DISTVERSION=	56.0.s20171130
 CATEGORIES=	www ipv6
 
 MAINTAINER=	jbeich at FreeBSD.org
@@ -32,7 +32,7 @@ LIB_DEPENDS=	libv4l2.so:multimedia/libv4l
 USE_GITHUB=	yes
 GH_ACCOUNT=	MrAlex94
 GH_PROJECT=	Waterfox
-GH_TAGNAME=	224e688d8ddf
+GH_TAGNAME=	8c17fb8d3c7f
 
 USE_GECKO=	gecko
 MOZ_PKGCONFIG_FILES=	# empty

Modified: head/www/waterfox/distinfo
==============================================================================
--- head/www/waterfox/distinfo	Thu Nov 30 11:36:55 2017	(r455196)
+++ head/www/waterfox/distinfo	Thu Nov 30 13:00:44 2017	(r455197)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1511372895
-SHA256 (MrAlex94-Waterfox-56.0.s20171122-224e688d8ddf_GH0.tar.gz) = f9d62e1f1d4379304e688dcd895bc1dded49fb7ed99d03419662db08ffc84a13
-SIZE (MrAlex94-Waterfox-56.0.s20171122-224e688d8ddf_GH0.tar.gz) = 394181158
+TIMESTAMP = 1512000823
+SHA256 (MrAlex94-Waterfox-56.0.s20171130-8c17fb8d3c7f_GH0.tar.gz) = 6d452052eb4eb618459a39ebe41ed343312cf07bc1f9668c550502844b376dcc
+SIZE (MrAlex94-Waterfox-56.0.s20171130-8c17fb8d3c7f_GH0.tar.gz) = 394188551

Added: head/www/waterfox/files/patch-bug1405364
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/waterfox/files/patch-bug1405364	Thu Nov 30 13:00:44 2017	(r455197)
@@ -0,0 +1,84 @@
+commit bc3e9c9c8230
+Author: Andrew Osmond <aosmond at mozilla.com>
+Date:   Mon Oct 30 06:58:04 2017 -0400
+
+    Bug 1405364 - ImageBridgeParent::GetInstance should not mutate sImageBridges for lookups. r=sotaro a=sylvestre
+    
+    --HG--
+    extra : amend_source : 6121399940a53f45027923e0e3f5a517722036ed
+    extra : transplant_source : %D1%06%8F%0D%25%B3%FD%82%3D%C9%0A%5C%9B%C7%3B%15%9C%A7%EC%91
+---
+ gfx/layers/ipc/ImageBridgeParent.cpp | 18 ++++++++++++------
+ gfx/layers/ipc/ImageBridgeParent.h   |  5 +++--
+ 2 files changed, 15 insertions(+), 8 deletions(-)
+
+diff --git gfx/layers/ipc/ImageBridgeParent.cpp gfx/layers/ipc/ImageBridgeParent.cpp
+index 745576a3a7b3..8f8f60ffcd78 100644
+--- gfx/layers/ipc/ImageBridgeParent.cpp
++++ gfx/layers/ipc/ImageBridgeParent.cpp
+@@ -42,7 +42,7 @@ using namespace mozilla::ipc;
+ using namespace mozilla::gfx;
+ using namespace mozilla::media;
+ 
+-std::map<base::ProcessId, ImageBridgeParent*> ImageBridgeParent::sImageBridges;
++ImageBridgeParent::ImageBridgeMap ImageBridgeParent::sImageBridges;
+ 
+ StaticAutoPtr<mozilla::Monitor> sImageBridgesLock;
+ 
+@@ -366,8 +366,9 @@ ImageBridgeParent::NotifyImageComposites(nsTArray<ImageCompositeNotificationInfo
+       notifications.AppendElement(aNotifications[end].mNotification);
+       ++end;
+     }
+-    GetInstance(pid)->SendPendingAsyncMessages();
+-    if (!GetInstance(pid)->SendDidComposite(notifications)) {
++    RefPtr<ImageBridgeParent> bridge = GetInstance(pid);
++    bridge->SendPendingAsyncMessages();
++    if (!bridge->SendDidComposite(notifications)) {
+       ok = false;
+     }
+     i = end;
+@@ -382,13 +383,18 @@ ImageBridgeParent::DeferredDestroy()
+   mSelfRef = nullptr; // "this" ImageBridge may get deleted here.
+ }
+ 
+-RefPtr<ImageBridgeParent>
++already_AddRefed<ImageBridgeParent>
+ ImageBridgeParent::GetInstance(ProcessId aId)
+ {
+   MOZ_ASSERT(CompositorThreadHolder::IsInCompositorThread());
+   MonitorAutoLock lock(*sImageBridgesLock);
+-  NS_ASSERTION(sImageBridges.count(aId) == 1, "ImageBridgeParent for the process");
+-  return sImageBridges[aId];
++  ImageBridgeMap::const_iterator i = sImageBridges.find(aId);
++  if (i == sImageBridges.end()) {
++    NS_ASSERTION(false, "Cannot find image bridge for process!");
++    return nullptr;
++  }
++  RefPtr<ImageBridgeParent> bridge = i->second;
++  return bridge.forget();
+ }
+ 
+ bool
+diff --git gfx/layers/ipc/ImageBridgeParent.h gfx/layers/ipc/ImageBridgeParent.h
+index 7475b67e356d..3edd1f8861ee 100644
+--- gfx/layers/ipc/ImageBridgeParent.h
++++ gfx/layers/ipc/ImageBridgeParent.h
+@@ -114,7 +114,7 @@ public:
+ 
+   virtual bool IsSameProcess() const override;
+ 
+-  static RefPtr<ImageBridgeParent> GetInstance(ProcessId aId);
++  static already_AddRefed<ImageBridgeParent> GetInstance(ProcessId aId);
+ 
+   static bool NotifyImageComposites(nsTArray<ImageCompositeNotificationInfo>& aNotifications);
+ 
+@@ -140,7 +140,8 @@ private:
+   /**
+    * Map of all living ImageBridgeParent instances
+    */
+-  static std::map<base::ProcessId, ImageBridgeParent*> sImageBridges;
++  typedef std::map<base::ProcessId, ImageBridgeParent*> ImageBridgeMap;
++  static ImageBridgeMap sImageBridges;
+ 
+   RefPtr<CompositorThreadHolder> mCompositorThreadHolder;
+ };

Added: head/www/waterfox/files/patch-bug1410106
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/waterfox/files/patch-bug1410106	Thu Nov 30 13:00:44 2017	(r455197)
@@ -0,0 +1,86 @@
+commit b5408a6b95e1
+Author: Andrea Marchesini <amarchesini at mozilla.com>
+Date:   Wed Nov 8 06:43:50 2017 +0100
+
+    Bug 1410106 - Better check about privateBrowsing for IDB. r=asuth, a=ritu
+    
+    --HG--
+    extra : source : 8a46aeb0b562dd2ac240657a53f489046deb9acb
+---
+ dom/indexedDB/ActorsParent.cpp           | 35 ++++++++++++++++++++++----------
+ dom/indexedDB/IDBFactory.cpp             |  1 -
+ dom/indexedDB/PBackgroundIDBFactory.ipdl |  1 -
+ 3 files changed, 24 insertions(+), 13 deletions(-)
+
+diff --git dom/indexedDB/ActorsParent.cpp dom/indexedDB/ActorsParent.cpp
+index 42aa9e38d630..21232cd4c0e3 100644
+--- dom/indexedDB/ActorsParent.cpp
++++ dom/indexedDB/ActorsParent.cpp
+@@ -21047,19 +21047,32 @@ FactoryOp::CheckPermission(ContentParent* aContentParent,
+   MOZ_ASSERT(mState == State::Initial || mState == State::PermissionRetry);
+ 
+   const PrincipalInfo& principalInfo = mCommonParams.principalInfo();
+-  if (principalInfo.type() != PrincipalInfo::TSystemPrincipalInfo &&
+-      NS_WARN_IF(!Preferences::GetBool(kPrefIndexedDBEnabled, false))) {
+-    if (aContentParent) {
+-      // The DOM in the other process should have kept us from receiving any
+-      // indexedDB messages so assume that the child is misbehaving.
+-      aContentParent->KillHard("IndexedDB CheckPermission 1");
++  if (principalInfo.type() != PrincipalInfo::TSystemPrincipalInfo) {
++    if (principalInfo.type() != PrincipalInfo::TContentPrincipalInfo) {
++      if (aContentParent) {
++        // We just want ContentPrincipalInfo or SystemPrincipalInfo.
++        aContentParent->KillHard("IndexedDB CheckPermission 0");
++      }
++
++      return NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR;
+     }
+-    return NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR;
+-  }
+ 
+-  if (NS_WARN_IF(mCommonParams.privateBrowsingMode())) {
+-    // XXX This is only temporary.
+-    return NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR;
++    if (NS_WARN_IF(!Preferences::GetBool(kPrefIndexedDBEnabled, false))) {
++      if (aContentParent) {
++        // The DOM in the other process should have kept us from receiving any
++        // indexedDB messages so assume that the child is misbehaving.
++        aContentParent->KillHard("IndexedDB CheckPermission 1");
++      }
++
++      return NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR;
++    }
++
++    const ContentPrincipalInfo& contentPrincipalInfo =
++      principalInfo.get_ContentPrincipalInfo();
++    if (contentPrincipalInfo.attrs().mPrivateBrowsingId != 0) {
++      // IndexedDB is currently disabled in privateBrowsing.
++      return NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR;
++    }
+   }
+ 
+   mFileHandleDisabled = !Preferences::GetBool(kPrefFileHandleEnabled);
+diff --git dom/indexedDB/IDBFactory.cpp dom/indexedDB/IDBFactory.cpp
+index 49e60ffc8927..3e12382a932e 100644
+--- dom/indexedDB/IDBFactory.cpp
++++ dom/indexedDB/IDBFactory.cpp
+@@ -638,7 +638,6 @@ IDBFactory::OpenInternal(JSContext* aCx,
+   MOZ_ASSERT_IF(!mWindow, !mPrivateBrowsingMode);
+ 
+   CommonFactoryRequestParams commonParams;
+-  commonParams.privateBrowsingMode() = mPrivateBrowsingMode;
+ 
+   PrincipalInfo& principalInfo = commonParams.principalInfo();
+ 
+diff --git dom/indexedDB/PBackgroundIDBFactory.ipdl dom/indexedDB/PBackgroundIDBFactory.ipdl
+index e6c64dca4e09..1e81e324dc7d 100644
+--- dom/indexedDB/PBackgroundIDBFactory.ipdl
++++ dom/indexedDB/PBackgroundIDBFactory.ipdl
+@@ -22,7 +22,6 @@ struct CommonFactoryRequestParams
+ {
+   DatabaseMetadata metadata;
+   PrincipalInfo principalInfo;
+-  bool privateBrowsingMode;
+ };
+ 
+ struct OpenDatabaseRequestParams

Added: head/www/waterfox/files/patch-bug1415946
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/waterfox/files/patch-bug1415946	Thu Nov 30 13:00:44 2017	(r455197)
@@ -0,0 +1,33 @@
+commit 9a1395f61292
+Author: Emilio Cobos Álvarez <emilio at crisal.io>
+Date:   Fri Nov 10 17:33:00 2017 -0500
+
+    Bug 1415946 - Make font-variant-alternates: historical-forms parsing ascii case insensitive. r=jfkthame, a=sledru
+    
+    MozReview-Commit-ID: 42bKZEgysdW
+---
+ servo/components/style/properties/longhand/font.mako.rs | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git servo/components/style/properties/longhand/font.mako.rs servo/components/style/properties/longhand/font.mako.rs
+index b880cd335321..91d2c254d219 100644
+--- servo/components/style/properties/longhand/font.mako.rs
++++ servo/components/style/properties/longhand/font.mako.rs
+@@ -1450,6 +1450,8 @@ ${helpers.single_keyword_system("font-kerning",
+     ///    annotation(<feature-value-name>) ]
+     pub fn parse<'i, 't>(_context: &ParserContext, input: &mut Parser<'i, 't>)
+                          -> Result<SpecifiedValue, ParseError<'i>> {
++        #[allow(unused_imports)] use std::ascii::AsciiExt;
++
+         let mut alternates = Vec::new();
+         if input.try(|input| input.expect_ident_matching("normal")).is_ok() {
+             return Ok(SpecifiedValue::Value(VariantAlternatesList(alternates.into_boxed_slice())));
+@@ -1468,7 +1470,7 @@ ${helpers.single_keyword_system("font-kerning",
+             // FIXME: remove clone() when lifetimes are non-lexical
+             match input.next()?.clone() {
+                 Token::Ident(ref ident) => {
+-                    if *ident == "historical-forms" {
++                    if ident.eq_ignore_ascii_case("historical-forms") {
+                         check_if_parsed!(HISTORICAL_FORMS);
+                         alternates.push(VariantAlternates::HistoricalForms);
+                         Ok(())

Added: head/www/waterfox/files/patch-bug1417869
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/waterfox/files/patch-bug1417869	Thu Nov 30 13:00:44 2017	(r455197)
@@ -0,0 +1,42 @@
+commit 22760bd00a04
+Author: JW Wang <jwwang at mozilla.com>
+Date:   Fri Nov 24 11:14:51 2017 +0100
+
+    Bug 1417869. P2 - abort the load algorithm early if media not allowed to load. r=jya, a=sledru
+    
+    MozReview-Commit-ID: DUxyo4ywCPW
+---
+ dom/html/HTMLMediaElement.cpp | 13 +++++++------
+ 1 file changed, 7 insertions(+), 6 deletions(-)
+
+diff --git dom/html/HTMLMediaElement.cpp dom/html/HTMLMediaElement.cpp
+index 5d51851047cf..c2106402c661 100644
+--- dom/html/HTMLMediaElement.cpp
++++ dom/html/HTMLMediaElement.cpp
+@@ -1956,6 +1956,13 @@ NS_IMETHODIMP HTMLMediaElement::Load()
+ 
+ void HTMLMediaElement::DoLoad()
+ {
++  // Check if media is allowed for the docshell.
++  nsCOMPtr<nsIDocShell> docShell = OwnerDoc()->GetDocShell();
++  if (docShell && !docShell->GetAllowMedia()) {
++    LOG(LogLevel::Debug, ("%p Media not allowed", this));
++    return;
++  }
++
+   if (mIsRunningLoadMethod) {
+     return;
+   }
+@@ -2497,12 +2504,6 @@ nsresult HTMLMediaElement::LoadResource()
+     mChannelLoader = nullptr;
+   }
+ 
+-  // Check if media is allowed for the docshell.
+-  nsCOMPtr<nsIDocShell> docShell = OwnerDoc()->GetDocShell();
+-  if (docShell && !docShell->GetAllowMedia()) {
+-    return NS_ERROR_FAILURE;
+-  }
+-
+   // Set the media element's CORS mode only when loading a resource
+   mCORSMode = AttrValueToCORSMode(GetParsedAttr(nsGkAtoms::crossorigin));
+ 

Added: head/www/waterfox/files/patch-bug1420001
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/waterfox/files/patch-bug1420001	Thu Nov 30 13:00:44 2017	(r455197)
@@ -0,0 +1,67 @@
+commit 3bd032461399
+Author: Emilio Cobos Álvarez <emilio at crisal.io>
+Date:   Mon Nov 27 14:57:57 2017 -0600
+
+    Bug 1420001 - style: Disable :visited if the document is being used as an image (from emilio:visited-as-an-image). r=dholbert, a=sledru
+    
+    MozReview-Commit-ID: F9MeT1kXZER
+    Source-Repo: https://github.com/servo/servo
+    Source-Revision: 7c99ae3bb8056f7e30a3b40340200eced385902d
+    
+    --HG--
+    extra : source : ed1802f246cb377522e492bf313038213c114843
+    extra : intermediate-source : d1599028c579f31e1441b9df277bf8f38c0e7f56
+---
+ servo/components/style/gecko/data.rs | 25 +++++++++++++++++++++++--
+ 1 file changed, 23 insertions(+), 2 deletions(-)
+
+diff --git servo/components/style/gecko/data.rs servo/components/style/gecko/data.rs
+index aeab6a938b9f..244fa034ba61 100644
+--- servo/components/style/gecko/data.rs
++++ servo/components/style/gecko/data.rs
+@@ -165,12 +165,20 @@ impl PerDocumentStyleDataImpl {
+     }
+ 
+     /// Returns whether private browsing is enabled.
+-    pub fn is_private_browsing_enabled(&self) -> bool {
++    fn is_private_browsing_enabled(&self) -> bool {
+         let doc =
+             self.stylist.device().pres_context().mDocument.raw::<nsIDocument>();
+         unsafe { bindings::Gecko_IsPrivateBrowsingEnabled(doc) }
+     }
+ 
++    /// Returns whether the document is being used as an image.
++    fn is_being_used_as_an_image(&self) -> bool {
++        let doc =
++            self.stylist.device().pres_context().mDocument.raw::<nsIDocument>();
++
++        unsafe { (*doc).mIsBeingUsedAsImage() }
++    }
++
+     /// Get the default computed values for this document.
+     pub fn default_computed_values(&self) -> &Arc<ComputedValues> {
+         self.stylist.device().default_computed_values_arc()
+@@ -180,9 +188,22 @@ impl PerDocumentStyleDataImpl {
+     fn visited_links_enabled(&self) -> bool {
+         unsafe { bindings::Gecko_AreVisitedLinksEnabled() }
+     }
++
+     /// Returns whether visited styles are enabled.
+     pub fn visited_styles_enabled(&self) -> bool {
+-        self.visited_links_enabled() && !self.is_private_browsing_enabled()
++        if !self.visited_links_enabled() {
++            return false;
++        }
++
++        if self.is_private_browsing_enabled() {
++            return false;
++        }
++
++        if self.is_being_used_as_an_image() {
++            return false;
++        }
++
++        true
+     }
+ 
+     /// Measure heap usage.

Added: head/www/waterfox/files/patch-modules_libpref_init_all.js
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/waterfox/files/patch-modules_libpref_init_all.js	Thu Nov 30 13:00:44 2017	(r455197)
@@ -0,0 +1,17 @@
+- ffvpx is based on ffmpeg n3.2-65-gee56777, so prefer system ffmpeg in case
+  of vulnerabilites. FreeBSD package depends on ffmpeg by default, anyway.
+
+--- modules/libpref/init/all.js.orig	2017-11-30 00:13:43 UTC
++++ modules/libpref/init/all.js
+@@ -407,7 +407,11 @@ pref("media.ffmpeg.enabled", true);
+ pref("media.libavcodec.allow-obsolete", false);
+ #endif
+ #if defined(MOZ_FFVPX)
++#if defined(MOZ_FFMPEG)
++pref("media.ffvpx.enabled", false);
++#else
+ pref("media.ffvpx.enabled", true);
++#endif
+ #endif
+ #if defined(MOZ_FFMPEG) || defined(MOZ_FFVPX)
+ pref("media.ffmpeg.low-latency.enabled", false);

Added: head/www/waterfox/files/patch-waterfox286
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/waterfox/files/patch-waterfox286	Thu Nov 30 13:00:44 2017	(r455197)
@@ -0,0 +1,15 @@
+Revert 3e46c9b52447 as it has the opposite effect
+
+--- browser/branding/unofficial/configure.sh.orig	2017-11-30 00:13:43 UTC
++++ browser/branding/unofficial/configure.sh
+@@ -12,10 +12,3 @@ elif test "$OS_ARCH" = "Darwin"; then
+ else
+   MOZ_APP_PROFILE=Waterfox
+ fi
+-
+-MOZ_TELEMETRY_REPORTING=0
+-MOZ_REQUIRE_SIGNING=0
+-MOZ_ADOBE_EME=0
+-MOZ_SERVICES_HEALTHREPORT=0
+-MOZ_CRASHREPORTER=0
+-MOZ_DATA_REPORTING=0


More information about the svn-ports-all mailing list