Opened on 06/16/2014 at 07:15:17 PM
Closed on 06/17/2014 at 03:44:26 PM
Last modified on 06/17/2014 at 03:44:39 PM
#673 closed defect (fixed)
Use of xmlns attribute in XSLT template causes Chrome to display a blank page.
Reported by: | Innominate | Assignee: | |
---|---|---|---|
Priority: | P2 | Milestone: | Adblock-Plus-1.8.4-for-Chrome-Opera-Safari |
Module: | Platform | Keywords: | |
Cc: | sebastian, mapx, philll | Blocked By: | |
Blocking: | Platform: | ||
Ready: | no | Confidential: | no |
Tester: | Verified working: | no | |
Review URL(s): |
Description
Environment
Windows 7
Chrome 35.0.1916.153
Adblock Plus 1.8.3
All filter lists disabled, ABP disabled for the site.
How to reproduce
Use <html xmlns="http://www.w3.org/1999/xhtml"> in an XSLT template.
Disabling adblock's filters, or disabling it sitewide has no effect. Disabling the extension resolves the issue.
Observed behaviour
A blank page is displayed.
Example: https://innomi.com/abp/broken.xml
Expected behaviour
The page should render.
Example: https://innomi.com/abp/works.xml
Attachments (0)
Change History (6)
comment:1 Changed on 06/16/2014 at 07:34:43 PM by mapx
- Cc sebastian mapx added
- Component changed from Unknown to Platform
- Priority changed from Unknown to P2
comment:2 Changed on 06/17/2014 at 07:31:52 AM by philll
- Resolution set to duplicate
- Status changed from new to closed
comment:3 Changed on 06/17/2014 at 10:01:42 AM by sebastian
- Cc philll added
- Resolution duplicate deleted
- Status changed from closed to reopened
It's similar to, but not a duplicate of #659. Both issues result in rendering the page blank, because <shadow> is just an ordinary element, but not an insertion point in the context of XML.
However in #659 an ordinary XML document was used. And since #581, no shadow root is created anymore when document.documentElement is not an HTMLElement, which fixes that issue.
But here we have an XHTML document that was created by an XSLT transform. So we need to do something else to fix this issue.
comment:4 Changed on 06/17/2014 at 10:25:33 AM by sebastian
- Review URL(s) modified (diff)
- Status changed from reopened to reviewing
In the case of an XHTML element created by and XSLT transform, document.documentElement is an HTMLElement. However elements returned by document.createElement() don't behave like they would in HTML. I am not sure whether this a Chrome bug or just how XSLT is supposed to work. But we can just work around that issue by checking whether documentis an HTMLDocument.
comment:5 Changed on 06/17/2014 at 03:44:26 PM by sebastian
- Resolution set to fixed
- Status changed from reviewing to closed
comment:6 Changed on 06/17/2014 at 03:44:39 PM by sebastian
- Milestone set to Adblock-Plus-for-Chrome-Opera-Safari-next
See #659