Favicons are saved to disk in private browsing mode
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Oxide |
Invalid
|
Medium
|
Chris Coulson | ||
webbrowser-app |
Fix Released
|
High
|
Olivier Tilloy | ||
webbrowser-app (Ubuntu) |
Fix Released
|
Undecided
|
Olivier Tilloy |
Bug Description
Currently, Oxide provides a http URL for the favicon via WebView.icon and the browser uses this URL to download the image via Qt's network stack. As well as displaying this in the addressbar, it also writes it to disk.
There's a couple of problems here:
1) The favicon is written to disk even in private browsing mode.
2) I'm not too sure about this, but downloading using Qt's network stack potentially leaves a cache footprint. In any case, we don't audit its suitability for use with private browsing.
The first part will need to be fixed in the browser.
For the second part, I think that Oxide should do the actual network transaction to fetch the favicon. We can provide an implementation of QQmlImageProvider and make WebView.icon a image: URL. The browser should still be able to use this URL to access and write the icons to disk (I assume this is for displaying history), but it would do this by requesting the QImage from Oxide's image provider, using QQmlEngine:
Related branches
- PS Jenkins bot: Needs Fixing (continuous-integration)
- Arthur Mello (community): Approve
-
Diff: 210 lines (+55/-8)7 files modifiedsrc/app/Favicon.qml (+2/-1)
src/app/favicon-fetcher.cpp (+25/-1)
src/app/favicon-fetcher.h (+7/-1)
src/app/webbrowser/AddressBar.qml (+2/-0)
src/app/webbrowser/Browser.qml (+1/-1)
src/app/webbrowser/Chrome.qml (+3/-3)
tests/unittests/favicon-fetcher/tst_FaviconFetcherTests.cpp (+15/-1)
Changed in webbrowser-app: | |
status: | New → Confirmed |
importance: | Undecided → High |
Changed in oxide: | |
importance: | Undecided → High |
status: | New → Triaged |
Changed in webbrowser-app: | |
assignee: | nobody → Olivier Tilloy (osomon) |
status: | Confirmed → In Progress |
Changed in webbrowser-app: | |
status: | In Progress → Fix Released |
Changed in webbrowser-app (Ubuntu): | |
assignee: | nobody → Olivier Tilloy (osomon) |
Changed in oxide: | |
importance: | High → Medium |
assignee: | nobody → Chris Coulson (chrisccoulson) |
This bug was fixed in the package webbrowser-app - 0.23+15. 10.20150602- 0ubuntu1
--------------- 10.20150602- 0ubuntu1) wily; urgency=medium
webbrowser-app (0.23+15.
[ CI Train Bot ]
* New rebuild forced.
[ Olivier Tilloy ] qmlplugin to 1.6 to fix unit
* Actually clear the network cache by deleting the correct set of
files in the correct directory. (LP: #1459956)
* Bump build dependency on liboxideqt-
tests.
* Do not cache favicons on disk when browsing in private mode. (LP:
#1458963)
* Do not try to remove a file that doesn’t exist.
* Pass plain strings to the worker script instead of RegExps. (LP:
#1445673)
* Remove the upstreamcomponents folder, and use components from the
UITK instead. Add autopilot tests for the new tab view.
* Update translation template.
* Updated icon. (LP: #1457424)
[ Riccardo Padovani ]
* New tab view refactoring. (LP: #1371248, #1444023, #1351157,
#1389605, #1442190)
* New tab view refactoring. (LP: #1371248, #1444023, #1351157,
#1389605, #1442190)
-- CI Train Bot <email address hidden> Tue, 02 Jun 2015 14:26:50 +0000