Created attachment 585288 [details] [diff] [review]
This is part of my reduce-CC-times effort.
Created attachment 586486 [details] [diff] [review]
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.