summaryrefslogtreecommitdiff
path: root/www
diff options
context:
space:
mode:
authorryoon <ryoon>2014-11-03 12:18:31 +0000
committerryoon <ryoon>2014-11-03 12:18:31 +0000
commitcc023f64741db84706f0eddf892c4214c64ce69c (patch)
tree646c72bed9e01afe45cc638fa237bc054814d7fc /www
parenta9200ed52a59db09c0cf49c944c72461c9ad24d6 (diff)
downloadpkgsrc-cc023f64741db84706f0eddf892c4214c64ce69c.tar.gz
Import firefox31-31.2.0 as www/firefox31.
Mozilla Firefox is a free, open-source and cross-platform web browser for Windows, Linux, MacOS X and many other operating systems. It is fast and easy to use, and offers many advantages over other web browsers, such as tabbed browsing and the ability to block pop-up windows. Firefox also offers excellent bookmark and history management, and it can be extended by developers using industry standards such as XML, CSS, JavaScript, C++, etc. Many extensions are available.
Diffstat (limited to 'www')
-rw-r--r--www/firefox31/DESCR10
-rw-r--r--www/firefox31/Makefile92
-rw-r--r--www/firefox31/PLIST2865
-rw-r--r--www/firefox31/distinfo142
-rw-r--r--www/firefox31/files/desktop.in191
-rw-r--r--www/firefox31/hacks.mk13
-rw-r--r--www/firefox31/mozilla-common.mk230
-rw-r--r--www/firefox31/options.mk99
-rw-r--r--www/firefox31/patches/patch-aa468
-rw-r--r--www/firefox31/patches/patch-ak13
-rw-r--r--www/firefox31/patches/patch-al16
-rw-r--r--www/firefox31/patches/patch-ao17
-rw-r--r--www/firefox31/patches/patch-as154
-rw-r--r--www/firefox31/patches/patch-b2g_installer_Makefile.in15
-rw-r--r--www/firefox31/patches/patch-b2g_installer_package-manifest.in13
-rw-r--r--www/firefox31/patches/patch-bf13
-rw-r--r--www/firefox31/patches/patch-bg24
-rw-r--r--www/firefox31/patches/patch-bi12
-rw-r--r--www/firefox31/patches/patch-browser_app_nsBrowserApp.cpp36
-rw-r--r--www/firefox31/patches/patch-browser_app_profile_firefox.js12
-rw-r--r--www/firefox31/patches/patch-browser_installer_package-manifest.in24
-rw-r--r--www/firefox31/patches/patch-browser_locales_en-US_chrome_browser-region_region.properties12
-rw-r--r--www/firefox31/patches/patch-browser_locales_en-US_searchplugins_duckduckgo.xml16
-rw-r--r--www/firefox31/patches/patch-browser_locales_en-US_searchplugins_list.txt11
-rw-r--r--www/firefox31/patches/patch-build_autoconf_compiler-opts.m422
-rw-r--r--www/firefox31/patches/patch-build_autoconf_nss.m446
-rw-r--r--www/firefox31/patches/patch-build_gyp.mozbuild12
-rw-r--r--www/firefox31/patches/patch-build_pgo_profileserver.py13
-rw-r--r--www/firefox31/patches/patch-config_Makefile.in20
-rw-r--r--www/firefox31/patches/patch-config_baseconfig.mk19
-rw-r--r--www/firefox31/patches/patch-config_external_moz.build47
-rw-r--r--www/firefox31/patches/patch-config_rules.mk30
-rw-r--r--www/firefox31/patches/patch-config_stl__wrappers_ios8
-rw-r--r--www/firefox31/patches/patch-config_stl__wrappers_ostream8
-rw-r--r--www/firefox31/patches/patch-config_system-headers60
-rw-r--r--www/firefox31/patches/patch-config_system__wrappers_unwind.h9
-rw-r--r--www/firefox31/patches/patch-content_base_src_moz.build14
-rw-r--r--www/firefox31/patches/patch-content_media_AudioStream.cpp12
-rw-r--r--www/firefox31/patches/patch-content_media_AudioStream.h23
-rw-r--r--www/firefox31/patches/patch-content_media_Makefile.in36
-rw-r--r--www/firefox31/patches/patch-content_media_fmp4_demuxer_bit_reader.cc15
-rw-r--r--www/firefox31/patches/patch-content_media_gstreamer_GStreamerAllocator.cpp12
-rw-r--r--www/firefox31/patches/patch-dom_plugins_ipc_PluginModuleChild.cpp31
-rw-r--r--www/firefox31/patches/patch-dom_plugins_ipc_PluginModuleChild.h13
-rw-r--r--www/firefox31/patches/patch-dom_plugins_ipc_PluginProcessChild.cpp16
-rw-r--r--www/firefox31/patches/patch-dom_system_OSFileConstants.cpp54
-rw-r--r--www/firefox31/patches/patch-extensions_spellcheck_hunspell_src_mozHunspell.cpp17
-rw-r--r--www/firefox31/patches/patch-gfx_graphite2_src_Bidi.cpp16
-rw-r--r--www/firefox31/patches/patch-gfx_moz.build26
-rw-r--r--www/firefox31/patches/patch-gfx_skia_Makefile.in15
-rw-r--r--www/firefox31/patches/patch-gfx_thebes_Makefile.in19
-rw-r--r--www/firefox31/patches/patch-image_decoders_nsJPEGDecoder.cpp363
-rw-r--r--www/firefox31/patches/patch-intl_hyphenation_src_hnjalloc.h14
-rw-r--r--www/firefox31/patches/patch-intl_unicharutil_util_Makefile.in12
-rw-r--r--www/firefox31/patches/patch-ipc_chromium_Makefile.in13
-rw-r--r--www/firefox31/patches/patch-ipc_chromium_moz.build18
-rw-r--r--www/firefox31/patches/patch-ipc_chromium_src_base_base__paths.h13
-rw-r--r--www/firefox31/patches/patch-ipc_chromium_src_base_debug__util__posix.cc13
-rw-r--r--www/firefox31/patches/patch-ipc_chromium_src_base_file__util.h14
-rw-r--r--www/firefox31/patches/patch-ipc_chromium_src_base_file__util__posix.cc51
-rw-r--r--www/firefox31/patches/patch-ipc_chromium_src_base_message__loop.cc40
-rw-r--r--www/firefox31/patches/patch-ipc_chromium_src_base_message__pump__libevent.cc13
-rw-r--r--www/firefox31/patches/patch-ipc_chromium_src_base_platform__thread.h14
-rw-r--r--www/firefox31/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc92
-rw-r--r--www/firefox31/patches/patch-ipc_chromium_src_base_process__util.h32
-rw-r--r--www/firefox31/patches/patch-ipc_chromium_src_base_process__util__bsd.cc166
-rw-r--r--www/firefox31/patches/patch-ipc_chromium_src_base_process__util__posix.cc22
-rw-r--r--www/firefox31/patches/patch-ipc_chromium_src_base_scoped__nsautorelease__pool.h45
-rw-r--r--www/firefox31/patches/patch-ipc_chromium_src_base_sys__info__posix.cc28
-rw-r--r--www/firefox31/patches/patch-ipc_chromium_src_base_time__posix.cc15
-rw-r--r--www/firefox31/patches/patch-ipc_chromium_src_build_build__config.h22
-rw-r--r--www/firefox31/patches/patch-ipc_chromium_src_chrome_common_transport__dib.h13
-rw-r--r--www/firefox31/patches/patch-ipc_glue_GeckoChildProcessHost.cpp48
-rw-r--r--www/firefox31/patches/patch-ipc_glue_ScopedXREEmbed.cpp16
-rw-r--r--www/firefox31/patches/patch-ipc_glue_StringUtil.cpp24
-rw-r--r--www/firefox31/patches/patch-ipc_ipdl_ipdl_cxx_ast.py25
-rw-r--r--www/firefox31/patches/patch-ipc_ipdl_ipdl_cxx_cgen.py27
-rw-r--r--www/firefox31/patches/patch-ipc_ipdl_ipdl_lower.py17
-rw-r--r--www/firefox31/patches/patch-js__src__vm__SPSProfiler.cpp17
-rw-r--r--www/firefox31/patches/patch-js_src_Makefile.in31
-rw-r--r--www/firefox31/patches/patch-js_src_ctypes_CTypes.h28
-rw-r--r--www/firefox31/patches/patch-js_src_frontend_ParseMaps.cpp12
-rw-r--r--www/firefox31/patches/patch-js_src_gc_Memory.cpp20
-rw-r--r--www/firefox31/patches/patch-js_src_jsmath.cpp13
-rw-r--r--www/firefox31/patches/patch-mb44
-rw-r--r--www/firefox31/patches/patch-media_libcubeb_src_Makefile.in12
-rw-r--r--www/firefox31/patches/patch-media_libcubeb_src_cubeb__alsa.c14
-rw-r--r--www/firefox31/patches/patch-media_libcubeb_src_moz.build15
-rw-r--r--www/firefox31/patches/patch-media_libpng_pngpriv.h12
-rw-r--r--www/firefox31/patches/patch-media_libsoundtouch_src_cpu__detect__x86.cpp15
-rw-r--r--www/firefox31/patches/patch-media_libtheora_Makefile.in14
-rw-r--r--www/firefox31/patches/patch-media_libtremor_Makefile.in14
-rw-r--r--www/firefox31/patches/patch-media_libvorbis_Makefile.in14
-rw-r--r--www/firefox31/patches/patch-media_mtransport_third__party_nICEr_src_util_mbslen.c18
-rw-r--r--www/firefox31/patches/patch-media_mtransport_third__party_nrappkit_src_port_generic_include_sys_queue.h19
-rw-r--r--www/firefox31/patches/patch-media_webrtc_signaling_signaling.gyp20
-rw-r--r--www/firefox31/patches/patch-media_webrtc_signaling_test_Makefile.in25
-rw-r--r--www/firefox31/patches/patch-media_webrtc_trunk_webrtc_build_common.gypi13
-rw-r--r--www/firefox31/patches/patch-media_webrtc_trunk_webrtc_modules_audio__coding_codecs_opus_opus.gypi17
-rw-r--r--www/firefox31/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc38
-rw-r--r--www/firefox31/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc30
-rw-r--r--www/firefox31/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi31
-rw-r--r--www/firefox31/patches/patch-media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp18
-rw-r--r--www/firefox31/patches/patch-memory_jemalloc_Makefile.in12
-rw-r--r--www/firefox31/patches/patch-memory_mozalloc_mozalloc__abort.cpp16
-rw-r--r--www/firefox31/patches/patch-mfbt_Alignment.h48
-rw-r--r--www/firefox31/patches/patch-mfbt_Attributes.h32
-rw-r--r--www/firefox31/patches/patch-mfbt_Poison.cpp20
-rw-r--r--www/firefox31/patches/patch-mobile_android_installer_Makefile.in15
-rw-r--r--www/firefox31/patches/patch-mobile_android_installer_package-manifest.in13
-rw-r--r--www/firefox31/patches/patch-modules_libjar_nsZipArchive.cpp15
-rw-r--r--www/firefox31/patches/patch-netwerk_dns_Makefile.in15
-rw-r--r--www/firefox31/patches/patch-pb11
-rw-r--r--www/firefox31/patches/patch-pc12
-rw-r--r--www/firefox31/patches/patch-probes_Makefile.in13
-rw-r--r--www/firefox31/patches/patch-rc14
-rw-r--r--www/firefox31/patches/patch-security_manager_ssl_src_nsNSSComponent.cpp12
-rw-r--r--www/firefox31/patches/patch-storage_src_moz.build20
-rw-r--r--www/firefox31/patches/patch-toolkit_components_osfile_modules_osfile__unix__back.jsm49
-rw-r--r--www/firefox31/patches/patch-toolkit_components_osfile_modules_osfile__unix__front.jsm13
-rw-r--r--www/firefox31/patches/patch-toolkit_library_libxul.mk73
-rw-r--r--www/firefox31/patches/patch-toolkit_toolkit.mozbuild15
-rw-r--r--www/firefox31/patches/patch-toolkit_xre_nsEmbedFunctions.cpp22
-rw-r--r--www/firefox31/patches/patch-webapprt_moz.build22
-rw-r--r--www/firefox31/patches/patch-xb91
-rw-r--r--www/firefox31/patches/patch-xc73
-rw-r--r--www/firefox31/patches/patch-xe75
-rw-r--r--www/firefox31/patches/patch-xf43
-rw-r--r--www/firefox31/patches/patch-xg33
-rw-r--r--www/firefox31/patches/patch-xl27
-rw-r--r--www/firefox31/patches/patch-xm49
-rw-r--r--www/firefox31/patches/patch-xpcom_base_nsDebugImpl.cpp88
-rw-r--r--www/firefox31/patches/patch-xpcom_base_nsStackWalk.cpp59
-rw-r--r--www/firefox31/patches/patch-xpcom_base_nsUUIDGenerator.cpp69
-rw-r--r--www/firefox31/patches/patch-xpcom_base_nsUUIDGenerator.h13
-rw-r--r--www/firefox31/patches/patch-xpcom_base_nscore.h13
-rw-r--r--www/firefox31/patches/patch-xpcom_build_PoisonIOInterposer.h37
-rw-r--r--www/firefox31/patches/patch-xpcom_build_nsXPComInit.cpp28
-rw-r--r--www/firefox31/patches/patch-xpcom_ds_TimeStamp.h20
-rw-r--r--www/firefox31/patches/patch-xpcom_reflect_xptcall_src_md_unix_moz.build34
-rw-r--r--www/firefox31/patches/patch-xpcom_reflect_xptcall_src_md_unix_xptcinvoke__asm__mips.S52
-rw-r--r--www/firefox31/patches/patch-xpcom_reflect_xptcall_src_md_unix_xptcinvoke__gcc__x86__unix.cpp13
-rw-r--r--www/firefox31/patches/patch-xpcom_reflect_xptcall_src_md_unix_xptcstubs__asm__mips.S52
-rw-r--r--www/firefox31/patches/patch-xpcom_reflect_xptcall_src_md_unix_xptcstubs__gcc__x86__unix.cpp13
-rw-r--r--www/firefox31/patches/patch-xulrunner_installer_Makefile.in15
-rw-r--r--www/firefox31/xpi.mk25
146 files changed, 8169 insertions, 0 deletions
diff --git a/www/firefox31/DESCR b/www/firefox31/DESCR
new file mode 100644
index 00000000000..16857791703
--- /dev/null
+++ b/www/firefox31/DESCR
@@ -0,0 +1,10 @@
+Mozilla Firefox is a free, open-source and cross-platform web browser
+for Windows, Linux, MacOS X and many other operating systems.
+
+It is fast and easy to use, and offers many advantages over other web
+browsers, such as tabbed browsing and the ability to block pop-up
+windows.
+
+Firefox also offers excellent bookmark and history management, and it
+can be extended by developers using industry standards such as XML,
+CSS, JavaScript, C++, etc. Many extensions are available.
diff --git a/www/firefox31/Makefile b/www/firefox31/Makefile
new file mode 100644
index 00000000000..30cb453a2d2
--- /dev/null
+++ b/www/firefox31/Makefile
@@ -0,0 +1,92 @@
+# $NetBSD: Makefile,v 1.1 2014/11/03 12:18:31 ryoon Exp $
+
+FIREFOX_VER= ${MOZ_BRANCH}${MOZ_BRANCH_MINOR}esr
+MOZ_BRANCH= 31.2
+MOZ_BRANCH_MINOR= .0
+
+DISTNAME= firefox-${FIREFOX_VER}.source
+PKGNAME= firefox31-${MOZ_BRANCH}${MOZ_BRANCH_MINOR:S/b/beta/:S/esr//}
+CATEGORIES= www
+MASTER_SITES= ${MASTER_SITE_MOZILLA:=firefox/releases/${FIREFOX_VER}/source/}
+MASTER_SITES+= ${MASTER_SITE_MOZILLA_ALL:=firefox/releases/${FIREFOX_VER}/source/}
+EXTRACT_SUFX= .tar.bz2
+
+WRKSRC= ${WRKDIR}/mozilla-esr31
+
+MAINTAINER= ryoon@NetBSD.org
+HOMEPAGE= http://www.mozilla.com/en-US/firefox/
+COMMENT= Web browser with support for extensions (version ${MOZ_BRANCH:C/\..*//})
+LICENSE= mpl-1.1
+
+MOZILLA_DIR= # empty
+
+# Note: when updating remember to conditionalise about-background.png in PLIST
+# XXX Firefox 21.0's firefox/xulrunner separation is not working.
+#CONFIGURE_ARGS+= --with-libxul-sdk
+#CONFIGURE_ARGS+= --with-system-libxul
+CONFIGURE_ARGS+= --enable-application=browser
+
+# workround for link of libxul.so etc.
+LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib/firefox31 ${COMPILER_RPATH_FLAG}${PREFIX}/lib
+LDFLAGS.SunOS+= -lm
+
+ALL_ENV+= MOZILLA_PKG_NAME=firefox31
+
+.include "../../mk/bsd.prefs.mk"
+
+# Avoid ld "invalid section index" errors.
+.if ${OPSYS} == "SunOS"
+BUILDLINK_TRANSFORM+= rm:-fdata-sections
+BUILDLINK_TRANSFORM+= rm:-ffunction-sections
+.endif
+
+LDFLAGS.DragonFly= -lplc4 -lnspr4
+LDFLAGS.FreeBSD= -lplc4 -lnspr4
+LDFLAGS.Linux= -lnspr4
+
+.include "mozilla-common.mk"
+.include "options.mk"
+
+CHECK_INTERPRETER_SKIP+=lib/firefox31-sdk/sdk/bin/header.py
+CHECK_INTERPRETER_SKIP+=lib/firefox31-sdk/sdk/bin/typelib.py
+CHECK_INTERPRETER_SKIP+=lib/firefox31-sdk/sdk/bin/xpidl.py
+CHECK_INTERPRETER_SKIP+=lib/firefox31-sdk/sdk/bin/xpt.py
+
+MOZILLA=firefox31
+MOZILLA_ICON= ${WRKSRC}/${OBJDIR}/dist/firefox/browser/chrome/icons/default/default48.png
+.if !empty(PKG_OPTIONS:Mofficial-mozilla-branding)
+MOZILLA_NAME= Firefox
+.else
+MOZILLA_NAME= Browser
+.endif
+
+SUBST_CLASSES+= sys-dic
+SUBST_STAGE.sys-dic= pre-configure
+SUBST_MESSAGE.sys-dic= Reference to system hunspell dictionaries.
+SUBST_FILES.sys-dic= extensions/spellcheck/hunspell/src/mozHunspell.cpp
+SUBST_VARS.sys-dic= PREFIX
+
+pre-configure:
+ cd ${WRKSRC} && mkdir ${OBJDIR}
+ cd ${WRKSRC} && autoconf
+ cd ${WRKSRC}/js/src && autoconf
+# XXX Makefile is broken? When libxul is provided from devel/xulrunner,
+# XXX please remove this.
+ mkdir ${WRKSRC}/js/src/.deps
+
+post-build:
+ ${SED} -e 's|@MOZILLA@|${MOZILLA}|g' \
+ -e 's|@MOZILLA_NAME@|${MOZILLA_NAME}|g' \
+ -e 's|@FIREFOX_ICON@|${MOZILLA}.png|g' \
+ < ${FILESDIR}/desktop.in \
+ > ${WRKDIR}/desktop
+
+INSTALLATION_DIRS+= share/applications share/pixmaps
+post-install:
+ ${INSTALL_DATA} ${WRKDIR}/desktop \
+ ${DESTDIR}${PREFIX}/share/applications/${MOZILLA}.desktop
+ ${INSTALL_DATA} ${MOZILLA_ICON} \
+ ${DESTDIR}${PREFIX}/share/pixmaps/${MOZILLA}.png
+
+.include "../../sysutils/desktop-file-utils/desktopdb.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/www/firefox31/PLIST b/www/firefox31/PLIST
new file mode 100644
index 00000000000..80c3a9115a5
--- /dev/null
+++ b/www/firefox31/PLIST
@@ -0,0 +1,2865 @@
+@comment $NetBSD: PLIST,v 1.1 2014/11/03 12:18:31 ryoon Exp $
+bin/firefox31
+lib/firefox31/application.ini
+lib/firefox31/browser/blocklist.xml
+lib/firefox31/browser/chrome.manifest
+${PLIST.nobranding}lib/firefox31/browser/chrome/browser/content/branding/about-background.png
+lib/firefox31/browser/chrome/browser/content/branding/about-logo.png
+lib/firefox31/browser/chrome/browser/content/branding/about-logo@2x.png
+lib/firefox31/browser/chrome/browser/content/branding/about-wordmark.svg
+lib/firefox31/browser/chrome/browser/content/branding/about.png
+lib/firefox31/browser/chrome/browser/content/branding/aboutDialog.css
+lib/firefox31/browser/chrome/browser/content/branding/icon128.png
+lib/firefox31/browser/chrome/browser/content/branding/icon16.png
+lib/firefox31/browser/chrome/browser/content/branding/icon32.png
+lib/firefox31/browser/chrome/browser/content/branding/icon48.png
+lib/firefox31/browser/chrome/browser/content/branding/icon64.png
+lib/firefox31/browser/chrome/browser/content/branding/identity-icons-brand.png
+lib/firefox31/browser/chrome/browser/content/branding/identity-icons-brand@2x.png
+lib/firefox31/browser/chrome/browser/content/browser/aboutDialog.css
+lib/firefox31/browser/chrome/browser/content/browser/aboutDialog.js
+lib/firefox31/browser/chrome/browser/content/browser/aboutDialog.xul
+lib/firefox31/browser/chrome/browser/content/browser/aboutPrivateBrowsing.xhtml
+lib/firefox31/browser/chrome/browser/content/browser/aboutRobots-icon.png
+lib/firefox31/browser/chrome/browser/content/browser/aboutRobots-widget-left.png
+lib/firefox31/browser/chrome/browser/content/browser/aboutRobots.xhtml
+lib/firefox31/browser/chrome/browser/content/browser/aboutSessionRestore.js
+lib/firefox31/browser/chrome/browser/content/browser/aboutSessionRestore.xhtml
+lib/firefox31/browser/chrome/browser/content/browser/aboutSocialError.xhtml
+lib/firefox31/browser/chrome/browser/content/browser/aboutTabCrashed.js
+lib/firefox31/browser/chrome/browser/content/browser/aboutTabCrashed.xhtml
+lib/firefox31/browser/chrome/browser/content/browser/aboutWelcomeBack.xhtml
+lib/firefox31/browser/chrome/browser/content/browser/aboutaccounts/aboutaccounts.css
+lib/firefox31/browser/chrome/browser/content/browser/aboutaccounts/aboutaccounts.js
+lib/firefox31/browser/chrome/browser/content/browser/aboutaccounts/aboutaccounts.xhtml
+lib/firefox31/browser/chrome/browser/content/browser/aboutaccounts/images/fox.png
+lib/firefox31/browser/chrome/browser/content/browser/aboutaccounts/images/graphic_sync_intro.png
+lib/firefox31/browser/chrome/browser/content/browser/aboutaccounts/images/graphic_sync_intro@2x.png
+lib/firefox31/browser/chrome/browser/content/browser/aboutaccounts/main.css
+lib/firefox31/browser/chrome/browser/content/browser/aboutaccounts/normalize.css
+lib/firefox31/browser/chrome/browser/content/browser/abouthealthreport/abouthealth.css
+lib/firefox31/browser/chrome/browser/content/browser/abouthealthreport/abouthealth.js
+lib/firefox31/browser/chrome/browser/content/browser/abouthealthreport/abouthealth.xhtml
+lib/firefox31/browser/chrome/browser/content/browser/abouthome/aboutHome.css
+lib/firefox31/browser/chrome/browser/content/browser/abouthome/aboutHome.js
+lib/firefox31/browser/chrome/browser/content/browser/abouthome/aboutHome.xhtml
+lib/firefox31/browser/chrome/browser/content/browser/abouthome/addons.png
+lib/firefox31/browser/chrome/browser/content/browser/abouthome/addons@2x.png
+lib/firefox31/browser/chrome/browser/content/browser/abouthome/apps.png
+lib/firefox31/browser/chrome/browser/content/browser/abouthome/apps@2x.png
+lib/firefox31/browser/chrome/browser/content/browser/abouthome/bookmarks.png
+lib/firefox31/browser/chrome/browser/content/browser/abouthome/bookmarks@2x.png
+lib/firefox31/browser/chrome/browser/content/browser/abouthome/downloads.png
+lib/firefox31/browser/chrome/browser/content/browser/abouthome/downloads@2x.png
+lib/firefox31/browser/chrome/browser/content/browser/abouthome/history.png
+lib/firefox31/browser/chrome/browser/content/browser/abouthome/history@2x.png
+lib/firefox31/browser/chrome/browser/content/browser/abouthome/mozilla.png
+lib/firefox31/browser/chrome/browser/content/browser/abouthome/mozilla@2x.png
+lib/firefox31/browser/chrome/browser/content/browser/abouthome/restore-large.png
+lib/firefox31/browser/chrome/browser/content/browser/abouthome/restore-large@2x.png
+lib/firefox31/browser/chrome/browser/content/browser/abouthome/restore.png
+lib/firefox31/browser/chrome/browser/content/browser/abouthome/restore@2x.png
+lib/firefox31/browser/chrome/browser/content/browser/abouthome/settings.png
+lib/firefox31/browser/chrome/browser/content/browser/abouthome/settings@2x.png
+lib/firefox31/browser/chrome/browser/content/browser/abouthome/snippet1.png
+lib/firefox31/browser/chrome/browser/content/browser/abouthome/snippet1@2x.png
+lib/firefox31/browser/chrome/browser/content/browser/abouthome/snippet2.png
+lib/firefox31/browser/chrome/browser/content/browser/abouthome/snippet2@2x.png
+lib/firefox31/browser/chrome/browser/content/browser/abouthome/sync.png
+lib/firefox31/browser/chrome/browser/content/browser/abouthome/sync@2x.png
+lib/firefox31/browser/chrome/browser/content/browser/baseMenuOverlay.xul
+lib/firefox31/browser/chrome/browser/content/browser/blockedSite.xhtml
+lib/firefox31/browser/chrome/browser/content/browser/bookmarks/bookmarksPanel.js
+lib/firefox31/browser/chrome/browser/content/browser/bookmarks/bookmarksPanel.xul
+lib/firefox31/browser/chrome/browser/content/browser/bookmarks/sidebarUtils.js
+lib/firefox31/browser/chrome/browser/content/browser/browser-tabPreviews.xml
+lib/firefox31/browser/chrome/browser/content/browser/browser.css
+lib/firefox31/browser/chrome/browser/content/browser/browser.js
+lib/firefox31/browser/chrome/browser/content/browser/browser.xul
+lib/firefox31/browser/chrome/browser/content/browser/certerror/aboutCertError.css
+lib/firefox31/browser/chrome/browser/content/browser/certerror/aboutCertError.xhtml
+lib/firefox31/browser/chrome/browser/content/browser/chatWindow.xul
+lib/firefox31/browser/chrome/browser/content/browser/content-sessionStore.js
+lib/firefox31/browser/chrome/browser/content/browser/content.js
+lib/firefox31/browser/chrome/browser/content/browser/customizableui/aboutCustomizing.xul
+lib/firefox31/browser/chrome/browser/content/browser/customizableui/panelUI.css
+lib/firefox31/browser/chrome/browser/content/browser/customizableui/panelUI.js
+lib/firefox31/browser/chrome/browser/content/browser/customizableui/panelUI.xml
+lib/firefox31/browser/chrome/browser/content/browser/customizableui/toolbar.xml
+lib/firefox31/browser/chrome/browser/content/browser/devtools/NetworkPanel.xhtml
+lib/firefox31/browser/chrome/browser/content/browser/devtools/app-manager/connection-footer.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/app-manager/connection-footer.xhtml
+lib/firefox31/browser/chrome/browser/content/browser/devtools/app-manager/device.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/app-manager/device.xhtml
+lib/firefox31/browser/chrome/browser/content/browser/devtools/app-manager/help.xhtml
+lib/firefox31/browser/chrome/browser/content/browser/devtools/app-manager/index.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/app-manager/index.xul
+lib/firefox31/browser/chrome/browser/content/browser/devtools/app-manager/manifest-editor.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/app-manager/projects.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/app-manager/projects.xhtml
+lib/firefox31/browser/chrome/browser/content/browser/devtools/app-manager/template.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/app-manager/utils.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/canvasdebugger.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/canvasdebugger.xul
+lib/firefox31/browser/chrome/browser/content/browser/devtools/cleopatra.html
+lib/firefox31/browser/chrome/browser/content/browser/devtools/codemirror/activeline.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/codemirror/brace-fold.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/codemirror/clike.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/codemirror/closebrackets.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/codemirror/codemirror.css
+lib/firefox31/browser/chrome/browser/content/browser/devtools/codemirror/codemirror.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/codemirror/comment-fold.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/codemirror/comment.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/codemirror/css.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/codemirror/dialog.css
+lib/firefox31/browser/chrome/browser/content/browser/devtools/codemirror/dialog.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/codemirror/emacs.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/codemirror/foldcode.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/codemirror/foldgutter.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/codemirror/htmlmixed.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/codemirror/javascript.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/codemirror/matchbrackets.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/codemirror/mozilla.css
+lib/firefox31/browser/chrome/browser/content/browser/devtools/codemirror/search.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/codemirror/searchcursor.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/codemirror/sublime.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/codemirror/trailingspace.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/codemirror/vim.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/codemirror/xml-fold.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/codemirror/xml.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/commandline.css
+lib/firefox31/browser/chrome/browser/content/browser/devtools/commandline/commands-index.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/commandlineoutput.xhtml
+lib/firefox31/browser/chrome/browser/content/browser/devtools/commandlinetooltip.xhtml
+lib/firefox31/browser/chrome/browser/content/browser/devtools/computedview.xhtml
+lib/firefox31/browser/chrome/browser/content/browser/devtools/connect.css
+lib/firefox31/browser/chrome/browser/content/browser/devtools/connect.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/connect.xhtml
+lib/firefox31/browser/chrome/browser/content/browser/devtools/cssruleview.xhtml
+lib/firefox31/browser/chrome/browser/content/browser/devtools/d3.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/dagre-d3.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/debugger-controller.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/debugger-panes.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/debugger-toolbar.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/debugger-view.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/debugger.css
+lib/firefox31/browser/chrome/browser/content/browser/devtools/debugger.xul
+lib/firefox31/browser/chrome/browser/content/browser/devtools/eyedropper.xul
+lib/firefox31/browser/chrome/browser/content/browser/devtools/eyedropper/crosshairs.css
+lib/firefox31/browser/chrome/browser/content/browser/devtools/eyedropper/nocursor.css
+lib/firefox31/browser/chrome/browser/content/browser/devtools/fontinspector/font-inspector.css
+lib/firefox31/browser/chrome/browser/content/browser/devtools/fontinspector/font-inspector.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/fontinspector/font-inspector.xhtml
+lib/firefox31/browser/chrome/browser/content/browser/devtools/framework/options-panel.css
+lib/firefox31/browser/chrome/browser/content/browser/devtools/framework/toolbox-options.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/framework/toolbox-options.xul
+lib/firefox31/browser/chrome/browser/content/browser/devtools/framework/toolbox-process-window.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/framework/toolbox-process-window.xul
+lib/firefox31/browser/chrome/browser/content/browser/devtools/framework/toolbox-window.xul
+lib/firefox31/browser/chrome/browser/content/browser/devtools/framework/toolbox.xul
+lib/firefox31/browser/chrome/browser/content/browser/devtools/inspector/inspector.css
+lib/firefox31/browser/chrome/browser/content/browser/devtools/inspector/inspector.xul
+lib/firefox31/browser/chrome/browser/content/browser/devtools/layoutview/view.css
+lib/firefox31/browser/chrome/browser/content/browser/devtools/layoutview/view.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/layoutview/view.xhtml
+lib/firefox31/browser/chrome/browser/content/browser/devtools/markup-view.css
+lib/firefox31/browser/chrome/browser/content/browser/devtools/markup-view.xhtml
+lib/firefox31/browser/chrome/browser/content/browser/devtools/netmonitor-controller.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/netmonitor-view.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/netmonitor.css
+lib/firefox31/browser/chrome/browser/content/browser/devtools/netmonitor.xul
+lib/firefox31/browser/chrome/browser/content/browser/devtools/profiler.xul
+lib/firefox31/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/css/devtools.css
+lib/firefox31/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/css/tree.css
+lib/firefox31/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/css/ui.css
+lib/firefox31/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/images/circlearrow.svg
+lib/firefox31/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/images/noise.png
+lib/firefox31/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/images/throbber.svg
+lib/firefox31/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/images/treetwisty.svg
+lib/firefox31/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/js/ProgressReporter.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/js/devtools.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/js/parser.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/js/parserWorker.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/js/strings.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/js/tree.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/profiler/cleopatra/js/ui.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/responsivedesign/resize-commands.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/ruleview.css
+lib/firefox31/browser/chrome/browser/content/browser/devtools/scratchpad-commands.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/scratchpad.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/scratchpad.xul
+lib/firefox31/browser/chrome/browser/content/browser/devtools/shadereditor.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/shadereditor.xul
+lib/firefox31/browser/chrome/browser/content/browser/devtools/spectrum-frame.xhtml
+lib/firefox31/browser/chrome/browser/content/browser/devtools/spectrum.css
+lib/firefox31/browser/chrome/browser/content/browser/devtools/splitview.css
+lib/firefox31/browser/chrome/browser/content/browser/devtools/styleeditor.css
+lib/firefox31/browser/chrome/browser/content/browser/devtools/styleeditor.xul
+lib/firefox31/browser/chrome/browser/content/browser/devtools/theme-switching.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/webaudioeditor-controller.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/webaudioeditor-view.js
+lib/firefox31/browser/chrome/browser/content/browser/devtools/webaudioeditor.xul
+lib/firefox31/browser/chrome/browser/content/browser/devtools/webconsole.xul
+lib/firefox31/browser/chrome/browser/content/browser/devtools/widgets.css
+lib/firefox31/browser/chrome/browser/content/browser/devtools/widgets/VariablesView.xul
+lib/firefox31/browser/chrome/browser/content/browser/downloads/allDownloadsViewOverlay.css
+lib/firefox31/browser/chrome/browser/content/browser/downloads/allDownloadsViewOverlay.js
+lib/firefox31/browser/chrome/browser/content/browser/downloads/allDownloadsViewOverlay.xul
+lib/firefox31/browser/chrome/browser/content/browser/downloads/contentAreaDownloadsView.css
+lib/firefox31/browser/chrome/browser/content/browser/downloads/contentAreaDownloadsView.js
+lib/firefox31/browser/chrome/browser/content/browser/downloads/contentAreaDownloadsView.xul
+lib/firefox31/browser/chrome/browser/content/browser/downloads/download.css
+lib/firefox31/browser/chrome/browser/content/browser/downloads/download.xml
+lib/firefox31/browser/chrome/browser/content/browser/downloads/downloads.css
+lib/firefox31/browser/chrome/browser/content/browser/downloads/downloads.js
+lib/firefox31/browser/chrome/browser/content/browser/downloads/downloadsOverlay.xul
+lib/firefox31/browser/chrome/browser/content/browser/downloads/indicator.js
+lib/firefox31/browser/chrome/browser/content/browser/downloads/indicatorOverlay.xul
+lib/firefox31/browser/chrome/browser/content/browser/feeds/subscribe.css
+lib/firefox31/browser/chrome/browser/content/browser/feeds/subscribe.js
+lib/firefox31/browser/chrome/browser/content/browser/feeds/subscribe.xhtml
+lib/firefox31/browser/chrome/browser/content/browser/feeds/subscribe.xml
+lib/firefox31/browser/chrome/browser/content/browser/fonts/ClearSans-Regular.woff
+lib/firefox31/browser/chrome/browser/content/browser/fonts/FiraSans-Light.woff
+lib/firefox31/browser/chrome/browser/content/browser/fonts/FiraSans-Regular.woff
+lib/firefox31/browser/chrome/browser/content/browser/hiddenWindow.xul
+lib/firefox31/browser/chrome/browser/content/browser/history/history-panel.xul
+lib/firefox31/browser/chrome/browser/content/browser/license.html
+lib/firefox31/browser/chrome/browser/content/browser/migration/migration.js
+lib/firefox31/browser/chrome/browser/content/browser/migration/migration.xul
+lib/firefox31/browser/chrome/browser/content/browser/newtab/newTab.css
+lib/firefox31/browser/chrome/browser/content/browser/newtab/newTab.js
+lib/firefox31/browser/chrome/browser/content/browser/newtab/newTab.xul
+lib/firefox31/browser/chrome/browser/content/browser/newtab/preloaderContent.js
+lib/firefox31/browser/chrome/browser/content/browser/nsContextMenu.js
+lib/firefox31/browser/chrome/browser/content/browser/pageinfo/feeds.js
+lib/firefox31/browser/chrome/browser/content/browser/pageinfo/feeds.xml
+lib/firefox31/browser/chrome/browser/content/browser/pageinfo/pageInfo.css
+lib/firefox31/browser/chrome/browser/content/browser/pageinfo/pageInfo.js
+lib/firefox31/browser/chrome/browser/content/browser/pageinfo/pageInfo.xml
+lib/firefox31/browser/chrome/browser/content/browser/pageinfo/pageInfo.xul
+lib/firefox31/browser/chrome/browser/content/browser/pageinfo/permissions.js
+lib/firefox31/browser/chrome/browser/content/browser/pageinfo/security.js
+lib/firefox31/browser/chrome/browser/content/browser/places/bookmarkProperties.js
+lib/firefox31/browser/chrome/browser/content/browser/places/bookmarkProperties.xul
+lib/firefox31/browser/chrome/browser/content/browser/places/bookmarkProperties2.xul
+lib/firefox31/browser/chrome/browser/content/browser/places/browserPlacesViews.js
+lib/firefox31/browser/chrome/browser/content/browser/places/controller.js
+lib/firefox31/browser/chrome/browser/content/browser/places/downloadsViewOverlay.xul
+lib/firefox31/browser/chrome/browser/content/browser/places/editBookmarkOverlay.js
+lib/firefox31/browser/chrome/browser/content/browser/places/editBookmarkOverlay.xul
+lib/firefox31/browser/chrome/browser/content/browser/places/history-panel.js
+lib/firefox31/browser/chrome/browser/content/browser/places/menu.xml
+lib/firefox31/browser/chrome/browser/content/browser/places/moveBookmarks.js
+lib/firefox31/browser/chrome/browser/content/browser/places/moveBookmarks.xul
+lib/firefox31/browser/chrome/browser/content/browser/places/organizer.css
+lib/firefox31/browser/chrome/browser/content/browser/places/places.css
+lib/firefox31/browser/chrome/browser/content/browser/places/places.js
+lib/firefox31/browser/chrome/browser/content/browser/places/places.xul
+lib/firefox31/browser/chrome/browser/content/browser/places/placesOverlay.xul
+lib/firefox31/browser/chrome/browser/content/browser/places/tree.xml
+lib/firefox31/browser/chrome/browser/content/browser/places/treeView.js
+lib/firefox31/browser/chrome/browser/content/browser/preferences/aboutPermissions.css
+lib/firefox31/browser/chrome/browser/content/browser/preferences/aboutPermissions.js
+lib/firefox31/browser/chrome/browser/content/browser/preferences/aboutPermissions.xml
+lib/firefox31/browser/chrome/browser/content/browser/preferences/aboutPermissions.xul
+lib/firefox31/browser/chrome/browser/content/browser/preferences/advanced.js
+lib/firefox31/browser/chrome/browser/content/browser/preferences/advanced.xul
+lib/firefox31/browser/chrome/browser/content/browser/preferences/applicationManager.js
+lib/firefox31/browser/chrome/browser/content/browser/preferences/applicationManager.xul
+lib/firefox31/browser/chrome/browser/content/browser/preferences/applications.js
+lib/firefox31/browser/chrome/browser/content/browser/preferences/applications.xul
+lib/firefox31/browser/chrome/browser/content/browser/preferences/colors.xul
+lib/firefox31/browser/chrome/browser/content/browser/preferences/connection.js
+lib/firefox31/browser/chrome/browser/content/browser/preferences/connection.xul
+lib/firefox31/browser/chrome/browser/content/browser/preferences/content.js
+lib/firefox31/browser/chrome/browser/content/browser/preferences/content.xul
+lib/firefox31/browser/chrome/browser/content/browser/preferences/cookies.js
+lib/firefox31/browser/chrome/browser/content/browser/preferences/cookies.xul
+lib/firefox31/browser/chrome/browser/content/browser/preferences/fonts.js
+lib/firefox31/browser/chrome/browser/content/browser/preferences/fonts.xul
+lib/firefox31/browser/chrome/browser/content/browser/preferences/handlers.css
+lib/firefox31/browser/chrome/browser/content/browser/preferences/handlers.xml
+lib/firefox31/browser/chrome/browser/content/browser/preferences/in-content/advanced.js
+lib/firefox31/browser/chrome/browser/content/browser/preferences/in-content/advanced.xul
+lib/firefox31/browser/chrome/browser/content/browser/preferences/in-content/applications.js
+lib/firefox31/browser/chrome/browser/content/browser/preferences/in-content/applications.xul
+lib/firefox31/browser/chrome/browser/content/browser/preferences/in-content/content.js
+lib/firefox31/browser/chrome/browser/content/browser/preferences/in-content/content.xul
+lib/firefox31/browser/chrome/browser/content/browser/preferences/in-content/main.js
+lib/firefox31/browser/chrome/browser/content/browser/preferences/in-content/main.xul
+lib/firefox31/browser/chrome/browser/content/browser/preferences/in-content/preferences.js
+lib/firefox31/browser/chrome/browser/content/browser/preferences/in-content/preferences.xul
+lib/firefox31/browser/chrome/browser/content/browser/preferences/in-content/privacy.js
+lib/firefox31/browser/chrome/browser/content/browser/preferences/in-content/privacy.xul
+lib/firefox31/browser/chrome/browser/content/browser/preferences/in-content/security.js
+lib/firefox31/browser/chrome/browser/content/browser/preferences/in-content/security.xul
+lib/firefox31/browser/chrome/browser/content/browser/preferences/in-content/sync.js
+lib/firefox31/browser/chrome/browser/content/browser/preferences/in-content/sync.xul
+lib/firefox31/browser/chrome/browser/content/browser/preferences/languages.js
+lib/firefox31/browser/chrome/browser/content/browser/preferences/languages.xul
+lib/firefox31/browser/chrome/browser/content/browser/preferences/main.js
+lib/firefox31/browser/chrome/browser/content/browser/preferences/main.xul
+lib/firefox31/browser/chrome/browser/content/browser/preferences/permissions.js
+lib/firefox31/browser/chrome/browser/content/browser/preferences/permissions.xul
+lib/firefox31/browser/chrome/browser/content/browser/preferences/preferences.xul
+lib/firefox31/browser/chrome/browser/content/browser/preferences/privacy.js
+lib/firefox31/browser/chrome/browser/content/browser/preferences/privacy.xul
+lib/firefox31/browser/chrome/browser/content/browser/preferences/sanitize.js
+lib/firefox31/browser/chrome/browser/content/browser/preferences/sanitize.xul
+lib/firefox31/browser/chrome/browser/content/browser/preferences/security.js
+lib/firefox31/browser/chrome/browser/content/browser/preferences/security.xul
+lib/firefox31/browser/chrome/browser/content/browser/preferences/selectBookmark.js
+lib/firefox31/browser/chrome/browser/content/browser/preferences/selectBookmark.xul
+lib/firefox31/browser/chrome/browser/content/browser/preferences/sync.js
+lib/firefox31/browser/chrome/browser/content/browser/preferences/sync.xul
+lib/firefox31/browser/chrome/browser/content/browser/preferences/tabs.js
+lib/firefox31/browser/chrome/browser/content/browser/preferences/tabs.xul
+lib/firefox31/browser/chrome/browser/content/browser/report-phishing-overlay.xul
+lib/firefox31/browser/chrome/browser/content/browser/safeMode.css
+lib/firefox31/browser/chrome/browser/content/browser/safeMode.js
+lib/firefox31/browser/chrome/browser/content/browser/safeMode.xul
+lib/firefox31/browser/chrome/browser/content/browser/sanitize.js
+lib/firefox31/browser/chrome/browser/content/browser/sanitize.xul
+lib/firefox31/browser/chrome/browser/content/browser/sanitizeDialog.css
+lib/firefox31/browser/chrome/browser/content/browser/sanitizeDialog.js
+lib/firefox31/browser/chrome/browser/content/browser/search/engineManager.js
+lib/firefox31/browser/chrome/browser/content/browser/search/engineManager.xul
+lib/firefox31/browser/chrome/browser/content/browser/search/search.xml
+lib/firefox31/browser/chrome/browser/content/browser/search/searchbarBindings.css
+lib/firefox31/browser/chrome/browser/content/browser/setDesktopBackground.js
+lib/firefox31/browser/chrome/browser/content/browser/setDesktopBackground.xul
+lib/firefox31/browser/chrome/browser/content/browser/socialchat.xml
+lib/firefox31/browser/chrome/browser/content/browser/socialmarks.xml
+lib/firefox31/browser/chrome/browser/content/browser/sync/aboutSyncTabs-bindings.xml
+lib/firefox31/browser/chrome/browser/content/browser/sync/aboutSyncTabs.css
+lib/firefox31/browser/chrome/browser/content/browser/sync/aboutSyncTabs.js
+lib/firefox31/browser/chrome/browser/content/browser/sync/aboutSyncTabs.xul
+lib/firefox31/browser/chrome/browser/content/browser/sync/addDevice.js
+lib/firefox31/browser/chrome/browser/content/browser/sync/addDevice.xul
+lib/firefox31/browser/chrome/browser/content/browser/sync/customize.css
+lib/firefox31/browser/chrome/browser/content/browser/sync/customize.js
+lib/firefox31/browser/chrome/browser/content/browser/sync/customize.xul
+lib/firefox31/browser/chrome/browser/content/browser/sync/genericChange.js
+lib/firefox31/browser/chrome/browser/content/browser/sync/genericChange.xul
+lib/firefox31/browser/chrome/browser/content/browser/sync/key.xhtml
+lib/firefox31/browser/chrome/browser/content/browser/sync/notification.xml
+lib/firefox31/browser/chrome/browser/content/browser/sync/progress.js
+lib/firefox31/browser/chrome/browser/content/browser/sync/progress.xhtml
+lib/firefox31/browser/chrome/browser/content/browser/sync/quota.js
+lib/firefox31/browser/chrome/browser/content/browser/sync/quota.xul
+lib/firefox31/browser/chrome/browser/content/browser/sync/setup.js
+lib/firefox31/browser/chrome/browser/content/browser/sync/setup.xul
+lib/firefox31/browser/chrome/browser/content/browser/sync/utils.js
+lib/firefox31/browser/chrome/browser/content/browser/tabbrowser.css
+lib/firefox31/browser/chrome/browser/content/browser/tabbrowser.xml
+lib/firefox31/browser/chrome/browser/content/browser/tabview-content.js
+lib/firefox31/browser/chrome/browser/content/browser/tabview.css
+lib/firefox31/browser/chrome/browser/content/browser/tabview.html
+lib/firefox31/browser/chrome/browser/content/browser/tabview.js
+lib/firefox31/browser/chrome/browser/content/browser/urlbarBindings.xml
+lib/firefox31/browser/chrome/browser/content/browser/utilityOverlay.js
+lib/firefox31/browser/chrome/browser/content/browser/viewSourceOverlay.xul
+lib/firefox31/browser/chrome/browser/content/browser/web-panels.js
+lib/firefox31/browser/chrome/browser/content/browser/web-panels.xul
+lib/firefox31/browser/chrome/browser/skin/classic/browser/Geolocation-16.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/Geolocation-64.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/Info.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/Privacy-16.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/Privacy-48.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/Secure.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/Security-broken.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/Toolbar-inverted.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/Toolbar-small.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/Toolbar.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/aboutCertError.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/aboutCertError_sectionCollapsed-rtl.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/aboutCertError_sectionCollapsed.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/aboutCertError_sectionExpanded.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/aboutPrivateBrowsing.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/aboutSessionRestore-window-icon.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/aboutSessionRestore.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/aboutSocialError.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/aboutSyncTabs.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/aboutTabCrashed.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/aboutWelcomeBack.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/actionicon-tab.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/browser-lightweightTheme.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/browser.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/click-to-play-warning-stripes.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/customizableui/background-noise-toolbar.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/customizableui/customize-illustration-rtl.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/customizableui/customize-illustration.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/customizableui/customizeFavicon.ico
+lib/firefox31/browser/chrome/browser/skin/classic/browser/customizableui/customizeMode-gridTexture.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/customizableui/customizeMode-separatorHorizontal.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/customizableui/customizeMode-separatorVertical.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/customizableui/info-icon-customizeTip.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/customizableui/menuPanel-customizeFinish.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/customizableui/panelUIOverlay.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/customizableui/panelarrow-customizeTip.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/customizableui/subView-arrow-back-inverted-rtl.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/customizableui/subView-arrow-back-inverted.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/customizableui/whimsy-bw.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/customizableui/whimsy-bw@2x.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/customizableui/whimsy.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/customizableui/whimsy@2x.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/alerticon-warning.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/app-manager/add.svg
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/app-manager/connection-footer.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/app-manager/default-app-icon.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/app-manager/device.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/app-manager/error.svg
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/app-manager/help.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/app-manager/index-icons.svg
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/app-manager/index.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/app-manager/noise.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/app-manager/plus.svg
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/app-manager/projects.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/app-manager/remove.svg
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/app-manager/rocket.svg
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/app-manager/warning.svg
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/arrow-e.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/background-noise-toolbar.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/breadcrumbs-divider@2x.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/breadcrumbs-scrollbutton.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/breadcrumbs-scrollbutton@2x.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/canvasdebugger.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/close.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/close@2x.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/command-console.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/command-console@2x.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/command-eyedropper.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/command-eyedropper@2x.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/command-paintflashing.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/command-paintflashing@2x.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/command-pick.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/command-pick@2x.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/command-responsivemode.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/command-responsivemode@2x.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/command-scratchpad.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/command-scratchpad@2x.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/command-tilt.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/command-tilt@2x.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/commandline-icon.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/commandline.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/common.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/computedview.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/controls.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/controls@2x.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/dark-theme.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/debugger-blackbox-eye.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/debugger-blackbox.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/debugger-collapse.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/debugger-expand.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/debugger-pause.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/debugger-play.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/debugger-step-in.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/debugger-step-out.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/debugger-step-over.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/debugger-toggleBreakpoints.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/debugger.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/dock-bottom@2x.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/dock-side@2x.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/dropmarker.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/editor-breakpoint.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/editor-debug-location.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/editor-error.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/eyedropper.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/filters.svg
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/floating-scrollbars-light.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/floating-scrollbars.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/font-inspector.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/inspector.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/itemArrow-dark-ltr.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/itemArrow-dark-rtl.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/itemArrow-ltr.svg
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/itemArrow-rtl.svg
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/itemToggle-light.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/itemToggle.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/layoutview.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/light-theme.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/magnifying-glass-light.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/magnifying-glass-light@2x.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/magnifying-glass.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/magnifying-glass@2x.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/markup-view.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/netmonitor.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/noise.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/profiler-stopwatch.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/profiler.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/responsive-background.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/responsive-horizontal-resizer.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/responsive-se-resizer.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/responsive-vertical-resizer.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/responsiveui-rotate.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/responsiveui-screenshot.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/responsiveui-touch.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/ruleview.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/scratchpad.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/shadereditor.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/splitview.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/styleeditor.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/toggle-tools.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/tool-debugger-paused.svg
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/tool-debugger.svg
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/tool-inspector.svg
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/tool-network.svg
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/tool-options.svg
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/tool-profiler.svg
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/tool-scratchpad.svg
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/tool-styleeditor.svg
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/tool-webconsole.svg
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/tooltip/arrow-horizontal-dark.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/tooltip/arrow-horizontal-dark@2x.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/tooltip/arrow-horizontal-light.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/tooltip/arrow-horizontal-light@2x.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/tooltip/arrow-vertical-dark.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/tooltip/arrow-vertical-dark@2x.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/tooltip/arrow-vertical-light.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/tooltip/arrow-vertical-light@2x.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/tracer-icon.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/tracer-icon@2x.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/undock@2x.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/vview-delete.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/vview-edit.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/vview-lock.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/vview-open-inspector.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/webaudioeditor.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/webconsole.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/webconsole.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/webconsole_networkpanel.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/devtools/widgets.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/downloads/allDownloadsViewOverlay.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/downloads/buttons.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/downloads/contentAreaDownloadsView.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/downloads/download-glow-menuPanel.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/downloads/download-glow.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/downloads/download-notification-finish.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/downloads/download-notification-start.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/downloads/download-summary.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/downloads/downloads.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/engineManager.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/feeds/audioFeedIcon.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/feeds/audioFeedIcon16.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/feeds/feedIcon.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/feeds/feedIcon16.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/feeds/subscribe-ui.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/feeds/subscribe.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/feeds/videoFeedIcon.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/feeds/videoFeedIcon16.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/fullscreen-darknoise.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/identity-icons-generic.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/identity-icons-https-ev.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/identity-icons-https-mixed-active.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/identity-icons-https-mixed-display.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/identity-icons-https.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/identity.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/menuPanel-customize.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/menuPanel-exit.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/menuPanel-help.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/menuPanel-small.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/menuPanel.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/mixed-content-blocked-16.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/mixed-content-blocked-64.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/monitor.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/monitor_16-10.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/newtab/controls.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/newtab/newTab.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/notification-16.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/notification-64.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/notification-pluginAlert.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/notification-pluginBlocked.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/notification-pluginNormal.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/page-livemarks.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/pageInfo.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/pageInfo.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/places/bookmarks-menu-arrow.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/places/bookmarks-notification-finish.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/places/bookmarksMenu.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/places/bookmarksToolbar-menuPanel.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/places/bookmarksToolbar.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/places/calendar.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/places/downloads.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/places/editBookmarkOverlay.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/places/livemark-item.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/places/organizer.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/places/organizer.xml
+lib/firefox31/browser/chrome/browser/skin/classic/browser/places/places.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/places/query.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/places/star-icons.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/places/starred48.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/places/tag.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/places/toolbarDropMarker.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/places/unsortedBookmarks.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/places/unstarred48.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/pluginInstall-16.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/pluginInstall-64.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/pointerLock-16.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/pointerLock-64.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/preferences/Options-sync.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/preferences/Options.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/preferences/aboutPermissions.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/preferences/alwaysAsk.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/preferences/applications.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/preferences/in-content/check.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/preferences/in-content/check@2x.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/preferences/in-content/dropdown-disabled.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/preferences/in-content/dropdown-disabled@2x.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/preferences/in-content/dropdown.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/preferences/in-content/dropdown@2x.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/preferences/in-content/header.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/preferences/in-content/header@2x.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/preferences/in-content/icons.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/preferences/in-content/icons@2x.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/preferences/in-content/preferences.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/preferences/in-content/sorter.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/preferences/in-content/sorter@2x.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/preferences/mail.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/preferences/preferences.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/privatebrowsing-mask.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/reload-stop-go.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/sanitizeDialog.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/searchbar.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/setDesktopBackground.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/slowStartup-16.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/social/chat-icons.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/social/gear_clicked.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/social/gear_default.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/social/services-16.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/social/services-64.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/social/share-button-active.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/social/share-button.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/sync-128.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/sync-16.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/sync-32.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/sync-bg.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/sync-desktopIcon.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/sync-horizontalbar.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/sync-mobileIcon.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/sync-notification-24.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/syncCommon.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/syncProgress-horizontalbar.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/syncProgress-menuPanel.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/syncProgress-toolbar-inverted.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/syncProgress-toolbar.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/syncProgress.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/syncQuota.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/syncSetup.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/tabbrowser/connecting.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/tabbrowser/loading.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-active-middle.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-background-end.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-background-middle.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-background-start.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-overflow-border.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-selected-end.svg
+lib/firefox31/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-selected-start.svg
+lib/firefox31/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-separator.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-stroke-end.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-stroke-start.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/tabbrowser/tab.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/tabbrowser/tabDragIndicator.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/tabview/edit-light.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/tabview/search.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/tabview/stack-expander.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/tabview/tabview.css
+lib/firefox31/browser/chrome/browser/skin/classic/browser/tabview/tabview.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/translation-16.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/urlbar-arrow.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/webRTC-shareDevice-16.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/webRTC-shareDevice-64.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/webRTC-shareMicrophone-16.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/webRTC-shareMicrophone-64.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/webRTC-sharingDevice-16.png
+lib/firefox31/browser/chrome/browser/skin/classic/browser/webRTC-sharingMicrophone-16.png
+lib/firefox31/browser/chrome/browser/skin/classic/communicator/communicator.css
+lib/firefox31/browser/chrome/chrome.manifest
+lib/firefox31/browser/chrome/en-US/locale/branding/brand.dtd
+lib/firefox31/browser/chrome/en-US/locale/branding/brand.properties
+lib/firefox31/browser/chrome/en-US/locale/branding/browserconfig.properties
+lib/firefox31/browser/chrome/en-US/locale/browser-region/region.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/aboutAccounts.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/aboutCertError.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/aboutDialog.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/aboutHealthReport.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/aboutHome.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/aboutPrivateBrowsing.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/aboutRobots.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/aboutSessionRestore.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/aboutSyncTabs.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/appstrings.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/baseMenuOverlay.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/browser.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/browser.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/customizableui/customizableWidgets.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/VariablesView.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/app-manager.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/app-manager.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/appcacheutils.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/canvasdebugger.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/canvasdebugger.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/connection-screen.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/connection-screen.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/debugger.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/debugger.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/eyedropper.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/font-inspector.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/gcli.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/gclicommands.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/inspector.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/inspector.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/layoutview.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/netmonitor.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/netmonitor.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/profiler.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/profiler.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/responsiveUI.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/scratchpad.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/scratchpad.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/shadereditor.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/shadereditor.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/sourceeditor.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/sourceeditor.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/styleeditor.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/styleeditor.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/styleinspector.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/tilt.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/toolbox.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/toolbox.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/webConsole.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/webaudioeditor.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/webaudioeditor.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/devtools/webconsole.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/downloads/downloads.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/downloads/downloads.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/downloads/settingsChange.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/engineManager.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/engineManager.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/feeds/subscribe.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/feeds/subscribe.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/migration/migration.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/migration/migration.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/netError.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/newTab.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/newTab.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/pageInfo.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/pageInfo.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/places/bookmarkProperties.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/places/editBookmarkOverlay.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/places/moveBookmarks.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/places/places.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/places/places.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/preferences/aboutPermissions.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/preferences/aboutPermissions.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/preferences/advanced.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/preferences/applicationManager.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/preferences/applicationManager.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/preferences/applications.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/preferences/colors.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/preferences/connection.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/preferences/content.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/preferences/cookies.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/preferences/fonts.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/preferences/languages.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/preferences/main.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/preferences/permissions.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/preferences/preferences.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/preferences/preferences.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/preferences/privacy.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/preferences/security.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/preferences/selectBookmark.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/preferences/sync.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/preferences/tabs.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/quitDialog.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/safeMode.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/safebrowsing/phishing-afterload-warning-message.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/safebrowsing/report-phishing.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/sanitize.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/search.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/searchbar.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/setDesktopBackground.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/shellservice.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/sitePermissions.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/syncBrand.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/syncCustomize.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/syncGenericChange.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/syncKey.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/syncProgress.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/syncQuota.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/syncQuota.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/syncSetup.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/syncSetup.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/tabbrowser.dtd
+lib/firefox31/browser/chrome/en-US/locale/browser/tabbrowser.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/tabview.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/taskbar.properties
+lib/firefox31/browser/chrome/en-US/locale/browser/translation.dtd
+lib/firefox31/browser/chrome/en-US/locale/pdfviewer/chrome.properties
+lib/firefox31/browser/chrome/en-US/locale/pdfviewer/viewer.properties
+lib/firefox31/browser/chrome/icons/default/default16.png
+lib/firefox31/browser/chrome/icons/default/default32.png
+lib/firefox31/browser/chrome/icons/default/default48.png
+lib/firefox31/browser/chrome/pdfjs/LICENSE
+lib/firefox31/browser/chrome/pdfjs/README.mozilla
+lib/firefox31/browser/chrome/pdfjs/content/PdfJs.jsm
+lib/firefox31/browser/chrome/pdfjs/content/PdfJsTelemetry.jsm
+lib/firefox31/browser/chrome/pdfjs/content/PdfRedirector.jsm
+lib/firefox31/browser/chrome/pdfjs/content/PdfStreamConverter.jsm
+lib/firefox31/browser/chrome/pdfjs/content/build/pdf.js
+lib/firefox31/browser/chrome/pdfjs/content/build/pdf.worker.js
+lib/firefox31/browser/chrome/pdfjs/content/network.js
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/78-EUC-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/78-EUC-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/78-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/78-RKSJ-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/78-RKSJ-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/78-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/78ms-RKSJ-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/78ms-RKSJ-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/83pv-RKSJ-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/90ms-RKSJ-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/90ms-RKSJ-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/90msp-RKSJ-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/90msp-RKSJ-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/90pv-RKSJ-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/90pv-RKSJ-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Add-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Add-RKSJ-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Add-RKSJ-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Add-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Adobe-CNS1-0.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Adobe-CNS1-1.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Adobe-CNS1-2.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Adobe-CNS1-3.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Adobe-CNS1-4.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Adobe-CNS1-5.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Adobe-CNS1-6.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Adobe-CNS1-UCS2.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Adobe-GB1-0.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Adobe-GB1-1.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Adobe-GB1-2.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Adobe-GB1-3.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Adobe-GB1-4.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Adobe-GB1-5.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Adobe-GB1-UCS2.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Adobe-Japan1-0.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Adobe-Japan1-1.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Adobe-Japan1-2.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Adobe-Japan1-3.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Adobe-Japan1-4.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Adobe-Japan1-5.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Adobe-Japan1-6.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Adobe-Japan1-UCS2.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Adobe-Korea1-0.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Adobe-Korea1-1.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Adobe-Korea1-2.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Adobe-Korea1-UCS2.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/B5-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/B5-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/B5pc-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/B5pc-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/CNS-EUC-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/CNS-EUC-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/CNS1-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/CNS1-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/CNS2-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/CNS2-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/ETHK-B5-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/ETHK-B5-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/ETen-B5-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/ETen-B5-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/ETenms-B5-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/ETenms-B5-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/EUC-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/EUC-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Ext-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Ext-RKSJ-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Ext-RKSJ-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Ext-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/GB-EUC-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/GB-EUC-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/GB-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/GB-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/GBK-EUC-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/GBK-EUC-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/GBK2K-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/GBK2K-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/GBKp-EUC-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/GBKp-EUC-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/GBT-EUC-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/GBT-EUC-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/GBT-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/GBT-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/GBTpc-EUC-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/GBTpc-EUC-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/GBpc-EUC-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/GBpc-EUC-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/HKdla-B5-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/HKdla-B5-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/HKdlb-B5-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/HKdlb-B5-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/HKgccs-B5-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/HKgccs-B5-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/HKm314-B5-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/HKm314-B5-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/HKm471-B5-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/HKm471-B5-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/HKscs-B5-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/HKscs-B5-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Hankaku.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Hiragana.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/KSC-EUC-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/KSC-EUC-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/KSC-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/KSC-Johab-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/KSC-Johab-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/KSC-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/KSCms-UHC-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/KSCms-UHC-HW-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/KSCms-UHC-HW-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/KSCms-UHC-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/KSCpc-EUC-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/KSCpc-EUC-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Katakana.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/LICENSE
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/NWP-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/NWP-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/RKSJ-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/RKSJ-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/Roman.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniCNS-UCS2-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniCNS-UCS2-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniCNS-UTF16-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniCNS-UTF16-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniCNS-UTF32-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniCNS-UTF32-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniCNS-UTF8-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniCNS-UTF8-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniGB-UCS2-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniGB-UCS2-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniGB-UTF16-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniGB-UTF16-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniGB-UTF32-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniGB-UTF32-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniGB-UTF8-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniGB-UTF8-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniJIS-UCS2-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniJIS-UCS2-HW-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniJIS-UCS2-HW-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniJIS-UCS2-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniJIS-UTF16-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniJIS-UTF16-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniJIS-UTF32-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniJIS-UTF32-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniJIS-UTF8-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniJIS-UTF8-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniJIS2004-UTF16-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniJIS2004-UTF16-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniJIS2004-UTF32-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniJIS2004-UTF32-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniJIS2004-UTF8-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniJIS2004-UTF8-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniJISPro-UCS2-HW-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniJISPro-UCS2-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniJISPro-UTF8-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniJISX0213-UTF32-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniJISX0213-UTF32-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniJISX02132004-UTF32-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniJISX02132004-UTF32-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniKS-UCS2-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniKS-UCS2-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniKS-UTF16-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniKS-UTF16-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniKS-UTF32-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniKS-UTF32-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniKS-UTF8-H.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/UniKS-UTF8-V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/V.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/cmaps/WP-Symbol.bcmap
+lib/firefox31/browser/chrome/pdfjs/content/web/debugger.js
+lib/firefox31/browser/chrome/pdfjs/content/web/images/annotation-check.svg
+lib/firefox31/browser/chrome/pdfjs/content/web/images/annotation-comment.svg
+lib/firefox31/browser/chrome/pdfjs/content/web/images/annotation-help.svg
+lib/firefox31/browser/chrome/pdfjs/content/web/images/annotation-insert.svg
+lib/firefox31/browser/chrome/pdfjs/content/web/images/annotation-key.svg
+lib/firefox31/browser/chrome/pdfjs/content/web/images/annotation-newparagraph.svg
+lib/firefox31/browser/chrome/pdfjs/content/web/images/annotation-noicon.svg
+lib/firefox31/browser/chrome/pdfjs/content/web/images/annotation-note.svg
+lib/firefox31/browser/chrome/pdfjs/content/web/images/annotation-paragraph.svg
+lib/firefox31/browser/chrome/pdfjs/content/web/images/findbarButton-next-rtl.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/findbarButton-next-rtl@2x.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/findbarButton-next.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/findbarButton-next@2x.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/findbarButton-previous-rtl.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/findbarButton-previous-rtl@2x.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/findbarButton-previous.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/findbarButton-previous@2x.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/grab.cur
+lib/firefox31/browser/chrome/pdfjs/content/web/images/grabbing.cur
+lib/firefox31/browser/chrome/pdfjs/content/web/images/loading-icon.gif
+lib/firefox31/browser/chrome/pdfjs/content/web/images/loading-small.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-documentProperties.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-documentProperties@2x.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-firstPage.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-firstPage@2x.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-handTool.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-handTool@2x.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-lastPage.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-lastPage@2x.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-rotateCcw.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-rotateCcw@2x.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-rotateCw.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-rotateCw@2x.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/shadow.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/texture.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-bookmark.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-bookmark@2x.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-download.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-download@2x.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-menuArrows.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-menuArrows@2x.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-openFile.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-openFile@2x.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-pageDown-rtl.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-pageDown-rtl@2x.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-pageDown.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-pageDown@2x.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-pageUp-rtl.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-pageUp-rtl@2x.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-pageUp.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-pageUp@2x.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-presentationMode.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-presentationMode@2x.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-print.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-print@2x.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-search.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-search@2x.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-secondaryToolbarToggle-rtl.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-secondaryToolbarToggle-rtl@2x.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-secondaryToolbarToggle.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-secondaryToolbarToggle@2x.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-sidebarToggle-rtl.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-sidebarToggle-rtl@2x.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-sidebarToggle.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-sidebarToggle@2x.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-viewAttachments.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-viewAttachments@2x.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-viewOutline-rtl.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-viewOutline-rtl@2x.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-viewOutline.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-viewOutline@2x.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-viewThumbnail.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-viewThumbnail@2x.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-zoomIn.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-zoomIn@2x.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-zoomOut.png
+lib/firefox31/browser/chrome/pdfjs/content/web/images/toolbarButton-zoomOut@2x.png
+lib/firefox31/browser/chrome/pdfjs/content/web/l10n.js
+lib/firefox31/browser/chrome/pdfjs/content/web/viewer.css
+lib/firefox31/browser/chrome/pdfjs/content/web/viewer.html
+lib/firefox31/browser/chrome/pdfjs/content/web/viewer.js
+lib/firefox31/browser/chrome/pdfjs/pdfjs.manifest
+lib/firefox31/browser/components/ChromeProfileMigrator.js
+lib/firefox31/browser/components/DownloadsStartup.js
+lib/firefox31/browser/components/DownloadsUI.js
+lib/firefox31/browser/components/ExperimentsService.js
+lib/firefox31/browser/components/FeedConverter.js
+lib/firefox31/browser/components/FeedWriter.js
+lib/firefox31/browser/components/FirefoxProfileMigrator.js
+lib/firefox31/browser/components/PlacesProtocolHandler.js
+lib/firefox31/browser/components/ProfileMigrator.js
+lib/firefox31/browser/components/WebContentConverter.js
+lib/firefox31/browser/components/components.manifest
+lib/firefox31/browser/components/devtools-clhandler.js
+lib/firefox31/browser/components/fuelApplication.js
+lib/firefox31/browser/components/interfaces.xpt
+lib/firefox31/browser/components/libbrowsercomps.so
+lib/firefox31/browser/components/nsBrowserContentHandler.js
+lib/firefox31/browser/components/nsBrowserGlue.js
+lib/firefox31/browser/components/nsSessionStartup.js
+lib/firefox31/browser/components/nsSessionStore.js
+lib/firefox31/browser/components/nsSetDefaultBrowser.js
+lib/firefox31/browser/components/nsSidebar.js
+lib/firefox31/browser/defaults/preferences/firefox-branding.js
+lib/firefox31/browser/defaults/preferences/firefox-l10n.js
+lib/firefox31/browser/defaults/preferences/firefox.js
+lib/firefox31/browser/defaults/profile/bookmarks.html
+lib/firefox31/browser/defaults/profile/chrome/userChrome-example.css
+lib/firefox31/browser/defaults/profile/chrome/userContent-example.css
+lib/firefox31/browser/defaults/profile/localstore.rdf
+lib/firefox31/browser/defaults/profile/mimeTypes.rdf
+lib/firefox31/browser/defaults/profile/prefs.js
+lib/firefox31/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/icon.png
+lib/firefox31/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf
+lib/firefox31/browser/icons/mozicon128.png
+lib/firefox31/browser/modules/AboutHome.jsm
+lib/firefox31/browser/modules/BrowserNewTabPreloader.jsm
+lib/firefox31/browser/modules/BrowserUITelemetry.jsm
+lib/firefox31/browser/modules/ContentClick.jsm
+lib/firefox31/browser/modules/ContentLinkHandler.jsm
+lib/firefox31/browser/modules/ContentSearch.jsm
+lib/firefox31/browser/modules/CustomizableUI.jsm
+lib/firefox31/browser/modules/CustomizableWidgets.jsm
+lib/firefox31/browser/modules/CustomizationTabPreloader.jsm
+lib/firefox31/browser/modules/CustomizeMode.jsm
+lib/firefox31/browser/modules/DownloadsCommon.jsm
+lib/firefox31/browser/modules/DownloadsLogger.jsm
+lib/firefox31/browser/modules/DownloadsTaskbar.jsm
+lib/firefox31/browser/modules/DragPositionManager.jsm
+lib/firefox31/browser/modules/Feeds.jsm
+lib/firefox31/browser/modules/MigrationUtils.jsm
+lib/firefox31/browser/modules/NetworkPrioritizer.jsm
+lib/firefox31/browser/modules/PanelWideWidgetTracker.jsm
+lib/firefox31/browser/modules/PlacesUIUtils.jsm
+lib/firefox31/browser/modules/RecentWindow.jsm
+lib/firefox31/browser/modules/RemotePrompt.jsm
+lib/firefox31/browser/modules/ScrollbarSampler.jsm
+lib/firefox31/browser/modules/SharedFrame.jsm
+lib/firefox31/browser/modules/SitePermissions.jsm
+lib/firefox31/browser/modules/Social.jsm
+lib/firefox31/browser/modules/TabCrashReporter.jsm
+lib/firefox31/browser/modules/UITour.jsm
+lib/firefox31/browser/modules/WebappManager.jsm
+lib/firefox31/browser/modules/devtools/AppCacheUtils.jsm
+lib/firefox31/browser/modules/devtools/BreadcrumbsWidget.jsm
+lib/firefox31/browser/modules/devtools/Chart.jsm
+lib/firefox31/browser/modules/devtools/Curl.jsm
+lib/firefox31/browser/modules/devtools/DOMHelpers.jsm
+lib/firefox31/browser/modules/devtools/DeveloperToolbar.jsm
+lib/firefox31/browser/modules/devtools/FloatingScrollbars.jsm
+lib/firefox31/browser/modules/devtools/Jsbeautify.jsm
+lib/firefox31/browser/modules/devtools/Parser.jsm
+lib/firefox31/browser/modules/devtools/SideMenuWidget.jsm
+lib/firefox31/browser/modules/devtools/SimpleListWidget.jsm
+lib/firefox31/browser/modules/devtools/SplitView.jsm
+lib/firefox31/browser/modules/devtools/StyleEditorUI.jsm
+lib/firefox31/browser/modules/devtools/StyleEditorUtil.jsm
+lib/firefox31/browser/modules/devtools/StyleSheetEditor.jsm
+lib/firefox31/browser/modules/devtools/ToolboxProcess.jsm
+lib/firefox31/browser/modules/devtools/VariablesView.jsm
+lib/firefox31/browser/modules/devtools/VariablesViewController.jsm
+lib/firefox31/browser/modules/devtools/ViewHelpers.jsm
+lib/firefox31/browser/modules/devtools/app-manager/app-projects.js
+lib/firefox31/browser/modules/devtools/app-manager/app-validator.js
+lib/firefox31/browser/modules/devtools/app-manager/builtin-adb-store.js
+lib/firefox31/browser/modules/devtools/app-manager/connection-store.js
+lib/firefox31/browser/modules/devtools/app-manager/device-store.js
+lib/firefox31/browser/modules/devtools/app-manager/simulators-store.js
+lib/firefox31/browser/modules/devtools/app-manager/webapps-store.js
+lib/firefox31/browser/modules/devtools/canvasdebugger/panel.js
+lib/firefox31/browser/modules/devtools/commandline/commands-index.js
+lib/firefox31/browser/modules/devtools/debugger/debugger-commands.js
+lib/firefox31/browser/modules/devtools/debugger/panel.js
+lib/firefox31/browser/modules/devtools/eyedropper/commands.js
+lib/firefox31/browser/modules/devtools/eyedropper/eyedropper.js
+lib/firefox31/browser/modules/devtools/framework/selection.js
+lib/firefox31/browser/modules/devtools/framework/sidebar.js
+lib/firefox31/browser/modules/devtools/framework/target.js
+lib/firefox31/browser/modules/devtools/framework/toolbox-hosts.js
+lib/firefox31/browser/modules/devtools/framework/toolbox-options.js
+lib/firefox31/browser/modules/devtools/framework/toolbox-process-window.js
+lib/firefox31/browser/modules/devtools/framework/toolbox.js
+lib/firefox31/browser/modules/devtools/gDevTools.jsm
+lib/firefox31/browser/modules/devtools/inspector/breadcrumbs.js
+lib/firefox31/browser/modules/devtools/inspector/inspector-commands.js
+lib/firefox31/browser/modules/devtools/inspector/inspector-panel.js
+lib/firefox31/browser/modules/devtools/inspector/selector-search.js
+lib/firefox31/browser/modules/devtools/main.js
+lib/firefox31/browser/modules/devtools/markupview/html-editor.js
+lib/firefox31/browser/modules/devtools/markupview/markup-view.js
+lib/firefox31/browser/modules/devtools/netmonitor/panel.js
+lib/firefox31/browser/modules/devtools/profiler/cleopatra.js
+lib/firefox31/browser/modules/devtools/profiler/commands.js
+lib/firefox31/browser/modules/devtools/profiler/consts.js
+lib/firefox31/browser/modules/devtools/profiler/controller.js
+lib/firefox31/browser/modules/devtools/profiler/panel.js
+lib/firefox31/browser/modules/devtools/profiler/sidebar.js
+lib/firefox31/browser/modules/devtools/resize-commands.js
+lib/firefox31/browser/modules/devtools/responsivedesign.jsm
+lib/firefox31/browser/modules/devtools/scratchpad-manager.jsm
+lib/firefox31/browser/modules/devtools/scratchpad/scratchpad-commands.js
+lib/firefox31/browser/modules/devtools/scratchpad/scratchpad-panel.js
+lib/firefox31/browser/modules/devtools/shadereditor/panel.js
+lib/firefox31/browser/modules/devtools/shared/autocomplete-popup.js
+lib/firefox31/browser/modules/devtools/shared/inplace-editor.js
+lib/firefox31/browser/modules/devtools/shared/observable-object.js
+lib/firefox31/browser/modules/devtools/shared/telemetry.js
+lib/firefox31/browser/modules/devtools/shared/theme-switching.js
+lib/firefox31/browser/modules/devtools/shared/undo.js
+lib/firefox31/browser/modules/devtools/shared/widgets/CSSTransformPreviewer.js
+lib/firefox31/browser/modules/devtools/shared/widgets/FastListWidget.js
+lib/firefox31/browser/modules/devtools/shared/widgets/Spectrum.js
+lib/firefox31/browser/modules/devtools/shared/widgets/Tooltip.js
+lib/firefox31/browser/modules/devtools/sourceeditor/autocomplete.js
+lib/firefox31/browser/modules/devtools/sourceeditor/css-autocompleter.js
+lib/firefox31/browser/modules/devtools/sourceeditor/css-tokenizer.js
+lib/firefox31/browser/modules/devtools/sourceeditor/debugger.js
+lib/firefox31/browser/modules/devtools/sourceeditor/editor.js
+lib/firefox31/browser/modules/devtools/styleeditor/styleeditor-commands.js
+lib/firefox31/browser/modules/devtools/styleeditor/styleeditor-panel.js
+lib/firefox31/browser/modules/devtools/styleeditor/utils.js
+lib/firefox31/browser/modules/devtools/styleinspector/computed-view.js
+lib/firefox31/browser/modules/devtools/styleinspector/css-parsing-utils.js
+lib/firefox31/browser/modules/devtools/styleinspector/rule-view.js
+lib/firefox31/browser/modules/devtools/styleinspector/style-inspector.js
+lib/firefox31/browser/modules/devtools/tilt/TiltWorkerCrafter.js
+lib/firefox31/browser/modules/devtools/tilt/TiltWorkerPicker.js
+lib/firefox31/browser/modules/devtools/tilt/tilt-commands.js
+lib/firefox31/browser/modules/devtools/tilt/tilt-gl.js
+lib/firefox31/browser/modules/devtools/tilt/tilt-math.js
+lib/firefox31/browser/modules/devtools/tilt/tilt-utils.js
+lib/firefox31/browser/modules/devtools/tilt/tilt-visualizer-style.js
+lib/firefox31/browser/modules/devtools/tilt/tilt-visualizer.js
+lib/firefox31/browser/modules/devtools/tilt/tilt.js
+lib/firefox31/browser/modules/devtools/webaudioeditor/panel.js
+lib/firefox31/browser/modules/devtools/webconsole/console-commands.js
+lib/firefox31/browser/modules/devtools/webconsole/console-output.js
+lib/firefox31/browser/modules/devtools/webconsole/hudservice.js
+lib/firefox31/browser/modules/devtools/webconsole/network-panel.js
+lib/firefox31/browser/modules/devtools/webconsole/panel.js
+lib/firefox31/browser/modules/devtools/webconsole/webconsole.js
+lib/firefox31/browser/modules/distribution.js
+lib/firefox31/browser/modules/experiments/Experiments.jsm
+lib/firefox31/browser/modules/offlineAppCache.jsm
+lib/firefox31/browser/modules/sessionstore/ContentRestore.jsm
+lib/firefox31/browser/modules/sessionstore/DocShellCapabilities.jsm
+lib/firefox31/browser/modules/sessionstore/FrameTree.jsm
+lib/firefox31/browser/modules/sessionstore/GlobalState.jsm
+lib/firefox31/browser/modules/sessionstore/PageStyle.jsm
+lib/firefox31/browser/modules/sessionstore/PrivacyFilter.jsm
+lib/firefox31/browser/modules/sessionstore/PrivacyLevel.jsm
+lib/firefox31/browser/modules/sessionstore/RecentlyClosedTabsAndWindowsMenuUtils.jsm
+lib/firefox31/browser/modules/sessionstore/SessionCookies.jsm
+lib/firefox31/browser/modules/sessionstore/SessionFile.jsm
+lib/firefox31/browser/modules/sessionstore/SessionHistory.jsm
+lib/firefox31/browser/modules/sessionstore/SessionMigration.jsm
+lib/firefox31/browser/modules/sessionstore/SessionSaver.jsm
+lib/firefox31/browser/modules/sessionstore/SessionStorage.jsm
+lib/firefox31/browser/modules/sessionstore/SessionStore.jsm
+lib/firefox31/browser/modules/sessionstore/SessionWorker.js
+lib/firefox31/browser/modules/sessionstore/TabAttributes.jsm
+lib/firefox31/browser/modules/sessionstore/TabState.jsm
+lib/firefox31/browser/modules/sessionstore/TabStateCache.jsm
+lib/firefox31/browser/modules/sessionstore/Utils.jsm
+lib/firefox31/browser/modules/tabview/utils.jsm
+lib/firefox31/browser/modules/webrtcUI.jsm
+lib/firefox31/browser/searchplugins/amazondotcom.xml
+lib/firefox31/browser/searchplugins/bing.xml
+lib/firefox31/browser/searchplugins/duckduckgo.xml
+lib/firefox31/browser/searchplugins/eBay.xml
+lib/firefox31/browser/searchplugins/google.xml
+lib/firefox31/browser/searchplugins/twitter.xml
+lib/firefox31/browser/searchplugins/wikipedia.xml
+lib/firefox31/browser/searchplugins/yahoo.xml
+lib/firefox31/chrome.manifest
+lib/firefox31/chrome/chrome.manifest
+lib/firefox31/chrome/en-US/locale/en-US/alerts/alert.dtd
+lib/firefox31/chrome/en-US/locale/en-US/alerts/notificationNames.properties
+lib/firefox31/chrome/en-US/locale/en-US/autoconfig/autoconfig.properties
+lib/firefox31/chrome/en-US/locale/en-US/cookie/cookieAcceptDialog.dtd
+lib/firefox31/chrome/en-US/locale/en-US/cookie/cookieAcceptDialog.properties
+lib/firefox31/chrome/en-US/locale/en-US/global-platform/mac/accessible.properties
+lib/firefox31/chrome/en-US/locale/en-US/global-platform/mac/intl.properties
+lib/firefox31/chrome/en-US/locale/en-US/global-platform/mac/platformKeys.properties
+lib/firefox31/chrome/en-US/locale/en-US/global-platform/unix/accessible.properties
+lib/firefox31/chrome/en-US/locale/en-US/global-platform/unix/intl.properties
+lib/firefox31/chrome/en-US/locale/en-US/global-platform/unix/platformKeys.properties
+lib/firefox31/chrome/en-US/locale/en-US/global-platform/win/accessible.properties
+lib/firefox31/chrome/en-US/locale/en-US/global-platform/win/intl.properties
+lib/firefox31/chrome/en-US/locale/en-US/global-platform/win/platformKeys.properties
+lib/firefox31/chrome/en-US/locale/en-US/global-region/region.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/AccessFu.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/about.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/aboutAbout.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/aboutNetworking.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/aboutRights.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/aboutSupport.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/aboutSupport.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/aboutTelemetry.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/aboutTelemetry.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/actions.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/appPicker.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/appstrings.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/brand.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/browser.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/charsetMenu.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/charsetMenu.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/charsetOverlay.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/charsetTitles.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/commonDialog.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/commonDialogs.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/config.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/config.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/console.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/console.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/contentAreaCommands.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/crashes.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/crashes.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/css.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/customizeCharset.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/customizeToolbar.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/customizeToolbar.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/dateFormat.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/datetimepicker.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/devtools/debugger.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/devtools/styleinspector.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/dialog.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/dialogOverlay.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/dom/dom.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/editMenuOverlay.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/filefield.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/filepicker.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/filepicker.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/findbar.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/findbar.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/finddialog.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/finddialog.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/global-strres.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/global.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/globalKeys.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/headsUpDisplay.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/intl.css
+lib/firefox31/chrome/en-US/locale/en-US/global/intl.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/keys.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/languageNames.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/layout/HtmlForm.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/layout/MediaDocument.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/layout/htmlparser.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/layout/xmlparser.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/layout_errors.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/mathml/mathml.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/mozilla.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/netError.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/netErrorApp.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/notification.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/nsWebBrowserPersist.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/plugins.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/preferences.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/printPageSetup.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/printPreview.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/printPreviewProgress.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/printProgress.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/printdialog.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/printdialog.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/printing.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/printjoboptions.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/regionNames.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/resetProfile.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/resetProfile.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/search/search.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/security/caps.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/security/csp.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/security/security.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/svg/svg.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/textcontext.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/tree.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/videocontrols.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/viewSource.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/viewSource.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/webapps.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/wizard.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/wizard.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/xbl.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/xml/prettyprint.dtd
+lib/firefox31/chrome/en-US/locale/en-US/global/xpinstall/xpinstall.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/xslt/xslt.properties
+lib/firefox31/chrome/en-US/locale/en-US/global/xul.properties
+lib/firefox31/chrome/en-US/locale/en-US/mozapps/downloads/downloads.dtd
+lib/firefox31/chrome/en-US/locale/en-US/mozapps/downloads/downloads.properties
+lib/firefox31/chrome/en-US/locale/en-US/mozapps/downloads/settingsChange.dtd
+lib/firefox31/chrome/en-US/locale/en-US/mozapps/downloads/unknownContentType.dtd
+lib/firefox31/chrome/en-US/locale/en-US/mozapps/downloads/unknownContentType.properties
+lib/firefox31/chrome/en-US/locale/en-US/mozapps/extensions/about.dtd
+lib/firefox31/chrome/en-US/locale/en-US/mozapps/extensions/blocklist.dtd
+lib/firefox31/chrome/en-US/locale/en-US/mozapps/extensions/extensions.dtd
+lib/firefox31/chrome/en-US/locale/en-US/mozapps/extensions/extensions.properties
+lib/firefox31/chrome/en-US/locale/en-US/mozapps/extensions/newaddon.dtd
+lib/firefox31/chrome/en-US/locale/en-US/mozapps/extensions/newaddon.properties
+lib/firefox31/chrome/en-US/locale/en-US/mozapps/extensions/selectAddons.dtd
+lib/firefox31/chrome/en-US/locale/en-US/mozapps/extensions/selectAddons.properties
+lib/firefox31/chrome/en-US/locale/en-US/mozapps/extensions/update.dtd
+lib/firefox31/chrome/en-US/locale/en-US/mozapps/extensions/update.properties
+lib/firefox31/chrome/en-US/locale/en-US/mozapps/handling/handling.dtd
+lib/firefox31/chrome/en-US/locale/en-US/mozapps/handling/handling.properties
+lib/firefox31/chrome/en-US/locale/en-US/mozapps/plugins/plugins.dtd
+lib/firefox31/chrome/en-US/locale/en-US/mozapps/plugins/plugins.properties
+lib/firefox31/chrome/en-US/locale/en-US/mozapps/preferences/changemp.dtd
+lib/firefox31/chrome/en-US/locale/en-US/mozapps/preferences/ocsp.dtd
+lib/firefox31/chrome/en-US/locale/en-US/mozapps/preferences/preferences.properties
+lib/firefox31/chrome/en-US/locale/en-US/mozapps/preferences/removemp.dtd
+lib/firefox31/chrome/en-US/locale/en-US/mozapps/profile/createProfileWizard.dtd
+lib/firefox31/chrome/en-US/locale/en-US/mozapps/profile/profileSelection.dtd
+lib/firefox31/chrome/en-US/locale/en-US/mozapps/profile/profileSelection.properties
+lib/firefox31/chrome/en-US/locale/en-US/mozapps/update/history.dtd
+lib/firefox31/chrome/en-US/locale/en-US/mozapps/update/updates.dtd
+lib/firefox31/chrome/en-US/locale/en-US/mozapps/update/updates.properties
+lib/firefox31/chrome/en-US/locale/en-US/mozapps/xpinstall/xpinstallConfirm.dtd
+lib/firefox31/chrome/en-US/locale/en-US/mozapps/xpinstall/xpinstallConfirm.properties
+lib/firefox31/chrome/en-US/locale/en-US/necko/necko.properties
+lib/firefox31/chrome/en-US/locale/en-US/passwordmgr/passwordManager.dtd
+lib/firefox31/chrome/en-US/locale/en-US/passwordmgr/passwordmgr.properties
+lib/firefox31/chrome/en-US/locale/en-US/pipnss/nsserrors.properties
+lib/firefox31/chrome/en-US/locale/en-US/pipnss/pipnss.properties
+lib/firefox31/chrome/en-US/locale/en-US/pipnss/security.properties
+lib/firefox31/chrome/en-US/locale/en-US/pippki/certManager.dtd
+lib/firefox31/chrome/en-US/locale/en-US/pippki/deviceManager.dtd
+lib/firefox31/chrome/en-US/locale/en-US/pippki/pippki.dtd
+lib/firefox31/chrome/en-US/locale/en-US/pippki/pippki.properties
+lib/firefox31/chrome/en-US/locale/en-US/places/places.properties
+lib/firefox31/chrome/en-US/locale/en-US/services/errors.properties
+lib/firefox31/chrome/en-US/locale/en-US/services/sync.properties
+lib/firefox31/chrome/marionette/content/ChromePowers.js
+lib/firefox31/chrome/marionette/content/ChromeUtils.js
+lib/firefox31/chrome/marionette/content/EventUtils.js
+lib/firefox31/chrome/marionette/content/MozillaLogger.js
+lib/firefox31/chrome/marionette/content/SpecialPowersObserver.js
+lib/firefox31/chrome/marionette/content/SpecialPowersObserverAPI.js
+lib/firefox31/chrome/marionette/content/atoms.js
+lib/firefox31/chrome/marionette/content/marionette-common.js
+lib/firefox31/chrome/marionette/content/marionette-elements.js
+lib/firefox31/chrome/marionette/content/marionette-frame-manager.js
+lib/firefox31/chrome/marionette/content/marionette-listener.js
+lib/firefox31/chrome/marionette/content/marionette-sendkeys.js
+lib/firefox31/chrome/marionette/content/marionette-server.js
+lib/firefox31/chrome/marionette/content/marionette-simpletest.js
+lib/firefox31/chrome/marionette/content/specialpowers.js
+lib/firefox31/chrome/marionette/content/specialpowersAPI.js
+lib/firefox31/chrome/marionette/modules/Assert.jsm
+lib/firefox31/chrome/marionette/modules/MockColorPicker.jsm
+lib/firefox31/chrome/marionette/modules/MockFilePicker.jsm
+lib/firefox31/chrome/marionette/modules/MockPermissionPrompt.jsm
+lib/firefox31/chrome/pippki/content/pippki/CAOverlay.xul
+lib/firefox31/chrome/pippki/content/pippki/MineOverlay.xul
+lib/firefox31/chrome/pippki/content/pippki/OrphanOverlay.xul
+lib/firefox31/chrome/pippki/content/pippki/OthersOverlay.xul
+lib/firefox31/chrome/pippki/content/pippki/WebSitesOverlay.xul
+lib/firefox31/chrome/pippki/content/pippki/certDump.xul
+lib/firefox31/chrome/pippki/content/pippki/certManager.js
+lib/firefox31/chrome/pippki/content/pippki/certManager.xul
+lib/firefox31/chrome/pippki/content/pippki/certViewer.xul
+lib/firefox31/chrome/pippki/content/pippki/certerror.js
+lib/firefox31/chrome/pippki/content/pippki/certerror.xul
+lib/firefox31/chrome/pippki/content/pippki/certpicker.js
+lib/firefox31/chrome/pippki/content/pippki/certpicker.xul
+lib/firefox31/chrome/pippki/content/pippki/changepassword.xul
+lib/firefox31/chrome/pippki/content/pippki/choosetoken.js
+lib/firefox31/chrome/pippki/content/pippki/choosetoken.xul
+lib/firefox31/chrome/pippki/content/pippki/clientauthask.js
+lib/firefox31/chrome/pippki/content/pippki/clientauthask.xul
+lib/firefox31/chrome/pippki/content/pippki/createCertInfo.js
+lib/firefox31/chrome/pippki/content/pippki/createCertInfo.xul
+lib/firefox31/chrome/pippki/content/pippki/deletecert.js
+lib/firefox31/chrome/pippki/content/pippki/deletecert.xul
+lib/firefox31/chrome/pippki/content/pippki/device_manager.js
+lib/firefox31/chrome/pippki/content/pippki/device_manager.xul
+lib/firefox31/chrome/pippki/content/pippki/downloadcert.js
+lib/firefox31/chrome/pippki/content/pippki/downloadcert.xul
+lib/firefox31/chrome/pippki/content/pippki/editcacert.xul
+lib/firefox31/chrome/pippki/content/pippki/editcerts.js
+lib/firefox31/chrome/pippki/content/pippki/editemailcert.xul
+lib/firefox31/chrome/pippki/content/pippki/escrowWarn.js
+lib/firefox31/chrome/pippki/content/pippki/escrowWarn.xul
+lib/firefox31/chrome/pippki/content/pippki/exceptionDialog.js
+lib/firefox31/chrome/pippki/content/pippki/exceptionDialog.xul
+lib/firefox31/chrome/pippki/content/pippki/formsigning.js
+lib/firefox31/chrome/pippki/content/pippki/formsigning.xul
+lib/firefox31/chrome/pippki/content/pippki/getp12password.xul
+lib/firefox31/chrome/pippki/content/pippki/getpassword.xul
+lib/firefox31/chrome/pippki/content/pippki/load_device.xul
+lib/firefox31/chrome/pippki/content/pippki/password.js
+lib/firefox31/chrome/pippki/content/pippki/pippki.js
+lib/firefox31/chrome/pippki/content/pippki/protectedAuth.js
+lib/firefox31/chrome/pippki/content/pippki/protectedAuth.xul
+lib/firefox31/chrome/pippki/content/pippki/resetpassword.js
+lib/firefox31/chrome/pippki/content/pippki/resetpassword.xul
+lib/firefox31/chrome/pippki/content/pippki/setp12password.xul
+lib/firefox31/chrome/pippki/content/pippki/viewCertDetails.js
+lib/firefox31/chrome/pippki/content/pippki/viewCertDetails.xul
+lib/firefox31/chrome/recording/content/recording.js
+lib/firefox31/chrome/recording/content/recording.xul
+lib/firefox31/chrome/toolkit/content/cookie/cookieAcceptDialog.js
+lib/firefox31/chrome/toolkit/content/cookie/cookieAcceptDialog.xul
+lib/firefox31/chrome/toolkit/content/global/BrowserElementChild.js
+lib/firefox31/chrome/toolkit/content/global/BrowserElementChildPreload.js
+lib/firefox31/chrome/toolkit/content/global/BrowserElementPanning.js
+lib/firefox31/chrome/toolkit/content/global/XPCNativeWrapper.js
+lib/firefox31/chrome/toolkit/content/global/about.js
+lib/firefox31/chrome/toolkit/content/global/about.xhtml
+lib/firefox31/chrome/toolkit/content/global/aboutAbout.js
+lib/firefox31/chrome/toolkit/content/global/aboutAbout.xhtml
+lib/firefox31/chrome/toolkit/content/global/aboutCompartments.xhtml
+lib/firefox31/chrome/toolkit/content/global/aboutMemory.css
+lib/firefox31/chrome/toolkit/content/global/aboutMemory.js
+lib/firefox31/chrome/toolkit/content/global/aboutMemory.xhtml
+lib/firefox31/chrome/toolkit/content/global/aboutNetworking.js
+lib/firefox31/chrome/toolkit/content/global/aboutNetworking.xhtml
+lib/firefox31/chrome/toolkit/content/global/aboutRights-unbranded.xhtml
+lib/firefox31/chrome/toolkit/content/global/aboutRights.xhtml
+lib/firefox31/chrome/toolkit/content/global/aboutSupport.js
+lib/firefox31/chrome/toolkit/content/global/aboutSupport.xhtml
+lib/firefox31/chrome/toolkit/content/global/aboutTelemetry.css
+lib/firefox31/chrome/toolkit/content/global/aboutTelemetry.js
+lib/firefox31/chrome/toolkit/content/global/aboutTelemetry.xhtml
+lib/firefox31/chrome/toolkit/content/global/aboutWebrtc.xhtml
+lib/firefox31/chrome/toolkit/content/global/accessibility/AccessFu.css
+lib/firefox31/chrome/toolkit/content/global/accessibility/clicked.ogg
+lib/firefox31/chrome/toolkit/content/global/accessibility/content-script.js
+lib/firefox31/chrome/toolkit/content/global/accessibility/virtual_cursor_key.ogg
+lib/firefox31/chrome/toolkit/content/global/accessibility/virtual_cursor_move.ogg
+lib/firefox31/chrome/toolkit/content/global/alerts/alert.css
+lib/firefox31/chrome/toolkit/content/global/alerts/alert.js
+lib/firefox31/chrome/toolkit/content/global/alerts/alert.xul
+lib/firefox31/chrome/toolkit/content/global/appPicker.js
+lib/firefox31/chrome/toolkit/content/global/appPicker.xul
+lib/firefox31/chrome/toolkit/content/global/backgroundPageThumbsContent.js
+lib/firefox31/chrome/toolkit/content/global/bindings/autocomplete.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/browser.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/button.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/checkbox.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/colorpicker.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/datetimepicker.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/dialog.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/editor.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/expander.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/filefield.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/findbar.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/general.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/groupbox.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/listbox.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/menu.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/menulist.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/notification.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/numberbox.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/popup.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/preferences.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/progressmeter.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/radio.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/remote-browser.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/resizer.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/richlistbox.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/scale.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/scrollbar.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/scrollbox.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/spinbuttons.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/splitter.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/stringbundle.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/tabbox.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/text.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/textbox.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/toolbar.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/toolbarbutton.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/tree.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/videocontrols.css
+lib/firefox31/chrome/toolkit/content/global/bindings/videocontrols.xml
+lib/firefox31/chrome/toolkit/content/global/bindings/wizard.xml
+lib/firefox31/chrome/toolkit/content/global/browser-child.js
+lib/firefox31/chrome/toolkit/content/global/browser-content.js
+lib/firefox31/chrome/toolkit/content/global/buildconfig.html
+lib/firefox31/chrome/toolkit/content/global/charsetOverlay.js
+lib/firefox31/chrome/toolkit/content/global/charsetOverlay.xul
+lib/firefox31/chrome/toolkit/content/global/commonDialog.css
+lib/firefox31/chrome/toolkit/content/global/commonDialog.js
+lib/firefox31/chrome/toolkit/content/global/commonDialog.xul
+lib/firefox31/chrome/toolkit/content/global/config.js
+lib/firefox31/chrome/toolkit/content/global/config.xul
+lib/firefox31/chrome/toolkit/content/global/console.css
+lib/firefox31/chrome/toolkit/content/global/console.js
+lib/firefox31/chrome/toolkit/content/global/console.xul
+lib/firefox31/chrome/toolkit/content/global/consoleBindings.xml
+lib/firefox31/chrome/toolkit/content/global/contentAreaUtils.js
+lib/firefox31/chrome/toolkit/content/global/customizeCharset.js
+lib/firefox31/chrome/toolkit/content/global/customizeCharset.xul
+lib/firefox31/chrome/toolkit/content/global/customizeToolbar.css
+lib/firefox31/chrome/toolkit/content/global/customizeToolbar.js
+lib/firefox31/chrome/toolkit/content/global/customizeToolbar.xul
+lib/firefox31/chrome/toolkit/content/global/devicestorage.properties
+lib/firefox31/chrome/toolkit/content/global/dialogOverlay.js
+lib/firefox31/chrome/toolkit/content/global/dialogOverlay.xul
+lib/firefox31/chrome/toolkit/content/global/directionDetector.html
+lib/firefox31/chrome/toolkit/content/global/directoryLinks.json
+lib/firefox31/chrome/toolkit/content/global/editMenuOverlay.js
+lib/firefox31/chrome/toolkit/content/global/editMenuOverlay.xul
+lib/firefox31/chrome/toolkit/content/global/filepicker.js
+lib/firefox31/chrome/toolkit/content/global/filepicker.properties
+lib/firefox31/chrome/toolkit/content/global/filepicker.xul
+lib/firefox31/chrome/toolkit/content/global/findUtils.js
+lib/firefox31/chrome/toolkit/content/global/finddialog.js
+lib/firefox31/chrome/toolkit/content/global/finddialog.xul
+lib/firefox31/chrome/toolkit/content/global/forms.js
+lib/firefox31/chrome/toolkit/content/global/globalOverlay.js
+lib/firefox31/chrome/toolkit/content/global/globalOverlay.xul
+lib/firefox31/chrome/toolkit/content/global/inlineSpellCheckUI.js
+lib/firefox31/chrome/toolkit/content/global/license.html
+lib/firefox31/chrome/toolkit/content/global/menulist.css
+lib/firefox31/chrome/toolkit/content/global/mozilla.xhtml
+lib/firefox31/chrome/toolkit/content/global/netError.xhtml
+lib/firefox31/chrome/toolkit/content/global/notfound.wav
+lib/firefox31/chrome/toolkit/content/global/nsClipboard.js
+lib/firefox31/chrome/toolkit/content/global/nsDragAndDrop.js
+lib/firefox31/chrome/toolkit/content/global/nsUserSettings.js
+lib/firefox31/chrome/toolkit/content/global/platformHTMLBindings.xml
+lib/firefox31/chrome/toolkit/content/global/plugins.css
+lib/firefox31/chrome/toolkit/content/global/plugins.html
+lib/firefox31/chrome/toolkit/content/global/preload.js
+lib/firefox31/chrome/toolkit/content/global/printPageSetup.js
+lib/firefox31/chrome/toolkit/content/global/printPageSetup.xul
+lib/firefox31/chrome/toolkit/content/global/printPreviewBindings.xml
+lib/firefox31/chrome/toolkit/content/global/printPreviewProgress.js
+lib/firefox31/chrome/toolkit/content/global/printPreviewProgress.xul
+lib/firefox31/chrome/toolkit/content/global/printProgress.js
+lib/firefox31/chrome/toolkit/content/global/printProgress.xul
+lib/firefox31/chrome/toolkit/content/global/printUtils.js
+lib/firefox31/chrome/toolkit/content/global/printdialog.js
+lib/firefox31/chrome/toolkit/content/global/printdialog.xul
+lib/firefox31/chrome/toolkit/content/global/printjoboptions.js
+lib/firefox31/chrome/toolkit/content/global/printjoboptions.xul
+lib/firefox31/chrome/toolkit/content/global/remote-test-ipc.js
+lib/firefox31/chrome/toolkit/content/global/resetProfile.css
+lib/firefox31/chrome/toolkit/content/global/resetProfile.js
+lib/firefox31/chrome/toolkit/content/global/resetProfile.xul
+lib/firefox31/chrome/toolkit/content/global/resetProfileProgress.xul
+lib/firefox31/chrome/toolkit/content/global/select-child.js
+lib/firefox31/chrome/toolkit/content/global/selectDialog.js
+lib/firefox31/chrome/toolkit/content/global/selectDialog.xul
+lib/firefox31/chrome/toolkit/content/global/strres.js
+lib/firefox31/chrome/toolkit/content/global/svg/svgBindings.xml
+lib/firefox31/chrome/toolkit/content/global/tabprompts.css
+lib/firefox31/chrome/toolkit/content/global/tabprompts.xml
+lib/firefox31/chrome/toolkit/content/global/test-ipc.xul
+lib/firefox31/chrome/toolkit/content/global/test-ipcbrowser-chrome.js
+lib/firefox31/chrome/toolkit/content/global/test-ipcbrowser-content.js
+lib/firefox31/chrome/toolkit/content/global/test-ipcbrowser.xul
+lib/firefox31/chrome/toolkit/content/global/textbox.css
+lib/firefox31/chrome/toolkit/content/global/treeUtils.js
+lib/firefox31/chrome/toolkit/content/global/viewPartialSource.js
+lib/firefox31/chrome/toolkit/content/global/viewPartialSource.xul
+lib/firefox31/chrome/toolkit/content/global/viewSource.css
+lib/firefox31/chrome/toolkit/content/global/viewSource.js
+lib/firefox31/chrome/toolkit/content/global/viewSource.xul
+lib/firefox31/chrome/toolkit/content/global/viewSourceUtils.js
+lib/firefox31/chrome/toolkit/content/global/viewZoomOverlay.js
+lib/firefox31/chrome/toolkit/content/global/xml/XMLMonoPrint.css
+lib/firefox31/chrome/toolkit/content/global/xml/XMLPrettyPrint.css
+lib/firefox31/chrome/toolkit/content/global/xml/XMLPrettyPrint.xml
+lib/firefox31/chrome/toolkit/content/global/xml/XMLPrettyPrint.xsl
+lib/firefox31/chrome/toolkit/content/global/xul.css
+lib/firefox31/chrome/toolkit/content/mozapps/downloads/DownloadProgressListener.js
+lib/firefox31/chrome/toolkit/content/mozapps/downloads/download.xml
+lib/firefox31/chrome/toolkit/content/mozapps/downloads/downloads.css
+lib/firefox31/chrome/toolkit/content/mozapps/downloads/downloads.js
+lib/firefox31/chrome/toolkit/content/mozapps/downloads/downloads.xul
+lib/firefox31/chrome/toolkit/content/mozapps/downloads/helperApps.js
+lib/firefox31/chrome/toolkit/content/mozapps/downloads/unknownContentType.xul
+lib/firefox31/chrome/toolkit/content/mozapps/extensions/about.js
+lib/firefox31/chrome/toolkit/content/mozapps/extensions/about.xul
+lib/firefox31/chrome/toolkit/content/mozapps/extensions/blocklist.css
+lib/firefox31/chrome/toolkit/content/mozapps/extensions/blocklist.js
+lib/firefox31/chrome/toolkit/content/mozapps/extensions/blocklist.xml
+lib/firefox31/chrome/toolkit/content/mozapps/extensions/blocklist.xul
+lib/firefox31/chrome/toolkit/content/mozapps/extensions/eula.js
+lib/firefox31/chrome/toolkit/content/mozapps/extensions/eula.xul
+lib/firefox31/chrome/toolkit/content/mozapps/extensions/extensions.css
+lib/firefox31/chrome/toolkit/content/mozapps/extensions/extensions.js
+lib/firefox31/chrome/toolkit/content/mozapps/extensions/extensions.xml
+lib/firefox31/chrome/toolkit/content/mozapps/extensions/extensions.xul
+lib/firefox31/chrome/toolkit/content/mozapps/extensions/list.js
+lib/firefox31/chrome/toolkit/content/mozapps/extensions/list.xul
+lib/firefox31/chrome/toolkit/content/mozapps/extensions/newaddon.js
+lib/firefox31/chrome/toolkit/content/mozapps/extensions/newaddon.xul
+lib/firefox31/chrome/toolkit/content/mozapps/extensions/pluginPrefs.xul
+lib/firefox31/chrome/toolkit/content/mozapps/extensions/selectAddons.css
+lib/firefox31/chrome/toolkit/content/mozapps/extensions/selectAddons.js
+lib/firefox31/chrome/toolkit/content/mozapps/extensions/selectAddons.xml
+lib/firefox31/chrome/toolkit/content/mozapps/extensions/selectAddons.xul
+lib/firefox31/chrome/toolkit/content/mozapps/extensions/setting.xml
+lib/firefox31/chrome/toolkit/content/mozapps/extensions/update.js
+lib/firefox31/chrome/toolkit/content/mozapps/extensions/update.xul
+lib/firefox31/chrome/toolkit/content/mozapps/extensions/updateinfo.xsl
+lib/firefox31/chrome/toolkit/content/mozapps/handling/dialog.js
+lib/firefox31/chrome/toolkit/content/mozapps/handling/dialog.xul
+lib/firefox31/chrome/toolkit/content/mozapps/handling/handler.css
+lib/firefox31/chrome/toolkit/content/mozapps/handling/handler.xml
+lib/firefox31/chrome/toolkit/content/mozapps/plugins/pluginFinderBinding.css
+lib/firefox31/chrome/toolkit/content/mozapps/plugins/pluginInstallerDatasource.js
+lib/firefox31/chrome/toolkit/content/mozapps/plugins/pluginInstallerService.js
+lib/firefox31/chrome/toolkit/content/mozapps/plugins/pluginInstallerWizard.css
+lib/firefox31/chrome/toolkit/content/mozapps/plugins/pluginInstallerWizard.js
+lib/firefox31/chrome/toolkit/content/mozapps/plugins/pluginInstallerWizard.xul
+lib/firefox31/chrome/toolkit/content/mozapps/plugins/pluginProblem.xml
+lib/firefox31/chrome/toolkit/content/mozapps/plugins/pluginProblemBinding.css
+lib/firefox31/chrome/toolkit/content/mozapps/plugins/pluginProblemContent.css
+lib/firefox31/chrome/toolkit/content/mozapps/preferences/changemp.js
+lib/firefox31/chrome/toolkit/content/mozapps/preferences/changemp.xul
+lib/firefox31/chrome/toolkit/content/mozapps/preferences/fontbuilder.js
+lib/firefox31/chrome/toolkit/content/mozapps/preferences/ocsp.js
+lib/firefox31/chrome/toolkit/content/mozapps/preferences/ocsp.xul
+lib/firefox31/chrome/toolkit/content/mozapps/preferences/removemp.js
+lib/firefox31/chrome/toolkit/content/mozapps/preferences/removemp.xul
+lib/firefox31/chrome/toolkit/content/mozapps/profile/createProfileWizard.js
+lib/firefox31/chrome/toolkit/content/mozapps/profile/createProfileWizard.xul
+lib/firefox31/chrome/toolkit/content/mozapps/profile/profileSelection.js
+lib/firefox31/chrome/toolkit/content/mozapps/profile/profileSelection.xul
+lib/firefox31/chrome/toolkit/content/mozapps/update/history.js
+lib/firefox31/chrome/toolkit/content/mozapps/update/history.xul
+lib/firefox31/chrome/toolkit/content/mozapps/update/updates.css
+lib/firefox31/chrome/toolkit/content/mozapps/update/updates.js
+lib/firefox31/chrome/toolkit/content/mozapps/update/updates.xml
+lib/firefox31/chrome/toolkit/content/mozapps/update/updates.xul
+lib/firefox31/chrome/toolkit/content/mozapps/xpinstall/xpinstallConfirm.css
+lib/firefox31/chrome/toolkit/content/mozapps/xpinstall/xpinstallConfirm.js
+lib/firefox31/chrome/toolkit/content/mozapps/xpinstall/xpinstallConfirm.xul
+lib/firefox31/chrome/toolkit/content/mozapps/xpinstall/xpinstallItem.xml
+lib/firefox31/chrome/toolkit/content/passwordmgr/passwordManager.js
+lib/firefox31/chrome/toolkit/content/passwordmgr/passwordManager.xul
+lib/firefox31/chrome/toolkit/content/passwordmgr/passwordManagerCommon.js
+lib/firefox31/chrome/toolkit/content/passwordmgr/passwordManagerExceptions.js
+lib/firefox31/chrome/toolkit/content/passwordmgr/passwordManagerExceptions.xul
+lib/firefox31/chrome/toolkit/content/satchel/formSubmitListener.js
+lib/firefox31/chrome/toolkit/content/xbl-marquee/xbl-marquee.css
+lib/firefox31/chrome/toolkit/content/xbl-marquee/xbl-marquee.xml
+lib/firefox31/chrome/toolkit/res/arrow.gif
+lib/firefox31/chrome/toolkit/res/arrowd.gif
+lib/firefox31/chrome/toolkit/res/broken-image.png
+lib/firefox31/chrome/toolkit/res/charsetData.properties
+lib/firefox31/chrome/toolkit/res/forms.css
+lib/firefox31/chrome/toolkit/res/full-screen-override.css
+lib/firefox31/chrome/toolkit/res/hiddenWindow.html
+lib/firefox31/chrome/toolkit/res/html.css
+lib/firefox31/chrome/toolkit/res/loading-image.png
+lib/firefox31/chrome/toolkit/res/mathml.css
+lib/firefox31/chrome/toolkit/res/number-control.css
+lib/firefox31/chrome/toolkit/res/plaintext.css
+lib/firefox31/chrome/toolkit/res/quirk.css
+lib/firefox31/chrome/toolkit/res/ua.css
+lib/firefox31/chrome/toolkit/res/viewsource.css
+lib/firefox31/chrome/toolkit/skin/classic/global/Filepicker.png
+lib/firefox31/chrome/toolkit/skin/classic/global/about.css
+lib/firefox31/chrome/toolkit/skin/classic/global/aboutCache.css
+lib/firefox31/chrome/toolkit/skin/classic/global/aboutCacheEntry.css
+lib/firefox31/chrome/toolkit/skin/classic/global/aboutMemory.css
+lib/firefox31/chrome/toolkit/skin/classic/global/aboutSupport.css
+lib/firefox31/chrome/toolkit/skin/classic/global/alerts/alert.css
+lib/firefox31/chrome/toolkit/skin/classic/global/alerts/notification-48.png
+lib/firefox31/chrome/toolkit/skin/classic/global/appPicker.css
+lib/firefox31/chrome/toolkit/skin/classic/global/arrow.css
+lib/firefox31/chrome/toolkit/skin/classic/global/arrow/arrow-dn-dis.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/arrow/arrow-dn-hov.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/arrow/arrow-dn-sharp.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/arrow/arrow-dn.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/arrow/arrow-down.png
+lib/firefox31/chrome/toolkit/skin/classic/global/arrow/arrow-lft-dis.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/arrow/arrow-lft-hov.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/arrow/arrow-lft-sharp-end.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/arrow/arrow-lft-sharp.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/arrow/arrow-lft.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/arrow/arrow-rit-dis.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/arrow/arrow-rit-hov.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/arrow/arrow-rit-sharp-end.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/arrow/arrow-rit-sharp.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/arrow/arrow-rit.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/arrow/arrow-up-dis.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/arrow/arrow-up-hov.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/arrow/arrow-up-sharp.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/arrow/arrow-up.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/arrow/panelarrow-horizontal-themed.svg
+lib/firefox31/chrome/toolkit/skin/classic/global/arrow/panelarrow-horizontal.svg
+lib/firefox31/chrome/toolkit/skin/classic/global/arrow/panelarrow-vertical-themed.svg
+lib/firefox31/chrome/toolkit/skin/classic/global/arrow/panelarrow-vertical.svg
+lib/firefox31/chrome/toolkit/skin/classic/global/autocomplete.css
+lib/firefox31/chrome/toolkit/skin/classic/global/button.css
+lib/firefox31/chrome/toolkit/skin/classic/global/checkbox.css
+lib/firefox31/chrome/toolkit/skin/classic/global/checkbox/cbox-check-dis.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/checkbox/cbox-check.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/colorpicker.css
+lib/firefox31/chrome/toolkit/skin/classic/global/commonDialog.css
+lib/firefox31/chrome/toolkit/skin/classic/global/config.css
+lib/firefox31/chrome/toolkit/skin/classic/global/console/console-error-caret.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/console/console-error-dash.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/console/console-toolbar.png
+lib/firefox31/chrome/toolkit/skin/classic/global/console/console.css
+lib/firefox31/chrome/toolkit/skin/classic/global/console/console.png
+lib/firefox31/chrome/toolkit/skin/classic/global/console/itemSelected.png
+lib/firefox31/chrome/toolkit/skin/classic/global/customizeToolbar.css
+lib/firefox31/chrome/toolkit/skin/classic/global/datetimepicker.css
+lib/firefox31/chrome/toolkit/skin/classic/global/dialog.css
+lib/firefox31/chrome/toolkit/skin/classic/global/dirListing/dirListing.css
+lib/firefox31/chrome/toolkit/skin/classic/global/dirListing/folder.png
+lib/firefox31/chrome/toolkit/skin/classic/global/dirListing/local.png
+lib/firefox31/chrome/toolkit/skin/classic/global/dirListing/remote.png
+lib/firefox31/chrome/toolkit/skin/classic/global/dirListing/up.png
+lib/firefox31/chrome/toolkit/skin/classic/global/dropmarker.css
+lib/firefox31/chrome/toolkit/skin/classic/global/expander.css
+lib/firefox31/chrome/toolkit/skin/classic/global/filefield.css
+lib/firefox31/chrome/toolkit/skin/classic/global/filepicker.css
+lib/firefox31/chrome/toolkit/skin/classic/global/findBar.css
+lib/firefox31/chrome/toolkit/skin/classic/global/global.css
+lib/firefox31/chrome/toolkit/skin/classic/global/globalBindings.xml
+lib/firefox31/chrome/toolkit/skin/classic/global/groupbox.css
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/Authentication.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/Close.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/Error.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/Landscape.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/Minimize.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/Portrait.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/Print-preview.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/Question.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/Restore.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/Search-close.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/Search-glass.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/Warning.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/autoscroll.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/blacklist_favicon.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/blacklist_large.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/close-lunaBlue.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/close-lunaOlive.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/close-lunaSilver.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/close.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/close.svg
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/collapse.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/error-16.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/error-24.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/error-48.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/error-64.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/expand.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/find-arrows.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/find.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/folder-item.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/information-16.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/information-24.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/information-32.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/information-48.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/information-64.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/loading_16.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/panelarrow-horizontal.svg
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/panelarrow-vertical.svg
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/question-16.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/question-24.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/question-48.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/question-64.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/resizer-rtl.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/resizer.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/sslWarning.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/tabprompts-bgtexture.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/warning-16.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/warning-24.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/warning-64.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/warning-large.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/webapps-16.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/webapps-64.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/windowControls.png
+lib/firefox31/chrome/toolkit/skin/classic/global/icons/wrap.png
+lib/firefox31/chrome/toolkit/skin/classic/global/inContentUI.css
+lib/firefox31/chrome/toolkit/skin/classic/global/inContentUI/background-texture.png
+lib/firefox31/chrome/toolkit/skin/classic/global/linkTree.css
+lib/firefox31/chrome/toolkit/skin/classic/global/listbox.css
+lib/firefox31/chrome/toolkit/skin/classic/global/media/TopLevelImageDocument.css
+lib/firefox31/chrome/toolkit/skin/classic/global/media/TopLevelVideoDocument.css
+lib/firefox31/chrome/toolkit/skin/classic/global/media/clicktoplay-bgtexture.png
+lib/firefox31/chrome/toolkit/skin/classic/global/media/error.png
+lib/firefox31/chrome/toolkit/skin/classic/global/media/fullscreenButton.png
+lib/firefox31/chrome/toolkit/skin/classic/global/media/imagedoc-darknoise.png
+lib/firefox31/chrome/toolkit/skin/classic/global/media/imagedoc-lightnoise.png
+lib/firefox31/chrome/toolkit/skin/classic/global/media/muteButton.png
+lib/firefox31/chrome/toolkit/skin/classic/global/media/noAudio.png
+lib/firefox31/chrome/toolkit/skin/classic/global/media/pauseButton.png
+lib/firefox31/chrome/toolkit/skin/classic/global/media/playButton.png
+lib/firefox31/chrome/toolkit/skin/classic/global/media/scrubberThumb.png
+lib/firefox31/chrome/toolkit/skin/classic/global/media/scrubberThumbWide.png
+lib/firefox31/chrome/toolkit/skin/classic/global/media/stalled.png
+lib/firefox31/chrome/toolkit/skin/classic/global/media/throbber.png
+lib/firefox31/chrome/toolkit/skin/classic/global/media/unmuteButton.png
+lib/firefox31/chrome/toolkit/skin/classic/global/media/videoClickToPlayButton.svg
+lib/firefox31/chrome/toolkit/skin/classic/global/media/videocontrols.css
+lib/firefox31/chrome/toolkit/skin/classic/global/media/volume-empty.png
+lib/firefox31/chrome/toolkit/skin/classic/global/media/volume-full.png
+lib/firefox31/chrome/toolkit/skin/classic/global/menu.css
+lib/firefox31/chrome/toolkit/skin/classic/global/menu/shared-menu-check.png
+lib/firefox31/chrome/toolkit/skin/classic/global/menulist.css
+lib/firefox31/chrome/toolkit/skin/classic/global/netError.css
+lib/firefox31/chrome/toolkit/skin/classic/global/notification.css
+lib/firefox31/chrome/toolkit/skin/classic/global/numberbox.css
+lib/firefox31/chrome/toolkit/skin/classic/global/passwordmgr.css
+lib/firefox31/chrome/toolkit/skin/classic/global/popup.css
+lib/firefox31/chrome/toolkit/skin/classic/global/preferences.css
+lib/firefox31/chrome/toolkit/skin/classic/global/printPageSetup.css
+lib/firefox31/chrome/toolkit/skin/classic/global/printPreview.css
+lib/firefox31/chrome/toolkit/skin/classic/global/printpreview/arrow-left-end.png
+lib/firefox31/chrome/toolkit/skin/classic/global/printpreview/arrow-left.png
+lib/firefox31/chrome/toolkit/skin/classic/global/printpreview/arrow-right-end.png
+lib/firefox31/chrome/toolkit/skin/classic/global/printpreview/arrow-right.png
+lib/firefox31/chrome/toolkit/skin/classic/global/progressmeter.css
+lib/firefox31/chrome/toolkit/skin/classic/global/radio.css
+lib/firefox31/chrome/toolkit/skin/classic/global/radio/radio-check-dis.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/radio/radio-check.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/resizer.css
+lib/firefox31/chrome/toolkit/skin/classic/global/richlistbox.css
+lib/firefox31/chrome/toolkit/skin/classic/global/scale.css
+lib/firefox31/chrome/toolkit/skin/classic/global/scrollbar/slider.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/scrollbars.css
+lib/firefox31/chrome/toolkit/skin/classic/global/scrollbox.css
+lib/firefox31/chrome/toolkit/skin/classic/global/spinbuttons.css
+lib/firefox31/chrome/toolkit/skin/classic/global/splitter.css
+lib/firefox31/chrome/toolkit/skin/classic/global/splitter/grip-bottom.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/splitter/grip-left.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/splitter/grip-right.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/splitter/grip-top.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/tabbox.css
+lib/firefox31/chrome/toolkit/skin/classic/global/tabprompts.css
+lib/firefox31/chrome/toolkit/skin/classic/global/textbox.css
+lib/firefox31/chrome/toolkit/skin/classic/global/toolbar.css
+lib/firefox31/chrome/toolkit/skin/classic/global/toolbar/chevron.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/toolbar/spring.png
+lib/firefox31/chrome/toolkit/skin/classic/global/toolbarbutton.css
+lib/firefox31/chrome/toolkit/skin/classic/global/tree.css
+lib/firefox31/chrome/toolkit/skin/classic/global/tree/columnpicker.gif
+lib/firefox31/chrome/toolkit/skin/classic/global/tree/sort-asc-classic.png
+lib/firefox31/chrome/toolkit/skin/classic/global/tree/sort-asc.png
+lib/firefox31/chrome/toolkit/skin/classic/global/tree/sort-dsc-classic.png
+lib/firefox31/chrome/toolkit/skin/classic/global/tree/sort-dsc.png
+lib/firefox31/chrome/toolkit/skin/classic/global/tree/twisty-clsd.png
+lib/firefox31/chrome/toolkit/skin/classic/global/tree/twisty-open.png
+lib/firefox31/chrome/toolkit/skin/classic/global/wizard.css
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/aboutNetworking.css
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/downloads/downloadButtons.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/downloads/downloadIcon.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/downloads/downloads.css
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/downloads/unknownContentType.css
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/about.css
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/alerticon-error.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/alerticon-info-negative.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/alerticon-info-positive.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/alerticon-warning.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/blocklist.css
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/cancel.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/category-available.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/category-dictionaries.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/category-discover.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/category-experiments.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/category-extensions.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/category-languages.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/category-plugins.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/category-recent.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/category-search.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/category-searchengines.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/category-service.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/category-themes.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/dictionaryGeneric-16.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/dictionaryGeneric.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/discover-logo.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/eula.css
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/experimentGeneric.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/extensionGeneric-16.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/extensionGeneric.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/extensions.css
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/extensions.svg
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/heart.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/localeGeneric.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/navigation.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/newaddon.css
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/rating-not-won.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/rating-won.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/selectAddons.css
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/stripes-error.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/stripes-info-negative.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/stripes-info-positive.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/stripes-warning.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/themeGeneric-16.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/themeGeneric.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/update.css
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/extensions/utilities.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/handling/handling.css
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/passwordmgr/key-16.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/passwordmgr/key-64.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/passwordmgr/key.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/places/defaultFavicon.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/plugins/contentPluginActivate.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/plugins/contentPluginBlocked.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/plugins/contentPluginClose.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/plugins/contentPluginCrashed.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/plugins/contentPluginDisabled.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/plugins/contentPluginDownload.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/plugins/contentPluginMissing.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/plugins/contentPluginStripe.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/plugins/notifyPluginCrashed.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/plugins/notifyPluginGeneric.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/plugins/pluginBlocked-64.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/plugins/pluginBlocked.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/plugins/pluginGeneric-16.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/plugins/pluginGeneric.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/plugins/pluginHelp-16.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/plugins/pluginInstallerWizard.css
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/plugins/pluginProblem.css
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/profile/profileSelection.css
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/profile/profileicon.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/update/downloadButtons.png
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/update/updates.css
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/viewsource/viewsource.css
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/xpinstall/xpinstallConfirm.css
+lib/firefox31/chrome/toolkit/skin/classic/mozapps/xpinstall/xpinstallItemGeneric.png
+lib/firefox31/components/ActivityMessageConfigurator.js
+lib/firefox31/components/ActivityProxy.js
+lib/firefox31/components/ActivityRequestHandler.js
+lib/firefox31/components/ActivityWrapper.js
+lib/firefox31/components/AlarmsManager.js
+lib/firefox31/components/AppsService.js
+lib/firefox31/components/BrowserElementParent.js
+lib/firefox31/components/ColorAnalyzer.js
+lib/firefox31/components/ConsoleAPIStorage.js
+lib/firefox31/components/ContactManager.js
+lib/firefox31/components/DataReportingService.js
+lib/firefox31/components/DataStoreService.js
+lib/firefox31/components/DownloadLegacy.js
+lib/firefox31/components/FeedProcessor.js
+lib/firefox31/components/FormHistoryStartup.js
+lib/firefox31/components/MozKeyboard.js
+lib/firefox31/components/NetworkGeolocationProvider.js
+lib/firefox31/components/NotificationStorage.js
+lib/firefox31/components/PageThumbsProtocol.js
+lib/firefox31/components/Payment.js
+lib/firefox31/components/PaymentFlowInfo.js
+lib/firefox31/components/PermissionSettings.js
+lib/firefox31/components/PhoneNumberService.js
+lib/firefox31/components/PlacesCategoriesStarter.js
+lib/firefox31/components/Push.js
+lib/firefox31/components/PushServiceLauncher.js
+lib/firefox31/components/SettingsManager.js
+lib/firefox31/components/SiteSpecificUserAgent.js
+lib/firefox31/components/SystemMessageInternal.js
+lib/firefox31/components/SystemMessageManager.js
+lib/firefox31/components/TCPServerSocket.js
+lib/firefox31/components/TCPSocket.js
+lib/firefox31/components/TCPSocketParentIntermediary.js
+lib/firefox31/components/TelemetryStartup.js
+lib/firefox31/components/UnifiedComplete.js
+lib/firefox31/components/Weave.js
+lib/firefox31/components/WebVTTParserWrapper.js
+lib/firefox31/components/Webapps.js
+lib/firefox31/components/addonManager.js
+lib/firefox31/components/amContentHandler.js
+lib/firefox31/components/amInstallTrigger.js
+lib/firefox31/components/amWebInstallListener.js
+lib/firefox31/components/components.manifest
+lib/firefox31/components/contentAreaDropListener.js
+lib/firefox31/components/contentSecurityPolicy.js
+lib/firefox31/components/crypto-SDR.js
+lib/firefox31/components/interfaces.xpt
+lib/firefox31/components/jsconsole-clhandler.js
+${PLIST.gnome}lib/firefox31/components/libdbusservice.so
+lib/firefox31/components/libmozgnome.so
+${PLIST.gnome}lib/firefox31/components/libnkgnomevfs.so
+lib/firefox31/components/marionettecomponent.js
+lib/firefox31/components/messageWakeupService.js
+lib/firefox31/components/nsBlocklistService.js
+lib/firefox31/components/nsContentDispatchChooser.js
+lib/firefox31/components/nsContentPrefService.js
+lib/firefox31/components/nsCrashMonitor.js
+lib/firefox31/components/nsDOMIdentity.js
+lib/firefox31/components/nsDefaultCLH.js
+lib/firefox31/components/nsDownloadManagerUI.js
+lib/firefox31/components/nsFilePicker.js
+lib/firefox31/components/nsFormAutoComplete.js
+lib/firefox31/components/nsFormHistory.js
+lib/firefox31/components/nsHandlerService.js
+lib/firefox31/components/nsHelperAppDlg.js
+lib/firefox31/components/nsIDService.js
+lib/firefox31/components/nsINIProcessor.js
+lib/firefox31/components/nsInputListAutoComplete.js
+lib/firefox31/components/nsLivemarkService.js
+lib/firefox31/components/nsLoginInfo.js
+lib/firefox31/components/nsLoginManager.js
+lib/firefox31/components/nsLoginManagerPrompter.js
+lib/firefox31/components/nsPlacesAutoComplete.js
+lib/firefox31/components/nsPlacesExpiration.js
+lib/firefox31/components/nsPrompter.js
+lib/firefox31/components/nsSearchService.js
+lib/firefox31/components/nsSearchSuggestions.js
+lib/firefox31/components/nsTaggingService.js
+lib/firefox31/components/nsURLFormatter.js
+lib/firefox31/components/nsUpdateTimerManager.js
+lib/firefox31/components/nsUrlClassifierHashCompleter.js
+lib/firefox31/components/nsUrlClassifierLib.js
+lib/firefox31/components/nsUrlClassifierListManager.js
+lib/firefox31/components/nsWebHandlerApp.js
+lib/firefox31/components/recording-cmdline.js
+lib/firefox31/components/storage-mozStorage.js
+lib/firefox31/components/txEXSLTRegExFunctions.js
+lib/firefox31/defaults/autoconfig/platform.js
+lib/firefox31/defaults/autoconfig/prefcalls.js
+lib/firefox31/defaults/pref/channel-prefs.js
+lib/firefox31/defaults/pref/services-sync.js
+lib/firefox31/dependentlibs.list
+lib/firefox31/dictionaries/en-US.aff
+lib/firefox31/dictionaries/en-US.dic
+lib/firefox31/firefox
+lib/firefox31/firefox-bin
+lib/firefox31/greprefs.js
+lib/firefox31/hyphenation/hyph_af.dic
+lib/firefox31/hyphenation/hyph_bg.dic
+lib/firefox31/hyphenation/hyph_ca.dic
+lib/firefox31/hyphenation/hyph_cy.dic
+lib/firefox31/hyphenation/hyph_da.dic
+lib/firefox31/hyphenation/hyph_de-1901.dic
+lib/firefox31/hyphenation/hyph_de-1996.dic
+lib/firefox31/hyphenation/hyph_de-CH.dic
+lib/firefox31/hyphenation/hyph_en_US.dic
+lib/firefox31/hyphenation/hyph_eo.dic
+lib/firefox31/hyphenation/hyph_es.dic
+lib/firefox31/hyphenation/hyph_et.dic
+lib/firefox31/hyphenation/hyph_fi.dic
+lib/firefox31/hyphenation/hyph_fr.dic
+lib/firefox31/hyphenation/hyph_gl.dic
+lib/firefox31/hyphenation/hyph_hr.dic
+lib/firefox31/hyphenation/hyph_hsb.dic
+lib/firefox31/hyphenation/hyph_hu.dic
+lib/firefox31/hyphenation/hyph_ia.dic
+lib/firefox31/hyphenation/hyph_is.dic
+lib/firefox31/hyphenation/hyph_it.dic
+lib/firefox31/hyphenation/hyph_kmr.dic
+lib/firefox31/hyphenation/hyph_la.dic
+lib/firefox31/hyphenation/hyph_lt.dic
+lib/firefox31/hyphenation/hyph_mn.dic
+lib/firefox31/hyphenation/hyph_nb.dic
+lib/firefox31/hyphenation/hyph_nl.dic
+lib/firefox31/hyphenation/hyph_nn.dic
+lib/firefox31/hyphenation/hyph_pl.dic
+lib/firefox31/hyphenation/hyph_pt.dic
+lib/firefox31/hyphenation/hyph_ru.dic
+lib/firefox31/hyphenation/hyph_sh.dic
+lib/firefox31/hyphenation/hyph_sl.dic
+lib/firefox31/hyphenation/hyph_sv.dic
+lib/firefox31/hyphenation/hyph_tr.dic
+lib/firefox31/hyphenation/hyph_uk.dic
+lib/firefox31/libmozalloc.so
+lib/firefox31/libxul.so
+lib/firefox31/modules/ActivitiesService.jsm
+lib/firefox31/modules/ActivitiesServiceFilter.jsm
+lib/firefox31/modules/AddonManager.jsm
+lib/firefox31/modules/AlarmDB.jsm
+lib/firefox31/modules/AlarmService.jsm
+lib/firefox31/modules/AppDownloadManager.jsm
+lib/firefox31/modules/AppsServiceChild.jsm
+lib/firefox31/modules/AppsUtils.jsm
+lib/firefox31/modules/AsyncShutdown.jsm
+lib/firefox31/modules/AsyncSpellCheckTestHelper.jsm
+lib/firefox31/modules/AutoCompleteE10S.jsm
+lib/firefox31/modules/BackgroundPageThumbs.jsm
+lib/firefox31/modules/BinarySearch.jsm
+lib/firefox31/modules/BookmarkHTMLUtils.jsm
+lib/firefox31/modules/BookmarkJSONUtils.jsm
+lib/firefox31/modules/BrowserElementParent.jsm
+lib/firefox31/modules/BrowserElementPromptService.jsm
+lib/firefox31/modules/BrowserUtils.jsm
+lib/firefox31/modules/CSPUtils.jsm
+lib/firefox31/modules/CertUtils.jsm
+lib/firefox31/modules/CharsetMenu.jsm
+lib/firefox31/modules/ChromeManifestParser.jsm
+lib/firefox31/modules/ClusterLib.js
+lib/firefox31/modules/ColorAnalyzer_worker.js
+lib/firefox31/modules/ColorConversion.js
+lib/firefox31/modules/CommonDialog.jsm
+lib/firefox31/modules/ContactDB.jsm
+lib/firefox31/modules/ContactService.jsm
+lib/firefox31/modules/ContentPrefInstance.jsm
+lib/firefox31/modules/ContentPrefService2.jsm
+lib/firefox31/modules/ContentPrefStore.jsm
+lib/firefox31/modules/CrashMonitor.jsm
+lib/firefox31/modules/Credentials.jsm
+lib/firefox31/modules/DOMIdentity.jsm
+lib/firefox31/modules/DOMRequestHelper.jsm
+lib/firefox31/modules/DataStoreChangeNotifier.jsm
+lib/firefox31/modules/DataStoreCursorImpl.jsm
+lib/firefox31/modules/DataStoreDB.jsm
+lib/firefox31/modules/DataStoreImpl.jsm
+lib/firefox31/modules/DataStoreServiceInternal.jsm
+lib/firefox31/modules/DeferredSave.jsm
+lib/firefox31/modules/DeferredTask.jsm
+lib/firefox31/modules/Deprecated.jsm
+lib/firefox31/modules/Dict.jsm
+lib/firefox31/modules/DirectoryLinksProvider.jsm
+lib/firefox31/modules/DownloadCore.jsm
+lib/firefox31/modules/DownloadImport.jsm
+lib/firefox31/modules/DownloadIntegration.jsm
+lib/firefox31/modules/DownloadLastDir.jsm
+lib/firefox31/modules/DownloadList.jsm
+lib/firefox31/modules/DownloadPaths.jsm
+lib/firefox31/modules/DownloadStore.jsm
+lib/firefox31/modules/DownloadTaskbarProgress.jsm
+lib/firefox31/modules/DownloadUIHelper.jsm
+lib/firefox31/modules/DownloadUtils.jsm
+lib/firefox31/modules/Downloads.jsm
+lib/firefox31/modules/FileUtils.jsm
+lib/firefox31/modules/Finder.jsm
+lib/firefox31/modules/ForgetAboutSite.jsm
+lib/firefox31/modules/FormData.jsm
+lib/firefox31/modules/FormHistory.jsm
+lib/firefox31/modules/FrameWorker.jsm
+lib/firefox31/modules/FrameWorkerContent.js
+lib/firefox31/modules/FreeSpaceWatcher.jsm
+lib/firefox31/modules/FxAccounts.jsm
+lib/firefox31/modules/FxAccountsClient.jsm
+lib/firefox31/modules/FxAccountsCommon.js
+lib/firefox31/modules/Geometry.jsm
+lib/firefox31/modules/HealthReport.jsm
+lib/firefox31/modules/Http.jsm
+lib/firefox31/modules/ISO8601DateUtils.jsm
+lib/firefox31/modules/IndexedDBHelper.jsm
+lib/firefox31/modules/InlineSpellChecker.jsm
+lib/firefox31/modules/InsecurePasswordUtils.jsm
+lib/firefox31/modules/InterAppCommService.jsm
+lib/firefox31/modules/Keyboard.jsm
+lib/firefox31/modules/LightweightThemeConsumer.jsm
+lib/firefox31/modules/LightweightThemeManager.jsm
+lib/firefox31/modules/LoadContextInfo.jsm
+lib/firefox31/modules/Log.jsm
+lib/firefox31/modules/LoginManagerContent.jsm
+lib/firefox31/modules/MessagePortBase.jsm
+lib/firefox31/modules/MessagePortWorker.js
+lib/firefox31/modules/Metrics.jsm
+lib/firefox31/modules/Microformats.js
+lib/firefox31/modules/MozSocialAPI.jsm
+lib/firefox31/modules/NativeApp.jsm
+lib/firefox31/modules/NetUtil.jsm
+lib/firefox31/modules/NewTabUtils.jsm
+lib/firefox31/modules/NotificationDB.jsm
+lib/firefox31/modules/ObjectWrapper.jsm
+lib/firefox31/modules/OfflineCacheInstaller.jsm
+lib/firefox31/modules/OperatorApps.jsm
+lib/firefox31/modules/PageMenu.jsm
+lib/firefox31/modules/PageThumbs.jsm
+lib/firefox31/modules/PageThumbsWorker.js
+lib/firefox31/modules/Payment.jsm
+lib/firefox31/modules/PerfMeasurement.jsm
+lib/firefox31/modules/PermissionPromptHelper.jsm
+lib/firefox31/modules/PermissionSettings.jsm
+lib/firefox31/modules/PermissionsInstaller.jsm
+lib/firefox31/modules/PermissionsTable.jsm
+lib/firefox31/modules/PermissionsUtils.jsm
+lib/firefox31/modules/PhoneNumber.jsm
+lib/firefox31/modules/PhoneNumberMetaData.jsm
+lib/firefox31/modules/PhoneNumberNormalizer.jsm
+lib/firefox31/modules/PhoneNumberUtils.jsm
+lib/firefox31/modules/PlacesBackups.jsm
+lib/firefox31/modules/PlacesDBUtils.jsm
+lib/firefox31/modules/PlacesTransactions.jsm
+lib/firefox31/modules/PlacesUtils.jsm
+lib/firefox31/modules/PluralForm.jsm
+lib/firefox31/modules/PopupNotifications.jsm
+lib/firefox31/modules/Preferences.jsm
+lib/firefox31/modules/PriorityUrlProvider.jsm
+lib/firefox31/modules/PrivateBrowsingUtils.jsm
+lib/firefox31/modules/Promise-backend.js
+lib/firefox31/modules/Promise.jsm
+lib/firefox31/modules/PropertyListUtils.jsm
+lib/firefox31/modules/PushService.jsm
+lib/firefox31/modules/RemoteAddonsChild.jsm
+lib/firefox31/modules/RemoteAddonsParent.jsm
+lib/firefox31/modules/RemoteController.jsm
+lib/firefox31/modules/RemoteFinder.jsm
+lib/firefox31/modules/RemoteSecurityUI.jsm
+lib/firefox31/modules/RemoteWebNavigation.jsm
+lib/firefox31/modules/RemoteWebProgress.jsm
+lib/firefox31/modules/ResetProfile.jsm
+lib/firefox31/modules/SafeBrowsing.jsm
+lib/firefox31/modules/ScriptPreloader.jsm
+lib/firefox31/modules/ScrollPosition.jsm
+lib/firefox31/modules/SelectContentHelper.jsm
+lib/firefox31/modules/SelectParentHelper.jsm
+lib/firefox31/modules/Services.jsm
+lib/firefox31/modules/SettingsChangeNotifier.jsm
+lib/firefox31/modules/SettingsDB.jsm
+lib/firefox31/modules/SettingsQueue.jsm
+lib/firefox31/modules/SharedPromptUtils.jsm
+lib/firefox31/modules/ShortcutUtils.jsm
+lib/firefox31/modules/Sntp.jsm
+lib/firefox31/modules/SocialService.jsm
+lib/firefox31/modules/SpatialNavigation.jsm
+lib/firefox31/modules/Sqlite.jsm
+lib/firefox31/modules/StoreTrustAnchor.jsm
+lib/firefox31/modules/SystemMessagePermissionsChecker.jsm
+lib/firefox31/modules/Task.jsm
+lib/firefox31/modules/TelemetryFile.jsm
+lib/firefox31/modules/TelemetryLog.jsm
+lib/firefox31/modules/TelemetryPing.jsm
+lib/firefox31/modules/TelemetryStopwatch.jsm
+lib/firefox31/modules/TelemetryTimestamps.jsm
+lib/firefox31/modules/ThirdPartyCookieProbe.jsm
+lib/firefox31/modules/Timer.jsm
+lib/firefox31/modules/Troubleshoot.jsm
+lib/firefox31/modules/UITelemetry.jsm
+lib/firefox31/modules/UpdateChannel.jsm
+lib/firefox31/modules/UserAgentOverrides.jsm
+lib/firefox31/modules/UserAgentUpdates.jsm
+lib/firefox31/modules/WebappOSUtils.jsm
+lib/firefox31/modules/Webapps.jsm
+lib/firefox31/modules/WindowDraggingUtils.jsm
+lib/firefox31/modules/WindowsPrefSync.jsm
+lib/firefox31/modules/WorkerAPI.jsm
+lib/firefox31/modules/XPCOMUtils.jsm
+lib/firefox31/modules/XPathGenerator.jsm
+lib/firefox31/modules/ZipUtils.jsm
+lib/firefox31/modules/accessibility/AccessFu.jsm
+lib/firefox31/modules/accessibility/Constants.jsm
+lib/firefox31/modules/accessibility/ContentControl.jsm
+lib/firefox31/modules/accessibility/EventManager.jsm
+lib/firefox31/modules/accessibility/Gestures.jsm
+lib/firefox31/modules/accessibility/OutputGenerator.jsm
+lib/firefox31/modules/accessibility/PointerAdapter.jsm
+lib/firefox31/modules/accessibility/Presentation.jsm
+lib/firefox31/modules/accessibility/TraversalRules.jsm
+lib/firefox31/modules/accessibility/Utils.jsm
+lib/firefox31/modules/addons/AddonLogging.jsm
+lib/firefox31/modules/addons/AddonRepository.jsm
+lib/firefox31/modules/addons/AddonRepository_SQLiteMigrator.jsm
+lib/firefox31/modules/addons/AddonUpdateChecker.jsm
+lib/firefox31/modules/addons/Content.js
+lib/firefox31/modules/addons/LightweightThemeImageOptimizer.jsm
+lib/firefox31/modules/addons/PluginProvider.jsm
+lib/firefox31/modules/addons/SpellCheckDictionaryBootstrap.js
+lib/firefox31/modules/addons/XPIProvider.jsm
+lib/firefox31/modules/addons/XPIProviderUtils.js
+lib/firefox31/modules/commonjs/diffpatcher/History.md
+lib/firefox31/modules/commonjs/diffpatcher/License.md
+lib/firefox31/modules/commonjs/diffpatcher/Readme.md
+lib/firefox31/modules/commonjs/diffpatcher/diff.js
+lib/firefox31/modules/commonjs/diffpatcher/index.js
+lib/firefox31/modules/commonjs/diffpatcher/package.json
+lib/firefox31/modules/commonjs/diffpatcher/patch.js
+lib/firefox31/modules/commonjs/diffpatcher/rebase.js
+lib/firefox31/modules/commonjs/diffpatcher/test/common.js
+lib/firefox31/modules/commonjs/diffpatcher/test/diff.js
+lib/firefox31/modules/commonjs/diffpatcher/test/index.js
+lib/firefox31/modules/commonjs/diffpatcher/test/patch.js
+lib/firefox31/modules/commonjs/diffpatcher/test/tap.js
+lib/firefox31/modules/commonjs/method/History.md
+lib/firefox31/modules/commonjs/method/License.md
+lib/firefox31/modules/commonjs/method/Readme.md
+lib/firefox31/modules/commonjs/method/core.js
+lib/firefox31/modules/commonjs/method/package.json
+lib/firefox31/modules/commonjs/method/test/browser.js
+lib/firefox31/modules/commonjs/method/test/common.js
+lib/firefox31/modules/commonjs/node/os.js
+lib/firefox31/modules/commonjs/sdk/addon-page.js
+lib/firefox31/modules/commonjs/sdk/addon/events.js
+lib/firefox31/modules/commonjs/sdk/addon/host.js
+lib/firefox31/modules/commonjs/sdk/addon/installer.js
+lib/firefox31/modules/commonjs/sdk/addon/runner.js
+lib/firefox31/modules/commonjs/sdk/addon/window.js
+lib/firefox31/modules/commonjs/sdk/base64.js
+lib/firefox31/modules/commonjs/sdk/browser/events.js
+lib/firefox31/modules/commonjs/sdk/clipboard.js
+lib/firefox31/modules/commonjs/sdk/console/plain-text.js
+lib/firefox31/modules/commonjs/sdk/console/traceback.js
+lib/firefox31/modules/commonjs/sdk/content/content-worker.js
+lib/firefox31/modules/commonjs/sdk/content/content.js
+lib/firefox31/modules/commonjs/sdk/content/events.js
+lib/firefox31/modules/commonjs/sdk/content/loader.js
+lib/firefox31/modules/commonjs/sdk/content/mod.js
+lib/firefox31/modules/commonjs/sdk/content/sandbox.js
+lib/firefox31/modules/commonjs/sdk/content/thumbnail.js
+lib/firefox31/modules/commonjs/sdk/content/utils.js
+lib/firefox31/modules/commonjs/sdk/content/worker.js
+lib/firefox31/modules/commonjs/sdk/context-menu.js
+lib/firefox31/modules/commonjs/sdk/core/disposable.js
+lib/firefox31/modules/commonjs/sdk/core/heritage.js
+lib/firefox31/modules/commonjs/sdk/core/namespace.js
+lib/firefox31/modules/commonjs/sdk/core/observer.js
+lib/firefox31/modules/commonjs/sdk/core/promise.js
+lib/firefox31/modules/commonjs/sdk/core/reference.js
+lib/firefox31/modules/commonjs/sdk/deprecated/api-utils.js
+lib/firefox31/modules/commonjs/sdk/deprecated/cortex.js
+lib/firefox31/modules/commonjs/sdk/deprecated/errors.js
+lib/firefox31/modules/commonjs/sdk/deprecated/events.js
+lib/firefox31/modules/commonjs/sdk/deprecated/events/assembler.js
+lib/firefox31/modules/commonjs/sdk/deprecated/light-traits.js
+lib/firefox31/modules/commonjs/sdk/deprecated/list.js
+lib/firefox31/modules/commonjs/sdk/deprecated/memory.js
+lib/firefox31/modules/commonjs/sdk/deprecated/symbiont.js
+lib/firefox31/modules/commonjs/sdk/deprecated/traits-worker.js
+lib/firefox31/modules/commonjs/sdk/deprecated/traits.js
+lib/firefox31/modules/commonjs/sdk/deprecated/traits/core.js
+lib/firefox31/modules/commonjs/sdk/deprecated/unit-test-finder.js
+lib/firefox31/modules/commonjs/sdk/deprecated/unit-test.js
+lib/firefox31/modules/commonjs/sdk/deprecated/window-utils.js
+lib/firefox31/modules/commonjs/sdk/dom/events.js
+lib/firefox31/modules/commonjs/sdk/dom/events/keys.js
+lib/firefox31/modules/commonjs/sdk/event/chrome.js
+lib/firefox31/modules/commonjs/sdk/event/core.js
+lib/firefox31/modules/commonjs/sdk/event/dom.js
+lib/firefox31/modules/commonjs/sdk/event/target.js
+lib/firefox31/modules/commonjs/sdk/event/utils.js
+lib/firefox31/modules/commonjs/sdk/frame/hidden-frame.js
+lib/firefox31/modules/commonjs/sdk/frame/utils.js
+lib/firefox31/modules/commonjs/sdk/fs/path.js
+lib/firefox31/modules/commonjs/sdk/hotkeys.js
+lib/firefox31/modules/commonjs/sdk/indexed-db.js
+lib/firefox31/modules/commonjs/sdk/input/browser.js
+lib/firefox31/modules/commonjs/sdk/input/customizable-ui.js
+lib/firefox31/modules/commonjs/sdk/input/frame.js
+lib/firefox31/modules/commonjs/sdk/input/system.js
+lib/firefox31/modules/commonjs/sdk/input/window.js
+lib/firefox31/modules/commonjs/sdk/io/buffer.js
+lib/firefox31/modules/commonjs/sdk/io/byte-streams.js
+lib/firefox31/modules/commonjs/sdk/io/data.js
+lib/firefox31/modules/commonjs/sdk/io/file.js
+lib/firefox31/modules/commonjs/sdk/io/fs.js
+lib/firefox31/modules/commonjs/sdk/io/stream.js
+lib/firefox31/modules/commonjs/sdk/io/text-streams.js
+lib/firefox31/modules/commonjs/sdk/keyboard/hotkeys.js
+lib/firefox31/modules/commonjs/sdk/keyboard/observer.js
+lib/firefox31/modules/commonjs/sdk/keyboard/utils.js
+lib/firefox31/modules/commonjs/sdk/l10n.js
+lib/firefox31/modules/commonjs/sdk/l10n/core.js
+lib/firefox31/modules/commonjs/sdk/l10n/html.js
+lib/firefox31/modules/commonjs/sdk/l10n/json/core.js
+lib/firefox31/modules/commonjs/sdk/l10n/loader.js
+lib/firefox31/modules/commonjs/sdk/l10n/locale.js
+lib/firefox31/modules/commonjs/sdk/l10n/plural-rules.js
+lib/firefox31/modules/commonjs/sdk/l10n/prefs.js
+lib/firefox31/modules/commonjs/sdk/l10n/properties/core.js
+lib/firefox31/modules/commonjs/sdk/lang/functional.js
+lib/firefox31/modules/commonjs/sdk/lang/type.js
+lib/firefox31/modules/commonjs/sdk/lang/weak-set.js
+lib/firefox31/modules/commonjs/sdk/loader/cuddlefish.js
+lib/firefox31/modules/commonjs/sdk/loader/sandbox.js
+lib/firefox31/modules/commonjs/sdk/model/core.js
+lib/firefox31/modules/commonjs/sdk/net/url.js
+lib/firefox31/modules/commonjs/sdk/net/xhr.js
+lib/firefox31/modules/commonjs/sdk/notifications.js
+lib/firefox31/modules/commonjs/sdk/output/system.js
+lib/firefox31/modules/commonjs/sdk/page-mod.js
+lib/firefox31/modules/commonjs/sdk/page-mod/match-pattern.js
+lib/firefox31/modules/commonjs/sdk/page-worker.js
+lib/firefox31/modules/commonjs/sdk/panel.js
+lib/firefox31/modules/commonjs/sdk/panel/events.js
+lib/firefox31/modules/commonjs/sdk/panel/utils.js
+lib/firefox31/modules/commonjs/sdk/panel/window.js
+lib/firefox31/modules/commonjs/sdk/passwords.js
+lib/firefox31/modules/commonjs/sdk/passwords/utils.js
+lib/firefox31/modules/commonjs/sdk/places/bookmarks.js
+lib/firefox31/modules/commonjs/sdk/places/contract.js
+lib/firefox31/modules/commonjs/sdk/places/events.js
+lib/firefox31/modules/commonjs/sdk/places/favicon.js
+lib/firefox31/modules/commonjs/sdk/places/history.js
+lib/firefox31/modules/commonjs/sdk/places/host/host-bookmarks.js
+lib/firefox31/modules/commonjs/sdk/places/host/host-query.js
+lib/firefox31/modules/commonjs/sdk/places/host/host-tags.js
+lib/firefox31/modules/commonjs/sdk/places/utils.js
+lib/firefox31/modules/commonjs/sdk/platform/xpcom.js
+lib/firefox31/modules/commonjs/sdk/preferences/event-target.js
+lib/firefox31/modules/commonjs/sdk/preferences/service.js
+lib/firefox31/modules/commonjs/sdk/private-browsing.js
+lib/firefox31/modules/commonjs/sdk/private-browsing/utils.js
+lib/firefox31/modules/commonjs/sdk/private-browsing/window/utils.js
+lib/firefox31/modules/commonjs/sdk/querystring.js
+lib/firefox31/modules/commonjs/sdk/request.js
+lib/firefox31/modules/commonjs/sdk/selection.js
+lib/firefox31/modules/commonjs/sdk/self.js
+lib/firefox31/modules/commonjs/sdk/simple-prefs.js
+lib/firefox31/modules/commonjs/sdk/simple-storage.js
+lib/firefox31/modules/commonjs/sdk/stylesheet/style.js
+lib/firefox31/modules/commonjs/sdk/stylesheet/utils.js
+lib/firefox31/modules/commonjs/sdk/system.js
+lib/firefox31/modules/commonjs/sdk/system/child_process.js
+lib/firefox31/modules/commonjs/sdk/system/child_process/LICENSE
+lib/firefox31/modules/commonjs/sdk/system/child_process/README.md
+lib/firefox31/modules/commonjs/sdk/system/child_process/subprocess.js
+lib/firefox31/modules/commonjs/sdk/system/child_process/subprocess_worker_unix.js
+lib/firefox31/modules/commonjs/sdk/system/child_process/subprocess_worker_win.js
+lib/firefox31/modules/commonjs/sdk/system/environment.js
+lib/firefox31/modules/commonjs/sdk/system/events.js
+lib/firefox31/modules/commonjs/sdk/system/globals.js
+lib/firefox31/modules/commonjs/sdk/system/process.js
+lib/firefox31/modules/commonjs/sdk/system/runtime.js
+lib/firefox31/modules/commonjs/sdk/system/unload.js
+lib/firefox31/modules/commonjs/sdk/system/xul-app.js
+lib/firefox31/modules/commonjs/sdk/tab/events.js
+lib/firefox31/modules/commonjs/sdk/tabs.js
+lib/firefox31/modules/commonjs/sdk/tabs/common.js
+lib/firefox31/modules/commonjs/sdk/tabs/events.js
+lib/firefox31/modules/commonjs/sdk/tabs/helpers.js
+lib/firefox31/modules/commonjs/sdk/tabs/namespace.js
+lib/firefox31/modules/commonjs/sdk/tabs/observer.js
+lib/firefox31/modules/commonjs/sdk/tabs/tab-fennec.js
+lib/firefox31/modules/commonjs/sdk/tabs/tab-firefox.js
+lib/firefox31/modules/commonjs/sdk/tabs/tab.js
+lib/firefox31/modules/commonjs/sdk/tabs/tabs-firefox.js
+lib/firefox31/modules/commonjs/sdk/tabs/utils.js
+lib/firefox31/modules/commonjs/sdk/tabs/worker.js
+lib/firefox31/modules/commonjs/sdk/test.js
+lib/firefox31/modules/commonjs/sdk/test/assert.js
+lib/firefox31/modules/commonjs/sdk/test/harness.js
+lib/firefox31/modules/commonjs/sdk/test/httpd.js
+lib/firefox31/modules/commonjs/sdk/test/loader.js
+lib/firefox31/modules/commonjs/sdk/test/memory.js
+lib/firefox31/modules/commonjs/sdk/test/runner.js
+lib/firefox31/modules/commonjs/sdk/test/tmp-file.js
+lib/firefox31/modules/commonjs/sdk/test/utils.js
+lib/firefox31/modules/commonjs/sdk/timers.js
+lib/firefox31/modules/commonjs/sdk/ui.js
+lib/firefox31/modules/commonjs/sdk/ui/button/action.js
+lib/firefox31/modules/commonjs/sdk/ui/button/contract.js
+lib/firefox31/modules/commonjs/sdk/ui/button/toggle.js
+lib/firefox31/modules/commonjs/sdk/ui/button/view.js
+lib/firefox31/modules/commonjs/sdk/ui/button/view/events.js
+lib/firefox31/modules/commonjs/sdk/ui/frame.js
+lib/firefox31/modules/commonjs/sdk/ui/frame/model.js
+lib/firefox31/modules/commonjs/sdk/ui/frame/view.html
+lib/firefox31/modules/commonjs/sdk/ui/frame/view.js
+lib/firefox31/modules/commonjs/sdk/ui/id.js
+lib/firefox31/modules/commonjs/sdk/ui/sidebar.js
+lib/firefox31/modules/commonjs/sdk/ui/sidebar/actions.js
+lib/firefox31/modules/commonjs/sdk/ui/sidebar/contract.js
+lib/firefox31/modules/commonjs/sdk/ui/sidebar/namespace.js
+lib/firefox31/modules/commonjs/sdk/ui/sidebar/utils.js
+lib/firefox31/modules/commonjs/sdk/ui/sidebar/view.js
+lib/firefox31/modules/commonjs/sdk/ui/state.js
+lib/firefox31/modules/commonjs/sdk/ui/state/events.js
+lib/firefox31/modules/commonjs/sdk/ui/toolbar.js
+lib/firefox31/modules/commonjs/sdk/ui/toolbar/model.js
+lib/firefox31/modules/commonjs/sdk/ui/toolbar/view.js
+lib/firefox31/modules/commonjs/sdk/url.js
+lib/firefox31/modules/commonjs/sdk/url/utils.js
+lib/firefox31/modules/commonjs/sdk/util/array.js
+lib/firefox31/modules/commonjs/sdk/util/collection.js
+lib/firefox31/modules/commonjs/sdk/util/contract.js
+lib/firefox31/modules/commonjs/sdk/util/deprecate.js
+lib/firefox31/modules/commonjs/sdk/util/dispatcher.js
+lib/firefox31/modules/commonjs/sdk/util/iteration.js
+lib/firefox31/modules/commonjs/sdk/util/list.js
+lib/firefox31/modules/commonjs/sdk/util/match-pattern.js
+lib/firefox31/modules/commonjs/sdk/util/object.js
+lib/firefox31/modules/commonjs/sdk/util/registry.js
+lib/firefox31/modules/commonjs/sdk/util/rules.js
+lib/firefox31/modules/commonjs/sdk/util/sequence.js
+lib/firefox31/modules/commonjs/sdk/util/uuid.js
+lib/firefox31/modules/commonjs/sdk/view/core.js
+lib/firefox31/modules/commonjs/sdk/widget.js
+lib/firefox31/modules/commonjs/sdk/window/browser.js
+lib/firefox31/modules/commonjs/sdk/window/events.js
+lib/firefox31/modules/commonjs/sdk/window/helpers.js
+lib/firefox31/modules/commonjs/sdk/window/namespace.js
+lib/firefox31/modules/commonjs/sdk/window/utils.js
+lib/firefox31/modules/commonjs/sdk/windows.js
+lib/firefox31/modules/commonjs/sdk/windows/dom.js
+lib/firefox31/modules/commonjs/sdk/windows/fennec.js
+lib/firefox31/modules/commonjs/sdk/windows/firefox.js
+lib/firefox31/modules/commonjs/sdk/windows/loader.js
+lib/firefox31/modules/commonjs/sdk/windows/observer.js
+lib/firefox31/modules/commonjs/sdk/windows/tabs-fennec.js
+lib/firefox31/modules/commonjs/sdk/windows/tabs-firefox.js
+lib/firefox31/modules/commonjs/sdk/worker/utils.js
+lib/firefox31/modules/commonjs/test.js
+lib/firefox31/modules/commonjs/toolkit/loader.js
+lib/firefox31/modules/ctypes.jsm
+lib/firefox31/modules/debug.js
+lib/firefox31/modules/devtools/Console.jsm
+lib/firefox31/modules/devtools/DevToolsExtensions.jsm
+lib/firefox31/modules/devtools/DevToolsUtils.js
+lib/firefox31/modules/devtools/DevToolsUtils.jsm
+lib/firefox31/modules/devtools/Devices.jsm
+lib/firefox31/modules/devtools/LayoutHelpers.jsm
+lib/firefox31/modules/devtools/Loader.jsm
+lib/firefox31/modules/devtools/Require.jsm
+lib/firefox31/modules/devtools/Simulator.jsm
+lib/firefox31/modules/devtools/SourceMap.jsm
+lib/firefox31/modules/devtools/Templater.jsm
+lib/firefox31/modules/devtools/acorn/acorn.js
+lib/firefox31/modules/devtools/acorn/acorn_loose.js
+lib/firefox31/modules/devtools/acorn/walk.js
+lib/firefox31/modules/devtools/app-actor-front.js
+lib/firefox31/modules/devtools/async-utils.js
+lib/firefox31/modules/devtools/client/connection-manager.js
+lib/firefox31/modules/devtools/content-observer.js
+lib/firefox31/modules/devtools/css-color.js
+lib/firefox31/modules/devtools/dbg-client.jsm
+lib/firefox31/modules/devtools/dbg-server.jsm
+lib/firefox31/modules/devtools/deprecated-sync-thenables.js
+lib/firefox31/modules/devtools/event-emitter.js
+lib/firefox31/modules/devtools/gcli.jsm
+lib/firefox31/modules/devtools/gcli/api.js
+lib/firefox31/modules/devtools/gcli/cli.js
+lib/firefox31/modules/devtools/gcli/commands/addon.js
+lib/firefox31/modules/devtools/gcli/commands/appcache.js
+lib/firefox31/modules/devtools/gcli/commands/calllog.js
+lib/firefox31/modules/devtools/gcli/commands/clear.js
+lib/firefox31/modules/devtools/gcli/commands/cmd.js
+lib/firefox31/modules/devtools/gcli/commands/commands.js
+lib/firefox31/modules/devtools/gcli/commands/connect.js
+lib/firefox31/modules/devtools/gcli/commands/context.js
+lib/firefox31/modules/devtools/gcli/commands/cookie.js
+lib/firefox31/modules/devtools/gcli/commands/exec.js
+lib/firefox31/modules/devtools/gcli/commands/global.js
+lib/firefox31/modules/devtools/gcli/commands/help.js
+lib/firefox31/modules/devtools/gcli/commands/intro.js
+lib/firefox31/modules/devtools/gcli/commands/jsb.js
+lib/firefox31/modules/devtools/gcli/commands/lang.js
+lib/firefox31/modules/devtools/gcli/commands/listen.js
+lib/firefox31/modules/devtools/gcli/commands/media.js
+lib/firefox31/modules/devtools/gcli/commands/mocks.js
+lib/firefox31/modules/devtools/gcli/commands/pagemod.js
+lib/firefox31/modules/devtools/gcli/commands/paintflashing.js
+lib/firefox31/modules/devtools/gcli/commands/pref.js
+lib/firefox31/modules/devtools/gcli/commands/preflist.js
+lib/firefox31/modules/devtools/gcli/commands/restart.js
+lib/firefox31/modules/devtools/gcli/commands/screenshot.js
+lib/firefox31/modules/devtools/gcli/commands/test.js
+lib/firefox31/modules/devtools/gcli/commands/tools.js
+lib/firefox31/modules/devtools/gcli/connectors/connectors.js
+lib/firefox31/modules/devtools/gcli/connectors/index.js
+lib/firefox31/modules/devtools/gcli/connectors/protocol.js
+lib/firefox31/modules/devtools/gcli/connectors/rdp.js
+lib/firefox31/modules/devtools/gcli/connectors/remoted.js
+lib/firefox31/modules/devtools/gcli/converters/basic.js
+lib/firefox31/modules/devtools/gcli/converters/converters.js
+lib/firefox31/modules/devtools/gcli/converters/html.js
+lib/firefox31/modules/devtools/gcli/converters/terminal.js
+lib/firefox31/modules/devtools/gcli/fields/delegate.js
+lib/firefox31/modules/devtools/gcli/fields/fields.js
+lib/firefox31/modules/devtools/gcli/fields/selection.js
+lib/firefox31/modules/devtools/gcli/index.js
+lib/firefox31/modules/devtools/gcli/languages/command.html
+lib/firefox31/modules/devtools/gcli/languages/command.js
+lib/firefox31/modules/devtools/gcli/languages/javascript.js
+lib/firefox31/modules/devtools/gcli/languages/languages.js
+lib/firefox31/modules/devtools/gcli/mozui/completer.js
+lib/firefox31/modules/devtools/gcli/mozui/ffdisplay.js
+lib/firefox31/modules/devtools/gcli/mozui/inputter.js
+lib/firefox31/modules/devtools/gcli/mozui/tooltip.js
+lib/firefox31/modules/devtools/gcli/settings.js
+lib/firefox31/modules/devtools/gcli/types/array.js
+lib/firefox31/modules/devtools/gcli/types/boolean.js
+lib/firefox31/modules/devtools/gcli/types/command.js
+lib/firefox31/modules/devtools/gcli/types/date.js
+lib/firefox31/modules/devtools/gcli/types/delegate.js
+lib/firefox31/modules/devtools/gcli/types/file.js
+lib/firefox31/modules/devtools/gcli/types/fileparser.js
+lib/firefox31/modules/devtools/gcli/types/javascript.js
+lib/firefox31/modules/devtools/gcli/types/node.js
+lib/firefox31/modules/devtools/gcli/types/number.js
+lib/firefox31/modules/devtools/gcli/types/resource.js
+lib/firefox31/modules/devtools/gcli/types/selection.js
+lib/firefox31/modules/devtools/gcli/types/setting.js
+lib/firefox31/modules/devtools/gcli/types/string.js
+lib/firefox31/modules/devtools/gcli/types/types.js
+lib/firefox31/modules/devtools/gcli/ui/focus.js
+lib/firefox31/modules/devtools/gcli/ui/history.js
+lib/firefox31/modules/devtools/gcli/ui/intro.js
+lib/firefox31/modules/devtools/gcli/ui/menu.css
+lib/firefox31/modules/devtools/gcli/ui/menu.html
+lib/firefox31/modules/devtools/gcli/ui/menu.js
+lib/firefox31/modules/devtools/gcli/ui/view.js
+lib/firefox31/modules/devtools/gcli/util/domtemplate.js
+lib/firefox31/modules/devtools/gcli/util/fileparser.js
+lib/firefox31/modules/devtools/gcli/util/filesystem.js
+lib/firefox31/modules/devtools/gcli/util/host.js
+lib/firefox31/modules/devtools/gcli/util/l10n.js
+lib/firefox31/modules/devtools/gcli/util/legacy.js
+lib/firefox31/modules/devtools/gcli/util/prism.js
+lib/firefox31/modules/devtools/gcli/util/promise.js
+lib/firefox31/modules/devtools/gcli/util/spell.js
+lib/firefox31/modules/devtools/gcli/util/util.js
+lib/firefox31/modules/devtools/output-parser.js
+lib/firefox31/modules/devtools/pretty-fast.js
+lib/firefox31/modules/devtools/server/actors/call-watcher.js
+lib/firefox31/modules/devtools/server/actors/canvas.js
+lib/firefox31/modules/devtools/server/actors/childtab.js
+lib/firefox31/modules/devtools/server/actors/common.js
+lib/firefox31/modules/devtools/server/actors/device.js
+lib/firefox31/modules/devtools/server/actors/eventlooplag.js
+lib/firefox31/modules/devtools/server/actors/gcli.js
+lib/firefox31/modules/devtools/server/actors/highlighter.js
+lib/firefox31/modules/devtools/server/actors/inspector.js
+lib/firefox31/modules/devtools/server/actors/memory.js
+lib/firefox31/modules/devtools/server/actors/preference.js
+lib/firefox31/modules/devtools/server/actors/pretty-print-worker.js
+lib/firefox31/modules/devtools/server/actors/profiler.js
+lib/firefox31/modules/devtools/server/actors/root.js
+lib/firefox31/modules/devtools/server/actors/script.js
+lib/firefox31/modules/devtools/server/actors/storage.js
+lib/firefox31/modules/devtools/server/actors/string.js
+lib/firefox31/modules/devtools/server/actors/styleeditor.js
+lib/firefox31/modules/devtools/server/actors/styles.js
+lib/firefox31/modules/devtools/server/actors/stylesheets.js
+lib/firefox31/modules/devtools/server/actors/tracer.js
+lib/firefox31/modules/devtools/server/actors/webapps.js
+lib/firefox31/modules/devtools/server/actors/webaudio.js
+lib/firefox31/modules/devtools/server/actors/webbrowser.js
+lib/firefox31/modules/devtools/server/actors/webconsole.js
+lib/firefox31/modules/devtools/server/actors/webgl.js
+lib/firefox31/modules/devtools/server/child.js
+lib/firefox31/modules/devtools/server/main.js
+lib/firefox31/modules/devtools/server/protocol.js
+lib/firefox31/modules/devtools/server/transport.js
+lib/firefox31/modules/devtools/source-map.js
+lib/firefox31/modules/devtools/styleinspector/css-logic.js
+lib/firefox31/modules/devtools/toolkit/webconsole/client.js
+lib/firefox31/modules/devtools/toolkit/webconsole/network-helper.js
+lib/firefox31/modules/devtools/toolkit/webconsole/network-monitor.js
+lib/firefox31/modules/devtools/toolkit/webconsole/utils.js
+lib/firefox31/modules/devtools/touch-events.js
+lib/firefox31/modules/identity/FirefoxAccounts.jsm
+lib/firefox31/modules/identity/Identity.jsm
+lib/firefox31/modules/identity/IdentityProvider.jsm
+lib/firefox31/modules/identity/IdentityStore.jsm
+lib/firefox31/modules/identity/IdentityUtils.jsm
+lib/firefox31/modules/identity/LogUtils.jsm
+lib/firefox31/modules/identity/MinimalIdentity.jsm
+lib/firefox31/modules/identity/RelyingParty.jsm
+lib/firefox31/modules/identity/Sandbox.jsm
+lib/firefox31/modules/identity/jwcrypto.jsm
+lib/firefox31/modules/jsdebugger.jsm
+lib/firefox31/modules/mcc_iso3166_table.jsm
+lib/firefox31/modules/media/IdpProxy.jsm
+lib/firefox31/modules/media/PeerConnectionIdp.jsm
+lib/firefox31/modules/nsFormAutoCompleteResult.jsm
+lib/firefox31/modules/osfile.jsm
+lib/firefox31/modules/osfile/_PromiseWorker.jsm
+lib/firefox31/modules/osfile/osfile_async_front.jsm
+lib/firefox31/modules/osfile/osfile_async_worker.js
+lib/firefox31/modules/osfile/osfile_native.jsm
+lib/firefox31/modules/osfile/osfile_shared_allthreads.jsm
+lib/firefox31/modules/osfile/osfile_shared_front.jsm
+lib/firefox31/modules/osfile/osfile_unix_allthreads.jsm
+lib/firefox31/modules/osfile/osfile_unix_back.jsm
+lib/firefox31/modules/osfile/osfile_unix_front.jsm
+lib/firefox31/modules/osfile/osfile_win_allthreads.jsm
+lib/firefox31/modules/osfile/osfile_win_back.jsm
+lib/firefox31/modules/osfile/osfile_win_front.jsm
+lib/firefox31/modules/osfile/ospath.jsm
+lib/firefox31/modules/osfile/ospath_unix.jsm
+lib/firefox31/modules/osfile/ospath_win.jsm
+lib/firefox31/modules/reflect.jsm
+lib/firefox31/modules/services-common/async.js
+lib/firefox31/modules/services-common/bagheeraclient.js
+lib/firefox31/modules/services-common/hawkclient.js
+lib/firefox31/modules/services-common/hawkrequest.js
+lib/firefox31/modules/services-common/observers.js
+lib/firefox31/modules/services-common/rest.js
+lib/firefox31/modules/services-common/storageservice.js
+lib/firefox31/modules/services-common/stringbundle.js
+lib/firefox31/modules/services-common/tokenserverclient.js
+lib/firefox31/modules/services-common/utils.js
+lib/firefox31/modules/services-crypto/WeaveCrypto.js
+lib/firefox31/modules/services-crypto/utils.js
+lib/firefox31/modules/services-sync/addonsreconciler.js
+lib/firefox31/modules/services-sync/addonutils.js
+lib/firefox31/modules/services-sync/browserid_identity.js
+lib/firefox31/modules/services-sync/constants.js
+lib/firefox31/modules/services-sync/engines.js
+lib/firefox31/modules/services-sync/engines/addons.js
+lib/firefox31/modules/services-sync/engines/bookmarks.js
+lib/firefox31/modules/services-sync/engines/clients.js
+lib/firefox31/modules/services-sync/engines/forms.js
+lib/firefox31/modules/services-sync/engines/history.js
+lib/firefox31/modules/services-sync/engines/passwords.js
+lib/firefox31/modules/services-sync/engines/prefs.js
+lib/firefox31/modules/services-sync/engines/tabs.js
+lib/firefox31/modules/services-sync/healthreport.jsm
+lib/firefox31/modules/services-sync/identity.js
+lib/firefox31/modules/services-sync/jpakeclient.js
+lib/firefox31/modules/services-sync/keys.js
+lib/firefox31/modules/services-sync/main.js
+lib/firefox31/modules/services-sync/notifications.js
+lib/firefox31/modules/services-sync/policies.js
+lib/firefox31/modules/services-sync/record.js
+lib/firefox31/modules/services-sync/resource.js
+lib/firefox31/modules/services-sync/rest.js
+lib/firefox31/modules/services-sync/service.js
+lib/firefox31/modules/services-sync/stages/cluster.js
+lib/firefox31/modules/services-sync/stages/declined.js
+lib/firefox31/modules/services-sync/stages/enginesync.js
+lib/firefox31/modules/services-sync/status.js
+lib/firefox31/modules/services-sync/userapi.js
+lib/firefox31/modules/services-sync/util.js
+lib/firefox31/modules/services/datareporting/policy.jsm
+lib/firefox31/modules/services/datareporting/sessions.jsm
+lib/firefox31/modules/services/healthreport/healthreporter.jsm
+lib/firefox31/modules/services/healthreport/profile.jsm
+lib/firefox31/modules/services/healthreport/providers.jsm
+lib/firefox31/modules/services/metrics/dataprovider.jsm
+lib/firefox31/modules/services/metrics/providermanager.jsm
+lib/firefox31/modules/services/metrics/storage.jsm
+lib/firefox31/modules/sqlite/sqlite_internal.js
+lib/firefox31/modules/vtt.jsm
+lib/firefox31/modules/workers/lz4.js
+lib/firefox31/modules/workers/lz4_internal.js
+lib/firefox31/modules/workers/require.js
+lib/firefox31/mozilla-xremote-client
+lib/firefox31/platform.ini
+lib/firefox31/plugin-container
+lib/firefox31/removed-files
+lib/firefox31/res/EditorOverride.css
+lib/firefox31/res/ImageDocument.css
+lib/firefox31/res/TopLevelImageDocument.css
+lib/firefox31/res/TopLevelVideoDocument.css
+lib/firefox31/res/contenteditable.css
+lib/firefox31/res/designmode.css
+lib/firefox31/res/dtd/htmlmathml-f.ent
+lib/firefox31/res/entityTables/html40Latin1.properties
+lib/firefox31/res/entityTables/html40Special.properties
+lib/firefox31/res/entityTables/html40Symbols.properties
+lib/firefox31/res/entityTables/htmlEntityVersions.properties
+lib/firefox31/res/entityTables/mathml20.properties
+lib/firefox31/res/entityTables/transliterate.properties
+lib/firefox31/res/fonts/mathfont.properties
+lib/firefox31/res/fonts/mathfontMathJax_Main.properties
+lib/firefox31/res/fonts/mathfontSTIXNonUnicode.properties
+lib/firefox31/res/fonts/mathfontSTIXSizeOneSym.properties
+lib/firefox31/res/fonts/mathfontStandardSymbolsL.properties
+lib/firefox31/res/fonts/mathfontUnicode.properties
+lib/firefox31/res/grabber.gif
+lib/firefox31/res/html/folder.png
+lib/firefox31/res/langGroups.properties
+lib/firefox31/res/language.properties
+lib/firefox31/res/svg.css
+lib/firefox31/res/table-add-column-after-active.gif
+lib/firefox31/res/table-add-column-after-hover.gif
+lib/firefox31/res/table-add-column-after.gif
+lib/firefox31/res/table-add-column-before-active.gif
+lib/firefox31/res/table-add-column-before-hover.gif
+lib/firefox31/res/table-add-column-before.gif
+lib/firefox31/res/table-add-row-after-active.gif
+lib/firefox31/res/table-add-row-after-hover.gif
+lib/firefox31/res/table-add-row-after.gif
+lib/firefox31/res/table-add-row-before-active.gif
+lib/firefox31/res/table-add-row-before-hover.gif
+lib/firefox31/res/table-add-row-before.gif
+lib/firefox31/res/table-remove-column-active.gif
+lib/firefox31/res/table-remove-column-hover.gif
+lib/firefox31/res/table-remove-column.gif
+lib/firefox31/res/table-remove-row-active.gif
+lib/firefox31/res/table-remove-row-hover.gif
+lib/firefox31/res/table-remove-row.gif
+lib/firefox31/run-mozilla.sh
+lib/firefox31/webapprt-stub
+lib/firefox31/webapprt/chrome.manifest
+lib/firefox31/webapprt/chrome/chrome.manifest
+lib/firefox31/webapprt/chrome/en-US/locale/webapprt/appstrings.properties
+lib/firefox31/webapprt/chrome/en-US/locale/webapprt/dom.properties
+lib/firefox31/webapprt/chrome/en-US/locale/webapprt/getUserMediaDialog.dtd
+lib/firefox31/webapprt/chrome/en-US/locale/webapprt/webapp.dtd
+lib/firefox31/webapprt/chrome/en-US/locale/webapprt/webapp.properties
+lib/firefox31/webapprt/chrome/webapprt/content/dbg-webapp-actors.js
+lib/firefox31/webapprt/chrome/webapprt/content/getUserMediaDialog.js
+lib/firefox31/webapprt/chrome/webapprt/content/getUserMediaDialog.xul
+lib/firefox31/webapprt/chrome/webapprt/content/mochitest-shared.js
+lib/firefox31/webapprt/chrome/webapprt/content/mochitest.js
+lib/firefox31/webapprt/chrome/webapprt/content/mochitest.xul
+lib/firefox31/webapprt/chrome/webapprt/content/webapp.js
+lib/firefox31/webapprt/chrome/webapprt/content/webapp.xul
+lib/firefox31/webapprt/components/CommandLineHandler.js
+lib/firefox31/webapprt/components/ContentPermission.js
+lib/firefox31/webapprt/components/DirectoryProvider.js
+lib/firefox31/webapprt/components/PaymentUIGlue.js
+lib/firefox31/webapprt/components/components.manifest
+lib/firefox31/webapprt/defaults/preferences/prefs.js
+lib/firefox31/webapprt/modules/RemoteDebugger.jsm
+lib/firefox31/webapprt/modules/Startup.jsm
+lib/firefox31/webapprt/modules/WebRTCHandler.jsm
+lib/firefox31/webapprt/modules/WebappManager.jsm
+lib/firefox31/webapprt/modules/WebappRT.jsm
+lib/firefox31/webapprt/webapprt.ini
+share/applications/firefox31.desktop
+share/pixmaps/firefox31.png
diff --git a/www/firefox31/distinfo b/www/firefox31/distinfo
new file mode 100644
index 00000000000..b00ef8f2e29
--- /dev/null
+++ b/www/firefox31/distinfo
@@ -0,0 +1,142 @@
+$NetBSD: distinfo,v 1.1 2014/11/03 12:18:31 ryoon Exp $
+
+SHA1 (firefox-31.2.0esr.source.tar.bz2) = 9ddfde95fcd19633446f859c5bca77c62815d390
+RMD160 (firefox-31.2.0esr.source.tar.bz2) = 51d1600f1f2ee84cdef97a343b0ab03c8a0e4859
+Size (firefox-31.2.0esr.source.tar.bz2) = 147362334 bytes
+SHA1 (patch-aa) = 381ec50c3e66a2637f19401ac2c5ec4a29dc5627
+SHA1 (patch-ak) = 971ddb1f12b14bcee604c9d7e72da5e7bf47d9be
+SHA1 (patch-al) = cca5df21d018bb9f428ad26d00718f33afe88ec5
+SHA1 (patch-ao) = 667bda0930c024b21f2202587ad224b722ed612c
+SHA1 (patch-as) = c197e5bf9ef2f325add320f59c81525b1162a2d3
+SHA1 (patch-b2g_installer_Makefile.in) = 7b3cca1da34c444c1055deec21723db909ec3d94
+SHA1 (patch-b2g_installer_package-manifest.in) = 56d73f510fb807ad11f40b0ceec50961049549da
+SHA1 (patch-bf) = 75c971043e9f693203d6bd670b2c20c4952a7756
+SHA1 (patch-bg) = d6c02294765265d9e85cf49c22320d88573c2e25
+SHA1 (patch-bi) = 3dd927d93431afe000cd4a45b4d9920e63158a85
+SHA1 (patch-browser_app_nsBrowserApp.cpp) = 00914f7656fff6785d737ce6e569a97fe39aafe8
+SHA1 (patch-browser_app_profile_firefox.js) = 108efbe1ae65669912d2f76caec546753e1ac8f3
+SHA1 (patch-browser_installer_package-manifest.in) = 83a0073525c607e05414688aa07035cc3f08e50a
+SHA1 (patch-browser_locales_en-US_chrome_browser-region_region.properties) = 284d62596718d7f372c4e5214fd05adec043c93a
+SHA1 (patch-browser_locales_en-US_searchplugins_duckduckgo.xml) = 69eca52185ac868e95041b5d87611ee32c2b6330
+SHA1 (patch-browser_locales_en-US_searchplugins_list.txt) = a6677b3a195b6c956858326e4e7474441823a47f
+SHA1 (patch-build_autoconf_compiler-opts.m4) = ccdc06a2b07b7664f9cb91bcc4fb29052dda8b07
+SHA1 (patch-build_autoconf_nss.m4) = bf65db126705a3a1ba294418b9380683ea401fc7
+SHA1 (patch-build_gyp.mozbuild) = 2842da0783d344dd12e86adde447f7cda6191518
+SHA1 (patch-build_pgo_profileserver.py) = 8666187258e47c037f2065a19a5b38946fdc0f6c
+SHA1 (patch-config_Makefile.in) = 296bd3bc33346cfcfa658fe641c2ee2ac67549f1
+SHA1 (patch-config_baseconfig.mk) = 07c295fbfbaeb969b336def32d8924729e332075
+SHA1 (patch-config_external_moz.build) = f437c4802de266caf512dc470879c8ed0961559b
+SHA1 (patch-config_rules.mk) = ec74e2e385e95252a1325c8c9c859a0b2dcee693
+SHA1 (patch-config_stl__wrappers_ios) = 00d723e2f2f252485350ede5833f0bb84c1235c1
+SHA1 (patch-config_stl__wrappers_ostream) = 7be7fe36704ffbdc070a113b46b4f391a598206b
+SHA1 (patch-config_system-headers) = c586c07d96ba3bd6ac35247ed50eab0978ccc949
+SHA1 (patch-config_system__wrappers_unwind.h) = b3bdac0710179b9c8f8eabd824216d0114504491
+SHA1 (patch-content_base_src_moz.build) = fc2660dcc82f11c89d6d5a5772f27c9827f58f44
+SHA1 (patch-content_media_AudioStream.cpp) = 70021dfd1cc86e8999f144b49a23bfb27dd24157
+SHA1 (patch-content_media_AudioStream.h) = 11cd8649f35c001fa0bf9e0f6119e49bd41ab9b4
+SHA1 (patch-content_media_Makefile.in) = 54c8c5e41eb36bae0ce544360ded9f75ba3acc13
+SHA1 (patch-content_media_fmp4_demuxer_bit_reader.cc) = 6d87cd7231e61a12396d15dd2fa3d1a51051e8ee
+SHA1 (patch-content_media_gstreamer_GStreamerAllocator.cpp) = 524a669e411189926e142912b6d94d3d8dbdb0eb
+SHA1 (patch-dom_plugins_ipc_PluginModuleChild.cpp) = 69b0a51d733cd52e7d200052362e0faf4ec918f1
+SHA1 (patch-dom_plugins_ipc_PluginModuleChild.h) = 0a7f3167e939822013ae6195406657453578453e
+SHA1 (patch-dom_plugins_ipc_PluginProcessChild.cpp) = 5ab28cc0398b72cb5e1b0586406845495b9f87e4
+SHA1 (patch-dom_system_OSFileConstants.cpp) = fec01c3c2c1b7e1c57abe9ec269067ee98eede3d
+SHA1 (patch-extensions_spellcheck_hunspell_src_mozHunspell.cpp) = a2a0652d0eac018fda06e729bf5ba786dd8a3866
+SHA1 (patch-gfx_graphite2_src_Bidi.cpp) = 5e80b4a32a47ae44d237fec69ea87bdd612a76ce
+SHA1 (patch-gfx_moz.build) = a98bda4727538f4a0f09a20b84f9dd883edaf7d9
+SHA1 (patch-gfx_skia_Makefile.in) = 03349db0ff9b14c2012c36d746adf2ee6cb87e62
+SHA1 (patch-gfx_thebes_Makefile.in) = 16b63bc42870aa8c042416c6e04b3513981ca6f0
+SHA1 (patch-image_decoders_nsJPEGDecoder.cpp) = e5df11499b1ec14e1d4c9a1408c0611d1c4e0574
+SHA1 (patch-intl_hyphenation_src_hnjalloc.h) = 7fcc7b0fcf5a33486214197e925fbc8e6e22e2ee
+SHA1 (patch-intl_unicharutil_util_Makefile.in) = c8f37cc420ba26b63c66fbbf69b13a8b4fea43fc
+SHA1 (patch-ipc_chromium_Makefile.in) = edd85b79cd3879f7595b932442bb0e93505d5506
+SHA1 (patch-ipc_chromium_moz.build) = de12255865e45cfdf0f7dc57ce101be75ac8ad54
+SHA1 (patch-ipc_chromium_src_base_base__paths.h) = 7bc83577a9678542db4dff7dda19d751ff6d78c1
+SHA1 (patch-ipc_chromium_src_base_debug__util__posix.cc) = 677f0b5ccdcde7a8551f2d07d2a472361a5da03f
+SHA1 (patch-ipc_chromium_src_base_file__util.h) = 9d6d074b1692c6b4e722bfac8d67c66040a6fa76
+SHA1 (patch-ipc_chromium_src_base_file__util__posix.cc) = 18096b89ac3f239a0eb7c1d9c5080c1ac2c73e1b
+SHA1 (patch-ipc_chromium_src_base_message__loop.cc) = 16158489773bbcba35e224d30bebace0c93599ae
+SHA1 (patch-ipc_chromium_src_base_message__pump__libevent.cc) = 12f3e063cf3fef23f0e3e0fdba5d5a4c1fc32af3
+SHA1 (patch-ipc_chromium_src_base_platform__thread.h) = e6d7ac39a8b2a1b232638f7671e8530acfed0b97
+SHA1 (patch-ipc_chromium_src_base_platform__thread__posix.cc) = ff1371ffb84abf2d2adcf25e66502943992d5109
+SHA1 (patch-ipc_chromium_src_base_process__util.h) = 31b592d69d3c4f63642dae3c81c771ee3dfa8502
+SHA1 (patch-ipc_chromium_src_base_process__util__bsd.cc) = 4f05fce050796f86b5aedf910eb709c9969fa982
+SHA1 (patch-ipc_chromium_src_base_process__util__posix.cc) = 6b2611cc902f17e726aabcf4fb5fff2c71852408
+SHA1 (patch-ipc_chromium_src_base_scoped__nsautorelease__pool.h) = 8c61a35e99e7f54e4b2bf5931c59eb2b7a04127a
+SHA1 (patch-ipc_chromium_src_base_sys__info__posix.cc) = 27890c56194e483fc0758ed767ca5795cc5112eb
+SHA1 (patch-ipc_chromium_src_base_time__posix.cc) = 337a0b4a5d51d68c7699b79c7591b953ea23ca67
+SHA1 (patch-ipc_chromium_src_build_build__config.h) = af5a10df7d8fe9715f0e43cd6be14f8f20c53517
+SHA1 (patch-ipc_chromium_src_chrome_common_transport__dib.h) = 7af18973c005d7b144a225bacf41833e059cb400
+SHA1 (patch-ipc_glue_GeckoChildProcessHost.cpp) = 9a158075e31e2c8d6159bd4b97d0b272e193f3db
+SHA1 (patch-ipc_glue_ScopedXREEmbed.cpp) = 97c39f25527dac4c22b38ce446ca2cd4cef08fd0
+SHA1 (patch-ipc_glue_StringUtil.cpp) = f238adebb5bdf57f7109a781c6f3fb195763f3c0
+SHA1 (patch-ipc_ipdl_ipdl_cxx_ast.py) = 047b7012dffdcfc2b07d2d249fb3523e7d4643f8
+SHA1 (patch-ipc_ipdl_ipdl_cxx_cgen.py) = d7f7dc85b1ff26c6d7e902f94c0ac09f04497105
+SHA1 (patch-ipc_ipdl_ipdl_lower.py) = 2ef9504e462d0e3db16f9b0a6303ea5971b9c2a2
+SHA1 (patch-js__src__vm__SPSProfiler.cpp) = 989ba25e4c5308d21d07baa802decce13609a475
+SHA1 (patch-js_src_Makefile.in) = 780e408dfddfd90c6013b316e2e52800c62eee5e
+SHA1 (patch-js_src_ctypes_CTypes.h) = 768a084239f92a424c1c7dc9eaaf9be9456ca9f0
+SHA1 (patch-js_src_frontend_ParseMaps.cpp) = c00117d79b78904bc50a1d664a8fc0e4e339bfbc
+SHA1 (patch-js_src_gc_Memory.cpp) = 3db31553ec6f7b1fac4fd4ce11b77be1ea4208b8
+SHA1 (patch-js_src_jsmath.cpp) = 7d4993ae91e9b5e6820358165603819aefb586f9
+SHA1 (patch-mb) = b661abce429a88554fca6c930b4dbf71ba6bb5cb
+SHA1 (patch-media_libcubeb_src_Makefile.in) = fe880774789b0be54dec6fd83b89457fc8c2cabc
+SHA1 (patch-media_libcubeb_src_cubeb__alsa.c) = 5ef0de0ac875334e959ff0d4bfa43a2e5ab087b9
+SHA1 (patch-media_libcubeb_src_moz.build) = 822833bc0fd60cd4936550dc43af3294ebac40cd
+SHA1 (patch-media_libpng_pngpriv.h) = c9cefd1b5dd85fbd0c875c3f9bc108975398fe3a
+SHA1 (patch-media_libsoundtouch_src_cpu__detect__x86.cpp) = db61737afa7773e8cbd82976de3a02c917174696
+SHA1 (patch-media_libtheora_Makefile.in) = 80ac9cb20760fe4d94047f7cb1c6a16bbdd6b505
+SHA1 (patch-media_libtremor_Makefile.in) = 497d03646caa721bdd129de365aadea8466043af
+SHA1 (patch-media_libvorbis_Makefile.in) = fd1ce15268eed9c97dd0774398d559cdbed63e53
+SHA1 (patch-media_mtransport_third__party_nICEr_src_util_mbslen.c) = 087e8788c72b96d2059ca82ce4282d78aed546da
+SHA1 (patch-media_mtransport_third__party_nrappkit_src_port_generic_include_sys_queue.h) = de7055f891387f96f8fd32366c7189d480354e9e
+SHA1 (patch-media_webrtc_signaling_signaling.gyp) = 91d5fcc2409b1398c84dedc9697107f815de48fc
+SHA1 (patch-media_webrtc_signaling_test_Makefile.in) = 509e07cba9aeca256ef28674862ce81bac7253bd
+SHA1 (patch-media_webrtc_trunk_webrtc_build_common.gypi) = 4ff5796e15d9aa6adb8495d6f2e5a7f0445a0fac
+SHA1 (patch-media_webrtc_trunk_webrtc_modules_audio__coding_codecs_opus_opus.gypi) = ae0fcc32f7d146d2a494b42a58a9fcbb73c2a74c
+SHA1 (patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc) = 9ff1dcf200feaf67bf576f07beb612e0ec91d7d1
+SHA1 (patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc) = ffc1d956e826a0005b76285596ba24a2f4a3806c
+SHA1 (patch-media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi) = 4721f01a89ef353c9b743b3cfefda4877d5283d9
+SHA1 (patch-media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp) = 78a9522f0e37cfc3ec8267e6c15de9dba0ec7ff3
+SHA1 (patch-memory_jemalloc_Makefile.in) = 772e996c8da254f952d0f3a0c9325a177c838543
+SHA1 (patch-memory_mozalloc_mozalloc__abort.cpp) = 9d9036ddd28c7b8ce37860e0120df2997a3a0c59
+SHA1 (patch-mfbt_Alignment.h) = 9ebc9892fd11eba7105974979b54f4f8759b7749
+SHA1 (patch-mfbt_Attributes.h) = e99809555ce743e7e393cdf20efa3a00c0b9098a
+SHA1 (patch-mfbt_Poison.cpp) = b582943c02f57835451c9eecd004c9912d42ce84
+SHA1 (patch-mobile_android_installer_Makefile.in) = b2ea844a0145f4c15ef1b350dde6b000bd231fa5
+SHA1 (patch-mobile_android_installer_package-manifest.in) = 9664858fe3b4593eb29dd0180d5a2df3cd245bb2
+SHA1 (patch-modules_libjar_nsZipArchive.cpp) = 6aff0f8ed42575d8ca36a524e12e9a1f7351004a
+SHA1 (patch-netwerk_dns_Makefile.in) = b6bd9814d909dd6f7cff10dbeac3bedd79c2508e
+SHA1 (patch-pb) = 97c9b2e4cefd524dc6ba825f71c3da2a761aa1f4
+SHA1 (patch-pc) = 8b2baa88f0983a2fef4f801cf6b1ae425f6c813a
+SHA1 (patch-probes_Makefile.in) = 9a8d48556daaaa17996133a6183b1d27f0510361
+SHA1 (patch-rc) = 2733724442a2cb49c5091146fd7e6001af686121
+SHA1 (patch-security_manager_ssl_src_nsNSSComponent.cpp) = c4c96b7d3cb0c5dbcfe3820fd52421eec2592452
+SHA1 (patch-storage_src_moz.build) = 1e08d96f6be012286547c723bfeb445c50d3ad83
+SHA1 (patch-toolkit_components_osfile_modules_osfile__unix__back.jsm) = 6b926ccd793391ad7bd7101635f4b3eefe3db130
+SHA1 (patch-toolkit_components_osfile_modules_osfile__unix__front.jsm) = 78f89457f5ddc958dec607a53800ae8367b94b0c
+SHA1 (patch-toolkit_library_libxul.mk) = ceba8edf009787ad68a1d2b284c090d8c140c139
+SHA1 (patch-toolkit_toolkit.mozbuild) = 0993d50cc02c2b421e6de087dfb0a9cb30562c6b
+SHA1 (patch-toolkit_xre_nsEmbedFunctions.cpp) = 6ee6fba04a3ecc6596f8aed67f752a1075901fa8
+SHA1 (patch-webapprt_moz.build) = cb3d92bc8ada1e2b49877cf7bbe6fbc32278230a
+SHA1 (patch-xb) = 30eea880b40cee45d1235d3292fead4b5a54bbaa
+SHA1 (patch-xc) = 8575fdac2b47966ccfb5e1cc7ca8505163e358c9
+SHA1 (patch-xe) = ca4c87dbf9bb09e0e6c270d0fa76fc69a7d6df7f
+SHA1 (patch-xf) = 1720ae5cf3cf0df6f2e9519c83a332585bdd67bf
+SHA1 (patch-xg) = b80e660e85b06e4f71146bd41bd4bc0d2e3b6488
+SHA1 (patch-xl) = 9555b86c72b2e144e341d6af1dbfbc07cc8c94db
+SHA1 (patch-xm) = 81e02e410c00175cbb98c646dda90c7adf199657
+SHA1 (patch-xpcom_base_nsDebugImpl.cpp) = dfeb14b000ba435170a17bab98fdf07335f4ef71
+SHA1 (patch-xpcom_base_nsStackWalk.cpp) = fa62f11a97f909ce1c5cea60cf6e58a6071490a5
+SHA1 (patch-xpcom_base_nsUUIDGenerator.cpp) = 8891ad1486384e8bb83b99c64bc3fe009a65e2c0
+SHA1 (patch-xpcom_base_nsUUIDGenerator.h) = 62e334685fcefc3d1c708e1436c7bf2a40d87ab7
+SHA1 (patch-xpcom_base_nscore.h) = f4fe66cc9e714a2101a4d1287359d1c300574438
+SHA1 (patch-xpcom_build_PoisonIOInterposer.h) = fdb961a615e5c66a1d0a3c724cf124a2b47f2ed6
+SHA1 (patch-xpcom_build_nsXPComInit.cpp) = 727fd1ce934f129de5fcc5e6059d3cb8c30b1e17
+SHA1 (patch-xpcom_ds_TimeStamp.h) = a1fb060f91720eb330f102b28d9373bbdbe96e30
+SHA1 (patch-xpcom_reflect_xptcall_src_md_unix_moz.build) = 954b60998c5621b896fae372fe067df693574ea4
+SHA1 (patch-xpcom_reflect_xptcall_src_md_unix_xptcinvoke__asm__mips.S) = b2b81fcdf6591089fcc5de4c8f820e96c0a50256
+SHA1 (patch-xpcom_reflect_xptcall_src_md_unix_xptcinvoke__gcc__x86__unix.cpp) = 8cd42915cd32756b55894a773a1e6d7c012b4467
+SHA1 (patch-xpcom_reflect_xptcall_src_md_unix_xptcstubs__asm__mips.S) = 1bb4baf0baa223cd87a8cb85b16b37c368c45b94
+SHA1 (patch-xpcom_reflect_xptcall_src_md_unix_xptcstubs__gcc__x86__unix.cpp) = e9e336817c172187f3e15ddf539a8a2176e3e952
+SHA1 (patch-xulrunner_installer_Makefile.in) = 9d32ff87d0962c0406ed38de995c0350dd372e49
diff --git a/www/firefox31/files/desktop.in b/www/firefox31/files/desktop.in
new file mode 100644
index 00000000000..d72090e1aab
--- /dev/null
+++ b/www/firefox31/files/desktop.in
@@ -0,0 +1,191 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=@MOZILLA_NAME@ Web Browser
+Name[am]=
+Name[ar]=
+Name[az]=@MOZILLA_NAME@ Veb Səyyahı
+Name[be]=
+Name[bg]=Интернет браузър @MOZILLA_NAME@
+Name[bn]=
+Name[bs]=@MOZILLA_NAME@ web preglednik
+Name[ca]=Navegador web @MOZILLA_NAME@
+Name[cs]=Prohlížeč WWW @MOZILLA_NAME@
+Name[cy]=Y Porwr Gwe @MOZILLA_NAME@
+Name[da]=@MOZILLA_NAME@ - internetsurfning
+Name[de]=@MOZILLA_NAME@ Webbrowser
+Name[el]=Περιηγητής Διαδικτύου @MOZILLA_NAME@
+Name[en_CA]=@MOZILLA_NAME@ Web Browser
+Name[en_GB]=@MOZILLA_NAME@ Web Browser
+Name[es]=Navegador Web @MOZILLA_NAME@
+Name[et]=@MOZILLA_NAME@ veebibrauser
+Name[eu]=@MOZILLA_NAME@ web arakatzailea
+Name[fi]=@MOZILLA_NAME@, WWW-selain
+Name[fr]=Navigateur Web @MOZILLA_NAME@
+Name[ga]=Brabhsálaí Lín @MOZILLA_NAME@
+Name[gu]=એપીફની વૅબ બ્રાઉઝર
+Name[he]=דפדפן @MOZILLA_NAME@
+Name[hi]=
+Name[hr]=@MOZILLA_NAME@ Web preglednik
+Name[hu]=@MOZILLA_NAME@ webböngésző
+Name[id]=Web Browser @MOZILLA_NAME@
+Name[it]=Browser web @MOZILLA_NAME@
+Name[ja]=@MOZILLA_NAME@ ウェブ・ブラウザ
+Name[ko]=@MOZILLA_NAME@ 웹 브라우저
+Name[li]=@MOZILLA_NAME@ Web Browser
+Name[lt]=@MOZILLA_NAME@ web naršyklė
+Name[mk]=@MOZILLA_NAME@ веб прелистувач
+Name[ml]=എപ്പിഫാനി വെബ്ബ് ബ്രൌസ‌ര്
+Name[mn]=@MOZILLA_NAME@ веб хөтөч
+Name[ms]=Pelungsur Web @MOZILLA_NAME@
+Name[nb]=@MOZILLA_NAME@ nettleser
+Name[nl]=@MOZILLA_NAME@ Webbrowser
+Name[nn]=@MOZILLA_NAME@ nettlesar
+Name[no]=@MOZILLA_NAME@ nettleser
+Name[pa]=ਏਪੀਫਾਨੀ ਵੈੱਬ ਬਰਾਊਜ਼ਰ
+Name[pl]=Przeglądarka WWW @MOZILLA_NAME@
+Name[pt]=Navegador Web @MOZILLA_NAME@
+Name[pt_BR]=Navegador Web @MOZILLA_NAME@
+Name[ro]=Navigatorul @MOZILLA_NAME@
+Name[ru]=Веб-браузер @MOZILLA_NAME@
+Name[sk]=
+Name[sl]=Spletni brskalnik @MOZILLA_NAME@
+Name[sq]=@MOZILLA_NAME@ - Shfletuesi Web
+Name[sr]=
+Name[sr@Latn]=Veb čitač Spoznaja
+Name[sv]=Webbläsaren @MOZILLA_NAME@
+Name[ta]=எபிபனி வலை உலாவி
+Name[tk]=@MOZILLA_NAME@ Web Ahtarçisi
+Name[tr]=@MOZILLA_NAME@ Web Tarayıcı
+Name[uk]=Переглядач web @MOZILLA_NAME@
+Name[vi]=Trình Duyệt Web @MOZILLA_NAME@
+Name[wa]=Betchteu waibe epiphany
+Name[zh_CN]=@MOZILLA_NAME@ Web 浏览器
+Name[zh_TW]=@MOZILLA_NAME@ 網頁瀏覽器
+GenericName=Web Browser
+GenericName[ar]=متصفّح الانترنت
+GenericName[az]=Veb Səyyahı
+GenericName[be]=Вандроўнік па павуціньню
+GenericName[bg]=Браузър
+GenericName[bn]=ওয়েব ব্রাউজার
+GenericName[bs]=Web preglednik
+GenericName[ca]=Navegador web
+GenericName[cs]=Prohlížeč WWW
+GenericName[cy]=Porwr Gwe
+GenericName[da]=Internetsurfning
+GenericName[de]=Webbrowser
+GenericName[el]=Περιηγητής Ιστοσελίδων
+GenericName[en_CA]=Web Browser
+GenericName[en_GB]=Web Browser
+GenericName[es]=Navegador web
+GenericName[et]=Veebilehitseja
+GenericName[eu]=Web arakatzailea
+GenericName[fi]=WWW-selain
+GenericName[fr]=Navigateur Web @MOZILLA_NAME@
+GenericName[ga]=Brabhsálaí Lín
+GenericName[gu]=વેબ બ્રાઉઝર
+GenericName[he]=דפדפן אינטרנט
+GenericName[hi]=वेब ब्राउज़र
+GenericName[hr]=Web preglednik
+GenericName[hu]=Webböngésző
+GenericName[id]=Browser Web
+GenericName[it]=Browser web
+GenericName[ja]=GNOME ウェブ・ブラウザ
+GenericName[ko]=웹 브라우저
+GenericName[li]=Wèb Browser
+GenericName[lt]=Web naršyklė
+GenericName[mk]=Веб прелистувач
+GenericName[mn]=Веб хөтөч
+GenericName[ms]=Pelungsur Web
+GenericName[nb]=Nettleser
+GenericName[nl]=Web-browser
+GenericName[nn]=Nettlesar
+GenericName[no]=Nettleser
+GenericName[pa]=ਵੈਬ ਬਰਾਊਜ਼
+GenericName[pl]=Przeglądarka WWW
+GenericName[pt]=Navegador Web
+GenericName[pt_BR]=Navegador Web
+GenericName[ro]=Navigator Internet
+GenericName[ru]=Веб-браузер
+GenericName[sk]=WWW prehliadač
+GenericName[sl]=Spletni brskalnik
+GenericName[sq]=Shfletuesi Web
+GenericName[sr]=Веб читач
+GenericName[sr@Latn]=Veb čitač
+GenericName[sv]=Webbläsare
+GenericName[ta]=வலை உலாவி
+GenericName[th]=เว็บบราวเซอร์
+GenericName[tk]=Web Ahtarçysy
+GenericName[tr]=Web Tarayıcı
+GenericName[uk]=Переглядач web-сторінок
+GenericName[vi]=Trình duyệt Web
+GenericName[wa]=Betchteu waibe
+GenericName[zh_CN]=Web 浏览器
+GenericName[zh_TW]=網頁瀏覽器
+Comment=Browse the web
+Comment[ar]=تصفح الانترنت
+Comment[az]=Vebi gəzin
+Comment[be]=Вандраваць па павуціньню
+Comment[bg]=Сърфиране в интернет
+Comment[bn]=ওয়েব ব্রাউজ করুন
+Comment[bs]=Pregledaj na internetu
+Comment[ca]=Navegueu per la web
+Comment[cs]=Prohlížet WWW
+Comment[cy]=Pori'r we
+Comment[da]=Surf på internettet
+Comment[de]=Im Web surfen
+Comment[el]=Περιήγηση στον παγκόσμιο ιστό
+Comment[en_CA]=Browse the web
+Comment[en_GB]=Browse the web
+Comment[es]=Navegar por la web
+Comment[et]=Sirvi veebi
+Comment[eu]=Arakatu web-a
+Comment[fi]=Selaa WWW:tä
+Comment[fr]=Naviguer sur Internet
+Comment[ga]=Brabhsáil an Líon
+Comment[gu]=વેબમાં શોધો
+Comment[he]=גלוש ברשת
+Comment[hi]=वेब ब्राउज़ करें
+Comment[hr]=Pregledaj Web
+Comment[hu]=A világháló böngészése
+Comment[id]=Jelajah web
+Comment[it]=Esplora il web
+Comment[ja]=ウェブを閲覧します
+Comment[ko]=웹을 돌아 다닙니다
+Comment[li]=Blajere op internet
+Comment[lt]=Naršyti internete
+Comment[mk]=Прелистувајте на веб
+Comment[ml]=വലക്കെട്ട് തിരയുക
+Comment[mn]=Веб броузе хийх
+Comment[ms]=Layari web
+Comment[nb]=Surf på nettet
+Comment[nl]=Websurfen
+Comment[nn]=Surf på nettet
+Comment[no]=Surf på nettet
+Comment[pa]=ਵੈਬ ਬਰਾਊਜ਼
+Comment[pl]=Przeglądanie stron WWW
+Comment[pt]=Navegar na web
+Comment[pt_BR]=Navegar na web
+Comment[ro]=Navigare Internet
+Comment[ru]=Веб-браузер
+Comment[sk]=Prehliadať internet
+Comment[sl]=Brskaj po spletu
+Comment[sq]=Eksploro web-in
+Comment[sr]=Прегледај веб
+Comment[sr@Latn]=Pregledaj veb
+Comment[sv]=Surfa på nätet
+Comment[ta]=வலையில் உலாவு
+Comment[th]=ใช้งานเว็บบราวเซอร์ @MOZILLA_NAME@
+Comment[tk]=Webi Ahtar
+Comment[tr]=Web'e Gözat
+Comment[uk]=Програма перегляду web-сторінок
+Comment[vi]=Duyệt web
+Comment[wa]=Naivyî avå les waibes
+Comment[zh_CN]=浏览 Web
+Comment[zh_TW]=瀏覽網頁
+Exec=@MOZILLA@ %u
+Icon=@FIREFOX_ICON@
+StartupNotify=false
+Terminal=false
+Type=Application
+Categories=Application;Network;
+MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;
diff --git a/www/firefox31/hacks.mk b/www/firefox31/hacks.mk
new file mode 100644
index 00000000000..2e919720ed1
--- /dev/null
+++ b/www/firefox31/hacks.mk
@@ -0,0 +1,13 @@
+# $NetBSD: hacks.mk,v 1.1 2014/11/03 12:18:31 ryoon Exp $
+
+.if !defined(XULRUNNER_HACKS_MK)
+XULRUNNER_HACKS_MK= defined
+
+.include "../../mk/bsd.fast.prefs.mk"
+.include "../../mk/compiler.mk"
+
+.if !empty(PKGSRC_COMPILER:Mclang)
+CXXFLAGS+= -Wno-return-type-c-linkage
+.endif
+
+.endif # XULRUNNER_HACKS_MK
diff --git a/www/firefox31/mozilla-common.mk b/www/firefox31/mozilla-common.mk
new file mode 100644
index 00000000000..d5e876453fc
--- /dev/null
+++ b/www/firefox31/mozilla-common.mk
@@ -0,0 +1,230 @@
+# $NetBSD: mozilla-common.mk,v 1.1 2014/11/03 12:18:31 ryoon Exp $
+#
+# common Makefile fragment for mozilla packages based on gecko 2.0.
+#
+# used by devel/xulrunner31/Makefile
+# used by www/firefox31/Makefile
+
+GNU_CONFIGURE= yes
+USE_TOOLS+= pkg-config perl gmake autoconf213 unzip zip
+USE_LANGUAGES+= c99 c++
+UNLIMIT_RESOURCES+= datasize
+
+.include "../../mk/bsd.prefs.mk"
+# tar(1) of OpenBSD 5.5 has no --exclude command line option.
+.if ${OPSYS} == "OpenBSD"
+TOOLS_PLATFORM.tar= ${TOOLS_PREFIX.bsdtar}/bin/bsdtar
+USE_TOOLS+= bsdtar
+.endif
+# gcc45-4.5.3 of lang/gcc45 does not generate proper binary,
+# but gcc 4.5.4 of NetBSD 6.99 generates working binary.
+# gcc45 has no OpenBSD support, and gcc46 has it.
+.if !empty(MACHINE_PLATFORM:MNetBSD-5.*) || !empty(MACHINE_PLATFORM:MOpenBSD*)
+GCC_REQD+= 4.6
+. if ${MACHINE_ARCH} == "i386"
+# Fix for PR pkg/48152.
+CPPFLAGS+= -march=i486
+. endif
+.else
+GCC_REQD+= 4.5
+.endif
+
+CHECK_PORTABILITY_SKIP+=${MOZILLA_DIR}security/nss/tests/libpkix/libpkix.sh
+CHECK_PORTABILITY_SKIP+=${MOZILLA_DIR}security/nss/tests/multinit/multinit.sh
+CHECK_PORTABILITY_SKIP+=${MOZILLA_DIR}js/src/tests/update-test262.sh
+CHECK_PORTABILITY_SKIP+=${MOZILLA_DIR}intl/icu/source/configure
+
+CONFIGURE_ARGS+= --disable-tests
+CONFIGURE_ARGS+= --disable-pedantic
+CONFIGURE_ARGS+= --enable-crypto
+CONFIGURE_ARGS+= --with-pthreads
+CONFIGURE_ARGS+= --disable-javaxpcom
+CONFIGURE_ARGS+= --enable-default-toolkit=cairo-gtk2
+CONFIGURE_ARGS+= --enable-gstreamer=1.0
+#CONFIGURE_ARGS+= --disable-gstreamer
+CONFIGURE_ARGS+= --enable-svg
+CONFIGURE_ARGS+= --enable-mathml
+CONFIGURE_ARGS+= --enable-pango
+CONFIGURE_ARGS+= --enable-system-cairo
+CONFIGURE_ARGS+= --enable-system-pixman
+CONFIGURE_ARGS+= --with-system-libvpx
+CONFIGURE_ARGS+= --enable-system-hunspell
+CONFIGURE_ARGS+= --enable-system-ffi
+CONFIGURE_ARGS+= --with-system-icu
+CONFIGURE_ARGS+= --with-system-nss
+CONFIGURE_ARGS+= --with-system-nspr
+CONFIGURE_ARGS+= --with-system-jpeg
+CONFIGURE_ARGS+= --with-system-zlib
+CONFIGURE_ARGS+= --with-system-bz2
+# 1.2 or later is required.
+#CONFIGURE_ARGS+= --with-system-theora
+#CONFIGURE_ARGS+= --with-system-ogg
+#CONFIGURE_ARGS+= --with-system-tremor
+#CONFIGURE_ARGS+= --with-system-vorbis
+# opus support requires Ogg Theora support
+#CONFIGURE_ARGS+= --with-system-opus
+CONFIGURE_ARGS+= --with-system-graphite2
+CONFIGURE_ARGS+= --with-system-harfbuzz
+CONFIGURE_ARGS+= --with-system-libevent=${BUILDLINK_PREFIX.libevent}
+CONFIGURE_ARGS+= --enable-system-sqlite
+CONFIGURE_ARGS+= --disable-crashreporter
+CONFIGURE_ARGS+= --disable-libnotify
+CONFIGURE_ARGS+= --disable-necko-wifi
+CONFIGURE_ARGS+= --enable-chrome-format=flat
+CONFIGURE_ARGS+= --disable-libjpeg-turbo
+
+CONFIGURE_ARGS+= --disable-elf-hack
+CONFIGURE_ARGS+= --disable-elf-dynstr-gc
+CONFIGURE_ARGS+= --disable-gconf
+CONFIGURE_ARGS+= --enable-gio
+CONFIGURE_ARGS+= --enable-extensions=gio
+CONFIGURE_ARGS+= --disable-mochitest
+CONFIGURE_ARGS+= --enable-canvas
+#CONFIGURE_ARGS+= --enable-readline
+CONFIGURE_ARGS+= --disable-installer
+CONFIGURE_ARGS+= --enable-url-classifier
+#CONFIGURE_ARGS+= --enable-startup-notification
+# Disabled from https://bugzilla.mozilla.org/show_bug.cgi?id=977400
+#CONFIGURE_ARGS+= --enable-shared-js
+CONFIGURE_ARGS+= --with-system-ply
+CONFIGURE_ARGS+= --disable-icf
+CONFIGURE_ARGS+= --disable-necko-wifi
+CONFIGURE_ARGS+= --disable-updater
+
+SUBST_CLASSES+= fix-paths
+SUBST_STAGE.fix-paths= pre-configure
+SUBST_MESSAGE.fix-paths= Fixing absolute paths.
+SUBST_FILES.fix-paths= ${MOZILLA_DIR}xpcom/build/nsXPCOMPrivate.h
+SUBST_FILES.fix-paths+= ${MOZILLA_DIR}xpcom/io/nsAppFileLocationProvider.cpp
+SUBST_SED.fix-paths+= -e 's,/usr/lib/mozilla/plugins,${PREFIX}/lib/netscape/plugins,g'
+
+CONFIG_GUESS_OVERRIDE+= ${MOZILLA_DIR}build/autoconf/config.guess
+CONFIG_GUESS_OVERRIDE+= ${MOZILLA_DIR}js/src/build/autoconf/config.guess
+CONFIG_GUESS_OVERRIDE+= ${MOZILLA_DIR}nsprpub/build/autoconf/config.guess
+CONFIG_GUESS_OVERRIDE+= ${MOZILLA_DIR}/js/ctypes/libffi/config.guess
+CONFIG_SUB_OVERRIDE+= ${MOZILLA_DIR}build/autoconf/config.sub
+CONFIG_SUB_OVERRIDE+= ${MOZILLA_DIR}js/src/build/autoconf/config.sub
+CONFIG_SUB_OVERRIDE+= ${MOZILLA_DIR}nsprpub/build/autoconf/config.sub
+CONFIG_SUB_OVERRIDE+= ${MOZILLA_DIR}/js/ctypes/libffi/config.sub
+
+PYTHON_VERSIONS_ACCEPTED= 27
+PYTHON_FOR_BUILD_ONLY= yes
+PYTHON_VERSIONS_INCOMPATIBLE= 33 34 # py-sqlite2
+.include "../../lang/python/application.mk"
+CONFIGURE_ENV+= PYTHON=${PYTHONBIN:Q}
+
+#BUILD_MAKE_FLAGS+= MOZ_WEBRTC_IN_LIBXUL=1
+
+SUBST_CLASSES+= python
+SUBST_STAGE.python= pre-configure
+SUBST_MESSAGE.python= Fixing path to python.
+SUBST_FILES.python+= media/webrtc/trunk/build/common.gypi
+SUBST_SED.python+= -e 's,<!(python,<!(${PYTHONBIN},'
+
+# Build outside ${WRKSRC}
+# Try to avoid conflict with config/makefiles/xpidl/Makefile.in
+OBJDIR= ../build
+CONFIGURE_DIRS= ${OBJDIR}
+CONFIGURE_SCRIPT= ${WRKSRC}/configure
+
+PLIST_VARS+= sps vorbis tremor glskia throwwrapper mozglue
+
+.include "../../mk/endian.mk"
+.if ${MACHINE_ENDIAN} == "little"
+PLIST.glskia= yes
+.endif
+
+.if ${MACHINE_ARCH} != "sparc64"
+# For some reasons the configure test for GCC bug 26905 still triggers on
+# sparc64, which makes mozilla skip the installation of a few wrapper headers.
+# Other archs end up with one additional file in the SDK headers
+PLIST.throwwrapper= yes
+.endif
+
+.if !empty(MACHINE_PLATFORM:S/i386/x86/:MLinux-*-x86*)
+PLIST.sps= yes
+.endif
+
+.if !empty(MACHINE_PLATFORM:MLinux-*-arm*)
+PLIST.tremor= yes
+.else
+PLIST.vorbis= yes
+.endif
+
+# See ${WRKSRC}/mozglue/build/moz.build: libmozglue is built and
+# installed as a shared library on these platforms.
+.if ${OPSYS} == "Cygwin" || ${OPSYS} == "Darwin" # or Android
+PLIST.mozglue= yes
+.endif
+
+#
+# pysqlite2 is used by xulrunner's Python virtualenv. If pysqlite2 isn't
+# installed at build time it will attempt to download it instead, so the
+# problem is stealthy in a networked environment, and obvious in an
+# offline environment.
+#
+BUILD_DEPENDS+= ${PYPKGPREFIX}-sqlite2-[0-9]*:../../databases/py-sqlite2
+
+# Makefiles sometimes call "rm -f" without more arguments. Kludge around ...
+.PHONY: create-rm-wrapper
+pre-configure: create-rm-wrapper
+create-rm-wrapper:
+ printf '#!/bin/sh\n[ "$$*" = "-f" ] && exit 0\nexec /bin/rm $$@\n' > \
+ ${WRAPPER_DIR}/bin/rm
+ chmod +x ${WRAPPER_DIR}/bin/rm
+
+.include "../../mk/bsd.prefs.mk"
+
+.if ${OPSYS} == "NetBSD"
+# The configure test for __thread succeeds, but later we end up with:
+# dist/bin/libxul.so: undefined reference to `__tls_get_addr'
+CONFIGURE_ENV+= ac_cv_thread_keyword=no
+.endif
+
+.if ${OPSYS} == "SunOS"
+# native libbz2.so hides BZ2_crc32Table
+PREFER.bzip2?= pkgsrc
+.endif
+
+.if ${OPSYS} == "OpenBSD"
+PLIST_SUBST+= DLL_SUFFIX=".so.1.0"
+.elif ${OPSYS} == "Darwin"
+PLIST_SUBST+= DLL_SUFFIX=".dylib"
+.else
+PLIST_SUBST+= DLL_SUFFIX=".so"
+.endif
+
+.include "../../archivers/bzip2/buildlink3.mk"
+#.include "../../audio/libopus/buildlink3.mk"
+#.include "../../audio/tremor/buildlink3.mk"
+#.include "../../audio/libvorbis/buildlink3.mk"
+BUILDLINK_API_DEPENDS.sqlite3+= sqlite3>=3.8.4.2
+CONFIGURE_ENV+= ac_cv_sqlite_secure_delete=yes # c.f. patches/patch-al
+.include "../../databases/sqlite3/buildlink3.mk"
+BUILDLINK_API_DEPENDS.libevent+= libevent>=1.1
+.include "../../devel/libevent/buildlink3.mk"
+.include "../../devel/libffi/buildlink3.mk"
+BUILDLINK_API_DEPENDS.nspr+= nspr>=4.10.6
+.include "../../devel/nspr/buildlink3.mk"
+.include "../../textproc/icu/buildlink3.mk"
+BUILDLINK_API_DEPENDS.nss+= nss>=3.16.2
+.include "../../devel/nss/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../mk/jpeg.buildlink3.mk"
+.include "../../graphics/MesaLib/buildlink3.mk"
+BUILDLINK_API_DEPENDS.cairo+= cairo>=1.10.2nb4
+.include "../../graphics/cairo/buildlink3.mk"
+.include "../../graphics/graphite2/buildlink3.mk"
+#.include "../../multimedia/libogg/buildlink3.mk"
+#.include "../../multimedia/libtheora/buildlink3.mk"
+BUILDLINK_API_DEPENDS.libvpx+= libvpx>=1.3.0
+.include "../../multimedia/libvpx/buildlink3.mk"
+.include "../../net/libIDL/buildlink3.mk"
+.include "../../textproc/hunspell/buildlink3.mk"
+BUILDLINK_API_DEPENDS.gtk2+= gtk2+>=2.18.3nb1
+.include "../../x11/gtk2/buildlink3.mk"
+.include "../../multimedia/gstreamer1/buildlink3.mk"
+.include "../../multimedia/gst-plugins1-base/buildlink3.mk"
+.include "../../x11/libXt/buildlink3.mk"
+BUILDLINK_API_DEPENDS.pixman+= pixman>=0.25.2
+.include "../../x11/pixman/buildlink3.mk"
diff --git a/www/firefox31/options.mk b/www/firefox31/options.mk
new file mode 100644
index 00000000000..9b83d4f18f6
--- /dev/null
+++ b/www/firefox31/options.mk
@@ -0,0 +1,99 @@
+# $NetBSD: options.mk,v 1.1 2014/11/03 12:18:31 ryoon Exp $
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.firefox31
+PKG_SUPPORTED_OPTIONS= official-mozilla-branding
+PKG_SUPPORTED_OPTIONS+= alsa debug debug-info mozilla-jemalloc gnome pulseaudio webrtc
+PLIST_VARS+= gnome jemalloc debug
+
+.if ${OPSYS} == "Linux"
+PKG_SUGGESTED_OPTIONS+= alsa mozilla-jemalloc
+.else
+PKG_SUGGESTED_OPTIONS+= pulseaudio
+.endif
+
+# On NetBSD/amd64 6.99.21 libxul.so is invalid when --enable-webrtc is set.
+.if ${OPSYS} == "Linux"
+PKG_SUGGESTED_OPTIONS+= webrtc
+.endif
+
+.include "../../mk/bsd.options.mk"
+
+.if !empty(PKG_OPTIONS:Malsa)
+CONFIGURE_ARGS+= --enable-alsa
+.include "../../audio/alsa-lib/buildlink3.mk"
+.else
+CONFIGURE_ARGS+= --disable-alsa
+.endif
+
+.if !empty(PKG_OPTIONS:Mgnome)
+.include "../../devel/libgnomeui/buildlink3.mk"
+.include "../../sysutils/gnome-vfs/buildlink3.mk"
+.include "../../sysutils/libnotify/buildlink3.mk"
+CONFIGURE_ARGS+= --enable-gnomevfs --enable-dbus --enable-gnomeui
+CONFIGURE_ARGS+= --enable-libnotify
+CONFIGURE_ARGS+= --enable-extensions=gnomevfs
+PLIST.gnome= yes
+.else
+CONFIGURE_ARGS+= --disable-gnomevfs --disable-dbus --disable-gnomeui
+CONFIGURE_ARGS+= --disable-libnotify
+.endif
+
+.if !empty(PKG_OPTIONS:Mmozilla-jemalloc)
+PLIST.jemalloc= yes
+CONFIGURE_ARGS+= --enable-jemalloc
+.else
+CONFIGURE_ARGS+= --disable-jemalloc
+.endif
+
+.include "../../mk/compiler.mk"
+.if !empty(PKGSRC_COMPILER:Mgcc)
+.if ${CC_VERSION:S/gcc-//:S/.//g} >= 480
+# Modern gcc does not run any "tracking" passes when compiling with -O0,
+# which makes the generated debug info mostly useless. So explicitly
+# request them.
+O0TRACKING=-fvar-tracking-assignments -fvar-tracking
+.endif
+.endif
+
+.if !empty(PKG_OPTIONS:Mdebug)
+CONFIGURE_ARGS+= --enable-debug="-g -O0 ${O0TRACKING}" --enable-debug-symbols --disable-optimize
+CONFIGURE_ARGS+= --disable-install-strip
+PLIST.debug= yes
+.else
+.if !empty(PKG_OPTIONS:Mdebug-info)
+CONFIGURE_ARGS+= --enable-debug-symbols
+.else
+CONFIGURE_ARGS+= --disable-debug-symbols
+.endif
+CONFIGURE_ARGS+= --disable-debug
+CONFIGURE_ARGS+= --enable-optimize=-O2
+CONFIGURE_ARGS+= --enable-install-strip
+.endif
+
+.if !empty(PKG_OPTIONS:Mpulseaudio)
+.include "../../audio/pulseaudio/buildlink3.mk"
+CONFIGURE_ARGS+= --enable-pulseaudio
+.else
+CONFIGURE_ARGS+= --disable-pulseaudio
+.endif
+# XXX end
+
+PLIST_VARS+= branding nobranding
+.if !empty(PKG_OPTIONS:Mofficial-mozilla-branding)
+CONFIGURE_ARGS+= --enable-official-branding
+LICENSE= mozilla-trademark-license
+RESTRICTED= Trademark holder prohibits distribution of modified versions.
+NO_BIN_ON_CDROM= ${RESTRICTED}
+NO_BIN_ON_FTP= ${RESTRICTED}
+PLIST.branding= yes
+.else
+PLIST.nobranding= yes
+.endif
+
+PLIST_VARS+= webrtc
+.if !empty(PKG_OPTIONS:Mwebrtc)
+.include "../../graphics/libv4l/buildlink3.mk"
+CONFIGURE_ARGS+= --enable-webrtc
+.else
+CONFIGURE_ARGS+= --disable-webrtc
+.endif
diff --git a/www/firefox31/patches/patch-aa b/www/firefox31/patches/patch-aa
new file mode 100644
index 00000000000..5a53c6bd751
--- /dev/null
+++ b/www/firefox31/patches/patch-aa
@@ -0,0 +1,468 @@
+$NetBSD: patch-aa,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+* The profiler does not support Darwin/PPC so don't try to enable it
+ on that platform.
+
+* Cocoa gamepad backend can only be used if the toolkit is cocoa too.
+
+* The preprocessor macro XP_MACOSX is misused everywhere. They tend to
+ say "#if defined(XP_MACOSX)" to actually mean
+ "#if defined(MOZ_WIDGET_COCOA)". It's okay to equate XP_MACOSX with
+ XP_DARWIN but equating it with MOZ_WIDGET_COCOA is just wrong. As a
+ result, cairo-gtk2 build on Darwin is completely broken and needs
+ heavy patching. Ideally they should be fixed individually but that
+ will be an extremely hard work, so don't define XP_MACOSX for now.
+
+--- configure.in.orig 2014-07-17 01:45:08.000000000 +0000
++++ configure.in
+@@ -962,7 +962,7 @@ MOZ_BZ2_LIBS='$(call EXPAND_LIBNAME_PATH
+ MOZ_PNG_CFLAGS="-I$_objdir/dist/include" # needed for freetype compilation
+ MOZ_PNG_LIBS='$(call EXPAND_LIBNAME_PATH,mozpng,$(DEPTH)/media/libpng)'
+
+-MOZ_JS_STATIC_LIBS='$(call EXPAND_LIBNAME_PATH,js_static,$(LIBXUL_DIST)/lib)'
++MOZ_JS_STATIC_LIBS='$(call EXPAND_LIBNAME_PATH,js_static,$(DEPTH)/js/src)'
+ MOZ_JS_SHARED_LIBS='$(call EXPAND_LIBNAME_PATH,mozjs,$(LIBXUL_DIST)/lib)'
+ MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin -Wl,-rpath-link,$(prefix)/lib'
+ XPCOM_FROZEN_LDOPTS='$(call EXPAND_LIBNAME_PATH,xul mozalloc,$(LIBXUL_DIST)/bin)'
+@@ -1676,7 +1676,13 @@ Linux)
+ MOZ_ENABLE_PROFILER_SPS=
+ esac
+ ;;
+-WINNT|Darwin) ;;
++WINNT|Darwin)
++ case "${CPU_ARCH}" in
++ x86 | x86_64) ;;
++ *)
++ MOZ_ENABLE_PROFILER_SPS=
++ esac
++ ;;
+ *)
+ MOZ_ENABLE_PROFILER_SPS=
+ ;;
+@@ -1780,7 +1786,7 @@ case "$host" in
+ ;;
+
+ *-darwin*)
+- HOST_CFLAGS="$HOST_CFLAGS -DXP_UNIX -DXP_MACOSX -DNO_X11"
++ HOST_CFLAGS="$HOST_CFLAGS -DXP_UNIX"
+ HOST_NSPR_MDCPUCFG='\"md/_darwin.cfg\"'
+ HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O3}"
+ ;;
+@@ -1912,7 +1918,6 @@ case "$target" in
+ AC_DEFINE(XP_DARWIN)
+ _PLATFORM_DEFAULT_TOOLKIT='cairo-uikit'
+ else
+- AC_DEFINE(XP_MACOSX)
+ AC_DEFINE(XP_DARWIN)
+ _PLATFORM_DEFAULT_TOOLKIT='cairo-cocoa'
+ # The ExceptionHandling framework is needed for Objective-C exception
+@@ -2522,118 +2527,15 @@ MOZ_CXX11
+
+ AC_LANG_C
+
+-dnl Check for .hidden assembler directive and visibility attribute.
+-dnl Borrowed from glibc configure.in
++dnl Setup default hidden visibility and wrapped system headers.
+ dnl ===============================================================
+ if test "$GNU_CC"; then
+- AC_CACHE_CHECK(for visibility(hidden) attribute,
+- ac_cv_visibility_hidden,
+- [cat > conftest.c <<EOF
+- int foo __attribute__ ((visibility ("hidden"))) = 1;
+-EOF
+- ac_cv_visibility_hidden=no
+- if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
+- if egrep '\.(hidden|private_extern).*foo' conftest.s >/dev/null; then
+- ac_cv_visibility_hidden=yes
+- fi
+- fi
+- rm -f conftest.[cs]
+- ])
+- if test "$ac_cv_visibility_hidden" = "yes"; then
+- AC_DEFINE(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE)
+-
+- AC_CACHE_CHECK(for visibility(default) attribute,
+- ac_cv_visibility_default,
+- [cat > conftest.c <<EOF
+- int foo __attribute__ ((visibility ("default"))) = 1;
+-EOF
+- ac_cv_visibility_default=no
+- if ${CC-cc} -fvisibility=hidden -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
+- if ! egrep '\.(hidden|private_extern).*foo' conftest.s >/dev/null; then
+- ac_cv_visibility_default=yes
+- fi
+- fi
+- rm -f conftest.[cs]
+- ])
+- if test "$ac_cv_visibility_default" = "yes"; then
+- AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE)
+-
+- AC_CACHE_CHECK(for visibility pragma support,
+- ac_cv_visibility_pragma,
+- [cat > conftest.c <<EOF
+-#pragma GCC visibility push(hidden)
+- int foo_hidden = 1;
+-#pragma GCC visibility push(default)
+- int foo_default = 1;
+-EOF
+- ac_cv_visibility_pragma=no
+- if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
+- if egrep '\.(hidden|private_extern).*foo_hidden' conftest.s >/dev/null; then
+- if ! egrep '\.(hidden|private_extern).*foo_default' conftest.s > /dev/null; then
+- ac_cv_visibility_pragma=yes
+- fi
+- fi
+- fi
+- rm -f conftest.[cs]
+- ])
+- if test "$ac_cv_visibility_pragma" = "yes"; then
+- AC_CACHE_CHECK(For gcc visibility bug with class-level attributes (GCC bug 26905),
+- ac_cv_have_visibility_class_bug,
+- [cat > conftest.c <<EOF
+-#pragma GCC visibility push(hidden)
+-struct __attribute__ ((visibility ("default"))) TestStruct {
+- static void Init();
+-};
+-__attribute__ ((visibility ("default"))) void TestFunc() {
+- TestStruct::Init();
+-}
+-EOF
+- ac_cv_have_visibility_class_bug=no
+- if ! ${CXX-g++} ${CXXFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
+- ac_cv_have_visibility_class_bug=yes
+- else
+- if test `egrep -c '@PLT|\\$stub' conftest.S` = 0; then
+- ac_cv_have_visibility_class_bug=yes
+- fi
+- fi
+- rm -rf conftest.{c,S}
+- ])
+-
+- AC_CACHE_CHECK(For x86_64 gcc visibility bug with builtins (GCC bug 20297),
+- ac_cv_have_visibility_builtin_bug,
+- [cat > conftest.c <<EOF
+-#pragma GCC visibility push(hidden)
+-#pragma GCC visibility push(default)
+-#include <string.h>
+-#pragma GCC visibility pop
+-
+-__attribute__ ((visibility ("default"))) void Func() {
+- char c[[100]];
+- memset(c, 0, sizeof(c));
+-}
+-EOF
+- ac_cv_have_visibility_builtin_bug=no
+- if ! ${CC-cc} ${CFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
+- ac_cv_have_visibility_builtin_bug=yes
+- else
+- if test `grep -c "@PLT" conftest.S` = 0; then
+- ac_cv_visibility_builtin_bug=yes
+- fi
+- fi
+- rm -f conftest.{c,S}
+- ])
+- if test "$ac_cv_have_visibility_builtin_bug" = "no" -a \
+- "$ac_cv_have_visibility_class_bug" = "no"; then
+- VISIBILITY_FLAGS='-I$(DIST)/system_wrappers -include $(topsrcdir)/config/gcc_hidden.h'
+- WRAP_SYSTEM_INCLUDES=1
+- STL_FLAGS='-I$(DIST)/stl_wrappers'
+- WRAP_STL_INCLUDES=1
+- else
+- VISIBILITY_FLAGS='-fvisibility=hidden'
+- fi # have visibility pragma bug
+- fi # have visibility pragma
+- fi # have visibility(default) attribute
+- fi # have visibility(hidden) attribute
++ AC_DEFINE(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE)
++ AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE)
++ VISIBILITY_FLAGS='-I$(DIST)/system_wrappers -include $(topsrcdir)/config/gcc_hidden.h'
++ WRAP_SYSTEM_INCLUDES=1
++ STL_FLAGS='-I$(DIST)/stl_wrappers'
++ WRAP_STL_INCLUDES=1
+ fi # GNU_CC
+
+ # visibility hidden flag for Sun Studio on Solaris
+@@ -3004,7 +2906,7 @@ dnl Checks for library functions.
+ dnl ========================================================
+ AC_PROG_GCC_TRADITIONAL
+ AC_FUNC_MEMCMP
+-AC_CHECK_FUNCS(stat64 lstat64 truncate64 statvfs64 statvfs statfs64 statfs getpagesize localtime_r)
++AC_CHECK_FUNCS(stat64 lstat64 truncate64 statvfs64 statvfs statfs64 statfs getpagesize localtime_r arc4random arc4random_buf)
+
+ dnl check for clock_gettime(), the CLOCK_MONOTONIC clock
+ AC_CACHE_CHECK(for clock_gettime(CLOCK_MONOTONIC),
+@@ -3691,6 +3593,14 @@ if test -n "$YASM"; then
+ _YASM_BUILD=` echo ${YASM_VERSION} | $AWK -F\. '{ print $4 }'`
+ fi
+
++if test -n "${LIBXUL_SDK_DIR}"; then
++ AC_MSG_WARN([pkgsrc: LIBXUL_SDK_DIR is set; assuming we want nss and nspr from xulrunner.])
++ NSPR_CFLAGS="-I${prefix}/include/xulrunner/unstable `pkg-config --cflags nspr`"
++ NSPR_LIBS="`pkg-config --libs nspr`"
++ NSS_CFLAGS="`pkg-config --cflags nss`"
++ NSS_LIBS="`pkg-config --libs nss`"
++fi
++
+ if test -z "$SKIP_LIBRARY_CHECKS"; then
+ dnl system JPEG support
+ dnl ========================================================
+@@ -3718,11 +3628,7 @@ if test "$MOZ_NATIVE_JPEG" = 1; then
+ #include <jpeglib.h> ],
+ [ #if JPEG_LIB_VERSION < $MOZJPEG
+ #error "Insufficient JPEG library version ($MOZJPEG required)."
+- #endif
+- #ifndef JCS_EXTENSIONS
+- #error "libjpeg-turbo JCS_EXTENSIONS required"
+- #endif
+- ],
++ #endif ],
+ MOZ_NATIVE_JPEG=1,
+ AC_MSG_ERROR([Insufficient JPEG library version for --with-system-jpeg]))
+ fi
+@@ -4387,6 +4293,10 @@ cairo-gonk)
+
+ esac
+
++if test "$MOZ_WIDGET_TOOLKIT" = "cocoa"; then
++ AC_DEFINE(XP_MACOSX)
++fi
++
+ AC_SUBST(MOZ_PDF_PRINTING)
+ if test "$MOZ_PDF_PRINTING"; then
+ PDF_SURFACE_FEATURE="#define CAIRO_HAS_PDF_SURFACE 1"
+@@ -5106,6 +5016,9 @@ if test -n "$MOZ_WEBRTC"; then
+ MOZ_VPX=1
+ MOZ_VPX_ERROR_CONCEALMENT=1
+
++ dnl with libv4l2 we can support more cameras
++ PKG_CHECK_MODULES(MOZ_LIBV4L2, libv4l2)
++
+ dnl enable once Signaling lands
+ MOZ_WEBRTC_SIGNALING=1
+ AC_DEFINE(MOZ_WEBRTC_SIGNALING)
+@@ -5190,6 +5106,63 @@ if test "${ac_cv_c_attribute_aligned}" !
+ fi
+
+ dnl ========================================================
++dnl Check for libogg
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-ogg,
++[ --with-system-ogg Use system libogg (located with pkgconfig)],
++MOZ_NATIVE_OGG=1,
++MOZ_NATIVE_OGG=)
++
++if test -n "$MOZ_NATIVE_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_NATIVE_OGG)
++AC_SUBST(MOZ_OGG_CFLAGS)
++AC_SUBST(MOZ_OGG_LIBS)
++
++dnl ========================================================
++dnl Check for libvorbis
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-vorbis,
++[ --with-system-vorbis Use system libvorbis (located with pkgconfig)],
++MOZ_NATIVE_VORBIS=1,
++MOZ_NATIVE_VORBIS=)
++
++if test -n "$MOZ_NATIVE_VORBIS"; then
++ PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.4)
++fi
++
++AC_SUBST(MOZ_NATIVE_VORBIS)
++AC_SUBST(MOZ_VORBIS_CFLAGS)
++AC_SUBST(MOZ_VORBIS_LIBS)
++
++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_NATIVE_TREMOR=1,
++MOZ_NATIVE_TREMOR=)
++
++if test -n "$MOZ_NATIVE_TREMOR"; then
++ PKG_CHECK_MODULES(MOZ_TREMOR, vorbisidec >= 1.2.1)
++fi
++
++AC_SUBST(MOZ_NATIVE_TREMOR)
++AC_SUBST(MOZ_TREMOR_CFLAGS)
++AC_SUBST(MOZ_TREMOR_LIBS)
++
++dnl ========================================================
+ dnl = Disable Opus audio codec support
+ dnl ========================================================
+ MOZ_ARG_DISABLE_BOOL(opus,
+@@ -5198,6 +5171,97 @@ MOZ_ARG_DISABLE_BOOL(opus,
+ MOZ_OPUS=1)
+
+ dnl ========================================================
++dnl Check for libopus
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-opus,
++[ --with-system-opus Use system libopus (located with pkgconfig)],
++MOZ_NATIVE_OPUS=1,
++MOZ_NATIVE_OPUS=)
++
++if test -n "$MOZ_NATIVE_OPUS"; then
++ PKG_CHECK_MODULES(MOZ_OPUS, opus >= 1.1)
++else
++ MOZ_OPUS_CFLAGS='-I$(topsrcdir)/media/libopus/include'
++fi
++
++AC_SUBST(MOZ_NATIVE_OPUS)
++AC_SUBST(MOZ_OPUS_CFLAGS)
++AC_SUBST(MOZ_OPUS_LIBS)
++
++dnl ========================================================
++dnl Check for libtheora
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-theora,
++[ --with-system-theora Use system libtheora (located with pkgconfig)],
++MOZ_NATIVE_THEORA=1,
++MOZ_NATIVE_THEORA=)
++
++if test -n "$MOZ_NATIVE_THEORA"; then
++ PKG_CHECK_MODULES(MOZ_THEORA, theora >= 1.2)
++fi
++
++AC_SUBST(MOZ_NATIVE_THEORA)
++AC_SUBST(MOZ_THEORA_CFLAGS)
++AC_SUBST(MOZ_THEORA_LIBS)
++
++dnl ========================================================
++dnl Check for libspeex resampler
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-speex,
++[ --with-system-speex Use system libspeex (located with pkgconfig)],
++MOZ_NATIVE_SPEEX=1,
++MOZ_NATIVE_SPEEX=)
++
++if test -n "$MOZ_NATIVE_SPEEX"; then
++ PKG_CHECK_MODULES(MOZ_SPEEX, speexdsp >= 1.2)
++fi
++
++AC_SUBST(MOZ_NATIVE_SPEEX)
++AC_SUBST(MOZ_SPEEX_CFLAGS)
++AC_SUBST(MOZ_SPEEX_LIBS)
++
++dnl ========================================================
++dnl Check for libsoundtouch
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-soundtouch,
++[ --with-system-soundtouch Use system libsoundtouch (located with pkgconfig)],
++MOZ_NATIVE_SOUNDTOUCH=1,
++MOZ_NATIVE_SOUNDTOUCH=)
++
++if test -n "$MOZ_NATIVE_SOUNDTOUCH"; then
++ PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.8.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
++
++AC_SUBST(MOZ_NATIVE_SOUNDTOUCH)
++AC_SUBST(MOZ_SOUNDTOUCH_CFLAGS)
++AC_SUBST(MOZ_SOUNDTOUCH_LIBS)
++
++dnl ========================================================
+ dnl = Disable VP8 decoder support
+ dnl ========================================================
+ MOZ_ARG_DISABLE_BOOL(webm,
+@@ -5938,7 +6002,9 @@ MOZ_ARG_DISABLE_BOOL(gamepad,
+ if test "$MOZ_GAMEPAD"; then
+ case "$OS_TARGET" in
+ Darwin)
+- MOZ_GAMEPAD_BACKEND=cocoa
++ if test "$MOZ_WIDGET_TOOLKIT" = "cocoa"; then
++ MOZ_GAMEPAD_BACKEND=cocoa
++ fi
+ ;;
+ WINNT)
+ if test -z "$MOZ_HAS_WINSDK_WITH_D3D"; then
+@@ -8036,6 +8102,52 @@ if test "$USE_FC_FREETYPE"; then
+ fi
+
+ dnl ========================================================
++dnl Check for harfbuzz
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-harfbuzz,
++[ --with-system-harfbuzz Use system harfbuzz (located with pkgconfig)],
++MOZ_NATIVE_HARFBUZZ=1,
++MOZ_NATIVE_HARFBUZZ=)
++
++if test -n "$MOZ_NATIVE_HARFBUZZ"; then
++ PKG_CHECK_MODULES(MOZ_HARFBUZZ, harfbuzz >= 0.9.25)
++fi
++
++AC_SUBST(MOZ_NATIVE_HARFBUZZ)
++AC_SUBST(MOZ_HARFBUZZ_CFLAGS)
++AC_SUBST(MOZ_HARFBUZZ_LIBS)
++
++dnl ========================================================
++dnl Check for graphite2
++dnl ========================================================
++MOZ_ARG_WITH_BOOL(system-graphite2,
++[ --with-system-graphite2 Use system graphite2 (located with pkgconfig)],
++MOZ_NATIVE_GRAPHITE2=1,
++MOZ_NATIVE_GRAPHITE2=)
++
++if test -n "$MOZ_NATIVE_GRAPHITE2"; then
++ PKG_CHECK_MODULES(MOZ_GRAPHITE2, graphite2)
++
++ dnl graphite2.pc has bogus version, check manually
++ 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,2,4)
++ #error "Insufficient graphite2 version."
++ #endif
++ ], [],
++ [AC_MSG_ERROR([--with-system-graphite2 requested but no working libgraphite2 found])])
++fi
++
++AC_SUBST(MOZ_NATIVE_GRAPHITE2)
++AC_SUBST(MOZ_GRAPHITE2_CFLAGS)
++AC_SUBST(MOZ_GRAPHITE2_LIBS)
++
++dnl ========================================================
+ dnl Check for pixman and cairo
+ dnl ========================================================
+
diff --git a/www/firefox31/patches/patch-ak b/www/firefox31/patches/patch-ak
new file mode 100644
index 00000000000..370088540d2
--- /dev/null
+++ b/www/firefox31/patches/patch-ak
@@ -0,0 +1,13 @@
+$NetBSD: patch-ak,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- js/src/ctypes/libffi/configure.orig 2013-01-04 23:44:34.000000000 +0000
++++ js/src/ctypes/libffi/configure
+@@ -11278,7 +11278,7 @@ case "$host" in
+ powerpc-*-aix* | rs6000-*-aix*)
+ TARGET=POWERPC_AIX; TARGETDIR=powerpc
+ ;;
+- powerpc-*-freebsd* | powerpc-*-openbsd*)
++ powerpc-*-freebsd* | powerpc-*-openbsd* | powerpc-*-netbsd*)
+ TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
+ ;;
+ powerpc*-*-rtems*)
diff --git a/www/firefox31/patches/patch-al b/www/firefox31/patches/patch-al
new file mode 100644
index 00000000000..c3c702ce1a9
--- /dev/null
+++ b/www/firefox31/patches/patch-al
@@ -0,0 +1,16 @@
+$NetBSD: patch-al,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- storage/src/mozStorageConnection.cpp.orig 2014-04-18 02:04:20.000000000 +0000
++++ storage/src/mozStorageConnection.cpp
+@@ -584,6 +584,11 @@ Connection::initialize(nsIFile *aDatabas
+
+ mDatabaseFile = aDatabaseFile;
+
++ // XXX tnn: the configure script demands that sqlite3 is compiled with
++ // SECURE_DELETE on by default. sqlite3 in pkgsrc does not have that,
++ // so instead we enable secure_delete manually here.
++ (void)ExecuteSimpleSQL(NS_LITERAL_CSTRING("PRAGMA secure_delete = 1;"));
++
+ return NS_OK;
+ }
+
diff --git a/www/firefox31/patches/patch-ao b/www/firefox31/patches/patch-ao
new file mode 100644
index 00000000000..356d06f99cd
--- /dev/null
+++ b/www/firefox31/patches/patch-ao
@@ -0,0 +1,17 @@
+$NetBSD: patch-ao,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- toolkit/mozapps/installer/packager.mk.orig 2014-10-11 15:00:07.000000000 +0000
++++ toolkit/mozapps/installer/packager.mk
+@@ -788,9 +788,9 @@ endif
+ (cd $(DIST)/$(MOZ_PKG_DIR) && $(TAR) --exclude=precomplete $(TAR_CREATE_FLAGS) - .) | \
+ (cd $(DESTDIR)$(installdir) && tar -xf -)
+ $(NSINSTALL) -D $(DESTDIR)$(bindir)
+- $(RM) -f $(DESTDIR)$(bindir)/$(MOZ_APP_NAME)
+- ln -s $(installdir)/$(MOZ_APP_NAME) $(DESTDIR)$(bindir)
+-ifdef INSTALL_SDK # Here comes the hard part
++ $(RM) -f $(DESTDIR)$(bindir)/$(MOZILLA_PKG_NAME)
++ ln -s $(installdir)/firefox $(DESTDIR)$(bindir)/$(MOZILLA_PKG_NAME)
++ifeq ($(MOZ_APP_NAME),xulrunner)
+ $(NSINSTALL) -D $(DESTDIR)$(includedir)
+ (cd $(DIST)/include && $(TAR) $(TAR_CREATE_FLAGS) - .) | \
+ (cd $(DESTDIR)$(includedir) && tar -xf -)
diff --git a/www/firefox31/patches/patch-as b/www/firefox31/patches/patch-as
new file mode 100644
index 00000000000..9df7f19d61e
--- /dev/null
+++ b/www/firefox31/patches/patch-as
@@ -0,0 +1,154 @@
+$NetBSD: patch-as,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+Treat DragonFly like FreeBSD.
+
+--- js/src/configure.in.orig 2014-05-29 23:30:53.000000000 +0000
++++ js/src/configure.in
+@@ -2082,116 +2082,13 @@ AC_LANG_CPLUSPLUS
+
+ MOZ_CXX11
+
+-dnl Check for .hidden assembler directive and visibility attribute.
+-dnl Borrowed from glibc configure.in
++dnl Setup default hidden visibility and wrapped system headers.
+ dnl ===============================================================
+ if test "$GNU_CC"; then
+- AC_CACHE_CHECK(for visibility(hidden) attribute,
+- ac_cv_visibility_hidden,
+- [cat > conftest.c <<EOF
+- int foo __attribute__ ((visibility ("hidden"))) = 1;
+-EOF
+- ac_cv_visibility_hidden=no
+- if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
+- if egrep '\.(hidden|private_extern).*foo' conftest.s >/dev/null; then
+- ac_cv_visibility_hidden=yes
+- fi
+- fi
+- rm -f conftest.[cs]
+- ])
+- if test "$ac_cv_visibility_hidden" = "yes"; then
+- AC_DEFINE(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE)
+-
+- AC_CACHE_CHECK(for visibility(default) attribute,
+- ac_cv_visibility_default,
+- [cat > conftest.c <<EOF
+- int foo __attribute__ ((visibility ("default"))) = 1;
+-EOF
+- ac_cv_visibility_default=no
+- if ${CC-cc} -fvisibility=hidden -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
+- if ! egrep '\.(hidden|private_extern).*foo' conftest.s >/dev/null; then
+- ac_cv_visibility_default=yes
+- fi
+- fi
+- rm -f conftest.[cs]
+- ])
+- if test "$ac_cv_visibility_default" = "yes"; then
+- AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE)
+-
+- AC_CACHE_CHECK(for visibility pragma support,
+- ac_cv_visibility_pragma,
+- [cat > conftest.c <<EOF
+-#pragma GCC visibility push(hidden)
+- int foo_hidden = 1;
+-#pragma GCC visibility push(default)
+- int foo_default = 1;
+-EOF
+- ac_cv_visibility_pragma=no
+- if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
+- if egrep '\.(hidden|private_extern).*foo_hidden' conftest.s >/dev/null; then
+- if ! egrep '\.(hidden|private_extern).*foo_default' conftest.s > /dev/null; then
+- ac_cv_visibility_pragma=yes
+- fi
+- fi
+- fi
+- rm -f conftest.[cs]
+- ])
+- if test "$ac_cv_visibility_pragma" = "yes"; then
+- AC_CACHE_CHECK(For gcc visibility bug with class-level attributes (GCC bug 26905),
+- ac_cv_have_visibility_class_bug,
+- [cat > conftest.c <<EOF
+-#pragma GCC visibility push(hidden)
+-struct __attribute__ ((visibility ("default"))) TestStruct {
+- static void Init();
+-};
+-__attribute__ ((visibility ("default"))) void TestFunc() {
+- TestStruct::Init();
+-}
+-EOF
+- ac_cv_have_visibility_class_bug=no
+- if ! ${CXX-g++} ${CXXFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
+- ac_cv_have_visibility_class_bug=yes
+- else
+- if test `egrep -c '@PLT|\\$stub' conftest.S` = 0; then
+- ac_cv_have_visibility_class_bug=yes
+- fi
+- fi
+- rm -rf conftest.{c,S}
+- ])
+-
+- AC_CACHE_CHECK(For x86_64 gcc visibility bug with builtins (GCC bug 20297),
+- ac_cv_have_visibility_builtin_bug,
+- [cat > conftest.c <<EOF
+-#pragma GCC visibility push(hidden)
+-#pragma GCC visibility push(default)
+-#include <string.h>
+-#pragma GCC visibility pop
+-
+-__attribute__ ((visibility ("default"))) void Func() {
+- char c[[100]];
+- memset(c, 0, sizeof(c));
+-}
+-EOF
+- ac_cv_have_visibility_builtin_bug=no
+- if ! ${CC-cc} ${CFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
+- ac_cv_have_visibility_builtin_bug=yes
+- else
+- if test `grep -c "@PLT" conftest.S` = 0; then
+- ac_cv_visibility_builtin_bug=yes
+- fi
+- fi
+- rm -f conftest.{c,S}
+- ])
+- if test "$ac_cv_have_visibility_builtin_bug" = "no" -a \
+- "$ac_cv_have_visibility_class_bug" = "no"; then
+- VISIBILITY_FLAGS='-I$(DIST)/system_wrappers -include $(topsrcdir)/config/gcc_hidden.h'
+- WRAP_SYSTEM_INCLUDES=1
+- else
+- VISIBILITY_FLAGS='-fvisibility=hidden'
+- fi # have visibility pragma bug
+- fi # have visibility pragma
+- fi # have visibility(default) attribute
+- fi # have visibility(hidden) attribute
++ AC_DEFINE(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE)
++ AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE)
++ VISIBILITY_FLAGS='-I$(DIST)/system_wrappers -include $(topsrcdir)/config/gcc_hidden.h'
++ WRAP_SYSTEM_INCLUDES=1
+ fi # GNU_CC
+
+ # visibility hidden flag for Sun Studio on Solaris
+@@ -3162,7 +3059,7 @@ if test "$MOZ_MEMORY"; then
+ *-darwin*)
+ AC_DEFINE(MOZ_MEMORY_DARWIN)
+ ;;
+- *-*freebsd*)
++ *-*freebsd*|*-*dragonfly*)
+ AC_DEFINE(MOZ_MEMORY_BSD)
+ ;;
+ *-android*|*-linuxandroid*)
+@@ -4100,6 +3997,16 @@ MOZ_SUBCONFIGURE_ICU()
+ dnl ========================================================
+ dnl JavaScript shell
+ dnl ========================================================
++ICU_LIB_NAMES=
++MOZ_NATIVE_ICU=
++MOZ_ARG_WITH_BOOL(system-icu,
++[ --with-system-icu
++ Use system icu (located with pkgconfig)],
++ MOZ_NATIVE_ICU=1)
++
++if test -n "$MOZ_NATIVE_ICU"; then
++ PKG_CHECK_MODULES(MOZ_ICU, icu-i18n >= 50.1)
++fi
+
+ AC_HAVE_FUNCS(setlocale)
+ AC_HAVE_FUNCS(localeconv)
diff --git a/www/firefox31/patches/patch-b2g_installer_Makefile.in b/www/firefox31/patches/patch-b2g_installer_Makefile.in
new file mode 100644
index 00000000000..2231db46c86
--- /dev/null
+++ b/www/firefox31/patches/patch-b2g_installer_Makefile.in
@@ -0,0 +1,15 @@
+$NetBSD: patch-b2g_installer_Makefile.in,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- b2g/installer/Makefile.in.orig 2014-07-17 01:45:05.000000000 +0000
++++ b2g/installer/Makefile.in
+@@ -61,6 +61,10 @@ ifneq (,$(filter rtsp,$(NECKO_PROTOCOLS)
+ DEFINES += -DMOZ_RTSP
+ endif
+
++ifdef MOZ_DEBUG
++DEFINES += -DMOZ_DEBUG=1
++endif
++
+ ifdef GKMEDIAS_SHARED_LIBRARY
+ DEFINES += -DGKMEDIAS_SHARED_LIBRARY
+ endif
diff --git a/www/firefox31/patches/patch-b2g_installer_package-manifest.in b/www/firefox31/patches/patch-b2g_installer_package-manifest.in
new file mode 100644
index 00000000000..778d87373fd
--- /dev/null
+++ b/www/firefox31/patches/patch-b2g_installer_package-manifest.in
@@ -0,0 +1,13 @@
+$NetBSD: patch-b2g_installer_package-manifest.in,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- b2g/installer/package-manifest.in.orig 2014-07-17 01:45:05.000000000 +0000
++++ b2g/installer/package-manifest.in
+@@ -565,7 +565,7 @@
+ @BINPATH@/components/MozKeyboard.js
+ @BINPATH@/components/InputMethod.manifest
+
+-#ifdef MOZ_DEBUG
++#if defined(ENABLE_TESTS) && defined(MOZ_DEBUG)
+ @BINPATH@/components/TestInterfaceJS.js
+ @BINPATH@/components/TestInterfaceJS.manifest
+ #endif
diff --git a/www/firefox31/patches/patch-bf b/www/firefox31/patches/patch-bf
new file mode 100644
index 00000000000..fa3464fab9a
--- /dev/null
+++ b/www/firefox31/patches/patch-bf
@@ -0,0 +1,13 @@
+$NetBSD: patch-bf,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- js/src/jsnativestack.cpp.orig 2013-09-10 03:43:36.000000000 +0000
++++ js/src/jsnativestack.cpp
+@@ -114,7 +114,7 @@ js::GetNativeStackBaseImpl()
+ pthread_attr_init(&sattr);
+ # if defined(__OpenBSD__)
+ stack_t ss;
+-# elif defined(PTHREAD_NP_H) || defined(_PTHREAD_NP_H_) || defined(NETBSD)
++# elif defined(PTHREAD_NP_H) || defined(_PTHREAD_NP_H_) || defined(__DragonFly__) || defined(NETBSD) || defined(__NetBSD__) /* XXX tnn not sure why NETBSD isn't defined, it looks like it should be ... */
+ /* e.g. on FreeBSD 4.8 or newer, neundorf@kde.org */
+ pthread_attr_get_np(thread, &sattr);
+ # else
diff --git a/www/firefox31/patches/patch-bg b/www/firefox31/patches/patch-bg
new file mode 100644
index 00000000000..f67ac9fe325
--- /dev/null
+++ b/www/firefox31/patches/patch-bg
@@ -0,0 +1,24 @@
+$NetBSD: patch-bg,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- storage/src/SQLiteMutex.h.orig 2013-10-25 22:27:40.000000000 +0000
++++ storage/src/SQLiteMutex.h
+@@ -108,15 +108,19 @@ public:
+ void assertCurrentThreadOwns()
+ {
+ NS_ASSERTION(mMutex, "No mutex associated with this wrapper!");
++#if 0
+ NS_ASSERTION(sqlite3_mutex_held(mMutex),
+ "Mutex is not held, but we expect it to be!");
++#endif
+ }
+
+ void assertNotCurrentThreadOwns()
+ {
+ NS_ASSERTION(mMutex, "No mutex associated with this wrapper!");
++#if 0
+ NS_ASSERTION(sqlite3_mutex_notheld(mMutex),
+ "Mutex is held, but we expect it to not be!");
++#endif
+ }
+ #endif // ifndef DEBUG
+
diff --git a/www/firefox31/patches/patch-bi b/www/firefox31/patches/patch-bi
new file mode 100644
index 00000000000..4895bc191aa
--- /dev/null
+++ b/www/firefox31/patches/patch-bi
@@ -0,0 +1,12 @@
+$NetBSD: patch-bi,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- gfx/angle/src/compiler/osinclude.h.orig 2013-01-04 23:44:32.000000000 +0000
++++ gfx/angle/src/compiler/osinclude.h
+@@ -16,6 +16,7 @@
+ #define ANGLE_OS_WIN
+ #elif defined(__APPLE__) || defined(__linux__) || \
+ defined(__FreeBSD__) || defined(__OpenBSD__) || \
++ defined(__NetBSD__) || defined(__DragonFly__) || \
+ defined(__sun) || defined(ANDROID) || \
+ defined(__GLIBC__) || defined(__GNU__) || \
+ defined(__QNX__)
diff --git a/www/firefox31/patches/patch-browser_app_nsBrowserApp.cpp b/www/firefox31/patches/patch-browser_app_nsBrowserApp.cpp
new file mode 100644
index 00000000000..d9358e952af
--- /dev/null
+++ b/www/firefox31/patches/patch-browser_app_nsBrowserApp.cpp
@@ -0,0 +1,36 @@
+$NetBSD: patch-browser_app_nsBrowserApp.cpp,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+* Replace XP_MACOSX with XP_DARWIN as the former is not defined when
+ the toolkit is not cocoa.
+
+--- browser/app/nsBrowserApp.cpp.orig 2014-05-06 22:55:09.000000000 +0000
++++ browser/app/nsBrowserApp.cpp
+@@ -18,8 +18,10 @@
+ #include <unistd.h>
+ #endif
+
+-#ifdef XP_MACOSX
++#ifdef XP_DARWIN
+ #include <mach/mach_time.h>
++#endif
++#ifdef MOZ_WIDGET_COCOA
+ #include "MacQuirks.h"
+ #endif
+
+@@ -447,7 +449,7 @@ TimeStamp_Now()
+ }
+
+ return sGetTickCount64() * freq.QuadPart;
+-#elif defined(XP_MACOSX)
++#elif defined(XP_DARWIN)
+ return mach_absolute_time();
+ #elif defined(HAVE_CLOCK_MONOTONIC)
+ struct timespec ts;
+@@ -586,6 +588,7 @@ int main(int argc, char* argv[])
+ TriggerQuirks();
+ #endif
+
++ setenv("MOZ_PLUGIN_PATH", "%%LOCALBASE%%/lib/browser_plugins/symlinks/gecko", 0);
+ int gotCounters;
+ #if defined(XP_UNIX)
+ struct rusage initialRUsage;
diff --git a/www/firefox31/patches/patch-browser_app_profile_firefox.js b/www/firefox31/patches/patch-browser_app_profile_firefox.js
new file mode 100644
index 00000000000..5ebe563816b
--- /dev/null
+++ b/www/firefox31/patches/patch-browser_app_profile_firefox.js
@@ -0,0 +1,12 @@
+$NetBSD: patch-browser_app_profile_firefox.js,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- browser/app/profile/firefox.js.orig 2013-09-10 03:43:20.000000000 +0000
++++ browser/app/profile/firefox.js
+@@ -354,6 +354,7 @@ pref("browser.search.log", false);
+ pref("browser.search.order.1", "chrome://browser-region/locale/region.properties");
+ pref("browser.search.order.2", "chrome://browser-region/locale/region.properties");
+ pref("browser.search.order.3", "chrome://browser-region/locale/region.properties");
++pref("browser.search.order.4", "chrome://browser-region/locale/region.properties");
+
+ // search bar results always open in a new tab
+ pref("browser.search.openintab", false);
diff --git a/www/firefox31/patches/patch-browser_installer_package-manifest.in b/www/firefox31/patches/patch-browser_installer_package-manifest.in
new file mode 100644
index 00000000000..08ea92a5832
--- /dev/null
+++ b/www/firefox31/patches/patch-browser_installer_package-manifest.in
@@ -0,0 +1,24 @@
+$NetBSD: patch-browser_installer_package-manifest.in,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+Limit SPARC bits to just SPARC (untested, but fixes x86).
+
+--- browser/installer/package-manifest.in.orig 2014-07-17 01:45:07.000000000 +0000
++++ browser/installer/package-manifest.in
+@@ -575,7 +575,7 @@
+ @BINPATH@/components/MozKeyboard.js
+ @BINPATH@/components/InputMethod.manifest
+
+-#ifdef MOZ_DEBUG
++#if defined(ENABLE_TESTS) && defined(MOZ_DEBUG)
+ @BINPATH@/components/TestInterfaceJS.js
+ @BINPATH@/components/TestInterfaceJS.manifest
+ #endif
+@@ -737,7 +737,7 @@
+ #endif
+
+ ; for Solaris SPARC
+-#ifdef SOLARIS
++#if defined(SOLARIS) && defined(SPARC)
+ bin/libfreebl_32fpu_3.so
+ bin/libfreebl_32int_3.so
+ bin/libfreebl_32int64_3.so
diff --git a/www/firefox31/patches/patch-browser_locales_en-US_chrome_browser-region_region.properties b/www/firefox31/patches/patch-browser_locales_en-US_chrome_browser-region_region.properties
new file mode 100644
index 00000000000..91991f200f8
--- /dev/null
+++ b/www/firefox31/patches/patch-browser_locales_en-US_chrome_browser-region_region.properties
@@ -0,0 +1,12 @@
+$NetBSD: patch-browser_locales_en-US_chrome_browser-region_region.properties,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- browser/locales/en-US/chrome/browser-region/region.properties.orig 2013-09-10 03:43:22.000000000 +0000
++++ browser/locales/en-US/chrome/browser-region/region.properties
+@@ -9,6 +9,7 @@ browser.search.defaultenginename=Google
+ browser.search.order.1=Google
+ browser.search.order.2=Yahoo
+ browser.search.order.3=Bing
++browser.search.order.4=DuckDuckGo
+
+ # This is the default set of web based feed handlers shown in the reader
+ # selection UI
diff --git a/www/firefox31/patches/patch-browser_locales_en-US_searchplugins_duckduckgo.xml b/www/firefox31/patches/patch-browser_locales_en-US_searchplugins_duckduckgo.xml
new file mode 100644
index 00000000000..08623e55a49
--- /dev/null
+++ b/www/firefox31/patches/patch-browser_locales_en-US_searchplugins_duckduckgo.xml
@@ -0,0 +1,16 @@
+$NetBSD: patch-browser_locales_en-US_searchplugins_duckduckgo.xml,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- browser/locales/en-US/searchplugins/duckduckgo.xml.orig 2013-09-14 15:17:46.000000000 +0000
++++ browser/locales/en-US/searchplugins/duckduckgo.xml
+@@ -0,0 +1,11 @@
++<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/">
++<ShortName>DuckDuckGo</ShortName>
++<Description>We believe in better search and not tracking.</Description>
++<InputEncoding>UTF-8</InputEncoding>
++<Image height="16" width="16" type="image/x-icon">data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAANcNAADXDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyDsJmlk8pf6+v3s/v7+++zr/fcnIOyzJyDsgCcg7CYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnIOwBJyDscCcg7PZttJ7/7Pfs//////++xO7/S5GA/ycg7P8nIOz2JyDscCcg7AEAAAAAAAAAAAAAAAAnIOwBJyDstScg7P8nIOz/Y8p5/2fHZf9Yv0z/YcF2/1rBUv8nIOz/JyDs/ycg7P8nIOy1JyDsAQAAAAAAAAAAJyDscCcg7P8nIOz/JyDs/4jQoP/p9+n//////05X3v9LkYD/JyDs/ycg7P8nIOz/JyDs/ycg7HAAAAAAJyDsJicg7PYnIOz/JyDs/zUu7f/+/v////////////89N+7/JyDs/yUo7f8nIOz/JyDs/ycg7P8nIOz2JyDsJicg7IAnIOz/JyDs/ycg7P9hXPH////////////t/P//GIr2/wfD+/8Gyfz/DKv5/yM57/8nIOz/JyDs/ycg7H8nIOyzJyDs/ycg7P8nIOz/jov1////////////Otz9/w3G/P8cWfH/JSvt/ycg7P8nIOz/JyDs/ycg7P8nIOyzJyDs5icg7P8nIOz/JyDs/7u5+f///////////27l/v8E0v3/BNL9/wTQ/f8Oofn/IT7v/ycg7P8nIOz/JyDs5icg7OYnIOz/JyDs/ycg7P/p6P3/uWsC////////////5fr//6Po/f8Thfb/DKv5/w6f+f8nIOz/JyDs/ycg7OYnIOyzJyDs/ycg7P8nIOz/9/b+/////////////////7lrAv/V1Pv/JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOyzJyDsgCcg7P8nIOz/JyDs/8/N+///////////////////////iIX1/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDsfycg7CYnIOz2JyDs/ycg7P9FP+7/q6n4/+7u/f/n5v3/fXn0/yoj7P8nIOz/JyDs/ycg7P8nIOz/JyDs9icg7CYAAAAAJyDscCcg7P8nIOz/wsD6/+no/f/Y1/z/eHTz/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7HAAAAAAAAAAACcg7AEnIOy1JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7LUnIOwBAAAAAAAAAAAAAAAAJyDsAScg7HAnIOz2JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs9icg7HAnIOwBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyDsJicg7IAnIOyzJyDs5icg7OYnIOyzJyDsgCcg7CYAAAAAAAAAAAAAAAAAAAAA+B8AAPAPAADAAwAAwAMAAIABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAACAAQAAwAMAAMADAADwDwAA+B8AAA==</Image>
++<Url type="text/html" method="GET" template="https://duckduckgo.com/">
++<Param name="q" value="{searchTerms}"/>
++<Param name="t" value="freebsd"/>
++</Url>
++<SearchForm>https://duckduckgo.com/</SearchForm>
++</SearchPlugin>
diff --git a/www/firefox31/patches/patch-browser_locales_en-US_searchplugins_list.txt b/www/firefox31/patches/patch-browser_locales_en-US_searchplugins_list.txt
new file mode 100644
index 00000000000..54847267003
--- /dev/null
+++ b/www/firefox31/patches/patch-browser_locales_en-US_searchplugins_list.txt
@@ -0,0 +1,11 @@
+$NetBSD: patch-browser_locales_en-US_searchplugins_list.txt,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- browser/locales/en-US/searchplugins/list.txt.orig 2013-09-10 03:43:22.000000000 +0000
++++ browser/locales/en-US/searchplugins/list.txt
+@@ -1,5 +1,6 @@
+ amazondotcom
+ bing
++duckduckgo
+ eBay
+ google
+ twitter
diff --git a/www/firefox31/patches/patch-build_autoconf_compiler-opts.m4 b/www/firefox31/patches/patch-build_autoconf_compiler-opts.m4
new file mode 100644
index 00000000000..39bf9859c18
--- /dev/null
+++ b/www/firefox31/patches/patch-build_autoconf_compiler-opts.m4
@@ -0,0 +1,22 @@
+$NetBSD: patch-build_autoconf_compiler-opts.m4,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+It's true Clang is required if we use the cocoa toolkit, but we don't
+do that anyway. GCC is perfectly working as long as we use cairo-gtk2.
+
+--- build/autoconf/compiler-opts.m4.orig 2014-05-06 22:55:14.000000000 +0000
++++ build/autoconf/compiler-opts.m4
+@@ -53,14 +53,6 @@ case "$target" in
+ if test -z "$CXX"; then
+ MOZ_PATH_PROGS(CXX, clang++)
+ fi
+- IS_GCC=$($CC -v 2>&1 | grep gcc)
+- if test -n "$IS_GCC"
+- then
+- echo gcc is known to be broken on OS X, please use clang.
+- echo see http://developer.mozilla.org/en-US/docs/Developer_Guide/Build_Instructions/Mac_OS_X_Prerequisites
+- echo for more information.
+- exit 1
+- fi
+ ;;
+ esac
+ fi
diff --git a/www/firefox31/patches/patch-build_autoconf_nss.m4 b/www/firefox31/patches/patch-build_autoconf_nss.m4
new file mode 100644
index 00000000000..2d5f631c7f2
--- /dev/null
+++ b/www/firefox31/patches/patch-build_autoconf_nss.m4
@@ -0,0 +1,46 @@
+$NetBSD: patch-build_autoconf_nss.m4,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- build/autoconf/nss.m4.orig 2013-10-25 22:27:10.000000000 +0000
++++ build/autoconf/nss.m4
+@@ -22,18 +22,18 @@ AC_ARG_WITH(nss-exec-prefix,
+ if test -n "$nss_config_exec_prefix"; then
+ nss_config_args="$nss_config_args --exec-prefix=$nss_config_exec_prefix"
+ if test -z "$NSS_CONFIG"; then
+- NSS_CONFIG=$nss_config_exec_prefix/bin/nss-config
++ NSS_CONFIG=$nss_config_exec_prefix/bin/pkg-config
+ fi
+ fi
+ if test -n "$nss_config_prefix"; then
+ nss_config_args="$nss_config_args --prefix=$nss_config_prefix"
+ if test -z "$NSS_CONFIG"; then
+- NSS_CONFIG=$nss_config_prefix/bin/nss-config
++ NSS_CONFIG=$nss_config_prefix/bin/pkg-config
+ fi
+ fi
+
+ unset ac_cv_path_NSS_CONFIG
+- AC_PATH_PROG(NSS_CONFIG, nss-config, no)
++ AC_PATH_PROG(NSS_CONFIG, pkg-config, no)
+ min_nss_version=ifelse([$1], ,3.0.0,$1)
+ AC_MSG_CHECKING(for NSS - version >= $min_nss_version)
+
+@@ -41,14 +41,14 @@ AC_ARG_WITH(nss-exec-prefix,
+ if test "$NSS_CONFIG" = "no"; then
+ no_nss="yes"
+ else
+- NSS_CFLAGS=`$NSS_CONFIG $nss_config_args --cflags`
+- NSS_LIBS=`$NSS_CONFIG $nss_config_args --libs`
++ NSS_CFLAGS=`$NSS_CONFIG $nss_config_args nss --cflags`
++ NSS_LIBS=`$NSS_CONFIG $nss_config_args nss --libs`
+
+- nss_config_major_version=`$NSS_CONFIG $nss_config_args --version | \
++ nss_config_major_version=`$NSS_CONFIG $nss_config_args nss --modversion | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
+- nss_config_minor_version=`$NSS_CONFIG $nss_config_args --version | \
++ nss_config_minor_version=`$NSS_CONFIG $nss_config_args nss --modversion | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
+- nss_config_micro_version=`$NSS_CONFIG $nss_config_args --version | \
++ nss_config_micro_version=`$NSS_CONFIG $nss_config_args nss --modversion | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
+ min_nss_major_version=`echo $min_nss_version | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
diff --git a/www/firefox31/patches/patch-build_gyp.mozbuild b/www/firefox31/patches/patch-build_gyp.mozbuild
new file mode 100644
index 00000000000..f97f5fb4b2a
--- /dev/null
+++ b/www/firefox31/patches/patch-build_gyp.mozbuild
@@ -0,0 +1,12 @@
+$NetBSD: patch-build_gyp.mozbuild,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- build/gyp.mozbuild.orig 2014-04-18 02:02:38.000000000 +0000
++++ build/gyp.mozbuild
+@@ -11,6 +11,7 @@ gyp_vars = {
+ 'have_ethtool_cmd_speed_hi': 1 if CONFIG['MOZ_WEBRTC_HAVE_ETHTOOL_SPEED_HI'] else 0,
+ 'include_alsa_audio': 1 if CONFIG['MOZ_ALSA'] else 0,
+ 'include_pulse_audio': 1 if CONFIG['MOZ_PULSEAUDIO'] else 0,
++ 'use_libv4l2': 1 if CONFIG['MOZ_LIBV4L2_LIBS'] else 0,
+ # basic stuff for everything
+ 'include_internal_video_render': 0,
+ 'clang_use_chrome_plugins': 0,
diff --git a/www/firefox31/patches/patch-build_pgo_profileserver.py b/www/firefox31/patches/patch-build_pgo_profileserver.py
new file mode 100644
index 00000000000..c6fb777a1e4
--- /dev/null
+++ b/www/firefox31/patches/patch-build_pgo_profileserver.py
@@ -0,0 +1,13 @@
+$NetBSD: patch-build_pgo_profileserver.py,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- build/pgo/profileserver.py.orig 2014-03-15 05:19:09.000000000 +0000
++++ build/pgo/profileserver.py
+@@ -59,7 +59,7 @@ if __name__ == '__main__':
+ env["MOZ_JAR_LOG_FILE"] = os.path.abspath(jarlog)
+ print "jarlog: %s" % env["MOZ_JAR_LOG_FILE"]
+
+- cmdargs = ["http://localhost:%d/index.html" % PORT]
++ cmdargs = ["http://127.0.0.1:%d/index.html" % PORT]
+ runner = FirefoxRunner(profile=profile,
+ binary=build.get_binary_path(where="staged-package"),
+ cmdargs=cmdargs,
diff --git a/www/firefox31/patches/patch-config_Makefile.in b/www/firefox31/patches/patch-config_Makefile.in
new file mode 100644
index 00000000000..404f1716f09
--- /dev/null
+++ b/www/firefox31/patches/patch-config_Makefile.in
@@ -0,0 +1,20 @@
+$NetBSD: patch-config_Makefile.in,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- config/Makefile.in.orig 2014-04-18 02:02:39.000000000 +0000
++++ config/Makefile.in
+@@ -77,6 +77,15 @@ export:: $(export-preqs)
+ -DMOZ_NATIVE_LIBEVENT=$(MOZ_NATIVE_LIBEVENT) \
+ -DMOZ_NATIVE_LIBVPX=$(MOZ_NATIVE_LIBVPX) \
+ -DMOZ_NATIVE_ICU=$(MOZ_NATIVE_ICU) \
++ -DMOZ_NATIVE_GRAPHITE2=$(MOZ_NATIVE_GRAPHITE2) \
++ -DMOZ_NATIVE_HARFBUZZ=$(MOZ_NATIVE_HARFBUZZ) \
++ -DMOZ_NATIVE_OGG=$(MOZ_NATIVE_OGG) \
++ -DMOZ_NATIVE_THEORA=$(MOZ_NATIVE_THEORA) \
++ -DMOZ_NATIVE_VORBIS=$(MOZ_NATIVE_VORBIS) \
++ -DMOZ_NATIVE_TREMOR=$(MOZ_NATIVE_TREMOR) \
++ -DMOZ_NATIVE_OPUS=$(MOZ_NATIVE_OPUS) \
++ -DMOZ_NATIVE_SPEEX=$(MOZ_NATIVE_SPEEX) \
++ -DMOZ_NATIVE_SOUNDTOUCH=$(MOZ_NATIVE_SOUNDTOUCH) \
+ $(srcdir)/system-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers
+ $(INSTALL) system_wrappers $(DIST)
+
diff --git a/www/firefox31/patches/patch-config_baseconfig.mk b/www/firefox31/patches/patch-config_baseconfig.mk
new file mode 100644
index 00000000000..fd85e043cac
--- /dev/null
+++ b/www/firefox31/patches/patch-config_baseconfig.mk
@@ -0,0 +1,19 @@
+$NetBSD: patch-config_baseconfig.mk,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- config/baseconfig.mk.orig 2014-04-18 02:02:39.000000000 +0000
++++ config/baseconfig.mk
+@@ -2,10 +2,10 @@
+ # directly in python/mozbuild/mozbuild/base.py for gmake validation.
+ # We thus use INCLUDED_AUTOCONF_MK to enable/disable some parts depending
+ # whether a normal build is happening or whether the check is running.
+-includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
++includedir := $(includedir)/${MOZILLA_PKG_NAME}
++idldir = $(datadir)/idl/${MOZILLA_PKG_NAME}
++installdir = $(libdir)/${MOZILLA_PKG_NAME}
++sdkdir = $(libdir)/${MOZILLA_PKG_NAME}
+ ifndef TOP_DIST
+ TOP_DIST = dist
+ endif
diff --git a/www/firefox31/patches/patch-config_external_moz.build b/www/firefox31/patches/patch-config_external_moz.build
new file mode 100644
index 00000000000..544b3518a42
--- /dev/null
+++ b/www/firefox31/patches/patch-config_external_moz.build
@@ -0,0 +1,47 @@
+$NetBSD: patch-config_external_moz.build,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- config/external/moz.build.orig 2014-05-29 23:30:30.000000000 +0000
++++ config/external/moz.build
+@@ -15,13 +15,19 @@ if CONFIG['MOZ_UPDATER']:
+ if not CONFIG['MOZ_NATIVE_BZ2']:
+ external_dirs += ['modules/libbz2']
+
+-if CONFIG['MOZ_VORBIS']:
++if not CONFIG['MOZ_NATIVE_OGG']:
++ external_dirs += ['media/libogg']
++
++if not CONFIG['MOZ_NATIVE_THEORA']:
++ external_dirs += ['media/libtheora']
++
++if CONFIG['MOZ_VORBIS'] and not CONFIG['MOZ_NATIVE_VORBIS']:
+ external_dirs += ['media/libvorbis']
+
+-if CONFIG['MOZ_TREMOR']:
++if CONFIG['MOZ_TREMOR'] and not CONFIG['MOZ_NATIVE_TREMOR']:
+ external_dirs += ['media/libtremor']
+
+-if CONFIG['MOZ_OPUS']:
++if CONFIG['MOZ_OPUS'] and not CONFIG['MOZ_NATIVE_OPUS']:
+ external_dirs += ['media/libopus']
+
+ if CONFIG['MOZ_WEBM']:
+@@ -36,13 +42,15 @@ if CONFIG['MOZ_VPX'] and not CONFIG['MOZ
+ if not CONFIG['MOZ_NATIVE_PNG']:
+ external_dirs += ['media/libpng']
+
++if not CONFIG['MOZ_NATIVE_SPEEX']:
++ external_dirs += ['media/libspeex_resampler']
++
++if not CONFIG['MOZ_NATIVE_SOUNDTOUCH']:
++ external_dirs += ['media/libsoundtouch']
++
+ external_dirs += [
+ 'media/kiss_fft',
+ 'media/libcubeb',
+- 'media/libogg',
+- 'media/libtheora',
+- 'media/libspeex_resampler',
+- 'media/libsoundtouch',
+ ]
+
+ PARALLEL_DIRS += ['../../' + i for i in external_dirs]
diff --git a/www/firefox31/patches/patch-config_rules.mk b/www/firefox31/patches/patch-config_rules.mk
new file mode 100644
index 00000000000..209ab295880
--- /dev/null
+++ b/www/firefox31/patches/patch-config_rules.mk
@@ -0,0 +1,30 @@
+$NetBSD: patch-config_rules.mk,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- config/rules.mk.orig 2014-07-17 01:45:08.000000000 +0000
++++ config/rules.mk
+@@ -832,6 +832,7 @@ endif
+ ifdef DTRACE_PROBE_OBJ
+ EXTRA_DEPS += $(DTRACE_PROBE_OBJ)
+ OBJS += $(DTRACE_PROBE_OBJ)
++EXCLUDED_OBJS += $(DTRACE_PROBE_OBJ)
+ endif
+
+ $(filter %.$(LIB_SUFFIX),$(LIBRARY)): $(OBJS) $(EXTRA_DEPS) $(GLOBAL_DEPS)
+@@ -867,7 +868,7 @@ ifdef DTRACE_PROBE_OBJ
+ ifndef DTRACE_LIB_DEPENDENT
+ NON_DTRACE_OBJS := $(filter-out $(DTRACE_PROBE_OBJ),$(OBJS))
+ $(DTRACE_PROBE_OBJ): $(NON_DTRACE_OBJS)
+- dtrace -G -C -s $(MOZILLA_DTRACE_SRC) -o $(DTRACE_PROBE_OBJ) $(NON_DTRACE_OBJS)
++ dtrace -x nolibs -G -C -s $(MOZILLA_DTRACE_SRC) -o $(DTRACE_PROBE_OBJ) $(NON_DTRACE_OBJS)
+ endif
+ endif
+ endif
+@@ -885,7 +886,7 @@ ifndef INCREMENTAL_LINKER
+ endif
+ ifdef DTRACE_LIB_DEPENDENT
+ ifndef XP_MACOSX
+- dtrace -G -C -s $(MOZILLA_DTRACE_SRC) -o $(DTRACE_PROBE_OBJ) $(shell $(EXPAND_LIBS) $(MOZILLA_PROBE_LIBS))
++ dtrace -x nolibs -G -C -s $(MOZILLA_DTRACE_SRC) -o $(DTRACE_PROBE_OBJ) $(shell $(EXPAND_LIBS) $(MOZILLA_PROBE_LIBS))
+ endif
+ $(EXPAND_MKSHLIB) $(SHLIB_LDSTARTFILE) $(OBJS) $(SUB_SHLOBJS) $(DTRACE_PROBE_OBJ) $(MOZILLA_PROBE_LIBS) $(RESFILE) $(LDFLAGS) $(WRAP_LDFLAGS) $(SHARED_LIBRARY_LIBS) $(EXTRA_DSO_LDOPTS) $(MOZ_GLUE_LDFLAGS) $(OS_LIBS) $(EXTRA_LIBS) $(DEF_FILE) $(SHLIB_LDENDFILE) $(if $(LIB_IS_C_ONLY),,$(STLPORT_LIBS))
+ @$(RM) $(DTRACE_PROBE_OBJ)
diff --git a/www/firefox31/patches/patch-config_stl__wrappers_ios b/www/firefox31/patches/patch-config_stl__wrappers_ios
new file mode 100644
index 00000000000..10a7b0d7287
--- /dev/null
+++ b/www/firefox31/patches/patch-config_stl__wrappers_ios
@@ -0,0 +1,8 @@
+$NetBSD: patch-config_stl__wrappers_ios,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- config/stl_wrappers/ios.orig 2013-05-13 18:23:07.000000000 +0000
++++ config/stl_wrappers/ios
+@@ -0,0 +1,3 @@
++#pragma GCC visibility push(default)
++#include_next <ios>
++#pragma GCC visibility pop
diff --git a/www/firefox31/patches/patch-config_stl__wrappers_ostream b/www/firefox31/patches/patch-config_stl__wrappers_ostream
new file mode 100644
index 00000000000..50b5533c6f3
--- /dev/null
+++ b/www/firefox31/patches/patch-config_stl__wrappers_ostream
@@ -0,0 +1,8 @@
+$NetBSD: patch-config_stl__wrappers_ostream,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- config/stl_wrappers/ostream.orig 2013-05-13 18:22:40.000000000 +0000
++++ config/stl_wrappers/ostream
+@@ -0,0 +1,3 @@
++#pragma GCC visibility push(default)
++#include_next <ostream>
++#pragma GCC visibility pop
diff --git a/www/firefox31/patches/patch-config_system-headers b/www/firefox31/patches/patch-config_system-headers
new file mode 100644
index 00000000000..6bef4545b2f
--- /dev/null
+++ b/www/firefox31/patches/patch-config_system-headers
@@ -0,0 +1,60 @@
+$NetBSD: patch-config_system-headers,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- config/system-headers.orig 2014-07-17 01:45:08.000000000 +0000
++++ config/system-headers
+@@ -1048,8 +1048,6 @@ X11/Xlocale.h
+ X11/Xos.h
+ X11/Xutil.h
+ zmouse.h
+-speex/speex_resampler.h
+-soundtouch/SoundTouch.h
+ #if MOZ_NATIVE_PNG==1
+ png.h
+ #endif
+@@ -1117,6 +1115,8 @@ ogg/ogg.h
+ ogg/os_types.h
+ nestegg/nestegg.h
+ cubeb/cubeb.h
++speex/speex_resampler.h
++soundtouch/SoundTouch.h
+ #endif
+ gst/gst.h
+ gst/app/gstappsink.h
+@@ -1145,3 +1145,37 @@ unicode/utypes.h
+ #endif
+ libutil.h
+ unwind.h
++#if MOZ_NATIVE_GRAPHITE2==1
++graphite2/Font.h
++graphite2/Segment.h
++#endif
++#if MOZ_NATIVE_HARFBUZZ==1
++harfbuzz/hb-ot.h
++harfbuzz/hb.h
++#endif
++#if MOZ_NATIVE_OGG==1
++ogg/ogg.h
++ogg/os_types.h
++#endif
++#if MOZ_NATIVE_THEORA==1
++theora/theoradec.h
++#endif
++#if MOZ_NATIVE_VORBIS==1
++vorbis/codec.h
++vorbis/vorbisenc.h
++#endif
++#if MOZ_NATIVE_TREMOR==1
++tremor/ivorbiscodec.h
++#endif
++#if MOZ_NATIVE_OPUS==1
++opus.h
++opus_multistream.h
++opus/opus.h
++opus/opus_multistream.h
++#endif
++#if MOZ_NATIVE_SPEEX==1
++speex/speex_resampler.h
++#endif
++#if MOZ_NATIVE_SOUNDTOUCH==1
++soundtouch/SoundTouch.h
++#endif
diff --git a/www/firefox31/patches/patch-config_system__wrappers_unwind.h b/www/firefox31/patches/patch-config_system__wrappers_unwind.h
new file mode 100644
index 00000000000..b522f7c6317
--- /dev/null
+++ b/www/firefox31/patches/patch-config_system__wrappers_unwind.h
@@ -0,0 +1,9 @@
+$NetBSD: patch-config_system__wrappers_unwind.h,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- config/system_wrappers/unwind.h.orig 2013-05-13 19:56:18.000000000 +0000
++++ config/system_wrappers/unwind.h
+@@ -0,0 +1,4 @@
++#pragma GCC system_header
++#pragma GCC visibility push(default)
++#include_next <unwind.h>
++#pragma GCC visibility pop
diff --git a/www/firefox31/patches/patch-content_base_src_moz.build b/www/firefox31/patches/patch-content_base_src_moz.build
new file mode 100644
index 00000000000..1c0127cc966
--- /dev/null
+++ b/www/firefox31/patches/patch-content_base_src_moz.build
@@ -0,0 +1,14 @@
+$NetBSD: patch-content_base_src_moz.build,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- content/base/src/moz.build.orig 2014-05-29 23:30:31.000000000 +0000
++++ content/base/src/moz.build
+@@ -176,6 +176,9 @@ SOURCES += [
+ 'nsObjectLoadingContent.cpp',
+ ]
+
++if CONFIG['MOZ_NATIVE_HARFBUZZ']:
++ SOURCES['nsContentUtils.cpp'].flags += [CONFIG['MOZ_HARFBUZZ_CFLAGS']]
++
+ EXTRA_COMPONENTS += [
+ 'contentAreaDropListener.js',
+ 'contentAreaDropListener.manifest',
diff --git a/www/firefox31/patches/patch-content_media_AudioStream.cpp b/www/firefox31/patches/patch-content_media_AudioStream.cpp
new file mode 100644
index 00000000000..7e0679e406d
--- /dev/null
+++ b/www/firefox31/patches/patch-content_media_AudioStream.cpp
@@ -0,0 +1,12 @@
+$NetBSD: patch-content_media_AudioStream.cpp,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- content/media/AudioStream.cpp.orig 2014-04-18 02:02:42.000000000 +0000
++++ content/media/AudioStream.cpp
+@@ -13,7 +13,6 @@
+ #include "mozilla/Mutex.h"
+ #include <algorithm>
+ #include "mozilla/Preferences.h"
+-#include "soundtouch/SoundTouch.h"
+ #include "Latency.h"
+
+ namespace mozilla {
diff --git a/www/firefox31/patches/patch-content_media_AudioStream.h b/www/firefox31/patches/patch-content_media_AudioStream.h
new file mode 100644
index 00000000000..dc7b02852e1
--- /dev/null
+++ b/www/firefox31/patches/patch-content_media_AudioStream.h
@@ -0,0 +1,23 @@
+$NetBSD: patch-content_media_AudioStream.h,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- content/media/AudioStream.h.orig 2014-07-17 01:45:09.000000000 +0000
++++ content/media/AudioStream.h
+@@ -17,6 +17,7 @@
+ #include "mozilla/RefPtr.h"
+
+ #include "cubeb/cubeb.h"
++#include "soundtouch/SoundTouch.h"
+
+ template <>
+ class nsAutoRefTraits<cubeb_stream> : public nsPointerRefTraits<cubeb_stream>
+@@ -25,10 +26,6 @@ public:
+ static void Release(cubeb_stream* aStream) { cubeb_stream_destroy(aStream); }
+ };
+
+-namespace soundtouch {
+-class SoundTouch;
+-}
+-
+ namespace mozilla {
+
+ class AudioStream;
diff --git a/www/firefox31/patches/patch-content_media_Makefile.in b/www/firefox31/patches/patch-content_media_Makefile.in
new file mode 100644
index 00000000000..b78af59fcfa
--- /dev/null
+++ b/www/firefox31/patches/patch-content_media_Makefile.in
@@ -0,0 +1,36 @@
+$NetBSD: patch-content_media_Makefile.in,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- content/media/Makefile.in.orig 2014-05-29 23:30:33.000000000 +0000
++++ content/media/Makefile.in
+@@ -6,3 +6,31 @@ include $(topsrcdir)/config/rules.mk
+
+ CFLAGS += $(GSTREAMER_CFLAGS)
+ CXXFLAGS += $(GSTREAMER_CFLAGS)
++
++ifdef MOZ_NATIVE_OGG
++CXXFLAGS += $(MOZ_OGG_CFLAGS)
++endif
++
++ifdef MOZ_NATIVE_THEORA
++CXXFLAGS += $(MOZ_THEORA_CFLAGS)
++endif
++
++ifdef MOZ_NATIVE_VORBIS
++CXXFLAGS += $(MOZ_VORBIS_CFLAGS)
++endif
++
++ifdef MOZ_NATIVE_TREMOR
++CXXFLAGS += $(MOZ_TREMOR_CFLAGS)
++endif
++
++ifdef MOZ_NATIVE_OPUS
++CXXFLAGS += $(MOZ_OPUS_CFLAGS)
++endif
++
++ifdef MOZ_NATIVE_SPEEX
++CXXFLAGS += $(MOZ_SPEEX_CFLAGS)
++endif
++
++ifdef MOZ_NATIVE_SOUNDTOUCH
++CXXFLAGS += $(MOZ_SOUNDTOUCH_CFLAGS)
++endif
diff --git a/www/firefox31/patches/patch-content_media_fmp4_demuxer_bit_reader.cc b/www/firefox31/patches/patch-content_media_fmp4_demuxer_bit_reader.cc
new file mode 100644
index 00000000000..874fe362052
--- /dev/null
+++ b/www/firefox31/patches/patch-content_media_fmp4_demuxer_bit_reader.cc
@@ -0,0 +1,15 @@
+$NetBSD: patch-content_media_fmp4_demuxer_bit_reader.cc,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+Fix build with pre-C++11 compilers like G++ 4.5.3.
+
+--- content/media/fmp4/demuxer/bit_reader.cc.orig 2014-07-17 02:45:09.000000000 +0100
++++ content/media/fmp4/demuxer/bit_reader.cc 2014-07-25 13:00:34.000000000 +0100
+@@ -9,7 +9,7 @@
+
+ BitReader::BitReader(const uint8_t* data, off_t size)
+ : data_(data), bytes_left_(size), num_remaining_bits_in_curr_byte_(0) {
+- DCHECK(data_ != nullptr && bytes_left_ > 0);
++ DCHECK(data_ != 0 && bytes_left_ > 0);
+
+ UpdateCurrByte();
+ }
diff --git a/www/firefox31/patches/patch-content_media_gstreamer_GStreamerAllocator.cpp b/www/firefox31/patches/patch-content_media_gstreamer_GStreamerAllocator.cpp
new file mode 100644
index 00000000000..03908060448
--- /dev/null
+++ b/www/firefox31/patches/patch-content_media_gstreamer_GStreamerAllocator.cpp
@@ -0,0 +1,12 @@
+$NetBSD: patch-content_media_gstreamer_GStreamerAllocator.cpp,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- content/media/gstreamer/GStreamerAllocator.cpp.orig 2014-05-29 23:30:33.000000000 +0000
++++ content/media/gstreamer/GStreamerAllocator.cpp
+@@ -51,7 +51,6 @@ typedef struct
+ #pragma GCC diagnostic ignored "-Wunused-function"
+ G_DEFINE_TYPE(MozGfxMemoryAllocator, moz_gfx_memory_allocator, GST_TYPE_ALLOCATOR);
+ G_DEFINE_TYPE(MozGfxBufferPool, moz_gfx_buffer_pool, GST_TYPE_VIDEO_BUFFER_POOL);
+-#pragma GCC diagnostic pop
+
+ void
+ moz_gfx_memory_reset(MozGfxMemory *mem)
diff --git a/www/firefox31/patches/patch-dom_plugins_ipc_PluginModuleChild.cpp b/www/firefox31/patches/patch-dom_plugins_ipc_PluginModuleChild.cpp
new file mode 100644
index 00000000000..bbbde05bea6
--- /dev/null
+++ b/www/firefox31/patches/patch-dom_plugins_ipc_PluginModuleChild.cpp
@@ -0,0 +1,31 @@
+$NetBSD: patch-dom_plugins_ipc_PluginModuleChild.cpp,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- dom/plugins/ipc/PluginModuleChild.cpp.orig 2013-05-11 19:19:27.000000000 +0000
++++ dom/plugins/ipc/PluginModuleChild.cpp
+@@ -201,7 +201,7 @@ PluginModuleChild::Init(const std::strin
+
+ // TODO: use PluginPRLibrary here
+
+-#if defined(OS_LINUX) || defined(OS_BSD)
++#if defined(OS_LINUX) || defined(OS_BSD) || defined(OS_SOLARIS)
+ mShutdownFunc =
+ (NP_PLUGINSHUTDOWN) PR_FindFunctionSymbol(mLibrary, "NP_Shutdown");
+
+@@ -1836,7 +1836,7 @@ PluginModuleChild::AnswerNP_GetEntryPoin
+ PLUGIN_LOG_DEBUG_METHOD;
+ AssertPluginThread();
+
+-#if defined(OS_LINUX) || defined(OS_BSD)
++#if defined(OS_LINUX) || defined(OS_BSD) || defined(OS_SOLARIS)
+ return true;
+ #elif defined(OS_WIN) || defined(OS_MACOSX)
+ *_retval = mGetEntryPointsFunc(&mFunctions);
+@@ -1865,7 +1865,7 @@ PluginModuleChild::AnswerNP_Initialize(c
+ SendBackUpXResources(FileDescriptor(xSocketFd));
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_BSD)
++#if defined(OS_LINUX) || defined(OS_BSD) || defined(OS_SOLARIS)
+ *_retval = mInitializeFunc(&sBrowserFuncs, &mFunctions);
+ return true;
+ #elif defined(OS_WIN) || defined(OS_MACOSX)
diff --git a/www/firefox31/patches/patch-dom_plugins_ipc_PluginModuleChild.h b/www/firefox31/patches/patch-dom_plugins_ipc_PluginModuleChild.h
new file mode 100644
index 00000000000..a0397f7852b
--- /dev/null
+++ b/www/firefox31/patches/patch-dom_plugins_ipc_PluginModuleChild.h
@@ -0,0 +1,13 @@
+$NetBSD: patch-dom_plugins_ipc_PluginModuleChild.h,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- dom/plugins/ipc/PluginModuleChild.h.orig 2013-05-11 19:19:27.000000000 +0000
++++ dom/plugins/ipc/PluginModuleChild.h
+@@ -325,7 +325,7 @@ private:
+
+ // we get this from the plugin
+ NP_PLUGINSHUTDOWN mShutdownFunc;
+-#if defined(OS_LINUX) || defined(OS_BSD)
++#if defined(OS_LINUX) || defined(OS_BSD) || defined(OS_SOLARIS)
+ NP_PLUGINUNIXINIT mInitializeFunc;
+ #elif defined(OS_WIN) || defined(OS_MACOSX)
+ NP_PLUGININIT mInitializeFunc;
diff --git a/www/firefox31/patches/patch-dom_plugins_ipc_PluginProcessChild.cpp b/www/firefox31/patches/patch-dom_plugins_ipc_PluginProcessChild.cpp
new file mode 100644
index 00000000000..83efa618e35
--- /dev/null
+++ b/www/firefox31/patches/patch-dom_plugins_ipc_PluginProcessChild.cpp
@@ -0,0 +1,16 @@
+$NetBSD: patch-dom_plugins_ipc_PluginProcessChild.cpp,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+Just because OS_ARCH is Darwin does not mean
+libplugin_child_interpose.dylib is used.
+
+--- dom/plugins/ipc/PluginProcessChild.cpp.orig 2014-05-06 22:55:25.000000000 +0000
++++ dom/plugins/ipc/PluginProcessChild.cpp
+@@ -42,7 +42,7 @@ namespace plugins {
+ bool
+ PluginProcessChild::Init()
+ {
+-#if defined(XP_MACOSX)
++#if defined(MOZ_WIDGET_COCOA)
+ // Remove the trigger for "dyld interposing" that we added in
+ // GeckoChildProcessHost::PerformAsyncLaunchInternal(), in the host
+ // process just before we were launched. Dyld interposing will still
diff --git a/www/firefox31/patches/patch-dom_system_OSFileConstants.cpp b/www/firefox31/patches/patch-dom_system_OSFileConstants.cpp
new file mode 100644
index 00000000000..23ad5acf82c
--- /dev/null
+++ b/www/firefox31/patches/patch-dom_system_OSFileConstants.cpp
@@ -0,0 +1,54 @@
+$NetBSD: patch-dom_system_OSFileConstants.cpp,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+* NetBSD 5 does not support posix_spawn(3)
+
+* Replace XP_MACOSX with XP_DARWIN as the former is not defined when
+ the toolkit is not cocoa.
+
+--- dom/system/OSFileConstants.cpp.orig 2014-05-29 23:30:40.000000000 +0000
++++ dom/system/OSFileConstants.cpp
+@@ -9,6 +9,10 @@
+
+ #include "prsystem.h"
+
++#if defined(__NetBSD__)
++#include <sys/param.h>
++#endif
++
+ #if defined(XP_UNIX)
+ #include "unistd.h"
+ #include "dirent.h"
+@@ -26,9 +30,9 @@
+ #include <linux/fadvise.h>
+ #endif // defined(XP_LINUX)
+
+-#if defined(XP_MACOSX)
++#if defined(XP_DARWIN)
+ #include "copyfile.h"
+-#endif // defined(XP_MACOSX)
++#endif // defined(XP_DARWIN)
+
+ #if defined(XP_WIN)
+ #include <windows.h>
+@@ -533,10 +537,10 @@ static const dom::ConstantSpec gLibcProp
+ // The size of |fsblkcnt_t|.
+ { "OSFILE_SIZEOF_FSBLKCNT_T", INT_TO_JSVAL(sizeof (fsblkcnt_t)) },
+
+-#if !defined(ANDROID)
++#if !defined(ANDROID) && (defined(__NetBSD_) && (__NetBSD_Version__ < 600000000))
+ // The size of |posix_spawn_file_actions_t|.
+ { "OSFILE_SIZEOF_POSIX_SPAWN_FILE_ACTIONS_T", INT_TO_JSVAL(sizeof (posix_spawn_file_actions_t)) },
+-#endif // !defined(ANDROID)
++#endif // !defined(ANDROID) && NetBSD 5.*
+
+ // Defining |dirent|.
+ // Size
+@@ -596,7 +600,7 @@ static const dom::ConstantSpec gLibcProp
+
+ { "OSFILE_SIZEOF_STATVFS", INT_TO_JSVAL(sizeof (struct statvfs)) },
+
+- { "OSFILE_OFFSETOF_STATVFS_F_BSIZE", INT_TO_JSVAL(offsetof (struct statvfs, f_bsize)) },
++ { "OSFILE_OFFSETOF_STATVFS_F_FRSIZE", INT_TO_JSVAL(offsetof (struct statvfs, f_frsize)) },
+ { "OSFILE_OFFSETOF_STATVFS_F_BAVAIL", INT_TO_JSVAL(offsetof (struct statvfs, f_bavail)) },
+
+ #endif // defined(XP_UNIX)
diff --git a/www/firefox31/patches/patch-extensions_spellcheck_hunspell_src_mozHunspell.cpp b/www/firefox31/patches/patch-extensions_spellcheck_hunspell_src_mozHunspell.cpp
new file mode 100644
index 00000000000..8b48fe5acaf
--- /dev/null
+++ b/www/firefox31/patches/patch-extensions_spellcheck_hunspell_src_mozHunspell.cpp
@@ -0,0 +1,17 @@
+$NetBSD: patch-extensions_spellcheck_hunspell_src_mozHunspell.cpp,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- extensions/spellcheck/hunspell/src/mozHunspell.cpp.orig 2014-02-12 21:28:58.000000000 +0000
++++ extensions/spellcheck/hunspell/src/mozHunspell.cpp
+@@ -426,6 +426,12 @@ mozHunspell::LoadDictionaryList()
+ }
+ }
+
++ // load system hunspell dictionaries
++ nsIFile* hunDir;
++ NS_NewNativeLocalFile(NS_LITERAL_CSTRING("@PREFIX@/share/hunspell"),
++ true, &hunDir);
++ LoadDictionariesFromDir(hunDir);
++
+ // find dictionaries from extensions requiring restart
+ nsCOMPtr<nsISimpleEnumerator> dictDirs;
+ rv = dirSvc->Get(DICTIONARY_SEARCH_DIRECTORY_LIST,
diff --git a/www/firefox31/patches/patch-gfx_graphite2_src_Bidi.cpp b/www/firefox31/patches/patch-gfx_graphite2_src_Bidi.cpp
new file mode 100644
index 00000000000..c83a1d01a41
--- /dev/null
+++ b/www/firefox31/patches/patch-gfx_graphite2_src_Bidi.cpp
@@ -0,0 +1,16 @@
+$NetBSD: patch-gfx_graphite2_src_Bidi.cpp,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- gfx/graphite2/src/Bidi.cpp.orig 2013-05-11 19:19:30.000000000 +0000
++++ gfx/graphite2/src/Bidi.cpp
+@@ -30,6 +30,11 @@ of the License or (at your option) any l
+
+ using namespace graphite2;
+
++#ifdef __sun
++#undef CS
++#undef ES
++#endif
++
+ enum DirCode { // Hungarian: dirc
+ Unk = -1,
+ N = 0, // other neutrals (default) - ON
diff --git a/www/firefox31/patches/patch-gfx_moz.build b/www/firefox31/patches/patch-gfx_moz.build
new file mode 100644
index 00000000000..6e87a8ab7d3
--- /dev/null
+++ b/www/firefox31/patches/patch-gfx_moz.build
@@ -0,0 +1,26 @@
+$NetBSD: patch-gfx_moz.build,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- gfx/moz.build.orig 2014-03-15 05:19:16.000000000 +0000
++++ gfx/moz.build
+@@ -7,6 +7,12 @@
+ if CONFIG['MOZ_TREE_CAIRO']:
+ DIRS += ['cairo']
+
++if not CONFIG['MOZ_NATIVE_GRAPHITE2']:
++ DIRS += ['graphite2/src' ]
++
++if not CONFIG['MOZ_NATIVE_HARFBUZZ']:
++ DIRS += ['harfbuzz/src']
++
+ DIRS += [
+ '2d',
+ 'ycbcr',
+@@ -15,8 +21,6 @@ DIRS += [
+ 'qcms',
+ 'gl',
+ 'layers',
+- 'graphite2/src',
+- 'harfbuzz/src',
+ 'ots/src',
+ 'thebes',
+ 'ipc',
diff --git a/www/firefox31/patches/patch-gfx_skia_Makefile.in b/www/firefox31/patches/patch-gfx_skia_Makefile.in
new file mode 100644
index 00000000000..ff7d6a88fa6
--- /dev/null
+++ b/www/firefox31/patches/patch-gfx_skia_Makefile.in
@@ -0,0 +1,15 @@
+$NetBSD: patch-gfx_skia_Makefile.in,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- gfx/skia/Makefile.in.orig 2014-05-29 23:30:46.000000000 +0000
++++ gfx/skia/Makefile.in
+@@ -15,6 +15,10 @@ ifeq (qt,$(MOZ_WIDGET_TOOLKIT))
+ OS_CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_PANGO_CFLAGS) $(CAIRO_FT_CFLAGS)
+ endif
+
++ifdef MOZ_NATIVE_HARFBUZZ
++OS_CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS)
++endif
++
+ include $(topsrcdir)/config/rules.mk
+
+ ifeq ($(CPU_ARCH)_$(GNU_CC),arm_1)
diff --git a/www/firefox31/patches/patch-gfx_thebes_Makefile.in b/www/firefox31/patches/patch-gfx_thebes_Makefile.in
new file mode 100644
index 00000000000..d559cb8f123
--- /dev/null
+++ b/www/firefox31/patches/patch-gfx_thebes_Makefile.in
@@ -0,0 +1,19 @@
+$NetBSD: patch-gfx_thebes_Makefile.in,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- gfx/thebes/Makefile.in.orig 2014-04-18 02:02:58.000000000 +0000
++++ gfx/thebes/Makefile.in
+@@ -13,6 +13,14 @@ DEFINES := $(filter-out -DUNICODE,$(DEFI
+ CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS)
+ CFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS)
+
++ifdef MOZ_NATIVE_GRAPHITE2
++CXXFLAGS += $(MOZ_GRAPHITE2_CFLAGS)
++endif
++
++ifdef MOZ_NATIVE_HARFBUZZ
++CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS)
++endif
++
+ ifeq ($(MOZ_WIDGET_TOOLKIT),android)
+ CXXFLAGS += $(CAIRO_FT_CFLAGS)
+ endif
diff --git a/www/firefox31/patches/patch-image_decoders_nsJPEGDecoder.cpp b/www/firefox31/patches/patch-image_decoders_nsJPEGDecoder.cpp
new file mode 100644
index 00000000000..84b3943bd96
--- /dev/null
+++ b/www/firefox31/patches/patch-image_decoders_nsJPEGDecoder.cpp
@@ -0,0 +1,363 @@
+$NetBSD: patch-image_decoders_nsJPEGDecoder.cpp,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- image/decoders/nsJPEGDecoder.cpp.orig 2013-05-11 19:19:31.000000000 +0000
++++ image/decoders/nsJPEGDecoder.cpp
+@@ -19,13 +19,28 @@
+
+ extern "C" {
+ #include "iccjpeg.h"
+-}
+
++#ifdef JCS_EXTENSIONS
+ #if defined(IS_BIG_ENDIAN)
+ #define MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB JCS_EXT_XRGB
+ #else
+ #define MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB JCS_EXT_BGRX
+ #endif
++#else
++/* Colorspace conversion (copied from jpegint.h) */
++struct jpeg_color_deconverter {
++ JMETHOD(void, start_pass, (j_decompress_ptr cinfo));
++ JMETHOD(void, color_convert, (j_decompress_ptr cinfo,
++ JSAMPIMAGE input_buf, JDIMENSION input_row,
++ JSAMPARRAY output_buf, int num_rows));
++};
++
++METHODDEF(void)
++ycc_rgb_convert_argb (j_decompress_ptr cinfo,
++ JSAMPIMAGE input_buf, JDIMENSION input_row,
++ JSAMPARRAY output_buf, int num_rows);
++#endif
++}
+
+ static void cmyk_convert_rgb(JSAMPROW row, JDIMENSION width);
+
+@@ -338,6 +353,7 @@ nsJPEGDecoder::WriteInternal(const char
+ case JCS_GRAYSCALE:
+ case JCS_RGB:
+ case JCS_YCbCr:
++#ifdef JCS_EXTENSIONS
+ // if we're not color managing we can decode directly to
+ // MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB
+ if (mCMSMode != eCMSMode_All) {
+@@ -346,6 +362,9 @@ nsJPEGDecoder::WriteInternal(const char
+ } else {
+ mInfo.out_color_space = JCS_RGB;
+ }
++#else
++ mInfo.out_color_space = JCS_RGB;
++#endif
+ break;
+ case JCS_CMYK:
+ case JCS_YCCK:
+@@ -413,6 +432,15 @@ nsJPEGDecoder::WriteInternal(const char
+ return; /* I/O suspension */
+ }
+
++#ifndef JCS_EXTENSIONS
++ /* Force to use our YCbCr to Packed RGB converter when possible */
++ if (!mTransform && (mCMSMode != eCMSMode_All) &&
++ mInfo.jpeg_color_space == JCS_YCbCr && mInfo.out_color_space == JCS_RGB) {
++ /* Special case for the most common case: transform from YCbCr direct into packed ARGB */
++ mInfo.out_color_components = 4; /* Packed ARGB pixels are always 4 bytes...*/
++ 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;
+@@ -558,7 +586,11 @@ nsJPEGDecoder::OutputScanlines(bool* sus
+ uint32_t *imageRow = ((uint32_t*)mImageData) +
+ (mInfo.output_scanline * mInfo.output_width);
+
++#ifdef JCS_EXTENSIONS
+ if (mInfo.out_color_space == MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB) {
++#else
++ if (mInfo.cconvert->color_convert == ycc_rgb_convert_argb) {
++#endif
+ /* Special case: scanline will be directly converted into packed ARGB */
+ if (jpeg_read_scanlines(&mInfo, (JSAMPARRAY)&imageRow, 1) != 1) {
+ *suspend = true; /* suspend */
+@@ -868,6 +900,282 @@ term_source (j_decompress_ptr jd)
+ } // namespace mozilla
+
+
++#ifndef JCS_EXTENSIONS
++/**************** YCbCr -> Cairo's RGB24/ARGB32 conversion: most common case **************/
++
++/*
++ * YCbCr is defined per CCIR 601-1, except that Cb and Cr are
++ * normalized to the range 0..MAXJSAMPLE rather than -0.5 .. 0.5.
++ * The conversion equations to be implemented are therefore
++ * R = Y + 1.40200 * Cr
++ * G = Y - 0.34414 * Cb - 0.71414 * Cr
++ * B = Y + 1.77200 * Cb
++ * where Cb and Cr represent the incoming values less CENTERJSAMPLE.
++ * (These numbers are derived from TIFF 6.0 section 21, dated 3-June-92.)
++ *
++ * To avoid floating-point arithmetic, we represent the fractional constants
++ * as integers scaled up by 2^16 (about 4 digits precision); we have to divide
++ * the products by 2^16, with appropriate rounding, to get the correct answer.
++ * Notice that Y, being an integral input, does not contribute any fraction
++ * so it need not participate in the rounding.
++ *
++ * For even more speed, we avoid doing any multiplications in the inner loop
++ * by precalculating the constants times Cb and Cr for all possible values.
++ * For 8-bit JSAMPLEs this is very reasonable (only 256 entries per table);
++ * for 12-bit samples it is still acceptable. It's not very reasonable for
++ * 16-bit samples, but if you want lossless storage you shouldn't be changing
++ * colorspace anyway.
++ * The Cr=>R and Cb=>B values can be rounded to integers in advance; the
++ * values for the G calculation are left scaled up, since we must add them
++ * together before rounding.
++ */
++
++#define SCALEBITS 16 /* speediest right-shift on some machines */
++
++/* Use static tables for color processing. */
++/* Four tables, each 256 entries of 4 bytes totals 4K which is not bad... */
++
++const int Cr_r_tab[(MAXJSAMPLE+1) * sizeof(int)] ={
++ -0xb3, -0xb2, -0xb1, -0xaf, -0xae, -0xac,
++ -0xab, -0xaa, -0xa8, -0xa7, -0xa5, -0xa4,
++ -0xa3, -0xa1, -0xa0, -0x9e, -0x9d, -0x9c,
++ -0x9a, -0x99, -0x97, -0x96, -0x95, -0x93,
++ -0x92, -0x90, -0x8f, -0x8e, -0x8c, -0x8b,
++ -0x89, -0x88, -0x87, -0x85, -0x84, -0x82,
++ -0x81, -0x80, -0x7e, -0x7d, -0x7b, -0x7a,
++ -0x79, -0x77, -0x76, -0x74, -0x73, -0x72,
++ -0x70, -0x6f, -0x6d, -0x6c, -0x6b, -0x69,
++ -0x68, -0x66, -0x65, -0x64, -0x62, -0x61,
++ -0x5f, -0x5e, -0x5d, -0x5b, -0x5a, -0x58,
++ -0x57, -0x56, -0x54, -0x53, -0x51, -0x50,
++ -0x4f, -0x4d, -0x4c, -0x4a, -0x49, -0x48,
++ -0x46, -0x45, -0x43, -0x42, -0x40, -0x3f,
++ -0x3e, -0x3c, -0x3b, -0x39, -0x38, -0x37,
++ -0x35, -0x34, -0x32, -0x31, -0x30, -0x2e,
++ -0x2d, -0x2b, -0x2a, -0x29, -0x27, -0x26,
++ -0x24, -0x23, -0x22, -0x20, -0x1f, -0x1d,
++ -0x1c, -0x1b, -0x19, -0x18, -0x16, -0x15,
++ -0x14, -0x12, -0x11, -0x0f, -0x0e, -0x0d,
++ -0x0b, -0x0a, -0x08, -0x07, -0x06, -0x04,
++ -0x03, -0x01, 0x00, 0x01, 0x03, 0x04,
++ 0x06, 0x07, 0x08, 0x0a, 0x0b, 0x0d,
++ 0x0e, 0x0f, 0x11, 0x12, 0x14, 0x15,
++ 0x16, 0x18, 0x19, 0x1b, 0x1c, 0x1d,
++ 0x1f, 0x20, 0x22, 0x23, 0x24, 0x26,
++ 0x27, 0x29, 0x2a, 0x2b, 0x2d, 0x2e,
++ 0x30, 0x31, 0x32, 0x34, 0x35, 0x37,
++ 0x38, 0x39, 0x3b, 0x3c, 0x3e, 0x3f,
++ 0x40, 0x42, 0x43, 0x45, 0x46, 0x48,
++ 0x49, 0x4a, 0x4c, 0x4d, 0x4f, 0x50,
++ 0x51, 0x53, 0x54, 0x56, 0x57, 0x58,
++ 0x5a, 0x5b, 0x5d, 0x5e, 0x5f, 0x61,
++ 0x62, 0x64, 0x65, 0x66, 0x68, 0x69,
++ 0x6b, 0x6c, 0x6d, 0x6f, 0x70, 0x72,
++ 0x73, 0x74, 0x76, 0x77, 0x79, 0x7a,
++ 0x7b, 0x7d, 0x7e, 0x80, 0x81, 0x82,
++ 0x84, 0x85, 0x87, 0x88, 0x89, 0x8b,
++ 0x8c, 0x8e, 0x8f, 0x90, 0x92, 0x93,
++ 0x95, 0x96, 0x97, 0x99, 0x9a, 0x9c,
++ 0x9d, 0x9e, 0xa0, 0xa1, 0xa3, 0xa4,
++ 0xa5, 0xa7, 0xa8, 0xaa, 0xab, 0xac,
++ 0xae, 0xaf, 0xb1, 0xb2,
++ };
++
++const int Cb_b_tab[(MAXJSAMPLE+1) * sizeof(int)] ={
++ -0xe3, -0xe1, -0xdf, -0xde, -0xdc, -0xda,
++ -0xd8, -0xd6, -0xd5, -0xd3, -0xd1, -0xcf,
++ -0xce, -0xcc, -0xca, -0xc8, -0xc6, -0xc5,
++ -0xc3, -0xc1, -0xbf, -0xbe, -0xbc, -0xba,
++ -0xb8, -0xb7, -0xb5, -0xb3, -0xb1, -0xaf,
++ -0xae, -0xac, -0xaa, -0xa8, -0xa7, -0xa5,
++ -0xa3, -0xa1, -0x9f, -0x9e, -0x9c, -0x9a,
++ -0x98, -0x97, -0x95, -0x93, -0x91, -0x90,
++ -0x8e, -0x8c, -0x8a, -0x88, -0x87, -0x85,
++ -0x83, -0x81, -0x80, -0x7e, -0x7c, -0x7a,
++ -0x78, -0x77, -0x75, -0x73, -0x71, -0x70,
++ -0x6e, -0x6c, -0x6a, -0x69, -0x67, -0x65,
++ -0x63, -0x61, -0x60, -0x5e, -0x5c, -0x5a,
++ -0x59, -0x57, -0x55, -0x53, -0x52, -0x50,
++ -0x4e, -0x4c, -0x4a, -0x49, -0x47, -0x45,
++ -0x43, -0x42, -0x40, -0x3e, -0x3c, -0x3a,
++ -0x39, -0x37, -0x35, -0x33, -0x32, -0x30,
++ -0x2e, -0x2c, -0x2b, -0x29, -0x27, -0x25,
++ -0x23, -0x22, -0x20, -0x1e, -0x1c, -0x1b,
++ -0x19, -0x17, -0x15, -0x13, -0x12, -0x10,
++ -0x0e, -0x0c, -0x0b, -0x09, -0x07, -0x05,
++ -0x04, -0x02, 0x00, 0x02, 0x04, 0x05,
++ 0x07, 0x09, 0x0b, 0x0c, 0x0e, 0x10,
++ 0x12, 0x13, 0x15, 0x17, 0x19, 0x1b,
++ 0x1c, 0x1e, 0x20, 0x22, 0x23, 0x25,
++ 0x27, 0x29, 0x2b, 0x2c, 0x2e, 0x30,
++ 0x32, 0x33, 0x35, 0x37, 0x39, 0x3a,
++ 0x3c, 0x3e, 0x40, 0x42, 0x43, 0x45,
++ 0x47, 0x49, 0x4a, 0x4c, 0x4e, 0x50,
++ 0x52, 0x53, 0x55, 0x57, 0x59, 0x5a,
++ 0x5c, 0x5e, 0x60, 0x61, 0x63, 0x65,
++ 0x67, 0x69, 0x6a, 0x6c, 0x6e, 0x70,
++ 0x71, 0x73, 0x75, 0x77, 0x78, 0x7a,
++ 0x7c, 0x7e, 0x80, 0x81, 0x83, 0x85,
++ 0x87, 0x88, 0x8a, 0x8c, 0x8e, 0x90,
++ 0x91, 0x93, 0x95, 0x97, 0x98, 0x9a,
++ 0x9c, 0x9e, 0x9f, 0xa1, 0xa3, 0xa5,
++ 0xa7, 0xa8, 0xaa, 0xac, 0xae, 0xaf,
++ 0xb1, 0xb3, 0xb5, 0xb7, 0xb8, 0xba,
++ 0xbc, 0xbe, 0xbf, 0xc1, 0xc3, 0xc5,
++ 0xc6, 0xc8, 0xca, 0xcc, 0xce, 0xcf,
++ 0xd1, 0xd3, 0xd5, 0xd6, 0xd8, 0xda,
++ 0xdc, 0xde, 0xdf, 0xe1,
++ };
++
++const int Cr_g_tab[(MAXJSAMPLE+1) * sizeof(int)] ={
++ 0x5b6900, 0x5ab22e, 0x59fb5c, 0x59448a, 0x588db8, 0x57d6e6,
++ 0x572014, 0x566942, 0x55b270, 0x54fb9e, 0x5444cc, 0x538dfa,
++ 0x52d728, 0x522056, 0x516984, 0x50b2b2, 0x4ffbe0, 0x4f450e,
++ 0x4e8e3c, 0x4dd76a, 0x4d2098, 0x4c69c6, 0x4bb2f4, 0x4afc22,
++ 0x4a4550, 0x498e7e, 0x48d7ac, 0x4820da, 0x476a08, 0x46b336,
++ 0x45fc64, 0x454592, 0x448ec0, 0x43d7ee, 0x43211c, 0x426a4a,
++ 0x41b378, 0x40fca6, 0x4045d4, 0x3f8f02, 0x3ed830, 0x3e215e,
++ 0x3d6a8c, 0x3cb3ba, 0x3bfce8, 0x3b4616, 0x3a8f44, 0x39d872,
++ 0x3921a0, 0x386ace, 0x37b3fc, 0x36fd2a, 0x364658, 0x358f86,
++ 0x34d8b4, 0x3421e2, 0x336b10, 0x32b43e, 0x31fd6c, 0x31469a,
++ 0x308fc8, 0x2fd8f6, 0x2f2224, 0x2e6b52, 0x2db480, 0x2cfdae,
++ 0x2c46dc, 0x2b900a, 0x2ad938, 0x2a2266, 0x296b94, 0x28b4c2,
++ 0x27fdf0, 0x27471e, 0x26904c, 0x25d97a, 0x2522a8, 0x246bd6,
++ 0x23b504, 0x22fe32, 0x224760, 0x21908e, 0x20d9bc, 0x2022ea,
++ 0x1f6c18, 0x1eb546, 0x1dfe74, 0x1d47a2, 0x1c90d0, 0x1bd9fe,
++ 0x1b232c, 0x1a6c5a, 0x19b588, 0x18feb6, 0x1847e4, 0x179112,
++ 0x16da40, 0x16236e, 0x156c9c, 0x14b5ca, 0x13fef8, 0x134826,
++ 0x129154, 0x11da82, 0x1123b0, 0x106cde, 0x0fb60c, 0x0eff3a,
++ 0x0e4868, 0x0d9196, 0x0cdac4, 0x0c23f2, 0x0b6d20, 0x0ab64e,
++ 0x09ff7c, 0x0948aa, 0x0891d8, 0x07db06, 0x072434, 0x066d62,
++ 0x05b690, 0x04ffbe, 0x0448ec, 0x03921a, 0x02db48, 0x022476,
++ 0x016da4, 0x00b6d2, 0x000000, -0x00b6d2, -0x016da4, -0x022476,
++ -0x02db48, -0x03921a, -0x0448ec, -0x04ffbe, -0x05b690, -0x066d62,
++ -0x072434, -0x07db06, -0x0891d8, -0x0948aa, -0x09ff7c, -0x0ab64e,
++ -0x0b6d20, -0x0c23f2, -0x0cdac4, -0x0d9196, -0x0e4868, -0x0eff3a,
++ -0x0fb60c, -0x106cde, -0x1123b0, -0x11da82, -0x129154, -0x134826,
++ -0x13fef8, -0x14b5ca, -0x156c9c, -0x16236e, -0x16da40, -0x179112,
++ -0x1847e4, -0x18feb6, -0x19b588, -0x1a6c5a, -0x1b232c, -0x1bd9fe,
++ -0x1c90d0, -0x1d47a2, -0x1dfe74, -0x1eb546, -0x1f6c18, -0x2022ea,
++ -0x20d9bc, -0x21908e, -0x224760, -0x22fe32, -0x23b504, -0x246bd6,
++ -0x2522a8, -0x25d97a, -0x26904c, -0x27471e, -0x27fdf0, -0x28b4c2,
++ -0x296b94, -0x2a2266, -0x2ad938, -0x2b900a, -0x2c46dc, -0x2cfdae,
++ -0x2db480, -0x2e6b52, -0x2f2224, -0x2fd8f6, -0x308fc8, -0x31469a,
++ -0x31fd6c, -0x32b43e, -0x336b10, -0x3421e2, -0x34d8b4, -0x358f86,
++ -0x364658, -0x36fd2a, -0x37b3fc, -0x386ace, -0x3921a0, -0x39d872,
++ -0x3a8f44, -0x3b4616, -0x3bfce8, -0x3cb3ba, -0x3d6a8c, -0x3e215e,
++ -0x3ed830, -0x3f8f02, -0x4045d4, -0x40fca6, -0x41b378, -0x426a4a,
++ -0x43211c, -0x43d7ee, -0x448ec0, -0x454592, -0x45fc64, -0x46b336,
++ -0x476a08, -0x4820da, -0x48d7ac, -0x498e7e, -0x4a4550, -0x4afc22,
++ -0x4bb2f4, -0x4c69c6, -0x4d2098, -0x4dd76a, -0x4e8e3c, -0x4f450e,
++ -0x4ffbe0, -0x50b2b2, -0x516984, -0x522056, -0x52d728, -0x538dfa,
++ -0x5444cc, -0x54fb9e, -0x55b270, -0x566942, -0x572014, -0x57d6e6,
++ -0x588db8, -0x59448a, -0x59fb5c, -0x5ab22e,
++ };
++
++const int Cb_g_tab[(MAXJSAMPLE+1) * sizeof(int)] ={
++ 0x2c8d00, 0x2c34e6, 0x2bdccc, 0x2b84b2, 0x2b2c98, 0x2ad47e,
++ 0x2a7c64, 0x2a244a, 0x29cc30, 0x297416, 0x291bfc, 0x28c3e2,
++ 0x286bc8, 0x2813ae, 0x27bb94, 0x27637a, 0x270b60, 0x26b346,
++ 0x265b2c, 0x260312, 0x25aaf8, 0x2552de, 0x24fac4, 0x24a2aa,
++ 0x244a90, 0x23f276, 0x239a5c, 0x234242, 0x22ea28, 0x22920e,
++ 0x2239f4, 0x21e1da, 0x2189c0, 0x2131a6, 0x20d98c, 0x208172,
++ 0x202958, 0x1fd13e, 0x1f7924, 0x1f210a, 0x1ec8f0, 0x1e70d6,
++ 0x1e18bc, 0x1dc0a2, 0x1d6888, 0x1d106e, 0x1cb854, 0x1c603a,
++ 0x1c0820, 0x1bb006, 0x1b57ec, 0x1affd2, 0x1aa7b8, 0x1a4f9e,
++ 0x19f784, 0x199f6a, 0x194750, 0x18ef36, 0x18971c, 0x183f02,
++ 0x17e6e8, 0x178ece, 0x1736b4, 0x16de9a, 0x168680, 0x162e66,
++ 0x15d64c, 0x157e32, 0x152618, 0x14cdfe, 0x1475e4, 0x141dca,
++ 0x13c5b0, 0x136d96, 0x13157c, 0x12bd62, 0x126548, 0x120d2e,
++ 0x11b514, 0x115cfa, 0x1104e0, 0x10acc6, 0x1054ac, 0x0ffc92,
++ 0x0fa478, 0x0f4c5e, 0x0ef444, 0x0e9c2a, 0x0e4410, 0x0debf6,
++ 0x0d93dc, 0x0d3bc2, 0x0ce3a8, 0x0c8b8e, 0x0c3374, 0x0bdb5a,
++ 0x0b8340, 0x0b2b26, 0x0ad30c, 0x0a7af2, 0x0a22d8, 0x09cabe,
++ 0x0972a4, 0x091a8a, 0x08c270, 0x086a56, 0x08123c, 0x07ba22,
++ 0x076208, 0x0709ee, 0x06b1d4, 0x0659ba, 0x0601a0, 0x05a986,
++ 0x05516c, 0x04f952, 0x04a138, 0x04491e, 0x03f104, 0x0398ea,
++ 0x0340d0, 0x02e8b6, 0x02909c, 0x023882, 0x01e068, 0x01884e,
++ 0x013034, 0x00d81a, 0x008000, 0x0027e6, -0x003034, -0x00884e,
++ -0x00e068, -0x013882, -0x01909c, -0x01e8b6, -0x0240d0, -0x0298ea,
++ -0x02f104, -0x03491e, -0x03a138, -0x03f952, -0x04516c, -0x04a986,
++ -0x0501a0, -0x0559ba, -0x05b1d4, -0x0609ee, -0x066208, -0x06ba22,
++ -0x07123c, -0x076a56, -0x07c270, -0x081a8a, -0x0872a4, -0x08cabe,
++ -0x0922d8, -0x097af2, -0x09d30c, -0x0a2b26, -0x0a8340, -0x0adb5a,
++ -0x0b3374, -0x0b8b8e, -0x0be3a8, -0x0c3bc2, -0x0c93dc, -0x0cebf6,
++ -0x0d4410, -0x0d9c2a, -0x0df444, -0x0e4c5e, -0x0ea478, -0x0efc92,
++ -0x0f54ac, -0x0facc6, -0x1004e0, -0x105cfa, -0x10b514, -0x110d2e,
++ -0x116548, -0x11bd62, -0x12157c, -0x126d96, -0x12c5b0, -0x131dca,
++ -0x1375e4, -0x13cdfe, -0x142618, -0x147e32, -0x14d64c, -0x152e66,
++ -0x158680, -0x15de9a, -0x1636b4, -0x168ece, -0x16e6e8, -0x173f02,
++ -0x17971c, -0x17ef36, -0x184750, -0x189f6a, -0x18f784, -0x194f9e,
++ -0x19a7b8, -0x19ffd2, -0x1a57ec, -0x1ab006, -0x1b0820, -0x1b603a,
++ -0x1bb854, -0x1c106e, -0x1c6888, -0x1cc0a2, -0x1d18bc, -0x1d70d6,
++ -0x1dc8f0, -0x1e210a, -0x1e7924, -0x1ed13e, -0x1f2958, -0x1f8172,
++ -0x1fd98c, -0x2031a6, -0x2089c0, -0x20e1da, -0x2139f4, -0x21920e,
++ -0x21ea28, -0x224242, -0x229a5c, -0x22f276, -0x234a90, -0x23a2aa,
++ -0x23fac4, -0x2452de, -0x24aaf8, -0x250312, -0x255b2c, -0x25b346,
++ -0x260b60, -0x26637a, -0x26bb94, -0x2713ae, -0x276bc8, -0x27c3e2,
++ -0x281bfc, -0x287416, -0x28cc30, -0x29244a, -0x297c64, -0x29d47e,
++ -0x2a2c98, -0x2a84b2, -0x2adccc, -0x2b34e6,
++ };
++
++
++/* We assume that right shift corresponds to signed division by 2 with
++ * rounding towards minus infinity. This is correct for typical "arithmetic
++ * shift" instructions that shift in copies of the sign bit. But some
++ * C compilers implement >> with an unsigned shift. For these machines you
++ * must define RIGHT_SHIFT_IS_UNSIGNED.
++ * RIGHT_SHIFT provides a proper signed right shift of an INT32 quantity.
++ * It is only applied with constant shift counts. SHIFT_TEMPS must be
++ * included in the variables of any routine using RIGHT_SHIFT.
++ */
++
++#ifdef RIGHT_SHIFT_IS_UNSIGNED
++#define SHIFT_TEMPS INT32 shift_temp;
++#define RIGHT_SHIFT(x,shft) \
++ ((shift_temp = (x)) < 0 ? \
++ (shift_temp >> (shft)) | ((~((INT32) 0)) << (32-(shft))) : \
++ (shift_temp >> (shft)))
++#else
++#define SHIFT_TEMPS
++#define RIGHT_SHIFT(x,shft) ((x) >> (shft))
++#endif
++
++
++METHODDEF(void)
++ycc_rgb_convert_argb (j_decompress_ptr cinfo,
++ JSAMPIMAGE input_buf, JDIMENSION input_row,
++ JSAMPARRAY output_buf, int num_rows)
++{
++ JDIMENSION num_cols = cinfo->output_width;
++ JSAMPLE * range_limit = cinfo->sample_range_limit;
++
++ SHIFT_TEMPS
++
++ /* This is used if we don't have SSE2 */
++
++ while (--num_rows >= 0) {
++ JSAMPROW inptr0 = input_buf[0][input_row];
++ JSAMPROW inptr1 = input_buf[1][input_row];
++ JSAMPROW inptr2 = input_buf[2][input_row];
++ input_row++;
++ uint32_t *outptr = (uint32_t *) *output_buf++;
++ for (JDIMENSION col = 0; col < num_cols; col++) {
++ int y = GETJSAMPLE(inptr0[col]);
++ int cb = GETJSAMPLE(inptr1[col]);
++ int cr = GETJSAMPLE(inptr2[col]);
++ JSAMPLE * range_limit_y = range_limit + y;
++ /* Range-limiting is essential due to noise introduced by DCT losses. */
++ outptr[col] = 0xFF000000 |
++ ( range_limit_y[Cr_r_tab[cr]] << 16 ) |
++ ( range_limit_y[((int) RIGHT_SHIFT(Cb_g_tab[cb] + Cr_g_tab[cr], SCALEBITS))] << 8 ) |
++ ( range_limit_y[Cb_b_tab[cb]] );
++ }
++ }
++}
++#endif
++
++
+ /**************** Inverted CMYK -> RGB conversion **************/
+ /*
+ * Input is (Inverted) CMYK stored as 4 bytes per pixel.
diff --git a/www/firefox31/patches/patch-intl_hyphenation_src_hnjalloc.h b/www/firefox31/patches/patch-intl_hyphenation_src_hnjalloc.h
new file mode 100644
index 00000000000..c83c8ca867b
--- /dev/null
+++ b/www/firefox31/patches/patch-intl_hyphenation_src_hnjalloc.h
@@ -0,0 +1,14 @@
+$NetBSD: patch-intl_hyphenation_src_hnjalloc.h,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- intl/hyphenation/src/hnjalloc.h.orig 2013-05-11 19:19:31.000000000 +0000
++++ intl/hyphenation/src/hnjalloc.h
+@@ -56,6 +56,9 @@
+ */
+
+ #include <stdio.h> /* ensure stdio.h is loaded before our macros */
++#ifdef __sun
++#include <wchar.h>
++#endif
+
+ #undef FILE
+ #define FILE hnjFile
diff --git a/www/firefox31/patches/patch-intl_unicharutil_util_Makefile.in b/www/firefox31/patches/patch-intl_unicharutil_util_Makefile.in
new file mode 100644
index 00000000000..9996815dcb5
--- /dev/null
+++ b/www/firefox31/patches/patch-intl_unicharutil_util_Makefile.in
@@ -0,0 +1,12 @@
+$NetBSD: patch-intl_unicharutil_util_Makefile.in,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- intl/unicharutil/util/Makefile.in.orig 2014-04-18 02:03:03.000000000 +0000
++++ intl/unicharutil/util/Makefile.in
+@@ -23,3 +23,7 @@ ifdef _MSC_VER
+ OS_COMPILE_CXXFLAGS += -Zl
+ OS_COMPILE_CFLAGS += -Zl
+ endif
++
++ifdef MOZ_NATIVE_HARFBUZZ
++CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS)
++endif
diff --git a/www/firefox31/patches/patch-ipc_chromium_Makefile.in b/www/firefox31/patches/patch-ipc_chromium_Makefile.in
new file mode 100644
index 00000000000..69100c7e869
--- /dev/null
+++ b/www/firefox31/patches/patch-ipc_chromium_Makefile.in
@@ -0,0 +1,13 @@
+$NetBSD: patch-ipc_chromium_Makefile.in,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- ipc/chromium/Makefile.in.orig 2014-05-29 23:30:52.000000000 +0000
++++ ipc/chromium/Makefile.in
+@@ -28,6 +28,8 @@ include $(topsrcdir)/config/rules.mk
+
+ ifdef MOZ_NATIVE_LIBEVENT # {
+
++OS_CPPFLAGS += $(filter %/compat, $(MOZ_LIBEVENT_CFLAGS))
++
+ export-preqs = \
+ $(call mkdir_deps,$(CURDIR)/third_party/libevent) \
+ $(NULL)
diff --git a/www/firefox31/patches/patch-ipc_chromium_moz.build b/www/firefox31/patches/patch-ipc_chromium_moz.build
new file mode 100644
index 00000000000..55287215316
--- /dev/null
+++ b/www/firefox31/patches/patch-ipc_chromium_moz.build
@@ -0,0 +1,18 @@
+$NetBSD: patch-ipc_chromium_moz.build,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+Don't assume cocoa toolkit just because OS_ARCH is Darwin.
+
+--- ipc/chromium/moz.build.orig 2014-05-06 22:55:41.000000000 +0000
++++ ipc/chromium/moz.build
+@@ -19,7 +19,10 @@ if CONFIG['OS_ARCH'] == 'WINNT':
+ else:
+ os_posix = 1
+ if CONFIG['OS_ARCH'] == 'Darwin':
+- os_macosx = 1
++ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
++ os_macosx = 1
++ else:
++ os_bsd = 1
+ elif CONFIG['OS_ARCH'] == 'DragonFly':
+ os_dragonfly = 1
+ os_bsd = 1
diff --git a/www/firefox31/patches/patch-ipc_chromium_src_base_base__paths.h b/www/firefox31/patches/patch-ipc_chromium_src_base_base__paths.h
new file mode 100644
index 00000000000..968920acfd2
--- /dev/null
+++ b/www/firefox31/patches/patch-ipc_chromium_src_base_base__paths.h
@@ -0,0 +1,13 @@
+$NetBSD: patch-ipc_chromium_src_base_base__paths.h,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- ipc/chromium/src/base/base_paths.h.orig 2013-05-11 19:19:32.000000000 +0000
++++ ipc/chromium/src/base/base_paths.h
+@@ -13,7 +13,7 @@
+ #include "base/base_paths_win.h"
+ #elif defined(OS_MACOSX)
+ #include "base/base_paths_mac.h"
+-#elif defined(OS_LINUX) || defined(OS_BSD)
++#elif defined(OS_LINUX) || defined(OS_BSD) || defined(OS_SOLARIS)
+ #include "base/base_paths_linux.h"
+ #endif
+ #include "base/path_service.h"
diff --git a/www/firefox31/patches/patch-ipc_chromium_src_base_debug__util__posix.cc b/www/firefox31/patches/patch-ipc_chromium_src_base_debug__util__posix.cc
new file mode 100644
index 00000000000..412a3de25fa
--- /dev/null
+++ b/www/firefox31/patches/patch-ipc_chromium_src_base_debug__util__posix.cc
@@ -0,0 +1,13 @@
+$NetBSD: patch-ipc_chromium_src_base_debug__util__posix.cc,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- ipc/chromium/src/base/debug_util_posix.cc.orig 2013-05-11 19:19:32.000000000 +0000
++++ ipc/chromium/src/base/debug_util_posix.cc
+@@ -107,7 +107,7 @@ bool DebugUtil::BeingDebugged() {
+ return being_debugged;
+ }
+
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_SOLARIS)
+
+ // We can look in /proc/self/status for TracerPid. We are likely used in crash
+ // handling, so we are careful not to use the heap or have side effects.
diff --git a/www/firefox31/patches/patch-ipc_chromium_src_base_file__util.h b/www/firefox31/patches/patch-ipc_chromium_src_base_file__util.h
new file mode 100644
index 00000000000..9bda6a7a4a4
--- /dev/null
+++ b/www/firefox31/patches/patch-ipc_chromium_src_base_file__util.h
@@ -0,0 +1,14 @@
+$NetBSD: patch-ipc_chromium_src_base_file__util.h,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- ipc/chromium/src/base/file_util.h.orig 2013-12-05 16:07:35.000000000 +0000
++++ ipc/chromium/src/base/file_util.h
+@@ -16,7 +16,9 @@
+ #include <sys/stat.h>
+ #elif defined(OS_POSIX)
+ #include <sys/types.h>
++#if !defined(OS_SOLARIS)
+ #include <fts.h>
++#endif
+ #include <sys/stat.h>
+ #endif
+
diff --git a/www/firefox31/patches/patch-ipc_chromium_src_base_file__util__posix.cc b/www/firefox31/patches/patch-ipc_chromium_src_base_file__util__posix.cc
new file mode 100644
index 00000000000..3185ff41022
--- /dev/null
+++ b/www/firefox31/patches/patch-ipc_chromium_src_base_file__util__posix.cc
@@ -0,0 +1,51 @@
+$NetBSD: patch-ipc_chromium_src_base_file__util__posix.cc,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+* Just because OS_ARCH is Darwin does not mean MacOS X specific
+ implementation should be used.
+
+--- ipc/chromium/src/base/file_util_posix.cc.orig 2014-05-06 22:55:41.000000000 +0000
++++ ipc/chromium/src/base/file_util_posix.cc
+@@ -8,7 +8,7 @@
+ #include <errno.h>
+ #include <fcntl.h>
+ #include <fnmatch.h>
+-#ifndef ANDROID
++#if !defined(ANDROID) && !defined(OS_SOLARIS)
+ #include <fts.h>
+ #endif
+ #include <libgen.h>
+@@ -67,7 +67,7 @@ bool Delete(const FilePath& path, bool r
+ if (!recursive)
+ return (rmdir(path_str) == 0);
+
+-#ifdef ANDROID
++#if defined(ANDROID) || defined(OS_SOLARIS)
+ // XXX Need ftsless impl for bionic
+ return false;
+ #else
+@@ -140,7 +140,7 @@ bool CopyDirectory(const FilePath& from_
+ return false;
+ }
+
+-#ifdef ANDROID
++#if defined(ANDROID) || defined(OS_SOLARIS)
+ // XXX Need ftsless impl for bionic
+ return false;
+ #else
+@@ -435,7 +435,7 @@ bool SetCurrentDirectory(const FilePath&
+ return !ret;
+ }
+
+-#if !defined(OS_MACOSX)
++#if !defined(MOZ_WIDGET_COCOA)
+ bool GetTempDir(FilePath* path) {
+ const char* tmp = getenv("TMPDIR");
+ if (tmp)
+@@ -499,6 +499,6 @@ bool CopyFile(const FilePath& from_path,
+
+ return result;
+ }
+-#endif // !defined(OS_MACOSX)
++#endif // !defined(MOZ_WIDGET_COCOA)
+
+ } // namespace file_util
diff --git a/www/firefox31/patches/patch-ipc_chromium_src_base_message__loop.cc b/www/firefox31/patches/patch-ipc_chromium_src_base_message__loop.cc
new file mode 100644
index 00000000000..033f4c19e7f
--- /dev/null
+++ b/www/firefox31/patches/patch-ipc_chromium_src_base_message__loop.cc
@@ -0,0 +1,40 @@
+$NetBSD: patch-ipc_chromium_src_base_message__loop.cc,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+Don't assume cocoa toolkit just because OS_ARCH is Darwin.
+
+--- ipc/chromium/src/base/message_loop.cc.orig 2014-05-29 23:30:52.000000000 +0000
++++ ipc/chromium/src/base/message_loop.cc
+@@ -14,20 +14,18 @@
+ #include "base/string_util.h"
+ #include "base/thread_local.h"
+
+-#if defined(OS_MACOSX)
++#if defined(MOZ_WIDGET_COCOA)
+ #include "base/message_pump_mac.h"
+ #endif
+ #if defined(OS_POSIX)
+ #include "base/message_pump_libevent.h"
+ #endif
+-#if defined(OS_LINUX) || defined(OS_BSD)
+ #if defined(MOZ_WIDGET_GTK)
+ #include "base/message_pump_glib.h"
+ #endif
+ #ifdef MOZ_WIDGET_QT
+ #include "base/message_pump_qt.h"
+ #endif
+-#endif
+ #ifdef ANDROID
+ #include "base/message_pump_android.h"
+ #endif
+@@ -135,9 +133,9 @@ MessageLoop::MessageLoop(Type type)
+ }
+ #elif defined(OS_POSIX)
+ if (type_ == TYPE_UI) {
+-#if defined(OS_MACOSX)
++#if defined(MOZ_WIDGET_COCOA)
+ pump_ = base::MessagePumpMac::Create();
+-#elif defined(OS_LINUX) || defined(OS_BSD)
++#elif defined(MOZ_WIDGET_GTK) || defined(MOZ_WIDGET_QT)
+ pump_ = new base::MessagePumpForUI();
+ #endif // OS_LINUX
+ } else if (type_ == TYPE_IO) {
diff --git a/www/firefox31/patches/patch-ipc_chromium_src_base_message__pump__libevent.cc b/www/firefox31/patches/patch-ipc_chromium_src_base_message__pump__libevent.cc
new file mode 100644
index 00000000000..b598d2cedd2
--- /dev/null
+++ b/www/firefox31/patches/patch-ipc_chromium_src_base_message__pump__libevent.cc
@@ -0,0 +1,13 @@
+$NetBSD: patch-ipc_chromium_src_base_message__pump__libevent.cc,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- ipc/chromium/src/base/message_pump_libevent.cc.orig 2013-05-11 19:19:32.000000000 +0000
++++ ipc/chromium/src/base/message_pump_libevent.cc
+@@ -16,7 +16,7 @@
+ #include "base/scoped_ptr.h"
+ #include "base/time.h"
+ #include "nsDependentSubstring.h"
+-#include "third_party/libevent/event.h"
++#include "event.h"
+
+ // Lifecycle of struct event
+ // Libevent uses two main data structures:
diff --git a/www/firefox31/patches/patch-ipc_chromium_src_base_platform__thread.h b/www/firefox31/patches/patch-ipc_chromium_src_base_platform__thread.h
new file mode 100644
index 00000000000..31a9ea701ee
--- /dev/null
+++ b/www/firefox31/patches/patch-ipc_chromium_src_base_platform__thread.h
@@ -0,0 +1,14 @@
+$NetBSD: patch-ipc_chromium_src_base_platform__thread.h,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- ipc/chromium/src/base/platform_thread.h.orig 2013-09-10 03:43:34.000000000 +0000
++++ ipc/chromium/src/base/platform_thread.h
+@@ -25,6 +25,9 @@ typedef pthread_t PlatformThreadHandle;
+ #if defined(OS_LINUX) || defined(OS_OPENBSD) || defined(__GLIBC__)
+ #include <unistd.h>
+ typedef pid_t PlatformThreadId;
++#elif defined(OS_SOLARIS)
++#include <sys/lwp.h>
++typedef lwpid_t PlatformThreadId;
+ #elif defined(OS_BSD)
+ #include <sys/types.h>
+ typedef lwpid_t PlatformThreadId;
diff --git a/www/firefox31/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc b/www/firefox31/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc
new file mode 100644
index 00000000000..4930f306516
--- /dev/null
+++ b/www/firefox31/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc
@@ -0,0 +1,92 @@
+$NetBSD: patch-ipc_chromium_src_base_platform__thread__posix.cc,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+* Just because OS_ARCH is Darwin does not mean MacOS X specific
+ kludges are needed.
+
+--- ipc/chromium/src/base/platform_thread_posix.cc.orig 2014-05-06 22:55:41.000000000 +0000
++++ ipc/chromium/src/base/platform_thread_posix.cc
+@@ -9,8 +9,12 @@
+
+ #if defined(OS_MACOSX)
+ #include <mach/mach.h>
++#include <dlfcn.h>
++#include <string>
+ #elif defined(OS_NETBSD)
++_Pragma("GCC visibility push(default)")
+ #include <lwp.h>
++_Pragma("GCC visibility pop")
+ #elif defined(OS_LINUX)
+ #include <sys/syscall.h>
+ #include <sys/prctl.h>
+@@ -19,15 +23,13 @@
+ #include <sys/thr.h>
+ #endif
+
+-#if !defined(OS_MACOSX)
+ #include <unistd.h>
+-#endif
+
+ #if defined(OS_BSD) && !defined(OS_NETBSD) && !defined(__GLIBC__)
+ #include <pthread_np.h>
+ #endif
+
+-#if defined(OS_MACOSX)
++#if defined(MOZ_WIDGET_COCOA)
+ namespace base {
+ void InitThreading();
+ } // namespace
+@@ -91,7 +93,7 @@ void PlatformThread::Sleep(int duration_
+ sleep_time = remaining;
+ }
+
+-#ifndef OS_MACOSX
++#ifndef MOZ_WIDGET_COCOA
+ // Mac is implemented in platform_thread_mac.mm.
+
+ // static
+@@ -114,19 +116,41 @@ void PlatformThread::SetName(const char*
+ pthread_setname_np(pthread_self(), "%s", (void *)name);
+ #elif defined(OS_BSD) && !defined(__GLIBC__)
+ pthread_set_name_np(pthread_self(), name);
+-#else
++#elif defined(OS_MACOSX)
++ // Copied from platform_thread_mac.mm
++
++ // pthread_setname_np is only available in 10.6 or later, so test
++ // for it at runtime.
++ int (*dynamic_pthread_setname_np)(const char*);
++ *reinterpret_cast<void**>(&dynamic_pthread_setname_np) =
++ dlsym(RTLD_DEFAULT, "pthread_setname_np");
++ if (!dynamic_pthread_setname_np)
++ return;
++
++ // Mac OS X does not expose the length limit of the name, so
++ // hardcode it.
++ const int kMaxNameLength = 63;
++ std::string shortened_name = std::string(name).substr(0, kMaxNameLength);
++ // pthread_setname() fails (harmlessly) in the sandbox, ignore when it does.
++ // See http://crbug.com/47058
++
++ // The name parameter is copied thus it's safe to release it after calling.
++ // Checked against the bionic implementation in bionic/libc/bionic/pthread.c
++ dynamic_pthread_setname_np(shortened_name.c_str());
++#elif !defined(OS_SOLARIS)
++ prctl(PR_SET_NAME, reinterpret_cast<uintptr_t>(name), 0, 0, 0);
+ #endif
+ }
+-#endif // !OS_MACOSX
++#endif // !MOZ_WIDGET_COCOA
+
+ namespace {
+
+ bool CreateThread(size_t stack_size, bool joinable,
+ PlatformThread::Delegate* delegate,
+ PlatformThreadHandle* thread_handle) {
+-#if defined(OS_MACOSX)
++#if defined(MOZ_WIDGET_COCOA)
+ base::InitThreading();
+-#endif // OS_MACOSX
++#endif // MOZ_WIDGET_COCOA
+
+ bool success = false;
+ pthread_attr_t attributes;
diff --git a/www/firefox31/patches/patch-ipc_chromium_src_base_process__util.h b/www/firefox31/patches/patch-ipc_chromium_src_base_process__util.h
new file mode 100644
index 00000000000..b39c3c92a50
--- /dev/null
+++ b/www/firefox31/patches/patch-ipc_chromium_src_base_process__util.h
@@ -0,0 +1,32 @@
+$NetBSD: patch-ipc_chromium_src_base_process__util.h,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- ipc/chromium/src/base/process_util.h.orig 2013-09-10 03:43:34.000000000 +0000
++++ ipc/chromium/src/base/process_util.h
+@@ -13,7 +13,7 @@
+ #if defined(OS_WIN)
+ #include <windows.h>
+ #include <tlhelp32.h>
+-#elif defined(OS_LINUX) || defined(__GLIBC__)
++#elif defined(OS_LINUX) || defined(__GLIBC__) || defined(OS_SOLARIS)
+ #include <dirent.h>
+ #include <limits.h>
+ #include <sys/types.h>
+@@ -32,6 +32,9 @@
+ typedef PROCESSENTRY32 ProcessEntry;
+ typedef IO_COUNTERS IoCounters;
+ #elif defined(OS_POSIX)
++#ifndef NAME_MAX
++#define NAME_MAX _POSIX_NAME_MAX
++#endif
+ // TODO(port): we should not rely on a Win32 structure.
+ struct ProcessEntry {
+ int pid;
+@@ -316,7 +319,7 @@ class NamedProcessIterator {
+ #if defined(OS_WIN)
+ HANDLE snapshot_;
+ bool started_iteration_;
+-#elif defined(OS_LINUX) || defined(__GLIBC__)
++#elif defined(OS_LINUX) || defined(__GLIBC__) || defined(OS_SOLARIS)
+ DIR *procfs_dir_;
+ #elif defined(OS_BSD)
+ std::vector<ProcessEntry> content;
diff --git a/www/firefox31/patches/patch-ipc_chromium_src_base_process__util__bsd.cc b/www/firefox31/patches/patch-ipc_chromium_src_base_process__util__bsd.cc
new file mode 100644
index 00000000000..f8cbf1b4c56
--- /dev/null
+++ b/www/firefox31/patches/patch-ipc_chromium_src_base_process__util__bsd.cc
@@ -0,0 +1,166 @@
+$NetBSD: patch-ipc_chromium_src_base_process__util__bsd.cc,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+Darwin does not provide kvm_getprocs(3). The code for OS_MACOSX is
+simply copied from process_util_mac.mm
+
+--- ipc/chromium/src/base/process_util_bsd.cc.orig 2014-05-06 22:55:41.000000000 +0000
++++ ipc/chromium/src/base/process_util_bsd.cc
+@@ -15,7 +15,9 @@
+
+ #include <ctype.h>
+ #include <fcntl.h>
++#if defined(OS_BSD)
+ #include <kvm.h>
++#endif
+ #include <unistd.h>
+
+ #include <string>
+@@ -311,6 +313,141 @@ void SetCurrentProcessPrivileges(ChildPr
+
+ #endif
+
++#if defined(OS_MACOSX)
++NamedProcessIterator::NamedProcessIterator(const std::wstring& executable_name,
++ const ProcessFilter* filter)
++ : executable_name_(executable_name),
++ index_of_kinfo_proc_(0),
++ filter_(filter) {
++ // Get a snapshot of all of my processes (yes, as we loop it can go stale, but
++ // but trying to find where we were in a constantly changing list is basically
++ // impossible.
++
++ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_UID, int(geteuid()) };
++
++ // Since more processes could start between when we get the size and when
++ // we get the list, we do a loop to keep trying until we get it.
++ bool done = false;
++ int try_num = 1;
++ const int max_tries = 10;
++ do {
++ // Get the size of the buffer
++ size_t len = 0;
++ if (sysctl(mib, arraysize(mib), NULL, &len, NULL, 0) < 0) {
++ CHROMIUM_LOG(ERROR) << "failed to get the size needed for the process list";
++ kinfo_procs_.resize(0);
++ done = true;
++ } else {
++ size_t num_of_kinfo_proc = len / sizeof(struct kinfo_proc);
++ // Leave some spare room for process table growth (more could show up
++ // between when we check and now)
++ num_of_kinfo_proc += 4;
++ kinfo_procs_.resize(num_of_kinfo_proc);
++ len = num_of_kinfo_proc * sizeof(struct kinfo_proc);
++ // Load the list of processes
++ if (sysctl(mib, arraysize(mib), &kinfo_procs_[0], &len, NULL, 0) < 0) {
++ // If we get a mem error, it just means we need a bigger buffer, so
++ // loop around again. Anything else is a real error and give up.
++ if (errno != ENOMEM) {
++ CHROMIUM_LOG(ERROR) << "failed to get the process list";
++ kinfo_procs_.resize(0);
++ done = true;
++ }
++ } else {
++ // Got the list, just make sure we're sized exactly right
++ size_t num_of_kinfo_proc = len / sizeof(struct kinfo_proc);
++ kinfo_procs_.resize(num_of_kinfo_proc);
++ done = true;
++ }
++ }
++ } while (!done && (try_num++ < max_tries));
++
++ if (!done) {
++ CHROMIUM_LOG(ERROR) << "failed to collect the process list in a few tries";
++ kinfo_procs_.resize(0);
++ }
++}
++
++NamedProcessIterator::~NamedProcessIterator() {
++}
++
++const ProcessEntry* NamedProcessIterator::NextProcessEntry() {
++ bool result = false;
++ do {
++ result = CheckForNextProcess();
++ } while (result && !IncludeEntry());
++
++ if (result) {
++ return &entry_;
++ }
++
++ return NULL;
++}
++
++bool NamedProcessIterator::CheckForNextProcess() {
++ std::string executable_name_utf8(WideToUTF8(executable_name_));
++
++ std::string data;
++ std::string exec_name;
++
++ for (; index_of_kinfo_proc_ < kinfo_procs_.size(); ++index_of_kinfo_proc_) {
++ kinfo_proc* kinfo = &kinfo_procs_[index_of_kinfo_proc_];
++
++ // Skip processes just awaiting collection
++ if ((kinfo->kp_proc.p_pid > 0) && (kinfo->kp_proc.p_stat == SZOMB))
++ continue;
++
++ int mib[] = { CTL_KERN, KERN_PROCARGS, kinfo->kp_proc.p_pid };
++
++ // Found out what size buffer we need
++ size_t data_len = 0;
++ if (sysctl(mib, arraysize(mib), NULL, &data_len, NULL, 0) < 0) {
++ CHROMIUM_LOG(ERROR) << "failed to figure out the buffer size for a commandline";
++ continue;
++ }
++
++ data.resize(data_len);
++ if (sysctl(mib, arraysize(mib), &data[0], &data_len, NULL, 0) < 0) {
++ CHROMIUM_LOG(ERROR) << "failed to fetch a commandline";
++ continue;
++ }
++
++ // Data starts w/ the full path null termed, so we have to extract just the
++ // executable name from the path.
++
++ size_t exec_name_end = data.find('\0');
++ if (exec_name_end == std::string::npos) {
++ CHROMIUM_LOG(ERROR) << "command line data didn't match expected format";
++ continue;
++ }
++ size_t last_slash = data.rfind('/', exec_name_end);
++ if (last_slash == std::string::npos)
++ exec_name = data.substr(0, exec_name_end);
++ else
++ exec_name = data.substr(last_slash + 1, exec_name_end - last_slash - 1);
++
++ // Check the name
++ if (executable_name_utf8 == exec_name) {
++ entry_.pid = kinfo->kp_proc.p_pid;
++ entry_.ppid = kinfo->kp_eproc.e_ppid;
++ base::strlcpy(entry_.szExeFile, exec_name.c_str(),
++ sizeof(entry_.szExeFile));
++ // Start w/ the next entry next time through
++ ++index_of_kinfo_proc_;
++ // Done
++ return true;
++ }
++ }
++ return false;
++}
++
++bool NamedProcessIterator::IncludeEntry() {
++ // Don't need to check the name, we did that w/in CheckForNextProcess.
++ if (!filter_)
++ return true;
++ return filter_->Includes(entry_.pid, entry_.ppid);
++}
++#else
+ NamedProcessIterator::NamedProcessIterator(const std::wstring& executable_name,
+ const ProcessFilter* filter)
+ {
+@@ -370,5 +507,6 @@ const ProcessEntry* NamedProcessIterator
+ if (nextEntry >= content.size()) return NULL;
+ return &content[nextEntry++];
+ }
++#endif
+
+ } // namespace base
diff --git a/www/firefox31/patches/patch-ipc_chromium_src_base_process__util__posix.cc b/www/firefox31/patches/patch-ipc_chromium_src_base_process__util__posix.cc
new file mode 100644
index 00000000000..7df9a2e67ea
--- /dev/null
+++ b/www/firefox31/patches/patch-ipc_chromium_src_base_process__util__posix.cc
@@ -0,0 +1,22 @@
+$NetBSD: patch-ipc_chromium_src_base_process__util__posix.cc,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- ipc/chromium/src/base/process_util_posix.cc.orig 2013-05-11 19:19:32.000000000 +0000
++++ ipc/chromium/src/base/process_util_posix.cc
+@@ -110,7 +110,7 @@ void CloseSuperfluousFds(const base::Inj
+ #if defined(ANDROID)
+ static const rlim_t kSystemDefaultMaxFds = 1024;
+ static const char kFDDir[] = "/proc/self/fd";
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_SOLARIS)
+ static const rlim_t kSystemDefaultMaxFds = 8192;
+ static const char kFDDir[] = "/proc/self/fd";
+ #elif defined(OS_MACOSX)
+@@ -202,7 +202,7 @@ void CloseSuperfluousFds(const base::Inj
+ // TODO(agl): Remove this function. It's fundamentally broken for multithreaded
+ // apps.
+ void SetAllFDsToCloseOnExec() {
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_SOLARIS)
+ const char fd_dir[] = "/proc/self/fd";
+ #elif defined(OS_MACOSX) || defined(OS_BSD)
+ const char fd_dir[] = "/dev/fd";
diff --git a/www/firefox31/patches/patch-ipc_chromium_src_base_scoped__nsautorelease__pool.h b/www/firefox31/patches/patch-ipc_chromium_src_base_scoped__nsautorelease__pool.h
new file mode 100644
index 00000000000..009f16df908
--- /dev/null
+++ b/www/firefox31/patches/patch-ipc_chromium_src_base_scoped__nsautorelease__pool.h
@@ -0,0 +1,45 @@
+$NetBSD: patch-ipc_chromium_src_base_scoped__nsautorelease__pool.h,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+Just because OS_ARCH is Darwin does not mean ScopedNSAutoreleasePool
+is needed.
+
+--- ipc/chromium/src/base/scoped_nsautorelease_pool.h.orig 2014-05-06 22:55:41.000000000 +0000
++++ ipc/chromium/src/base/scoped_nsautorelease_pool.h
+@@ -7,13 +7,13 @@
+
+ #include "base/basictypes.h"
+
+-#if defined(OS_MACOSX)
++#if defined(MOZ_WIDGET_COCOA)
+ #if defined(__OBJC__)
+ @class NSAutoreleasePool;
+ #else // __OBJC__
+ class NSAutoreleasePool;
+ #endif // __OBJC__
+-#endif // OS_MACOSX
++#endif // MOZ_WIDGET_COCOA
+
+ namespace base {
+
+@@ -27,10 +27,10 @@ namespace base {
+ // ugly #ifdefs.
+ class ScopedNSAutoreleasePool {
+ public:
+-#if !defined(OS_MACOSX)
++#if !defined(MOZ_WIDGET_COCOA)
+ ScopedNSAutoreleasePool() {}
+ void Recycle() { }
+-#else // OS_MACOSX
++#else // MOZ_WIDGET_COCOA
+ ScopedNSAutoreleasePool();
+ ~ScopedNSAutoreleasePool();
+
+@@ -41,7 +41,7 @@ class ScopedNSAutoreleasePool {
+ void Recycle();
+ private:
+ NSAutoreleasePool* autorelease_pool_;
+-#endif // OS_MACOSX
++#endif // MOZ_WIDGET_COCOA
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(ScopedNSAutoreleasePool);
diff --git a/www/firefox31/patches/patch-ipc_chromium_src_base_sys__info__posix.cc b/www/firefox31/patches/patch-ipc_chromium_src_base_sys__info__posix.cc
new file mode 100644
index 00000000000..c6385585f1c
--- /dev/null
+++ b/www/firefox31/patches/patch-ipc_chromium_src_base_sys__info__posix.cc
@@ -0,0 +1,28 @@
+$NetBSD: patch-ipc_chromium_src_base_sys__info__posix.cc,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- ipc/chromium/src/base/sys_info_posix.cc.orig 2014-04-18 02:03:04.000000000 +0000
++++ ipc/chromium/src/base/sys_info_posix.cc
+@@ -119,7 +119,11 @@ std::wstring SysInfo::GetEnvVar(const wc
+
+ // static
+ std::string SysInfo::OperatingSystemName() {
++#ifdef OS_SOLARIS
++ struct utsname info;
++#else
+ utsname info;
++#endif
+ if (uname(&info) < 0) {
+ NOTREACHED();
+ return "";
+@@ -129,7 +133,11 @@ std::string SysInfo::OperatingSystemName
+
+ // static
+ std::string SysInfo::OperatingSystemVersion() {
++#ifdef OS_SOLARIS
++ struct utsname info;
++#else
+ utsname info;
++#endif
+ if (uname(&info) < 0) {
+ NOTREACHED();
+ return "";
diff --git a/www/firefox31/patches/patch-ipc_chromium_src_base_time__posix.cc b/www/firefox31/patches/patch-ipc_chromium_src_base_time__posix.cc
new file mode 100644
index 00000000000..837b7af9dde
--- /dev/null
+++ b/www/firefox31/patches/patch-ipc_chromium_src_base_time__posix.cc
@@ -0,0 +1,15 @@
+$NetBSD: patch-ipc_chromium_src_base_time__posix.cc,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- ipc/chromium/src/base/time_posix.cc.orig 2013-05-11 19:19:32.000000000 +0000
++++ ipc/chromium/src/base/time_posix.cc
+@@ -65,8 +65,10 @@ Time Time::FromExploded(bool is_local, c
+ timestruct.tm_wday = exploded.day_of_week; // mktime/timegm ignore this
+ timestruct.tm_yday = 0; // mktime/timegm ignore this
+ timestruct.tm_isdst = -1; // attempt to figure it out
++#ifndef OS_SOLARIS
+ timestruct.tm_gmtoff = 0; // not a POSIX field, so mktime/timegm ignore
+ timestruct.tm_zone = NULL; // not a POSIX field, so mktime/timegm ignore
++#endif
+
+ time_t seconds;
+ #ifdef ANDROID
diff --git a/www/firefox31/patches/patch-ipc_chromium_src_build_build__config.h b/www/firefox31/patches/patch-ipc_chromium_src_build_build__config.h
new file mode 100644
index 00000000000..e153b57e118
--- /dev/null
+++ b/www/firefox31/patches/patch-ipc_chromium_src_build_build__config.h
@@ -0,0 +1,22 @@
+$NetBSD: patch-ipc_chromium_src_build_build__config.h,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- ipc/chromium/src/build/build_config.h.orig 2013-05-11 19:19:32.000000000 +0000
++++ ipc/chromium/src/build/build_config.h
+@@ -27,6 +27,8 @@
+ #define OS_NETBSD 1
+ #elif defined(__OpenBSD__)
+ #define OS_OPENBSD 1
++#elif defined(__sun)
++#define OS_SOLARIS 1
+ #elif defined(_WIN32)
+ #define OS_WIN 1
+ #else
+@@ -42,7 +44,7 @@
+
+ // For access to standard POSIX features, use OS_POSIX instead of a more
+ // specific macro.
+-#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || defined(OS_SOLARIS)
+ #define OS_POSIX 1
+ #endif
+
diff --git a/www/firefox31/patches/patch-ipc_chromium_src_chrome_common_transport__dib.h b/www/firefox31/patches/patch-ipc_chromium_src_chrome_common_transport__dib.h
new file mode 100644
index 00000000000..470e107c514
--- /dev/null
+++ b/www/firefox31/patches/patch-ipc_chromium_src_chrome_common_transport__dib.h
@@ -0,0 +1,13 @@
+$NetBSD: patch-ipc_chromium_src_chrome_common_transport__dib.h,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- ipc/chromium/src/chrome/common/transport_dib.h.orig 2013-05-11 19:19:32.000000000 +0000
++++ ipc/chromium/src/chrome/common/transport_dib.h
+@@ -70,7 +70,7 @@ class TransportDIB {
+ typedef base::SharedMemoryHandle Handle;
+ // On Mac, the inode number of the backing file is used as an id.
+ typedef base::SharedMemoryId Id;
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_SOLARIS)
+ typedef int Handle; // These two ints are SysV IPC shared memory keys
+ typedef int Id;
+ #endif
diff --git a/www/firefox31/patches/patch-ipc_glue_GeckoChildProcessHost.cpp b/www/firefox31/patches/patch-ipc_glue_GeckoChildProcessHost.cpp
new file mode 100644
index 00000000000..b9b3cbc626c
--- /dev/null
+++ b/www/firefox31/patches/patch-ipc_glue_GeckoChildProcessHost.cpp
@@ -0,0 +1,48 @@
+$NetBSD: patch-ipc_glue_GeckoChildProcessHost.cpp,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+* Just because OS_ARCH is Darwin does not mean MacOS X specific
+ kludges are needed.
+
+--- ipc/glue/GeckoChildProcessHost.cpp.orig 2014-05-29 23:30:53.000000000 +0000
++++ ipc/glue/GeckoChildProcessHost.cpp
+@@ -4,7 +4,13 @@
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
++#if defined(__NetBSD__)
++_Pragma("GCC visibility push(default)")
++#endif
+ #include "GeckoChildProcessHost.h"
++#if defined(__NetBSD__)
++_Pragma("GCC visibility pop")
++#endif
+
+ #if defined(XP_WIN) && defined(MOZ_CONTENT_SANDBOX)
+ #include "sandboxBroker.h"
+@@ -548,7 +554,7 @@ GeckoChildProcessHost::PerformAsyncLaunc
+ // and passing wstrings from one config to the other is unsafe. So
+ // we split the logic here.
+
+-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) || defined(OS_SOLARIS)
+ base::environment_map newEnvVars;
+ ChildPrivileges privs = mPrivileges;
+ if (privs == base::PRIVILEGES_DEFAULT) {
+@@ -671,7 +677,7 @@ GeckoChildProcessHost::PerformAsyncLaunc
+ childArgv.push_back(pidstring);
+
+ #if defined(MOZ_CRASHREPORTER)
+-# if defined(OS_LINUX) || defined(OS_BSD)
++# if defined(OS_LINUX) || defined(OS_BSD) || defined(OS_SOLARIS)
+ int childCrashFd, childCrashRemapFd;
+ if (!CrashReporter::CreateNotificationPipeForChild(
+ &childCrashFd, &childCrashRemapFd))
+@@ -704,7 +710,7 @@ GeckoChildProcessHost::PerformAsyncLaunc
+ childArgv.push_back(childProcessType);
+
+ base::LaunchApp(childArgv, mFileMap,
+-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) || defined(OS_SOLARIS)
+ newEnvVars, privs,
+ #endif
+ false, &process, arch);
diff --git a/www/firefox31/patches/patch-ipc_glue_ScopedXREEmbed.cpp b/www/firefox31/patches/patch-ipc_glue_ScopedXREEmbed.cpp
new file mode 100644
index 00000000000..46b972af8fc
--- /dev/null
+++ b/www/firefox31/patches/patch-ipc_glue_ScopedXREEmbed.cpp
@@ -0,0 +1,16 @@
+$NetBSD: patch-ipc_glue_ScopedXREEmbed.cpp,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+Walking out of [subprocess].app/Contents/MacOS would only be needed if
+we were using the cocoa toolkit.
+
+--- ipc/glue/ScopedXREEmbed.cpp.orig 2014-05-06 22:55:41.000000000 +0000
++++ ipc/glue/ScopedXREEmbed.cpp
+@@ -66,7 +66,7 @@ ScopedXREEmbed::Start()
+ localFile = do_QueryInterface(parent);
+ NS_ENSURE_TRUE_VOID(localFile);
+
+-#ifdef OS_MACOSX
++#ifdef MOZ_WIDGET_COCOA
+ if (XRE_GetProcessType() == GeckoProcessType_Content) {
+ // We're an XPCOM-using subprocess. Walk out of
+ // [subprocess].app/Contents/MacOS to the real GRE dir.
diff --git a/www/firefox31/patches/patch-ipc_glue_StringUtil.cpp b/www/firefox31/patches/patch-ipc_glue_StringUtil.cpp
new file mode 100644
index 00000000000..29625121c1d
--- /dev/null
+++ b/www/firefox31/patches/patch-ipc_glue_StringUtil.cpp
@@ -0,0 +1,24 @@
+$NetBSD: patch-ipc_glue_StringUtil.cpp,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+Just because OS_ARCH is Darwin does not mean
+sys_string_conversions_mac.mm can be used.
+
+--- ipc/glue/StringUtil.cpp.orig 2014-05-06 22:55:41.000000000 +0000
++++ ipc/glue/StringUtil.cpp
+@@ -64,14 +64,14 @@ namespace base {
+ // converters, and implementing the one that doesn't exist for OS X
+ // and Windows.
+
+-#if !defined(OS_MACOSX) && !defined(OS_WIN)
++#if !defined(MOZ_WIDGET_COCOA) && !defined(OS_WIN)
+ std::string SysWideToUTF8(const std::wstring& wide) {
+ // FIXME/cjones: do this with iconv
+ return GhettoStringConvert<std::wstring, std::string>(wide);
+ }
+ #endif
+
+-#if !defined(OS_MACOSX) && !defined(OS_WIN)
++#if !defined(MOZ_WIDGET_COCOA) && !defined(OS_WIN)
+ std::wstring SysUTF8ToWide(const StringPiece& utf8) {
+ // FIXME/cjones: do this with iconv
+ return GhettoStringConvert<StringPiece, std::wstring>(utf8);
diff --git a/www/firefox31/patches/patch-ipc_ipdl_ipdl_cxx_ast.py b/www/firefox31/patches/patch-ipc_ipdl_ipdl_cxx_ast.py
new file mode 100644
index 00000000000..fca6d2effea
--- /dev/null
+++ b/www/firefox31/patches/patch-ipc_ipdl_ipdl_cxx_ast.py
@@ -0,0 +1,25 @@
+$NetBSD: patch-ipc_ipdl_ipdl_cxx_ast.py,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+Part of https://bugzilla.mozilla.org/show_bug.cgi?id=1026499:
+Make sure storage provided for attributes is properly aligned
+in the generated C++ code.
+
+--- ipc/ipdl/ipdl/cxx/ast.py.orig 2014-07-17 01:45:18.000000000 +0000
++++ ipc/ipdl/ipdl/cxx/ast.py
+@@ -336,12 +336,13 @@ Type.VOID = Type('void')
+ Type.VOIDPTR = Type('void', ptr=1)
+
+ class TypeArray(Node):
+- def __init__(self, basetype, nmemb):
+- '''the type |basetype DECLNAME[nmemb]|. |nmemb| is an Expr'''
++ def __init__(self, basetype, nmemb, alignType):
++ '''the type |basetype DECLNAME[nmemb]|. |nmemb| is an Expr, |alignType| is a type'''
+ self.basetype = basetype
+ self.nmemb = nmemb
++ self.alignType = alignType
+ def __deepcopy__(self, memo):
+- return TypeArray(deepcopy(self.basetype, memo), nmemb)
++ return TypeArray(deepcopy(self.basetype, memo), nmemb, alignType)
+
+ class TypeEnum(Node):
+ def __init__(self, name=None):
diff --git a/www/firefox31/patches/patch-ipc_ipdl_ipdl_cxx_cgen.py b/www/firefox31/patches/patch-ipc_ipdl_ipdl_cxx_cgen.py
new file mode 100644
index 00000000000..848fcf04f1b
--- /dev/null
+++ b/www/firefox31/patches/patch-ipc_ipdl_ipdl_cxx_cgen.py
@@ -0,0 +1,27 @@
+$NetBSD: patch-ipc_ipdl_ipdl_cxx_cgen.py,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+Part of https://bugzilla.mozilla.org/show_bug.cgi?id=1026499:
+Make sure storage provided for attributes is properly aligned
+in the generated C++ code.
+
+--- ipc/ipdl/ipdl/cxx/cgen.py.orig 2014-07-17 01:45:18.000000000 +0000
++++ ipc/ipdl/ipdl/cxx/cgen.py
+@@ -101,6 +101,7 @@ class CxxCodeGen(CodePrinter, Visitor):
+ def visitDecl(self, d):
+ # C-syntax arrays make code generation much more annoying
+ if isinstance(d.type, TypeArray):
++ self.write('MOZ_ALIGNED_DECL(')
+ d.type.basetype.accept(self)
+ else:
+ d.type.accept(self)
+@@ -111,7 +112,9 @@ class CxxCodeGen(CodePrinter, Visitor):
+ if isinstance(d.type, TypeArray):
+ self.write('[')
+ d.type.nmemb.accept(self)
+- self.write(']')
++ self.write('], MOZ_ALIGNOF(')
++ d.type.alignType.accept(self)
++ self.write('))')
+
+ def visitParam(self, p):
+ self.visitDecl(p)
diff --git a/www/firefox31/patches/patch-ipc_ipdl_ipdl_lower.py b/www/firefox31/patches/patch-ipc_ipdl_ipdl_lower.py
new file mode 100644
index 00000000000..68dc946c480
--- /dev/null
+++ b/www/firefox31/patches/patch-ipc_ipdl_ipdl_lower.py
@@ -0,0 +1,17 @@
+$NetBSD: patch-ipc_ipdl_ipdl_lower.py,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+Part of https://bugzilla.mozilla.org/show_bug.cgi?id=1026499:
+Make sure storage provided for attributes is properly aligned
+in the generated C++ code.
+
+--- ipc/ipdl/ipdl/lower.py.orig 2014-07-17 01:45:18.000000000 +0000
++++ ipc/ipdl/ipdl/lower.py
+@@ -768,7 +768,7 @@ IPDL union type."""
+ if self.recursive:
+ return self.ptrToType()
+ else:
+- return TypeArray(Type('char'), ExprSizeof(self.internalType()))
++ return TypeArray(Type('char'), ExprSizeof(self.internalType()), self.internalType())
+
+ def unionValue(self):
+ # NB: knows that Union's storage C union is named |mValue|
diff --git a/www/firefox31/patches/patch-js__src__vm__SPSProfiler.cpp b/www/firefox31/patches/patch-js__src__vm__SPSProfiler.cpp
new file mode 100644
index 00000000000..e7a1a5f0837
--- /dev/null
+++ b/www/firefox31/patches/patch-js__src__vm__SPSProfiler.cpp
@@ -0,0 +1,17 @@
+$NetBSD: patch-js__src__vm__SPSProfiler.cpp,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+Unclear fallout from our version of bug 840242, attachment v1: some architectures
+fail to link if we do not add the inlines here - might be compiler/arch specific.
+
+
+--- js/src/vm/SPSProfiler.cpp.orig 2014-04-18 02:03:21.000000000 +0000
++++ js/src/vm/SPSProfiler.cpp
+@@ -4,6 +4,8 @@
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
++#include "jscntxtinlines.h"
++
+ #include "vm/SPSProfiler.h"
+
+ #include "mozilla/DebugOnly.h"
diff --git a/www/firefox31/patches/patch-js_src_Makefile.in b/www/firefox31/patches/patch-js_src_Makefile.in
new file mode 100644
index 00000000000..13801f7c0e1
--- /dev/null
+++ b/www/firefox31/patches/patch-js_src_Makefile.in
@@ -0,0 +1,31 @@
+$NetBSD: patch-js_src_Makefile.in,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- js/src/Makefile.in.orig 2014-07-17 01:45:18.000000000 +0000
++++ js/src/Makefile.in
+@@ -20,8 +20,6 @@ run_for_side_effects := $(shell echo 'MA
+ STATIC_LIBRARY_NAME = js_static
+ LIBS = $(NSPR_LIBS)
+
+-DIST_INSTALL = 1
+-
+ ifdef JS_STANDALONE
+ SHARED_LIBRARY_LIBS += $(call EXPAND_LIBNAME_PATH,mfbt,$(DEPTH)/mfbt)
+ endif
+@@ -226,7 +224,7 @@ endif
+ ifdef MOZ_SHARED_ICU
+ EXTRA_DSO_LDOPTS += $(MOZ_ICU_LIBS)
+ else
+-SHARED_LIBRARY_LIBS += $(MOZ_ICU_LIBS)
++SHARED_LIBRARY_LIBS += $(filter-out -L% -l% -Wl%,$(MOZ_ICU_LIBS))
+ endif
+
+ # Prevent floating point errors caused by VC++ optimizations
+@@ -350,7 +348,7 @@ endif
+
+ ifdef HAVE_DTRACE
+ $(CURDIR)/javascript-trace.h: $(srcdir)/devtools/javascript-trace.d
+- dtrace -h -s $(srcdir)/devtools/javascript-trace.d -o javascript-trace.h.in
++ dtrace -x nolibs -h -s $(srcdir)/devtools/javascript-trace.d -o javascript-trace.h.in
+ sed -e 's/if _DTRACE_VERSION/ifdef INCLUDE_MOZILLA_DTRACE/' \
+ -e '/const/!s/char \*/const char */g' \
+ javascript-trace.h.in > javascript-trace.h
diff --git a/www/firefox31/patches/patch-js_src_ctypes_CTypes.h b/www/firefox31/patches/patch-js_src_ctypes_CTypes.h
new file mode 100644
index 00000000000..1d65e436b90
--- /dev/null
+++ b/www/firefox31/patches/patch-js_src_ctypes_CTypes.h
@@ -0,0 +1,28 @@
+$NetBSD: patch-js_src_ctypes_CTypes.h,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- js/src/ctypes/CTypes.h.orig 2014-02-12 21:29:02.000000000 +0000
++++ js/src/ctypes/CTypes.h
+@@ -14,6 +14,23 @@
+ #include "js/Vector.h"
+ #include "vm/String.h"
+
++#if defined(__NetBSD__)
++#include <stdint.h>
++/* XXX why do we have those funky __ #defines in stdint.h? */
++#warning this is a retarded workaround
++#define uint8_t uint8_t
++#define uint16_t uint16_t
++#define uint32_t uint32_t
++#define uint64_t uint64_t
++#define int8_t int8_t
++#define int16_t int16_t
++#define int32_t int32_t
++#define int64_t int64_t
++#define intptr_t intptr_t
++#define uintptr_t uintptr_t
++#define off_t off_t
++#endif
++
+ namespace js {
+ namespace ctypes {
+
diff --git a/www/firefox31/patches/patch-js_src_frontend_ParseMaps.cpp b/www/firefox31/patches/patch-js_src_frontend_ParseMaps.cpp
new file mode 100644
index 00000000000..34ab4811ed3
--- /dev/null
+++ b/www/firefox31/patches/patch-js_src_frontend_ParseMaps.cpp
@@ -0,0 +1,12 @@
+$NetBSD: patch-js_src_frontend_ParseMaps.cpp,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- js/src/frontend/ParseMaps.cpp.orig 2013-09-10 03:43:34.000000000 +0000
++++ js/src/frontend/ParseMaps.cpp
+@@ -132,5 +132,5 @@ frontend::InitAtomMap(JSContext *cx, fro
+ }
+ }
+
+-template class js::frontend::AtomDecls<FullParseHandler>;
+-template class js::frontend::AtomDecls<SyntaxParseHandler>;
++template class frontend::AtomDecls<FullParseHandler>;
++template class frontend::AtomDecls<SyntaxParseHandler>;
diff --git a/www/firefox31/patches/patch-js_src_gc_Memory.cpp b/www/firefox31/patches/patch-js_src_gc_Memory.cpp
new file mode 100644
index 00000000000..5c6f33742b9
--- /dev/null
+++ b/www/firefox31/patches/patch-js_src_gc_Memory.cpp
@@ -0,0 +1,20 @@
+$NetBSD: patch-js_src_gc_Memory.cpp,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+Make sure mmap() delivers memory with upper 17 bits clear on sparc64 on NetBSD:
+with topdown-vm we would map in the last 4 gig of the address space (past
+the VA hole) otherwise by default, thus busting the JSValue restrictions.
+
+https://bugzilla.mozilla.org/show_bug.cgi?id=994133
+
+
+--- js/src/gc/Memory.cpp.orig 2014-04-09 20:42:54.000000000 +0200
++++ js/src/gc/Memory.cpp 2014-04-09 20:38:34.000000000 +0200
+@@ -312,7 +312,7 @@ gc::InitMemorySubsystem(JSRuntime *rt)
+ static inline void *
+ MapMemory(size_t length, int prot, int flags, int fd, off_t offset)
+ {
+-#if defined(__ia64__)
++#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__))
+ /*
+ * The JS engine assumes that all allocated pointers have their high 17 bits clear,
+ * which ia64's mmap doesn't support directly. However, we can emulate it by passing
diff --git a/www/firefox31/patches/patch-js_src_jsmath.cpp b/www/firefox31/patches/patch-js_src_jsmath.cpp
new file mode 100644
index 00000000000..2a68da7b132
--- /dev/null
+++ b/www/firefox31/patches/patch-js_src_jsmath.cpp
@@ -0,0 +1,13 @@
+$NetBSD: patch-js_src_jsmath.cpp,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- js/src/jsmath.cpp.orig 2013-09-10 03:43:36.000000000 +0000
++++ js/src/jsmath.cpp
+@@ -244,7 +244,7 @@ js::ecmaAtan2(double y, double x)
+ }
+ #endif
+
+-#if defined(SOLARIS) && defined(__GNUC__)
++#if defined(notSOLARIS) && defined(__GNUC__)
+ if (y == 0) {
+ if (IsNegativeZero(x))
+ return js_copysign(M_PI, y);
diff --git a/www/firefox31/patches/patch-mb b/www/firefox31/patches/patch-mb
new file mode 100644
index 00000000000..5350177a0ff
--- /dev/null
+++ b/www/firefox31/patches/patch-mb
@@ -0,0 +1,44 @@
+$NetBSD: patch-mb,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- xpcom/reflect/xptcall/src/md/unix/Makefile.in.orig 2014-03-15 05:19:39.000000000 +0000
++++ xpcom/reflect/xptcall/src/md/unix/Makefile.in
+@@ -83,6 +83,39 @@ endif
+ # SPARC
+ ######################################################################
+ #
++# Linux/SPARC
++#
++ifeq ($(OS_ARCH),Linux)
++ifneq (,$(findstring sparc,$(OS_TEST)))
++ASFILES := xptcinvoke_asm_sparc_linux_GCC3.s xptcstubs_asm_sparc_solaris.s
++endif
++endif
++#
++# NetBSD/SPARC
++#
++ifeq ($(OS_ARCH)$(OS_TEST),NetBSDsparc)
++ASFILES := xptcinvoke_asm_sparc_netbsd.s xptcstubs_asm_sparc_netbsd.s
++endif
++#
++# OpenBSD/SPARC
++#
++ifeq ($(OS_ARCH)$(OS_TEST),OpenBSDsparc)
++ASFILES := xptcinvoke_asm_sparc_openbsd.s xptcstubs_asm_sparc_openbsd.s
++endif
++#
++# OpenBSD/SPARC64
++#
++ifneq (,$(filter OpenBSDsparc64 FreeBSDsparc64,$(OS_ARCH)$(OS_TEST)))
++ASFILES := xptcinvoke_asm_sparc64_openbsd.s xptcstubs_asm_sparc64_openbsd.s
++endif
++#
++# NetBSD/SPARC64
++#
++ifeq ($(OS_ARCH)$(OS_TEST),NetBSDsparc64)
++CPPSRCS := xptcinvoke_sparc64_netbsd.cpp xptcstubs_sparc64_openbsd.cpp
++ASFILES := xptcinvoke_asm_sparc64_openbsd.s xptcstubs_asm_sparc64_netbsd.s
++endif
++#
+ # Solaris/SPARC
+ #
+ ifeq ($(OS_ARCH),SunOS)
diff --git a/www/firefox31/patches/patch-media_libcubeb_src_Makefile.in b/www/firefox31/patches/patch-media_libcubeb_src_Makefile.in
new file mode 100644
index 00000000000..5224aba034d
--- /dev/null
+++ b/www/firefox31/patches/patch-media_libcubeb_src_Makefile.in
@@ -0,0 +1,12 @@
+$NetBSD: patch-media_libcubeb_src_Makefile.in,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- media/libcubeb/src/Makefile.in.orig 2014-05-29 23:31:19.000000000 +0000
++++ media/libcubeb/src/Makefile.in
+@@ -9,3 +9,7 @@ CFLAGS += \
+ $(MOZ_ALSA_CFLAGS) \
+ $(MOZ_PULSEAUDIO_CFLAGS) \
+ $(NULL)
++
++ifdef MOZ_NATIVE_SPEEX
++CFLAGS += $(MOZ_SPEEX_CFLAGS)
++endif
diff --git a/www/firefox31/patches/patch-media_libcubeb_src_cubeb__alsa.c b/www/firefox31/patches/patch-media_libcubeb_src_cubeb__alsa.c
new file mode 100644
index 00000000000..6a7a88c0dfd
--- /dev/null
+++ b/www/firefox31/patches/patch-media_libcubeb_src_cubeb__alsa.c
@@ -0,0 +1,14 @@
+$NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- media/libcubeb/src/cubeb_alsa.c.orig 2013-10-25 22:27:33.000000000 +0000
++++ media/libcubeb/src/cubeb_alsa.c
+@@ -6,6 +6,9 @@
+ */
+ #undef NDEBUG
+ #define _BSD_SOURCE
++#if defined(__NetBSD__)
++#define _NETBSD_SOURCE
++#endif
+ #define _XOPEN_SOURCE 500
+ #include <pthread.h>
+ #include <sys/time.h>
diff --git a/www/firefox31/patches/patch-media_libcubeb_src_moz.build b/www/firefox31/patches/patch-media_libcubeb_src_moz.build
new file mode 100644
index 00000000000..925331a2d86
--- /dev/null
+++ b/www/firefox31/patches/patch-media_libcubeb_src_moz.build
@@ -0,0 +1,15 @@
+$NetBSD: patch-media_libcubeb_src_moz.build,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+Don't assume cocoa toolkit just because OS_TARGET is Darwin.
+
+--- media/libcubeb/src/moz.build.orig 2014-05-06 22:56:07.000000000 +0000
++++ media/libcubeb/src/moz.build
+@@ -28,7 +28,7 @@ if CONFIG['OS_ARCH'] == 'OpenBSD':
+ ]
+ DEFINES['USE_SNDIO'] = True
+
+-if CONFIG['OS_TARGET'] == 'Darwin':
++if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
+ SOURCES += [
+ 'cubeb_audiounit.c',
+ ]
diff --git a/www/firefox31/patches/patch-media_libpng_pngpriv.h b/www/firefox31/patches/patch-media_libpng_pngpriv.h
new file mode 100644
index 00000000000..0e3d9dd9e81
--- /dev/null
+++ b/www/firefox31/patches/patch-media_libpng_pngpriv.h
@@ -0,0 +1,12 @@
+$NetBSD: patch-media_libpng_pngpriv.h,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- media/libpng/pngpriv.h.orig 2014-02-12 21:29:13.000000000 +0000
++++ media/libpng/pngpriv.h
+@@ -38,6 +38,7 @@
+ * still required (as of 2011-05-02.)
+ */
+ #define _POSIX_SOURCE 1 /* Just the POSIX 1003.1 and C89 APIs */
++#define _XOPEN_SOURCE 600
+
+ #ifndef PNG_VERSION_INFO_ONLY
+ /* Standard library headers not required by png.h: */
diff --git a/www/firefox31/patches/patch-media_libsoundtouch_src_cpu__detect__x86.cpp b/www/firefox31/patches/patch-media_libsoundtouch_src_cpu__detect__x86.cpp
new file mode 100644
index 00000000000..77eef9974a3
--- /dev/null
+++ b/www/firefox31/patches/patch-media_libsoundtouch_src_cpu__detect__x86.cpp
@@ -0,0 +1,15 @@
+$NetBSD: patch-media_libsoundtouch_src_cpu__detect__x86.cpp,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- media/libsoundtouch/src/cpu_detect_x86.cpp.orig 2014-04-18 02:03:48.000000000 +0000
++++ media/libsoundtouch/src/cpu_detect_x86.cpp
+@@ -130,7 +130,9 @@ uint detectCPUextensions(void)
+ #endif
+
+ return res & ~_dwDisabledISA;
+-
++#elif defined(__GNUC__)
++ // No cpuid.h --> no cpuid support
++ return 0;
+ #else
+
+ /// One of these is true:
diff --git a/www/firefox31/patches/patch-media_libtheora_Makefile.in b/www/firefox31/patches/patch-media_libtheora_Makefile.in
new file mode 100644
index 00000000000..44c43abc8fa
--- /dev/null
+++ b/www/firefox31/patches/patch-media_libtheora_Makefile.in
@@ -0,0 +1,14 @@
+$NetBSD: patch-media_libtheora_Makefile.in,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- media/libtheora/Makefile.in.orig 2014-03-20 11:09:40.000000000 +0000
++++ media/libtheora/Makefile.in
+@@ -0,0 +1,9 @@
++# This Source Code Form is subject to the terms of the Mozilla Public
++# License, v. 2.0. If a copy of the MPL was not distributed with this
++# file, You can obtain one at http://mozilla.org/MPL/2.0/.
++
++include $(topsrcdir)/config/rules.mk
++
++ifdef MOZ_NATIVE_OGG
++CFLAGS += $(MOZ_OGG_CFLAGS)
++endif
diff --git a/www/firefox31/patches/patch-media_libtremor_Makefile.in b/www/firefox31/patches/patch-media_libtremor_Makefile.in
new file mode 100644
index 00000000000..82ad57c8884
--- /dev/null
+++ b/www/firefox31/patches/patch-media_libtremor_Makefile.in
@@ -0,0 +1,14 @@
+$NetBSD: patch-media_libtremor_Makefile.in,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- media/libtremor/Makefile.in.orig 2014-03-20 11:09:40.000000000 +0000
++++ media/libtremor/Makefile.in
+@@ -0,0 +1,9 @@
++# This Source Code Form is subject to the terms of the Mozilla Public
++# License, v. 2.0. If a copy of the MPL was not distributed with this
++# file, You can obtain one at http://mozilla.org/MPL/2.0/.
++
++include $(topsrcdir)/config/rules.mk
++
++ifdef MOZ_NATIVE_OGG
++CFLAGS += $(MOZ_OGG_CFLAGS)
++endif
diff --git a/www/firefox31/patches/patch-media_libvorbis_Makefile.in b/www/firefox31/patches/patch-media_libvorbis_Makefile.in
new file mode 100644
index 00000000000..a5b9bab6694
--- /dev/null
+++ b/www/firefox31/patches/patch-media_libvorbis_Makefile.in
@@ -0,0 +1,14 @@
+$NetBSD: patch-media_libvorbis_Makefile.in,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- media/libvorbis/Makefile.in.orig 2014-03-20 11:09:40.000000000 +0000
++++ media/libvorbis/Makefile.in
+@@ -0,0 +1,9 @@
++# This Source Code Form is subject to the terms of the Mozilla Public
++# License, v. 2.0. If a copy of the MPL was not distributed with this
++# file, You can obtain one at http://mozilla.org/MPL/2.0/.
++
++include $(topsrcdir)/config/rules.mk
++
++ifdef MOZ_NATIVE_OGG
++CFLAGS += $(MOZ_OGG_CFLAGS)
++endif
diff --git a/www/firefox31/patches/patch-media_mtransport_third__party_nICEr_src_util_mbslen.c b/www/firefox31/patches/patch-media_mtransport_third__party_nICEr_src_util_mbslen.c
new file mode 100644
index 00000000000..3f634466462
--- /dev/null
+++ b/www/firefox31/patches/patch-media_mtransport_third__party_nICEr_src_util_mbslen.c
@@ -0,0 +1,18 @@
+$NetBSD: patch-media_mtransport_third__party_nICEr_src_util_mbslen.c,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- media/mtransport/third_party/nICEr/src/util/mbslen.c.orig 2014-04-18 02:03:49.000000000 +0000
++++ media/mtransport/third_party/nICEr/src/util/mbslen.c
+@@ -54,6 +54,13 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ # endif
+ #endif
+
++#ifdef __DragonFly__
++#include <osreldate.h>
++# if __DragonFly_version > 300502
++# define HAVE_XLOCALE
++# endif
++#endif
++
+ #ifdef HAVE_XLOCALE
+ #include <xlocale.h>
+ #endif /* HAVE_XLOCALE */
diff --git a/www/firefox31/patches/patch-media_mtransport_third__party_nrappkit_src_port_generic_include_sys_queue.h b/www/firefox31/patches/patch-media_mtransport_third__party_nrappkit_src_port_generic_include_sys_queue.h
new file mode 100644
index 00000000000..d058b1ba54b
--- /dev/null
+++ b/www/firefox31/patches/patch-media_mtransport_third__party_nrappkit_src_port_generic_include_sys_queue.h
@@ -0,0 +1,19 @@
+$NetBSD: patch-media_mtransport_third__party_nrappkit_src_port_generic_include_sys_queue.h,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- media/mtransport/third_party/nrappkit/src/port/generic/include/sys/queue.h.orig 2014-07-17 01:45:31.000000000 +0000
++++ media/mtransport/third_party/nrappkit/src/port/generic/include/sys/queue.h
+@@ -30,7 +30,13 @@
+ * $FreeBSD: src/sys/sys/queue.h,v 1.58 2004/04/07 04:19:49 imp Exp $
+ */
+
+-#ifndef _SYS_QUEUE_H_
++#if (defined(BSD) && !defined(__OpenBSD__)) || defined(DARWIN)
++#include_next <sys/queue.h>
++# if defined(__DragonFly__)
++#define STAILQ_FOREACH_SAFE STAILQ_FOREACH_MUTABLE
++#define TAILQ_FOREACH_SAFE TAILQ_FOREACH_MUTABLE
++# endif
++#elif !defined(_SYS_QUEUE_H_)
+ #define _SYS_QUEUE_H_
+
+ #include <stddef.h>
diff --git a/www/firefox31/patches/patch-media_webrtc_signaling_signaling.gyp b/www/firefox31/patches/patch-media_webrtc_signaling_signaling.gyp
new file mode 100644
index 00000000000..835b624f114
--- /dev/null
+++ b/www/firefox31/patches/patch-media_webrtc_signaling_signaling.gyp
@@ -0,0 +1,20 @@
+$NetBSD: patch-media_webrtc_signaling_signaling.gyp,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- media/webrtc/signaling/signaling.gyp.orig 2014-04-18 02:03:50.000000000 +0000
++++ media/webrtc/signaling/signaling.gyp
+@@ -825,14 +825,13 @@
+ ['OS=="mac"', {
+ 'defines' : [
+ 'SIP_OS_OSX',
+- '_POSIX_SOURCE',
++ # using BSD extensions, leave _POSIX_SOURCE undefined
+ 'CPR_MEMORY_LITTLE_ENDIAN',
+ 'NO_SOCKET_POLLING',
+ 'USE_TIMER_SELECT_BASED',
+ 'FULL_BUILD',
+ 'STUBBED_OUT',
+ 'USE_PRINTF',
+- '_DARWIN_C_SOURCE',
+ 'NO_NSPR_10_SUPPORT',
+ ],
+ }],
diff --git a/www/firefox31/patches/patch-media_webrtc_signaling_test_Makefile.in b/www/firefox31/patches/patch-media_webrtc_signaling_test_Makefile.in
new file mode 100644
index 00000000000..87794002142
--- /dev/null
+++ b/www/firefox31/patches/patch-media_webrtc_signaling_test_Makefile.in
@@ -0,0 +1,25 @@
+$NetBSD: patch-media_webrtc_signaling_test_Makefile.in,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- media/webrtc/signaling/test/Makefile.in.orig 2014-04-18 02:03:51.000000000 +0000
++++ media/webrtc/signaling/test/Makefile.in
+@@ -7,6 +7,7 @@ LIBS = \
+ $(NSPR_LIBS) \
+ $(NSS_LIBS) \
+ $(REALTIME_LIBS) \
++ $(MOZ_LIBV4L2_LIBS) \
+ $(DEPTH)/xpcom/glue/$(LIB_PREFIX)xpcomglue_s.$(LIB_SUFFIX) \
+ $(DEPTH)/media/mtransport/standalone/$(LIB_PREFIX)mtransport_s.$(LIB_SUFFIX) \
+ $(DEPTH)/media/webrtc/signalingtest/signaling_ecc/$(LIB_PREFIX)ecc.$(LIB_SUFFIX) \
+@@ -43,6 +44,12 @@ LIBS += \
+ $(NULL)
+ endif
+
++ifdef MOZ_NATIVE_OPUS
++LIBS += \
++ $(MOZ_OPUS_LIBS) \
++ $(NULL)
++endif
++
+ ifdef MOZ_NATIVE_LIBVPX
+ LIBS += \
+ $(MOZ_LIBVPX_LIBS) \
diff --git a/www/firefox31/patches/patch-media_webrtc_trunk_webrtc_build_common.gypi b/www/firefox31/patches/patch-media_webrtc_trunk_webrtc_build_common.gypi
new file mode 100644
index 00000000000..ce57063ad64
--- /dev/null
+++ b/www/firefox31/patches/patch-media_webrtc_trunk_webrtc_build_common.gypi
@@ -0,0 +1,13 @@
+$NetBSD: patch-media_webrtc_trunk_webrtc_build_common.gypi,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- media/webrtc/trunk/webrtc/build/common.gypi.orig 2014-04-18 02:03:52.000000000 +0000
++++ media/webrtc/trunk/webrtc/build/common.gypi
+@@ -256,7 +256,7 @@
+ }],
+ ['OS=="dragonfly" or OS=="netbsd"', {
+ 'defines': [
+- # doesn't support pthread_condattr_setclock
++ # doesn't support pthread_condattr_setclock, NetBSD 6 supports it.
+ 'WEBRTC_CLOCK_TYPE_REALTIME',
+ ],
+ }],
diff --git a/www/firefox31/patches/patch-media_webrtc_trunk_webrtc_modules_audio__coding_codecs_opus_opus.gypi b/www/firefox31/patches/patch-media_webrtc_trunk_webrtc_modules_audio__coding_codecs_opus_opus.gypi
new file mode 100644
index 00000000000..312de4bc3c5
--- /dev/null
+++ b/www/firefox31/patches/patch-media_webrtc_trunk_webrtc_modules_audio__coding_codecs_opus_opus.gypi
@@ -0,0 +1,17 @@
+$NetBSD: patch-media_webrtc_trunk_webrtc_modules_audio__coding_codecs_opus_opus.gypi,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi.orig 2014-04-18 02:03:52.000000000 +0000
++++ media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi
+@@ -14,9 +14,9 @@
+ 'conditions': [
+ ['build_with_mozilla==1', {
+ # Mozilla provides its own build of the opus library.
+- 'include_dirs': [
+- '/media/libopus/include',
+- ]
++ 'cflags_mozilla': [
++ '$(MOZ_OPUS_CFLAGS)',
++ ],
+ }, {
+ 'dependencies': [
+ '<(DEPTH)/third_party/opus/opus.gyp:opus'
diff --git a/www/firefox31/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc b/www/firefox31/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc
new file mode 100644
index 00000000000..39bdcee8ea3
--- /dev/null
+++ b/www/firefox31/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc
@@ -0,0 +1,38 @@
+$NetBSD: patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc.orig 2014-05-29 23:31:23.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));
diff --git a/www/firefox31/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc b/www/firefox31/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc
new file mode 100644
index 00000000000..c08afafa3d7
--- /dev/null
+++ b/www/firefox31/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc
@@ -0,0 +1,30 @@
+$NetBSD: patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc.orig 2014-05-29 23:31:23.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>
+
+@@ -34,6 +37,15 @@
+ #include "webrtc/system_wrappers/interface/thread_wrapper.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
diff --git a/www/firefox31/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi b/www/firefox31/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi
new file mode 100644
index 00000000000..856abbf01bf
--- /dev/null
+++ b/www/firefox31/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi
@@ -0,0 +1,31 @@
+$NetBSD: patch-media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi.orig 2013-09-10 03:43:47.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': [
+ {
+ 'target_name': 'video_capture_module',
+@@ -49,6 +52,16 @@
+ }, { # include_internal_video_capture == 1
+ 'conditions': [
+ ['include_v4l2_video_capture==1', {
++ 'conditions': [
++ ['use_libv4l2==1', {
++ 'defines': [
++ 'HAVE_LIBV4L2',
++ ],
++ 'libraries': [
++ '-lv4l2',
++ ],
++ }],
++ ],
+ 'include_dirs': [
+ 'linux',
+ ],
diff --git a/www/firefox31/patches/patch-media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp b/www/firefox31/patches/patch-media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp
new file mode 100644
index 00000000000..066929a9203
--- /dev/null
+++ b/www/firefox31/patches/patch-media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp
@@ -0,0 +1,18 @@
+$NetBSD: patch-media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp.orig 2014-03-15 05:19:30.000000000 +0000
++++ media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp
+@@ -21,6 +21,13 @@ Scott McMurray
+ #include <vector>
+ #include "webrtc/system_wrappers/source/spreadsortlib/constants.hpp"
+
++#ifdef __FreeBSD__
++# include <osreldate.h>
++# if __FreeBSD_version < 900506
++# define getchar boost_getchar
++# endif
++#endif
++
+ namespace boost {
+ namespace detail {
+ //This only works on unsigned data types
diff --git a/www/firefox31/patches/patch-memory_jemalloc_Makefile.in b/www/firefox31/patches/patch-memory_jemalloc_Makefile.in
new file mode 100644
index 00000000000..026da76be91
--- /dev/null
+++ b/www/firefox31/patches/patch-memory_jemalloc_Makefile.in
@@ -0,0 +1,12 @@
+$NetBSD: patch-memory_jemalloc_Makefile.in,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- memory/jemalloc/Makefile.in.orig 2014-03-15 05:19:31.000000000 +0000
++++ memory/jemalloc/Makefile.in
+@@ -21,3 +21,7 @@ endif
+ ifdef GNU_CC
+ CFLAGS += -std=gnu99
+ endif
++
++# XXX startup crash workaround for gcc47 on amd64
++jemalloc.$(OBJ_SUFFIX): OS_CFLAGS := $(filter-out -O3 -Ofast,$(OS_CFLAGS))
++jemalloc.$(OBJ_SUFFIX): MOZ_OPTIMIZE_FLAGS=
diff --git a/www/firefox31/patches/patch-memory_mozalloc_mozalloc__abort.cpp b/www/firefox31/patches/patch-memory_mozalloc_mozalloc__abort.cpp
new file mode 100644
index 00000000000..e185bff1c0c
--- /dev/null
+++ b/www/firefox31/patches/patch-memory_mozalloc_mozalloc__abort.cpp
@@ -0,0 +1,16 @@
+$NetBSD: patch-memory_mozalloc_mozalloc__abort.cpp,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- memory/mozalloc/mozalloc_abort.cpp.orig 2013-05-11 19:19:46.000000000 +0000
++++ memory/mozalloc/mozalloc_abort.cpp
+@@ -34,7 +34,11 @@ mozalloc_abort(const char* const msg)
+ // Define abort() here, so that it is used instead of the system abort(). This
+ // lets us control the behavior when aborting, in order to get better results
+ // on *NIX platforms. See mozalloc_abort for details.
++#if defined(SOLARIS)
++void std::abort(void)
++#else
+ void abort(void)
++#endif
+ {
+ mozalloc_abort("Redirecting call to abort() to mozalloc_abort\n");
+ }
diff --git a/www/firefox31/patches/patch-mfbt_Alignment.h b/www/firefox31/patches/patch-mfbt_Alignment.h
new file mode 100644
index 00000000000..4bf7228160a
--- /dev/null
+++ b/www/firefox31/patches/patch-mfbt_Alignment.h
@@ -0,0 +1,48 @@
+$NetBSD: patch-mfbt_Alignment.h,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+Make MOZ_ALIGNOF() use gcc's builtin __alignof__.
+From https://bugzilla.mozilla.org/show_bug.cgi?id=1026499
+
+--- mfbt/Alignment.h.orig 2014-07-17 01:45:32.000000000 +0000
++++ mfbt/Alignment.h
+@@ -9,11 +9,20 @@
+ #ifndef mozilla_Alignment_h
+ #define mozilla_Alignment_h
+
++#include "mozilla/Attributes.h"
++
+ #include <stddef.h>
+ #include <stdint.h>
+
+ namespace mozilla {
+
++#if defined(MOZ_HAVE_CXX11_ALIGNAS)
++#define MOZ_ALIGNOF(T) alignof(T)
++#elif defined(__GNUC__)
++#define MOZ_ALIGNOF(T) __alignof__(T)
++#elif defined(_MSC_VER)
++#define MOZ_ALIGNOF(T) __alignof(T)
++#else
+ /*
+ * This class, and the corresponding macro MOZ_ALIGNOF, figures out how many
+ * bytes of alignment a given type needs.
+@@ -32,6 +41,7 @@ class AlignmentFinder
+ };
+
+ #define MOZ_ALIGNOF(T) mozilla::AlignmentFinder<T>::alignment
++#endif
+
+ /*
+ * Declare the MOZ_ALIGNED_DECL macro for declaring aligned types.
+@@ -43,7 +53,10 @@ class AlignmentFinder
+ * will declare a two-character array |arr| aligned to 8 bytes.
+ */
+
+-#if defined(__GNUC__)
++#if defined(MOZ_HAVE_CXX11_ALIGNAS)
++# define MOZ_ALIGNED_DECL(_type, _align) \
++ alignas(_align) _type
++#elif defined(__GNUC__)
+ # define MOZ_ALIGNED_DECL(_type, _align) \
+ _type __attribute__((aligned(_align)))
+ #elif defined(_MSC_VER)
diff --git a/www/firefox31/patches/patch-mfbt_Attributes.h b/www/firefox31/patches/patch-mfbt_Attributes.h
new file mode 100644
index 00000000000..ee1e2692a86
--- /dev/null
+++ b/www/firefox31/patches/patch-mfbt_Attributes.h
@@ -0,0 +1,32 @@
+$NetBSD: patch-mfbt_Attributes.h,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- mfbt/Attributes.h.orig 2014-07-17 01:45:32.000000000 +0000
++++ mfbt/Attributes.h
+@@ -54,6 +54,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
+@@ -75,6 +78,9 @@
+ # endif
+ #elif defined(__GNUC__)
+ # if defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L
++# if MOZ_GCC_VERSION_AT_LEAST(4, 8, 0)
++# define MOZ_HAVE_CXX11_ALIGNAS
++# endif
+ # if MOZ_GCC_VERSION_AT_LEAST(4, 7, 0)
+ # define MOZ_HAVE_CXX11_OVERRIDE
+ # define MOZ_HAVE_CXX11_FINAL final
+@@ -96,6 +102,7 @@
+ # define MOZ_HAVE_NORETURN __attribute__((noreturn))
+ #elif defined(_MSC_VER)
+ # if _MSC_VER >= 1800
++# define MOZ_HAVE_CXX11_ALIGNAS
+ # define MOZ_HAVE_CXX11_DELETE
+ # endif
+ # if _MSC_VER >= 1700
diff --git a/www/firefox31/patches/patch-mfbt_Poison.cpp b/www/firefox31/patches/patch-mfbt_Poison.cpp
new file mode 100644
index 00000000000..a8259c95996
--- /dev/null
+++ b/www/firefox31/patches/patch-mfbt_Poison.cpp
@@ -0,0 +1,20 @@
+$NetBSD: patch-mfbt_Poison.cpp,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+* Use posix_madvise(3) instead of madvise(3) for Solaris/SunOS.
+ Solaris/SunOS's madvise(3) is not enabled in this context,
+ and its first argument type is different from NetBSD/Linux's one.
+
+--- mfbt/Poison.cpp.orig 2013-09-11 03:22:45.000000000 +0000
++++ mfbt/Poison.cpp
+@@ -125,7 +125,11 @@ ReleaseRegion(void *region, uintptr_t si
+ static bool
+ ProbeRegion(uintptr_t region, uintptr_t size)
+ {
++#if !defined(__sun__)
+ if (madvise(reinterpret_cast<void*>(region), size, MADV_NORMAL)) {
++#else
++ if (posix_madvise(reinterpret_cast<void*>(region), size, MADV_NORMAL)) {
++#endif
+ return true;
+ } else {
+ return false;
diff --git a/www/firefox31/patches/patch-mobile_android_installer_Makefile.in b/www/firefox31/patches/patch-mobile_android_installer_Makefile.in
new file mode 100644
index 00000000000..98853fbd88d
--- /dev/null
+++ b/www/firefox31/patches/patch-mobile_android_installer_Makefile.in
@@ -0,0 +1,15 @@
+$NetBSD: patch-mobile_android_installer_Makefile.in,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- mobile/android/installer/Makefile.in.orig 2014-07-17 01:45:33.000000000 +0000
++++ mobile/android/installer/Makefile.in
+@@ -41,6 +41,10 @@ BINPATH = bin
+ endif
+ DEFINES += -DBINPATH=$(BINPATH)
+
++ifdef MOZ_DEBUG
++DEFINES += -DMOZ_DEBUG=1
++endif
++
+ ifdef ENABLE_MARIONETTE
+ DEFINES += -DENABLE_MARIONETTE=1
+ endif
diff --git a/www/firefox31/patches/patch-mobile_android_installer_package-manifest.in b/www/firefox31/patches/patch-mobile_android_installer_package-manifest.in
new file mode 100644
index 00000000000..9000df50996
--- /dev/null
+++ b/www/firefox31/patches/patch-mobile_android_installer_package-manifest.in
@@ -0,0 +1,13 @@
+$NetBSD: patch-mobile_android_installer_package-manifest.in,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- mobile/android/installer/package-manifest.in.orig 2014-07-17 01:45:33.000000000 +0000
++++ mobile/android/installer/package-manifest.in
+@@ -424,7 +424,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
+ #endif
diff --git a/www/firefox31/patches/patch-modules_libjar_nsZipArchive.cpp b/www/firefox31/patches/patch-modules_libjar_nsZipArchive.cpp
new file mode 100644
index 00000000000..cb848748d47
--- /dev/null
+++ b/www/firefox31/patches/patch-modules_libjar_nsZipArchive.cpp
@@ -0,0 +1,15 @@
+$NetBSD: patch-modules_libjar_nsZipArchive.cpp,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- modules/libjar/nsZipArchive.cpp.orig 2013-06-18 11:01:37.000000000 +0000
++++ modules/libjar/nsZipArchive.cpp
+@@ -590,7 +590,9 @@ MOZ_WIN_MEM_TRY_BEGIN
+ // Success means optimized jar layout from bug 559961 is in effect
+ uint32_t readaheadLength = xtolong(startp);
+ if (readaheadLength) {
+-#if defined(XP_UNIX)
++#if defined(OS_SOLARIS)
++ posix_madvise(const_cast<uint8_t*>(startp), readaheadLength, POSIX_MADV_WILLNEED);
++#elif defined(XP_UNIX)
+ madvise(const_cast<uint8_t*>(startp), readaheadLength, MADV_WILLNEED);
+ #elif defined(XP_WIN)
+ if (aFd) {
diff --git a/www/firefox31/patches/patch-netwerk_dns_Makefile.in b/www/firefox31/patches/patch-netwerk_dns_Makefile.in
new file mode 100644
index 00000000000..4e6220062d7
--- /dev/null
+++ b/www/firefox31/patches/patch-netwerk_dns_Makefile.in
@@ -0,0 +1,15 @@
+$NetBSD: patch-netwerk_dns_Makefile.in,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- netwerk/dns/Makefile.in.orig 2014-04-18 02:04:03.000000000 +0000
++++ netwerk/dns/Makefile.in
+@@ -5,6 +5,10 @@
+
+ include $(topsrcdir)/config/rules.mk
+
++ifdef MOZ_NATIVE_HARFBUZZ
++CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS)
++endif
++
+ # Generate the include file containing compact, static definitions
+ # for effective TLD data.
+ etld_data.inc: $(srcdir)/prepare_tlds.py $(srcdir)/effective_tld_names.dat
diff --git a/www/firefox31/patches/patch-pb b/www/firefox31/patches/patch-pb
new file mode 100644
index 00000000000..28cf0f3618b
--- /dev/null
+++ b/www/firefox31/patches/patch-pb
@@ -0,0 +1,11 @@
+$NetBSD: patch-pb,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- xulrunner/installer/libxul.pc.in.orig 2013-07-30 00:59:18.000000000 +0000
++++ xulrunner/installer/libxul.pc.in
+@@ -7,5 +7,5 @@ Name: libxul
+ Description: The Mozilla Runtime and Embedding Engine
+ Version: %MOZILLA_VERSION%
+ Requires: %NSPR_NAME% >= %NSPR_VERSION%
+-Libs: -L${sdkdir}/lib %MOZ_XUL_LINK%
++Libs: -Wl,-R${prefix}/lib/xulrunner -Wl,-R${prefix}/lib/xulrunner -Wl,-R${prefix}/lib/xulrunner -Wl,-R${prefix}/lib/xulrunner -L${prefix}/lib/xulrunner %MOZ_XUL_LINK%
+ Cflags: -I${includedir} %WCHAR_CFLAGS%
diff --git a/www/firefox31/patches/patch-pc b/www/firefox31/patches/patch-pc
new file mode 100644
index 00000000000..56dfa84da7d
--- /dev/null
+++ b/www/firefox31/patches/patch-pc
@@ -0,0 +1,12 @@
+$NetBSD: patch-pc,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- xulrunner/installer/libxul-embedding.pc.in.orig 2013-07-30 00:59:18.000000000 +0000
++++ xulrunner/installer/libxul-embedding.pc.in
+@@ -6,5 +6,6 @@ idldir=%idldir%
+ Name: libxul-embedding
+ Description: Static library for version-independent embedding of the Mozilla runtime
+ Version: %MOZILLA_VERSION%
+-Libs: -L${sdkdir}/lib -lxpcomglue -ldl
++# XXXtnn -ldl removed
++Libs: -Wl,-R${prefix}/lib/xulrunner -Wl,-R${prefix}/lib/xulrunner -Wl,-R${prefix}/lib/xulrunner -Wl,-R${prefix}/lib/xulrunner -L${prefix}/lib/xulrunner -lxpcomglue
+ Cflags: -DXPCOM_GLUE -I${includedir} %WCHAR_CFLAGS%
diff --git a/www/firefox31/patches/patch-probes_Makefile.in b/www/firefox31/patches/patch-probes_Makefile.in
new file mode 100644
index 00000000000..ae2a647e39d
--- /dev/null
+++ b/www/firefox31/patches/patch-probes_Makefile.in
@@ -0,0 +1,13 @@
+$NetBSD: patch-probes_Makefile.in,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- probes/Makefile.in.orig 2014-07-17 01:45:36.000000000 +0000
++++ probes/Makefile.in
+@@ -7,7 +7,7 @@ export:: $(DIST)/include/mozilla-trace.h
+
+ # Replace _DTRACE_VERSION with INCLUDE_MOZILLA_DTRACE
+ $(DIST)/include/mozilla-trace.h: mozilla-trace.d Makefile
+- dtrace -h -s $(srcdir)/mozilla-trace.d -o mozilla-trace.h.tmp
++ dtrace -x nolibs -h -s $(srcdir)/mozilla-trace.d -o mozilla-trace.h.tmp
+ sed -e 's/if _DTRACE_VERSION/ifdef INCLUDE_MOZILLA_DTRACE/' \
+ mozilla-trace.h.tmp > $(DIST)/include/mozilla-trace.h
+ rm mozilla-trace.h.tmp
diff --git a/www/firefox31/patches/patch-rc b/www/firefox31/patches/patch-rc
new file mode 100644
index 00000000000..0d73da646d5
--- /dev/null
+++ b/www/firefox31/patches/patch-rc
@@ -0,0 +1,14 @@
+$NetBSD: patch-rc,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- browser/branding/unofficial/locales/en-US/brand.dtd.orig 2013-01-04 23:44:28.000000000 +0000
++++ browser/branding/unofficial/locales/en-US/brand.dtd
+@@ -2,7 +2,7 @@
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+-<!ENTITY brandShortName "Mozilla Developer Preview">
+-<!ENTITY brandFullName "Mozilla Developer Preview">
++<!ENTITY brandShortName "Browser">
++<!ENTITY brandFullName "Browser">
+ <!ENTITY vendorShortName "mozilla.org">
+ <!ENTITY trademarkInfo.part1 " ">
diff --git a/www/firefox31/patches/patch-security_manager_ssl_src_nsNSSComponent.cpp b/www/firefox31/patches/patch-security_manager_ssl_src_nsNSSComponent.cpp
new file mode 100644
index 00000000000..194bff4ce92
--- /dev/null
+++ b/www/firefox31/patches/patch-security_manager_ssl_src_nsNSSComponent.cpp
@@ -0,0 +1,12 @@
+$NetBSD: patch-security_manager_ssl_src_nsNSSComponent.cpp,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- security/manager/ssl/src/nsNSSComponent.cpp.orig 2013-09-10 03:43:51.000000000 +0000
++++ security/manager/ssl/src/nsNSSComponent.cpp
+@@ -49,6 +49,7 @@
+
+ #include "nss.h"
+ #include "ssl.h"
++#define NSS_ENABLE_ECC 1
+ #include "sslproto.h"
+ #include "secmod.h"
+ #include "secmime.h"
diff --git a/www/firefox31/patches/patch-storage_src_moz.build b/www/firefox31/patches/patch-storage_src_moz.build
new file mode 100644
index 00000000000..4b8da3c7094
--- /dev/null
+++ b/www/firefox31/patches/patch-storage_src_moz.build
@@ -0,0 +1,20 @@
+$NetBSD: patch-storage_src_moz.build,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- storage/src/moz.build.orig 2014-07-17 01:45:38.000000000 +0000
++++ storage/src/moz.build
+@@ -48,11 +48,14 @@ FINAL_LIBRARY = 'storagecomps'
+ # (such as NSS) might trigger an initialization of sqlite and allocation
+ # of memory using the default allocator, prior to the storage service
+ # registering its allocator, causing memory management failures (bug 938730).
++# However, this is not an issue if both the jemalloc allocator and the default
++# allocator are the same thing.
+ #
+ # Note: On Windows our sqlite build assumes we use jemalloc. If you disable
+ # MOZ_STORAGE_MEMORY on Windows, you will also need to change the "ifdef
+ # MOZ_MEMORY" options in db/sqlite3/src/Makefile.in.
+-if CONFIG['MOZ_MEMORY'] and not CONFIG['MOZ_NATIVE_SQLITE']:
++if CONFIG['MOZ_MEMORY'] and (not CONFIG['MOZ_NATIVE_SQLITE']
++ or CONFIG['MOZ_NATIVE_JEMALLOC']):
+ if CONFIG['OS_TARGET'] != 'Android':
+ DEFINES['MOZ_STORAGE_MEMORY'] = True
+
diff --git a/www/firefox31/patches/patch-toolkit_components_osfile_modules_osfile__unix__back.jsm b/www/firefox31/patches/patch-toolkit_components_osfile_modules_osfile__unix__back.jsm
new file mode 100644
index 00000000000..00bf8ff6237
--- /dev/null
+++ b/www/firefox31/patches/patch-toolkit_components_osfile_modules_osfile__unix__back.jsm
@@ -0,0 +1,49 @@
+$NetBSD: patch-toolkit_components_osfile_modules_osfile__unix__back.jsm,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+Based on martin@'s patch for firefox 27.0
+
+* Use off_t for st_size
+* Use function name for NetBSD
+
+--- toolkit/components/osfile/modules/osfile_unix_back.jsm.orig 2014-05-29 23:31:41.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);
+
+@@ -626,21 +626,22 @@
+ return Stat.fxstat(ver, fd, buf);
+ };
+ } else if (OS.Constants.Sys.Name == "NetBSD") {
+- // NetBSD 5.0 and newer
+- libc.declareLazyFFI(SysFile, "stat",
+- "__stat50", ctypes.default_abi,
++ // NetBSD 5.0 uses *30, and netbsd-6 uses *50
++ let v = OS.Constants.libc.OSFILE_SIZEOF_TIME_T < 8 ? "30" : "50";
++ libc.declareLazyFFI(SysFile, "stat",
++ "__stat"+v, ctypes.default_abi,
+ /*return*/ Type.negativeone_or_nothing,
+ /*path*/ Type.path,
+ /*buf*/ Type.stat.out_ptr
+ );
+ libc.declareLazyFFI(SysFile, "lstat",
+- "__lstat50", ctypes.default_abi,
++ "__lstat"+v, ctypes.default_abi,
+ /*return*/ Type.negativeone_or_nothing,
+ /*path*/ Type.path,
+ /*buf*/ Type.stat.out_ptr
+ );
+- libc.declareLazyFFI(SysFile, "fstat",
+- "__fstat50", ctypes.default_abi,
++ libc.declareLazyFFI(SysFile, "fstat", libc,
++ "__fstat"+v, ctypes.default_abi,
+ /*return*/ Type.negativeone_or_nothing,
+ /*fd*/ Type.fd,
+ /*buf*/ Type.stat.out_ptr
diff --git a/www/firefox31/patches/patch-toolkit_components_osfile_modules_osfile__unix__front.jsm b/www/firefox31/patches/patch-toolkit_components_osfile_modules_osfile__unix__front.jsm
new file mode 100644
index 00000000000..2996f087cf4
--- /dev/null
+++ b/www/firefox31/patches/patch-toolkit_components_osfile_modules_osfile__unix__front.jsm
@@ -0,0 +1,13 @@
+$NetBSD: patch-toolkit_components_osfile_modules_osfile__unix__front.jsm,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- toolkit/components/osfile/modules/osfile_unix_front.jsm.orig 2014-05-29 23:31:41.000000000 +0000
++++ toolkit/components/osfile/modules/osfile_unix_front.jsm
+@@ -373,7 +373,7 @@
+ throw_on_negative("statvfs", UnixFile.statvfs(sourcePath, fileSystemInfoPtr));
+
+ let bytes = new Type.uint64_t.implementation(
+- fileSystemInfo.f_bsize * fileSystemInfo.f_bavail);
++ fileSystemInfo.f_frsize * fileSystemInfo.f_bavail);
+
+ return bytes.value;
+ };
diff --git a/www/firefox31/patches/patch-toolkit_library_libxul.mk b/www/firefox31/patches/patch-toolkit_library_libxul.mk
new file mode 100644
index 00000000000..5390269e9e2
--- /dev/null
+++ b/www/firefox31/patches/patch-toolkit_library_libxul.mk
@@ -0,0 +1,73 @@
+$NetBSD: patch-toolkit_library_libxul.mk,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- toolkit/library/libxul.mk.orig 2014-07-17 01:45:41.000000000 +0000
++++ toolkit/library/libxul.mk
+@@ -77,6 +77,34 @@ ifdef MOZ_NATIVE_HUNSPELL
+ EXTRA_DSO_LDOPTS += $(MOZ_HUNSPELL_LIBS)
+ endif
+
++ifdef MOZ_NATIVE_OGG
++EXTRA_DSO_LDOPTS += $(MOZ_OGG_LIBS)
++endif
++
++ifdef MOZ_NATIVE_THEORA
++EXTRA_DSO_LDOPTS += $(MOZ_THEORA_LIBS)
++endif
++
++ifdef MOZ_NATIVE_VORBIS
++EXTRA_DSO_LDOPTS += $(MOZ_VORBIS_LIBS)
++endif
++
++ifdef MOZ_NATIVE_TREMOR
++EXTRA_DSO_LDOPTS += $(MOZ_TREMOR_LIBS)
++endif
++
++ifdef MOZ_NATIVE_OPUS
++EXTRA_DSO_LDOPTS += $(MOZ_OPUS_LIBS)
++endif
++
++ifdef MOZ_NATIVE_SPEEX
++EXTRA_DSO_LDOPTS += $(MOZ_SPEEX_LIBS)
++endif
++
++ifdef MOZ_NATIVE_SOUNDTOUCH
++EXTRA_DSO_LDOPTS += $(MOZ_SOUNDTOUCH_LIBS)
++endif
++
+ ifdef MOZ_NATIVE_LIBEVENT
+ EXTRA_DSO_LDOPTS += $(MOZ_LIBEVENT_LIBS)
+ endif
+@@ -89,12 +117,24 @@ ifndef MOZ_TREE_PIXMAN
+ EXTRA_DSO_LDOPTS += $(MOZ_PIXMAN_LIBS)
+ endif
+
++ifdef MOZ_NATIVE_GRAPHITE2
++EXTRA_DSO_LDOPTS += $(MOZ_GRAPHITE2_LIBS)
++endif
++
++ifdef MOZ_NATIVE_HARFBUZZ
++EXTRA_DSO_LDOPTS += $(MOZ_HARFBUZZ_LIBS)
++endif
++
+ ifdef MOZ_DMD
+ EXTRA_DSO_LDOPTS += $(call EXPAND_LIBNAME_PATH,dmd,$(DIST)/lib)
+ endif
+
+ EXTRA_DSO_LDOPTS += $(call EXPAND_LIBNAME_PATH,gkmedias,$(DIST)/lib)
+
++ifdef MOZ_LIBV4L2_LIBS
++EXTRA_DSO_LDOPTS += $(MOZ_LIBV4L2_LIBS)
++endif
++
+ ifdef MOZ_WEBRTC
+ ifeq (WINNT,$(OS_TARGET))
+ ifndef MOZ_HAS_WINSDK_WITH_D3D
+@@ -231,7 +271,7 @@ ifdef MOZ_ENABLE_QT
+ EXTRA_DSO_LDOPTS += $(MOZ_QT_LDFLAGS) $(XEXT_LIBS)
+ endif
+
+-ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
++ifeq (Darwin,$(OS_ARCH))
+ ifdef MOZ_GSTREAMER
+ EXTRA_DSO_LDOPTS += $(GSTREAMER_LIBS)
+ endif
diff --git a/www/firefox31/patches/patch-toolkit_toolkit.mozbuild b/www/firefox31/patches/patch-toolkit_toolkit.mozbuild
new file mode 100644
index 00000000000..4c742d03452
--- /dev/null
+++ b/www/firefox31/patches/patch-toolkit_toolkit.mozbuild
@@ -0,0 +1,15 @@
+$NetBSD: patch-toolkit_toolkit.mozbuild,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- toolkit/toolkit.mozbuild.orig 2013-12-05 16:07:58.000000000 +0000
++++ toolkit/toolkit.mozbuild
+@@ -43,8 +43,8 @@ add_tier_dir('platform', [
+ if CONFIG['MOZ_AUTH_EXTENSION']:
+ add_tier_dir('platform', 'extensions/auth')
+
+-if CONFIG['MOZ_UPDATER']:
+- add_tier_dir('platform', 'other-licenses/bsdiff')
++#if CONFIG['MOZ_UPDATER']:
++# add_tier_dir('platform', 'other-licenses/bsdiff')
+
+ # Gecko/Core components.
+
diff --git a/www/firefox31/patches/patch-toolkit_xre_nsEmbedFunctions.cpp b/www/firefox31/patches/patch-toolkit_xre_nsEmbedFunctions.cpp
new file mode 100644
index 00000000000..38684ce6f53
--- /dev/null
+++ b/www/firefox31/patches/patch-toolkit_xre_nsEmbedFunctions.cpp
@@ -0,0 +1,22 @@
+$NetBSD: patch-toolkit_xre_nsEmbedFunctions.cpp,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- toolkit/xre/nsEmbedFunctions.cpp.orig 2013-05-11 19:19:55.000000000 +0000
++++ toolkit/xre/nsEmbedFunctions.cpp
+@@ -239,7 +239,7 @@ XRE_SetRemoteExceptionHandler(const char
+ {
+ #if defined(XP_WIN) || defined(XP_MACOSX)
+ return CrashReporter::SetRemoteExceptionHandler(nsDependentCString(aPipe));
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_SOLARIS)
+ return CrashReporter::SetRemoteExceptionHandler();
+ #else
+ # error "OOP crash reporter unsupported on this platform"
+@@ -351,7 +351,7 @@ XRE_InitChildProcess(int aArgc,
+ // Bug 684322 will add better visibility into this condition
+ NS_WARNING("Could not setup crash reporting\n");
+ }
+-# elif defined(OS_LINUX)
++# elif defined(OS_LINUX) || defined(OS_SOLARIS)
+ // on POSIX, |crashReporterArg| is "true" if crash reporting is
+ // enabled, false otherwise
+ if (0 != strcmp("false", crashReporterArg) &&
diff --git a/www/firefox31/patches/patch-webapprt_moz.build b/www/firefox31/patches/patch-webapprt_moz.build
new file mode 100644
index 00000000000..027f4d535eb
--- /dev/null
+++ b/www/firefox31/patches/patch-webapprt_moz.build
@@ -0,0 +1,22 @@
+$NetBSD: patch-webapprt_moz.build,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+Don't assume cocoa toolkit just because OS_ARCH is Darwin.
+
+--- webapprt/moz.build.orig 2014-05-06 22:56:37.000000000 +0000
++++ webapprt/moz.build
+@@ -6,7 +6,7 @@
+
+ if CONFIG['OS_ARCH'] == 'WINNT':
+ DIRS += ['win']
+-elif CONFIG['OS_ARCH'] == 'Darwin':
++elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
+ DIRS += ['mac']
+ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk2':
+ DIRS += ['gtk2']
+@@ -45,4 +45,4 @@ if CONFIG['MOZILLA_OFFICIAL']:
+ DEFINES['GRE_MILESTONE'] = CONFIG['GRE_MILESTONE']
+ DEFINES['MOZ_APP_BASENAME'] = CONFIG['MOZ_APP_BASENAME']
+
+-JAR_MANIFESTS += ['jar.mn']
+\ No newline at end of file
++JAR_MANIFESTS += ['jar.mn']
diff --git a/www/firefox31/patches/patch-xb b/www/firefox31/patches/patch-xb
new file mode 100644
index 00000000000..524708f76f9
--- /dev/null
+++ b/www/firefox31/patches/patch-xb
@@ -0,0 +1,91 @@
+$NetBSD: patch-xb,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+NetBSD/sparc64 xptcall support code. From pkgsrc/www/firefox3/files/
+
+--- xpcom/reflect/xptcall/src/md/unix/xptcinvoke_sparc64_netbsd.cpp.orig 2013-01-09 15:25:54.000000000 +0000
++++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_sparc64_netbsd.cpp
+@@ -0,0 +1,84 @@
++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
++ *
++ * The contents of this file are subject to the Netscape Public
++ * License Version 1.1 (the "License"); you may not use this file
++ * except in compliance with the License. You may obtain a copy of
++ * the License at http://www.mozilla.org/NPL/
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ * The Original Code is mozilla.org code.
++ *
++ * The Initial Developer of the Original Code is Netscape
++ * Communications Corporation. Portions created by Netscape are
++ * Copyright (C) 1998 Netscape Communications Corporation. All
++ * Rights Reserved.
++ *
++ * Contributor(s):
++ */
++
++/* Platform specific code to invoke XPCOM methods on native objects */
++
++#include "xptcprivate.h"
++
++#if !defined(__sparc64__) && !defined(_LP64)
++#error "This code is for Sparc64 only"
++#endif
++
++extern "C" PRUint32
++invoke_copy_to_stack(PRUint64* d, PRUint32 paramCount, nsXPTCVariant* s)
++{
++ /*
++ We need to copy the parameters for this function to locals and use them
++ from there since the parameters occupy the same stack space as the stack
++ we're trying to populate.
++ */
++ PRUint64 *l_d = d;
++ nsXPTCVariant *l_s = s;
++ PRUint64 l_paramCount = paramCount;
++ PRUint64 regCount = 0; // return the number of registers to load from the stack
++
++ for(PRUint64 i = 0; i < l_paramCount; i++, l_d++, l_s++)
++ {
++ if (regCount < 5) regCount++;
++
++ if (l_s->IsPtrData())
++ {
++ *l_d = (PRUint64)l_s->ptr;
++ continue;
++ }
++ switch (l_s->type)
++ {
++ case nsXPTType::T_I8 : *((PRInt64*)l_d) = l_s->val.i8; break;
++ case nsXPTType::T_I16 : *((PRInt64*)l_d) = l_s->val.i16; break;
++ case nsXPTType::T_I32 : *((PRInt64*)l_d) = l_s->val.i32; break;
++ case nsXPTType::T_I64 : *((PRInt64*)l_d) = l_s->val.i64; break;
++
++ case nsXPTType::T_U8 : *((PRUint64*)l_d) = l_s->val.u8; break;
++ case nsXPTType::T_U16 : *((PRUint64*)l_d) = l_s->val.u16; break;
++ case nsXPTType::T_U32 : *((PRUint64*)l_d) = l_s->val.u32; break;
++ case nsXPTType::T_U64 : *((PRUint64*)l_d) = l_s->val.u64; break;
++
++ /* in the case of floats, we want to put the bits in to the
++ 64bit space right justified... floats in the paramter array on
++ sparcv9 use odd numbered registers.. %f1, %f3, so we have to skip
++ the space that would be occupied by %f0, %f2, etc.
++ */
++ case nsXPTType::T_FLOAT : *(((float*)l_d) + 1) = l_s->val.f; break;
++ case nsXPTType::T_DOUBLE: *((double*)l_d) = l_s->val.d; break;
++ case nsXPTType::T_BOOL : *((PRInt64*)l_d) = l_s->val.b; break;
++ case nsXPTType::T_CHAR : *((PRUint64*)l_d) = l_s->val.c; break;
++ case nsXPTType::T_WCHAR : *((PRInt64*)l_d) = l_s->val.wc; break;
++
++ default:
++ // all the others are plain pointer types
++ *((void**)l_d) = l_s->val.p;
++ break;
++ }
++ }
++
++ return regCount;
++}
diff --git a/www/firefox31/patches/patch-xc b/www/firefox31/patches/patch-xc
new file mode 100644
index 00000000000..9f77c3c40a9
--- /dev/null
+++ b/www/firefox31/patches/patch-xc
@@ -0,0 +1,73 @@
+$NetBSD: patch-xc,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+NetBSD/sparc64 xptcall support code. From pkgsrc/www/firefox3/files/
+
+--- xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_sparc64_netbsd.s.orig 2013-01-09 15:25:54.000000000 +0000
++++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_sparc64_netbsd.s
+@@ -0,0 +1,66 @@
++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
++ *
++ * The contents of this file are subject to the Netscape Public
++ * License Version 1.1 (the "License"); you may not use this file
++ * except in compliance with the License. You may obtain a copy of
++ * the License at http://www.mozilla.org/NPL/
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ * The Original Code is mozilla.org code.
++ *
++ * The Initial Developer of the Original Code is Netscape
++ * Communications Corporation. Portions created by Netscape are
++ * Copyright (C) 1999 Netscape Communications Corporation. All
++ * Rights Reserved.
++ *
++ * Contributor(s):
++ */
++
++ .global SharedStub
++
++/*
++ in the frame for the function that called SharedStub are the
++ rest of the parameters we need
++
++*/
++
++SharedStub:
++! we don't create a new frame yet, but work within the frame of the calling
++! function to give ourselves the other parameters we want
++
++ mov %o0, %o1 ! shuffle the index up to 2nd place
++ mov %i0, %o0 ! the original 'this'
++ add %fp, 0x7ff + 136, %o2 ! previous stack top adjusted to the first argument slot (beyond 'this')
++
++! save off the original incoming parameters that arrived in
++! registers, the ABI guarantees the space for us to do this
++ stx %i1, [%fp + 0x7ff + 136]
++ stx %i2, [%fp + 0x7ff + 144]
++ stx %i3, [%fp + 0x7ff + 152]
++ stx %i4, [%fp + 0x7ff + 160]
++ stx %i5, [%fp + 0x7ff + 168]
++! now we can build our own stack frame
++ save %sp,-(128 + 64),%sp ! room for the register window and
++ ! struct pointer, rounded up to 0 % 64
++! our function now appears to have been called
++! as SharedStub(nsISupports* that, PRUint32 index, PRUint32* args)
++! so we can just copy these through
++
++ mov %i0, %o0
++ mov %i1, %o1
++ mov %i2, %o2
++ call PrepareAndDispatch
++ nop
++ mov %o0,%i0 ! propagate return value
++ b .LL1
++ nop
++.LL1:
++ ret
++ restore
++
++ .size SharedStub, .-SharedStub
++ .type SharedStub, #function
diff --git a/www/firefox31/patches/patch-xe b/www/firefox31/patches/patch-xe
new file mode 100644
index 00000000000..dbd6489c38d
--- /dev/null
+++ b/www/firefox31/patches/patch-xe
@@ -0,0 +1,75 @@
+$NetBSD: patch-xe,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- xpcom/reflect/xptcall/src/md/unix/xptcinvoke_netbsd_m68k.cpp.orig 2013-01-04 23:44:47.000000000 +0000
++++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_netbsd_m68k.cpp
+@@ -100,6 +100,15 @@ extern "C" {
+ }
+ }
+
++/*
++ * SYMBOL PREFIX must be "_" for aout symbols and "" for ELF
++ */
++#ifndef __ELF__
++#define SYMBOLPREFIX "_"
++#else
++#define SYMBOLPREFIX
++#endif
++
+ XPTC_PUBLIC_API(nsresult)
+ XPTC_InvokeByIndex(nsISupports* that, uint32_t methodIndex,
+ uint32_t paramCount, nsXPTCVariant* params)
+@@ -107,30 +116,30 @@ XPTC_InvokeByIndex(nsISupports* that, ui
+ uint32_t result;
+
+ __asm__ __volatile__(
+- "movl %4, sp@-\n\t"
+- "movl %3, sp@-\n\t"
+- "jbsr _invoke_count_words\n\t" /* count words */
+- "addql #8, sp\n\t"
+- "lsll #2, d0\n\t" /* *= 4 */
+- "movl sp, a2\n\t" /* save original sp */
+- "subl d0, sp\n\t" /* make room for params */
+- "movl sp, a0\n\t"
+- "movl %4, sp@-\n\t"
+- "movl %3, sp@-\n\t"
+- "movl a0, sp@-\n\t"
+- "jbsr _invoke_copy_to_stack\n\t" /* copy params */
+- "addl #12, sp\n\t"
+- "movl %1, a0\n\t"
+- "movl a0@, a1\n\t"
+- "movl %2, d0\n\t" /* function index */
+- "movl a0, d1\n\t"
+- "movw a1@(8,d0:l:8), a0\n\t"
+- "addl a0, d1\n\t"
+- "movl a1@(12,d0:l:8), a1\n\t"
+- "movl d1, sp@-\n\t"
+- "jbsr a1@\n\t"
+- "movl a2, sp\n\t" /* restore original sp */
+- "movl d0, %0\n\t"
++ "movl %4, %%sp@-\n\t"
++ "movl %3, %%sp@-\n\t"
++ "jbsr "SYMBOLPREFIX"invoke_count_words\n\t" /* count words */
++ "addql #8, %%sp\n\t"
++ "lsll #2, %%d0\n\t" /* *= 4 */
++ "movl %%sp, %%a2\n\t" /* save original sp */
++ "subl %%d0, %%sp\n\t" /* make room for params */
++ "movl %%sp, %%a0\n\t"
++ "movl %4, %%sp@-\n\t"
++ "movl %3, %%sp@-\n\t"
++ "movl %%a0, %%sp@-\n\t"
++ "jbsr "SYMBOLPREFIX"invoke_copy_to_stack\n\t" /* copy params */
++ "addl #12, %%sp\n\t"
++ "movl %1, %%a0\n\t"
++ "movl %%a0@, %%a1\n\t"
++ "movl %2, %%d0\n\t" /* function index */
++ "movl %%a0, %%d1\n\t"
++ "movw %%a1@(8,%%d0:l:8), %%a0\n\t"
++ "addl %%a0, %%d1\n\t"
++ "movl %%a1@(12,%%d0:l:8), %%a1\n\t"
++ "movl %%d1, %%sp@-\n\t"
++ "jbsr %%a1@\n\t"
++ "movl %%a2, %%sp\n\t" /* restore original sp */
++ "movl %%d0, %0\n\t"
+ : "=g" (result) /* %0 */
+ : "g" (that), /* %1 */
+ "g" (methodIndex), /* %2 */
diff --git a/www/firefox31/patches/patch-xf b/www/firefox31/patches/patch-xf
new file mode 100644
index 00000000000..3af3d46d0ff
--- /dev/null
+++ b/www/firefox31/patches/patch-xf
@@ -0,0 +1,43 @@
+$NetBSD: patch-xf,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+NetBSD/m68k xptcall support code. From pkgsrc/www/firefox/patch-ae.
+
+--- xpcom/reflect/xptcall/src/md/unix/xptcstubs_netbsd_m68k.cpp.orig 2013-01-04 23:44:47.000000000 +0000
++++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_netbsd_m68k.cpp
+@@ -91,17 +91,27 @@ extern "C" {
+ }
+ }
+
++/*
++ * Beware: use % instead of %% for register identifiers in a preprocessor macro
++ * SYMBOL PREFIX must be "_" for aout and "" for ELF
++ */
++#ifndef __ELF__
++#define SYMBOLPREFIX "_"
++#else
++#define SYMBOLPREFIX
++#endif
++
+ #define STUB_ENTRY(n) \
+ __asm__( \
+- ".global _Stub"#n"__14nsXPTCStubBase\n\t" \
+-"_Stub"#n"__14nsXPTCStubBase:\n\t" \
+- "link a6,#0 \n\t" \
+- "lea a6@(12), a0 \n\t" /* pointer to args */ \
+- "movl a0, sp@- \n\t" \
+- "movl #"#n", sp@- \n\t" /* method index */ \
+- "movl a6@(8), sp@- \n\t" /* this */ \
+- "jbsr _PrepareAndDispatch \n\t" \
+- "unlk a6 \n\t" \
++ ".global "SYMBOLPREFIX"Stub"#n"__14nsXPTCStubBase\n\t" \
++SYMBOLPREFIX"Stub"#n"__14nsXPTCStubBase:\n\t" \
++ "link %a6,#0 \n\t" \
++ "lea %a6@(12), %a0 \n\t" /* pointer to args */ \
++ "movl %a0, %sp@- \n\t" \
++ "movl #"#n", %sp@- \n\t" /* method index */ \
++ "movl %a6@(8), %sp@- \n\t" /* this */ \
++ "jbsr "SYMBOLPREFIX"PrepareAndDispatch\n\t" \
++ "unlk %a6 \n\t" \
+ "rts \n\t" \
+ );
+
diff --git a/www/firefox31/patches/patch-xg b/www/firefox31/patches/patch-xg
new file mode 100644
index 00000000000..073e5a76686
--- /dev/null
+++ b/www/firefox31/patches/patch-xg
@@ -0,0 +1,33 @@
+$NetBSD: patch-xg,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+NetBSD/arm xptcall support code. From pkgsrc/www/firefox/patch-bm.
+
+--- xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm_netbsd.cpp.orig 2013-01-04 23:44:47.000000000 +0000
++++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm_netbsd.cpp
+@@ -86,18 +86,23 @@ PrepareAndDispatch(nsXPTCStubBase* self,
+ * so they are contiguous with values passed on the stack, and then calls
+ * PrepareAndDispatch() to do the dirty work.
+ */
++#ifndef __ELF__
++#define SYMBOLPREFIX "_"
++#else
++#define SYMBOLPREFIX
++#endif
+
+ #define STUB_ENTRY(n) \
+ __asm__( \
+- ".global _Stub"#n"__14nsXPTCStubBase\n\t" \
+-"_Stub"#n"__14nsXPTCStubBase:\n\t" \
++ ".global "SYMBOLPREFIX"Stub"#n"__14nsXPTCStubBase\n\t" \
++SYMBOLPREFIX"Stub"#n"__14nsXPTCStubBase:\n\t" \
+ "stmfd sp!, {r1, r2, r3} \n\t" \
+ "mov ip, sp \n\t" \
+ "stmfd sp!, {fp, ip, lr, pc} \n\t" \
+ "sub fp, ip, #4 \n\t" \
+ "mov r1, #"#n" \n\t" /* = methodIndex */ \
+ "add r2, sp, #16 \n\t" \
+- "bl _PrepareAndDispatch__FP14nsXPTCStubBaseUiPUi \n\t" \
++ "bl "SYMBOLPREFIX"PrepareAndDispatch__FP14nsXPTCStubBaseUiPUi \n\t" \
+ "ldmea fp, {fp, sp, lr} \n\t" \
+ "add sp, sp, #12 \n\t" \
+ "mov pc, lr \n\t" \
diff --git a/www/firefox31/patches/patch-xl b/www/firefox31/patches/patch-xl
new file mode 100644
index 00000000000..f9a91c1d4db
--- /dev/null
+++ b/www/firefox31/patches/patch-xl
@@ -0,0 +1,27 @@
+$NetBSD: patch-xl,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+NetBSD ppc xptcall support code. Originally from pkgsrc/www/mozilla.
+
+--- xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc_netbsd.s.orig 2014-02-12 21:29:26.000000000 +0000
++++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc_netbsd.s
+@@ -20,15 +20,15 @@
+
+ .section ".text"
+ .align 2
+- .globl XPTC_InvokeByIndex
+- .type XPTC_InvokeByIndex,@function
++ .globl NS_InvokeByIndex_P
++ .type NS_InvokeByIndex_P,@function
+
+ #
+-# XPTC_InvokeByIndex(nsISupports* that, uint32_t methodIndex,
+-# uint32_t paramCount, nsXPTCVariant* params)
++# NS_InvokeByIndex_P(nsISupports* that, PRUint32 methodIndex,
++# PRUint32 paramCount, nsXPTCVariant* params)
+ #
+
+-XPTC_InvokeByIndex:
++NS_InvokeByIndex_P:
+ stwu sp,-32(sp) # setup standard stack frame
+ mflr r0 # save LR
+ stw r3,8(sp) # r3 <= that
diff --git a/www/firefox31/patches/patch-xm b/www/firefox31/patches/patch-xm
new file mode 100644
index 00000000000..489fa778dde
--- /dev/null
+++ b/www/firefox31/patches/patch-xm
@@ -0,0 +1,49 @@
+$NetBSD: patch-xm,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+NetBSD/ppc xptcall support code. Originally from pkgsrc/www/mozilla.
+
+--- xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ppc_netbsd.cpp.orig 2013-01-04 23:44:47.000000000 +0000
++++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ppc_netbsd.cpp
+@@ -5,9 +5,9 @@
+
+ // Platform specific code to invoke XPCOM methods on native objects
+
+-// The purpose of XPTC_InvokeByIndex() is to map a platform
++// The purpose of NS_InvokeByIndex_P() is to map a platform
+ // indepenpent call to the platform ABI. To do that,
+-// XPTC_InvokeByIndex() has to determine the method to call via vtable
++// NS_InvokeByIndex_P() has to determine the method to call via vtable
+ // access. The parameters for the method are read from the
+ // nsXPTCVariant* and prepared for the native ABI. For the Linux/PPC
+ // ABI this means that the first 8 integral and floating point
+@@ -69,8 +69,10 @@ invoke_copy_to_stack(uint32_t* d,
+ if ((uint32_t) d & 4) d++; // doubles are 8-byte aligned on stack
+ *((double*) d) = s->val.d;
+ d += 2;
++#if __GXX_ABI_VERSION < 100
+ if (gpr < GPR_COUNT)
+ gpr += 2;
++#endif
+ }
+ }
+ else if (!s->IsPtrData() && s->type == nsXPTType::T_FLOAT) {
+@@ -79,8 +81,10 @@ invoke_copy_to_stack(uint32_t* d,
+ else {
+ *((float*) d) = s->val.f;
+ d += 1;
++#if __GXX_ABI_VERSION < 100
+ if (gpr < GPR_COUNT)
+ gpr += 1;
++#endif
+ }
+ }
+ else if (!s->IsPtrData() && (s->type == nsXPTType::T_I64
+@@ -107,6 +111,6 @@ invoke_copy_to_stack(uint32_t* d,
+ }
+
+ extern "C"
+-XPTC_PUBLIC_API(nsresult)
+-XPTC_InvokeByIndex(nsISupports* that, uint32_t methodIndex,
++EXPORT_XPCOM_API(nsresult)
++NS_InvokeByIndex_P(nsISupports* that, PRUint32 methodIndex,
+ uint32_t paramCount, nsXPTCVariant* params);
diff --git a/www/firefox31/patches/patch-xpcom_base_nsDebugImpl.cpp b/www/firefox31/patches/patch-xpcom_base_nsDebugImpl.cpp
new file mode 100644
index 00000000000..3e3b9569cab
--- /dev/null
+++ b/www/firefox31/patches/patch-xpcom_base_nsDebugImpl.cpp
@@ -0,0 +1,88 @@
+$NetBSD: patch-xpcom_base_nsDebugImpl.cpp,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- xpcom/base/nsDebugImpl.cpp.orig 2014-05-29 23:31:50.000000000 +0000
++++ xpcom/base/nsDebugImpl.cpp
+@@ -44,12 +44,43 @@
+ #endif
+ #endif
+
+-#if defined(XP_MACOSX)
++#if defined(XP_MACOSX) || defined(__DragonFly__) || defined(__FreeBSD__) \
++ || defined(__NetBSD__) || defined(__OpenBSD__)
+ #include <stdbool.h>
+ #include <unistd.h>
++#include <sys/param.h>
+ #include <sys/sysctl.h>
+ #endif
+
++#if defined(__OpenBSD__)
++#include <sys/proc.h>
++#endif
++
++#if defined(__DragonFly__) || defined(__FreeBSD__)
++#include <sys/user.h>
++#endif
++
++#if defined(__NetBSD__)
++#undef KERN_PROC
++#define KERN_PROC KERN_PROC2
++#define KINFO_PROC struct kinfo_proc2
++#else
++#define KINFO_PROC struct kinfo_proc
++#endif
++
++#if defined(XP_MACOSX)
++#define KP_FLAGS kp_proc.p_flag
++#elif defined(__DragonFly__)
++#define KP_FLAGS kp_flags
++#elif defined(__FreeBSD__)
++#define KP_FLAGS ki_flag
++#elif defined(__OpenBSD__) && !defined(_P_TRACED)
++#define KP_FLAGS p_psflags
++#define P_TRACED PS_TRACED
++#else
++#define KP_FLAGS p_flag
++#endif
++
+ #include "mozilla/mozalloc_abort.h"
+
+ static void
+@@ -143,16 +174,22 @@ nsDebugImpl::GetIsDebuggerAttached(bool*
+
+ #if defined(XP_WIN)
+ *aResult = ::IsDebuggerPresent();
+-#elif defined(XP_MACOSX)
++#elif defined(XP_MACOSX) || defined(__DragonFly__) || defined(__FreeBSD__) \
++ || defined(__NetBSD__) || defined(__OpenBSD__)
+ // Specify the info we're looking for
+- int mib[4];
+- mib[0] = CTL_KERN;
+- mib[1] = KERN_PROC;
+- mib[2] = KERN_PROC_PID;
+- mib[3] = getpid();
++ int mib[] = {
++ CTL_KERN,
++ KERN_PROC,
++ KERN_PROC_PID,
++ getpid(),
++#if defined(__NetBSD__) || defined(__OpenBSD__)
++ sizeof(KINFO_PROC),
++ 1,
++#endif
++ };
+ size_t mibSize = sizeof(mib) / sizeof(int);
+
+- struct kinfo_proc info;
++ KINFO_PROC info;
+ size_t infoSize = sizeof(info);
+ memset(&info, 0, infoSize);
+
+@@ -162,7 +199,7 @@ nsDebugImpl::GetIsDebuggerAttached(bool*
+ return NS_OK;
+ }
+
+- if (info.kp_proc.p_flag & P_TRACED) {
++ if (info.KP_FLAGS & P_TRACED) {
+ *aResult = true;
+ }
+ #endif
diff --git a/www/firefox31/patches/patch-xpcom_base_nsStackWalk.cpp b/www/firefox31/patches/patch-xpcom_base_nsStackWalk.cpp
new file mode 100644
index 00000000000..19e753c25de
--- /dev/null
+++ b/www/firefox31/patches/patch-xpcom_base_nsStackWalk.cpp
@@ -0,0 +1,59 @@
+$NetBSD: patch-xpcom_base_nsStackWalk.cpp,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+* Replace XP_MACOSX with XP_DARWIN as the former is not defined when
+ the toolkit is not cocoa.
+
+--- xpcom/base/nsStackWalk.cpp.orig 2014-05-29 23:31:50.000000000 +0000
++++ xpcom/base/nsStackWalk.cpp
+@@ -33,8 +33,8 @@ static CriticalAddress gCriticalAddress;
+ #include <dlfcn.h>
+ #endif
+
+-#define NSSTACKWALK_SUPPORTS_MACOSX \
+- (defined(XP_MACOSX) && \
++#define NSSTACKWALK_SUPPORTS_DARWIN \
++ (defined(XP_DARWIN) && \
+ (defined(__i386) || defined(__ppc__) || defined(HAVE__UNWIND_BACKTRACE)))
+
+ #define NSSTACKWALK_SUPPORTS_LINUX \
+@@ -42,11 +42,11 @@ static CriticalAddress gCriticalAddress;
+ ((defined(__GNUC__) && (defined(__i386) || defined(PPC))) || \
+ defined(HAVE__UNWIND_BACKTRACE)))
+
+-#define NSSTACKWALK_SUPPORTS_SOLARIS \
++#define notNSSTACKWALK_SUPPORTS_SOLARIS \
+ (defined(__sun) && \
+ (defined(__sparc) || defined(sparc) || defined(__i386) || defined(i386)))
+
+-#if NSSTACKWALK_SUPPORTS_MACOSX
++#if NSSTACKWALK_SUPPORTS_DARWIN
+ #include <pthread.h>
+ #include <CoreServices/CoreServices.h>
+
+@@ -838,7 +838,7 @@ NS_FormatCodeAddressDetails(void *aPC, c
+
+ // WIN32 x86 stack walking code
+ // i386 or PPC Linux stackwalking code or Solaris
+-#elif HAVE_DLADDR && (HAVE__UNWIND_BACKTRACE || NSSTACKWALK_SUPPORTS_LINUX || NSSTACKWALK_SUPPORTS_SOLARIS || NSSTACKWALK_SUPPORTS_MACOSX)
++#elif HAVE_DLADDR && (HAVE__UNWIND_BACKTRACE || NSSTACKWALK_SUPPORTS_LINUX || NSSTACKWALK_SUPPORTS_SOLARIS || NSSTACKWALK_SUPPORTS_DARWIN)
+
+ #include <stdlib.h>
+ #include <string.h>
+@@ -1162,7 +1162,7 @@ FramePointerStackWalk(NS_WalkStackCallba
+ (long(next) & 3)) {
+ break;
+ }
+-#if (defined(__ppc__) && defined(XP_MACOSX)) || defined(__powerpc64__)
++#if (defined(__ppc__) && defined(XP_DARWIN)) || defined(__powerpc64__)
+ // ppc mac or powerpc64 linux
+ void *pc = *(bp+2);
+ bp += 3;
+@@ -1192,7 +1192,7 @@ FramePointerStackWalk(NS_WalkStackCallba
+ }
+
+ #define X86_OR_PPC (defined(__i386) || defined(PPC) || defined(__ppc__))
+-#if X86_OR_PPC && (NSSTACKWALK_SUPPORTS_MACOSX || NSSTACKWALK_SUPPORTS_LINUX) // i386 or PPC Linux or Mac stackwalking code
++#if X86_OR_PPC && (NSSTACKWALK_SUPPORTS_DARWIN || NSSTACKWALK_SUPPORTS_LINUX) // i386 or PPC Linux or Mac stackwalking code
+
+ EXPORT_XPCOM_API(nsresult)
+ NS_StackWalk(NS_WalkStackCallback aCallback, uint32_t aSkipFrames,
diff --git a/www/firefox31/patches/patch-xpcom_base_nsUUIDGenerator.cpp b/www/firefox31/patches/patch-xpcom_base_nsUUIDGenerator.cpp
new file mode 100644
index 00000000000..5b14621da3e
--- /dev/null
+++ b/www/firefox31/patches/patch-xpcom_base_nsUUIDGenerator.cpp
@@ -0,0 +1,69 @@
+$NetBSD: patch-xpcom_base_nsUUIDGenerator.cpp,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- xpcom/base/nsUUIDGenerator.cpp.orig 2014-07-17 01:45:42.000000000 +0000
++++ xpcom/base/nsUUIDGenerator.cpp
+@@ -15,6 +15,10 @@
+
+ #include "nsUUIDGenerator.h"
+
++#ifdef ANDROID
++extern "C" NS_EXPORT void arc4random_buf(void *, size_t);
++#endif
++
+ using namespace mozilla;
+
+ NS_IMPL_ISUPPORTS(nsUUIDGenerator, nsIUUIDGenerator)
+@@ -34,7 +38,7 @@ nsUUIDGenerator::Init()
+ // We're a service, so we're guaranteed that Init() is not going
+ // to be reentered while we're inside Init().
+
+-#if !defined(XP_WIN) && !defined(XP_MACOSX) && !defined(ANDROID)
++#if !defined(XP_WIN) && !defined(XP_MACOSX) && !defined(HAVE_ARC4RANDOM)
+ /* initialize random number generator using NSPR random noise */
+ unsigned int seed;
+
+@@ -67,7 +71,7 @@ nsUUIDGenerator::Init()
+ return NS_ERROR_FAILURE;
+ #endif
+
+-#endif /* non XP_WIN and non XP_MACOSX */
++#endif /* non XP_WIN and non XP_MACOSX and non ARC4RANDOM */
+
+ return NS_OK;
+ }
+@@ -114,13 +118,16 @@ nsUUIDGenerator::GenerateUUIDInPlace(nsI
+ * back to it; instead, we use the value returned when we called
+ * initstate, since older glibc's have broken setstate() return values
+ */
+-#ifndef ANDROID
++#ifndef HAVE_ARC4RANDOM
+ setstate(mState);
+ #endif
+
++#ifdef HAVE_ARC4RANDOM_BUF
++ arc4random_buf(id, sizeof(nsID));
++#else /* HAVE_ARC4RANDOM_BUF */
+ size_t bytesLeft = sizeof(nsID);
+ while (bytesLeft > 0) {
+-#ifdef ANDROID
++#ifdef HAVE_ARC4RANDOM
+ long rval = arc4random();
+ const size_t mRBytes = 4;
+ #else
+@@ -141,6 +148,7 @@ nsUUIDGenerator::GenerateUUIDInPlace(nsI
+
+ bytesLeft -= toWrite;
+ }
++#endif /* HAVE_ARC4RANDOM_BUF */
+
+ /* Put in the version */
+ id->m2 &= 0x0fff;
+@@ -150,7 +158,7 @@ nsUUIDGenerator::GenerateUUIDInPlace(nsI
+ id->m3[0] &= 0x3f;
+ id->m3[0] |= 0x80;
+
+-#ifndef ANDROID
++#ifndef HAVE_ARC4RANDOM
+ /* Restore the previous RNG state */
+ setstate(mSavedState);
+ #endif
diff --git a/www/firefox31/patches/patch-xpcom_base_nsUUIDGenerator.h b/www/firefox31/patches/patch-xpcom_base_nsUUIDGenerator.h
new file mode 100644
index 00000000000..0bdf59de94e
--- /dev/null
+++ b/www/firefox31/patches/patch-xpcom_base_nsUUIDGenerator.h
@@ -0,0 +1,13 @@
+$NetBSD: patch-xpcom_base_nsUUIDGenerator.h,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- xpcom/base/nsUUIDGenerator.h.orig 2014-05-29 23:31:50.000000000 +0000
++++ xpcom/base/nsUUIDGenerator.h
+@@ -27,7 +27,7 @@ private:
+ protected:
+
+ mozilla::Mutex mLock;
+-#if !defined(XP_WIN) && !defined(XP_MACOSX) && !defined(ANDROID)
++#if !defined(XP_WIN) && !defined(XP_MACOSX) && !defined(HAVE_ARC4RANDOM)
+ char mState[128];
+ char *mSavedState;
+ uint8_t mRBytes;
diff --git a/www/firefox31/patches/patch-xpcom_base_nscore.h b/www/firefox31/patches/patch-xpcom_base_nscore.h
new file mode 100644
index 00000000000..996d9e7cf86
--- /dev/null
+++ b/www/firefox31/patches/patch-xpcom_base_nscore.h
@@ -0,0 +1,13 @@
+$NetBSD: patch-xpcom_base_nscore.h,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- xpcom/base/nscore.h.orig 2014-05-29 23:31:50.000000000 +0000
++++ xpcom/base/nscore.h
+@@ -114,7 +114,7 @@
+ * NS_HIDDEN_(int) NS_FASTCALL func2(char *foo);
+ */
+
+-#if defined(__i386__) && defined(__GNUC__)
++#if defined(__i386__) && defined(__GNUC__) && !(defined(__clang__) && __clang_major__ == 3 && __clang_minor__ == 4 && __clang_patchlevel__ == 0)
+ #define NS_FASTCALL __attribute__ ((regparm (3), stdcall))
+ #define NS_CONSTRUCTOR_FASTCALL __attribute__ ((regparm (3), stdcall))
+ #elif defined(XP_WIN) && !defined(_WIN64)
diff --git a/www/firefox31/patches/patch-xpcom_build_PoisonIOInterposer.h b/www/firefox31/patches/patch-xpcom_build_PoisonIOInterposer.h
new file mode 100644
index 00000000000..4b44e2a415a
--- /dev/null
+++ b/www/firefox31/patches/patch-xpcom_build_PoisonIOInterposer.h
@@ -0,0 +1,37 @@
+$NetBSD: patch-xpcom_build_PoisonIOInterposer.h,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+Replace XP_MACOSX with XP_DARWIN as the former is not defined when
+the toolkit is not cocoa.
+
+--- xpcom/build/PoisonIOInterposer.h.orig 2014-05-29 23:31:50.000000000 +0000
++++ xpcom/build/PoisonIOInterposer.h
+@@ -44,7 +44,7 @@ bool IsDebugFile(intptr_t aFileID);
+ */
+ void InitPoisonIOInterposer();
+
+-#ifdef XP_MACOSX
++#ifdef XP_DARWIN
+ /**
+ * Check that writes are dirty before reporting I/O (Mac OS X only)
+ * This is necessary for late-write checks on Mac OS X, but reading the buffer
+@@ -52,7 +52,7 @@ void InitPoisonIOInterposer();
+ * to do this for everything else that uses
+ */
+ void OnlyReportDirtyWrites();
+-#endif /* XP_MACOSX */
++#endif /* XP_DARWIN */
+
+ /**
+ * Clear IO poisoning, this is only safe to do on the main-thread when no other
+@@ -70,9 +70,9 @@ namespace mozilla {
+ inline bool IsDebugFile(intptr_t aFileID){ return true; }
+ inline void InitPoisonIOInterposer(){}
+ inline void ClearPoisonIOInterposer(){}
+-#ifdef XP_MACOSX
++#ifdef XP_DARWIN
+ inline void OnlyReportDirtyWrites(){}
+-#endif /* XP_MACOSX */
++#endif /* XP_DARWIN */
+ } // namespace mozilla
+ #endif /* __cplusplus */
+
diff --git a/www/firefox31/patches/patch-xpcom_build_nsXPComInit.cpp b/www/firefox31/patches/patch-xpcom_build_nsXPComInit.cpp
new file mode 100644
index 00000000000..3052fcff3ab
--- /dev/null
+++ b/www/firefox31/patches/patch-xpcom_build_nsXPComInit.cpp
@@ -0,0 +1,28 @@
+$NetBSD: patch-xpcom_build_nsXPComInit.cpp,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- xpcom/build/nsXPComInit.cpp.orig 2014-05-29 23:31:50.000000000 +0000
++++ xpcom/build/nsXPComInit.cpp
+@@ -128,7 +128,9 @@ extern nsresult nsStringInputStreamConst
+ #include "mozilla/VisualEventTracer.h"
+ #endif
+
++#ifndef MOZ_OGG_NO_MEM_REPORTING
+ #include "ogg/ogg.h"
++#endif
+ #if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
+ #include "vpx_mem/vpx_mem.h"
+ #endif
+@@ -564,11 +566,13 @@ NS_InitXPCOM2(nsIServiceManager* *result
+ // 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.
diff --git a/www/firefox31/patches/patch-xpcom_ds_TimeStamp.h b/www/firefox31/patches/patch-xpcom_ds_TimeStamp.h
new file mode 100644
index 00000000000..7f4fb4837c4
--- /dev/null
+++ b/www/firefox31/patches/patch-xpcom_ds_TimeStamp.h
@@ -0,0 +1,20 @@
+$NetBSD: patch-xpcom_ds_TimeStamp.h,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+http://gnats.netbsd.org/47233
+
+--- xpcom/ds/TimeStamp.h.orig 2013-01-04 23:44:47.000000000 +0000
++++ xpcom/ds/TimeStamp.h
+@@ -130,11 +130,11 @@ private:
+ // NOTE: this MUST be a >= test, because int64_t(double(INT64_MAX))
+ // overflows and gives INT64_MIN.
+ if (aTicks >= double(INT64_MAX))
+- return TimeDuration::FromTicks(INT64_MAX);
++ return TimeDuration::FromTicks(int64_t(INT64_MAX));
+
+ // This MUST be a <= test.
+ if (aTicks <= double(INT64_MIN))
+- return TimeDuration::FromTicks(INT64_MIN);
++ return TimeDuration::FromTicks(int64_t(INT64_MIN));
+
+ return TimeDuration::FromTicks(int64_t(aTicks));
+ }
diff --git a/www/firefox31/patches/patch-xpcom_reflect_xptcall_src_md_unix_moz.build b/www/firefox31/patches/patch-xpcom_reflect_xptcall_src_md_unix_moz.build
new file mode 100644
index 00000000000..63426ab7d8c
--- /dev/null
+++ b/www/firefox31/patches/patch-xpcom_reflect_xptcall_src_md_unix_moz.build
@@ -0,0 +1,34 @@
+$NetBSD: patch-xpcom_reflect_xptcall_src_md_unix_moz.build,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+* Support NetBSD/amd64 and DragonFly/amd64.
+
+* OS_TEST can never be powerpc.
+
+--- xpcom/reflect/xptcall/src/md/unix/moz.build.orig 2014-05-06 22:56:39.000000000 +0000
++++ xpcom/reflect/xptcall/src/md/unix/moz.build
+@@ -9,7 +9,7 @@ if CONFIG['OS_ARCH'] == 'Darwin':
+ 'xptcinvoke_darwin.cpp',
+ 'xptcstubs_darwin.cpp',
+ ]
+- if CONFIG['OS_TEST'] == 'powerpc':
++ if CONFIG['OS_TEST'] == 'ppc':
+ SOURCES += [
+ 'xptcinvoke_asm_ppc_rhapsody.s',
+ ]
+@@ -19,14 +19,14 @@ if CONFIG['OS_ARCH'] == 'Darwin':
+ if '86' in CONFIG['OS_TEST'] and CONFIG['OS_TEST'] != 'x86_64':
+ DEFINES['MOZ_NEED_LEADING_UNDERSCORE'] = True
+
+-if CONFIG['OS_ARCH'] in ('NetBSD', 'OpenBSD', 'GNU'):
++if CONFIG['OS_ARCH'] in ('OpenBSD', 'GNU'):
+ if CONFIG['CPU_ARCH'] == 'x86':
+ SOURCES += [
+ 'xptcinvoke_gcc_x86_unix.cpp',
+ 'xptcstubs_gcc_x86_unix.cpp'
+ ]
+
+-if CONFIG['OS_ARCH'] in ('Linux', 'FreeBSD') or \
++if CONFIG['OS_ARCH'] in ('Linux', 'FreeBSD', 'NetBSD', 'DragonFly') or \
+ CONFIG['OS_ARCH'].startswith('GNU_'):
+ if CONFIG['OS_TEST'] == 'x86_64':
+ SOURCES += [
diff --git a/www/firefox31/patches/patch-xpcom_reflect_xptcall_src_md_unix_xptcinvoke__asm__mips.S b/www/firefox31/patches/patch-xpcom_reflect_xptcall_src_md_unix_xptcinvoke__asm__mips.S
new file mode 100644
index 00000000000..cc2fb403e43
--- /dev/null
+++ b/www/firefox31/patches/patch-xpcom_reflect_xptcall_src_md_unix_xptcinvoke__asm__mips.S
@@ -0,0 +1,52 @@
+$NetBSD: patch-xpcom_reflect_xptcall_src_md_unix_xptcinvoke__asm__mips.S,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips.S.orig 2014-03-15 05:19:39.000000000 +0000
++++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips.S
+@@ -16,6 +16,47 @@
+ #include <sys/asm.h>
+ #endif
+
++#ifdef __NetBSD__
++# include <machine/regdef.h>
++# include <machine/asm.h>
++# ifndef fp
++# define fp s8
++# endif
++# ifndef PTRLOG
++# if SZREG == 4
++# define PTRLOG 2
++# else
++# define PTRLOG 3
++# endif
++# endif
++# ifndef SETUP_GP
++# if defined(__mips_o32)
++# define SETUP_GP \
++ .set push; \
++ .set noreorder; \
++ .cpload t9; \
++ .set pop
++# define SAVE_GP(x) \
++ .cprestore x
++# else
++# define SETUP_GP
++# define SAVE_GP(x)
++# endif
++# endif
++# ifndef ALSZ
++# if defined(__mips_n32) || defined(__mips_n64)
++# define ALSZ 15
++# define ALMASK ~15
++# else
++# define ALSZ 7
++# define ALMASK ~7
++# endif
++# endif
++#else
++# include <sys/regdef.h>
++# include <sys/asm.h>
++#endif
++
+ # NARGSAVE is the argument space in the callers frame, including extra
+ # 'shadowed' space for the argument registers. The minimum of 4
+ # argument slots is sometimes predefined in the header files.
diff --git a/www/firefox31/patches/patch-xpcom_reflect_xptcall_src_md_unix_xptcinvoke__gcc__x86__unix.cpp b/www/firefox31/patches/patch-xpcom_reflect_xptcall_src_md_unix_xptcinvoke__gcc__x86__unix.cpp
new file mode 100644
index 00000000000..857bcd0aa6e
--- /dev/null
+++ b/www/firefox31/patches/patch-xpcom_reflect_xptcall_src_md_unix_xptcinvoke__gcc__x86__unix.cpp
@@ -0,0 +1,13 @@
+$NetBSD: patch-xpcom_reflect_xptcall_src_md_unix_xptcinvoke__gcc__x86__unix.cpp,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- xpcom/reflect/xptcall/src/md/unix/xptcinvoke_gcc_x86_unix.cpp.orig 2013-05-11 19:19:56.000000000 +0000
++++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_gcc_x86_unix.cpp
+@@ -9,7 +9,7 @@
+ #include "xptc_gcc_x86_unix.h"
+
+ extern "C" {
+-static void ATTRIBUTE_USED __attribute__ ((regparm(3)))
++void ATTRIBUTE_USED __attribute__ ((regparm(3)))
+ invoke_copy_to_stack(uint32_t paramCount, nsXPTCVariant* s, uint32_t* d)
+ {
+ for(uint32_t i = paramCount; i >0; i--, d++, s++)
diff --git a/www/firefox31/patches/patch-xpcom_reflect_xptcall_src_md_unix_xptcstubs__asm__mips.S b/www/firefox31/patches/patch-xpcom_reflect_xptcall_src_md_unix_xptcstubs__asm__mips.S
new file mode 100644
index 00000000000..a2c4fcad180
--- /dev/null
+++ b/www/firefox31/patches/patch-xpcom_reflect_xptcall_src_md_unix_xptcstubs__asm__mips.S
@@ -0,0 +1,52 @@
+$NetBSD: patch-xpcom_reflect_xptcall_src_md_unix_xptcstubs__asm__mips.S,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips.S.orig 2014-03-15 05:19:39.000000000 +0000
++++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips.S
+@@ -14,6 +14,47 @@
+ #include <sys/asm.h>
+ #endif
+
++#ifdef __NetBSD__
++# include <machine/regdef.h>
++# include <machine/asm.h>
++# ifndef fp
++# define fp s8
++# endif
++# ifndef PTRLOG
++# if SZREG == 4
++# define PTRLOG 2
++# else
++# define PTRLOG 3
++# endif
++# endif
++# ifndef SETUP_GP
++# if defined(__mips_o32)
++# define SETUP_GP \
++ .set push; \
++ .set noreorder; \
++ .cpload t9; \
++ .set pop
++# define SAVE_GP(x) \
++ .cprestore x
++# else
++# define SETUP_GP
++# define SAVE_GP(x)
++# endif
++# endif
++# ifndef ALSZ
++# if defined(__mips_n32) || defined(__mips_n64)
++# define ALSZ 15
++# define ALMASK ~15
++# else
++# define ALSZ 7
++# define ALMASK ~7
++# endif
++# endif
++#else
++# include <sys/regdef.h>
++# include <sys/asm.h>
++#endif
++
+ # NARGSAVE is the argument space in the callers frame, including extra
+ # 'shadowed' space for the argument registers. The minimum of 4
+ # argument slots is sometimes predefined in the header files.
diff --git a/www/firefox31/patches/patch-xpcom_reflect_xptcall_src_md_unix_xptcstubs__gcc__x86__unix.cpp b/www/firefox31/patches/patch-xpcom_reflect_xptcall_src_md_unix_xptcstubs__gcc__x86__unix.cpp
new file mode 100644
index 00000000000..56338d469b3
--- /dev/null
+++ b/www/firefox31/patches/patch-xpcom_reflect_xptcall_src_md_unix_xptcstubs__gcc__x86__unix.cpp
@@ -0,0 +1,13 @@
+$NetBSD: patch-xpcom_reflect_xptcall_src_md_unix_xptcstubs__gcc__x86__unix.cpp,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+--- xpcom/reflect/xptcall/src/md/unix/xptcstubs_gcc_x86_unix.cpp.orig 2013-05-11 19:19:56.000000000 +0000
++++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_gcc_x86_unix.cpp
+@@ -10,7 +10,7 @@
+ #include "xptc_gcc_x86_unix.h"
+
+ extern "C" {
+-static nsresult ATTRIBUTE_USED
++nsresult ATTRIBUTE_USED
+ __attribute__ ((regparm (3)))
+ PrepareAndDispatch(uint32_t methodIndex, nsXPTCStubBase* self, uint32_t* args)
+ {
diff --git a/www/firefox31/patches/patch-xulrunner_installer_Makefile.in b/www/firefox31/patches/patch-xulrunner_installer_Makefile.in
new file mode 100644
index 00000000000..39d7d5d4713
--- /dev/null
+++ b/www/firefox31/patches/patch-xulrunner_installer_Makefile.in
@@ -0,0 +1,15 @@
+$NetBSD: patch-xulrunner_installer_Makefile.in,v 1.1 2014/11/03 12:18:32 ryoon Exp $
+
+* Install pkg-config pc files to package specific directory.
+
+--- xulrunner/installer/Makefile.in.orig 2013-07-30 00:59:18.000000000 +0000
++++ xulrunner/installer/Makefile.in
+@@ -96,7 +96,7 @@ endif
+
+ install:: $(pkg_config_files)
+ @echo pkg_config_file: $(pkg_config_files)
+- $(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)$(libdir)/pkgconfig
++ $(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)${PREFIX}/lib/${MOZILLA_PKG_NAME}/pkgconfig
+
+ GARBAGE += $(pkg_config_files)
+
diff --git a/www/firefox31/xpi.mk b/www/firefox31/xpi.mk
new file mode 100644
index 00000000000..32ccc8ba95a
--- /dev/null
+++ b/www/firefox31/xpi.mk
@@ -0,0 +1,25 @@
+# $NetBSD: xpi.mk,v 1.1 2014/11/03 12:18:31 ryoon Exp $
+#
+# common logic for repackaging mozilla extensions (.xpi files)
+# Used by the {firefox31,thunderbird}-l10n packages.
+
+USE_TOOLS+= unzip pax
+
+post-extract: extract-xpi
+
+.PHONY: extract-xpi
+extract-xpi:
+.for f in ${XPI_FILES}
+ ${RUN} ${MKDIR} ${WRKDIR}/${f:S/.xpi//} && cd ${WRKDIR}/${f:S/.xpi//} && ${UNZIP_CMD} -aqo "${WRKDIR}/${f}"
+.endfor
+
+do-install: install-xpi
+
+.PHONY: install-xpi
+install-xpi:
+.for f in ${XPI_FILES}
+ id=$$(${AWK} '/em:id=/ {sub("^.*em:id=\"", "");sub("\".*$$","");print $$0}' < ${WRKDIR}/${f:S/.xpi//}/install.rdf); \
+ ${MKDIR} ${DESTDIR}${EXTENSIONS_DIR}/$${id} && \
+ cd ${WRKDIR}/${f:S/.xpi//} && \
+ pax -rw . ${DESTDIR}${EXTENSIONS_DIR}/$${id}
+.endfor