summaryrefslogtreecommitdiffstats
path: root/browser/components/newtab/content-src/lib/link-menu-options.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-15 03:35:49 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-15 03:35:49 +0000
commitd8bbc7858622b6d9c278469aab701ca0b609cddf (patch)
treeeff41dc61d9f714852212739e6b3738b82a2af87 /browser/components/newtab/content-src/lib/link-menu-options.js
parentReleasing progress-linux version 125.0.3-1~progress7.99u1. (diff)
downloadfirefox-d8bbc7858622b6d9c278469aab701ca0b609cddf.tar.xz
firefox-d8bbc7858622b6d9c278469aab701ca0b609cddf.zip
Merging upstream version 126.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'browser/components/newtab/content-src/lib/link-menu-options.js')
-rw-r--r--browser/components/newtab/content-src/lib/link-menu-options.js309
1 files changed, 0 insertions, 309 deletions
diff --git a/browser/components/newtab/content-src/lib/link-menu-options.js b/browser/components/newtab/content-src/lib/link-menu-options.js
deleted file mode 100644
index 12e47259c1..0000000000
--- a/browser/components/newtab/content-src/lib/link-menu-options.js
+++ /dev/null
@@ -1,309 +0,0 @@
-/* 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/. */
-
-import {
- actionCreators as ac,
- actionTypes as at,
-} from "common/Actions.sys.mjs";
-
-const _OpenInPrivateWindow = site => ({
- id: "newtab-menu-open-new-private-window",
- icon: "new-window-private",
- action: ac.OnlyToMain({
- type: at.OPEN_PRIVATE_WINDOW,
- data: { url: site.url, referrer: site.referrer },
- }),
- userEvent: "OPEN_PRIVATE_WINDOW",
-});
-
-/**
- * List of functions that return items that can be included as menu options in a
- * LinkMenu. All functions take the site as the first parameter, and optionally
- * the index of the site.
- */
-export const LinkMenuOptions = {
- Separator: () => ({ type: "separator" }),
- EmptyItem: () => ({ type: "empty" }),
- ShowPrivacyInfo: () => ({
- id: "newtab-menu-show-privacy-info",
- icon: "info",
- action: {
- type: at.SHOW_PRIVACY_INFO,
- },
- userEvent: "SHOW_PRIVACY_INFO",
- }),
- AboutSponsored: site => ({
- id: "newtab-menu-show-privacy-info",
- icon: "info",
- action: ac.AlsoToMain({
- type: at.ABOUT_SPONSORED_TOP_SITES,
- data: {
- advertiser_name: (site.label || site.hostname).toLocaleLowerCase(),
- position: site.sponsored_position,
- tile_id: site.sponsored_tile_id,
- },
- }),
- userEvent: "TOPSITE_SPONSOR_INFO",
- }),
- RemoveBookmark: site => ({
- id: "newtab-menu-remove-bookmark",
- icon: "bookmark-added",
- action: ac.AlsoToMain({
- type: at.DELETE_BOOKMARK_BY_ID,
- data: site.bookmarkGuid,
- }),
- userEvent: "BOOKMARK_DELETE",
- }),
- AddBookmark: site => ({
- id: "newtab-menu-bookmark",
- icon: "bookmark-hollow",
- action: ac.AlsoToMain({
- type: at.BOOKMARK_URL,
- data: { url: site.url, title: site.title, type: site.type },
- }),
- userEvent: "BOOKMARK_ADD",
- }),
- OpenInNewWindow: site => ({
- id: "newtab-menu-open-new-window",
- icon: "new-window",
- action: ac.AlsoToMain({
- type: at.OPEN_NEW_WINDOW,
- data: {
- referrer: site.referrer,
- typedBonus: site.typedBonus,
- url: site.url,
- sponsored_tile_id: site.sponsored_tile_id,
- },
- }),
- userEvent: "OPEN_NEW_WINDOW",
- }),
- // This blocks the url for regular stories,
- // but also sends a message to DiscoveryStream with flight_id.
- // If DiscoveryStream sees this message for a flight_id
- // it also blocks it on the flight_id.
- BlockUrl: (site, index, eventSource) => {
- return LinkMenuOptions.BlockUrls([site], index, eventSource);
- },
- // Same as BlockUrl, cept can work on an array of sites.
- BlockUrls: (tiles, pos, eventSource) => ({
- id: "newtab-menu-dismiss",
- icon: "dismiss",
- action: ac.AlsoToMain({
- type: at.BLOCK_URL,
- data: tiles.map(site => ({
- url: site.original_url || site.open_url || site.url,
- // pocket_id is only for pocket stories being in highlights, and then dismissed.
- pocket_id: site.pocket_id,
- // used by PlacesFeed and TopSitesFeed for sponsored top sites blocking.
- isSponsoredTopSite: site.sponsored_position,
- ...(site.flight_id ? { flight_id: site.flight_id } : {}),
- // If not sponsored, hostname could be anything (Cat3 Data!).
- // So only put in advertiser_name for sponsored topsites.
- ...(site.sponsored_position
- ? {
- advertiser_name: (
- site.label || site.hostname
- )?.toLocaleLowerCase(),
- }
- : {}),
- position: pos,
- ...(site.sponsored_tile_id ? { tile_id: site.sponsored_tile_id } : {}),
- is_pocket_card: site.type === "CardGrid",
- })),
- }),
- impression: ac.ImpressionStats({
- source: eventSource,
- block: 0,
- tiles: tiles.map((site, index) => ({
- id: site.guid,
- pos: pos + index,
- ...(site.shim && site.shim.delete ? { shim: site.shim.delete } : {}),
- })),
- }),
- userEvent: "BLOCK",
- }),
-
- // This is an option for web extentions which will result in remove items from
- // memory and notify the web extenion, rather than using the built-in block list.
- WebExtDismiss: (site, index, eventSource) => ({
- id: "menu_action_webext_dismiss",
- string_id: "newtab-menu-dismiss",
- icon: "dismiss",
- action: ac.WebExtEvent(at.WEBEXT_DISMISS, {
- source: eventSource,
- url: site.url,
- action_position: index,
- }),
- }),
- DeleteUrl: (site, index, eventSource, isEnabled, siteInfo) => ({
- id: "newtab-menu-delete-history",
- icon: "delete",
- action: {
- type: at.DIALOG_OPEN,
- data: {
- onConfirm: [
- ac.AlsoToMain({
- type: at.DELETE_HISTORY_URL,
- data: {
- url: site.url,
- pocket_id: site.pocket_id,
- forceBlock: site.bookmarkGuid,
- },
- }),
- ac.UserEvent(
- Object.assign(
- { event: "DELETE", source: eventSource, action_position: index },
- siteInfo
- )
- ),
- ],
- eventSource,
- body_string_id: [
- "newtab-confirm-delete-history-p1",
- "newtab-confirm-delete-history-p2",
- ],
- confirm_button_string_id: "newtab-topsites-delete-history-button",
- cancel_button_string_id: "newtab-topsites-cancel-button",
- icon: "modal-delete",
- },
- },
- userEvent: "DIALOG_OPEN",
- }),
- ShowFile: site => ({
- id: "newtab-menu-show-file",
- icon: "search",
- action: ac.OnlyToMain({
- type: at.SHOW_DOWNLOAD_FILE,
- data: { url: site.url },
- }),
- }),
- OpenFile: site => ({
- id: "newtab-menu-open-file",
- icon: "open-file",
- action: ac.OnlyToMain({
- type: at.OPEN_DOWNLOAD_FILE,
- data: { url: site.url },
- }),
- }),
- CopyDownloadLink: site => ({
- id: "newtab-menu-copy-download-link",
- icon: "copy",
- action: ac.OnlyToMain({
- type: at.COPY_DOWNLOAD_LINK,
- data: { url: site.url },
- }),
- }),
- GoToDownloadPage: site => ({
- id: "newtab-menu-go-to-download-page",
- icon: "download",
- action: ac.OnlyToMain({
- type: at.OPEN_LINK,
- data: { url: site.referrer },
- }),
- disabled: !site.referrer,
- }),
- RemoveDownload: site => ({
- id: "newtab-menu-remove-download",
- icon: "delete",
- action: ac.OnlyToMain({
- type: at.REMOVE_DOWNLOAD_FILE,
- data: { url: site.url },
- }),
- }),
- PinTopSite: (site, index) => ({
- id: "newtab-menu-pin",
- icon: "pin",
- action: ac.AlsoToMain({
- type: at.TOP_SITES_PIN,
- data: {
- site,
- index,
- },
- }),
- userEvent: "PIN",
- }),
- UnpinTopSite: site => ({
- id: "newtab-menu-unpin",
- icon: "unpin",
- action: ac.AlsoToMain({
- type: at.TOP_SITES_UNPIN,
- data: { site: { url: site.url } },
- }),
- userEvent: "UNPIN",
- }),
- SaveToPocket: (site, index, eventSource = "CARDGRID") => ({
- id: "newtab-menu-save-to-pocket",
- icon: "pocket-save",
- action: ac.AlsoToMain({
- type: at.SAVE_TO_POCKET,
- data: {
- site: { url: site.url, title: site.title },
- },
- }),
- impression: ac.ImpressionStats({
- source: eventSource,
- pocket: 0,
- tiles: [
- {
- id: site.guid,
- pos: index,
- ...(site.shim && site.shim.save ? { shim: site.shim.save } : {}),
- },
- ],
- }),
- userEvent: "SAVE_TO_POCKET",
- }),
- DeleteFromPocket: site => ({
- id: "newtab-menu-delete-pocket",
- icon: "pocket-delete",
- action: ac.AlsoToMain({
- type: at.DELETE_FROM_POCKET,
- data: { pocket_id: site.pocket_id },
- }),
- userEvent: "DELETE_FROM_POCKET",
- }),
- ArchiveFromPocket: site => ({
- id: "newtab-menu-archive-pocket",
- icon: "pocket-archive",
- action: ac.AlsoToMain({
- type: at.ARCHIVE_FROM_POCKET,
- data: { pocket_id: site.pocket_id },
- }),
- userEvent: "ARCHIVE_FROM_POCKET",
- }),
- EditTopSite: (site, index) => ({
- id: "newtab-menu-edit-topsites",
- icon: "edit",
- action: {
- type: at.TOP_SITES_EDIT,
- data: { index },
- },
- }),
- CheckBookmark: site =>
- site.bookmarkGuid
- ? LinkMenuOptions.RemoveBookmark(site)
- : LinkMenuOptions.AddBookmark(site),
- CheckPinTopSite: (site, index) =>
- site.isPinned
- ? LinkMenuOptions.UnpinTopSite(site)
- : LinkMenuOptions.PinTopSite(site, index),
- CheckSavedToPocket: (site, index, source) =>
- site.pocket_id
- ? LinkMenuOptions.DeleteFromPocket(site)
- : LinkMenuOptions.SaveToPocket(site, index, source),
- CheckBookmarkOrArchive: site =>
- site.pocket_id
- ? LinkMenuOptions.ArchiveFromPocket(site)
- : LinkMenuOptions.CheckBookmark(site),
- CheckArchiveFromPocket: site =>
- site.pocket_id
- ? LinkMenuOptions.ArchiveFromPocket(site)
- : LinkMenuOptions.EmptyItem(),
- CheckDeleteFromPocket: site =>
- site.pocket_id
- ? LinkMenuOptions.DeleteFromPocket(site)
- : LinkMenuOptions.EmptyItem(),
- OpenInPrivateWindow: (site, index, eventSource, isEnabled) =>
- isEnabled ? _OpenInPrivateWindow(site) : LinkMenuOptions.EmptyItem(),
-};