VOOZH about

URL: https://phabricator.services.mozilla.com/D302134

⇱ ⚙ D302134 Proof of concept, not for merging - Bug 2039394 - Add Games widget shell r?#home-newtab-reviewers


Proof of concept, not for merging - Bug 2039394 - Add Games widget shell r?#home-newtab-reviewers
Changes PlannedPublic

Authored by Dre on Fri, May 22, 7:19 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Jun 15, 3:36 PM
Unknown Object (File)
Fri, Jun 5, 3:28 PM
Unknown Object (File)
Fri, Jun 5, 5:18 AM
Unknown Object (File)
Fri, Jun 5, 12:08 AM
Unknown Object (File)
Wed, Jun 3, 6:52 AM
Unknown Object (File)
Tue, Jun 2, 10:00 PM
Unknown Object (File)
Tue, Jun 2, 3:18 AM
Unknown Object (File)
Tue, Jun 2, 3:18 AM

Details

Reviewers
nina-py
Bugzilla Bug ID
2039394
Summary

Lands the Nova-only Games widget infrastructure without any actual games
registered, as the first patch in a stack that will add games one per
follow-up commit.

What ships in this shell:

  • Widget registry entry (id "games") with validSizes: ["large"], plus PREF_WIDGETS_GAMES_ENABLED, PREF_GAMES_SIZE, and PREF_WIDGETS_SYSTEM_GAMES_ENABLED. resolveWidgetSize() now respects validSizes for all widgets.
  • PREFS_CONFIG entries for widgets.games.{enabled,size,interaction, highScores,popoutOnly} and widgets.system.games.enabled, plus matching AboutPreferences wiring.
  • Games widget container (Games.jsx) with game selection, popout (window.name "games-popout"), context menu, high-score map, and celebration. With an empty GAME_REGISTRY it renders the welcome state.
  • GameEndOverlay shared component for per-game use later.
  • GamesSizePromptToast: shown when the user tries to shrink Games below its valid sizes; offers a pop-out action. Animation duration bumped to 12s so the user can read and act.
  • Customize menu Games toggle (Nova WidgetsManagementPanel) gated on mayHaveGamesWidget, with a WIDGET_GAMES telemetry event source.
  • Nimbus + trainhop wiring in Base.jsx (mayHaveGamesWidget, enabledWidgets.gamesEnabled), propagated through CustomizeMenu and ContentSection.
  • newtab.ftl: shell + generic gameplay strings only. preferences.ftl: home-prefs-games-header.
  • Tests: WidgetsRegistry order, Widgets render-and-toggle, and WidgetsManagementPanel toggle behaviour extended for "games".

Out of scope (follow-up commits, one per game): the 10 game modules
under Games/titles/, the per-game l10n strings, the mozmatch asset
folder, and the per-game SCSS @imports.

Diff Detail

Repository
rFIREFOXAUTOLAND firefox-autoland
Branch
HEAD

Event Timeline

Dre planned changes to this revision.Fri, May 22, 7:19 PM
Dre created this revision.
phab-bot changed the visibility from "Custom Policy" to "Public (No Login Required)".Fri, May 22, 7:20 PM
phab-bot changed the edit policy from "Custom Policy" to "Restricted Project (Project)".
phab-bot removed a project: secure-revision.
Dre requested review of this revision.Thu, May 28, 12:51 AM
Dre updated this revision to Diff 1284930.
Dre retitled this revision from WIP: Bug 2039394 - Add Games widget shell r?#home-newtab-reviewers to Bug 2039394 - Add Games widget shell r?#home-newtab-reviewers.
Dre edited the summary of this revision. (Show Details)
Dre planned changes to this revision.Thu, May 28, 1:50 AM
Dre updated this revision to Diff 1284975.
Dre retitled this revision from Bug 2039394 - Add Games widget shell r?#home-newtab-reviewers to WIP: Bug 2039394 - Add Games widget shell r?#home-newtab-reviewers.
Dre requested review of this revision.Thu, May 28, 9:31 PM
Dre updated this revision to Diff 1286072.
Dre retitled this revision from WIP: Bug 2039394 - Add Games widget shell r?#home-newtab-reviewers to Bug 2039394 - Add Games widget shell r?#home-newtab-reviewers.
Dre planned changes to this revision.Thu, May 28, 9:33 PM
Comment Actions

Based on slack conversation, this is a POC and no current plan for a release. We shouldn't expose these strings to localization, so should take them out of the path and put them somewhere like .

Dre retitled this revision from Bug 2039394 - Add Games widget shell r?#home-newtab-reviewers to Proof of concept, not for merging - Bug 2039394 - Add Games widget shell r?#home-newtab-reviewers.Thu, Jun 4, 4:16 PM
Dre removed reviewers: Restricted Project, desktop-theme-reviewers.
Dre requested review of this revision.Tue, Jun 16, 6:39 PM
Dre updated this revision to Diff 1301563.
Dre retitled this revision from Proof of concept, not for merging - Bug 2039394 - Add Games widget shell r?#home-newtab-reviewers to Bug 2039394 - Add Games widget shell r?#home-newtab-reviewers.
Comment Actions

