Chromium doesn't display XML reports as generated by Checkbox
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Checkbox |
Fix Released
|
High
|
Daniel Manrique | ||
checkbox (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Precise |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
When trying to open the checkbox-generated submission.xml file with chromium (either configured as default browser or by clicking on "view report" from within checkbox), the browser opens but displays nothing.
Given the rate of adoption for Chromium, and the fact that it overrides Firefox as the default browser when installed (which IMHO is wrong, but that' not something we can really fix on our side), it'd be good to try to ensure our XML files can be at least opened on Chromium.
This problem was fixed in the development version by using the --allow-
[Test case]
Steps to reproduce:
- Either run checkbox and complete some tests to generate a submission.xml file (usually in ~/.cache/checkbox), or download the attached submission.xml file.
- chromium-browser submission.xml
Or to test everything within checkbox (this is valuable to test the fix):
- Ensure chromium is configured as the default browser systemwide: go to system settings -> details and configure chromium as the default browser, also update-alternatives --config x-www-growser and update-alternatives --config gnome-www-browser
- Run checkbox
- Deselect all tests
- Select a couple of quick tests (audio, input devices)
- Complete the run
- When checkbox gives the choice to view the report, click on "view report"
Expected result:
- Chromium starts and renders the XML file, at the very least showing the text, even if not formatted.
Actual result:
- Blank page, nothing is shown.
[Regression potential]
There's little potential for a regression, since all the resources loaded are local and considered safe. The switch in question is meant to avoid malicious files to be loaded on a machine, but files generated by checkbox are all benign and just XSLT information is loaded.
Related branches
- Marc Tardif (community): Approve
-
Diff: 53 lines (+12/-2)2 files modifiedcheckbox/user_interface.py (+7/-1)
debian/changelog (+5/-1)
- Mathieu Trudel-Lapierre: Approve
- Ubuntu branches: Pending requested
-
Diff: 16202 lines (+2632/-4581)140 files modifiedcheckbox/parsers/tests/udevadm.py (+13/-1)
checkbox/parsers/udevadm.py (+3/-1)
checkbox/user_interface.py (+7/-1)
debian/changelog (+68/-0)
debian/po/ast.po (+2/-2)
debian/po/cs.po (+2/-2)
debian/po/de.po (+2/-2)
debian/po/en_AU.po (+2/-2)
debian/po/en_GB.po (+2/-2)
debian/po/es.po (+2/-2)
debian/po/fr.po (+2/-2)
debian/po/he.po (+2/-2)
debian/po/hu.po (+2/-2)
debian/po/it.po (+2/-2)
debian/po/ja.po (+2/-2)
debian/po/nl.po (+2/-2)
debian/po/oc.po (+2/-2)
debian/po/pl.po (+2/-2)
debian/po/pt_BR.po (+2/-2)
debian/po/ro.po (+2/-2)
debian/po/ru.po (+2/-2)
debian/po/tr.po (+2/-2)
debian/po/uk.po (+2/-2)
debian/po/zh_CN.po (+2/-2)
debian/po/zh_TW.po (+2/-2)
jobs/audio.txt.in (+1/-1)
jobs/cpu.txt.in (+3/-2)
jobs/disk.txt.in (+6/-6)
jobs/info.txt.in (+2/-2)
jobs/local.txt.in (+1/-1)
jobs/miscellanea.txt.in (+1/-1)
jobs/usb.txt.in (+18/-0)
jobs/user_apps.txt.in (+3/-1)
plugins/apport_prompt.py (+5/-6)
po/ace.po (+19/-19)
po/af.po (+19/-19)
po/am.po (+19/-19)
po/ar.po (+19/-19)
po/ast.po (+19/-19)
po/az.po (+19/-19)
po/be.po (+19/-19)
po/bg.po (+19/-19)
po/bn.po (+19/-19)
po/bo.po (+19/-19)
po/br.po (+19/-19)
po/bs.po (+19/-19)
po/ca.po (+19/-19)
po/ca@valencia.po (+19/-19)
po/ckb.po (+19/-19)
po/cs.po (+19/-19)
po/cy.po (+19/-19)
po/da.po (+19/-19)
po/de.po (+19/-19)
po/dv.po (+19/-19)
po/el.po (+19/-19)
po/en_AU.po (+19/-19)
po/en_CA.po (+19/-19)
po/en_GB.po (+19/-19)
po/eo.po (+19/-19)
po/es.po (+19/-19)
po/et.po (+19/-19)
po/eu.po (+19/-19)
po/fa.po (+19/-19)
po/fi.po (+19/-19)
po/fr.po (+19/-19)
po/ga.po (+19/-19)
po/gd.po (+19/-19)
po/gl.po (+19/-19)
po/he.po (+19/-19)
po/hi.po (+19/-19)
po/hr.po (+19/-19)
po/hu.po (+19/-19)
po/hy.po (+19/-19)
po/id.po (+19/-19)
po/is.po (+19/-19)
po/it.po (+19/-19)
po/ja.po (+19/-19)
po/jbo.po (+19/-19)
po/ka.po (+19/-19)
po/kk.po (+19/-19)
po/km.po (+19/-19)
po/kn.po (+19/-19)
po/ko.po (+19/-19)
po/ku.po (+19/-19)
po/ky.po (+19/-19)
po/lt.po (+19/-19)
po/lv.po (+19/-19)
po/mk.po (+19/-19)
po/ml.po (+19/-19)
po/mr.po (+19/-19)
po/ms.po (+19/-19)
po/my.po (+19/-19)
po/nb.po (+19/-19)
po/nds.po (+19/-19)
po/ne.po (+19/-19)
po/nl.po (+19/-19)
po/nn.po (+19/-19)
po/oc.po (+19/-19)
po/pl.po (+19/-19)
po/ps.po (+19/-19)
po/pt.po (+19/-19)
po/pt_BR.po (+19/-19)
po/ro.po (+19/-19)
po/ru.po (+19/-19)
po/sd.po (+19/-19)
po/shn.po (+19/-19)
po/si.po (+19/-19)
po/sk.po (+19/-19)
po/sl.po (+19/-19)
po/sq.po (+120/-84)
po/sr.po (+19/-19)
po/sv.po (+19/-19)
po/ta.po (+19/-19)
po/te.po (+19/-19)
po/th.po (+19/-19)
po/tr.po (+19/-19)
po/ug.po (+19/-19)
po/uk.po (+36/-34)
po/ur.po (+19/-19)
po/uz.po (+19/-19)
po/vi.po (+19/-19)
po/zh_CN.po (+19/-19)
po/zh_HK.po (+19/-19)
po/zh_TW.po (+19/-19)
qt/checkbox-qt-head.svg (+163/-0)
qt/checkbox.svg (+0/-2478)
qt/frontend/qtfront.cpp (+34/-38)
qt/frontend/qtfront.h (+3/-3)
qt/frontend/qtfront.ui (+158/-173)
qt/frontend/treemodel.cpp (+0/-1)
scripts/block_device_resource (+39/-4)
scripts/cycle_vts (+27/-0)
scripts/disk_read_performance_test (+14/-1)
scripts/disk_smart (+16/-8)
scripts/efi_resource (+1/-1)
scripts/gconf_resource (+5/-6)
scripts/gpu_test (+0/-4)
scripts/network_check (+2/-1)
scripts/network_device_info (+167/-7)
scripts/package_resource (+2/-1)
Changed in checkbox: | |
assignee: | nobody → Daniel Manrique (roadmr) |
status: | Triaged → In Progress |
Changed in checkbox: | |
status: | In Progress → Fix Committed |
Changed in checkbox: | |
status: | Fix Committed → Fix Released |
description: | updated |
Changed in checkbox (Ubuntu): | |
status: | New → Fix Released |
Awesome, I triaged my own bug :)
The problem is when reading the xslt file, which in the submission.xml file is referenced through a file:// url. Chromium doesn't like this :(
//By default, file:// URIs cannot read other file:// URIs. This is an
// override for developers who need the old behavior for testing.
Running it like this works:
chromium-browser --allow- file-access- from-files submission.xml
The simplistic way to solve this would be adding this command-line parameter to the browser invocation command in checkbox/ user_interface. py if the browser turns out to be chrome or chromium-browser. I still need to read up on why this isn't enabled by default and whether we will incur users' wrath if we turn this on.