This change reworks how TabContext stores its data. Before, it stored
an app-id and translated that into an app; now we do the reverse. This
lets us guarantee that HasOwnApp() is true iff GetOwnApp() is non-null.
We added a new class, MaybeInvalidTabContext to assist with converting
from an IPCTabContext to a TabContext. This allows us to ensure that a
TabContext object is never invalid.
--HG--
extra : rebase_source : d43e858739a342ab420122a90336bfd585be268a