This revision makes changes to files both inside and in files outside of it. The New Tab page for Firefox Desktop supports train-hopping — a mechanism that allows New Tab code to be deployed to Beta and Release channels independently of the standard release train. Cross-layer changes can break train-hop compatibility, which may block New Tab deployments until fixes reach Release through normal channels.

If your change modifies platform code that browser/extensions/newtab depends on (such as module URIs, DOM APIs, or Nimbus feature definitions), please check whether a compatibility shim is needed. Shims should be marked with a comment indicating the Firefox version that must reach Release before the shim can be removed.

If your change is unrelated to the New Tab page's train-hop compatibility (for example, it only touches tests or documentation), you can possibly disregard this message - but if you are unsure whether your change affects train-hop compatibility, please ensure that someone from the home-newtab-reviewers-rotation review group has a chance to review before landing.

Dre planned changes to this revision.Tue, Jun 16, 6:42 PM
Dre retitled this revision from Bug 2039394 - Add Games widget shell r?#home-newtab-reviewers to Proof of concept, not for merging - Bug 2039394 - Add Games widget shell r?#home-newtab-reviewers.

Revision Contents

PathSize
browser/
extensions/
newtab/
common/
24 lines
content-src/
components/
Base/
3 lines
CustomizeMenu/
ContentSection/
2 lines
1 line
Notifications/
9 lines
Toasts/
61 lines
7 lines
Nova/
CustomizeMenu/
WidgetsManagementPanel/
27 lines
Widgets/
Games/
23 lines
448 lines
419 lines
titles/
5 lines
34 lines
44 lines
2 lines
styles/
1 line
nova/
1 line
css/
548 lines
nova/
548 lines
data/
content/
3335 lines
assets/
363 lines
40 lines
lib/
24 lines
52 lines
test/
jest/
content-src/
components/
Widgets/
41 lines
unit/
content-src/
components/
Nova/
CustomizeMenu/
WidgetsManagementPanel/
88 lines
104 lines
locales/
en-US/
browser/
newtab/
48 lines
CommitTreeParentsAuthorSummaryDate
879f88a018ce4fe5cc9c7adfdb790003e5dfDre Grant
Bug 2039394 - Add Games widget shell r?#home-newtab-reviewers (Show More…)
Fri, May 22, 7:14 PM

Diff 1301563

browser/extensions/newtab/common/WidgetsRegistry.mjs

Loading...

browser/extensions/newtab/content-src/components/Base/Base.jsx

Loading...

browser/extensions/newtab/content-src/components/CustomizeMenu/ContentSection/ContentSection.jsx

Loading...

browser/extensions/newtab/content-src/components/CustomizeMenu/CustomizeMenu.jsx

Loading...

browser/extensions/newtab/content-src/components/Notifications/Notifications.jsx

Loading...

browser/extensions/newtab/content-src/components/Notifications/Toasts/GamesSizePromptToast.jsx

Loading...

browser/extensions/newtab/content-src/components/Notifications/_Notifications.scss

Loading...

browser/extensions/newtab/content-src/components/Nova/CustomizeMenu/WidgetsManagementPanel/WidgetsManagementPanel.jsx

Loading...

browser/extensions/newtab/content-src/components/Widgets/Games/GameEndOverlay.jsx

Loading...

browser/extensions/newtab/content-src/components/Widgets/Games/Games.jsx

Loading...

browser/extensions/newtab/content-src/components/Widgets/Games/_Games.scss

Loading...

browser/extensions/newtab/content-src/components/Widgets/Games/titles/index.mjs

Loading...

browser/extensions/newtab/content-src/components/Widgets/Games/titles/types.mjs

Loading...

browser/extensions/newtab/content-src/components/Widgets/Widgets.jsx

Loading...

browser/extensions/newtab/content-src/components/Widgets/WidgetsComponentRegistry.jsx

Loading...

browser/extensions/newtab/content-src/styles/activity-stream.scss

Loading...

browser/extensions/newtab/content-src/styles/nova/activity-stream.scss

Loading...

browser/extensions/newtab/css/activity-stream.css

Loading...

browser/extensions/newtab/css/nova/activity-stream.css

Loading...

browser/extensions/newtab/data/content/activity-stream.bundle.js

Loading...

browser/extensions/newtab/data/content/assets/firefox-mascot-puzzle.svg

Loading...

browser/extensions/newtab/karma.mc.config.js

Loading...

browser/extensions/newtab/lib/AboutPreferences.sys.mjs

Loading...

browser/extensions/newtab/lib/ActivityStream.sys.mjs

Loading...

browser/extensions/newtab/test/jest/content-src/components/Widgets/WidgetsRegistry.test.jsx

Loading...

browser/extensions/newtab/test/unit/content-src/components/Nova/CustomizeMenu/WidgetsManagementPanel/WidgetsManagementPanel.test.jsx

Loading...

browser/extensions/newtab/test/unit/content-src/components/Widgets.test.jsx

Loading...

browser/locales/en-US/browser/newtab/newtab.ftl

Loading...