Update to 56.0

New
    Launched Firefox Screenshots, a feature that lets users take, save, and share screenshots without leaving the browser

    Added support for address form autofill (en-US only)

    Updated Preferences
        Added search tool so users can find a specific setting quickly
        Reorganized preferences so users can more easily scan settings
        Rewrote descriptions so users can better understand choices and how they affect browsing
        Revised data collection choices so they align with updated Privacy Notice and data collection strategy

    Media opened in a background tab will not play until the tab is selected

    Improved Send Tabs feature of Sync for iOS and Android, and Send Tabs can be discovered even by users without a Firefox Account

Changed
    Replaced character encoding converters with a new Encoding Standard-compliant implementation written in Rust

    Added hardware acceleration for AES-GCM

    Updated the Safe Browsing protocol to version 4

    Reduced update download file size by approximately 20 percent

    Improved security for verifying update downloads

Developer
    Added Layout Panel to CSS Grid DevTools
This commit is contained in:
ryoon 2017-09-30 05:34:11 +00:00
parent 46f6e8c313
commit 90a8cc7751
71 changed files with 555 additions and 2855 deletions

View file

@ -1,12 +1,11 @@
# $NetBSD: Makefile,v 1.306 2017/09/18 09:53:37 maya Exp $
# $NetBSD: Makefile,v 1.307 2017/09/30 05:34:11 ryoon Exp $
FIREFOX_VER= ${MOZ_BRANCH}${MOZ_BRANCH_MINOR}
MOZ_BRANCH= 55.0
MOZ_BRANCH_MINOR= .3
MOZ_BRANCH= 56.0
MOZ_BRANCH_MINOR=
DISTNAME= firefox-${FIREFOX_VER}.source
PKGNAME= firefox-${MOZ_BRANCH}${MOZ_BRANCH_MINOR:S/b/beta/:S/esr//}
PKGREVISION= 1
CATEGORIES= www
MASTER_SITES+= ${MASTER_SITE_MOZILLA:=firefox/releases/${FIREFOX_VER}/source/}
MASTER_SITES+= ${MASTER_SITE_MOZILLA_ALL:=firefox/releases/${FIREFOX_VER}/source/}
@ -24,6 +23,8 @@ MOZILLA_DIR= # empty
# Note: when updating remember to conditionalise about-background.png in PLIST
CONFIGURE_ARGS+= --enable-application=browser
CFLAGS+= -I${PREFIX}/include/nspr
# workround for link of libxul.so etc.
LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib/firefox ${COMPILER_RPATH_FLAG}${PREFIX}/lib
LDFLAGS.SunOS+= -lm

View file

@ -1,4 +1,4 @@
@comment $NetBSD: PLIST,v 1.122 2017/09/02 03:47:46 ryoon Exp $
@comment $NetBSD: PLIST,v 1.123 2017/09/30 05:34:11 ryoon Exp $
bin/firefox
lib/firefox/application.ini
lib/firefox/browser/blocklist.xml
@ -82,9 +82,9 @@ lib/firefox/browser/chrome/browser/content/browser/browser-fullScreenAndPointerL
lib/firefox/browser/chrome/browser/content/browser/browser-fullZoom.js
lib/firefox/browser/chrome/browser/content/browser/browser-gestureSupport.js
lib/firefox/browser/chrome/browser/content/browser/browser-media.js
lib/firefox/browser/chrome/browser/content/browser/browser-pageActions.js
lib/firefox/browser/chrome/browser/content/browser/browser-places.js
lib/firefox/browser/chrome/browser/content/browser/browser-plugins.js
lib/firefox/browser/chrome/browser/content/browser/browser-refreshblocker.js
lib/firefox/browser/chrome/browser/content/browser/browser-safebrowsing.js
lib/firefox/browser/chrome/browser/content/browser/browser-sidebar.js
lib/firefox/browser/chrome/browser/content/browser/browser-social.js
@ -221,14 +221,13 @@ lib/firefox/browser/chrome/browser/content/browser/preferences/fonts.js
lib/firefox/browser/chrome/browser/content/browser/preferences/fonts.xul
lib/firefox/browser/chrome/browser/content/browser/preferences/handlers.css
lib/firefox/browser/chrome/browser/content/browser/preferences/handlers.xml
lib/firefox/browser/chrome/browser/content/browser/preferences/in-content-new/advanced.js
lib/firefox/browser/chrome/browser/content/browser/preferences/in-content-new/applications.js
lib/firefox/browser/chrome/browser/content/browser/preferences/in-content-new/containers.js
lib/firefox/browser/chrome/browser/content/browser/preferences/in-content-new/findInPage.js
lib/firefox/browser/chrome/browser/content/browser/preferences/in-content-new/main.js
lib/firefox/browser/chrome/browser/content/browser/preferences/in-content-new/preferences.js
lib/firefox/browser/chrome/browser/content/browser/preferences/in-content-new/preferences.xul
lib/firefox/browser/chrome/browser/content/browser/preferences/in-content-new/privacy.js
lib/firefox/browser/chrome/browser/content/browser/preferences/in-content-new/search.js
lib/firefox/browser/chrome/browser/content/browser/preferences/in-content-new/subdialogs.js
lib/firefox/browser/chrome/browser/content/browser/preferences/in-content-new/sync.js
lib/firefox/browser/chrome/browser/content/browser/preferences/in-content/advanced.js
@ -318,7 +317,6 @@ lib/firefox/browser/chrome/browser/content/browser/webext-panels.xul
lib/firefox/browser/chrome/browser/content/browser/webrtcIndicator.js
lib/firefox/browser/chrome/browser/content/browser/webrtcIndicator.xul
lib/firefox/browser/chrome/browser/skin/classic/browser/Info.png
lib/firefox/browser/chrome/browser/skin/classic/browser/Toolbar-small.png
lib/firefox/browser/chrome/browser/skin/classic/browser/aboutNetError.css
lib/firefox/browser/chrome/browser/skin/classic/browser/aboutProviderDirectory.css
lib/firefox/browser/chrome/browser/skin/classic/browser/aboutSessionRestore-window-icon.png
@ -359,8 +357,6 @@ lib/firefox/browser/chrome/browser/skin/classic/browser/connection-mixed-active-
lib/firefox/browser/chrome/browser/skin/classic/browser/connection-mixed-passive-loaded.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/connection-secure.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/containers.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/controlcenter/arrow-subview-back.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/controlcenter/arrow-subview.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/controlcenter/conn-not-secure.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/controlcenter/connection.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/controlcenter/extension.svg
@ -394,7 +390,6 @@ lib/firefox/browser/chrome/browser/skin/classic/browser/customizableui/whimsy.pn
lib/firefox/browser/chrome/browser/skin/classic/browser/customizableui/whimsy@2x.png
lib/firefox/browser/chrome/browser/skin/classic/browser/customize.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/developer.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/device-desktop.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/device-mobile.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/common.css
lib/firefox/browser/chrome/browser/skin/classic/browser/download.svg
@ -410,7 +405,6 @@ lib/firefox/browser/chrome/browser/skin/classic/browser/drm-icon.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/edit-copy.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/edit-cut.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/edit-paste.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/email-link.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/error-pages.css
lib/firefox/browser/chrome/browser/skin/classic/browser/favicon-search-16.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/feed.svg
@ -444,7 +438,6 @@ lib/firefox/browser/chrome/browser/skin/classic/browser/identity-icon-notice.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/identity-icon.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/info.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/library.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/link.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/mail.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/menu.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/menuPanel-customize.png
@ -464,7 +457,6 @@ lib/firefox/browser/chrome/browser/skin/classic/browser/newtab/controls.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/newtab/newTab.css
lib/firefox/browser/chrome/browser/skin/classic/browser/notification-icons.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/open.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/page-action.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/page-livemarks.png
lib/firefox/browser/chrome/browser/skin/classic/browser/pageInfo.css
lib/firefox/browser/chrome/browser/skin/classic/browser/pageInfo.png
@ -479,15 +471,22 @@ lib/firefox/browser/chrome/browser/skin/classic/browser/panic-panel/header.png
lib/firefox/browser/chrome/browser/skin/classic/browser/panic-panel/header@2x.png
lib/firefox/browser/chrome/browser/skin/classic/browser/panic-panel/icons.png
lib/firefox/browser/chrome/browser/skin/classic/browser/panic-panel/icons@2x.png
lib/firefox/browser/chrome/browser/skin/classic/browser/places/allBookmarks.png
lib/firefox/browser/chrome/browser/skin/classic/browser/places/bookmarks-menu-arrow.png
lib/firefox/browser/chrome/browser/skin/classic/browser/places/bookmarks-notification-finish.png
lib/firefox/browser/chrome/browser/skin/classic/browser/places/bookmarks-notification-finish@2x.png
lib/firefox/browser/chrome/browser/skin/classic/browser/places/bookmarksMenu.png
lib/firefox/browser/chrome/browser/skin/classic/browser/places/bookmarksMenu.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/places/bookmarksToolbar-menuPanel.png
lib/firefox/browser/chrome/browser/skin/classic/browser/places/bookmarksToolbar.png
lib/firefox/browser/chrome/browser/skin/classic/browser/places/bookmarksToolbar.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/places/calendar.png
lib/firefox/browser/chrome/browser/skin/classic/browser/places/downloads.png
lib/firefox/browser/chrome/browser/skin/classic/browser/places/editBookmarkOverlay.css
lib/firefox/browser/chrome/browser/skin/classic/browser/places/folder-live.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/places/folder-smart.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/places/folder.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/places/history.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/places/livemark-item.png
lib/firefox/browser/chrome/browser/skin/classic/browser/places/organizer.css
lib/firefox/browser/chrome/browser/skin/classic/browser/places/organizer.xml
@ -496,6 +495,7 @@ lib/firefox/browser/chrome/browser/skin/classic/browser/places/query.png
lib/firefox/browser/chrome/browser/skin/classic/browser/places/starred48.png
lib/firefox/browser/chrome/browser/skin/classic/browser/places/tag.png
lib/firefox/browser/chrome/browser/skin/classic/browser/places/toolbarDropMarker.png
lib/firefox/browser/chrome/browser/skin/classic/browser/places/unfiledBookmarks.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/places/unsortedBookmarks.png
lib/firefox/browser/chrome/browser/skin/classic/browser/places/unstarred48.png
lib/firefox/browser/chrome/browser/skin/classic/browser/preferences/alwaysAsk.png
@ -506,6 +506,7 @@ lib/firefox/browser/chrome/browser/skin/classic/browser/preferences/in-content-n
lib/firefox/browser/chrome/browser/skin/classic/browser/preferences/in-content-new/favicon.ico
lib/firefox/browser/chrome/browser/skin/classic/browser/preferences/in-content-new/icons.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/preferences/in-content-new/preferences.css
lib/firefox/browser/chrome/browser/skin/classic/browser/preferences/in-content-new/search-arrow-indicator.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/preferences/in-content-new/search.css
lib/firefox/browser/chrome/browser/skin/classic/browser/preferences/in-content-new/siteDataSettings.css
lib/firefox/browser/chrome/browser/skin/classic/browser/preferences/in-content/containers.css
@ -533,7 +534,6 @@ lib/firefox/browser/chrome/browser/skin/classic/browser/save.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/search-arrow-go.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/search-engine-placeholder.png
lib/firefox/browser/chrome/browser/skin/classic/browser/search-engine-placeholder@2x.png
lib/firefox/browser/chrome/browser/skin/classic/browser/search-history-icon.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/search-indicator-badge-add.png
lib/firefox/browser/chrome/browser/skin/classic/browser/search-indicator-badge-add@2x.png
lib/firefox/browser/chrome/browser/skin/classic/browser/search-indicator-magnifying-glass.svg
@ -546,6 +546,7 @@ lib/firefox/browser/chrome/browser/skin/classic/browser/setDesktopBackground.css
lib/firefox/browser/chrome/browser/skin/classic/browser/settings.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/share.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/sidebar/close.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/sidebars-right.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/sidebars.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/slowStartup-16.png
lib/firefox/browser/chrome/browser/skin/classic/browser/social/services-16.png
@ -561,18 +562,13 @@ lib/firefox/browser/chrome/browser/skin/classic/browser/syncProgress-horizontalb
lib/firefox/browser/chrome/browser/skin/classic/browser/synced-tabs.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/syncedtabs/sidebar.css
lib/firefox/browser/chrome/browser/skin/classic/browser/tab-crashed.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/alltabs-inverted.png
lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/alltabs.png
lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/connecting.png
lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/connecting@2x.png
lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/crashed.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/newtab-inverted.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/newtab.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/pendingpaint.png
lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-active-middle.png
lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-active-middle@2x.png
lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-arrow-left-inverted.png
lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-arrow-left.png
lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-audio-blocked.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-audio-muted.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/tabbrowser/tab-audio-playing.svg
@ -600,7 +596,6 @@ lib/firefox/browser/chrome/browser/skin/classic/browser/translation-16.png
lib/firefox/browser/chrome/browser/skin/classic/browser/translation-16@2x.png
lib/firefox/browser/chrome/browser/skin/classic/browser/update-badge-failed.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/update-badge.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/urlbar-star.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/urlbar-tab.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/warning-white.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/warning.svg
@ -698,6 +693,7 @@ lib/firefox/browser/chrome/devtools/content/shared/widgets/widgets.css
lib/firefox/browser/chrome/devtools/content/sourceeditor/codemirror/addon/dialog/dialog.css
lib/firefox/browser/chrome/devtools/content/sourceeditor/codemirror/addon/hint/show-hint.js
lib/firefox/browser/chrome/devtools/content/sourceeditor/codemirror/addon/tern/tern.js
lib/firefox/browser/chrome/devtools/content/sourceeditor/codemirror/cmiframe.html
lib/firefox/browser/chrome/devtools/content/sourceeditor/codemirror/codemirror.bundle.js
lib/firefox/browser/chrome/devtools/content/sourceeditor/codemirror/lib/codemirror.css
lib/firefox/browser/chrome/devtools/content/sourceeditor/codemirror/mozilla.css
@ -713,6 +709,7 @@ lib/firefox/browser/chrome/devtools/content/webaudioeditor/views/inspector.js
lib/firefox/browser/chrome/devtools/content/webaudioeditor/views/properties.js
lib/firefox/browser/chrome/devtools/content/webaudioeditor/views/utils.js
lib/firefox/browser/chrome/devtools/content/webaudioeditor/webaudioeditor.xul
lib/firefox/browser/chrome/devtools/content/webconsole/webconsole.xhtml
lib/firefox/browser/chrome/devtools/content/webconsole/webconsole.xul
lib/firefox/browser/chrome/devtools/modules/devtools/client/aboutdebugging/components/aboutdebugging.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/aboutdebugging/components/addons/controls.js
@ -818,7 +815,17 @@ lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/breadcrumb
lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/components/inspector-tab-panel.css
lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/components/inspector-tab-panel.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/computed/computed.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/fonts/actions/font-options.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/fonts/actions/fonts.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/fonts/actions/index.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/fonts/components/App.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/fonts/components/Font.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/fonts/components/FontList.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/fonts/fonts.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/fonts/reducers/font-options.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/fonts/reducers/fonts.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/fonts/types.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/fonts/utils/l10n.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/grids/actions/grids.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/grids/actions/highlighter-settings.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/grids/actions/index.js
@ -832,11 +839,13 @@ lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/grids/redu
lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/grids/reducers/highlighter-settings.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/grids/types.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/grids/utils/l10n.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/grids/utils/utils.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/inspector-commands.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/inspector-search.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/layout/components/Accordion.css
lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/layout/components/Accordion.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/layout/components/App.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/layout/components/LayoutPromoteBar.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/layout/layout.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/markup/markup.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/inspector/markup/utils.js
@ -886,8 +895,6 @@ lib/firefox/browser/chrome/devtools/modules/devtools/client/jsonview/css/text-pa
lib/firefox/browser/chrome/devtools/modules/devtools/client/jsonview/css/toolbar.css
lib/firefox/browser/chrome/devtools/modules/devtools/client/jsonview/json-viewer.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/jsonview/lib/require.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/jsonview/main.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/jsonview/utils.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/jsonview/viewer-config.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/memory/actions/allocations.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/memory/actions/census-display.js
@ -970,6 +977,7 @@ lib/firefox/browser/chrome/devtools/modules/devtools/client/netmonitor/src/compo
lib/firefox/browser/chrome/devtools/modules/devtools/client/netmonitor/src/components/request-list-column-method.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/netmonitor/src/components/request-list-column-protocol.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/netmonitor/src/components/request-list-column-remote-ip.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/netmonitor/src/components/request-list-column-response-header.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/netmonitor/src/components/request-list-column-response-time.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/netmonitor/src/components/request-list-column-scheme.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/netmonitor/src/components/request-list-column-set-cookies.js
@ -1020,6 +1028,7 @@ lib/firefox/browser/chrome/devtools/modules/devtools/client/netmonitor/src/selec
lib/firefox/browser/chrome/devtools/modules/devtools/client/netmonitor/src/selectors/timing-markers.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/netmonitor/src/selectors/ui.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/netmonitor/src/utils/create-store.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/netmonitor/src/utils/filter-autocomplete-provider.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/netmonitor/src/utils/filter-predicates.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/netmonitor/src/utils/filter-text-utils.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/netmonitor/src/utils/format-utils.js
@ -1185,6 +1194,7 @@ lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/poller.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/prefs.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/react-utils.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/redux/create-store.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/redux/middleware/debounce.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/redux/middleware/history.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/redux/middleware/log.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/redux/middleware/promise.js
@ -1193,7 +1203,6 @@ lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/redux/middlew
lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/redux/middleware/wait-service.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/redux/non-react-subscriber.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/scroll.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/shim/Services.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/source-map/index.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/source-map/worker.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/source-utils.js
@ -1202,6 +1211,8 @@ lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/suggestion-pi
lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/telemetry.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/theme.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/undo.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/vendor/WasmDis.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/vendor/WasmParser.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/vendor/immutable.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/vendor/jsol.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/vendor/jszip.js
@ -1215,6 +1226,8 @@ lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/vendor/react.
lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/vendor/redux.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/vendor/reselect.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/vendor/seamless-immutable.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/vendor/stringvalidator/util/assert.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/vendor/stringvalidator/validator.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/view-source.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/webgl-utils.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/shared/widgets/AbstractTreeItem.jsm
@ -1265,6 +1278,7 @@ lib/firefox/browser/chrome/devtools/modules/devtools/client/sourceeditor/tern/ec
lib/firefox/browser/chrome/devtools/modules/devtools/client/sourceeditor/tern/infer.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/sourceeditor/tern/signal.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/sourceeditor/tern/tern.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/sourceeditor/wasm.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/storage/panel.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/storage/ui.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/styleeditor/StyleEditorUI.jsm
@ -1308,7 +1322,6 @@ lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/net/net-r
lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/net/utils/events.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/net/utils/json.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/net/utils/net.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/actions/enhancers.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/actions/filters.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/actions/index.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/actions/messages.js
@ -1330,7 +1343,6 @@ lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-conso
lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/components/message-types/network-event-message.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/components/message-types/page-error.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/components/message.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/components/variables-view-link.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/constants.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/main.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/new-console-output-wrapper.js
@ -1355,7 +1367,7 @@ lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-conso
lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/utils/context-menu.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/utils/id-generator.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/utils/messages.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-console-output/utils/variables-view.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/new-webconsole.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/panel.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/utils.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/webconsole/webconsole-connection-proxy.js
@ -1365,7 +1377,6 @@ lib/firefox/browser/chrome/devtools/modules/devtools/client/webide/modules/addon
lib/firefox/browser/chrome/devtools/modules/devtools/client/webide/modules/app-manager.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/webide/modules/app-projects.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/webide/modules/app-validator.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/webide/modules/build.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/webide/modules/config-view.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/webide/modules/project-list.js
lib/firefox/browser/chrome/devtools/modules/devtools/client/webide/modules/runtime-list.js
@ -1442,6 +1453,7 @@ lib/firefox/browser/chrome/devtools/modules/devtools/server/actors/utils/automat
lib/firefox/browser/chrome/devtools/modules/devtools/server/actors/utils/css-grid-utils.js
lib/firefox/browser/chrome/devtools/modules/devtools/server/actors/utils/make-debugger.js
lib/firefox/browser/chrome/devtools/modules/devtools/server/actors/utils/map-uri-to-addon-id.js
lib/firefox/browser/chrome/devtools/modules/devtools/server/actors/utils/shapes-geometry-utils.js
lib/firefox/browser/chrome/devtools/modules/devtools/server/actors/utils/stack.js
lib/firefox/browser/chrome/devtools/modules/devtools/server/actors/utils/walker-search.js
lib/firefox/browser/chrome/devtools/modules/devtools/server/actors/utils/webconsole-listeners.js
@ -1494,12 +1506,14 @@ lib/firefox/browser/chrome/devtools/modules/devtools/shared/css/generated/proper
lib/firefox/browser/chrome/devtools/modules/devtools/shared/css/lexer.js
lib/firefox/browser/chrome/devtools/modules/devtools/shared/css/parsing-utils.js
lib/firefox/browser/chrome/devtools/modules/devtools/shared/css/properties-db.js
lib/firefox/browser/chrome/devtools/modules/devtools/shared/debounce.js
lib/firefox/browser/chrome/devtools/modules/devtools/shared/defer.js
lib/firefox/browser/chrome/devtools/modules/devtools/shared/deprecated-sync-thenables.js
lib/firefox/browser/chrome/devtools/modules/devtools/shared/discovery/discovery.js
lib/firefox/browser/chrome/devtools/modules/devtools/shared/dom-node-constants.js
lib/firefox/browser/chrome/devtools/modules/devtools/shared/dom-node-filter-constants.js
lib/firefox/browser/chrome/devtools/modules/devtools/shared/event-emitter.js
lib/firefox/browser/chrome/devtools/modules/devtools/shared/extend.js
lib/firefox/browser/chrome/devtools/modules/devtools/shared/flags.js
lib/firefox/browser/chrome/devtools/modules/devtools/shared/fronts/actor-registry.js
lib/firefox/browser/chrome/devtools/modules/devtools/shared/fronts/addons.js
@ -1617,6 +1631,7 @@ lib/firefox/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli
lib/firefox/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/util/spell.js
lib/firefox/browser/chrome/devtools/modules/devtools/shared/gcli/source/lib/gcli/util/util.js
lib/firefox/browser/chrome/devtools/modules/devtools/shared/gcli/templater.js
lib/firefox/browser/chrome/devtools/modules/devtools/shared/generate-uuid.js
lib/firefox/browser/chrome/devtools/modules/devtools/shared/heapsnapshot/CensusUtils.js
lib/firefox/browser/chrome/devtools/modules/devtools/shared/heapsnapshot/DominatorTreeNode.js
lib/firefox/browser/chrome/devtools/modules/devtools/shared/heapsnapshot/HeapAnalysesClient.js
@ -1707,6 +1722,7 @@ lib/firefox/browser/chrome/devtools/modules/devtools/shared/transport/packets.js
lib/firefox/browser/chrome/devtools/modules/devtools/shared/transport/stream-utils.js
lib/firefox/browser/chrome/devtools/modules/devtools/shared/transport/transport.js
lib/firefox/browser/chrome/devtools/modules/devtools/shared/transport/websocket-transport.js
lib/firefox/browser/chrome/devtools/modules/devtools/shared/wasm-source-map.js
lib/firefox/browser/chrome/devtools/modules/devtools/shared/webconsole/client.js
lib/firefox/browser/chrome/devtools/modules/devtools/shared/webconsole/js-property-provider.js
lib/firefox/browser/chrome/devtools/modules/devtools/shared/webconsole/network-helper.js
@ -2006,7 +2022,6 @@ lib/firefox/browser/chrome/en-US/locale/browser/safebrowsing/report-phishing.dtd
lib/firefox/browser/chrome/en-US/locale/browser/safebrowsing/safebrowsing.properties
lib/firefox/browser/chrome/en-US/locale/browser/sanitize.dtd
lib/firefox/browser/chrome/en-US/locale/browser/search.properties
lib/firefox/browser/chrome/en-US/locale/browser/searchbar.dtd
lib/firefox/browser/chrome/en-US/locale/browser/searchplugins/amazondotcom.xml
lib/firefox/browser/chrome/en-US/locale/browser/searchplugins/bing.xml
lib/firefox/browser/chrome/en-US/locale/browser/searchplugins/ddg.xml
@ -2056,6 +2071,7 @@ lib/firefox/browser/chrome/en-US/locale/en-US/devtools/client/har.properties
lib/firefox/browser/chrome/en-US/locale/en-US/devtools/client/inspector.properties
lib/firefox/browser/chrome/en-US/locale/en-US/devtools/client/jit-optimizations.properties
lib/firefox/browser/chrome/en-US/locale/en-US/devtools/client/jsonview.properties
lib/firefox/browser/chrome/en-US/locale/en-US/devtools/client/key-shortcuts.properties
lib/firefox/browser/chrome/en-US/locale/en-US/devtools/client/layout.properties
lib/firefox/browser/chrome/en-US/locale/en-US/devtools/client/markers.properties
lib/firefox/browser/chrome/en-US/locale/en-US/devtools/client/memory.properties
@ -2093,6 +2109,7 @@ lib/firefox/browser/chrome/en-US/locale/en-US/devtools/shared/gcli.properties
lib/firefox/browser/chrome/en-US/locale/en-US/devtools/shared/gclicommands.properties
lib/firefox/browser/chrome/en-US/locale/en-US/devtools/shared/shared.properties
lib/firefox/browser/chrome/en-US/locale/en-US/devtools/shared/styleinspector.properties
lib/firefox/browser/chrome/en-US/locale/en-US/formautofill.properties
lib/firefox/browser/chrome/en-US/locale/pdfviewer/chrome.properties
lib/firefox/browser/chrome/en-US/locale/pdfviewer/viewer.properties
lib/firefox/browser/chrome/icons/default/default16.png
@ -2373,8 +2390,6 @@ lib/firefox/browser/chrome/webide/content/details.js
lib/firefox/browser/chrome/webide/content/details.xhtml
lib/firefox/browser/chrome/webide/content/devicepreferences.js
lib/firefox/browser/chrome/webide/content/devicepreferences.xhtml
lib/firefox/browser/chrome/webide/content/logs.js
lib/firefox/browser/chrome/webide/content/logs.xhtml
lib/firefox/browser/chrome/webide/content/monitor.js
lib/firefox/browser/chrome/webide/content/monitor.xhtml
lib/firefox/browser/chrome/webide/content/newapp.js
@ -2401,7 +2416,6 @@ lib/firefox/browser/chrome/webide/skin/deck.css
lib/firefox/browser/chrome/webide/skin/default-app-icon.png
lib/firefox/browser/chrome/webide/skin/details.css
lib/firefox/browser/chrome/webide/skin/icons.png
lib/firefox/browser/chrome/webide/skin/logs.css
lib/firefox/browser/chrome/webide/skin/monitor.css
lib/firefox/browser/chrome/webide/skin/newapp.css
lib/firefox/browser/chrome/webide/skin/noise.png
@ -2430,7 +2444,6 @@ lib/firefox/browser/components/nsBrowserGlue.js
lib/firefox/browser/components/nsSessionStartup.js
lib/firefox/browser/components/nsSessionStore.js
lib/firefox/browser/components/nsSetDefaultBrowser.js
lib/firefox/browser/components/webideCli.js
lib/firefox/browser/defaults/blocklists/addons.json
lib/firefox/browser/defaults/blocklists/certificates.json
lib/firefox/browser/defaults/blocklists/gfx.json
@ -2445,6 +2458,85 @@ lib/firefox/browser/defaults/preferences/firefox.js
lib/firefox/browser/defaults/preferences/webide-prefs.js
lib/firefox/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/chrome.manifest
lib/firefox/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf
lib/firefox/browser/features/activity-stream@mozilla.org/bootstrap.js
lib/firefox/browser/features/activity-stream@mozilla.org/chrome.manifest
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/common/Actions.jsm
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/common/Dedupe.jsm
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/common/PerfService.jsm
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/common/Reducers.jsm
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/common/ShortURL.jsm
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/activity-stream.bundle.js
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/activity-stream.css
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/activity-stream.html
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/assets/glyph-bookmark-16.svg
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/assets/glyph-bookmark-remove-16.svg
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/assets/glyph-delete-16.svg
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/assets/glyph-dismiss-16.svg
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/assets/glyph-forward-16-white.svg
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/assets/glyph-forward-16.svg
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/assets/glyph-historyItem-16.svg
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/assets/glyph-info-16.svg
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/assets/glyph-info-option-12.svg
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/assets/glyph-more-16.svg
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/assets/glyph-newWindow-16.svg
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/assets/glyph-newWindow-private-16.svg
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/assets/glyph-now-16.svg
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/assets/glyph-pin-12.svg
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/assets/glyph-pin-16.svg
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/assets/glyph-pocket-16.svg
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/assets/glyph-search-16.svg
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/assets/glyph-settings-16.svg
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/assets/glyph-topsites-16.svg
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/assets/glyph-trending-16.svg
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/assets/glyph-unpin-16.svg
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/assets/topic-show-more-12.svg
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/tippytop/images/aliexpress-com@2x.png
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/tippytop/images/allegro-pl@2x.png
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/tippytop/images/amazon-ca@2x.png
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/tippytop/images/amazon-com@2x.png
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/tippytop/images/amazon-de@2x.png
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/tippytop/images/amazon-fr@2x.png
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/tippytop/images/amazon-uk@2x.png
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/tippytop/images/avito@2x.png
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/tippytop/images/bbc-uk@2x.png
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/tippytop/images/ebay-de@2x.png
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/tippytop/images/ebay@2x.png
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/tippytop/images/facebook-com@2x.png
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/tippytop/images/leboncoin@2x.png
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/tippytop/images/ok@2x.png
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/tippytop/images/olx-pl@2x.png
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/tippytop/images/reddit-com@2x.png
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/tippytop/images/twitter-com@2x.png
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/tippytop/images/vk-com@2x.png
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/tippytop/images/wikipedia-com@2x.png
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/tippytop/images/wykop@2x.png
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/tippytop/images/youtube-com@2x.png
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/content/tippytop/top_sites.json
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/data/locales.json
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/lib/ActivityStream.jsm
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/lib/ActivityStreamMessageChannel.jsm
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/lib/ActivityStreamPrefs.jsm
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/lib/LocalizationFeed.jsm
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/lib/ManualMigration.jsm
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/lib/NewTabInit.jsm
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/lib/PlacesFeed.jsm
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/lib/PrefsFeed.jsm
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/lib/Screenshots.jsm
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/lib/SnippetsFeed.jsm
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/lib/Store.jsm
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/lib/SystemTickFeed.jsm
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/lib/TelemetryFeed.jsm
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/lib/TelemetrySender.jsm
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/lib/TippyTopProvider.jsm
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/lib/TopSitesFeed.jsm
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/lib/TopStoriesFeed.jsm
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/vendor/Redux.jsm
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/vendor/react-dom.js
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/vendor/react-intl.js
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/vendor/react-redux.js
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/vendor/react.js
lib/firefox/browser/features/activity-stream@mozilla.org/chrome/content/vendor/redux.js
lib/firefox/browser/features/activity-stream@mozilla.org/install.rdf
lib/firefox/browser/features/aushelper@mozilla.org/bootstrap.js
lib/firefox/browser/features/aushelper@mozilla.org/install.rdf
lib/firefox/browser/features/clicktoplay-rollout@mozilla.org/bootstrap.js
@ -2504,6 +2596,9 @@ lib/firefox/browser/features/firefox@getpocket.com/chrome/content/pocket-content
lib/firefox/browser/features/firefox@getpocket.com/chrome/skin/linux/menuPanel.png
lib/firefox/browser/features/firefox@getpocket.com/chrome/skin/linux/menuPanel@2x.png
lib/firefox/browser/features/firefox@getpocket.com/chrome/skin/linux/pocket.css
lib/firefox/browser/features/firefox@getpocket.com/chrome/skin/shared/library-pocket-animation.svg
lib/firefox/browser/features/firefox@getpocket.com/chrome/skin/shared/pocket-animation.svg
lib/firefox/browser/features/firefox@getpocket.com/chrome/skin/shared/pocket-list.svg
lib/firefox/browser/features/firefox@getpocket.com/chrome/skin/shared/pocket.css
lib/firefox/browser/features/firefox@getpocket.com/chrome/skin/shared/pocket.svg
lib/firefox/browser/features/firefox@getpocket.com/en-US/locale/en-US/pocket.properties
@ -2512,6 +2607,83 @@ lib/firefox/browser/features/followonsearch@mozilla.com/bootstrap.js
lib/firefox/browser/features/followonsearch@mozilla.com/chrome.manifest
lib/firefox/browser/features/followonsearch@mozilla.com/chrome/content/followonsearch-fs.js
lib/firefox/browser/features/followonsearch@mozilla.com/install.rdf
lib/firefox/browser/features/formautofill@mozilla.org/bootstrap.js
lib/firefox/browser/features/formautofill@mozilla.org/chrome.manifest
lib/firefox/browser/features/formautofill@mozilla.org/chrome/content/FormAutofillFrameScript.js
lib/firefox/browser/features/formautofill@mozilla.org/chrome/content/addressReferences.js
lib/firefox/browser/features/formautofill@mozilla.org/chrome/content/editAddress.js
lib/firefox/browser/features/formautofill@mozilla.org/chrome/content/editAddress.xhtml
lib/firefox/browser/features/formautofill@mozilla.org/chrome/content/formautofill.css
lib/firefox/browser/features/formautofill@mozilla.org/chrome/content/formautofill.xml
lib/firefox/browser/features/formautofill@mozilla.org/chrome/content/formfill-anchor.svg
lib/firefox/browser/features/formautofill@mozilla.org/chrome/content/heuristicsRegexp.js
lib/firefox/browser/features/formautofill@mozilla.org/chrome/content/icon-address-save.svg
lib/firefox/browser/features/formautofill@mozilla.org/chrome/content/icon-address-update.svg
lib/firefox/browser/features/formautofill@mozilla.org/chrome/content/manageAddresses.css
lib/firefox/browser/features/formautofill@mozilla.org/chrome/content/manageAddresses.js
lib/firefox/browser/features/formautofill@mozilla.org/chrome/content/manageAddresses.xhtml
lib/firefox/browser/features/formautofill@mozilla.org/chrome/content/nameReferences.js
lib/firefox/browser/features/formautofill@mozilla.org/chrome/res/FormAutofillContent.jsm
lib/firefox/browser/features/formautofill@mozilla.org/chrome/res/FormAutofillDoorhanger.jsm
lib/firefox/browser/features/formautofill@mozilla.org/chrome/res/FormAutofillHandler.jsm
lib/firefox/browser/features/formautofill@mozilla.org/chrome/res/FormAutofillHeuristics.jsm
lib/firefox/browser/features/formautofill@mozilla.org/chrome/res/FormAutofillNameUtils.jsm
lib/firefox/browser/features/formautofill@mozilla.org/chrome/res/FormAutofillParent.jsm
lib/firefox/browser/features/formautofill@mozilla.org/chrome/res/FormAutofillPreferences.jsm
lib/firefox/browser/features/formautofill@mozilla.org/chrome/res/FormAutofillSync.jsm
lib/firefox/browser/features/formautofill@mozilla.org/chrome/res/FormAutofillUtils.jsm
lib/firefox/browser/features/formautofill@mozilla.org/chrome/res/MasterPassword.jsm
lib/firefox/browser/features/formautofill@mozilla.org/chrome/res/ProfileAutoCompleteResult.jsm
lib/firefox/browser/features/formautofill@mozilla.org/chrome/res/ProfileStorage.jsm
lib/firefox/browser/features/formautofill@mozilla.org/chrome/res/phonenumberutils/PhoneNumber.jsm
lib/firefox/browser/features/formautofill@mozilla.org/chrome/res/phonenumberutils/PhoneNumberMetaData.jsm
lib/firefox/browser/features/formautofill@mozilla.org/chrome/res/phonenumberutils/PhoneNumberNormalizer.jsm
lib/firefox/browser/features/formautofill@mozilla.org/chrome/skin/linux/autocomplete-item.css
lib/firefox/browser/features/formautofill@mozilla.org/chrome/skin/linux/editAddress.css
lib/firefox/browser/features/formautofill@mozilla.org/chrome/skin/osx/autocomplete-item.css
lib/firefox/browser/features/formautofill@mozilla.org/chrome/skin/osx/editAddress.css
lib/firefox/browser/features/formautofill@mozilla.org/chrome/skin/shared/autocomplete-item.css
lib/firefox/browser/features/formautofill@mozilla.org/chrome/skin/shared/editAddress.css
lib/firefox/browser/features/formautofill@mozilla.org/chrome/skin/windows/autocomplete-item.css
lib/firefox/browser/features/formautofill@mozilla.org/chrome/skin/windows/editAddress.css
lib/firefox/browser/features/formautofill@mozilla.org/install.rdf
lib/firefox/browser/features/onboarding@mozilla.org/bootstrap.js
lib/firefox/browser/features/onboarding@mozilla.org/chrome.manifest
lib/firefox/browser/features/onboarding@mozilla.org/chrome/content/img/figure_addons.svg
lib/firefox/browser/features/onboarding@mozilla.org/chrome/content/img/figure_customize.svg
lib/firefox/browser/features/onboarding@mozilla.org/chrome/content/img/figure_default.svg
lib/firefox/browser/features/onboarding@mozilla.org/chrome/content/img/figure_private.svg
lib/firefox/browser/features/onboarding@mozilla.org/chrome/content/img/figure_search.svg
lib/firefox/browser/features/onboarding@mozilla.org/chrome/content/img/figure_sync.svg
lib/firefox/browser/features/onboarding@mozilla.org/chrome/content/img/icons_addons-colored.svg
lib/firefox/browser/features/onboarding@mozilla.org/chrome/content/img/icons_addons-notification.svg
lib/firefox/browser/features/onboarding@mozilla.org/chrome/content/img/icons_addons.svg
lib/firefox/browser/features/onboarding@mozilla.org/chrome/content/img/icons_customize-colored.svg
lib/firefox/browser/features/onboarding@mozilla.org/chrome/content/img/icons_customize-notification.svg
lib/firefox/browser/features/onboarding@mozilla.org/chrome/content/img/icons_customize.svg
lib/firefox/browser/features/onboarding@mozilla.org/chrome/content/img/icons_default-colored.svg
lib/firefox/browser/features/onboarding@mozilla.org/chrome/content/img/icons_default-notification.svg
lib/firefox/browser/features/onboarding@mozilla.org/chrome/content/img/icons_default.svg
lib/firefox/browser/features/onboarding@mozilla.org/chrome/content/img/icons_performance-colored.svg
lib/firefox/browser/features/onboarding@mozilla.org/chrome/content/img/icons_performance.svg
lib/firefox/browser/features/onboarding@mozilla.org/chrome/content/img/icons_private-colored.svg
lib/firefox/browser/features/onboarding@mozilla.org/chrome/content/img/icons_private-notification.svg
lib/firefox/browser/features/onboarding@mozilla.org/chrome/content/img/icons_private.svg
lib/firefox/browser/features/onboarding@mozilla.org/chrome/content/img/icons_search-colored.svg
lib/firefox/browser/features/onboarding@mozilla.org/chrome/content/img/icons_search-notification.svg
lib/firefox/browser/features/onboarding@mozilla.org/chrome/content/img/icons_search.svg
lib/firefox/browser/features/onboarding@mozilla.org/chrome/content/img/icons_sync-colored.svg
lib/firefox/browser/features/onboarding@mozilla.org/chrome/content/img/icons_sync-notification.svg
lib/firefox/browser/features/onboarding@mozilla.org/chrome/content/img/icons_sync.svg
lib/firefox/browser/features/onboarding@mozilla.org/chrome/content/img/icons_tour-complete.svg
lib/firefox/browser/features/onboarding@mozilla.org/chrome/content/img/overlay-icon.svg
lib/firefox/browser/features/onboarding@mozilla.org/chrome/content/lib/UITour-lib.js
lib/firefox/browser/features/onboarding@mozilla.org/chrome/content/modules/OnboardingTourType.jsm
lib/firefox/browser/features/onboarding@mozilla.org/chrome/content/onboarding-tour-agent.js
lib/firefox/browser/features/onboarding@mozilla.org/chrome/content/onboarding.css
lib/firefox/browser/features/onboarding@mozilla.org/chrome/content/onboarding.js
lib/firefox/browser/features/onboarding@mozilla.org/en-US/locale/en-US/onboarding.properties
lib/firefox/browser/features/onboarding@mozilla.org/install.rdf
lib/firefox/browser/features/screenshots@mozilla.org/bootstrap.js
lib/firefox/browser/features/screenshots@mozilla.org/install.rdf
lib/firefox/browser/features/screenshots@mozilla.org/webextension/_locales/ach/messages.json
@ -2543,8 +2715,8 @@ lib/firefox/browser/features/screenshots@mozilla.org/webextension/_locales/fy_NL
lib/firefox/browser/features/screenshots@mozilla.org/webextension/_locales/ga_IE/messages.json
lib/firefox/browser/features/screenshots@mozilla.org/webextension/_locales/gu_IN/messages.json
lib/firefox/browser/features/screenshots@mozilla.org/webextension/_locales/he/messages.json
lib/firefox/browser/features/screenshots@mozilla.org/webextension/_locales/hr/messages.json
lib/firefox/browser/features/screenshots@mozilla.org/webextension/_locales/hi_IN/messages.json
lib/firefox/browser/features/screenshots@mozilla.org/webextension/_locales/hr/messages.json
lib/firefox/browser/features/screenshots@mozilla.org/webextension/_locales/hsb/messages.json
lib/firefox/browser/features/screenshots@mozilla.org/webextension/_locales/hu/messages.json
lib/firefox/browser/features/screenshots@mozilla.org/webextension/_locales/hy_AM/messages.json
@ -2644,37 +2816,47 @@ lib/firefox/browser/features/screenshots@mozilla.org/webextension/selector/util.
lib/firefox/browser/features/screenshots@mozilla.org/webextension/sitehelper.js
lib/firefox/browser/features/shield-recipe-client@mozilla.org/bootstrap.js
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome.manifest
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/lib/ActionSandboxManager.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/lib/CleanupManager.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/lib/ClientEnvironment.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/lib/EventEmitter.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/lib/FilterExpressions.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/lib/Heartbeat.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/lib/LogManager.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/lib/NormandyApi.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/lib/NormandyDriver.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/lib/PreferenceExperiments.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/lib/PreferenceFilters.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/lib/RecipeRunner.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/lib/Sampling.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/lib/SandboxManager.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/lib/ShieldRecipeClient.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/lib/Storage.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/lib/Utils.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/node_modules/jexl/LICENSE.txt
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/node_modules/jexl/lib/Jexl.js
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/node_modules/jexl/lib/Lexer.js
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/node_modules/jexl/lib/evaluator/Evaluator.js
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/node_modules/jexl/lib/evaluator/handlers.js
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/node_modules/jexl/lib/grammar.js
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/node_modules/jexl/lib/parser/Parser.js
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/node_modules/jexl/lib/parser/handlers.js
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/node_modules/jexl/lib/parser/states.js
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/skin/osx/Heartbeat.css
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/skin/shared/Heartbeat.css
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/skin/shared/heartbeat-icon.svg
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/skin/shared/heartbeat-star-lit.svg
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/skin/shared/heartbeat-star-off.svg
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/AboutPages.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/about-studies/about-studies.css
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/about-studies/about-studies.html
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/about-studies/about-studies.js
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/about-studies/common.js
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/about-studies/img/shield-logo.png
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/about-studies/shield-studies.js
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/shield-content-frame.js
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/content/shield-content-process.js
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/lib/ActionSandboxManager.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/lib/AddonStudies.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/lib/Addons.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/lib/CleanupManager.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/lib/ClientEnvironment.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/lib/EventEmitter.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/lib/FilterExpressions.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/lib/Heartbeat.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/lib/LogManager.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/lib/NormandyApi.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/lib/NormandyDriver.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/lib/PreferenceExperiments.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/lib/PreferenceFilters.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/lib/RecipeRunner.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/lib/Sampling.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/lib/SandboxManager.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/lib/ShieldPreferences.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/lib/ShieldRecipeClient.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/lib/Storage.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/lib/Uptake.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/lib/Utils.jsm
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/skin/osx/Heartbeat.css
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/skin/shared/Heartbeat.css
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/skin/shared/heartbeat-icon.svg
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/skin/shared/heartbeat-star-lit.svg
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/skin/shared/heartbeat-star-off.svg
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/vendor/LICENSE_THIRDPARTY
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/vendor/PropTypes.js
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/vendor/React.js
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/vendor/ReactDOM.js
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/vendor/classnames.js
lib/firefox/browser/features/shield-recipe-client@mozilla.org/chrome/vendor/mozjexl.js
lib/firefox/browser/features/shield-recipe-client@mozilla.org/install.rdf
lib/firefox/browser/features/webcompat@mozilla.org/bootstrap.js
lib/firefox/browser/features/webcompat@mozilla.org/chrome.manifest
@ -2709,7 +2891,6 @@ lib/firefox/browser/modules/ExtensionsUI.jsm
lib/firefox/browser/modules/Feeds.jsm
lib/firefox/browser/modules/FormSubmitObserver.jsm
lib/firefox/browser/modules/FormValidationHandler.jsm
lib/firefox/browser/modules/FullZoomUI.jsm
lib/firefox/browser/modules/LaterRun.jsm
lib/firefox/browser/modules/MigrationUtils.jsm
lib/firefox/browser/modules/NewTabPrefsProvider.jsm
@ -2717,14 +2898,16 @@ lib/firefox/browser/modules/NewTabRemoteResources.jsm
lib/firefox/browser/modules/NewTabSearchProvider.jsm
lib/firefox/browser/modules/NewTabURL.jsm
lib/firefox/browser/modules/NewTabWebChannel.jsm
lib/firefox/browser/modules/PageActions.jsm
lib/firefox/browser/modules/PanelMultiView.jsm
lib/firefox/browser/modules/PanelWideWidgetTracker.jsm
lib/firefox/browser/modules/ParseSymbols-worker.js
lib/firefox/browser/modules/ParseBreakpadSymbols-worker.js
lib/firefox/browser/modules/ParseCppFiltSymbols-worker.js
lib/firefox/browser/modules/ParseNMSymbols-worker.js
lib/firefox/browser/modules/ParseSymbols.jsm
lib/firefox/browser/modules/PermissionUI.jsm
lib/firefox/browser/modules/PlacesUIUtils.jsm
lib/firefox/browser/modules/PluginContent.jsm
lib/firefox/browser/modules/PreviewProvider.jsm
lib/firefox/browser/modules/ProcessHangMonitor.jsm
lib/firefox/browser/modules/ReaderParent.jsm
lib/firefox/browser/modules/RecentWindow.jsm
@ -2739,6 +2922,8 @@ lib/firefox/browser/modules/Social.jsm
lib/firefox/browser/modules/SocialService.jsm
lib/firefox/browser/modules/TransientPrefs.jsm
lib/firefox/browser/modules/UITour.jsm
lib/firefox/browser/modules/UpdateTopLevelContentWindowIDHelper.jsm
lib/firefox/browser/modules/ZoomUI.jsm
lib/firefox/browser/modules/devtools/devtools.js
lib/firefox/browser/modules/devtools/gDevTools.jsm
lib/firefox/browser/modules/distribution.js
@ -2748,7 +2933,6 @@ lib/firefox/browser/modules/sessionstore/ContentRestore.jsm
lib/firefox/browser/modules/sessionstore/DocShellCapabilities.jsm
lib/firefox/browser/modules/sessionstore/FrameTree.jsm
lib/firefox/browser/modules/sessionstore/GlobalState.jsm
lib/firefox/browser/modules/sessionstore/PageStyle.jsm
lib/firefox/browser/modules/sessionstore/PrivacyFilter.jsm
lib/firefox/browser/modules/sessionstore/RecentlyClosedTabsAndWindowsMenuUtils.jsm
lib/firefox/browser/modules/sessionstore/RunState.jsm
@ -2848,7 +3032,6 @@ lib/firefox/chrome/en-US/locale/en-US/global/finddialog.properties
lib/firefox/chrome/en-US/locale/en-US/global/global-strres.properties
lib/firefox/chrome/en-US/locale/en-US/global/global.dtd
lib/firefox/chrome/en-US/locale/en-US/global/globalKeys.dtd
lib/firefox/chrome/en-US/locale/en-US/global/headsUpDisplay.properties
lib/firefox/chrome/en-US/locale/en-US/global/intl.css
lib/firefox/chrome/en-US/locale/en-US/global/intl.properties
lib/firefox/chrome/en-US/locale/en-US/global/keys.properties
@ -2939,7 +3122,7 @@ lib/firefox/chrome/marionette/content/atom.js
lib/firefox/chrome/marionette/content/browser.js
lib/firefox/chrome/marionette/content/capture.js
lib/firefox/chrome/marionette/content/cert.js
lib/firefox/chrome/marionette/content/cookies.js
lib/firefox/chrome/marionette/content/cookie.js
lib/firefox/chrome/marionette/content/driver.js
lib/firefox/chrome/marionette/content/element.js
lib/firefox/chrome/marionette/content/error.js
@ -2950,12 +3133,13 @@ lib/firefox/chrome/marionette/content/interaction.js
lib/firefox/chrome/marionette/content/l10n.js
lib/firefox/chrome/marionette/content/legacyaction.js
lib/firefox/chrome/marionette/content/listener.js
lib/firefox/chrome/marionette/content/logging.js
lib/firefox/chrome/marionette/content/message.js
lib/firefox/chrome/marionette/content/modal.js
lib/firefox/chrome/marionette/content/navigate.js
lib/firefox/chrome/marionette/content/packets.js
lib/firefox/chrome/marionette/content/proxy.js
lib/firefox/chrome/marionette/content/reftest.js
lib/firefox/chrome/marionette/content/reftest.xul
lib/firefox/chrome/marionette/content/server.js
lib/firefox/chrome/marionette/content/session.js
lib/firefox/chrome/marionette/content/stream-utils.js
@ -3001,13 +3185,14 @@ lib/firefox/chrome/pippki/content/pippki/setp12password.xul
lib/firefox/chrome/pippki/content/pippki/viewCertDetails.xul
lib/firefox/chrome/recording/content/recording.js
lib/firefox/chrome/recording/content/recording.xul
lib/firefox/chrome/toolkit/content/extensions/dummy.xul
lib/firefox/chrome/toolkit/content/extensions/ext-alarms.js
lib/firefox/chrome/toolkit/content/extensions/ext-backgroundPage.js
lib/firefox/chrome/toolkit/content/extensions/ext-browser-content.js
lib/firefox/chrome/toolkit/content/extensions/ext-browserSettings.js
lib/firefox/chrome/toolkit/content/extensions/ext-c-backgroundPage.js
lib/firefox/chrome/toolkit/content/extensions/ext-c-extension.js
lib/firefox/chrome/toolkit/content/extensions/ext-c-identity.js
lib/firefox/chrome/toolkit/content/extensions/ext-c-permissions.js
lib/firefox/chrome/toolkit/content/extensions/ext-c-runtime.js
lib/firefox/chrome/toolkit/content/extensions/ext-c-storage.js
lib/firefox/chrome/toolkit/content/extensions/ext-c-test.js
@ -3018,6 +3203,7 @@ lib/firefox/chrome/toolkit/content/extensions/ext-downloads.js
lib/firefox/chrome/toolkit/content/extensions/ext-extension.js
lib/firefox/chrome/toolkit/content/extensions/ext-geolocation.js
lib/firefox/chrome/toolkit/content/extensions/ext-i18n.js
lib/firefox/chrome/toolkit/content/extensions/ext-identity.js
lib/firefox/chrome/toolkit/content/extensions/ext-idle.js
lib/firefox/chrome/toolkit/content/extensions/ext-management.js
lib/firefox/chrome/toolkit/content/extensions/ext-notifications.js
@ -3033,6 +3219,7 @@ lib/firefox/chrome/toolkit/content/extensions/ext-topSites.js
lib/firefox/chrome/toolkit/content/extensions/ext-webNavigation.js
lib/firefox/chrome/toolkit/content/extensions/ext-webRequest.js
lib/firefox/chrome/toolkit/content/extensions/schemas/alarms.json
lib/firefox/chrome/toolkit/content/extensions/schemas/browser_settings.json
lib/firefox/chrome/toolkit/content/extensions/schemas/contextual_identities.json
lib/firefox/chrome/toolkit/content/extensions/schemas/cookies.json
lib/firefox/chrome/toolkit/content/extensions/schemas/downloads.json
@ -3230,6 +3417,7 @@ lib/firefox/chrome/toolkit/content/global/viewSource.js
lib/firefox/chrome/toolkit/content/global/viewSource.xul
lib/firefox/chrome/toolkit/content/global/viewSourceUtils.js
lib/firefox/chrome/toolkit/content/global/viewZoomOverlay.js
lib/firefox/chrome/toolkit/content/global/win.xul
lib/firefox/chrome/toolkit/content/global/xml/XMLMonoPrint.css
lib/firefox/chrome/toolkit/content/global/xml/XMLPrettyPrint.css
lib/firefox/chrome/toolkit/content/global/xml/XMLPrettyPrint.xml
@ -3277,6 +3465,8 @@ lib/firefox/chrome/toolkit/content/mozapps/xpinstall/xpinstallItem.xml
lib/firefox/chrome/toolkit/content/passwordmgr/passwordManager.js
lib/firefox/chrome/toolkit/content/passwordmgr/passwordManager.xul
lib/firefox/chrome/toolkit/content/passwordmgr/recipes.json
lib/firefox/chrome/toolkit/content/preferences.properties
lib/firefox/chrome/toolkit/content/providers.json
lib/firefox/chrome/toolkit/content/satchel/formSubmitListener.js
lib/firefox/chrome/toolkit/content/xbl-marquee/xbl-marquee.css
lib/firefox/chrome/toolkit/content/xbl-marquee/xbl-marquee.xml
@ -3374,7 +3564,8 @@ lib/firefox/chrome/toolkit/skin/classic/global/icons/calendar-arrow-left.svg
lib/firefox/chrome/toolkit/skin/classic/global/icons/calendar-arrow-right.svg
lib/firefox/chrome/toolkit/skin/classic/global/icons/close.svg
lib/firefox/chrome/toolkit/skin/classic/global/icons/error-16.png
lib/firefox/chrome/toolkit/skin/classic/global/icons/find-arrows.svg
lib/firefox/chrome/toolkit/skin/classic/global/icons/find-next-arrow.svg
lib/firefox/chrome/toolkit/skin/classic/global/icons/find-previous-arrow.svg
lib/firefox/chrome/toolkit/skin/classic/global/icons/info.svg
lib/firefox/chrome/toolkit/skin/classic/global/icons/input-clear.svg
lib/firefox/chrome/toolkit/skin/classic/global/icons/loading.png
@ -3402,12 +3593,16 @@ lib/firefox/chrome/toolkit/skin/classic/global/in-content/radio.svg
lib/firefox/chrome/toolkit/skin/classic/global/listbox.css
lib/firefox/chrome/toolkit/skin/classic/global/media/TopLevelImageDocument.css
lib/firefox/chrome/toolkit/skin/classic/global/media/TopLevelVideoDocument.css
lib/firefox/chrome/toolkit/skin/classic/global/media/closedCaptionButton.svg
lib/firefox/chrome/toolkit/skin/classic/global/media/audioMutedButton.svg
lib/firefox/chrome/toolkit/skin/classic/global/media/audioNoAudioButton.svg
lib/firefox/chrome/toolkit/skin/classic/global/media/audioUnmutedButton.svg
lib/firefox/chrome/toolkit/skin/classic/global/media/closedCaptionButton-cc-off.svg
lib/firefox/chrome/toolkit/skin/classic/global/media/closedCaptionButton-cc-on.svg
lib/firefox/chrome/toolkit/skin/classic/global/media/error.png
lib/firefox/chrome/toolkit/skin/classic/global/media/fullscreenButton.svg
lib/firefox/chrome/toolkit/skin/classic/global/media/fullscreenEnterButton.svg
lib/firefox/chrome/toolkit/skin/classic/global/media/fullscreenExitButton.svg
lib/firefox/chrome/toolkit/skin/classic/global/media/imagedoc-darknoise.png
lib/firefox/chrome/toolkit/skin/classic/global/media/imagedoc-lightnoise.png
lib/firefox/chrome/toolkit/skin/classic/global/media/muteButton.svg
lib/firefox/chrome/toolkit/skin/classic/global/media/pauseButton.svg
lib/firefox/chrome/toolkit/skin/classic/global/media/playButton.svg
lib/firefox/chrome/toolkit/skin/classic/global/media/stalled.png
@ -3550,7 +3745,6 @@ lib/firefox/components/PageThumbsProtocol.js
lib/firefox/components/PlacesCategoriesStarter.js
lib/firefox/components/PresentationControlService.js
lib/firefox/components/PresentationDataChannelSessionTransport.js
lib/firefox/components/PresentationDeviceInfoManager.js
lib/firefox/components/PrivateBrowsingTrackingProtectionWhitelist.js
lib/firefox/components/ProcessSelector.js
lib/firefox/components/Push.js
@ -3693,6 +3887,7 @@ lib/firefox/modules/CertUtils.jsm
lib/firefox/modules/CharsetMenu.jsm
lib/firefox/modules/ChromeManifestParser.jsm
lib/firefox/modules/ClientID.jsm
lib/firefox/modules/CloudStorage.jsm
lib/firefox/modules/ClusterLib.js
lib/firefox/modules/Color.jsm
lib/firefox/modules/ColorAnalyzer_worker.js
@ -3721,6 +3916,7 @@ lib/firefox/modules/DeferredSave.jsm
lib/firefox/modules/DeferredTask.jsm
lib/firefox/modules/Deprecated.jsm
lib/firefox/modules/DownloadCore.jsm
lib/firefox/modules/DownloadHistory.jsm
lib/firefox/modules/DownloadIntegration.jsm
lib/firefox/modules/DownloadLastDir.jsm
lib/firefox/modules/DownloadList.jsm
@ -3764,6 +3960,7 @@ lib/firefox/modules/FxAccountsProfileClient.jsm
lib/firefox/modules/FxAccountsStorage.jsm
lib/firefox/modules/FxAccountsWebChannel.jsm
lib/firefox/modules/GCTelemetry.jsm
lib/firefox/modules/GMPExtractorWorker.js
lib/firefox/modules/GMPInstallManager.jsm
lib/firefox/modules/GMPUtils.jsm
lib/firefox/modules/Geometry.jsm
@ -3830,7 +4027,6 @@ lib/firefox/modules/PluralForm.jsm
lib/firefox/modules/PopupNotifications.jsm
lib/firefox/modules/Preferences.jsm
lib/firefox/modules/Prefetcher.jsm
lib/firefox/modules/PresentationDeviceInfoManager.jsm
lib/firefox/modules/PrivateBrowsingUtils.jsm
lib/firefox/modules/ProfileAge.jsm
lib/firefox/modules/Promise-backend.js
@ -3875,6 +4071,7 @@ lib/firefox/modules/Task.jsm
lib/firefox/modules/TelemetryArchive.jsm
lib/firefox/modules/TelemetryController.jsm
lib/firefox/modules/TelemetryEnvironment.jsm
lib/firefox/modules/TelemetryHealthPing.jsm
lib/firefox/modules/TelemetryLog.jsm
lib/firefox/modules/TelemetryModules.jsm
lib/firefox/modules/TelemetryReportingPolicy.jsm
@ -3888,6 +4085,7 @@ lib/firefox/modules/ThirdPartyCookieProbe.jsm
lib/firefox/modules/Timer.jsm
lib/firefox/modules/Troubleshoot.jsm
lib/firefox/modules/UITelemetry.jsm
lib/firefox/modules/UpdatePing.jsm
lib/firefox/modules/UpdateUtils.jsm
lib/firefox/modules/UserAgentOverrides.jsm
lib/firefox/modules/UserAgentUpdates.jsm
@ -3903,7 +4101,6 @@ lib/firefox/modules/WebRequestContent.js
lib/firefox/modules/WebRequestUpload.jsm
lib/firefox/modules/WindowDraggingUtils.jsm
lib/firefox/modules/XPCOMUtils.jsm
lib/firefox/modules/XPathGenerator.jsm
lib/firefox/modules/ZipUtils.jsm
lib/firefox/modules/accessibility/AccessFu.jsm
lib/firefox/modules/accessibility/Constants.jsm

View file

@ -1,48 +1,28 @@
$NetBSD: distinfo,v 1.295 2017/09/12 07:39:08 martin Exp $
$NetBSD: distinfo,v 1.296 2017/09/30 05:34:11 ryoon Exp $
SHA1 (firefox-55.0.3.source.tar.xz) = 8d9b0861ad71845d4b0e668f1981ec99e617ff36
RMD160 (firefox-55.0.3.source.tar.xz) = aa14f156f2d346bdf787222977ad0642dff084de
SHA512 (firefox-55.0.3.source.tar.xz) = 3cacc87b97871f3a8c5e97c17ef7025079cb5c81f32377d9402cdad45815ac6c4c4762c79187f1e477910161c2377c42d41de62a50b6741d5d7c1cd70e8c6416
Size (firefox-55.0.3.source.tar.xz) = 236010652 bytes
SHA1 (patch-aa) = 373af8f1df58d20e015b231625e60914554fb779
SHA1 (patch-browser_base_content_baseMenuOverlay.xul) = 1d8959e2df0b546e381cf0e5af71808e8e7bebd7
SHA1 (patch-browser_components_nsBrowserGlue.js) = c27a9a57056ed3227e60f5663d9275ef4204ab39
SHA1 (patch-browser_components_preferences_in-content-new_main.xul) = 86395a554db4b052e9f05d3b39e1cab662a752c6
SHA1 (patch-browser_components_preferences_in-content-new_privacy.js) = 17ffeaefa884e0a4a5bd9c2fc62369911fa46b98
SHA1 (patch-browser_components_preferences_in-content-new_privacy.xul) = 3113d2ff23e6e74edf23d4486b4fa8d2cac167f1
SHA1 (patch-browser_components_preferences_in-content_advanced.js) = 931d612d167e5d11d93fdc16bb6e3e5012571889
SHA1 (patch-browser_components_preferences_in-content_advanced.xul) = 1d88c1cac70e9f90d5cd96cdedfa129389bda005
SHA1 (patch-browser_confvars.sh) = 6acc570e22c82c3b48ac32dc5d0301468252b979
SHA1 (patch-browser_locales_en-US_chrome_browser_preferences-old_advanced.dtd) = 10cbe84c1c91afb3a5c35091a78b222513dc426c
SHA1 (patch-browser_locales_en-US_chrome_browser_preferences_advanced.dtd) = 786423776f159c1303efefd63f0ae3680b397ec8
SHA1 (firefox-56.0.source.tar.xz) = 806cb335752ee93b204750b89dc6940768408088
RMD160 (firefox-56.0.source.tar.xz) = b5239242e55e3031838c9807bff47b5b9c9fb420
SHA512 (firefox-56.0.source.tar.xz) = 3aeb0ff54e10c83894f61734daa4f0801a1bb499d4667adad9c78520e588eae809d0e4d61e9227206466d62c3b453e2ce9ca8198f59f5354cd1b6804c00f0990
Size (firefox-56.0.source.tar.xz) = 255389204 bytes
SHA1 (patch-aa) = a2b7c767773f462452701237b2b06c9a4f01d1b5
SHA1 (patch-build_gyp.mozbuild) = bb3a2f8c1cad0e9cfdaefa721c5992cba2e2bf50
SHA1 (patch-build_moz.configure_init.configure) = 5ec8da6b5aad7682a88b010a99e19f5d4403e6db
SHA1 (patch-build_moz.configure_keyfiles.configure) = 4d346c6298e08853681aac018f9289190bc1841a
SHA1 (patch-build_moz.configure_memory.configure) = 46237c1415eff3f99d4889a6300ec96af925f0a6
SHA1 (patch-build_moz.configure_old.configure) = 2f452e717f0c9dc8224019b58e531e5e95cc7697
SHA1 (patch-build_moz.configure_rust.configure) = 5dd3c36429ae297335556d55b99a6acb7dccf93c
SHA1 (patch-build_pgo_profileserver.py) = b5ca4f309053090aa27521c42c95d2ab2e9130ce
SHA1 (patch-config_Makefile.in) = 2ad29cef869171aa29b6c3e4ba4a5c99311e0742
SHA1 (patch-config_baseconfig.mk) = fbc3fd75bf5d794284e5703a9df227949e819136
SHA1 (patch-config_external_moz.build) = 68708dc0fb94119b9f140d05dd737e69bb6bba81
SHA1 (patch-config_rules.mk) = f23b183d0201252245e82b775e9566d76ec854b4
SHA1 (patch-config_external_moz.build) = 0a198c8578a8e8335be8d080f37c77f24c2d8b32
SHA1 (patch-config_stl__wrappers_ios) = 00d723e2f2f252485350ede5833f0bb84c1235c1
SHA1 (patch-config_stl__wrappers_ostream) = 7be7fe36704ffbdc070a113b46b4f391a598206b
SHA1 (patch-config_system-headers) = 96bc5e296d1ec9db9d764edadc36605a8f3aebe9
SHA1 (patch-config_system__wrappers_unwind.h) = b3bdac0710179b9c8f8eabd824216d0114504491
SHA1 (patch-dom_base_moz.build) = 5200cbfcf7b781324dca4c55d01bc8559a56aa4c
SHA1 (patch-dom_base_nsWrapperCache.h) = 7442735fde38d6933ffabbb14dde3a756f3e72dc
SHA1 (patch-dom_media_AudioStream.cpp) = 3d2e3d92849a355c05d7ec0ded61d551ffe0c581
SHA1 (patch-dom_media_AudioStream.h) = 26f70000cc4810834204d15b45e1469dd5f23617
SHA1 (patch-dom_media_AudioStream.cpp) = 5ccc3b6a09e869a5a50998118157da7d6cc517ef
SHA1 (patch-dom_media_AudioStream.h) = dec0f7e4ec7541b3e5b5574b6ebfae9a8957e165
SHA1 (patch-dom_media_CubebUtils.cpp) = 3632cd0dd4b95f53f01050b8898b33fe198916b6
SHA1 (patch-dom_media_MediaPrefs.h) = b5815efdfbf79a7ff92197bbd906f702565ea46f
SHA1 (patch-dom_media_gtest_moz.build) = 6a58e050327ffcdcf2a4041946ddb79d6793d2d9
SHA1 (patch-dom_media_moz.build) = 844dbb94463b8aab11649a5aa11142de0179d86c
SHA1 (patch-dom_media_platforms_ffmpeg_ffvpx_FFVPXRuntimeLinker.cpp) = f2965930c50961b42576a983e93a08d67da50a2a
SHA1 (patch-dom_messagechannel_MessagePort.cpp) = 1710b4da694aaeb8d929f1a143f24f8a615c2776
SHA1 (patch-dom_messagechannel_MessagePortChild.h) = 73a2ac4702677ad68af0b1fa1247fd0a1d4e4d95
SHA1 (patch-extensions_spellcheck_hunspell_glue_mozHunspell.cpp) = 30abff0aaabff07e13939a1571cefc5216760109
SHA1 (patch-gfx_2d_ScaledFontBase.cpp) = 9684d54aa70e3b9b968f121287611cdd9e277f94
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
@ -62,69 +42,44 @@ SHA1 (patch-ipc_chromium_src_base_platform__thread.h) = 3ed4f482a8ccbd5db216c262
SHA1 (patch-ipc_chromium_src_base_platform__thread__posix.cc) = 937a843a7acf3085056e309ea5ab047bd9b95088
SHA1 (patch-ipc_chromium_src_base_process__util.h) = 4b24c3467866a601d68bb83f44e5fd38fb27188d
SHA1 (patch-ipc_glue_CrossProcessSemaphore.h) = 778a569887d8ad082abc2fa2fe89a0a943e84d64
SHA1 (patch-ipc_glue_CrossProcessSemaphore__posix.cpp) = d1afeb74af97cf30c520b42a8d444ff95ef592a9
SHA1 (patch-ipc_glue_CrossProcessSemaphore__posix.cpp) = 3052338871447cedaeafe8369afe82233183c884
SHA1 (patch-ipc_glue_GeckoChildProcessHost.cpp) = 260c29bacd8bf265951b7a412f850bf2b292c836
SHA1 (patch-js_src_build_moz.build) = 4597a427262d0eb6ce8d14c0f557bfbe3f053e61
SHA1 (patch-js_src_jit_ExecutableAllocator.h) = aaa7d4cf5b5464db6ed015e63d616adaa59a835d
SHA1 (patch-js_src_jit_arm_Architecture-arm.cpp) = f0b554c169643b8447b4f29168d61ea257b18782
SHA1 (patch-js_src_jit_none_MacroAssembler-none.h) = e443b009008e7aedbe1d3595021ecac3e27a99fd
SHA1 (patch-js_xpconnect_src_XPCConvert.cpp) = 915777e9bb5366be41866cdb6ea0ad2b1c006dde
SHA1 (patch-js_xpconnect_src_xpcprivate.h) = 97a221c76593be712f670aa409f2f1ad5dc20628
SHA1 (patch-media_libcubeb_gtest_moz.build) = ebb4be6e6bca4a0ed6858516ec9fdb7828bbe2e1
SHA1 (patch-media_libcubeb_src_cubeb.c) = 1b1b8d57eb710cad13518ded79a0ddee2681881b
SHA1 (patch-media_libcubeb_src_cubeb__alsa.c) = 8c99af543c49c23fea102c4ad9ffd617cc90631e
SHA1 (patch-media_libcubeb_src_cubeb__alsa.c) = 1b2890eea9d1b69ace8e5d6806e49ce4eb011236
SHA1 (patch-media_libcubeb_src_cubeb__jack.cpp) = 1b514a97e3c15d03acdc873d23ff665112984293
SHA1 (patch-media_libcubeb_src_cubeb__oss.c) = 88cdfb9b9aa8c2607ca79bfa7fce4353e65638f7
SHA1 (patch-media_libcubeb_src_moz.build) = 54fa1221f80d460de115bfad9fbb5936403d2980
SHA1 (patch-media_libcubeb_src_moz.build) = 5fca6701cc890120a04483f52c25242ee7b1c051
SHA1 (patch-media_libcubeb_update.sh) = e8babe57ea7f0f32658b391e9c4f6310e57fc38c
SHA1 (patch-media_libsoundtouch_src_cpu__detect__x86.cpp) = db61737afa7773e8cbd82976de3a02c917174696
SHA1 (patch-media_libsoundtouch_src_soundtouch__perms.h) = 2d08a3b4176c155c57b458cb78043318b68d8fe2
SHA1 (patch-media_libstagefright_binding_DecoderData.cpp) = 6815fbab38ea39b260583724ee95c32e6196a030
SHA1 (patch-media_libstagefright_binding_MP4Metadata.cpp) = 7246a674a475b2b23a82798f74fa5d5fbbbfb968
SHA1 (patch-media_libstagefright_binding_include_mp4__demuxer_DecoderData.h) = eb7d82470943ad8eecd1c955a578c23aa2c390e1
SHA1 (patch-media_libstagefright_binding_include_mp4__demuxer_MP4Metadata.h) = 514212cd98f74eea72f0a3acd0b4205aa4c0d3a2
SHA1 (patch-media_libstagefright_gtest_moz.build) = a1436e6289a8eb1a00ab7d5836052a3cd721154b
SHA1 (patch-media_libstagefright_moz.build) = 35abbfee1d35533dc77a8362053f797208b58535
SHA1 (patch-media_libtheora_lib_arm_armcpu.c) = 3ef05c05799d56b3c160634327d90dd33764c3df
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_libyuv_source_mjpeg__decoder.cc) = 8a264c439fa4749cd7c5acf96e1ae3f9bae0a886
SHA1 (patch-media_openmax__dl_dl_api_armCOMM__s.h) = 40b3fa8aaec77d3bfec810f0bc4e76eae449d7c7
SHA1 (patch-memory_mozalloc_mozalloc__abort.cpp) = 9e94002b01664a42af415639dc94caa127a73ac0
SHA1 (patch-mobile_android_confvars.sh) = 42d4ba1737dc5b4591f892c804c78fa4e6ddfd71
SHA1 (patch-modules_libjar_nsZipArchive.cpp) = 133b1658839d9b0f932a601670862c1f4cd70881
SHA1 (patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc) = 0141dd1372c13ea1fce6e2f5ffb65e0cb0f3a13e
SHA1 (patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc) = a69bc7b7096b410582e725f9dbec57fee90d6686
SHA1 (patch-media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi) = 772a858fb74d404a6b86e5634bc3eec586a1b06a
SHA1 (patch-modules_pdfium_update.sh) = fb8e80310d8b6784140c8f6c4186427f7090b4db
SHA1 (patch-mozglue_build_arm.cpp) = f41ace63b3f1d2a8ccaffc98c3c64d1e22af5249
SHA1 (patch-mozglue_build_arm.h) = 5e272f4e19b9681d43a63c45d78b0e44a392c7dc
SHA1 (patch-netwerk_base_moz.build) = fba8c69b33cbf9ed59f54a7daf63e6dfa313a36b
SHA1 (patch-netwerk_base_nsStandardURL.cpp) = d0aec4ac554ab53994179fa76c9df67ccc2495e3
SHA1 (patch-netwerk_dns_moz.build) = d4ad35ee7152ca206156403954cbd247d1252ab0
SHA1 (patch-third__party_python_futures_concurrent_futures_process.py) = 5e5c77334d29814f7548450163b625f451b74942
SHA1 (patch-servo_components_style_build__gecko.rs) = fca2260a70b496fc010f165ff4d68788b7e28632
SHA1 (patch-toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h) = 5ffb0782bbbff2fd17ad71e98b349b4ec3dc6c8c
SHA1 (patch-toolkit_components_resistfingerprinting_nsRFPService.cpp) = 14d71a5197b09730b7065f95ee6c4ba3572d8241
SHA1 (patch-toolkit_components_telemetry_Histograms.json) = 5232d568a68b3396b8deff04820a913f7e85cf99
SHA1 (patch-toolkit_components_terminator_nsTerminator.cpp) = 5b6d2e5c9f685d32894898d3ef3aec09a1a1e5ce
SHA1 (patch-toolkit_crashreporter_google-breakpad_src_third_party_curl_curlbuild.h) = 614ea9b9ca2cb41c075cf69e6c732a714afaf3e3
SHA1 (patch-toolkit_library_gtest_moz.build) = a8ac2a2930ac00f891a695639acfadef2679a599
SHA1 (patch-toolkit_library_moz.build) = f77301bd81d37e7a599dbff57fba47428e4a00e2
SHA1 (patch-toolkit_moz.configure) = 2647f5b2c278d5d710a0faade7b48ccc2fbfc11f
SHA1 (patch-toolkit_toolkit.mozbuild) = e7c56631a061f80bfb5a6c8825ba42d5f2c1e76a
SHA1 (patch-toolkit_crashreporter_google-breakpad_src_third_party_curl_curlbuild.h) = 0730c0c5d8e0865aa8a2f311b27559a3f6793a52
SHA1 (patch-toolkit_library_moz.build) = 34e757ad08ebaee1cbc69993ec0f6774d41a14a2
SHA1 (patch-toolkit_moz.configure) = 274ad8d6957a09d3527bdbb0d86c36f6c24104d9
SHA1 (patch-toolkit_xre_glxtest.cpp) = cf048491778610454b914400e53072afedd96e7b
SHA1 (patch-toolkit_xre_nsAppRunner.cpp) = 40c3822ed227108fa6d90323dc19828d5e3ac996
SHA1 (patch-toolkit_xre_nsEmbedFunctions.cpp) = 4a6ae13adfdfc63d50c1a53ee71aad1ee82e6131
SHA1 (patch-xpcom_base_nsDebugImpl.cpp) = 80d251f2227ddc78f435ec2a5aa19c6512c1c15c
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_moz.build) = 528f7254966d883c18e33744e28780a93055d560
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) = ab558da218e53319857d85cf1fb84f4737ac643a
SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__netbsd__m68k.cpp) = b6dc5d54eeaa908d914116429e61f4b65a6a5f8e
SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__ppc__netbsd.cpp) = 360e2f713d90e06cde738f876e99cc21cf082b05
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
SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcstubs__ppc__netbsd.cpp) = e4fe10d96f3183b79c5150ad9f1f7baa44081aa6
SHA1 (patch-xpcom_rust_nsstring_gtest_moz.build) = 3ab2c533b57e9f55a20afffb521a4498418b33eb

