In order to fix bug 44713, resource identifiers need to be unique across pages so that the resource id can be used in more than one Page/WebView. Making the ids unique is cleaner than changing the ids before using them in another object on a different page. Resource identifiers are generated from the Page's ProgressTracker. There are other uses of ProgressTracker::createUniqueIdentifier, but they are not dependent on the ids being only unique within a page, so this change should be safe.
Created attachment 69823 [details] patch
Comment on attachment 69823 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=69823&action=review Looks great, I understand the actual ASSERTS will come as a close next patch since they rely on more code, so this adds a test ahead of code, which is ok. r- since the test can be improved. > LayoutTests/fast/frames/iframe-reparenting-id-collision.html:42 > + w1.addEventListener("load", windowLoaded, false); It could be more reliable to make this test to wait until both windows are loaded, but at the same time to ensure that their inner iframes are still loading. It can be accomplished by making this test a http test and hitting the 'slow loading' server script from iframes, while registering onload handler for both windows. This will guarantee that the test is free from timing issues.
Created attachment 70463 [details] Updated patch. Replaced test case with an http test.
Comment on attachment 70463 [details] Updated patch. r=me
Comment on attachment 70463 [details] Updated patch. Clearing flags on attachment: 70463 Committed r69643: <http://trac.webkit.org/changeset/69643>
All reviewed patches have been landed. Closing bug.