Opened 12 months ago

Last modified 11 months ago

#7305 closed defect

Requests blocked in whitelisted frame — at Initial Version

Reported by: greiner Assignee:
Priority: P2 Milestone: Adblock-Plus-3.5.1-for-Chrome-Opera-Firefox
Module: Platform Keywords:
Cc: kzar, sebastian, Ross, arthur Blocked By:
Blocking: Platform: Chrome
Ready: yes Confidential: no
Tester: Ross Verified working: yes
Review URL(s):

https://gitlab.com/eyeo/adblockplus/adblockpluschrome/merge_requests/43
https://gitlab.com/eyeo/adblockplus/adblockpluschrome/merge_requests/49
https://gitlab.com/eyeo/adblockplus/adblockpluschrome/merge_requests/50

Description

Environment

Ubuntu 16.04
Chrome 71
Adblock Plus 3.4.3

How to reproduce

  1. Open http://hbx-stage.media.net/ebaumsworld.php?com_aax_test=161 in an incognito tab
  2. Open Adblock Plus DevTools panel
  3. Reload page and repeat until request to http://s2s.adpushup.com/AdWebService/feedback shows up in Network tab

Observed behavior

Expected behavior

  • Request to http://s2s.adpushup.com/AdWebService/feedback is not blocked (doesn't show up in list due to one of its parent frames being whitelisted by @@http://$document,sitekey=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAMLlOP3Rke738aeqtDCGp0IgSY5XBv7c+brDMmurbYvOFgakGw6sUG8fwt6VkjnOX9s9Kba1Drg2M9Bye/F3x7MCAwEAAQ filter)
  • Ad is shown on page

What to change

When encountering a request for which ext.getFrame() returns undefined but which specifies both a frameId and parentFrameId property, create a new about:blank frame and add it to the frame hierarchy.

For example, this could be achieved by extending ext.getFrame().

Further information

Ticket is set to confidential because AAX requested to keep example URL private and I'm not aware of any other URLs where this issue occurs.

Logging out the first parameter (frame ID) in updatePageFrameStructure() in ext/background.js leads to the below results.

master (i.e. only frame IDs encountered by frame requests)
0
1460
1461
1462
1463
1465

proposed change
0
-1
1460
1461
1462
1463
1464
1465
1466

There was also an issue with onHeadersReceived not notifying us of all frame requests when types: ["main_frame", "sub_frame"] option is specified but I wasn't able to reproduce it again when coming back to it. If this issue still persists, this may be an additional optimization to avoid adding frames to the hierarchy within onBeforeRequest where performance is critical.

Change History (0)

Note: See TracTickets for help on using tickets.