From 4f468686d03a503403fca0cf856bba43d5172843 Mon Sep 17 00:00:00 2001 From: ryoon Date: Thu, 27 Apr 2017 01:55:57 +0000 Subject: Import firefox52-52.1.0 as www/firefox52. 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. --- www/firefox52/DESCR | 10 + www/firefox52/Makefile | 99 + www/firefox52/PLIST | 4208 ++++++++++++++++++++ www/firefox52/distinfo | 112 + www/firefox52/files/desktop.in | 191 + www/firefox52/hacks.mk | 13 + www/firefox52/mozilla-common.mk | 198 + www/firefox52/options.mk | 128 + www/firefox52/patches/patch-aa | 249 ++ www/firefox52/patches/patch-ao | 17 + www/firefox52/patches/patch-as | 35 + www/firefox52/patches/patch-build_gyp.mozbuild | 24 + .../patch-build_moz.configure_init.configure | 37 + .../patch-build_moz.configure_keyfiles.configure | 21 + .../patch-build_moz.configure_memory.configure | 15 + .../patch-build_moz.configure_old.configure | 25 + .../patches/patch-build_pgo_profileserver.py | 13 + www/firefox52/patches/patch-config_Makefile.in | 27 + www/firefox52/patches/patch-config_baseconfig.mk | 21 + .../patches/patch-config_external_moz.build | 43 + .../patches/patch-config_stl__wrappers_ios | 8 + .../patches/patch-config_stl__wrappers_ostream | 8 + www/firefox52/patches/patch-config_system-headers | 50 + .../patches/patch-config_system__wrappers_unwind.h | 9 + www/firefox52/patches/patch-dom_base_moz.build | 14 + ...m_filesystem_compat_FileSystemDirectoryReader.h | 12 + .../patches/patch-dom_media_AudioStream.cpp | 38 + .../patches/patch-dom_media_AudioStream.h | 28 + www/firefox52/patches/patch-dom_media_moz.build | 28 + ...a_platforms_ffmpeg_ffvpx_FFVPXRuntimeLinker.cpp | 39 + .../patch-dom_plugins_ipc_PluginModuleChild.cpp | 33 + .../patch-dom_plugins_ipc_PluginModuleChild.h | 15 + .../patches/patch-dom_system_OSFileConstants.cpp | 33 + ...nsions_spellcheck_hunspell_glue_mozHunspell.cpp | 21 + ...h-gfx_cairo_libpixman_src_pixman-arm-neon-asm.S | 39 + .../patches/patch-gfx_gl_GLContextProviderGLX.cpp | 16 + .../patches/patch-gfx_graphite2_moz-gr-update.sh | 30 + .../patches/patch-gfx_graphite2_src_Bidi.cpp | 18 + www/firefox52/patches/patch-gfx_moz.build | 26 + .../patches/patch-gfx_skia_generate__mozbuild.py | 14 + www/firefox52/patches/patch-gfx_skia_moz.build | 14 + www/firefox52/patches/patch-gfx_thebes_moz.build | 19 + www/firefox52/patches/patch-gfx_ycbcr_moz.build | 15 + .../patches/patch-gfx_ycbcr_yuv__row__arm.S | 42 + www/firefox52/patches/patch-image_Downscaler.h | 33 + .../patches/patch-image_decoders_nsJPEGDecoder.cpp | 367 ++ .../patches/patch-intl_hyphenation_glue_hnjalloc.h | 16 + .../patches/patch-intl_unicharutil_util_moz.build | 12 + .../patch-ipc_chromium_src_base_atomicops.h | 15 + ...pc_chromium_src_base_message__pump__libevent.cc | 22 + .../patch-ipc_chromium_src_base_platform__thread.h | 16 + ...pc_chromium_src_base_platform__thread__posix.cc | 27 + .../patch-ipc_chromium_src_base_process__util.h | 14 + ...h-ipc_chromium_src_base_process__util__posix.cc | 24 + ...patch-ipc_chromium_src_base_sys__info__posix.cc | 18 + .../patch-ipc_chromium_src_base_time__posix.cc | 17 + .../patch-ipc_chromium_src_build_build__config.h | 24 + ...ipc_chromium_src_chrome_common_transport__dib.h | 15 + .../patch-ipc_glue_GeckoChildProcessHost.cpp | 48 + .../patch-js_src_jit_arm_Architecture-arm.cpp | 15 + .../patch-js_src_jit_none_AtomicOperations-sparc.h | 261 ++ www/firefox52/patches/patch-js_src_moz.build | 15 + .../patches/patch-js_xpconnect_src_XPCConvert.cpp | 16 + .../patches/patch-js_xpconnect_src_xpcprivate.h | 17 + .../patches/patch-media_libcubeb_src_cubeb.c | 26 + .../patches/patch-media_libcubeb_src_cubeb__alsa.c | 546 +++ .../patches/patch-media_libcubeb_src_cubeb__oss.c | 449 +++ .../patches/patch-media_libcubeb_src_moz.build | 28 + .../patches/patch-media_libcubeb_tests_moz.build | 12 + .../patches/patch-media_libcubeb_update.sh | 12 + ...ch-media_libsoundtouch_src_cpu__detect__x86.cpp | 15 + ...tch-media_libsoundtouch_src_soundtouch__perms.h | 14 + .../patches/patch-media_libtheora_lib_arm_armcpu.c | 25 + .../patches/patch-media_libtheora_moz.build | 16 + .../patches/patch-media_libtremor_moz.build | 12 + .../patches/patch-media_libvorbis_moz.build | 13 + .../patch-media_libyuv_source_mjpeg__decoder.cc | 12 + .../patch-media_openmax__dl_dl_api_armCOMM__s.h | 39 + .../patch-media_webrtc_signaling_test_common.build | 19 + ...les_video__capture_linux_device__info__linux.cc | 42 + ...s_video__capture_linux_video__capture__linux.cc | 30 + ...brtc_modules_video__capture_video__capture.gypi | 34 + .../patch-memory_mozalloc_mozalloc__abort.cpp | 18 + www/firefox52/patches/patch-mfbt_Poison.cpp | 20 + .../patch-mobile_android_installer_Makefile.in | 15 + .../patches/patch-modules_libjar_nsZipArchive.cpp | 17 + www/firefox52/patches/patch-mozglue_build_arm.cpp | 59 + www/firefox52/patches/patch-mozglue_build_arm.h | 15 + www/firefox52/patches/patch-netwerk_dns_moz.build | 14 + www/firefox52/patches/patch-rc | 18 + ...omponents_osfile_modules_osfile__unix__back.jsm | 15 + ...mponents_osfile_modules_osfile__unix__front.jsm | 13 + ..._protobuf_src_google_protobuf_stubs_atomicops.h | 24 + ...uf_src_google_protobuf_stubs_platform__macros.h | 15 + ...-toolkit_components_terminator_nsTerminator.cpp | 27 + .../patches/patch-toolkit_library_moz.build | 57 + .../patches/patch-toolkit_modules_GMPUtils.jsm | 14 + www/firefox52/patches/patch-toolkit_moz.configure | 33 + ...extensions_test_browser_browser__gmpProvider.js | 14 + .../patches/patch-toolkit_xre_glxtest.cpp | 16 + .../patches/patch-toolkit_xre_nsEmbedFunctions.cpp | 24 + www/firefox52/patches/patch-xpcom_base_nscore.h | 15 + .../patches/patch-xpcom_build_XPCOMInit.cpp | 28 + ...patch-xpcom_reflect_xptcall_md_unix_Makefile.in | 50 + ...ect_xptcall_md_unix_xptcinvoke__arm__netbsd.cpp | 527 +++ ...reflect_xptcall_md_unix_xptcinvoke__asm__mips.S | 52 + ..._xptcall_md_unix_xptcinvoke__asm__ppc__netbsd.s | 25 + ...ct_xptcall_md_unix_xptcinvoke__netbsd__m68k.cpp | 75 + ...ect_xptcall_md_unix_xptcinvoke__ppc__netbsd.cpp | 47 + ...xptcall_md_unix_xptcinvoke__sparc64__netbsd.cpp | 89 + ...lect_xptcall_md_unix_xptcstubs__arm__netbsd.cpp | 217 + ..._reflect_xptcall_md_unix_xptcstubs__asm__mips.S | 52 + ...tcall_md_unix_xptcstubs__asm__sparc64__netbsd.s | 71 + ...ect_xptcall_md_unix_xptcstubs__netbsd__m68k.cpp | 41 + www/firefox52/xpi.mk | 25 + 115 files changed, 10133 insertions(+) create mode 100644 www/firefox52/DESCR create mode 100644 www/firefox52/Makefile create mode 100644 www/firefox52/PLIST create mode 100644 www/firefox52/distinfo create mode 100644 www/firefox52/files/desktop.in create mode 100644 www/firefox52/hacks.mk create mode 100644 www/firefox52/mozilla-common.mk create mode 100644 www/firefox52/options.mk create mode 100644 www/firefox52/patches/patch-aa create mode 100644 www/firefox52/patches/patch-ao create mode 100644 www/firefox52/patches/patch-as create mode 100644 www/firefox52/patches/patch-build_gyp.mozbuild create mode 100644 www/firefox52/patches/patch-build_moz.configure_init.configure create mode 100644 www/firefox52/patches/patch-build_moz.configure_keyfiles.configure create mode 100644 www/firefox52/patches/patch-build_moz.configure_memory.configure create mode 100644 www/firefox52/patches/patch-build_moz.configure_old.configure create mode 100644 www/firefox52/patches/patch-build_pgo_profileserver.py create mode 100644 www/firefox52/patches/patch-config_Makefile.in create mode 100644 www/firefox52/patches/patch-config_baseconfig.mk create mode 100644 www/firefox52/patches/patch-config_external_moz.build create mode 100644 www/firefox52/patches/patch-config_stl__wrappers_ios create mode 100644 www/firefox52/patches/patch-config_stl__wrappers_ostream create mode 100644 www/firefox52/patches/patch-config_system-headers create mode 100644 www/firefox52/patches/patch-config_system__wrappers_unwind.h create mode 100644 www/firefox52/patches/patch-dom_base_moz.build create mode 100644 www/firefox52/patches/patch-dom_filesystem_compat_FileSystemDirectoryReader.h create mode 100644 www/firefox52/patches/patch-dom_media_AudioStream.cpp create mode 100644 www/firefox52/patches/patch-dom_media_AudioStream.h create mode 100644 www/firefox52/patches/patch-dom_media_moz.build create mode 100644 www/firefox52/patches/patch-dom_media_platforms_ffmpeg_ffvpx_FFVPXRuntimeLinker.cpp create mode 100644 www/firefox52/patches/patch-dom_plugins_ipc_PluginModuleChild.cpp create mode 100644 www/firefox52/patches/patch-dom_plugins_ipc_PluginModuleChild.h create mode 100644 www/firefox52/patches/patch-dom_system_OSFileConstants.cpp create mode 100644 www/firefox52/patches/patch-extensions_spellcheck_hunspell_glue_mozHunspell.cpp create mode 100644 www/firefox52/patches/patch-gfx_cairo_libpixman_src_pixman-arm-neon-asm.S create mode 100644 www/firefox52/patches/patch-gfx_gl_GLContextProviderGLX.cpp create mode 100644 www/firefox52/patches/patch-gfx_graphite2_moz-gr-update.sh create mode 100644 www/firefox52/patches/patch-gfx_graphite2_src_Bidi.cpp create mode 100644 www/firefox52/patches/patch-gfx_moz.build create mode 100644 www/firefox52/patches/patch-gfx_skia_generate__mozbuild.py create mode 100644 www/firefox52/patches/patch-gfx_skia_moz.build create mode 100644 www/firefox52/patches/patch-gfx_thebes_moz.build create mode 100644 www/firefox52/patches/patch-gfx_ycbcr_moz.build create mode 100644 www/firefox52/patches/patch-gfx_ycbcr_yuv__row__arm.S create mode 100644 www/firefox52/patches/patch-image_Downscaler.h create mode 100644 www/firefox52/patches/patch-image_decoders_nsJPEGDecoder.cpp create mode 100644 www/firefox52/patches/patch-intl_hyphenation_glue_hnjalloc.h create mode 100644 www/firefox52/patches/patch-intl_unicharutil_util_moz.build create mode 100644 www/firefox52/patches/patch-ipc_chromium_src_base_atomicops.h create mode 100644 www/firefox52/patches/patch-ipc_chromium_src_base_message__pump__libevent.cc create mode 100644 www/firefox52/patches/patch-ipc_chromium_src_base_platform__thread.h create mode 100644 www/firefox52/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc create mode 100644 www/firefox52/patches/patch-ipc_chromium_src_base_process__util.h create mode 100644 www/firefox52/patches/patch-ipc_chromium_src_base_process__util__posix.cc create mode 100644 www/firefox52/patches/patch-ipc_chromium_src_base_sys__info__posix.cc create mode 100644 www/firefox52/patches/patch-ipc_chromium_src_base_time__posix.cc create mode 100644 www/firefox52/patches/patch-ipc_chromium_src_build_build__config.h create mode 100644 www/firefox52/patches/patch-ipc_chromium_src_chrome_common_transport__dib.h create mode 100644 www/firefox52/patches/patch-ipc_glue_GeckoChildProcessHost.cpp create mode 100644 www/firefox52/patches/patch-js_src_jit_arm_Architecture-arm.cpp create mode 100644 www/firefox52/patches/patch-js_src_jit_none_AtomicOperations-sparc.h create mode 100644 www/firefox52/patches/patch-js_src_moz.build create mode 100644 www/firefox52/patches/patch-js_xpconnect_src_XPCConvert.cpp create mode 100644 www/firefox52/patches/patch-js_xpconnect_src_xpcprivate.h create mode 100644 www/firefox52/patches/patch-media_libcubeb_src_cubeb.c create mode 100644 www/firefox52/patches/patch-media_libcubeb_src_cubeb__alsa.c create mode 100644 www/firefox52/patches/patch-media_libcubeb_src_cubeb__oss.c create mode 100644 www/firefox52/patches/patch-media_libcubeb_src_moz.build create mode 100644 www/firefox52/patches/patch-media_libcubeb_tests_moz.build create mode 100644 www/firefox52/patches/patch-media_libcubeb_update.sh create mode 100644 www/firefox52/patches/patch-media_libsoundtouch_src_cpu__detect__x86.cpp create mode 100644 www/firefox52/patches/patch-media_libsoundtouch_src_soundtouch__perms.h create mode 100644 www/firefox52/patches/patch-media_libtheora_lib_arm_armcpu.c create mode 100644 www/firefox52/patches/patch-media_libtheora_moz.build create mode 100644 www/firefox52/patches/patch-media_libtremor_moz.build create mode 100644 www/firefox52/patches/patch-media_libvorbis_moz.build create mode 100644 www/firefox52/patches/patch-media_libyuv_source_mjpeg__decoder.cc create mode 100644 www/firefox52/patches/patch-media_openmax__dl_dl_api_armCOMM__s.h create mode 100644 www/firefox52/patches/patch-media_webrtc_signaling_test_common.build create mode 100644 www/firefox52/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc create mode 100644 www/firefox52/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc create mode 100644 www/firefox52/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi create mode 100644 www/firefox52/patches/patch-memory_mozalloc_mozalloc__abort.cpp create mode 100644 www/firefox52/patches/patch-mfbt_Poison.cpp create mode 100644 www/firefox52/patches/patch-mobile_android_installer_Makefile.in create mode 100644 www/firefox52/patches/patch-modules_libjar_nsZipArchive.cpp create mode 100644 www/firefox52/patches/patch-mozglue_build_arm.cpp create mode 100644 www/firefox52/patches/patch-mozglue_build_arm.h create mode 100644 www/firefox52/patches/patch-netwerk_dns_moz.build create mode 100644 www/firefox52/patches/patch-rc create mode 100644 www/firefox52/patches/patch-toolkit_components_osfile_modules_osfile__unix__back.jsm create mode 100644 www/firefox52/patches/patch-toolkit_components_osfile_modules_osfile__unix__front.jsm create mode 100644 www/firefox52/patches/patch-toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h create mode 100644 www/firefox52/patches/patch-toolkit_components_protobuf_src_google_protobuf_stubs_platform__macros.h create mode 100644 www/firefox52/patches/patch-toolkit_components_terminator_nsTerminator.cpp create mode 100644 www/firefox52/patches/patch-toolkit_library_moz.build create mode 100644 www/firefox52/patches/patch-toolkit_modules_GMPUtils.jsm create mode 100644 www/firefox52/patches/patch-toolkit_moz.configure create mode 100644 www/firefox52/patches/patch-toolkit_mozapps_extensions_test_browser_browser__gmpProvider.js create mode 100644 www/firefox52/patches/patch-toolkit_xre_glxtest.cpp create mode 100644 www/firefox52/patches/patch-toolkit_xre_nsEmbedFunctions.cpp create mode 100644 www/firefox52/patches/patch-xpcom_base_nscore.h create mode 100644 www/firefox52/patches/patch-xpcom_build_XPCOMInit.cpp create mode 100644 www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_Makefile.in create mode 100644 www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__arm__netbsd.cpp create mode 100644 www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__mips.S create mode 100644 www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__ppc__netbsd.s create mode 100644 www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__netbsd__m68k.cpp create mode 100644 www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__ppc__netbsd.cpp create mode 100644 www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__sparc64__netbsd.cpp create mode 100644 www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs__arm__netbsd.cpp create mode 100644 www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs__asm__mips.S create mode 100644 www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs__asm__sparc64__netbsd.s create mode 100644 www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs__netbsd__m68k.cpp create mode 100644 www/firefox52/xpi.mk (limited to 'www') diff --git a/www/firefox52/DESCR b/www/firefox52/DESCR new file mode 100644 index 00000000000..16857791703 --- /dev/null +++ b/www/firefox52/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/firefox52/Makefile b/www/firefox52/Makefile new file mode 100644 index 00000000000..1e2b8b8b6a8 --- /dev/null +++ b/www/firefox52/Makefile @@ -0,0 +1,99 @@ +# $NetBSD: Makefile,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +FIREFOX_VER= ${MOZ_BRANCH}${MOZ_BRANCH_MINOR} +MOZ_BRANCH= 52.1 +MOZ_BRANCH_MINOR= .0esr + +DISTNAME= firefox-${FIREFOX_VER}.source +PKGNAME= firefox52-${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.xz + +WRKSRC= ${WRKDIR}/${DISTNAME:S/.source//} + +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 +CONFIGURE_ARGS+= --enable-application=browser + +# workround for link of libxul.so etc. +LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib/firefox52 ${COMPILER_RPATH_FLAG}${PREFIX}/lib +LDFLAGS.SunOS+= -lm + +NOT_PAX_MPROTECT_SAFE+= lib/firefox52/firefox +NOT_PAX_MPROTECT_SAFE+= lib/firefox52/firefox-bin +NOT_PAX_MPROTECT_SAFE+= lib/firefox52/plugin-container + +ALL_ENV+= MOZILLA_PKG_NAME=firefox52 + +# Avoid ld "invalid section index" errors. +BUILDLINK_TRANSFORM.SunOS+= rm:-fdata-sections +BUILDLINK_TRANSFORM.SunOS+= rm:-ffunction-sections + +SUBST_CLASSES+= dfly_malloc_h +SUBST_STAGE.dfly_malloc_h= pre-configure +SUBST_MESSAGE.dfly_malloc_h= Dont include malloc.h on dragonflybsd +SUBST_SED.dfly_malloc_h= -e 's,HAVE_MALLOC_H,HAVE_MALLOC_H \&\& !defined(__DragonFly__),g' +SUBST_FILES.dfly_malloc_h= media/libav/libavutil/mem.c +SUBST_FILES.dfly_malloc_h+= media/ffvpx/libavutil/mem.c + +LDFLAGS.DragonFly= -lplc4 -lnspr4 +LDFLAGS.FreeBSD= -lplc4 -lnspr4 +LDFLAGS.Linux= -lnspr4 + +.include "mozilla-common.mk" +.include "options.mk" + +CHECK_INTERPRETER_SKIP+=lib/firefox-sdk/sdk/bin/header.py +CHECK_INTERPRETER_SKIP+=lib/firefox-sdk/sdk/bin/typelib.py +CHECK_INTERPRETER_SKIP+=lib/firefox-sdk/sdk/bin/xpidl.py +CHECK_INTERPRETER_SKIP+=lib/firefox-sdk/sdk/bin/xpt.py + +CHECK_WRKREF_SKIP+=lib/firefox52/chrome/toolkit/content/global/buildconfig.html + +MOZILLA=firefox52 +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/glue/mozHunspell.cpp +SUBST_VARS.sys-dic= PREFIX + +post-extract: + mv ${WRKSRC}/gfx/ycbcr/yuv_row_arm.s ${WRKSRC}/gfx/ycbcr/yuv_row_arm.S + +pre-configure: + cd ${WRKSRC} && autoconf + cd ${WRKSRC}/js/src && autoconf + cd ${WRKSRC} && mkdir ${OBJDIR} + cd ${WRKSRC}/${OBJDIR} && touch old-configure.vars + +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/firefox52/PLIST b/www/firefox52/PLIST new file mode 100644 index 00000000000..7d95728ec6c --- /dev/null +++ b/www/firefox52/PLIST @@ -0,0 +1,4208 @@ +@comment $NetBSD: PLIST,v 1.1 2017/04/27 01:55:57 ryoon Exp $ +bin/firefox52 +lib/firefox52/application.ini +lib/firefox52/browser/blocklist.xml +lib/firefox52/browser/chrome.manifest +${PLIST.nobranding}lib/firefox52/browser/chrome/browser/content/branding/about-background.png +lib/firefox52/browser/chrome/browser/content/branding/about-logo.png +lib/firefox52/browser/chrome/browser/content/branding/about-logo@2x.png +lib/firefox52/browser/chrome/browser/content/branding/about-wordmark.svg +lib/firefox52/browser/chrome/browser/content/branding/about.png +lib/firefox52/browser/chrome/browser/content/branding/aboutDialog.css +lib/firefox52/browser/chrome/browser/content/branding/icon128.png +lib/firefox52/browser/chrome/browser/content/branding/icon16.png +lib/firefox52/browser/chrome/browser/content/branding/icon32.png +lib/firefox52/browser/chrome/browser/content/branding/icon48.png +lib/firefox52/browser/chrome/browser/content/branding/icon64.png +lib/firefox52/browser/chrome/browser/content/branding/identity-icons-brand.svg +lib/firefox52/browser/chrome/browser/content/branding/silhouette-40.svg +lib/firefox52/browser/chrome/browser/content/browser/aboutDialog-appUpdater.js +lib/firefox52/browser/chrome/browser/content/browser/aboutDialog.css +lib/firefox52/browser/chrome/browser/content/browser/aboutDialog.js +lib/firefox52/browser/chrome/browser/content/browser/aboutDialog.xul +lib/firefox52/browser/chrome/browser/content/browser/aboutNetError.xhtml +lib/firefox52/browser/chrome/browser/content/browser/aboutPrivateBrowsing.css +lib/firefox52/browser/chrome/browser/content/browser/aboutPrivateBrowsing.js +lib/firefox52/browser/chrome/browser/content/browser/aboutPrivateBrowsing.xhtml +lib/firefox52/browser/chrome/browser/content/browser/aboutProviderDirectory.xhtml +lib/firefox52/browser/chrome/browser/content/browser/aboutRobots-icon.png +lib/firefox52/browser/chrome/browser/content/browser/aboutRobots-widget-left.png +lib/firefox52/browser/chrome/browser/content/browser/aboutRobots.xhtml +lib/firefox52/browser/chrome/browser/content/browser/aboutSessionRestore.js +lib/firefox52/browser/chrome/browser/content/browser/aboutSessionRestore.xhtml +lib/firefox52/browser/chrome/browser/content/browser/aboutSocialError.xhtml +lib/firefox52/browser/chrome/browser/content/browser/aboutTabCrashed.css +lib/firefox52/browser/chrome/browser/content/browser/aboutTabCrashed.js +lib/firefox52/browser/chrome/browser/content/browser/aboutTabCrashed.xhtml +lib/firefox52/browser/chrome/browser/content/browser/aboutWelcomeBack.xhtml +lib/firefox52/browser/chrome/browser/content/browser/aboutaccounts/aboutaccounts.css +lib/firefox52/browser/chrome/browser/content/browser/aboutaccounts/aboutaccounts.js +lib/firefox52/browser/chrome/browser/content/browser/aboutaccounts/aboutaccounts.xhtml +lib/firefox52/browser/chrome/browser/content/browser/aboutaccounts/images/fox.png +lib/firefox52/browser/chrome/browser/content/browser/aboutaccounts/images/graphic_sync_intro.png +lib/firefox52/browser/chrome/browser/content/browser/aboutaccounts/images/graphic_sync_intro@2x.png +lib/firefox52/browser/chrome/browser/content/browser/aboutaccounts/main.css +lib/firefox52/browser/chrome/browser/content/browser/aboutaccounts/normalize.css +lib/firefox52/browser/chrome/browser/content/browser/abouthealthreport/abouthealth.css +lib/firefox52/browser/chrome/browser/content/browser/abouthealthreport/abouthealth.js +lib/firefox52/browser/chrome/browser/content/browser/abouthealthreport/abouthealth.xhtml +lib/firefox52/browser/chrome/browser/content/browser/abouthome/aboutHome.css +lib/firefox52/browser/chrome/browser/content/browser/abouthome/aboutHome.js +lib/firefox52/browser/chrome/browser/content/browser/abouthome/aboutHome.xhtml +lib/firefox52/browser/chrome/browser/content/browser/abouthome/addons.png +lib/firefox52/browser/chrome/browser/content/browser/abouthome/addons@2x.png +lib/firefox52/browser/chrome/browser/content/browser/abouthome/bookmarks.png +lib/firefox52/browser/chrome/browser/content/browser/abouthome/bookmarks@2x.png +lib/firefox52/browser/chrome/browser/content/browser/abouthome/downloads.png +lib/firefox52/browser/chrome/browser/content/browser/abouthome/downloads@2x.png +lib/firefox52/browser/chrome/browser/content/browser/abouthome/history.png +lib/firefox52/browser/chrome/browser/content/browser/abouthome/history@2x.png +lib/firefox52/browser/chrome/browser/content/browser/abouthome/mozilla.png +lib/firefox52/browser/chrome/browser/content/browser/abouthome/mozilla@2x.png +lib/firefox52/browser/chrome/browser/content/browser/abouthome/restore-large.png +lib/firefox52/browser/chrome/browser/content/browser/abouthome/restore-large@2x.png +lib/firefox52/browser/chrome/browser/content/browser/abouthome/restore.png +lib/firefox52/browser/chrome/browser/content/browser/abouthome/restore@2x.png +lib/firefox52/browser/chrome/browser/content/browser/abouthome/settings.png +lib/firefox52/browser/chrome/browser/content/browser/abouthome/settings@2x.png +lib/firefox52/browser/chrome/browser/content/browser/abouthome/snippet1.png +lib/firefox52/browser/chrome/browser/content/browser/abouthome/snippet1@2x.png +lib/firefox52/browser/chrome/browser/content/browser/abouthome/snippet2.png +lib/firefox52/browser/chrome/browser/content/browser/abouthome/snippet2@2x.png +lib/firefox52/browser/chrome/browser/content/browser/abouthome/sync.png +lib/firefox52/browser/chrome/browser/content/browser/abouthome/sync@2x.png +lib/firefox52/browser/chrome/browser/content/browser/baseMenuOverlay.xul +lib/firefox52/browser/chrome/browser/content/browser/blockedSite.xhtml +lib/firefox52/browser/chrome/browser/content/browser/bookmarks/bookmarksPanel.js +lib/firefox52/browser/chrome/browser/content/browser/bookmarks/bookmarksPanel.xul +lib/firefox52/browser/chrome/browser/content/browser/bookmarks/sidebarUtils.js +lib/firefox52/browser/chrome/browser/content/browser/browser-addons.js +lib/firefox52/browser/chrome/browser/content/browser/browser-captivePortal.js +lib/firefox52/browser/chrome/browser/content/browser/browser-ctrlTab.js +lib/firefox52/browser/chrome/browser/content/browser/browser-customization.js +lib/firefox52/browser/chrome/browser/content/browser/browser-data-submission-info-bar.js +lib/firefox52/browser/chrome/browser/content/browser/browser-devedition.js +lib/firefox52/browser/chrome/browser/content/browser/browser-feeds.js +lib/firefox52/browser/chrome/browser/content/browser/browser-fullScreenAndPointerLock.js +lib/firefox52/browser/chrome/browser/content/browser/browser-fullZoom.js +lib/firefox52/browser/chrome/browser/content/browser/browser-fxaccounts.js +lib/firefox52/browser/chrome/browser/content/browser/browser-gestureSupport.js +lib/firefox52/browser/chrome/browser/content/browser/browser-media.js +lib/firefox52/browser/chrome/browser/content/browser/browser-places.js +lib/firefox52/browser/chrome/browser/content/browser/browser-plugins.js +lib/firefox52/browser/chrome/browser/content/browser/browser-refreshblocker.js +lib/firefox52/browser/chrome/browser/content/browser/browser-safebrowsing.js +lib/firefox52/browser/chrome/browser/content/browser/browser-sidebar.js +lib/firefox52/browser/chrome/browser/content/browser/browser-social.js +lib/firefox52/browser/chrome/browser/content/browser/browser-syncui.js +lib/firefox52/browser/chrome/browser/content/browser/browser-tabPreviews.xml +lib/firefox52/browser/chrome/browser/content/browser/browser-tabsintitlebar.js +lib/firefox52/browser/chrome/browser/content/browser/browser-thumbnails.js +lib/firefox52/browser/chrome/browser/content/browser/browser-trackingprotection.js +lib/firefox52/browser/chrome/browser/content/browser/browser.css +lib/firefox52/browser/chrome/browser/content/browser/browser.js +lib/firefox52/browser/chrome/browser/content/browser/browser.xul +lib/firefox52/browser/chrome/browser/content/browser/content-UITour.js +lib/firefox52/browser/chrome/browser/content/browser/content-sessionStore.js +lib/firefox52/browser/chrome/browser/content/browser/content.js +lib/firefox52/browser/chrome/browser/content/browser/contentSearchUI.css +lib/firefox52/browser/chrome/browser/content/browser/contentSearchUI.js +lib/firefox52/browser/chrome/browser/content/browser/customizableui/panelUI.css +lib/firefox52/browser/chrome/browser/content/browser/customizableui/panelUI.js +lib/firefox52/browser/chrome/browser/content/browser/customizableui/panelUI.xml +lib/firefox52/browser/chrome/browser/content/browser/customizableui/toolbar.xml +lib/firefox52/browser/chrome/browser/content/browser/defaultthemes/1.footer.jpg +lib/firefox52/browser/chrome/browser/content/browser/defaultthemes/1.header.jpg +lib/firefox52/browser/chrome/browser/content/browser/defaultthemes/1.icon.jpg +lib/firefox52/browser/chrome/browser/content/browser/defaultthemes/1.preview.jpg +lib/firefox52/browser/chrome/browser/content/browser/defaultthemes/2.footer.jpg +lib/firefox52/browser/chrome/browser/content/browser/defaultthemes/2.header.jpg +lib/firefox52/browser/chrome/browser/content/browser/defaultthemes/2.icon.jpg +lib/firefox52/browser/chrome/browser/content/browser/defaultthemes/2.preview.jpg +lib/firefox52/browser/chrome/browser/content/browser/defaultthemes/3.footer.png +lib/firefox52/browser/chrome/browser/content/browser/defaultthemes/3.header.png +lib/firefox52/browser/chrome/browser/content/browser/defaultthemes/3.icon.png +lib/firefox52/browser/chrome/browser/content/browser/defaultthemes/3.preview.png +lib/firefox52/browser/chrome/browser/content/browser/defaultthemes/4.footer.png +lib/firefox52/browser/chrome/browser/content/browser/defaultthemes/4.header.png +lib/firefox52/browser/chrome/browser/content/browser/defaultthemes/4.icon.png +lib/firefox52/browser/chrome/browser/content/browser/defaultthemes/4.preview.png +lib/firefox52/browser/chrome/browser/content/browser/defaultthemes/5.footer.png +lib/firefox52/browser/chrome/browser/content/browser/defaultthemes/5.header.png +lib/firefox52/browser/chrome/browser/content/browser/defaultthemes/5.icon.jpg +lib/firefox52/browser/chrome/browser/content/browser/defaultthemes/5.preview.jpg +lib/firefox52/browser/chrome/browser/content/browser/defaultthemes/devedition.header.png +lib/firefox52/browser/chrome/browser/content/browser/defaultthemes/devedition.icon.png +lib/firefox52/browser/chrome/browser/content/browser/downloads/allDownloadsViewOverlay.js +lib/firefox52/browser/chrome/browser/content/browser/downloads/allDownloadsViewOverlay.xul +lib/firefox52/browser/chrome/browser/content/browser/downloads/contentAreaDownloadsView.css +lib/firefox52/browser/chrome/browser/content/browser/downloads/contentAreaDownloadsView.js +lib/firefox52/browser/chrome/browser/content/browser/downloads/contentAreaDownloadsView.xul +lib/firefox52/browser/chrome/browser/content/browser/downloads/download.xml +lib/firefox52/browser/chrome/browser/content/browser/downloads/downloads.css +lib/firefox52/browser/chrome/browser/content/browser/downloads/downloads.js +lib/firefox52/browser/chrome/browser/content/browser/downloads/downloadsOverlay.xul +lib/firefox52/browser/chrome/browser/content/browser/downloads/indicator.js +lib/firefox52/browser/chrome/browser/content/browser/downloads/indicatorOverlay.xul +lib/firefox52/browser/chrome/browser/content/browser/ext-bookmarks.js +lib/firefox52/browser/chrome/browser/content/browser/ext-browserAction.js +lib/firefox52/browser/chrome/browser/content/browser/ext-c-contextMenus.js +lib/firefox52/browser/chrome/browser/content/browser/ext-c-omnibox.js +lib/firefox52/browser/chrome/browser/content/browser/ext-c-tabs.js +lib/firefox52/browser/chrome/browser/content/browser/ext-commands.js +lib/firefox52/browser/chrome/browser/content/browser/ext-contextMenus.js +lib/firefox52/browser/chrome/browser/content/browser/ext-desktop-runtime.js +lib/firefox52/browser/chrome/browser/content/browser/ext-history.js +lib/firefox52/browser/chrome/browser/content/browser/ext-omnibox.js +lib/firefox52/browser/chrome/browser/content/browser/ext-pageAction.js +lib/firefox52/browser/chrome/browser/content/browser/ext-sessions.js +lib/firefox52/browser/chrome/browser/content/browser/ext-tabs.js +lib/firefox52/browser/chrome/browser/content/browser/ext-utils.js +lib/firefox52/browser/chrome/browser/content/browser/ext-windows.js +lib/firefox52/browser/chrome/browser/content/browser/extension.css +lib/firefox52/browser/chrome/browser/content/browser/extension.svg +lib/firefox52/browser/chrome/browser/content/browser/feeds/subscribe.js +lib/firefox52/browser/chrome/browser/content/browser/feeds/subscribe.xhtml +lib/firefox52/browser/chrome/browser/content/browser/gcli_sec_bad.svg +lib/firefox52/browser/chrome/browser/content/browser/gcli_sec_good.svg +lib/firefox52/browser/chrome/browser/content/browser/gcli_sec_moderate.svg +lib/firefox52/browser/chrome/browser/content/browser/hiddenWindow.xul +lib/firefox52/browser/chrome/browser/content/browser/history/history-panel.xul +lib/firefox52/browser/chrome/browser/content/browser/license.html +lib/firefox52/browser/chrome/browser/content/browser/microsoft-translator-attribution.png +lib/firefox52/browser/chrome/browser/content/browser/migration/extra-migration-strings.properties +lib/firefox52/browser/chrome/browser/content/browser/migration/migration.js +lib/firefox52/browser/chrome/browser/content/browser/migration/migration.xul +lib/firefox52/browser/chrome/browser/content/browser/newtab/alternativeDefaultSites.json +lib/firefox52/browser/chrome/browser/content/browser/newtab/newTab.css +lib/firefox52/browser/chrome/browser/content/browser/newtab/newTab.inadjacent.json +lib/firefox52/browser/chrome/browser/content/browser/newtab/newTab.js +lib/firefox52/browser/chrome/browser/content/browser/newtab/newTab.xhtml +lib/firefox52/browser/chrome/browser/content/browser/nsContextMenu.js +lib/firefox52/browser/chrome/browser/content/browser/pageinfo/feeds.js +lib/firefox52/browser/chrome/browser/content/browser/pageinfo/feeds.xml +lib/firefox52/browser/chrome/browser/content/browser/pageinfo/pageInfo.css +lib/firefox52/browser/chrome/browser/content/browser/pageinfo/pageInfo.js +lib/firefox52/browser/chrome/browser/content/browser/pageinfo/pageInfo.xml +lib/firefox52/browser/chrome/browser/content/browser/pageinfo/pageInfo.xul +lib/firefox52/browser/chrome/browser/content/browser/pageinfo/permissions.js +lib/firefox52/browser/chrome/browser/content/browser/pageinfo/security.js +lib/firefox52/browser/chrome/browser/content/browser/places/bookmarkProperties.js +lib/firefox52/browser/chrome/browser/content/browser/places/bookmarkProperties.xul +lib/firefox52/browser/chrome/browser/content/browser/places/bookmarkProperties2.xul +lib/firefox52/browser/chrome/browser/content/browser/places/browserPlacesViews.js +lib/firefox52/browser/chrome/browser/content/browser/places/controller.js +lib/firefox52/browser/chrome/browser/content/browser/places/downloadsViewOverlay.xul +lib/firefox52/browser/chrome/browser/content/browser/places/editBookmarkOverlay.js +lib/firefox52/browser/chrome/browser/content/browser/places/editBookmarkOverlay.xul +lib/firefox52/browser/chrome/browser/content/browser/places/history-panel.js +lib/firefox52/browser/chrome/browser/content/browser/places/menu.xml +lib/firefox52/browser/chrome/browser/content/browser/places/moveBookmarks.js +lib/firefox52/browser/chrome/browser/content/browser/places/moveBookmarks.xul +lib/firefox52/browser/chrome/browser/content/browser/places/organizer.css +lib/firefox52/browser/chrome/browser/content/browser/places/places.css +lib/firefox52/browser/chrome/browser/content/browser/places/places.js +lib/firefox52/browser/chrome/browser/content/browser/places/places.xul +lib/firefox52/browser/chrome/browser/content/browser/places/placesOverlay.xul +lib/firefox52/browser/chrome/browser/content/browser/places/tree.xml +lib/firefox52/browser/chrome/browser/content/browser/places/treeView.js +lib/firefox52/browser/chrome/browser/content/browser/preferences/applicationManager.js +lib/firefox52/browser/chrome/browser/content/browser/preferences/applicationManager.xul +lib/firefox52/browser/chrome/browser/content/browser/preferences/blocklists.js +lib/firefox52/browser/chrome/browser/content/browser/preferences/blocklists.xul +lib/firefox52/browser/chrome/browser/content/browser/preferences/colors.xul +lib/firefox52/browser/chrome/browser/content/browser/preferences/connection.js +lib/firefox52/browser/chrome/browser/content/browser/preferences/connection.xul +lib/firefox52/browser/chrome/browser/content/browser/preferences/containers.js +lib/firefox52/browser/chrome/browser/content/browser/preferences/containers.xul +lib/firefox52/browser/chrome/browser/content/browser/preferences/cookies.js +lib/firefox52/browser/chrome/browser/content/browser/preferences/cookies.xul +lib/firefox52/browser/chrome/browser/content/browser/preferences/donottrack.xul +lib/firefox52/browser/chrome/browser/content/browser/preferences/fonts.js +lib/firefox52/browser/chrome/browser/content/browser/preferences/fonts.xul +lib/firefox52/browser/chrome/browser/content/browser/preferences/handlers.css +lib/firefox52/browser/chrome/browser/content/browser/preferences/handlers.xml +lib/firefox52/browser/chrome/browser/content/browser/preferences/in-content/advanced.js +lib/firefox52/browser/chrome/browser/content/browser/preferences/in-content/applications.js +lib/firefox52/browser/chrome/browser/content/browser/preferences/in-content/containers.js +lib/firefox52/browser/chrome/browser/content/browser/preferences/in-content/content.js +lib/firefox52/browser/chrome/browser/content/browser/preferences/in-content/main.js +lib/firefox52/browser/chrome/browser/content/browser/preferences/in-content/preferences.js +lib/firefox52/browser/chrome/browser/content/browser/preferences/in-content/preferences.xul +lib/firefox52/browser/chrome/browser/content/browser/preferences/in-content/privacy.js +lib/firefox52/browser/chrome/browser/content/browser/preferences/in-content/search.js +lib/firefox52/browser/chrome/browser/content/browser/preferences/in-content/security.js +lib/firefox52/browser/chrome/browser/content/browser/preferences/in-content/subdialogs.js +lib/firefox52/browser/chrome/browser/content/browser/preferences/in-content/sync.js +lib/firefox52/browser/chrome/browser/content/browser/preferences/languages.js +lib/firefox52/browser/chrome/browser/content/browser/preferences/languages.xul +lib/firefox52/browser/chrome/browser/content/browser/preferences/permissions.js +lib/firefox52/browser/chrome/browser/content/browser/preferences/permissions.xul +lib/firefox52/browser/chrome/browser/content/browser/preferences/sanitize.js +lib/firefox52/browser/chrome/browser/content/browser/preferences/sanitize.xul +lib/firefox52/browser/chrome/browser/content/browser/preferences/selectBookmark.js +lib/firefox52/browser/chrome/browser/content/browser/preferences/selectBookmark.xul +lib/firefox52/browser/chrome/browser/content/browser/preferences/translation.js +lib/firefox52/browser/chrome/browser/content/browser/preferences/translation.xul +lib/firefox52/browser/chrome/browser/content/browser/report-phishing-overlay.xul +lib/firefox52/browser/chrome/browser/content/browser/safeMode.css +lib/firefox52/browser/chrome/browser/content/browser/safeMode.js +lib/firefox52/browser/chrome/browser/content/browser/safeMode.xul +lib/firefox52/browser/chrome/browser/content/browser/sanitize.js +lib/firefox52/browser/chrome/browser/content/browser/sanitize.xul +lib/firefox52/browser/chrome/browser/content/browser/sanitizeDialog.css +lib/firefox52/browser/chrome/browser/content/browser/sanitizeDialog.js +lib/firefox52/browser/chrome/browser/content/browser/schemas/bookmarks.json +lib/firefox52/browser/chrome/browser/content/browser/schemas/browser_action.json +lib/firefox52/browser/chrome/browser/content/browser/schemas/commands.json +lib/firefox52/browser/chrome/browser/content/browser/schemas/context_menus.json +lib/firefox52/browser/chrome/browser/content/browser/schemas/context_menus_internal.json +lib/firefox52/browser/chrome/browser/content/browser/schemas/history.json +lib/firefox52/browser/chrome/browser/content/browser/schemas/omnibox.json +lib/firefox52/browser/chrome/browser/content/browser/schemas/page_action.json +lib/firefox52/browser/chrome/browser/content/browser/schemas/sessions.json +lib/firefox52/browser/chrome/browser/content/browser/schemas/tabs.json +lib/firefox52/browser/chrome/browser/content/browser/schemas/windows.json +lib/firefox52/browser/chrome/browser/content/browser/search/search.xml +lib/firefox52/browser/chrome/browser/content/browser/search/searchReset.js +lib/firefox52/browser/chrome/browser/content/browser/search/searchReset.xhtml +lib/firefox52/browser/chrome/browser/content/browser/search/searchbarBindings.css +lib/firefox52/browser/chrome/browser/content/browser/setDesktopBackground.js +lib/firefox52/browser/chrome/browser/content/browser/setDesktopBackground.xul +lib/firefox52/browser/chrome/browser/content/browser/social-content.js +lib/firefox52/browser/chrome/browser/content/browser/sync/aboutSyncTabs-bindings.xml +lib/firefox52/browser/chrome/browser/content/browser/sync/aboutSyncTabs.css +lib/firefox52/browser/chrome/browser/content/browser/sync/aboutSyncTabs.js +lib/firefox52/browser/chrome/browser/content/browser/sync/aboutSyncTabs.xul +lib/firefox52/browser/chrome/browser/content/browser/sync/addDevice.js +lib/firefox52/browser/chrome/browser/content/browser/sync/addDevice.xul +lib/firefox52/browser/chrome/browser/content/browser/sync/customize.css +lib/firefox52/browser/chrome/browser/content/browser/sync/customize.js +lib/firefox52/browser/chrome/browser/content/browser/sync/customize.xul +lib/firefox52/browser/chrome/browser/content/browser/sync/genericChange.js +lib/firefox52/browser/chrome/browser/content/browser/sync/genericChange.xul +lib/firefox52/browser/chrome/browser/content/browser/sync/key.xhtml +lib/firefox52/browser/chrome/browser/content/browser/sync/setup.js +lib/firefox52/browser/chrome/browser/content/browser/sync/setup.xul +lib/firefox52/browser/chrome/browser/content/browser/sync/utils.js +lib/firefox52/browser/chrome/browser/content/browser/syncedtabs/sidebar.js +lib/firefox52/browser/chrome/browser/content/browser/syncedtabs/sidebar.xhtml +lib/firefox52/browser/chrome/browser/content/browser/tab-content.js +lib/firefox52/browser/chrome/browser/content/browser/tabbrowser.css +lib/firefox52/browser/chrome/browser/content/browser/tabbrowser.xml +lib/firefox52/browser/chrome/browser/content/browser/translation-infobar.xml +lib/firefox52/browser/chrome/browser/content/browser/urlbarBindings.xml +lib/firefox52/browser/chrome/browser/content/browser/usercontext.svg +lib/firefox52/browser/chrome/browser/content/browser/usercontext/usercontext.css +lib/firefox52/browser/chrome/browser/content/browser/utilityOverlay.js +lib/firefox52/browser/chrome/browser/content/browser/viewSourceOverlay.xul +lib/firefox52/browser/chrome/browser/content/browser/web-panels.js +lib/firefox52/browser/chrome/browser/content/browser/web-panels.xul +lib/firefox52/browser/chrome/browser/content/browser/webrtcIndicator.js +lib/firefox52/browser/chrome/browser/content/browser/webrtcIndicator.xul +lib/firefox52/browser/chrome/browser/skin/classic/browser/Info.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/Privacy-16.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/Security-broken.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/Toolbar-inverted.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/Toolbar-inverted@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/Toolbar-small.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/Toolbar.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/Toolbar@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/aboutNetError.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/aboutProviderDirectory.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/aboutSessionRestore-window-icon.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/aboutSessionRestore.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/aboutSocialError.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/aboutSyncTabs.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/aboutTabCrashed.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/aboutWelcomeBack.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/actionicon-tab.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/addons/addon-install-anchor.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/addons/addon-install-blocked.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/addons/addon-install-confirm.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/addons/addon-install-downloading.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/addons/addon-install-error.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/addons/addon-install-installed.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/addons/addon-install-restart.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/addons/addon-install-warning.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/badge-add-engine.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/badge-add-engine@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/blockedSite.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/browser-lightweightTheme.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/browser.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/cert-error.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/click-to-play-warning-stripes.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/connection-mixed-active-loaded.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/connection-mixed-passive-loaded.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/connection-secure.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/content-contextmenu.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/controlcenter/arrow-subview-back.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/controlcenter/arrow-subview.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/controlcenter/conn-not-secure.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/controlcenter/connection.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/controlcenter/mcb-disabled.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/controlcenter/panel.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/controlcenter/permissions.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/controlcenter/tracking-protection.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/controlcenter/warning-gray.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/controlcenter/warning-yellow.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/customizableui/background-noise-toolbar.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/customizableui/customize-illustration-rtl.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/customizableui/customize-illustration-rtl@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/customizableui/customize-illustration.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/customizableui/customize-illustration@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/customizableui/customizeFavicon.ico +lib/firefox52/browser/chrome/browser/skin/classic/browser/customizableui/customizeMode-gridTexture.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/customizableui/customizeMode-separatorHorizontal.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/customizableui/customizeMode-separatorVertical.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/customizableui/info-icon-customizeTip.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/customizableui/info-icon-customizeTip@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/customizableui/menuPanel-customizeFinish.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/customizableui/menuPanel-customizeFinish@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/customizableui/panelUI.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/customizableui/panelarrow-customizeTip.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/customizableui/panelarrow-customizeTip@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/customizableui/subView-arrow-back-inverted-rtl.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/customizableui/subView-arrow-back-inverted-rtl@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/customizableui/subView-arrow-back-inverted.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/customizableui/subView-arrow-back-inverted@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/customizableui/whimsy.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/customizableui/whimsy@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/devedition.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/devedition/urlbar-history-dropmarker.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/devtools/common.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/downloads/allDownloadsViewOverlay.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/downloads/contentAreaDownloadsView.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/downloads/download-blocked.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/downloads/download-glow-menuPanel.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/downloads/download-notification-finish.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/downloads/download-notification-start.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/downloads/download-summary.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/downloads/downloads.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/downloads/menubutton-dropmarker.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/drm-icon.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/error-pages.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/favicon-search-16.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/feeds/feedIcon.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/feeds/feedIcon16.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/feeds/subscribe-ui.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/feeds/subscribe.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/filters.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/fullscreen/insecure.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/fullscreen/secure.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/fxa/android.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/fxa/android@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/fxa/default-avatar.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/fxa/ios.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/fxa/ios@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/fxa/logo.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/fxa/logo@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/fxa/sync-illustration.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/fxa/sync-illustration.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/fxa/sync-illustration@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/gear.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/heartbeat-icon.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/heartbeat-star-lit.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/heartbeat-star-off.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/icon-search-64.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/identity-icon.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/info.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/menuPanel-customize.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/menuPanel-customize@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/menuPanel-exit.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/menuPanel-exit@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/menuPanel-help.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/menuPanel-help@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/menuPanel-small.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/menuPanel.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/monitor.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/monitor_16-10.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/newtab/close.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/newtab/controls.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/newtab/newTab.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/newtab/whimsycorn.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/notification-icons.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/page-livemarks.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/pageInfo.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/pageInfo.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/panel-icons.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/panic-panel/header-small.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/panic-panel/header-small@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/panic-panel/header.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/panic-panel/header@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/panic-panel/icons.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/panic-panel/icons@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/places/autocomplete-star.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/places/bookmarks-menu-arrow.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/places/bookmarks-notification-finish.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/places/bookmarksMenu.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/places/bookmarksToolbar-menuPanel.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/places/bookmarksToolbar.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/places/calendar.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/places/downloads.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/places/editBookmarkOverlay.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/places/livemark-item.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/places/organizer.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/places/organizer.xml +lib/firefox52/browser/chrome/browser/skin/classic/browser/places/places.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/places/query.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/places/starred48.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/places/tag.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/places/toolbarDropMarker.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/places/unsortedBookmarks.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/places/unstarred48.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/preferences/alwaysAsk.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/preferences/applications.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/preferences/containers.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/preferences/in-content/containers.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/preferences/in-content/dialog.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/preferences/in-content/favicon.ico +lib/firefox52/browser/chrome/browser/skin/classic/browser/preferences/in-content/icons.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/preferences/in-content/preferences.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/preferences/in-content/search.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/preferences/preferences.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/privatebrowsing-mask.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/privatebrowsing/aboutPrivateBrowsing.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/privatebrowsing/check.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/privatebrowsing/favicon.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/privatebrowsing/private-browsing.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/privatebrowsing/tracking-protection-off.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/privatebrowsing/tracking-protection.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/reader-tour.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/reader-tour@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/readerMode.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/reload-stop-go.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/reload-stop-go@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/sanitizeDialog.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/search-arrow-go.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/search-engine-placeholder.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/search-engine-placeholder@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/search-history-icon.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/search-indicator-badge-add.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/search-indicator-badge-add@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/search-indicator-magnifying-glass.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/search-indicator.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/search-indicator@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/searchReset.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/searchbar.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/session-restore.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/setDesktopBackground.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/slowStartup-16.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/social/gear_clicked.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/social/gear_default.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/social/services-16.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/social/services-64.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/social/share-button-active.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/social/share-button.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/sync-128.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/sync-16.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/sync-32.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/sync-bg.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/sync-desktopIcon.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/sync-horizontalbar.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/sync-horizontalbar@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/sync-mobileIcon.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/sync-notification-24.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/syncCommon.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/syncProgress-horizontalbar.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/syncProgress-horizontalbar@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/syncProgress-menuPanel.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/syncProgress-menuPanel@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/syncProgress-toolbar-inverted.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/syncProgress-toolbar.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/syncQuota.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/syncSetup.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/syncedtabs/sidebar.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/tab-crashed.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/tabbrowser/alltabs-inverted.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/tabbrowser/alltabs.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/tabbrowser/connecting.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/tabbrowser/connecting@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/tabbrowser/crashed.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/tabbrowser/newtab-inverted.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/tabbrowser/newtab.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/tabbrowser/pendingpaint.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-active-middle.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-active-middle@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-arrow-left-inverted.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-arrow-left.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-audio-small.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-audio.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-background-end.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-background-end@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-background-middle.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-background-middle@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-background-start.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-background-start@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-overflow-indicator.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-selected-end.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-selected-start.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-stroke-end.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-stroke-end@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-stroke-start.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-stroke-start@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/tabbrowser/tabDragIndicator.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/theme-switcher-icon.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/theme-switcher-icon@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/toolbarbutton-dropdown-arrow.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/tracking-protection-16.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/translating-16.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/translating-16@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/translation-16.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/translation-16@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/undoCloseTab.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/undoCloseTab@2x.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/update-badge-failed.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/update-badge.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/urlbar-star.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/urlbar-tab.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/warning-white.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/warning.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/webRTC-camera-white-16.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/webRTC-indicator.css +lib/firefox52/browser/chrome/browser/skin/classic/browser/webRTC-microphone-white-16.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/webRTC-screen-white-16.png +lib/firefox52/browser/chrome/browser/skin/classic/browser/welcome-back.svg +lib/firefox52/browser/chrome/browser/skin/classic/browser/wifi.svg +lib/firefox52/browser/chrome/browser/skin/classic/communicator/communicator.css +lib/firefox52/browser/chrome/chrome.manifest +lib/firefox52/browser/chrome/devtools/content/aboutdebugging/aboutdebugging.css +lib/firefox52/browser/chrome/devtools/content/aboutdebugging/aboutdebugging.xhtml +lib/firefox52/browser/chrome/devtools/content/aboutdebugging/initializer.js +lib/firefox52/browser/chrome/devtools/content/animationinspector/animation-controller.js +lib/firefox52/browser/chrome/devtools/content/animationinspector/animation-inspector.xhtml +lib/firefox52/browser/chrome/devtools/content/animationinspector/animation-panel.js +lib/firefox52/browser/chrome/devtools/content/canvasdebugger/callslist.js +lib/firefox52/browser/chrome/devtools/content/canvasdebugger/canvasdebugger.js +lib/firefox52/browser/chrome/devtools/content/canvasdebugger/canvasdebugger.xul +lib/firefox52/browser/chrome/devtools/content/canvasdebugger/snapshotslist.js +lib/firefox52/browser/chrome/devtools/content/commandline/commandline.css +lib/firefox52/browser/chrome/devtools/content/commandline/commandlineoutput.xhtml +lib/firefox52/browser/chrome/devtools/content/commandline/commandlinetooltip.xhtml +lib/firefox52/browser/chrome/devtools/content/debugger/debugger-controller.js +lib/firefox52/browser/chrome/devtools/content/debugger/debugger-view.js +lib/firefox52/browser/chrome/devtools/content/debugger/debugger.css +lib/firefox52/browser/chrome/devtools/content/debugger/debugger.xul +lib/firefox52/browser/chrome/devtools/content/debugger/new/images/angle-brackets.svg +lib/firefox52/browser/chrome/devtools/content/debugger/new/images/arrow.svg +lib/firefox52/browser/chrome/devtools/content/debugger/new/images/blackBox.svg +lib/firefox52/browser/chrome/devtools/content/debugger/new/images/breakpoint.svg +lib/firefox52/browser/chrome/devtools/content/debugger/new/images/close.svg +lib/firefox52/browser/chrome/devtools/content/debugger/new/images/disableBreakpoints.svg +lib/firefox52/browser/chrome/devtools/content/debugger/new/images/domain.svg +lib/firefox52/browser/chrome/devtools/content/debugger/new/images/file.svg +lib/firefox52/browser/chrome/devtools/content/debugger/new/images/folder.svg +lib/firefox52/browser/chrome/devtools/content/debugger/new/images/globe.svg +lib/firefox52/browser/chrome/devtools/content/debugger/new/images/pause-circle.svg +lib/firefox52/browser/chrome/devtools/content/debugger/new/images/pause.svg +lib/firefox52/browser/chrome/devtools/content/debugger/new/images/play.svg +lib/firefox52/browser/chrome/devtools/content/debugger/new/images/prettyPrint.svg +lib/firefox52/browser/chrome/devtools/content/debugger/new/images/resume.svg +lib/firefox52/browser/chrome/devtools/content/debugger/new/images/settings.svg +lib/firefox52/browser/chrome/devtools/content/debugger/new/images/stepIn.svg +lib/firefox52/browser/chrome/devtools/content/debugger/new/images/stepOut.svg +lib/firefox52/browser/chrome/devtools/content/debugger/new/images/stepOver.svg +lib/firefox52/browser/chrome/devtools/content/debugger/new/images/subSettings.svg +lib/firefox52/browser/chrome/devtools/content/debugger/new/images/worker.svg +lib/firefox52/browser/chrome/devtools/content/debugger/new/index.html +lib/firefox52/browser/chrome/devtools/content/debugger/utils.js +lib/firefox52/browser/chrome/devtools/content/debugger/views/filter-view.js +lib/firefox52/browser/chrome/devtools/content/debugger/views/global-search-view.js +lib/firefox52/browser/chrome/devtools/content/debugger/views/options-view.js +lib/firefox52/browser/chrome/devtools/content/debugger/views/stack-frames-classic-view.js +lib/firefox52/browser/chrome/devtools/content/debugger/views/stack-frames-view.js +lib/firefox52/browser/chrome/devtools/content/debugger/views/toolbar-view.js +lib/firefox52/browser/chrome/devtools/content/debugger/views/variable-bubble-view.js +lib/firefox52/browser/chrome/devtools/content/debugger/views/watch-expressions-view.js +lib/firefox52/browser/chrome/devtools/content/debugger/views/workers-view.js +lib/firefox52/browser/chrome/devtools/content/dom/dom.html +lib/firefox52/browser/chrome/devtools/content/dom/main.js +lib/firefox52/browser/chrome/devtools/content/framework/connect/connect.css +lib/firefox52/browser/chrome/devtools/content/framework/connect/connect.js +lib/firefox52/browser/chrome/devtools/content/framework/connect/connect.xhtml +lib/firefox52/browser/chrome/devtools/content/framework/dev-edition-promo/dev-edition-logo.png +lib/firefox52/browser/chrome/devtools/content/framework/dev-edition-promo/dev-edition-promo.css +lib/firefox52/browser/chrome/devtools/content/framework/dev-edition-promo/dev-edition-promo.xul +lib/firefox52/browser/chrome/devtools/content/framework/options-panel.css +lib/firefox52/browser/chrome/devtools/content/framework/toolbox-init.js +lib/firefox52/browser/chrome/devtools/content/framework/toolbox-options.xhtml +lib/firefox52/browser/chrome/devtools/content/framework/toolbox-process-window.js +lib/firefox52/browser/chrome/devtools/content/framework/toolbox-process-window.xul +lib/firefox52/browser/chrome/devtools/content/framework/toolbox-window.xul +lib/firefox52/browser/chrome/devtools/content/framework/toolbox.xul +lib/firefox52/browser/chrome/devtools/content/inspector/inspector.js +lib/firefox52/browser/chrome/devtools/content/inspector/inspector.xhtml +lib/firefox52/browser/chrome/devtools/content/inspector/markup/markup.xhtml +lib/firefox52/browser/chrome/devtools/content/memory/initializer.js +lib/firefox52/browser/chrome/devtools/content/memory/memory.xhtml +lib/firefox52/browser/chrome/devtools/content/netmonitor/netmonitor-controller.js +lib/firefox52/browser/chrome/devtools/content/netmonitor/netmonitor-view.js +lib/firefox52/browser/chrome/devtools/content/netmonitor/netmonitor.xul +lib/firefox52/browser/chrome/devtools/content/performance/performance-controller.js +lib/firefox52/browser/chrome/devtools/content/performance/performance-view.js +lib/firefox52/browser/chrome/devtools/content/performance/performance.xul +lib/firefox52/browser/chrome/devtools/content/performance/views/details-abstract-subview.js +lib/firefox52/browser/chrome/devtools/content/performance/views/details-js-call-tree.js +lib/firefox52/browser/chrome/devtools/content/performance/views/details-js-flamegraph.js +lib/firefox52/browser/chrome/devtools/content/performance/views/details-memory-call-tree.js +lib/firefox52/browser/chrome/devtools/content/performance/views/details-memory-flamegraph.js +lib/firefox52/browser/chrome/devtools/content/performance/views/details-waterfall.js +lib/firefox52/browser/chrome/devtools/content/performance/views/details.js +lib/firefox52/browser/chrome/devtools/content/performance/views/overview.js +lib/firefox52/browser/chrome/devtools/content/performance/views/recordings.js +lib/firefox52/browser/chrome/devtools/content/performance/views/toolbar.js +lib/firefox52/browser/chrome/devtools/content/projecteditor/chrome/content/projecteditor-loader.js +lib/firefox52/browser/chrome/devtools/content/projecteditor/chrome/content/projecteditor-loader.xul +lib/firefox52/browser/chrome/devtools/content/projecteditor/chrome/content/projecteditor-test.xul +lib/firefox52/browser/chrome/devtools/content/projecteditor/chrome/content/projecteditor.xul +lib/firefox52/browser/chrome/devtools/content/projecteditor/lib/helpers/readdir.js +lib/firefox52/browser/chrome/devtools/content/responsive.html/index.js +lib/firefox52/browser/chrome/devtools/content/responsive.html/index.xhtml +lib/firefox52/browser/chrome/devtools/content/scratchpad/scratchpad.js +lib/firefox52/browser/chrome/devtools/content/scratchpad/scratchpad.xul +lib/firefox52/browser/chrome/devtools/content/shadereditor/shadereditor.js +lib/firefox52/browser/chrome/devtools/content/shadereditor/shadereditor.xul +lib/firefox52/browser/chrome/devtools/content/shared/frame-script-utils.js +lib/firefox52/browser/chrome/devtools/content/shared/splitview.css +lib/firefox52/browser/chrome/devtools/content/shared/theme-switching.js +lib/firefox52/browser/chrome/devtools/content/shared/vendor/d3.js +lib/firefox52/browser/chrome/devtools/content/shared/vendor/dagre-d3.js +lib/firefox52/browser/chrome/devtools/content/shared/widgets/VariablesView.xul +lib/firefox52/browser/chrome/devtools/content/shared/widgets/cubic-bezier.css +lib/firefox52/browser/chrome/devtools/content/shared/widgets/filter-widget.css +lib/firefox52/browser/chrome/devtools/content/shared/widgets/graphs-frame.xhtml +lib/firefox52/browser/chrome/devtools/content/shared/widgets/mdn-docs.css +lib/firefox52/browser/chrome/devtools/content/shared/widgets/spectrum.css +lib/firefox52/browser/chrome/devtools/content/shared/widgets/widgets.css +lib/firefox52/browser/chrome/devtools/content/sourceeditor/codemirror/addon/dialog/dialog.css +lib/firefox52/browser/chrome/devtools/content/sourceeditor/codemirror/addon/hint/show-hint.js +lib/firefox52/browser/chrome/devtools/content/sourceeditor/codemirror/addon/tern/tern.js +lib/firefox52/browser/chrome/devtools/content/sourceeditor/codemirror/codemirror.bundle.js +lib/firefox52/browser/chrome/devtools/content/sourceeditor/codemirror/lib/codemirror.css +lib/firefox52/browser/chrome/devtools/content/sourceeditor/codemirror/mozilla.css +lib/firefox52/browser/chrome/devtools/content/storage/storage.xul +lib/firefox52/browser/chrome/devtools/content/styleeditor/styleeditor.xul +lib/firefox52/browser/chrome/devtools/content/webaudioeditor/controller.js +lib/firefox52/browser/chrome/devtools/content/webaudioeditor/includes.js +lib/firefox52/browser/chrome/devtools/content/webaudioeditor/models.js +lib/firefox52/browser/chrome/devtools/content/webaudioeditor/views/automation.js +lib/firefox52/browser/chrome/devtools/content/webaudioeditor/views/context.js +lib/firefox52/browser/chrome/devtools/content/webaudioeditor/views/inspector.js +lib/firefox52/browser/chrome/devtools/content/webaudioeditor/views/properties.js +lib/firefox52/browser/chrome/devtools/content/webaudioeditor/views/utils.js +lib/firefox52/browser/chrome/devtools/content/webaudioeditor/webaudioeditor.xul +lib/firefox52/browser/chrome/devtools/content/webconsole/webconsole.xul +lib/firefox52/browser/chrome/devtools/modules/devtools/client/aboutdebugging/components/aboutdebugging.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/aboutdebugging/components/addons/controls.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/aboutdebugging/components/addons/install-error.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/aboutdebugging/components/addons/panel.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/aboutdebugging/components/addons/target.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/aboutdebugging/components/panel-header.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/aboutdebugging/components/panel-menu-entry.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/aboutdebugging/components/panel-menu.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/aboutdebugging/components/tabs/panel.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/aboutdebugging/components/tabs/target.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/aboutdebugging/components/target-list.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/aboutdebugging/components/workers/panel.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/aboutdebugging/components/workers/service-worker-target.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/aboutdebugging/components/workers/target.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/aboutdebugging/modules/addon.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/aboutdebugging/modules/worker.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/animationinspector/components/animation-details.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/animationinspector/components/animation-target-node.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/animationinspector/components/animation-time-block.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/animationinspector/components/animation-timeline.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/animationinspector/components/keyframes.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/animationinspector/components/rate-selector.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/animationinspector/utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/canvasdebugger/panel.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/debugger/content/actions/breakpoints.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/debugger/content/actions/event-listeners.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/debugger/content/actions/sources.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/debugger/content/constants.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/debugger/content/globalActions.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/debugger/content/queries.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/debugger/content/reducers/async-requests.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/debugger/content/reducers/breakpoints.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/debugger/content/reducers/event-listeners.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/debugger/content/reducers/index.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/debugger/content/reducers/sources.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/debugger/content/utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/debugger/content/views/event-listeners-view.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/debugger/content/views/sources-view.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/debugger/debugger-commands.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/debugger/new/bundle.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/debugger/new/panel.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/debugger/new/pretty-print-worker.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/debugger/new/source-map-worker.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/debugger/new/styles.css +lib/firefox52/browser/chrome/devtools/modules/devtools/client/debugger/panel.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/definitions.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/dom/content/actions/filter.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/dom/content/actions/grips.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/dom/content/components/dom-tree.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/dom/content/components/main-frame.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/dom/content/components/main-toolbar.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/dom/content/constants.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/dom/content/dom-decorator.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/dom/content/dom-view.css +lib/firefox52/browser/chrome/devtools/modules/devtools/client/dom/content/dom-view.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/dom/content/grip-provider.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/dom/content/reducers/filter.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/dom/content/reducers/grips.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/dom/content/reducers/index.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/dom/content/utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/dom/dom-panel.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/framework/ToolboxProcess.jsm +lib/firefox52/browser/chrome/devtools/modules/devtools/client/framework/about-devtools-toolbox.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/framework/attach-thread.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/framework/browser-menus.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/framework/devtools-browser.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/framework/devtools.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/framework/gDevTools.jsm +lib/firefox52/browser/chrome/devtools/modules/devtools/client/framework/location-store.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/framework/menu-item.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/framework/menu.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/framework/selection.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/framework/sidebar.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/framework/source-map-service.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/framework/target-from-url.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/framework/target.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/framework/toolbox-highlighter-utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/framework/toolbox-host-manager.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/framework/toolbox-hosts.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/framework/toolbox-options.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/framework/toolbox.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/breadcrumbs.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/components/box-model.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/components/inspector-tab-panel.css +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/components/inspector-tab-panel.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/computed/computed.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/fonts/fonts.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/inspector-commands.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/inspector-search.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/layout/components/Accordion.css +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/layout/components/Accordion.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/layout/components/App.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/layout/components/Grid.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/layout/layout.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/layout/reducers/grids.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/layout/reducers/index.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/layout/store.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/layout/types.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/layout/utils/l10n.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/markup/markup.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/markup/utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/markup/views/element-container.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/markup/views/element-editor.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/markup/views/html-editor.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/markup/views/markup-container.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/markup/views/read-only-container.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/markup/views/read-only-editor.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/markup/views/root-container.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/markup/views/text-container.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/markup/views/text-editor.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/panel.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/rules/models/element-style.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/rules/models/rule.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/rules/models/text-property.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/rules/rules.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/rules/views/rule-editor.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/rules/views/text-property-editor.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/shared/dom-node-preview.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/shared/highlighters-overlay.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/shared/node-types.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/shared/style-inspector-menu.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/shared/tooltips-overlay.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/shared/utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/inspector/toolsidebar.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/jsonview/components/headers-panel.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/jsonview/components/headers.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/jsonview/components/json-panel.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/jsonview/components/main-tabbed-area.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/jsonview/components/reps/toolbar.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/jsonview/components/search-box.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/jsonview/components/text-panel.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/jsonview/converter-child.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/jsonview/converter-observer.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/jsonview/converter-sniffer.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/jsonview/css/general.css +lib/firefox52/browser/chrome/devtools/modules/devtools/client/jsonview/css/headers-panel.css +lib/firefox52/browser/chrome/devtools/modules/devtools/client/jsonview/css/json-panel.css +lib/firefox52/browser/chrome/devtools/modules/devtools/client/jsonview/css/main.css +lib/firefox52/browser/chrome/devtools/modules/devtools/client/jsonview/css/search-box.css +lib/firefox52/browser/chrome/devtools/modules/devtools/client/jsonview/css/search.svg +lib/firefox52/browser/chrome/devtools/modules/devtools/client/jsonview/css/text-panel.css +lib/firefox52/browser/chrome/devtools/modules/devtools/client/jsonview/css/toolbar.css +lib/firefox52/browser/chrome/devtools/modules/devtools/client/jsonview/json-viewer.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/jsonview/lib/require.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/jsonview/main.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/jsonview/utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/jsonview/viewer-config.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/actions/allocations.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/actions/census-display.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/actions/diffing.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/actions/filter.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/actions/io.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/actions/label-display.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/actions/refresh.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/actions/sizes.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/actions/snapshot.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/actions/task-cache.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/actions/tree-map-display.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/actions/view.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/app.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/components/census-header.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/components/census-tree-item.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/components/census.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/components/dominator-tree-header.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/components/dominator-tree-item.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/components/dominator-tree.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/components/heap.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/components/individuals-header.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/components/individuals.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/components/list.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/components/shortest-paths.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/components/snapshot-list-item.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/components/toolbar.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/components/tree-map.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/components/tree-map/canvas-utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/components/tree-map/color-coarse-type.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/components/tree-map/drag-zoom.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/components/tree-map/draw.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/components/tree-map/start.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/constants.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/dominator-tree-lazy-children.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/models.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/panel.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/reducers.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/reducers/allocations.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/reducers/census-display.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/reducers/diffing.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/reducers/errors.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/reducers/filter.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/reducers/individuals.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/reducers/label-display.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/reducers/sizes.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/reducers/snapshots.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/reducers/tree-map-display.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/reducers/view.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/store.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/telemetry.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/memory/utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/menus.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/netmonitor/actions/filters.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/netmonitor/actions/index.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/netmonitor/actions/sidebar.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/netmonitor/components/filter-buttons.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/netmonitor/components/search-box.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/netmonitor/components/toggle-button.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/netmonitor/constants.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/netmonitor/custom-request-view.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/netmonitor/events.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/netmonitor/filter-predicates.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/netmonitor/har/har-automation.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/netmonitor/har/har-builder.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/netmonitor/har/har-collector.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/netmonitor/har/har-exporter.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/netmonitor/har/har-utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/netmonitor/har/toolbox-overlay.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/netmonitor/l10n.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/netmonitor/panel.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/netmonitor/performance-statistics-view.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/netmonitor/prefs.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/netmonitor/reducers/filters.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/netmonitor/reducers/index.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/netmonitor/reducers/sidebar.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/netmonitor/request-list-context-menu.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/netmonitor/request-utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/netmonitor/requests-menu-view.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/netmonitor/selectors/index.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/netmonitor/sort-predicates.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/netmonitor/store.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/netmonitor/toolbar-view.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/components/jit-optimizations-item.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/components/jit-optimizations.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/components/recording-button.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/components/recording-controls.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/components/recording-list-item.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/components/recording-list.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/components/waterfall-header.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/components/waterfall-tree-row.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/components/waterfall-tree.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/components/waterfall.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/events.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/legacy/actors.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/legacy/compatibility.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/legacy/front.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/legacy/recording.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/modules/categories.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/modules/constants.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/modules/global.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/modules/io.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/modules/logic/frame-utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/modules/logic/jit.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/modules/logic/telemetry.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/modules/logic/tree-model.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/modules/logic/waterfall-utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/modules/marker-blueprint-utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/modules/marker-dom-utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/modules/marker-formatters.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/modules/markers.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/modules/utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/modules/waterfall-ticks.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/modules/widgets/graphs.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/modules/widgets/marker-details.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/modules/widgets/markers-overview.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/modules/widgets/tree-view.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/panel.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/test/helpers/actions.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/test/helpers/dom-utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/test/helpers/event-utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/test/helpers/input-utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/test/helpers/panel-utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/test/helpers/prefs.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/test/helpers/profiler-mm-utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/test/helpers/recording-utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/test/helpers/synth-utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/test/helpers/tab-utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/test/helpers/urls.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/performance/test/helpers/wait-utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/projecteditor/lib/editors.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/projecteditor/lib/helpers/event.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/projecteditor/lib/helpers/file-picker.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/projecteditor/lib/helpers/l10n.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/projecteditor/lib/helpers/prompts.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/projecteditor/lib/plugins/app-manager/app-project-editor.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/projecteditor/lib/plugins/app-manager/plugin.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/projecteditor/lib/plugins/core.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/projecteditor/lib/plugins/delete/delete.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/projecteditor/lib/plugins/dirty/dirty.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/projecteditor/lib/plugins/image-view/image-editor.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/projecteditor/lib/plugins/image-view/plugin.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/projecteditor/lib/plugins/logging/logging.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/projecteditor/lib/plugins/new/new.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/projecteditor/lib/plugins/rename/rename.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/projecteditor/lib/plugins/save/save.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/projecteditor/lib/plugins/status-bar/plugin.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/projecteditor/lib/project.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/projecteditor/lib/projecteditor.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/projecteditor/lib/shells.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/projecteditor/lib/stores/base.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/projecteditor/lib/stores/local.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/projecteditor/lib/stores/resource.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/projecteditor/lib/tree.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/actions/devices.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/actions/display-pixel-ratio.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/actions/index.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/actions/location.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/actions/network-throttling.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/actions/screenshot.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/actions/touch-simulation.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/actions/viewports.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/app.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/browser/swap.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/browser/tunnel.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/browser/web-navigation.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/components/browser.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/components/device-modal.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/components/device-selector.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/components/dpr-selector.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/components/global-toolbar.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/components/network-throttling-selector.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/components/resizable-viewport.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/components/viewport-dimension.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/components/viewport-toolbar.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/components/viewport.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/components/viewports.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/constants.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/images/close.svg +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/images/grippers.svg +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/images/rotate-viewport.svg +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/images/screenshot.svg +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/images/select-arrow.svg +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/images/touch-events.svg +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/index.css +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/manager.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/reducers.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/reducers/devices.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/reducers/display-pixel-ratio.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/reducers/location.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/reducers/network-throttling.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/reducers/screenshot.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/reducers/touch-simulation.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/reducers/viewports.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/responsive-ua.css +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/store.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/types.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/utils/e10s.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/utils/enum.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/utils/l10n.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsive.html/utils/message.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsivedesign/resize-commands.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsivedesign/responsivedesign-child.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/responsivedesign/responsivedesign.jsm +lib/firefox52/browser/chrome/devtools/modules/devtools/client/scratchpad/scratchpad-commands.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/scratchpad/scratchpad-manager.jsm +lib/firefox52/browser/chrome/devtools/modules/devtools/client/scratchpad/scratchpad-panel.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shadereditor/panel.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/AppCacheUtils.jsm +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/DOMHelpers.jsm +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/Jsbeautify.jsm +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/SplitView.jsm +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/autocomplete-popup.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/browser-loader.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/frame.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/h-split-box.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/notification-box.css +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/notification-box.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/reps/array.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/reps/attribute.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/reps/caption.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/reps/comment-node.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/reps/date-time.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/reps/document.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/reps/element-node.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/reps/event.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/reps/function.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/reps/grip-array.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/reps/grip-map.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/reps/grip.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/reps/infinity.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/reps/long-string.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/reps/nan.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/reps/null.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/reps/number.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/reps/object-with-text.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/reps/object-with-url.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/reps/object.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/reps/promise.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/reps/prop-rep.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/reps/regexp.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/reps/rep-utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/reps/rep.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/reps/reps.css +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/reps/string.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/reps/stylesheet.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/reps/symbol.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/reps/text-node.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/reps/undefined.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/reps/window.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/search-box.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/sidebar-toggle.css +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/sidebar-toggle.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/splitter/draggable.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/splitter/split-box.css +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/splitter/split-box.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/stack-trace.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/tabs/tabbar.css +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/tabs/tabbar.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/tabs/tabs.css +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/tabs/tabs.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/tree.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/tree/label-cell.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/tree/object-provider.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/tree/tree-cell.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/tree/tree-header.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/tree/tree-row.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/tree/tree-view.css +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/components/tree/tree-view.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/css-angle.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/css-reload.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/curl.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/demangle.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/developer-toolbar.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/devices.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/devtools-file-watcher.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/doorhanger.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/file-watcher-worker.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/file-watcher.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/getjson.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/inplace-editor.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/key-shortcuts.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/keycodes.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/network-throttling-profiles.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/node-attribute-parser.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/options-view.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/output-parser.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/poller.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/prefs.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/redux/create-store.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/redux/middleware/history.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/redux/middleware/log.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/redux/middleware/promise.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/redux/middleware/task.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/redux/middleware/thunk.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/redux/middleware/wait-service.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/redux/non-react-subscriber.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/scroll.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/shim/Services.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/source-utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/suggestion-picker.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/telemetry.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/theme.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/undo.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/vendor/immutable.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/vendor/jsol.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/vendor/react-addons-shallow-compare.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/vendor/react-dom.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/vendor/react-proxy.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/vendor/react-redux.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/vendor/react-virtualized.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/vendor/react.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/vendor/redux.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/vendor/reselect.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/vendor/seamless-immutable.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/view-source.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/webgl-utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/widgets/AbstractTreeItem.jsm +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/widgets/BarGraphWidget.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/widgets/BreadcrumbsWidget.jsm +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/widgets/Chart.jsm +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/widgets/CubicBezierPresets.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/widgets/CubicBezierWidget.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/widgets/FastListWidget.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/widgets/FilterWidget.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/widgets/FlameGraph.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/widgets/Graphs.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/widgets/GraphsWorker.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/widgets/LineGraphWidget.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/widgets/MdnDocsWidget.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/widgets/MountainGraphWidget.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/widgets/SideMenuWidget.jsm +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/widgets/SimpleListWidget.jsm +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/widgets/Spectrum.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/widgets/TableWidget.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/widgets/TreeWidget.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/widgets/VariablesView.jsm +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/widgets/VariablesViewController.jsm +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/widgets/tooltip/CssDocsTooltip.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/widgets/tooltip/EventTooltipHelper.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/widgets/tooltip/HTMLTooltip.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/widgets/tooltip/ImageTooltipHelper.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/widgets/tooltip/SwatchBasedEditorTooltip.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/widgets/tooltip/SwatchColorPickerTooltip.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/widgets/tooltip/SwatchCubicBezierTooltip.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/widgets/tooltip/SwatchFilterTooltip.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/widgets/tooltip/Tooltip.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/widgets/tooltip/TooltipToggle.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/widgets/tooltip/VariableContentHelper.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/widgets/view-helpers.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/shared/zoom-keys.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/sourceeditor/autocomplete.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/sourceeditor/css-autocompleter.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/sourceeditor/debugger.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/sourceeditor/editor.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/sourceeditor/tern/browser.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/sourceeditor/tern/comment.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/sourceeditor/tern/condense.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/sourceeditor/tern/def.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/sourceeditor/tern/ecma5.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/sourceeditor/tern/infer.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/sourceeditor/tern/signal.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/sourceeditor/tern/tern.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/storage/panel.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/storage/ui.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/styleeditor/StyleEditorUI.jsm +lib/firefox52/browser/chrome/devtools/modules/devtools/client/styleeditor/StyleEditorUtil.jsm +lib/firefox52/browser/chrome/devtools/modules/devtools/client/styleeditor/StyleSheetEditor.jsm +lib/firefox52/browser/chrome/devtools/modules/devtools/client/styleeditor/styleeditor-commands.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/styleeditor/styleeditor-panel.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/styleeditor/utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/themes/audio/shutter.wav +lib/firefox52/browser/chrome/devtools/modules/devtools/client/themes/common.css +lib/firefox52/browser/chrome/devtools/modules/devtools/client/themes/splitters.css +lib/firefox52/browser/chrome/devtools/modules/devtools/client/themes/toolbars.css +lib/firefox52/browser/chrome/devtools/modules/devtools/client/themes/variables.css +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webaudioeditor/panel.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/console-commands.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/console-output.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/hudservice.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/jsterm.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/net/components/cookies-tab.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/net/components/headers-tab.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/net/components/net-info-body.css +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/net/components/net-info-body.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/net/components/net-info-group-list.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/net/components/net-info-group.css +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/net/components/net-info-group.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/net/components/net-info-params.css +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/net/components/net-info-params.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/net/components/params-tab.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/net/components/post-tab.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/net/components/response-tab.css +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/net/components/response-tab.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/net/components/size-limit.css +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/net/components/size-limit.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/net/components/spinner.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/net/components/stacktrace-tab.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/net/data-provider.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/net/main.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/net/net-request.css +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/net/net-request.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/net/utils/events.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/net/utils/json.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/net/utils/net.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/actions/enhancers.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/actions/filters.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/actions/index.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/actions/messages.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/actions/ui.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/components/collapse-button.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/components/console-output.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/components/console-table.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/components/filter-bar.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/components/filter-button.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/components/grip-message-body.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/components/message-container.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/components/message-icon.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/components/message-indent.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/components/message-repeat.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/components/message-types/console-api-call.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/components/message-types/console-command.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/components/message-types/default-renderer.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/components/message-types/evaluation-result.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/components/message-types/network-event-message.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/components/message-types/page-error.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/components/message.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/components/variables-view-link.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/constants.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/main.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/new-console-output-wrapper.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/reducers/filters.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/reducers/index.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/reducers/messages.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/reducers/prefs.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/reducers/ui.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/selectors/filters.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/selectors/messages.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/selectors/prefs.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/selectors/ui.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/store.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/stub-snippets.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/test/fixtures/stubs/consoleApi.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/test/fixtures/stubs/evaluationResult.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/test/fixtures/stubs/index.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/test/fixtures/stubs/networkEvent.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/test/fixtures/stubs/pageError.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/types.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/utils/id-generator.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/utils/messages.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/utils/variables-view.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/panel.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webconsole/webconsole.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webide/modules/addons.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webide/modules/app-manager.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webide/modules/app-projects.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webide/modules/app-validator.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webide/modules/build.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webide/modules/config-view.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webide/modules/project-list.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webide/modules/runtime-list.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webide/modules/runtimes.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webide/modules/simulator-process.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webide/modules/simulators.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webide/modules/tab-store.js +lib/firefox52/browser/chrome/devtools/modules/devtools/client/webide/modules/utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/actor-registry.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/addon.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/addons.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/animation.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/breakpoint.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/call-watcher.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/canvas.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/child-process.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/childtab.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/chrome.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/common.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/css-properties.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/csscoverage.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/device.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/director-manager.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/director-registry.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/emulation.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/environment.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/errordocs.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/eventlooplag.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/frame.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/framerate.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/gcli.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/heap-snapshot-file.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/highlighters.css +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/highlighters.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/highlighters/auto-refresh.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/highlighters/box-model.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/highlighters/css-grid.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/highlighters/css-transform.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/highlighters/eye-dropper.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/highlighters/geometry-editor.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/highlighters/measuring-tool.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/highlighters/rect.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/highlighters/rulers.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/highlighters/selector.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/highlighters/simple-outline.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/highlighters/utils/markup.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/inspector.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/layout.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/memory.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/monitor.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/object.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/performance-entries.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/performance-recording.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/performance.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/preference.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/pretty-print-worker.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/process.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/profiler.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/promises.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/reflow.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/root.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/script.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/settings.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/source.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/storage.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/string.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/styleeditor.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/styles.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/stylesheets.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/timeline.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/utils/TabSources.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/utils/actor-registry-utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/utils/audionodes.json +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/utils/automation-timeline.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/utils/css-grid-utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/utils/make-debugger.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/utils/map-uri-to-addon-id.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/utils/stack.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/utils/walker-search.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/utils/webconsole-utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/utils/webconsole-worker-utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/webaudio.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/webbrowser.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/webconsole.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/webextension.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/webgl.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/actors/worker.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/child.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/content-globals.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/content-server.jsm +lib/firefox52/browser/chrome/devtools/modules/devtools/server/css-logic.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/event-parsers.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/main.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/performance/framerate.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/performance/memory.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/performance/profiler.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/performance/recorder.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/performance/timeline.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/primitive.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/protocol.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/service-worker-child.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/websocket-server.js +lib/firefox52/browser/chrome/devtools/modules/devtools/server/worker.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/DevToolsUtils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/Loader.jsm +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/Parser.jsm +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/ThreadSafeDevToolsUtils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/acorn/acorn.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/acorn/acorn_loose.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/acorn/walk.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/apps/Devices.jsm +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/apps/Simulator.jsm +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/apps/app-actor-front.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/async-storage.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/async-utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/builtin-modules.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/client/connection-manager.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/client/main.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/content-observer.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/css/color-db.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/css/color.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/css/generated/properties-db.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/css/lexer.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/css/parsing-utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/css/properties-db.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/defer.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/deprecated-sync-thenables.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/discovery/discovery.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/dom-node-constants.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/dom-node-filter-constants.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/event-emitter.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/flags.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/fronts/actor-registry.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/fronts/addons.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/fronts/animation.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/fronts/call-watcher.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/fronts/canvas.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/fronts/css-properties.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/fronts/csscoverage.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/fronts/device.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/fronts/director-manager.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/fronts/director-registry.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/fronts/emulation.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/fronts/eventlooplag.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/fronts/framerate.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/fronts/gcli.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/fronts/highlighters.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/fronts/inspector.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/fronts/layout.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/fronts/memory.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/fronts/performance-entries.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/fronts/performance-recording.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/fronts/performance.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/fronts/preference.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/fronts/profiler.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/fronts/promises.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/fronts/reflow.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/fronts/settings.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/fronts/storage.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/fronts/string.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/fronts/styles.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/fronts/stylesheets.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/fronts/timeline.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/fronts/webaudio.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/fronts/webgl.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/commands/addon.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/commands/appcache.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/commands/calllog.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/commands/cmd.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/commands/cookie.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/commands/csscoverage.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/commands/folder.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/commands/highlight.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/commands/index.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/commands/inject.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/commands/jsb.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/commands/listen.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/commands/mdn.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/commands/measure.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/commands/media.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/commands/pagemod.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/commands/paintflashing.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/commands/qsa.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/commands/restart.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/commands/rulers.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/commands/screenshot.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/commands/security.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/cli.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/commands/clear.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/commands/commands.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/commands/context.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/commands/help.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/commands/mocks.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/commands/pref.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/commands/preflist.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/commands/test.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/connectors/connectors.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/converters/basic.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/converters/converters.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/converters/html.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/converters/terminal.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/fields/delegate.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/fields/fields.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/fields/selection.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/index.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/l10n.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/languages/command.html +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/languages/command.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/languages/javascript.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/languages/languages.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/mozui/completer.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/mozui/inputter.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/mozui/tooltip.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/settings.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/system.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/array.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/boolean.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/command.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/date.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/delegate.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/file.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/fileparser.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/javascript.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/node.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/number.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/resource.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/selection.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/setting.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/string.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/types.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/union.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/types/url.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/ui/focus.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/ui/history.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/ui/intro.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/ui/menu.css +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/ui/menu.html +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/ui/menu.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/ui/view.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/util/domtemplate.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/util/fileparser.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/util/filesystem.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/util/host.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/util/l10n.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/util/legacy.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/util/prism.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/util/spell.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/util/util.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/gcli/templater.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/heapsnapshot/CensusUtils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/heapsnapshot/DominatorTreeNode.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/heapsnapshot/HeapAnalysesClient.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/heapsnapshot/HeapAnalysesWorker.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/heapsnapshot/HeapSnapshotFileUtils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/heapsnapshot/census-tree-node.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/heapsnapshot/shortest-paths.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/indentation.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/inspector/css-logic.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/jsbeautify/beautify.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/jsbeautify/lib/sanitytest.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/jsbeautify/lib/urlencode_unpacker.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/jsbeautify/src/beautify-css.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/jsbeautify/src/beautify-html.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/jsbeautify/src/beautify-js.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/jsbeautify/src/beautify-tests.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/l10n.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/layout/utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/loader-plugin-raw.jsm +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/node-properties/node-properties.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/path.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/performance/recording-common.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/performance/recording-utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/platform/chrome/clipboard.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/platform/chrome/stack.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/platform/content/clipboard.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/platform/content/stack.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/plural-form.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/pretty-fast/pretty-fast.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/protocol.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/qrcode/decoder/index.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/qrcode/encoder/index.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/qrcode/index.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/security/auth.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/security/cert.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/security/prompt.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/security/socket.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/sourcemap/source-map.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/actor-registry.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/addons.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/animation.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/breakpoint.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/call-watcher.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/canvas.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/css-properties.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/csscoverage.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/device.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/director-manager.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/director-registry.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/emulation.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/environment.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/eventlooplag.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/frame.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/framerate.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/gcli.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/heap-snapshot-file.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/highlighters.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/inspector.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/layout.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/memory.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/node.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/performance-entries.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/performance-recording.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/performance.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/preference.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/profiler.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/promises.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/reflow.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/script.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/settings.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/source.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/storage.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/string.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/styleeditor.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/styles.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/stylesheets.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/timeline.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/webaudio.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/webgl.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/specs/worker.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/sprintfjs/sprintf.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/system.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/task.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/touch/simulator-content.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/touch/simulator-core.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/touch/simulator.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/transport/packets.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/transport/stream-utils.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/transport/transport.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/transport/websocket-transport.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/webconsole/client.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/webconsole/js-property-provider.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/webconsole/network-helper.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/webconsole/network-monitor.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/webconsole/server-logger-monitor.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/webconsole/server-logger.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/webconsole/throttle.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/worker/helper.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/worker/loader.js +lib/firefox52/browser/chrome/devtools/modules/devtools/shared/worker/worker.js +lib/firefox52/browser/chrome/devtools/skin/animationinspector.css +lib/firefox52/browser/chrome/devtools/skin/boxmodel.css +lib/firefox52/browser/chrome/devtools/skin/canvasdebugger.css +lib/firefox52/browser/chrome/devtools/skin/commandline.css +lib/firefox52/browser/chrome/devtools/skin/components-frame.css +lib/firefox52/browser/chrome/devtools/skin/components-h-split-box.css +lib/firefox52/browser/chrome/devtools/skin/computed.css +lib/firefox52/browser/chrome/devtools/skin/dark-theme.css +lib/firefox52/browser/chrome/devtools/skin/debugger.css +lib/firefox52/browser/chrome/devtools/skin/devtools-browser.css +lib/firefox52/browser/chrome/devtools/skin/dom.css +lib/firefox52/browser/chrome/devtools/skin/firebug-theme.css +lib/firefox52/browser/chrome/devtools/skin/floating-scrollbars-dark-theme.css +lib/firefox52/browser/chrome/devtools/skin/floating-scrollbars-responsive-design.css +lib/firefox52/browser/chrome/devtools/skin/fonts.css +lib/firefox52/browser/chrome/devtools/skin/images/add.svg +lib/firefox52/browser/chrome/devtools/skin/images/alerticon-warning.png +lib/firefox52/browser/chrome/devtools/skin/images/alerticon-warning@2x.png +lib/firefox52/browser/chrome/devtools/skin/images/angle-swatch.svg +lib/firefox52/browser/chrome/devtools/skin/images/animation-fast-track.svg +lib/firefox52/browser/chrome/devtools/skin/images/arrow-e.png +lib/firefox52/browser/chrome/devtools/skin/images/arrow-e@2x.png +lib/firefox52/browser/chrome/devtools/skin/images/breadcrumbs-scrollbutton.png +lib/firefox52/browser/chrome/devtools/skin/images/breadcrumbs-scrollbutton@2x.png +lib/firefox52/browser/chrome/devtools/skin/images/breakpoint.svg +lib/firefox52/browser/chrome/devtools/skin/images/clear.svg +lib/firefox52/browser/chrome/devtools/skin/images/close.svg +lib/firefox52/browser/chrome/devtools/skin/images/command-console.svg +lib/firefox52/browser/chrome/devtools/skin/images/command-eyedropper.svg +lib/firefox52/browser/chrome/devtools/skin/images/command-frames.svg +lib/firefox52/browser/chrome/devtools/skin/images/command-measure.svg +lib/firefox52/browser/chrome/devtools/skin/images/command-noautohide.svg +lib/firefox52/browser/chrome/devtools/skin/images/command-paintflashing.svg +lib/firefox52/browser/chrome/devtools/skin/images/command-pick.svg +lib/firefox52/browser/chrome/devtools/skin/images/command-responsivemode.svg +lib/firefox52/browser/chrome/devtools/skin/images/command-rulers.svg +lib/firefox52/browser/chrome/devtools/skin/images/command-screenshot.svg +lib/firefox52/browser/chrome/devtools/skin/images/commandline-icon.svg +lib/firefox52/browser/chrome/devtools/skin/images/controls.png +lib/firefox52/browser/chrome/devtools/skin/images/controls@2x.png +lib/firefox52/browser/chrome/devtools/skin/images/cubic-bezier-swatch.png +lib/firefox52/browser/chrome/devtools/skin/images/cubic-bezier-swatch@2x.png +lib/firefox52/browser/chrome/devtools/skin/images/debugger-step-in.svg +lib/firefox52/browser/chrome/devtools/skin/images/debugger-step-out.svg +lib/firefox52/browser/chrome/devtools/skin/images/debugger-step-over.svg +lib/firefox52/browser/chrome/devtools/skin/images/debugger-toggleBreakpoints.svg +lib/firefox52/browser/chrome/devtools/skin/images/debugging-addons.svg +lib/firefox52/browser/chrome/devtools/skin/images/debugging-devices.svg +lib/firefox52/browser/chrome/devtools/skin/images/debugging-tabs.svg +lib/firefox52/browser/chrome/devtools/skin/images/debugging-workers.svg +lib/firefox52/browser/chrome/devtools/skin/images/diff.svg +lib/firefox52/browser/chrome/devtools/skin/images/dock-bottom.svg +lib/firefox52/browser/chrome/devtools/skin/images/dock-side.svg +lib/firefox52/browser/chrome/devtools/skin/images/dock-undock.svg +lib/firefox52/browser/chrome/devtools/skin/images/dropmarker.svg +lib/firefox52/browser/chrome/devtools/skin/images/editor-error.png +lib/firefox52/browser/chrome/devtools/skin/images/emojis/emoji-command-pick.svg +lib/firefox52/browser/chrome/devtools/skin/images/emojis/emoji-tool-canvas.svg +lib/firefox52/browser/chrome/devtools/skin/images/emojis/emoji-tool-debugger.svg +lib/firefox52/browser/chrome/devtools/skin/images/emojis/emoji-tool-dom.svg +lib/firefox52/browser/chrome/devtools/skin/images/emojis/emoji-tool-inspector.svg +lib/firefox52/browser/chrome/devtools/skin/images/emojis/emoji-tool-memory.svg +lib/firefox52/browser/chrome/devtools/skin/images/emojis/emoji-tool-network.svg +lib/firefox52/browser/chrome/devtools/skin/images/emojis/emoji-tool-profiler.svg +lib/firefox52/browser/chrome/devtools/skin/images/emojis/emoji-tool-scratchpad.svg +lib/firefox52/browser/chrome/devtools/skin/images/emojis/emoji-tool-shadereditor.svg +lib/firefox52/browser/chrome/devtools/skin/images/emojis/emoji-tool-storage.svg +lib/firefox52/browser/chrome/devtools/skin/images/emojis/emoji-tool-styleeditor.svg +lib/firefox52/browser/chrome/devtools/skin/images/emojis/emoji-tool-webaudio.svg +lib/firefox52/browser/chrome/devtools/skin/images/emojis/emoji-tool-webconsole.svg +lib/firefox52/browser/chrome/devtools/skin/images/fast-forward.svg +lib/firefox52/browser/chrome/devtools/skin/images/filetypes/dir-close.svg +lib/firefox52/browser/chrome/devtools/skin/images/filetypes/dir-open.svg +lib/firefox52/browser/chrome/devtools/skin/images/filetypes/globe.svg +lib/firefox52/browser/chrome/devtools/skin/images/filter-swatch.svg +lib/firefox52/browser/chrome/devtools/skin/images/filter.svg +lib/firefox52/browser/chrome/devtools/skin/images/filters.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/arrow-down.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/arrow-up.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/breadcrumbs-divider.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/breakpoint.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/close.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/command-console.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/command-eyedropper.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/command-frames.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/command-measure.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/command-noautohide.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/command-paintflashing.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/command-pick.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/command-responsivemode.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/command-rulers.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/command-scratchpad.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/command-screenshot.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/commandline-icon.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/debugger-blackbox.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/debugger-prettyprint.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/debugger-step-in.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/debugger-step-out.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/debugger-step-over.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/debugger-toggleBreakpoints.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/disable.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/dock-bottom.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/dock-side.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/dock-undock.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/pane-collapse.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/pane-expand.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/pause.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/play.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/read-only.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/rewind.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/spinner.png +lib/firefox52/browser/chrome/devtools/skin/images/firebug/tool-debugger-paused.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/tool-options.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/twisty-closed-firebug.svg +lib/firefox52/browser/chrome/devtools/skin/images/firebug/twisty-open-firebug.svg +lib/firefox52/browser/chrome/devtools/skin/images/geometry-editor.svg +lib/firefox52/browser/chrome/devtools/skin/images/globe.svg +lib/firefox52/browser/chrome/devtools/skin/images/grid.svg +lib/firefox52/browser/chrome/devtools/skin/images/import.svg +lib/firefox52/browser/chrome/devtools/skin/images/item-arrow-dark-ltr.svg +lib/firefox52/browser/chrome/devtools/skin/images/item-arrow-dark-rtl.svg +lib/firefox52/browser/chrome/devtools/skin/images/item-arrow-ltr.svg +lib/firefox52/browser/chrome/devtools/skin/images/item-arrow-rtl.svg +lib/firefox52/browser/chrome/devtools/skin/images/item-toggle.svg +lib/firefox52/browser/chrome/devtools/skin/images/noise.png +lib/firefox52/browser/chrome/devtools/skin/images/pane-collapse.svg +lib/firefox52/browser/chrome/devtools/skin/images/pane-expand.svg +lib/firefox52/browser/chrome/devtools/skin/images/pause.svg +lib/firefox52/browser/chrome/devtools/skin/images/performance-icons.svg +lib/firefox52/browser/chrome/devtools/skin/images/play.svg +lib/firefox52/browser/chrome/devtools/skin/images/power.svg +lib/firefox52/browser/chrome/devtools/skin/images/profiler-stopwatch.svg +lib/firefox52/browser/chrome/devtools/skin/images/pseudo-class.svg +lib/firefox52/browser/chrome/devtools/skin/images/reload.svg +lib/firefox52/browser/chrome/devtools/skin/images/responsivemode/responsive-horizontal-resizer.png +lib/firefox52/browser/chrome/devtools/skin/images/responsivemode/responsive-horizontal-resizer@2x.png +lib/firefox52/browser/chrome/devtools/skin/images/responsivemode/responsive-se-resizer.png +lib/firefox52/browser/chrome/devtools/skin/images/responsivemode/responsive-se-resizer@2x.png +lib/firefox52/browser/chrome/devtools/skin/images/responsivemode/responsive-vertical-resizer.png +lib/firefox52/browser/chrome/devtools/skin/images/responsivemode/responsive-vertical-resizer@2x.png +lib/firefox52/browser/chrome/devtools/skin/images/responsivemode/responsiveui-home.png +lib/firefox52/browser/chrome/devtools/skin/images/responsivemode/responsiveui-rotate.png +lib/firefox52/browser/chrome/devtools/skin/images/responsivemode/responsiveui-rotate@2x.png +lib/firefox52/browser/chrome/devtools/skin/images/responsivemode/responsiveui-screenshot.png +lib/firefox52/browser/chrome/devtools/skin/images/responsivemode/responsiveui-screenshot@2x.png +lib/firefox52/browser/chrome/devtools/skin/images/responsivemode/responsiveui-touch.png +lib/firefox52/browser/chrome/devtools/skin/images/responsivemode/responsiveui-touch@2x.png +lib/firefox52/browser/chrome/devtools/skin/images/rewind.svg +lib/firefox52/browser/chrome/devtools/skin/images/search-clear-dark.svg +lib/firefox52/browser/chrome/devtools/skin/images/search-clear-failed.svg +lib/firefox52/browser/chrome/devtools/skin/images/search-clear-light.svg +lib/firefox52/browser/chrome/devtools/skin/images/search.svg +lib/firefox52/browser/chrome/devtools/skin/images/security-state-broken.svg +lib/firefox52/browser/chrome/devtools/skin/images/security-state-insecure.svg +lib/firefox52/browser/chrome/devtools/skin/images/security-state-secure.svg +lib/firefox52/browser/chrome/devtools/skin/images/security-state-weak.svg +lib/firefox52/browser/chrome/devtools/skin/images/sort-arrows.svg +lib/firefox52/browser/chrome/devtools/skin/images/toggle-tools.png +lib/firefox52/browser/chrome/devtools/skin/images/toggle-tools@2x.png +lib/firefox52/browser/chrome/devtools/skin/images/tool-canvas.svg +lib/firefox52/browser/chrome/devtools/skin/images/tool-debugger-paused.svg +lib/firefox52/browser/chrome/devtools/skin/images/tool-debugger.svg +lib/firefox52/browser/chrome/devtools/skin/images/tool-dom.svg +lib/firefox52/browser/chrome/devtools/skin/images/tool-inspector.svg +lib/firefox52/browser/chrome/devtools/skin/images/tool-memory-active.svg +lib/firefox52/browser/chrome/devtools/skin/images/tool-memory.svg +lib/firefox52/browser/chrome/devtools/skin/images/tool-network.svg +lib/firefox52/browser/chrome/devtools/skin/images/tool-options.svg +lib/firefox52/browser/chrome/devtools/skin/images/tool-profiler-active.svg +lib/firefox52/browser/chrome/devtools/skin/images/tool-profiler.svg +lib/firefox52/browser/chrome/devtools/skin/images/tool-scratchpad.svg +lib/firefox52/browser/chrome/devtools/skin/images/tool-shadereditor.svg +lib/firefox52/browser/chrome/devtools/skin/images/tool-storage.svg +lib/firefox52/browser/chrome/devtools/skin/images/tool-styleeditor.svg +lib/firefox52/browser/chrome/devtools/skin/images/tool-webaudio.svg +lib/firefox52/browser/chrome/devtools/skin/images/tool-webconsole.svg +lib/firefox52/browser/chrome/devtools/skin/images/tracer-icon.png +lib/firefox52/browser/chrome/devtools/skin/images/tracer-icon@2x.png +lib/firefox52/browser/chrome/devtools/skin/images/vview-delete.png +lib/firefox52/browser/chrome/devtools/skin/images/vview-delete@2x.png +lib/firefox52/browser/chrome/devtools/skin/images/vview-edit.png +lib/firefox52/browser/chrome/devtools/skin/images/vview-edit@2x.png +lib/firefox52/browser/chrome/devtools/skin/images/vview-lock.png +lib/firefox52/browser/chrome/devtools/skin/images/vview-lock@2x.png +lib/firefox52/browser/chrome/devtools/skin/images/vview-open-inspector.png +lib/firefox52/browser/chrome/devtools/skin/images/vview-open-inspector@2x.png +lib/firefox52/browser/chrome/devtools/skin/images/webconsole.svg +lib/firefox52/browser/chrome/devtools/skin/inspector.css +lib/firefox52/browser/chrome/devtools/skin/jit-optimizations.css +lib/firefox52/browser/chrome/devtools/skin/layout.css +lib/firefox52/browser/chrome/devtools/skin/light-theme.css +lib/firefox52/browser/chrome/devtools/skin/markup.css +lib/firefox52/browser/chrome/devtools/skin/memory.css +lib/firefox52/browser/chrome/devtools/skin/netmonitor.css +lib/firefox52/browser/chrome/devtools/skin/performance.css +lib/firefox52/browser/chrome/devtools/skin/projecteditor/projecteditor.css +lib/firefox52/browser/chrome/devtools/skin/rules.css +lib/firefox52/browser/chrome/devtools/skin/scratchpad.css +lib/firefox52/browser/chrome/devtools/skin/shadereditor.css +lib/firefox52/browser/chrome/devtools/skin/splitview.css +lib/firefox52/browser/chrome/devtools/skin/storage.css +lib/firefox52/browser/chrome/devtools/skin/styleeditor.css +lib/firefox52/browser/chrome/devtools/skin/toolbars.css +lib/firefox52/browser/chrome/devtools/skin/toolbox.css +lib/firefox52/browser/chrome/devtools/skin/tooltip/arrow-horizontal-dark.png +lib/firefox52/browser/chrome/devtools/skin/tooltip/arrow-horizontal-dark@2x.png +lib/firefox52/browser/chrome/devtools/skin/tooltip/arrow-horizontal-light.png +lib/firefox52/browser/chrome/devtools/skin/tooltip/arrow-horizontal-light@2x.png +lib/firefox52/browser/chrome/devtools/skin/tooltip/arrow-vertical-dark.png +lib/firefox52/browser/chrome/devtools/skin/tooltip/arrow-vertical-dark@2x.png +lib/firefox52/browser/chrome/devtools/skin/tooltip/arrow-vertical-light.png +lib/firefox52/browser/chrome/devtools/skin/tooltip/arrow-vertical-light@2x.png +lib/firefox52/browser/chrome/devtools/skin/tooltips.css +lib/firefox52/browser/chrome/devtools/skin/webaudioeditor.css +lib/firefox52/browser/chrome/devtools/skin/webconsole.css +lib/firefox52/browser/chrome/devtools/skin/widgets.css +lib/firefox52/browser/chrome/en-US/locale/branding/brand.dtd +lib/firefox52/browser/chrome/en-US/locale/branding/brand.properties +lib/firefox52/browser/chrome/en-US/locale/branding/browserconfig.properties +lib/firefox52/browser/chrome/en-US/locale/browser-region/region.properties +lib/firefox52/browser/chrome/en-US/locale/browser/aboutAccounts.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/aboutDialog.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/aboutHealthReport.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/aboutHome.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/aboutPrivateBrowsing.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/aboutPrivateBrowsing.properties +lib/firefox52/browser/chrome/en-US/locale/browser/aboutRobots.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/aboutSearchReset.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/aboutSessionRestore.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/aboutSyncTabs.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/aboutTabCrashed.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/accounts.properties +lib/firefox52/browser/chrome/en-US/locale/browser/appstrings.properties +lib/firefox52/browser/chrome/en-US/locale/browser/baseMenuOverlay.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/bookmarks.html +lib/firefox52/browser/chrome/en-US/locale/browser/browser.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/browser.properties +lib/firefox52/browser/chrome/en-US/locale/browser/customizableui/customizableWidgets.properties +lib/firefox52/browser/chrome/en-US/locale/browser/downloads/downloads.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/downloads/downloads.properties +lib/firefox52/browser/chrome/en-US/locale/browser/downloads/settingsChange.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/engineManager.properties +lib/firefox52/browser/chrome/en-US/locale/browser/feeds/subscribe.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/feeds/subscribe.properties +lib/firefox52/browser/chrome/en-US/locale/browser/lightweightThemes.properties +lib/firefox52/browser/chrome/en-US/locale/browser/migration/migration.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/migration/migration.properties +lib/firefox52/browser/chrome/en-US/locale/browser/netError.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/newTab.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/newTab.properties +lib/firefox52/browser/chrome/en-US/locale/browser/pageInfo.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/pageInfo.properties +lib/firefox52/browser/chrome/en-US/locale/browser/places/bookmarkProperties.properties +lib/firefox52/browser/chrome/en-US/locale/browser/places/editBookmarkOverlay.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/places/moveBookmarks.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/places/places.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/places/places.properties +lib/firefox52/browser/chrome/en-US/locale/browser/preferences/advanced.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/preferences/applicationManager.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/preferences/applicationManager.properties +lib/firefox52/browser/chrome/en-US/locale/browser/preferences/applications.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/preferences/blocklists.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/preferences/colors.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/preferences/connection.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/preferences/containers.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/preferences/containers.properties +lib/firefox52/browser/chrome/en-US/locale/browser/preferences/content.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/preferences/cookies.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/preferences/donottrack.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/preferences/fonts.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/preferences/languages.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/preferences/main.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/preferences/permissions.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/preferences/preferences.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/preferences/preferences.properties +lib/firefox52/browser/chrome/en-US/locale/browser/preferences/privacy.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/preferences/search.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/preferences/security.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/preferences/selectBookmark.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/preferences/sync.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/preferences/tabs.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/preferences/translation.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/quitDialog.properties +lib/firefox52/browser/chrome/en-US/locale/browser/safeMode.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/safebrowsing/phishing-afterload-warning-message.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/safebrowsing/report-phishing.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/sanitize.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/search.properties +lib/firefox52/browser/chrome/en-US/locale/browser/searchbar.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/searchplugins/amazondotcom.xml +lib/firefox52/browser/chrome/en-US/locale/browser/searchplugins/bing.xml +lib/firefox52/browser/chrome/en-US/locale/browser/searchplugins/ddg.xml +lib/firefox52/browser/chrome/en-US/locale/browser/searchplugins/google-nocodes.xml +lib/firefox52/browser/chrome/en-US/locale/browser/searchplugins/google.xml +lib/firefox52/browser/chrome/en-US/locale/browser/searchplugins/images/yandex-en.ico +lib/firefox52/browser/chrome/en-US/locale/browser/searchplugins/list.json +lib/firefox52/browser/chrome/en-US/locale/browser/searchplugins/twitter.xml +lib/firefox52/browser/chrome/en-US/locale/browser/searchplugins/wikipedia.xml +lib/firefox52/browser/chrome/en-US/locale/browser/searchplugins/yahoo-en-CA.xml +lib/firefox52/browser/chrome/en-US/locale/browser/searchplugins/yahoo.xml +lib/firefox52/browser/chrome/en-US/locale/browser/searchplugins/yandex-en.xml +lib/firefox52/browser/chrome/en-US/locale/browser/setDesktopBackground.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/shellservice.properties +lib/firefox52/browser/chrome/en-US/locale/browser/sitePermissions.properties +lib/firefox52/browser/chrome/en-US/locale/browser/syncBrand.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/syncCustomize.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/syncGenericChange.properties +lib/firefox52/browser/chrome/en-US/locale/browser/syncKey.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/syncQuota.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/syncQuota.properties +lib/firefox52/browser/chrome/en-US/locale/browser/syncSetup.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/syncSetup.properties +lib/firefox52/browser/chrome/en-US/locale/browser/tabbrowser.properties +lib/firefox52/browser/chrome/en-US/locale/browser/taskbar.properties +lib/firefox52/browser/chrome/en-US/locale/browser/translation.dtd +lib/firefox52/browser/chrome/en-US/locale/browser/translation.properties +lib/firefox52/browser/chrome/en-US/locale/browser/webrtcIndicator.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/VariablesView.dtd +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/aboutdebugging.dtd +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/aboutdebugging.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/animationinspector.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/app-manager.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/appcacheutils.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/boxmodel.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/canvasdebugger.dtd +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/canvasdebugger.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/components.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/connection-screen.dtd +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/connection-screen.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/debugger.dtd +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/debugger.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/device.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/dom.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/eyedropper.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/filterwidget.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/font-inspector.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/graphs.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/har.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/inspector.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/jit-optimizations.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/jsonview.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/layout.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/markers.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/memory.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/menus.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/netmonitor.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/performance.dtd +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/performance.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/projecteditor.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/responsive.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/responsiveUI.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/scratchpad.dtd +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/scratchpad.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/shadereditor.dtd +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/shadereditor.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/shared.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/sourceeditor.dtd +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/sourceeditor.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/startup.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/storage.dtd +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/storage.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/styleeditor.dtd +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/styleeditor.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/toolbox.dtd +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/toolbox.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/webConsole.dtd +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/webaudioeditor.dtd +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/webaudioeditor.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/webconsole.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/webide.dtd +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/client/webide.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/shared/csscoverage.dtd +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/shared/csscoverage.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/shared/debugger.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/shared/gcli.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/shared/gclicommands.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/shared/shared.properties +lib/firefox52/browser/chrome/en-US/locale/en-US/devtools/shared/styleinspector.properties +lib/firefox52/browser/chrome/en-US/locale/pdfviewer/chrome.properties +lib/firefox52/browser/chrome/en-US/locale/pdfviewer/viewer.properties +lib/firefox52/browser/chrome/icons/default/default16.png +lib/firefox52/browser/chrome/icons/default/default32.png +lib/firefox52/browser/chrome/icons/default/default48.png +lib/firefox52/browser/chrome/pdfjs/content/PdfJs.jsm +lib/firefox52/browser/chrome/pdfjs/content/PdfJsNetwork.jsm +lib/firefox52/browser/chrome/pdfjs/content/PdfJsTelemetry.jsm +lib/firefox52/browser/chrome/pdfjs/content/PdfStreamConverter.jsm +lib/firefox52/browser/chrome/pdfjs/content/PdfjsChromeUtils.jsm +lib/firefox52/browser/chrome/pdfjs/content/PdfjsContentUtils.jsm +lib/firefox52/browser/chrome/pdfjs/content/build/pdf.js +lib/firefox52/browser/chrome/pdfjs/content/build/pdf.worker.js +lib/firefox52/browser/chrome/pdfjs/content/network.js +lib/firefox52/browser/chrome/pdfjs/content/pdfjschildbootstrap.js +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/78-EUC-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/78-EUC-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/78-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/78-RKSJ-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/78-RKSJ-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/78-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/78ms-RKSJ-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/78ms-RKSJ-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/83pv-RKSJ-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/90ms-RKSJ-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/90ms-RKSJ-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/90msp-RKSJ-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/90msp-RKSJ-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/90pv-RKSJ-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/90pv-RKSJ-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Add-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Add-RKSJ-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Add-RKSJ-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Add-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Adobe-CNS1-0.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Adobe-CNS1-1.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Adobe-CNS1-2.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Adobe-CNS1-3.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Adobe-CNS1-4.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Adobe-CNS1-5.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Adobe-CNS1-6.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Adobe-CNS1-UCS2.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Adobe-GB1-0.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Adobe-GB1-1.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Adobe-GB1-2.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Adobe-GB1-3.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Adobe-GB1-4.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Adobe-GB1-5.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Adobe-GB1-UCS2.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Adobe-Japan1-0.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Adobe-Japan1-1.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Adobe-Japan1-2.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Adobe-Japan1-3.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Adobe-Japan1-4.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Adobe-Japan1-5.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Adobe-Japan1-6.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Adobe-Japan1-UCS2.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Adobe-Korea1-0.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Adobe-Korea1-1.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Adobe-Korea1-2.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Adobe-Korea1-UCS2.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/B5-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/B5-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/B5pc-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/B5pc-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/CNS-EUC-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/CNS-EUC-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/CNS1-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/CNS1-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/CNS2-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/CNS2-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/ETHK-B5-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/ETHK-B5-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/ETen-B5-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/ETen-B5-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/ETenms-B5-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/ETenms-B5-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/EUC-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/EUC-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Ext-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Ext-RKSJ-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Ext-RKSJ-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Ext-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/GB-EUC-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/GB-EUC-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/GB-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/GB-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/GBK-EUC-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/GBK-EUC-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/GBK2K-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/GBK2K-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/GBKp-EUC-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/GBKp-EUC-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/GBT-EUC-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/GBT-EUC-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/GBT-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/GBT-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/GBTpc-EUC-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/GBTpc-EUC-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/GBpc-EUC-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/GBpc-EUC-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/HKdla-B5-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/HKdla-B5-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/HKdlb-B5-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/HKdlb-B5-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/HKgccs-B5-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/HKgccs-B5-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/HKm314-B5-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/HKm314-B5-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/HKm471-B5-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/HKm471-B5-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/HKscs-B5-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/HKscs-B5-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Hankaku.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Hiragana.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/KSC-EUC-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/KSC-EUC-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/KSC-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/KSC-Johab-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/KSC-Johab-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/KSC-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/KSCms-UHC-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/KSCms-UHC-HW-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/KSCms-UHC-HW-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/KSCms-UHC-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/KSCpc-EUC-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/KSCpc-EUC-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Katakana.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/LICENSE +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/NWP-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/NWP-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/RKSJ-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/RKSJ-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/Roman.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniCNS-UCS2-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniCNS-UCS2-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniCNS-UTF16-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniCNS-UTF16-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniCNS-UTF32-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniCNS-UTF32-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniCNS-UTF8-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniCNS-UTF8-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniGB-UCS2-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniGB-UCS2-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniGB-UTF16-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniGB-UTF16-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniGB-UTF32-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniGB-UTF32-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniGB-UTF8-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniGB-UTF8-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniJIS-UCS2-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniJIS-UCS2-HW-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniJIS-UCS2-HW-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniJIS-UCS2-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniJIS-UTF16-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniJIS-UTF16-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniJIS-UTF32-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniJIS-UTF32-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniJIS-UTF8-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniJIS-UTF8-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniJIS2004-UTF16-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniJIS2004-UTF16-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniJIS2004-UTF32-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniJIS2004-UTF32-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniJIS2004-UTF8-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniJIS2004-UTF8-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniJISPro-UCS2-HW-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniJISPro-UCS2-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniJISPro-UTF8-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniJISX0213-UTF32-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniJISX0213-UTF32-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniJISX02132004-UTF32-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniJISX02132004-UTF32-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniKS-UCS2-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniKS-UCS2-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniKS-UTF16-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniKS-UTF16-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniKS-UTF32-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniKS-UTF32-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniKS-UTF8-H.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/UniKS-UTF8-V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/V.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/cmaps/WP-Symbol.bcmap +lib/firefox52/browser/chrome/pdfjs/content/web/debugger.js +lib/firefox52/browser/chrome/pdfjs/content/web/images/annotation-check.svg +lib/firefox52/browser/chrome/pdfjs/content/web/images/annotation-comment.svg +lib/firefox52/browser/chrome/pdfjs/content/web/images/annotation-help.svg +lib/firefox52/browser/chrome/pdfjs/content/web/images/annotation-insert.svg +lib/firefox52/browser/chrome/pdfjs/content/web/images/annotation-key.svg +lib/firefox52/browser/chrome/pdfjs/content/web/images/annotation-newparagraph.svg +lib/firefox52/browser/chrome/pdfjs/content/web/images/annotation-noicon.svg +lib/firefox52/browser/chrome/pdfjs/content/web/images/annotation-note.svg +lib/firefox52/browser/chrome/pdfjs/content/web/images/annotation-paragraph.svg +lib/firefox52/browser/chrome/pdfjs/content/web/images/findbarButton-next-rtl.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/findbarButton-next-rtl@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/findbarButton-next.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/findbarButton-next@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/findbarButton-previous-rtl.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/findbarButton-previous-rtl@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/findbarButton-previous.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/findbarButton-previous@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/grab.cur +lib/firefox52/browser/chrome/pdfjs/content/web/images/grabbing.cur +lib/firefox52/browser/chrome/pdfjs/content/web/images/loading-icon.gif +lib/firefox52/browser/chrome/pdfjs/content/web/images/loading-small.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/loading-small@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-documentProperties.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-documentProperties@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-firstPage.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-firstPage@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-handTool.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-handTool@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-lastPage.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-lastPage@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-rotateCcw.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-rotateCcw@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-rotateCw.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-rotateCw@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/shadow.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/texture.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-bookmark.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-bookmark@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-download.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-download@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-menuArrows.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-menuArrows@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-openFile.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-openFile@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-pageDown-rtl.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-pageDown-rtl@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-pageDown.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-pageDown@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-pageUp-rtl.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-pageUp-rtl@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-pageUp.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-pageUp@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-presentationMode.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-presentationMode@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-print.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-print@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-search.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-search@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-secondaryToolbarToggle-rtl.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-secondaryToolbarToggle-rtl@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-secondaryToolbarToggle.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-secondaryToolbarToggle@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-sidebarToggle-rtl.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-sidebarToggle-rtl@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-sidebarToggle.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-sidebarToggle@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-viewAttachments.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-viewAttachments@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-viewOutline-rtl.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-viewOutline-rtl@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-viewOutline.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-viewOutline@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-viewThumbnail.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-viewThumbnail@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-zoomIn.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-zoomIn@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-zoomOut.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/toolbarButton-zoomOut@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/treeitem-collapsed-rtl.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/treeitem-collapsed-rtl@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/treeitem-collapsed.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/treeitem-collapsed@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/treeitem-expanded.png +lib/firefox52/browser/chrome/pdfjs/content/web/images/treeitem-expanded@2x.png +lib/firefox52/browser/chrome/pdfjs/content/web/l10n.js +lib/firefox52/browser/chrome/pdfjs/content/web/viewer.css +lib/firefox52/browser/chrome/pdfjs/content/web/viewer.html +lib/firefox52/browser/chrome/pdfjs/content/web/viewer.js +lib/firefox52/browser/chrome/webide/content/addons.js +lib/firefox52/browser/chrome/webide/content/addons.xhtml +lib/firefox52/browser/chrome/webide/content/details.js +lib/firefox52/browser/chrome/webide/content/details.xhtml +lib/firefox52/browser/chrome/webide/content/devicepreferences.js +lib/firefox52/browser/chrome/webide/content/devicepreferences.xhtml +lib/firefox52/browser/chrome/webide/content/devicesettings.js +lib/firefox52/browser/chrome/webide/content/devicesettings.xhtml +lib/firefox52/browser/chrome/webide/content/logs.js +lib/firefox52/browser/chrome/webide/content/logs.xhtml +lib/firefox52/browser/chrome/webide/content/monitor.js +lib/firefox52/browser/chrome/webide/content/monitor.xhtml +lib/firefox52/browser/chrome/webide/content/newapp.js +lib/firefox52/browser/chrome/webide/content/newapp.xul +lib/firefox52/browser/chrome/webide/content/permissionstable.js +lib/firefox52/browser/chrome/webide/content/permissionstable.xhtml +lib/firefox52/browser/chrome/webide/content/prefs.js +lib/firefox52/browser/chrome/webide/content/prefs.xhtml +lib/firefox52/browser/chrome/webide/content/project-listing.js +lib/firefox52/browser/chrome/webide/content/project-listing.xhtml +lib/firefox52/browser/chrome/webide/content/project-panel.js +lib/firefox52/browser/chrome/webide/content/runtime-listing.js +lib/firefox52/browser/chrome/webide/content/runtime-listing.xhtml +lib/firefox52/browser/chrome/webide/content/runtime-panel.js +lib/firefox52/browser/chrome/webide/content/runtimedetails.js +lib/firefox52/browser/chrome/webide/content/runtimedetails.xhtml +lib/firefox52/browser/chrome/webide/content/simulator.js +lib/firefox52/browser/chrome/webide/content/simulator.xhtml +lib/firefox52/browser/chrome/webide/content/webide.js +lib/firefox52/browser/chrome/webide/content/webide.xul +lib/firefox52/browser/chrome/webide/content/wifi-auth.js +lib/firefox52/browser/chrome/webide/content/wifi-auth.xhtml +lib/firefox52/browser/chrome/webide/skin/addons.css +lib/firefox52/browser/chrome/webide/skin/config-view.css +lib/firefox52/browser/chrome/webide/skin/deck.css +lib/firefox52/browser/chrome/webide/skin/default-app-icon.png +lib/firefox52/browser/chrome/webide/skin/details.css +lib/firefox52/browser/chrome/webide/skin/icons.png +lib/firefox52/browser/chrome/webide/skin/logs.css +lib/firefox52/browser/chrome/webide/skin/monitor.css +lib/firefox52/browser/chrome/webide/skin/newapp.css +lib/firefox52/browser/chrome/webide/skin/noise.png +lib/firefox52/browser/chrome/webide/skin/panel-listing.css +lib/firefox52/browser/chrome/webide/skin/permissionstable.css +lib/firefox52/browser/chrome/webide/skin/rocket.svg +lib/firefox52/browser/chrome/webide/skin/runtimedetails.css +lib/firefox52/browser/chrome/webide/skin/simulator.css +lib/firefox52/browser/chrome/webide/skin/throbber.svg +lib/firefox52/browser/chrome/webide/skin/webide.css +lib/firefox52/browser/chrome/webide/skin/wifi-auth.css +lib/firefox52/browser/components/ChromeProfileMigrator.js +lib/firefox52/browser/components/ExperimentsService.js +lib/firefox52/browser/components/FeedConverter.js +lib/firefox52/browser/components/FeedWriter.js +lib/firefox52/browser/components/FirefoxProfileMigrator.js +lib/firefox52/browser/components/ProfileMigrator.js +lib/firefox52/browser/components/SelfSupportService.js +lib/firefox52/browser/components/WebContentConverter.js +lib/firefox52/browser/components/aboutNewTabService.js +lib/firefox52/browser/components/components.manifest +lib/firefox52/browser/components/devtools-startup.js +lib/firefox52/browser/components/interfaces.xpt +lib/firefox52/browser/components/nsBrowserContentHandler.js +lib/firefox52/browser/components/nsBrowserGlue.js +lib/firefox52/browser/components/nsSessionStartup.js +lib/firefox52/browser/components/nsSessionStore.js +lib/firefox52/browser/components/nsSetDefaultBrowser.js +lib/firefox52/browser/components/webideCli.js +lib/firefox52/browser/defaults/permissions +lib/firefox52/browser/defaults/preferences/devtools.js +lib/firefox52/browser/defaults/preferences/firefox-branding.js +lib/firefox52/browser/defaults/preferences/firefox-l10n.js +lib/firefox52/browser/defaults/preferences/firefox.js +lib/firefox52/browser/defaults/preferences/webide-prefs.js +lib/firefox52/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/chrome.manifest +lib/firefox52/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/icon.png +lib/firefox52/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf +lib/firefox52/browser/features/aushelper@mozilla.org/bootstrap.js +lib/firefox52/browser/features/aushelper@mozilla.org/install.rdf +lib/firefox52/browser/features/e10srollout@mozilla.org/bootstrap.js +lib/firefox52/browser/features/e10srollout@mozilla.org/install.rdf +lib/firefox52/browser/features/firefox@getpocket.com/bootstrap.js +lib/firefox52/browser/features/firefox@getpocket.com/chrome.manifest +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/AboutPocket.jsm +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/Pocket.jsm +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/main.js +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/css/firasans.css +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/css/normalize.css +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/css/saved.css +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/css/signup.css +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/fonts/FiraSans-Regular.woff +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/img/pocket.svg +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/img/pocketerror@1x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/img/pocketerror@2x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/img/pocketlogo@1x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/img/pocketlogo@2x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/img/pocketlogosolo@1x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/img/pocketlogosolo@2x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/img/pocketmenuitem16.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/img/pocketmenuitem16@2x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/img/pocketsignup_button@1x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/img/pocketsignup_button@2x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/img/pocketsignup_devices@1x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/img/pocketsignup_devices@2x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/img/pocketsignup_hero@1x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/img/pocketsignup_hero@2x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/img/signup_firefoxlogo@1x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/img/signup_firefoxlogo@2x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/img/signup_help@1x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/img/signup_help@2x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/img/signup_or@1x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/img/signup_or@2x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/img/tag_close@1x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/img/tag_close@2x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/img/tag_closeactive@1x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/img/tag_closeactive@2x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/js/messages.js +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/js/saved.js +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/js/signup.js +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/js/tmpl.js +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/js/vendor/handlebars.runtime.js +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/js/vendor/jquery-2.1.1.min.js +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/js/vendor/jquery.tokeninput.min.js +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/license.txt +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/saved.html +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/signup.html +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/tmpl/saved_premiumextras.handlebars +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/tmpl/saved_premiumshell.handlebars +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/tmpl/saved_shell.handlebars +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/tmpl/signup_shell.handlebars +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/panels/tmpl/signupstoryboard_shell.handlebars +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/pktApi.jsm +lib/firefox52/browser/features/firefox@getpocket.com/chrome/content/pocket-content-process.js +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/linux/Toolbar-inverted.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/linux/Toolbar-inverted@2x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/linux/Toolbar.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/linux/Toolbar@2x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/linux/menuPanel.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/linux/menuPanel@2x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/linux/pocket.css +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/osx/Toolbar-inverted.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/osx/Toolbar-inverted@2x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/osx/Toolbar-yosemite.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/osx/Toolbar-yosemite@2x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/osx/Toolbar.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/osx/Toolbar@2x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/osx/menuPanel-yosemite.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/osx/menuPanel-yosemite@2x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/osx/menuPanel.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/osx/menuPanel@2x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/osx/pocket.css +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/shared/pocket.css +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/windows/Toolbar-XP.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/windows/Toolbar-aero.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/windows/Toolbar-aero@2x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/windows/Toolbar-inverted.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/windows/Toolbar-inverted@2x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/windows/Toolbar-lunaSilver.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/windows/Toolbar-win8.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/windows/Toolbar-win8@2x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/windows/Toolbar.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/windows/Toolbar@2x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/windows/menuPanel-aero.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/windows/menuPanel-aero@2x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/windows/menuPanel.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/windows/menuPanel@2x.png +lib/firefox52/browser/features/firefox@getpocket.com/chrome/skin/windows/pocket.css +lib/firefox52/browser/features/firefox@getpocket.com/en-US/locale/en-US/pocket.properties +lib/firefox52/browser/features/firefox@getpocket.com/install.rdf +lib/firefox52/browser/features/webcompat@mozilla.org/bootstrap.js +lib/firefox52/browser/features/webcompat@mozilla.org/install.rdf +lib/firefox52/browser/icons/mozicon128.png +lib/firefox52/browser/modules/AboutHome.jsm +lib/firefox52/browser/modules/AboutNewTab.jsm +lib/firefox52/browser/modules/AttributionCode.jsm +lib/firefox52/browser/modules/AutoMigrate.jsm +lib/firefox52/browser/modules/BrowserUITelemetry.jsm +lib/firefox52/browser/modules/BrowserUsageTelemetry.jsm +lib/firefox52/browser/modules/CastingApps.jsm +lib/firefox52/browser/modules/ContentClick.jsm +lib/firefox52/browser/modules/ContentCrashHandlers.jsm +lib/firefox52/browser/modules/ContentLinkHandler.jsm +lib/firefox52/browser/modules/ContentObservers.jsm +lib/firefox52/browser/modules/ContentSearch.jsm +lib/firefox52/browser/modules/ContentWebRTC.jsm +lib/firefox52/browser/modules/CustomizableUI.jsm +lib/firefox52/browser/modules/CustomizableWidgets.jsm +lib/firefox52/browser/modules/CustomizeMode.jsm +lib/firefox52/browser/modules/DirectoryLinksProvider.jsm +lib/firefox52/browser/modules/DownloadsCommon.jsm +lib/firefox52/browser/modules/DownloadsTaskbar.jsm +lib/firefox52/browser/modules/DownloadsViewUI.jsm +lib/firefox52/browser/modules/DragPositionManager.jsm +lib/firefox52/browser/modules/E10SUtils.jsm +lib/firefox52/browser/modules/Feeds.jsm +lib/firefox52/browser/modules/FormSubmitObserver.jsm +lib/firefox52/browser/modules/FormValidationHandler.jsm +lib/firefox52/browser/modules/HiddenFrame.jsm +lib/firefox52/browser/modules/LaterRun.jsm +lib/firefox52/browser/modules/MigrationUtils.jsm +lib/firefox52/browser/modules/NetworkPrioritizer.jsm +lib/firefox52/browser/modules/NewTabMessages.jsm +lib/firefox52/browser/modules/NewTabPrefsProvider.jsm +lib/firefox52/browser/modules/NewTabRemoteResources.jsm +lib/firefox52/browser/modules/NewTabSearchProvider.jsm +lib/firefox52/browser/modules/NewTabURL.jsm +lib/firefox52/browser/modules/NewTabWebChannel.jsm +lib/firefox52/browser/modules/PanelWideWidgetTracker.jsm +lib/firefox52/browser/modules/PermissionUI.jsm +lib/firefox52/browser/modules/PlacesProvider.jsm +lib/firefox52/browser/modules/PlacesUIUtils.jsm +lib/firefox52/browser/modules/PluginContent.jsm +lib/firefox52/browser/modules/PreviewProvider.jsm +lib/firefox52/browser/modules/ProcessHangMonitor.jsm +lib/firefox52/browser/modules/ReaderParent.jsm +lib/firefox52/browser/modules/RecentWindow.jsm +lib/firefox52/browser/modules/RemotePrompt.jsm +lib/firefox52/browser/modules/Sanitizer.jsm +lib/firefox52/browser/modules/ScrollbarSampler.jsm +lib/firefox52/browser/modules/SelfSupportBackend.jsm +lib/firefox52/browser/modules/ShellService.jsm +lib/firefox52/browser/modules/SitePermissions.jsm +lib/firefox52/browser/modules/Social.jsm +lib/firefox52/browser/modules/SocialService.jsm +lib/firefox52/browser/modules/TransientPrefs.jsm +lib/firefox52/browser/modules/UITour.jsm +lib/firefox52/browser/modules/URLBarZoom.jsm +lib/firefox52/browser/modules/devtools/client/framework/gDevTools.jsm +lib/firefox52/browser/modules/devtools/gDevTools.jsm +lib/firefox52/browser/modules/distribution.js +lib/firefox52/browser/modules/experiments/Experiments.jsm +lib/firefox52/browser/modules/offlineAppCache.jsm +lib/firefox52/browser/modules/sessionstore/ContentRestore.jsm +lib/firefox52/browser/modules/sessionstore/DocShellCapabilities.jsm +lib/firefox52/browser/modules/sessionstore/FrameTree.jsm +lib/firefox52/browser/modules/sessionstore/GlobalState.jsm +lib/firefox52/browser/modules/sessionstore/PageStyle.jsm +lib/firefox52/browser/modules/sessionstore/PrivacyFilter.jsm +lib/firefox52/browser/modules/sessionstore/PrivacyLevel.jsm +lib/firefox52/browser/modules/sessionstore/RecentlyClosedTabsAndWindowsMenuUtils.jsm +lib/firefox52/browser/modules/sessionstore/RunState.jsm +lib/firefox52/browser/modules/sessionstore/SessionCookies.jsm +lib/firefox52/browser/modules/sessionstore/SessionFile.jsm +lib/firefox52/browser/modules/sessionstore/SessionHistory.jsm +lib/firefox52/browser/modules/sessionstore/SessionMigration.jsm +lib/firefox52/browser/modules/sessionstore/SessionSaver.jsm +lib/firefox52/browser/modules/sessionstore/SessionStorage.jsm +lib/firefox52/browser/modules/sessionstore/SessionStore.jsm +lib/firefox52/browser/modules/sessionstore/SessionWorker.js +lib/firefox52/browser/modules/sessionstore/SessionWorker.jsm +lib/firefox52/browser/modules/sessionstore/StartupPerformance.jsm +lib/firefox52/browser/modules/sessionstore/TabAttributes.jsm +lib/firefox52/browser/modules/sessionstore/TabState.jsm +lib/firefox52/browser/modules/sessionstore/TabStateCache.jsm +lib/firefox52/browser/modules/sessionstore/TabStateFlusher.jsm +lib/firefox52/browser/modules/syncedtabs/EventEmitter.jsm +lib/firefox52/browser/modules/syncedtabs/SyncedTabsDeckComponent.js +lib/firefox52/browser/modules/syncedtabs/SyncedTabsDeckStore.js +lib/firefox52/browser/modules/syncedtabs/SyncedTabsDeckView.js +lib/firefox52/browser/modules/syncedtabs/SyncedTabsListStore.js +lib/firefox52/browser/modules/syncedtabs/TabListComponent.js +lib/firefox52/browser/modules/syncedtabs/TabListView.js +lib/firefox52/browser/modules/syncedtabs/util.js +lib/firefox52/browser/modules/translation/BingTranslator.jsm +lib/firefox52/browser/modules/translation/LanguageDetector.jsm +lib/firefox52/browser/modules/translation/Translation.jsm +lib/firefox52/browser/modules/translation/TranslationContentHandler.jsm +lib/firefox52/browser/modules/translation/TranslationDocument.jsm +lib/firefox52/browser/modules/translation/YandexTranslator.jsm +lib/firefox52/browser/modules/translation/cld-worker.js +lib/firefox52/browser/modules/translation/cld-worker.js.mem +lib/firefox52/browser/modules/webrtcUI.jsm +lib/firefox52/chrome.manifest +lib/firefox52/chrome/chrome.manifest +lib/firefox52/chrome/en-US/locale/en-US/alerts/alert.dtd +lib/firefox52/chrome/en-US/locale/en-US/alerts/alert.properties +lib/firefox52/chrome/en-US/locale/en-US/autoconfig/autoconfig.properties +lib/firefox52/chrome/en-US/locale/en-US/cookie/cookieAcceptDialog.dtd +lib/firefox52/chrome/en-US/locale/en-US/cookie/cookieAcceptDialog.properties +lib/firefox52/chrome/en-US/locale/en-US/formautofill/requestAutocomplete.dtd +lib/firefox52/chrome/en-US/locale/en-US/global-platform/mac/accessible.properties +lib/firefox52/chrome/en-US/locale/en-US/global-platform/mac/intl.properties +lib/firefox52/chrome/en-US/locale/en-US/global-platform/mac/platformKeys.properties +lib/firefox52/chrome/en-US/locale/en-US/global-platform/unix/accessible.properties +lib/firefox52/chrome/en-US/locale/en-US/global-platform/unix/intl.properties +lib/firefox52/chrome/en-US/locale/en-US/global-platform/unix/platformKeys.properties +lib/firefox52/chrome/en-US/locale/en-US/global-platform/win/accessible.properties +lib/firefox52/chrome/en-US/locale/en-US/global-platform/win/intl.properties +lib/firefox52/chrome/en-US/locale/en-US/global-platform/win/platformKeys.properties +lib/firefox52/chrome/en-US/locale/en-US/global/AccessFu.properties +lib/firefox52/chrome/en-US/locale/en-US/global/about.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/aboutAbout.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/aboutNetworking.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/aboutProfiles.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/aboutProfiles.properties +lib/firefox52/chrome/en-US/locale/en-US/global/aboutReader.properties +lib/firefox52/chrome/en-US/locale/en-US/global/aboutRights.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/aboutServiceWorkers.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/aboutServiceWorkers.properties +lib/firefox52/chrome/en-US/locale/en-US/global/aboutSupport.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/aboutSupport.properties +lib/firefox52/chrome/en-US/locale/en-US/global/aboutTelemetry.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/aboutTelemetry.properties +lib/firefox52/chrome/en-US/locale/en-US/global/aboutWebrtc.properties +lib/firefox52/chrome/en-US/locale/en-US/global/appPicker.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/appstrings.properties +lib/firefox52/chrome/en-US/locale/en-US/global/autocomplete.properties +lib/firefox52/chrome/en-US/locale/en-US/global/brand.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/browser.properties +lib/firefox52/chrome/en-US/locale/en-US/global/charsetMenu.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/charsetMenu.properties +lib/firefox52/chrome/en-US/locale/en-US/global/commonDialog.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/commonDialogs.properties +lib/firefox52/chrome/en-US/locale/en-US/global/config.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/config.properties +lib/firefox52/chrome/en-US/locale/en-US/global/contentAreaCommands.properties +lib/firefox52/chrome/en-US/locale/en-US/global/crashes.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/crashes.properties +lib/firefox52/chrome/en-US/locale/en-US/global/css.properties +lib/firefox52/chrome/en-US/locale/en-US/global/customizeToolbar.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/customizeToolbar.properties +lib/firefox52/chrome/en-US/locale/en-US/global/dateFormat.properties +lib/firefox52/chrome/en-US/locale/en-US/global/datetimepicker.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/dialog.properties +lib/firefox52/chrome/en-US/locale/en-US/global/dialogOverlay.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/dom/dom.properties +lib/firefox52/chrome/en-US/locale/en-US/global/editMenuOverlay.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/extensions.properties +lib/firefox52/chrome/en-US/locale/en-US/global/fallbackMenubar.properties +lib/firefox52/chrome/en-US/locale/en-US/global/filefield.properties +lib/firefox52/chrome/en-US/locale/en-US/global/filepicker.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/filepicker.properties +lib/firefox52/chrome/en-US/locale/en-US/global/findbar.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/findbar.properties +lib/firefox52/chrome/en-US/locale/en-US/global/finddialog.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/finddialog.properties +lib/firefox52/chrome/en-US/locale/en-US/global/global-strres.properties +lib/firefox52/chrome/en-US/locale/en-US/global/global.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/globalKeys.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/headsUpDisplay.properties +lib/firefox52/chrome/en-US/locale/en-US/global/intl.css +lib/firefox52/chrome/en-US/locale/en-US/global/intl.properties +lib/firefox52/chrome/en-US/locale/en-US/global/keys.properties +lib/firefox52/chrome/en-US/locale/en-US/global/languageNames.properties +lib/firefox52/chrome/en-US/locale/en-US/global/layout/HtmlForm.properties +lib/firefox52/chrome/en-US/locale/en-US/global/layout/MediaDocument.properties +lib/firefox52/chrome/en-US/locale/en-US/global/layout/htmlparser.properties +lib/firefox52/chrome/en-US/locale/en-US/global/layout/xmlparser.properties +lib/firefox52/chrome/en-US/locale/en-US/global/layout_errors.properties +lib/firefox52/chrome/en-US/locale/en-US/global/mathml/mathml.properties +lib/firefox52/chrome/en-US/locale/en-US/global/mozilla.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/narrate.properties +lib/firefox52/chrome/en-US/locale/en-US/global/netError.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/netErrorApp.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/notification.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/nsWebBrowserPersist.properties +lib/firefox52/chrome/en-US/locale/en-US/global/plugins.properties +lib/firefox52/chrome/en-US/locale/en-US/global/preferences.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/printPageSetup.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/printPreview.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/printPreviewProgress.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/printProgress.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/printdialog.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/printdialog.properties +lib/firefox52/chrome/en-US/locale/en-US/global/printing.properties +lib/firefox52/chrome/en-US/locale/en-US/global/printjoboptions.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/regionNames.properties +lib/firefox52/chrome/en-US/locale/en-US/global/resetProfile.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/resetProfile.properties +lib/firefox52/chrome/en-US/locale/en-US/global/search/search.properties +lib/firefox52/chrome/en-US/locale/en-US/global/security/caps.properties +lib/firefox52/chrome/en-US/locale/en-US/global/security/csp.properties +lib/firefox52/chrome/en-US/locale/en-US/global/security/security.properties +lib/firefox52/chrome/en-US/locale/en-US/global/svg/svg.properties +lib/firefox52/chrome/en-US/locale/en-US/global/textcontext.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/tree.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/videocontrols.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/viewSource.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/viewSource.properties +lib/firefox52/chrome/en-US/locale/en-US/global/wizard.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/wizard.properties +lib/firefox52/chrome/en-US/locale/en-US/global/xbl.properties +lib/firefox52/chrome/en-US/locale/en-US/global/xml/prettyprint.dtd +lib/firefox52/chrome/en-US/locale/en-US/global/xslt/xslt.properties +lib/firefox52/chrome/en-US/locale/en-US/global/xul.properties +lib/firefox52/chrome/en-US/locale/en-US/mozapps/downloads/downloads.dtd +lib/firefox52/chrome/en-US/locale/en-US/mozapps/downloads/downloads.properties +lib/firefox52/chrome/en-US/locale/en-US/mozapps/downloads/settingsChange.dtd +lib/firefox52/chrome/en-US/locale/en-US/mozapps/downloads/unknownContentType.dtd +lib/firefox52/chrome/en-US/locale/en-US/mozapps/downloads/unknownContentType.properties +lib/firefox52/chrome/en-US/locale/en-US/mozapps/extensions/about.dtd +lib/firefox52/chrome/en-US/locale/en-US/mozapps/extensions/blocklist.dtd +lib/firefox52/chrome/en-US/locale/en-US/mozapps/extensions/extensions.dtd +lib/firefox52/chrome/en-US/locale/en-US/mozapps/extensions/extensions.properties +lib/firefox52/chrome/en-US/locale/en-US/mozapps/extensions/newaddon.dtd +lib/firefox52/chrome/en-US/locale/en-US/mozapps/extensions/newaddon.properties +lib/firefox52/chrome/en-US/locale/en-US/mozapps/extensions/update.dtd +lib/firefox52/chrome/en-US/locale/en-US/mozapps/extensions/update.properties +lib/firefox52/chrome/en-US/locale/en-US/mozapps/handling/handling.dtd +lib/firefox52/chrome/en-US/locale/en-US/mozapps/handling/handling.properties +lib/firefox52/chrome/en-US/locale/en-US/mozapps/preferences/changemp.dtd +lib/firefox52/chrome/en-US/locale/en-US/mozapps/preferences/preferences.properties +lib/firefox52/chrome/en-US/locale/en-US/mozapps/preferences/removemp.dtd +lib/firefox52/chrome/en-US/locale/en-US/mozapps/profile/createProfileWizard.dtd +lib/firefox52/chrome/en-US/locale/en-US/mozapps/profile/profileSelection.dtd +lib/firefox52/chrome/en-US/locale/en-US/mozapps/profile/profileSelection.properties +lib/firefox52/chrome/en-US/locale/en-US/mozapps/update/history.dtd +lib/firefox52/chrome/en-US/locale/en-US/mozapps/update/updates.dtd +lib/firefox52/chrome/en-US/locale/en-US/mozapps/update/updates.properties +lib/firefox52/chrome/en-US/locale/en-US/mozapps/xpinstall/xpinstallConfirm.dtd +lib/firefox52/chrome/en-US/locale/en-US/mozapps/xpinstall/xpinstallConfirm.properties +lib/firefox52/chrome/en-US/locale/en-US/necko/necko.properties +lib/firefox52/chrome/en-US/locale/en-US/passwordmgr/passwordManager.dtd +lib/firefox52/chrome/en-US/locale/en-US/passwordmgr/passwordmgr.properties +lib/firefox52/chrome/en-US/locale/en-US/pipnss/nsserrors.properties +lib/firefox52/chrome/en-US/locale/en-US/pipnss/pipnss.properties +lib/firefox52/chrome/en-US/locale/en-US/pippki/certManager.dtd +lib/firefox52/chrome/en-US/locale/en-US/pippki/deviceManager.dtd +lib/firefox52/chrome/en-US/locale/en-US/pippki/pippki.dtd +lib/firefox52/chrome/en-US/locale/en-US/pippki/pippki.properties +lib/firefox52/chrome/en-US/locale/en-US/places/places.properties +lib/firefox52/chrome/en-US/locale/en-US/pluginproblem/pluginproblem.dtd +lib/firefox52/chrome/en-US/locale/en-US/services/errors.properties +lib/firefox52/chrome/en-US/locale/en-US/services/sync.properties +lib/firefox52/chrome/marionette/content/accessibility.js +lib/firefox52/chrome/marionette/content/action.js +lib/firefox52/chrome/marionette/content/addon.js +lib/firefox52/chrome/marionette/content/assert.js +lib/firefox52/chrome/marionette/content/atom.js +lib/firefox52/chrome/marionette/content/browser.js +lib/firefox52/chrome/marionette/content/capture.js +lib/firefox52/chrome/marionette/content/cert.js +lib/firefox52/chrome/marionette/content/cookies.js +lib/firefox52/chrome/marionette/content/dispatcher.js +lib/firefox52/chrome/marionette/content/driver.js +lib/firefox52/chrome/marionette/content/element.js +lib/firefox52/chrome/marionette/content/error.js +lib/firefox52/chrome/marionette/content/evaluate.js +lib/firefox52/chrome/marionette/content/event.js +lib/firefox52/chrome/marionette/content/frame.js +lib/firefox52/chrome/marionette/content/interaction.js +lib/firefox52/chrome/marionette/content/l10n.js +lib/firefox52/chrome/marionette/content/legacyaction.js +lib/firefox52/chrome/marionette/content/listener.js +lib/firefox52/chrome/marionette/content/logging.js +lib/firefox52/chrome/marionette/content/message.js +lib/firefox52/chrome/marionette/content/modal.js +lib/firefox52/chrome/marionette/content/navigate.js +lib/firefox52/chrome/marionette/content/proxy.js +lib/firefox52/chrome/marionette/content/server.js +lib/firefox52/chrome/marionette/content/session.js +lib/firefox52/chrome/marionette/content/simpletest.js +lib/firefox52/chrome/pippki/content/pippki/CAOverlay.xul +lib/firefox52/chrome/pippki/content/pippki/MineOverlay.xul +lib/firefox52/chrome/pippki/content/pippki/OrphanOverlay.xul +lib/firefox52/chrome/pippki/content/pippki/OthersOverlay.xul +lib/firefox52/chrome/pippki/content/pippki/WebSitesOverlay.xul +lib/firefox52/chrome/pippki/content/pippki/certDump.xul +lib/firefox52/chrome/pippki/content/pippki/certManager.js +lib/firefox52/chrome/pippki/content/pippki/certManager.xul +lib/firefox52/chrome/pippki/content/pippki/certViewer.js +lib/firefox52/chrome/pippki/content/pippki/certViewer.xul +lib/firefox52/chrome/pippki/content/pippki/changepassword.js +lib/firefox52/chrome/pippki/content/pippki/changepassword.xul +lib/firefox52/chrome/pippki/content/pippki/choosetoken.js +lib/firefox52/chrome/pippki/content/pippki/choosetoken.xul +lib/firefox52/chrome/pippki/content/pippki/clientauthask.js +lib/firefox52/chrome/pippki/content/pippki/clientauthask.xul +lib/firefox52/chrome/pippki/content/pippki/createCertInfo.js +lib/firefox52/chrome/pippki/content/pippki/createCertInfo.xul +lib/firefox52/chrome/pippki/content/pippki/deletecert.js +lib/firefox52/chrome/pippki/content/pippki/deletecert.xul +lib/firefox52/chrome/pippki/content/pippki/device_manager.js +lib/firefox52/chrome/pippki/content/pippki/device_manager.xul +lib/firefox52/chrome/pippki/content/pippki/downloadcert.js +lib/firefox52/chrome/pippki/content/pippki/downloadcert.xul +lib/firefox52/chrome/pippki/content/pippki/editcacert.js +lib/firefox52/chrome/pippki/content/pippki/editcacert.xul +lib/firefox52/chrome/pippki/content/pippki/exceptionDialog.js +lib/firefox52/chrome/pippki/content/pippki/exceptionDialog.xul +lib/firefox52/chrome/pippki/content/pippki/load_device.xul +lib/firefox52/chrome/pippki/content/pippki/pippki.js +lib/firefox52/chrome/pippki/content/pippki/protectedAuth.js +lib/firefox52/chrome/pippki/content/pippki/protectedAuth.xul +lib/firefox52/chrome/pippki/content/pippki/resetpassword.js +lib/firefox52/chrome/pippki/content/pippki/resetpassword.xul +lib/firefox52/chrome/pippki/content/pippki/setp12password.js +lib/firefox52/chrome/pippki/content/pippki/setp12password.xul +lib/firefox52/chrome/pippki/content/pippki/viewCertDetails.xul +lib/firefox52/chrome/recording/content/recording.js +lib/firefox52/chrome/recording/content/recording.xul +lib/firefox52/chrome/toolkit/content/cookie/cookieAcceptDialog.js +lib/firefox52/chrome/toolkit/content/cookie/cookieAcceptDialog.xul +lib/firefox52/chrome/toolkit/content/extensions/ext-alarms.js +lib/firefox52/chrome/toolkit/content/extensions/ext-backgroundPage.js +lib/firefox52/chrome/toolkit/content/extensions/ext-browser-content.js +lib/firefox52/chrome/toolkit/content/extensions/ext-c-backgroundPage.js +lib/firefox52/chrome/toolkit/content/extensions/ext-c-extension.js +lib/firefox52/chrome/toolkit/content/extensions/ext-c-runtime.js +lib/firefox52/chrome/toolkit/content/extensions/ext-c-storage.js +lib/firefox52/chrome/toolkit/content/extensions/ext-c-test.js +lib/firefox52/chrome/toolkit/content/extensions/ext-cookies.js +lib/firefox52/chrome/toolkit/content/extensions/ext-downloads.js +lib/firefox52/chrome/toolkit/content/extensions/ext-extension.js +lib/firefox52/chrome/toolkit/content/extensions/ext-i18n.js +lib/firefox52/chrome/toolkit/content/extensions/ext-idle.js +lib/firefox52/chrome/toolkit/content/extensions/ext-management.js +lib/firefox52/chrome/toolkit/content/extensions/ext-notifications.js +lib/firefox52/chrome/toolkit/content/extensions/ext-runtime.js +lib/firefox52/chrome/toolkit/content/extensions/ext-storage.js +lib/firefox52/chrome/toolkit/content/extensions/ext-topSites.js +lib/firefox52/chrome/toolkit/content/extensions/ext-webNavigation.js +lib/firefox52/chrome/toolkit/content/extensions/ext-webRequest.js +lib/firefox52/chrome/toolkit/content/extensions/schemas/alarms.json +lib/firefox52/chrome/toolkit/content/extensions/schemas/cookies.json +lib/firefox52/chrome/toolkit/content/extensions/schemas/downloads.json +lib/firefox52/chrome/toolkit/content/extensions/schemas/events.json +lib/firefox52/chrome/toolkit/content/extensions/schemas/experiments.json +lib/firefox52/chrome/toolkit/content/extensions/schemas/extension.json +lib/firefox52/chrome/toolkit/content/extensions/schemas/extension_types.json +lib/firefox52/chrome/toolkit/content/extensions/schemas/i18n.json +lib/firefox52/chrome/toolkit/content/extensions/schemas/idle.json +lib/firefox52/chrome/toolkit/content/extensions/schemas/management.json +lib/firefox52/chrome/toolkit/content/extensions/schemas/manifest.json +lib/firefox52/chrome/toolkit/content/extensions/schemas/native_host_manifest.json +lib/firefox52/chrome/toolkit/content/extensions/schemas/notifications.json +lib/firefox52/chrome/toolkit/content/extensions/schemas/runtime.json +lib/firefox52/chrome/toolkit/content/extensions/schemas/storage.json +lib/firefox52/chrome/toolkit/content/extensions/schemas/test.json +lib/firefox52/chrome/toolkit/content/extensions/schemas/top_sites.json +lib/firefox52/chrome/toolkit/content/extensions/schemas/web_navigation.json +lib/firefox52/chrome/toolkit/content/extensions/schemas/web_request.json +lib/firefox52/chrome/toolkit/content/formautofill/requestAutocomplete.js +lib/firefox52/chrome/toolkit/content/formautofill/requestAutocomplete.xhtml +lib/firefox52/chrome/toolkit/content/gfxsanity/gfxFrameScript.js +lib/firefox52/chrome/toolkit/content/gfxsanity/sanityparent.html +lib/firefox52/chrome/toolkit/content/gfxsanity/sanitytest.html +lib/firefox52/chrome/toolkit/content/gfxsanity/videotest.mp4 +lib/firefox52/chrome/toolkit/content/global/BrowserElementChild.js +lib/firefox52/chrome/toolkit/content/global/BrowserElementChildPreload.js +lib/firefox52/chrome/toolkit/content/global/BrowserElementCopyPaste.js +lib/firefox52/chrome/toolkit/content/global/TopLevelVideoDocument.js +lib/firefox52/chrome/toolkit/content/global/XPCNativeWrapper.js +lib/firefox52/chrome/toolkit/content/global/about.js +lib/firefox52/chrome/toolkit/content/global/about.xhtml +lib/firefox52/chrome/toolkit/content/global/aboutAbout.js +lib/firefox52/chrome/toolkit/content/global/aboutAbout.xhtml +lib/firefox52/chrome/toolkit/content/global/aboutCache.js +lib/firefox52/chrome/toolkit/content/global/aboutCheckerboard.css +lib/firefox52/chrome/toolkit/content/global/aboutCheckerboard.js +lib/firefox52/chrome/toolkit/content/global/aboutCheckerboard.xhtml +lib/firefox52/chrome/toolkit/content/global/aboutMemory.css +lib/firefox52/chrome/toolkit/content/global/aboutMemory.js +lib/firefox52/chrome/toolkit/content/global/aboutMemory.xhtml +lib/firefox52/chrome/toolkit/content/global/aboutNetworking.js +lib/firefox52/chrome/toolkit/content/global/aboutNetworking.xhtml +lib/firefox52/chrome/toolkit/content/global/aboutPerformance.js +lib/firefox52/chrome/toolkit/content/global/aboutPerformance.xhtml +lib/firefox52/chrome/toolkit/content/global/aboutProfiles.js +lib/firefox52/chrome/toolkit/content/global/aboutProfiles.xhtml +lib/firefox52/chrome/toolkit/content/global/aboutRights.xhtml +lib/firefox52/chrome/toolkit/content/global/aboutServiceWorkers.js +lib/firefox52/chrome/toolkit/content/global/aboutServiceWorkers.xhtml +lib/firefox52/chrome/toolkit/content/global/aboutSupport.js +lib/firefox52/chrome/toolkit/content/global/aboutSupport.xhtml +lib/firefox52/chrome/toolkit/content/global/aboutTelemetry.css +lib/firefox52/chrome/toolkit/content/global/aboutTelemetry.js +lib/firefox52/chrome/toolkit/content/global/aboutTelemetry.xhtml +lib/firefox52/chrome/toolkit/content/global/aboutwebrtc/aboutWebrtc.css +lib/firefox52/chrome/toolkit/content/global/aboutwebrtc/aboutWebrtc.html +lib/firefox52/chrome/toolkit/content/global/aboutwebrtc/aboutWebrtc.js +lib/firefox52/chrome/toolkit/content/global/accessibility/AccessFu.css +lib/firefox52/chrome/toolkit/content/global/accessibility/clicked.ogg +lib/firefox52/chrome/toolkit/content/global/accessibility/content-script.js +lib/firefox52/chrome/toolkit/content/global/accessibility/virtual_cursor_key.ogg +lib/firefox52/chrome/toolkit/content/global/accessibility/virtual_cursor_move.ogg +lib/firefox52/chrome/toolkit/content/global/alerts/alert.css +lib/firefox52/chrome/toolkit/content/global/alerts/alert.js +lib/firefox52/chrome/toolkit/content/global/alerts/alert.xul +lib/firefox52/chrome/toolkit/content/global/appPicker.js +lib/firefox52/chrome/toolkit/content/global/appPicker.xul +lib/firefox52/chrome/toolkit/content/global/autocomplete.css +lib/firefox52/chrome/toolkit/content/global/backgroundPageThumbsContent.js +lib/firefox52/chrome/toolkit/content/global/bindings/autocomplete.xml +lib/firefox52/chrome/toolkit/content/global/bindings/browser.xml +lib/firefox52/chrome/toolkit/content/global/bindings/button.xml +lib/firefox52/chrome/toolkit/content/global/bindings/checkbox.xml +lib/firefox52/chrome/toolkit/content/global/bindings/colorpicker.xml +lib/firefox52/chrome/toolkit/content/global/bindings/datetimebox.css +lib/firefox52/chrome/toolkit/content/global/bindings/datetimebox.xml +lib/firefox52/chrome/toolkit/content/global/bindings/datetimepicker.xml +lib/firefox52/chrome/toolkit/content/global/bindings/datetimepopup.xml +lib/firefox52/chrome/toolkit/content/global/bindings/dialog.xml +lib/firefox52/chrome/toolkit/content/global/bindings/editor.xml +lib/firefox52/chrome/toolkit/content/global/bindings/expander.xml +lib/firefox52/chrome/toolkit/content/global/bindings/filefield.xml +lib/firefox52/chrome/toolkit/content/global/bindings/findbar.xml +lib/firefox52/chrome/toolkit/content/global/bindings/general.xml +lib/firefox52/chrome/toolkit/content/global/bindings/groupbox.xml +lib/firefox52/chrome/toolkit/content/global/bindings/listbox.xml +lib/firefox52/chrome/toolkit/content/global/bindings/menu.xml +lib/firefox52/chrome/toolkit/content/global/bindings/menulist.xml +lib/firefox52/chrome/toolkit/content/global/bindings/notification.xml +lib/firefox52/chrome/toolkit/content/global/bindings/numberbox.xml +lib/firefox52/chrome/toolkit/content/global/bindings/popup.xml +lib/firefox52/chrome/toolkit/content/global/bindings/preferences.xml +lib/firefox52/chrome/toolkit/content/global/bindings/progressmeter.xml +lib/firefox52/chrome/toolkit/content/global/bindings/radio.xml +lib/firefox52/chrome/toolkit/content/global/bindings/remote-browser.xml +lib/firefox52/chrome/toolkit/content/global/bindings/resizer.xml +lib/firefox52/chrome/toolkit/content/global/bindings/richlistbox.xml +lib/firefox52/chrome/toolkit/content/global/bindings/scale.xml +lib/firefox52/chrome/toolkit/content/global/bindings/scrollbar.xml +lib/firefox52/chrome/toolkit/content/global/bindings/scrollbox.xml +lib/firefox52/chrome/toolkit/content/global/bindings/spinbuttons.xml +lib/firefox52/chrome/toolkit/content/global/bindings/spinner.js +lib/firefox52/chrome/toolkit/content/global/bindings/splitter.xml +lib/firefox52/chrome/toolkit/content/global/bindings/stringbundle.xml +lib/firefox52/chrome/toolkit/content/global/bindings/tabbox.xml +lib/firefox52/chrome/toolkit/content/global/bindings/text.xml +lib/firefox52/chrome/toolkit/content/global/bindings/textbox.xml +lib/firefox52/chrome/toolkit/content/global/bindings/timekeeper.js +lib/firefox52/chrome/toolkit/content/global/bindings/timepicker.js +lib/firefox52/chrome/toolkit/content/global/bindings/toolbar.xml +lib/firefox52/chrome/toolkit/content/global/bindings/toolbarbutton.xml +lib/firefox52/chrome/toolkit/content/global/bindings/tree.xml +lib/firefox52/chrome/toolkit/content/global/bindings/videocontrols.css +lib/firefox52/chrome/toolkit/content/global/bindings/videocontrols.xml +lib/firefox52/chrome/toolkit/content/global/bindings/wizard.xml +lib/firefox52/chrome/toolkit/content/global/browser-child.js +lib/firefox52/chrome/toolkit/content/global/browser-content.js +lib/firefox52/chrome/toolkit/content/global/buildconfig.html +lib/firefox52/chrome/toolkit/content/global/commonDialog.css +lib/firefox52/chrome/toolkit/content/global/commonDialog.js +lib/firefox52/chrome/toolkit/content/global/commonDialog.xul +lib/firefox52/chrome/toolkit/content/global/config.js +lib/firefox52/chrome/toolkit/content/global/config.xul +lib/firefox52/chrome/toolkit/content/global/contentAreaUtils.js +lib/firefox52/chrome/toolkit/content/global/customizeToolbar.css +lib/firefox52/chrome/toolkit/content/global/customizeToolbar.js +lib/firefox52/chrome/toolkit/content/global/customizeToolbar.xul +lib/firefox52/chrome/toolkit/content/global/directionDetector.html +lib/firefox52/chrome/toolkit/content/global/editMenuOverlay.js +lib/firefox52/chrome/toolkit/content/global/editMenuOverlay.xul +lib/firefox52/chrome/toolkit/content/global/extensions.js +lib/firefox52/chrome/toolkit/content/global/filepicker.js +lib/firefox52/chrome/toolkit/content/global/filepicker.properties +lib/firefox52/chrome/toolkit/content/global/filepicker.xul +lib/firefox52/chrome/toolkit/content/global/findUtils.js +lib/firefox52/chrome/toolkit/content/global/finddialog.js +lib/firefox52/chrome/toolkit/content/global/finddialog.xul +lib/firefox52/chrome/toolkit/content/global/forms.js +lib/firefox52/chrome/toolkit/content/global/globalOverlay.js +lib/firefox52/chrome/toolkit/content/global/gmp-sources/eme-adobe.json +lib/firefox52/chrome/toolkit/content/global/gmp-sources/openh264.json +lib/firefox52/chrome/toolkit/content/global/gmp-sources/widevinecdm.json +lib/firefox52/chrome/toolkit/content/global/license.html +lib/firefox52/chrome/toolkit/content/global/manifestMessages.js +lib/firefox52/chrome/toolkit/content/global/menulist.css +lib/firefox52/chrome/toolkit/content/global/minimal-xul.css +lib/firefox52/chrome/toolkit/content/global/mozilla.xhtml +lib/firefox52/chrome/toolkit/content/global/netError.xhtml +lib/firefox52/chrome/toolkit/content/global/notfound.wav +lib/firefox52/chrome/toolkit/content/global/platformHTMLBindings.xml +lib/firefox52/chrome/toolkit/content/global/plugins.css +lib/firefox52/chrome/toolkit/content/global/plugins.html +lib/firefox52/chrome/toolkit/content/global/preload.js +lib/firefox52/chrome/toolkit/content/global/printPageSetup.js +lib/firefox52/chrome/toolkit/content/global/printPageSetup.xul +lib/firefox52/chrome/toolkit/content/global/printPreviewBindings.xml +lib/firefox52/chrome/toolkit/content/global/printPreviewProgress.js +lib/firefox52/chrome/toolkit/content/global/printPreviewProgress.xul +lib/firefox52/chrome/toolkit/content/global/printProgress.js +lib/firefox52/chrome/toolkit/content/global/printProgress.xul +lib/firefox52/chrome/toolkit/content/global/printUtils.js +lib/firefox52/chrome/toolkit/content/global/printdialog.js +lib/firefox52/chrome/toolkit/content/global/printdialog.xul +lib/firefox52/chrome/toolkit/content/global/printjoboptions.js +lib/firefox52/chrome/toolkit/content/global/printjoboptions.xul +lib/firefox52/chrome/toolkit/content/global/process-content.js +lib/firefox52/chrome/toolkit/content/global/reader/aboutReader.html +lib/firefox52/chrome/toolkit/content/global/reader/aboutReader.js +lib/firefox52/chrome/toolkit/content/global/remote-test-ipc.js +lib/firefox52/chrome/toolkit/content/global/resetProfile.css +lib/firefox52/chrome/toolkit/content/global/resetProfile.js +lib/firefox52/chrome/toolkit/content/global/resetProfile.xul +lib/firefox52/chrome/toolkit/content/global/resetProfileProgress.xul +lib/firefox52/chrome/toolkit/content/global/select-child.js +lib/firefox52/chrome/toolkit/content/global/selectDialog.js +lib/firefox52/chrome/toolkit/content/global/selectDialog.xul +lib/firefox52/chrome/toolkit/content/global/simplifyMode.css +lib/firefox52/chrome/toolkit/content/global/svg/svgBindings.xml +lib/firefox52/chrome/toolkit/content/global/tabprompts.css +lib/firefox52/chrome/toolkit/content/global/tabprompts.xml +lib/firefox52/chrome/toolkit/content/global/test-ipc.xul +lib/firefox52/chrome/toolkit/content/global/textbox.css +lib/firefox52/chrome/toolkit/content/global/timepicker.xhtml +lib/firefox52/chrome/toolkit/content/global/treeUtils.js +lib/firefox52/chrome/toolkit/content/global/viewPartialSource.js +lib/firefox52/chrome/toolkit/content/global/viewPartialSource.xul +lib/firefox52/chrome/toolkit/content/global/viewSource-content.js +lib/firefox52/chrome/toolkit/content/global/viewSource.css +lib/firefox52/chrome/toolkit/content/global/viewSource.js +lib/firefox52/chrome/toolkit/content/global/viewSource.xul +lib/firefox52/chrome/toolkit/content/global/viewSourceUtils.js +lib/firefox52/chrome/toolkit/content/global/viewZoomOverlay.js +lib/firefox52/chrome/toolkit/content/global/xml/XMLMonoPrint.css +lib/firefox52/chrome/toolkit/content/global/xml/XMLPrettyPrint.css +lib/firefox52/chrome/toolkit/content/global/xml/XMLPrettyPrint.xml +lib/firefox52/chrome/toolkit/content/global/xml/XMLPrettyPrint.xsl +lib/firefox52/chrome/toolkit/content/global/xul.css +lib/firefox52/chrome/toolkit/content/mozapps/downloads/DownloadProgressListener.js +lib/firefox52/chrome/toolkit/content/mozapps/downloads/download.xml +lib/firefox52/chrome/toolkit/content/mozapps/downloads/downloads.css +lib/firefox52/chrome/toolkit/content/mozapps/downloads/downloads.js +lib/firefox52/chrome/toolkit/content/mozapps/downloads/downloads.xul +lib/firefox52/chrome/toolkit/content/mozapps/downloads/unknownContentType.xul +lib/firefox52/chrome/toolkit/content/mozapps/extensions/OpenH264-license.txt +lib/firefox52/chrome/toolkit/content/mozapps/extensions/about.js +lib/firefox52/chrome/toolkit/content/mozapps/extensions/about.xul +lib/firefox52/chrome/toolkit/content/mozapps/extensions/blocklist.css +lib/firefox52/chrome/toolkit/content/mozapps/extensions/blocklist.js +lib/firefox52/chrome/toolkit/content/mozapps/extensions/blocklist.xml +lib/firefox52/chrome/toolkit/content/mozapps/extensions/blocklist.xul +lib/firefox52/chrome/toolkit/content/mozapps/extensions/eula.js +lib/firefox52/chrome/toolkit/content/mozapps/extensions/eula.xul +lib/firefox52/chrome/toolkit/content/mozapps/extensions/extensions.css +lib/firefox52/chrome/toolkit/content/mozapps/extensions/extensions.js +lib/firefox52/chrome/toolkit/content/mozapps/extensions/extensions.xml +lib/firefox52/chrome/toolkit/content/mozapps/extensions/extensions.xul +lib/firefox52/chrome/toolkit/content/mozapps/extensions/gmpPrefs.xul +lib/firefox52/chrome/toolkit/content/mozapps/extensions/list.js +lib/firefox52/chrome/toolkit/content/mozapps/extensions/list.xul +lib/firefox52/chrome/toolkit/content/mozapps/extensions/newaddon.js +lib/firefox52/chrome/toolkit/content/mozapps/extensions/newaddon.xul +lib/firefox52/chrome/toolkit/content/mozapps/extensions/pluginPrefs.xul +lib/firefox52/chrome/toolkit/content/mozapps/extensions/setting.xml +lib/firefox52/chrome/toolkit/content/mozapps/extensions/update.js +lib/firefox52/chrome/toolkit/content/mozapps/extensions/update.xul +lib/firefox52/chrome/toolkit/content/mozapps/extensions/updateinfo.xsl +lib/firefox52/chrome/toolkit/content/mozapps/handling/dialog.js +lib/firefox52/chrome/toolkit/content/mozapps/handling/dialog.xul +lib/firefox52/chrome/toolkit/content/mozapps/handling/handler.css +lib/firefox52/chrome/toolkit/content/mozapps/handling/handler.xml +lib/firefox52/chrome/toolkit/content/mozapps/preferences/changemp.js +lib/firefox52/chrome/toolkit/content/mozapps/preferences/changemp.xul +lib/firefox52/chrome/toolkit/content/mozapps/preferences/fontbuilder.js +lib/firefox52/chrome/toolkit/content/mozapps/preferences/removemp.js +lib/firefox52/chrome/toolkit/content/mozapps/preferences/removemp.xul +lib/firefox52/chrome/toolkit/content/mozapps/profile/createProfileWizard.js +lib/firefox52/chrome/toolkit/content/mozapps/profile/createProfileWizard.xul +lib/firefox52/chrome/toolkit/content/mozapps/profile/profileSelection.js +lib/firefox52/chrome/toolkit/content/mozapps/profile/profileSelection.xul +lib/firefox52/chrome/toolkit/content/mozapps/xpinstall/xpinstallConfirm.css +lib/firefox52/chrome/toolkit/content/mozapps/xpinstall/xpinstallConfirm.js +lib/firefox52/chrome/toolkit/content/mozapps/xpinstall/xpinstallConfirm.xul +lib/firefox52/chrome/toolkit/content/mozapps/xpinstall/xpinstallItem.xml +lib/firefox52/chrome/toolkit/content/passwordmgr/passwordManager.js +lib/firefox52/chrome/toolkit/content/passwordmgr/passwordManager.xul +lib/firefox52/chrome/toolkit/content/passwordmgr/recipes.json +lib/firefox52/chrome/toolkit/content/satchel/formSubmitListener.js +lib/firefox52/chrome/toolkit/content/xbl-marquee/xbl-marquee.css +lib/firefox52/chrome/toolkit/content/xbl-marquee/xbl-marquee.xml +lib/firefox52/chrome/toolkit/pluginproblem/pluginProblem.xml +lib/firefox52/chrome/toolkit/pluginproblem/pluginProblemBinding.css +lib/firefox52/chrome/toolkit/pluginproblem/pluginProblemContent.css +lib/firefox52/chrome/toolkit/pluginproblem/pluginReplaceBinding.css +lib/firefox52/chrome/toolkit/res/accessiblecaret-normal@1.5x.png +lib/firefox52/chrome/toolkit/res/accessiblecaret-normal@1x.png +lib/firefox52/chrome/toolkit/res/accessiblecaret-normal@2.25x.png +lib/firefox52/chrome/toolkit/res/accessiblecaret-normal@2x.png +lib/firefox52/chrome/toolkit/res/accessiblecaret-tilt-left@1.5x.png +lib/firefox52/chrome/toolkit/res/accessiblecaret-tilt-left@1x.png +lib/firefox52/chrome/toolkit/res/accessiblecaret-tilt-left@2.25x.png +lib/firefox52/chrome/toolkit/res/accessiblecaret-tilt-left@2x.png +lib/firefox52/chrome/toolkit/res/accessiblecaret-tilt-right@1.5x.png +lib/firefox52/chrome/toolkit/res/accessiblecaret-tilt-right@1x.png +lib/firefox52/chrome/toolkit/res/accessiblecaret-tilt-right@2.25x.png +lib/firefox52/chrome/toolkit/res/accessiblecaret-tilt-right@2x.png +lib/firefox52/chrome/toolkit/res/arrow-left.gif +lib/firefox52/chrome/toolkit/res/arrow-right.gif +lib/firefox52/chrome/toolkit/res/arrow.gif +lib/firefox52/chrome/toolkit/res/arrowd-left.gif +lib/firefox52/chrome/toolkit/res/arrowd-right.gif +lib/firefox52/chrome/toolkit/res/arrowd.gif +lib/firefox52/chrome/toolkit/res/broken-image.png +lib/firefox52/chrome/toolkit/res/counterstyles.css +lib/firefox52/chrome/toolkit/res/forms.css +lib/firefox52/chrome/toolkit/res/hiddenWindow.html +lib/firefox52/chrome/toolkit/res/html.css +lib/firefox52/chrome/toolkit/res/loading-image.png +lib/firefox52/chrome/toolkit/res/mathml.css +lib/firefox52/chrome/toolkit/res/noframes.css +lib/firefox52/chrome/toolkit/res/noscript.css +lib/firefox52/chrome/toolkit/res/number-control.css +lib/firefox52/chrome/toolkit/res/plaintext.css +lib/firefox52/chrome/toolkit/res/quirk.css +lib/firefox52/chrome/toolkit/res/ua.css +lib/firefox52/chrome/toolkit/res/viewsource.css +lib/firefox52/chrome/toolkit/skin/classic/global/Filepicker.png +lib/firefox52/chrome/toolkit/skin/classic/global/about.css +lib/firefox52/chrome/toolkit/skin/classic/global/aboutCache.css +lib/firefox52/chrome/toolkit/skin/classic/global/aboutCacheEntry.css +lib/firefox52/chrome/toolkit/skin/classic/global/aboutMemory.css +lib/firefox52/chrome/toolkit/skin/classic/global/aboutReader.css +lib/firefox52/chrome/toolkit/skin/classic/global/aboutReaderContent.css +lib/firefox52/chrome/toolkit/skin/classic/global/aboutReaderControls.css +lib/firefox52/chrome/toolkit/skin/classic/global/aboutSupport.css +lib/firefox52/chrome/toolkit/skin/classic/global/alerts/alert-common.css +lib/firefox52/chrome/toolkit/skin/classic/global/alerts/alert.css +lib/firefox52/chrome/toolkit/skin/classic/global/appPicker.css +lib/firefox52/chrome/toolkit/skin/classic/global/arrow.css +lib/firefox52/chrome/toolkit/skin/classic/global/arrow/arrow-dn-dis.gif +lib/firefox52/chrome/toolkit/skin/classic/global/arrow/arrow-dn-hov.gif +lib/firefox52/chrome/toolkit/skin/classic/global/arrow/arrow-dn-sharp.gif +lib/firefox52/chrome/toolkit/skin/classic/global/arrow/arrow-dn.gif +lib/firefox52/chrome/toolkit/skin/classic/global/arrow/arrow-down.png +lib/firefox52/chrome/toolkit/skin/classic/global/arrow/arrow-lft-dis.gif +lib/firefox52/chrome/toolkit/skin/classic/global/arrow/arrow-lft-sharp-end.gif +lib/firefox52/chrome/toolkit/skin/classic/global/arrow/arrow-lft-sharp.gif +lib/firefox52/chrome/toolkit/skin/classic/global/arrow/arrow-lft.gif +lib/firefox52/chrome/toolkit/skin/classic/global/arrow/arrow-rit-dis.gif +lib/firefox52/chrome/toolkit/skin/classic/global/arrow/arrow-rit-sharp-end.gif +lib/firefox52/chrome/toolkit/skin/classic/global/arrow/arrow-rit-sharp.gif +lib/firefox52/chrome/toolkit/skin/classic/global/arrow/arrow-rit.gif +lib/firefox52/chrome/toolkit/skin/classic/global/arrow/arrow-up-dis.gif +lib/firefox52/chrome/toolkit/skin/classic/global/arrow/arrow-up-hov.gif +lib/firefox52/chrome/toolkit/skin/classic/global/arrow/arrow-up-sharp.gif +lib/firefox52/chrome/toolkit/skin/classic/global/arrow/arrow-up.gif +lib/firefox52/chrome/toolkit/skin/classic/global/arrow/panelarrow-horizontal-themed.svg +lib/firefox52/chrome/toolkit/skin/classic/global/arrow/panelarrow-horizontal.svg +lib/firefox52/chrome/toolkit/skin/classic/global/arrow/panelarrow-vertical-themed.svg +lib/firefox52/chrome/toolkit/skin/classic/global/arrow/panelarrow-vertical.svg +lib/firefox52/chrome/toolkit/skin/classic/global/autocomplete.css +lib/firefox52/chrome/toolkit/skin/classic/global/button.css +lib/firefox52/chrome/toolkit/skin/classic/global/checkbox.css +lib/firefox52/chrome/toolkit/skin/classic/global/checkbox/cbox-check-dis.gif +lib/firefox52/chrome/toolkit/skin/classic/global/checkbox/cbox-check.gif +lib/firefox52/chrome/toolkit/skin/classic/global/colorpicker.css +lib/firefox52/chrome/toolkit/skin/classic/global/commonDialog.css +lib/firefox52/chrome/toolkit/skin/classic/global/config.css +lib/firefox52/chrome/toolkit/skin/classic/global/customizeToolbar.css +lib/firefox52/chrome/toolkit/skin/classic/global/datetimepicker.css +lib/firefox52/chrome/toolkit/skin/classic/global/dialog.css +lib/firefox52/chrome/toolkit/skin/classic/global/dirListing/dirListing.css +lib/firefox52/chrome/toolkit/skin/classic/global/dirListing/folder.png +lib/firefox52/chrome/toolkit/skin/classic/global/dirListing/local.png +lib/firefox52/chrome/toolkit/skin/classic/global/dirListing/remote.png +lib/firefox52/chrome/toolkit/skin/classic/global/dirListing/up.png +lib/firefox52/chrome/toolkit/skin/classic/global/dropmarker.css +lib/firefox52/chrome/toolkit/skin/classic/global/expander.css +lib/firefox52/chrome/toolkit/skin/classic/global/filefield.css +lib/firefox52/chrome/toolkit/skin/classic/global/filepicker.css +lib/firefox52/chrome/toolkit/skin/classic/global/findBar.css +lib/firefox52/chrome/toolkit/skin/classic/global/global.css +lib/firefox52/chrome/toolkit/skin/classic/global/globalBindings.xml +lib/firefox52/chrome/toolkit/skin/classic/global/groupbox.css +lib/firefox52/chrome/toolkit/skin/classic/global/icons/Authentication.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/Close.gif +lib/firefox52/chrome/toolkit/skin/classic/global/icons/Error.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/Landscape.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/Minimize.gif +lib/firefox52/chrome/toolkit/skin/classic/global/icons/Portrait.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/Print-preview.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/Question.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/Restore.gif +lib/firefox52/chrome/toolkit/skin/classic/global/icons/Search-close.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/Search-glass.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/Warning.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/autocomplete-search.svg +lib/firefox52/chrome/toolkit/skin/classic/global/icons/autoscroll.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/blacklist_favicon.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/blacklist_large.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/blocked.svg +lib/firefox52/chrome/toolkit/skin/classic/global/icons/close-inverted.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/close-inverted@2x.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/close.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/close.svg +lib/firefox52/chrome/toolkit/skin/classic/global/icons/close@2x.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/collapse.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/error-16.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/error-64.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/expand.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/find-arrows.svg +lib/firefox52/chrome/toolkit/skin/classic/global/icons/folder-item.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/info.svg +lib/firefox52/chrome/toolkit/skin/classic/global/icons/information-16.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/information-24.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/information-32.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/input-clear.svg +lib/firefox52/chrome/toolkit/skin/classic/global/icons/loading.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/loading@2x.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/question-16.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/question-64.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/resizer-rtl.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/resizer.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/sslWarning.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/tabprompts-bgtexture.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/warning-16.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/warning-64.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/warning-large.png +lib/firefox52/chrome/toolkit/skin/classic/global/icons/warning.svg +lib/firefox52/chrome/toolkit/skin/classic/global/icons/windowControls.png +lib/firefox52/chrome/toolkit/skin/classic/global/in-content/check-partial.svg +lib/firefox52/chrome/toolkit/skin/classic/global/in-content/check.svg +lib/firefox52/chrome/toolkit/skin/classic/global/in-content/common.css +lib/firefox52/chrome/toolkit/skin/classic/global/in-content/dropdown.svg +lib/firefox52/chrome/toolkit/skin/classic/global/in-content/help-glyph.svg +lib/firefox52/chrome/toolkit/skin/classic/global/in-content/info-pages.css +lib/firefox52/chrome/toolkit/skin/classic/global/in-content/radio.svg +lib/firefox52/chrome/toolkit/skin/classic/global/linkTree.css +lib/firefox52/chrome/toolkit/skin/classic/global/listbox.css +lib/firefox52/chrome/toolkit/skin/classic/global/media/TopLevelImageDocument.css +lib/firefox52/chrome/toolkit/skin/classic/global/media/TopLevelVideoDocument.css +lib/firefox52/chrome/toolkit/skin/classic/global/media/clicktoplay-bgtexture.png +lib/firefox52/chrome/toolkit/skin/classic/global/media/closeCaptionButton.png +lib/firefox52/chrome/toolkit/skin/classic/global/media/closeCaptionButton@2x.png +lib/firefox52/chrome/toolkit/skin/classic/global/media/error.png +lib/firefox52/chrome/toolkit/skin/classic/global/media/fullscreenButton.png +lib/firefox52/chrome/toolkit/skin/classic/global/media/fullscreenButton@2x.png +lib/firefox52/chrome/toolkit/skin/classic/global/media/imagedoc-darknoise.png +lib/firefox52/chrome/toolkit/skin/classic/global/media/imagedoc-lightnoise.png +lib/firefox52/chrome/toolkit/skin/classic/global/media/muteButton.png +lib/firefox52/chrome/toolkit/skin/classic/global/media/muteButton@2x.png +lib/firefox52/chrome/toolkit/skin/classic/global/media/noAudio.png +lib/firefox52/chrome/toolkit/skin/classic/global/media/noAudio@2x.png +lib/firefox52/chrome/toolkit/skin/classic/global/media/pauseButton.png +lib/firefox52/chrome/toolkit/skin/classic/global/media/pauseButton@2x.png +lib/firefox52/chrome/toolkit/skin/classic/global/media/playButton.png +lib/firefox52/chrome/toolkit/skin/classic/global/media/playButton@2x.png +lib/firefox52/chrome/toolkit/skin/classic/global/media/scrubberThumb.png +lib/firefox52/chrome/toolkit/skin/classic/global/media/scrubberThumb@2x.png +lib/firefox52/chrome/toolkit/skin/classic/global/media/scrubberThumbWide.png +lib/firefox52/chrome/toolkit/skin/classic/global/media/scrubberThumbWide@2x.png +lib/firefox52/chrome/toolkit/skin/classic/global/media/stalled.png +lib/firefox52/chrome/toolkit/skin/classic/global/media/throbber.png +lib/firefox52/chrome/toolkit/skin/classic/global/media/unmuteButton.png +lib/firefox52/chrome/toolkit/skin/classic/global/media/unmuteButton@2x.png +lib/firefox52/chrome/toolkit/skin/classic/global/media/videoClickToPlayButton.svg +lib/firefox52/chrome/toolkit/skin/classic/global/media/videocontrols.css +lib/firefox52/chrome/toolkit/skin/classic/global/media/volume-empty.png +lib/firefox52/chrome/toolkit/skin/classic/global/media/volume-empty@2x.png +lib/firefox52/chrome/toolkit/skin/classic/global/media/volume-full.png +lib/firefox52/chrome/toolkit/skin/classic/global/media/volume-full@2x.png +lib/firefox52/chrome/toolkit/skin/classic/global/menu.css +lib/firefox52/chrome/toolkit/skin/classic/global/menu/shared-menu-check-active.svg +lib/firefox52/chrome/toolkit/skin/classic/global/menu/shared-menu-check-black.svg +lib/firefox52/chrome/toolkit/skin/classic/global/menu/shared-menu-check-hover.svg +lib/firefox52/chrome/toolkit/skin/classic/global/menu/shared-menu-check.png +lib/firefox52/chrome/toolkit/skin/classic/global/menu/shared-menu-check@2x.png +lib/firefox52/chrome/toolkit/skin/classic/global/menulist.css +lib/firefox52/chrome/toolkit/skin/classic/global/narrate.css +lib/firefox52/chrome/toolkit/skin/classic/global/narrate/arrow.svg +lib/firefox52/chrome/toolkit/skin/classic/global/narrate/back.svg +lib/firefox52/chrome/toolkit/skin/classic/global/narrate/fast.svg +lib/firefox52/chrome/toolkit/skin/classic/global/narrate/forward.svg +lib/firefox52/chrome/toolkit/skin/classic/global/narrate/slow.svg +lib/firefox52/chrome/toolkit/skin/classic/global/narrate/start.svg +lib/firefox52/chrome/toolkit/skin/classic/global/narrate/stop.svg +lib/firefox52/chrome/toolkit/skin/classic/global/narrateControls.css +lib/firefox52/chrome/toolkit/skin/classic/global/netError.css +lib/firefox52/chrome/toolkit/skin/classic/global/notification.css +lib/firefox52/chrome/toolkit/skin/classic/global/numberbox.css +lib/firefox52/chrome/toolkit/skin/classic/global/passwordmgr.css +lib/firefox52/chrome/toolkit/skin/classic/global/popup.css +lib/firefox52/chrome/toolkit/skin/classic/global/preferences.css +lib/firefox52/chrome/toolkit/skin/classic/global/printPageSetup.css +lib/firefox52/chrome/toolkit/skin/classic/global/printPreview.css +lib/firefox52/chrome/toolkit/skin/classic/global/progressmeter.css +lib/firefox52/chrome/toolkit/skin/classic/global/radio.css +lib/firefox52/chrome/toolkit/skin/classic/global/radio/radio-check-dis.gif +lib/firefox52/chrome/toolkit/skin/classic/global/radio/radio-check.gif +lib/firefox52/chrome/toolkit/skin/classic/global/reader/RM-Close-24x24.svg +lib/firefox52/chrome/toolkit/skin/classic/global/reader/RM-Content-Width-Minus-42x16.svg +lib/firefox52/chrome/toolkit/skin/classic/global/reader/RM-Content-Width-Plus-44x16.svg +lib/firefox52/chrome/toolkit/skin/classic/global/reader/RM-Line-Height-Minus-38x14.svg +lib/firefox52/chrome/toolkit/skin/classic/global/reader/RM-Line-Height-Plus-38x24.svg +lib/firefox52/chrome/toolkit/skin/classic/global/reader/RM-Minus-24x24.svg +lib/firefox52/chrome/toolkit/skin/classic/global/reader/RM-Plus-24x24.svg +lib/firefox52/chrome/toolkit/skin/classic/global/reader/RM-Type-Controls-24x24.svg +lib/firefox52/chrome/toolkit/skin/classic/global/reader/RM-Type-Controls-Arrow.svg +lib/firefox52/chrome/toolkit/skin/classic/global/resizer.css +lib/firefox52/chrome/toolkit/skin/classic/global/richlistbox.css +lib/firefox52/chrome/toolkit/skin/classic/global/scale.css +lib/firefox52/chrome/toolkit/skin/classic/global/scale/scale-tray-horiz.gif +lib/firefox52/chrome/toolkit/skin/classic/global/scale/scale-tray-vert.gif +lib/firefox52/chrome/toolkit/skin/classic/global/scrollbar/slider.gif +lib/firefox52/chrome/toolkit/skin/classic/global/scrollbars.css +lib/firefox52/chrome/toolkit/skin/classic/global/scrollbox.css +lib/firefox52/chrome/toolkit/skin/classic/global/spinbuttons.css +lib/firefox52/chrome/toolkit/skin/classic/global/splitter.css +lib/firefox52/chrome/toolkit/skin/classic/global/splitter/grip-bottom.gif +lib/firefox52/chrome/toolkit/skin/classic/global/splitter/grip-left.gif +lib/firefox52/chrome/toolkit/skin/classic/global/splitter/grip-right.gif +lib/firefox52/chrome/toolkit/skin/classic/global/splitter/grip-top.gif +lib/firefox52/chrome/toolkit/skin/classic/global/tabbox.css +lib/firefox52/chrome/toolkit/skin/classic/global/tabprompts.css +lib/firefox52/chrome/toolkit/skin/classic/global/textbox.css +lib/firefox52/chrome/toolkit/skin/classic/global/timepicker.css +lib/firefox52/chrome/toolkit/skin/classic/global/toolbar.css +lib/firefox52/chrome/toolkit/skin/classic/global/toolbar/chevron-inverted.png +lib/firefox52/chrome/toolkit/skin/classic/global/toolbar/chevron.gif +lib/firefox52/chrome/toolkit/skin/classic/global/toolbar/spring.png +lib/firefox52/chrome/toolkit/skin/classic/global/toolbarbutton.css +lib/firefox52/chrome/toolkit/skin/classic/global/tree.css +lib/firefox52/chrome/toolkit/skin/classic/global/tree/columnpicker.gif +lib/firefox52/chrome/toolkit/skin/classic/global/tree/sort-asc-classic.png +lib/firefox52/chrome/toolkit/skin/classic/global/tree/sort-asc.png +lib/firefox52/chrome/toolkit/skin/classic/global/tree/sort-dsc-classic.png +lib/firefox52/chrome/toolkit/skin/classic/global/tree/sort-dsc.png +lib/firefox52/chrome/toolkit/skin/classic/global/tree/twisty-clsd.png +lib/firefox52/chrome/toolkit/skin/classic/global/tree/twisty-open.png +lib/firefox52/chrome/toolkit/skin/classic/global/wizard.css +lib/firefox52/chrome/toolkit/skin/classic/mozapps/aboutNetworking.css +lib/firefox52/chrome/toolkit/skin/classic/mozapps/aboutProfiles.css +lib/firefox52/chrome/toolkit/skin/classic/mozapps/aboutServiceWorkers.css +lib/firefox52/chrome/toolkit/skin/classic/mozapps/downloads/downloadButtons.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/downloads/downloadIcon.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/downloads/downloads.css +lib/firefox52/chrome/toolkit/skin/classic/mozapps/downloads/unknownContentType.css +lib/firefox52/chrome/toolkit/skin/classic/mozapps/extensions/about.css +lib/firefox52/chrome/toolkit/skin/classic/mozapps/extensions/alerticon-error.svg +lib/firefox52/chrome/toolkit/skin/classic/mozapps/extensions/alerticon-info-negative.svg +lib/firefox52/chrome/toolkit/skin/classic/mozapps/extensions/alerticon-info-positive.svg +lib/firefox52/chrome/toolkit/skin/classic/mozapps/extensions/alerticon-warning.svg +lib/firefox52/chrome/toolkit/skin/classic/mozapps/extensions/blocklist.css +lib/firefox52/chrome/toolkit/skin/classic/mozapps/extensions/cancel.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/extensions/category-available.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/extensions/category-discover.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/extensions/category-plugins.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/extensions/category-recent.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/extensions/category-search.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/extensions/category-service.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/extensions/dictionaryGeneric-16.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/extensions/dictionaryGeneric.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/extensions/discover-logo.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/extensions/eula.css +lib/firefox52/chrome/toolkit/skin/classic/mozapps/extensions/experimentGeneric.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/extensions/extensionGeneric-16.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/extensions/extensionGeneric.svg +lib/firefox52/chrome/toolkit/skin/classic/mozapps/extensions/extensions.css +lib/firefox52/chrome/toolkit/skin/classic/mozapps/extensions/heart.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/extensions/localeGeneric.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/extensions/navigation.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/extensions/newaddon.css +lib/firefox52/chrome/toolkit/skin/classic/mozapps/extensions/rating-not-won.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/extensions/rating-won.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/extensions/themeGeneric-16.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/extensions/themeGeneric.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/extensions/update.css +lib/firefox52/chrome/toolkit/skin/classic/mozapps/extensions/utilities.svg +lib/firefox52/chrome/toolkit/skin/classic/mozapps/formautofill/requestAutocomplete.css +lib/firefox52/chrome/toolkit/skin/classic/mozapps/handling/handling.css +lib/firefox52/chrome/toolkit/skin/classic/mozapps/places/defaultFavicon-inverted.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/places/defaultFavicon-inverted@2x.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/places/defaultFavicon.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/places/defaultFavicon@2x.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/plugins/contentPluginActivate.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/plugins/contentPluginBlocked.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/plugins/contentPluginClose.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/plugins/contentPluginCrashed.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/plugins/contentPluginStripe.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/plugins/pluginBlocked-64.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/plugins/pluginBlocked.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/plugins/pluginGeneric-16.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/plugins/pluginGeneric.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/plugins/pluginHelp-16.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/plugins/pluginProblem.css +lib/firefox52/chrome/toolkit/skin/classic/mozapps/profile/profileSelection.css +lib/firefox52/chrome/toolkit/skin/classic/mozapps/profile/profileicon.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/update/downloadButtons.png +lib/firefox52/chrome/toolkit/skin/classic/mozapps/update/updates.css +lib/firefox52/chrome/toolkit/skin/classic/mozapps/viewsource/viewsource.css +lib/firefox52/chrome/toolkit/skin/classic/mozapps/xpinstall/xpinstallConfirm.css +lib/firefox52/components/AppsService.js +lib/firefox52/components/BrowserElementParent.js +lib/firefox52/components/BrowserElementProxy.js +lib/firefox52/components/CSSUnprefixingService.js +lib/firefox52/components/ColorAnalyzer.js +lib/firefox52/components/ConsoleAPIStorage.js +lib/firefox52/components/ContentProcessSingleton.js +lib/firefox52/components/DownloadLegacy.js +lib/firefox52/components/EditorUtils.js +lib/firefox52/components/FeedProcessor.js +lib/firefox52/components/FormAutofillContentService.js +lib/firefox52/components/FormAutofillStartup.js +lib/firefox52/components/FormHistoryStartup.js +lib/firefox52/components/FxAccountsPush.js +lib/firefox52/components/MainProcessSingleton.js +lib/firefox52/components/MozKeyboard.js +lib/firefox52/components/NetworkGeolocationProvider.js +lib/firefox52/components/NotificationStorage.js +lib/firefox52/components/PageIconProtocolHandler.js +lib/firefox52/components/PageThumbsProtocol.js +lib/firefox52/components/PermissionSettings.js +lib/firefox52/components/PlacesCategoriesStarter.js +lib/firefox52/components/PresentationControlService.js +lib/firefox52/components/PresentationDataChannelSessionTransport.js +lib/firefox52/components/PresentationDeviceInfoManager.js +lib/firefox52/components/PrivateBrowsingTrackingProtectionWhitelist.js +lib/firefox52/components/Push.js +lib/firefox52/components/PushComponents.js +lib/firefox52/components/RemoteWebNavigation.js +lib/firefox52/components/SecurityReporter.js +lib/firefox52/components/SettingsManager.js +lib/firefox52/components/SiteSpecificUserAgent.js +lib/firefox52/components/SlowScriptDebug.js +lib/firefox52/components/TelemetryStartup.js +lib/firefox52/components/TooltipTextProvider.js +lib/firefox52/components/UnifiedComplete.js +lib/firefox52/components/Weave.js +lib/firefox52/components/WebVTTParserWrapper.js +lib/firefox52/components/WellKnownOpportunisticUtils.js +lib/firefox52/components/XULStore.js +lib/firefox52/components/addonManager.js +lib/firefox52/components/amContentHandler.js +lib/firefox52/components/amInstallTrigger.js +lib/firefox52/components/amWebAPI.js +lib/firefox52/components/amWebInstallListener.js +lib/firefox52/components/captivedetect.js +lib/firefox52/components/components.manifest +lib/firefox52/components/contentAreaDropListener.js +lib/firefox52/components/crypto-SDR.js +lib/firefox52/components/defaultShims.js +lib/firefox52/components/htmlMenuBuilder.js +lib/firefox52/components/interfaces.xpt +lib/firefox52/components/marionette.js +lib/firefox52/components/messageWakeupService.js +lib/firefox52/components/mozProtocolHandler.js +lib/firefox52/components/multiprocessShims.js +lib/firefox52/components/nsAsyncShutdown.js +lib/firefox52/components/nsBlocklistService.js +lib/firefox52/components/nsBlocklistServiceContent.js +lib/firefox52/components/nsContentDispatchChooser.js +lib/firefox52/components/nsContentPrefService.js +lib/firefox52/components/nsCrashMonitor.js +lib/firefox52/components/nsDNSServiceDiscovery.js +lib/firefox52/components/nsDefaultCLH.js +lib/firefox52/components/nsFilePicker.js +lib/firefox52/components/nsFormAutoComplete.js +lib/firefox52/components/nsFormHistory.js +lib/firefox52/components/nsHandlerService.js +lib/firefox52/components/nsHelperAppDlg.js +lib/firefox52/components/nsINIProcessor.js +lib/firefox52/components/nsInputListAutoComplete.js +lib/firefox52/components/nsLivemarkService.js +lib/firefox52/components/nsLoginInfo.js +lib/firefox52/components/nsLoginManager.js +lib/firefox52/components/nsLoginManagerPrompter.js +lib/firefox52/components/nsPlacesExpiration.js +lib/firefox52/components/nsPrompter.js +lib/firefox52/components/nsSearchService.js +lib/firefox52/components/nsSearchSuggestions.js +lib/firefox52/components/nsSidebar.js +lib/firefox52/components/nsTaggingService.js +lib/firefox52/components/nsTerminatorTelemetry.js +lib/firefox52/components/nsURLFormatter.js +lib/firefox52/components/nsUpdateTimerManager.js +lib/firefox52/components/nsUrlClassifierHashCompleter.js +lib/firefox52/components/nsUrlClassifierLib.js +lib/firefox52/components/nsUrlClassifierListManager.js +lib/firefox52/components/nsWebHandlerApp.js +lib/firefox52/components/recording-cmdline.js +lib/firefox52/components/simpleServices.js +lib/firefox52/components/storage-json.js +lib/firefox52/components/txEXSLTRegExFunctions.js +lib/firefox52/defaults/autoconfig/prefcalls.js +lib/firefox52/defaults/pref/channel-prefs.js +lib/firefox52/defaults/pref/services-sync.js +lib/firefox52/dependentlibs.list +lib/firefox52/dictionaries/en-US.aff +lib/firefox52/dictionaries/en-US.dic +lib/firefox52/firefox +lib/firefox52/firefox-bin +lib/firefox52/gmp-clearkey/0.1/clearkey.info +lib/firefox52/gmp-clearkey/0.1/libclearkey.so +lib/firefox52/greprefs.js +${PLIST.gtk3}lib/firefox52/gtk2/libmozgtk.so +lib/firefox52/hyphenation/hyph_af.dic +lib/firefox52/hyphenation/hyph_bg.dic +lib/firefox52/hyphenation/hyph_ca.dic +lib/firefox52/hyphenation/hyph_cy.dic +lib/firefox52/hyphenation/hyph_da.dic +lib/firefox52/hyphenation/hyph_de-1901.dic +lib/firefox52/hyphenation/hyph_de-1996.dic +lib/firefox52/hyphenation/hyph_de-CH.dic +lib/firefox52/hyphenation/hyph_en_US.dic +lib/firefox52/hyphenation/hyph_eo.dic +lib/firefox52/hyphenation/hyph_es.dic +lib/firefox52/hyphenation/hyph_et.dic +lib/firefox52/hyphenation/hyph_fi.dic +lib/firefox52/hyphenation/hyph_fr.dic +lib/firefox52/hyphenation/hyph_gl.dic +lib/firefox52/hyphenation/hyph_hr.dic +lib/firefox52/hyphenation/hyph_hsb.dic +lib/firefox52/hyphenation/hyph_hu.dic +lib/firefox52/hyphenation/hyph_ia.dic +lib/firefox52/hyphenation/hyph_is.dic +lib/firefox52/hyphenation/hyph_it.dic +lib/firefox52/hyphenation/hyph_kmr.dic +lib/firefox52/hyphenation/hyph_la.dic +lib/firefox52/hyphenation/hyph_lt.dic +lib/firefox52/hyphenation/hyph_mn.dic +lib/firefox52/hyphenation/hyph_nb.dic +lib/firefox52/hyphenation/hyph_nl.dic +lib/firefox52/hyphenation/hyph_nn.dic +lib/firefox52/hyphenation/hyph_pl.dic +lib/firefox52/hyphenation/hyph_pt.dic +lib/firefox52/hyphenation/hyph_ru.dic +lib/firefox52/hyphenation/hyph_sh.dic +lib/firefox52/hyphenation/hyph_sl.dic +lib/firefox52/hyphenation/hyph_sv.dic +lib/firefox52/hyphenation/hyph_tr.dic +lib/firefox52/hyphenation/hyph_uk.dic +lib/firefox52/liblgpllibs.so +${PLIST.gtk3}lib/firefox52/libmozgtk.so +${PLIST.avx86}lib/firefox52/libmozavcodec.so +${PLIST.avx86}lib/firefox52/libmozavutil.so +lib/firefox52/libmozsqlite3.so +lib/firefox52/libxul.so +lib/firefox52/modules/AboutReader.jsm +lib/firefox52/modules/AddonManager.jsm +lib/firefox52/modules/AddonWatcher.jsm +lib/firefox52/modules/AppConstants.jsm +lib/firefox52/modules/AppsServiceChild.jsm +lib/firefox52/modules/AppsUtils.jsm +lib/firefox52/modules/AsyncPrefs.jsm +lib/firefox52/modules/AsyncShutdown.jsm +lib/firefox52/modules/AsyncSpellCheckTestHelper.jsm +lib/firefox52/modules/AutoCompletePopup.jsm +lib/firefox52/modules/BackgroundPageThumbs.jsm +lib/firefox52/modules/Battery.jsm +lib/firefox52/modules/BinarySearch.jsm +lib/firefox52/modules/BookmarkHTMLUtils.jsm +lib/firefox52/modules/BookmarkJSONUtils.jsm +lib/firefox52/modules/Bookmarks.jsm +lib/firefox52/modules/BrowserElementPromptService.jsm +lib/firefox52/modules/BrowserUtils.jsm +lib/firefox52/modules/CanonicalJSON.jsm +lib/firefox52/modules/CertUtils.jsm +lib/firefox52/modules/CharsetMenu.jsm +lib/firefox52/modules/ChromeManifestParser.jsm +lib/firefox52/modules/ClientID.jsm +lib/firefox52/modules/CloudSync.jsm +lib/firefox52/modules/CloudSyncAdapters.jsm +lib/firefox52/modules/CloudSyncBookmarks.jsm +lib/firefox52/modules/CloudSyncBookmarksFolderCache.jsm +lib/firefox52/modules/CloudSyncEventSource.jsm +lib/firefox52/modules/CloudSyncLocal.jsm +lib/firefox52/modules/CloudSyncPlacesWrapper.jsm +lib/firefox52/modules/CloudSyncTabs.jsm +lib/firefox52/modules/ClusterLib.js +lib/firefox52/modules/Color.jsm +lib/firefox52/modules/ColorAnalyzer_worker.js +lib/firefox52/modules/ColorConversion.js +lib/firefox52/modules/CommonDialog.jsm +lib/firefox52/modules/CompatWarning.jsm +lib/firefox52/modules/Console.jsm +lib/firefox52/modules/ContentPrefInstance.jsm +lib/firefox52/modules/ContentPrefService2.jsm +lib/firefox52/modules/ContentPrefServiceChild.jsm +lib/firefox52/modules/ContentPrefServiceParent.jsm +lib/firefox52/modules/ContentPrefStore.jsm +lib/firefox52/modules/ContentPrefUtils.jsm +lib/firefox52/modules/ContextualIdentityService.jsm +lib/firefox52/modules/CrashMonitor.jsm +lib/firefox52/modules/Credentials.jsm +lib/firefox52/modules/DNSPacket.jsm +lib/firefox52/modules/DNSRecord.jsm +lib/firefox52/modules/DNSResourceRecord.jsm +lib/firefox52/modules/DNSTypes.jsm +lib/firefox52/modules/DOMRequestHelper.jsm +lib/firefox52/modules/DataReader.jsm +lib/firefox52/modules/DataWriter.jsm +lib/firefox52/modules/DateTimePickerHelper.jsm +lib/firefox52/modules/DeferredSave.jsm +lib/firefox52/modules/DeferredTask.jsm +lib/firefox52/modules/Deprecated.jsm +lib/firefox52/modules/DownloadCore.jsm +lib/firefox52/modules/DownloadImport.jsm +lib/firefox52/modules/DownloadIntegration.jsm +lib/firefox52/modules/DownloadLastDir.jsm +lib/firefox52/modules/DownloadList.jsm +lib/firefox52/modules/DownloadPaths.jsm +lib/firefox52/modules/DownloadStore.jsm +lib/firefox52/modules/DownloadTaskbarProgress.jsm +lib/firefox52/modules/DownloadUIHelper.jsm +lib/firefox52/modules/DownloadUtils.jsm +lib/firefox52/modules/Downloads.jsm +lib/firefox52/modules/Extension.jsm +lib/firefox52/modules/ExtensionAPI.jsm +lib/firefox52/modules/ExtensionChild.jsm +lib/firefox52/modules/ExtensionCommon.jsm +lib/firefox52/modules/ExtensionContent.jsm +lib/firefox52/modules/ExtensionManagement.jsm +lib/firefox52/modules/ExtensionParent.jsm +lib/firefox52/modules/ExtensionSearchHandler.jsm +lib/firefox52/modules/ExtensionStorage.jsm +lib/firefox52/modules/ExtensionStorageSync.jsm +lib/firefox52/modules/ExtensionUtils.jsm +lib/firefox52/modules/FileUtils.jsm +lib/firefox52/modules/Finder.jsm +lib/firefox52/modules/FinderHighlighter.jsm +lib/firefox52/modules/FinderIterator.jsm +lib/firefox52/modules/ForgetAboutSite.jsm +lib/firefox52/modules/FormAutofill.jsm +lib/firefox52/modules/FormAutofillIntegration.jsm +lib/firefox52/modules/FormData.jsm +lib/firefox52/modules/FormHistory.jsm +lib/firefox52/modules/FormLikeFactory.jsm +lib/firefox52/modules/FxAccounts.jsm +lib/firefox52/modules/FxAccountsClient.jsm +lib/firefox52/modules/FxAccountsCommon.js +lib/firefox52/modules/FxAccountsConfig.jsm +lib/firefox52/modules/FxAccountsOAuthClient.jsm +lib/firefox52/modules/FxAccountsOAuthGrantClient.jsm +lib/firefox52/modules/FxAccountsProfile.jsm +lib/firefox52/modules/FxAccountsProfileClient.jsm +lib/firefox52/modules/FxAccountsPush.js +lib/firefox52/modules/FxAccountsStorage.jsm +lib/firefox52/modules/FxAccountsWebChannel.jsm +lib/firefox52/modules/GCTelemetry.jsm +lib/firefox52/modules/GMPInstallManager.jsm +lib/firefox52/modules/GMPUtils.jsm +lib/firefox52/modules/Geometry.jsm +lib/firefox52/modules/History.jsm +lib/firefox52/modules/Http.jsm +lib/firefox52/modules/ISO8601DateUtils.jsm +lib/firefox52/modules/ImageObjectProcessor.jsm +lib/firefox52/modules/IndexedDBHelper.jsm +lib/firefox52/modules/InlineSpellChecker.jsm +lib/firefox52/modules/InlineSpellCheckerContent.jsm +lib/firefox52/modules/InsecurePasswordUtils.jsm +lib/firefox52/modules/Integration.jsm +lib/firefox52/modules/JSONFile.jsm +lib/firefox52/modules/Keyboard.jsm +lib/firefox52/modules/LegacyExtensionsUtils.jsm +lib/firefox52/modules/LightweightThemeConsumer.jsm +lib/firefox52/modules/LightweightThemeManager.jsm +lib/firefox52/modules/LoadContextInfo.jsm +lib/firefox52/modules/Locale.jsm +lib/firefox52/modules/Log.jsm +lib/firefox52/modules/LoginHelper.jsm +lib/firefox52/modules/LoginImport.jsm +lib/firefox52/modules/LoginManagerContent.jsm +lib/firefox52/modules/LoginManagerContextMenu.jsm +lib/firefox52/modules/LoginManagerParent.jsm +lib/firefox52/modules/LoginRecipes.jsm +lib/firefox52/modules/LoginStore.jsm +lib/firefox52/modules/ManifestFinder.jsm +lib/firefox52/modules/ManifestObtainer.jsm +lib/firefox52/modules/ManifestProcessor.jsm +lib/firefox52/modules/MatchPattern.jsm +lib/firefox52/modules/Memory.jsm +lib/firefox52/modules/MessageChannel.jsm +lib/firefox52/modules/MulticastDNS.jsm +lib/firefox52/modules/NLP.jsm +lib/firefox52/modules/NativeMessaging.jsm +lib/firefox52/modules/NetUtil.jsm +lib/firefox52/modules/NewTabUtils.jsm +lib/firefox52/modules/NotificationDB.jsm +lib/firefox52/modules/OSCrypto.jsm +lib/firefox52/modules/ObjectUtils.jsm +lib/firefox52/modules/PageMenu.jsm +lib/firefox52/modules/PageMetadata.jsm +lib/firefox52/modules/PageThumbUtils.jsm +lib/firefox52/modules/PageThumbs.jsm +lib/firefox52/modules/PageThumbsWorker.js +lib/firefox52/modules/PerfMeasurement.jsm +lib/firefox52/modules/PerformanceStats-content.js +lib/firefox52/modules/PerformanceStats.jsm +lib/firefox52/modules/PerformanceWatcher-content.js +lib/firefox52/modules/PerformanceWatcher.jsm +lib/firefox52/modules/PermissionSettings.jsm +lib/firefox52/modules/PermissionsInstaller.jsm +lib/firefox52/modules/PermissionsTable.jsm +lib/firefox52/modules/PermissionsUtils.jsm +lib/firefox52/modules/PlacesBackups.jsm +lib/firefox52/modules/PlacesDBUtils.jsm +lib/firefox52/modules/PlacesRemoteTabsAutocompleteProvider.jsm +lib/firefox52/modules/PlacesSearchAutocompleteProvider.jsm +lib/firefox52/modules/PlacesSyncUtils.jsm +lib/firefox52/modules/PlacesTransactions.jsm +lib/firefox52/modules/PlacesUtils.jsm +lib/firefox52/modules/PluralForm.jsm +lib/firefox52/modules/PopupNotifications.jsm +lib/firefox52/modules/Preferences.jsm +lib/firefox52/modules/Prefetcher.jsm +lib/firefox52/modules/PresentationApp.jsm +lib/firefox52/modules/PresentationDeviceInfoManager.jsm +lib/firefox52/modules/PrivateBrowsingUtils.jsm +lib/firefox52/modules/ProfileAge.jsm +lib/firefox52/modules/Promise-backend.js +lib/firefox52/modules/Promise.jsm +lib/firefox52/modules/PromiseMessage.jsm +lib/firefox52/modules/PromiseUtils.jsm +lib/firefox52/modules/PromiseWorker.jsm +lib/firefox52/modules/PropertyListUtils.jsm +lib/firefox52/modules/PushCrypto.jsm +lib/firefox52/modules/PushDB.jsm +lib/firefox52/modules/PushRecord.jsm +lib/firefox52/modules/PushService.jsm +lib/firefox52/modules/PushServiceHttp2.jsm +lib/firefox52/modules/PushServiceWebSocket.jsm +lib/firefox52/modules/ReaderMode.jsm +lib/firefox52/modules/RemoteAddonsChild.jsm +lib/firefox52/modules/RemoteAddonsParent.jsm +lib/firefox52/modules/RemoteController.jsm +lib/firefox52/modules/RemoteFinder.jsm +lib/firefox52/modules/RemotePageManager.jsm +lib/firefox52/modules/RemoteSecurityUI.jsm +lib/firefox52/modules/RemoteWebProgress.jsm +lib/firefox52/modules/RequestAutocompleteUI.jsm +lib/firefox52/modules/ResetProfile.jsm +lib/firefox52/modules/ResponsivenessMonitor.jsm +lib/firefox52/modules/RokuApp.jsm +lib/firefox52/modules/SafeBrowsing.jsm +lib/firefox52/modules/Schemas.jsm +lib/firefox52/modules/ScrollPosition.jsm +lib/firefox52/modules/SearchStaticData.jsm +lib/firefox52/modules/SearchSuggestionController.jsm +lib/firefox52/modules/SelectContentHelper.jsm +lib/firefox52/modules/SelectParentHelper.jsm +lib/firefox52/modules/ServiceRequest.jsm +lib/firefox52/modules/Services.jsm +lib/firefox52/modules/SessionRecorder.jsm +lib/firefox52/modules/SettingsDB.jsm +lib/firefox52/modules/SettingsRequestManager.jsm +lib/firefox52/modules/SharedPromptUtils.jsm +lib/firefox52/modules/ShimWaiver.jsm +lib/firefox52/modules/ShortcutUtils.jsm +lib/firefox52/modules/SimpleServiceDiscovery.jsm +lib/firefox52/modules/Sntp.jsm +lib/firefox52/modules/SpatialNavigation.jsm +lib/firefox52/modules/Sqlite.jsm +lib/firefox52/modules/Subprocess.jsm +lib/firefox52/modules/SystemUpdateService.jsm +lib/firefox52/modules/Task.jsm +lib/firefox52/modules/TelemetryArchive.jsm +lib/firefox52/modules/TelemetryController.jsm +lib/firefox52/modules/TelemetryEnvironment.jsm +lib/firefox52/modules/TelemetryLog.jsm +lib/firefox52/modules/TelemetryReportingPolicy.jsm +lib/firefox52/modules/TelemetrySend.jsm +lib/firefox52/modules/TelemetrySession.jsm +lib/firefox52/modules/TelemetryStopwatch.jsm +lib/firefox52/modules/TelemetryStorage.jsm +lib/firefox52/modules/TelemetryTimestamps.jsm +lib/firefox52/modules/TelemetryUtils.jsm +lib/firefox52/modules/ThirdPartyCookieProbe.jsm +lib/firefox52/modules/Timer.jsm +lib/firefox52/modules/Troubleshoot.jsm +lib/firefox52/modules/UITelemetry.jsm +lib/firefox52/modules/UpdateUtils.jsm +lib/firefox52/modules/UserAgentOverrides.jsm +lib/firefox52/modules/UserAgentUpdates.jsm +lib/firefox52/modules/ValueExtractor.jsm +lib/firefox52/modules/ViewSourceBrowser.jsm +lib/firefox52/modules/WebChannel.jsm +lib/firefox52/modules/WebNavigation.jsm +lib/firefox52/modules/WebNavigationContent.js +lib/firefox52/modules/WebNavigationFrames.jsm +lib/firefox52/modules/WebRequest.jsm +lib/firefox52/modules/WebRequestCommon.jsm +lib/firefox52/modules/WebRequestContent.js +lib/firefox52/modules/WebRequestUpload.jsm +lib/firefox52/modules/WindowDraggingUtils.jsm +lib/firefox52/modules/XPCOMUtils.jsm +lib/firefox52/modules/XPathGenerator.jsm +lib/firefox52/modules/ZipUtils.jsm +lib/firefox52/modules/accessibility/AccessFu.jsm +lib/firefox52/modules/accessibility/Constants.jsm +lib/firefox52/modules/accessibility/ContentControl.jsm +lib/firefox52/modules/accessibility/EventManager.jsm +lib/firefox52/modules/accessibility/Gestures.jsm +lib/firefox52/modules/accessibility/OutputGenerator.jsm +lib/firefox52/modules/accessibility/PointerAdapter.jsm +lib/firefox52/modules/accessibility/Presentation.jsm +lib/firefox52/modules/accessibility/Traversal.jsm +lib/firefox52/modules/accessibility/Utils.jsm +lib/firefox52/modules/addons/APIExtensionBootstrap.js +lib/firefox52/modules/addons/AddonConstants.jsm +lib/firefox52/modules/addons/AddonLogging.jsm +lib/firefox52/modules/addons/AddonRepository.jsm +lib/firefox52/modules/addons/AddonRepository_SQLiteMigrator.jsm +lib/firefox52/modules/addons/AddonUpdateChecker.jsm +lib/firefox52/modules/addons/Content.js +lib/firefox52/modules/addons/E10SAddonsRollout.jsm +lib/firefox52/modules/addons/GMPProvider.jsm +lib/firefox52/modules/addons/LightweightThemeImageOptimizer.jsm +lib/firefox52/modules/addons/PluginProvider.jsm +lib/firefox52/modules/addons/ProductAddonChecker.jsm +lib/firefox52/modules/addons/SpellCheckDictionaryBootstrap.js +lib/firefox52/modules/addons/WebExtensionBootstrap.js +lib/firefox52/modules/addons/XPIProvider.jsm +lib/firefox52/modules/addons/XPIProviderUtils.js +lib/firefox52/modules/commonjs/dev/debuggee.js +lib/firefox52/modules/commonjs/dev/frame-script.js +lib/firefox52/modules/commonjs/dev/panel.js +lib/firefox52/modules/commonjs/dev/panel/view.js +lib/firefox52/modules/commonjs/dev/ports.js +lib/firefox52/modules/commonjs/dev/theme.js +lib/firefox52/modules/commonjs/dev/theme/hooks.js +lib/firefox52/modules/commonjs/dev/toolbox.js +lib/firefox52/modules/commonjs/dev/utils.js +lib/firefox52/modules/commonjs/dev/volcan.js +lib/firefox52/modules/commonjs/diffpatcher/diff.js +lib/firefox52/modules/commonjs/diffpatcher/index.js +lib/firefox52/modules/commonjs/diffpatcher/patch.js +lib/firefox52/modules/commonjs/diffpatcher/rebase.js +lib/firefox52/modules/commonjs/diffpatcher/test/common.js +lib/firefox52/modules/commonjs/diffpatcher/test/diff.js +lib/firefox52/modules/commonjs/diffpatcher/test/index.js +lib/firefox52/modules/commonjs/diffpatcher/test/patch.js +lib/firefox52/modules/commonjs/diffpatcher/test/tap.js +lib/firefox52/modules/commonjs/framescript/FrameScriptManager.jsm +lib/firefox52/modules/commonjs/framescript/content.jsm +lib/firefox52/modules/commonjs/framescript/context-menu.js +lib/firefox52/modules/commonjs/framescript/manager.js +lib/firefox52/modules/commonjs/framescript/util.js +lib/firefox52/modules/commonjs/index.js +lib/firefox52/modules/commonjs/jetpack-id/index.js +lib/firefox52/modules/commonjs/method/core.js +lib/firefox52/modules/commonjs/method/test/browser.js +lib/firefox52/modules/commonjs/method/test/common.js +lib/firefox52/modules/commonjs/mozilla-toolkit-versioning/index.js +lib/firefox52/modules/commonjs/mozilla-toolkit-versioning/lib/utils.js +lib/firefox52/modules/commonjs/node/os.js +lib/firefox52/modules/commonjs/sdk/addon/bootstrap.js +lib/firefox52/modules/commonjs/sdk/addon/events.js +lib/firefox52/modules/commonjs/sdk/addon/host.js +lib/firefox52/modules/commonjs/sdk/addon/installer.js +lib/firefox52/modules/commonjs/sdk/addon/manager.js +lib/firefox52/modules/commonjs/sdk/addon/runner.js +lib/firefox52/modules/commonjs/sdk/addon/window.js +lib/firefox52/modules/commonjs/sdk/base64.js +lib/firefox52/modules/commonjs/sdk/browser/events.js +lib/firefox52/modules/commonjs/sdk/clipboard.js +lib/firefox52/modules/commonjs/sdk/console/plain-text.js +lib/firefox52/modules/commonjs/sdk/console/traceback.js +lib/firefox52/modules/commonjs/sdk/content/content-worker.js +lib/firefox52/modules/commonjs/sdk/content/content.js +lib/firefox52/modules/commonjs/sdk/content/context-menu.js +lib/firefox52/modules/commonjs/sdk/content/events.js +lib/firefox52/modules/commonjs/sdk/content/l10n-html.js +lib/firefox52/modules/commonjs/sdk/content/loader.js +lib/firefox52/modules/commonjs/sdk/content/mod.js +lib/firefox52/modules/commonjs/sdk/content/page-mod.js +lib/firefox52/modules/commonjs/sdk/content/page-worker.js +lib/firefox52/modules/commonjs/sdk/content/sandbox.js +lib/firefox52/modules/commonjs/sdk/content/sandbox/events.js +lib/firefox52/modules/commonjs/sdk/content/tab-events.js +lib/firefox52/modules/commonjs/sdk/content/thumbnail.js +lib/firefox52/modules/commonjs/sdk/content/utils.js +lib/firefox52/modules/commonjs/sdk/content/worker-child.js +lib/firefox52/modules/commonjs/sdk/content/worker.js +lib/firefox52/modules/commonjs/sdk/context-menu.js +lib/firefox52/modules/commonjs/sdk/context-menu/context.js +lib/firefox52/modules/commonjs/sdk/context-menu/core.js +lib/firefox52/modules/commonjs/sdk/context-menu/readers.js +lib/firefox52/modules/commonjs/sdk/context-menu@2.js +lib/firefox52/modules/commonjs/sdk/core/disposable.js +lib/firefox52/modules/commonjs/sdk/core/heritage.js +lib/firefox52/modules/commonjs/sdk/core/namespace.js +lib/firefox52/modules/commonjs/sdk/core/observer.js +lib/firefox52/modules/commonjs/sdk/core/promise.js +lib/firefox52/modules/commonjs/sdk/core/reference.js +lib/firefox52/modules/commonjs/sdk/deprecated/api-utils.js +lib/firefox52/modules/commonjs/sdk/deprecated/events/assembler.js +lib/firefox52/modules/commonjs/sdk/deprecated/sync-worker.js +lib/firefox52/modules/commonjs/sdk/deprecated/unit-test-finder.js +lib/firefox52/modules/commonjs/sdk/deprecated/unit-test.js +lib/firefox52/modules/commonjs/sdk/deprecated/window-utils.js +lib/firefox52/modules/commonjs/sdk/dom/events-shimmed.js +lib/firefox52/modules/commonjs/sdk/dom/events.js +lib/firefox52/modules/commonjs/sdk/dom/events/keys.js +lib/firefox52/modules/commonjs/sdk/event/chrome.js +lib/firefox52/modules/commonjs/sdk/event/core.js +lib/firefox52/modules/commonjs/sdk/event/dom.js +lib/firefox52/modules/commonjs/sdk/event/target.js +lib/firefox52/modules/commonjs/sdk/event/utils.js +lib/firefox52/modules/commonjs/sdk/frame/hidden-frame.js +lib/firefox52/modules/commonjs/sdk/frame/utils.js +lib/firefox52/modules/commonjs/sdk/fs/path.js +lib/firefox52/modules/commonjs/sdk/hotkeys.js +lib/firefox52/modules/commonjs/sdk/indexed-db.js +lib/firefox52/modules/commonjs/sdk/input/browser.js +lib/firefox52/modules/commonjs/sdk/input/customizable-ui.js +lib/firefox52/modules/commonjs/sdk/input/frame.js +lib/firefox52/modules/commonjs/sdk/input/system.js +lib/firefox52/modules/commonjs/sdk/io/buffer.js +lib/firefox52/modules/commonjs/sdk/io/byte-streams.js +lib/firefox52/modules/commonjs/sdk/io/file.js +lib/firefox52/modules/commonjs/sdk/io/fs.js +lib/firefox52/modules/commonjs/sdk/io/stream.js +lib/firefox52/modules/commonjs/sdk/io/text-streams.js +lib/firefox52/modules/commonjs/sdk/keyboard/hotkeys.js +lib/firefox52/modules/commonjs/sdk/keyboard/observer.js +lib/firefox52/modules/commonjs/sdk/keyboard/utils.js +lib/firefox52/modules/commonjs/sdk/l10n.js +lib/firefox52/modules/commonjs/sdk/l10n/core.js +lib/firefox52/modules/commonjs/sdk/l10n/html.js +lib/firefox52/modules/commonjs/sdk/l10n/json/core.js +lib/firefox52/modules/commonjs/sdk/l10n/loader.js +lib/firefox52/modules/commonjs/sdk/l10n/locale.js +lib/firefox52/modules/commonjs/sdk/l10n/plural-rules.js +lib/firefox52/modules/commonjs/sdk/l10n/prefs.js +lib/firefox52/modules/commonjs/sdk/l10n/properties/core.js +lib/firefox52/modules/commonjs/sdk/lang/functional.js +lib/firefox52/modules/commonjs/sdk/lang/functional/concurrent.js +lib/firefox52/modules/commonjs/sdk/lang/functional/core.js +lib/firefox52/modules/commonjs/sdk/lang/functional/helpers.js +lib/firefox52/modules/commonjs/sdk/lang/type.js +lib/firefox52/modules/commonjs/sdk/lang/weak-set.js +lib/firefox52/modules/commonjs/sdk/loader/cuddlefish.js +lib/firefox52/modules/commonjs/sdk/loader/sandbox.js +lib/firefox52/modules/commonjs/sdk/messaging.js +lib/firefox52/modules/commonjs/sdk/model/core.js +lib/firefox52/modules/commonjs/sdk/net/url.js +lib/firefox52/modules/commonjs/sdk/net/xhr.js +lib/firefox52/modules/commonjs/sdk/notifications.js +lib/firefox52/modules/commonjs/sdk/output/system.js +lib/firefox52/modules/commonjs/sdk/page-mod.js +lib/firefox52/modules/commonjs/sdk/page-mod/match-pattern.js +lib/firefox52/modules/commonjs/sdk/page-worker.js +lib/firefox52/modules/commonjs/sdk/panel.js +lib/firefox52/modules/commonjs/sdk/panel/events.js +lib/firefox52/modules/commonjs/sdk/panel/utils.js +lib/firefox52/modules/commonjs/sdk/passwords.js +lib/firefox52/modules/commonjs/sdk/passwords/utils.js +lib/firefox52/modules/commonjs/sdk/places/bookmarks.js +lib/firefox52/modules/commonjs/sdk/places/contract.js +lib/firefox52/modules/commonjs/sdk/places/events.js +lib/firefox52/modules/commonjs/sdk/places/favicon.js +lib/firefox52/modules/commonjs/sdk/places/history.js +lib/firefox52/modules/commonjs/sdk/places/host/host-bookmarks.js +lib/firefox52/modules/commonjs/sdk/places/host/host-query.js +lib/firefox52/modules/commonjs/sdk/places/host/host-tags.js +lib/firefox52/modules/commonjs/sdk/places/utils.js +lib/firefox52/modules/commonjs/sdk/platform/xpcom.js +lib/firefox52/modules/commonjs/sdk/preferences/event-target.js +lib/firefox52/modules/commonjs/sdk/preferences/native-options.js +lib/firefox52/modules/commonjs/sdk/preferences/service.js +lib/firefox52/modules/commonjs/sdk/preferences/utils.js +lib/firefox52/modules/commonjs/sdk/private-browsing.js +lib/firefox52/modules/commonjs/sdk/private-browsing/utils.js +lib/firefox52/modules/commonjs/sdk/querystring.js +lib/firefox52/modules/commonjs/sdk/remote/child.js +lib/firefox52/modules/commonjs/sdk/remote/core.js +lib/firefox52/modules/commonjs/sdk/remote/parent.js +lib/firefox52/modules/commonjs/sdk/remote/utils.js +lib/firefox52/modules/commonjs/sdk/request.js +lib/firefox52/modules/commonjs/sdk/selection.js +lib/firefox52/modules/commonjs/sdk/self.js +lib/firefox52/modules/commonjs/sdk/simple-prefs.js +lib/firefox52/modules/commonjs/sdk/simple-storage.js +lib/firefox52/modules/commonjs/sdk/stylesheet/style.js +lib/firefox52/modules/commonjs/sdk/stylesheet/utils.js +lib/firefox52/modules/commonjs/sdk/system.js +lib/firefox52/modules/commonjs/sdk/system/child_process.js +lib/firefox52/modules/commonjs/sdk/system/child_process/subprocess.js +lib/firefox52/modules/commonjs/sdk/system/environment.js +lib/firefox52/modules/commonjs/sdk/system/events-shimmed.js +lib/firefox52/modules/commonjs/sdk/system/events.js +lib/firefox52/modules/commonjs/sdk/system/globals.js +lib/firefox52/modules/commonjs/sdk/system/process.js +lib/firefox52/modules/commonjs/sdk/system/runtime.js +lib/firefox52/modules/commonjs/sdk/system/unload.js +lib/firefox52/modules/commonjs/sdk/system/xul-app.js +lib/firefox52/modules/commonjs/sdk/system/xul-app.jsm +lib/firefox52/modules/commonjs/sdk/tab/events.js +lib/firefox52/modules/commonjs/sdk/tabs.js +lib/firefox52/modules/commonjs/sdk/tabs/common.js +lib/firefox52/modules/commonjs/sdk/tabs/events.js +lib/firefox52/modules/commonjs/sdk/tabs/helpers.js +lib/firefox52/modules/commonjs/sdk/tabs/namespace.js +lib/firefox52/modules/commonjs/sdk/tabs/observer.js +lib/firefox52/modules/commonjs/sdk/tabs/tab-fennec.js +lib/firefox52/modules/commonjs/sdk/tabs/tab-firefox.js +lib/firefox52/modules/commonjs/sdk/tabs/tab.js +lib/firefox52/modules/commonjs/sdk/tabs/tabs-firefox.js +lib/firefox52/modules/commonjs/sdk/tabs/utils.js +lib/firefox52/modules/commonjs/sdk/tabs/worker.js +lib/firefox52/modules/commonjs/sdk/test.js +lib/firefox52/modules/commonjs/sdk/test/assert.js +lib/firefox52/modules/commonjs/sdk/test/harness.js +lib/firefox52/modules/commonjs/sdk/test/httpd.js +lib/firefox52/modules/commonjs/sdk/test/loader.js +lib/firefox52/modules/commonjs/sdk/test/memory.js +lib/firefox52/modules/commonjs/sdk/test/options.js +lib/firefox52/modules/commonjs/sdk/test/runner.js +lib/firefox52/modules/commonjs/sdk/test/utils.js +lib/firefox52/modules/commonjs/sdk/timers.js +lib/firefox52/modules/commonjs/sdk/ui.js +lib/firefox52/modules/commonjs/sdk/ui/button/action.js +lib/firefox52/modules/commonjs/sdk/ui/button/contract.js +lib/firefox52/modules/commonjs/sdk/ui/button/toggle.js +lib/firefox52/modules/commonjs/sdk/ui/button/view.js +lib/firefox52/modules/commonjs/sdk/ui/button/view/events.js +lib/firefox52/modules/commonjs/sdk/ui/component.js +lib/firefox52/modules/commonjs/sdk/ui/frame.js +lib/firefox52/modules/commonjs/sdk/ui/frame/model.js +lib/firefox52/modules/commonjs/sdk/ui/frame/view.html +lib/firefox52/modules/commonjs/sdk/ui/frame/view.js +lib/firefox52/modules/commonjs/sdk/ui/id.js +lib/firefox52/modules/commonjs/sdk/ui/sidebar.js +lib/firefox52/modules/commonjs/sdk/ui/sidebar/actions.js +lib/firefox52/modules/commonjs/sdk/ui/sidebar/contract.js +lib/firefox52/modules/commonjs/sdk/ui/sidebar/namespace.js +lib/firefox52/modules/commonjs/sdk/ui/sidebar/utils.js +lib/firefox52/modules/commonjs/sdk/ui/sidebar/view.js +lib/firefox52/modules/commonjs/sdk/ui/state.js +lib/firefox52/modules/commonjs/sdk/ui/state/events.js +lib/firefox52/modules/commonjs/sdk/ui/toolbar.js +lib/firefox52/modules/commonjs/sdk/ui/toolbar/model.js +lib/firefox52/modules/commonjs/sdk/ui/toolbar/view.js +lib/firefox52/modules/commonjs/sdk/uri/resource.js +lib/firefox52/modules/commonjs/sdk/url.js +lib/firefox52/modules/commonjs/sdk/url/utils.js +lib/firefox52/modules/commonjs/sdk/util/array.js +lib/firefox52/modules/commonjs/sdk/util/collection.js +lib/firefox52/modules/commonjs/sdk/util/contract.js +lib/firefox52/modules/commonjs/sdk/util/deprecate.js +lib/firefox52/modules/commonjs/sdk/util/dispatcher.js +lib/firefox52/modules/commonjs/sdk/util/list.js +lib/firefox52/modules/commonjs/sdk/util/match-pattern.js +lib/firefox52/modules/commonjs/sdk/util/object.js +lib/firefox52/modules/commonjs/sdk/util/rules.js +lib/firefox52/modules/commonjs/sdk/util/sequence.js +lib/firefox52/modules/commonjs/sdk/util/uuid.js +lib/firefox52/modules/commonjs/sdk/view/core.js +lib/firefox52/modules/commonjs/sdk/webextension.js +lib/firefox52/modules/commonjs/sdk/window/browser.js +lib/firefox52/modules/commonjs/sdk/window/events.js +lib/firefox52/modules/commonjs/sdk/window/helpers.js +lib/firefox52/modules/commonjs/sdk/window/namespace.js +lib/firefox52/modules/commonjs/sdk/window/utils.js +lib/firefox52/modules/commonjs/sdk/windows.js +lib/firefox52/modules/commonjs/sdk/windows/fennec.js +lib/firefox52/modules/commonjs/sdk/windows/firefox.js +lib/firefox52/modules/commonjs/sdk/windows/observer.js +lib/firefox52/modules/commonjs/sdk/windows/tabs-fennec.js +lib/firefox52/modules/commonjs/sdk/worker/utils.js +lib/firefox52/modules/commonjs/sdk/zip/utils.js +lib/firefox52/modules/commonjs/test.js +lib/firefox52/modules/commonjs/toolkit/loader.js +lib/firefox52/modules/commonjs/toolkit/require.js +lib/firefox52/modules/ctypes.jsm +lib/firefox52/modules/debug.js +lib/firefox52/modules/devtools/Console.jsm +lib/firefox52/modules/devtools/Loader.jsm +lib/firefox52/modules/devtools/Simulator.jsm +lib/firefox52/modules/devtools/dbg-client.jsm +lib/firefox52/modules/devtools/dbg-server.jsm +lib/firefox52/modules/devtools/event-emitter.js +lib/firefox52/modules/devtools/shared/Console.jsm +lib/firefox52/modules/devtools/shared/Loader.jsm +lib/firefox52/modules/devtools/shared/apps/Simulator.jsm +lib/firefox52/modules/identity/FirefoxAccounts.jsm +lib/firefox52/modules/identity/Identity.jsm +lib/firefox52/modules/identity/IdentityProvider.jsm +lib/firefox52/modules/identity/IdentityStore.jsm +lib/firefox52/modules/identity/IdentityUtils.jsm +lib/firefox52/modules/identity/LogUtils.jsm +lib/firefox52/modules/identity/MinimalIdentity.jsm +lib/firefox52/modules/identity/RelyingParty.jsm +lib/firefox52/modules/identity/Sandbox.jsm +lib/firefox52/modules/identity/jwcrypto.jsm +lib/firefox52/modules/jsdebugger.jsm +lib/firefox52/modules/lz4.js +lib/firefox52/modules/lz4_internal.js +lib/firefox52/modules/media/IdpSandbox.jsm +lib/firefox52/modules/media/PeerConnectionIdp.jsm +lib/firefox52/modules/media/RTCStatsReport.jsm +lib/firefox52/modules/microformat-shiv.js +lib/firefox52/modules/narrate/NarrateControls.jsm +lib/firefox52/modules/narrate/Narrator.jsm +lib/firefox52/modules/narrate/VoiceSelect.jsm +lib/firefox52/modules/nsFormAutoCompleteResult.jsm +lib/firefox52/modules/osfile.jsm +lib/firefox52/modules/osfile/osfile_async_front.jsm +lib/firefox52/modules/osfile/osfile_async_worker.js +lib/firefox52/modules/osfile/osfile_native.jsm +lib/firefox52/modules/osfile/osfile_shared_allthreads.jsm +lib/firefox52/modules/osfile/osfile_shared_front.jsm +lib/firefox52/modules/osfile/osfile_unix_allthreads.jsm +lib/firefox52/modules/osfile/osfile_unix_back.jsm +lib/firefox52/modules/osfile/osfile_unix_front.jsm +lib/firefox52/modules/osfile/osfile_win_allthreads.jsm +lib/firefox52/modules/osfile/osfile_win_back.jsm +lib/firefox52/modules/osfile/osfile_win_front.jsm +lib/firefox52/modules/osfile/ospath.jsm +lib/firefox52/modules/osfile/ospath_unix.jsm +lib/firefox52/modules/osfile/ospath_win.jsm +lib/firefox52/modules/presentation/ControllerStateMachine.jsm +lib/firefox52/modules/presentation/ReceiverStateMachine.jsm +lib/firefox52/modules/presentation/StateMachineHelper.jsm +lib/firefox52/modules/psm/DER.jsm +lib/firefox52/modules/psm/X509.jsm +lib/firefox52/modules/reader/JSDOMParser.js +lib/firefox52/modules/reader/Readability.js +lib/firefox52/modules/reader/ReaderWorker.js +lib/firefox52/modules/reader/ReaderWorker.jsm +lib/firefox52/modules/reflect.jsm +lib/firefox52/modules/sdk/bootstrap.js +lib/firefox52/modules/sdk/system/Startup.js +lib/firefox52/modules/services-common/async.js +lib/firefox52/modules/services-common/blocklist-clients.js +lib/firefox52/modules/services-common/blocklist-updater.js +lib/firefox52/modules/services-common/hawkclient.js +lib/firefox52/modules/services-common/hawkrequest.js +lib/firefox52/modules/services-common/kinto-http-client.js +lib/firefox52/modules/services-common/kinto-offline-client.js +lib/firefox52/modules/services-common/logmanager.js +lib/firefox52/modules/services-common/observers.js +lib/firefox52/modules/services-common/rest.js +lib/firefox52/modules/services-common/stringbundle.js +lib/firefox52/modules/services-common/tokenserverclient.js +lib/firefox52/modules/services-common/utils.js +lib/firefox52/modules/services-crypto/WeaveCrypto.js +lib/firefox52/modules/services-crypto/utils.js +lib/firefox52/modules/services-sync/FxaMigrator.jsm +lib/firefox52/modules/services-sync/SyncedTabs.jsm +lib/firefox52/modules/services-sync/addonsreconciler.js +lib/firefox52/modules/services-sync/addonutils.js +lib/firefox52/modules/services-sync/bookmark_validator.js +lib/firefox52/modules/services-sync/browserid_identity.js +lib/firefox52/modules/services-sync/collection_validator.js +lib/firefox52/modules/services-sync/constants.js +lib/firefox52/modules/services-sync/engines.js +lib/firefox52/modules/services-sync/engines/addons.js +lib/firefox52/modules/services-sync/engines/bookmarks.js +lib/firefox52/modules/services-sync/engines/clients.js +lib/firefox52/modules/services-sync/engines/extension-storage.js +lib/firefox52/modules/services-sync/engines/forms.js +lib/firefox52/modules/services-sync/engines/history.js +lib/firefox52/modules/services-sync/engines/passwords.js +lib/firefox52/modules/services-sync/engines/prefs.js +lib/firefox52/modules/services-sync/engines/tabs.js +lib/firefox52/modules/services-sync/identity.js +lib/firefox52/modules/services-sync/jpakeclient.js +lib/firefox52/modules/services-sync/keys.js +lib/firefox52/modules/services-sync/main.js +lib/firefox52/modules/services-sync/policies.js +lib/firefox52/modules/services-sync/record.js +lib/firefox52/modules/services-sync/resource.js +lib/firefox52/modules/services-sync/rest.js +lib/firefox52/modules/services-sync/service.js +lib/firefox52/modules/services-sync/stages/cluster.js +lib/firefox52/modules/services-sync/stages/declined.js +lib/firefox52/modules/services-sync/stages/enginesync.js +lib/firefox52/modules/services-sync/status.js +lib/firefox52/modules/services-sync/telemetry.js +lib/firefox52/modules/services-sync/userapi.js +lib/firefox52/modules/services-sync/util.js +lib/firefox52/modules/sessionstore/Utils.jsm +lib/firefox52/modules/sqlite/sqlite_internal.js +lib/firefox52/modules/subprocess/subprocess_common.jsm +lib/firefox52/modules/subprocess/subprocess_shared.js +lib/firefox52/modules/subprocess/subprocess_shared_unix.js +lib/firefox52/modules/subprocess/subprocess_unix.jsm +lib/firefox52/modules/subprocess/subprocess_worker_common.js +lib/firefox52/modules/subprocess/subprocess_worker_unix.js +lib/firefox52/modules/third_party/jsesc/jsesc.js +lib/firefox52/modules/vtt.jsm +lib/firefox52/modules/workers/PromiseWorker.js +lib/firefox52/modules/workers/require.js +lib/firefox52/platform.ini +lib/firefox52/plugin-container +lib/firefox52/removed-files +lib/firefox52/res/EditorOverride.css +lib/firefox52/res/ImageDocument.css +lib/firefox52/res/TopLevelImageDocument.css +lib/firefox52/res/TopLevelVideoDocument.css +lib/firefox52/res/contenteditable.css +lib/firefox52/res/designmode.css +lib/firefox52/res/dtd/htmlmathml-f.ent +lib/firefox52/res/entityTables/html40Latin1.properties +lib/firefox52/res/entityTables/html40Special.properties +lib/firefox52/res/entityTables/html40Symbols.properties +lib/firefox52/res/entityTables/mathml20.properties +lib/firefox52/res/fonts/mathfont.properties +lib/firefox52/res/fonts/mathfontSTIXGeneral.properties +lib/firefox52/res/fonts/mathfontUnicode.properties +lib/firefox52/res/grabber.gif +lib/firefox52/res/html/folder.png +lib/firefox52/res/language.properties +lib/firefox52/res/svg.css +lib/firefox52/res/table-add-column-after-active.gif +lib/firefox52/res/table-add-column-after-hover.gif +lib/firefox52/res/table-add-column-after.gif +lib/firefox52/res/table-add-column-before-active.gif +lib/firefox52/res/table-add-column-before-hover.gif +lib/firefox52/res/table-add-column-before.gif +lib/firefox52/res/table-add-row-after-active.gif +lib/firefox52/res/table-add-row-after-hover.gif +lib/firefox52/res/table-add-row-after.gif +lib/firefox52/res/table-add-row-before-active.gif +lib/firefox52/res/table-add-row-before-hover.gif +lib/firefox52/res/table-add-row-before.gif +lib/firefox52/res/table-remove-column-active.gif +lib/firefox52/res/table-remove-column-hover.gif +lib/firefox52/res/table-remove-column.gif +lib/firefox52/res/table-remove-row-active.gif +lib/firefox52/res/table-remove-row-hover.gif +lib/firefox52/res/table-remove-row.gif +lib/firefox52/run-mozilla.sh +share/applications/firefox52.desktop +share/pixmaps/firefox52.png diff --git a/www/firefox52/distinfo b/www/firefox52/distinfo new file mode 100644 index 00000000000..ed3deb0d8f9 --- /dev/null +++ b/www/firefox52/distinfo @@ -0,0 +1,112 @@ +$NetBSD: distinfo,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +SHA1 (firefox-52.1.0esr.source.tar.xz) = ff1af08655356a4d94915ddca61188c14a249a74 +RMD160 (firefox-52.1.0esr.source.tar.xz) = ebd0ace6b5267dbf92a2761fa3545f924acdabb1 +SHA512 (firefox-52.1.0esr.source.tar.xz) = ba833904654eda347f83df77e04c8e81572772e8555f187b796ecc30e498b93fb729b6f60935731d9584169adc9d61329155364fddf635cbd11abebe4a600247 +Size (firefox-52.1.0esr.source.tar.xz) = 212348684 bytes +SHA1 (patch-aa) = c1084caa275e57b716c3499301f7fc3f99ef5026 +SHA1 (patch-ao) = 8b7125ef3b193fca4d03386142887b2f8d5015c5 +SHA1 (patch-as) = 632ebd35287f8f97d18721d39a0514d4cdbb12cc +SHA1 (patch-build_gyp.mozbuild) = 481270e6703e556fb87a3440cb3cfb3d4fcc4c86 +SHA1 (patch-build_moz.configure_init.configure) = f2df0c6b92aa825a61f6a4ee1f70f5443c61858e +SHA1 (patch-build_moz.configure_keyfiles.configure) = dd46c7c29464f374eed3f0762f4653d42032c261 +SHA1 (patch-build_moz.configure_memory.configure) = 46237c1415eff3f99d4889a6300ec96af925f0a6 +SHA1 (patch-build_moz.configure_old.configure) = d57f718ff0c1d2901ec9f4c958f5a7323ee7c700 +SHA1 (patch-build_pgo_profileserver.py) = 48ad50f716eda2157cbc225298f6672f164b4207 +SHA1 (patch-config_Makefile.in) = fc6d4de55f4d9ab8598d5b89e6630e4685af1795 +SHA1 (patch-config_baseconfig.mk) = fbc3fd75bf5d794284e5703a9df227949e819136 +SHA1 (patch-config_external_moz.build) = 68708dc0fb94119b9f140d05dd737e69bb6bba81 +SHA1 (patch-config_stl__wrappers_ios) = 00d723e2f2f252485350ede5833f0bb84c1235c1 +SHA1 (patch-config_stl__wrappers_ostream) = 7be7fe36704ffbdc070a113b46b4f391a598206b +SHA1 (patch-config_system-headers) = fd0cb4d2061af1eaa34313370a57720ed693607f +SHA1 (patch-config_system__wrappers_unwind.h) = b3bdac0710179b9c8f8eabd824216d0114504491 +SHA1 (patch-dom_base_moz.build) = 5200cbfcf7b781324dca4c55d01bc8559a56aa4c +SHA1 (patch-dom_filesystem_compat_FileSystemDirectoryReader.h) = 27ca83f35910360ff5f8469c5c43104a079d8217 +SHA1 (patch-dom_media_AudioStream.cpp) = 3d2e3d92849a355c05d7ec0ded61d551ffe0c581 +SHA1 (patch-dom_media_AudioStream.h) = 26f70000cc4810834204d15b45e1469dd5f23617 +SHA1 (patch-dom_media_moz.build) = 844dbb94463b8aab11649a5aa11142de0179d86c +SHA1 (patch-dom_media_platforms_ffmpeg_ffvpx_FFVPXRuntimeLinker.cpp) = 34c89f93b6a849b9daeeed43d4a9a91a2a2080c4 +SHA1 (patch-dom_plugins_ipc_PluginModuleChild.cpp) = 9961e956016f274a1b9b52b489bd749e8e2bbcb6 +SHA1 (patch-dom_plugins_ipc_PluginModuleChild.h) = 15c01df2fa7f989b533ef769ce77438b5e9bfdb9 +SHA1 (patch-dom_system_OSFileConstants.cpp) = e932ca46cbc78eb8486b9ff704434a962645c6b2 +SHA1 (patch-extensions_spellcheck_hunspell_glue_mozHunspell.cpp) = 2aaf5f82a57dbb375558442718c239e2e7da1406 +SHA1 (patch-gfx_cairo_libpixman_src_pixman-arm-neon-asm.S) = 6e91ca436b73affe42ed4e683b3400beb28c4bc6 +SHA1 (patch-gfx_gl_GLContextProviderGLX.cpp) = 2cc997cab71a84c1f50a791693519a0626564426 +SHA1 (patch-gfx_graphite2_moz-gr-update.sh) = 09eb2fa66109d38a3aedc940fcaaee5f91e216ae +SHA1 (patch-gfx_graphite2_src_Bidi.cpp) = 9b357196b795f7698f0763cb6cfcd39b4aea6420 +SHA1 (patch-gfx_moz.build) = 0d669ac6dc1af17ea8ed7e84e4915947c2a6b1ca +SHA1 (patch-gfx_skia_generate__mozbuild.py) = fba2f212f84e6cc20a4269e21ed654c348ae8fee +SHA1 (patch-gfx_skia_moz.build) = 7363e76ac75e27cffe5ee1194741d444a625b871 +SHA1 (patch-gfx_thebes_moz.build) = 0435f36d573fee1bb300612e4b7dc6fcda2d5456 +SHA1 (patch-gfx_ycbcr_moz.build) = 705c36b972ef1533330e4a180002cef1c22755bf +SHA1 (patch-gfx_ycbcr_yuv__row__arm.S) = 79587891c2a1716a27d4dca0e5b5880069a430eb +SHA1 (patch-image_Downscaler.h) = c92aa17c22310d0b16cdc4bb778d3029c4b154e3 +SHA1 (patch-image_decoders_nsJPEGDecoder.cpp) = ed86c3fbb3aef753eec6f6a97940594aac5f3f2f +SHA1 (patch-intl_hyphenation_glue_hnjalloc.h) = abe01bea5872a57f3d00bbbf89f958621f08a655 +SHA1 (patch-intl_unicharutil_util_moz.build) = 2e604c8695b490657ee14cae01ca84d7bd51236c +SHA1 (patch-ipc_chromium_src_base_atomicops.h) = 24b63a6e51d9ab27f2788ee02f2ffa7e1c36f29a +SHA1 (patch-ipc_chromium_src_base_message__pump__libevent.cc) = 99b9f3f9dd88f1c8008d2fb6058450695394f5cf +SHA1 (patch-ipc_chromium_src_base_platform__thread.h) = c81930280bd76a00fbad37aad02fb8451d80b1ee +SHA1 (patch-ipc_chromium_src_base_platform__thread__posix.cc) = 45409f2152d5ffc376c18c0c9bc696e08e3910ce +SHA1 (patch-ipc_chromium_src_base_process__util.h) = 4b24c3467866a601d68bb83f44e5fd38fb27188d +SHA1 (patch-ipc_chromium_src_base_process__util__posix.cc) = aa6dee9678eeb0eb3d50e74f6e629ee0f4bc9d4b +SHA1 (patch-ipc_chromium_src_base_sys__info__posix.cc) = 5313c4097c278640573c7e1cb089f6f76b48c1a8 +SHA1 (patch-ipc_chromium_src_base_time__posix.cc) = ba4e0872490f870e7d2f468e1fe87c33cf9a3500 +SHA1 (patch-ipc_chromium_src_build_build__config.h) = 9e4f15226c494f5015dbea3a0df6af851449ae15 +SHA1 (patch-ipc_chromium_src_chrome_common_transport__dib.h) = 33ea11a8c23f2fefcb318342ac9e94d3885cb3b1 +SHA1 (patch-ipc_glue_GeckoChildProcessHost.cpp) = b9c202645a4b6f691a6eb81ef0daf4278d10dcc4 +SHA1 (patch-js_src_jit_arm_Architecture-arm.cpp) = f0b554c169643b8447b4f29168d61ea257b18782 +SHA1 (patch-js_src_jit_none_AtomicOperations-sparc.h) = b44992a869d6d08809a9edc28f1ad6f40632d392 +SHA1 (patch-js_src_moz.build) = ce9110506086d15a011d0985b58dd4e7d1b6ec5f +SHA1 (patch-js_xpconnect_src_XPCConvert.cpp) = 915777e9bb5366be41866cdb6ea0ad2b1c006dde +SHA1 (patch-js_xpconnect_src_xpcprivate.h) = e09e37819961bae40a9f276ae1ee510d2956c23e +SHA1 (patch-media_libcubeb_src_cubeb.c) = 3be0bf511cbd3b1c691fadb081acaf38838c36f4 +SHA1 (patch-media_libcubeb_src_cubeb__alsa.c) = c59eaf40973193885f32819b465b401c1ba45fce +SHA1 (patch-media_libcubeb_src_cubeb__oss.c) = e15cc2d0c220738ccfd57f79eec242095c8ea536 +SHA1 (patch-media_libcubeb_src_moz.build) = 2b6d7e3bb265220decf9629b1d4b980cadb363fb +SHA1 (patch-media_libcubeb_tests_moz.build) = 63d8b749a6ebbe8fd662ce1e2bde6aa9cb0b807d +SHA1 (patch-media_libcubeb_update.sh) = 333e1e2898f1703a298ba2a3f731ffc63f09a184 +SHA1 (patch-media_libsoundtouch_src_cpu__detect__x86.cpp) = db61737afa7773e8cbd82976de3a02c917174696 +SHA1 (patch-media_libsoundtouch_src_soundtouch__perms.h) = 2d08a3b4176c155c57b458cb78043318b68d8fe2 +SHA1 (patch-media_libtheora_lib_arm_armcpu.c) = 4b215277f9c81154377d401166023c1bf78a3718 +SHA1 (patch-media_libtheora_moz.build) = cbcb61331fea274b720a4b5c51db1f763fc10d81 +SHA1 (patch-media_libtremor_moz.build) = 87f66296be4db8487eae95b2779a9c02463555cf +SHA1 (patch-media_libvorbis_moz.build) = cad67e49169ddab075fbfae2e6f0f950c1eccaf0 +SHA1 (patch-media_libyuv_source_mjpeg__decoder.cc) = d3b301dcec965b8f3efdd202db07fd75b503bc20 +SHA1 (patch-media_openmax__dl_dl_api_armCOMM__s.h) = 40b3fa8aaec77d3bfec810f0bc4e76eae449d7c7 +SHA1 (patch-media_webrtc_signaling_test_common.build) = 75729fb2983b272e433ff07853902f4b8d363ba6 +SHA1 (patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc) = 22f4d0bb290f02bf6158facc1e47354dc8a0b211 +SHA1 (patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc) = 07158ae777fc4743f17cedc106cc9c85fb327d55 +SHA1 (patch-media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi) = 9fb89480e47fce4df99a82fe90259bf444bd2e11 +SHA1 (patch-memory_mozalloc_mozalloc__abort.cpp) = 9e94002b01664a42af415639dc94caa127a73ac0 +SHA1 (patch-mfbt_Poison.cpp) = f502581db96b3e5eca25a9aa9035f436e9167503 +SHA1 (patch-mobile_android_installer_Makefile.in) = fcf4ab03ab033f8637813e30b75a0a2050450933 +SHA1 (patch-modules_libjar_nsZipArchive.cpp) = 133b1658839d9b0f932a601670862c1f4cd70881 +SHA1 (patch-mozglue_build_arm.cpp) = f41ace63b3f1d2a8ccaffc98c3c64d1e22af5249 +SHA1 (patch-mozglue_build_arm.h) = 5e272f4e19b9681d43a63c45d78b0e44a392c7dc +SHA1 (patch-netwerk_dns_moz.build) = d4ad35ee7152ca206156403954cbd247d1252ab0 +SHA1 (patch-rc) = 9628b038f036f3fc0e37bdf84fa0abf99dbc8d2a +SHA1 (patch-toolkit_components_osfile_modules_osfile__unix__back.jsm) = 27e90fdfd5587f670958d832cd56107740b226ee +SHA1 (patch-toolkit_components_osfile_modules_osfile__unix__front.jsm) = 4e5dc7cf11ea3d48cca86b5d21158d676ebd8957 +SHA1 (patch-toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h) = 5ffb0782bbbff2fd17ad71e98b349b4ec3dc6c8c +SHA1 (patch-toolkit_components_protobuf_src_google_protobuf_stubs_platform__macros.h) = bd4388323851fcb7b10392d6a27f9bc56633a52e +SHA1 (patch-toolkit_components_terminator_nsTerminator.cpp) = 5b6d2e5c9f685d32894898d3ef3aec09a1a1e5ce +SHA1 (patch-toolkit_library_moz.build) = d4136a5d3c42f2a44155f029a3201959273c5e94 +SHA1 (patch-toolkit_modules_GMPUtils.jsm) = 29ae1476560623bf1871c927d3728761112529e9 +SHA1 (patch-toolkit_moz.configure) = 188d9b9ce6dd728f90f64d215db472758ad67a87 +SHA1 (patch-toolkit_mozapps_extensions_test_browser_browser__gmpProvider.js) = eacc4f45f724eb42869a1dba015e127e049fdec4 +SHA1 (patch-toolkit_xre_glxtest.cpp) = cf048491778610454b914400e53072afedd96e7b +SHA1 (patch-toolkit_xre_nsEmbedFunctions.cpp) = 4db0dfc98ffeb09f524a471e6a727f2c3b045afe +SHA1 (patch-xpcom_base_nscore.h) = d7c96eda884d7f370442749c43caba50da61bbe4 +SHA1 (patch-xpcom_build_XPCOMInit.cpp) = 1e7cc3a7fd9515b10307fafa2b01ed689320bd54 +SHA1 (patch-xpcom_reflect_xptcall_md_unix_Makefile.in) = 950874fbc255c93a828bddd84ffe8478094214cc +SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__arm__netbsd.cpp) = 493d1433ae72bbd0c65ab3f51de43fb864a6f58d +SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__mips.S) = f310105510bb5fa6c6de122ebdebbfa18423d8d3 +SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__ppc__netbsd.s) = 8e367d4d0baf24714ee80449fc8d6849ff08ca1c +SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__netbsd__m68k.cpp) = b6dc5d54eeaa908d914116429e61f4b65a6a5f8e +SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__ppc__netbsd.cpp) = 71a33723a557a6153405f6baec8404b25f841608 +SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__sparc64__netbsd.cpp) = 0792c2c626d906e71c5183994cb32bf8cdb3e239 +SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcstubs__arm__netbsd.cpp) = 3a902eb9a23b3b5737f3c8cb5f96a5ad9a98a189 +SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcstubs__asm__mips.S) = 79a4686d368132aff804f217baa685b2e06bc396 +SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcstubs__asm__sparc64__netbsd.s) = 522bc237bc90d85c98b61a467a431fddd91d8c3c +SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcstubs__netbsd__m68k.cpp) = 75db49c9cb6bf2993afba82b731d80389d866212 diff --git a/www/firefox52/files/desktop.in b/www/firefox52/files/desktop.in new file mode 100644 index 00000000000..d72090e1aab --- /dev/null +++ b/www/firefox52/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/firefox52/hacks.mk b/www/firefox52/hacks.mk new file mode 100644 index 00000000000..0bec7fe8226 --- /dev/null +++ b/www/firefox52/hacks.mk @@ -0,0 +1,13 @@ +# $NetBSD: hacks.mk,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +.if !defined(FIREFOX_HACKS_MK) +FIREFOX_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 # FIREFOX_HACKS_MK diff --git a/www/firefox52/mozilla-common.mk b/www/firefox52/mozilla-common.mk new file mode 100644 index 00000000000..7020283eddc --- /dev/null +++ b/www/firefox52/mozilla-common.mk @@ -0,0 +1,198 @@ +# $NetBSD: mozilla-common.mk,v 1.1 2017/04/27 01:55:57 ryoon Exp $ +# +# common Makefile fragment for mozilla packages based on gecko 2.0. +# +# used by www/firefox/Makefile +# used by www/seamonkey/Makefile + +.include "../../mk/bsd.prefs.mk" + +.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" +BUILD_DEPENDS+= yasm>=1.1:../../devel/yasm + +# Enable Google widevine CDM. This requires external libwidevinecdm.so. +#CONFIGURE_ARGS+= --enable-eme=widevine +.endif + +HAS_CONFIGURE= yes +CONFIGURE_ARGS+= --prefix=${PREFIX} +USE_TOOLS+= pkg-config perl gmake autoconf213 unzip zip +USE_LANGUAGES+= c99 c++ +UNLIMIT_RESOURCES+= datasize + +test: + cd ${WRKSRC}/${OBJDIR}/dist/bin && \ + ./run-mozilla.sh ${WRKSRC}/mach check-spidermonkey + +# tar(1) of OpenBSD 5.5 has no --exclude command line option. +.if ${OPSYS} == "OpenBSD" +TOOLS_PLATFORM.tar= ${TOOLS_PATH.bsdtar} +USE_TOOLS+= bsdtar +.endif +# GCC 4.6 is required to support nullptr. +GCC_REQD+= 4.8 +.if ${MACHINE_ARCH} == "i386" +# Fix for PR pkg/48152. +CXXFLAGS+= -march=i586 +# This is required for SSE2 code under i386. +CXXFLAGS+= -mstackrealign +.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 +CHECK_PORTABILITY_SKIP+=${MOZILLA_DIR}browser/components/loop/run-all-loop-tests.sh +CHECK_PORTABILITY_SKIP+=${MOZILLA_DIR}browser/extensions/loop/run-all-loop-tests.sh + +CONFIGURE_ARGS+= --enable-pie +CONFIGURE_ARGS+= --disable-tests +CONFIGURE_ARGS+= --with-pthreads +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 +CONFIGURE_ARGS+= --with-system-libevent=${BUILDLINK_PREFIX.libevent} +CONFIGURE_ARGS+= --disable-crashreporter +CONFIGURE_ARGS+= --disable-necko-wifi +CONFIGURE_ARGS+= --enable-chrome-format=flat +CONFIGURE_ARGS+= --disable-libjpeg-turbo + +CONFIGURE_ARGS+= --disable-elf-hack +CONFIGURE_ARGS+= --disable-gconf +CONFIGURE_ARGS+= --enable-gio +CONFIGURE_ARGS+= --enable-extensions=gio +#CONFIGURE_ARGS+= --enable-readline +CONFIGURE_ARGS+= --enable-url-classifier +CONFIGURE_ARGS+= --disable-icf +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/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 + +CONFIGURE_ENV+= CPP=${CPP} + +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, \ + ${WRAPPER_DIR}/bin/rm + chmod +x ${WRAPPER_DIR}/bin/rm + +# The configure test for __thread succeeds, but later we end up with: +# dist/bin/libxul.so: undefined reference to `__tls_get_addr' +CONFIGURE_ENV.NetBSD+= ac_cv_thread_keyword=no + +.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" +BUILDLINK_API_DEPENDS.libevent+= libevent>=1.1 +.include "../../devel/libevent/buildlink3.mk" +.include "../../devel/libffi/buildlink3.mk" +BUILDLINK_API_DEPENDS.nspr+= nspr>=4.10.10 +.include "../../devel/nspr/buildlink3.mk" +.include "../../textproc/icu/buildlink3.mk" +BUILDLINK_API_DEPENDS.nss+= nss>=3.28.1 +.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" +BUILDLINK_API_DEPENDS.libvpx+= libvpx>=1.3.0 +.include "../../multimedia/libvpx/buildlink3.mk" +.include "../../net/libIDL/buildlink3.mk" +.include "../../textproc/hunspell/buildlink3.mk" +.include "../../multimedia/ffmpeg3/buildlink3.mk" +.include "../../x11/libXt/buildlink3.mk" +BUILDLINK_API_DEPENDS.pixman+= pixman>=0.25.2 +.include "../../x11/pixman/buildlink3.mk" diff --git a/www/firefox52/options.mk b/www/firefox52/options.mk new file mode 100644 index 00000000000..68df35856e7 --- /dev/null +++ b/www/firefox52/options.mk @@ -0,0 +1,128 @@ +# $NetBSD: options.mk,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +PKG_OPTIONS_VAR= PKG_OPTIONS.firefox + +PKG_OPTIONS_REQUIRED_GROUPS= gtk +PKG_OPTIONS_GROUP.gtk= gtk2 gtk3 +PKG_SUGGESTED_OPTIONS= gtk3 + +PKG_SUPPORTED_OPTIONS= official-mozilla-branding +PKG_SUPPORTED_OPTIONS+= debug debug-info mozilla-jemalloc webrtc +PKG_SUPPORTED_OPTIONS+= alsa oss pulseaudio dbus +PLIST_VARS+= gnome jemalloc debug + +.if ${OPSYS} == "Linux" +PKG_SUGGESTED_OPTIONS+= alsa mozilla-jemalloc dbus +.elif ${OPSYS} == "NetBSD" +PKG_SUGGESTED_OPTIONS+= alsa dbus +.elif ${OPSYS} == "FreeBSD" +PKG_SUGGESTED_OPTIONS+= oss dbus +.elif ${OPSYS} == "DragonFly" +PKG_SUGGESTED_OPTIONS+= oss dbus +.else +PKG_SUGGESTED_OPTIONS+= dbus pulseaudio +.endif + +# On NetBSD/amd64 6.99.21 libxul.so is invalid when --enable-webrtc is set. +PKG_SUGGESTED_OPTIONS.Linux+= webrtc + +.include "../../mk/bsd.options.mk" + +PLIST_VARS+= gtk3 +.if !empty(PKG_OPTIONS:Mgtk2) +CONFIGURE_ARGS+= --enable-default-toolkit=cairo-gtk2 +BUILDLINK_API_DEPENDS.gtk2+= gtk2+>=2.18.3nb1 +.include "../../x11/gtk2/buildlink3.mk" +.endif + +# As of firefox-51 gtk2 is still pulled in implicitly +.if !empty(PKG_OPTIONS:Mgtk3) +CONFIGURE_ARGS+= --enable-default-toolkit=cairo-gtk3 +# gtk2 needed even if --enable-default-toolkit=cairo-gtk3 +BUILDLINK_API_DEPENDS.gtk2+= gtk2+>=2.18.3nb1 +.include "../../x11/gtk2/buildlink3.mk" +.include "../../x11/gtk3/buildlink3.mk" +PLIST.gtk3= yes +.endif + +.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:Moss) +CONFIGURE_ARGS+= --with-oss +.include "../../mk/oss.buildlink3.mk" +.endif + +.if !empty(PKG_OPTIONS:Mmozilla-jemalloc) +PLIST.jemalloc= yes +CONFIGURE_ARGS+= --enable-jemalloc +CONFIGURE_ARGS+= --enable-replace-malloc +.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}" +CONFIGURE_ARGS+= --disable-optimize +CONFIGURE_ARGS+= --enable-debug-js-modules +CONFIGURE_ARGS+= --disable-install-strip +PLIST.debug= yes +.else +.if !empty(PKG_OPTIONS:Mdebug-info) +CONFIGURE_ARGS+= --enable-debug-symbols +CONFIGURE_ARGS+= --enable-optimize=-O0 +.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 + +.if !empty(PKG_OPTIONS:Mdbus) +.include "../../sysutils/dbus-glib/buildlink3.mk" +CONFIGURE_ARGS+= --enable-dbus +.else +CONFIGURE_ARGS+= --disable-dbus +.endif + +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/firefox52/patches/patch-aa b/www/firefox52/patches/patch-aa new file mode 100644 index 00000000000..36686e870df --- /dev/null +++ b/www/firefox52/patches/patch-aa @@ -0,0 +1,249 @@ +$NetBSD: patch-aa,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* MOZ_ENABLE_PROFILER_SPS is not for users, Disable it +* Disable libjpeg-turbo check +* Add system libraries option +* Add OSS audio support + +--- old-configure.in.orig 2017-03-04 10:47:32.150192599 +0000 ++++ old-configure.in +@@ -2159,11 +2159,7 @@ if test "$MOZ_SYSTEM_JPEG" = 1; then + #include ], + [ #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_SYSTEM_JPEG=1, + AC_MSG_ERROR([Insufficient JPEG library version for --with-system-jpeg])) + fi +@@ -2894,6 +2890,9 @@ if test -n "$MOZ_WEBRTC"; then + MOZ_RAW=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) +@@ -2936,7 +2935,7 @@ dnl Use integers over floats for audio o + dnl (regarless of the CPU architecture, because audio + dnl backends for those platforms don't support floats. We also + dnl use integers on ARM with other OS, because it's more efficient. +-if test "$OS_TARGET" = "Android" -o "$CPU_ARCH" = "arm"; then ++if test -n "$MOZ_INTEGER_SAMPLES"; then + MOZ_SAMPLE_TYPE_S16=1 + AC_DEFINE(MOZ_SAMPLE_TYPE_S16) + AC_SUBST(MOZ_SAMPLE_TYPE_S16) +@@ -3044,6 +3043,111 @@ if test -n "$MOZ_OMX_PLUGIN"; then + fi + fi + ++dnl ======================================================== ++dnl Check for libogg ++dnl ======================================================== ++ ++MOZ_ARG_WITH_BOOL(system-ogg, ++[ --with-system-ogg Use system libogg (located with pkgconfig)], ++MOZ_SYSTEM_OGG=1, ++MOZ_SYSTEM_OGG=) ++ ++if test -n "$MOZ_SYSTEM_OGG"; then ++ PKG_CHECK_MODULES(MOZ_OGG, ogg >= 1.3.0) ++ ++ _SAVE_LIBS=$LIBS ++ LIBS="$LIBS $MOZ_OGG_LIBS" ++ AC_CHECK_FUNC(ogg_set_mem_functions, [], ++ [AC_DEFINE(MOZ_OGG_NO_MEM_REPORTING)]) ++ LIBS=$_SAVE_LIBS ++fi ++ ++AC_SUBST(MOZ_SYSTEM_OGG) ++ ++dnl ======================================================== ++dnl Check for libvorbis ++dnl ======================================================== ++ ++MOZ_ARG_WITH_BOOL(system-vorbis, ++[ --with-system-vorbis Use system libvorbis (located with pkgconfig)], ++MOZ_SYSTEM_VORBIS=1, ++MOZ_SYSTEM_VORBIS=) ++ ++if test -n "$MOZ_SYSTEM_VORBIS"; then ++ PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.5) ++fi ++ ++AC_SUBST(MOZ_SYSTEM_VORBIS) ++ ++dnl ======================================================== ++dnl Check for integer-only libvorbis aka tremor ++dnl ======================================================== ++ ++MOZ_ARG_WITH_BOOL(system-tremor, ++[ --with-system-tremor Use system libtremor (located with pkgconfig)], ++MOZ_SYSTEM_TREMOR=1, ++MOZ_SYSTEM_TREMOR=) ++ ++if test -n "$MOZ_SYSTEM_TREMOR"; then ++ PKG_CHECK_MODULES(MOZ_TREMOR, vorbisidec >= 1.2.1) ++fi ++ ++AC_SUBST(MOZ_SYSTEM_TREMOR) ++ ++dnl ======================================================== ++dnl Check for libtheora ++dnl ======================================================== ++ ++MOZ_ARG_WITH_BOOL(system-theora, ++[ --with-system-theora Use system libtheora (located with pkgconfig)], ++MOZ_SYSTEM_THEORA=1, ++MOZ_SYSTEM_THEORA=) ++ ++if test -n "$MOZ_SYSTEM_THEORA"; then ++ PKG_CHECK_MODULES(MOZ_THEORA, theora >= 1.2) ++fi ++ ++AC_SUBST(MOZ_SYSTEM_THEORA) ++ ++dnl ======================================================== ++dnl Check for libSoundTouch ++dnl ======================================================== ++ ++MOZ_ARG_WITH_BOOL(system-soundtouch, ++[ --with-system-soundtouch Use system libSoundTouch (located with pkgconfig)], ++MOZ_SYSTEM_SOUNDTOUCH=1, ++MOZ_SYSTEM_SOUNDTOUCH=) ++ ++if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then ++ PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.9.0) ++ ++ AC_LANG_SAVE ++ AC_LANG_CPLUSPLUS ++ _SAVE_CXXFLAGS=$CXXFLAGS ++ CXXFLAGS="$CXXFLAGS $MOZ_SOUNDTOUCH_CFLAGS" ++ AC_CACHE_CHECK(for soundtouch sample type, ++ ac_cv_soundtouch_sample_type, ++ [AC_TRY_COMPILE([#include ++ #ifndef SOUNDTOUCH_INTEGER_SAMPLES ++ #error soundtouch expects float samples ++ #endif], ++ [], ++ [ac_cv_soundtouch_sample_type=short], ++ [ac_cv_soundtouch_sample_type=float])]) ++ CXXFLAGS=$_SAVE_CXXFLAGS ++ AC_LANG_RESTORE ++ ++ if test \( -n "$MOZ_SAMPLE_TYPE_S16" -a "$ac_cv_soundtouch_sample_type" != short \) \ ++ -o \( -n "$MOZ_SAMPLE_TYPE_FLOAT32" -a "$ac_cv_soundtouch_sample_type" != float \) ; then ++ AC_MSG_ERROR([SoundTouch library is built with incompatible sample type. Either rebuild the library with/without --enable-integer-samples, chase default Mozilla sample type or remove --with-system-soundtouch.]) ++ fi ++fi ++ ++if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then ++ AC_DEFINE(MOZ_SYSTEM_SOUNDTOUCH) ++fi ++AC_SUBST(MOZ_SYSTEM_SOUNDTOUCH) ++ + dnl system libvpx Support + dnl ======================================================== + MOZ_ARG_WITH_BOOL(system-libvpx, +@@ -3208,6 +3312,67 @@ AC_DEFINE(MOZ_WEBM_ENCODER) + AC_SUBST(MOZ_WEBM_ENCODER) + + dnl ================================== ++dnl = Check OSS availability ++dnl ================================== ++ ++dnl If using Linux, Solaris or BSDs, ensure that OSS is available ++case "$OS_TARGET" in ++Linux|SunOS|DragonFly|FreeBSD|NetBSD|GNU/kFreeBSD) ++ MOZ_OSS=1 ++ ;; ++esac ++ ++MOZ_ARG_WITH_STRING(oss, ++[ --with-oss[=PFX] Enable OpenSoundSystem support [installed at prefix PFX]], ++ OSSPREFIX=$withval) ++ ++if test -n "$OSSPREFIX"; then ++ if test "$OSSPREFIX" != "no"; then ++ MOZ_OSS=1 ++ else ++ MOZ_OSS= ++ fi ++fi ++ ++_SAVE_CFLAGS=$CFLAGS ++_SAVE_LIBS=$LIBS ++if test -n "$MOZ_OSS"; then ++ dnl Prefer 4Front implementation ++ AC_MSG_CHECKING([MOZ_OSS_CFLAGS]) ++ if test "$OSSPREFIX" != "yes"; then ++ oss_conf=${OSSPREFIX%/usr}/etc/oss.conf ++ if test -f "$oss_conf"; then ++ . "$oss_conf" ++ else ++ OSSLIBDIR=$OSSPREFIX/lib/oss ++ fi ++ if test -d "$OSSLIBDIR"; then ++ MOZ_OSS_CFLAGS="$MOZ_OSS_CFLAGS -I$OSSLIBDIR/include" ++ fi ++ fi ++ AC_MSG_RESULT([$MOZ_OSS_CFLAGS]) ++ ++ CFLAGS="$CFLAGS $MOZ_OSS_CFLAGS" ++ MOZ_CHECK_HEADERS(sys/soundcard.h soundcard.h) ++ ++ if test "$ac_cv_header_sys_soundcard_h" != "yes" -a \ ++ "$ac_cv_header_soundcard_h" != "yes"; then ++ AC_MSG_ERROR([Need OSS for Ogg, Wave or WebM decoding on $OS_TARGET. Disable with --without-oss.]) ++ fi ++ ++ dnl Assume NetBSD implementation over SunAudio ++ AC_CHECK_LIB(ossaudio, _oss_ioctl, ++ [AC_DEFINE_UNQUOTED(CUBEB_OSS_DEFAULT_OUTPUT, "/dev/sound") ++ MOZ_OSS_LIBS="$MOZ_OSS_LIBS -lossaudio"]) ++fi ++CFLAGS=$_SAVE_CFLAGS ++LIBS=$_SAVE_LIBS ++ ++AC_SUBST(MOZ_OSS) ++AC_SUBST_LIST(MOZ_OSS_CFLAGS) ++AC_SUBST_LIST(MOZ_OSS_LIBS) ++ ++dnl ================================== + dnl = Check alsa availability on Linux + dnl ================================== + +@@ -5023,6 +5188,27 @@ if test "$USE_FC_FREETYPE"; then + fi + + dnl ======================================================== ++dnl Check for graphite2 ++dnl ======================================================== ++if test -n "$MOZ_SYSTEM_GRAPHITE2"; then ++ dnl graphite2.pc has bogus version, check manually ++ _SAVE_CFLAGS=$CFLAGS ++ CFLAGS="$CFLAGS $MOZ_GRAPHITE2_CFLAGS" ++ AC_TRY_COMPILE([ #include ++ #define GR2_VERSION_REQUIRE(major,minor,bugfix) \ ++ ( GR2_VERSION_MAJOR * 10000 + GR2_VERSION_MINOR \ ++ * 100 + GR2_VERSION_BUGFIX >= \ ++ (major) * 10000 + (minor) * 100 + (bugfix) ) ++ ], [ ++ #if !GR2_VERSION_REQUIRE(1,3,8) ++ #error "Insufficient graphite2 version." ++ #endif ++ ], [], ++ [AC_MSG_ERROR([--with-system-graphite2 requested but no working libgraphite2 found])]) ++ CFLAGS=$_SAVE_CFLAGS ++fi ++ ++dnl ======================================================== + dnl Check for pixman and cairo + dnl ======================================================== + diff --git a/www/firefox52/patches/patch-ao b/www/firefox52/patches/patch-ao new file mode 100644 index 00000000000..03b4458865a --- /dev/null +++ b/www/firefox52/patches/patch-ao @@ -0,0 +1,17 @@ +$NetBSD: patch-ao,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* For devel/xulrunner* + +--- toolkit/mozapps/installer/packager.mk.orig 2017-04-11 02:13:24.000000000 +0000 ++++ toolkit/mozapps/installer/packager.mk +@@ -139,8 +139,8 @@ endif + (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 ++ ln -s $(installdir)/$(MOZ_APP_NAME) $(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/firefox52/patches/patch-as b/www/firefox52/patches/patch-as new file mode 100644 index 00000000000..fe4697aaf4d --- /dev/null +++ b/www/firefox52/patches/patch-as @@ -0,0 +1,35 @@ +$NetBSD: patch-as,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Treat DragonFly like FreeBSD. +* Add system ICU support + +--- js/src/old-configure.in.orig 2017-01-16 16:16:52.000000000 +0000 ++++ js/src/old-configure.in +@@ -140,6 +140,9 @@ fi + + MOZ_TOOL_VARIABLES + ++AC_PROG_CPP ++AC_PROG_CXXCPP ++ + dnl Special win32 checks + dnl ======================================================== + +@@ -1053,7 +1056,7 @@ dnl Checks for header files. + dnl ======================================================== + AC_HEADER_DIRENT + case "$target_os" in +-freebsd*) ++freebsd*|*-*-dragonfly*) + # for stuff like -lXshm + CPPFLAGS="${CPPFLAGS} ${X_CFLAGS}" + ;; +@@ -1184,7 +1187,7 @@ then + fi + + case "$target" in +- *-*-freebsd*) ++ *-*-freebsd*|*-*-dragonfly*) + AC_DEFINE(_REENTRANT) + AC_DEFINE(_THREAD_SAFE) + dnl -pthread links in -lpthread, so don't specify it explicitly. diff --git a/www/firefox52/patches/patch-build_gyp.mozbuild b/www/firefox52/patches/patch-build_gyp.mozbuild new file mode 100644 index 00000000000..decf485982c --- /dev/null +++ b/www/firefox52/patches/patch-build_gyp.mozbuild @@ -0,0 +1,24 @@ +$NetBSD: patch-build_gyp.mozbuild,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +Hunk #1: + Try to add Video4Linux2 support + +Hunk #2: + On Darwin, don't assume iOS just because the toolkit is not + cocoa. Ideally there should be an AC_SUBST just like 'ARM_ARCH' but + nothing exists currently. + +Hunk #3: + MacOS X SDK version should be able to configure with + ./configure --enable-macos-target=VER + +--- build/gyp.mozbuild.orig 2016-06-06 20:14:57.000000000 +0000 ++++ build/gyp.mozbuild +@@ -14,6 +14,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/firefox52/patches/patch-build_moz.configure_init.configure b/www/firefox52/patches/patch-build_moz.configure_init.configure new file mode 100644 index 00000000000..cd6d92bfa38 --- /dev/null +++ b/www/firefox52/patches/patch-build_moz.configure_init.configure @@ -0,0 +1,37 @@ +$NetBSD: patch-build_moz.configure_init.configure,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- build/moz.configure/init.configure.orig 2016-10-31 20:15:27.000000000 +0000 ++++ build/moz.configure/init.configure +@@ -170,6 +170,7 @@ option(env='PYTHON', nargs=1, help='Pyth + @imports(_from='mozbuild.configure.util', _import='LineIO') + @imports(_from='mozbuild.virtualenv', _import='VirtualenvManager') + @imports(_from='mozbuild.virtualenv', _import='verify_python_version') ++@imports(_from='__builtin__', _import='KeyError') + @imports('distutils.sysconfig') + def virtualenv_python(env_python, build_env, mozconfig, help): + if help: +@@ -189,6 +190,12 @@ def virtualenv_python(env_python, build_ + python = mozconfig['vars']['added']['PYTHON'] + elif 'PYTHON' in mozconfig['vars']['modified']: + python = mozconfig['vars']['modified']['PYTHON'][1] ++ for i in ('env', 'vars'): ++ for j in ('added', 'modified'): ++ try: ++ del mozconfig[i][j]['PYTHON'] ++ except KeyError: ++ pass + + with LineIO(lambda l: log.error(l)) as out: + verify_python_version(out) +@@ -224,7 +231,10 @@ def virtualenv_python(env_python, build_ + if python != normsep(sys.executable): + log.info('Reexecuting in the virtualenv') + if env_python: +- del os.environ['PYTHON'] ++ try: ++ del os.environ['PYTHON'] ++ except KeyError: ++ pass + # One would prefer to use os.execl, but that's completely borked on + # Windows. + sys.exit(subprocess.call([python] + sys.argv)) diff --git a/www/firefox52/patches/patch-build_moz.configure_keyfiles.configure b/www/firefox52/patches/patch-build_moz.configure_keyfiles.configure new file mode 100644 index 00000000000..274af0f93e0 --- /dev/null +++ b/www/firefox52/patches/patch-build_moz.configure_keyfiles.configure @@ -0,0 +1,21 @@ +$NetBSD: patch-build_moz.configure_keyfiles.configure,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- build/moz.configure/keyfiles.configure.orig 2017-01-26 04:20:09.000000000 +0000 ++++ build/moz.configure/keyfiles.configure +@@ -18,6 +18,7 @@ def keyfile(desc, help=None, callback=la + @checking('for the %s key' % desc, lambda x: x and x is not no_key) + @imports(_from='__builtin__', _import='open') + @imports(_from='__builtin__', _import='IOError') ++ @imports(_from='os', _import='environ') + def keyfile(value): + if value: + try: +@@ -28,7 +29,7 @@ def keyfile(desc, help=None, callback=la + raise FatalCheckError("'%s' is empty." % value[0]) + except IOError as e: + raise FatalCheckError("'%s': %s." % (value[0], e.strerror)) +- return no_key ++ return environ.get('MOZ_%s_KEY' % desc.upper().replace(' ', '_')) or no_key + + return keyfile + diff --git a/www/firefox52/patches/patch-build_moz.configure_memory.configure b/www/firefox52/patches/patch-build_moz.configure_memory.configure new file mode 100644 index 00000000000..68e18215361 --- /dev/null +++ b/www/firefox52/patches/patch-build_moz.configure_memory.configure @@ -0,0 +1,15 @@ +$NetBSD: patch-build_moz.configure_memory.configure,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +Recognise DragonflyBSD + +--- build/moz.configure/memory.configure.orig 2017-01-16 16:16:51.000000000 +0000 ++++ build/moz.configure/memory.configure +@@ -66,7 +66,7 @@ def jemalloc_os_define(jemalloc, jemallo + return 'MOZ_MEMORY_LINUX' + if target.kernel == 'Darwin': + return 'MOZ_MEMORY_DARWIN' +- if target.kernel in ('kFreeBSD', 'FreeBSD', 'NetBSD'): ++ if target.kernel in ('kFreeBSD', 'FreeBSD', 'NetBSD', 'DragonFly'): + return 'MOZ_MEMORY_BSD' + die('--enable-jemalloc is not supported on %s', target.kernel) + diff --git a/www/firefox52/patches/patch-build_moz.configure_old.configure b/www/firefox52/patches/patch-build_moz.configure_old.configure new file mode 100644 index 00000000000..f293e9b1dd7 --- /dev/null +++ b/www/firefox52/patches/patch-build_moz.configure_old.configure @@ -0,0 +1,25 @@ +$NetBSD: patch-build_moz.configure_old.configure,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- build/moz.configure/old.configure.orig 2017-01-23 16:13:47.000000000 +0000 ++++ build/moz.configure/old.configure +@@ -276,6 +276,7 @@ def old_configure_options(*options): + '--with-nspr-prefix', + '--with-nss-exec-prefix', + '--with-nss-prefix', ++ '--with-oss', + '--with-pthreads', + '--with-qemu-exe', + '--with-sixgill', +@@ -287,7 +288,12 @@ def old_configure_options(*options): + '--with-system-libvpx', + '--with-system-nspr', + '--with-system-nss', ++ '--with-system-ogg', + '--with-system-png', ++ '--with-system-soundtouch', ++ '--with-system-theora', ++ '--with-system-tremor', ++ '--with-system-vorbis', + '--with-system-zlib', + '--with-thumb', + '--with-thumb-interwork', diff --git a/www/firefox52/patches/patch-build_pgo_profileserver.py b/www/firefox52/patches/patch-build_pgo_profileserver.py new file mode 100644 index 00000000000..e747bf8c5db --- /dev/null +++ b/www/firefox52/patches/patch-build_pgo_profileserver.py @@ -0,0 +1,13 @@ +$NetBSD: patch-build_pgo_profileserver.py,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- build/pgo/profileserver.py.orig 2017-01-16 16:16:51.000000000 +0000 ++++ build/pgo/profileserver.py +@@ -80,7 +80,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/firefox52/patches/patch-config_Makefile.in b/www/firefox52/patches/patch-config_Makefile.in new file mode 100644 index 00000000000..9bb6c6d37f9 --- /dev/null +++ b/www/firefox52/patches/patch-config_Makefile.in @@ -0,0 +1,27 @@ +$NetBSD: patch-config_Makefile.in,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Support system libraries + +--- config/Makefile.in.orig 2016-09-19 16:19:29.000000000 +0000 ++++ config/Makefile.in +@@ -41,6 +41,8 @@ export:: $(export-preqs) + $(PYTHON) -m mozbuild.action.preprocessor $(DEFINES) $(ACDEFINES) \ + -DMOZ_TREE_CAIRO=$(MOZ_TREE_CAIRO) \ + -DMOZ_TREE_PIXMAN=$(MOZ_TREE_PIXMAN) \ ++ -DMOZ_SYSTEM_GRAPHITE2=$(MOZ_SYSTEM_GRAPHITE2) \ ++ -DMOZ_SYSTEM_HARFBUZZ=$(MOZ_SYSTEM_HARFBUZZ) \ + -DMOZ_SYSTEM_HUNSPELL=$(MOZ_SYSTEM_HUNSPELL) \ + -DMOZ_SYSTEM_BZ2=$(MOZ_SYSTEM_BZ2) \ + -DMOZ_SYSTEM_ZLIB=$(MOZ_SYSTEM_ZLIB) \ +@@ -49,6 +51,11 @@ export:: $(export-preqs) + -DMOZ_SYSTEM_LIBEVENT=$(MOZ_SYSTEM_LIBEVENT) \ + -DMOZ_SYSTEM_LIBVPX=$(MOZ_SYSTEM_LIBVPX) \ + -DMOZ_SYSTEM_ICU=$(MOZ_SYSTEM_ICU) \ ++ -DMOZ_SYSTEM_OGG=$(MOZ_SYSTEM_OGG) \ ++ -DMOZ_SYSTEM_THEORA=$(MOZ_SYSTEM_THEORA) \ ++ -DMOZ_SYSTEM_VORBIS=$(MOZ_SYSTEM_VORBIS) \ ++ -DMOZ_SYSTEM_TREMOR=$(MOZ_SYSTEM_TREMOR) \ ++ -DMOZ_SYSTEM_SOUNDTOUCH=$(MOZ_SYSTEM_SOUNDTOUCH) \ + $(srcdir)/system-headers $(srcdir)/stl-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers + $(INSTALL) system_wrappers $(DIST) + diff --git a/www/firefox52/patches/patch-config_baseconfig.mk b/www/firefox52/patches/patch-config_baseconfig.mk new file mode 100644 index 00000000000..6ff7d4dc3b7 --- /dev/null +++ b/www/firefox52/patches/patch-config_baseconfig.mk @@ -0,0 +1,21 @@ +$NetBSD: patch-config_baseconfig.mk,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Set pkgsrc directory structure + +--- config/baseconfig.mk.orig 2016-09-19 16:19:29.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} + ifeq (.,$(DEPTH)) + DIST = dist + else diff --git a/www/firefox52/patches/patch-config_external_moz.build b/www/firefox52/patches/patch-config_external_moz.build new file mode 100644 index 00000000000..47f674b8346 --- /dev/null +++ b/www/firefox52/patches/patch-config_external_moz.build @@ -0,0 +1,43 @@ +$NetBSD: patch-config_external_moz.build,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Support system libraries + +--- config/external/moz.build.orig 2017-01-23 16:13:47.000000000 +0000 ++++ config/external/moz.build +@@ -21,12 +21,21 @@ if CONFIG['MOZ_UPDATER']: + external_dirs += ['modules/brotli'] + external_dirs += ['modules/woff2'] + +-if CONFIG['MOZ_VORBIS']: ++if not CONFIG['MOZ_SYSTEM_OGG']: ++ external_dirs += ['media/libogg'] ++ ++if CONFIG['MOZ_VORBIS'] and not CONFIG['MOZ_SYSTEM_VORBIS']: + external_dirs += ['media/libvorbis'] + +-if CONFIG['MOZ_TREMOR']: ++if CONFIG['MOZ_TREMOR'] and not CONFIG['MOZ_SYSTEM_TREMOR']: + external_dirs += ['media/libtremor'] + ++if not CONFIG['MOZ_SYSTEM_THEORA']: ++ external_dirs += ['media/libtheora'] ++ ++if not CONFIG['MOZ_SYSTEM_SOUNDTOUCH']: ++ external_dirs += ['media/libsoundtouch'] ++ + if CONFIG['MOZ_WEBM_ENCODER']: + external_dirs += ['media/libmkv'] + +@@ -52,12 +61,9 @@ external_dirs += [ + 'media/kiss_fft', + 'media/libcubeb', + 'media/libnestegg', +- 'media/libogg', + 'media/libopus', +- 'media/libtheora', + 'media/libspeex_resampler', + 'media/libstagefright', +- 'media/libsoundtouch', + 'media/psshparser' + ] + diff --git a/www/firefox52/patches/patch-config_stl__wrappers_ios b/www/firefox52/patches/patch-config_stl__wrappers_ios new file mode 100644 index 00000000000..2376dc2a35a --- /dev/null +++ b/www/firefox52/patches/patch-config_stl__wrappers_ios @@ -0,0 +1,8 @@ +$NetBSD: patch-config_stl__wrappers_ios,v 1.1 2017/04/27 01:55:57 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 ++#pragma GCC visibility pop diff --git a/www/firefox52/patches/patch-config_stl__wrappers_ostream b/www/firefox52/patches/patch-config_stl__wrappers_ostream new file mode 100644 index 00000000000..cea2bba4f43 --- /dev/null +++ b/www/firefox52/patches/patch-config_stl__wrappers_ostream @@ -0,0 +1,8 @@ +$NetBSD: patch-config_stl__wrappers_ostream,v 1.1 2017/04/27 01:55:57 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 ++#pragma GCC visibility pop diff --git a/www/firefox52/patches/patch-config_system-headers b/www/firefox52/patches/patch-config_system-headers new file mode 100644 index 00000000000..5e82c36abb3 --- /dev/null +++ b/www/firefox52/patches/patch-config_system-headers @@ -0,0 +1,50 @@ +$NetBSD: patch-config_system-headers,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Try to support Video4Linux2 +* Resolve libm undefined error +* Support system libraries + +--- config/system-headers.orig 2017-02-23 20:13:58.000000000 +0000 ++++ config/system-headers +@@ -624,6 +624,7 @@ libgnome/libgnome.h + libgnomeui/gnome-icon-lookup.h + libgnomeui/gnome-icon-theme.h + libgnomeui/gnome-ui-init.h ++libv4l2.h + limits.h + link.h + #ifdef ANDROID +@@ -1267,6 +1268,15 @@ libsn/sn-launcher.h + libsn/sn-monitor.h + libsn/sn-util.h + #endif ++#if MOZ_SYSTEM_GRAPHITE2==1 ++graphite2/Font.h ++graphite2/Segment.h ++#endif ++#if MOZ_SYSTEM_HARFBUZZ==1 ++harfbuzz/hb-glib.h ++harfbuzz/hb-ot.h ++harfbuzz/hb.h ++#endif + #if MOZ_SYSTEM_HUNSPELL==1 + hunspell.hxx + #endif +@@ -1335,3 +1345,17 @@ unicode/utypes.h + libutil.h + unwind.h + fenv.h ++#if MOZ_SYSTEM_OGG==1 ++ogg/ogg.h ++ogg/os_types.h ++#endif ++#if MOZ_SYSTEM_THEORA==1 ++theora/theoradec.h ++#endif ++#if MOZ_SYSTEM_VORBIS==1 ++vorbis/codec.h ++vorbis/vorbisenc.h ++#endif ++#if MOZ_SYSTEM_TREMOR==1 ++tremor/ivorbiscodec.h ++#endif diff --git a/www/firefox52/patches/patch-config_system__wrappers_unwind.h b/www/firefox52/patches/patch-config_system__wrappers_unwind.h new file mode 100644 index 00000000000..58b5f0f6977 --- /dev/null +++ b/www/firefox52/patches/patch-config_system__wrappers_unwind.h @@ -0,0 +1,9 @@ +$NetBSD: patch-config_system__wrappers_unwind.h,v 1.1 2017/04/27 01:55:57 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 ++#pragma GCC visibility pop diff --git a/www/firefox52/patches/patch-dom_base_moz.build b/www/firefox52/patches/patch-dom_base_moz.build new file mode 100644 index 00000000000..b1d1b1f9626 --- /dev/null +++ b/www/firefox52/patches/patch-dom_base_moz.build @@ -0,0 +1,14 @@ +$NetBSD: patch-dom_base_moz.build,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- dom/base/moz.build.orig 2016-10-31 20:15:32.000000000 +0000 ++++ dom/base/moz.build +@@ -457,6 +457,9 @@ if CONFIG['MOZ_BUILD_APP'] in ['browser' + if CONFIG['MOZ_X11']: + CXXFLAGS += CONFIG['TK_CFLAGS'] + ++if CONFIG['MOZ_SYSTEM_HARFBUZZ']: ++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] ++ + GENERATED_FILES += [ + 'PropertyUseCounterMap.inc', + 'UseCounterList.h', diff --git a/www/firefox52/patches/patch-dom_filesystem_compat_FileSystemDirectoryReader.h b/www/firefox52/patches/patch-dom_filesystem_compat_FileSystemDirectoryReader.h new file mode 100644 index 00000000000..7decde2ea7c --- /dev/null +++ b/www/firefox52/patches/patch-dom_filesystem_compat_FileSystemDirectoryReader.h @@ -0,0 +1,12 @@ +$NetBSD: patch-dom_filesystem_compat_FileSystemDirectoryReader.h,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- dom/filesystem/compat/FileSystemDirectoryReader.h.orig 2017-04-11 02:13:18.000000000 +0000 ++++ dom/filesystem/compat/FileSystemDirectoryReader.h +@@ -11,6 +11,7 @@ + #include "mozilla/ErrorResult.h" + #include "mozilla/dom/BindingDeclarations.h" + #include "nsCycleCollectionParticipant.h" ++#include "mozilla/dom/FileSystemDirectoryEntry.h" + #include "nsWrapperCache.h" + + namespace mozilla { diff --git a/www/firefox52/patches/patch-dom_media_AudioStream.cpp b/www/firefox52/patches/patch-dom_media_AudioStream.cpp new file mode 100644 index 00000000000..1abc66ec650 --- /dev/null +++ b/www/firefox52/patches/patch-dom_media_AudioStream.cpp @@ -0,0 +1,38 @@ +$NetBSD: patch-dom_media_AudioStream.cpp,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- dom/media/AudioStream.cpp.orig 2016-10-31 20:15:33.000000000 +0000 ++++ dom/media/AudioStream.cpp +@@ -115,7 +115,9 @@ AudioStream::AudioStream(DataSource& aSo + : mMonitor("AudioStream") + , mChannels(0) + , mOutChannels(0) ++#ifndef MOZ_SYSTEM_SOUNDTOUCH + , mTimeStretcher(nullptr) ++#endif + , mDumpFile(nullptr) + , mState(INITIALIZED) + , mDataSource(aSource) +@@ -130,9 +132,11 @@ AudioStream::~AudioStream() + if (mDumpFile) { + fclose(mDumpFile); + } ++#ifndef MOZ_SYSTEM_SOUNDTOUCH + if (mTimeStretcher) { + soundtouch::destroySoundTouchObj(mTimeStretcher); + } ++#endif + } + + size_t +@@ -151,7 +155,11 @@ nsresult AudioStream::EnsureTimeStretche + { + mMonitor.AssertCurrentThreadOwns(); + if (!mTimeStretcher) { ++#ifdef MOZ_SYSTEM_SOUNDTOUCH ++ mTimeStretcher = new soundtouch::SoundTouch(); ++#else + mTimeStretcher = soundtouch::createSoundTouchObj(); ++#endif + mTimeStretcher->setSampleRate(mAudioClock.GetInputRate()); + mTimeStretcher->setChannels(mOutChannels); + mTimeStretcher->setPitch(1.0); diff --git a/www/firefox52/patches/patch-dom_media_AudioStream.h b/www/firefox52/patches/patch-dom_media_AudioStream.h new file mode 100644 index 00000000000..6d104333cb5 --- /dev/null +++ b/www/firefox52/patches/patch-dom_media_AudioStream.h @@ -0,0 +1,28 @@ +$NetBSD: patch-dom_media_AudioStream.h,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- dom/media/AudioStream.h.orig 2016-10-31 20:15:33.000000000 +0000 ++++ dom/media/AudioStream.h +@@ -16,7 +16,11 @@ + #include "mozilla/TimeStamp.h" + #include "mozilla/UniquePtr.h" + #include "CubebUtils.h" ++#ifdef MOZ_SYSTEM_SOUNDTOUCH ++#include "soundtouch/SoundTouch.h" ++#else + #include "soundtouch/SoundTouchFactory.h" ++#endif + + namespace mozilla { + +@@ -282,7 +286,11 @@ private: + uint32_t mChannels; + uint32_t mOutChannels; + AudioClock mAudioClock; ++#ifdef MOZ_SYSTEM_SOUNDTOUCH ++ nsAutoPtr mTimeStretcher; ++#else + soundtouch::SoundTouch* mTimeStretcher; ++#endif + + // Output file for dumping audio + FILE* mDumpFile; diff --git a/www/firefox52/patches/patch-dom_media_moz.build b/www/firefox52/patches/patch-dom_media_moz.build new file mode 100644 index 00000000000..ded3ac343ba --- /dev/null +++ b/www/firefox52/patches/patch-dom_media_moz.build @@ -0,0 +1,28 @@ +$NetBSD: patch-dom_media_moz.build,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Support system libraries + +--- dom/media/moz.build.orig 2017-01-16 16:16:53.000000000 +0000 ++++ dom/media/moz.build +@@ -316,6 +316,21 @@ if CONFIG['MOZ_WEBRTC']: + + DEFINES['MOZILLA_INTERNAL_API'] = True + ++if CONFIG['MOZ_SYSTEM_OGG']: ++ CXXFLAGS += CONFIG['MOZ_OGG_CFLAGS'] ++ ++if CONFIG['MOZ_SYSTEM_THEORA']: ++ CXXFLAGS += CONFIG['MOZ_THEORA_CFLAGS'] ++ ++if CONFIG['MOZ_SYSTEM_VORBIS']: ++ CXXFLAGS += CONFIG['MOZ_VORBIS_CFLAGS'] ++ ++if CONFIG['MOZ_SYSTEM_TREMOR']: ++ CXXFLAGS += CONFIG['MOZ_TREMOR_CFLAGS'] ++ ++if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']: ++ CXXFLAGS += CONFIG['MOZ_SOUNDTOUCH_CFLAGS'] ++ + if CONFIG['OS_TARGET'] == 'WINNT': + DEFINES['WEBRTC_WIN'] = True + else: diff --git a/www/firefox52/patches/patch-dom_media_platforms_ffmpeg_ffvpx_FFVPXRuntimeLinker.cpp b/www/firefox52/patches/patch-dom_media_platforms_ffmpeg_ffvpx_FFVPXRuntimeLinker.cpp new file mode 100644 index 00000000000..9f980664f9a --- /dev/null +++ b/www/firefox52/patches/patch-dom_media_platforms_ffmpeg_ffvpx_FFVPXRuntimeLinker.cpp @@ -0,0 +1,39 @@ +$NetBSD: patch-dom_media_platforms_ffmpeg_ffvpx_FFVPXRuntimeLinker.cpp,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp.orig 2016-10-14 08:14:07.000000000 +0000 ++++ dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp +@@ -11,9 +11,13 @@ + #include "prmem.h" + #include "prlink.h" + ++#ifdef MOZ_SYSTEM_SOUNDTOUCH ++#include "nsXPCOMPrivate.h" // for XUL_DLL ++#else + // We use a known symbol located in lgpllibs to determine its location. + // soundtouch happens to be always included in lgpllibs + #include "soundtouch/SoundTouch.h" ++#endif + + namespace mozilla + { +@@ -51,6 +55,12 @@ FFVPXRuntimeLinker::Init() + + sLinkStatus = LinkStatus_FAILED; + ++#ifdef MOZ_SYSTEM_SOUNDTOUCH ++ // We retrieve the path of the XUL library as this is where mozavcodec and ++ // mozavutil libs are located. ++ char* path = ++ PR_GetLibraryFilePathname(XUL_DLL, (PRFuncPtr)&FFVPXRuntimeLinker::Init); ++#else + // We retrieve the path of the lgpllibs library as this is where mozavcodec + // and mozavutil libs are located. + char* lgpllibsname = PR_GetLibraryName(nullptr, "lgpllibs"); +@@ -61,6 +71,7 @@ FFVPXRuntimeLinker::Init() + PR_GetLibraryFilePathname(lgpllibsname, + (PRFuncPtr)&soundtouch::SoundTouch::getVersionId); + PR_FreeLibraryName(lgpllibsname); ++#endif + if (!path) { + return false; + } diff --git a/www/firefox52/patches/patch-dom_plugins_ipc_PluginModuleChild.cpp b/www/firefox52/patches/patch-dom_plugins_ipc_PluginModuleChild.cpp new file mode 100644 index 00000000000..afe10cd0b09 --- /dev/null +++ b/www/firefox52/patches/patch-dom_plugins_ipc_PluginModuleChild.cpp @@ -0,0 +1,33 @@ +$NetBSD: patch-dom_plugins_ipc_PluginModuleChild.cpp,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Support Solaris + +--- dom/plugins/ipc/PluginModuleChild.cpp.orig 2015-03-27 02:20:27.000000000 +0000 ++++ dom/plugins/ipc/PluginModuleChild.cpp +@@ -320,7 +320,7 @@ PluginModuleChild::InitForChrome(const s + + // 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"); + +@@ -1882,7 +1882,7 @@ PluginModuleChild::AnswerNP_GetEntryPoin + AssertPluginThread(); + MOZ_ASSERT(mIsChrome); + +-#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); +@@ -1927,7 +1927,7 @@ PluginModuleChild::DoNP_Initialize(const + #endif + + NPError result; +-#if defined(OS_LINUX) || defined(OS_BSD) ++#if defined(OS_LINUX) || defined(OS_BSD) || defined(OS_SOLARIS) + result = mInitializeFunc(&sBrowserFuncs, &mFunctions); + #elif defined(OS_WIN) || defined(OS_MACOSX) + result = mInitializeFunc(&sBrowserFuncs); diff --git a/www/firefox52/patches/patch-dom_plugins_ipc_PluginModuleChild.h b/www/firefox52/patches/patch-dom_plugins_ipc_PluginModuleChild.h new file mode 100644 index 00000000000..49ef6b123f1 --- /dev/null +++ b/www/firefox52/patches/patch-dom_plugins_ipc_PluginModuleChild.h @@ -0,0 +1,15 @@ +$NetBSD: patch-dom_plugins_ipc_PluginModuleChild.h,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Support Solaris + +--- 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/firefox52/patches/patch-dom_system_OSFileConstants.cpp b/www/firefox52/patches/patch-dom_system_OSFileConstants.cpp new file mode 100644 index 00000000000..18407e60279 --- /dev/null +++ b/www/firefox52/patches/patch-dom_system_OSFileConstants.cpp @@ -0,0 +1,33 @@ +$NetBSD: patch-dom_system_OSFileConstants.cpp,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- dom/system/OSFileConstants.cpp.orig 2017-01-23 16:13:57.000000000 +0000 ++++ dom/system/OSFileConstants.cpp +@@ -16,14 +16,17 @@ + #include "dirent.h" + #include "poll.h" + #include "sys/stat.h" +-#if defined(ANDROID) ++#if defined(XP_LINUX) + #include + #define statvfs statfs ++#define f_frsize f_bsize + #else + #include "sys/statvfs.h" ++#endif // defined(XP_LINUX) ++#if !defined(ANDROID) + #include "sys/wait.h" + #include +-#endif // defined(ANDROID) ++#endif // !defined(ANDROID) + #endif // defined(XP_UNIX) + + #if defined(XP_LINUX) +@@ -699,7 +702,7 @@ static const dom::ConstantSpec gLibcProp + + { "OSFILE_SIZEOF_STATVFS", JS::Int32Value(sizeof (struct statvfs)) }, + +- { "OSFILE_OFFSETOF_STATVFS_F_BSIZE", JS::Int32Value(offsetof (struct statvfs, f_bsize)) }, ++ { "OSFILE_OFFSETOF_STATVFS_F_FRSIZE", JS::Int32Value(offsetof (struct statvfs, f_frsize)) }, + { "OSFILE_OFFSETOF_STATVFS_F_BAVAIL", JS::Int32Value(offsetof (struct statvfs, f_bavail)) }, + + #endif // defined(XP_UNIX) diff --git a/www/firefox52/patches/patch-extensions_spellcheck_hunspell_glue_mozHunspell.cpp b/www/firefox52/patches/patch-extensions_spellcheck_hunspell_glue_mozHunspell.cpp new file mode 100644 index 00000000000..bf0c4753d04 --- /dev/null +++ b/www/firefox52/patches/patch-extensions_spellcheck_hunspell_glue_mozHunspell.cpp @@ -0,0 +1,21 @@ +$NetBSD: patch-extensions_spellcheck_hunspell_glue_mozHunspell.cpp,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Read pkgsrc hunspell dictionaries + +--- extensions/spellcheck/hunspell/glue/mozHunspell.cpp.orig 2017-01-23 16:13:57.000000000 +0000 ++++ extensions/spellcheck/hunspell/glue/mozHunspell.cpp +@@ -381,6 +381,14 @@ mozHunspell::LoadDictionaryList(bool aNo + } + } + ++ // load system hunspell dictionaries ++ nsCOMPtr hunDir; ++ NS_NewNativeLocalFile(NS_LITERAL_CSTRING("%%LOCALBASE%%/share/hunspell"), ++ true, getter_AddRefs(hunDir)); ++ if (hunDir) { ++ LoadDictionariesFromDir(hunDir); ++ } ++ + // find dictionaries from extensions requiring restart + nsCOMPtr dictDirs; + rv = dirSvc->Get(DICTIONARY_SEARCH_DIRECTORY_LIST, diff --git a/www/firefox52/patches/patch-gfx_cairo_libpixman_src_pixman-arm-neon-asm.S b/www/firefox52/patches/patch-gfx_cairo_libpixman_src_pixman-arm-neon-asm.S new file mode 100644 index 00000000000..15435c74fdd --- /dev/null +++ b/www/firefox52/patches/patch-gfx_cairo_libpixman_src_pixman-arm-neon-asm.S @@ -0,0 +1,39 @@ +$NetBSD: patch-gfx_cairo_libpixman_src_pixman-arm-neon-asm.S,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Support NetBSD/earm + +--- gfx/cairo/libpixman/src/pixman-arm-neon-asm.S.orig 2015-09-29 21:45:08.000000000 +0000 ++++ gfx/cairo/libpixman/src/pixman-arm-neon-asm.S +@@ -34,6 +34,12 @@ + * - pixman_composite_over_n_8_0565_asm_neon + */ + ++#if defined(__ARM_EABI__) && !defined(__ARM_DWARF_EH__) ++#define UNWIND ++#else ++#define UNWIND @ ++#endif ++ + /* Prevent the stack from becoming executable for no reason... */ + #if defined(__linux__) && defined(__ELF__) + .section .note.GNU-stack,"",%progbits +@@ -3141,7 +3147,8 @@ pixman_asm_function fname + TMP4 .req r9 + STRIDE .req r2 + +- .fnstart ++ .cfi_startproc ++ UNWIND .fnstart + mov ip, sp + .save {r4, r5, r6, r7, r8, r9} + push {r4, r5, r6, r7, r8, r9} +@@ -3244,7 +3251,8 @@ pixman_asm_function fname + .endif + pop {r4, r5, r6, r7, r8, r9} + bx lr +- .fnend ++ UNWIND .fnend ++ .cfi_endproc + + .unreq OUT + .unreq TOP diff --git a/www/firefox52/patches/patch-gfx_gl_GLContextProviderGLX.cpp b/www/firefox52/patches/patch-gfx_gl_GLContextProviderGLX.cpp new file mode 100644 index 00000000000..c7e34f7c8ba --- /dev/null +++ b/www/firefox52/patches/patch-gfx_gl_GLContextProviderGLX.cpp @@ -0,0 +1,16 @@ +$NetBSD: patch-gfx_gl_GLContextProviderGLX.cpp,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +Fix libGL.so filename on NetBSD, +see https://bugzilla.mozilla.org/show_bug.cgi?id=1180498 + +--- gfx/gl/GLContextProviderGLX.cpp.orig 2015-07-01 00:58:10.000000000 +0200 ++++ gfx/gl/GLContextProviderGLX.cpp 2015-07-04 21:13:15.000000000 +0200 +@@ -82,7 +82,7 @@ + // see e.g. bug 608526: it is intrinsically interesting to know whether we have dynamically linked to libGL.so.1 + // because at least the NVIDIA implementation requires an executable stack, which causes mprotect calls, + // which trigger glibc bug http://sourceware.org/bugzilla/show_bug.cgi?id=12225 +-#ifdef __OpenBSD__ ++#if defined(__OpenBSD__) || defined(__NetBSD__) + libGLfilename = "libGL.so"; + #else + libGLfilename = "libGL.so.1"; diff --git a/www/firefox52/patches/patch-gfx_graphite2_moz-gr-update.sh b/www/firefox52/patches/patch-gfx_graphite2_moz-gr-update.sh new file mode 100644 index 00000000000..c68abcdf49a --- /dev/null +++ b/www/firefox52/patches/patch-gfx_graphite2_moz-gr-update.sh @@ -0,0 +1,30 @@ +$NetBSD: patch-gfx_graphite2_moz-gr-update.sh,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- gfx/graphite2/moz-gr-update.sh.orig 2016-07-25 20:22:05.000000000 +0000 ++++ gfx/graphite2/moz-gr-update.sh +@@ -1,6 +1,7 @@ + #!/bin/bash + + # Script used to update the Graphite2 library in the mozilla source tree ++# and bump version for --with-system-graphite2 + + # This script lives in gfx/graphite2, along with the library source, + # but must be run from the top level of the mozilla-central tree. +@@ -37,12 +38,16 @@ echo "See" $0 "for update procedure." >> + #find gfx/graphite2/ -name "*.cpp" -exec perl -p -i -e "s///;s/Windows.h/windows.h/;" {} \; + #find gfx/graphite2/ -name "*.h" -exec perl -p -i -e "s///;s/Windows.h/windows.h/;" {} \; + ++# chase version for --with-system-graphite2 ++perl -p -i -e "s/[0-9]+\,[0-9]+\,[0-9]+/$RELEASE/ and tr/./,/ \ ++ if /GR2_VERSION_REQUIRE/" old-configure.in ++ + # summarize what's been touched + echo Updated to $RELEASE. + echo Here is what changed in the gfx/graphite2 directory: + echo + +-hg stat gfx/graphite2 ++hg stat old-configure.in gfx/graphite2 + + echo + echo If gfx/graphite2/src/files.mk has changed, please make corresponding diff --git a/www/firefox52/patches/patch-gfx_graphite2_src_Bidi.cpp b/www/firefox52/patches/patch-gfx_graphite2_src_Bidi.cpp new file mode 100644 index 00000000000..fa4eec64346 --- /dev/null +++ b/www/firefox52/patches/patch-gfx_graphite2_src_Bidi.cpp @@ -0,0 +1,18 @@ +$NetBSD: patch-gfx_graphite2_src_Bidi.cpp,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Support Solaris + +--- 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/firefox52/patches/patch-gfx_moz.build b/www/firefox52/patches/patch-gfx_moz.build new file mode 100644 index 00000000000..a0ebdee0373 --- /dev/null +++ b/www/firefox52/patches/patch-gfx_moz.build @@ -0,0 +1,26 @@ +$NetBSD: patch-gfx_moz.build,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- gfx/moz.build.orig 2016-10-31 20:15:31.000000000 +0000 ++++ gfx/moz.build +@@ -7,6 +7,12 @@ + if CONFIG['MOZ_TREE_CAIRO']: + DIRS += ['cairo'] + ++if not CONFIG['MOZ_SYSTEM_GRAPHITE2']: ++ DIRS += ['graphite2/src' ] ++ ++if not CONFIG['MOZ_SYSTEM_HARFBUZZ']: ++ DIRS += ['harfbuzz/src'] ++ + DIRS += [ + '2d', + 'ycbcr', +@@ -15,8 +21,6 @@ DIRS += [ + 'qcms', + 'gl', + 'layers', +- 'graphite2/src', +- 'harfbuzz/src', + 'ots/src', + 'thebes', + 'ipc', diff --git a/www/firefox52/patches/patch-gfx_skia_generate__mozbuild.py b/www/firefox52/patches/patch-gfx_skia_generate__mozbuild.py new file mode 100644 index 00000000000..d916ed914ef --- /dev/null +++ b/www/firefox52/patches/patch-gfx_skia_generate__mozbuild.py @@ -0,0 +1,14 @@ +$NetBSD: patch-gfx_skia_generate__mozbuild.py,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- gfx/skia/generate_mozbuild.py.orig 2017-01-23 16:13:43.000000000 +0000 ++++ gfx/skia/generate_mozbuild.py +@@ -140,6 +140,9 @@ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_ + '-Wno-unused-private-field', + ] + ++if CONFIG['MOZ_SYSTEM_HARFBUZZ']: ++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] ++ + if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android'): + CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] + CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS'] diff --git a/www/firefox52/patches/patch-gfx_skia_moz.build b/www/firefox52/patches/patch-gfx_skia_moz.build new file mode 100644 index 00000000000..a1d35c79769 --- /dev/null +++ b/www/firefox52/patches/patch-gfx_skia_moz.build @@ -0,0 +1,14 @@ +$NetBSD: patch-gfx_skia_moz.build,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- gfx/skia/moz.build.orig 2017-01-23 16:13:43.000000000 +0000 ++++ gfx/skia/moz.build +@@ -750,6 +750,9 @@ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_ + '-Wno-unused-private-field', + ] + ++if CONFIG['MOZ_SYSTEM_HARFBUZZ']: ++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] ++ + if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android'): + CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] + CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS'] diff --git a/www/firefox52/patches/patch-gfx_thebes_moz.build b/www/firefox52/patches/patch-gfx_thebes_moz.build new file mode 100644 index 00000000000..d4e7293f8c8 --- /dev/null +++ b/www/firefox52/patches/patch-gfx_thebes_moz.build @@ -0,0 +1,19 @@ +$NetBSD: patch-gfx_thebes_moz.build,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- gfx/thebes/moz.build.orig 2017-01-23 16:13:47.000000000 +0000 ++++ gfx/thebes/moz.build +@@ -266,7 +266,13 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk + LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES'] + LOCAL_INCLUDES += ['/media/libyuv/include'] + +-DEFINES['GRAPHITE2_STATIC'] = True ++if CONFIG['MOZ_SYSTEM_GRAPHITE2']: ++ CXXFLAGS += CONFIG['MOZ_GRAPHITE2_CFLAGS'] ++else: ++ DEFINES['GRAPHITE2_STATIC'] = True ++ ++if CONFIG['MOZ_SYSTEM_HARFBUZZ']: ++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] + + if CONFIG['CLANG_CXX']: + # Suppress warnings from Skia header files. diff --git a/www/firefox52/patches/patch-gfx_ycbcr_moz.build b/www/firefox52/patches/patch-gfx_ycbcr_moz.build new file mode 100644 index 00000000000..e176bf3c89b --- /dev/null +++ b/www/firefox52/patches/patch-gfx_ycbcr_moz.build @@ -0,0 +1,15 @@ +$NetBSD: patch-gfx_ycbcr_moz.build,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* yuv_row_arm.S requires pre-processor + +--- gfx/ycbcr/moz.build.orig 2014-11-26 12:30:03.000000000 +0000 ++++ gfx/ycbcr/moz.build +@@ -63,7 +63,7 @@ else: + + if CONFIG['CPU_ARCH'] == 'arm' and CONFIG['HAVE_ARM_NEON']: + SOURCES += [ +- 'yuv_row_arm.s', ++ 'yuv_row_arm.S', + ] + SOURCES += [ + 'yuv_convert_arm.cpp', diff --git a/www/firefox52/patches/patch-gfx_ycbcr_yuv__row__arm.S b/www/firefox52/patches/patch-gfx_ycbcr_yuv__row__arm.S new file mode 100644 index 00000000000..8dee679b7b6 --- /dev/null +++ b/www/firefox52/patches/patch-gfx_ycbcr_yuv__row__arm.S @@ -0,0 +1,42 @@ +$NetBSD: patch-gfx_ycbcr_yuv__row__arm.S,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Copy from yuv_row_arm.s to process it with pre-processor + +--- gfx/ycbcr/yuv_row_arm.S.orig 2016-05-12 17:13:08.000000000 +0000 ++++ gfx/ycbcr/yuv_row_arm.S +@@ -2,6 +2,12 @@ + * 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(__ARM_EABI__) && !defined(__ARM_DWARF_EH__) ++#define UNWIND ++#else ++#define UNWIND @ ++#endif ++ + .arch armv7-a + .fpu neon + /* Allow to build on targets not supporting neon, and force the object file +@@ -74,7 +80,8 @@ YCbCr42xToRGB565_DITHER30_CONSTS_NEON: + .global ScaleYCbCr42xToRGB565_BilinearY_Row_NEON + .type ScaleYCbCr42xToRGB565_BilinearY_Row_NEON, %function + .balign 64 +- .fnstart ++ .cfi_startproc ++ UNWIND .fnstart + ScaleYCbCr42xToRGB565_BilinearY_Row_NEON: + STMFD r13!,{r4-r9,r14} @ 8 words. + ADR r14,YCbCr42xToRGB565_DITHER03_CONSTS_NEON +@@ -296,9 +303,10 @@ s42xbily_neon_tail: + s42xbily_neon_done: + VPOP {Q4-Q7} @ 16 words. + LDMFD r13!,{r4-r9,PC} @ 8 words. +- .fnend ++ UNWIND .fnend ++ .cfi_endproc + .size ScaleYCbCr42xToRGB565_BilinearY_Row_NEON, .-ScaleYCbCr42xToRGB565_BilinearY_Row_NEON + +-#if defined(__ELF__)&&defined(__linux__) ++#if defined(__ELF__)&&(defined(__linux__) || defined(__NetBSD__)) + .section .note.GNU-stack,"",%progbits + #endif diff --git a/www/firefox52/patches/patch-image_Downscaler.h b/www/firefox52/patches/patch-image_Downscaler.h new file mode 100644 index 00000000000..dbf7851698a --- /dev/null +++ b/www/firefox52/patches/patch-image_Downscaler.h @@ -0,0 +1,33 @@ +$NetBSD: patch-image_Downscaler.h,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- image/Downscaler.h.orig 2016-10-31 20:15:32.000000000 +0000 ++++ image/Downscaler.h +@@ -154,14 +154,14 @@ private: + class Downscaler + { + public: +- explicit Downscaler(const nsIntSize&) ++ explicit Downscaler(const nsIntSize&) : mScale(1.0, 1.0) + { + MOZ_RELEASE_ASSERT(false, "Skia is not enabled"); + } + +- const nsIntSize& OriginalSize() const { return nsIntSize(); } +- const nsIntSize& TargetSize() const { return nsIntSize(); } +- const gfxSize& Scale() const { return gfxSize(1.0, 1.0); } ++ const nsIntSize& OriginalSize() const { return mSize; } ++ const nsIntSize& TargetSize() const { return mSize; } ++ const gfxSize& Scale() const { return mScale; } + + nsresult BeginFrame(const nsIntSize&, const Maybe&, uint8_t*, bool, bool = false) + { +@@ -177,6 +177,9 @@ public: + DownscalerInvalidRect TakeInvalidRect() { return DownscalerInvalidRect(); } + void ResetForNextProgressivePass() { } + const nsIntSize FrameSize() const { return nsIntSize(0, 0); } ++private: ++ nsIntSize mSize; ++ gfxSize mScale; + }; + + #endif // MOZ_ENABLE_SKIA diff --git a/www/firefox52/patches/patch-image_decoders_nsJPEGDecoder.cpp b/www/firefox52/patches/patch-image_decoders_nsJPEGDecoder.cpp new file mode 100644 index 00000000000..60858024695 --- /dev/null +++ b/www/firefox52/patches/patch-image_decoders_nsJPEGDecoder.cpp @@ -0,0 +1,367 @@ +$NetBSD: patch-image_decoders_nsJPEGDecoder.cpp,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +Partially revert https://bugzilla.mozilla.org/show_bug.cgi?id=791305 +to allow building against jpeg (not jpeg-turbo). + +--- image/decoders/nsJPEGDecoder.cpp.orig 2016-10-31 20:15:32.000000000 +0000 ++++ image/decoders/nsJPEGDecoder.cpp +@@ -28,13 +28,28 @@ + + extern "C" { + #include "iccjpeg.h" +-} + ++#ifdef JCS_EXTENSIONS + #if MOZ_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); + +@@ -360,6 +375,7 @@ nsJPEGDecoder::ReadJPEGData(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) { +@@ -368,6 +384,9 @@ nsJPEGDecoder::ReadJPEGData(const char* + } else { + mInfo.out_color_space = JCS_RGB; + } ++#else ++ mInfo.out_color_space = JCS_RGB; ++#endif + break; + case JCS_CMYK: + case JCS_YCCK: +@@ -441,6 +460,16 @@ nsJPEGDecoder::ReadJPEGData(const char* + return Transition::ContinueUnbuffered(State::JPEG_DATA); // 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; +@@ -638,7 +667,11 @@ nsJPEGDecoder::OutputScanlines(bool* sus + + MOZ_ASSERT(imageRow, "Should have a row buffer here"); + ++#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 +@@ -962,6 +995,282 @@ term_source (j_decompress_ptr jd) + } // namespace image + } // 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. + /// Output is RGB stored as 3 bytes per pixel. diff --git a/www/firefox52/patches/patch-intl_hyphenation_glue_hnjalloc.h b/www/firefox52/patches/patch-intl_hyphenation_glue_hnjalloc.h new file mode 100644 index 00000000000..53903a4a4ad --- /dev/null +++ b/www/firefox52/patches/patch-intl_hyphenation_glue_hnjalloc.h @@ -0,0 +1,16 @@ +$NetBSD: patch-intl_hyphenation_glue_hnjalloc.h,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Support Solaris + +--- intl/hyphenation/glue/hnjalloc.h.orig 2015-12-04 00:36:54.000000000 +0000 ++++ intl/hyphenation/glue/hnjalloc.h +@@ -24,6 +24,9 @@ + */ + + #include /* ensure stdio.h is loaded before our macros */ ++#ifdef __sun ++#include ++#endif + + #undef FILE + #define FILE hnjFile diff --git a/www/firefox52/patches/patch-intl_unicharutil_util_moz.build b/www/firefox52/patches/patch-intl_unicharutil_util_moz.build new file mode 100644 index 00000000000..8d9983e18dc --- /dev/null +++ b/www/firefox52/patches/patch-intl_unicharutil_util_moz.build @@ -0,0 +1,12 @@ +$NetBSD: patch-intl_unicharutil_util_moz.build,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- intl/unicharutil/util/moz.build.orig 2016-10-31 20:15:32.000000000 +0000 ++++ intl/unicharutil/util/moz.build +@@ -42,4 +42,7 @@ if CONFIG['_MSC_VER']: + if CONFIG['ENABLE_INTL_API']: + USE_LIBS += ['icu'] + ++if CONFIG['MOZ_SYSTEM_HARFBUZZ']: ++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] ++ + DIST_INSTALL = True diff --git a/www/firefox52/patches/patch-ipc_chromium_src_base_atomicops.h b/www/firefox52/patches/patch-ipc_chromium_src_base_atomicops.h new file mode 100644 index 00000000000..2e997e2438c --- /dev/null +++ b/www/firefox52/patches/patch-ipc_chromium_src_base_atomicops.h @@ -0,0 +1,15 @@ +$NetBSD: patch-ipc_chromium_src_base_atomicops.h,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Avoid invalid cast errors under NetBSD/evbearmv7hf-el. + +--- ipc/chromium/src/base/atomicops.h.orig 2014-11-13 22:49:59.000000000 +0000 ++++ ipc/chromium/src/base/atomicops.h +@@ -45,7 +45,7 @@ typedef int64_t Atomic64; + + // Use AtomicWord for a machine-sized pointer. It will use the Atomic32 or + // Atomic64 routines below, depending on your architecture. +-#ifdef OS_OPENBSD ++#if defined(OS_OPENBSD) || (defined(OS_NETBSD) && defined(ARCH_CPU_ARM_FAMILY)) + #ifdef ARCH_CPU_64_BITS + typedef Atomic64 AtomicWord; + #else diff --git a/www/firefox52/patches/patch-ipc_chromium_src_base_message__pump__libevent.cc b/www/firefox52/patches/patch-ipc_chromium_src_base_message__pump__libevent.cc new file mode 100644 index 00000000000..9f90f7be740 --- /dev/null +++ b/www/firefox52/patches/patch-ipc_chromium_src_base_message__pump__libevent.cc @@ -0,0 +1,22 @@ +$NetBSD: patch-ipc_chromium_src_base_message__pump__libevent.cc,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +Allow older libevent + +--- ipc/chromium/src/base/message_pump_libevent.cc.orig 2017-02-27 08:10:53.000000000 -0800 ++++ ipc/chromium/src/base/message_pump_libevent.cc 2017-03-07 14:06:51.000000000 -0800 +@@ -22,6 +22,7 @@ + + // This macro checks that the _EVENT_SIZEOF_* constants defined in + // ipc/chromiume/src/third_party//event2/event-config.h are correct. ++#if 0 + #if defined(_EVENT_SIZEOF_SHORT) + #define CHECK_EVENT_SIZEOF(TYPE, type) \ + static_assert(_EVENT_SIZEOF_##TYPE == sizeof(type), \ +@@ -40,6 +41,7 @@ CHECK_EVENT_SIZEOF(PTHREAD_T, pthread_t) + CHECK_EVENT_SIZEOF(SHORT, short); + CHECK_EVENT_SIZEOF(SIZE_T, size_t); + CHECK_EVENT_SIZEOF(VOID_P, void*); ++#endif + + // Lifecycle of struct event + // Libevent uses two main data structures: diff --git a/www/firefox52/patches/patch-ipc_chromium_src_base_platform__thread.h b/www/firefox52/patches/patch-ipc_chromium_src_base_platform__thread.h new file mode 100644 index 00000000000..7be6d5481b0 --- /dev/null +++ b/www/firefox52/patches/patch-ipc_chromium_src_base_platform__thread.h @@ -0,0 +1,16 @@ +$NetBSD: patch-ipc_chromium_src_base_platform__thread.h,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Support Solaris + +--- ipc/chromium/src/base/platform_thread.h.orig 2016-05-12 17:13:13.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 + typedef pid_t PlatformThreadId; ++#elif defined(OS_SOLARIS) ++#include ++typedef lwpid_t PlatformThreadId; + #elif defined(OS_BSD) + #include + typedef lwpid_t PlatformThreadId; diff --git a/www/firefox52/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc b/www/firefox52/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc new file mode 100644 index 00000000000..fb060a26fd9 --- /dev/null +++ b/www/firefox52/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc @@ -0,0 +1,27 @@ +$NetBSD: patch-ipc_chromium_src_base_platform__thread__posix.cc,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Support NetBSD +* Support Solaris + +--- ipc/chromium/src/base/platform_thread_posix.cc.orig 2016-05-12 17:13:13.000000000 +0000 ++++ ipc/chromium/src/base/platform_thread_posix.cc +@@ -10,7 +10,9 @@ + #if defined(OS_MACOSX) + #include + #elif defined(OS_NETBSD) ++_Pragma("GCC visibility push(default)") + #include ++_Pragma("GCC visibility pop") + #elif defined(OS_LINUX) + #include + #include +@@ -105,7 +107,8 @@ 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_SOLARIS) ++ prctl(PR_SET_NAME, reinterpret_cast(name), 0, 0, 0); + #endif + } + #endif // !OS_MACOSX diff --git a/www/firefox52/patches/patch-ipc_chromium_src_base_process__util.h b/www/firefox52/patches/patch-ipc_chromium_src_base_process__util.h new file mode 100644 index 00000000000..2fe1db8d8c3 --- /dev/null +++ b/www/firefox52/patches/patch-ipc_chromium_src_base_process__util.h @@ -0,0 +1,14 @@ +$NetBSD: patch-ipc_chromium_src_base_process__util.h,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- ipc/chromium/src/base/process_util.h.orig 2015-01-09 04:38:16.000000000 +0000 ++++ ipc/chromium/src/base/process_util.h +@@ -41,6 +41,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; diff --git a/www/firefox52/patches/patch-ipc_chromium_src_base_process__util__posix.cc b/www/firefox52/patches/patch-ipc_chromium_src_base_process__util__posix.cc new file mode 100644 index 00000000000..381be71256e --- /dev/null +++ b/www/firefox52/patches/patch-ipc_chromium_src_base_process__util__posix.cc @@ -0,0 +1,24 @@ +$NetBSD: patch-ipc_chromium_src_base_process__util__posix.cc,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Support Solaris + +--- 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/firefox52/patches/patch-ipc_chromium_src_base_sys__info__posix.cc b/www/firefox52/patches/patch-ipc_chromium_src_base_sys__info__posix.cc new file mode 100644 index 00000000000..ead9d075d70 --- /dev/null +++ b/www/firefox52/patches/patch-ipc_chromium_src_base_sys__info__posix.cc @@ -0,0 +1,18 @@ +$NetBSD: patch-ipc_chromium_src_base_sys__info__posix.cc,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Support Solaris + +--- ipc/chromium/src/base/sys_info_posix.cc.orig 2016-01-15 01:01:44.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 ""; diff --git a/www/firefox52/patches/patch-ipc_chromium_src_base_time__posix.cc b/www/firefox52/patches/patch-ipc_chromium_src_base_time__posix.cc new file mode 100644 index 00000000000..3cf88262f40 --- /dev/null +++ b/www/firefox52/patches/patch-ipc_chromium_src_base_time__posix.cc @@ -0,0 +1,17 @@ +$NetBSD: patch-ipc_chromium_src_base_time__posix.cc,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Support Solaris + +--- 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/firefox52/patches/patch-ipc_chromium_src_build_build__config.h b/www/firefox52/patches/patch-ipc_chromium_src_build_build__config.h new file mode 100644 index 00000000000..03688c49c26 --- /dev/null +++ b/www/firefox52/patches/patch-ipc_chromium_src_build_build__config.h @@ -0,0 +1,24 @@ +$NetBSD: patch-ipc_chromium_src_build_build__config.h,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Add Solaris identifier + +--- 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/firefox52/patches/patch-ipc_chromium_src_chrome_common_transport__dib.h b/www/firefox52/patches/patch-ipc_chromium_src_chrome_common_transport__dib.h new file mode 100644 index 00000000000..88e38fe7f12 --- /dev/null +++ b/www/firefox52/patches/patch-ipc_chromium_src_chrome_common_transport__dib.h @@ -0,0 +1,15 @@ +$NetBSD: patch-ipc_chromium_src_chrome_common_transport__dib.h,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Support Solaris + +--- 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/firefox52/patches/patch-ipc_glue_GeckoChildProcessHost.cpp b/www/firefox52/patches/patch-ipc_glue_GeckoChildProcessHost.cpp new file mode 100644 index 00000000000..5ccf8b23e8c --- /dev/null +++ b/www/firefox52/patches/patch-ipc_glue_GeckoChildProcessHost.cpp @@ -0,0 +1,48 @@ +$NetBSD: patch-ipc_glue_GeckoChildProcessHost.cpp,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Support Solaris +* Fix NetBSD linking + +--- ipc/glue/GeckoChildProcessHost.cpp.orig 2015-01-09 04:38:16.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 + + #include "base/command_line.h" + #include "base/string_util.h" +@@ -533,7 +539,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) { +@@ -672,7 +678,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)) +@@ -705,7 +711,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/firefox52/patches/patch-js_src_jit_arm_Architecture-arm.cpp b/www/firefox52/patches/patch-js_src_jit_arm_Architecture-arm.cpp new file mode 100644 index 00000000000..2378dde588b --- /dev/null +++ b/www/firefox52/patches/patch-js_src_jit_arm_Architecture-arm.cpp @@ -0,0 +1,15 @@ +$NetBSD: patch-js_src_jit_arm_Architecture-arm.cpp,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Support NetBSD/earm + +--- js/src/jit/arm/Architecture-arm.cpp.orig 2015-08-24 21:53:12.000000000 +0000 ++++ js/src/jit/arm/Architecture-arm.cpp +@@ -16,7 +16,7 @@ + #include "jit/arm/Assembler-arm.h" + #include "jit/RegisterSets.h" + +-#if !defined(__linux__) || defined(ANDROID) || defined(JS_SIMULATOR_ARM) ++#if !defined(__linux__) || defined(ANDROID) || defined(JS_SIMULATOR_ARM) || defined(__NetBSD__) + // The Android NDK and B2G do not include the hwcap.h kernel header, and it is not + // defined when building the simulator, so inline the header defines we need. + # define HWCAP_VFP (1 << 6) diff --git a/www/firefox52/patches/patch-js_src_jit_none_AtomicOperations-sparc.h b/www/firefox52/patches/patch-js_src_jit_none_AtomicOperations-sparc.h new file mode 100644 index 00000000000..79b4f7550bb --- /dev/null +++ b/www/firefox52/patches/patch-js_src_jit_none_AtomicOperations-sparc.h @@ -0,0 +1,261 @@ +$NetBSD: patch-js_src_jit_none_AtomicOperations-sparc.h,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +Part of https://bugzilla.mozilla.org/show_bug.cgi?id=1232150 + +--- js/src/jit/none/AtomicOperations-sparc.h.orig 2016-08-01 16:14:38.000000000 +0000 ++++ js/src/jit/none/AtomicOperations-sparc.h +@@ -249,3 +249,254 @@ js::jit::RegionLock::release(void* addr) + #endif + + #endif // jit_sparc_AtomicOperations_sparc_h ++/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * vim: set ts=8 sts=4 et sw=4 tw=99: ++ * 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/. */ ++ ++/* For documentation, see jit/AtomicOperations.h */ ++ ++#ifndef jit_sparc_AtomicOperations_sparc_h ++#define jit_sparc_AtomicOperations_sparc_h ++ ++#include "mozilla/Assertions.h" ++#include "mozilla/Types.h" ++ ++#if defined(__clang__) || defined(__GNUC__) ++ ++// The default implementation tactic for gcc/clang is to use the newer ++// __atomic intrinsics added for use in C++11 . Where that ++// isn't available, we use GCC's older __sync functions instead. ++// ++// ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS is kept as a backward ++// compatible option for older compilers: enable this to use GCC's old ++// __sync functions instead of the newer __atomic functions. This ++// will be required for GCC 4.6.x and earlier, and probably for Clang ++// 3.1, should we need to use those versions. ++ ++//#define ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS ++ ++inline bool ++js::jit::AtomicOperations::isLockfree8() ++{ ++# ifndef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS ++ MOZ_ASSERT(__atomic_always_lock_free(sizeof(int8_t), 0)); ++ MOZ_ASSERT(__atomic_always_lock_free(sizeof(int16_t), 0)); ++ MOZ_ASSERT(__atomic_always_lock_free(sizeof(int32_t), 0)); ++# if defined(__LP64__) ++ MOZ_ASSERT(__atomic_always_lock_free(sizeof(int64_t), 0)); ++# endif ++ return true; ++# else ++ return false; ++# endif ++} ++ ++inline void ++js::jit::AtomicOperations::fenceSeqCst() ++{ ++# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS ++ __sync_synchronize(); ++# else ++ __atomic_thread_fence(__ATOMIC_SEQ_CST); ++# endif ++} ++ ++template ++inline T ++js::jit::AtomicOperations::loadSeqCst(T* addr) ++{ ++ MOZ_ASSERT(sizeof(T) < 8 || isLockfree8()); ++# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS ++ __sync_synchronize(); ++ T v = *addr; ++ __sync_synchronize(); ++# else ++ T v; ++ __atomic_load(addr, &v, __ATOMIC_SEQ_CST); ++# endif ++ return v; ++} ++ ++template ++inline void ++js::jit::AtomicOperations::storeSeqCst(T* addr, T val) ++{ ++ MOZ_ASSERT(sizeof(T) < 8 || isLockfree8()); ++# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS ++ __sync_synchronize(); ++ *addr = val; ++ __sync_synchronize(); ++# else ++ __atomic_store(addr, &val, __ATOMIC_SEQ_CST); ++# endif ++} ++ ++template ++inline T ++js::jit::AtomicOperations::compareExchangeSeqCst(T* addr, T oldval, T newval) ++{ ++ MOZ_ASSERT(sizeof(T) < 8 || isLockfree8()); ++# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS ++ return __sync_val_compare_and_swap(addr, oldval, newval); ++# else ++ __atomic_compare_exchange(addr, &oldval, &newval, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); ++ return oldval; ++# endif ++} ++ ++template ++inline T ++js::jit::AtomicOperations::fetchAddSeqCst(T* addr, T val) ++{ ++#if !defined( __LP64__) ++ static_assert(sizeof(T) <= 4, "not available for 8-byte values yet"); ++#endif ++# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS ++ return __sync_fetch_and_add(addr, val); ++# else ++ return __atomic_fetch_add(addr, val, __ATOMIC_SEQ_CST); ++# endif ++} ++ ++template ++inline T ++js::jit::AtomicOperations::fetchSubSeqCst(T* addr, T val) ++{ ++#if !defined( __LP64__) ++ static_assert(sizeof(T) <= 4, "not available for 8-byte values yet"); ++#endif ++# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS ++ return __sync_fetch_and_sub(addr, val); ++# else ++ return __atomic_fetch_sub(addr, val, __ATOMIC_SEQ_CST); ++# endif ++} ++ ++template ++inline T ++js::jit::AtomicOperations::fetchAndSeqCst(T* addr, T val) ++{ ++#if !defined( __LP64__) ++ static_assert(sizeof(T) <= 4, "not available for 8-byte values yet"); ++#endif ++# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS ++ return __sync_fetch_and_and(addr, val); ++# else ++ return __atomic_fetch_and(addr, val, __ATOMIC_SEQ_CST); ++# endif ++} ++ ++template ++inline T ++js::jit::AtomicOperations::fetchOrSeqCst(T* addr, T val) ++{ ++#if !defined( __LP64__) ++ static_assert(sizeof(T) <= 4, "not available for 8-byte values yet"); ++#endif ++# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS ++ return __sync_fetch_and_or(addr, val); ++# else ++ return __atomic_fetch_or(addr, val, __ATOMIC_SEQ_CST); ++# endif ++} ++ ++template ++inline T ++js::jit::AtomicOperations::fetchXorSeqCst(T* addr, T val) ++{ ++#if !defined( __LP64__) ++ static_assert(sizeof(T) <= 4, "not available for 8-byte values yet"); ++#endif ++# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS ++ return __sync_fetch_and_xor(addr, val); ++# else ++ return __atomic_fetch_xor(addr, val, __ATOMIC_SEQ_CST); ++# endif ++} ++ ++template ++inline T ++js::jit::AtomicOperations::loadSafeWhenRacy(T* addr) ++{ ++ return *addr; // FIXME (1208663): not yet safe ++} ++ ++template ++inline void ++js::jit::AtomicOperations::storeSafeWhenRacy(T* addr, T val) ++{ ++ *addr = val; // FIXME (1208663): not yet safe ++} ++ ++inline void ++js::jit::AtomicOperations::memcpySafeWhenRacy(void* dest, const void* src, size_t nbytes) ++{ ++ ::memcpy(dest, src, nbytes); // FIXME (1208663): not yet safe ++} ++ ++inline void ++js::jit::AtomicOperations::memmoveSafeWhenRacy(void* dest, const void* src, size_t nbytes) ++{ ++ ::memmove(dest, src, nbytes); // FIXME (1208663): not yet safe ++} ++ ++template ++inline T ++js::jit::AtomicOperations::exchangeSeqCst(T* addr, T val) ++{ ++ MOZ_ASSERT(sizeof(T) < 8 || isLockfree8()); ++# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS ++ T v; ++ __sync_synchronize(); ++ do { ++ v = *addr; ++ } while (__sync_val_compare_and_swap(addr, v, val) != v); ++ return v; ++# else ++ T v; ++ __atomic_exchange(addr, &val, &v, __ATOMIC_SEQ_CST); ++ return v; ++# endif ++} ++ ++template ++inline void ++js::jit::RegionLock::acquire(void* addr) ++{ ++# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS ++ while (!__sync_bool_compare_and_swap(&spinlock, 0, 1)) ++ ; ++# else ++ uint32_t zero = 0; ++ uint32_t one = 1; ++ while (!__atomic_compare_exchange(&spinlock, &zero, &one, false, __ATOMIC_ACQUIRE, __ATOMIC_ACQUIRE)) { ++ zero = 0; ++ continue; ++ } ++# endif ++} ++ ++template ++inline void ++js::jit::RegionLock::release(void* addr) ++{ ++ MOZ_ASSERT(AtomicOperations::loadSeqCst(&spinlock) == 1, "releasing unlocked region lock"); ++# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS ++ __sync_sub_and_fetch(&spinlock, 1); ++# else ++ uint32_t zero = 0; ++ __atomic_store(&spinlock, &zero, __ATOMIC_SEQ_CST); ++# endif ++} ++ ++# undef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS ++ ++#elif defined(ENABLE_SHARED_ARRAY_BUFFER) ++ ++# error "Either disable JS shared memory, use GCC or Clang, or add code here" ++ ++#endif ++ ++#endif // jit_sparc_AtomicOperations_sparc_h diff --git a/www/firefox52/patches/patch-js_src_moz.build b/www/firefox52/patches/patch-js_src_moz.build new file mode 100644 index 00000000000..395e9510f3e --- /dev/null +++ b/www/firefox52/patches/patch-js_src_moz.build @@ -0,0 +1,15 @@ +$NetBSD: patch-js_src_moz.build,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- js/src/moz.build.orig 2017-02-09 20:24:38.000000000 +0000 ++++ js/src/moz.build +@@ -735,10 +735,6 @@ OS_LIBS += CONFIG['REALTIME_LIBS'] + CFLAGS += CONFIG['MOZ_ICU_CFLAGS'] + CXXFLAGS += CONFIG['MOZ_ICU_CFLAGS'] + +-NO_EXPAND_LIBS = True +- +-DIST_INSTALL = True +- + # Prepare self-hosted JS code for embedding + GENERATED_FILES += [('selfhosted.out.h', 'selfhosted.js')] + selfhosted = GENERATED_FILES[('selfhosted.out.h', 'selfhosted.js')] diff --git a/www/firefox52/patches/patch-js_xpconnect_src_XPCConvert.cpp b/www/firefox52/patches/patch-js_xpconnect_src_XPCConvert.cpp new file mode 100644 index 00000000000..af7d1925a79 --- /dev/null +++ b/www/firefox52/patches/patch-js_xpconnect_src_XPCConvert.cpp @@ -0,0 +1,16 @@ +$NetBSD: patch-js_xpconnect_src_XPCConvert.cpp,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +Suggested workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=1147837 +Avoids a crash on big endian 64 bit architectures. + +--- js/xpconnect/src/XPCConvert.cpp.orig 2015-03-21 04:42:37.000000000 +0100 ++++ js/xpconnect/src/XPCConvert.cpp 2015-03-30 13:49:16.000000000 +0200 +@@ -134,7 +134,7 @@ + d.setNumber(*static_cast(s)); + return true; + case nsXPTType::T_DOUBLE: +- d.setNumber(*static_cast(s)); ++ d.setNumber(CanonicalizeNaN(*static_cast(s))); + return true; + case nsXPTType::T_BOOL : + d.setBoolean(*static_cast(s)); diff --git a/www/firefox52/patches/patch-js_xpconnect_src_xpcprivate.h b/www/firefox52/patches/patch-js_xpconnect_src_xpcprivate.h new file mode 100644 index 00000000000..6cd6e944981 --- /dev/null +++ b/www/firefox52/patches/patch-js_xpconnect_src_xpcprivate.h @@ -0,0 +1,17 @@ +$NetBSD: patch-js_xpconnect_src_xpcprivate.h,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +From commit log 1.1: + Instantiate WeakMapPtr explicitly to get the right visibility with + clang. + +--- js/xpconnect/src/xpcprivate.h.orig 2016-10-31 20:15:38.000000000 +0000 ++++ js/xpconnect/src/xpcprivate.h +@@ -860,6 +860,8 @@ typedef nsTArray; ++ + class nsIAddonInterposition; + class nsXPCComponentsBase; + class XPCWrappedNativeScope final : public PRCList diff --git a/www/firefox52/patches/patch-media_libcubeb_src_cubeb.c b/www/firefox52/patches/patch-media_libcubeb_src_cubeb.c new file mode 100644 index 00000000000..19740db1991 --- /dev/null +++ b/www/firefox52/patches/patch-media_libcubeb_src_cubeb.c @@ -0,0 +1,26 @@ +$NetBSD: patch-media_libcubeb_src_cubeb.c,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Support OSS audio + +--- media/libcubeb/src/cubeb.c.orig 2017-01-23 16:13:54.000000000 +0000 ++++ media/libcubeb/src/cubeb.c +@@ -54,6 +54,9 @@ int audiotrack_init(cubeb ** context, ch + #if defined(USE_KAI) + int kai_init(cubeb ** context, char const * context_name); + #endif ++#if defined(USE_OSS) ++int oss_init(cubeb ** context, char const * context_name); ++#endif + + + static int +@@ -141,6 +144,9 @@ cubeb_init(cubeb ** context, char const + #if defined(USE_KAI) + kai_init, + #endif ++#if defined(USE_OSS) ++ oss_init, ++#endif + }; + int i; + diff --git a/www/firefox52/patches/patch-media_libcubeb_src_cubeb__alsa.c b/www/firefox52/patches/patch-media_libcubeb_src_cubeb__alsa.c new file mode 100644 index 00000000000..1abe57a07b5 --- /dev/null +++ b/www/firefox52/patches/patch-media_libcubeb_src_cubeb__alsa.c @@ -0,0 +1,546 @@ +$NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Support alsa audio under NetBSD +* Avoid https://github.com/kinetiknz/cubeb/issues/226 + +--- media/libcubeb/src/cubeb_alsa.c.orig 2016-10-31 20:15:39.000000000 +0000 ++++ media/libcubeb/src/cubeb_alsa.c +@@ -7,11 +7,15 @@ + #undef NDEBUG + #define _DEFAULT_SOURCE + #define _BSD_SOURCE ++#if defined(__NetBSD__) ++#define _NETBSD_SOURCE ++#endif + #define _XOPEN_SOURCE 500 + #include + #include + #include + #include ++#include + #include + #include + #include +@@ -25,6 +29,50 @@ + + #define ALSA_PA_PLUGIN "ALSA <-> PulseAudio PCM I/O Plugin" + ++#ifdef DISABLE_LIBASOUND_DLOPEN ++#define WRAP(x) x ++#else ++#define WRAP(x) cubeb_##x ++#define MAKE_TYPEDEF(x) static typeof(x) * cubeb_##x ++MAKE_TYPEDEF(snd_config); ++MAKE_TYPEDEF(snd_config_add); ++MAKE_TYPEDEF(snd_config_copy); ++MAKE_TYPEDEF(snd_config_delete); ++MAKE_TYPEDEF(snd_config_get_id); ++MAKE_TYPEDEF(snd_config_get_string); ++MAKE_TYPEDEF(snd_config_imake_integer); ++MAKE_TYPEDEF(snd_config_search); ++MAKE_TYPEDEF(snd_config_search_definition); ++MAKE_TYPEDEF(snd_lib_error_set_handler); ++MAKE_TYPEDEF(snd_pcm_avail_update); ++MAKE_TYPEDEF(snd_pcm_close); ++MAKE_TYPEDEF(snd_pcm_delay); ++MAKE_TYPEDEF(snd_pcm_drain); ++MAKE_TYPEDEF(snd_pcm_frames_to_bytes); ++MAKE_TYPEDEF(snd_pcm_get_params); ++/* snd_pcm_hw_params_alloca is actually a macro */ ++/* MAKE_TYPEDEF(snd_pcm_hw_params_alloca); */ ++MAKE_TYPEDEF(snd_pcm_hw_params_sizeof); ++#define snd_pcm_hw_params_sizeof cubeb_snd_pcm_hw_params_sizeof ++MAKE_TYPEDEF(snd_pcm_hw_params_any); ++MAKE_TYPEDEF(snd_pcm_hw_params_get_channels_max); ++MAKE_TYPEDEF(snd_pcm_hw_params_get_rate); ++MAKE_TYPEDEF(snd_pcm_hw_params_set_rate_near); ++MAKE_TYPEDEF(snd_pcm_nonblock); ++MAKE_TYPEDEF(snd_pcm_open); ++MAKE_TYPEDEF(snd_pcm_open_lconf); ++MAKE_TYPEDEF(snd_pcm_pause); ++MAKE_TYPEDEF(snd_pcm_poll_descriptors); ++MAKE_TYPEDEF(snd_pcm_poll_descriptors_count); ++MAKE_TYPEDEF(snd_pcm_poll_descriptors_revents); ++MAKE_TYPEDEF(snd_pcm_recover); ++MAKE_TYPEDEF(snd_pcm_set_params); ++MAKE_TYPEDEF(snd_pcm_state); ++MAKE_TYPEDEF(snd_pcm_writei); ++ ++#undef MAKE_TYPEDEF ++#endif ++ + /* ALSA is not thread-safe. snd_pcm_t instances are individually protected + by the owning cubeb_stream's mutex. snd_pcm_t creation and destruction + is not thread-safe until ALSA 1.0.24 (see alsa-lib.git commit 91c9c8f1), +@@ -65,6 +113,8 @@ struct cubeb { + workaround is not required. */ + snd_config_t * local_config; + int is_pa; ++ ++ void * libasound; + }; + + enum stream_state { +@@ -260,10 +310,10 @@ alsa_refill_stream(cubeb_stream * stm) + + pthread_mutex_lock(&stm->mutex); + +- avail = snd_pcm_avail_update(stm->pcm); ++ avail = WRAP(snd_pcm_avail_update)(stm->pcm); + if (avail < 0) { +- snd_pcm_recover(stm->pcm, avail, 1); +- avail = snd_pcm_avail_update(stm->pcm); ++ WRAP(snd_pcm_recover)(stm->pcm, avail, 1); ++ avail = WRAP(snd_pcm_avail_update)(stm->pcm); + } + + /* Failed to recover from an xrun, this stream must be broken. */ +@@ -286,7 +336,7 @@ alsa_refill_stream(cubeb_stream * stm) + return RUNNING; + } + +- p = calloc(1, snd_pcm_frames_to_bytes(stm->pcm, avail)); ++ p = calloc(1, WRAP(snd_pcm_frames_to_bytes)(stm->pcm, avail)); + assert(p); + + pthread_mutex_unlock(&stm->mutex); +@@ -312,10 +362,10 @@ alsa_refill_stream(cubeb_stream * stm) + b[i] *= stm->volume; + } + } +- wrote = snd_pcm_writei(stm->pcm, p, got); ++ wrote = WRAP(snd_pcm_writei)(stm->pcm, p, got); + if (wrote < 0) { +- snd_pcm_recover(stm->pcm, wrote, 1); +- wrote = snd_pcm_writei(stm->pcm, p, got); ++ WRAP(snd_pcm_recover)(stm->pcm, wrote, 1); ++ wrote = WRAP(snd_pcm_writei)(stm->pcm, p, got); + } + assert(wrote >= 0 && wrote == got); + stm->write_position += wrote; +@@ -327,7 +377,7 @@ alsa_refill_stream(cubeb_stream * stm) + + /* Fill the remaining buffer with silence to guarantee one full period + has been written. */ +- snd_pcm_writei(stm->pcm, (char *) p + got, avail - got); ++ WRAP(snd_pcm_writei)(stm->pcm, (char *) p + got, avail - got); + + set_timeout(&stm->drain_timeout, buffer_time * 1000); + +@@ -440,26 +490,26 @@ get_slave_pcm_node(snd_config_t * lconf, + + slave_def = NULL; + +- r = snd_config_search(root_pcm, "slave", &slave_pcm); ++ r = WRAP(snd_config_search)(root_pcm, "slave", &slave_pcm); + if (r < 0) { + return NULL; + } + +- r = snd_config_get_string(slave_pcm, &string); ++ r = WRAP(snd_config_get_string)(slave_pcm, &string); + if (r >= 0) { +- r = snd_config_search_definition(lconf, "pcm_slave", string, &slave_def); ++ r = WRAP(snd_config_search_definition)(lconf, "pcm_slave", string, &slave_def); + if (r < 0) { + return NULL; + } + } + + do { +- r = snd_config_search(slave_def ? slave_def : slave_pcm, "pcm", &pcm); ++ r = WRAP(snd_config_search)(slave_def ? slave_def : slave_pcm, "pcm", &pcm); + if (r < 0) { + break; + } + +- r = snd_config_get_string(slave_def ? slave_def : slave_pcm, &string); ++ r = WRAP(snd_config_get_string)(slave_def ? slave_def : slave_pcm, &string); + if (r < 0) { + break; + } +@@ -468,7 +518,7 @@ get_slave_pcm_node(snd_config_t * lconf, + if (r < 0 || r > (int) sizeof(node_name)) { + break; + } +- r = snd_config_search(lconf, node_name, &pcm); ++ r = WRAP(snd_config_search)(lconf, node_name, &pcm); + if (r < 0) { + break; + } +@@ -477,7 +527,7 @@ get_slave_pcm_node(snd_config_t * lconf, + } while (0); + + if (slave_def) { +- snd_config_delete(slave_def); ++ WRAP(snd_config_delete)(slave_def); + } + + return NULL; +@@ -500,22 +550,22 @@ init_local_config_with_workaround(char c + + lconf = NULL; + +- if (snd_config == NULL) { ++ if (*WRAP(snd_config) == NULL) { + return NULL; + } + +- r = snd_config_copy(&lconf, snd_config); ++ r = WRAP(snd_config_copy)(&lconf, *WRAP(snd_config)); + if (r < 0) { + return NULL; + } + + do { +- r = snd_config_search_definition(lconf, "pcm", pcm_name, &pcm_node); ++ r = WRAP(snd_config_search_definition)(lconf, "pcm", pcm_name, &pcm_node); + if (r < 0) { + break; + } + +- r = snd_config_get_id(pcm_node, &string); ++ r = WRAP(snd_config_get_id)(pcm_node, &string); + if (r < 0) { + break; + } +@@ -524,7 +574,7 @@ init_local_config_with_workaround(char c + if (r < 0 || r > (int) sizeof(node_name)) { + break; + } +- r = snd_config_search(lconf, node_name, &pcm_node); ++ r = WRAP(snd_config_search)(lconf, node_name, &pcm_node); + if (r < 0) { + break; + } +@@ -535,12 +585,12 @@ init_local_config_with_workaround(char c + } + + /* Fetch the PCM node's type, and bail out if it's not the PulseAudio plugin. */ +- r = snd_config_search(pcm_node, "type", &node); ++ r = WRAP(snd_config_search)(pcm_node, "type", &node); + if (r < 0) { + break; + } + +- r = snd_config_get_string(node, &string); ++ r = WRAP(snd_config_get_string)(node, &string); + if (r < 0) { + break; + } +@@ -551,18 +601,18 @@ init_local_config_with_workaround(char c + + /* Don't clobber an explicit existing handle_underrun value, set it only + if it doesn't already exist. */ +- r = snd_config_search(pcm_node, "handle_underrun", &node); ++ r = WRAP(snd_config_search)(pcm_node, "handle_underrun", &node); + if (r != -ENOENT) { + break; + } + + /* Disable pcm_pulse's asynchronous underrun handling. */ +- r = snd_config_imake_integer(&node, "handle_underrun", 0); ++ r = WRAP(snd_config_imake_integer)(&node, "handle_underrun", 0); + if (r < 0) { + break; + } + +- r = snd_config_add(pcm_node, node); ++ r = WRAP(snd_config_add)(pcm_node, node); + if (r < 0) { + break; + } +@@ -570,7 +620,7 @@ init_local_config_with_workaround(char c + return lconf; + } while (0); + +- snd_config_delete(lconf); ++ WRAP(snd_config_delete)(lconf); + + return NULL; + } +@@ -582,9 +632,9 @@ alsa_locked_pcm_open(snd_pcm_t ** pcm, s + + pthread_mutex_lock(&cubeb_alsa_mutex); + if (local_config) { +- r = snd_pcm_open_lconf(pcm, CUBEB_ALSA_PCM_NAME, stream, SND_PCM_NONBLOCK, local_config); ++ r = WRAP(snd_pcm_open_lconf)(pcm, CUBEB_ALSA_PCM_NAME, stream, SND_PCM_NONBLOCK, local_config); + } else { +- r = snd_pcm_open(pcm, CUBEB_ALSA_PCM_NAME, stream, SND_PCM_NONBLOCK); ++ r = WRAP(snd_pcm_open)(pcm, CUBEB_ALSA_PCM_NAME, stream, SND_PCM_NONBLOCK); + } + pthread_mutex_unlock(&cubeb_alsa_mutex); + +@@ -597,7 +647,7 @@ alsa_locked_pcm_close(snd_pcm_t * pcm) + int r; + + pthread_mutex_lock(&cubeb_alsa_mutex); +- r = snd_pcm_close(pcm); ++ r = WRAP(snd_pcm_close)(pcm); + pthread_mutex_unlock(&cubeb_alsa_mutex); + + return r; +@@ -654,12 +704,65 @@ alsa_init(cubeb ** context, char const * + pthread_attr_t attr; + snd_pcm_t * dummy; + ++ void * libasound = NULL; ++ ++#ifndef DISABLE_LIBASOUND_DLOPEN ++ libasound = dlopen("libasound.so", RTLD_LAZY); ++ if (!libasound) { ++ return CUBEB_ERROR; ++ } ++ ++#define LOAD(x) do { \ ++ cubeb_##x = dlsym(libasound, #x); \ ++ if (!cubeb_##x) { \ ++ dlclose(libasound); \ ++ return CUBEB_ERROR; \ ++ } \ ++ } while(0) ++ ++ LOAD(snd_config); ++ LOAD(snd_config_add); ++ LOAD(snd_config_copy); ++ LOAD(snd_config_delete); ++ LOAD(snd_config_get_id); ++ LOAD(snd_config_get_string); ++ LOAD(snd_config_imake_integer); ++ LOAD(snd_config_search); ++ LOAD(snd_config_search_definition); ++ LOAD(snd_lib_error_set_handler); ++ LOAD(snd_pcm_avail_update); ++ LOAD(snd_pcm_close); ++ LOAD(snd_pcm_delay); ++ LOAD(snd_pcm_drain); ++ LOAD(snd_pcm_frames_to_bytes); ++ LOAD(snd_pcm_get_params); ++ /* snd_pcm_hw_params_alloca is actually a macro */ ++ /* LOAD(snd_pcm_hw_params_alloca); */ ++ LOAD(snd_pcm_hw_params_sizeof); ++ LOAD(snd_pcm_hw_params_any); ++ LOAD(snd_pcm_hw_params_get_channels_max); ++ LOAD(snd_pcm_hw_params_get_rate); ++ LOAD(snd_pcm_hw_params_set_rate_near); ++ LOAD(snd_pcm_nonblock); ++ LOAD(snd_pcm_open); ++ LOAD(snd_pcm_open_lconf); ++ LOAD(snd_pcm_pause); ++ LOAD(snd_pcm_poll_descriptors); ++ LOAD(snd_pcm_poll_descriptors_count); ++ LOAD(snd_pcm_poll_descriptors_revents); ++ LOAD(snd_pcm_recover); ++ LOAD(snd_pcm_set_params); ++ LOAD(snd_pcm_state); ++ LOAD(snd_pcm_writei); ++ ++#undef LOAD ++#endif + assert(context); + *context = NULL; + + pthread_mutex_lock(&cubeb_alsa_mutex); + if (!cubeb_alsa_error_handler_set) { +- snd_lib_error_set_handler(silent_error_handler); ++ WRAP(snd_lib_error_set_handler)(silent_error_handler); + cubeb_alsa_error_handler_set = 1; + } + pthread_mutex_unlock(&cubeb_alsa_mutex); +@@ -667,6 +770,8 @@ alsa_init(cubeb ** context, char const * + ctx = calloc(1, sizeof(*ctx)); + assert(ctx); + ++ ctx->libasound = libasound; ++ + ctx->ops = &alsa_ops; + + r = pthread_mutex_init(&ctx->mutex, NULL); +@@ -716,7 +821,7 @@ alsa_init(cubeb ** context, char const * + config fails with EINVAL, the PA PCM is too old for this workaround. */ + if (r == -EINVAL) { + pthread_mutex_lock(&cubeb_alsa_mutex); +- snd_config_delete(ctx->local_config); ++ WRAP(snd_config_delete)(ctx->local_config); + pthread_mutex_unlock(&cubeb_alsa_mutex); + ctx->local_config = NULL; + } else if (r >= 0) { +@@ -755,9 +860,13 @@ alsa_destroy(cubeb * ctx) + pthread_mutex_destroy(&ctx->mutex); + free(ctx->fds); + ++ if (ctx->libasound) { ++ dlclose(ctx->libasound); ++ } ++ + if (ctx->local_config) { + pthread_mutex_lock(&cubeb_alsa_mutex); +- snd_config_delete(ctx->local_config); ++ WRAP(snd_config_delete)(ctx->local_config); + pthread_mutex_unlock(&cubeb_alsa_mutex); + } + +@@ -836,13 +945,16 @@ alsa_stream_init(cubeb * ctx, cubeb_stre + r = pthread_mutex_init(&stm->mutex, NULL); + assert(r == 0); + ++ r = pthread_cond_init(&stm->cond, NULL); ++ assert(r == 0); ++ + r = alsa_locked_pcm_open(&stm->pcm, SND_PCM_STREAM_PLAYBACK, ctx->local_config); + if (r < 0) { + alsa_stream_destroy(stm); + return CUBEB_ERROR; + } + +- r = snd_pcm_nonblock(stm->pcm, 1); ++ r = WRAP(snd_pcm_nonblock)(stm->pcm, 1); + assert(r == 0); + + latency_us = latency_frames * 1e6 / stm->params.rate; +@@ -855,7 +967,7 @@ alsa_stream_init(cubeb * ctx, cubeb_stre + latency_us = latency_us < min_latency ? min_latency: latency_us; + } + +- r = snd_pcm_set_params(stm->pcm, format, SND_PCM_ACCESS_RW_INTERLEAVED, ++ r = WRAP(snd_pcm_set_params)(stm->pcm, format, SND_PCM_ACCESS_RW_INTERLEAVED, + stm->params.channels, stm->params.rate, 1, + latency_us); + if (r < 0) { +@@ -863,20 +975,17 @@ alsa_stream_init(cubeb * ctx, cubeb_stre + return CUBEB_ERROR_INVALID_FORMAT; + } + +- r = snd_pcm_get_params(stm->pcm, &stm->buffer_size, &period_size); ++ r = WRAP(snd_pcm_get_params)(stm->pcm, &stm->buffer_size, &period_size); + assert(r == 0); + +- stm->nfds = snd_pcm_poll_descriptors_count(stm->pcm); ++ stm->nfds = WRAP(snd_pcm_poll_descriptors_count)(stm->pcm); + assert(stm->nfds > 0); + + stm->saved_fds = calloc(stm->nfds, sizeof(struct pollfd)); + assert(stm->saved_fds); +- r = snd_pcm_poll_descriptors(stm->pcm, stm->saved_fds, stm->nfds); ++ r = WRAP(snd_pcm_poll_descriptors)(stm->pcm, stm->saved_fds, stm->nfds); + assert((nfds_t) r == stm->nfds); + +- r = pthread_cond_init(&stm->cond, NULL); +- assert(r == 0); +- + if (alsa_register_stream(ctx, stm) != 0) { + alsa_stream_destroy(stm); + return CUBEB_ERROR; +@@ -902,7 +1011,7 @@ alsa_stream_destroy(cubeb_stream * stm) + pthread_mutex_lock(&stm->mutex); + if (stm->pcm) { + if (stm->state == DRAINING) { +- snd_pcm_drain(stm->pcm); ++ WRAP(snd_pcm_drain)(stm->pcm); + } + alsa_locked_pcm_close(stm->pcm); + stm->pcm = NULL; +@@ -944,12 +1053,12 @@ alsa_get_max_channel_count(cubeb * ctx, + return CUBEB_ERROR; + } + +- r = snd_pcm_hw_params_any(stm->pcm, hw_params); ++ r = WRAP(snd_pcm_hw_params_any)(stm->pcm, hw_params); + if (r < 0) { + return CUBEB_ERROR; + } + +- r = snd_pcm_hw_params_get_channels_max(hw_params, max_channels); ++ r = WRAP(snd_pcm_hw_params_get_channels_max)(hw_params, max_channels); + if (r < 0) { + return CUBEB_ERROR; + } +@@ -969,34 +1078,34 @@ alsa_get_preferred_sample_rate(cubeb * c + + /* get a pcm, disabling resampling, so we get a rate the + * hardware/dmix/pulse/etc. supports. */ +- r = snd_pcm_open(&pcm, CUBEB_ALSA_PCM_NAME, SND_PCM_STREAM_PLAYBACK, SND_PCM_NO_AUTO_RESAMPLE); ++ r = WRAP(snd_pcm_open)(&pcm, CUBEB_ALSA_PCM_NAME, SND_PCM_STREAM_PLAYBACK, SND_PCM_NO_AUTO_RESAMPLE); + if (r < 0) { + return CUBEB_ERROR; + } + +- r = snd_pcm_hw_params_any(pcm, hw_params); ++ r = WRAP(snd_pcm_hw_params_any)(pcm, hw_params); + if (r < 0) { +- snd_pcm_close(pcm); ++ WRAP(snd_pcm_close)(pcm); + return CUBEB_ERROR; + } + +- r = snd_pcm_hw_params_get_rate(hw_params, rate, &dir); ++ r = WRAP(snd_pcm_hw_params_get_rate)(hw_params, rate, &dir); + if (r >= 0) { + /* There is a default rate: use it. */ +- snd_pcm_close(pcm); ++ WRAP(snd_pcm_close)(pcm); + return CUBEB_OK; + } + + /* Use a common rate, alsa may adjust it based on hw/etc. capabilities. */ + *rate = 44100; + +- r = snd_pcm_hw_params_set_rate_near(pcm, hw_params, rate, NULL); ++ r = WRAP(snd_pcm_hw_params_set_rate_near)(pcm, hw_params, rate, NULL); + if (r < 0) { +- snd_pcm_close(pcm); ++ WRAP(snd_pcm_close)(pcm); + return CUBEB_ERROR; + } + +- snd_pcm_close(pcm); ++ WRAP(snd_pcm_close)(pcm); + + return CUBEB_OK; + } +@@ -1020,7 +1129,7 @@ alsa_stream_start(cubeb_stream * stm) + ctx = stm->context; + + pthread_mutex_lock(&stm->mutex); +- snd_pcm_pause(stm->pcm, 0); ++ WRAP(snd_pcm_pause)(stm->pcm, 0); + gettimeofday(&stm->last_activity, NULL); + pthread_mutex_unlock(&stm->mutex); + +@@ -1054,7 +1163,7 @@ alsa_stream_stop(cubeb_stream * stm) + pthread_mutex_unlock(&ctx->mutex); + + pthread_mutex_lock(&stm->mutex); +- snd_pcm_pause(stm->pcm, 1); ++ WRAP(snd_pcm_pause)(stm->pcm, 1); + pthread_mutex_unlock(&stm->mutex); + + return CUBEB_OK; +@@ -1070,14 +1179,15 @@ alsa_stream_get_position(cubeb_stream * + pthread_mutex_lock(&stm->mutex); + + delay = -1; +- if (snd_pcm_state(stm->pcm) != SND_PCM_STATE_RUNNING || +- snd_pcm_delay(stm->pcm, &delay) != 0) { ++ if (WRAP(snd_pcm_state)(stm->pcm) != SND_PCM_STATE_RUNNING || ++ WRAP(snd_pcm_delay)(stm->pcm, &delay) != 0) { + *position = stm->last_position; + pthread_mutex_unlock(&stm->mutex); + return CUBEB_OK; + } + +- assert(delay >= 0); ++ // Comment out to enable alsa-plugins-oss audio playback ++ // assert(delay >= 0); + + *position = 0; + if (stm->write_position >= (snd_pcm_uframes_t) delay) { +@@ -1096,7 +1206,7 @@ alsa_stream_get_latency(cubeb_stream * s + snd_pcm_sframes_t delay; + /* This function returns the delay in frames until a frame written using + snd_pcm_writei is sent to the DAC. The DAC delay should be < 1ms anyways. */ +- if (snd_pcm_delay(stm->pcm, &delay)) { ++ if (WRAP(snd_pcm_delay)(stm->pcm, &delay)) { + return CUBEB_ERROR; + } + diff --git a/www/firefox52/patches/patch-media_libcubeb_src_cubeb__oss.c b/www/firefox52/patches/patch-media_libcubeb_src_cubeb__oss.c new file mode 100644 index 00000000000..4db599f4b81 --- /dev/null +++ b/www/firefox52/patches/patch-media_libcubeb_src_cubeb__oss.c @@ -0,0 +1,449 @@ +$NetBSD: patch-media_libcubeb_src_cubeb__oss.c,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Restore OSS audio support code + +--- media/libcubeb/src/cubeb_oss.c.orig 2016-11-29 13:25:18.814351604 +0000 ++++ media/libcubeb/src/cubeb_oss.c +@@ -0,0 +1,442 @@ ++/* ++ * Copyright © 2014 Mozilla Foundation ++ * ++ * This program is made available under an ISC-style license. See the ++ * accompanying file LICENSE for details. ++ */ ++#if defined(HAVE_SYS_SOUNDCARD_H) ++#include ++#else ++#include ++#endif ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include "cubeb/cubeb.h" ++#include "cubeb-internal.h" ++ ++#ifndef CUBEB_OSS_DEFAULT_OUTPUT ++#define CUBEB_OSS_DEFAULT_OUTPUT "/dev/dsp" ++#endif ++ ++#define OSS_BUFFER_SIZE 1024 ++ ++struct cubeb { ++ struct cubeb_ops const * ops; ++}; ++ ++struct cubeb_stream { ++ cubeb * context; ++ ++ cubeb_data_callback data_callback; ++ cubeb_state_callback state_callback; ++ void * user_ptr; ++ float volume; ++ float panning; ++ ++ pthread_mutex_t state_mutex; ++ pthread_cond_t state_cond; ++ ++ int running; ++ int stopped; ++ int floating; ++ ++ /* These two vars are needed to support old versions of OSS */ ++ unsigned int position_bytes; ++ unsigned int last_position_bytes; ++ ++ uint64_t written_frags; /* The number of fragments written to /dev/dsp */ ++ uint64_t missed_frags; /* fragments output with stopped stream */ ++ ++ cubeb_stream_params params; ++ int fd; ++ pthread_t th; ++}; ++ ++static struct cubeb_ops const oss_ops; ++ ++int oss_init(cubeb ** context, char const * context_name) ++{ ++ cubeb* ctx = (cubeb*)malloc(sizeof(cubeb)); ++ ctx->ops = &oss_ops; ++ *context = ctx; ++ return CUBEB_OK; ++} ++ ++static void oss_destroy(cubeb *ctx) ++{ ++ free(ctx); ++} ++ ++static char const * oss_get_backend_id(cubeb * context) ++{ ++ static char oss_name[] = "oss"; ++ return oss_name; ++} ++ ++static int oss_get_max_channel_count(cubeb * ctx, uint32_t * max_channels) ++{ ++ *max_channels = 2; /* Let's support only stereo for now */ ++ return CUBEB_OK; ++} ++ ++static int oss_get_min_latency(cubeb * context, cubeb_stream_params params, ++ uint32_t * latency_ms) ++{ ++ /* 40ms is a big enough number to work ok */ ++ *latency_ms = 40; ++ return CUBEB_OK; ++} ++ ++static int oss_get_preferred_sample_rate(cubeb *context, uint32_t * rate) ++{ ++ /* 48000 seems a prefered choice for most audio devices ++ * and a good choice for OSS */ ++ *rate = 48000; ++ return CUBEB_OK; ++} ++ ++static void run_state_callback(cubeb_stream *stream, cubeb_state state) ++{ ++ if (stream->state_callback) { ++ stream->state_callback(stream, stream->user_ptr, state); ++ } ++} ++ ++static long run_data_callback(cubeb_stream *stream, void *buffer, long nframes) ++{ ++ long got = 0; ++ pthread_mutex_lock(&stream->state_mutex); ++ if (stream->data_callback && stream->running && !stream->stopped) { ++ pthread_mutex_unlock(&stream->state_mutex); ++ got = stream->data_callback(stream, stream->user_ptr, NULL, buffer, nframes); ++ } else { ++ pthread_mutex_unlock(&stream->state_mutex); ++ } ++ return got; ++} ++ ++static void apply_volume_int(int16_t* buffer, unsigned int n, ++ float volume, float panning) ++{ ++ float left = volume; ++ float right = volume; ++ unsigned int i; ++ int pan[2]; ++ if (panning<0) { ++ right *= (1+panning); ++ } else { ++ left *= (1-panning); ++ } ++ pan[0] = 128.0*left; ++ pan[1] = 128.0*right; ++ for(i=0; irunning) { ++ pthread_mutex_lock(&stream->state_mutex); ++ if (stream->stopped) { ++ pthread_mutex_unlock(&stream->state_mutex); ++ run_state_callback(stream, CUBEB_STATE_STOPPED); ++ pthread_mutex_lock(&stream->state_mutex); ++ while (stream->stopped) { ++ pthread_cond_wait(&stream->state_cond, &stream->state_mutex); ++ } ++ pthread_mutex_unlock(&stream->state_mutex); ++ run_state_callback(stream, CUBEB_STATE_STARTED); ++ continue; ++ } ++ pthread_mutex_unlock(&stream->state_mutex); ++ if (stream->floating) { ++ got = run_data_callback(stream, f_buffer, ++ OSS_BUFFER_SIZE/stream->params.channels); ++ apply_volume_float(f_buffer, got*stream->params.channels, ++ stream->volume, stream->panning); ++ for (i=0; i<((unsigned long)got)*stream->params.channels; i++) { ++ /* Clipping is prefered to overflow */ ++ if(f_buffer[i]>=1.0){ ++ f_buffer[i]=1.0; ++ } ++ if(f_buffer[i]<=-1.0){ ++ f_buffer[i]=-1.0; ++ } ++ /* One might think that multipling by 32767.0 is logical but results in clipping */ ++ buffer[i] = f_buffer[i]*32767.0; ++ } ++ } else { ++ got = run_data_callback(stream, buffer, ++ OSS_BUFFER_SIZE/stream->params.channels); ++ apply_volume_int(buffer, got*stream->params.channels, ++ stream->volume, stream->panning); ++ } ++ if (got<0) { ++ run_state_callback(stream, CUBEB_STATE_ERROR); ++ break; ++ } ++ if (!got) { ++ run_state_callback(stream, CUBEB_STATE_DRAINED); ++ } ++ if (got) { ++ size_t i = 0; ++ size_t s = got*stream->params.channels*sizeof(int16_t); ++ while (i < s) { ++ ssize_t n = write(stream->fd, ((char*)buffer) + i, s - i); ++ if (n<=0) { ++ run_state_callback(stream, CUBEB_STATE_ERROR); ++ break; ++ } ++ i+=n; ++ } ++ stream->written_frags+=got; ++ } ++ } ++ return NULL; ++} ++ ++static void oss_try_set_latency(cubeb_stream* stream, unsigned int latency) ++{ ++ unsigned int latency_bytes, n_frag; ++ int frag; ++ /* fragment size of 1024 is a good choice with good chances to be accepted */ ++ unsigned int frag_size=1024; ++ unsigned int frag_log=10; /* 2^frag_log = frag_size */ ++ latency_bytes = ++ latency*stream->params.rate*stream->params.channels*sizeof(uint16_t)/1000; ++ n_frag = latency_bytes>>frag_log; ++ frag = (n_frag<<16) | frag_log; ++ /* Even if this fails we wish to continue, not checking for errors */ ++ ioctl(stream->fd, SNDCTL_DSP_SETFRAGMENT, &frag); ++} ++ ++static int oss_stream_init(cubeb * context, cubeb_stream ** stm, ++ char const * stream_name, ++ cubeb_devid input_device, ++ cubeb_stream_params * input_stream_params, ++ cubeb_devid output_device, ++ cubeb_stream_params * output_stream_params, ++ unsigned int latency, ++ cubeb_data_callback data_callback, ++ cubeb_state_callback state_callback, void * user_ptr) ++{ ++ cubeb_stream* stream = (cubeb_stream*)malloc(sizeof(cubeb_stream)); ++ stream->context = context; ++ stream->data_callback = data_callback; ++ stream->state_callback = state_callback; ++ stream->user_ptr = user_ptr; ++ ++ assert(!input_stream_params && "not supported."); ++ if (input_device || output_device) { ++ /* Device selection not yet implemented. */ ++ return CUBEB_ERROR_DEVICE_UNAVAILABLE; ++ } ++ ++ if ((stream->fd = open(CUBEB_OSS_DEFAULT_OUTPUT, O_WRONLY)) == -1) { ++ free(stream); ++ return CUBEB_ERROR; ++ } ++#define SET(what, to) do { unsigned int i = to; \ ++ int j = ioctl(stream->fd, what, &i); \ ++ if (j == -1 || i != to) { \ ++ close(stream->fd); \ ++ free(stream); \ ++ return CUBEB_ERROR_INVALID_FORMAT; } } while (0) ++ ++ stream->params = *output_stream_params; ++ stream->volume = 1.0; ++ stream->panning = 0.0; ++ ++ oss_try_set_latency(stream, latency); ++ ++ stream->floating = 0; ++ SET(SNDCTL_DSP_CHANNELS, stream->params.channels); ++ SET(SNDCTL_DSP_SPEED, stream->params.rate); ++ switch (stream->params.format) { ++ case CUBEB_SAMPLE_S16LE: ++ SET(SNDCTL_DSP_SETFMT, AFMT_S16_LE); ++ break; ++ case CUBEB_SAMPLE_S16BE: ++ SET(SNDCTL_DSP_SETFMT, AFMT_S16_BE); ++ break; ++ case CUBEB_SAMPLE_FLOAT32LE: ++ SET(SNDCTL_DSP_SETFMT, AFMT_S16_NE); ++ stream->floating = 1; ++ break; ++ default: ++ close(stream->fd); ++ free(stream); ++ return CUBEB_ERROR; ++ } ++ ++ ++ pthread_mutex_init(&stream->state_mutex, NULL); ++ pthread_cond_init(&stream->state_cond, NULL); ++ ++ stream->running = 1; ++ stream->stopped = 1; ++ stream->position_bytes = 0; ++ stream->last_position_bytes = 0; ++ stream->written_frags = 0; ++ stream->missed_frags = 0; ++ ++ pthread_create(&stream->th, NULL, writer, (void*)stream); ++ ++ *stm = stream; ++ ++ return CUBEB_OK; ++} ++ ++static void oss_stream_destroy(cubeb_stream * stream) ++{ ++ pthread_mutex_lock(&stream->state_mutex); ++ ++ stream->running = 0; ++ stream->stopped = 0; ++ pthread_cond_signal(&stream->state_cond); ++ ++ pthread_mutex_unlock(&stream->state_mutex); ++ ++ pthread_join(stream->th, NULL); ++ ++ pthread_mutex_destroy(&stream->state_mutex); ++ pthread_cond_destroy(&stream->state_cond); ++ close(stream->fd); ++ free(stream); ++} ++ ++static int oss_stream_get_latency(cubeb_stream * stream, uint32_t * latency) ++{ ++ if (ioctl(stream->fd, SNDCTL_DSP_GETODELAY, latency)==-1) { ++ return CUBEB_ERROR; ++ } ++ /* Convert latency from bytes to frames */ ++ *latency /= stream->params.channels*sizeof(int16_t); ++ return CUBEB_OK; ++} ++ ++ ++static int oss_stream_current_optr(cubeb_stream * stream, uint64_t * position) ++{ ++ count_info ci; ++ /* Unfortunately, this ioctl is only available in OSS 4.x */ ++#ifdef SNDCTL_DSP_CURRENT_OPTR ++ oss_count_t count; ++ if (ioctl(stream->fd, SNDCTL_DSP_CURRENT_OPTR, &count) != -1) { ++ *position = count.samples;// + count.fifo_samples; ++ return CUBEB_OK; ++ } ++#endif ++ /* Fall back to this ioctl in case the previous one fails */ ++ if (ioctl(stream->fd, SNDCTL_DSP_GETOPTR, &ci) == -1) { ++ return CUBEB_ERROR; ++ } ++ /* ci.bytes is only 32 bit and will start to wrap after arithmetic overflow */ ++ stream->position_bytes += ci.bytes - stream->last_position_bytes; ++ stream->last_position_bytes = ci.bytes; ++ *position = stream->position_bytes/stream->params.channels/sizeof(int16_t); ++ return CUBEB_OK; ++} ++ ++static int oss_stream_get_position(cubeb_stream * stream, uint64_t * position) ++{ ++ if ( oss_stream_current_optr(stream, position) == CUBEB_OK ){ ++ *position -= stream->missed_frags; ++ return CUBEB_OK; ++ } ++ /* If no correct method to get position works we resort to this */ ++ *position = stream->written_frags; ++ return CUBEB_OK; ++} ++ ++ ++static int oss_stream_start(cubeb_stream * stream) ++{ ++ pthread_mutex_lock(&stream->state_mutex); ++ if (stream->stopped) { ++ uint64_t ptr; ++ oss_stream_current_optr(stream, &ptr); ++ stream->missed_frags = ptr - stream->written_frags; ++ stream->stopped = 0; ++ pthread_cond_signal(&stream->state_cond); ++ } ++ pthread_mutex_unlock(&stream->state_mutex); ++ return CUBEB_OK; ++} ++ ++static int oss_stream_stop(cubeb_stream * stream) ++{ ++ pthread_mutex_lock(&stream->state_mutex); ++ stream->stopped = 1; ++ pthread_mutex_unlock(&stream->state_mutex); ++ return CUBEB_OK; ++} ++ ++int oss_stream_set_panning(cubeb_stream * stream, float panning) ++{ ++ if (stream->params.channels == 2) { ++ stream->panning=panning; ++ } ++ return CUBEB_OK; ++} ++ ++int oss_stream_set_volume(cubeb_stream * stream, float volume) ++{ ++ stream->volume=volume; ++ return CUBEB_OK; ++} ++ ++static struct cubeb_ops const oss_ops = { ++ .init = oss_init, ++ .get_backend_id = oss_get_backend_id, ++ .get_max_channel_count = oss_get_max_channel_count, ++ .get_min_latency = oss_get_min_latency, ++ .get_preferred_sample_rate = oss_get_preferred_sample_rate, ++ .destroy = oss_destroy, ++ .stream_init = oss_stream_init, ++ .stream_destroy = oss_stream_destroy, ++ .stream_start = oss_stream_start, ++ .stream_stop = oss_stream_stop, ++ .stream_get_position = oss_stream_get_position, ++ .stream_get_latency = oss_stream_get_latency, ++ .stream_set_volume = oss_stream_set_volume, ++ .stream_set_panning = oss_stream_set_panning, ++ .stream_get_current_device = NULL, ++ .stream_device_destroy = NULL, ++ .stream_register_device_changed_callback = NULL ++}; diff --git a/www/firefox52/patches/patch-media_libcubeb_src_moz.build b/www/firefox52/patches/patch-media_libcubeb_src_moz.build new file mode 100644 index 00000000000..1db9c53ccf0 --- /dev/null +++ b/www/firefox52/patches/patch-media_libcubeb_src_moz.build @@ -0,0 +1,28 @@ +$NetBSD: patch-media_libcubeb_src_moz.build,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Add OSS audio support +* Support system library + +--- media/libcubeb/src/moz.build.orig 2016-10-31 20:15:39.000000000 +0000 ++++ media/libcubeb/src/moz.build +@@ -24,6 +24,12 @@ if CONFIG['MOZ_PULSEAUDIO'] or CONFIG['M + 'cubeb_resampler.cpp', + ] + ++if CONFIG['MOZ_OSS']: ++ SOURCES += [ ++ 'cubeb_oss.c', ++ ] ++ DEFINES['USE_OSS'] = True ++ + if CONFIG['MOZ_PULSEAUDIO']: + SOURCES += [ + 'cubeb_pulse.c', +@@ -81,6 +87,7 @@ if CONFIG['OS_TARGET'] == 'Android': + + FINAL_LIBRARY = 'gkmedias' + ++CFLAGS += CONFIG['MOZ_OSS_CFLAGS'] + if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk': + if CONFIG['ANDROID_VERSION'] >= '17': + LOCAL_INCLUDES += [ diff --git a/www/firefox52/patches/patch-media_libcubeb_tests_moz.build b/www/firefox52/patches/patch-media_libcubeb_tests_moz.build new file mode 100644 index 00000000000..3dffc6e2678 --- /dev/null +++ b/www/firefox52/patches/patch-media_libcubeb_tests_moz.build @@ -0,0 +1,12 @@ +$NetBSD: patch-media_libcubeb_tests_moz.build,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- media/libcubeb/tests/moz.build.orig 2016-10-31 20:15:39.000000000 +0000 ++++ media/libcubeb/tests/moz.build +@@ -73,7 +73,6 @@ elif CONFIG['OS_TARGET'] == 'OpenBSD': + 'sndio', + ] + else: +- OS_LIBS += CONFIG['MOZ_ALSA_LIBS'] + OS_LIBS += CONFIG['MOZ_PULSEAUDIO_LIBS'] + + if CONFIG['GNU_CXX']: diff --git a/www/firefox52/patches/patch-media_libcubeb_update.sh b/www/firefox52/patches/patch-media_libcubeb_update.sh new file mode 100644 index 00000000000..95ee32b44df --- /dev/null +++ b/www/firefox52/patches/patch-media_libcubeb_update.sh @@ -0,0 +1,12 @@ +$NetBSD: patch-media_libcubeb_update.sh,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- media/libcubeb/update.sh.orig 2016-10-31 20:15:39.000000000 +0000 ++++ media/libcubeb/update.sh +@@ -16,6 +16,7 @@ cp $1/src/cubeb_audiounit.cpp src + cp $1/src/cubeb_osx_run_loop.h src + cp $1/src/cubeb_jack.cpp src + cp $1/src/cubeb_opensl.c src ++cp $1/src/cubeb_oss.c src + cp $1/src/cubeb_panner.cpp src + cp $1/src/cubeb_panner.h src + cp $1/src/cubeb_pulse.c src diff --git a/www/firefox52/patches/patch-media_libsoundtouch_src_cpu__detect__x86.cpp b/www/firefox52/patches/patch-media_libsoundtouch_src_cpu__detect__x86.cpp new file mode 100644 index 00000000000..3007730090f --- /dev/null +++ b/www/firefox52/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 2017/04/27 01:55:57 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/firefox52/patches/patch-media_libsoundtouch_src_soundtouch__perms.h b/www/firefox52/patches/patch-media_libsoundtouch_src_soundtouch__perms.h new file mode 100644 index 00000000000..b4f419682a8 --- /dev/null +++ b/www/firefox52/patches/patch-media_libsoundtouch_src_soundtouch__perms.h @@ -0,0 +1,14 @@ +$NetBSD: patch-media_libsoundtouch_src_soundtouch__perms.h,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- media/libsoundtouch/src/soundtouch_perms.h.orig 2016-05-12 17:13:16.000000000 +0000 ++++ media/libsoundtouch/src/soundtouch_perms.h +@@ -12,7 +12,9 @@ + + #pragma GCC visibility push(default) + #include "SoundTouch.h" ++#ifndef MOZ_SYSTEM_SOUNDTOUCH + #include "SoundTouchFactory.h" ++#endif + #pragma GCC visibility pop + + #endif // MOZILLA_SOUNDTOUCH_PERMS_H diff --git a/www/firefox52/patches/patch-media_libtheora_lib_arm_armcpu.c b/www/firefox52/patches/patch-media_libtheora_lib_arm_armcpu.c new file mode 100644 index 00000000000..6d4c1f9d413 --- /dev/null +++ b/www/firefox52/patches/patch-media_libtheora_lib_arm_armcpu.c @@ -0,0 +1,25 @@ +$NetBSD: patch-media_libtheora_lib_arm_armcpu.c,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* NetBSD/evbearmv7hf-el's /proc/cpuinfo return empty, use hardcoded flags. + +--- media/libtheora/lib/arm/armcpu.c.orig 2014-11-13 22:50:10.000000000 +0000 ++++ media/libtheora/lib/arm/armcpu.c +@@ -107,6 +107,18 @@ ogg_uint32_t oc_cpu_flags_get(void){ + return flags; + } + ++#elif defined(__NetBSD__) ++ogg_uint32_t oc_cpu_flags_get(void){ ++ ogg_uint32_t flags; ++ /* XXX ryoon: I have no idea about ARM CPU extensions detection mechanism ++ under NetBSD/earm. ++ evbearmv6hf-el machine, Raspberry Pi does not have NEON. ++ evbearmv7hf-el machine, CubieBoard2 does not have EDSP. ++ I have no idea about MEDIA. ++ So I will disable all options. */ ++ flags=0; ++ return flags; ++} + #else + /*The feature registers which can tell us what the processor supports are + accessible in priveleged modes only, so we can't have a general user-space diff --git a/www/firefox52/patches/patch-media_libtheora_moz.build b/www/firefox52/patches/patch-media_libtheora_moz.build new file mode 100644 index 00000000000..f8b98694551 --- /dev/null +++ b/www/firefox52/patches/patch-media_libtheora_moz.build @@ -0,0 +1,16 @@ +$NetBSD: patch-media_libtheora_moz.build,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Support system library + +--- media/libtheora/moz.build.orig 2016-07-25 20:22:04.000000000 +0000 ++++ media/libtheora/moz.build +@@ -21,6 +21,9 @@ FINAL_LIBRARY = 'gkmedias' + # The encoder is currently not included. + DEFINES['THEORA_DISABLE_ENCODE'] = True + ++if CONFIG['MOZ_SYSTEM_OGG']: ++ CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] ++ + # Suppress warnings in third-party code. + if CONFIG['GNU_CC'] or CONFIG['CLANG_CL']: + CFLAGS += ['-Wno-type-limits'] diff --git a/www/firefox52/patches/patch-media_libtremor_moz.build b/www/firefox52/patches/patch-media_libtremor_moz.build new file mode 100644 index 00000000000..3230fb2e8ba --- /dev/null +++ b/www/firefox52/patches/patch-media_libtremor_moz.build @@ -0,0 +1,12 @@ +$NetBSD: patch-media_libtremor_moz.build,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Support system library + +--- media/libtremor/moz.build.orig 2016-05-12 17:13:17.000000000 +0000 ++++ media/libtremor/moz.build +@@ -9,3 +9,5 @@ with Files('*'): + + DIRS += ['include/tremor', 'lib'] + ++if CONFIG['MOZ_SYSTEM_OGG']: ++ CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] diff --git a/www/firefox52/patches/patch-media_libvorbis_moz.build b/www/firefox52/patches/patch-media_libvorbis_moz.build new file mode 100644 index 00000000000..a96127237de --- /dev/null +++ b/www/firefox52/patches/patch-media_libvorbis_moz.build @@ -0,0 +1,13 @@ +$NetBSD: patch-media_libvorbis_moz.build,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Support system library + +--- media/libvorbis/moz.build.orig 2016-05-12 17:13:17.000000000 +0000 ++++ media/libvorbis/moz.build +@@ -56,3 +56,6 @@ FINAL_LIBRARY = 'gkmedias' + # Suppress warnings in third-party code. + if CONFIG['GNU_CC']: + CFLAGS += ['-Wno-uninitialized'] ++ ++if CONFIG['MOZ_SYSTEM_OGG']: ++ CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] diff --git a/www/firefox52/patches/patch-media_libyuv_source_mjpeg__decoder.cc b/www/firefox52/patches/patch-media_libyuv_source_mjpeg__decoder.cc new file mode 100644 index 00000000000..cc543e20a33 --- /dev/null +++ b/www/firefox52/patches/patch-media_libyuv_source_mjpeg__decoder.cc @@ -0,0 +1,12 @@ +$NetBSD: patch-media_libyuv_source_mjpeg__decoder.cc,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- media/libyuv/source/mjpeg_decoder.cc.orig 2016-10-31 20:15:24.000000000 +0000 ++++ media/libyuv/source/mjpeg_decoder.cc +@@ -25,7 +25,6 @@ + #endif + + #endif +-struct FILE; // For jpeglib.h. + + // C++ build requires extern C for jpeg internals. + #ifdef __cplusplus diff --git a/www/firefox52/patches/patch-media_openmax__dl_dl_api_armCOMM__s.h b/www/firefox52/patches/patch-media_openmax__dl_dl_api_armCOMM__s.h new file mode 100644 index 00000000000..61b852e20db --- /dev/null +++ b/www/firefox52/patches/patch-media_openmax__dl_dl_api_armCOMM__s.h @@ -0,0 +1,39 @@ +$NetBSD: patch-media_openmax__dl_dl_api_armCOMM__s.h,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Support NetBSD/earm + +--- media/openmax_dl/dl/api/armCOMM_s.h.orig 2015-09-29 21:44:56.000000000 +0000 ++++ media/openmax_dl/dl/api/armCOMM_s.h +@@ -11,6 +11,12 @@ + @// This file was originally licensed as follows. It has been + @// relicensed with permission from the copyright holders. + @// ++ ++#if defined(__ARM_EABI__) && !defined(__ARM_DWARF_EH__) ++#define UNWIND ++#else ++#define UNWIND @ ++#endif + + @// + @// File Name: armCOMM_s.h +@@ -175,7 +181,8 @@ + .object_arch armv4 + .align 2 + \name : +-.fnstart ++ .cfi_startproc ++ UNWIND .fnstart + @ Save specified R registers + _M_GETRREGLIST \rreg + _M_PUSH_RREG +@@ -202,7 +209,8 @@ + .endif + @ Restore any saved R or D registers. + _M_RET +- .fnend ++ UNWIND .fnend ++ .cfi_endproc + .endfunc + @ Reset the global stack tracking variables back to their + @ initial values. diff --git a/www/firefox52/patches/patch-media_webrtc_signaling_test_common.build b/www/firefox52/patches/patch-media_webrtc_signaling_test_common.build new file mode 100644 index 00000000000..b77351aa2f9 --- /dev/null +++ b/www/firefox52/patches/patch-media_webrtc_signaling_test_common.build @@ -0,0 +1,19 @@ +$NetBSD: patch-media_webrtc_signaling_test_common.build,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- media/webrtc/signaling/test/common.build.orig 2016-09-19 16:19:28.000000000 +0000 ++++ media/webrtc/signaling/test/common.build +@@ -96,11 +96,12 @@ if CONFIG['JS_SHARED_LIBRARY']: + + USE_LIBS += ['mozglue'] + ++OS_LIBS += CONFIG['MOZ_LIBV4L2_LIBS'] + OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS'] + OS_LIBS += CONFIG['REALTIME_LIBS'] + +-if CONFIG['MOZ_ALSA']: +- OS_LIBS += CONFIG['MOZ_ALSA_LIBS'] ++if CONFIG['MOZ_OSS']: ++ OS_LIBS += CONFIG['MOZ_OSS_LIBS'] + + if CONFIG['MOZ_SYSTEM_JPEG']: + OS_LIBS += CONFIG['MOZ_JPEG_LIBS'] diff --git a/www/firefox52/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc b/www/firefox52/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc new file mode 100644 index 00000000000..5aad4f564ed --- /dev/null +++ b/www/firefox52/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc @@ -0,0 +1,42 @@ +$NetBSD: patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc.orig 2017-01-23 16:13:55.000000000 +0000 ++++ media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc +@@ -25,6 +25,9 @@ + #else + #include + #endif ++#ifdef HAVE_LIBV4L2 ++#include ++#endif + + #include "webrtc/system_wrappers/interface/ref_count.h" + #include "webrtc/system_wrappers/interface/trace.h" +@@ -34,6 +37,15 @@ + #define BUF_LEN ( 1024 * ( EVENT_SIZE + 16 ) ) + #endif + ++#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 +@@ -274,6 +286,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/firefox52/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc b/www/firefox52/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc new file mode 100644 index 00000000000..2806882f08b --- /dev/null +++ b/www/firefox52/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 2017/04/27 01:55:57 ryoon Exp $ + +--- media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc.orig 2016-05-12 17:13:21.000000000 +0000 ++++ media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc +@@ -25,6 +25,9 @@ + #else + #include + #endif ++#ifdef HAVE_LIBV4L2 ++#include ++#endif + + #include + +@@ -33,6 +36,15 @@ + #include "webrtc/system_wrappers/interface/ref_count.h" + #include "webrtc/system_wrappers/interface/trace.h" + ++#ifdef HAVE_LIBV4L2 ++#define open v4l2_open ++#define close v4l2_close ++#define dup v4l2_dup ++#define ioctl v4l2_ioctl ++#define mmap v4l2_mmap ++#define munmap v4l2_munmap ++#endif ++ + namespace webrtc + { + namespace videocapturemodule diff --git a/www/firefox52/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi b/www/firefox52/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi new file mode 100644 index 00000000000..999fe2d02a0 --- /dev/null +++ b/www/firefox52/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi @@ -0,0 +1,34 @@ +$NetBSD: patch-media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi.orig 2016-09-05 20:12:57.000000000 +0000 ++++ media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi +@@ -7,6 +7,9 @@ + # be found in the AUTHORS file in the root of the source tree. + + { ++ 'variables': { ++ 'use_libv4l2%': 0, ++ }, + 'targets': [ + { + # Note this library is missing an implementation for the video capture. +@@ -75,6 +78,19 @@ + 'linux/video_capture_linux.cc', + 'linux/video_capture_linux.h', + ], ++ 'conditions': [ ++ ['use_libv4l2==1', { ++ 'defines': [ ++ 'HAVE_LIBV4L2', ++ ], ++ 'cflags_mozilla': [ ++ '$(MOZ_LIBV4L2_CFLAGS)', ++ ], ++ 'libraries': [ ++ '-lv4l2', ++ ], ++ }], ++ ], + }], # linux + ['OS=="mac"', { + 'sources': [ diff --git a/www/firefox52/patches/patch-memory_mozalloc_mozalloc__abort.cpp b/www/firefox52/patches/patch-memory_mozalloc_mozalloc__abort.cpp new file mode 100644 index 00000000000..0aa9f1df778 --- /dev/null +++ b/www/firefox52/patches/patch-memory_mozalloc_mozalloc__abort.cpp @@ -0,0 +1,18 @@ +$NetBSD: patch-memory_mozalloc_mozalloc__abort.cpp,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Support Solaris + +--- memory/mozalloc/mozalloc_abort.cpp.orig 2015-08-24 21:53:14.000000000 +0000 ++++ memory/mozalloc/mozalloc_abort.cpp +@@ -68,7 +68,11 @@ void fillAbortMessage(char (&msg)[N], ui + // + // That segmentation fault will be interpreted as another bug by ASan and as a + // result, ASan will just exit(1) instead of aborting. ++#if defined(SOLARIS) ++void std::abort(void) ++#else + void abort(void) ++#endif + { + #ifdef MOZ_WIDGET_ANDROID + char msg[64] = {}; diff --git a/www/firefox52/patches/patch-mfbt_Poison.cpp b/www/firefox52/patches/patch-mfbt_Poison.cpp new file mode 100644 index 00000000000..e4db114bc6a --- /dev/null +++ b/www/firefox52/patches/patch-mfbt_Poison.cpp @@ -0,0 +1,20 @@ +$NetBSD: patch-mfbt_Poison.cpp,v 1.1 2017/04/27 01:55:57 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 2014-11-13 22:50:12.000000000 +0000 ++++ mfbt/Poison.cpp +@@ -129,7 +129,11 @@ ReleaseRegion(void* aRegion, uintptr_t a + static bool + ProbeRegion(uintptr_t aRegion, uintptr_t aSize) + { ++#if !defined(__sun__) + if (madvise(reinterpret_cast(aRegion), aSize, MADV_NORMAL)) { ++#else ++ if (posix_madvise(reinterpret_cast(aRegion), aSize, MADV_NORMAL)) { ++#endif + return true; + } else { + return false; diff --git a/www/firefox52/patches/patch-mobile_android_installer_Makefile.in b/www/firefox52/patches/patch-mobile_android_installer_Makefile.in new file mode 100644 index 00000000000..765cb7b56e2 --- /dev/null +++ b/www/firefox52/patches/patch-mobile_android_installer_Makefile.in @@ -0,0 +1,15 @@ +$NetBSD: patch-mobile_android_installer_Makefile.in,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- mobile/android/installer/Makefile.in.orig 2016-07-25 20:22:05.000000000 +0000 ++++ mobile/android/installer/Makefile.in +@@ -69,6 +69,10 @@ BINPATH = bin + endif + DEFINES += -DBINPATH=$(BINPATH) + ++ifdef MOZ_DEBUG ++DEFINES += -DMOZ_DEBUG=1 ++endif ++ + ifdef ENABLE_MARIONETTE + DEFINES += -DENABLE_MARIONETTE=1 + endif diff --git a/www/firefox52/patches/patch-modules_libjar_nsZipArchive.cpp b/www/firefox52/patches/patch-modules_libjar_nsZipArchive.cpp new file mode 100644 index 00000000000..989f21c8757 --- /dev/null +++ b/www/firefox52/patches/patch-modules_libjar_nsZipArchive.cpp @@ -0,0 +1,17 @@ +$NetBSD: patch-modules_libjar_nsZipArchive.cpp,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Support Solaris + +--- 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(startp), readaheadLength, POSIX_MADV_WILLNEED); ++#elif defined(XP_UNIX) + madvise(const_cast(startp), readaheadLength, MADV_WILLNEED); + #elif defined(XP_WIN) + if (aFd) { diff --git a/www/firefox52/patches/patch-mozglue_build_arm.cpp b/www/firefox52/patches/patch-mozglue_build_arm.cpp new file mode 100644 index 00000000000..1649bda13fa --- /dev/null +++ b/www/firefox52/patches/patch-mozglue_build_arm.cpp @@ -0,0 +1,59 @@ +$NetBSD: patch-mozglue_build_arm.cpp,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Support NetBSD/earm + +--- mozglue/build/arm.cpp.orig 2016-08-01 16:14:43.000000000 +0000 ++++ mozglue/build/arm.cpp +@@ -13,10 +13,13 @@ + // we don't compile one of these detection methods. The detection code here is + // based on the CPU detection in libtheora. + +-# if defined(__linux__) || defined(ANDROID) ++# if defined(__linux__) || defined(ANDROID) || defined(__NetBSD__) + # include + # include + # include ++# if defined(__NetBSD__) ++# include ++# endif + + enum{ + MOZILLA_HAS_EDSP_FLAG=1, +@@ -25,6 +28,29 @@ enum{ + MOZILLA_HAS_NEON_FLAG=8 + }; + ++# if defined(__NetBSD__) ++static unsigned ++get_arm_cpu_flags(void) ++{ ++ unsigned flags = 0; ++ size_t len; ++ int flag; ++ ++ len = sizeof(flag); ++ if (sysctlbyname("machdep.simdex_present", &flag, &len, NULL, 0) == 0 && flag) { ++ flags |= MOZILLA_HAS_ARMV6_FLAG; ++ flags |= MOZILLA_HAS_EDSP_FLAG; ++ } ++ ++ len = sizeof(flag); ++ if (sysctlbyname("machdep.neon_present", &flag, &len, NULL, 0) == 0 && flag) { ++ flags |= MOZILLA_HAS_ARMV7_FLAG; ++ flags |= MOZILLA_HAS_NEON_FLAG; ++ } ++ ++ return flags; ++} ++# else + static unsigned + get_arm_cpu_flags(void) + { +@@ -89,6 +115,7 @@ get_arm_cpu_flags(void) + } + return flags; + } ++# endif + + // Cache a local copy so we only have to read /proc/cpuinfo once. + static unsigned arm_cpu_flags = get_arm_cpu_flags(); diff --git a/www/firefox52/patches/patch-mozglue_build_arm.h b/www/firefox52/patches/patch-mozglue_build_arm.h new file mode 100644 index 00000000000..f5424ae53f0 --- /dev/null +++ b/www/firefox52/patches/patch-mozglue_build_arm.h @@ -0,0 +1,15 @@ +$NetBSD: patch-mozglue_build_arm.h,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Support NetBSD/earm + +--- mozglue/build/arm.h.orig 2015-09-29 21:45:02.000000000 +0000 ++++ mozglue/build/arm.h +@@ -76,7 +76,7 @@ + # endif + + // Currently we only have CPU detection for Linux via /proc/cpuinfo +-# if defined(__linux__) || defined(ANDROID) ++# if defined(__linux__) || defined(ANDROID) || defined(__NetBSD__) + # define MOZILLA_ARM_HAVE_CPUID_DETECTION 1 + # endif + diff --git a/www/firefox52/patches/patch-netwerk_dns_moz.build b/www/firefox52/patches/patch-netwerk_dns_moz.build new file mode 100644 index 00000000000..563f6de147e --- /dev/null +++ b/www/firefox52/patches/patch-netwerk_dns_moz.build @@ -0,0 +1,14 @@ +$NetBSD: patch-netwerk_dns_moz.build,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- netwerk/dns/moz.build.orig 2016-10-31 20:15:27.000000000 +0000 ++++ netwerk/dns/moz.build +@@ -66,6 +66,9 @@ LOCAL_INCLUDES += [ + '/netwerk/base', + ] + ++if CONFIG['MOZ_SYSTEM_HARFBUZZ']: ++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] ++ + if CONFIG['ENABLE_INTL_API']: + DEFINES['IDNA2008'] = True + USE_LIBS += ['icu'] diff --git a/www/firefox52/patches/patch-rc b/www/firefox52/patches/patch-rc new file mode 100644 index 00000000000..b7d77db8f6e --- /dev/null +++ b/www/firefox52/patches/patch-rc @@ -0,0 +1,18 @@ +$NetBSD: patch-rc,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Fix application name + +--- browser/branding/unofficial/locales/en-US/brand.dtd.orig 2015-08-24 21:53:06.000000000 +0000 ++++ browser/branding/unofficial/locales/en-US/brand.dtd +@@ -2,8 +2,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/. --> + +- +- +- ++ ++ ++ + + diff --git a/www/firefox52/patches/patch-toolkit_components_osfile_modules_osfile__unix__back.jsm b/www/firefox52/patches/patch-toolkit_components_osfile_modules_osfile__unix__back.jsm new file mode 100644 index 00000000000..90d418b71c5 --- /dev/null +++ b/www/firefox52/patches/patch-toolkit_components_osfile_modules_osfile__unix__back.jsm @@ -0,0 +1,15 @@ +$NetBSD: patch-toolkit_components_osfile_modules_osfile__unix__back.jsm,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- toolkit/components/osfile/modules/osfile_unix_back.jsm.orig 2016-07-25 20:22:06.000000000 +0000 ++++ toolkit/components/osfile/modules/osfile_unix_back.jsm +@@ -228,8 +228,8 @@ + let statvfs = new SharedAll.HollowStructure("statvfs", + Const.OSFILE_SIZEOF_STATVFS); + +- statvfs.add_field_at(Const.OSFILE_OFFSETOF_STATVFS_F_BSIZE, +- "f_bsize", Type.unsigned_long.implementation); ++ statvfs.add_field_at(Const.OSFILE_OFFSETOF_STATVFS_F_FRSIZE, ++ "f_frsize", Type.unsigned_long.implementation); + statvfs.add_field_at(Const.OSFILE_OFFSETOF_STATVFS_F_BAVAIL, + "f_bavail", Type.fsblkcnt_t.implementation); + diff --git a/www/firefox52/patches/patch-toolkit_components_osfile_modules_osfile__unix__front.jsm b/www/firefox52/patches/patch-toolkit_components_osfile_modules_osfile__unix__front.jsm new file mode 100644 index 00000000000..cc49925fe9d --- /dev/null +++ b/www/firefox52/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 2017/04/27 01:55:57 ryoon Exp $ + +--- toolkit/components/osfile/modules/osfile_unix_front.jsm.orig 2016-05-12 17:13:27.000000000 +0000 ++++ toolkit/components/osfile/modules/osfile_unix_front.jsm +@@ -399,7 +399,7 @@ + throw_on_negative("statvfs", (UnixFile.statvfs || UnixFile.statfs)(sourcePath, fileSystemInfoPtr)); + + let bytes = new Type.uint64_t.implementation( +- fileSystemInfo.f_bsize * fileSystemInfo.f_bavail); ++ fileSystemInfo.f_frsize * fileSystemInfo.f_bavail); + + return bytes.value; + }; diff --git a/www/firefox52/patches/patch-toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h b/www/firefox52/patches/patch-toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h new file mode 100644 index 00000000000..c124ca7780b --- /dev/null +++ b/www/firefox52/patches/patch-toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h @@ -0,0 +1,24 @@ +$NetBSD: patch-toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- toolkit/components/protobuf/src/google/protobuf/stubs/atomicops.h.orig 2016-07-25 20:22:06.000000000 +0000 ++++ toolkit/components/protobuf/src/google/protobuf/stubs/atomicops.h +@@ -76,6 +76,11 @@ typedef intptr_t Atomic64; + #endif + #endif + ++#if defined(__NetBSD__) && defined(__arm__) ++// NetBSD/arm uses long for intptr_t, which fails -fpermissive checks. So ++// explicitly use int32 here instead. ++typedef int32 AtomicWord; ++#else + // Use AtomicWord for a machine-sized pointer. It will use the Atomic32 or + // Atomic64 routines below, depending on your architecture. + #if defined(__OpenBSD__) && !defined(GOOGLE_PROTOBUF_ARCH_64_BIT) +@@ -83,6 +88,7 @@ typedef Atomic32 AtomicWord; + #else + typedef intptr_t AtomicWord; + #endif ++#endif + + // Atomically execute: + // result = *ptr; diff --git a/www/firefox52/patches/patch-toolkit_components_protobuf_src_google_protobuf_stubs_platform__macros.h b/www/firefox52/patches/patch-toolkit_components_protobuf_src_google_protobuf_stubs_platform__macros.h new file mode 100644 index 00000000000..7a91af25f2a --- /dev/null +++ b/www/firefox52/patches/patch-toolkit_components_protobuf_src_google_protobuf_stubs_platform__macros.h @@ -0,0 +1,15 @@ +$NetBSD: patch-toolkit_components_protobuf_src_google_protobuf_stubs_platform__macros.h,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Support Solaris + +--- toolkit/components/protobuf/src/google/protobuf/stubs/platform_macros.h.orig 2015-09-11 00:23:02.000000000 +0000 ++++ toolkit/components/protobuf/src/google/protobuf/stubs/platform_macros.h +@@ -67,7 +67,7 @@ + #define GOOGLE_PROTOBUF_ARCH_32_BIT 1 + #elif defined(sparc) + #define GOOGLE_PROTOBUF_ARCH_SPARC 1 +-#ifdef SOLARIS_64BIT_ENABLED ++#if (defined(sun) && defined(SOLARIS_64BIT_ENABLED)) || __LP64__ + #define GOOGLE_PROTOBUF_ARCH_64_BIT 1 + #else + #define GOOGLE_PROTOBUF_ARCH_32_BIT 1 diff --git a/www/firefox52/patches/patch-toolkit_components_terminator_nsTerminator.cpp b/www/firefox52/patches/patch-toolkit_components_terminator_nsTerminator.cpp new file mode 100644 index 00000000000..c47e803826e --- /dev/null +++ b/www/firefox52/patches/patch-toolkit_components_terminator_nsTerminator.cpp @@ -0,0 +1,27 @@ +$NetBSD: patch-toolkit_components_terminator_nsTerminator.cpp,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Fix segfault on exit under NetBSD + +--- toolkit/components/terminator/nsTerminator.cpp.orig 2016-06-15 21:54:53.514370128 +0000 ++++ toolkit/components/terminator/nsTerminator.cpp +@@ -36,7 +36,7 @@ + #if defined(XP_WIN) + #include + #else +-#include ++#include + #endif + + #include "mozilla/ArrayUtils.h" +@@ -147,7 +147,10 @@ RunWatchdog(void* arg) + #if defined(XP_WIN) + Sleep(1000 /* ms */); + #else +- usleep(1000000 /* usec */); ++ struct timespec tickd; ++ tickd.tv_sec = 1; ++ tickd.tv_nsec = 0; ++ nanosleep(&tickd, NULL); + #endif + + if (gHeartbeat++ < timeToLive) { diff --git a/www/firefox52/patches/patch-toolkit_library_moz.build b/www/firefox52/patches/patch-toolkit_library_moz.build new file mode 100644 index 00000000000..c3bcc7c355a --- /dev/null +++ b/www/firefox52/patches/patch-toolkit_library_moz.build @@ -0,0 +1,57 @@ +$NetBSD: patch-toolkit_library_moz.build,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Support system libraries +* Restore OSS support + +--- toolkit/library/moz.build.orig 2017-02-11 00:39:16.000000000 +0000 ++++ toolkit/library/moz.build +@@ -215,6 +215,7 @@ if CONFIG['OS_ARCH'] == 'Linux' and CONF + ] + + OS_LIBS += CONFIG['MOZ_CAIRO_OSLIBS'] ++OS_LIBS += CONFIG['MOZ_LIBV4L2_LIBS'] + OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS'] + + if CONFIG['SERVO_TARGET_DIR']: +@@ -229,9 +230,30 @@ if CONFIG['MOZ_SYSTEM_JPEG']: + if CONFIG['MOZ_SYSTEM_PNG']: + OS_LIBS += CONFIG['MOZ_PNG_LIBS'] + ++if CONFIG['MOZ_SYSTEM_GRAPHITE2']: ++ OS_LIBS += CONFIG['MOZ_GRAPHITE2_LIBS'] ++ ++if CONFIG['MOZ_SYSTEM_HARFBUZZ']: ++ OS_LIBS += CONFIG['MOZ_HARFBUZZ_LIBS'] ++ + if CONFIG['MOZ_SYSTEM_HUNSPELL']: + OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS'] + ++if CONFIG['MOZ_SYSTEM_OGG']: ++ OS_LIBS += CONFIG['MOZ_OGG_LIBS'] ++ ++if CONFIG['MOZ_SYSTEM_THEORA']: ++ OS_LIBS += CONFIG['MOZ_THEORA_LIBS'] ++ ++if CONFIG['MOZ_SYSTEM_VORBIS']: ++ OS_LIBS += CONFIG['MOZ_VORBIS_LIBS'] ++ ++if CONFIG['MOZ_SYSTEM_TREMOR']: ++ OS_LIBS += CONFIG['MOZ_TREMOR_LIBS'] ++ ++if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']: ++ OS_LIBS += CONFIG['MOZ_SOUNDTOUCH_LIBS'] ++ + if CONFIG['MOZ_SYSTEM_LIBEVENT']: + OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS'] + +@@ -241,8 +263,8 @@ if CONFIG['MOZ_SYSTEM_LIBVPX']: + if not CONFIG['MOZ_TREE_PIXMAN']: + OS_LIBS += CONFIG['MOZ_PIXMAN_LIBS'] + +-if CONFIG['MOZ_ALSA']: +- OS_LIBS += CONFIG['MOZ_ALSA_LIBS'] ++if CONFIG['MOZ_OSS']: ++ OS_LIBS += CONFIG['MOZ_OSS_LIBS'] + + if CONFIG['HAVE_CLOCK_MONOTONIC']: + OS_LIBS += CONFIG['REALTIME_LIBS'] diff --git a/www/firefox52/patches/patch-toolkit_modules_GMPUtils.jsm b/www/firefox52/patches/patch-toolkit_modules_GMPUtils.jsm new file mode 100644 index 00000000000..873a8a01eee --- /dev/null +++ b/www/firefox52/patches/patch-toolkit_modules_GMPUtils.jsm @@ -0,0 +1,14 @@ +$NetBSD: patch-toolkit_modules_GMPUtils.jsm,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Enable Google widevine CDM for NetBSD + +--- toolkit/modules/GMPUtils.jsm.orig 2016-08-10 20:27:55.000000000 +0000 ++++ toolkit/modules/GMPUtils.jsm +@@ -92,6 +92,7 @@ this.GMPUtils = { + // Mac OSX, and Linux. + return AppConstants.isPlatformAndVersionAtLeast("win", "6") || + AppConstants.platform == "macosx" || ++ AppConstants.platform == "netbsd" || + AppConstants.platform == "linux"; + } + diff --git a/www/firefox52/patches/patch-toolkit_moz.configure b/www/firefox52/patches/patch-toolkit_moz.configure new file mode 100644 index 00000000000..21c75d52954 --- /dev/null +++ b/www/firefox52/patches/patch-toolkit_moz.configure @@ -0,0 +1,33 @@ +$NetBSD: patch-toolkit_moz.configure,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Enable widevide CDM for NetBSD + +--- toolkit/moz.configure.orig 2017-01-23 16:13:54.000000000 +0000 ++++ toolkit/moz.configure +@@ -338,6 +338,26 @@ add_old_configure_assignment('FT2_LIBS', + add_old_configure_assignment('FT2_CFLAGS', + delayed_getattr(ft2_info, 'cflags')) + ++# Graphite2 ++# ============================================================== ++option('--with-system-graphite2', ++ help="Use system graphite2 (located with pkgconfig)") ++ ++system_graphite2 = pkg_check_modules('MOZ_GRAPHITE2', 'graphite2', ++ when='--with-system-graphite2') ++ ++set_config('MOZ_SYSTEM_GRAPHITE2', depends_if(system_graphite2)(lambda _: True)) ++ ++# HarfBuzz ++# ============================================================== ++option('--with-system-harfbuzz', ++ help="Use system harfbuzz (located with pkgconfig)") ++ ++system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.4.1', ++ when='--with-system-harfbuzz') ++ ++set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True)) ++ + # Apple platform decoder support + # ============================================================== + @depends(toolkit) diff --git a/www/firefox52/patches/patch-toolkit_mozapps_extensions_test_browser_browser__gmpProvider.js b/www/firefox52/patches/patch-toolkit_mozapps_extensions_test_browser_browser__gmpProvider.js new file mode 100644 index 00000000000..124e9ea3145 --- /dev/null +++ b/www/firefox52/patches/patch-toolkit_mozapps_extensions_test_browser_browser__gmpProvider.js @@ -0,0 +1,14 @@ +$NetBSD: patch-toolkit_mozapps_extensions_test_browser_browser__gmpProvider.js,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Enable Google widevine CDM for NetBSD + +--- toolkit/mozapps/extensions/test/browser/browser_gmpProvider.js.orig 2016-08-10 04:19:24.000000000 +0000 ++++ toolkit/mozapps/extensions/test/browser/browser_gmpProvider.js +@@ -390,6 +390,7 @@ add_task(function* testEmeSupport() { + } else if (addon.id == GMPScope.WIDEVINE_ID) { + if (AppConstants.isPlatformAndVersionAtLeast("win", "6") || + AppConstants.platform == "macosx" || ++ AppConstants.platform == "netbsd" || + AppConstants.platform == "linux") { + Assert.ok(item, "Widevine supported, found add-on element."); + } else { diff --git a/www/firefox52/patches/patch-toolkit_xre_glxtest.cpp b/www/firefox52/patches/patch-toolkit_xre_glxtest.cpp new file mode 100644 index 00000000000..808008d7a19 --- /dev/null +++ b/www/firefox52/patches/patch-toolkit_xre_glxtest.cpp @@ -0,0 +1,16 @@ +$NetBSD: patch-toolkit_xre_glxtest.cpp,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +Fix libGL filename on NetBSD, +see https://bugzilla.mozilla.org/show_bug.cgi?id=1180498 + +--- toolkit/xre/glxtest.cpp.orig 2015-07-04 20:26:15.000000000 +0200 ++++ toolkit/xre/glxtest.cpp 2015-07-04 20:26:15.000000000 +0200 +@@ -124,7 +124,7 @@ void glxtest() + fatal_error("The MOZ_AVOID_OPENGL_ALTOGETHER environment variable is defined"); + + ///// Open libGL and load needed symbols ///// +-#ifdef __OpenBSD__ ++#if defined(__OpenBSD__) || defined(__NetBSD__) + #define LIBGL_FILENAME "libGL.so" + #else + #define LIBGL_FILENAME "libGL.so.1" diff --git a/www/firefox52/patches/patch-toolkit_xre_nsEmbedFunctions.cpp b/www/firefox52/patches/patch-toolkit_xre_nsEmbedFunctions.cpp new file mode 100644 index 00000000000..e53a0a885cd --- /dev/null +++ b/www/firefox52/patches/patch-toolkit_xre_nsEmbedFunctions.cpp @@ -0,0 +1,24 @@ +$NetBSD: patch-toolkit_xre_nsEmbedFunctions.cpp,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Support Solaris + +--- 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/firefox52/patches/patch-xpcom_base_nscore.h b/www/firefox52/patches/patch-xpcom_base_nscore.h new file mode 100644 index 00000000000..3b1197e6880 --- /dev/null +++ b/www/firefox52/patches/patch-xpcom_base_nscore.h @@ -0,0 +1,15 @@ +$NetBSD: patch-xpcom_base_nscore.h,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Support llvm/clang + +--- 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/firefox52/patches/patch-xpcom_build_XPCOMInit.cpp b/www/firefox52/patches/patch-xpcom_build_XPCOMInit.cpp new file mode 100644 index 00000000000..a20bff5a05d --- /dev/null +++ b/www/firefox52/patches/patch-xpcom_build_XPCOMInit.cpp @@ -0,0 +1,28 @@ +$NetBSD: patch-xpcom_build_XPCOMInit.cpp,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- xpcom/build/XPCOMInit.cpp.orig 2016-10-31 20:15:39.000000000 +0000 ++++ xpcom/build/XPCOMInit.cpp +@@ -137,7 +137,9 @@ extern nsresult nsStringInputStreamConst + + #include "mozilla/ipc/GeckoChildProcessHost.h" + ++#ifndef MOZ_OGG_NO_MEM_REPORTING + #include "ogg/ogg.h" ++#endif + #if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING) + #if defined(HAVE_STDINT_H) + // mozilla-config.h defines HAVE_STDINT_H, and then it's defined *again* in +@@ -638,11 +640,13 @@ NS_InitXPCOM2(nsIServiceManager** aResul + // this oddness. + mozilla::SetICUMemoryFunctions(); + ++#ifndef MOZ_OGG_NO_MEM_REPORTING + // Do the same for libogg. + ogg_set_mem_functions(OggReporter::CountingMalloc, + OggReporter::CountingCalloc, + OggReporter::CountingRealloc, + OggReporter::CountingFree); ++#endif + + #if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING) + // And for VPX. diff --git a/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_Makefile.in b/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_Makefile.in new file mode 100644 index 00000000000..b789c99023c --- /dev/null +++ b/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_Makefile.in @@ -0,0 +1,50 @@ +$NetBSD: patch-xpcom_reflect_xptcall_md_unix_Makefile.in,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +* Support NetBSD/sparc64 + +--- xpcom/reflect/xptcall/md/unix/Makefile.in.orig 2015-08-24 21:53:22.000000000 +0000 ++++ xpcom/reflect/xptcall/md/unix/Makefile.in +@@ -42,6 +42,43 @@ ifeq ($(OS_ARCH),AIX) + CXXFLAGS := $(filter-out $(MOZ_OPTIMIZE_FLAGS), $(CXXFLAGS)) + 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 ++ + include $(topsrcdir)/config/rules.mk + + ifeq ($(OS_ARCH),Linux) diff --git a/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__arm__netbsd.cpp b/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__arm__netbsd.cpp new file mode 100644 index 00000000000..09084c49179 --- /dev/null +++ b/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__arm__netbsd.cpp @@ -0,0 +1,527 @@ +$NetBSD: patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__arm__netbsd.cpp,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- xpcom/reflect/xptcall/md/unix/xptcinvoke_arm_netbsd.cpp.orig 2014-11-13 22:50:21.000000000 +0000 ++++ xpcom/reflect/xptcall/md/unix/xptcinvoke_arm_netbsd.cpp +@@ -7,82 +7,92 @@ + + #include "xptcprivate.h" + +-// Remember that these 'words' are 32bit DWORDS ++#include "mozilla/Compiler.h" + +-static uint32_t +-invoke_count_words(uint32_t paramCount, nsXPTCVariant* s) ++#ifndef __ARM_PCS_VFP ++ ++/* This function copies a 64-bits word from dw to the given pointer in ++ * a buffer delimited by start and end, possibly wrapping around the ++ * buffer boundaries, and/or properly aligning the data at 64-bits word ++ * boundaries (for EABI). ++ * start and end are both assumed to be 64-bits aligned. ++ * Returns a pointer to the second 32-bits word copied (to accomodate ++ * the invoke_copy_to_stack loop). ++ */ ++static uint32_t * ++copy_double_word(uint32_t *start, uint32_t *current, uint32_t *end, uint64_t *dw) + { +- uint32_t result = 0; +- for(uint32_t i = 0; i < paramCount; i++, s++) +- { +- if(s->IsPtrData()) +- { +- result++; +- continue; +- } +- switch(s->type) +- { +- case nsXPTType::T_I8 : +- case nsXPTType::T_I16 : +- case nsXPTType::T_I32 : +- result++; +- break; +- case nsXPTType::T_I64 : +- result+=2; +- break; +- case nsXPTType::T_U8 : +- case nsXPTType::T_U16 : +- case nsXPTType::T_U32 : +- result++; +- break; +- case nsXPTType::T_U64 : +- result+=2; +- break; +- case nsXPTType::T_FLOAT : +- result++; +- break; +- case nsXPTType::T_DOUBLE : +- result+=2; +- break; +- case nsXPTType::T_BOOL : +- case nsXPTType::T_CHAR : +- case nsXPTType::T_WCHAR : +- result++; +- break; +- default: +- // all the others are plain pointer types +- result++; +- break; +- } ++#ifdef __ARM_EABI__ ++ /* Aligning the pointer for EABI */ ++ current = (uint32_t *)(((uint32_t)current + 7) & ~7); ++ /* Wrap when reaching the end of the buffer */ ++ if (current == end) current = start; ++#else ++ /* On non-EABI, 64-bits values are not aligned and when we reach the end ++ * of the buffer, we need to write half of the data at the end, and the ++ * other half at the beginning. */ ++ if (current == end - 1) { ++ *current = ((uint32_t*)dw)[0]; ++ *start = ((uint32_t*)dw)[1]; ++ return start; + } +- return result; ++#endif ++ ++ *((uint64_t*) current) = *dw; ++ return current + 1; + } + +-static void +-invoke_copy_to_stack(uint32_t* d, uint32_t paramCount, nsXPTCVariant* s) ++/* See stack_space comment in NS_InvokeByIndex to see why this needs not to ++ * be static on DEBUG builds. */ ++#ifndef DEBUG ++static ++#endif ++void ++invoke_copy_to_stack(uint32_t* stk, uint32_t *end, ++ uint32_t paramCount, nsXPTCVariant* s) + { ++ /* The stack buffer is 64-bits aligned. The end argument points to its end. ++ * The caller is assumed to create a stack buffer of at least four 32-bits ++ * words. ++ * We use the last three 32-bit words to store the values for r1, r2 and r3 ++ * for the method call, i.e. the first words for arguments passing. ++ */ ++ uint32_t *d = end - 3; + for(uint32_t i = 0; i < paramCount; i++, d++, s++) + { ++ /* Wrap when reaching the end of the stack buffer */ ++ if (d == end) d = stk; ++ NS_ASSERTION(d >= stk && d < end, ++ "invoke_copy_to_stack is copying outside its given buffer"); + if(s->IsPtrData()) + { + *((void**)d) = s->ptr; + continue; + } ++ // According to the ARM EABI, integral types that are smaller than a word ++ // are to be sign/zero-extended to a full word and treated as 4-byte values. ++ + switch(s->type) + { +- case nsXPTType::T_I8 : *((int8_t*) d) = s->val.i8; break; +- case nsXPTType::T_I16 : *((int16_t*) d) = s->val.i16; break; ++ case nsXPTType::T_I8 : *((int32_t*) d) = s->val.i8; break; ++ case nsXPTType::T_I16 : *((int32_t*) d) = s->val.i16; break; + case nsXPTType::T_I32 : *((int32_t*) d) = s->val.i32; break; +- case nsXPTType::T_I64 : *((int64_t*) d) = s->val.i64; d++; break; +- case nsXPTType::T_U8 : *((uint8_t*) d) = s->val.u8; break; +- case nsXPTType::T_U16 : *((uint16_t*)d) = s->val.u16; break; ++ case nsXPTType::T_I64 : ++ d = copy_double_word(stk, d, end, (uint64_t *)&s->val.i64); ++ break; ++ case nsXPTType::T_U8 : *((uint32_t*)d) = s->val.u8; break; ++ case nsXPTType::T_U16 : *((uint32_t*)d) = s->val.u16; break; + case nsXPTType::T_U32 : *((uint32_t*)d) = s->val.u32; break; +- case nsXPTType::T_U64 : *((uint64_t*)d) = s->val.u64; d++; break; ++ case nsXPTType::T_U64 : ++ d = copy_double_word(stk, d, end, (uint64_t *)&s->val.u64); ++ break; + case nsXPTType::T_FLOAT : *((float*) d) = s->val.f; break; +- case nsXPTType::T_DOUBLE : *((double*) d) = s->val.d; d++; break; +- case nsXPTType::T_BOOL : *((bool*) d) = s->val.b; break; +- case nsXPTType::T_CHAR : *((char*) d) = s->val.c; break; +- case nsXPTType::T_WCHAR : *((wchar_t*) d) = s->val.wc; break; ++ case nsXPTType::T_DOUBLE : ++ d = copy_double_word(stk, d, end, (uint64_t *)&s->val.d); ++ break; ++ case nsXPTType::T_BOOL : *((int32_t*) d) = s->val.b; break; ++ case nsXPTType::T_CHAR : *((int32_t*) d) = s->val.c; break; ++ case nsXPTType::T_WCHAR : *((int32_t*) d) = s->val.wc; break; + default: + // all the others are plain pointer types + *((void**)d) = s->val.p; +@@ -91,47 +101,27 @@ invoke_copy_to_stack(uint32_t* d, uint32 + } + } + +-extern "C" +-struct my_params_struct { +- nsISupports* that; +- uint32_t Index; +- uint32_t Count; +- nsXPTCVariant* params; +- uint32_t fn_count; +- uint32_t fn_copy; +-}; ++typedef nsresult (*vtable_func)(nsISupports *, uint32_t, uint32_t, uint32_t); + +-XPTC_PUBLIC_API(nsresult) +-XPTC_InvokeByIndex(nsISupports* that, uint32_t methodIndex, ++EXPORT_XPCOM_API(nsresult) ++NS_InvokeByIndex(nsISupports* that, uint32_t methodIndex, + uint32_t paramCount, nsXPTCVariant* params) + { +- uint32_t result; +- struct my_params_struct my_params; +- my_params.that = that; +- my_params.Index = methodIndex; +- my_params.Count = paramCount; +- my_params.params = params; +- my_params.fn_copy = (uint32_t) &invoke_copy_to_stack; +- my_params.fn_count = (uint32_t) &invoke_count_words; + + /* This is to call a given method of class that. + * The parameters are in params, the number is in paramCount. + * The routine will issue calls to count the number of words + * required for argument passing and to copy the arguments to + * the stack. +- * Since APCS passes the first 3 params in r1-r3, we need to +- * load the first three words from the stack and correct the stack +- * pointer (sp) in the appropriate way. This means: +- * +- * 1.) more than 3 arguments: load r1-r3, correct sp and remember No. +- * of bytes left on the stack in r4 +- * +- * 2.) <= 2 args: load r1-r3 (we won't be causing a stack overflow I hope), +- * restore sp as if nothing had happened and set the marker r4 to zero. +- * +- * Afterwards sp will be restored using the value in r4 (which is not a temporary register +- * and will be preserved by the function/method called according to APCS [ARM Procedure +- * Calling Standard]). ++ * ACPS passes the first 3 params in r1-r3 (with exceptions for 64-bits ++ * arguments), and the remaining goes onto the stack. ++ * We allocate a buffer on the stack for a "worst case" estimate of how much ++ * stack might be needed for EABI, i.e. twice the number of parameters. ++ * The end of this buffer will be used to store r1 to r3, so that the start ++ * of the stack is the remaining parameters. ++ * The magic here is to call the method with "that" and three 32-bits ++ * arguments corresponding to r1-r3, so that the compiler generates the ++ * proper function call. The stack will also contain the remaining arguments. + * + * !!! IMPORTANT !!! + * This routine makes assumptions about the vtable layout of the c++ compiler. It's implemented +@@ -139,43 +129,272 @@ XPTC_InvokeByIndex(nsISupports* that, ui + * + */ + +- __asm__ __volatile__( +- "ldr r1, [%1, #12] \n\t" /* prepare to call invoke_count_words */ +- "ldr ip, [%1, #16] \n\t" /* r0=paramCount, r1=params */ +- "ldr r0, [%1, #8] \n\t" +- "mov lr, pc \n\t" /* call it... */ +- "mov pc, ip \n\t" +- "mov r4, r0, lsl #2 \n\t" /* This is the amount of bytes needed. */ +- "sub sp, sp, r4 \n\t" /* use stack space for the args... */ +- "mov r0, sp \n\t" /* prepare a pointer an the stack */ +- "ldr r1, [%1, #8] \n\t" /* =paramCount */ +- "ldr r2, [%1, #12] \n\t" /* =params */ +- "ldr ip, [%1, #20] \n\t" /* =invoke_copy_to_stack */ +- "mov lr, pc \n\t" /* copy args to the stack like the */ +- "mov pc, ip \n\t" /* compiler would. */ +- "ldr r0, [%1] \n\t" /* =that */ +- "ldr r1, [r0, #0] \n\t" /* get that->vtable offset */ +- "ldr r2, [%1, #4] \n\t" +- "add r2, r1, r2, lsl #3\n\t" /* a vtable_entry(x)=8 + (8 bytes * x) */ +- "add r2, r2, #8 \n\t" /* with this compilers */ +- "ldr r3, [r2] \n\t" /* get virtual offset from vtable */ +- "mov r3, r3, lsl #16 \n\t" +- "add r0, r0, r3, asr #16\n\t" +- "ldr ip, [r2, #4] \n\t" /* get method address from vtable */ +- "cmp r4, #12 \n\t" /* more than 3 arguments??? */ +- "ldmgtia sp!, {r1, r2, r3}\n\t" /* yes: load arguments for r1-r3 */ +- "subgt r4, r4, #12 \n\t" /* and correct the stack pointer */ +- "ldmleia sp, {r1, r2, r3}\n\t" /* no: load r1-r3 from stack */ +- "addle sp, sp, r4 \n\t" /* and restore stack pointer */ +- "movle r4, #0 \n\t" /* a mark for restoring sp */ +- "mov lr, pc \n\t" /* call mathod */ +- "mov pc, ip \n\t" +- "add sp, sp, r4 \n\t" /* restore stack pointer */ +- "mov %0, r0 \n\t" /* the result... */ +- : "=r" (result) +- : "r" (&my_params) +- : "r0", "r1", "r2", "r3", "r4", "ip", "lr" +- ); +- +- return result; ++ vtable_func *vtable, func; ++ int base_size = (paramCount > 1) ? paramCount : 2; ++ ++/* !!! IMPORTANT !!! ++ * On DEBUG builds, the NS_ASSERTION used in invoke_copy_to_stack needs to use ++ * the stack to pass the 5th argument to NS_DebugBreak. When invoke_copy_to_stack ++ * is inlined, this can result, depending on the compiler and flags, in the ++ * stack pointer not pointing at stack_space when the method is called at the ++ * end of this function. More generally, any function call requiring stack ++ * allocation of arguments is unsafe to be inlined in this function. ++ */ ++ uint32_t *stack_space = (uint32_t *) __builtin_alloca(base_size * 8); ++ ++ invoke_copy_to_stack(stack_space, &stack_space[base_size * 2], ++ paramCount, params); ++ ++ vtable = *reinterpret_cast(that); ++ func = vtable[methodIndex]; ++ ++ return func(that, stack_space[base_size * 2 - 3], ++ stack_space[base_size * 2 - 2], ++ stack_space[base_size * 2 - 1]); + } ++ ++#else /* __ARM_PCS_VFP */ ++ ++/* "Procedure Call Standard for the ARM Architecture" document, sections ++ * "5.5 Parameter Passing" and "6.1.2 Procedure Calling" contain all the ++ * needed information. ++ * ++ * http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042d/IHI0042D_aapcs.pdf ++ */ ++ ++#if defined(__thumb__) && !defined(__thumb2__) ++#error "Thumb1 is not supported" ++#endif ++ ++#ifndef __ARMEL__ ++#error "Only little endian compatibility was tested" ++#endif ++ ++/* ++ * Allocation of integer function arguments initially to registers r1-r3 ++ * and then to stack. Handling of 'this' argument which goes to r0 registers ++ * is handled separately and does not belong to these two inline functions. ++ * ++ * The doubleword arguments are allocated to even:odd ++ * register pairs or get aligned at 8-byte boundary on stack. The "holes" ++ * which may appear as a result of this realignment remain unused. ++ * ++ * 'ireg_args' - pointer to the current position in the buffer, ++ * corresponding to the register arguments ++ * 'stack_args' - pointer to the current position in the buffer, ++ * corresponding to the arguments on stack ++ * 'end' - pointer to the end of the registers argument ++ * buffer (it is guaranteed to be 8-bytes aligned) ++ */ ++ ++static inline void copy_word(uint32_t* &ireg_args, ++ uint32_t* &stack_args, ++ uint32_t* end, ++ uint32_t data) ++{ ++ if (ireg_args < end) { ++ *ireg_args = data; ++ ireg_args++; ++ } else { ++ *stack_args = data; ++ stack_args++; ++ } ++} ++ ++static inline void copy_dword(uint32_t* &ireg_args, ++ uint32_t* &stack_args, ++ uint32_t* end, ++ uint64_t data) ++{ ++ if (ireg_args + 1 < end) { ++ if ((uint32_t)ireg_args & 4) { ++ ireg_args++; ++ } ++ *(uint64_t *)ireg_args = data; ++ ireg_args += 2; ++ } else { ++ if ((uint32_t)stack_args & 4) { ++ stack_args++; ++ } ++ *(uint64_t *)stack_args = data; ++ stack_args += 2; ++ } ++} ++ ++/* ++ * Allocation of floating point arguments to VFP registers (s0-s15, d0-d7). ++ * ++ * Unlike integer registers allocation, "back-filling" needs to be ++ * supported. For example, the third floating point argument in the ++ * following function is going to be allocated to s1 register, back-filling ++ * the "hole": ++ * void f(float s0, double d1, float s1) ++ * ++ * Refer to the "Procedure Call Standard for the ARM Architecture" document ++ * for more details. ++ * ++ * 'vfp_s_args' - pointer to the current position in the buffer with ++ * the next unallocated single precision register ++ * 'vfp_d_args' - pointer to the current position in the buffer with ++ * the next unallocated double precision register, ++ * it has the same value as 'vfp_s_args' when back-filling ++ * is not used ++ * 'end' - pointer to the end of the vfp registers argument ++ * buffer (it is guaranteed to be 8-bytes aligned) ++ * ++ * Mozilla bugtracker has a test program attached which be used for ++ * experimenting with VFP registers allocation code and testing its ++ * correctness: ++ * https://bugzilla.mozilla.org/show_bug.cgi?id=601914#c19 ++ */ ++ ++static inline bool copy_vfp_single(float* &vfp_s_args, double* &vfp_d_args, ++ float* end, float data) ++{ ++ if (vfp_s_args >= end) ++ return false; ++ ++ *vfp_s_args = data; ++ vfp_s_args++; ++ if (vfp_s_args < (float *)vfp_d_args) { ++ // It was the case of back-filling, now the next free single precision ++ // register should overlap with the next free double precision register ++ vfp_s_args = (float *)vfp_d_args; ++ } else if (vfp_s_args > (float *)vfp_d_args) { ++ // also update the pointer to the next free double precision register ++ vfp_d_args++; ++ } ++ return true; ++} ++ ++static inline bool copy_vfp_double(float* &vfp_s_args, double* &vfp_d_args, ++ float* end, double data) ++{ ++ if (vfp_d_args >= (double *)end) { ++ // The back-filling continues only so long as no VFP CPRC has been ++ // allocated to a slot on the stack. Basically no VFP registers can ++ // be allocated after this point. ++ vfp_s_args = end; ++ return false; ++ } ++ ++ if (vfp_s_args == (float *)vfp_d_args) { ++ // also update the pointer to the next free single precision register ++ vfp_s_args += 2; ++ } ++ *vfp_d_args = data; ++ vfp_d_args++; ++ return true; ++} ++ ++static void ++invoke_copy_to_stack(uint32_t* stk, uint32_t *end, ++ uint32_t paramCount, nsXPTCVariant* s) ++{ ++ uint32_t *ireg_args = end - 3; ++ float *vfp_s_args = (float *)end; ++ double *vfp_d_args = (double *)end; ++ float *vfp_end = vfp_s_args + 16; ++ ++ for (uint32_t i = 0; i < paramCount; i++, s++) { ++ if (s->IsPtrData()) { ++ copy_word(ireg_args, stk, end, (uint32_t)s->ptr); ++ continue; ++ } ++ // According to the ARM EABI, integral types that are smaller than a word ++ // are to be sign/zero-extended to a full word and treated as 4-byte values ++ switch (s->type) ++ { ++ case nsXPTType::T_FLOAT: ++ if (!copy_vfp_single(vfp_s_args, vfp_d_args, vfp_end, s->val.f)) { ++ copy_word(end, stk, end, reinterpret_cast(s->val.f)); ++ } ++ break; ++ case nsXPTType::T_DOUBLE: ++ if (!copy_vfp_double(vfp_s_args, vfp_d_args, vfp_end, s->val.d)) { ++ copy_dword(end, stk, end, reinterpret_cast(s->val.d)); ++ } ++ break; ++ case nsXPTType::T_I8: copy_word(ireg_args, stk, end, s->val.i8); break; ++ case nsXPTType::T_I16: copy_word(ireg_args, stk, end, s->val.i16); break; ++ case nsXPTType::T_I32: copy_word(ireg_args, stk, end, s->val.i32); break; ++ case nsXPTType::T_I64: copy_dword(ireg_args, stk, end, s->val.i64); break; ++ case nsXPTType::T_U8: copy_word(ireg_args, stk, end, s->val.u8); break; ++ case nsXPTType::T_U16: copy_word(ireg_args, stk, end, s->val.u16); break; ++ case nsXPTType::T_U32: copy_word(ireg_args, stk, end, s->val.u32); break; ++ case nsXPTType::T_U64: copy_dword(ireg_args, stk, end, s->val.u64); break; ++ case nsXPTType::T_BOOL: copy_word(ireg_args, stk, end, s->val.b); break; ++ case nsXPTType::T_CHAR: copy_word(ireg_args, stk, end, s->val.c); break; ++ case nsXPTType::T_WCHAR: copy_word(ireg_args, stk, end, s->val.wc); break; ++ default: ++ // all the others are plain pointer types ++ copy_word(ireg_args, stk, end, reinterpret_cast(s->val.p)); ++ break; ++ } ++ } ++} ++ ++typedef uint32_t (*vtable_func)(nsISupports *, uint32_t, uint32_t, uint32_t); ++ ++EXPORT_XPCOM_API(nsresult) ++NS_InvokeByIndex(nsISupports* that, uint32_t methodIndex, ++ uint32_t paramCount, nsXPTCVariant* params) ++{ ++ vtable_func *vtable = *reinterpret_cast(that); ++ vtable_func func = vtable[methodIndex]; ++ // 'register uint32_t result asm("r0")' could be used here, but it does not ++ // seem to be reliable in all cases: http://gcc.gnu.org/PR46164 ++ nsresult result; ++ asm ( ++ "mov r3, sp\n" ++ "mov %[stack_space_size], %[param_count_plus_2], lsl #3\n" ++ "tst r3, #4\n" /* check stack alignment */ ++ ++ "add %[stack_space_size], #(4 * 16)\n" /* space for VFP registers */ ++ "mov r3, %[params]\n" ++ ++ "it ne\n" ++ "addne %[stack_space_size], %[stack_space_size], #4\n" ++ "sub r0, sp, %[stack_space_size]\n" /* allocate space on stack */ ++ ++ "sub r2, %[param_count_plus_2], #2\n" ++ "mov sp, r0\n" ++ ++ "add r1, r0, %[param_count_plus_2], lsl #3\n" ++ "blx %[invoke_copy_to_stack]\n" ++ ++ "add ip, sp, %[param_count_plus_2], lsl #3\n" ++ "mov r0, %[that]\n" ++ "ldmdb ip, {r1, r2, r3}\n" ++ "vldm ip, {d0, d1, d2, d3, d4, d5, d6, d7}\n" ++ "blx %[func]\n" ++ ++ "add sp, sp, %[stack_space_size]\n" /* cleanup stack */ ++ "mov %[stack_space_size], r0\n" /* it's actually 'result' variable */ ++ : [stack_space_size] "=&r" (result) ++ : [func] "r" (func), ++ [that] "r" (that), ++ [params] "r" (params), ++ [param_count_plus_2] "r" (paramCount + 2), ++ [invoke_copy_to_stack] "r" (invoke_copy_to_stack) ++ : "cc", "memory", ++ // Mark all the scratch registers as clobbered because they may be ++ // modified by the functions, called from this inline assembly block ++ "r0", "r1", "r2", "r3", "ip", "lr", ++ "d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7", ++ // Also unconditionally mark d16-d31 registers as clobbered even though ++ // they actually don't exist in vfpv2 and vfpv3-d16 variants. There is ++ // no way to identify VFP variant using preprocessor at the momemnt ++ // (see http://gcc.gnu.org/PR46128 for more details), but fortunately ++ // current versions of gcc do not seem to complain about these registers ++ // even when this code is compiled with '-mfpu=vfpv3-d16' option. ++ // If gcc becomes more strict in the future and/or provides a way to ++ // identify VFP variant, the following d16-d31 registers list needs ++ // to be wrapped into some #ifdef ++ "d16", "d17", "d18", "d19", "d20", "d21", "d22", "d23", ++ "d24", "d25", "d26", "d27", "d28", "d29", "d30", "d31" ++ ); ++ return result; ++} ++ ++#endif diff --git a/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__mips.S b/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__mips.S new file mode 100644 index 00000000000..7de7d232764 --- /dev/null +++ b/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__mips.S @@ -0,0 +1,52 @@ +$NetBSD: patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__mips.S,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_mips.S.orig 2014-10-11 09:06:50.000000000 +0000 ++++ xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_mips.S +@@ -16,6 +16,47 @@ + #include + #endif + ++#ifdef __NetBSD__ ++# include ++# include ++# 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 ++# include ++#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/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__ppc__netbsd.s b/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__ppc__netbsd.s new file mode 100644 index 00000000000..b71d8ef154e --- /dev/null +++ b/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__ppc__netbsd.s @@ -0,0 +1,25 @@ +$NetBSD: patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__ppc__netbsd.s,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_ppc_netbsd.s.orig 2014-10-11 09:06:50.000000000 +0000 ++++ xpcom/reflect/xptcall/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/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__netbsd__m68k.cpp b/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__netbsd__m68k.cpp new file mode 100644 index 00000000000..4622fcf8834 --- /dev/null +++ b/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__netbsd__m68k.cpp @@ -0,0 +1,75 @@ +$NetBSD: patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__netbsd__m68k.cpp,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- xpcom/reflect/xptcall/md/unix/xptcinvoke_netbsd_m68k.cpp.orig 2014-10-11 09:06:50.000000000 +0000 ++++ xpcom/reflect/xptcall/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/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__ppc__netbsd.cpp b/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__ppc__netbsd.cpp new file mode 100644 index 00000000000..f7e30f8eb1c --- /dev/null +++ b/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__ppc__netbsd.cpp @@ -0,0 +1,47 @@ +$NetBSD: patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__ppc__netbsd.cpp,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- xpcom/reflect/xptcall/md/unix/xptcinvoke_ppc_netbsd.cpp.orig 2014-10-11 09:06:50.000000000 +0000 ++++ xpcom/reflect/xptcall/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 +@@ -72,8 +72,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) { +@@ -82,8 +84,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 +@@ -110,6 +114,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/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__sparc64__netbsd.cpp b/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__sparc64__netbsd.cpp new file mode 100644 index 00000000000..338383d4c47 --- /dev/null +++ b/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__sparc64__netbsd.cpp @@ -0,0 +1,89 @@ +$NetBSD: patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__sparc64__netbsd.cpp,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- xpcom/reflect/xptcall/md/unix/xptcinvoke_sparc64_netbsd.cpp.orig 2014-10-14 18:49:14.000000000 +0000 ++++ xpcom/reflect/xptcall/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/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs__arm__netbsd.cpp b/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs__arm__netbsd.cpp new file mode 100644 index 00000000000..139f1fc173c --- /dev/null +++ b/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs__arm__netbsd.cpp @@ -0,0 +1,217 @@ +$NetBSD: patch-xpcom_reflect_xptcall_md_unix_xptcstubs__arm__netbsd.cpp,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- xpcom/reflect/xptcall/md/unix/xptcstubs_arm_netbsd.cpp.orig 2014-11-26 12:30:27.000000000 +0000 ++++ xpcom/reflect/xptcall/md/unix/xptcstubs_arm_netbsd.cpp +@@ -6,15 +6,32 @@ + /* Implement shared vtbl methods. */ + + #include "xptcprivate.h" ++#include "xptiprivate.h" + +-nsresult ATTRIBUTE_USED ++/* Specify explicitly a symbol for this function, don't try to guess the c++ mangled symbol. */ ++static nsresult PrepareAndDispatch(nsXPTCStubBase* self, uint32_t methodIndex, uint32_t* args) asm("_PrepareAndDispatch") ++ATTRIBUTE_USED; ++ ++#ifdef __ARM_EABI__ ++#define DOUBLEWORD_ALIGN(p) ((uint32_t *)((((uint32_t)(p)) + 7) & 0xfffffff8)) ++#else ++#define DOUBLEWORD_ALIGN(p) (p) ++#endif ++ ++// Apple's iOS toolchain is lame and does not support .cfi directives. ++#ifdef __APPLE__ ++#define CFI(str) ++#else ++#define CFI(str) str ++#endif ++ ++static nsresult + PrepareAndDispatch(nsXPTCStubBase* self, uint32_t methodIndex, uint32_t* args) + { + #define PARAM_BUFFER_COUNT 16 + + nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT]; + nsXPTCMiniVariant* dispatchParams = nullptr; +- nsIInterfaceInfo* iface_info = nullptr; + const nsXPTMethodInfo* info; + uint8_t paramCount; + uint8_t i; +@@ -22,12 +39,7 @@ PrepareAndDispatch(nsXPTCStubBase* self, + + NS_ASSERTION(self,"no self"); + +- self->GetInterfaceInfo(&iface_info); +- NS_ASSERTION(iface_info,"no interface info"); +- +- iface_info->GetMethodInfo(uint16_t(methodIndex), &info); +- NS_ASSERTION(info,"no interface info"); +- ++ self->mEntry->GetMethodInfo(uint16_t(methodIndex), &info); + paramCount = info->GetParamCount(); + + // setup variant array pointer +@@ -55,13 +67,16 @@ PrepareAndDispatch(nsXPTCStubBase* self, + case nsXPTType::T_I8 : dp->val.i8 = *((int8_t*) ap); break; + case nsXPTType::T_I16 : dp->val.i16 = *((int16_t*) ap); break; + case nsXPTType::T_I32 : dp->val.i32 = *((int32_t*) ap); break; +- case nsXPTType::T_I64 : dp->val.i64 = *((int64_t*) ap); ap++; break; ++ case nsXPTType::T_I64 : ap = DOUBLEWORD_ALIGN(ap); ++ dp->val.i64 = *((int64_t*) ap); ap++; break; + case nsXPTType::T_U8 : dp->val.u8 = *((uint8_t*) ap); break; + case nsXPTType::T_U16 : dp->val.u16 = *((uint16_t*)ap); break; + case nsXPTType::T_U32 : dp->val.u32 = *((uint32_t*)ap); break; +- case nsXPTType::T_U64 : dp->val.u64 = *((uint64_t*)ap); ap++; break; ++ case nsXPTType::T_U64 : ap = DOUBLEWORD_ALIGN(ap); ++ dp->val.u64 = *((uint64_t*)ap); ap++; break; + case nsXPTType::T_FLOAT : dp->val.f = *((float*) ap); break; +- case nsXPTType::T_DOUBLE : dp->val.d = *((double*) ap); ap++; break; ++ case nsXPTType::T_DOUBLE : ap = DOUBLEWORD_ALIGN(ap); ++ dp->val.d = *((double*) ap); ap++; break; + case nsXPTType::T_BOOL : dp->val.b = *((bool*) ap); break; + case nsXPTType::T_CHAR : dp->val.c = *((char*) ap); break; + case nsXPTType::T_WCHAR : dp->val.wc = *((wchar_t*) ap); break; +@@ -71,9 +86,7 @@ PrepareAndDispatch(nsXPTCStubBase* self, + } + } + +- result = self->CallMethod((uint16_t)methodIndex, info, dispatchParams); +- +- NS_RELEASE(iface_info); ++ result = self->mOuter->CallMethod((uint16_t)methodIndex, info, dispatchParams); + + if(dispatchParams != paramBuffer) + delete [] dispatchParams; +@@ -82,26 +95,114 @@ PrepareAndDispatch(nsXPTCStubBase* self, + } + + /* +- * These stubs move just move the values passed in registers onto the stack, +- * so they are contiguous with values passed on the stack, and then calls +- * PrepareAndDispatch() to do the dirty work. ++ * This is our shared stub. ++ * ++ * r0 = Self. ++ * ++ * The Rules: ++ * We pass an (undefined) number of arguments into this function. ++ * The first 3 C++ arguments are in r1 - r3, the rest are built ++ * by the calling function on the stack. ++ * ++ * We are allowed to corrupt r0 - r3, ip, and lr. ++ * ++ * Other Info: ++ * We pass the stub number in using `ip'. ++ * ++ * Implementation: ++ * - We save r1 to r3 inclusive onto the stack, which will be ++ * immediately below the caller saved arguments. ++ * - setup r2 (PrepareAndDispatch's args pointer) to point at ++ * the base of all these arguments ++ * - Save LR (for the return address) ++ * - Set r1 (PrepareAndDispatch's methodindex argument) from ip ++ * - r0 is passed through (self) ++ * - Call PrepareAndDispatch ++ * - When the call returns, we return by loading the PC off the ++ * stack, and undoing the stack (one instruction)! ++ * + */ ++__asm__ ("\n" ++ ".text\n" ++ ".align 2\n" ++ "SharedStub:\n" ++ CFI(".cfi_startproc\n") ++ "stmfd sp!, {r1, r2, r3}\n" ++ CFI(".cfi_def_cfa_offset 12\n") ++ CFI(".cfi_offset r3, -4\n") ++ CFI(".cfi_offset r2, -8\n") ++ CFI(".cfi_offset r1, -12\n") ++ "mov r2, sp\n" ++ "str lr, [sp, #-4]!\n" ++ CFI(".cfi_def_cfa_offset 16\n") ++ CFI(".cfi_offset lr, -16\n") ++ "mov r1, ip\n" ++ "bl _PrepareAndDispatch\n" ++ "ldr pc, [sp], #16\n" ++ CFI(".cfi_endproc\n")); ++ ++/* ++ * Create sets of stubs to call the SharedStub. ++ * We don't touch the stack here, nor any registers, other than IP. ++ * IP is defined to be corruptable by a called function, so we are ++ * safe to use it. ++ * ++ * This will work with or without optimisation. ++ */ ++ ++/* ++ * Note : As G++3 ABI contains the length of the functionname in the ++ * mangled name, it is difficult to get a generic assembler mechanism like ++ * in the G++ 2.95 case. ++ * Create names would be like : ++ * _ZN14nsXPTCStubBase5Stub9Ev ++ * _ZN14nsXPTCStubBase6Stub13Ev ++ * _ZN14nsXPTCStubBase7Stub144Ev ++ * Use the assembler directives to get the names right... ++ */ ++ ++#define STUB_ENTRY(n) \ ++ __asm__( \ ++ ".section \".text\"\n" \ ++" .align 2\n" \ ++" .iflt ("#n" - 10)\n" \ ++" .globl _ZN14nsXPTCStubBase5Stub"#n"Ev\n" \ ++" .type _ZN14nsXPTCStubBase5Stub"#n"Ev,#function\n" \ ++"_ZN14nsXPTCStubBase5Stub"#n"Ev:\n" \ ++" .else\n" \ ++" .iflt ("#n" - 100)\n" \ ++" .globl _ZN14nsXPTCStubBase6Stub"#n"Ev\n" \ ++" .type _ZN14nsXPTCStubBase6Stub"#n"Ev,#function\n" \ ++"_ZN14nsXPTCStubBase6Stub"#n"Ev:\n" \ ++" .else\n" \ ++" .iflt ("#n" - 1000)\n" \ ++" .globl _ZN14nsXPTCStubBase7Stub"#n"Ev\n" \ ++" .type _ZN14nsXPTCStubBase7Stub"#n"Ev,#function\n" \ ++"_ZN14nsXPTCStubBase7Stub"#n"Ev:\n" \ ++" .else\n" \ ++" .err \"stub number "#n"> 1000 not yet supported\"\n" \ ++" .endif\n" \ ++" .endif\n" \ ++" .endif\n" \ ++" mov ip, #"#n"\n" \ ++" b SharedStub\n\t"); ++ ++#if 0 ++/* ++ * This part is left in as comment : this is how the method definition ++ * should look like. ++ */ ++ ++#define STUB_ENTRY(n) \ ++nsresult nsXPTCStubBase::Stub##n () \ ++{ \ ++ __asm__ ( \ ++" mov ip, #"#n"\n" \ ++" b SharedStub\n\t"); \ ++ return 0; /* avoid warnings */ \ ++} ++#endif + +-#define STUB_ENTRY(n) \ +-__asm__( \ +- ".global _Stub"#n"__14nsXPTCStubBase\n\t" \ +-"_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" \ +- "ldmea fp, {fp, sp, lr} \n\t" \ +- "add sp, sp, #12 \n\t" \ +- "mov pc, lr \n\t" \ +-); + + #define SENTINEL_ENTRY(n) \ + nsresult nsXPTCStubBase::Sentinel##n() \ diff --git a/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs__asm__mips.S b/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs__asm__mips.S new file mode 100644 index 00000000000..096c52d976f --- /dev/null +++ b/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs__asm__mips.S @@ -0,0 +1,52 @@ +$NetBSD: patch-xpcom_reflect_xptcall_md_unix_xptcstubs__asm__mips.S,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- xpcom/reflect/xptcall/md/unix/xptcstubs_asm_mips.S.orig 2014-10-11 09:06:50.000000000 +0000 ++++ xpcom/reflect/xptcall/md/unix/xptcstubs_asm_mips.S +@@ -14,6 +14,47 @@ + #include + #endif + ++#ifdef __NetBSD__ ++# include ++# include ++# 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 ++# include ++#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/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs__asm__sparc64__netbsd.s b/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs__asm__sparc64__netbsd.s new file mode 100644 index 00000000000..03ab133df3e --- /dev/null +++ b/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs__asm__sparc64__netbsd.s @@ -0,0 +1,71 @@ +$NetBSD: patch-xpcom_reflect_xptcall_md_unix_xptcstubs__asm__sparc64__netbsd.s,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- xpcom/reflect/xptcall/md/unix/xptcstubs_asm_sparc64_netbsd.s.orig 2014-10-14 18:49:14.000000000 +0000 ++++ xpcom/reflect/xptcall/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/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs__netbsd__m68k.cpp b/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs__netbsd__m68k.cpp new file mode 100644 index 00000000000..98ad77a1092 --- /dev/null +++ b/www/firefox52/patches/patch-xpcom_reflect_xptcall_md_unix_xptcstubs__netbsd__m68k.cpp @@ -0,0 +1,41 @@ +$NetBSD: patch-xpcom_reflect_xptcall_md_unix_xptcstubs__netbsd__m68k.cpp,v 1.1 2017/04/27 01:55:57 ryoon Exp $ + +--- xpcom/reflect/xptcall/md/unix/xptcstubs_netbsd_m68k.cpp.orig 2014-10-11 09:06:50.000000000 +0000 ++++ xpcom/reflect/xptcall/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/firefox52/xpi.mk b/www/firefox52/xpi.mk new file mode 100644 index 00000000000..17597628225 --- /dev/null +++ b/www/firefox52/xpi.mk @@ -0,0 +1,25 @@ +# $NetBSD: xpi.mk,v 1.1 2017/04/27 01:55:57 ryoon Exp $ +# +# common logic for repackaging mozilla extensions (.xpi files) +# Used by the {firefox,seamonkey,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 -- cgit v1.2.3