Index: branches/2017Q4/www/firefox/Makefile =================================================================== --- branches/2017Q4/www/firefox/Makefile (revision 455271) +++ branches/2017Q4/www/firefox/Makefile (revision 455272) @@ -1,77 +1,77 @@ # Created by: Alan Eldridge # $FreeBSD$ PORTNAME= firefox DISTVERSION= 56.0.2 DISTVERSIONSUFFIX=.source -PORTREVISION= 10 +PORTREVISION= 11 PORTEPOCH= 1 CATEGORIES= www ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source MAINTAINER= gecko@FreeBSD.org COMMENT= Web browser based on the browser portion of Mozilla BUILD_DEPENDS= nspr>=4.16:devel/nspr \ nss>=3.32.1:security/nss \ icu>=59.1,1:devel/icu \ libevent>=2.1.8:devel/libevent \ harfbuzz>=1.4.7:print/harfbuzz \ graphite2>=1.3.10:graphics/graphite2 \ png>=1.6.31:graphics/png \ libvorbis>=1.3.5,3:audio/libvorbis \ libvpx>=1.5.0:multimedia/libvpx \ sqlite3>=3.19.3:databases/sqlite3 \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3 \ v4l_compat>0:multimedia/v4l_compat \ autoconf-2.13:devel/autoconf213 \ yasm:devel/yasm \ llvm40>0:devel/llvm40 \ zip:archivers/zip # soundtouch>=1.9.0:audio/soundtouch \ LIB_DEPENDS= libv4l2.so:multimedia/libv4l USE_GECKO= gecko CONFLICTS_INSTALL= firefox-esr-45.* firefox-esr-3[18].* firefox-esr-24.* MOZ_PKGCONFIG_FILES= # empty USE_MOZILLA= -soundtouch MOZILLA_NAME= Firefox USE_GL= gl USES= tar:xz FIREFOX_ICON= ${MOZILLA}.png FIREFOX_ICON_SRC= ${PREFIX}/lib/${MOZILLA}/browser/chrome/icons/default/default48.png MOZ_EXPORT= BINDGEN_CFLAGS="-isystem${LOCALBASE}/include/nspr \ -isystem${LOCALBASE}/include/pixman-1" # XXX bug 1341234 MOZ_OPTIONS= --enable-application=browser \ --enable-official-branding OPTIONS_DEFAULT= BUNDLED_CAIRO OPTIONS_EXCLUDE= GNOMEUI .include "${.CURDIR}/../../www/firefox/Makefile.options" WRKSRC:= ${WRKDIR}/${PORTNAME}-${DISTVERSION} post-extract: @${SED} -e 's|@FIREFOX_ICON@|${FIREFOX_ICON}|' -e 's|@MOZILLA@|${MOZILLA}|' \ -e 's|@MOZILLA_NAME@|${MOZILLA_NAME}|' \ <${FILESDIR}/firefox.desktop.in >${WRKDIR}/${MOZILLA}.desktop post-patch: @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${WRKSRC}/browser/app/nsBrowserApp.cpp pre-configure: (cd ${WRKSRC} && ${LOCALBASE}/bin/autoconf-2.13) (cd ${WRKSRC}/js/src/ && ${LOCALBASE}/bin/autoconf-2.13) post-install: ${MKDIR} ${STAGEDIR}${PREFIX}/share/pixmaps ${INSTALL_DATA} ${WRKDIR}/${MOZILLA}.desktop ${STAGEDIR}${PREFIX}/share/applications/ ${LN} -sf ${FIREFOX_ICON_SRC} ${STAGEDIR}${PREFIX}/share/pixmaps/${FIREFOX_ICON} .include Index: branches/2017Q4/www/firefox/files/patch-bug1405364 =================================================================== --- branches/2017Q4/www/firefox/files/patch-bug1405364 (nonexistent) +++ branches/2017Q4/www/firefox/files/patch-bug1405364 (revision 455272) @@ -0,0 +1,84 @@ +commit bc3e9c9c8230 +Author: Andrew Osmond +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 ImageBridgeParent::sImageBridges; ++ImageBridgeParent::ImageBridgeMap ImageBridgeParent::sImageBridges; + + StaticAutoPtr sImageBridgesLock; + +@@ -366,8 +366,9 @@ ImageBridgeParent::NotifyImageComposites(nsTArraySendPendingAsyncMessages(); +- if (!GetInstance(pid)->SendDidComposite(notifications)) { ++ RefPtr 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 ++already_AddRefed + 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 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 GetInstance(ProcessId aId); ++ static already_AddRefed GetInstance(ProcessId aId); + + static bool NotifyImageComposites(nsTArray& aNotifications); + +@@ -140,7 +140,8 @@ private: + /** + * Map of all living ImageBridgeParent instances + */ +- static std::map sImageBridges; ++ typedef std::map ImageBridgeMap; ++ static ImageBridgeMap sImageBridges; + + RefPtr mCompositorThreadHolder; + }; Property changes on: branches/2017Q4/www/firefox/files/patch-bug1405364 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: branches/2017Q4/www/firefox/files/patch-bug1410106 =================================================================== --- branches/2017Q4/www/firefox/files/patch-bug1410106 (nonexistent) +++ branches/2017Q4/www/firefox/files/patch-bug1410106 (revision 455272) @@ -0,0 +1,86 @@ +commit b5408a6b95e1 +Author: Andrea Marchesini +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 Property changes on: branches/2017Q4/www/firefox/files/patch-bug1410106 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: branches/2017Q4/www/firefox/files/patch-bug1420001 =================================================================== --- branches/2017Q4/www/firefox/files/patch-bug1420001 (nonexistent) +++ branches/2017Q4/www/firefox/files/patch-bug1420001 (revision 455272) @@ -0,0 +1,67 @@ +commit 3bd032461399 +Author: Emilio Cobos Álvarez +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::(); + 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::(); ++ ++ unsafe { (*doc).mIsBeingUsedAsImage() } ++ } ++ + /// Get the default computed values for this document. + pub fn default_computed_values(&self) -> &Arc { + 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. Property changes on: branches/2017Q4/www/firefox/files/patch-bug1420001 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property