Opened on 01/13/2015 at 02:15:23 PM

Closed on 03/25/2015 at 02:46:26 PM

#1792 closed defect (duplicate)

Block element can not select elements inside srcdoc iframe

Reported by: kzar Assignee:
Priority: P3 Milestone:
Module: Platform Keywords:
Cc: sebastian Blocked By:
Blocking: Platform: Chrome
Ready: yes Confidential: no
Tester: Verified working: no
Review URL(s):

Description (last modified by kzar)


Adblock Plus 1.8.9 on Chrome 39.0.2171.95 on Linux.

How to reproduce

  1. Browse to a page that has an image element inside an iframe, the iframe contents specified inline using the srcdoc attribute instead of src.
  2. Right click the image and Click "Block element".

Observed behaviour

You can only select the whole iframe element, not the image within.

Expected behaviour

You should be able to select the image within, just as you could if the child frame's contents was defined in a separate HTML file.

Attachments (1)

iframe-test.html (217 bytes) - added by kzar on 01/13/2015 at 02:15:37 PM.

Download all attachments as: .zip

Change History (4)

Changed on 01/13/2015 at 02:15:37 PM by kzar

comment:1 Changed on 01/13/2015 at 02:21:06 PM by kzar

  • Description modified (diff)

comment:2 Changed on 01/13/2015 at 05:06:40 PM by sebastian

  • Cc sebastian added
  • Priority changed from Unknown to P3
  • Ready set

When we can generate any filter for a frame, we create an overlay, preventing pointer events from being passed further down the frame hierarchy. This behavior is the same, regardless whether the frame uses srcdoc or is loaded from a file. Feel free to fix this. But note that only removing that overlay isn't sufficient, and that the user should still be able to block the frame itself.

Once that issue has been resolved (or if you remove the style attribute, that no filter can be generated anymore for this frame, and therefore no overlay will be injected), you still won't be able to block the image inside the frame. That is because our content scripts don't run in frames using srcdoc. There is a manifest option which lets you run content scripts in those frames as well. However, it's still pretty buggy (see #1704). So we can't use it for now. But we have a workaround that we currently only use in include.preload.js. So you need to adopt that workaround also in include.postload.js.

comment:3 Changed on 03/25/2015 at 02:46:26 PM by sebastian

  • Resolution set to duplicate
  • Status changed from new to closed
  • Verified working unset

This should be fixed with #2216.

Add Comment

Modify Ticket

Change Properties
as closed .
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from (none).
Note: See TracTickets for help on using tickets.