pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/www/firefox



Module Name:    pkgsrc
Committed By:   ryoon
Date:           Sat Dec  3 09:58:26 UTC 2016

Modified Files:
        pkgsrc/www/firefox: Makefile PLIST distinfo
        pkgsrc/www/firefox/patches: patch-aa
            patch-build_moz.configure_old.configure patch-config_Makefile.in
            patch-config_external_moz.build patch-config_system-headers
            patch-dom_media_moz.build patch-image_decoders_nsJPEGDecoder.cpp
            patch-js_xpconnect_src_xpcprivate.h
            patch-media_libcubeb_src_cubeb__alsa.c
            patch-media_libcubeb_src_cubeb__oss.c
            patch-media_libcubeb_src_moz.build patch-mfbt_Attributes.h
            patch-toolkit_library_moz.build
Added Files:
        pkgsrc/www/firefox/patches: patch-browser_components_nsBrowserGlue.js
            patch-build_moz.configure_init.configure patch-dom_base_moz.build
            patch-dom_media_AudioStream.cpp patch-dom_media_AudioStream.h
            patch-dom_system_OSFileConstants.cpp
            patch-extensions_spellcheck_hunspell_glue_moz.build
            patch-extensions_spellcheck_src_moz.build
            patch-gfx_graphite2_moz-gr-update.sh patch-gfx_moz.build
            patch-gfx_skia_generate__mozbuild.py patch-gfx_skia_moz.build
            patch-gfx_thebes_gfxFontUtils.cpp patch-gfx_thebes_moz.build
            patch-intl_lwbrk_nsJISx4051LineBreaker.cpp
            patch-intl_unicharutil_util_moz.build patch-js_src_moz.build
            patch-media_libcubeb_tests_moz.build patch-media_libcubeb_update.sh
            patch-media_libsoundtouch_src_soundtouch__perms.h
            patch-media_libyuv_source_mjpeg__decoder.cc
            patch-media_webrtc_signaling_test_common.build
            patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc
            patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc
            patch-media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi
            patch-mobile_android_installer_Makefile.in
            patch-mobile_android_installer_package-manifest.in
            patch-moz.configure patch-netwerk_dns_moz.build
            patch-toolkit_components_osfile_modules_osfile__unix__back.jsm
            patch-toolkit_components_osfile_modules_osfile__unix__front.jsm
            patch-xpcom_build_XPCOMInit.cpp
Removed Files:
        pkgsrc/www/firefox/patches:
            patch-media_libyuv_include_libyuv_scale__row.h
            patch-netwerk_srtp_src_crypto_hash_hmac.c
            patch-netwerk_srtp_src_crypto_kernel_crypto__kernel.c

Log Message:
Update to 50.0.2

* Change default audio support to ALSA.
  You can use OSS or pulseaudio via ALSA plugin package.

Changelog:
50.0.2:
Fixed in Firefox 50.0.2
 #CVE-2016-9079: Use-after-free in SVG Animation

50.0.1:
Fixed
   *Firefox crashes with 3rd party Chinese IME when using IME text

Security vulnerabilities fixed in Firefox 50.0.1:
 #CVE-2016-9078: data: URL can inherit wrong origin after an HTTP redirect

50.0:

New
   *Playback video on more sites without plugins with WebM EME Support for Widevine on Windows and Mac
   *Improved performance for SDK extensions or extensions using the SDK module loader
   *Added download protection for a large number of executable file types on Windows, Mac and Linux
   *Increased availability of WebGL to more than 98 percent of users on Windows 7 and newer
   *Added Guarani (gn) locale
   *Added option to Find in page that allows users to limit search to whole words only
   *Updates to keyboard shortcuts
       *Set a preference to have Ctrl+Tab cycle through tabs in recently used order
       *View a page in Reader Mode by using Ctrl+Alt+R (command+alt+r on Mac)

Fixed
   *Login cookies are now saved for sites with a high number of cookies (Bug 1264192)
   *Various security fixes

   *Fixed rendering of dashed and dotted borders with rounded corners (border-radius)

Changed
   *The link to check for plugin security updates has been removed from the addon manager as Firefox automatically checks for plugin updates
   *Blocked versions of libavcodec older than 54.35.1
   *Added a built-in Emoji set for operating systems without native Emoji fonts (Windows 8.0 and lower and Linux)

Developer
   *Changes for web developers

Security vulnerabilities fixed in Firefox 50:
 #CVE-2016-5296: Heap-buffer-overflow WRITE in rasterize_edges_1
 #CVE-2016-5292: URL parsing causes crash
 #CVE-2016-5293: Write to arbitrary file with Mozilla Updater and Maintenance Service using updater.log hardlink
 #CVE-2016-5294: Arbitrary target directory for result files of update process
 #CVE-2016-5297: Incorrect argument length checking in JavaScript
 #CVE-2016-9064: Add-ons update must verify IDs match between current and new versions
 #CVE-2016-9065: Firefox for Android location bar spoofing using fullscreen
 #CVE-2016-9066: Integer overflow leading to a buffer overflow in nsScriptLoadHandler
 #CVE-2016-9067: heap-use-after-free in nsINode::ReplaceOrInsertBefore
 #CVE-2016-9068: heap-use-after-free in nsRefreshDriver
 #CVE-2016-9072: 64-bit NPAPI sandbox isn't enabled on fresh profile
 #CVE-2016-9075: WebExtensions can access the mozAddonManager API and use it to gain elevated privileges
 #CVE-2016-9077: Canvas filters allow feDisplacementMaps to be applied to cross-origin images, allowing timing attacks on them
 #CVE-2016-5291: Same-origin policy violation using local HTML file and saved shortcut file
 #CVE-2016-5295: Mozilla Maintenance Service: Ability to read arbitrary files as SYSTEM
 #CVE-2016-5298: SSL indicator can mislead the user about the real URL visited
 #CVE-2016-5299: Firefox AuthToken in broadcast protected with signature-level permission can be accessed by an application installed beforehand that defines the same permissionsPI key (glocation) in 
broadcast protected with signature-level permission can be accessed by an application installed beforehand that defines the same permissions
 #CVE-2016-9062: Private browsing browser traces (Android) in browser.db and wal file
 #CVE-2016-9070: Sidebar bookmark can have reference to chrome window
 #CVE-2016-9073: windows.create schema doesn't specify "format": "relativeUrl"
 #CVE-2016-9074: Insufficient timing side-channel resistance in divSpoiler
 #CVE-2016-9076: select dropdown menu can be used for URL bar spoofing on e10s
 #CVE-2016-9063: Possible integer overflow to fix inside XML_Parse in Expat
 #CVE-2016-9071: Probe browser history via HSTS/301 redirect + CSP
 #CVE-2016-5289: Memory safety bugs fixed in Firefox 50
 #CVE-2016-5290: Memory safety bugs fixed in Firefox 50 and Firefox ESR 45.5


To generate a diff of this commit:
cvs rdiff -u -r1.270 -r1.271 pkgsrc/www/firefox/Makefile
cvs rdiff -u -r1.111 -r1.112 pkgsrc/www/firefox/PLIST
cvs rdiff -u -r1.261 -r1.262 pkgsrc/www/firefox/distinfo
cvs rdiff -u -r1.47 -r1.48 pkgsrc/www/firefox/patches/patch-aa
cvs rdiff -u -r0 -r1.1 \
    pkgsrc/www/firefox/patches/patch-browser_components_nsBrowserGlue.js \
    pkgsrc/www/firefox/patches/patch-build_moz.configure_init.configure \
    pkgsrc/www/firefox/patches/patch-dom_media_AudioStream.cpp \
    pkgsrc/www/firefox/patches/patch-extensions_spellcheck_hunspell_glue_moz.build \
    pkgsrc/www/firefox/patches/patch-extensions_spellcheck_src_moz.build \
    pkgsrc/www/firefox/patches/patch-gfx_thebes_gfxFontUtils.cpp \
    pkgsrc/www/firefox/patches/patch-intl_lwbrk_nsJISx4051LineBreaker.cpp \
    pkgsrc/www/firefox/patches/patch-js_src_moz.build \
    pkgsrc/www/firefox/patches/patch-media_libcubeb_tests_moz.build \
    pkgsrc/www/firefox/patches/patch-media_libcubeb_update.sh \
    pkgsrc/www/firefox/patches/patch-media_libsoundtouch_src_soundtouch__perms.h \
    pkgsrc/www/firefox/patches/patch-media_libyuv_source_mjpeg__decoder.cc \
    pkgsrc/www/firefox/patches/patch-moz.configure
cvs rdiff -u -r1.2 -r1.3 \
    pkgsrc/www/firefox/patches/patch-build_moz.configure_old.configure \
    pkgsrc/www/firefox/patches/patch-js_xpconnect_src_xpcprivate.h
cvs rdiff -u -r1.7 -r1.8 pkgsrc/www/firefox/patches/patch-config_Makefile.in \
    pkgsrc/www/firefox/patches/patch-image_decoders_nsJPEGDecoder.cpp \
    pkgsrc/www/firefox/patches/patch-media_libcubeb_src_cubeb__oss.c \
    pkgsrc/www/firefox/patches/patch-mfbt_Attributes.h \
    pkgsrc/www/firefox/patches/patch-toolkit_library_moz.build
cvs rdiff -u -r1.13 -r1.14 \
    pkgsrc/www/firefox/patches/patch-config_external_moz.build
cvs rdiff -u -r1.20 -r1.21 \
    pkgsrc/www/firefox/patches/patch-config_system-headers
cvs rdiff -u -r0 -r1.3 pkgsrc/www/firefox/patches/patch-dom_base_moz.build \
    pkgsrc/www/firefox/patches/patch-dom_media_AudioStream.h \
    pkgsrc/www/firefox/patches/patch-gfx_graphite2_moz-gr-update.sh \
    pkgsrc/www/firefox/patches/patch-gfx_moz.build \
    pkgsrc/www/firefox/patches/patch-media_webrtc_signaling_test_common.build
cvs rdiff -u -r1.5 -r1.6 pkgsrc/www/firefox/patches/patch-dom_media_moz.build
cvs rdiff -u -r0 -r1.9 \
    pkgsrc/www/firefox/patches/patch-dom_system_OSFileConstants.cpp
cvs rdiff -u -r0 -r1.6 \
    pkgsrc/www/firefox/patches/patch-gfx_skia_generate__mozbuild.py \
    pkgsrc/www/firefox/patches/patch-netwerk_dns_moz.build \
    pkgsrc/www/firefox/patches/patch-toolkit_components_osfile_modules_osfile__unix__front.jsm
cvs rdiff -u -r0 -r1.13 pkgsrc/www/firefox/patches/patch-gfx_skia_moz.build
cvs rdiff -u -r0 -r1.5 pkgsrc/www/firefox/patches/patch-gfx_thebes_moz.build \
    pkgsrc/www/firefox/patches/patch-intl_unicharutil_util_moz.build \
    pkgsrc/www/firefox/patches/patch-mobile_android_installer_Makefile.in \
    pkgsrc/www/firefox/patches/patch-mobile_android_installer_package-manifest.in
cvs rdiff -u -r1.16 -r1.17 \
    pkgsrc/www/firefox/patches/patch-media_libcubeb_src_cubeb__alsa.c
cvs rdiff -u -r1.9 -r1.10 \
    pkgsrc/www/firefox/patches/patch-media_libcubeb_src_moz.build
cvs rdiff -u -r1.1 -r0 \
    pkgsrc/www/firefox/patches/patch-media_libyuv_include_libyuv_scale__row.h \
    pkgsrc/www/firefox/patches/patch-netwerk_srtp_src_crypto_kernel_crypto__kernel.c
cvs rdiff -u -r0 -r1.10 \
    pkgsrc/www/firefox/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc \
    pkgsrc/www/firefox/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi
cvs rdiff -u -r0 -r1.11 \
    pkgsrc/www/firefox/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc
cvs rdiff -u -r1.2 -r0 \
    pkgsrc/www/firefox/patches/patch-netwerk_srtp_src_crypto_hash_hmac.c
cvs rdiff -u -r0 -r1.8 \
    pkgsrc/www/firefox/patches/patch-toolkit_components_osfile_modules_osfile__unix__back.jsm
cvs rdiff -u -r0 -r1.4 \
    pkgsrc/www/firefox/patches/patch-xpcom_build_XPCOMInit.cpp

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/www/firefox/Makefile
diff -u pkgsrc/www/firefox/Makefile:1.270 pkgsrc/www/firefox/Makefile:1.271
--- pkgsrc/www/firefox/Makefile:1.270   Wed Nov  9 17:41:08 2016
+++ pkgsrc/www/firefox/Makefile Sat Dec  3 09:58:25 2016
@@ -1,12 +1,11 @@
-# $NetBSD: Makefile,v 1.270 2016/11/09 17:41:08 maya Exp $
+# $NetBSD: Makefile,v 1.271 2016/12/03 09:58:25 ryoon Exp $
 
 FIREFOX_VER=           ${MOZ_BRANCH}${MOZ_BRANCH_MINOR}
