jbrowser.models.tab
Generated from the source code of JBrowser 1.5.2.
Tab state model and the asynchronous, coalescing tab-update pipeline.
Web engine signals (title, favicon, progress, audio, ...) fire at high frequency and for
cards the user cannot currently see. Instead of pushing each one straight into widgets,
controllers write into a Tab model; the TabUpdatePipeline batches dirty
fields and flushes them at most once per frame. Views then decide whether to repaint now
(visible) or merely remember that they are stale (off-screen / hidden space).
TabUpdatePipeline#
class TabUpdatePipeline(QObject)source
TabUpdatePipeline(parent: QObject | None=None)
Coalesces tab field changes and emits them once per ~frame.
Signals
| Signal | Arguments |
|---|---|
flushed |
(dict) |
Attributes
| Name | Value |
|---|---|
FRAME_MS |
16 |
TabUpdatePipeline.mark#
mark(tab: 'Tab', fields: set[str]) -> Nonesource
TabUpdatePipeline.flush#
flush() -> Nonesource
Tab#
class Tab(QObject)source
Tab(space_id: str, url: str='', title: str='', width: float=0.5, tab_id: str | None=None, parent: QObject | None=None)
Pure state for one web card. Never touches widgets or the web engine directly.
Signals
| Signal | Arguments |
|---|---|
changed |
(object) |
Tab.update#
update(**fields) -> Nonesource
Tab.touch#
touch() -> Nonesource
Tab.display_title#
display_title() -> strsource
Functions#
pipeline#
pipeline() -> TabUpdatePipelinesource