Created attachment 585288 [details] [diff] [review] patch This is part of my reduce-CC-times effort.
Created attachment 586486 [details] [diff] [review] additional patch Silly me, I should read my own code better. The JSContext swap is actually missing there even now, but it wasn't causing real problems since mContext was set to null in Disconnect and that just makes MM to use the implicit context or SafeCx. RemoveFromParent() is added to keep the old behavior for tab swapping case. https://tbpl.mozilla.org/?tree=Try&rev=ed99f63154c6