-MOZ_BRANCH=            49.0
+MOZ_BRANCH=            50.0
 MOZ_BRANCH_MINOR=      .2
 
 DISTNAME=      firefox-${FIREFOX_VER}.source
 PKGNAME=       firefox-${MOZ_BRANCH}${MOZ_BRANCH_MINOR:S/b/beta/:S/esr//}
-PKGREVISION=   1
 CATEGORIES=    www
 MASTER_SITES+= ${MASTER_SITE_MOZILLA:=firefox/releases/${FIREFOX_VER}/source/}
 MASTER_SITES+= ${MASTER_SITE_MOZILLA_ALL:=firefox/releases/${FIREFOX_VER}/source/}

Index: pkgsrc/www/firefox/PLIST
diff -u pkgsrc/www/firefox/PLIST:1.111 pkgsrc/www/firefox/PLIST:1.112
--- pkgsrc/www/firefox/PLIST:1.111      Fri Oct 28 17:47:21 2016
+++ pkgsrc/www/firefox/PLIST    Sat Dec  3 09:58:25 2016
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.111 2016/10/28 17:47:21 riastradh Exp $
+@comment $NetBSD: PLIST,v 1.112 2016/12/03 09:58:25 ryoon Exp $
 bin/firefox
 lib/firefox/application.ini
 lib/firefox/browser/blocklist.xml
@@ -84,7 +84,7 @@ lib/firefox/browser/chrome/browser/conte
 lib/firefox/browser/chrome/browser/content/browser/browser-data-submission-info-bar.js
 lib/firefox/browser/chrome/browser/content/browser/browser-devedition.js
 lib/firefox/browser/chrome/browser/content/browser/browser-feeds.js
-lib/firefox/browser/chrome/browser/content/browser/browser-fullScreen.js
+lib/firefox/browser/chrome/browser/content/browser/browser-fullScreenAndPointerLock.js
 lib/firefox/browser/chrome/browser/content/browser/browser-fullZoom.js
 lib/firefox/browser/chrome/browser/content/browser/browser-fxaccounts.js
 lib/firefox/browser/chrome/browser/content/browser/browser-gestureSupport.js
@@ -156,7 +156,6 @@ lib/firefox/browser/chrome/browser/conte
 lib/firefox/browser/chrome/browser/content/browser/ext-tabs.js
 lib/firefox/browser/chrome/browser/content/browser/ext-utils.js
 lib/firefox/browser/chrome/browser/content/browser/ext-windows.js
-lib/firefox/browser/chrome/browser/content/browser/extension-mac.css
 lib/firefox/browser/chrome/browser/content/browser/extension.css
 lib/firefox/browser/chrome/browser/content/browser/extension.svg
 lib/firefox/browser/chrome/browser/content/browser/feeds/subscribe.js
@@ -293,14 +292,14 @@ lib/firefox/browser/chrome/browser/conte
 lib/firefox/browser/chrome/browser/content/browser/web-panels.xul
 lib/firefox/browser/chrome/browser/content/browser/webrtcIndicator.js
 lib/firefox/browser/chrome/browser/content/browser/webrtcIndicator.xul
-lib/firefox/browser/chrome/browser/skin/classic/browser/Geolocation-16.png
-lib/firefox/browser/chrome/browser/skin/classic/browser/Geolocation-64.png
 lib/firefox/browser/chrome/browser/skin/classic/browser/Info.png
 lib/firefox/browser/chrome/browser/skin/classic/browser/Privacy-16.png
 lib/firefox/browser/chrome/browser/skin/classic/browser/Security-broken.png
 lib/firefox/browser/chrome/browser/skin/classic/browser/Toolbar-inverted.png
+lib/firefox/browser/chrome/browser/skin/classic/browser/Toolbar-inverted%2x.png@localhost
 lib/firefox/browser/chrome/browser/skin/classic/browser/Toolbar-small.png
 lib/firefox/browser/chrome/browser/skin/classic/browser/Toolbar.png
+lib/firefox/browser/chrome/browser/skin/classic/browser/Toolbar%2x.png@localhost
 lib/firefox/browser/chrome/browser/skin/classic/browser/aboutNetError.css
 lib/firefox/browser/chrome/browser/skin/classic/browser/aboutProviderDirectory.css
 lib/firefox/browser/chrome/browser/skin/classic/browser/aboutSessionRestore-window-icon.png
@@ -351,7 +350,7 @@ lib/firefox/browser/chrome/browser/skin/
 lib/firefox/browser/chrome/browser/skin/classic/browser/customizableui/info-icon-customizeTip%2x.png@localhost
 lib/firefox/browser/chrome/browser/skin/classic/browser/customizableui/menuPanel-customizeFinish.png
 lib/firefox/browser/chrome/browser/skin/classic/browser/customizableui/menuPanel-customizeFinish%2x.png@localhost
-lib/firefox/browser/chrome/browser/skin/classic/browser/customizableui/panelUIOverlay.css
+lib/firefox/browser/chrome/browser/skin/classic/browser/customizableui/panelUI.css
 lib/firefox/browser/chrome/browser/skin/classic/browser/customizableui/panelarrow-customizeTip.png
 lib/firefox/browser/chrome/browser/skin/classic/browser/customizableui/panelarrow-customizeTip%2x.png@localhost
 lib/firefox/browser/chrome/browser/skin/classic/browser/customizableui/subView-arrow-back-inverted-rtl.png
@@ -361,13 +360,12 @@ lib/firefox/browser/chrome/browser/skin/
 lib/firefox/browser/chrome/browser/skin/classic/browser/customizableui/whimsy.png
 lib/firefox/browser/chrome/browser/skin/classic/browser/customizableui/whimsy%2x.png@localhost
 lib/firefox/browser/chrome/browser/skin/classic/browser/devedition.css
-lib/firefox/browser/chrome/browser/skin/classic/browser/devedition/urlbar-arrow.png
-lib/firefox/browser/chrome/browser/skin/classic/browser/devedition/urlbar-arrow%2x.png@localhost
 lib/firefox/browser/chrome/browser/skin/classic/browser/devedition/urlbar-history-dropmarker.svg
 lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/common.css
 lib/firefox/browser/chrome/browser/skin/classic/browser/downloads/allDownloadsViewOverlay.css
 lib/firefox/browser/chrome/browser/skin/classic/browser/downloads/buttons.png
 lib/firefox/browser/chrome/browser/skin/classic/browser/downloads/contentAreaDownloadsView.css
+lib/firefox/browser/chrome/browser/skin/classic/browser/downloads/download-blocked.svg
 lib/firefox/browser/chrome/browser/skin/classic/browser/downloads/download-glow-menuPanel.png
 lib/firefox/browser/chrome/browser/skin/classic/browser/downloads/download-notification-finish.png
 lib/firefox/browser/chrome/browser/skin/classic/browser/downloads/download-notification-start.png
@@ -380,6 +378,7 @@ lib/firefox/browser/chrome/browser/skin/
 lib/firefox/browser/chrome/browser/skin/classic/browser/feeds/feedIcon16.png
 lib/firefox/browser/chrome/browser/skin/classic/browser/feeds/subscribe-ui.css
 lib/firefox/browser/chrome/browser/skin/classic/browser/feeds/subscribe.css
+lib/firefox/browser/chrome/browser/skin/classic/browser/filters.svg
 lib/firefox/browser/chrome/browser/skin/classic/browser/fullscreen/insecure.svg
 lib/firefox/browser/chrome/browser/skin/classic/browser/fullscreen/secure.svg
 lib/firefox/browser/chrome/browser/skin/classic/browser/fxa/android.png
@@ -397,7 +396,6 @@ lib/firefox/browser/chrome/browser/skin/
 lib/firefox/browser/chrome/browser/skin/classic/browser/heartbeat-star-off.svg
 lib/firefox/browser/chrome/browser/skin/classic/browser/icon-search-64.svg
 lib/firefox/browser/chrome/browser/skin/classic/browser/identity-icon.svg
-lib/firefox/browser/chrome/browser/skin/classic/browser/identity-mixed-active-blocked.svg
 lib/firefox/browser/chrome/browser/skin/classic/browser/identity-mixed-active-loaded.svg
 lib/firefox/browser/chrome/browser/skin/classic/browser/identity-mixed-passive-loaded.svg
 lib/firefox/browser/chrome/browser/skin/classic/browser/identity-not-secure.svg
@@ -419,15 +417,11 @@ lib/firefox/browser/chrome/browser/skin/
 lib/firefox/browser/chrome/browser/skin/classic/browser/newtab/controls.svg
 lib/firefox/browser/chrome/browser/skin/classic/browser/newtab/newTab.css
 lib/firefox/browser/chrome/browser/skin/classic/browser/newtab/whimsycorn.png
-lib/firefox/browser/chrome/browser/skin/classic/browser/notification-pluginAlert.png
-lib/firefox/browser/chrome/browser/skin/classic/browser/notification-pluginAlert%2x.png@localhost
-lib/firefox/browser/chrome/browser/skin/classic/browser/notification-pluginBlocked.png
-lib/firefox/browser/chrome/browser/skin/classic/browser/notification-pluginBlocked%2x.png@localhost
-lib/firefox/browser/chrome/browser/skin/classic/browser/notification-pluginNormal.png
-lib/firefox/browser/chrome/browser/skin/classic/browser/notification-pluginNormal%2x.png@localhost
+lib/firefox/browser/chrome/browser/skin/classic/browser/notification-icons.svg
 lib/firefox/browser/chrome/browser/skin/classic/browser/page-livemarks.png
 lib/firefox/browser/chrome/browser/skin/classic/browser/pageInfo.css
 lib/firefox/browser/chrome/browser/skin/classic/browser/pageInfo.png
+lib/firefox/browser/chrome/browser/skin/classic/browser/panel-icons.svg
 lib/firefox/browser/chrome/browser/skin/classic/browser/panic-panel/header-small.png
 lib/firefox/browser/chrome/browser/skin/classic/browser/panic-panel/header-small%2x.png@localhost
 lib/firefox/browser/chrome/browser/skin/classic/browser/panic-panel/header.png
@@ -453,10 +447,6 @@ lib/firefox/browser/chrome/browser/skin/
 lib/firefox/browser/chrome/browser/skin/classic/browser/places/toolbarDropMarker.png
 lib/firefox/browser/chrome/browser/skin/classic/browser/places/unsortedBookmarks.png
 lib/firefox/browser/chrome/browser/skin/classic/browser/places/unstarred48.png
-lib/firefox/browser/chrome/browser/skin/classic/browser/pointerLock-16.png
-lib/firefox/browser/chrome/browser/skin/classic/browser/pointerLock-64.png
-lib/firefox/browser/chrome/browser/skin/classic/browser/preferences/Options-sync.png
-lib/firefox/browser/chrome/browser/skin/classic/browser/preferences/Options.png
 lib/firefox/browser/chrome/browser/skin/classic/browser/preferences/alwaysAsk.png
 lib/firefox/browser/chrome/browser/skin/classic/browser/preferences/applications.css
 lib/firefox/browser/chrome/browser/skin/classic/browser/preferences/in-content/dialog.css
@@ -464,7 +454,6 @@ lib/firefox/browser/chrome/browser/skin/
 lib/firefox/browser/chrome/browser/skin/classic/browser/preferences/in-content/icons.svg
 lib/firefox/browser/chrome/browser/skin/classic/browser/preferences/in-content/preferences.css
 lib/firefox/browser/chrome/browser/skin/classic/browser/preferences/in-content/search.css
-lib/firefox/browser/chrome/browser/skin/classic/browser/preferences/mail.png
 lib/firefox/browser/chrome/browser/skin/classic/browser/preferences/preferences.css
 lib/firefox/browser/chrome/browser/skin/classic/browser/privatebrowsing-mask.png
 lib/firefox/browser/chrome/browser/skin/classic/browser/privatebrowsing/aboutPrivateBrowsing.css
@@ -488,7 +477,6 @@ lib/firefox/browser/chrome/browser/skin/
 lib/firefox/browser/chrome/browser/skin/classic/browser/search-indicator-magnifying-glass.svg
 lib/firefox/browser/chrome/browser/skin/classic/browser/search-indicator.png
 lib/firefox/browser/chrome/browser/skin/classic/browser/search-indicator%2x.png@localhost
-lib/firefox/browser/chrome/browser/skin/classic/browser/search-pref.png
 lib/firefox/browser/chrome/browser/skin/classic/browser/searchReset.css
 lib/firefox/browser/chrome/browser/skin/classic/browser/searchbar.css
 lib/firefox/browser/chrome/browser/skin/classic/browser/session-restore.svg
@@ -524,23 +512,30 @@ lib/firefox/browser/chrome/browser/skin/
 lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/alltabs-inverted.png
 lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/alltabs.png
 lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/connecting.png
+lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/connecting%2x.png@localhost
 lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/crashed.svg
 lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/newtab-inverted.svg
 lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/newtab.svg
 lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/pendingpaint.png
 lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-active-middle.png
+lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-active-middle%2x.png@localhost
 lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-arrow-left-inverted.png
 lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-arrow-left.png
 lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-audio-small.svg
 lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-audio.svg
 lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-background-end.png
+lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-background-end%2x.png@localhost
 lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-background-middle.png
+lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-background-middle%2x.png@localhost
 lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-background-start.png
+lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-background-start%2x.png@localhost
 lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-overflow-indicator.png
 lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-selected-end.svg
 lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-selected-start.svg
 lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-stroke-end.png
+lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-stroke-end%2x.png@localhost
 lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-stroke-start.png
+lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-stroke-start%2x.png@localhost
 lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/tabDragIndicator.png
 lib/firefox/browser/chrome/browser/skin/classic/browser/theme-switcher-icon.png
 lib/firefox/browser/chrome/browser/skin/classic/browser/theme-switcher-icon%2x.png@localhost
@@ -554,8 +549,6 @@ lib/firefox/browser/chrome/browser/skin/
 lib/firefox/browser/chrome/browser/skin/classic/browser/undoCloseTab%2x.png@localhost
 lib/firefox/browser/chrome/browser/skin/classic/browser/update-badge-failed.svg
 lib/firefox/browser/chrome/browser/skin/classic/browser/update-badge.svg
-lib/firefox/browser/chrome/browser/skin/classic/browser/urlbar-arrow.png
-lib/firefox/browser/chrome/browser/skin/classic/browser/urlbar-arrow%2x.png@localhost
 lib/firefox/browser/chrome/browser/skin/classic/browser/urlbar-star.svg
 lib/firefox/browser/chrome/browser/skin/classic/browser/urlbar-tab.svg
 lib/firefox/browser/chrome/browser/skin/classic/browser/usercontext/banking.svg
@@ -563,30 +556,10 @@ lib/firefox/browser/chrome/browser/skin/
 lib/firefox/browser/chrome/browser/skin/classic/browser/usercontext/shopping.svg
 lib/firefox/browser/chrome/browser/skin/classic/browser/usercontext/work.svg
 lib/firefox/browser/chrome/browser/skin/classic/browser/warning.svg
-lib/firefox/browser/chrome/browser/skin/classic/browser/web-notifications-icon.svg
-lib/firefox/browser/chrome/browser/skin/classic/browser/web-notifications-tray.svg
 lib/firefox/browser/chrome/browser/skin/classic/browser/webRTC-camera-white-16.png
 lib/firefox/browser/chrome/browser/skin/classic/browser/webRTC-indicator.css
 lib/firefox/browser/chrome/browser/skin/classic/browser/webRTC-microphone-white-16.png
 lib/firefox/browser/chrome/browser/skin/classic/browser/webRTC-screen-white-16.png
-lib/firefox/browser/chrome/browser/skin/classic/browser/webRTC-shareDevice-16.png
-lib/firefox/browser/chrome/browser/skin/classic/browser/webRTC-shareDevice-16%2x.png@localhost
-lib/firefox/browser/chrome/browser/skin/classic/browser/webRTC-shareDevice-64.png
-lib/firefox/browser/chrome/browser/skin/classic/browser/webRTC-shareDevice-64%2x.png@localhost
-lib/firefox/browser/chrome/browser/skin/classic/browser/webRTC-shareMicrophone-16.png
-lib/firefox/browser/chrome/browser/skin/classic/browser/webRTC-shareMicrophone-16%2x.png@localhost
-lib/firefox/browser/chrome/browser/skin/classic/browser/webRTC-shareMicrophone-64.png
-lib/firefox/browser/chrome/browser/skin/classic/browser/webRTC-shareMicrophone-64%2x.png@localhost
-lib/firefox/browser/chrome/browser/skin/classic/browser/webRTC-shareScreen-16.png
-lib/firefox/browser/chrome/browser/skin/classic/browser/webRTC-shareScreen-16%2x.png@localhost
-lib/firefox/browser/chrome/browser/skin/classic/browser/webRTC-shareScreen-64.png
-lib/firefox/browser/chrome/browser/skin/classic/browser/webRTC-shareScreen-64%2x.png@localhost
-lib/firefox/browser/chrome/browser/skin/classic/browser/webRTC-sharingDevice-16.png
-lib/firefox/browser/chrome/browser/skin/classic/browser/webRTC-sharingDevice-16%2x.png@localhost
-lib/firefox/browser/chrome/browser/skin/classic/browser/webRTC-sharingMicrophone-16.png
-lib/firefox/browser/chrome/browser/skin/classic/browser/webRTC-sharingMicrophone-16%2x.png@localhost
-lib/firefox/browser/chrome/browser/skin/classic/browser/webRTC-sharingScreen-16.png
-lib/firefox/browser/chrome/browser/skin/classic/browser/webRTC-sharingScreen-16%2x.png@localhost
 lib/firefox/browser/chrome/browser/skin/classic/browser/welcome-back.svg
 lib/firefox/browser/chrome/browser/skin/classic/communicator/communicator.css
 lib/firefox/browser/chrome/chrome.manifest
@@ -620,9 +593,6 @@ lib/firefox/browser/chrome/devtools/cont
 lib/firefox/browser/chrome/devtools/content/dom/content/dom-view.css
 lib/firefox/browser/chrome/devtools/content/dom/dom.html
 lib/firefox/browser/chrome/devtools/content/dom/main.js
-lib/firefox/browser/chrome/devtools/content/eyedropper/crosshairs.css
-lib/firefox/browser/chrome/devtools/content/eyedropper/eyedropper.xul
-lib/firefox/browser/chrome/devtools/content/eyedropper/nocursor.css
 lib/firefox/browser/chrome/devtools/content/framework/connect/connect.css
 lib/firefox/browser/chrome/devtools/content/framework/connect/connect.js
 lib/firefox/browser/chrome/devtools/content/framework/connect/connect.xhtml
@@ -681,15 +651,11 @@ lib/firefox/browser/chrome/devtools/cont
 lib/firefox/browser/chrome/devtools/content/shared/vendor/d3.js
 lib/firefox/browser/chrome/devtools/content/shared/vendor/dagre-d3.js
 lib/firefox/browser/chrome/devtools/content/shared/widgets/VariablesView.xul
-lib/firefox/browser/chrome/devtools/content/shared/widgets/cubic-bezier-frame.xhtml
 lib/firefox/browser/chrome/devtools/content/shared/widgets/cubic-bezier.css
-lib/firefox/browser/chrome/devtools/content/shared/widgets/filter-frame.xhtml
 lib/firefox/browser/chrome/devtools/content/shared/widgets/filter-widget.css
 lib/firefox/browser/chrome/devtools/content/shared/widgets/graphs-frame.xhtml
-lib/firefox/browser/chrome/devtools/content/shared/widgets/mdn-docs-frame.xhtml
 lib/firefox/browser/chrome/devtools/content/shared/widgets/mdn-docs.css
-lib/firefox/browser/chrome/devtools/content/shared/widgets/spectrum-frame.xhtml
-lib/firefox/browser/chrome/devtools/content/shared/widgets/tooltip-frame.xhtml
+lib/firefox/browser/chrome/devtools/content/shared/widgets/spectrum.css
 lib/firefox/browser/chrome/devtools/content/shared/widgets/widgets.css
 lib/firefox/browser/chrome/devtools/content/sourceeditor/codemirror/addon/comment/comment.js
 lib/firefox/browser/chrome/devtools/content/sourceeditor/codemirror/addon/dialog/dialog.css
@@ -716,6 +682,7 @@ lib/firefox/browser/chrome/devtools/cont
 lib/firefox/browser/chrome/devtools/content/sourceeditor/codemirror/mode/css.js
 lib/firefox/browser/chrome/devtools/content/sourceeditor/codemirror/mode/htmlmixed.js
 lib/firefox/browser/chrome/devtools/content/sourceeditor/codemirror/mode/javascript.js
+lib/firefox/browser/chrome/devtools/content/sourceeditor/codemirror/mode/wasm.js
 lib/firefox/browser/chrome/devtools/content/sourceeditor/codemirror/mode/xml.js
 lib/firefox/browser/chrome/devtools/content/sourceeditor/codemirror/mozilla.css
 lib/firefox/browser/chrome/devtools/content/storage/storage.xul
@@ -748,6 +715,7 @@ lib/firefox/browser/chrome/devtools/modu
 lib/firefox/browser/chrome/devtools/modules/devtools/client/aboutdebugging/components/workers/panel.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/aboutdebugging/components/workers/service-worker-target.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/aboutdebugging/components/workers/target.js
+lib/firefox/browser/chrome/devtools/modules/devtools/client/aboutdebugging/modules/addon.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/aboutdebugging/modules/worker.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/animationinspector/components/animation-details.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/animationinspector/components/animation-target-node.js
@@ -794,9 +762,6 @@ lib/firefox/browser/chrome/devtools/modu
 lib/firefox/browser/chrome/devtools/modules/devtools/client/dom/dom-panel.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/dom/dom.html
 lib/firefox/browser/chrome/devtools/modules/devtools/client/dom/main.js
-lib/firefox/browser/chrome/devtools/modules/devtools/client/eyedropper/commands.js
-lib/firefox/browser/chrome/devtools/modules/devtools/client/eyedropper/eyedropper-child.js
-lib/firefox/browser/chrome/devtools/modules/devtools/client/eyedropper/eyedropper.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/framework/ToolboxProcess.jsm
 lib/firefox/browser/chrome/devtools/modules/devtools/client/framework/about-devtools-toolbox.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/framework/attach-thread.js
@@ -804,11 +769,12 @@ lib/firefox/browser/chrome/devtools/modu
 lib/firefox/browser/chrome/devtools/modules/devtools/client/framework/devtools-browser.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/framework/devtools.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/framework/gDevTools.jsm
+lib/firefox/browser/chrome/devtools/modules/devtools/client/framework/location-store.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/framework/menu-item.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/framework/menu.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/framework/selection.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/framework/sidebar.js
-lib/firefox/browser/chrome/devtools/modules/devtools/client/framework/source-location.js
+lib/firefox/browser/chrome/devtools/modules/devtools/client/framework/source-map-service.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/framework/target-from-url.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/framework/target.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/framework/toolbox-highlighter-utils.js
@@ -816,6 +782,8 @@ lib/firefox/browser/chrome/devtools/modu
 lib/firefox/browser/chrome/devtools/modules/devtools/client/framework/toolbox-options.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/framework/toolbox.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/breadcrumbs.js
+lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/components/inspector-tab-panel.css
+lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/components/inspector-tab-panel.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/computed/computed.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/fonts/fonts.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/inspector-commands.js
@@ -834,11 +802,11 @@ lib/firefox/browser/chrome/devtools/modu
 lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/shared/style-inspector-menu.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/shared/style-inspector-overlays.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/shared/utils.js
+lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/toolsidebar.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/jsonview/components/headers-panel.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/jsonview/components/headers.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/jsonview/components/json-panel.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/jsonview/components/main-tabbed-area.js
-lib/firefox/browser/chrome/devtools/modules/devtools/client/jsonview/components/reps/tabs.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/jsonview/components/reps/toolbar.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/jsonview/components/search-box.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/jsonview/components/text-panel.js
@@ -854,7 +822,6 @@ lib/firefox/browser/chrome/devtools/modu
 lib/firefox/browser/chrome/devtools/modules/devtools/client/jsonview/css/read-only-prop.svg
 lib/firefox/browser/chrome/devtools/modules/devtools/client/jsonview/css/search-box.css
 lib/firefox/browser/chrome/devtools/modules/devtools/client/jsonview/css/search.svg
-lib/firefox/browser/chrome/devtools/modules/devtools/client/jsonview/css/tabs.css
 lib/firefox/browser/chrome/devtools/modules/devtools/client/jsonview/css/text-panel.css
 lib/firefox/browser/chrome/devtools/modules/devtools/client/jsonview/css/toolbar.css
 lib/firefox/browser/chrome/devtools/modules/devtools/client/jsonview/json-viewer.js
@@ -992,8 +959,9 @@ lib/firefox/browser/chrome/devtools/modu
 lib/firefox/browser/chrome/devtools/modules/devtools/client/responsive.html/actions/touch-simulation.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/responsive.html/actions/viewports.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/responsive.html/app.js
-lib/firefox/browser/chrome/devtools/modules/devtools/client/responsive.html/audio/camera-click.mp3
 lib/firefox/browser/chrome/devtools/modules/devtools/client/responsive.html/browser/swap.js
+lib/firefox/browser/chrome/devtools/modules/devtools/client/responsive.html/browser/tunnel.js
+lib/firefox/browser/chrome/devtools/modules/devtools/client/responsive.html/browser/web-navigation.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/responsive.html/components/browser.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/responsive.html/components/device-modal.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/responsive.html/components/device-selector.js
@@ -1004,7 +972,6 @@ lib/firefox/browser/chrome/devtools/modu
 lib/firefox/browser/chrome/devtools/modules/devtools/client/responsive.html/components/viewport.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/responsive.html/components/viewports.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/responsive.html/constants.js
-lib/firefox/browser/chrome/devtools/modules/devtools/client/responsive.html/devices.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/responsive.html/images/close.svg
 lib/firefox/browser/chrome/devtools/modules/devtools/client/responsive.html/images/grippers.svg
 lib/firefox/browser/chrome/devtools/modules/devtools/client/responsive.html/images/rotate-viewport.svg
@@ -1023,6 +990,7 @@ lib/firefox/browser/chrome/devtools/modu
 lib/firefox/browser/chrome/devtools/modules/devtools/client/responsive.html/store.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/responsive.html/types.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/responsive.html/utils/e10s.js
+lib/firefox/browser/chrome/devtools/modules/devtools/client/responsive.html/utils/enum.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/responsive.html/utils/l10n.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/responsive.html/utils/message.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/responsivedesign/resize-commands.js
@@ -1052,11 +1020,8 @@ lib/firefox/browser/chrome/devtools/modu
 lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/components/reps/function.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/components/reps/grip-array.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/components/reps/grip.js
-lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/components/reps/named-node-map.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/components/reps/null.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/components/reps/number.js
-lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/components/reps/object-box.js
-lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/components/reps/object-link.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/components/reps/object-with-text.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/components/reps/object-with-url.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/components/reps/object.js
@@ -1069,8 +1034,14 @@ lib/firefox/browser/chrome/devtools/modu
 lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/components/reps/stylesheet.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/components/reps/text-node.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/components/reps/undefined.js
-lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/components/reps/url.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/components/reps/window.js
+lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/components/sidebar-toggle.css
+lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/components/sidebar-toggle.js
+lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/components/stack-trace.js
+lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/components/tabs/tabbar.css
+lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/components/tabs/tabbar.js
+lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/components/tabs/tabs.css
+lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/components/tabs/tabs.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/components/tree.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/components/tree/label-cell.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/components/tree/object-provider.js
@@ -1080,8 +1051,6 @@ lib/firefox/browser/chrome/devtools/modu
 lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/components/tree/tree-view.css
 lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/components/tree/tree-view.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/css-angle.js
-lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/css-color-db.js
-lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/css-color.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/css-reload.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/demangle.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/developer-toolbar.js
@@ -1116,7 +1085,7 @@ lib/firefox/browser/chrome/devtools/modu
 lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/theme.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/undo.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/vendor/immutable.js
-${PLIST.debug}lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/vendor/react-dev.js
+lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/vendor/jsol.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/vendor/react-dom.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/vendor/react-proxy.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/vendor/react-redux.js
@@ -1148,6 +1117,8 @@ lib/firefox/browser/chrome/devtools/modu
 lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/widgets/TreeWidget.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/widgets/VariablesView.jsm
 lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/widgets/VariablesViewController.jsm
+lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/widgets/tooltip/CssDocsTooltip.js
+lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/widgets/tooltip/EventTooltipHelper.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/widgets/tooltip/ImageTooltipHelper.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/widgets/tooltip/TooltipToggle.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/widgets/view-helpers.js
@@ -1172,6 +1143,7 @@ lib/firefox/browser/chrome/devtools/modu
 lib/firefox/browser/chrome/devtools/modules/devtools/client/styleeditor/styleeditor-commands.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/styleeditor/styleeditor-panel.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/styleeditor/utils.js
+lib/firefox/browser/chrome/devtools/modules/devtools/client/themes/audio/shutter.wav
 lib/firefox/browser/chrome/devtools/modules/devtools/client/themes/common.css
 lib/firefox/browser/chrome/devtools/modules/devtools/client/themes/variables.css
 lib/firefox/browser/chrome/devtools/modules/devtools/client/webaudioeditor/panel.js
@@ -1195,6 +1167,7 @@ lib/firefox/browser/chrome/devtools/modu
 lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/net/components/size-limit.css
 lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/net/components/size-limit.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/net/components/spinner.js
+lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/net/components/stacktrace-tab.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/net/data-provider.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/net/main.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/net/net-request.css
@@ -1204,11 +1177,12 @@ lib/firefox/browser/chrome/devtools/modu
 lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/net/utils/net.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/actions/messages.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/components/console-output.js
+lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/components/grip-message-body.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/components/message-container.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/components/message-icon.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/components/message-repeat.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/components/message-types/console-api-call.js
-lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/components/message-types/date-preview.js
+lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/components/message-types/console-command.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/components/message-types/default-renderer.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/components/message-types/evaluation-result.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/components/message-types/page-error.js
@@ -1218,8 +1192,11 @@ lib/firefox/browser/chrome/devtools/modu
 lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/new-console-output-wrapper.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/reducers/index.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/reducers/messages.js
+lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/reducers/prefs.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/selectors/messages.js
+lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/selectors/prefs.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/store.js
+lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/types.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/utils/messages.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/utils/variables-view.js
 lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/panel.js
@@ -1265,6 +1242,7 @@ lib/firefox/browser/chrome/devtools/modu
 lib/firefox/browser/chrome/devtools/modules/devtools/server/actors/highlighters/auto-refresh.js
 lib/firefox/browser/chrome/devtools/modules/devtools/server/actors/highlighters/box-model.js
 lib/firefox/browser/chrome/devtools/modules/devtools/server/actors/highlighters/css-transform.js
+lib/firefox/browser/chrome/devtools/modules/devtools/server/actors/highlighters/eye-dropper.js
 lib/firefox/browser/chrome/devtools/modules/devtools/server/actors/highlighters/geometry-editor.js
 lib/firefox/browser/chrome/devtools/modules/devtools/server/actors/highlighters/measuring-tool.js
 lib/firefox/browser/chrome/devtools/modules/devtools/server/actors/highlighters/rect.js
@@ -1295,7 +1273,6 @@ lib/firefox/browser/chrome/devtools/modu
 lib/firefox/browser/chrome/devtools/modules/devtools/server/actors/styles.js
 lib/firefox/browser/chrome/devtools/modules/devtools/server/actors/stylesheets.js
 lib/firefox/browser/chrome/devtools/modules/devtools/server/actors/timeline.js
-lib/firefox/browser/chrome/devtools/modules/devtools/server/actors/utils/ScriptStore.js
 lib/firefox/browser/chrome/devtools/modules/devtools/server/actors/utils/TabSources.js
 lib/firefox/browser/chrome/devtools/modules/devtools/server/actors/utils/actor-registry-utils.js
 lib/firefox/browser/chrome/devtools/modules/devtools/server/actors/utils/audionodes.json
@@ -1308,11 +1285,14 @@ lib/firefox/browser/chrome/devtools/modu
 lib/firefox/browser/chrome/devtools/modules/devtools/server/actors/webaudio.js
 lib/firefox/browser/chrome/devtools/modules/devtools/server/actors/webbrowser.js
 lib/firefox/browser/chrome/devtools/modules/devtools/server/actors/webconsole.js
+lib/firefox/browser/chrome/devtools/modules/devtools/server/actors/webextension.js
 lib/firefox/browser/chrome/devtools/modules/devtools/server/actors/webgl.js
 lib/firefox/browser/chrome/devtools/modules/devtools/server/actors/worker.js
 lib/firefox/browser/chrome/devtools/modules/devtools/server/child.js
 lib/firefox/browser/chrome/devtools/modules/devtools/server/content-globals.js
 lib/firefox/browser/chrome/devtools/modules/devtools/server/content-server.jsm
+lib/firefox/browser/chrome/devtools/modules/devtools/server/css-logic.js
+lib/firefox/browser/chrome/devtools/modules/devtools/server/event-parsers.js
 lib/firefox/browser/chrome/devtools/modules/devtools/server/main.js
 lib/firefox/browser/chrome/devtools/modules/devtools/server/performance/framerate.js
 lib/firefox/browser/chrome/devtools/modules/devtools/server/performance/memory.js
@@ -1336,6 +1316,8 @@ lib/firefox/browser/chrome/devtools/modu
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/client/connection-manager.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/client/main.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/content-observer.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/css-color-db.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/css-color.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/css-lexer.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/css-parsing-utils.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/css-properties-db.js
@@ -1343,21 +1325,36 @@ lib/firefox/browser/chrome/devtools/modu
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/deprecated-sync-thenables.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/discovery/discovery.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/dom-node-constants.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/dom-node-filter-constants.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/event-emitter.js
-lib/firefox/browser/chrome/devtools/modules/devtools/shared/event-parsers.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/fronts/actor-registry.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/fronts/addons.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/fronts/animation.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/fronts/call-watcher.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/fronts/canvas.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/fronts/css-properties.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/fronts/csscoverage.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/fronts/device.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/fronts/director-manager.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/fronts/director-registry.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/fronts/eventlooplag.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/fronts/framerate.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/fronts/gcli.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/fronts/highlighters.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/fronts/inspector.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/fronts/layout.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/fronts/memory.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/fronts/performance-recording.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/fronts/performance.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/fronts/preference.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/fronts/profiler.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/fronts/promises.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/fronts/settings.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/fronts/storage.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/fronts/string.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/fronts/styles.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/fronts/stylesheets.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/fronts/timeline.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/fronts/webaudio.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/fronts/webgl.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/gcli/commands/addon.js
@@ -1477,21 +1474,42 @@ lib/firefox/browser/chrome/devtools/modu
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/actor-registry.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/addons.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/animation.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/breakpoint.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/call-watcher.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/canvas.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/css-properties.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/csscoverage.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/device.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/director-manager.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/director-registry.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/environment.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/eventlooplag.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/frame.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/framerate.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/gcli.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/heap-snapshot-file.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/highlighters.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/inspector.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/layout.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/memory.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/node.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/performance-recording.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/performance.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/preference.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/profiler.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/promises.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/script.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/settings.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/source.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/storage.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/string.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/styleeditor.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/styles.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/stylesheets.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/timeline.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/webaudio.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/webgl.js
+lib/firefox/browser/chrome/devtools/modules/devtools/shared/specs/worker.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/system.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/task.js
 lib/firefox/browser/chrome/devtools/modules/devtools/shared/touch/simulator-content.js
@@ -1555,20 +1573,11 @@ lib/firefox/browser/chrome/devtools/skin
 lib/firefox/browser/chrome/devtools/skin/images/controls%2x.png@localhost
 lib/firefox/browser/chrome/devtools/skin/images/cubic-bezier-swatch.png
 lib/firefox/browser/chrome/devtools/skin/images/cubic-bezier-swatch%2x.png@localhost
-lib/firefox/browser/chrome/devtools/skin/images/debugger-blackbox.png
-lib/firefox/browser/chrome/devtools/skin/images/debugger-blackbox%2x.png@localhost
-lib/firefox/browser/chrome/devtools/skin/images/debugger-pause.png
-lib/firefox/browser/chrome/devtools/skin/images/debugger-pause%2x.png@localhost
-lib/firefox/browser/chrome/devtools/skin/images/debugger-play.png
-lib/firefox/browser/chrome/devtools/skin/images/debugger-play%2x.png@localhost
-lib/firefox/browser/chrome/devtools/skin/images/debugger-prettyprint.png
-lib/firefox/browser/chrome/devtools/skin/images/debugger-prettyprint%2x.png@localhost
-lib/firefox/browser/chrome/devtools/skin/images/debugger-step-in.png
-lib/firefox/browser/chrome/devtools/skin/images/debugger-step-in%2x.png@localhost
-lib/firefox/browser/chrome/devtools/skin/images/debugger-step-out.png
-lib/firefox/browser/chrome/devtools/skin/images/debugger-step-out%2x.png@localhost
-lib/firefox/browser/chrome/devtools/skin/images/debugger-step-over.png
-lib/firefox/browser/chrome/devtools/skin/images/debugger-step-over%2x.png@localhost
+lib/firefox/browser/chrome/devtools/skin/images/debugger-blackbox.svg
+lib/firefox/browser/chrome/devtools/skin/images/debugger-prettyprint.svg
+lib/firefox/browser/chrome/devtools/skin/images/debugger-step-in.svg
+lib/firefox/browser/chrome/devtools/skin/images/debugger-step-out.svg
+lib/firefox/browser/chrome/devtools/skin/images/debugger-step-over.svg
 lib/firefox/browser/chrome/devtools/skin/images/debugger-toggleBreakpoints.svg
 lib/firefox/browser/chrome/devtools/skin/images/debugging-addons.svg
 lib/firefox/browser/chrome/devtools/skin/images/debugging-devices.svg
@@ -1594,13 +1603,13 @@ lib/firefox/browser/chrome/devtools/skin
 lib/firefox/browser/chrome/devtools/skin/images/emojis/emoji-tool-styleeditor.svg
 lib/firefox/browser/chrome/devtools/skin/images/emojis/emoji-tool-webaudio.svg
 lib/firefox/browser/chrome/devtools/skin/images/emojis/emoji-tool-webconsole.svg
-lib/firefox/browser/chrome/devtools/skin/images/fast-forward.png
-lib/firefox/browser/chrome/devtools/skin/images/fast-forward%2x.png@localhost
+lib/firefox/browser/chrome/devtools/skin/images/fast-forward.svg
 lib/firefox/browser/chrome/devtools/skin/images/filetypes/dir-close.svg
 lib/firefox/browser/chrome/devtools/skin/images/filetypes/dir-open.svg
 lib/firefox/browser/chrome/devtools/skin/images/filetypes/globe.svg
 lib/firefox/browser/chrome/devtools/skin/images/filetypes/store.svg
 lib/firefox/browser/chrome/devtools/skin/images/filter-swatch.svg
+lib/firefox/browser/chrome/devtools/skin/images/filter.svg
 lib/firefox/browser/chrome/devtools/skin/images/filters.svg
 lib/firefox/browser/chrome/devtools/skin/images/firebug/arrow-down.svg
 lib/firefox/browser/chrome/devtools/skin/images/firebug/arrow-up.svg
@@ -1629,7 +1638,6 @@ lib/firefox/browser/chrome/devtools/skin
 lib/firefox/browser/chrome/devtools/skin/images/firebug/dock-bottom.svg
 lib/firefox/browser/chrome/devtools/skin/images/firebug/dock-side.svg
 lib/firefox/browser/chrome/devtools/skin/images/firebug/dock-undock.svg
-lib/firefox/browser/chrome/devtools/skin/images/firebug/filter.svg
 lib/firefox/browser/chrome/devtools/skin/images/firebug/pane-collapse.svg
 lib/firefox/browser/chrome/devtools/skin/images/firebug/pane-expand.svg
 lib/firefox/browser/chrome/devtools/skin/images/firebug/pause.svg
@@ -1637,26 +1645,23 @@ lib/firefox/browser/chrome/devtools/skin
 lib/firefox/browser/chrome/devtools/skin/images/firebug/read-only.svg
 lib/firefox/browser/chrome/devtools/skin/images/firebug/rewind.svg
 lib/firefox/browser/chrome/devtools/skin/images/firebug/spinner.png
-lib/firefox/browser/chrome/devtools/skin/images/firebug/timeline-filter.svg
 lib/firefox/browser/chrome/devtools/skin/images/firebug/tool-debugger-paused.svg
 lib/firefox/browser/chrome/devtools/skin/images/firebug/tool-options.svg
 lib/firefox/browser/chrome/devtools/skin/images/firebug/twisty-closed-firebug.svg
 lib/firefox/browser/chrome/devtools/skin/images/firebug/twisty-open-firebug.svg
 lib/firefox/browser/chrome/devtools/skin/images/geometry-editor.svg
+lib/firefox/browser/chrome/devtools/skin/images/import.svg
 lib/firefox/browser/chrome/devtools/skin/images/itemArrow-dark-ltr.svg
 lib/firefox/browser/chrome/devtools/skin/images/itemArrow-dark-rtl.svg
 lib/firefox/browser/chrome/devtools/skin/images/itemArrow-ltr.svg
 lib/firefox/browser/chrome/devtools/skin/images/itemArrow-rtl.svg
-lib/firefox/browser/chrome/devtools/skin/images/itemToggle.png
-lib/firefox/browser/chrome/devtools/skin/images/itemToggle%2x.png@localhost
-lib/firefox/browser/chrome/devtools/skin/images/magnifying-glass-light.png
-lib/firefox/browser/chrome/devtools/skin/images/magnifying-glass-light%2x.png@localhost
-lib/firefox/browser/chrome/devtools/skin/images/magnifying-glass.png
-lib/firefox/browser/chrome/devtools/skin/images/magnifying-glass%2x.png@localhost
+lib/firefox/browser/chrome/devtools/skin/images/itemToggle.svg
 lib/firefox/browser/chrome/devtools/skin/images/noise.png
 lib/firefox/browser/chrome/devtools/skin/images/pane-collapse.svg
 lib/firefox/browser/chrome/devtools/skin/images/pane-expand.svg
+lib/firefox/browser/chrome/devtools/skin/images/pause.svg
 lib/firefox/browser/chrome/devtools/skin/images/performance-icons.svg
+lib/firefox/browser/chrome/devtools/skin/images/play.svg
 lib/firefox/browser/chrome/devtools/skin/images/power.svg
 lib/firefox/browser/chrome/devtools/skin/images/profiler-stopwatch.svg
 lib/firefox/browser/chrome/devtools/skin/images/pseudo-class.svg
@@ -1674,11 +1679,11 @@ lib/firefox/browser/chrome/devtools/skin
 lib/firefox/browser/chrome/devtools/skin/images/responsivemode/responsiveui-screenshot%2x.png@localhost
 lib/firefox/browser/chrome/devtools/skin/images/responsivemode/responsiveui-touch.png
 lib/firefox/browser/chrome/devtools/skin/images/responsivemode/responsiveui-touch%2x.png@localhost
-lib/firefox/browser/chrome/devtools/skin/images/rewind.png
-lib/firefox/browser/chrome/devtools/skin/images/rewind%2x.png@localhost
+lib/firefox/browser/chrome/devtools/skin/images/rewind.svg
 lib/firefox/browser/chrome/devtools/skin/images/search-clear-dark.svg
 lib/firefox/browser/chrome/devtools/skin/images/search-clear-failed.svg
 lib/firefox/browser/chrome/devtools/skin/images/search-clear-light.svg
+lib/firefox/browser/chrome/devtools/skin/images/search.svg
 lib/firefox/browser/chrome/devtools/skin/images/security-state-broken.svg
 lib/firefox/browser/chrome/devtools/skin/images/security-state-insecure.svg
 lib/firefox/browser/chrome/devtools/skin/images/security-state-local.svg
@@ -1686,7 +1691,6 @@ lib/firefox/browser/chrome/devtools/skin
 lib/firefox/browser/chrome/devtools/skin/images/security-state-weak.svg
 lib/firefox/browser/chrome/devtools/skin/images/sort-arrows.svg
 lib/firefox/browser/chrome/devtools/skin/images/tabs-icon.svg
-lib/firefox/browser/chrome/devtools/skin/images/timeline-filter.svg
 lib/firefox/browser/chrome/devtools/skin/images/toggle-tools.png
 lib/firefox/browser/chrome/devtools/skin/images/toggle-tools%2x.png@localhost
 lib/firefox/browser/chrome/devtools/skin/images/tool-canvas.svg
@@ -1730,12 +1734,12 @@ lib/firefox/browser/chrome/devtools/skin
 lib/firefox/browser/chrome/devtools/skin/rules.css
 lib/firefox/browser/chrome/devtools/skin/scratchpad.css
 lib/firefox/browser/chrome/devtools/skin/shadereditor.css
-lib/firefox/browser/chrome/devtools/skin/spectrum.css
 lib/firefox/browser/chrome/devtools/skin/splitters.css
 lib/firefox/browser/chrome/devtools/skin/splitview.css
 lib/firefox/browser/chrome/devtools/skin/storage.css
 lib/firefox/browser/chrome/devtools/skin/styleeditor.css
 lib/firefox/browser/chrome/devtools/skin/toolbars.css
+lib/firefox/browser/chrome/devtools/skin/toolbox.css
 lib/firefox/browser/chrome/devtools/skin/tooltip/arrow-horizontal-dark.png
 lib/firefox/browser/chrome/devtools/skin/tooltip/arrow-horizontal-dark%2x.png@localhost
 lib/firefox/browser/chrome/devtools/skin/tooltip/arrow-horizontal-light.png
@@ -1744,6 +1748,7 @@ lib/firefox/browser/chrome/devtools/skin
 lib/firefox/browser/chrome/devtools/skin/tooltip/arrow-vertical-dark%2x.png@localhost
 lib/firefox/browser/chrome/devtools/skin/tooltip/arrow-vertical-light.png
 lib/firefox/browser/chrome/devtools/skin/tooltip/arrow-vertical-light%2x.png@localhost
+lib/firefox/browser/chrome/devtools/skin/tooltips.css
 lib/firefox/browser/chrome/devtools/skin/variables.css
 lib/firefox/browser/chrome/devtools/skin/webaudioeditor.css
 lib/firefox/browser/chrome/devtools/skin/webconsole.css
@@ -1777,7 +1782,6 @@ lib/firefox/browser/chrome/en-US/locale/
 lib/firefox/browser/chrome/en-US/locale/browser/feeds/subscribe.dtd
 lib/firefox/browser/chrome/en-US/locale/browser/feeds/subscribe.properties
 lib/firefox/browser/chrome/en-US/locale/browser/lightweightThemes.properties
-lib/firefox/browser/chrome/en-US/locale/browser/loop/loop.properties
 lib/firefox/browser/chrome/en-US/locale/browser/migration/migration.dtd
 lib/firefox/browser/chrome/en-US/locale/browser/migration/migration.properties
 lib/firefox/browser/chrome/en-US/locale/browser/netError.dtd
@@ -1863,7 +1867,6 @@ lib/firefox/browser/chrome/en-US/locale/
 lib/firefox/browser/chrome/en-US/locale/en-US/devtools/client/device.properties
 lib/firefox/browser/chrome/en-US/locale/en-US/devtools/client/dom.properties
 lib/firefox/browser/chrome/en-US/locale/en-US/devtools/client/eyedropper.properties
-lib/firefox/browser/chrome/en-US/locale/en-US/devtools/client/filterwidget.dtd
 lib/firefox/browser/chrome/en-US/locale/en-US/devtools/client/filterwidget.properties
 lib/firefox/browser/chrome/en-US/locale/en-US/devtools/client/font-inspector.dtd
 lib/firefox/browser/chrome/en-US/locale/en-US/devtools/client/graphs.properties
@@ -2261,6 +2264,8 @@ lib/firefox/browser/defaults/preferences
 lib/firefox/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/chrome.manifest
 lib/firefox/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/icon.png
 lib/firefox/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf
+lib/firefox/browser/features/aushelper%mozilla.org@localhost/bootstrap.js
+lib/firefox/browser/features/aushelper%mozilla.org@localhost/install.rdf
 lib/firefox/browser/features/e10srollout%mozilla.org@localhost/bootstrap.js
 lib/firefox/browser/features/e10srollout%mozilla.org@localhost/install.rdf
 lib/firefox/browser/features/firefox%getpocket.com@localhost/bootstrap.js
@@ -2314,7 +2319,9 @@ lib/firefox/browser/features/firefox@get
 lib/firefox/browser/features/firefox%getpocket.com@localhost/chrome/content/panels/tmpl/signupstoryboard_shell.handlebars
 lib/firefox/browser/features/firefox%getpocket.com@localhost/chrome/content/pktApi.jsm
 lib/firefox/browser/features/firefox%getpocket.com@localhost/chrome/skin/linux/Toolbar-inverted.png
+lib/firefox/browser/features/firefox%getpocket.com@localhost/chrome/skin/linux/Toolbar-inverted%2x.png@localhost
 lib/firefox/browser/features/firefox%getpocket.com@localhost/chrome/skin/linux/Toolbar.png
+lib/firefox/browser/features/firefox%getpocket.com@localhost/chrome/skin/linux/Toolbar%2x.png@localhost
 lib/firefox/browser/features/firefox%getpocket.com@localhost/chrome/skin/linux/menuPanel.png
 lib/firefox/browser/features/firefox%getpocket.com@localhost/chrome/skin/linux/menuPanel%2x.png@localhost
 lib/firefox/browser/features/firefox%getpocket.com@localhost/chrome/skin/linux/pocket.css
@@ -2352,8 +2359,11 @@ lib/firefox/browser/features/webcompat@m
 lib/firefox/browser/icons/mozicon128.png
 lib/firefox/browser/modules/AboutHome.jsm
 lib/firefox/browser/modules/AboutNewTab.jsm
+lib/firefox/browser/modules/AttributionCode.jsm
 lib/firefox/browser/modules/AutoMigrate.jsm
 lib/firefox/browser/modules/BrowserUITelemetry.jsm
+lib/firefox/browser/modules/BrowserUsageTelemetry.jsm
+lib/firefox/browser/modules/CaptivePortalWatcher.jsm
 lib/firefox/browser/modules/CastingApps.jsm
 lib/firefox/browser/modules/Chat.jsm
 lib/firefox/browser/modules/ContentClick.jsm
@@ -2362,7 +2372,6 @@ lib/firefox/browser/modules/ContentLinkH
 lib/firefox/browser/modules/ContentObservers.jsm
 lib/firefox/browser/modules/ContentSearch.jsm
 lib/firefox/browser/modules/ContentWebRTC.jsm
-lib/firefox/browser/modules/ContextualIdentityService.jsm
 lib/firefox/browser/modules/CustomizableUI.jsm
 lib/firefox/browser/modules/CustomizableWidgets.jsm
 lib/firefox/browser/modules/CustomizeMode.jsm
@@ -2467,7 +2476,6 @@ lib/firefox/chrome/en-US/locale/en-US/gl
 lib/firefox/chrome/en-US/locale/en-US/global-platform/win/accessible.properties
 lib/firefox/chrome/en-US/locale/en-US/global-platform/win/intl.properties
 lib/firefox/chrome/en-US/locale/en-US/global-platform/win/platformKeys.properties
-lib/firefox/chrome/en-US/locale/en-US/global-region/region.properties
 lib/firefox/chrome/en-US/locale/en-US/global/AccessFu.properties
 lib/firefox/chrome/en-US/locale/en-US/global/about.dtd
 lib/firefox/chrome/en-US/locale/en-US/global/aboutAbout.dtd
@@ -2494,8 +2502,6 @@ lib/firefox/chrome/en-US/locale/en-US/gl
 lib/firefox/chrome/en-US/locale/en-US/global/commonDialogs.properties
 lib/firefox/chrome/en-US/locale/en-US/global/config.dtd
 lib/firefox/chrome/en-US/locale/en-US/global/config.properties
-lib/firefox/chrome/en-US/locale/en-US/global/console.dtd
-lib/firefox/chrome/en-US/locale/en-US/global/console.properties
 lib/firefox/chrome/en-US/locale/en-US/global/contentAreaCommands.properties
 lib/firefox/chrome/en-US/locale/en-US/global/crashes.dtd
 lib/firefox/chrome/en-US/locale/en-US/global/crashes.properties
@@ -2632,6 +2638,7 @@ lib/firefox/chrome/marionette/content/li
 lib/firefox/chrome/marionette/content/logging.js
 lib/firefox/chrome/marionette/content/message.js
 lib/firefox/chrome/marionette/content/modal.js
+lib/firefox/chrome/marionette/content/navigate.js
 lib/firefox/chrome/marionette/content/proxy.js
 lib/firefox/chrome/marionette/content/server.js
 lib/firefox/chrome/marionette/content/simpletest.js
@@ -2695,11 +2702,13 @@ lib/firefox/chrome/toolkit/content/exten
 lib/firefox/chrome/toolkit/content/extensions/schemas/alarms.json
 lib/firefox/chrome/toolkit/content/extensions/schemas/cookies.json
 lib/firefox/chrome/toolkit/content/extensions/schemas/downloads.json
+lib/firefox/chrome/toolkit/content/extensions/schemas/events.json
 lib/firefox/chrome/toolkit/content/extensions/schemas/extension.json
 lib/firefox/chrome/toolkit/content/extensions/schemas/extension_types.json
 lib/firefox/chrome/toolkit/content/extensions/schemas/i18n.json
 lib/firefox/chrome/toolkit/content/extensions/schemas/idle.json
 lib/firefox/chrome/toolkit/content/extensions/schemas/manifest.json
+lib/firefox/chrome/toolkit/content/extensions/schemas/native_host_manifest.json
 lib/firefox/chrome/toolkit/content/extensions/schemas/notifications.json
 lib/firefox/chrome/toolkit/content/extensions/schemas/runtime.json
 lib/firefox/chrome/toolkit/content/extensions/schemas/storage.json
@@ -2807,10 +2816,6 @@ lib/firefox/chrome/toolkit/content/globa
 lib/firefox/chrome/toolkit/content/global/commonDialog.xul
 lib/firefox/chrome/toolkit/content/global/config.js
 lib/firefox/chrome/toolkit/content/global/config.xul
-lib/firefox/chrome/toolkit/content/global/console.css
-lib/firefox/chrome/toolkit/content/global/console.js
-lib/firefox/chrome/toolkit/content/global/console.xul
-lib/firefox/chrome/toolkit/content/global/consoleBindings.xml
 lib/firefox/chrome/toolkit/content/global/contentAreaUtils.js
 lib/firefox/chrome/toolkit/content/global/customizeToolbar.css
 lib/firefox/chrome/toolkit/content/global/customizeToolbar.js
@@ -2840,7 +2845,6 @@ lib/firefox/chrome/toolkit/content/globa
 lib/firefox/chrome/toolkit/content/global/netError.xhtml
 lib/firefox/chrome/toolkit/content/global/notfound.wav
 lib/firefox/chrome/toolkit/content/global/nsClipboard.js
-lib/firefox/chrome/toolkit/content/global/nsDragAndDrop.js
 lib/firefox/chrome/toolkit/content/global/nsUserSettings.js
 lib/firefox/chrome/toolkit/content/global/platformHTMLBindings.xml
 lib/firefox/chrome/toolkit/content/global/plugins.css
@@ -3025,12 +3029,6 @@ lib/firefox/chrome/toolkit/skin/classic/
 lib/firefox/chrome/toolkit/skin/classic/global/colorpicker.css
 lib/firefox/chrome/toolkit/skin/classic/global/commonDialog.css
 lib/firefox/chrome/toolkit/skin/classic/global/config.css
-lib/firefox/chrome/toolkit/skin/classic/global/console/console-error-caret.gif
-lib/firefox/chrome/toolkit/skin/classic/global/console/console-error-dash.gif
-lib/firefox/chrome/toolkit/skin/classic/global/console/console-toolbar.png
-lib/firefox/chrome/toolkit/skin/classic/global/console/console.css
-lib/firefox/chrome/toolkit/skin/classic/global/console/console.png
-lib/firefox/chrome/toolkit/skin/classic/global/console/itemSelected.png
 lib/firefox/chrome/toolkit/skin/classic/global/customizeToolbar.css
 lib/firefox/chrome/toolkit/skin/classic/global/datetimepicker.css
 lib/firefox/chrome/toolkit/skin/classic/global/dialog.css
@@ -3079,9 +3077,8 @@ lib/firefox/chrome/toolkit/skin/classic/
 lib/firefox/chrome/toolkit/skin/classic/global/icons/information-16.png
 lib/firefox/chrome/toolkit/skin/classic/global/icons/information-24.png
 lib/firefox/chrome/toolkit/skin/classic/global/icons/information-32.png
-lib/firefox/chrome/toolkit/skin/classic/global/icons/loading-inverted.png
-lib/firefox/chrome/toolkit/skin/classic/global/icons/loading-inverted%2x.png@localhost
 lib/firefox/chrome/toolkit/skin/classic/global/icons/loading.png
+lib/firefox/chrome/toolkit/skin/classic/global/icons/loading%2x.png@localhost
 lib/firefox/chrome/toolkit/skin/classic/global/icons/panelarrow-horizontal.svg
 lib/firefox/chrome/toolkit/skin/classic/global/icons/panelarrow-vertical.svg
 lib/firefox/chrome/toolkit/skin/classic/global/icons/question-16.png
@@ -3107,23 +3104,35 @@ lib/firefox/chrome/toolkit/skin/classic/
 lib/firefox/chrome/toolkit/skin/classic/global/media/TopLevelImageDocument.css
 lib/firefox/chrome/toolkit/skin/classic/global/media/TopLevelVideoDocument.css
 lib/firefox/chrome/toolkit/skin/classic/global/media/clicktoplay-bgtexture.png
+lib/firefox/chrome/toolkit/skin/classic/global/media/closeCaptionButton.png
+lib/firefox/chrome/toolkit/skin/classic/global/media/closeCaptionButton%2x.png@localhost
 lib/firefox/chrome/toolkit/skin/classic/global/media/error.png
 lib/firefox/chrome/toolkit/skin/classic/global/media/fullscreenButton.png
+lib/firefox/chrome/toolkit/skin/classic/global/media/fullscreenButton%2x.png@localhost
 lib/firefox/chrome/toolkit/skin/classic/global/media/imagedoc-darknoise.png
 lib/firefox/chrome/toolkit/skin/classic/global/media/imagedoc-lightnoise.png
 lib/firefox/chrome/toolkit/skin/classic/global/media/muteButton.png
+lib/firefox/chrome/toolkit/skin/classic/global/media/muteButton%2x.png@localhost
 lib/firefox/chrome/toolkit/skin/classic/global/media/noAudio.png
+lib/firefox/chrome/toolkit/skin/classic/global/media/noAudio%2x.png@localhost
 lib/firefox/chrome/toolkit/skin/classic/global/media/pauseButton.png
+lib/firefox/chrome/toolkit/skin/classic/global/media/pauseButton%2x.png@localhost
 lib/firefox/chrome/toolkit/skin/classic/global/media/playButton.png
+lib/firefox/chrome/toolkit/skin/classic/global/media/playButton%2x.png@localhost
 lib/firefox/chrome/toolkit/skin/classic/global/media/scrubberThumb.png
+lib/firefox/chrome/toolkit/skin/classic/global/media/scrubberThumb%2x.png@localhost
 lib/firefox/chrome/toolkit/skin/classic/global/media/scrubberThumbWide.png
+lib/firefox/chrome/toolkit/skin/classic/global/media/scrubberThumbWide%2x.png@localhost
 lib/firefox/chrome/toolkit/skin/classic/global/media/stalled.png
 lib/firefox/chrome/toolkit/skin/classic/global/media/throbber.png
 lib/firefox/chrome/toolkit/skin/classic/global/media/unmuteButton.png
+lib/firefox/chrome/toolkit/skin/classic/global/media/unmuteButton%2x.png@localhost
 lib/firefox/chrome/toolkit/skin/classic/global/media/videoClickToPlayButton.svg
 lib/firefox/chrome/toolkit/skin/classic/global/media/videocontrols.css
 lib/firefox/chrome/toolkit/skin/classic/global/media/volume-empty.png
+lib/firefox/chrome/toolkit/skin/classic/global/media/volume-empty%2x.png@localhost
 lib/firefox/chrome/toolkit/skin/classic/global/media/volume-full.png
+lib/firefox/chrome/toolkit/skin/classic/global/media/volume-full%2x.png@localhost
 lib/firefox/chrome/toolkit/skin/classic/global/menu.css
 lib/firefox/chrome/toolkit/skin/classic/global/menu/shared-menu-check-active.svg
 lib/firefox/chrome/toolkit/skin/classic/global/menu/shared-menu-check-black.svg
@@ -3239,8 +3248,6 @@ lib/firefox/chrome/toolkit/skin/classic/
 lib/firefox/chrome/toolkit/skin/classic/mozapps/extensions/utilities.svg
 lib/firefox/chrome/toolkit/skin/classic/mozapps/formautofill/requestAutocomplete.css
 lib/firefox/chrome/toolkit/skin/classic/mozapps/handling/handling.css
-lib/firefox/chrome/toolkit/skin/classic/mozapps/passwordmgr/key-16.png
-lib/firefox/chrome/toolkit/skin/classic/mozapps/passwordmgr/key-64.png
 lib/firefox/chrome/toolkit/skin/classic/mozapps/places/defaultFavicon-inverted.png
 lib/firefox/chrome/toolkit/skin/classic/mozapps/places/defaultFavicon-inverted%2x.png@localhost
 lib/firefox/chrome/toolkit/skin/classic/mozapps/places/defaultFavicon.png
@@ -3265,10 +3272,6 @@ lib/firefox/chrome/toolkit/skin/classic/
 lib/firefox/chrome/toolkit/skin/classic/mozapps/update/updates.css
 lib/firefox/chrome/toolkit/skin/classic/mozapps/viewsource/viewsource.css
 lib/firefox/chrome/toolkit/skin/classic/mozapps/xpinstall/xpinstallConfirm.css
-lib/firefox/components/ActivityMessageConfigurator.js
-lib/firefox/components/ActivityProxy.js
-lib/firefox/components/ActivityRequestHandler.js
-lib/firefox/components/ActivityWrapper.js
 lib/firefox/components/AlarmsManager.js
 lib/firefox/components/AppsService.js
 lib/firefox/components/BrowserElementParent.js
@@ -3292,6 +3295,7 @@ lib/firefox/components/NetworkGeolocatio
 lib/firefox/components/NotificationStorage.js
 lib/firefox/components/PACGenerator.js
 lib/firefox/components/PackagedAppUtils.js
+lib/firefox/components/PageIconProtocolHandler.js
 lib/firefox/components/PageThumbsProtocol.js
 lib/firefox/components/Payment.js
 lib/firefox/components/PaymentFlowInfo.js
@@ -3309,9 +3313,6 @@ lib/firefox/components/SecurityReporter.
 lib/firefox/components/SettingsManager.js
 lib/firefox/components/SiteSpecificUserAgent.js
 lib/firefox/components/SlowScriptDebug.js
-lib/firefox/components/SystemMessageCache.js
-lib/firefox/components/SystemMessageInternal.js
-lib/firefox/components/SystemMessageManager.js
 lib/firefox/components/TVSimulatorService.js
 lib/firefox/components/TelemetryStartup.js
 lib/firefox/components/TooltipTextProvider.js
@@ -3332,7 +3333,6 @@ lib/firefox/components/crypto-SDR.js
 lib/firefox/components/defaultShims.js
 lib/firefox/components/htmlMenuBuilder.js
 lib/firefox/components/interfaces.xpt
-lib/firefox/components/jsconsole-clhandler.js
 lib/firefox/components/marionettecomponent.js
 lib/firefox/components/messageWakeupService.js
 lib/firefox/components/multiprocessShims.js
@@ -3424,8 +3424,6 @@ lib/firefox/libmozavutil.so
 lib/firefox/libmozsqlite3.so
 lib/firefox/libxul.so
 lib/firefox/modules/AboutReader.jsm
-lib/firefox/modules/ActivitiesService.jsm
-lib/firefox/modules/ActivitiesServiceFilter.jsm
 lib/firefox/modules/AddonManager.jsm
 lib/firefox/modules/AddonWatcher.jsm
 lib/firefox/modules/AlarmDB.jsm
@@ -3460,6 +3458,7 @@ lib/firefox/modules/CloudSyncLocal.jsm
 lib/firefox/modules/CloudSyncPlacesWrapper.jsm
 lib/firefox/modules/CloudSyncTabs.jsm
 lib/firefox/modules/ClusterLib.js
+lib/firefox/modules/Color.jsm
 lib/firefox/modules/ColorAnalyzer_worker.js
 lib/firefox/modules/ColorConversion.js
 lib/firefox/modules/CommonDialog.jsm
@@ -3473,6 +3472,7 @@ lib/firefox/modules/ContentPrefServiceCh
 lib/firefox/modules/ContentPrefServiceParent.jsm
 lib/firefox/modules/ContentPrefStore.jsm
 lib/firefox/modules/ContentPrefUtils.jsm
+lib/firefox/modules/ContextualIdentityService.jsm
 lib/firefox/modules/CrashMonitor.jsm
 lib/firefox/modules/Credentials.jsm
 lib/firefox/modules/DNSPacket.jsm
@@ -3503,6 +3503,8 @@ lib/firefox/modules/ExtensionStorage.jsm
 lib/firefox/modules/ExtensionUtils.jsm
 lib/firefox/modules/FileUtils.jsm
 lib/firefox/modules/Finder.jsm
+lib/firefox/modules/FinderHighlighter.jsm
+lib/firefox/modules/FinderIterator.jsm
 lib/firefox/modules/ForgetAboutSite.jsm
 lib/firefox/modules/FormAutofill.jsm
 lib/firefox/modules/FormAutofillIntegration.jsm
@@ -3534,6 +3536,7 @@ lib/firefox/modules/InsecurePasswordUtil
 lib/firefox/modules/Integration.jsm
 lib/firefox/modules/Keyboard.jsm
 lib/firefox/modules/Langpacks.jsm
+lib/firefox/modules/LegacyExtensionsUtils.jsm
 lib/firefox/modules/LightweightThemeConsumer.jsm
 lib/firefox/modules/LightweightThemeManager.jsm
 lib/firefox/modules/LoadContextInfo.jsm
@@ -3553,9 +3556,9 @@ lib/firefox/modules/ManifestProcessor.js
 lib/firefox/modules/MatchPattern.jsm
 lib/firefox/modules/MessageBroadcaster.jsm
 lib/firefox/modules/MessageChannel.jsm
-lib/firefox/modules/Microformats.js
 lib/firefox/modules/MozSocialAPI.jsm
 lib/firefox/modules/MulticastDNS.jsm
+lib/firefox/modules/NativeMessaging.jsm
 lib/firefox/modules/NetUtil.jsm
 lib/firefox/modules/NewTabUtils.jsm
 lib/firefox/modules/NotificationDB.jsm
@@ -3643,7 +3646,6 @@ lib/firefox/modules/SpatialNavigation.js
 lib/firefox/modules/Sqlite.jsm
 lib/firefox/modules/StoreTrustAnchor.jsm
 lib/firefox/modules/Subprocess.jsm
-lib/firefox/modules/SystemMessagePermissionsChecker.jsm
 lib/firefox/modules/SystemUpdateService.jsm
 lib/firefox/modules/Task.jsm
 lib/firefox/modules/TelemetryArchive.jsm
@@ -3674,6 +3676,7 @@ lib/firefox/modules/WebNavigationFrames.
 lib/firefox/modules/WebRequest.jsm
 lib/firefox/modules/WebRequestCommon.jsm
 lib/firefox/modules/WebRequestContent.js
+lib/firefox/modules/WebRequestUpload.jsm
 lib/firefox/modules/Webapps.jsm
 lib/firefox/modules/WindowDraggingUtils.jsm
 lib/firefox/modules/XPCOMUtils.jsm
@@ -4004,6 +4007,9 @@ lib/firefox/modules/osfile/osfile_win_fr
 lib/firefox/modules/osfile/ospath.jsm
 lib/firefox/modules/osfile/ospath_unix.jsm
 lib/firefox/modules/osfile/ospath_win.jsm
+lib/firefox/modules/presentation/ControllerStateMachine.jsm
+lib/firefox/modules/presentation/ReceiverStateMachine.jsm
+lib/firefox/modules/presentation/StateMachineHelper.jsm
 lib/firefox/modules/reader/JSDOMParser.js
 lib/firefox/modules/reader/Readability.js
 lib/firefox/modules/reader/ReaderWorker.js
@@ -4056,6 +4062,7 @@ lib/firefox/modules/services-sync/stages
 lib/firefox/modules/services-sync/stages/declined.js
 lib/firefox/modules/services-sync/stages/enginesync.js
 lib/firefox/modules/services-sync/status.js
+lib/firefox/modules/services-sync/telemetry.js
 lib/firefox/modules/services-sync/userapi.js
 lib/firefox/modules/services-sync/util.js
 lib/firefox/modules/sqlite/sqlite_internal.js

Index: pkgsrc/www/firefox/distinfo
diff -u pkgsrc/www/firefox/distinfo:1.261 pkgsrc/www/firefox/distinfo:1.262
--- pkgsrc/www/firefox/distinfo:1.261   Wed Nov  9 19:33:24 2016
+++ pkgsrc/www/firefox/distinfo Sat Dec  3 09:58:25 2016
@@ -1,36 +1,52 @@
-$NetBSD: distinfo,v 1.261 2016/11/09 19:33:24 maya Exp $
+$NetBSD: distinfo,v 1.262 2016/12/03 09:58:25 ryoon Exp $
 
-SHA1 (firefox-49.0.2.source.tar.xz) = 52d527f06c522c95e2fcf4008dce1a9913379aaf
-RMD160 (firefox-49.0.2.source.tar.xz) = b0c7bda2f551ea025bb75b0f9a58722f7322ea2d
-SHA512 (firefox-49.0.2.source.tar.xz) = e9daa62c8e645ec034f1435afb579ddb5c503db313ea0cc3e48b7508f8368028979de07ca1426cc4c0f3ae82756f39dcb3b349712d520b8503a34afbd443fb1e
-Size (firefox-49.0.2.source.tar.xz) = 188669928 bytes
-SHA1 (patch-aa) = 7d2f0f38668daaaa808f68bea0c0b47dee2c8913
+SHA1 (firefox-50.0.2.source.tar.xz) = 083b9a803b25064b2d7d43e289797a9f2a2e9e5d
+RMD160 (firefox-50.0.2.source.tar.xz) = 67395703c955b3285237b66317df13229aeec479
+SHA512 (firefox-50.0.2.source.tar.xz) = cfcc3e5a703e4d3284e3b3dcb34e5f77825e5a98b49a75bf22f8ac431c0429e6cd21c4e1f5e046fe82899cb4d2bc5b7a432b306c4af35034d83a9f351393f7fd
+Size (firefox-50.0.2.source.tar.xz) = 195625752 bytes
+SHA1 (patch-aa) = 272331d89f966ea83c4ee3a49b1933b9ce31672b
 SHA1 (patch-ao) = 1564bc503670dc07ec8b9b43927f0c5879f3a44d
 SHA1 (patch-as) = bebba8483c1881198066f4022a0da8f95398f38f
 SHA1 (patch-bf) = f56fce1b1e5e697ba2425655b6417b69f197f6cf
+SHA1 (patch-browser_components_nsBrowserGlue.js) = 01eef808fadc361215e60e44d79cfc8a4336107f
 SHA1 (patch-browser_installer_package-manifest.in) = 7c4f1822cd78a5ed465b954f4b62514c64ad7b84
 SHA1 (patch-build_autoconf_compiler-opts.m4) = ccdc06a2b07b7664f9cb91bcc4fb29052dda8b07
 SHA1 (patch-build_gyp.mozbuild) = 481270e6703e556fb87a3440cb3cfb3d4fcc4c86
-SHA1 (patch-build_moz.configure_old.configure) = 4142b710aaf2e467843b73e4575a3e72b0d2bc05
-SHA1 (patch-config_Makefile.in) = e73585126c714a3e07963cf19af1c7876e074209
+SHA1 (patch-build_moz.configure_init.configure) = f2df0c6b92aa825a61f6a4ee1f70f5443c61858e
+SHA1 (patch-build_moz.configure_old.configure) = edbc886b5c1c0ae1371854b3e895c7bdd9e72f2d
+SHA1 (patch-config_Makefile.in) = a0fd349caf4c4f5d70fef8a4f1f07438ed84ad88
 SHA1 (patch-config_baseconfig.mk) = 4ec046aea29c6c03df49246371774ed3fd082f4f
-SHA1 (patch-config_external_moz.build) = 0c9687a3c2d9fa7dee3909ba063e4fcbc9931a3e
+SHA1 (patch-config_external_moz.build) = 4912a9ef13c7793e2734e5f49ca7fd56be09fe48
 SHA1 (patch-config_stl__wrappers_ios) = 00d723e2f2f252485350ede5833f0bb84c1235c1
 SHA1 (patch-config_stl__wrappers_ostream) = 7be7fe36704ffbdc070a113b46b4f391a598206b
-SHA1 (patch-config_system-headers) = 85cfc060dded8b6911d645197283d58f0b00c6f8
+SHA1 (patch-config_system-headers) = dbfa6dec0f046be9e390175bf754747fee28f8b7
 SHA1 (patch-config_system__wrappers_unwind.h) = b3bdac0710179b9c8f8eabd824216d0114504491
-SHA1 (patch-dom_media_moz.build) = 2389715405101004110907c33072521779b80a9d
+SHA1 (patch-dom_base_moz.build) = 5200cbfcf7b781324dca4c55d01bc8559a56aa4c
+SHA1 (patch-dom_media_AudioStream.cpp) = 3d2e3d92849a355c05d7ec0ded61d551ffe0c581
+SHA1 (patch-dom_media_AudioStream.h) = 26f70000cc4810834204d15b45e1469dd5f23617
+SHA1 (patch-dom_media_moz.build) = 37d045fa319b90ed50e0c1da9283020360c00c78
 SHA1 (patch-dom_plugins_ipc_PluginModuleChild.cpp) = 9961e956016f274a1b9b52b489bd749e8e2bbcb6
 SHA1 (patch-dom_plugins_ipc_PluginModuleChild.h) = 15c01df2fa7f989b533ef769ce77438b5e9bfdb9
+SHA1 (patch-dom_system_OSFileConstants.cpp) = 6e5a347c317947c869415d740f25813332ee9597
+SHA1 (patch-extensions_spellcheck_hunspell_glue_moz.build) = 783a2372fc929cf96205af595e1e38e2649bfe27
 SHA1 (patch-extensions_spellcheck_hunspell_glue_mozHunspell.cpp) = 0c1151708420bec7700724b1f298590601f1762b
+SHA1 (patch-extensions_spellcheck_src_moz.build) = b907fca74cf50ee566c524cb1f05166696914ab9
 SHA1 (patch-gfx_cairo_libpixman_src_pixman-arm-neon-asm.S) = 6e91ca436b73affe42ed4e683b3400beb28c4bc6
 SHA1 (patch-gfx_gl_GLContextProviderGLX.cpp) = 2cc997cab71a84c1f50a791693519a0626564426
+SHA1 (patch-gfx_graphite2_moz-gr-update.sh) = 09eb2fa66109d38a3aedc940fcaaee5f91e216ae
 SHA1 (patch-gfx_graphite2_src_Bidi.cpp) = 9b357196b795f7698f0763cb6cfcd39b4aea6420
+SHA1 (patch-gfx_moz.build) = 0d669ac6dc1af17ea8ed7e84e4915947c2a6b1ca
+SHA1 (patch-gfx_skia_generate__mozbuild.py) = 0c1faddbda7d819a82a4f1bd97a753c835f0c81d
+SHA1 (patch-gfx_skia_moz.build) = 1def6cf3bce77e9294c0f05f62a33b7baed12b12
 SHA1 (patch-gfx_skia_skia_src_core_SkUtilsArm.cpp) = 94a5a88f1177e09ef7b8dbdb6439153933004356
+SHA1 (patch-gfx_thebes_gfxFontUtils.cpp) = 639c610a3a1441d5c7e2e9fa0f42b8df1c8e4319
+SHA1 (patch-gfx_thebes_moz.build) = 7c0610d8e6595de2333162a46c9f4f94834e4dc5
 SHA1 (patch-gfx_ycbcr_moz.build) = 705c36b972ef1533330e4a180002cef1c22755bf
 SHA1 (patch-gfx_ycbcr_yuv__row__arm.S) = 79587891c2a1716a27d4dca0e5b5880069a430eb
-SHA1 (patch-image_decoders_nsJPEGDecoder.cpp) = fb650d1ae95321a6fc7565ffe3375944d06f95a9
+SHA1 (patch-image_decoders_nsJPEGDecoder.cpp) = ed86c3fbb3aef753eec6f6a97940594aac5f3f2f
 SHA1 (patch-intl_hyphenation_glue_hnjalloc.h) = abe01bea5872a57f3d00bbbf89f958621f08a655
+SHA1 (patch-intl_lwbrk_nsJISx4051LineBreaker.cpp) = 7169c1f7eccea9ea3b14d46aa972d0d6b8159eec
+SHA1 (patch-intl_unicharutil_util_moz.build) = 2e604c8695b490657ee14cae01ca84d7bd51236c
 SHA1 (patch-ipc_chromium_src_base_atomicops.h) = 24b63a6e51d9ab27f2788ee02f2ffa7e1c36f29a
 SHA1 (patch-ipc_chromium_src_base_message__pump__libevent.cc) = 2c5ce6290760e0435365dac788d283f9bb78acd9
 SHA1 (patch-ipc_chromium_src_base_platform__thread.h) = c81930280bd76a00fbad37aad02fb8451d80b1ee
@@ -50,13 +66,17 @@ SHA1 (patch-js_src_jit_arm_Architecture-
 SHA1 (patch-js_src_jit_none_AtomicOperations-sparc.h) = b44992a869d6d08809a9edc28f1ad6f40632d392
 SHA1 (patch-js_src_jsdate.cpp) = a71f55bc9a5bf68867c294e0c9e07d9ae55251d1
 SHA1 (patch-js_src_jskwgen.cpp) = 34d3b92e13366d4b43ff755ad54f392c116d5c59
+SHA1 (patch-js_src_moz.build) = 42d9aba521881cb08065d37889ca29a0071eb632
 SHA1 (patch-js_xpconnect_src_XPCConvert.cpp) = 915777e9bb5366be41866cdb6ea0ad2b1c006dde
-SHA1 (patch-js_xpconnect_src_xpcprivate.h) = 8a15ff542c9d3fce448d9ec63706f7dfb411d926
+SHA1 (patch-js_xpconnect_src_xpcprivate.h) = e09e37819961bae40a9f276ae1ee510d2956c23e
 SHA1 (patch-media_libcubeb_src_cubeb.c) = 91eb24595c423b7e086670bb67e73cfd0bfb5559
-SHA1 (patch-media_libcubeb_src_cubeb__alsa.c) = 9b1b26b231af17fd823780cae58bc0e16ec332a2
-SHA1 (patch-media_libcubeb_src_cubeb__oss.c) = 0157aef54a73f57ccc61246a7182fba22ce08276
-SHA1 (patch-media_libcubeb_src_moz.build) = ffa7cf809f20c9e07e64fc885a06146f41634b03
+SHA1 (patch-media_libcubeb_src_cubeb__alsa.c) = cd510e274e2eca1fb045f996d42cbe546fccb726
+SHA1 (patch-media_libcubeb_src_cubeb__oss.c) = e15cc2d0c220738ccfd57f79eec242095c8ea536
+SHA1 (patch-media_libcubeb_src_moz.build) = 2b6d7e3bb265220decf9629b1d4b980cadb363fb
+SHA1 (patch-media_libcubeb_tests_moz.build) = 63d8b749a6ebbe8fd662ce1e2bde6aa9cb0b807d
+SHA1 (patch-media_libcubeb_update.sh) = 333e1e2898f1703a298ba2a3f731ffc63f09a184
 SHA1 (patch-media_libsoundtouch_src_cpu__detect__x86.cpp) = db61737afa7773e8cbd82976de3a02c917174696
+SHA1 (patch-media_libsoundtouch_src_soundtouch__perms.h) = 2d08a3b4176c155c57b458cb78043318b68d8fe2
 SHA1 (patch-media_libstagefright_frameworks_av_include_media_stagefright_foundation_AString.h) = b280f691dbe67b6de592dcd04baf33c6cf480cc8
 SHA1 (patch-media_libstagefright_frameworks_av_media_libstagefright_foundation_AString.cpp) = d79a49a983209e6b673956561f2001c6ef4bcc20
 SHA1 (patch-media_libstagefright_system_core_liblog_fake__log__device.c) = f53c6751dfa63c9ea7a08d39f7be34efb94faef9
@@ -69,32 +89,41 @@ SHA1 (patch-media_libtremor_moz.build) =
 SHA1 (patch-media_libvorbis_Makefile.in) = b1cc7dc1caab94366db6f2a51b72f02ac420bc71
 SHA1 (patch-media_libvorbis_lib_vorbis_info.c) = 6e8d162c83fd7e350bfe8997adc3a9790d159675
 SHA1 (patch-media_libvorbis_moz.build) = cad67e49169ddab075fbfae2e6f0f950c1eccaf0
-SHA1 (patch-media_libyuv_include_libyuv_scale__row.h) = 503b6f2065e9d548a1f01f7158d65874f4886c78
+SHA1 (patch-media_libyuv_source_mjpeg__decoder.cc) = d3b301dcec965b8f3efdd202db07fd75b503bc20
 SHA1 (patch-media_mtransport_third__party_nrappkit_src_port_generic_include_sys_queue.h) = de7055f891387f96f8fd32366c7189d480354e9e
 SHA1 (patch-media_openmax__dl_dl_api_armCOMM__s.h) = 40b3fa8aaec77d3bfec810f0bc4e76eae449d7c7
+SHA1 (patch-media_webrtc_signaling_test_common.build) = c0d5003858e0c9e93247e3132274c2a4db3ad22e
+SHA1 (patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc) = 4d85eefde7dafa195d10587e5dfaf59d8cee18d3
+SHA1 (patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc) = 07158ae777fc4743f17cedc106cc9c85fb327d55
+SHA1 (patch-media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi) = 9fb89480e47fce4df99a82fe90259bf444bd2e11
 SHA1 (patch-memory_build_mozjemalloc__compat.c) = c27c745fd6e0bbb120ef34d8a984937d5f2e1319
 SHA1 (patch-memory_mozalloc_mozalloc__abort.cpp) = 9e94002b01664a42af415639dc94caa127a73ac0
-SHA1 (patch-mfbt_Attributes.h) = 2b5f427b2f2bb8f61207c3ed0918c90b59cf9333
+SHA1 (patch-mfbt_Attributes.h) = e5dc6bcaaf0ed7ef5b32a367c42298169793cf2b
 SHA1 (patch-mfbt_Poison.cpp) = f502581db96b3e5eca25a9aa9035f436e9167503
+SHA1 (patch-mobile_android_installer_Makefile.in) = fcf4ab03ab033f8637813e30b75a0a2050450933
+SHA1 (patch-mobile_android_installer_package-manifest.in) = e978af41ff0c4b5e477bd3387594e238dc2ec224
 SHA1 (patch-modules_libjar_nsZipArchive.cpp) = 133b1658839d9b0f932a601670862c1f4cd70881
 SHA1 (patch-modules_libpref_init_all.js) = 3bc5962fdabb5aecb72ffc7e73bb56392d1ea717
+SHA1 (patch-moz.configure) = cd4d3851e9dc2c1adb6a92b6f3cd1966adcd5beb
 SHA1 (patch-mozglue_build_arm.cpp) = f41ace63b3f1d2a8ccaffc98c3c64d1e22af5249
 SHA1 (patch-mozglue_build_arm.h) = 5e272f4e19b9681d43a63c45d78b0e44a392c7dc
-SHA1 (patch-netwerk_srtp_src_crypto_hash_hmac.c) = 852abd95ca0a553bbe1b65da2fa4006fd205d588
-SHA1 (patch-netwerk_srtp_src_crypto_kernel_crypto__kernel.c) = a589bff3b76e79b54f5e617020b137ff3d7f816b
+SHA1 (patch-netwerk_dns_moz.build) = d4ad35ee7152ca206156403954cbd247d1252ab0
 SHA1 (patch-python_mozbuild_mozbuild_configure_options.py) = f862ee425ae016df6fe12b55050a8dc075ecce89
 SHA1 (patch-rc) = 9628b038f036f3fc0e37bdf84fa0abf99dbc8d2a
+SHA1 (patch-toolkit_components_osfile_modules_osfile__unix__back.jsm) = 27e90fdfd5587f670958d832cd56107740b226ee
+SHA1 (patch-toolkit_components_osfile_modules_osfile__unix__front.jsm) = 4e5dc7cf11ea3d48cca86b5d21158d676ebd8957
 SHA1 (patch-toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h) = 5ffb0782bbbff2fd17ad71e98b349b4ec3dc6c8c
 SHA1 (patch-toolkit_components_protobuf_src_google_protobuf_stubs_platform__macros.h) = bd4388323851fcb7b10392d6a27f9bc56633a52e
 SHA1 (patch-toolkit_components_terminator_nsTerminator.cpp) = 5b6d2e5c9f685d32894898d3ef3aec09a1a1e5ce
 SHA1 (patch-toolkit_library_libxul.mk) = 98d79e7ae52d4b54111512a98a03810e2bbe454d
-SHA1 (patch-toolkit_library_moz.build) = be0b3ae0c8048fd61c67b2ae78b2a0813cbefd85
+SHA1 (patch-toolkit_library_moz.build) = 34a05c9b32151a955ad0014ba0ccbee6f41d30f5
 SHA1 (patch-toolkit_modules_GMPUtils.jsm) = 29ae1476560623bf1871c927d3728761112529e9
 SHA1 (patch-toolkit_moz.configure) = 851a9ed80072de0215863cf81cdbf674bf31271d
 SHA1 (patch-toolkit_mozapps_extensions_test_browser_browser__gmpProvider.js) = eacc4f45f724eb42869a1dba015e127e049fdec4
 SHA1 (patch-toolkit_xre_glxtest.cpp) = cf048491778610454b914400e53072afedd96e7b
 SHA1 (patch-toolkit_xre_nsEmbedFunctions.cpp) = 4db0dfc98ffeb09f524a471e6a727f2c3b045afe
 SHA1 (patch-xpcom_base_nscore.h) = d7c96eda884d7f370442749c43caba50da61bbe4
+SHA1 (patch-xpcom_build_XPCOMInit.cpp) = 1e7cc3a7fd9515b10307fafa2b01ed689320bd54
 SHA1 (patch-xpcom_components_Module.h) = 892f8d6a9cb868e5cdc3c6f6be233055dd1ca529
 SHA1 (patch-xpcom_reflect_xptcall_md_unix_Makefile.in) = 950874fbc255c93a828bddd84ffe8478094214cc
 SHA1 (patch-xpcom_reflect_xptcall_md_unix_moz.build) = 82026e72559334810be2f8a510d22f0553a353c2

Index: pkgsrc/www/firefox/patches/patch-aa
diff -u pkgsrc/www/firefox/patches/patch-aa:1.47 pkgsrc/www/firefox/patches/patch-aa:1.48
--- pkgsrc/www/firefox/patches/patch-aa:1.47    Sat Aug  6 08:46:59 2016
+++ pkgsrc/www/firefox/patches/patch-aa Sat Dec  3 09:58:26 2016
@@ -1,13 +1,13 @@
-$NetBSD: patch-aa,v 1.47 2016/08/06 08:46:59 ryoon Exp $
+$NetBSD: patch-aa,v 1.48 2016/12/03 09:58:26 ryoon Exp $
 
 * MOZ_ENABLE_PROFILER_SPS is not for users, Disable it
 * Disable libjpeg-turbo check
 * Add system libraries option
 * Add OSS audio support
 
---- old-configure.in.orig      2016-07-25 20:22:06.000000000 +0000
+--- old-configure.in.orig      2016-10-31 20:15:28.000000000 +0000
 +++ old-configure.in
-@@ -2489,11 +2489,7 @@ if test "$MOZ_SYSTEM_JPEG" = 1; then
+@@ -2304,11 +2304,7 @@ if test "$MOZ_SYSTEM_JPEG" = 1; then
                       #include <jpeglib.h> ],
                     [ #if JPEG_LIB_VERSION < $MOZJPEG
                       #error "Insufficient JPEG library version ($MOZJPEG required)."
@@ -20,7 +20,7 @@ $NetBSD: patch-aa,v 1.47 2016/08/06 08:4
                     MOZ_SYSTEM_JPEG=1,
                     AC_MSG_ERROR([Insufficient JPEG library version for --with-system-jpeg]))
  fi
-@@ -3638,6 +3634,9 @@ if test -n "$MOZ_WEBRTC"; then
+@@ -3220,6 +3216,9 @@ if test -n "$MOZ_WEBRTC"; then
      MOZ_RAW=1
      MOZ_VPX_ERROR_CONCEALMENT=1
  
@@ -30,7 +30,16 @@ $NetBSD: patch-aa,v 1.47 2016/08/06 08:4
  dnl enable once Signaling lands
      MOZ_WEBRTC_SIGNALING=1
      AC_DEFINE(MOZ_WEBRTC_SIGNALING)
-@@ -3780,6 +3779,155 @@ if test "${ac_cv_c_attribute_aligned}" !
+@@ -3262,7 +3261,7 @@ dnl Use integers over floats for audio o
+ dnl (regarless of the CPU architecture, because audio
+ dnl backends for those platforms don't support floats. We also
+ dnl use integers on ARM with other OS, because it's more efficient.
+-if test "$OS_TARGET" = "Android" -o "$CPU_ARCH" = "arm"; then
++if test -n "$MOZ_INTEGER_SAMPLES"; then
+     MOZ_SAMPLE_TYPE_S16=1
+     AC_DEFINE(MOZ_SAMPLE_TYPE_S16)
+     AC_SUBST(MOZ_SAMPLE_TYPE_S16)
+@@ -3362,6 +3361,155 @@ if test "${ac_cv_c_attribute_aligned}" !
  fi
  
  dnl ========================================================
@@ -186,7 +195,119 @@ $NetBSD: patch-aa,v 1.47 2016/08/06 08:4
  dnl = Apple platform decoder support
  dnl ========================================================
  if test "$COMPILE_ENVIRONMENT"; then
-@@ -4027,6 +4175,67 @@ AC_DEFINE(MOZ_WEBM_ENCODER)
+@@ -3445,6 +3593,111 @@ if test -n "$MOZ_OMX_PLUGIN"; then
+     fi
+ fi
+ 
++dnl ========================================================
++dnl Check for libogg
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-ogg,
++[  --with-system-ogg       Use system libogg (located with pkgconfig)],
++MOZ_SYSTEM_OGG=1,
++MOZ_SYSTEM_OGG=)
++
++if test -n "$MOZ_SYSTEM_OGG"; then
++    PKG_CHECK_MODULES(MOZ_OGG, ogg >= 1.2.1)
++
++    _SAVE_LIBS=$LIBS
++    LIBS="$LIBS $MOZ_OGG_LIBS"
++    AC_CHECK_FUNC(ogg_set_mem_functions, [],
++      [AC_DEFINE(MOZ_OGG_NO_MEM_REPORTING)])
++    LIBS=$_SAVE_LIBS
++fi
++
++AC_SUBST(MOZ_SYSTEM_OGG)
++
++dnl ========================================================
++dnl Check for libvorbis
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-vorbis,
++[  --with-system-vorbis    Use system libvorbis (located with pkgconfig)],
++MOZ_SYSTEM_VORBIS=1,
++MOZ_SYSTEM_VORBIS=)
++
++if test -n "$MOZ_SYSTEM_VORBIS"; then
++    PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.5)
++fi
++
++AC_SUBST(MOZ_SYSTEM_VORBIS)
++
++dnl ========================================================
++dnl Check for integer-only libvorbis aka tremor
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-tremor,
++[  --with-system-tremor    Use system libtremor (located with pkgconfig)],
++MOZ_SYSTEM_TREMOR=1,
++MOZ_SYSTEM_TREMOR=)
++
++if test -n "$MOZ_SYSTEM_TREMOR"; then
++    PKG_CHECK_MODULES(MOZ_TREMOR, vorbisidec >= 1.2.1)
++fi
++
++AC_SUBST(MOZ_SYSTEM_TREMOR)
++
++dnl ========================================================
++dnl Check for libtheora
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-theora,
++[  --with-system-theora    Use system libtheora (located with pkgconfig)],
++MOZ_SYSTEM_THEORA=1,
++MOZ_SYSTEM_THEORA=)
++
++if test -n "$MOZ_SYSTEM_THEORA"; then
++    PKG_CHECK_MODULES(MOZ_THEORA, theora >= 1.2)
++fi
++
++AC_SUBST(MOZ_SYSTEM_THEORA)
++
++dnl ========================================================
++dnl Check for libSoundTouch
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-soundtouch,
++[  --with-system-soundtouch Use system libSoundTouch (located with pkgconfig)],
++MOZ_SYSTEM_SOUNDTOUCH=1,
++MOZ_SYSTEM_SOUNDTOUCH=)
++
++if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then
++    PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.9.0)
++
++    AC_LANG_SAVE
++    AC_LANG_CPLUSPLUS
++    _SAVE_CXXFLAGS=$CXXFLAGS
++    CXXFLAGS="$CXXFLAGS $MOZ_SOUNDTOUCH_CFLAGS"
++    AC_CACHE_CHECK(for soundtouch sample type,
++                   ac_cv_soundtouch_sample_type,
++                   [AC_TRY_COMPILE([#include <SoundTouch.h>
++                                    #ifndef SOUNDTOUCH_INTEGER_SAMPLES
++                                    #error soundtouch expects float samples
++                                    #endif],
++                                   [],
++                                   [ac_cv_soundtouch_sample_type=short],
++                                   [ac_cv_soundtouch_sample_type=float])])
++    CXXFLAGS=$_SAVE_CXXFLAGS
++    AC_LANG_RESTORE
++
++    if test \( -n "$MOZ_SAMPLE_TYPE_S16" -a "$ac_cv_soundtouch_sample_type" != short \) \
++         -o \( -n "$MOZ_SAMPLE_TYPE_FLOAT32" -a "$ac_cv_soundtouch_sample_type" != float \) ; then
++        AC_MSG_ERROR([SoundTouch library is built with incompatible sample type. Either rebuild the library with/without --enable-integer-samples, chase default Mozilla sample type or remove 
--with-system-soundtouch.])
++    fi
++fi
++
++if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then
++    AC_DEFINE(MOZ_SYSTEM_SOUNDTOUCH)
++fi
++AC_SUBST(MOZ_SYSTEM_SOUNDTOUCH)
++
+ dnl system libvpx Support
+ dnl ========================================================
+ MOZ_ARG_WITH_BOOL(system-libvpx,
+@@ -3609,6 +3862,67 @@ AC_DEFINE(MOZ_WEBM_ENCODER)
  AC_SUBST(MOZ_WEBM_ENCODER)
  
  dnl ==================================
@@ -195,7 +316,7 @@ $NetBSD: patch-aa,v 1.47 2016/08/06 08:4
 +
 +dnl If using Linux, Solaris or BSDs, ensure that OSS is available
 +case "$OS_TARGET" in
-+Linux|SunOS|DragonFly|FreeBSD|GNU/kFreeBSD)
++Linux|SunOS|DragonFly|FreeBSD|NetBSD|GNU/kFreeBSD)
 +    MOZ_OSS=1
 +    ;;
 +esac
