-
Notifications
You must be signed in to change notification settings - Fork 0
General Settings and Managment Refactor #52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Introduces PasswordManager.cpp and PasswordManager.h, providing a Chrome-like password manager with secure credential storage, autofill, password generation, import/export, blacklist management, and optional master password protection. Includes platform-specific encryption, form detection, and password strength checking.
Implements password manager callbacks and JS bindings for password form detection, autofill, save/update prompts, and password management UI. Adds support for exporting/importing passwords, password statistics, and credential CRUD operations. Integrates password manager features with the tab's lifecycle and exposes relevant JS APIs for passwords.html and page scripts.
Included PasswordManager.h and PasswordManager.cpp in the SOURCES list in CMakeLists.txt to ensure they are compiled with the project.
Integrates a password manager into the UI, including initialization, JS bindings for password management actions, and support for password save prompts. Adds methods for handling password CRUD operations, import/export, autofill suggestions, and password statistics. Updates UI.h and UI.cpp to support these new features.
Introduces a password save bar with UI, styles, and JavaScript logic for prompting users to save passwords. Includes auto-save countdown, domain extraction, and response handling for save, never, and close actions.
Introduces a new passwords.html file for Ultralight Browser, providing a UI for viewing, adding, editing, deleting, importing, and exporting saved passwords. Includes password strength checking, settings modal, and support for dark mode.
Introduces a new 'Passwords' menu item and corresponding action handler to open passwords in a new tab if available.
Enhanced the copyToClipboard function to use a fallback method with a temporary textarea when navigator.clipboard is unavailable or fails, improving compatibility across browsers and devices.
Updated CSS variables and styles for a more modern dark theme by default, refined light theme, and enhanced UI elements such as buttons, modals, and lists. Improved color palette, shadows, border radii, and transitions for better visual consistency and accessibility. Adjusted dark mode logic to default to dark unless light is explicitly requested.
Introduces a new UI element to display autosave countdown and status in the password save bar. The autosave timer is increased from 5 to 10 seconds, and related text updates are handled for improved user feedback.
Updated the CSS in settings.html to use a dark purple color scheme matching the Passwords UI. Improved layout, spacing, and component styling for better visual consistency and accessibility. Added a settings icon to the header and refined button, input, toggle, and panel styles for a more modern look.
Added !important to border-radius and set appearance to none for better cross-browser consistency in the settings search input.
Introduces a TabViewSettings struct to encapsulate settings like JavaScript and hardware acceleration for each tab. These settings are now passed at tab creation and applied to the ViewConfig, allowing new tabs to reflect current browser settings while existing tabs retain their original configuration.
Introduces a prompt bar for enabling DRM (Widevine) required for video playback. Includes UI elements, styling, and JavaScript logic to handle user responses for enabling DRM once, always, or dismissing the prompt.
Introduces the IsDrmSite method to check if a URL matches a DRM site, independent of the enabled_ flag. Updates both DRMSettings.cpp and DRMSettings.h to support this functionality.
Introduces a DRM prompt bar to allow users to enable DRM WebView temporarily or permanently when visiting DRM-protected sites. The DRM WebView setting is now disabled by default, requiring user opt-in. The MaybeOpenDrmTab logic is updated to show the prompt if DRM is required but not enabled, and new methods for showing, hiding, and handling responses from the DRM prompt bar are added.
DRM settings are now loaded and their enabled state is set based on the browser's settings.json, making browser settings the source of truth for enable_drm_webview.
Restricts cmake build parallelism to 2 jobs in the ARM64 GitHub Actions workflow to prevent compiler crashes under QEMU emulation.
Added libssl-dev to the package installation steps in both build-linux and build-linux-arm64 GitHub Actions workflows to ensure required SSL libraries are available during builds.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces a new Password Manager feature and updates the user interface to provide a more cohesive and modern look, especially in the settings area. The most notable changes are the addition of Password Manager source files, integration of the Passwords tab in the menu, and a comprehensive restyling of the settings page to match the new Passwords UI theme.
Password Manager Feature Integration
PasswordManager.handPasswordManager.cppto the build sources inCMakeLists.txt, laying the groundwork for password management functionality.assets/menu.htmland implemented the corresponding handler to open the Passwords tab, integrating password management into the main browser menu. [1] [2]Settings Page UI Redesign
assets/settings.htmlto introduce a dark purple theme, update colors, spacing, and typography, and align components with the Passwords UI for a consistent look and feel.These changes collectively improve both functionality (by adding password management) and user experience (through a more attractive and unified UI).