summaryrefslogtreecommitdiffstats
path: root/browser/components/newtab/lib/PanelTestProvider.jsm
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/newtab/lib/PanelTestProvider.jsm')
-rw-r--r--browser/components/newtab/lib/PanelTestProvider.jsm355
1 files changed, 355 insertions, 0 deletions
diff --git a/browser/components/newtab/lib/PanelTestProvider.jsm b/browser/components/newtab/lib/PanelTestProvider.jsm
new file mode 100644
index 0000000000..7cbcb14858
--- /dev/null
+++ b/browser/components/newtab/lib/PanelTestProvider.jsm
@@ -0,0 +1,355 @@
+/* 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/. */
+"use strict";
+
+const TWO_DAYS = 2 * 24 * 3600 * 1000;
+
+const MESSAGES = () => [
+ {
+ id: "SIMPLE_FXA_BOOKMARK_TEST_FLUENT",
+ template: "fxa_bookmark_panel",
+ content: {
+ title: { string_id: "cfr-doorhanger-bookmark-fxa-header" },
+ text: { string_id: "cfr-doorhanger-bookmark-fxa-body" },
+ cta: { string_id: "cfr-doorhanger-bookmark-fxa-link-text" },
+ color: "white",
+ background_color_1: "#7d31ae",
+ background_color_2: "#5033be",
+ info_icon: {
+ tooltiptext: {
+ string_id: "cfr-doorhanger-bookmark-fxa-info-icon-tooltip",
+ },
+ },
+ close_button: {
+ tooltiptext: {
+ string_id: "cfr-doorhanger-bookmark-fxa-close-btn-tooltip",
+ },
+ },
+ },
+ trigger: { id: "bookmark-panel" },
+ },
+ {
+ id: "SIMPLE_FXA_BOOKMARK_TEST_NON_FLUENT",
+ template: "fxa_bookmark_panel",
+ content: {
+ title: "Bookmark Message Title",
+ text: "Bookmark Message Body",
+ cta: "Sync bookmarks now",
+ color: "white",
+ background_color_1: "#7d31ae",
+ background_color_2: "#5033be",
+ info_icon: {
+ tooltiptext: "Toggle tooltip",
+ },
+ close_button: {
+ tooltiptext: "Close tooltip",
+ },
+ },
+ trigger: { id: "bookmark-panel" },
+ },
+ {
+ id: "WNP_THANK_YOU",
+ template: "update_action",
+ content: {
+ action: {
+ id: "moments-wnp",
+ data: {
+ url:
+ "https://www.mozilla.org/%LOCALE%/etc/firefox/retention/thank-you-a/",
+ expireDelta: TWO_DAYS,
+ },
+ },
+ },
+ trigger: { id: "momentsUpdate" },
+ },
+ {
+ id: "WHATS_NEW_FINGERPRINTER_COUNTER_72",
+ template: "whatsnew_panel_message",
+ order: 6,
+ content: {
+ bucket_id: "WHATS_NEW_72",
+ published_date: 1574776601000,
+ layout: "tracking-protections",
+ layout_title_content_variable: "fingerprinterCount",
+ title: { string_id: "cfr-whatsnew-fingerprinter-counter-header" },
+ subtitle: { string_id: "cfr-whatsnew-tracking-blocked-subtitle" },
+ icon_url:
+ "chrome://activity-stream/content/data/content/assets/protection-report-icon.png",
+ icon_alt: "",
+ body: { string_id: "cfr-whatsnew-fingerprinter-counter-body" },
+ link_text: { string_id: "cfr-whatsnew-tracking-blocked-link-text" },
+ cta_url: "",
+ cta_type: "OPEN_PROTECTION_REPORT",
+ },
+ targeting: `firefoxVersion >= 72`,
+ trigger: { id: "whatsNewPanelOpened" },
+ },
+ {
+ id: "WHATS_NEW_FINGERPRINTER_COUNTER_ALT",
+ template: "whatsnew_panel_message",
+ order: 6,
+ content: {
+ bucket_id: "WHATS_NEW_72",
+ published_date: 1574776601000,
+ title: { string_id: "cfr-whatsnew-fingerprinter-counter-header-alt" },
+ icon_url:
+ "chrome://activity-stream/content/data/content/assets/protection-report-icon.png",
+ icon_alt: "",
+ body: { string_id: "cfr-whatsnew-fingerprinter-counter-body-alt" },
+ link_text: { string_id: "cfr-whatsnew-tracking-blocked-link-text" },
+ cta_url: "",
+ cta_type: "OPEN_PROTECTION_REPORT",
+ },
+ targeting: `firefoxVersion >= 72`,
+ trigger: { id: "whatsNewPanelOpened" },
+ },
+ {
+ id: "WHATS_NEW_70_1",
+ template: "whatsnew_panel_message",
+ order: 3,
+ content: {
+ bucket_id: "WHATS_NEW_70_1",
+ published_date: 1560969794394,
+ title: "Protection Is Our Focus",
+ icon_url:
+ "chrome://activity-stream/content/data/content/assets/whatsnew-send-icon.png",
+ icon_alt: "Firefox Send Logo",
+ body:
+ "The New Enhanced Tracking Protection, gives you the best level of protection and performance. Discover how this version is the safest version of firefox ever made.",
+ cta_url: "https://blog.mozilla.org/",
+ cta_type: "OPEN_URL",
+ },
+ targeting: `firefoxVersion > 69`,
+ trigger: { id: "whatsNewPanelOpened" },
+ },
+ {
+ id: "WHATS_NEW_70_2",
+ template: "whatsnew_panel_message",
+ order: 1,
+ content: {
+ bucket_id: "WHATS_NEW_70_1",
+ published_date: 1560969794394,
+ title: "Another thing new in Firefox 70",
+ body:
+ "The New Enhanced Tracking Protection, gives you the best level of protection and performance. Discover how this version is the safest version of firefox ever made.",
+ link_text: "Learn more on our blog",
+ cta_url: "https://blog.mozilla.org/",
+ cta_type: "OPEN_URL",
+ },
+ targeting: `firefoxVersion > 69`,
+ trigger: { id: "whatsNewPanelOpened" },
+ },
+ {
+ id: "WHATS_NEW_SEARCH_SHORTCUTS_84",
+ template: "whatsnew_panel_message",
+ order: 2,
+ content: {
+ bucket_id: "WHATS_NEW_SEARCH_SHORTCUTS_84",
+ published_date: 1560969794394,
+ title: {
+ string_id: "cfr-whatsnew-search-shortcuts-header",
+ },
+ icon_url: "chrome://global/skin/icons/check.svg",
+ icon_alt: {
+ string_id: "cfr-whatsnew-searchbar-icon-alt-text",
+ },
+ body: {
+ string_id: "cfr-whatsnew-search-shortcuts-body",
+ },
+ cta_url:
+ "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/search-shortcuts",
+ cta_type: "OPEN_URL",
+ link_text: {
+ string_id: "cfr-whatsnew-pip-cta",
+ },
+ },
+ targeting: "firefoxVersion >= 84",
+ trigger: {
+ id: "whatsNewPanelOpened",
+ },
+ },
+ {
+ id: "WHATS_NEW_PIONEER_82",
+ template: "whatsnew_panel_message",
+ order: 1,
+ content: {
+ bucket_id: "WHATS_NEW_PIONEER_82",
+ published_date: 1603152000000,
+ title: "Put your data to work for a better internet",
+ icon_url: "",
+ icon_alt: "",
+ body:
+ "Contribute your data to Mozilla's Pioneer program to help researchers understand pressing technology issues like misinformation, data privacy, and ethical AI.",
+ cta_url: "pioneer",
+ cta_where: "tab",
+ cta_type: "OPEN_ABOUT_PAGE",
+ link_text: "Join Pioneer",
+ },
+ targeting: "firefoxVersion >= 82",
+ trigger: {
+ id: "whatsNewPanelOpened",
+ },
+ },
+ {
+ id: "WHATS_NEW_MEDIA_SESSION_82",
+ template: "whatsnew_panel_message",
+ order: 3,
+ content: {
+ bucket_id: "WHATS_NEW_MEDIA_SESSION_82",
+ published_date: 1603152000000,
+ title: {
+ string_id: "cfr-whatsnew-media-keys-header",
+ },
+ body: {
+ string_id: "cfr-whatsnew-media-keys-body",
+ },
+ cta_url:
+ "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/media-keyboard-control",
+ cta_type: "OPEN_URL",
+ link_text: {
+ string_id: "cfr-whatsnew-media-keys-button",
+ },
+ },
+ targeting: "firefoxVersion >= 82",
+ trigger: {
+ id: "whatsNewPanelOpened",
+ },
+ },
+ {
+ id: "WHATS_NEW_69_1",
+ template: "whatsnew_panel_message",
+ order: 1,
+ content: {
+ bucket_id: "WHATS_NEW_69_1",
+ published_date: 1557346235089,
+ title: "Something new in Firefox 69",
+ body:
+ "The New Enhanced Tracking Protection, gives you the best level of protection and performance. Discover how this version is the safest version of firefox ever made.",
+ link_text: "Learn more on our blog",
+ cta_url: "https://blog.mozilla.org/",
+ cta_type: "OPEN_URL",
+ },
+ targeting: `firefoxVersion > 68`,
+ trigger: { id: "whatsNewPanelOpened" },
+ },
+ {
+ id: "BOOKMARK_CFR",
+ template: "cfr_doorhanger",
+ groups: ["cfr"],
+ content: {
+ layout: "icon_and_message",
+ category: "cfrFeatures",
+ notification_text: { string_id: "cfr-doorhanger-feature-notification" },
+ heading_text: { string_id: "cfr-doorhanger-sync-bookmarks-header" },
+ info_icon: {
+ label: { string_id: "cfr-doorhanger-extension-sumo-link" },
+ sumo_path: "https://example.com",
+ },
+ text: { string_id: "cfr-doorhanger-sync-bookmarks-body" },
+ icon: "chrome://branding/content/icon64.png",
+ buttons: {
+ primary: {
+ label: { string_id: "cfr-doorhanger-sync-bookmarks-ok-button" },
+ action: {
+ type: "OPEN_PREFERENCES_PAGE",
+ data: { category: "sync" },
+ },
+ },
+ secondary: [
+ {
+ label: { string_id: "cfr-doorhanger-extension-cancel-button" },
+ action: { type: "CANCEL" },
+ },
+ {
+ label: {
+ string_id: "cfr-doorhanger-extension-never-show-recommendation",
+ },
+ },
+ {
+ label: {
+ string_id: "cfr-doorhanger-extension-manage-settings-button",
+ },
+ action: {
+ type: "OPEN_PREFERENCES_PAGE",
+ data: { category: "general-cfrfeatures" },
+ },
+ },
+ ],
+ },
+ },
+ targeting: "true",
+ trigger: {
+ id: "openBookmarkedURL",
+ },
+ },
+ {
+ id: "PERSONALIZED_CFR_MESSAGE",
+ template: "cfr_doorhanger",
+ groups: ["cfr"],
+ content: {
+ layout: "icon_and_message",
+ category: "cfrFeatures",
+ notification_text: "Personalized CFR Recommendation",
+ heading_text: { string_id: "cfr-doorhanger-firefox-send-header" },
+ info_icon: {
+ label: { string_id: "cfr-doorhanger-extension-sumo-link" },
+ sumo_path: "https://example.com",
+ },
+ text: { string_id: "cfr-doorhanger-firefox-send-body" },
+ icon: "chrome://branding/content/icon64.png",
+ buttons: {
+ primary: {
+ label: { string_id: "cfr-doorhanger-firefox-send-ok-button" },
+ action: {
+ type: "OPEN_URL",
+ data: {
+ args:
+ "https://send.firefox.com/login/?utm_source=activity-stream&entrypoint=activity-stream-cfr-pdf",
+ where: "tabshifted",
+ },
+ },
+ },
+ secondary: [
+ {
+ label: { string_id: "cfr-doorhanger-extension-cancel-button" },
+ action: { type: "CANCEL" },
+ },
+ {
+ label: {
+ string_id: "cfr-doorhanger-extension-never-show-recommendation",
+ },
+ },
+ {
+ label: {
+ string_id: "cfr-doorhanger-extension-manage-settings-button",
+ },
+ action: {
+ type: "OPEN_PREFERENCES_PAGE",
+ data: { category: "general-cfrfeatures" },
+ },
+ },
+ ],
+ },
+ },
+ targeting: "scores.PERSONALIZED_CFR_MESSAGE.score > scoreThreshold",
+ trigger: {
+ id: "openURL",
+ patterns: ["*://*/*.pdf"],
+ },
+ },
+];
+
+const PanelTestProvider = {
+ getMessages() {
+ return Promise.resolve(
+ MESSAGES().map(message => ({
+ ...message,
+ targeting: `providerCohorts.panel_local_testing == "SHOW_TEST"`,
+ }))
+ );
+ },
+};
+this.PanelTestProvider = PanelTestProvider;
+
+const EXPORTED_SYMBOLS = ["PanelTestProvider"];