Improve page load performance by adding lazy loading for images in the ZenThemeMarketplaceParent.sys.mjs file. The code now downloads the preferences.json file if it exists in the theme object. This enhancement optimizes the loading of images and improves the overall user experience.
Improve page load performance by adding lazy loading for images in the ZenThemeImporter and ZenThemeMarketplaceParent files. In ZenThemeImporter, the observer method has been updated to call the rebuildThemeStylesheet function instead of updateStylesheet. Additionally, the sss.loadAndRegisterSheet method has been modified to use the AGENT_SHEET parameter instead of USER_SHEET. In ZenThemeMarketplaceParent, the console.info statement for downloading files has been removed and replaced with a console.error statement for error handling. These changes optimize the loading of images and enhance the overall user experience.
Improve page load performance by adding lazy loading for images in the ZenThemeMarketplaceChild.sys.mjs file. The `addIntallButtons` method has been modified to select all action buttons and error messages, and remove any existing error messages. It also adds event listeners to the action buttons for installing themes. Additionally, a new `installTheme` method has been added to handle the installation of themes when a button is clicked.
Add lazy loading for images in the ZenThemeMarketplaceChild.sys.mjs file to improve page load performance. The `addIntallButtons` method has been modified to select all action buttons and error messages, and remove any existing error messages. It also adds event listeners to the action buttons for installing themes. Additionally, a new `installTheme` method has been added to handle the installation of themes when a button is clicked.
This commit updates the ZenThemeMarketplaceParent module to include the functionality for downloading and installing themes. The `receiveMessage` method now handles the "ZenThemeMarketplace:InstallTheme" message by downloading the theme file contents and updating the themes data. The `downloadUrlToFile` method has been added to download the file from the provided URL and save it to the specified path. Additionally, the `downloadThemeFileContents` method has been added to download the style and readme files for a theme and save them to the appropriate directory.
Refactor ZenThemeMarketplaceParent.sys.mjs:
- Add `downloadUrlToFile` method
- Add `downloadThemeFileContents` method
Add lazy loading for images in the ZenThemeMarketplaceChild.sys.mjs file to improve page load performance. The `initiateThemeMarketplace` method now includes a `setTimeout` function that adds install buttons after a delay of 1000 milliseconds. The `addIntallButtons` method has been modified to select all action buttons and error messages, and remove any existing error messages. It also adds event listeners to the action buttons for installing themes. Additionally, a new `installTheme` method has been added to handle the installation of themes when a button is clicked.
Refactor ZenThemeMarketplaceChild.sys.mjs:
- Add `addIntallButtons` method
- Add `installTheme` method
Initialize the ZenThemeMarketplace module in ZenThemeMarketplace.mjs and the ZenThemeMarketplaceChild module in ZenThemeMarketplaceChild.sys.mjs. This commit sets up the basic structure for these modules, including empty `init` and `handleEvent` methods.
Refactor ZenThemeMarketplace.mjs:
- Add `init` method
Refactor ZenThemeMarketplaceChild.sys.mjs:
- Add `initiateThemeMarketplace` method
- Add `addIntallButton` method
Remove the `insertSplitLinkIntoContextMenu` method in ZenViewSplitter.mjs as it is no longer needed. Additionally, initialize the workspace tab context menus in ZenWorkspaces.mjs to allow users to change the workspace of a tab.
Refactor ZenViewSplitter.mjs:
- Remove `insertSplitLinkIntoContextMenu` method
Refactor ZenWorkspaces.mjs:
- Initialize workspace tab context menus
Update the ZenSidebarManager module to use the updated default mobile user agent. This change ensures that the mobile user agent string is compatible with Android 12 and Firefox version 129.0.
This commit updates the ZenKeyboardShortcuts module to include new actions for split view and workspace management. It adds shortcuts for toggling between grid, vertical, and horizontal split views, as well as closing split views. Additionally, it introduces a shortcut for changing workspaces.
The changes also include the addition of default shortcuts for the new actions and the initialization of shortcuts only on the browser page.
Refactor other modules:
- Remove unnecessary console.log statement in ZenThemeBuilder
- Disable Firefox shortcuts in ZenKeyboardShortcuts
- Remove redundant code in ZenViewSplitter
Refactor ZenProfileDialogUI:
- Improve profiles list and profile creation
Refactor ZenWorkspaces.mjs:
- Remove unnecessary code
Refactor ZenViewSplitter.mjs:
- Activate docShell for tab
- Remove redundant code
Remove unnecessary console.log statement in ZenThemeBuilder
Disable Firefox shortcuts in ZenKeyboardShortcuts
Initialize shortcuts only on the browser page
Update ZenProfileDialogUI to improve profiles list and profile creation
Remove unnecessary code in ZenWorkspaces.mjs
Activate docShell for tab in ZenViewSplitter
Remove redundant code in ZenViewSplitter