Bug 301088
| Summary: | [GLib] Make IconDatabase handle multiple per-page icons | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Adrian Perez <aperez> |
| Component: | WebKitGTK | Assignee: | Adrian Perez <aperez> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | bugs-noreply |
| Priority: | P2 | ||
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| See Also: | https://bugs.webkit.org/show_bug.cgi?id=301822 | ||
| Bug Depends on: | 301359 | ||
| Bug Blocks: | 301086, 301624 | ||
Adrian Perez
In Source/WebKit/UIProcess/API/glib/IconDatabase.{h,cpp} we would need to:
- Store multiple entries per page in IconDatabase::m_pageURLToIconURLMap
- IconDatabase::iconURLForPageURL() method may return multiple URLs.
- IconDatabase::loadIconsForPageURL() may load and pass multiple items to the completion handler.
- IconDatabase::setIconForPageURL() ideally would update all page icons in a single shot, instead of one-by-one incrementally.
- IconDatabase::checkIconURLAndSetPageURLIfNeeded(): Ditto.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Adrian Perez
Pull request: https://github.com/WebKit/WebKit/pull/53135
Adrian Perez
(In reply to Adrian Perez from comment #1)
> Pull request: https://github.com/WebKit/WebKit/pull/53135
This patch tackles items 1-2-3 above, updating all the icons in one-shot, to avoid
setting the WebKitWebView::favicon property multiple time IMO it will be better
done in a separate patch because it needs to touch IPC code and add a mechanism
in the IconDatabase (or WebKitFaviconDatabase, not sure yet what's the best place)
to track a set of icons to load and setting properties only once all of them have been
provided, either by the FrameLoader, or lifting them from the cached versions (from
the database, or the in-memory cache).
EWS
Committed 302307@main (a388e15a5725): <https://commits.webkit.org/302307@main>
Reviewed commits have been landed. Closing PR #53135 and removing active labels.