| <!DOCTYPE html> |
| <html> |
| <head> |
| <script> |
| function runTest() |
| { |
| if (window.testRunner) { |
| testRunner.dumpAsText(); |
| testRunner.dumpChildFrames(); |
| } |
| |
| function removeFrameAndAddNewFrame(oldFrameId) { |
| body = document.getElementById('body'); |
| oldFrame = document.getElementById(oldFrameId); |
| body.removeChild(oldFrame); |
| |
| // newFrame is added to the frame tree when the parent has the same number of |
| // children as when frame5 was being added. This will make |
| // likelyUniqueSuffix the same for frame5 and newFrame - their unique |
| // name will have to be different in some other way. |
| newFrame = document.createElement('iframe'); |
| newFrame.name = "sameName"; |
| body.appendChild(newFrame); |
| } |
| |
| removeFrameAndAddNewFrame('frame2') |
| removeFrameAndAddNewFrame('frame3') |
| } |
| </script> |
| </head> |
| <body onload="runTest()" id="body"> |
| <!-- |
| Before https://crrev.com/1968213002 the name generated by |
| FrameTree::generateOldStyleMaybeUniqueName would be assumed to be unique, but |
| in reality could conflict with other names. This scenario is similar, but not |
| the same as https://crbug.com/576969#c3. |
| |
| Additionally, this test also exercises a scenario where the new |
| FrameTree::generateLikelyUniqueSuffix can generate a suffix that |
| is not really unique (and where uniquness comes from numberOfTries |
| in FrameTree::ensureUniquenessOfUniqueName). |
| --> |
| <iframe id="frame1" name="sameName"></iframe> |
| <iframe id="frame2" name="sameName"></iframe> |
| <iframe id="frame3" name="sameName"></iframe> |
| <iframe id="frame4" name="sameName"></iframe> |
| <iframe id="frame5" name="sameName"></iframe> |
| </body> |
| </html> |