Changes between Initial Version and Version 3 of Ticket #7305

02/26/2019 06:30:16 PM (8 months ago)

Would you mind adding some explanation to the issue description of what this example page is doing and how come we don't handle it well so far?

I added a bit more context regarding the example page but it is not clear yet what causes the issue so there's not much I was able to add there. Considering that this is a fallback solution for any situation for which the browser doesn't notify us of a frame being created, I considered it not being necessary to find out what exactly causes it since that would be merely an optimization that could be worked on separately (i.e. the more frames we can detect early on outside of the critical path, the fewer cases there are for which we need to fall back on adding frames while on the critical path).

However, I can understand if you disagree with this assessment.

Also, could you explain a bit more what your proposed change involves? From your example results it seems like you're creating frame Objects for the frame's parent frame ID as well?

My suggested approach is only creating a frame object for the frame the request originated from, not for its parent since we don't know what its parent's parentId is. I've tried to clarify that bit now in the description.

I assume your concern is that this approach cannot deal with a situation where a request is coming from an unknown frame whose parent is also unknown. I'd consider that to be a valid argument, I just don't know how we could handle such cases considering that all we know of the parent frame is its ID.

Is this an issue in Firefox and Edge?

I haven't tested it on Edge but it also affects Firefox.


  • Ticket #7305

    • Property Cc sebastian added
  • Ticket #7305 – Description

    initial v3  
    1919=== What to change === 
    20 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. 
     20When encountering a request for which `ext.getFrame()` returns `undefined` but which specifies both a `frameId` and `parentFrameId` property, create a new `about:blank` frame for the one the request originates from and add it to the frame hierarchy. 
    2222For example, this could be achieved by extending `ext.getFrame()`. 
    2424=== Further information === 
     25The given example page includes an AAX iFrame whose entire content is supposed to be whitelisted using a `$sitekey` filter. Inside this frame the ad is served and rendered using third-party ad code. 
    2527Ticket 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.