This commit adds the `zenPinnedEntry` property to the `TabState` object, which stores the full zen pinned entry data. This information will be used to restore the pinned entry when a tab is restored from the session.
The following changes were made:
- Added `zenPinnedEntry` to `TabState`
- Removed `zenPinnedUrl`, `zenPinnedTitle`, `zenPinnedIcon`, and `zenPinnedTriggeringPrincipal` as they are now included in `zenPinnedEntry`.
- Updated the `TabState` serialization and deserialization logic to handle the new `zenPinnedEntry` property.
This commit introduces a new option to the pinned tab manager that allows users to restore pinned tabs to their pinned URL and title, even if the current tab has a different URL.
- Adds a new preference `zen.pinned-tab-manager.restore-pinned-tabs-to-pinned-url` to control this behavior.
- Updates the tab browser, tab state, and preferences code to support the new option.
- Adds a new UI element in the settings to allow users to enable/disable this feature.
This feature enhances the pinned tab manager by providing more control over how pinned tabs are restored when the browser is restarted.
Adds `zenPinnedUrl`, and `zenPinnedTitle` attributes to the tab state to persist pinned tab information. This allows users to restore their previous Zen pinned base url configuration upon restarting the browser.