This is a V3 initiative for a New Security Model. https://wiki.mozilla.org/FirefoxOS/New_security_model
This Meta Bug is for tracking the "Process Isolation" implementation, a sub-component of the bigger New Security Model project. https://wiki.mozilla.org/FirefoxOS/New_security_model#Process_isolation
In order to ensure that only signed content can access the APIs that it has been signed for, we want to always use separate child processes to run such content.
This means that when a user navigates from an unsigned page to a signed page, that we need to switch which process render the pages. Right now this can only be done by creating a new <iframe mozbrowser>.
However only Gecko knows that a particular URL is signed. Gaia could not simply look at a URL to know if it will return signed content or not. And Gecko only knows that it's signed content once response data starts arriving.
Even if we add some way for gecko to signal to the <iframe mozbrowser> embedder that a new <iframe mozbrowser> needs to be created, this will make going "back"/"forward" between the two very messy.