@@ -218,7 +339,7 @@ $NetBSD: patch-aa,v 1.47 2016/08/06 08:4
 +    dnl Prefer 4Front implementation
 +    AC_MSG_CHECKING([MOZ_OSS_CFLAGS])
 +    if test "$OSSPREFIX" != "yes"; then
-+        oss_conf=${OSSPREFIX}/etc/oss.conf
++        oss_conf=${OSSPREFIX%/usr}/etc/oss.conf
 +        if test -f "$oss_conf"; then
 +            . "$oss_conf"
 +        else
@@ -235,7 +356,7 @@ $NetBSD: patch-aa,v 1.47 2016/08/06 08:4
 +
 +    if test "$ac_cv_header_sys_soundcard_h" != "yes" -a \
 +            "$ac_cv_header_soundcard_h" != "yes"; then
-+        AC_MSG_ERROR([Need OSS for Ogg, Wave or WebM decoding on $OS_TARGET.  Disable with --disable-ogg --disable-wave --disable-webm.])
++        AC_MSG_ERROR([Need OSS for Ogg, Wave or WebM decoding on $OS_TARGET.  Disable with --without-oss.])
 +    fi
 +
 +    dnl Assume NetBSD implementation over SunAudio
@@ -254,7 +375,7 @@ $NetBSD: patch-aa,v 1.47 2016/08/06 08:4
  dnl = Check alsa availability on Linux
  dnl ==================================
  
