This patch fixes two problems:
1) We were treating "direct tab load" as an event which applies
uniformally to all tabs, even though it's actually an event which
happens for a specific tab. This lead to background tabs (pages opened as new tab)
setting the direct load flag, and then a simultaneously loading
parent tab would incorrectly interpret that flag for itself.
The patch switches this tracking from a simple boolean (are we direct
loading?) to a set of tab IDs that are currently direct loading.
2) In a case when a background tab was loading with a parent who's
search terms were cleared by a direct load, we were not trying to
lookup search terms on the background tab's historyMetadata key,
which exists to capture search terms for this exact scenario.
The patch adds an additional fallback lookup for that path.
store.dispatch(ContentAction.UpdateHistoryStateAction(parentTab.id,listOf(HistoryItem("Google - mozilla website","https://google.com?q=mozilla+website")),0)).joinBlocking()
store.dispatch(ContentAction.UpdateHistoryStateAction(parentTab.id,listOf(HistoryItem("Google - mozilla website","https://google.com?q=mozilla+website"),HistoryItem("Firefox","https://firefox.com")),1)).joinBlocking()