View file

@ -1,4 +1,4 @@
# $NetBSD: mozilla-common.mk,v 1.97 2017/08/10 14:46:15 ryoon Exp $
# $NetBSD: mozilla-common.mk,v 1.98 2017/09/30 05:34:11 ryoon Exp $
#
# common Makefile fragment for mozilla packages based on gecko 2.0.
#
@ -20,6 +20,9 @@ USE_TOOLS+= pkg-config perl gmake autoconf213 unzip zip
USE_LANGUAGES+= c99 c++
UNLIMIT_RESOURCES+= datasize
CONFIGURE_ENV+= BINDGEN_CFLAGS="-isystem${PREFIX}/include/nspr \
-isystem${X11BASE}/include/pixman-1"
test:
cd ${WRKSRC}/${OBJDIR}/dist/bin && \
./run-mozilla.sh ${WRKSRC}/mach check-spidermonkey
@ -72,13 +75,6 @@ CONFIGURE_ARGS+= --enable-url-classifier
CONFIGURE_ARGS+= --disable-icf
CONFIGURE_ARGS+= --disable-updater
#.if (${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64") && ${OPSYS} != "SunOS"
#BUILD_DEPENDS+= cargo-[0-9]*:../../devel/cargo
#CONFIGURE_ARGS+= --enable-rust
#.else
CONFIGURE_ARGS+= --disable-rust
#.endif
SUBST_CLASSES+= fix-paths
SUBST_STAGE.fix-paths= pre-configure
SUBST_MESSAGE.fix-paths= Fixing absolute paths.
@ -193,6 +189,9 @@ BUILDLINK_API_DEPENDS.nss+= nss>=3.29.5
.include "../../graphics/MesaLib/buildlink3.mk"
BUILDLINK_API_DEPENDS.cairo+= cairo>=1.10.2nb4
.include "../../graphics/cairo/buildlink3.mk"
.include "../../lang/clang/buildlink3.mk"
BUILDLINK_API_DEPENDS.rust+= rust>=1.20.0
.include "../../lang/rust/buildlink3.mk"
BUILDLINK_API_DEPENDS.libvpx+= libvpx>=1.3.0
.include "../../multimedia/libvpx/buildlink3.mk"
.include "../../net/libIDL/buildlink3.mk"