-@@ -4040,12 +4249,23 @@ MOZ_ARG_ENABLE_BOOL(alsa,
+@@ -3622,12 +3936,23 @@ MOZ_ARG_ENABLE_BOOL(alsa,
     MOZ_ALSA=1,
     MOZ_ALSA=)
  
@@ -278,3 +399,31 @@ $NetBSD: patch-aa,v 1.47 2016/08/06 08:4
  AC_SUBST(MOZ_ALSA)
  
  dnl ========================================================
+@@ -5764,6 +6089,27 @@ if test "$USE_FC_FREETYPE"; then
+ fi
+ 
+ dnl ========================================================
++dnl Check for graphite2
++dnl ========================================================
++if test -n "$MOZ_SYSTEM_GRAPHITE2"; then
++    dnl graphite2.pc has bogus version, check manually
++    _SAVE_CFLAGS=$CFLAGS
++    CFLAGS="$CFLAGS $MOZ_GRAPHITE2_CFLAGS"
++    AC_TRY_COMPILE([ #include <graphite2/Font.h>
++                     #define GR2_VERSION_REQUIRE(major,minor,bugfix)  \
++                             ( GR2_VERSION_MAJOR * 10000 + GR2_VERSION_MINOR \
++                               * 100 + GR2_VERSION_BUGFIX >= \
++                               (major) * 10000 + (minor) * 100 + (bugfix) )
++                   ], [
++                     #if !GR2_VERSION_REQUIRE(1,3,8)
++                     #error "Insufficient graphite2 version."
++                     #endif
++                   ], [],
++                   [AC_MSG_ERROR([--with-system-graphite2 requested but no working libgraphite2 found])])
++    CFLAGS=$_SAVE_CFLAGS
++fi
++
++dnl ========================================================
+ dnl Check for pixman and cairo
+ dnl ========================================================
+ 

Index: pkgsrc/www/firefox/patches/patch-build_moz.configure_old.configure
diff -u pkgsrc/www/firefox/patches/patch-build_moz.configure_old.configure:1.2 pkgsrc/www/firefox/patches/patch-build_moz.configure_old.configure:1.3
--- pkgsrc/www/firefox/patches/patch-build_moz.configure_old.configure:1.2      Tue Sep 20 20:01:41 2016
+++ pkgsrc/www/firefox/patches/patch-build_moz.configure_old.configure  Sat Dec  3 09:58:26 2016
@@ -1,6 +1,6 @@
-$NetBSD: patch-build_moz.configure_old.configure,v 1.2 2016/09/20 20:01:41 ryoon Exp $
+$NetBSD: patch-build_moz.configure_old.configure,v 1.3 2016/12/03 09:58:26 ryoon Exp $
 
---- build/moz.configure/old.configure.orig     2016-08-18 00:33:14.000000000 +0000
+--- build/moz.configure/old.configure.orig     2016-10-31 20:15:27.000000000 +0000
 +++ build/moz.configure/old.configure
 @@ -159,6 +159,7 @@ def old_configure_options(*options):
      '--enable-accessibility',
@@ -10,7 +10,7 @@ $NetBSD: patch-build_moz.configure_old.c
      '--enable-android-omx',
      '--enable-approximate-location',
      '--enable-b2g-bt',
-@@ -262,6 +263,7 @@ def old_configure_options(*options):
+@@ -259,6 +260,7 @@ def old_configure_options(*options):
      '--enable-verify-mar',
      '--enable-warnings-as-errors',
      '--enable-webapp-runtime',
@@ -18,15 +18,14 @@ $NetBSD: patch-build_moz.configure_old.c
      '--enable-webrtc',
      '--enable-websms-backend',
      '--enable-webspeech',
-@@ -310,6 +312,7 @@ def old_configure_options(*options):
+@@ -306,19 +308,27 @@ def old_configure_options(*options):
      '--with-nspr-prefix',
      '--with-nss-exec-prefix',
      '--with-nss-prefix',
 +    '--with-oss',
      '--with-pthreads',
      '--with-qemu-exe',
-     '--with-qtdir',
-@@ -317,13 +320,20 @@ def old_configure_options(*options):
+     '--with-servo',
      '--with-sixgill',
      '--with-soft-float',
      '--with-system-bz2',
Index: pkgsrc/www/firefox/patches/patch-js_xpconnect_src_xpcprivate.h
diff -u pkgsrc/www/firefox/patches/patch-js_xpconnect_src_xpcprivate.h:1.2 pkgsrc/www/firefox/patches/patch-js_xpconnect_src_xpcprivate.h:1.3
--- pkgsrc/www/firefox/patches/patch-js_xpconnect_src_xpcprivate.h:1.2  Fri Jan 30 07:32:24 2015
+++ pkgsrc/www/firefox/patches/patch-js_xpconnect_src_xpcprivate.h      Sat Dec  3 09:58:26 2016
@@ -1,12 +1,12 @@
-$NetBSD: patch-js_xpconnect_src_xpcprivate.h,v 1.2 2015/01/30 07:32:24 pho Exp $
+$NetBSD: patch-js_xpconnect_src_xpcprivate.h,v 1.3 2016/12/03 09:58:26 ryoon Exp $
 
 From commit log 1.1:
   Instantiate WeakMapPtr explicitly to get the right visibility with
   clang.
 
---- js/xpconnect/src/xpcprivate.h.orig 2015-01-23 06:00:06.000000000 +0000
+--- js/xpconnect/src/xpcprivate.h.orig 2016-10-31 20:15:38.000000000 +0000
 +++ js/xpconnect/src/xpcprivate.h
-@@ -1016,6 +1016,8 @@ static inline bool IS_PROTO_CLASS(const 
+@@ -860,6 +860,8 @@ typedef nsTArray<InterpositionWhitelistP
  /***************************************************************************/
  // XPCWrappedNativeScope is one-to-one with a JS global object.
  
@@ -14,4 +14,4 @@ From commit log 1.1:
 +
  class nsIAddonInterposition;
  class nsXPCComponentsBase;
- class XPCWrappedNativeScope : public PRCList
+ class XPCWrappedNativeScope final : public PRCList

Index: pkgsrc/www/firefox/patches/patch-config_Makefile.in
diff -u pkgsrc/www/firefox/patches/patch-config_Makefile.in:1.7 pkgsrc/www/firefox/patches/patch-config_Makefile.in:1.8
--- pkgsrc/www/firefox/patches/patch-config_Makefile.in:1.7     Sat Aug  6 08:46:59 2016
+++ pkgsrc/www/firefox/patches/patch-config_Makefile.in Sat Dec  3 09:58:26 2016
@@ -1,21 +1,20 @@
-$NetBSD: patch-config_Makefile.in,v 1.7 2016/08/06 08:46:59 ryoon Exp $
+$NetBSD: patch-config_Makefile.in,v 1.8 2016/12/03 09:58:26 ryoon Exp $
 
 * Support system libraries
 
---- config/Makefile.in.orig    2016-07-25 20:22:04.000000000 +0000
+--- config/Makefile.in.orig    2016-10-31 20:15:27.000000000 +0000
 +++ config/Makefile.in
-@@ -49,6 +49,14 @@ export:: $(export-preqs)
+@@ -49,6 +49,13 @@ export:: $(export-preqs)
                -DMOZ_SYSTEM_LIBEVENT=$(MOZ_SYSTEM_LIBEVENT) \
                -DMOZ_SYSTEM_LIBVPX=$(MOZ_SYSTEM_LIBVPX) \
                -DMOZ_SYSTEM_ICU=$(MOZ_SYSTEM_ICU) \
++              -DMOZ_SYSTEM_GRAPHITE2=$(MOZ_SYSTEM_GRAPHITE2) \
++              -DMOZ_SYSTEM_HARFBUZZ=$(MOZ_SYSTEM_HARFBUZZ) \
 +              -DMOZ_SYSTEM_OGG=$(MOZ_SYSTEM_OGG) \
 +              -DMOZ_SYSTEM_THEORA=$(MOZ_SYSTEM_THEORA) \
 +              -DMOZ_SYSTEM_VORBIS=$(MOZ_SYSTEM_VORBIS) \
 +              -DMOZ_SYSTEM_TREMOR=$(MOZ_SYSTEM_TREMOR) \
-+              -DMOZ_SYSTEM_CELT=$(MOZ_SYSTEM_CELT) \
-+              -DMOZ_SYSTEM_OPUS=$(MOZ_SYSTEM_OPUS) \
-+              -DMOZ_SYSTEM_SPEEX=$(MOZ_SYSTEM_SPEEX) \
 +              -DMOZ_SYSTEM_SOUNDTOUCH=$(MOZ_SYSTEM_SOUNDTOUCH) \
-               $(srcdir)/system-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers
+               $(srcdir)/system-headers $(srcdir)/stl-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers
        $(INSTALL) system_wrappers $(DIST)
  
Index: pkgsrc/www/firefox/patches/patch-image_decoders_nsJPEGDecoder.cpp
diff -u pkgsrc/www/firefox/patches/patch-image_decoders_nsJPEGDecoder.cpp:1.7 pkgsrc/www/firefox/patches/patch-image_decoders_nsJPEGDecoder.cpp:1.8
--- pkgsrc/www/firefox/patches/patch-image_decoders_nsJPEGDecoder.cpp:1.7       Thu Jun 16 12:08:21 2016
+++ pkgsrc/www/firefox/patches/patch-image_decoders_nsJPEGDecoder.cpp   Sat Dec  3 09:58:26 2016
@@ -1,11 +1,11 @@
-$NetBSD: patch-image_decoders_nsJPEGDecoder.cpp,v 1.7 2016/06/16 12:08:21 ryoon Exp $
+$NetBSD: patch-image_decoders_nsJPEGDecoder.cpp,v 1.8 2016/12/03 09:58:26 ryoon Exp $
 
 Partially revert https://bugzilla.mozilla.org/show_bug.cgi?id=791305
 to allow building against jpeg (not jpeg-turbo).
 
---- image/decoders/nsJPEGDecoder.cpp.orig      2015-04-20 02:19:51.000000000 +0000
+--- image/decoders/nsJPEGDecoder.cpp.orig      2016-10-31 20:15:32.000000000 +0000
 +++ image/decoders/nsJPEGDecoder.cpp
-@@ -23,13 +23,28 @@
+@@ -28,13 +28,28 @@
  
  extern "C" {
  #include "iccjpeg.h"
@@ -35,7 +35,7 @@ to allow building against jpeg (not jpeg
  
  static void cmyk_convert_rgb(JSAMPROW row, JDIMENSION width);
  
-@@ -373,6 +388,7 @@ nsJPEGDecoder::WriteInternal(const char*
+@@ -360,6 +375,7 @@ nsJPEGDecoder::ReadJPEGData(const char* 
          case JCS_GRAYSCALE:
          case JCS_RGB:
          case JCS_YCbCr:
@@ -43,18 +43,18 @@ to allow building against jpeg (not jpeg
            // if we're not color managing we can decode directly to
            // MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB
            if (mCMSMode != eCMSMode_All) {
-@@ -381,6 +397,9 @@ nsJPEGDecoder::WriteInternal(const char*
+@@ -368,6 +384,9 @@ nsJPEGDecoder::ReadJPEGData(const char* 
            } else {
                mInfo.out_color_space = JCS_RGB;
            }
 +#else
-+        mInfo.out_color_space = JCS_RGB;
++          mInfo.out_color_space = JCS_RGB;
 +#endif
            break;
          case JCS_CMYK:
          case JCS_YCCK:
-@@ -448,6 +467,15 @@ nsJPEGDecoder::WriteInternal(const char*
-       return; // I/O suspension
+@@ -441,6 +460,16 @@ nsJPEGDecoder::ReadJPEGData(const char* 
+       return Transition::ContinueUnbuffered(State::JPEG_DATA); // I/O suspension
      }
  
 +#ifndef JCS_EXTENSIONS
@@ -66,10 +66,11 @@ to allow building against jpeg (not jpeg
 +      mInfo.cconvert->color_convert = ycc_rgb_convert_argb;
 +    }
 +#endif
++
      // If this is a progressive JPEG ...
      mState = mInfo.buffered_image ?
               JPEG_DECOMPRESS_PROGRESSIVE : JPEG_DECOMPRESS_SEQUENTIAL;
-@@ -629,7 +657,11 @@ nsJPEGDecoder::OutputScanlines(bool* sus
+@@ -638,7 +667,11 @@ nsJPEGDecoder::OutputScanlines(bool* sus
  
        MOZ_ASSERT(imageRow, "Should have a row buffer here");
  
@@ -81,7 +82,7 @@ to allow building against jpeg (not jpeg
          // Special case: scanline will be directly converted into packed ARGB
          if (jpeg_read_scanlines(&mInfo, (JSAMPARRAY)&imageRow, 1) != 1) {
            *suspend = true; // suspend
-@@ -953,6 +985,282 @@ term_source (j_decompress_ptr jd)
+@@ -962,6 +995,282 @@ term_source (j_decompress_ptr jd)
  } // namespace image
  } // namespace mozilla
  
Index: pkgsrc/www/firefox/patches/patch-media_libcubeb_src_cubeb__oss.c
diff -u pkgsrc/www/firefox/patches/patch-media_libcubeb_src_cubeb__oss.c:1.7 pkgsrc/www/firefox/patches/patch-media_libcubeb_src_cubeb__oss.c:1.8
--- pkgsrc/www/firefox/patches/patch-media_libcubeb_src_cubeb__oss.c:1.7        Wed Nov  9 19:33:24 2016
+++ pkgsrc/www/firefox/patches/patch-media_libcubeb_src_cubeb__oss.c    Sat Dec  3 09:58:26 2016
@@ -1,12 +1,12 @@
-$NetBSD: patch-media_libcubeb_src_cubeb__oss.c,v 1.7 2016/11/09 19:33:24 maya Exp $
+$NetBSD: patch-media_libcubeb_src_cubeb__oss.c,v 1.8 2016/12/03 09:58:26 ryoon Exp $
 
 * Restore OSS audio support code
 
---- media/libcubeb/src/cubeb_oss.c.orig        2016-11-09 15:26:24.842721769 +0000
+--- media/libcubeb/src/cubeb_oss.c.orig        2016-11-29 13:25:18.814351604 +0000
 +++ media/libcubeb/src/cubeb_oss.c
-@@ -0,0 +1,414 @@
+@@ -0,0 +1,442 @@
 +/*
-+ * Copyright � 2014 Mozilla Foundation
++ * Copyright © 2014 Mozilla Foundation
 + *
 + * This program is made available under an ISC-style license.  See the
 + * accompanying file LICENSE for details.
@@ -36,8 +36,6 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
 +
 +#define OSS_BUFFER_SIZE 1024
 +
-+#define SATURATE(f) fmaxf(-1,fminf(1,f))
-+
 +struct cubeb {
 +  struct cubeb_ops const * ops;
 +};
@@ -133,8 +131,8 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
 +  return got;
 +}
 +
-+static void apply_volume(int16_t* buffer, unsigned int n,
-+                         float volume, float panning)
++static void apply_volume_int(int16_t* buffer, unsigned int n,
++                             float volume, float panning)
 +{
 +  float left = volume;
 +  float right = volume;
@@ -152,6 +150,26 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
 +  }
 +}
 +
++static void apply_volume_float(float* buffer, unsigned int n,
++                               float volume, float panning)
++{
++  float left = volume;
++  float right = volume;
++  unsigned int i;
++  float pan[2];
++  if (panning<0) {
++    right *= (1+panning);
++  } else {
++    left *= (1-panning);
++  }
++  pan[0] = left;
++  pan[1] = right;
++  for(i=0; i<n; i++){
++    buffer[i] = buffer[i]*pan[i%2];
++  }
++}
++
++
 +static void *writer(void *stm)
 +{
 +  cubeb_stream* stream = (cubeb_stream*)stm;
@@ -176,15 +194,25 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
 +    if (stream->floating) {
 +      got = run_data_callback(stream, f_buffer,
 +                              OSS_BUFFER_SIZE/stream->params.channels);
++      apply_volume_float(f_buffer, got*stream->params.channels,
++                                   stream->volume, stream->panning);
 +      for (i=0; i<((unsigned long)got)*stream->params.channels; i++) {
-+          buffer[i] = SATURATE(f_buffer[i])*32767.0;
++        /* Clipping is prefered to overflow */
++      if(f_buffer[i]>=1.0){
++        f_buffer[i]=1.0;
++      }
++        if(f_buffer[i]<=-1.0){
++        f_buffer[i]=-1.0;
++      }
++        /* One might think that multipling by 32767.0 is logical but results in clipping */
++        buffer[i] = f_buffer[i]*32767.0;
 +      }
 +    } else {
 +      got = run_data_callback(stream, buffer,
 +                              OSS_BUFFER_SIZE/stream->params.channels);
++      apply_volume_int(buffer, got*stream->params.channels,
++                               stream->volume, stream->panning);
 +    }
-+    apply_volume(buffer, got*stream->params.channels,
-+                         stream->volume, stream->panning);
 +    if (got<0) {
 +      run_state_callback(stream, CUBEB_STATE_ERROR);
 +      break;
@@ -264,9 +292,9 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
 +  oss_try_set_latency(stream, latency); 
 +
 +  stream->floating = 0;
-+  SET(SNDCTL_DSP_CHANNELS, output_stream_params->channels);
-+  SET(SNDCTL_DSP_SPEED, output_stream_params->rate);
-+  switch (output_stream_params->format) {
++  SET(SNDCTL_DSP_CHANNELS, stream->params.channels);
++  SET(SNDCTL_DSP_SPEED, stream->params.rate);
++  switch (stream->params.format) {
 +    case CUBEB_SAMPLE_S16LE:
 +      SET(SNDCTL_DSP_SETFMT, AFMT_S16_LE);
 +    break;
Index: pkgsrc/www/firefox/patches/patch-mfbt_Attributes.h
diff -u pkgsrc/www/firefox/patches/patch-mfbt_Attributes.h:1.7 pkgsrc/www/firefox/patches/patch-mfbt_Attributes.h:1.8
--- pkgsrc/www/firefox/patches/patch-mfbt_Attributes.h:1.7      Sat Aug  6 08:46:59 2016
+++ pkgsrc/www/firefox/patches/patch-mfbt_Attributes.h  Sat Dec  3 09:58:26 2016
@@ -1,6 +1,6 @@
-$NetBSD: patch-mfbt_Attributes.h,v 1.7 2016/08/06 08:46:59 ryoon Exp $
+$NetBSD: patch-mfbt_Attributes.h,v 1.8 2016/12/03 09:58:26 ryoon Exp $
 
---- mfbt/Attributes.h.orig     2016-07-25 20:22:04.000000000 +0000
+--- mfbt/Attributes.h.orig     2016-10-31 20:15:24.000000000 +0000
 +++ mfbt/Attributes.h
 @@ -50,6 +50,7 @@
   * don't indicate support for them here, due to
@@ -10,13 +10,3 @@ $NetBSD: patch-mfbt_Attributes.h,v 1.7 2
  #  define MOZ_HAVE_NEVER_INLINE          __declspec(noinline)
  #  define MOZ_HAVE_NORETURN              __declspec(noreturn)
  #  if _MSC_VER >= 1900
-@@ -72,6 +73,9 @@
- #  ifndef __has_extension
- #    define __has_extension __has_feature /* compatibility, for older versions of clang */
- #  endif
-+#  if __has_extension(cxx_alignas)
-+#    define MOZ_HAVE_CXX11_ALIGNAS
-+#  endif
- #  if __has_extension(cxx_constexpr)
- #    define MOZ_HAVE_CXX11_CONSTEXPR
- #  endif
Index: pkgsrc/www/firefox/patches/patch-toolkit_library_moz.build
diff -u pkgsrc/www/firefox/patches/patch-toolkit_library_moz.build:1.7 pkgsrc/www/firefox/patches/patch-toolkit_library_moz.build:1.8
--- pkgsrc/www/firefox/patches/patch-toolkit_library_moz.build:1.7      Sat Aug  6 08:46:59 2016
+++ pkgsrc/www/firefox/patches/patch-toolkit_library_moz.build  Sat Dec  3 09:58:26 2016
@@ -1,8 +1,8 @@
-$NetBSD: patch-toolkit_library_moz.build,v 1.7 2016/08/06 08:46:59 ryoon Exp $
+$NetBSD: patch-toolkit_library_moz.build,v 1.8 2016/12/03 09:58:26 ryoon Exp $
 
 * Support system libraries
 
---- toolkit/library/moz.build.orig     2016-07-25 20:22:07.000000000 +0000
+--- toolkit/library/moz.build.orig     2016-11-05 00:20:16.000000000 +0000
 +++ toolkit/library/moz.build
 @@ -211,6 +211,7 @@ if CONFIG['OS_ARCH'] == 'Linux' and CONF
      ]
@@ -12,7 +12,16 @@ $NetBSD: patch-toolkit_library_moz.build
  OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS']
  OS_LIBS += CONFIG['MOZ_SERVO_LIBS']
  
-@@ -223,6 +224,30 @@ if CONFIG['MOZ_SYSTEM_PNG']:
+@@ -220,9 +221,30 @@ if CONFIG['MOZ_SYSTEM_JPEG']:
+ if CONFIG['MOZ_SYSTEM_PNG']:
+     OS_LIBS += CONFIG['MOZ_PNG_LIBS']
+ 
++if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
++    OS_LIBS += CONFIG['MOZ_GRAPHITE2_LIBS']
++
++if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
++    OS_LIBS += CONFIG['MOZ_HARFBUZZ_LIBS']
++
  if CONFIG['MOZ_SYSTEM_HUNSPELL']:
      OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
  
@@ -28,28 +37,20 @@ $NetBSD: patch-toolkit_library_moz.build
 +if CONFIG['MOZ_SYSTEM_TREMOR']:
 +    OS_LIBS += CONFIG['MOZ_TREMOR_LIBS']
 +
-+if CONFIG['MOZ_SYSTEM_CELT']:
-+    OS_LIBS += CONFIG['MOZ_CELT_LIBS']
-+
-+if CONFIG['MOZ_SYSTEM_OPUS']:
-+    OS_LIBS += CONFIG['MOZ_OPUS_LIBS']
-+
-+if CONFIG['MOZ_SYSTEM_SPEEX']:
-+    OS_LIBS += CONFIG['MOZ_SPEEX_LIBS']
-+
 +if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
 +    OS_LIBS += CONFIG['MOZ_SOUNDTOUCH_LIBS']
 +
  if CONFIG['MOZ_SYSTEM_LIBEVENT']:
      OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']
  
-@@ -235,6 +260,9 @@ if not CONFIG['MOZ_TREE_PIXMAN']:
- if CONFIG['MOZ_ALSA']:
-     OS_LIBS += CONFIG['MOZ_ALSA_LIBS']
+@@ -232,8 +254,8 @@ if CONFIG['MOZ_SYSTEM_LIBVPX']:
+ if not CONFIG['MOZ_TREE_PIXMAN']:
+     OS_LIBS += CONFIG['MOZ_PIXMAN_LIBS']
  
+-if CONFIG['MOZ_ALSA']:
+-    OS_LIBS += CONFIG['MOZ_ALSA_LIBS']
 +if CONFIG['MOZ_OSS']:
 +    OS_LIBS += CONFIG['MOZ_OSS_LIBS']
-+
+ 
  if CONFIG['HAVE_CLOCK_MONOTONIC']:
      OS_LIBS += CONFIG['REALTIME_LIBS']
- 

Index: pkgsrc/www/firefox/patches/patch-config_external_moz.build
diff -u pkgsrc/www/firefox/patches/patch-config_external_moz.build:1.13 pkgsrc/www/firefox/patches/patch-config_external_moz.build:1.14
--- pkgsrc/www/firefox/patches/patch-config_external_moz.build:1.13     Sat Aug  6 08:46:59 2016
+++ pkgsrc/www/firefox/patches/patch-config_external_moz.build  Sat Dec  3 09:58:26 2016
@@ -1,10 +1,10 @@
-$NetBSD: patch-config_external_moz.build,v 1.13 2016/08/06 08:46:59 ryoon Exp $
+$NetBSD: patch-config_external_moz.build,v 1.14 2016/12/03 09:58:26 ryoon Exp $
 
 * Support system libraries
 
---- config/external/moz.build.orig     2016-07-25 20:22:04.000000000 +0000
+--- config/external/moz.build.orig     2016-10-31 20:15:28.000000000 +0000
 +++ config/external/moz.build
-@@ -21,10 +21,19 @@ if CONFIG['MOZ_UPDATER']:
+@@ -21,12 +21,21 @@ if CONFIG['MOZ_UPDATER']:
  external_dirs += ['modules/brotli']
  external_dirs += ['modules/woff2']
  
@@ -12,12 +12,6 @@ $NetBSD: patch-config_external_moz.build
 +if not CONFIG['MOZ_SYSTEM_OGG']:
 +    external_dirs += ['media/libogg']
 +
-+if not CONFIG['MOZ_SYSTEM_CELT'] or not CONFIG['MOZ_SYSTEM_OPUS']:
-+    external_dirs += ['media/libopus']
-+
-+if not CONFIG['MOZ_SYSTEM_THEORA']:
-+    external_dirs += ['media/libtheora']
-+
 +if CONFIG['MOZ_VORBIS'] and not CONFIG['MOZ_SYSTEM_VORBIS']:
      external_dirs += ['media/libvorbis']
  
@@ -25,14 +19,25 @@ $NetBSD: patch-config_external_moz.build
 +if CONFIG['MOZ_TREMOR'] and not CONFIG['MOZ_SYSTEM_TREMOR']:
      external_dirs += ['media/libtremor']
  
++if not CONFIG['MOZ_SYSTEM_THEORA']:
++    external_dirs += ['media/libtheora']
++
++if not CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
++    external_dirs += ['media/libsoundtouch']
++
  if CONFIG['MOZ_WEBM_ENCODER']:
-@@ -52,9 +61,6 @@ external_dirs += [
+     external_dirs += ['media/libmkv']
+ 
+@@ -52,12 +61,9 @@ external_dirs += [
      'media/kiss_fft',
      'media/libcubeb',
      'media/libnestegg',
 -    'media/libogg',
--    'media/libopus',
+     'media/libopus',
 -    'media/libtheora',
      'media/libspeex_resampler',
      'media/libstagefright',
-     'media/libsoundtouch',
+-    'media/libsoundtouch',
+ ]
+ 
+ DIRS += ['../../' + i for i in external_dirs]

Index: pkgsrc/www/firefox/patches/patch-config_system-headers
diff -u pkgsrc/www/firefox/patches/patch-config_system-headers:1.20 pkgsrc/www/firefox/patches/patch-config_system-headers:1.21
--- pkgsrc/www/firefox/patches/patch-config_system-headers:1.20 Sat Aug  6 08:46:59 2016
+++ pkgsrc/www/firefox/patches/patch-config_system-headers      Sat Dec  3 09:58:26 2016
@@ -1,28 +1,29 @@
-$NetBSD: patch-config_system-headers,v 1.20 2016/08/06 08:46:59 ryoon Exp $
+$NetBSD: patch-config_system-headers,v 1.21 2016/12/03 09:58:26 ryoon Exp $
 
 * Try to support Video4Linux2
 * Resolve libm undefined error
 * Support system libraries
 
---- config/system-headers.orig 2016-07-25 20:22:04.000000000 +0000
+--- config/system-headers.orig 2016-10-31 20:15:28.000000000 +0000
 +++ config/system-headers
-@@ -631,6 +631,7 @@ libgnome/libgnome.h
+@@ -624,6 +624,8 @@ libgnome/libgnome.h
  libgnomeui/gnome-icon-lookup.h
  libgnomeui/gnome-icon-theme.h
  libgnomeui/gnome-ui-init.h
 +libv4l2.h
- limits
++limits
  limits.h
  link.h
-@@ -724,6 +725,7 @@ mapiutil.h
+ #ifdef ANDROID
+@@ -714,6 +716,7 @@ mapiutil.h
  mapix.h
  Math64.h
  math.h
 +complex
  mbstring.h
  #ifdef ANDROID
- media/AudioEffect.h
-@@ -1315,6 +1317,25 @@ vpx/vp8cx.h
+ android/native_window.h
+@@ -1301,6 +1304,25 @@ vpx/vp8cx.h
  vpx/vp8dx.h
  vpx_mem/vpx_mem.h
  #endif
@@ -48,10 +49,19 @@ $NetBSD: patch-config_system-headers,v 1
  gst/gst.h
  gst/app/gstappsink.h
  gst/app/gstappsrc.h
-@@ -1345,3 +1366,35 @@ unicode/utypes.h
+@@ -1331,3 +1353,26 @@ unicode/utypes.h
  #endif
  libutil.h
  unwind.h
++#if MOZ_SYSTEM_GRAPHITE2==1
++graphite2/Font.h
++graphite2/Segment.h
++#endif
++#if MOZ_SYSTEM_HARFBUZZ==1
++harfbuzz/hb-glib.h
++harfbuzz/hb-ot.h
++harfbuzz/hb.h
++#endif
 +#if MOZ_SYSTEM_OGG==1
 +ogg/ogg.h
 +ogg/os_types.h
@@ -66,21 +76,3 @@ $NetBSD: patch-config_system-headers,v 1
 +#if MOZ_SYSTEM_TREMOR==1
 +tremor/ivorbiscodec.h
 +#endif
-+#if MOZ_SYSTEM_CELT==1
-+celt.h
-+celt_header.h
-+celt/celt.h
-+celt/celt_header.h
-+#endif
-+#if MOZ_SYSTEM_OPUS==1
-+opus.h
-+opus_multistream.h
-+opus/opus.h
-+opus/opus_multistream.h
-+#endif
-+#if MOZ_SYSTEM_SPEEX==1
-+speex/speex_resampler.h
-+#endif
-+#if MOZ_SYSTEM_SOUNDTOUCH==1
-+soundtouch/SoundTouch.h
-+#endif

Index: pkgsrc/www/firefox/patches/patch-dom_media_moz.build
diff -u pkgsrc/www/firefox/patches/patch-dom_media_moz.build:1.5 pkgsrc/www/firefox/patches/patch-dom_media_moz.build:1.6
--- pkgsrc/www/firefox/patches/patch-dom_media_moz.build:1.5    Sat Aug  6 08:46:59 2016
+++ pkgsrc/www/firefox/patches/patch-dom_media_moz.build        Sat Dec  3 09:58:26 2016
@@ -1,10 +1,32 @@
-$NetBSD: patch-dom_media_moz.build,v 1.5 2016/08/06 08:46:59 ryoon Exp $
+$NetBSD: patch-dom_media_moz.build,v 1.6 2016/12/03 09:58:26 ryoon Exp $
 
 * Support system libraries
 
---- dom/media/moz.build.orig   2016-07-25 20:22:03.000000000 +0000
+--- dom/media/moz.build.orig   2016-10-31 20:15:34.000000000 +0000
 +++ dom/media/moz.build
-@@ -327,6 +327,27 @@ if CONFIG['ANDROID_VERSION'] > '15':
+@@ -319,6 +319,21 @@ if CONFIG['MOZ_WEBRTC']:
+ 
+ DEFINES['MOZILLA_INTERNAL_API'] = True
+ 
++if CONFIG['MOZ_SYSTEM_OGG']:
++    CXXFLAGS += CONFIG['MOZ_OGG_CFLAGS']
++
++if CONFIG['MOZ_SYSTEM_THEORA']:
++    CXXFLAGS += CONFIG['MOZ_THEORA_CFLAGS']
++
++if CONFIG['MOZ_SYSTEM_VORBIS']:
++    CXXFLAGS += CONFIG['MOZ_VORBIS_CFLAGS']
++
++if CONFIG['MOZ_SYSTEM_TREMOR']:
++    CXXFLAGS += CONFIG['MOZ_TREMOR_CFLAGS']
++
++if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
++    CXXFLAGS += CONFIG['MOZ_SOUNDTOUCH_CFLAGS']
++
+ if CONFIG['OS_TARGET'] == 'WINNT':
+     DEFINES['WEBRTC_WIN'] = True
+ else:
+@@ -333,6 +348,27 @@ if CONFIG['ANDROID_VERSION'] > '15':
  if CONFIG['MOZ_GONK_MEDIACODEC']:
      DEFINES['MOZ_GONK_MEDIACODEC'] = True
  

Index: pkgsrc/www/firefox/patches/patch-media_libcubeb_src_cubeb__alsa.c
diff -u pkgsrc/www/firefox/patches/patch-media_libcubeb_src_cubeb__alsa.c:1.16 pkgsrc/www/firefox/patches/patch-media_libcubeb_src_cubeb__alsa.c:1.17
--- pkgsrc/www/firefox/patches/patch-media_libcubeb_src_cubeb__alsa.c:1.16      Wed Nov  9 16:59:46 2016
+++ pkgsrc/www/firefox/patches/patch-media_libcubeb_src_cubeb__alsa.c   Sat Dec  3 09:58:26 2016
@@ -1,8 +1,8 @@
-$NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.16 2016/11/09 16:59:46 maya Exp $
+$NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.17 2016/12/03 09:58:26 ryoon Exp $
 
 * Support alsa audio under NetBSD
 
---- media/libcubeb/src/cubeb_alsa.c.orig       2016-04-15 16:57:46.000000000 +0000
+--- media/libcubeb/src/cubeb_alsa.c.orig       2016-10-31 20:15:39.000000000 +0000
 +++ media/libcubeb/src/cubeb_alsa.c
 @@ -7,12 +7,18 @@
  #undef NDEBUG
@@ -23,7 +23,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
  #include <unistd.h>
  #include <alsa/asoundlib.h>
  #include "cubeb/cubeb.h"
-@@ -25,6 +31,51 @@
+@@ -25,6 +31,50 @@
  
  #define ALSA_PA_PLUGIN "ALSA <-> PulseAudio PCM I/O Plugin"
  
@@ -46,7 +46,6 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
 +MAKE_TYPEDEF(snd_pcm_close);
 +MAKE_TYPEDEF(snd_pcm_delay);
 +MAKE_TYPEDEF(snd_pcm_drain);
-+MAKE_TYPEDEF(snd_pcm_forward);
 +MAKE_TYPEDEF(snd_pcm_frames_to_bytes);
 +MAKE_TYPEDEF(snd_pcm_get_params);
 +/* snd_pcm_hw_params_alloca is actually a macro */
@@ -75,7 +74,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
  /* ALSA is not thread-safe.  snd_pcm_t instances are individually protected
     by the owning cubeb_stream's mutex.  snd_pcm_t creation and destruction
     is not thread-safe until ALSA 1.0.24 (see alsa-lib.git commit 91c9c8f1),
-@@ -65,6 +116,8 @@ struct cubeb {
+@@ -65,6 +115,8 @@ struct cubeb {
       workaround is not required. */
    snd_config_t * local_config;
    int is_pa;
@@ -84,7 +83,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
  };
  
  enum stream_state {
-@@ -257,32 +310,35 @@ alsa_refill_stream(cubeb_stream * stm)
+@@ -255,15 +307,16 @@ alsa_refill_stream(cubeb_stream * stm)
    long got;
    void * p;
    int draining;
@@ -94,64 +93,26 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
  
    pthread_mutex_lock(&stm->mutex);
  
--  r = snd_pcm_poll_descriptors_revents(stm->pcm, stm->fds, stm->nfds, &revents);
--  if (r < 0 || revents != POLLOUT) {
--    /* This should be a stream error; it makes no sense for poll(2) to wake
--       for this stream and then have the stream report that it's not ready.
--       Unfortunately, this does happen, so just bail out and try again. */
--    pthread_mutex_unlock(&stm->mutex);
--    return RUNNING;
--  }
--
 -  avail = snd_pcm_avail_update(stm->pcm);
--  if (avail == -EPIPE) {
++  avail = WRAP(snd_pcm_avail_update)(stm->pcm);
+   if (avail < 0) {
 -    snd_pcm_recover(stm->pcm, avail, 1);
 -    avail = snd_pcm_avail_update(stm->pcm);
--  }
-+  for (pipefailures = 0;;) {
-+    r = WRAP(snd_pcm_poll_descriptors_revents)(stm->pcm, stm->fds, stm->nfds, &revents);
-+    if (r < 0 || revents != POLLOUT ||
-+      (avail = WRAP(snd_pcm_avail_update)(stm->pcm)) == 0) {
-+      /* This should be a stream error; it makes no sense for poll(2) to wake
-+         for this stream and then have the stream report that it's not ready.
-+         Unfortunately, this does happen, so just bail out and try again. */
-+      pthread_mutex_unlock(&stm->mutex);
-+      return RUNNING;
-+    }
- 
--  /* Failed to recover from an xrun, this stream must be broken. */
--  if (avail < 0) {
--    pthread_mutex_unlock(&stm->mutex);
--    stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR);
--    return ERROR;
-+    if (avail > 0)
-+      break;
-+    if (pipefailures++ > 11) {
-+      fprintf(stderr, "%s: repeated failures from snd_pcm_avail_update, "
-+              "giving up\n", __func__);
-+      pthread_mutex_unlock(&stm->mutex);
-+      stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR);
-+      return ERROR;
-+    }
 +    WRAP(snd_pcm_recover)(stm->pcm, avail, 1);
++    avail = WRAP(snd_pcm_avail_update)(stm->pcm);
+   }
+ 
+   /* Failed to recover from an xrun, this stream must be broken. */
+@@ -272,6 +325,7 @@ alsa_refill_stream(cubeb_stream * stm)
+     stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR);
+     return ERROR;
    }
 +  pipefailures = againfailures = 0;
  
    /* This should never happen. */
    if ((unsigned int) avail > stm->buffer_size) {
-@@ -293,8 +349,8 @@ alsa_refill_stream(cubeb_stream * stm)
-      available to write.  If avail is still zero here, the stream must be in
-      a funky state, so recover and try again. */
-   if (avail == 0) {
--    snd_pcm_recover(stm->pcm, -EPIPE, 1);
--    avail = snd_pcm_avail_update(stm->pcm);
-+    WRAP(snd_pcm_recover)(stm->pcm, -EPIPE, 1);
-+    avail = WRAP(snd_pcm_avail_update)(stm->pcm);
-     if (avail <= 0) {
-       pthread_mutex_unlock(&stm->mutex);
-       stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR);
-@@ -302,7 +358,7 @@ alsa_refill_stream(cubeb_stream * stm)
-     }
+@@ -286,7 +340,7 @@ alsa_refill_stream(cubeb_stream * stm)
+     return RUNNING;
    }
  
 -  p = calloc(1, snd_pcm_frames_to_bytes(stm->pcm, avail));
@@ -159,11 +120,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
    assert(p);
  
    pthread_mutex_unlock(&stm->mutex);
-@@ -311,10 +367,11 @@ alsa_refill_stream(cubeb_stream * stm)
-   if (got < 0) {
-     pthread_mutex_unlock(&stm->mutex);
-     stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR);
-+    free(p);
+@@ -299,7 +353,7 @@ alsa_refill_stream(cubeb_stream * stm)
      return ERROR;
    }
    if (got > 0) {
@@ -172,82 +129,21 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
  
      if (stm->params.format == CUBEB_SAMPLE_FLOAT32NE) {
        float * b = (float *) p;
-@@ -327,14 +384,66 @@ alsa_refill_stream(cubeb_stream * stm)
+@@ -312,10 +366,10 @@ alsa_refill_stream(cubeb_stream * stm)
          b[i] *= stm->volume;
        }
      }
 -    wrote = snd_pcm_writei(stm->pcm, p, got);
--    if (wrote == -EPIPE) {
++    wrote = WRAP(snd_pcm_writei)(stm->pcm, p, got);
+     if (wrote < 0) {
 -      snd_pcm_recover(stm->pcm, wrote, 1);
 -      wrote = snd_pcm_writei(stm->pcm, p, got);
--    }
--    assert(wrote >= 0 && wrote == got);
--    stm->write_position += wrote;
--    gettimeofday(&stm->last_activity, NULL);
-+    for (;;) {
-+      wrote = WRAP(snd_pcm_writei)(stm->pcm, p,
-+        towrite > avail ? avail : towrite);
-+      switch(wrote) {
-+      case -EPIPE:
-+        if (pipefailures++ > 3) {
-+          fprintf(stderr, "%s: Too many underflows, giving up\n", __func__);
-+          stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR);
-+          pthread_mutex_unlock(&stm->mutex);
-+          free(p);
-+          return ERROR;
-+        }
-+        WRAP(snd_pcm_recover)(stm->pcm, wrote, 1);
-+        continue;
-+      case -EAGAIN:
-+        if (againfailures++ > 3) {
-+          fprintf(stderr, "%s: Too many -EAGAIN errors from snd_pcm_writei, "
-+          "giving up\n", __func__);
-+          stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR);
-+          pthread_mutex_unlock(&stm->mutex);
-+          free(p);
-+          return ERROR;
-+        }
-+        continue;
-+#if __linux__
-+      case -EBADFD:
-+#else
-+      case -EBADF:
-+#endif
-+        fprintf(stderr, "%s: snc_pcm_writei returned -%s, giving up\n",
-+                __func__, "EBADFD");
-+        free(p);
-+        stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR);
-+        pthread_mutex_unlock(&stm->mutex);
-+        return ERROR;
-+      }
-+      if (wrote < 0) {
-+        fprintf(stderr, "%s: snc_pcm_writei returned unexpected error %lld, "
-+                "giving up\n", __func__, (long long)wrote);
-+        free(p);
-+        stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR);
-+        pthread_mutex_unlock(&stm->mutex);
-+        return ERROR;
-+      }
-+      pipefailures = againfailures = 0;
-+      stm->write_position += wrote;
-+      gettimeofday(&stm->last_activity, NULL);
-+      if (wrote > towrite) {
-+        fprintf(stderr, "%s: snc_pcm_writei wrote %lld frames, which was more "
-+              "than we requested (%lld). This should not happen, giving up\n",
-+                __func__, (long long)wrote, (long long)towrite);
-+        free(p);
-+        stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR);
-+        pthread_mutex_unlock(&stm->mutex);
-+        return ERROR;
-+      }
-+      if (towrite == wrote)
-+        break;
-+      towrite -= wrote;
-+    }
-   }
-   if (got != avail) {
-     long buffer_fill = stm->buffer_size - (avail - got);
-@@ -342,7 +451,7 @@ alsa_refill_stream(cubeb_stream * stm)
++      WRAP(snd_pcm_recover)(stm->pcm, wrote, 1);
++      wrote = WRAP(snd_pcm_writei)(stm->pcm, p, got);
+     }
+     assert(wrote >= 0 && wrote == got);
+     stm->write_position += wrote;
+@@ -327,7 +381,7 @@ alsa_refill_stream(cubeb_stream * stm)
  
      /* Fill the remaining buffer with silence to guarantee one full period
         has been written. */
@@ -256,7 +152,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
  
      set_timeout(&stm->drain_timeout, buffer_time * 1000);
  
-@@ -453,26 +562,26 @@ get_slave_pcm_node(snd_config_t * lconf,
+@@ -440,26 +494,26 @@ get_slave_pcm_node(snd_config_t * lconf,
  
    slave_def = NULL;
  
@@ -288,7 +184,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
      if (r < 0) {
        break;
      }
-@@ -481,7 +590,7 @@ get_slave_pcm_node(snd_config_t * lconf,
+@@ -468,7 +522,7 @@ get_slave_pcm_node(snd_config_t * lconf,
      if (r < 0 || r > (int) sizeof(node_name)) {
        break;
      }
@@ -297,7 +193,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
      if (r < 0) {
        break;
      }
-@@ -490,7 +599,7 @@ get_slave_pcm_node(snd_config_t * lconf,
+@@ -477,7 +531,7 @@ get_slave_pcm_node(snd_config_t * lconf,
    } while (0);
  
    if (slave_def) {
@@ -306,7 +202,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
    }
  
    return NULL;
-@@ -513,22 +622,22 @@ init_local_config_with_workaround(char c
+@@ -500,22 +554,22 @@ init_local_config_with_workaround(char c
  
    lconf = NULL;
  
@@ -333,7 +229,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
      if (r < 0) {
        break;
      }
-@@ -537,7 +646,7 @@ init_local_config_with_workaround(char c
+@@ -524,7 +578,7 @@ init_local_config_with_workaround(char c
      if (r < 0 || r > (int) sizeof(node_name)) {
        break;
      }
@@ -342,7 +238,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
      if (r < 0) {
        break;
      }
-@@ -548,12 +657,12 @@ init_local_config_with_workaround(char c
+@@ -535,12 +589,12 @@ init_local_config_with_workaround(char c
      }
  
      /* Fetch the PCM node's type, and bail out if it's not the PulseAudio plugin. */
@@ -357,7 +253,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
      if (r < 0) {
        break;
      }
-@@ -564,18 +673,18 @@ init_local_config_with_workaround(char c
+@@ -551,18 +605,18 @@ init_local_config_with_workaround(char c
  
      /* Don't clobber an explicit existing handle_underrun value, set it only
         if it doesn't already exist. */
@@ -379,7 +275,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
      if (r < 0) {
        break;
      }
-@@ -583,7 +692,7 @@ init_local_config_with_workaround(char c
+@@ -570,7 +624,7 @@ init_local_config_with_workaround(char c
      return lconf;
    } while (0);
  
@@ -388,7 +284,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
  
    return NULL;
  }
-@@ -595,9 +704,9 @@ alsa_locked_pcm_open(snd_pcm_t ** pcm, s
+@@ -582,9 +636,9 @@ alsa_locked_pcm_open(snd_pcm_t ** pcm, s
  
    pthread_mutex_lock(&cubeb_alsa_mutex);
    if (local_config) {
@@ -400,7 +296,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
    }
    pthread_mutex_unlock(&cubeb_alsa_mutex);
  
-@@ -610,7 +719,7 @@ alsa_locked_pcm_close(snd_pcm_t * pcm)
+@@ -597,7 +651,7 @@ alsa_locked_pcm_close(snd_pcm_t * pcm)
    int r;
  
    pthread_mutex_lock(&cubeb_alsa_mutex);
@@ -409,7 +305,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
    pthread_mutex_unlock(&cubeb_alsa_mutex);
  
    return r;
-@@ -667,12 +776,65 @@ alsa_init(cubeb ** context, char const *
+@@ -654,12 +708,65 @@ alsa_init(cubeb ** context, char const *
    pthread_attr_t attr;
    snd_pcm_t * dummy;
  
@@ -476,7 +372,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
      cubeb_alsa_error_handler_set = 1;
    }
    pthread_mutex_unlock(&cubeb_alsa_mutex);
-@@ -680,6 +842,8 @@ alsa_init(cubeb ** context, char const *
+@@ -667,6 +774,8 @@ alsa_init(cubeb ** context, char const *
    ctx = calloc(1, sizeof(*ctx));
    assert(ctx);
  
@@ -485,7 +381,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
    ctx->ops = &alsa_ops;
  
    r = pthread_mutex_init(&ctx->mutex, NULL);
-@@ -729,7 +893,7 @@ alsa_init(cubeb ** context, char const *
+@@ -716,7 +825,7 @@ alsa_init(cubeb ** context, char const *
         config fails with EINVAL, the PA PCM is too old for this workaround. */
      if (r == -EINVAL) {
        pthread_mutex_lock(&cubeb_alsa_mutex);
@@ -494,7 +390,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
        pthread_mutex_unlock(&cubeb_alsa_mutex);
        ctx->local_config = NULL;
      } else if (r >= 0) {
-@@ -768,9 +932,13 @@ alsa_destroy(cubeb * ctx)
+@@ -755,9 +864,13 @@ alsa_destroy(cubeb * ctx)
    pthread_mutex_destroy(&ctx->mutex);
    free(ctx->fds);
  
@@ -509,7 +405,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
      pthread_mutex_unlock(&cubeb_alsa_mutex);
    }
  
-@@ -849,7 +1017,7 @@ alsa_stream_init(cubeb * ctx, cubeb_stre
+@@ -842,7 +955,7 @@ alsa_stream_init(cubeb * ctx, cubeb_stre
      return CUBEB_ERROR;
    }
  
@@ -517,19 +413,17 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
 +  r = WRAP(snd_pcm_nonblock)(stm->pcm, 1);
    assert(r == 0);
  
-   /* Ugly hack: the PA ALSA plugin allows buffer configurations that can't
-@@ -859,23 +1027,23 @@ alsa_stream_init(cubeb * ctx, cubeb_stre
-     latency = latency < 500 ? 500 : latency;
+   latency_us = latency_frames * 1e6 / stm->params.rate;
+@@ -855,7 +968,7 @@ alsa_stream_init(cubeb * ctx, cubeb_stre
+     latency_us = latency_us < min_latency ? min_latency: latency_us;
    }
  
 -  r = snd_pcm_set_params(stm->pcm, format, SND_PCM_ACCESS_RW_INTERLEAVED,
--                         stm->params.channels, stm->params.rate, 1,
--                         latency * 1000);
 +  r = WRAP(snd_pcm_set_params)(stm->pcm, format, SND_PCM_ACCESS_RW_INTERLEAVED,
-+                               stm->params.channels, stm->params.rate, 1,
-+                               latency * 1000);
+                          stm->params.channels, stm->params.rate, 1,
+                          latency_us);
    if (r < 0) {
-     alsa_stream_destroy(stm);
+@@ -863,15 +976,15 @@ alsa_stream_init(cubeb * ctx, cubeb_stre
      return CUBEB_ERROR_INVALID_FORMAT;
    }
  
@@ -548,7 +442,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
    assert((nfds_t) r == stm->nfds);
  
    r = pthread_cond_init(&stm->cond, NULL);
-@@ -906,7 +1074,7 @@ alsa_stream_destroy(cubeb_stream * stm)
+@@ -902,7 +1015,7 @@ alsa_stream_destroy(cubeb_stream * stm)
    pthread_mutex_lock(&stm->mutex);
    if (stm->pcm) {
      if (stm->state == DRAINING) {
@@ -557,7 +451,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
      }
      alsa_locked_pcm_close(stm->pcm);
      stm->pcm = NULL;
-@@ -916,7 +1084,10 @@ alsa_stream_destroy(cubeb_stream * stm)
+@@ -912,7 +1025,10 @@ alsa_stream_destroy(cubeb_stream * stm)
    pthread_mutex_destroy(&stm->mutex);
  
    r = pthread_cond_destroy(&stm->cond);
@@ -569,7 +463,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
  
    alsa_unregister_stream(stm);
  
-@@ -948,12 +1119,12 @@ alsa_get_max_channel_count(cubeb * ctx, 
+@@ -944,12 +1060,12 @@ alsa_get_max_channel_count(cubeb * ctx, 
      return CUBEB_ERROR;
    }
  
@@ -584,12 +478,12 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
    if (r < 0) {
      return CUBEB_ERROR;
    }
-@@ -973,34 +1144,34 @@ alsa_get_preferred_sample_rate(cubeb * c
+@@ -969,34 +1085,34 @@ alsa_get_preferred_sample_rate(cubeb * c
  
    /* get a pcm, disabling resampling, so we get a rate the
     * hardware/dmix/pulse/etc. supports. */
--  r = snd_pcm_open(&pcm, CUBEB_ALSA_PCM_NAME, SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0);
-+  r = WRAP(snd_pcm_open)(&pcm, CUBEB_ALSA_PCM_NAME, SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0);
+-  r = snd_pcm_open(&pcm, CUBEB_ALSA_PCM_NAME, SND_PCM_STREAM_PLAYBACK, SND_PCM_NO_AUTO_RESAMPLE);
++  r = WRAP(snd_pcm_open)(&pcm, CUBEB_ALSA_PCM_NAME, SND_PCM_STREAM_PLAYBACK, SND_PCM_NO_AUTO_RESAMPLE);
    if (r < 0) {
      return CUBEB_ERROR;
    }
@@ -627,7 +521,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
  
    return CUBEB_OK;
  }
-@@ -1024,7 +1195,7 @@ alsa_stream_start(cubeb_stream * stm)
+@@ -1020,7 +1136,7 @@ alsa_stream_start(cubeb_stream * stm)
    ctx = stm->context;
  
    pthread_mutex_lock(&stm->mutex);
@@ -636,7 +530,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
    gettimeofday(&stm->last_activity, NULL);
    pthread_mutex_unlock(&stm->mutex);
  
-@@ -1058,7 +1229,7 @@ alsa_stream_stop(cubeb_stream * stm)
+@@ -1054,7 +1170,7 @@ alsa_stream_stop(cubeb_stream * stm)
    pthread_mutex_unlock(&ctx->mutex);
  
    pthread_mutex_lock(&stm->mutex);
@@ -645,7 +539,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
    pthread_mutex_unlock(&stm->mutex);
  
    return CUBEB_OK;
-@@ -1074,14 +1245,17 @@ alsa_stream_get_position(cubeb_stream * 
+@@ -1070,14 +1186,16 @@ alsa_stream_get_position(cubeb_stream * 
    pthread_mutex_lock(&stm->mutex);
  
    delay = -1;
@@ -660,13 +554,12 @@ $NetBSD: patch-media_libcubeb_src_cubeb_
  
 -  assert(delay >= 0);
 +  if (delay < 0) {
-+    WRAP(snd_pcm_forward)(stm->pcm, -delay);
 +    delay = 0;
 +  }
  
    *position = 0;
    if (stm->write_position >= (snd_pcm_uframes_t) delay) {
-@@ -1100,7 +1274,7 @@ alsa_stream_get_latency(cubeb_stream * s
+@@ -1096,7 +1214,7 @@ alsa_stream_get_latency(cubeb_stream * s
    snd_pcm_sframes_t delay;
    /* This function returns the delay in frames until a frame written using
       snd_pcm_writei is sent to the DAC. The DAC delay should be < 1ms anyways. */

Index: pkgsrc/www/firefox/patches/patch-media_libcubeb_src_moz.build
diff -u pkgsrc/www/firefox/patches/patch-media_libcubeb_src_moz.build:1.9 pkgsrc/www/firefox/patches/patch-media_libcubeb_src_moz.build:1.10
--- pkgsrc/www/firefox/patches/patch-media_libcubeb_src_moz.build:1.9   Sat Aug  6 08:46:59 2016
+++ pkgsrc/www/firefox/patches/patch-media_libcubeb_src_moz.build       Sat Dec  3 09:58:26 2016
@@ -1,13 +1,13 @@
-$NetBSD: patch-media_libcubeb_src_moz.build,v 1.9 2016/08/06 08:46:59 ryoon Exp $
+$NetBSD: patch-media_libcubeb_src_moz.build,v 1.10 2016/12/03 09:58:26 ryoon Exp $
 
 * Add OSS audio support
 * Support system library
 
---- media/libcubeb/src/moz.build.orig  2016-07-25 20:22:04.000000000 +0000
+--- media/libcubeb/src/moz.build.orig  2016-10-31 20:15:39.000000000 +0000
 +++ media/libcubeb/src/moz.build
-@@ -19,6 +19,12 @@ if CONFIG['MOZ_ALSA']:
+@@ -24,6 +24,12 @@ if CONFIG['MOZ_PULSEAUDIO'] or CONFIG['M
+         'cubeb_resampler.cpp',
      ]
-     DEFINES['USE_ALSA'] = True
  
 +if CONFIG['MOZ_OSS']:
 +    SOURCES += [
@@ -18,21 +18,11 @@ $NetBSD: patch-media_libcubeb_src_moz.bu
  if CONFIG['MOZ_PULSEAUDIO']:
      SOURCES += [
          'cubeb_pulse.c',
-@@ -68,6 +74,9 @@ if CONFIG['OS_TARGET'] == 'Android':
+@@ -81,6 +87,7 @@ if CONFIG['OS_TARGET'] == 'Android':
  
  FINAL_LIBRARY = 'gkmedias'
  
-+if CONFIG['MOZ_SYSTEM_SPEEX']:
-+    SOURCES['cubeb_resampler.cpp'].flags += CONFIG['MOZ_SPEEX_CFLAGS']
-+
++CFLAGS += CONFIG['MOZ_OSS_CFLAGS']
  if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
      if CONFIG['ANDROID_VERSION'] >= '17':
          LOCAL_INCLUDES += [
-@@ -78,6 +87,7 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk
-             '%' + '%s/system/media/wilhelm/include' % CONFIG['ANDROID_SOURCE'],
-         ]
- 
-+CFLAGS += CONFIG['MOZ_OSS_CFLAGS']
- CFLAGS += CONFIG['MOZ_ALSA_CFLAGS']
- CFLAGS += CONFIG['MOZ_PULSEAUDIO_CFLAGS']
- 

Added files:

Index: pkgsrc/www/firefox/patches/patch-browser_components_nsBrowserGlue.js
diff -u /dev/null pkgsrc/www/firefox/patches/patch-browser_components_nsBrowserGlue.js:1.1
--- /dev/null   Sat Dec  3 09:58:26 2016
+++ pkgsrc/www/firefox/patches/patch-browser_components_nsBrowserGlue.js        Sat Dec  3 09:58:26 2016
@@ -0,0 +1,15 @@
+$NetBSD: patch-browser_components_nsBrowserGlue.js,v 1.1 2016/12/03 09:58:26 ryoon Exp $
+
+--- browser/components/nsBrowserGlue.js.orig   2016-10-31 20:15:25.000000000 +0000
++++ browser/components/nsBrowserGlue.js
+@@ -1054,7 +1054,9 @@ BrowserGlue.prototype = {
+     }
+     if (SCALING_PROBE_NAME) {
+       let scaling = aWindow.devicePixelRatio * 100;
+-      Services.telemetry.getHistogramById(SCALING_PROBE_NAME).add(scaling);
++      try {
++        Services.telemetry.getHistogramById(SCALING_PROBE_NAME).add(scaling);
++      } catch (ex) {}
+     }
+   },
+ 
Index: pkgsrc/www/firefox/patches/patch-build_moz.configure_init.configure
diff -u /dev/null pkgsrc/www/firefox/patches/patch-build_moz.configure_init.configure:1.1
--- /dev/null   Sat Dec  3 09:58:26 2016
+++ pkgsrc/www/firefox/patches/patch-build_moz.configure_init.configure Sat Dec  3 09:58:26 2016
@@ -0,0 +1,37 @@
+$NetBSD: patch-build_moz.configure_init.configure,v 1.1 2016/12/03 09:58:26 ryoon Exp $
+
+--- build/moz.configure/init.configure.orig    2016-10-31 20:15:27.000000000 +0000
++++ build/moz.configure/init.configure
+@@ -170,6 +170,7 @@ option(env='PYTHON', nargs=1, help='Pyth
+ @imports(_from='mozbuild.configure.util', _import='LineIO')
+ @imports(_from='mozbuild.virtualenv', _import='VirtualenvManager')
+ @imports(_from='mozbuild.virtualenv', _import='verify_python_version')
++@imports(_from='__builtin__', _import='KeyError')
+ @imports('distutils.sysconfig')
+ def virtualenv_python(env_python, build_env, mozconfig, help):
+     if help:
+@@ -189,6 +190,12 @@ def virtualenv_python(env_python, build_
+             python = mozconfig['vars']['added']['PYTHON']
+         elif 'PYTHON' in mozconfig['vars']['modified']:
+             python = mozconfig['vars']['modified']['PYTHON'][1]
++        for i in ('env', 'vars'):
++            for j in ('added', 'modified'):
++                try:
++                    del mozconfig[i][j]['PYTHON']
++                except KeyError:
++                    pass
+ 
+     with LineIO(lambda l: log.error(l)) as out:
+         verify_python_version(out)
+@@ -224,7 +231,10 @@ def virtualenv_python(env_python, build_
+     if python != normsep(sys.executable):
+         log.info('Reexecuting in the virtualenv')
+         if env_python:
+-            del os.environ['PYTHON']
++            try:
++                del os.environ['PYTHON']
++            except KeyError:
++                pass
+         # One would prefer to use os.execl, but that's completely borked on
+         # Windows.
+         sys.exit(subprocess.call([python] + sys.argv))
Index: pkgsrc/www/firefox/patches/patch-dom_media_AudioStream.cpp
diff -u /dev/null pkgsrc/www/firefox/patches/patch-dom_media_AudioStream.cpp:1.1
--- /dev/null   Sat Dec  3 09:58:26 2016
+++ pkgsrc/www/firefox/patches/patch-dom_media_AudioStream.cpp  Sat Dec  3 09:58:26 2016
@@ -0,0 +1,38 @@
+$NetBSD: patch-dom_media_AudioStream.cpp,v 1.1 2016/12/03 09:58:26 ryoon Exp $
+
+--- dom/media/AudioStream.cpp.orig     2016-10-31 20:15:33.000000000 +0000
++++ dom/media/AudioStream.cpp
+@@ -115,7 +115,9 @@ AudioStream::AudioStream(DataSource& aSo
+   : mMonitor("AudioStream")
+   , mChannels(0)
+   , mOutChannels(0)
++#ifndef MOZ_SYSTEM_SOUNDTOUCH
+   , mTimeStretcher(nullptr)
++#endif
+   , mDumpFile(nullptr)
+   , mState(INITIALIZED)
+   , mDataSource(aSource)
+@@ -130,9 +132,11 @@ AudioStream::~AudioStream()
+   if (mDumpFile) {
+     fclose(mDumpFile);
+   }
++#ifndef MOZ_SYSTEM_SOUNDTOUCH
+   if (mTimeStretcher) {
+     soundtouch::destroySoundTouchObj(mTimeStretcher);
+   }
++#endif
+ }
+ 
+ size_t
+@@ -151,7 +155,11 @@ nsresult AudioStream::EnsureTimeStretche
+ {
+   mMonitor.AssertCurrentThreadOwns();
+   if (!mTimeStretcher) {
++#ifdef MOZ_SYSTEM_SOUNDTOUCH
++    mTimeStretcher = new soundtouch::SoundTouch();
++#else
+     mTimeStretcher = soundtouch::createSoundTouchObj();
++#endif
+     mTimeStretcher->setSampleRate(mAudioClock.GetInputRate());
+     mTimeStretcher->setChannels(mOutChannels);
+     mTimeStretcher->setPitch(1.0);
Index: pkgsrc/www/firefox/patches/patch-extensions_spellcheck_hunspell_glue_moz.build
diff -u /dev/null pkgsrc/www/firefox/patches/patch-extensions_spellcheck_hunspell_glue_moz.build:1.1
--- /dev/null   Sat Dec  3 09:58:26 2016
+++ pkgsrc/www/firefox/patches/patch-extensions_spellcheck_hunspell_glue_moz.build      Sat Dec  3 09:58:26 2016
@@ -0,0 +1,22 @@
+$NetBSD: patch-extensions_spellcheck_hunspell_glue_moz.build,v 1.1 2016/12/03 09:58:26 ryoon Exp $
+
+--- extensions/spellcheck/hunspell/glue/moz.build.orig 2016-10-31 20:15:27.000000000 +0000
++++ extensions/spellcheck/hunspell/glue/moz.build
+@@ -11,12 +11,14 @@ SOURCES += [
+     'RemoteSpellCheckEngineParent.cpp',
+ ]
+ 
+-CXXFLAGS += CONFIG['MOZ_HUNSPELL_CFLAGS']
+-
+ FINAL_LIBRARY = 'xul'
+ 
++if CONFIG['MOZ_SYSTEM_HUNSPELL']:
++    CXXFLAGS += CONFIG['MOZ_HUNSPELL_CFLAGS']
++else:
++    LOCAL_INCLUDES += ['../src']
++
+ LOCAL_INCLUDES += [
+-    '../src',
+     '/dom/base',
+     '/extensions/spellcheck/src',
+ ]
Index: pkgsrc/www/firefox/patches/patch-extensions_spellcheck_src_moz.build
diff -u /dev/null pkgsrc/www/firefox/patches/patch-extensions_spellcheck_src_moz.build:1.1
--- /dev/null   Sat Dec  3 09:58:26 2016
+++ pkgsrc/www/firefox/patches/patch-extensions_spellcheck_src_moz.build        Sat Dec  3 09:58:26 2016
@@ -0,0 +1,19 @@
+$NetBSD: patch-extensions_spellcheck_src_moz.build,v 1.1 2016/12/03 09:58:26 ryoon Exp $
+
+--- extensions/spellcheck/src/moz.build.orig   2016-10-31 20:15:27.000000000 +0000
++++ extensions/spellcheck/src/moz.build
+@@ -17,9 +17,13 @@ SOURCES += [
+ 
+ FINAL_LIBRARY = 'xul'
+ 
++if CONFIG['MOZ_SYSTEM_HUNSPELL']:
++    CXXFLAGS += CONFIG['MOZ_HUNSPELL_CFLAGS']
++else:
++    LOCAL_INCLUDES += ['../hunspell/src']
++
+ LOCAL_INCLUDES += [
+     '../hunspell/glue',
+-    '../hunspell/src',
+     '/dom/base',
+ ]
+ EXPORTS.mozilla += [
Index: pkgsrc/www/firefox/patches/patch-gfx_thebes_gfxFontUtils.cpp
diff -u /dev/null pkgsrc/www/firefox/patches/patch-gfx_thebes_gfxFontUtils.cpp:1.1
--- /dev/null   Sat Dec  3 09:58:26 2016
+++ pkgsrc/www/firefox/patches/patch-gfx_thebes_gfxFontUtils.cpp        Sat Dec  3 09:58:26 2016
@@ -0,0 +1,49 @@
+$NetBSD: patch-gfx_thebes_gfxFontUtils.cpp,v 1.1 2016/12/03 09:58:26 ryoon Exp $
+
+--- gfx/thebes/gfxFontUtils.cpp.orig   2016-10-31 20:15:32.000000000 +0000
++++ gfx/thebes/gfxFontUtils.cpp
+@@ -918,16 +918,18 @@ IsValidSFNTVersion(uint32_t version)
+            version == TRUETYPE_TAG('t','r','u','e');
+ }
+ 
+-// copy and swap UTF-16 values, assume no surrogate pairs, can be in place
++// Copy and swap UTF-16 values, assume no surrogate pairs, can be in place.
++// aInBuf and aOutBuf are NOT necessarily 16-bit-aligned, so we should avoid
++// accessing them directly as uint16_t* values.
++// aLen is count of UTF-16 values, so the byte buffers are twice that.
+ static void
+-CopySwapUTF16(const uint16_t *aInBuf, uint16_t *aOutBuf, uint32_t aLen)
++CopySwapUTF16(const char* aInBuf, char* aOutBuf, uint32_t aLen)
+ {
+-    const uint16_t *end = aInBuf + aLen;
++    const char* end = aInBuf + aLen * 2;
+     while (aInBuf < end) {
+-        uint16_t value = *aInBuf;
+-        *aOutBuf = (value >> 8) | (value & 0xff) << 8;
+-        aOutBuf++;
+-        aInBuf++;
++        uint8_t b0 = *aInBuf++;
++        *aOutBuf++ = *aInBuf++;
++        *aOutBuf++ = b0;
+     }
+ }
+ 
+@@ -1441,13 +1443,13 @@ gfxFontUtils::DecodeFontName(const char 
+     if (csName[0] == 0) {
+         // empty charset name: data is utf16be, no need to instantiate a converter
+         uint32_t strLen = aByteLen / 2;
+-#ifdef IS_LITTLE_ENDIAN
+         aName.SetLength(strLen);
+-        CopySwapUTF16(reinterpret_cast<const uint16_t*>(aNameData),
+-                      reinterpret_cast<uint16_t*>(aName.BeginWriting()), strLen);
++#ifdef IS_LITTLE_ENDIAN
++        CopySwapUTF16(aNameData, reinterpret_cast<char*>(aName.BeginWriting()),
++                      strLen);
+ #else
+-        aName.Assign(reinterpret_cast<const char16_t*>(aNameData), strLen);
+-#endif    
++        memcpy(aName.BeginWriting(), aNameData, strLen * 2);
++#endif
+         return true;
+     }
+ 
Index: pkgsrc/www/firefox/patches/patch-intl_lwbrk_nsJISx4051LineBreaker.cpp
diff -u /dev/null pkgsrc/www/firefox/patches/patch-intl_lwbrk_nsJISx4051LineBreaker.cpp:1.1
--- /dev/null   Sat Dec  3 09:58:26 2016
+++ pkgsrc/www/firefox/patches/patch-intl_lwbrk_nsJISx4051LineBreaker.cpp       Sat Dec  3 09:58:26 2016
@@ -0,0 +1,40 @@
+$NetBSD: patch-intl_lwbrk_nsJISx4051LineBreaker.cpp,v 1.1 2016/12/03 09:58:26 ryoon Exp $
+
+--- intl/lwbrk/nsJISx4051LineBreaker.cpp.orig  2016-09-05 20:12:53.000000000 +0000
++++ intl/lwbrk/nsJISx4051LineBreaker.cpp
+@@ -12,6 +12,10 @@
+ #include "nsTArray.h"
+ #include "nsUnicodeProperties.h"
+ 
++#if ENABLE_INTL_API
++#include "unicode/uchar.h"  // for U_LB_COUNT until bug 1305700
++#endif
++
+ /* 
+ 
+    Simplification of Pair Table in JIS X 4051
+@@ -547,10 +551,22 @@ GetClass(uint32_t u)
+     /* CLOSE_PARENTHESIS = 36,            [CP] */ CLASS_CLOSE_LIKE_CHARACTER,
+     /* CONDITIONAL_JAPANESE_STARTER = 37, [CJ] */ CLASS_CLOSE,
+     /* HEBREW_LETTER = 38,                [HL] */ CLASS_CHARACTER,
+-    /* REGIONAL_INDICATOR = 39,           [RI] */ CLASS_CHARACTER
++    /* REGIONAL_INDICATOR = 39,           [RI] */ CLASS_CHARACTER,
++#if U_ICU_VERSION_MAJOR_NUM > 57
++    /* E_BASE = 40,                       [EB] */ CLASS_BREAKABLE,
++    /* E_MODIFIER = 41,                   [EM] */ CLASS_CHARACTER,
++    /* ZWJ = 42,                          [ZWJ]*/ CLASS_CHARACTER,
++#endif
+   };
+ 
+-  return sUnicodeLineBreakToClass[mozilla::unicode::GetLineBreakClass(u)];
++#if ENABLE_INTL_API
++  static_assert(U_LB_COUNT == mozilla::ArrayLength(sUnicodeLineBreakToClass),
++                "Gecko vs ICU LineBreak class mismatch");
++#endif
++
++  auto cls = mozilla::unicode::GetLineBreakClass(u);
++  MOZ_ASSERT(cls < mozilla::ArrayLength(sUnicodeLineBreakToClass));
++  return sUnicodeLineBreakToClass[cls];
+ }
+ 
+ static bool
Index: pkgsrc/www/firefox/patches/patch-js_src_moz.build
diff -u /dev/null pkgsrc/www/firefox/patches/patch-js_src_moz.build:1.1
--- /dev/null   Sat Dec  3 09:58:26 2016
+++ pkgsrc/www/firefox/patches/patch-js_src_moz.build   Sat Dec  3 09:58:26 2016
@@ -0,0 +1,15 @@
+$NetBSD: patch-js_src_moz.build,v 1.1 2016/12/03 09:58:26 ryoon Exp $
+
+--- js/src/moz.build.orig      2016-10-31 20:15:37.000000000 +0000
++++ js/src/moz.build
+@@ -733,10 +733,6 @@ OS_LIBS += CONFIG['REALTIME_LIBS']
+ CFLAGS += CONFIG['MOZ_ICU_CFLAGS']
+ CXXFLAGS += CONFIG['MOZ_ICU_CFLAGS']
+ 
+-NO_EXPAND_LIBS = True
+-
+-DIST_INSTALL = True
+-
+ # Prepare self-hosted JS code for embedding
+ GENERATED_FILES += ['selfhosted.out.h']
+ selfhosted = GENERATED_FILES['selfhosted.out.h']
Index: pkgsrc/www/firefox/patches/patch-media_libcubeb_tests_moz.build
diff -u /dev/null pkgsrc/www/firefox/patches/patch-media_libcubeb_tests_moz.build:1.1
--- /dev/null   Sat Dec  3 09:58:26 2016
+++ pkgsrc/www/firefox/patches/patch-media_libcubeb_tests_moz.build     Sat Dec  3 09:58:26 2016
@@ -0,0 +1,12 @@
+$NetBSD: patch-media_libcubeb_tests_moz.build,v 1.1 2016/12/03 09:58:26 ryoon Exp $
+
+--- media/libcubeb/tests/moz.build.orig        2016-10-31 20:15:39.000000000 +0000
++++ media/libcubeb/tests/moz.build
+@@ -73,7 +73,6 @@ elif CONFIG['OS_TARGET'] == 'OpenBSD':
+         'sndio',
+     ]
+ else:
+-    OS_LIBS += CONFIG['MOZ_ALSA_LIBS']
+     OS_LIBS += CONFIG['MOZ_PULSEAUDIO_LIBS']
+ 
+ if CONFIG['GNU_CXX']:
Index: pkgsrc/www/firefox/patches/patch-media_libcubeb_update.sh
diff -u /dev/null pkgsrc/www/firefox/patches/patch-media_libcubeb_update.sh:1.1
--- /dev/null   Sat Dec  3 09:58:26 2016
+++ pkgsrc/www/firefox/patches/patch-media_libcubeb_update.sh   Sat Dec  3 09:58:26 2016
@@ -0,0 +1,12 @@
+$NetBSD: patch-media_libcubeb_update.sh,v 1.1 2016/12/03 09:58:26 ryoon Exp $
+
+--- media/libcubeb/update.sh.orig      2016-10-31 20:15:39.000000000 +0000
++++ media/libcubeb/update.sh
+@@ -16,6 +16,7 @@ cp $1/src/cubeb_audiounit.cpp src
+ cp $1/src/cubeb_osx_run_loop.h src
+ cp $1/src/cubeb_jack.cpp src
+ cp $1/src/cubeb_opensl.c src
++cp $1/src/cubeb_oss.c src
+ cp $1/src/cubeb_panner.cpp src
+ cp $1/src/cubeb_panner.h src
+ cp $1/src/cubeb_pulse.c src
Index: pkgsrc/www/firefox/patches/patch-media_libsoundtouch_src_soundtouch__perms.h
diff -u /dev/null pkgsrc/www/firefox/patches/patch-media_libsoundtouch_src_soundtouch__perms.h:1.1
--- /dev/null   Sat Dec  3 09:58:26 2016
+++ pkgsrc/www/firefox/patches/patch-media_libsoundtouch_src_soundtouch__perms.h        Sat Dec  3 09:58:26 2016
@@ -0,0 +1,14 @@
+$NetBSD: patch-media_libsoundtouch_src_soundtouch__perms.h,v 1.1 2016/12/03 09:58:26 ryoon Exp $
+
+--- media/libsoundtouch/src/soundtouch_perms.h.orig    2016-05-12 17:13:16.000000000 +0000
++++ media/libsoundtouch/src/soundtouch_perms.h
+@@ -12,7 +12,9 @@
+ 
+ #pragma GCC visibility push(default)
+ #include "SoundTouch.h"
++#ifndef MOZ_SYSTEM_SOUNDTOUCH
+ #include "SoundTouchFactory.h"
++#endif
+ #pragma GCC visibility pop
+ 
+ #endif // MOZILLA_SOUNDTOUCH_PERMS_H
Index: pkgsrc/www/firefox/patches/patch-media_libyuv_source_mjpeg__decoder.cc
diff -u /dev/null pkgsrc/www/firefox/patches/patch-media_libyuv_source_mjpeg__decoder.cc:1.1
--- /dev/null   Sat Dec  3 09:58:26 2016
+++ pkgsrc/www/firefox/patches/patch-media_libyuv_source_mjpeg__decoder.cc      Sat Dec  3 09:58:26 2016
@@ -0,0 +1,12 @@
+$NetBSD: patch-media_libyuv_source_mjpeg__decoder.cc,v 1.1 2016/12/03 09:58:26 ryoon Exp $
+
+--- media/libyuv/source/mjpeg_decoder.cc.orig  2016-10-31 20:15:24.000000000 +0000
++++ media/libyuv/source/mjpeg_decoder.cc
+@@ -25,7 +25,6 @@
+ #endif
+ 
+ #endif
+-struct FILE;  // For jpeglib.h.
+ 
+ // C++ build requires extern C for jpeg internals.
+ #ifdef __cplusplus
Index: pkgsrc/www/firefox/patches/patch-moz.configure
diff -u /dev/null pkgsrc/www/firefox/patches/patch-moz.configure:1.1
--- /dev/null   Sat Dec  3 09:58:26 2016
+++ pkgsrc/www/firefox/patches/patch-moz.configure      Sat Dec  3 09:58:26 2016
@@ -0,0 +1,35 @@
+$NetBSD: patch-moz.configure,v 1.1 2016/12/03 09:58:26 ryoon Exp $
+
+--- moz.configure.orig 2016-10-31 20:15:26.000000000 +0000
++++ moz.configure
+@@ -216,6 +216,30 @@ check_prog('GENISOIMAGE', delayed_getatt
+ check_prog('RPMBUILD', delayed_getattr(extra_programs, 'RPMBUILD'),
+            allow_missing=True)
+ 
++option('--with-system-graphite2',
++       help="Use system graphite2 (located with pkgconfig)")
++
++@depends('--with-system-graphite2', compile_environment)
++def check_for_graphite2(value, compile_env):
++    return value and compile_env
++
++system_graphite2 = pkg_check_modules('MOZ_GRAPHITE2', 'graphite2',
++                                    check_for_graphite2)
++
++set_config('MOZ_SYSTEM_GRAPHITE2', system_graphite2)
++
++option('--with-system-harfbuzz',
++       help="Use system harfbuzz (located with pkgconfig)")
++
++@depends('--with-system-harfbuzz', compile_environment)
++def check_for_harfbuzz(value, compile_env):
++    return value and compile_env
++
++system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.2.6',
++                                    check_for_harfbuzz)
++
++set_config('MOZ_SYSTEM_HARFBUZZ', system_harfbuzz)
++
+ option('--enable-system-hunspell',
+        help="Use system hunspell (located with pkgconfig)")
+ 

Index: pkgsrc/www/firefox/patches/patch-dom_base_moz.build
diff -u /dev/null pkgsrc/www/firefox/patches/patch-dom_base_moz.build:1.3
--- /dev/null   Sat Dec  3 09:58:26 2016
+++ pkgsrc/www/firefox/patches/patch-dom_base_moz.build Sat Dec  3 09:58:26 2016
@@ -0,0 +1,14 @@
+$NetBSD: patch-dom_base_moz.build,v 1.3 2016/12/03 09:58:26 ryoon Exp $
+
+--- dom/base/moz.build.orig    2016-10-31 20:15:32.000000000 +0000
++++ dom/base/moz.build
+@@ -457,6 +457,9 @@ if CONFIG['MOZ_BUILD_APP'] in ['browser'
+ if CONFIG['MOZ_X11']:
+     CXXFLAGS += CONFIG['TK_CFLAGS']
+ 
++if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
++    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
+ GENERATED_FILES += [
+     'PropertyUseCounterMap.inc',
+     'UseCounterList.h',
Index: pkgsrc/www/firefox/patches/patch-dom_media_AudioStream.h
diff -u /dev/null pkgsrc/www/firefox/patches/patch-dom_media_AudioStream.h:1.3
--- /dev/null   Sat Dec  3 09:58:26 2016
+++ pkgsrc/www/firefox/patches/patch-dom_media_AudioStream.h    Sat Dec  3 09:58:26 2016
@@ -0,0 +1,28 @@
+$NetBSD: patch-dom_media_AudioStream.h,v 1.3 2016/12/03 09:58:26 ryoon Exp $
+
+--- dom/media/AudioStream.h.orig       2016-10-31 20:15:33.000000000 +0000
++++ dom/media/AudioStream.h
+@@ -16,7 +16,11 @@
+ #include "mozilla/TimeStamp.h"
+ #include "mozilla/UniquePtr.h"
+ #include "CubebUtils.h"
++#ifdef MOZ_SYSTEM_SOUNDTOUCH
++#include "soundtouch/SoundTouch.h"
++#else
+ #include "soundtouch/SoundTouchFactory.h"
++#endif
+ 
+ namespace mozilla {
+ 
+@@ -282,7 +286,11 @@ private:
+   uint32_t mChannels;
+   uint32_t mOutChannels;
+   AudioClock mAudioClock;
++#ifdef MOZ_SYSTEM_SOUNDTOUCH
++  nsAutoPtr<soundtouch::SoundTouch> mTimeStretcher;
++#else
+   soundtouch::SoundTouch* mTimeStretcher;
++#endif
+ 
+   // Output file for dumping audio
+   FILE* mDumpFile;
Index: pkgsrc/www/firefox/patches/patch-gfx_graphite2_moz-gr-update.sh
diff -u /dev/null pkgsrc/www/firefox/patches/patch-gfx_graphite2_moz-gr-update.sh:1.3
--- /dev/null   Sat Dec  3 09:58:26 2016
+++ pkgsrc/www/firefox/patches/patch-gfx_graphite2_moz-gr-update.sh     Sat Dec  3 09:58:26 2016
@@ -0,0 +1,30 @@
+$NetBSD: patch-gfx_graphite2_moz-gr-update.sh,v 1.3 2016/12/03 09:58:26 ryoon Exp $
+
+--- gfx/graphite2/moz-gr-update.sh.orig        2016-07-25 20:22:05.000000000 +0000
++++ gfx/graphite2/moz-gr-update.sh
+@@ -1,6 +1,7 @@
+ #!/bin/bash
+ 
+ # Script used to update the Graphite2 library in the mozilla source tree
++# and bump version for --with-system-graphite2
+ 
+ # This script lives in gfx/graphite2, along with the library source,
+ # but must be run from the top level of the mozilla-central tree.
+@@ -37,12 +38,16 @@ echo "See" $0 "for update procedure." >>
+ #find gfx/graphite2/ -name "*.cpp" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \;
+ #find gfx/graphite2/ -name "*.h" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \;
+ 
++# chase version for --with-system-graphite2
++perl -p -i -e "s/[0-9]+\,[0-9]+\,[0-9]+/$RELEASE/ and tr/./,/ \
++  if /GR2_VERSION_REQUIRE/" old-configure.in
++
+ # summarize what's been touched
+ echo Updated to $RELEASE.
+ echo Here is what changed in the gfx/graphite2 directory:
+ echo
+ 
+-hg stat gfx/graphite2
++hg stat old-configure.in gfx/graphite2
+ 
+ echo
+ echo If gfx/graphite2/src/files.mk has changed, please make corresponding
Index: pkgsrc/www/firefox/patches/patch-gfx_moz.build
diff -u /dev/null pkgsrc/www/firefox/patches/patch-gfx_moz.build:1.3
--- /dev/null   Sat Dec  3 09:58:26 2016
+++ pkgsrc/www/firefox/patches/patch-gfx_moz.build      Sat Dec  3 09:58:26 2016
@@ -0,0 +1,26 @@
+$NetBSD: patch-gfx_moz.build,v 1.3 2016/12/03 09:58:26 ryoon Exp $
+
+--- gfx/moz.build.orig 2016-10-31 20:15:31.000000000 +0000
++++ gfx/moz.build
+@@ -7,6 +7,12 @@
+ if CONFIG['MOZ_TREE_CAIRO']:
+     DIRS += ['cairo']
+ 
++if not CONFIG['MOZ_SYSTEM_GRAPHITE2']:
++    DIRS += ['graphite2/src' ]
++
++if not CONFIG['MOZ_SYSTEM_HARFBUZZ']:
++    DIRS += ['harfbuzz/src']
++
+ DIRS += [
+     '2d',
+     'ycbcr',
+@@ -15,8 +21,6 @@ DIRS += [
+     'qcms',
+     'gl',
+     'layers',
+-    'graphite2/src',
+-    'harfbuzz/src',
+     'ots/src',
+     'thebes',
+     'ipc',
Index: pkgsrc/www/firefox/patches/patch-media_webrtc_signaling_test_common.build
diff -u /dev/null pkgsrc/www/firefox/patches/patch-media_webrtc_signaling_test_common.build:1.3
--- /dev/null   Sat Dec  3 09:58:26 2016
+++ pkgsrc/www/firefox/patches/patch-media_webrtc_signaling_test_common.build   Sat Dec  3 09:58:26 2016
@@ -0,0 +1,19 @@
+$NetBSD: patch-media_webrtc_signaling_test_common.build,v 1.3 2016/12/03 09:58:26 ryoon Exp $
+
+--- media/webrtc/signaling/test/common.build.orig      2016-10-31 20:15:24.000000000 +0000
++++ media/webrtc/signaling/test/common.build
+@@ -96,11 +96,12 @@ if CONFIG['JS_SHARED_LIBRARY']:
+ 
+ USE_LIBS += ['mozglue']
+ 
++OS_LIBS += CONFIG['MOZ_LIBV4L2_LIBS']
+ OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS']
+ OS_LIBS += CONFIG['REALTIME_LIBS']
+ 
+-if CONFIG['MOZ_ALSA']:
+-    OS_LIBS += CONFIG['MOZ_ALSA_LIBS']
++if CONFIG['MOZ_OSS']:
++    OS_LIBS += CONFIG['MOZ_OSS_LIBS']
+ 
+ if CONFIG['MOZ_SYSTEM_JPEG']:
+     OS_LIBS += CONFIG['MOZ_JPEG_LIBS']

Index: pkgsrc/www/firefox/patches/patch-dom_system_OSFileConstants.cpp
diff -u /dev/null pkgsrc/www/firefox/patches/patch-dom_system_OSFileConstants.cpp:1.9
--- /dev/null   Sat Dec  3 09:58:26 2016
+++ pkgsrc/www/firefox/patches/patch-dom_system_OSFileConstants.cpp     Sat Dec  3 09:58:26 2016
@@ -0,0 +1,13 @@
+$NetBSD: patch-dom_system_OSFileConstants.cpp,v 1.9 2016/12/03 09:58:26 ryoon Exp $
+
+--- dom/system/OSFileConstants.cpp.orig        2016-09-05 20:12:56.000000000 +0000
++++ dom/system/OSFileConstants.cpp
+@@ -699,7 +699,7 @@ static const dom::ConstantSpec gLibcProp
+ 
+   { "OSFILE_SIZEOF_STATVFS", JS::Int32Value(sizeof (struct statvfs)) },
+ 
+-  { "OSFILE_OFFSETOF_STATVFS_F_BSIZE", JS::Int32Value(offsetof (struct statvfs, f_bsize)) },
++  { "OSFILE_OFFSETOF_STATVFS_F_FRSIZE", JS::Int32Value(offsetof (struct statvfs, f_frsize)) },
+   { "OSFILE_OFFSETOF_STATVFS_F_BAVAIL", JS::Int32Value(offsetof (struct statvfs, f_bavail)) },
+ 
+ #endif // defined(XP_UNIX)

Index: pkgsrc/www/firefox/patches/patch-gfx_skia_generate__mozbuild.py
diff -u /dev/null pkgsrc/www/firefox/patches/patch-gfx_skia_generate__mozbuild.py:1.6
--- /dev/null   Sat Dec  3 09:58:26 2016
+++ pkgsrc/www/firefox/patches/patch-gfx_skia_generate__mozbuild.py     Sat Dec  3 09:58:26 2016
@@ -0,0 +1,14 @@
+$NetBSD: patch-gfx_skia_generate__mozbuild.py,v 1.6 2016/12/03 09:58:26 ryoon Exp $
+
+--- gfx/skia/generate_mozbuild.py.orig 2016-10-31 20:15:31.000000000 +0000
++++ gfx/skia/generate_mozbuild.py
+@@ -140,6 +140,9 @@ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_
+         '-Wno-unused-private-field',
+     ]
+ 
++if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
++    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android', 'gonk'):
+     CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
+     CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
Index: pkgsrc/www/firefox/patches/patch-netwerk_dns_moz.build
diff -u /dev/null pkgsrc/www/firefox/patches/patch-netwerk_dns_moz.build:1.6
--- /dev/null   Sat Dec  3 09:58:26 2016
+++ pkgsrc/www/firefox/patches/patch-netwerk_dns_moz.build      Sat Dec  3 09:58:26 2016
@@ -0,0 +1,14 @@
+$NetBSD: patch-netwerk_dns_moz.build,v 1.6 2016/12/03 09:58:26 ryoon Exp $
+
+--- netwerk/dns/moz.build.orig 2016-10-31 20:15:27.000000000 +0000
++++ netwerk/dns/moz.build
+@@ -66,6 +66,9 @@ LOCAL_INCLUDES += [
+     '/netwerk/base',
+ ]
+ 
++if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
++    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
+ if CONFIG['ENABLE_INTL_API']:
+     DEFINES['IDNA2008'] = True
+     USE_LIBS += ['icu']
Index: pkgsrc/www/firefox/patches/patch-toolkit_components_osfile_modules_osfile__unix__front.jsm
diff -u /dev/null pkgsrc/www/firefox/patches/patch-toolkit_components_osfile_modules_osfile__unix__front.jsm:1.6
--- /dev/null   Sat Dec  3 09:58:26 2016
+++ pkgsrc/www/firefox/patches/patch-toolkit_components_osfile_modules_osfile__unix__front.jsm  Sat Dec  3 09:58:26 2016
@@ -0,0 +1,13 @@
+$NetBSD: patch-toolkit_components_osfile_modules_osfile__unix__front.jsm,v 1.6 2016/12/03 09:58:26 ryoon Exp $
+
+--- toolkit/components/osfile/modules/osfile_unix_front.jsm.orig       2016-05-12 17:13:27.000000000 +0000
++++ toolkit/components/osfile/modules/osfile_unix_front.jsm
+@@ -399,7 +399,7 @@
+        throw_on_negative("statvfs",  (UnixFile.statvfs || UnixFile.statfs)(sourcePath, fileSystemInfoPtr));
+ 
+        let bytes = new Type.uint64_t.implementation(
+-                        fileSystemInfo.f_bsize * fileSystemInfo.f_bavail);
++                        fileSystemInfo.f_frsize * fileSystemInfo.f_bavail);
+ 
+        return bytes.value;
+      };

Index: pkgsrc/www/firefox/patches/patch-gfx_skia_moz.build
diff -u /dev/null pkgsrc/www/firefox/patches/patch-gfx_skia_moz.build:1.13
--- /dev/null   Sat Dec  3 09:58:26 2016
+++ pkgsrc/www/firefox/patches/patch-gfx_skia_moz.build Sat Dec  3 09:58:26 2016
@@ -0,0 +1,14 @@
+$NetBSD: patch-gfx_skia_moz.build,v 1.13 2016/12/03 09:58:26 ryoon Exp $
+
+--- gfx/skia/moz.build.orig    2016-10-31 20:15:31.000000000 +0000
++++ gfx/skia/moz.build
+@@ -664,6 +664,9 @@ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_
+         '-Wno-unused-private-field',
+     ]
+ 
++if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
++    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android', 'gonk'):
+     CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
+     CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']

Index: pkgsrc/www/firefox/patches/patch-gfx_thebes_moz.build
diff -u /dev/null pkgsrc/www/firefox/patches/patch-gfx_thebes_moz.build:1.5
--- /dev/null   Sat Dec  3 09:58:26 2016
+++ pkgsrc/www/firefox/patches/patch-gfx_thebes_moz.build       Sat Dec  3 09:58:26 2016
@@ -0,0 +1,19 @@
+$NetBSD: patch-gfx_thebes_moz.build,v 1.5 2016/12/03 09:58:26 ryoon Exp $
+
+--- gfx/thebes/moz.build.orig  2016-10-31 20:15:32.000000000 +0000
++++ gfx/thebes/moz.build
+@@ -289,7 +289,13 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk
+ 
+ LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES']
+ 
+-DEFINES['GRAPHITE2_STATIC'] = True
++if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
++    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
++if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
++    CXXFLAGS += CONFIG['MOZ_GRAPHITE2_CFLAGS']
++else:
++    DEFINES['GRAPHITE2_STATIC'] = True
+ 
+ if CONFIG['CLANG_CXX']:
+     # Suppress warnings from Skia header files.
Index: pkgsrc/www/firefox/patches/patch-intl_unicharutil_util_moz.build
diff -u /dev/null pkgsrc/www/firefox/patches/patch-intl_unicharutil_util_moz.build:1.5
--- /dev/null   Sat Dec  3 09:58:26 2016
+++ pkgsrc/www/firefox/patches/patch-intl_unicharutil_util_moz.build    Sat Dec  3 09:58:26 2016
@@ -0,0 +1,12 @@
+$NetBSD: patch-intl_unicharutil_util_moz.build,v 1.5 2016/12/03 09:58:26 ryoon Exp $
+
+--- intl/unicharutil/util/moz.build.orig       2016-10-31 20:15:32.000000000 +0000
++++ intl/unicharutil/util/moz.build
+@@ -42,4 +42,7 @@ if CONFIG['_MSC_VER']:
+ if CONFIG['ENABLE_INTL_API']:
+     USE_LIBS += ['icu']
+ 
++if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
++    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
+ DIST_INSTALL = True
Index: pkgsrc/www/firefox/patches/patch-mobile_android_installer_Makefile.in
diff -u /dev/null pkgsrc/www/firefox/patches/patch-mobile_android_installer_Makefile.in:1.5
--- /dev/null   Sat Dec  3 09:58:26 2016
+++ pkgsrc/www/firefox/patches/patch-mobile_android_installer_Makefile.in       Sat Dec  3 09:58:26 2016
@@ -0,0 +1,15 @@
+$NetBSD: patch-mobile_android_installer_Makefile.in,v 1.5 2016/12/03 09:58:26 ryoon Exp $
+
+--- mobile/android/installer/Makefile.in.orig  2016-07-25 20:22:05.000000000 +0000
++++ mobile/android/installer/Makefile.in
+@@ -69,6 +69,10 @@ BINPATH = bin
+ endif
+ DEFINES += -DBINPATH=$(BINPATH)
+ 
++ifdef MOZ_DEBUG
++DEFINES += -DMOZ_DEBUG=1
++endif
++
+ ifdef ENABLE_MARIONETTE
+ DEFINES += -DENABLE_MARIONETTE=1
+ endif
Index: pkgsrc/www/firefox/patches/patch-mobile_android_installer_package-manifest.in
diff -u /dev/null pkgsrc/www/firefox/patches/patch-mobile_android_installer_package-manifest.in:1.5
--- /dev/null   Sat Dec  3 09:58:26 2016
+++ pkgsrc/www/firefox/patches/patch-mobile_android_installer_package-manifest.in       Sat Dec  3 09:58:26 2016
@@ -0,0 +1,13 @@
+$NetBSD: patch-mobile_android_installer_package-manifest.in,v 1.5 2016/12/03 09:58:26 ryoon Exp $
+
+--- mobile/android/installer/package-manifest.in.orig  2016-10-31 20:15:25.000000000 +0000
++++ mobile/android/installer/package-manifest.in
+@@ -396,7 +396,7 @@
+ @BINPATH@/components/dom_webspeechsynth.xpt
+ #endif
+ 
+-#ifdef MOZ_DEBUG
++#if defined(ENABLE_TESTS) && defined(MOZ_DEBUG)
+ @BINPATH@/components/TestInterfaceJS.js
+ @BINPATH@/components/TestInterfaceJS.manifest
+ @BINPATH@/components/TestInterfaceJSMaplike.js

Index: pkgsrc/www/firefox/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc
diff -u /dev/null pkgsrc/www/firefox/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc:1.10
--- /dev/null   Sat Dec  3 09:58:26 2016
+++ pkgsrc/www/firefox/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc      Sat Dec  3 09:58:26 2016
@@ -0,0 +1,38 @@
+$NetBSD: patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc,v 1.10 2016/12/03 09:58:26 ryoon Exp $
+
+--- media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc.orig    2016-05-12 17:13:21.000000000 +0000
++++ media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc
+@@ -25,10 +25,21 @@
+ #else
+ #include <linux/videodev2.h>
+ #endif
++#ifdef HAVE_LIBV4L2
++#include <libv4l2.h>
++#endif
+ 
+ #include "webrtc/system_wrappers/interface/ref_count.h"
+ #include "webrtc/system_wrappers/interface/trace.h"
+ 
++#ifdef HAVE_LIBV4L2
++#define open  v4l2_open
++#define close v4l2_close
++#define dup   v4l2_dup
++#define ioctl v4l2_ioctl
++#define mmap  v4l2_mmap
++#define munmap        v4l2_munmap
++#endif
+ 
+ namespace webrtc
+ {
+@@ -136,6 +147,11 @@ int32_t DeviceInfoLinux::GetDeviceName(
+     memset(deviceNameUTF8, 0, deviceNameLength);
+     memcpy(cameraName, cap.card, sizeof(cap.card));
+ 
++    if (cameraName[0] == '\0')
++    {
++        sprintf(cameraName, "Camera at /dev/video%d", deviceNumber);
++    }
++
+     if (deviceNameLength >= strlen(cameraName))
+     {
+         memcpy(deviceNameUTF8, cameraName, strlen(cameraName));
Index: pkgsrc/www/firefox/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi
diff -u /dev/null pkgsrc/www/firefox/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi:1.10
--- /dev/null   Sat Dec  3 09:58:26 2016
+++ pkgsrc/www/firefox/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi       Sat Dec  3 09:58:26 2016
@@ -0,0 +1,34 @@
+$NetBSD: patch-media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi,v 1.10 2016/12/03 09:58:26 ryoon Exp $
+
+--- media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi.orig    2016-09-05 20:12:57.000000000 +0000
++++ media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi
+@@ -7,6 +7,9 @@
+ # be found in the AUTHORS file in the root of the source tree.
+ 
+ {
++  'variables': {
++     'use_libv4l2%': 0,
++  },
+   'targets': [
+     {
+       # Note this library is missing an implementation for the video capture.
+@@ -75,6 +78,19 @@
+                 'linux/video_capture_linux.cc',
+                 'linux/video_capture_linux.h',
+               ],
++              'conditions': [
++                ['use_libv4l2==1', {
++                  'defines': [
++                    'HAVE_LIBV4L2',
++                  ],
++                  'cflags_mozilla': [
++                    '$(MOZ_LIBV4L2_CFLAGS)',
++                  ],
++                  'libraries': [
++                    '-lv4l2',
++                  ],
++                }],
++              ],
+             }],  # linux
+             ['OS=="mac"', {
+               'sources': [

Index: pkgsrc/www/firefox/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc
diff -u /dev/null pkgsrc/www/firefox/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc:1.11
--- /dev/null   Sat Dec  3 09:58:26 2016
+++ pkgsrc/www/firefox/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc    Sat Dec  3 09:58:26 2016
@@ -0,0 +1,30 @@
+$NetBSD: patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc,v 1.11 2016/12/03 09:58:26 ryoon Exp $
+
+--- media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc.orig  2016-05-12 17:13:21.000000000 +0000
++++ media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc
+@@ -25,6 +25,9 @@
+ #else
+ #include <linux/videodev2.h>
+ #endif
++#ifdef HAVE_LIBV4L2
++#include <libv4l2.h>
++#endif
+ 
+ #include <new>
+ 
+@@ -33,6 +36,15 @@
+ #include "webrtc/system_wrappers/interface/ref_count.h"
+ #include "webrtc/system_wrappers/interface/trace.h"
+ 
++#ifdef HAVE_LIBV4L2
++#define open  v4l2_open
++#define close v4l2_close
++#define dup   v4l2_dup
++#define ioctl v4l2_ioctl
++#define mmap  v4l2_mmap
++#define munmap        v4l2_munmap
++#endif
++
+ namespace webrtc
+ {
+ namespace videocapturemodule

Index: pkgsrc/www/firefox/patches/patch-toolkit_components_osfile_modules_osfile__unix__back.jsm
diff -u /dev/null pkgsrc/www/firefox/patches/patch-toolkit_components_osfile_modules_osfile__unix__back.jsm:1.8
--- /dev/null   Sat Dec  3 09:58:26 2016
+++ pkgsrc/www/firefox/patches/patch-toolkit_components_osfile_modules_osfile__unix__back.jsm   Sat Dec  3 09:58:26 2016
@@ -0,0 +1,15 @@
+$NetBSD: patch-toolkit_components_osfile_modules_osfile__unix__back.jsm,v 1.8 2016/12/03 09:58:26 ryoon Exp $
+
+--- toolkit/components/osfile/modules/osfile_unix_back.jsm.orig        2016-07-25 20:22:06.000000000 +0000
++++ toolkit/components/osfile/modules/osfile_unix_back.jsm
+@@ -228,8 +228,8 @@
+          let statvfs = new SharedAll.HollowStructure("statvfs",
+            Const.OSFILE_SIZEOF_STATVFS);
+ 
+-         statvfs.add_field_at(Const.OSFILE_OFFSETOF_STATVFS_F_BSIZE,
+-                        "f_bsize", Type.unsigned_long.implementation);
++         statvfs.add_field_at(Const.OSFILE_OFFSETOF_STATVFS_F_FRSIZE,
++                        "f_frsize", Type.unsigned_long.implementation);
+          statvfs.add_field_at(Const.OSFILE_OFFSETOF_STATVFS_F_BAVAIL,
+                         "f_bavail", Type.fsblkcnt_t.implementation);
+ 

Index: pkgsrc/www/firefox/patches/patch-xpcom_build_XPCOMInit.cpp
diff -u /dev/null pkgsrc/www/firefox/patches/patch-xpcom_build_XPCOMInit.cpp:1.4
--- /dev/null   Sat Dec  3 09:58:26 2016
+++ pkgsrc/www/firefox/patches/patch-xpcom_build_XPCOMInit.cpp  Sat Dec  3 09:58:26 2016
@@ -0,0 +1,28 @@
+$NetBSD: patch-xpcom_build_XPCOMInit.cpp,v 1.4 2016/12/03 09:58:26 ryoon Exp $
+
+--- xpcom/build/XPCOMInit.cpp.orig     2016-10-31 20:15:39.000000000 +0000
++++ xpcom/build/XPCOMInit.cpp
+@@ -137,7 +137,9 @@ extern nsresult nsStringInputStreamConst
+ 
+ #include "mozilla/ipc/GeckoChildProcessHost.h"
+ 
++#ifndef MOZ_OGG_NO_MEM_REPORTING
+ #include "ogg/ogg.h"
++#endif
+ #if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
+ #if defined(HAVE_STDINT_H)
+ // mozilla-config.h defines HAVE_STDINT_H, and then it's defined *again* in
+@@ -638,11 +640,13 @@ NS_InitXPCOM2(nsIServiceManager** aResul
+   // this oddness.
+   mozilla::SetICUMemoryFunctions();
+ 
++#ifndef MOZ_OGG_NO_MEM_REPORTING
+   // Do the same for libogg.
+   ogg_set_mem_functions(OggReporter::CountingMalloc,
+                         OggReporter::CountingCalloc,
+                         OggReporter::CountingRealloc,
+                         OggReporter::CountingFree);
++#endif
+ 
+ #if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
+   // And for VPX.



Home | Main Index | Thread Index | Old Index