High Level Overview¶
This extension has a popup window, which is visible to user, and the primary way of interacting with the extension, and a background context (service worker), that manages extension background services.
When user clicks extension icon/browser action, extension opens the extension popup window. Clicking a menu link opens a new browser tab. User can pin and unpin menu items, and sort pinned menu items using drag and drop.
This behavior is implemented by following 3 components:
src/popupmanages the extension popup window.
- It saves and restores user preferences
- It sets the visible content rendering inside the popup window
- Menu is currently the only possible view, so popup always renders the menu panel
src/menupanel shows list of links.
- User can pin/unpin links and drag and drop pinned links
- It programmatically launches links on click
- It initiates capturing recently used links
src/backgroundhas no visual interface, it runs in the background of the browser.
- It creates and manages extension context menu.
Source Code Organization¶
|└─ assets||extension images and features images|
|└─ docs||files used for generating this website|
|└─ i18n||translations: generated by POEditor, do not edit|
|└─ src||source code|
|└─ background||background scripts|
|└─ menu||menu of links|
|└─ popup||extension popup view|
|└─ shared||shared classes and modules|
|└─ test||unit tests|
|/ (root)||config and utility files|
Building this application from source requires Node.js and some web IDE.
Run these commands to build a locally debuggable version:
||run unit tests|
||clean generated files|
||update config files|
||unit test coverage report|
- Go to
- Enable developer mode
- Navigate to the extension source and choose