Closed Bug 1161667 Opened 9 years ago Closed 3 years ago

Handle tab queues with Browser.EXTRA_APPLICATION_ID

Categories

(Firefox for Android Graveyard :: General, defect)

All
Android
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: mcomella, Unassigned, Mentored)

References

Details

(Whiteboard: [lang=java])

Bug 840574 landed handling Browser.EXTRA_APPLICATION_ID - this bug is to ensure it works correctly when tab queues are enabled.
Assignee: nobody → s.kaspari
I'm moving this to v2.

mcomella: Could this be a mentor bug? From your experience in bug 840574: Is this used by many applications? How important is this?
Assignee: s.kaspari → nobody
Blocks: tab-queue-v2
No longer blocks: tab-queue
Flags: needinfo?(michael.l.comella)
(In reply to Sebastian Kaspari (:sebastian) from comment #1)
> mcomella: Could this be a mentor bug?

I think this would be a brief, medium difficulty mentor bug – the Intent receiving code and our EXTRA_APPLICATION_ID code is a bit messy.

To better scope the problem, an external link with EXTRA_APPLICATION_ID will open the page in an existing tab with the matching id, if it exists, otherwise open a new tab. However, if we strictly obey this with tab queues, multiple tabs in the queue can overwrite each other. I propose the first tab in the queue that matches a given ID should load in the existing tab and all others with that same ID will open new tabs (which kind of breaks the flag, but I don't see a better alternative).

> From your experience in bug 840574: Is
> this used by many applications? How important is this?

I'm honestly not sure how often it is used – I made a custom application to test this rather than finding one that already did this. From that perspective, I'd say probably not that important.

However, it could break work flows for app developers who expect this to just work so we'd probably look bad to users where Chrome would just do the right thing.
Mentor: michael.l.comella, s.kaspari
Flags: needinfo?(michael.l.comella)
Whiteboard: [lang=java]
(In reply to Michael Comella (:mcomella) from comment #2)
> To better scope the problem, an external link with EXTRA_APPLICATION_ID will
> open the page in an existing tab with the matching id, if it exists,
> otherwise open a new tab. However, if we strictly obey this with tab queues,
> multiple tabs in the queue can overwrite each other. I propose the first tab
> in the queue that matches a given ID should load in the existing tab and all
> others with that same ID will open new tabs (which kind of breaks the flag,
> but I don't see a better alternative).

This is a good point. The problem with that is that this is totally not understandable by the user. For a user EXTRA_APPLICATION_ID is not visible. Maybe we could at least inject all the "previous" URLs for the application into the tab's history?
(In reply to Sebastian Kaspari (:sebastian) from comment #3)
> This is a good point. The problem with that is that this is totally not
> understandable by the user. For a user EXTRA_APPLICATION_ID is not visible.

Maybe the focus is less understandability but rather what the feature is supposed to do. I usually don't notice when an application is opening links in existing tabs so for me this feature serves to declutter my tabs tray.

Is the purpose the same for the average user? Are there applications that use it differently?

> Maybe we could at least inject all the "previous" URLs for the application
> into the tab's history?

If we're talking about decluttering, then this sounds like a better solution than mine.

What do you think? Is there another purpose I'm missing?
Flags: needinfo?(s.kaspari)
Let's test it when we start to implement it. Currently I feel like EXTRA_APPLICATION_ID is just not made for tab queues and enforcing it might have undesirable results (Where are my queued tabs?). Normally every Intent fired is a context switch - I might not even care what tab is used. But with tab queues I expect all queued tabs to show up.
Flags: needinfo?(s.kaspari)
We have completed our launch of our new Firefox on Android. The development of the new versions use GitHub for issue tracking. If the bug report still reproduces in a current version of [Firefox on Android nightly](https://play.google.com/store/apps/details?id=org.mozilla.fenix) an issue can be reported at the [Fenix GitHub project](https://github.com/mozilla-mobile/fenix/). If you want to discuss your report please use [Mozilla's chat](https://wiki.mozilla.org/Matrix#Connect_to_Matrix) server https://chat.mozilla.org and join the [#fenix](https://chat.mozilla.org/#/room/#fenix:mozilla.org) channel.
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → INCOMPLETE
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.