View file

@ -1,12 +1,12 @@
$NetBSD: patch-aa,v 1.53 2017/08/10 14:46:15 ryoon Exp $
$NetBSD: patch-aa,v 1.54 2017/09/30 05:34:11 ryoon Exp $
* Disable libjpeg-turbo check
* Add system libraries option
* Add OSS audio support
--- old-configure.in.orig 2017-07-31 16:20:51.000000000 +0000
--- old-configure.in.orig 2017-09-14 20:15:53.000000000 +0000
+++ old-configure.in
@@ -2061,11 +2061,7 @@ if test "$MOZ_SYSTEM_JPEG" = 1; then
@@ -1963,11 +1963,7 @@ if test "$MOZ_SYSTEM_JPEG" = 1; then
#include <jpeglib.h> ],
[ #if JPEG_LIB_VERSION < $MOZJPEG
#error "Insufficient JPEG library version ($MOZJPEG required)."
@ -19,25 +19,7 @@ $NetBSD: patch-aa,v 1.53 2017/08/10 14:46:15 ryoon Exp $
MOZ_SYSTEM_JPEG=1,
AC_MSG_ERROR([Insufficient JPEG library version for --with-system-jpeg]))
fi
@@ -2333,9 +2329,14 @@ if test -n "$MOZ_MULET"; then
fi
# Propagate feature switches for code written in rust from confvars.sh
-if test -n "$MOZ_RUST_URLPARSE"; then
- AC_DEFINE(MOZ_RUST_URLPARSE)
- AC_SUBST(MOZ_RUST_URLPARSE)
+if test -n "$MOZ_RUST"; then
+ if test -n "$MOZ_RUST_MP4PARSE"; then
+ AC_DEFINE(MOZ_RUST_MP4PARSE)
+ fi
+ if test -n "$MOZ_RUST_URLPARSE"; then
+ AC_DEFINE(MOZ_RUST_URLPARSE)
+ AC_SUBST(MOZ_RUST_URLPARSE)
+ fi
fi
AC_SUBST(MOZ_PHOENIX)
@@ -2712,6 +2713,9 @@ if test -n "$MOZ_WEBRTC"; then
@@ -2606,6 +2602,9 @@ if test -n "$MOZ_WEBRTC"; then
AC_DEFINE(MOZ_WEBRTC_ASSERT_ALWAYS)
MOZ_RAW=1
@ -47,7 +29,7 @@ $NetBSD: patch-aa,v 1.53 2017/08/10 14:46:15 ryoon Exp $
dnl enable once Signaling lands
MOZ_WEBRTC_SIGNALING=1
AC_DEFINE(MOZ_WEBRTC_SIGNALING)
@@ -2754,7 +2758,7 @@ dnl Use integers over floats for audio o
@@ -2648,7 +2647,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.
@ -56,9 +38,9 @@ $NetBSD: patch-aa,v 1.53 2017/08/10 14:46:15 ryoon Exp $
MOZ_SAMPLE_TYPE_S16=1
AC_DEFINE(MOZ_SAMPLE_TYPE_S16)
AC_SUBST(MOZ_SAMPLE_TYPE_S16)
@@ -2845,6 +2849,111 @@ if test -n "$MOZ_OMX_PLUGIN"; then
fi
@@ -2686,6 +2685,111 @@ if test -n "$MOZ_APPLEMEDIA"; then
fi
fi # COMPILE_ENVIRONMENT
+dnl ========================================================
+dnl Check for libogg
@ -168,7 +150,7 @@ $NetBSD: patch-aa,v 1.53 2017/08/10 14:46:15 ryoon Exp $
dnl system libvpx Support
dnl ========================================================
MOZ_ARG_WITH_BOOL(system-libvpx,
@@ -3005,6 +3114,67 @@ AC_DEFINE(MOZ_WEBM_ENCODER)
@@ -2846,6 +2950,67 @@ AC_DEFINE(MOZ_WEBM_ENCODER)
AC_SUBST(MOZ_WEBM_ENCODER)
dnl ==================================
@ -236,7 +218,7 @@ $NetBSD: patch-aa,v 1.53 2017/08/10 14:46:15 ryoon Exp $
dnl = Check alsa availability on Linux
dnl ==================================
@@ -4690,6 +4860,27 @@ dnl ====================================
@@ -4396,6 +4561,27 @@ dnl ====================================
AC_SUBST(MOZ_LINUX_32_SSE2_STARTUP_ERROR)
dnl ========================================================

View file

@ -1,13 +0,0 @@
$NetBSD: patch-browser_base_content_baseMenuOverlay.xul,v 1.1 2017/08/10 14:46:15 ryoon Exp $
--- browser/base/content/baseMenuOverlay.xul.orig 2017-07-31 16:20:46.000000000 +0000
+++ browser/base/content/baseMenuOverlay.xul
@@ -61,7 +61,7 @@
onclick="checkForMiddleClick(this, event);"
label="&helpKeyboardShortcuts.label;"
accesskey="&helpKeyboardShortcuts.accesskey;"/>
-#ifdef MOZ_TELEMETRY_REPORTING
+#ifdef MOZ_SERVICES_HEALTHREPORT
<menuitem id="healthReport"
label="&healthReport2.label;"
accesskey="&healthReport2.accesskey;"

View file

@ -1,26 +0,0 @@
$NetBSD: patch-browser_components_nsBrowserGlue.js,v 1.3 2017/08/10 14:46:15 ryoon Exp $
--- browser/components/nsBrowserGlue.js.orig 2017-07-31 16:20:47.000000000 +0000
+++ browser/components/nsBrowserGlue.js
@@ -532,9 +532,7 @@ BrowserGlue.prototype = {
os.addObserver(this, "distribution-customization-complete");
os.addObserver(this, "handle-xul-text-link");
os.addObserver(this, "profile-before-change");
- if (AppConstants.MOZ_TELEMETRY_REPORTING) {
- os.addObserver(this, "keyword-search");
- }
+ os.addObserver(this, "keyword-search");
os.addObserver(this, "browser-search-engine-modified");
os.addObserver(this, "restart-in-safe-mode");
os.addObserver(this, "flash-plugin-hang");
@@ -587,9 +585,7 @@ BrowserGlue.prototype = {
os.removeObserver(this, "places-database-locked");
os.removeObserver(this, "handle-xul-text-link");
os.removeObserver(this, "profile-before-change");
- if (AppConstants.MOZ_TELEMETRY_REPORTING) {
- os.removeObserver(this, "keyword-search");
- }
+ os.removeObserver(this, "keyword-search");
os.removeObserver(this, "browser-search-engine-modified");
os.removeObserver(this, "flash-plugin-hang");
os.removeObserver(this, "xpi-signature-changed");

View file

@ -1,16 +0,0 @@
$NetBSD: patch-browser_components_preferences_in-content-new_main.xul,v 1.1 2017/08/10 14:46:15 ryoon Exp $
--- browser/components/preferences/in-content-new/main.xul.orig 2017-07-31 16:20:48.000000000 +0000
+++ browser/components/preferences/in-content-new/main.xul
@@ -183,11 +183,9 @@
name="layout.spellcheckDefault"
type="int"/>
-#ifdef MOZ_TELEMETRY_REPORTING
<preference id="toolkit.telemetry.enabled"
name="toolkit.telemetry.enabled"
type="bool"/>
-#endif
<preference id="browser.preferences.defaultPerformanceSettings.enabled"
name="browser.preferences.defaultPerformanceSettings.enabled"

View file

@ -1,79 +0,0 @@
$NetBSD: patch-browser_components_preferences_in-content-new_privacy.js,v 1.1 2017/08/10 14:46:15 ryoon Exp $
--- browser/components/preferences/in-content-new/privacy.js.orig 2017-07-31 16:20:48.000000000 +0000
+++ browser/components/preferences/in-content-new/privacy.js
@@ -321,11 +321,9 @@ var gPrivacyPane = {
this.initSubmitCrashes();
}
this.initTelemetry();
- if (AppConstants.MOZ_TELEMETRY_REPORTING) {
- this.initSubmitHealthReport();
- setEventListener("submitHealthReportBox", "command",
- gPrivacyPane.updateSubmitHealthReport);
- }
+ this.initSubmitHealthReport();
+ setEventListener("submitHealthReportBox", "command",
+ gPrivacyPane.updateSubmitHealthReport);
// Append search keywords into the elements could open subdialogs.
let bundlePrefs = document.getElementById("bundlePreferences");
@@ -1414,8 +1412,10 @@ var gPrivacyPane = {
* In all cases, set up the Learn More link sanely.
*/
initTelemetry() {
- if (AppConstants.MOZ_TELEMETRY_REPORTING) {
- this._setupLearnMoreLink("toolkit.telemetry.infoURL", "telemetryLearnMore");
+ this._setupLearnMoreLink("toolkit.telemetry.infoURL", "telemetryLearnMore");
+ // If we're not sending any Telemetry, disable the telemetry upload checkbox as well.
+ if (!AppConstants.MOZ_TELEMETRY_REPORTING) {
+ document.getElementById("submitTelemetryBox").setAttribute("disabled", "true");
}
},
@@ -1439,9 +1439,6 @@ var gPrivacyPane = {
* @param {Boolean} aEnabled False disables the controls, true enables them.
*/
setTelemetrySectionEnabled(aEnabled) {
- if (!AppConstants.MOZ_TELEMETRY_REPORTING) {
- return;
- }
// If FHR is disabled, additional data sharing should be disabled as well.
let disabled = !aEnabled;
document.getElementById("submitTelemetryBox").disabled = disabled;
@@ -1456,19 +1453,21 @@ var gPrivacyPane = {
* Initialize the health report service reference and checkbox.
*/
initSubmitHealthReport() {
- if (!AppConstants.MOZ_TELEMETRY_REPORTING) {
- return;
- }
this._setupLearnMoreLink("datareporting.healthreport.infoURL", "FHRLearnMore");
let checkbox = document.getElementById("submitHealthReportBox");
- if (Services.prefs.prefIsLocked(PREF_UPLOAD_ENABLED)) {
+ // Telemetry is only sending data if MOZ_TELEMETRY_REPORTING is defined.
+ // We still want to display the preferences panel if that's not the case, but
+ // we want it to be disabled and unchecked.
+ if (Services.prefs.prefIsLocked(PREF_UPLOAD_ENABLED) ||
+ !AppConstants.MOZ_TELEMETRY_REPORTING) {
checkbox.setAttribute("disabled", "true");
return;
}
- checkbox.checked = Services.prefs.getBoolPref(PREF_UPLOAD_ENABLED);
+ checkbox.checked = Services.prefs.getBoolPref(PREF_UPLOAD_ENABLED) &&
+ AppConstants.MOZ_TELEMETRY_REPORTING;
this.setTelemetrySectionEnabled(checkbox.checked);
},
@@ -1476,9 +1475,6 @@ var gPrivacyPane = {
* Update the health report preference with state from checkbox.
*/
updateSubmitHealthReport() {
- if (!AppConstants.MOZ_TELEMETRY_REPORTING) {
- return;
- }
let checkbox = document.getElementById("submitHealthReportBox");
Services.prefs.setBoolPref(PREF_UPLOAD_ENABLED, checkbox.checked);
this.setTelemetrySectionEnabled(checkbox.checked);

View file

@ -1,36 +0,0 @@
$NetBSD: patch-browser_components_preferences_in-content-new_privacy.xul,v 1.1 2017/08/10 14:46:15 ryoon Exp $
--- browser/components/preferences/in-content-new/privacy.xul.orig 2017-07-31 16:20:48.000000000 +0000
+++ browser/components/preferences/in-content-new/privacy.xul
@@ -760,9 +760,14 @@
</groupbox>
<!-- Data Choices -->
-#ifdef MOZ_TELEMETRY_REPORTING
-<groupbox id="historyGroup" data-category="panePrivacy" data-subcategory="reports" hidden="true">
+#ifdef MOZ_DATA_REPORTING
+
+<groupbox id="telemetryGroup" data-category="panePrivacy" data-subcategory="reports" hidden="true">
<caption><label>&reports.label;</label></caption>
+#ifndef MOZ_TELEMETRY_REPORTING
+ <description id="TelemetryDisabledDesc" control="telemetryGroup">&healthReportingDisabled.label;</description>
+#endif
+
<hbox align="center">
<checkbox id="submitHealthReportBox" label="&enableHealthReport.label;"
accesskey="&enableHealthReport.accesskey;"/>
@@ -782,14 +787,9 @@
class="indent">&telemetryDesc.label;</description>
</vbox>
</groupbox>
-#endif
-#ifdef MOZ_DATA_REPORTING
#ifdef MOZ_CRASHREPORTER
<groupbox id="crashReporterGroup" data-category="panePrivacy" data-subcategory="reports" hidden="true">
-#ifndef MOZ_TELEMETRY_REPORTING
-<caption><label>&reports.label;</label></caption>
-#endif
<hbox align="center">
<checkbox id="automaticallySubmitCrashesBox"
preference="browser.crashReports.unsubmittedCheck.autoSubmit"

View file

@ -1,111 +0,0 @@
$NetBSD: patch-browser_components_preferences_in-content_advanced.js,v 1.1 2017/08/10 14:46:15 ryoon Exp $
--- browser/components/preferences/in-content/advanced.js.orig 2017-07-31 16:20:48.000000000 +0000
+++ browser/components/preferences/in-content/advanced.js
@@ -46,9 +46,7 @@ var gAdvancedPane = {
this.initSubmitCrashes();
}
this.initTelemetry();
- if (AppConstants.MOZ_TELEMETRY_REPORTING) {
- this.initSubmitHealthReport();
- }
+ this.initSubmitHealthReport();
this.updateOnScreenKeyboardVisibility();
this.updateCacheSizeInputField();
this.updateActualCacheSize();
@@ -78,10 +76,8 @@ var gAdvancedPane = {
gAdvancedPane.updateHardwareAcceleration);
setEventListener("advancedPrefs", "select",
gAdvancedPane.tabSelectionChanged);
- if (AppConstants.MOZ_TELEMETRY_REPORTING) {
- setEventListener("submitHealthReportBox", "command",
- gAdvancedPane.updateSubmitHealthReport);
- }
+ setEventListener("submitHealthReportBox", "command",
+ gAdvancedPane.updateSubmitHealthReport);
setEventListener("connectionSettings", "command",
gAdvancedPane.showConnections);
@@ -293,8 +289,10 @@ var gAdvancedPane = {
* In all cases, set up the Learn More link sanely.
*/
initTelemetry() {
- if (AppConstants.MOZ_TELEMETRY_REPORTING) {
- this._setupLearnMoreLink("toolkit.telemetry.infoURL", "telemetryLearnMore");
+ this._setupLearnMoreLink("toolkit.telemetry.infoURL", "telemetryLearnMore");
+ // If we're not sending any Telemetry, disable the telemetry upload checkbox as well.
+ if (!AppConstants.MOZ_TELEMETRY_REPORTING) {
+ document.getElementById("submitTelemetryBox").setAttribute("disabled", "true");
}
},
@@ -303,46 +301,45 @@ var gAdvancedPane = {
* @param {Boolean} aEnabled False disables the controls, true enables them.
*/
setTelemetrySectionEnabled(aEnabled) {
- if (AppConstants.MOZ_TELEMETRY_REPORTING) {
- // If FHR is disabled, additional data sharing should be disabled as well.
- let disabled = !aEnabled;
- document.getElementById("submitTelemetryBox").disabled = disabled;
- if (disabled) {
- // If we disable FHR, untick the telemetry checkbox.
- Services.prefs.setBoolPref("toolkit.telemetry.enabled", false);
- }
- document.getElementById("telemetryDataDesc").disabled = disabled;
+ // If FHR is disabled, additional data sharing should be disabled as well.
+ let disabled = !aEnabled;
+ document.getElementById("submitTelemetryBox").disabled = disabled;
+ if (disabled) {
+ // If we disable FHR, untick the telemetry checkbox.
+ Services.prefs.setBoolPref("toolkit.telemetry.enabled", false);
}
+ document.getElementById("telemetryDataDesc").disabled = disabled;
},
/**
* Initialize the health report service reference and checkbox.
*/
initSubmitHealthReport() {
- if (AppConstants.MOZ_TELEMETRY_REPORTING) {
- this._setupLearnMoreLink("datareporting.healthreport.infoURL", "FHRLearnMore");
-
- let checkbox = document.getElementById("submitHealthReportBox");
+ this._setupLearnMoreLink("datareporting.healthreport.infoURL", "FHRLearnMore");
- if (Services.prefs.prefIsLocked(PREF_UPLOAD_ENABLED)) {
- checkbox.setAttribute("disabled", "true");
- return;
- }
+ let checkbox = document.getElementById("submitHealthReportBox");
- checkbox.checked = Services.prefs.getBoolPref(PREF_UPLOAD_ENABLED);
- this.setTelemetrySectionEnabled(checkbox.checked);
+ // Telemetry is only sending data if MOZ_TELEMETRY_REPORTING is defined.
+ // We still want to display the preferences panel if that's not the case, but
+ // we want it to be disabled and unchecked.
+ if (Services.prefs.prefIsLocked(PREF_UPLOAD_ENABLED) ||
+ !AppConstants.MOZ_TELEMETRY_REPORTING) {
+ checkbox.setAttribute("disabled", "true");
+ return;
}
+
+ checkbox.checked = Services.prefs.getBoolPref(PREF_UPLOAD_ENABLED) &&
+ AppConstants.MOZ_TELEMETRY_REPORTING;
+ this.setTelemetrySectionEnabled(checkbox.checked);
},
/**
* Update the health report preference with state from checkbox.
*/
updateSubmitHealthReport() {
- if (AppConstants.MOZ_TELEMETRY_REPORTING) {
- let checkbox = document.getElementById("submitHealthReportBox");
- Services.prefs.setBoolPref(PREF_UPLOAD_ENABLED, checkbox.checked);
- this.setTelemetrySectionEnabled(checkbox.checked);
- }
+ let checkbox = document.getElementById("submitHealthReportBox");
+ Services.prefs.setBoolPref(PREF_UPLOAD_ENABLED, checkbox.checked);
+ this.setTelemetrySectionEnabled(checkbox.checked);
},
updateOnScreenKeyboardVisibility() {

View file

@ -1,35 +0,0 @@
$NetBSD: patch-browser_components_preferences_in-content_advanced.xul,v 1.1 2017/08/10 14:46:15 ryoon Exp $
--- browser/components/preferences/in-content/advanced.xul.orig 2017-07-31 16:20:48.000000000 +0000
+++ browser/components/preferences/in-content/advanced.xul
@@ -37,12 +37,9 @@
<preference id="layout.spellcheckDefault"
name="layout.spellcheckDefault"
type="int"/>
-
-#ifdef MOZ_TELEMETRY_REPORTING
<preference id="toolkit.telemetry.enabled"
name="toolkit.telemetry.enabled"
type="bool"/>
-#endif
<!-- Data Choices tab -->
#ifdef MOZ_CRASHREPORTER
@@ -189,6 +186,9 @@
<!-- Data Choices -->
<tabpanel id="dataChoicesPanel" orient="vertical">
#ifdef MOZ_TELEMETRY_REPORTING
+ <description>&healthReportingDisabled.label;</description>
+ <separator class="thin"/>
+#endif
<groupbox>
<caption>
<checkbox id="submitHealthReportBox" label="&enableHealthReport.label;"
@@ -216,7 +216,6 @@
</hbox>
</vbox>
</groupbox>
-#endif
#ifdef MOZ_CRASHREPORTER
<groupbox>
<caption>

View file

@ -1,12 +0,0 @@
$NetBSD: patch-browser_confvars.sh,v 1.2 2017/08/10 14:46:15 ryoon Exp $
--- browser/confvars.sh.orig 2017-07-31 16:20:48.000000000 +0000
+++ browser/confvars.sh
@@ -30,6 +30,7 @@ if test "$OS_ARCH" = "WINNT"; then
fi
fi
+MOZ_RUST_MP4PARSE=1
if test "$NIGHTLY_BUILD"; then
MOZ_RUST_URLPARSE=1
fi

View file

@ -1,16 +0,0 @@
$NetBSD: patch-browser_locales_en-US_chrome_browser_preferences-old_advanced.dtd,v 1.1 2017/08/10 14:46:15 ryoon Exp $
--- browser/locales/en-US/chrome/browser/preferences-old/advanced.dtd.orig 2017-07-31 16:20:49.000000000 +0000
+++ browser/locales/en-US/chrome/browser/preferences-old/advanced.dtd
@@ -28,6 +28,11 @@
<!ENTITY dataChoicesTab.label "Data Choices">
+<!-- LOCALIZATION NOTE (healthReportingDisabled.label): This message is displayed above
+disabled data sharing options in developer builds or builds with no Telemetry support
+available. -->
+<!ENTITY healthReportingDisabled.label "Data reporting is disabled for this build configuration">
+
<!ENTITY healthReportDesc.label "Helps you understand your browser performance and shares data with &vendorShortName; about your browser health">
<!ENTITY enableHealthReport.label "Enable &brandShortName; Health Report">
<!ENTITY enableHealthReport.accesskey "R">

View file

@ -1,16 +0,0 @@
$NetBSD: patch-browser_locales_en-US_chrome_browser_preferences_advanced.dtd,v 1.1 2017/08/10 14:46:15 ryoon Exp $
--- browser/locales/en-US/chrome/browser/preferences/advanced.dtd.orig 2017-07-31 16:20:49.000000000 +0000
+++ browser/locales/en-US/chrome/browser/preferences/advanced.dtd
@@ -28,6 +28,11 @@
<!ENTITY dataChoicesTab.label "Data Choices">
+<!-- LOCALIZATION NOTE (healthReportingDisabled.label): This message is displayed above
+disabled data sharing options in developer builds or builds with no Telemetry support
+available. -->
+<!ENTITY healthReportingDisabled.label "Data reporting is disabled for this build configuration">
+
<!ENTITY healthReportDesc.label "Helps you understand your browser performance and shares data with &vendorShortName; about your browser health">
<!ENTITY enableHealthReport.label "Enable &brandShortName; Health Report">
<!ENTITY enableHealthReport.accesskey "R">

View file

@ -1,71 +0,0 @@
$NetBSD: patch-build_moz.configure_rust.configure,v 1.2 2017/08/10 14:46:15 ryoon Exp $
--- build/moz.configure/rust.configure.orig 2017-07-31 16:20:49.000000000 +0000
+++ build/moz.configure/rust.configure
@@ -4,10 +4,20 @@
# 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/.
-# Rust is required by `rust_compiler` below. We allow_missing here
-# to propagate failures to the better error message there.
-rustc = check_prog('RUSTC', ['rustc'], allow_missing=True)
-cargo = check_prog('CARGO', ['cargo'], allow_missing=True)
+option('--disable-rust', help='Don\'t include Rust language sources')
+
+@depends('--enable-rust')
+def rust_compiler_names(value):
+ if value:
+ return ['rustc']
+
+@depends('--enable-rust')
+def cargo_binary_names(value):
+ if value:
+ return ['cargo']
+
+rustc = check_prog('RUSTC', rust_compiler_names, allow_missing=True)
+cargo = check_prog('CARGO', cargo_binary_names, allow_missing=True)
@depends_if(rustc)
@checking('rustc version', lambda info: info.version)
@@ -43,9 +53,12 @@ def cargo_info(cargo):
version=Version(version),
)
-@depends(rustc_info, cargo_info)
+@depends('--enable-rust', rustc_info, cargo_info)
@imports(_from='textwrap', _import='dedent')
-def rust_compiler(rustc_info, cargo_info):
+def rust_compiler(value, rustc_info, cargo_info):
+ if not value:
+ return None
+
if not rustc_info:
die(dedent('''\
Rust compiler not found.
@@ -97,6 +110,9 @@ def rust_compiler(rustc_info, cargo_info
return True
+set_define('MOZ_RUST', rust_compiler)
+set_config('MOZ_RUST', rust_compiler)
+
@template
def rust_triple_alias(host_or_target):
"""Template defining the alias used for rustc's --target flag.
@@ -227,7 +243,8 @@ set_config('RUST_HOST_TARGET', rust_host
@depends(rust_target_triple)
def rust_target_env_name(triple):
- return triple.upper().replace('-','_')
+ if triple:
+ return triple.upper().replace('-','_')
# We need this to form various Cargo environment variables, as there is no
# uppercase function in make, and we don't want to shell out just for
@@ -235,5 +252,6 @@ def rust_target_env_name(triple):
set_config('RUST_TARGET_ENV_NAME', rust_target_env_name)
# Until we remove all the other Rust checks in old-configure.
+add_old_configure_assignment('MOZ_RUST', rust_compiler)
add_old_configure_assignment('RUSTC', rustc)
add_old_configure_assignment('RUST_TARGET', rust_target_triple)

View file

@ -1,13 +0,0 @@
$NetBSD: patch-build_pgo_profileserver.py,v 1.7 2017/08/10 14:46:15 ryoon Exp $
--- build/pgo/profileserver.py.orig 2017-06-15 20:52:02.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,

View file

@ -1,12 +1,12 @@
$NetBSD: patch-config_external_moz.build,v 1.15 2017/03/07 20:45:43 ryoon Exp $
$NetBSD: patch-config_external_moz.build,v 1.16 2017/09/30 05:34:12 ryoon Exp $
* Support system libraries
--- config/external/moz.build.orig 2017-01-23 16:13:47.000000000 +0000
--- config/external/moz.build.orig 2017-09-14 20:15:53.000000000 +0000
+++ config/external/moz.build
@@ -21,12 +21,21 @@ if CONFIG['MOZ_UPDATER']:
external_dirs += ['modules/brotli']
external_dirs += ['modules/woff2']
@@ -23,12 +23,21 @@ external_dirs += ['modules/woff2']
external_dirs += ['modules/xz-embedded']
-if CONFIG['MOZ_VORBIS']:
+if not CONFIG['MOZ_SYSTEM_OGG']:
@ -28,7 +28,7 @@ $NetBSD: patch-config_external_moz.build,v 1.15 2017/03/07 20:45:43 ryoon Exp $
if CONFIG['MOZ_WEBM_ENCODER']:
external_dirs += ['media/libmkv']
@@ -52,12 +61,9 @@ external_dirs += [
@@ -57,12 +66,9 @@ external_dirs += [
'media/kiss_fft',
'media/libcubeb',
'media/libnestegg',

View file

@ -1,20 +0,0 @@
$NetBSD: patch-config_rules.mk,v 1.5 2017/08/10 14:46:15 ryoon Exp $
--- config/rules.mk.orig 2017-07-31 16:20:50.000000000 +0000
+++ config/rules.mk
@@ -900,6 +900,7 @@ endif
$(foreach file,$(DUMP_SYMS_TARGETS),$(eval $(call syms_template,$(file),$(file)_syms.track)))
+ifdef MOZ_RUST
cargo_host_flag := --target=$(RUST_HOST_TARGET)
cargo_target_flag := --target=$(RUST_TARGET)
@@ -1055,6 +1056,7 @@ force-cargo-host-program-build:
$(HOST_RUST_PROGRAMS): force-cargo-host-program-build
endif # HOST_RUST_PROGRAMS
+endif # MOZ_RUST
$(SOBJS):
$(REPORT_BUILD)

View file

@ -1,16 +0,0 @@
$NetBSD: patch-dom_base_nsWrapperCache.h,v 1.1 2017/09/12 07:39:08 martin Exp $
See https://bugzilla.mozilla.org/show_bug.cgi?id=1398677
Allow building on other 64bit architectures.
--- dom/base/nsWrapperCache.h.orig 2017-07-31 18:20:52.000000000 +0200
+++ dom/base/nsWrapperCache.h 2017-09-11 08:32:36.713346387 +0200
@@ -41,7 +41,7 @@ class nsWindowRoot;
// This may waste space for some other nsWrapperCache-derived objects that have
// a 32-bit field as their first member, but those objects are unlikely to be as
// numerous or performance-critical as DOM nodes.
-#if defined(_M_X64) || defined(__x86_64__) || defined(__aarch64__)
+#if defined(_M_X64) || defined(__x86_64__) || defined(__aarch64__) || defined(__LP64__)
static_assert(sizeof(void*) == 8, "These architectures should be 64-bit");
#define BOOL_FLAGS_ON_WRAPPER_CACHE
#else

View file

@ -1,6 +1,6 @@
$NetBSD: patch-dom_media_AudioStream.cpp,v 1.1 2016/12/03 09:58:26 ryoon Exp $
$NetBSD: patch-dom_media_AudioStream.cpp,v 1.2 2017/09/30 05:34:12 ryoon Exp $
--- dom/media/AudioStream.cpp.orig 2016-10-31 20:15:33.000000000 +0000
--- dom/media/AudioStream.cpp.orig 2017-09-14 20:15:56.000000000 +0000
+++ dom/media/AudioStream.cpp
@@ -115,7 +115,9 @@ AudioStream::AudioStream(DataSource& aSo
: mMonitor("AudioStream")
@ -12,7 +12,7 @@ $NetBSD: patch-dom_media_AudioStream.cpp,v 1.1 2016/12/03 09:58:26 ryoon Exp $
, mDumpFile(nullptr)
, mState(INITIALIZED)
, mDataSource(aSource)
@@ -130,9 +132,11 @@ AudioStream::~AudioStream()
@@ -135,9 +137,11 @@ AudioStream::~AudioStream()
if (mDumpFile) {
fclose(mDumpFile);
}
@ -21,10 +21,10 @@ $NetBSD: patch-dom_media_AudioStream.cpp,v 1.1 2016/12/03 09:58:26 ryoon Exp $
soundtouch::destroySoundTouchObj(mTimeStretcher);
}
+#endif
}
size_t
@@ -151,7 +155,11 @@ nsresult AudioStream::EnsureTimeStretche
#if defined(XP_WIN)
if (XRE_IsContentProcess()) {
audio::AudioNotificationReceiver::Unregister(this);
@@ -161,7 +165,11 @@ nsresult AudioStream::EnsureTimeStretche
{
mMonitor.AssertCurrentThreadOwns();
if (!mTimeStretcher) {

View file

@ -1,6 +1,6 @@
$NetBSD: patch-dom_media_AudioStream.h,v 1.3 2016/12/03 09:58:26 ryoon Exp $
$NetBSD: patch-dom_media_AudioStream.h,v 1.4 2017/09/30 05:34:12 ryoon Exp $
--- dom/media/AudioStream.h.orig 2016-10-31 20:15:33.000000000 +0000
--- dom/media/AudioStream.h.orig 2017-09-14 20:15:56.000000000 +0000
+++ dom/media/AudioStream.h
@@ -16,7 +16,11 @@
#include "mozilla/TimeStamp.h"
@ -12,9 +12,9 @@ $NetBSD: patch-dom_media_AudioStream.h,v 1.3 2016/12/03 09:58:26 ryoon Exp $
#include "soundtouch/SoundTouchFactory.h"
+#endif
namespace mozilla {
@@ -282,7 +286,11 @@ private:
#if defined(XP_WIN)
#include "mozilla/audio/AudioNotificationReceiver.h"
@@ -299,7 +303,11 @@ private:
uint32_t mChannels;
uint32_t mOutChannels;
AudioClock mAudioClock;

View file

@ -1,13 +0,0 @@
$NetBSD: patch-dom_media_MediaPrefs.h,v 1.1 2017/06/14 11:28:44 ryoon Exp $
--- dom/media/MediaPrefs.h.orig 2017-06-05 20:45:18.000000000 +0000
+++ dom/media/MediaPrefs.h
@@ -165,7 +165,7 @@ private:
DECL_MEDIA_PREF("media.ogg.flac.enabled", FlacInOgg, bool, false);
DECL_MEDIA_PREF("media.flac.enabled", FlacEnabled, bool, true);
-#if !defined(RELEASE_OR_BETA)
+#if defined(MOZ_RUST_MP4PARSE) && !defined(RELEASE_OR_BETA)
DECL_MEDIA_PREF("media.rust.test_mode", RustTestMode, bool, false);
#endif

View file

@ -1,22 +0,0 @@
$NetBSD: patch-dom_media_gtest_moz.build,v 1.1 2017/08/10 14:46:15 ryoon Exp $
--- dom/media/gtest/moz.build.orig 2017-07-31 16:20:53.000000000 +0000
+++ dom/media/gtest/moz.build
@@ -22,7 +22,6 @@ UNIFIED_SOURCES += [
'TestMozPromise.cpp',
'TestMP3Demuxer.cpp',
'TestMP4Demuxer.cpp',
- 'TestRust.cpp',
'TestTrackEncoder.cpp',
'TestVideoSegment.cpp',
'TestVideoUtils.cpp',
@@ -36,6 +35,9 @@ if CONFIG['MOZ_WEBM_ENCODER']:
'TestWebMWriter.cpp',
]
+if CONFIG['MOZ_RUST']:
+ UNIFIED_SOURCES += ['TestRust.cpp',]
+
TEST_HARNESS_FILES.gtest += [
'../test/gizmo-frag.mp4',
'../test/gizmo.mp4',

View file

@ -1,24 +0,0 @@
$NetBSD: patch-dom_messagechannel_MessagePort.cpp,v 1.1 2017/08/16 14:13:44 ryoon Exp $
Undefined symbols for architecture x86_64 "vtable for mozilla::dom::MessagePortChild"
https://bugzilla.mozilla.org/show_bug.cgi?id=1382863
Bug 1382863 Part 1: Move MessagePortChild constructor out of inline, creating a vtable needed for clang compilation.
Already committed for Firefox 56.
--- dom/messagechannel/MessagePort.cpp.orig 2017-07-31 16:20:53.000000000 +0000
+++ dom/messagechannel/MessagePort.cpp
@@ -47,6 +47,11 @@ using namespace mozilla::dom::workers;
namespace mozilla {
namespace dom {
+MessagePortChild::MessagePortChild()
+ : mPort(nullptr)
+{
+}
+
class PostMessageRunnable final : public CancelableRunnable
{
friend class MessagePort;

View file

@ -1,21 +0,0 @@
$NetBSD: patch-dom_messagechannel_MessagePortChild.h,v 1.1 2017/08/16 14:13:44 ryoon Exp $
defined symbols for architecture x86_64 "vtable for mozilla::dom::MessagePortChild"
https://bugzilla.mozilla.org/show_bug.cgi?id=1382863
Bug 1382863 Part 1: Move MessagePortChild constructor out of inline, creating a vtable needed for clang compilation.
Already committed for Firefox 56.
--- dom/messagechannel/MessagePortChild.h.orig 2017-06-15 20:52:23.000000000 +0000
+++ dom/messagechannel/MessagePortChild.h
@@ -19,7 +19,7 @@ class MessagePortChild final : public PM
public:
NS_INLINE_DECL_REFCOUNTING(MessagePortChild)
- MessagePortChild() : mPort(nullptr) {}
+ MessagePortChild();
void SetPort(MessagePort* aPort)
{

View file

@ -1,21 +0,0 @@
$NetBSD: patch-extensions_spellcheck_hunspell_glue_mozHunspell.cpp,v 1.5 2017/04/27 01:49:47 ryoon Exp $
* Read pkgsrc hunspell dictionaries
--- extensions/spellcheck/hunspell/glue/mozHunspell.cpp.orig 2017-04-11 04:15:15.000000000 +0000
+++ extensions/spellcheck/hunspell/glue/mozHunspell.cpp
@@ -381,6 +381,14 @@ mozHunspell::LoadDictionaryList(bool aNo
}
}
+ // load system hunspell dictionaries
+ nsCOMPtr<nsIFile> hunDir;
+ NS_NewNativeLocalFile(NS_LITERAL_CSTRING("@PREFIX@/share/hunspell"),
+ true, getter_AddRefs(hunDir));
+ if (hunDir) {
+ LoadDictionariesFromDir(hunDir);
+ }
+
// find dictionaries from extensions requiring restart
nsCOMPtr<nsISimpleEnumerator> dictDirs;
rv = dirSvc->Get(DICTIONARY_SEARCH_DIRECTORY_LIST,

View file

@ -1,24 +0,0 @@
$NetBSD: patch-gfx_2d_ScaledFontBase.cpp,v 1.1 2017/08/15 01:24:47 ryoon Exp $
* Support bigendian architectures
--- gfx/2d/ScaledFontBase.cpp.orig 2017-07-31 16:20:54.000000000 +0000
+++ gfx/2d/ScaledFontBase.cpp
@@ -212,14 +212,16 @@ ScaledFontBase::CopyGlyphsToBuilder(cons
cairoPath->AppendPathToBuilder(builder);
return;
}
+#endif
+#ifdef USE_SKIA
if (backendType == BackendType::RECORDING) {
SkPath skPath = GetSkiaPathForGlyphs(aBuffer);
RefPtr<Path> path = MakeAndAddRef<PathSkia>(skPath, FillRule::FILL_WINDING);
path->StreamToSink(aBuilder);
return;
}
- MOZ_ASSERT(false, "Path not being copied");
#endif
+ MOZ_ASSERT(false, "Path not being copied");
}
void

View file

@ -1,9 +1,9 @@
$NetBSD: patch-ipc_glue_CrossProcessSemaphore__posix.cpp,v 1.2 2017/08/10 14:46:15 ryoon Exp $
$NetBSD: patch-ipc_glue_CrossProcessSemaphore__posix.cpp,v 1.3 2017/09/30 05:34:12 ryoon Exp $
- avoid use of sem_t on NetBSD
http://mail-index.netbsd.org/pkgsrc-bugs/2017/06/23/msg062225.html
--- ipc/glue/CrossProcessSemaphore_posix.cpp.orig 2017-07-31 16:20:47.000000000 +0000
--- ipc/glue/CrossProcessSemaphore_posix.cpp.orig 2017-09-14 20:16:01.000000000 +0000
+++ ipc/glue/CrossProcessSemaphore_posix.cpp
@@ -9,6 +9,11 @@
#include "nsDebug.h"
@ -163,15 +163,15 @@ $NetBSD: patch-ipc_glue_CrossProcessSemaphore__posix.cpp,v 1.2 2017/08/10 14:46:
if (aWaitTime.isSome()) {
struct timespec ts;
if (clock_gettime(CLOCK_REALTIME, &ts) == -1) {
@@ -142,6 +228,7 @@ CrossProcessSemaphore::Wait(const Maybe<
continue;
@@ -140,6 +226,7 @@ CrossProcessSemaphore::Wait(const Maybe<
while ((ret = sem_wait(mSemaphore)) == -1 && errno == EINTR) {
}
}
+#endif
return ret == 0;
}
@@ -149,7 +236,17 @@ void
@@ -147,7 +234,17 @@ void
CrossProcessSemaphore::Signal()
{
MOZ_ASSERT(*mRefCount > 0, "Attempting to signal a semaphore with zero ref count");

View file

@ -1,15 +0,0 @@
$NetBSD: patch-js_src_jit_ExecutableAllocator.h,v 1.5 2017/08/15 01:24:47 ryoon Exp $
* Support bigendian architectures
--- js/src/jit/ExecutableAllocator.h.orig 2017-06-15 20:52:05.000000000 +0000
+++ js/src/jit/ExecutableAllocator.h
@@ -219,7 +219,7 @@ class ExecutableAllocator
static void poisonCode(JSRuntime* rt, JitPoisonRangeVector& ranges);
-#if defined(JS_CODEGEN_X86) || defined(JS_CODEGEN_X64) || defined(JS_SIMULATOR_ARM64)
+#if defined(JS_CODEGEN_X86) || defined(JS_CODEGEN_X64) || defined(JS_SIMULATOR_ARM64) || defined(JS_CODEGEN_NONE)
static void cacheFlush(void*, size_t)
{
}

View file

@ -1,35 +0,0 @@
$NetBSD: patch-js_src_jit_none_MacroAssembler-none.h,v 1.3 2017/08/15 01:24:47 ryoon Exp $
* Support bigendian architectures
--- js/src/jit/none/MacroAssembler-none.h.orig 2017-07-31 16:20:48.000000000 +0000
+++ js/src/jit/none/MacroAssembler-none.h
@@ -48,7 +48,7 @@ static constexpr Register WasmIonExitReg
static constexpr Register WasmIonExitRegReturnData { Registers::invalid_reg };
static constexpr Register WasmIonExitRegReturnType { Registers::invalid_reg };
-static constexpr Register WasmIonExitTlsReg = { Registers::invalid_reg };
+static constexpr Register WasmIonExitTlsReg { Registers::invalid_reg };
static constexpr Register WasmIonExitRegD0 { Registers::invalid_reg };
static constexpr Register WasmIonExitRegD1 { Registers::invalid_reg };
static constexpr Register WasmIonExitRegD2 { Registers::invalid_reg };
@@ -153,6 +153,8 @@ class Assembler : public AssemblerShared
static uintptr_t GetPointer(uint8_t*) { MOZ_CRASH(); }
+ static bool HasRoundInstruction(RoundingMode) { return false; }
+
void verifyHeapAccessDisassembly(uint32_t begin, uint32_t end,
const Disassembler::HeapAccess& heapAccess)
{
@@ -196,9 +198,7 @@ class MacroAssemblerNone : public Assemb
static bool SupportsSimd() { return false; }
static bool SupportsUnalignedAccesses() { return false; }
- static bool HasRoundInstruction(RoundingMode) { return false; }
-
- void executableCopy(void*, bool) { MOZ_CRASH(); }
+ void executableCopy(void*, bool = true) { MOZ_CRASH(); }
void copyJumpRelocationTable(uint8_t*) { MOZ_CRASH(); }
void copyDataRelocationTable(uint8_t*) { MOZ_CRASH(); }
void copyPreBarrierTable(uint8_t*) { MOZ_CRASH(); }

View file

@ -1,16 +1,11 @@
$NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsutsui Exp $
$NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.24 2017/09/30 05:34:12 ryoon Exp $
* Support alsa audio under NetBSD
* Avoid https://github.com/kinetiknz/cubeb/issues/226
--- media/libcubeb/src/cubeb_alsa.c.orig 2017-06-05 20:45:14.000000000 +0000
--- media/libcubeb/src/cubeb_alsa.c.orig 2017-09-14 20:16:05.000000000 +0000
+++ media/libcubeb/src/cubeb_alsa.c
@@ -8,10 +8,12 @@
#define _DEFAULT_SOURCE
#define _BSD_SOURCE
#define _XOPEN_SOURCE 500
+#define _NETBSD_SOURCE
#include <pthread.h>
@@ -12,6 +12,7 @@
#include <sys/time.h>
#include <assert.h>
#include <limits.h>
@ -18,7 +13,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsuts
#include <poll.h>
#include <unistd.h>
#include <alsa/asoundlib.h>
@@ -25,6 +27,52 @@
@@ -26,6 +27,52 @@
#define ALSA_PA_PLUGIN "ALSA <-> PulseAudio PCM I/O Plugin"
@ -71,7 +66,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsuts
/* 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 {
@@ -66,6 +113,8 @@ struct cubeb {
workaround is not required. */
snd_config_t * local_config;
int is_pa;
@ -80,7 +75,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsuts
};
enum stream_state {
@@ -243,8 +293,8 @@ set_timeout(struct timeval * timeout, un
@@ -244,8 +293,8 @@ set_timeout(struct timeval * timeout, un
static void
stream_buffer_decrement(cubeb_stream * stm, long count)
{
@ -91,7 +86,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsuts
stm->bufframes -= count;
}
@@ -276,9 +326,9 @@ alsa_process_stream(cubeb_stream * stm)
@@ -277,9 +326,9 @@ alsa_process_stream(cubeb_stream * stm)
/* Call _poll_descriptors_revents() even if we don't use it
to let underlying plugins clear null events. Otherwise poll()
may wake up again and again, producing unnecessary CPU usage. */
@ -103,7 +98,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsuts
/* Got null event? Bail and wait for another wakeup. */
if (avail == 0) {
@@ -301,7 +351,7 @@ alsa_process_stream(cubeb_stream * stm)
@@ -302,7 +351,7 @@ alsa_process_stream(cubeb_stream * stm)
// TODO: should it be marked as DRAINING?
}
@ -112,7 +107,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsuts
if (got < 0) {
avail = got; // the error handler below will recover us
@@ -345,7 +395,7 @@ alsa_process_stream(cubeb_stream * stm)
@@ -346,7 +395,7 @@ alsa_process_stream(cubeb_stream * stm)
(!stm->other_stream || stm->other_stream->bufframes > 0)) {
long got = avail - stm->bufframes;
void * other_buffer = stm->other_stream ? stm->other_stream->buffer : NULL;
@ -121,7 +116,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsuts
/* Correct read size to the other stream available frames */
if (stm->other_stream && got > (snd_pcm_sframes_t) stm->other_stream->bufframes) {
@@ -372,8 +422,8 @@ alsa_process_stream(cubeb_stream * stm)
@@ -373,8 +422,8 @@ alsa_process_stream(cubeb_stream * stm)
long drain_frames = avail - stm->bufframes;
double drain_time = (double) drain_frames / stm->params.rate;
@ -132,7 +127,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsuts
stm->bufframes = avail;
/* Mark as draining, unless we're waiting for capture */
@@ -400,7 +450,7 @@ alsa_process_stream(cubeb_stream * stm)
@@ -401,7 +450,7 @@ alsa_process_stream(cubeb_stream * stm)
}
}
@ -141,7 +136,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsuts
if (wrote < 0) {
avail = wrote; // the error handler below will recover us
} else {
@@ -413,13 +463,13 @@ alsa_process_stream(cubeb_stream * stm)
@@ -414,13 +463,13 @@ alsa_process_stream(cubeb_stream * stm)
/* Got some error? Let's try to recover the stream. */
if (avail < 0) {
@ -158,7 +153,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsuts
}
}
@@ -535,26 +585,26 @@ get_slave_pcm_node(snd_config_t * lconf,
@@ -536,26 +585,26 @@ get_slave_pcm_node(snd_config_t * lconf,
slave_def = NULL;
@ -190,7 +185,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsuts
if (r < 0) {
break;
}
@@ -563,7 +613,7 @@ get_slave_pcm_node(snd_config_t * lconf,
@@ -564,7 +613,7 @@ get_slave_pcm_node(snd_config_t * lconf,
if (r < 0 || r > (int) sizeof(node_name)) {
break;
}
@ -199,7 +194,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsuts
if (r < 0) {
break;
}
@@ -572,7 +622,7 @@ get_slave_pcm_node(snd_config_t * lconf,
@@ -573,7 +622,7 @@ get_slave_pcm_node(snd_config_t * lconf,
} while (0);
if (slave_def) {
@ -208,7 +203,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsuts
}
return NULL;
@@ -595,22 +645,22 @@ init_local_config_with_workaround(char c
@@ -596,22 +645,22 @@ init_local_config_with_workaround(char c
lconf = NULL;
@ -235,7 +230,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsuts
if (r < 0) {
break;
}
@@ -619,7 +669,7 @@ init_local_config_with_workaround(char c
@@ -620,7 +669,7 @@ init_local_config_with_workaround(char c
if (r < 0 || r > (int) sizeof(node_name)) {
break;
}
@ -244,7 +239,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsuts
if (r < 0) {
break;
}
@@ -630,12 +680,12 @@ init_local_config_with_workaround(char c
@@ -631,12 +680,12 @@ init_local_config_with_workaround(char c
}
/* Fetch the PCM node's type, and bail out if it's not the PulseAudio plugin. */
@ -259,7 +254,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsuts
if (r < 0) {
break;
}
@@ -646,18 +696,18 @@ init_local_config_with_workaround(char c
@@ -647,18 +696,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. */
@ -281,7 +276,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsuts
if (r < 0) {
break;
}
@@ -665,7 +715,7 @@ init_local_config_with_workaround(char c
@@ -666,7 +715,7 @@ init_local_config_with_workaround(char c
return lconf;
} while (0);
@ -290,7 +285,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsuts
return NULL;
}
@@ -677,9 +727,9 @@ alsa_locked_pcm_open(snd_pcm_t ** pcm, c
@@ -678,9 +727,9 @@ alsa_locked_pcm_open(snd_pcm_t ** pcm, c
pthread_mutex_lock(&cubeb_alsa_mutex);
if (local_config) {
@ -302,7 +297,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsuts
}
pthread_mutex_unlock(&cubeb_alsa_mutex);
@@ -692,7 +742,7 @@ alsa_locked_pcm_close(snd_pcm_t * pcm)
@@ -693,7 +742,7 @@ alsa_locked_pcm_close(snd_pcm_t * pcm)
int r;
pthread_mutex_lock(&cubeb_alsa_mutex);
@ -311,7 +306,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsuts
pthread_mutex_unlock(&cubeb_alsa_mutex);
return r;
@@ -755,12 +805,65 @@ alsa_init(cubeb ** context, char const *
@@ -756,12 +805,65 @@ alsa_init(cubeb ** context, char const *
pthread_attr_t attr;
snd_pcm_t * dummy;
@ -378,7 +373,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsuts
cubeb_alsa_error_handler_set = 1;
}
pthread_mutex_unlock(&cubeb_alsa_mutex);
@@ -768,6 +871,8 @@ alsa_init(cubeb ** context, char const *
@@ -769,6 +871,8 @@ alsa_init(cubeb ** context, char const *
ctx = calloc(1, sizeof(*ctx));
assert(ctx);
@ -387,7 +382,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsuts
ctx->ops = &alsa_ops;
r = pthread_mutex_init(&ctx->mutex, NULL);
@@ -817,7 +922,7 @@ alsa_init(cubeb ** context, char const *
@@ -818,7 +922,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);
@ -396,7 +391,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsuts
pthread_mutex_unlock(&cubeb_alsa_mutex);
ctx->local_config = NULL;
} else if (r >= 0) {
@@ -857,9 +962,13 @@ alsa_destroy(cubeb * ctx)
@@ -858,9 +962,13 @@ alsa_destroy(cubeb * ctx)
pthread_mutex_destroy(&ctx->mutex);
free(ctx->fds);
@ -411,7 +406,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsuts
pthread_mutex_unlock(&cubeb_alsa_mutex);
}
@@ -942,7 +1051,7 @@ alsa_stream_init_single(cubeb * ctx, cub
@@ -943,7 +1051,7 @@ alsa_stream_init_single(cubeb * ctx, cub
return CUBEB_ERROR;
}
@ -420,7 +415,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsuts
assert(r == 0);
latency_us = latency_frames * 1e6 / stm->params.rate;
@@ -955,7 +1064,7 @@ alsa_stream_init_single(cubeb * ctx, cub
@@ -956,7 +1064,7 @@ alsa_stream_init_single(cubeb * ctx, cub
latency_us = latency_us < min_latency ? min_latency: latency_us;
}
@ -429,7 +424,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsuts
stm->params.channels, stm->params.rate, 1,
latency_us);
if (r < 0) {
@@ -963,20 +1072,20 @@ alsa_stream_init_single(cubeb * ctx, cub
@@ -964,20 +1072,20 @@ alsa_stream_init_single(cubeb * ctx, cub
return CUBEB_ERROR_INVALID_FORMAT;
}
@ -454,7 +449,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsuts
assert((nfds_t) r == stm->nfds);
if (alsa_register_stream(ctx, stm) != 0) {
@@ -1048,7 +1157,7 @@ alsa_stream_destroy(cubeb_stream * stm)
@@ -1049,7 +1157,7 @@ alsa_stream_destroy(cubeb_stream * stm)
pthread_mutex_lock(&stm->mutex);
if (stm->pcm) {
if (stm->state == DRAINING) {
@ -463,7 +458,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsuts
}
alsa_locked_pcm_close(stm->pcm);
stm->pcm = NULL;
@@ -1094,12 +1203,12 @@ alsa_get_max_channel_count(cubeb * ctx,
@@ -1095,12 +1203,12 @@ alsa_get_max_channel_count(cubeb * ctx,
assert(stm);
@ -478,7 +473,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsuts
if (r < 0) {
return CUBEB_ERROR;
}
@@ -1120,34 +1229,34 @@ alsa_get_preferred_sample_rate(cubeb * c
@@ -1121,34 +1229,34 @@ alsa_get_preferred_sample_rate(cubeb * c
/* get a pcm, disabling resampling, so we get a rate the
* hardware/dmix/pulse/etc. supports. */
@ -521,7 +516,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsuts
return CUBEB_OK;
}
@@ -1180,10 +1289,10 @@ alsa_stream_start(cubeb_stream * stm)
@@ -1181,10 +1289,10 @@ alsa_stream_start(cubeb_stream * stm)
pthread_mutex_lock(&stm->mutex);
/* Capture pcm must be started after initial setup/recover */
if (stm->stream_type == SND_PCM_STREAM_CAPTURE &&
@ -535,7 +530,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsuts
gettimeofday(&stm->last_activity, NULL);
pthread_mutex_unlock(&stm->mutex);
@@ -1223,7 +1332,7 @@ alsa_stream_stop(cubeb_stream * stm)
@@ -1224,7 +1332,7 @@ alsa_stream_stop(cubeb_stream * stm)
pthread_mutex_unlock(&ctx->mutex);
pthread_mutex_lock(&stm->mutex);
@ -544,7 +539,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsuts
pthread_mutex_unlock(&stm->mutex);
return CUBEB_OK;
@@ -1239,8 +1348,8 @@ alsa_stream_get_position(cubeb_stream *
@@ -1240,8 +1348,8 @@ alsa_stream_get_position(cubeb_stream *
pthread_mutex_lock(&stm->mutex);
delay = -1;
@ -555,7 +550,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.23 2017/06/30 16:45:05 tsuts
*position = stm->last_position;
pthread_mutex_unlock(&stm->mutex);
return CUBEB_OK;
@@ -1265,7 +1374,7 @@ alsa_stream_get_latency(cubeb_stream * s
@@ -1266,7 +1374,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. */

View file

@ -0,0 +1,14 @@
$NetBSD: patch-media_libcubeb_src_cubeb__jack.cpp,v 1.1 2017/09/30 05:34:12 ryoon Exp $
--- media/libcubeb/src/cubeb_jack.cpp.orig 2017-09-14 20:16:05.000000000 +0000
+++ media/libcubeb/src/cubeb_jack.cpp
@@ -8,7 +8,9 @@
*/
#define _DEFAULT_SOURCE
#define _BSD_SOURCE
+#ifndef __FreeBSD__
#define _POSIX_SOURCE
+#endif
#include <dlfcn.h>
#include <stdio.h>
#include <string.h>

View file

@ -1,4 +1,4 @@
$NetBSD: patch-media_libcubeb_src_moz.build,v 1.12 2017/08/10 14:46:15 ryoon Exp $
$NetBSD: patch-media_libcubeb_src_moz.build,v 1.13 2017/09/30 05:34:12 ryoon Exp $
* Add OSS audio support
* Support system library
@ -18,17 +18,7 @@ $NetBSD: patch-media_libcubeb_src_moz.build,v 1.12 2017/08/10 14:46:15 ryoon Exp
if CONFIG['MOZ_PULSEAUDIO'] or CONFIG['MOZ_JACK']:
SOURCES += [
'cubeb_resampler.cpp',
@@ -32,7 +38,8 @@ if CONFIG['MOZ_PULSEAUDIO']:
'cubeb_pulse.c',
]
DEFINES['USE_PULSE'] = True
- DEFINES['USE_PULSE_RUST'] = True
+ if CONFIG['MOZ_RUST']:
+ DEFINES['USE_PULSE_RUST'] = True
if CONFIG['MOZ_JACK']:
SOURCES += [
@@ -85,6 +92,7 @@ if CONFIG['OS_TARGET'] == 'Android':
@@ -85,6 +91,7 @@ if CONFIG['OS_TARGET'] == 'Android':
FINAL_LIBRARY = 'gkmedias'

View file

@ -1,32 +0,0 @@
$NetBSD: patch-media_libstagefright_binding_DecoderData.cpp,v 1.2 2017/08/10 14:46:15 ryoon Exp $
--- media/libstagefright/binding/DecoderData.cpp.orig 2017-07-31 16:20:49.000000000 +0000
+++ media/libstagefright/binding/DecoderData.cpp
@@ -13,9 +13,11 @@
#include "mozilla/ArrayUtils.h"
#include "include/ESDS.h"
+#ifdef MOZ_RUST_MP4PARSE
// OpusDecoder header is really needed only by MP4 in rust
#include "OpusDecoder.h"
#include "mp4parse.h"
+#endif // MOZ_RUST_MP4PARSE
using namespace stagefright;
using mozilla::media::TimeUnit;
@@ -177,6 +179,7 @@ MP4VideoInfo::Update(const MetaData* aMe
FindData(aMetaData, kKeyAVCC, mExtraData);
}
+#ifdef MOZ_RUST_MP4PARSE
static void
UpdateTrackProtectedInfo(mozilla::TrackInfo& aConfig,
const mp4parse_sinf_info& aSinf)
@@ -263,6 +266,7 @@ MP4VideoInfo::Update(const mp4parse_trac
mExtraData->AppendElements(video->extra_data.data, video->extra_data.length);
}
}
+#endif // MOZ_RUST_MP4PARSE
bool
MP4VideoInfo::IsValid() const

View file

@ -1,187 +0,0 @@
$NetBSD: patch-media_libstagefright_binding_MP4Metadata.cpp,v 1.2 2017/08/10 14:46:15 ryoon Exp $
--- media/libstagefright/binding/MP4Metadata.cpp.orig 2017-07-31 16:20:49.000000000 +0000
+++ media/libstagefright/binding/MP4Metadata.cpp
@@ -20,14 +20,18 @@
#include "mp4_demuxer/MP4Metadata.h"
#include "mp4_demuxer/Stream.h"
#include "MediaPrefs.h"
+#ifdef MOZ_RUST_MP4PARSE
#include "mp4parse.h"
+#endif // MOZ_RUST_MP4PARSE
#include <limits>
#include <stdint.h>
#include <vector>
+#ifdef MOZ_RUST_MP4PARSE
struct FreeMP4Parser { void operator()(mp4parse_parser* aPtr) { mp4parse_free(aPtr); } };
+#endif // MOZ_RUST_MP4PARSE
using namespace stagefright;
using mozilla::media::TimeUnit;
@@ -105,6 +109,7 @@ private:
bool mCanSeek;
};
+#ifdef MOZ_RUST_MP4PARSE
// Wrap an mp4_demuxer::Stream to remember the read offset.
class RustStreamAdaptor {
@@ -151,6 +156,7 @@ private:
RustStreamAdaptor mRustSource;
mozilla::UniquePtr<mp4parse_parser, FreeMP4Parser> mRustParser;
};
+#endif // MOZ_RUST_MP4PARSE
class IndiceWrapperStagefright : public IndiceWrapper {
public:
@@ -187,6 +193,7 @@ IndiceWrapperStagefright::GetIndice(size
return true;
}
+#ifdef MOZ_RUST_MP4PARSE
// the owner of mIndice is rust mp4 paser, so lifetime of this class
// SHOULD NOT longer than rust parser.
class IndiceWrapperRust : public IndiceWrapper
@@ -232,9 +239,11 @@ IndiceWrapperRust::GetIndice(size_t aInd
aIndice.sync = indice->sync;
return true;
}
+#endif // MOZ_RUST_MP4PARSE
MP4Metadata::MP4Metadata(Stream* aSource)
: mStagefright(MakeUnique<MP4MetadataStagefright>(aSource))
+#ifdef MOZ_RUST_MP4PARSE
, mRust(MakeUnique<MP4MetadataRust>(aSource))
, mPreferRust(MediaPrefs::EnableRustMP4Parser())
, mReportedAudioTrackTelemetry(false)
@@ -242,6 +251,7 @@ MP4Metadata::MP4Metadata(Stream* aSource
#ifndef RELEASE_OR_BETA
, mRustTestMode(MediaPrefs::RustTestMode())
#endif
+#endif // MOZ_RUST_MP4PARSE
{
}
@@ -274,8 +284,11 @@ MP4Metadata::GetNumberTracks(mozilla::Tr
MP4Metadata::ResultAndTrackCount numTracks =
mStagefright->GetNumberTracks(aType);
+#ifdef MOZ_RUST_MP4PARSE
if (!mRust) {
+#endif // MOZ_RUST_MP4PARSE
return numTracks;
+#ifdef MOZ_RUST_MP4PARSE
}
MP4Metadata::ResultAndTrackCount numTracksRust =
@@ -350,8 +363,10 @@ MP4Metadata::GetNumberTracks(mozilla::Tr
// Same non-error numbers, just return any.
// (Choosing Rust here, in case it carries a warning, we'd want to know that.)
return numTracksRust;
+#endif // MOZ_RUST_MP4PARSE
}
+#ifdef MOZ_RUST_MP4PARSE
bool MP4Metadata::ShouldPreferRust() const {
if (!mRust) {
return false;
@@ -389,6 +404,7 @@ bool MP4Metadata::ShouldPreferRust() con
// Otherwise, fall back.
return false;
}
+#endif // MOZ_RUST_MP4PARSE
static const char*
GetDifferentField(const mozilla::TrackInfo& info,
@@ -443,6 +459,7 @@ MP4Metadata::GetTrackInfo(mozilla::Track
MP4Metadata::ResultAndTrackInfo info =
mStagefright->GetTrackInfo(aType, aTrackNumber);
+#ifdef MOZ_RUST_MP4PARSE
if (!mRust) {
return info;
}
@@ -514,6 +531,7 @@ MP4Metadata::GetTrackInfo(mozilla::Track
if (mPreferRust) {
return infoRust;
}
+#endif // MOZ_RUST_MP4PARSE
return info;
}
@@ -528,6 +546,7 @@ MP4Metadata::ResultAndCryptoFile
MP4Metadata::Crypto() const
{
MP4Metadata::ResultAndCryptoFile crypto = mStagefright->Crypto();
+#ifdef MOZ_RUST_MP4PARSE
MP4Metadata::ResultAndCryptoFile rustCrypto = mRust->Crypto();
#ifndef RELEASE_OR_BETA
@@ -548,6 +567,7 @@ MP4Metadata::Crypto() const
if (mPreferRust) {
return rustCrypto;
}
+#endif // MOZ_RUST_MP4PARSE
return crypto;
}
@@ -556,17 +576,22 @@ MP4Metadata::ResultAndIndice
MP4Metadata::GetTrackIndice(mozilla::TrackID aTrackID)
{
FallibleTArray<Index::Indice> indiceSF;
+#ifdef MOZ_RUST_MP4PARSE
if (!mPreferRust
#ifndef RELEASE_OR_BETA
|| mRustTestMode
#endif
) {
+#endif // MOZ_RUST_MP4PARSE
MediaResult rv = mStagefright->ReadTrackIndex(indiceSF, aTrackID);
if (NS_FAILED(rv)) {
return {Move(rv), nullptr};
}
+#ifdef MOZ_RUST_MP4PARSE
}
+#endif // MOZ_RUST_MP4PARSE
+#ifdef MOZ_RUST_MP4PARSE
mp4parse_byte_data indiceRust = {};
if (mPreferRust
#ifndef RELEASE_OR_BETA
@@ -592,13 +617,18 @@ MP4Metadata::GetTrackIndice(mozilla::Tra
}
}
#endif
+#endif // MOZ_RUST_MP4PARSE
UniquePtr<IndiceWrapper> indice;
+#ifdef MOZ_RUST_MP4PARSE
if (mPreferRust) {
indice = mozilla::MakeUnique<IndiceWrapperRust>(indiceRust);
} else {
+#endif // MOZ_RUST_MP4PARSE
indice = mozilla::MakeUnique<IndiceWrapperStagefright>(indiceSF);
+#ifdef MOZ_RUST_MP4PARSE
}
+#endif // MOZ_RUST_MP4PARSE
return {NS_OK, Move(indice)};
}
@@ -856,6 +886,7 @@ MP4MetadataStagefright::Metadata(Stream*
return {NS_OK, Move(buffer)};
}
+#ifdef MOZ_RUST_MP4PARSE
bool
RustStreamAdaptor::Read(uint8_t* buffer, uintptr_t size, size_t* bytes_read)
{
@@ -1152,5 +1183,6 @@ MP4MetadataRust::Metadata(Stream* aSourc
MOZ_ASSERT(false, "Not yet implemented");
return {NS_ERROR_NOT_IMPLEMENTED, nullptr};
}
+#endif // MOZ_RUST_MP4PARSE
} // namespace mp4_demuxer

View file

@ -1,40 +0,0 @@
$NetBSD: patch-media_libstagefright_binding_include_mp4__demuxer_DecoderData.h,v 1.1 2017/06/14 11:28:44 ryoon Exp $
--- media/libstagefright/binding/include/mp4_demuxer/DecoderData.h.orig 2017-06-05 20:45:14.000000000 +0000
+++ media/libstagefright/binding/include/mp4_demuxer/DecoderData.h
@@ -19,11 +19,13 @@ namespace stagefright
class MetaData;
}
+#ifdef MOZ_RUST_MP4PARSE
extern "C" {
typedef struct mp4parse_track_info mp4parse_track_info;
typedef struct mp4parse_track_audio_info mp4parse_track_audio_info;
typedef struct mp4parse_track_video_info mp4parse_track_video_info;
}
+#endif // MOZ_RUST_MP4PARSE
namespace mp4_demuxer
{
@@ -71,8 +73,10 @@ public:
void Update(const stagefright::MetaData* aMetaData,
const char* aMimeType);
+#ifdef MOZ_RUST_MP4PARSE
void Update(const mp4parse_track_info* track,
const mp4parse_track_audio_info* audio);
+#endif // MOZ_RUST_MP4PARSE
virtual bool IsValid() const override;
};
@@ -85,8 +89,10 @@ public:
void Update(const stagefright::MetaData* aMetaData,
const char* aMimeType);
+#ifdef MOZ_RUST_MP4PARSE
void Update(const mp4parse_track_info* track,
const mp4parse_track_video_info* video);
+#endif // MOZ_RUST_MP4PARSE
virtual bool IsValid() const override;
};

View file

@ -1,30 +0,0 @@
$NetBSD: patch-media_libstagefright_binding_include_mp4__demuxer_MP4Metadata.h,v 1.2 2017/08/10 14:46:15 ryoon Exp $
--- media/libstagefright/binding/include/mp4_demuxer/MP4Metadata.h.orig 2017-07-31 16:20:49.000000000 +0000
+++ media/libstagefright/binding/include/mp4_demuxer/MP4Metadata.h
@@ -13,7 +13,9 @@
#include "MediaInfo.h"
#include "MediaResult.h"
#include "Stream.h"
+#ifdef MOZ_RUST_MP4PARSE
#include "mp4parse.h"
+#endif // MOZ_RUST_MP4PARSE
namespace mp4_demuxer {
@@ -82,6 +84,7 @@ public:
private:
UniquePtr<MP4MetadataStagefright> mStagefright;
+#ifdef MOZ_RUST_MP4PARSE
UniquePtr<MP4MetadataRust> mRust;
mutable bool mPreferRust;
mutable bool mReportedAudioTrackTelemetry;
@@ -90,6 +93,7 @@ private:
mutable bool mRustTestMode;
#endif
bool ShouldPreferRust() const;
+#endif // MOZ_RUST_MP4PARSE
};
} // namespace mp4_demuxer

View file

@ -1,25 +0,0 @@
$NetBSD: patch-media_libstagefright_gtest_moz.build,v 1.1 2017/08/10 14:46:15 ryoon Exp $
--- media/libstagefright/gtest/moz.build.orig 2017-07-31 16:20:49.000000000 +0000
+++ media/libstagefright/gtest/moz.build
@@ -38,12 +38,13 @@ TEST_HARNESS_FILES.gtest += [
'test_case_1351094.mp4',
]
-UNIFIED_SOURCES += ['TestMP4Rust.cpp',]
-TEST_HARNESS_FILES.gtest += [
- '../../../dom/media/test/street.mp4',
-]
-LOCAL_INCLUDES += [
- '../binding/include',
-]
+if CONFIG['MOZ_RUST']:
+ UNIFIED_SOURCES += ['TestMP4Rust.cpp',]
+ TEST_HARNESS_FILES.gtest += [
+ '../../../dom/media/test/street.mp4',
+ ]
+ LOCAL_INCLUDES += [
+ '../binding/include',
+ ]
FINAL_LIBRARY = 'xul-gtest'

View file

@ -1,18 +0,0 @@
$NetBSD: patch-media_libstagefright_moz.build,v 1.1 2017/08/10 14:46:15 ryoon Exp $
--- media/libstagefright/moz.build.orig 2017-07-31 16:20:49.000000000 +0000
+++ media/libstagefright/moz.build
@@ -83,9 +83,10 @@ SOURCES += [
'system/core/libutils/VectorImpl.cpp',
]
-EXPORTS += [
- 'binding/include/mp4parse.h',
-]
+if CONFIG['MOZ_RUST']:
+ EXPORTS += [
+ 'binding/include/mp4parse.h',
+ ]
UNIFIED_SOURCES += [
'binding/Adts.cpp',

View file

@ -0,0 +1,42 @@
$NetBSD: patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc,v 1.14 2017/09/30 05:34:12 ryoon Exp $
--- media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc.orig 2017-09-14 20:16:07.000000000 +0000
+++ media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc
@@ -25,6 +25,9 @@
#else
#include <linux/videodev2.h>
#endif
+#ifdef HAVE_LIBV4L2
+#include <libv4l2.h>
+#endif
#include "webrtc/system_wrappers/include/trace.h"
@@ -33,6 +36,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
@@ -314,6 +326,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));

View file

@ -0,0 +1,30 @@
$NetBSD: patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc,v 1.14 2017/09/30 05:34:12 ryoon Exp $
--- media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc.orig 2017-09-14 20:16:07.000000000 +0000
+++ media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc
@@ -24,6 +24,9 @@
#else
#include <linux/videodev2.h>
#endif
+#ifdef HAVE_LIBV4L2
+#include <libv4l2.h>
+#endif
#include <new>
@@ -33,6 +36,15 @@
#include "webrtc/system_wrappers/include/critical_section_wrapper.h"
#include "webrtc/system_wrappers/include/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 {
rtc::scoped_refptr<VideoCaptureModule> VideoCaptureImpl::Create(

View file

@ -0,0 +1,34 @@
$NetBSD: patch-media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi,v 1.13 2017/09/30 05:34:12 ryoon Exp $
--- media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi.orig 2017-09-14 20:16:07.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.
@@ -74,6 +77,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',
+ ],
+ }],
+ ],
}],
['OS=="mac"', {
'sources': [

View file

@ -1,18 +0,0 @@
$NetBSD: patch-memory_mozalloc_mozalloc__abort.cpp,v 1.6 2016/06/16 12:08:21 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] = {};

View file

@ -1,13 +0,0 @@
$NetBSD: patch-mobile_android_confvars.sh,v 1.2 2017/08/10 14:46:15 ryoon Exp $
--- mobile/android/confvars.sh.orig 2017-07-31 16:20:50.000000000 +0000
+++ mobile/android/confvars.sh
@@ -30,6 +30,8 @@ MOZ_XULRUNNER=
MOZ_CAPTURE=1
MOZ_RAW=1
+MOZ_RUST_MP4PARSE=1
+
# use custom widget for html:select
MOZ_USE_NATIVE_POPUP_WINDOWS=1

View file

@ -1,17 +0,0 @@
$NetBSD: patch-modules_libjar_nsZipArchive.cpp,v 1.4 2016/06/16 12:08:21 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<uint8_t*>(startp), readaheadLength, POSIX_MADV_WILLNEED);
+#elif defined(XP_UNIX)
madvise(const_cast<uint8_t*>(startp), readaheadLength, MADV_WILLNEED);
#elif defined(XP_WIN)
if (aFd) {

View file

@ -0,0 +1,16 @@
$NetBSD: patch-modules_pdfium_update.sh,v 1.1 2017/09/30 05:34:12 ryoon Exp $
--- modules/pdfium/update.sh.orig 2017-09-14 20:15:53.000000000 +0000
+++ modules/pdfium/update.sh
@@ -124,9 +124,9 @@ update_readme() {
perl -p -i -e "s/${PREFIX} [0-9A-Fa-f]+ \(.+\)/${PREFIX} ${COMMIT} (${COMMIT_DATE})/" README_MOZILLA
}
-if [ "$#" == 0 ]; then
+if [ "$#" = 0 ]; then
COMMIT_SELECTOR="master"
-elif [ "$#" == 2 -a "$1" == "--commit" ]; then
+elif [ "$#" = 2 -a "$1" = "--commit" ]; then
COMMIT_SELECTOR="$2"
else
print_help

View file

@ -1,13 +0,0 @@
$NetBSD: patch-netwerk_base_moz.build,v 1.1 2017/08/10 14:46:15 ryoon Exp $
--- netwerk/base/moz.build.orig 2017-07-31 16:20:51.000000000 +0000
+++ netwerk/base/moz.build
@@ -256,7 +256,7 @@ UNIFIED_SOURCES += [
'TLSServerSocket.cpp',
]
-if CONFIG['MOZ_RUST_URLPARSE']:
+if CONFIG['MOZ_RUST'] and CONFIG['MOZ_RUST_URLPARSE']:
EXPORTS.mozilla.net += [ 'RustURL.h' ]
UNIFIED_SOURCES += [ 'RustURL.cpp' ]

View file

@ -1,42 +0,0 @@
$NetBSD: patch-netwerk_base_nsStandardURL.cpp,v 1.1 2017/08/10 14:46:15 ryoon Exp $
--- netwerk/base/nsStandardURL.cpp.orig 2017-07-31 16:20:51.000000000 +0000
+++ netwerk/base/nsStandardURL.cpp
@@ -858,6 +858,7 @@ nsStandardURL::BuildNormalizedSpec(const
if (!SegmentIs(spec, mScheme, "resource") &&
!SegmentIs(spec, mScheme, "chrome")) {
nsAutoCString ipString;
+#ifdef MOZ_RUST
if (encHost.Length() > 0 &&
encHost.First() == '[' && encHost.Last() == ']' &&
ValidIPv6orHostname(encHost.get(), encHost.Length())) {
@@ -866,7 +867,9 @@ nsStandardURL::BuildNormalizedSpec(const
return rv;
}
encHost = ipString;
- } else if (NS_SUCCEEDED(NormalizeIPv4(encHost, ipString))) {
+ } else
+#endif
+ if (NS_SUCCEEDED(NormalizeIPv4(encHost, ipString))) {
encHost = ipString;
}
}
@@ -2112,6 +2115,7 @@ nsStandardURL::SetHost(const nsACString
if (!SegmentIs(mScheme, "resource") && !SegmentIs(mScheme, "chrome")) {
nsAutoCString ipString;
+#ifdef MOZ_RUST
if (hostBuf.Length() > 0 &&
hostBuf.First() == '[' && hostBuf.Last() == ']' &&
ValidIPv6orHostname(hostBuf.get(), hostBuf.Length())) {
@@ -2120,7 +2124,9 @@ nsStandardURL::SetHost(const nsACString
return rv;
}
hostBuf = ipString;
- } else if (NS_SUCCEEDED(NormalizeIPv4(hostBuf, ipString))) {
+ } else
+#endif
+ if (NS_SUCCEEDED(NormalizeIPv4(hostBuf, ipString))) {
hostBuf = ipString;
}
}

View file

@ -0,0 +1,15 @@
$NetBSD: patch-servo_components_style_build__gecko.rs,v 1.1 2017/09/30 05:34:12 ryoon Exp $
* Fix build with __uint32_t etc. not found errors on NetBSD/amd64 8.99.2
--- servo/components/style/build_gecko.rs.orig 2017-09-14 20:15:56.000000000 +0000
+++ servo/components/style/build_gecko.rs
@@ -546,6 +546,8 @@ mod bindings {
.borrowed_type(ty)
.zero_size_type(ty, &structs_types);
}
+ builder = builder
+ .raw_line(format!("pub use gecko_bindings::structs::root::*;"));
write_binding_file(builder, BINDINGS_FILE, &fixups);
}

View file

@ -1,17 +0,0 @@
$NetBSD: patch-third__party_python_futures_concurrent_futures_process.py,v 1.1 2017/08/10 14:46:15 ryoon Exp $
--- third_party/python/futures/concurrent/futures/process.py.orig 2017-07-31 16:20:49.000000000 +0000
+++ third_party/python/futures/concurrent/futures/process.py
@@ -247,7 +247,11 @@ def _check_system_limits():
_system_limits_checked = True
try:
import os
- nsems_max = os.sysconf("SC_SEM_NSEMS_MAX")
+ if sys.platform.startswith('freebsd'):
+ # sem(4) confuses sysconf(3) on FreeBSD < 11.1
+ nsems_max = -1
+ else:
+ nsems_max = os.sysconf("SC_SEM_NSEMS_MAX")
except (AttributeError, ValueError):
# sysconf not available or setting not available
return

View file

@ -1,24 +0,0 @@
$NetBSD: patch-toolkit_components_resistfingerprinting_nsRFPService.cpp,v 1.1 2017/08/10 14:46:15 ryoon Exp $
--- toolkit/components/resistfingerprinting/nsRFPService.cpp.orig 2017-07-31 16:20:51.000000000 +0000
+++ toolkit/components/resistfingerprinting/nsRFPService.cpp
@@ -152,14 +152,14 @@ nsRFPService::UpdatePref()
PR_SetEnv(tz);
}
} else {
-#if defined(XP_LINUX) || defined (XP_MACOSX)
- // For POSIX like system, we reset the TZ to the /etc/localtime, which is the
- // system timezone.
- PR_SetEnv("TZ=:/etc/localtime");
-#else
+#if defined(XP_WIN)
// For Windows, we reset the TZ to an empty string. This will make Windows to use
// its system timezone.
PR_SetEnv("TZ=");
+#else
+ // For POSIX like system, we reset the TZ to the /etc/localtime, which is the
+ // system timezone.
+ PR_SetEnv("TZ=:/etc/localtime");
#endif
}
}

View file

@ -1,44 +0,0 @@
$NetBSD: patch-toolkit_components_telemetry_Histograms.json,v 1.2 2017/08/10 14:46:15 ryoon Exp $
--- toolkit/components/telemetry/Histograms.json.orig 2017-07-31 16:20:51.000000000 +0000
+++ toolkit/components/telemetry/Histograms.json
@@ -8337,7 +8337,8 @@
"expires_in_version": "60",
"kind": "boolean",
"bug_numbers": [1220885],
- "description": "Whether the rust mp4 demuxer successfully parsed a stream segment."
+ "description": "Whether the rust mp4 demuxer successfully parsed a stream segment.",
+ "cpp_guard": "MOZ_RUST_MP4PARSE"
},
"MEDIA_RUST_MP4PARSE_ERROR_CODE": {
"record_in_processes": ["main", "content"],
@@ -8346,7 +8347,8 @@
"kind": "enumerated",
"n_values": 32,
"bug_numbers": [1238420],
- "description": "The error code reported when an MP4 parse attempt has failed.0 = OK, 1 = bad argument, 2 = invalid data, 3 = unsupported, 4 = unexpected end of file, 5 = read error."
+ "description": "The error code reported when an MP4 parse attempt has failed.0 = OK, 1 = bad argument, 2 = invalid data, 3 = unsupported, 4 = unexpected end of file, 5 = read error.",
+ "cpp_guard": "MOZ_RUST_MP4PARSE"
},
"MEDIA_RUST_MP4PARSE_TRACK_MATCH_AUDIO": {
"record_in_processes": ["main", "content"],
@@ -8354,7 +8356,8 @@
"expires_in_version": "60",
"kind": "boolean",
"bug_numbers": [1231169],
- "description": "Whether rust and stagefight mp4 parser audio track results match."
+ "description": "Whether rust and stagefight mp4 parser audio track results match.",
+ "cpp_guard": "MOZ_RUST_MP4PARSE"
},
"MEDIA_RUST_MP4PARSE_TRACK_MATCH_VIDEO": {
"record_in_processes": ["main", "content"],
@@ -8362,7 +8365,8 @@
"expires_in_version": "60",
"kind": "boolean",
"bug_numbers": [1231169],
- "description": "Whether rust and stagefight mp4 parser video track results match."
+ "description": "Whether rust and stagefight mp4 parser video track results match.",
+ "cpp_guard": "MOZ_RUST_MP4PARSE"
},
"MEDIA_WMF_DECODE_ERROR": {
"record_in_processes": ["main", "content", "gpu"],

View file

@ -1,17 +1,17 @@
$NetBSD: patch-toolkit_crashreporter_google-breakpad_src_third_party_curl_curlbuild.h,v 1.1 2017/09/12 07:39:08 martin Exp $
$NetBSD: patch-toolkit_crashreporter_google-breakpad_src_third_party_curl_curlbuild.h,v 1.2 2017/09/30 05:34:12 ryoon Exp $
See https://bugzilla.mozilla.org/show_bug.cgi?id=1399027
Allow non-whitelisted 64bit platforms to build.
--- toolkit/crashreporter/google-breakpad/src/third_party/curl/curlbuild.h.orig 2017-06-15 22:52:33.000000000 +0200
+++ toolkit/crashreporter/google-breakpad/src/third_party/curl/curlbuild.h 2017-09-12 09:11:23.076831216 +0200
@@ -155,7 +155,8 @@
--- toolkit/crashreporter/google-breakpad/src/third_party/curl/curlbuild.h.orig 2017-06-15 20:52:33.000000000 +0000
+++ toolkit/crashreporter/google-breakpad/src/third_party/curl/curlbuild.h
@@ -154,8 +154,7 @@
#endif
/* The size of `long', as computed by sizeof. */
#if defined(_M_X64) || (defined(__x86_64__) && !defined(__ILP32__)) || \
-#if defined(_M_X64) || (defined(__x86_64__) && !defined(__ILP32__)) || \
- defined(__aarch64__) || (defined(__mips__) && _MIPS_SIM == _ABI64)
+ defined(__aarch64__) || (defined(__mips__) && _MIPS_SIM == _ABI64) || \
+ defined(__LP64__)
+#if defined(_M_X64) || defined(__LP64__)
#define CURL_SIZEOF_LONG 8
#else
#define CURL_SIZEOF_LONG 4

View file

@ -1,24 +0,0 @@
$NetBSD: patch-toolkit_library_gtest_moz.build,v 1.1 2017/08/10 14:46:15 ryoon Exp $
--- toolkit/library/gtest/moz.build.orig 2017-07-31 16:20:52.000000000 +0000
+++ toolkit/library/gtest/moz.build
@@ -7,7 +7,6 @@
FINAL_TARGET = 'dist/bin/gtest'
USE_LIBS += [
- 'gkrust-gtest',
'static:xul',
# xul-gtest is an intermediate static library. It is used as FINAL_TARGET
# for gtest code.
@@ -21,6 +20,11 @@ USE_LIBS += [
# before StaticXULComponentStart.
Libxul('xul-gtest-real')
+if CONFIG['MOZ_RUST']:
+ USE_LIBS += [
+ 'gkrust-gtest',
+ ]
+
DIRS += [
'static',
]

View file

@ -1,20 +1,11 @@
$NetBSD: patch-toolkit_library_moz.build,v 1.14 2017/08/10 14:46:15 ryoon Exp $
$NetBSD: patch-toolkit_library_moz.build,v 1.15 2017/09/30 05:34:12 ryoon Exp $
* Support system libraries
* Restore OSS support
--- toolkit/library/moz.build.orig 2017-07-31 16:20:52.000000000 +0000
--- toolkit/library/moz.build.orig 2017-09-14 20:16:01.000000000 +0000
+++ toolkit/library/moz.build
@@ -63,7 +63,7 @@ def Libxul(name):
# This option should go away in bug 1290972, but we need to wait until
# Rust 1.12 has been released.
- if CONFIG['OS_ARCH'] == 'Darwin':
+ if CONFIG['MOZ_RUST'] and CONFIG['OS_ARCH'] == 'Darwin':
LDFLAGS += ['-Wl,-no_compact_unwind']
Libxul('xul')
@@ -197,6 +197,7 @@ if CONFIG['OS_ARCH'] == 'Linux' and CONF
@@ -198,6 +198,7 @@ if CONFIG['OS_ARCH'] == 'Linux' and CONF
]
OS_LIBS += CONFIG['MOZ_CAIRO_OSLIBS']
@ -22,7 +13,7 @@ $NetBSD: patch-toolkit_library_moz.build,v 1.14 2017/08/10 14:46:15 ryoon Exp $
OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS']
if CONFIG['SERVO_TARGET_DIR']:
@@ -211,9 +212,30 @@ if CONFIG['MOZ_SYSTEM_JPEG']:
@@ -212,9 +213,30 @@ if CONFIG['MOZ_SYSTEM_JPEG']:
if CONFIG['MOZ_SYSTEM_PNG']:
OS_LIBS += CONFIG['MOZ_PNG_LIBS']
@ -53,7 +44,7 @@ $NetBSD: patch-toolkit_library_moz.build,v 1.14 2017/08/10 14:46:15 ryoon Exp $
if CONFIG['MOZ_SYSTEM_LIBEVENT']:
OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']
@@ -223,8 +245,8 @@ if CONFIG['MOZ_SYSTEM_LIBVPX']:
@@ -224,8 +246,8 @@ if CONFIG['MOZ_SYSTEM_LIBVPX']:
if not CONFIG['MOZ_TREE_PIXMAN']:
OS_LIBS += CONFIG['MOZ_PIXMAN_LIBS']
@ -64,10 +55,3 @@ $NetBSD: patch-toolkit_library_moz.build,v 1.14 2017/08/10 14:46:15 ryoon Exp $
if CONFIG['HAVE_CLOCK_MONOTONIC']:
OS_LIBS += CONFIG['REALTIME_LIBS']
@@ -343,4 +365,5 @@ USE_LIBS += ['StaticXULComponentsEnd']
# The above library needs to be last for C++ purposes. This library,
# however, is entirely composed of Rust code, and needs to come after
# all the C++ code so any possible C++ -> Rust calls can be resolved.
-USE_LIBS += ['gkrust']
+if CONFIG['MOZ_RUST']:
+ USE_LIBS += ['gkrust']

View file

@ -1,22 +1,12 @@
$NetBSD: patch-toolkit_moz.configure,v 1.5 2017/08/15 01:24:47 ryoon Exp $
$NetBSD: patch-toolkit_moz.configure,v 1.6 2017/09/30 05:34:12 ryoon Exp $
* skia part: support bigendian architectures
--- toolkit/moz.configure.orig 2017-07-31 16:20:52.000000000 +0000
--- toolkit/moz.configure.orig 2017-09-14 20:16:01.000000000 +0000
+++ toolkit/moz.configure
@@ -88,8 +88,7 @@ include('../js/moz.configure')
# Rust
# ==============================================================
-include('../build/moz.configure/rust.configure',
- when='--enable-compile-environment')
+include('../build/moz.configure/rust.configure')
# L10N
@@ -356,6 +355,26 @@ add_old_configure_assignment('FT2_LIBS',
add_old_configure_assignment('FT2_CFLAGS',
ft2_info.cflags)
@@ -314,6 +314,26 @@ def freetype2_combined_info(fontconfig_i
add_old_configure_assignment('_HAVE_FREETYPE2',
depends_if(freetype2_info)(lambda _: True))
+# Graphite2
+# ==============================================================
@ -33,7 +23,7 @@ $NetBSD: patch-toolkit_moz.configure,v 1.5 2017/08/15 01:24:47 ryoon Exp $
+option('--with-system-harfbuzz',
+ help="Use system harfbuzz (located with pkgconfig)")
+
+system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.4.6',
+system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.4.7',
+ when='--with-system-harfbuzz')
+
+set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True))
@ -41,42 +31,16 @@ $NetBSD: patch-toolkit_moz.configure,v 1.5 2017/08/15 01:24:47 ryoon Exp $
# Apple platform decoder support
# ==============================================================
@depends(toolkit)
@@ -623,13 +642,13 @@ id_and_secret_keyfile('Leanplum SDK')
option('--enable-stylo', nargs='?', choices=('build',),
help='Include Stylo in the build and/or enable it at runtime')
@@ -600,7 +620,7 @@ def stylo_config(value, _, target):
-@depends('--enable-stylo')
-def stylo_config(value):
+@depends('--enable-stylo', '--enable-rust')
+def stylo_config(value, rust_enabled):
build_stylo = None
enable_stylo = None
# The default is to not build Stylo at all.
- if value.origin == 'default':
+ if not rust_enabled or value.origin == 'default':
pass
elif value == 'build':
build_stylo = True
@@ -769,12 +788,14 @@ set_config('SERVO_TARGET_DIR', servo_tar
option('--enable-webrender', nargs='?', choices=('build',),
help='Include WebRender in the build and/or enable it at runtime')
-@depends('--enable-webrender', milestone)
-def webrender(value, milestone):
+@depends('--enable-webrender', '--enable-rust', milestone)
+def webrender(value, rust_enabled, milestone):
build_webrender = None
enable_webrender = None
- if value.origin == 'default':
+ if not rust_enabled:
+ pass
+ elif value.origin == 'default':
# if nothing is specified, default to just building on Nightly
build_webrender = milestone.is_nightly
elif value == 'build':
@@ -954,11 +975,11 @@ add_old_configure_assignment('NECKO_PROT
# If nothing is specified, default to building stylo where possible.
if value.origin == 'default':
- if target.os == 'GNU' and target.bitness == 32:
+ if target.os != 'WINNT' and target.bitness == 32:
# The clang setup we use in automation is a little unusual, and
# doesn't play well with bindgen on 32-bit Linux.
pass
@@ -1047,11 +1067,11 @@ add_old_configure_assignment('NECKO_PROT
# ==============================================================
option('--disable-skia', help='Disable use of Skia')

View file

@ -1,32 +0,0 @@
$NetBSD: patch-toolkit_toolkit.mozbuild,v 1.6 2017/08/10 14:46:15 ryoon Exp $
--- toolkit/toolkit.mozbuild.orig 2017-07-31 16:20:53.000000000 +0000
+++ toolkit/toolkit.mozbuild
@@ -133,16 +133,23 @@ if CONFIG['MOZ_PREF_EXTENSIONS']:
DIRS += [
'/devtools',
- '/toolkit/library',
- '/toolkit/library/gtest/rust',
- '/toolkit/library/rust',
- '/toolkit/library/StaticXULComponentsEnd',
'/services',
'/startupcache',
'/js/ductwork/debugger',
'/other-licenses/snappy',
]
+if CONFIG['MOZ_RUST']:
+ DIRS += [
+ '/toolkit/library/gtest/rust',
+ '/toolkit/library/rust',
+ ]
+
+DIRS += [
+ '/toolkit/library/StaticXULComponentsEnd',
+ '/toolkit/library',
+]
+
if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
DIRS += ['/toolkit/system/gnome']

View file

@ -1,29 +0,0 @@
$NetBSD: patch-toolkit_xre_nsAppRunner.cpp,v 1.7 2017/08/10 14:46:15 ryoon Exp $
--- toolkit/xre/nsAppRunner.cpp.orig 2017-07-31 16:20:53.000000000 +0000
+++ toolkit/xre/nsAppRunner.cpp
@@ -227,11 +227,13 @@
extern uint32_t gRestartMode;
extern void InstallSignalHandlers(const char *ProgramName);
+#ifdef MOZ_RUST
// This workaround is fixed in Rust 1.19. For details, see bug 1358151.
// Implementation in toolkit/library/rust/shared/lib.rs
extern "C" {
void rust_init_please_remove_this_after_updating_rust_1_19();
}
+#endif
#define FILE_COMPATIBILITY_INFO NS_LITERAL_CSTRING("compatibility.ini")
#define FILE_INVALIDATE_CACHES NS_LITERAL_CSTRING(".purgecaches")
@@ -3120,8 +3122,10 @@ XREMain::XRE_mainInit(bool* aExitFlag)
return 1;
*aExitFlag = false;
+#ifdef MOZ_RUST
// This workaround is fixed in Rust 1.19. For details, see bug 1358151.
rust_init_please_remove_this_after_updating_rust_1_19();
+#endif
atexit(UnexpectedExit);
auto expectedShutdown = mozilla::MakeScopeExit([&] {

View file

@ -1,25 +0,0 @@
$NetBSD: patch-xpcom_base_nsDebugImpl.cpp,v 1.3 2017/08/10 14:46:15 ryoon Exp $
--- xpcom/base/nsDebugImpl.cpp.orig 2017-07-31 16:20:53.000000000 +0000
+++ xpcom/base/nsDebugImpl.cpp
@@ -148,14 +148,20 @@ nsDebugImpl::Abort(const char* aFile, in
return NS_OK;
}
+#ifdef MOZ_RUST
// From toolkit/library/rust/lib.rs
extern "C" void intentional_panic(const char* message);
+#endif
NS_IMETHODIMP
nsDebugImpl::RustPanic(const char* aMessage)
{
+#ifdef MOZ_RUST
intentional_panic(aMessage);
return NS_OK;
+#else
+ return NS_ERROR_NOT_IMPLEMENTED;
+#endif
}
NS_IMETHODIMP

View file

@ -1,527 +0,0 @@
$NetBSD: patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__arm__netbsd.cpp,v 1.1 2014/11/26 14:56:28 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<vtable_func **>(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<uint32_t&>(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<uint64_t&>(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<uint32_t>(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<vtable_func **>(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

View file

@ -1,52 +0,0 @@
$NetBSD: patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__mips.S,v 1.1 2014/10/15 13:43:32 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 <sys/asm.h>
#endif
+#ifdef __NetBSD__
+# include <machine/regdef.h>
+# include <machine/asm.h>
+# ifndef fp
+# define fp s8
+# endif
+# ifndef PTRLOG
+# if SZREG == 4
+# define PTRLOG 2
+# else
+# define PTRLOG 3
+# endif
+# endif
+# ifndef SETUP_GP
+# if defined(__mips_o32)
+# define SETUP_GP \
+ .set push; \
+ .set noreorder; \
+ .cpload t9; \
+ .set pop
+# define SAVE_GP(x) \
+ .cprestore x
+# else
+# define SETUP_GP
+# define SAVE_GP(x)
+# endif
+# endif
+# ifndef ALSZ
+# if defined(__mips_n32) || defined(__mips_n64)
+# define ALSZ 15
+# define ALMASK ~15
+# else
+# define ALSZ 7
+# define ALMASK ~7
+# endif
+# endif
+#else
+# include <sys/regdef.h>
+# include <sys/asm.h>
+#endif
+
# NARGSAVE is the argument space in the callers frame, including extra
# 'shadowed' space for the argument registers. The minimum of 4
# argument slots is sometimes predefined in the header files.

View file

@ -1,27 +0,0 @@
$NetBSD: patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__ppc__netbsd.s,v 1.2 2017/08/26 10:36:01 he Exp $
Adapt to the use of NS_InvokeByIndex instead of XPTC_InvokeByIndex.
--- 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
+ .type NS_InvokeByIndex,@function
#
-# XPTC_InvokeByIndex(nsISupports* that, uint32_t methodIndex,
-# uint32_t paramCount, nsXPTCVariant* params)
+# NS_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
+# PRUint32 paramCount, nsXPTCVariant* params)
#
-XPTC_InvokeByIndex:
+NS_InvokeByIndex:
stwu sp,-32(sp) # setup standard stack frame
mflr r0 # save LR
stw r3,8(sp) # r3 <= that

View file

@ -1,75 +0,0 @@
$NetBSD: patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__netbsd__m68k.cpp,v 1.1 2014/10/15 13:43:32 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 */

View file

@ -1,50 +0,0 @@
$NetBSD: patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__ppc__netbsd.cpp,v 1.2 2017/08/26 10:36:01 he Exp $
Adapt to the use of NS_InvokeByIndex() instead of XPTC_InvokeByIndex().
Also a conditional on __GXX_ABI_VERSION < 100.
--- 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() 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() 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(nsISupports* that, uint32_t methodIndex,
uint32_t paramCount, nsXPTCVariant* params);

View file

@ -1,217 +0,0 @@
$NetBSD: patch-xpcom_reflect_xptcall_md_unix_xptcstubs__arm__netbsd.cpp,v 1.4 2014/12/02 12:14:40 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() \

View file

@ -1,52 +0,0 @@
$NetBSD: patch-xpcom_reflect_xptcall_md_unix_xptcstubs__asm__mips.S,v 1.1 2014/10/15 13:43:32 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 <sys/asm.h>
#endif
+#ifdef __NetBSD__
+# include <machine/regdef.h>
+# include <machine/asm.h>
+# ifndef fp
+# define fp s8
+# endif
+# ifndef PTRLOG
+# if SZREG == 4
+# define PTRLOG 2
+# else
+# define PTRLOG 3
+# endif
+# endif
+# ifndef SETUP_GP
+# if defined(__mips_o32)
+# define SETUP_GP \
+ .set push; \
+ .set noreorder; \
+ .cpload t9; \
+ .set pop
+# define SAVE_GP(x) \
+ .cprestore x
+# else
+# define SETUP_GP
+# define SAVE_GP(x)
+# endif
+# endif
+# ifndef ALSZ
+# if defined(__mips_n32) || defined(__mips_n64)
+# define ALSZ 15
+# define ALMASK ~15
+# else
+# define ALSZ 7
+# define ALMASK ~7
+# endif
+# endif
+#else
+# include <sys/regdef.h>
+# include <sys/asm.h>
+#endif
+
# NARGSAVE is the argument space in the callers frame, including extra
# 'shadowed' space for the argument registers. The minimum of 4
# argument slots is sometimes predefined in the header files.

View file

@ -1,71 +0,0 @@
$NetBSD: patch-xpcom_reflect_xptcall_md_unix_xptcstubs__asm__sparc64__netbsd.s,v 1.1 2014/10/15 13:43:32 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

View file

@ -1,41 +0,0 @@
$NetBSD: patch-xpcom_reflect_xptcall_md_unix_xptcstubs__netbsd__m68k.cpp,v 1.1 2014/10/15 13:43:32 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" \
);

View file

@ -1,104 +0,0 @@
$NetBSD: patch-xpcom_reflect_xptcall_md_unix_xptcstubs__ppc__netbsd.cpp,v 1.1 2017/08/26 10:36:01 he Exp $
Adapt in the direction of xptcstubs_ppc_linux.cpp.
This apparently hasn't built for a while.
--- xpcom/reflect/xptcall/md/unix/xptcstubs_ppc_netbsd.cpp.orig 2017-06-15 20:52:36.000000000 +0000
+++ xpcom/reflect/xptcall/md/unix/xptcstubs_ppc_netbsd.cpp
@@ -6,6 +6,7 @@
// Implement shared vtbl methods.
#include "xptcprivate.h"
+#include "xptiprivate.h"
// The Linux/PPC ABI (aka PPC/SYSV ABI) passes the first 8 integral
// parameters and the first 8 floating point parameters in registers
@@ -36,20 +37,14 @@ PrepareAndDispatch(nsXPTCStubBase* self,
{
nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT];
nsXPTCMiniVariant* dispatchParams = nullptr;
- nsIInterfaceInfo* iface_info = nullptr;
- const nsXPTMethodInfo* info;
+ const nsXPTMethodInfo* info = nullptr;
uint32_t paramCount;
uint32_t i;
nsresult result = NS_ERROR_FAILURE;
NS_ASSERTION(self,"no self");
- self->GetInterfaceInfo(&iface_info);
- NS_ASSERTION(iface_info,"no interface info");
- if (! iface_info)
- return NS_ERROR_UNEXPECTED;
-
- iface_info->GetMethodInfo(uint16_t(methodIndex), &info);
+ self->mEntry->GetMethodInfo(uint16_t(methodIndex), &info);
NS_ASSERTION(info,"no method info");
if (! info)
return NS_ERROR_UNEXPECTED;
@@ -147,9 +142,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;
@@ -163,16 +156,44 @@ PrepareAndDispatch(nsXPTCStubBase* self,
// however, it's quick, dirty, and'll break when the ABI changes on
// us, which is what we want ;-).
-#define STUB_ENTRY(n) \
-__asm__ ( \
- ".section \".text\" \n\t" \
- ".align 2 \n\t" \
- ".globl Stub"#n"__14nsXPTCStubBase \n\t" \
- ".type Stub"#n"__14nsXPTCStubBase,@function \n\n" \
- \
-"Stub"#n"__14nsXPTCStubBase: \n\t" \
- "li 11,"#n" \n\t" \
- "b SharedStub@local \n" \
+// gcc-3 version
+//
+// 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:
+// _ZN14nsXPTCStubBase5Stub1Ev
+// _ZN14nsXPTCStubBase6Stub12Ev
+// _ZN14nsXPTCStubBase7Stub123Ev
+// _ZN14nsXPTCStubBase8Stub1234Ev
+// etc.
+// Use assembler directives to get the names right...
+
+#define STUB_ENTRY(n) \
+__asm__ ( \
+ ".section \".text\" \n\t" \
+ ".align 2 \n\t" \
+ ".if "#n" < 10 \n\t" \
+ ".globl _ZN14nsXPTCStubBase5Stub"#n"Ev \n\t" \
+ ".type _ZN14nsXPTCStubBase5Stub"#n"Ev,@function \n\n" \
+"_ZN14nsXPTCStubBase5Stub"#n"Ev: \n\t" \
+ \
+ ".elseif "#n" < 100 \n\t" \
+ ".globl _ZN14nsXPTCStubBase6Stub"#n"Ev \n\t" \
+ ".type _ZN14nsXPTCStubBase6Stub"#n"Ev,@function \n\n" \
+"_ZN14nsXPTCStubBase6Stub"#n"Ev: \n\t" \
+ \
+ ".elseif "#n" < 1000 \n\t" \
+ ".globl _ZN14nsXPTCStubBase7Stub"#n"Ev \n\t" \
+ ".type _ZN14nsXPTCStubBase7Stub"#n"Ev,@function \n\n" \
+"_ZN14nsXPTCStubBase7Stub"#n"Ev: \n\t" \
+ \
+ ".else \n\t" \
+ ".err \"stub number "#n" >= 1000 not yet supported\"\n" \
+ ".endif \n\t" \
+ \
+ "li 11,"#n" \n\t" \
+ "b SharedStub@local \n" \
);
#define SENTINEL_ENTRY(n) \

View file

@ -1,17 +0,0 @@
$NetBSD: patch-xpcom_rust_nsstring_gtest_moz.build,v 1.1 2017/08/10 14:46:15 ryoon Exp $
--- xpcom/rust/nsstring/gtest/moz.build.orig 2017-07-31 16:20:53.000000000 +0000
+++ xpcom/rust/nsstring/gtest/moz.build
@@ -4,8 +4,9 @@
# 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/.
-UNIFIED_SOURCES += [
- 'Test.cpp'
-]
+if CONFIG['MOZ_RUST']:
+ UNIFIED_SOURCES += [
+ 'Test.cpp'
+ ]
FINAL_LIBRARY = 'xul-gtest'