From 075f58be60d274e9d74da3f0a54f7537f37b774f Mon Sep 17 00:00:00 2001 From: Mark Banner Date: Fri, 10 Mar 2017 12:34:54 +0000 Subject: [PATCH] Bug 1346825 - Setup build configuration for Firefox Screenshots in Firefox (and disable screenshots by default). r=gps,Mossop Screenshots is a system add-on imported from https://github.com/mozilla-services/screenshots/. This is the initial build system patch for building screenshots. ESLint is ignored since Screenshots currently use their own version (this may change in the future). MozReview-Commit-ID: 4OEcaduaeWE --HG-- extra : source : d4b155c9ee3db31f5494e1d15bac0984932ed7a2 --- .eslintignore | 2 + .gitignore | 1 + browser/app/profile/firefox.js | 3 + browser/extensions/moz.build | 1 + browser/extensions/screenshots/moz.build | 306 +++++++++++++++++++++++ testing/profiles/prefs_general.js | 3 + 6 files changed, 316 insertions(+) create mode 100644 browser/extensions/screenshots/moz.build diff --git a/.eslintignore b/.eslintignore index 7d6c5d0f06ea..951a50edeee8 100644 --- a/.eslintignore +++ b/.eslintignore @@ -64,6 +64,8 @@ browser/components/sessionstore/test/unit/data/sessionstore_invalid.js browser/components/tabview/** # generated & special files in cld2 browser/components/translation/cld2/** +# Screenshots is imported as a system add-on and has its own lint rules currently. +browser/extensions/screenshots/** browser/extensions/pdfjs/content/build** browser/extensions/pdfjs/content/web** # generated or library files in pocket diff --git a/.gitignore b/.gitignore index 5214c66432a6..70673121ce5a 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ TAGS tags ID +!/browser/extensions/screenshots/webextension/_locales/id/ .DS_Store* *.pdb *.egg-info diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js index 274ebea91180..64b84774516f 100644 --- a/browser/app/profile/firefox.js +++ b/browser/app/profile/firefox.js @@ -63,6 +63,9 @@ pref("extensions.hotfix.certs.2.sha1Fingerprint", "39:E7:2B:7A:5B:CF:37:78:F9:5D // Check AUS for system add-on updates. pref("extensions.systemAddon.update.url", "https://aus5.mozilla.org/update/3/SystemAddons/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/update.xml"); +// Disable screenshots for now, Shield will enable this. +pref("extensions.screenshots.system-disabled", true); + // Disable add-ons that are not installed by the user in all scopes by default. // See the SCOPE constants in AddonManager.jsm for values to use here. pref("extensions.autoDisableScopes", 15); diff --git a/browser/extensions/moz.build b/browser/extensions/moz.build index b0f2ec61f811..da6898beacdc 100644 --- a/browser/extensions/moz.build +++ b/browser/extensions/moz.build @@ -9,6 +9,7 @@ DIRS += [ 'e10srollout', 'pdfjs', 'pocket', + 'screenshots', 'webcompat', ] diff --git a/browser/extensions/screenshots/moz.build b/browser/extensions/screenshots/moz.build new file mode 100644 index 000000000000..69c7b0f82d52 --- /dev/null +++ b/browser/extensions/screenshots/moz.build @@ -0,0 +1,306 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +FINAL_TARGET_FILES.features['screenshots@mozilla.org'] += [ + 'bootstrap.js', + 'install.rdf' +] + +# This file list is automatically generated by Screenshots' export scripts. +# AUTOMATIC INSERTION START +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"] += [ + 'webextension/assertIsTrusted.js', + 'webextension/catcher.js', + 'webextension/clipboard.js', + 'webextension/domainFromUrl.js', + 'webextension/makeUuid.js', + 'webextension/manifest.json', + 'webextension/randomString.js', + 'webextension/sitehelper.js' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["ach"] += [ + 'webextension/_locales/ach/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["be"] += [ + 'webextension/_locales/be/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["bg"] += [ + 'webextension/_locales/bg/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["bn_BD"] += [ + 'webextension/_locales/bn_BD/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["cs"] += [ + 'webextension/_locales/cs/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["de"] += [ + 'webextension/_locales/de/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["dsb"] += [ + 'webextension/_locales/dsb/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["el"] += [ + 'webextension/_locales/el/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["en_GB"] += [ + 'webextension/_locales/en_GB/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["en_US"] += [ + 'webextension/_locales/en_US/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["es_AR"] += [ + 'webextension/_locales/es_AR/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["es_CL"] += [ + 'webextension/_locales/es_CL/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["es_ES"] += [ + 'webextension/_locales/es_ES/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["es_MX"] += [ + 'webextension/_locales/es_MX/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["et"] += [ + 'webextension/_locales/et/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["fa"] += [ + 'webextension/_locales/fa/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["fr"] += [ + 'webextension/_locales/fr/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["fy_NL"] += [ + 'webextension/_locales/fy_NL/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["gu_IN"] += [ + 'webextension/_locales/gu_IN/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["he"] += [ + 'webextension/_locales/he/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["hsb"] += [ + 'webextension/_locales/hsb/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["hu"] += [ + 'webextension/_locales/hu/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["hy_AM"] += [ + 'webextension/_locales/hy_AM/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["id"] += [ + 'webextension/_locales/id/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["it"] += [ + 'webextension/_locales/it/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["ja"] += [ + 'webextension/_locales/ja/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["kab"] += [ + 'webextension/_locales/kab/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["kk"] += [ + 'webextension/_locales/kk/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["ko"] += [ + 'webextension/_locales/ko/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["lij"] += [ + 'webextension/_locales/lij/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["lo"] += [ + 'webextension/_locales/lo/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["lt"] += [ + 'webextension/_locales/lt/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["ms"] += [ + 'webextension/_locales/ms/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["nb_NO"] += [ + 'webextension/_locales/nb_NO/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["nl"] += [ + 'webextension/_locales/nl/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["nn_NO"] += [ + 'webextension/_locales/nn_NO/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["pa_IN"] += [ + 'webextension/_locales/pa_IN/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["pl"] += [ + 'webextension/_locales/pl/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["pt_BR"] += [ + 'webextension/_locales/pt_BR/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["pt_PT"] += [ + 'webextension/_locales/pt_PT/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["rm"] += [ + 'webextension/_locales/rm/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["ru"] += [ + 'webextension/_locales/ru/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["sk"] += [ + 'webextension/_locales/sk/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["sl"] += [ + 'webextension/_locales/sl/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["sq"] += [ + 'webextension/_locales/sq/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["sr"] += [ + 'webextension/_locales/sr/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["sv_SE"] += [ + 'webextension/_locales/sv_SE/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["th"] += [ + 'webextension/_locales/th/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["tl"] += [ + 'webextension/_locales/tl/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["tr"] += [ + 'webextension/_locales/tr/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["uk"] += [ + 'webextension/_locales/uk/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["ur"] += [ + 'webextension/_locales/ur/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["zh_CN"] += [ + 'webextension/_locales/zh_CN/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["zh_TW"] += [ + 'webextension/_locales/zh_TW/messages.json' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["background"] += [ + 'webextension/background/analytics.js', + 'webextension/background/auth.js', + 'webextension/background/communication.js', + 'webextension/background/deviceInfo.js', + 'webextension/background/main.js', + 'webextension/background/selectorLoader.js', + 'webextension/background/senderror.js', + 'webextension/background/takeshot.js' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["build"] += [ + 'webextension/build/defaultSentryDsn.js', + 'webextension/build/inlineSelectionCss.js', + 'webextension/build/onboardingCss.js', + 'webextension/build/onboardingHtml.js', + 'webextension/build/raven.js', + 'webextension/build/shot.js' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["icons"] += [ + 'webextension/icons/back.svg', + 'webextension/icons/cancel.svg', + 'webextension/icons/copy.png', + 'webextension/icons/done.svg', + 'webextension/icons/download.svg', + 'webextension/icons/icon-128.png', + 'webextension/icons/icon-16.png', + 'webextension/icons/icon-19.png', + 'webextension/icons/icon-256.png', + 'webextension/icons/icon-32.png', + 'webextension/icons/icon-38.png', + 'webextension/icons/icon-48.png', + 'webextension/icons/icon-64.png', + 'webextension/icons/icon-highlight-19.png', + 'webextension/icons/icon-highlight-38.png', + 'webextension/icons/icon-starred-19.png', + 'webextension/icons/icon-starred-38.png', + 'webextension/icons/menu-fullpage.svg', + 'webextension/icons/menu-myshot.svg', + 'webextension/icons/menu-visible.svg', + 'webextension/icons/onboarding-1.png', + 'webextension/icons/onboarding-2.png', + 'webextension/icons/onboarding-3.png', + 'webextension/icons/onboarding-4.png' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["onboarding"] += [ + 'webextension/onboarding/slides.html', + 'webextension/onboarding/slides.js' +] + +FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["selector"] += [ + 'webextension/selector/callBackground.js', + 'webextension/selector/documentMetadata.js', + 'webextension/selector/shooter.js', + 'webextension/selector/ui.js', + 'webextension/selector/uicontrol.js', + 'webextension/selector/util.js' +] + +# AUTOMATIC INSERTION END + +BROWSER_CHROME_MANIFESTS += [ + 'test/browser/browser.ini' +] diff --git a/testing/profiles/prefs_general.js b/testing/profiles/prefs_general.js index 6d4eb7970024..1b0ef3538423 100644 --- a/testing/profiles/prefs_general.js +++ b/testing/profiles/prefs_general.js @@ -370,3 +370,6 @@ user_pref("browser.formautofill.experimental", true); // The prefs recommended by Marionette are typically geared towards // consumer automation; not vendor testing. user_pref("marionette.prefs.recommended", false); + +// Disable Screenshots by default for now +user_pref("extensions.screenshots.system-disabled", true);