Closed Bug 1260766 Opened 4 years ago Closed 4 years ago
Moving tabs with non-default user context between windows needs rework
As part of bug 1242644 (about to land), swapFrameLoaders will start to enforce that both frames being swapped have matching OriginAttributes before allow them to be swapped. This breaks moving tabs between windows (which uses swapFrameLoaders) for tabs with non-default user context IDs. (Regular tabs using the default context continue to move as expected.) Most likely the issue is that the user context ID needs to be set earlier on the target browser we swap into when moving tabs.
Comment on attachment 8745853 [details] [diff] [review] fix.patch Please add a comment that this expects that usercontextid attribute has been set on the xul:browser before swap. Don't know how to explain that clearly in a comment though. + int32_t namespaceID = mOwnerContent->GetNameSpaceID(); + if ((namespaceID == kNameSpaceID_XUL) && I would use just mOwnerContent->IsXULElement()
Attachment #8745853 - Flags: review?(bugs) → review+
Comment on attachment 8745874 [details] [diff] [review] fix.patch You need to re-explain to me, why this works if "our" isn't the about:blank, but the actual page which we want to move to a new window.
Comment on attachment 8745985 [details] [diff] [review] fix.patch You need to use the other frameloader for PopulateUserContextIdFromAttribute call when populating otherOriginAttributes. In both places. With that r+
Attachment #8745985 - Flags: review?(bugs) → review+
You need to log in before you can comment on or make changes to this bug.