Open Bug 1584252 Opened 6 years ago Updated 1 year ago

Add a single-window implementation of the windows API

Categories

(GeckoView :: Extensions, enhancement, P3)

Unspecified
All
enhancement

Tracking

(firefox70 wontfix, firefox71 ?)

Tracking Status
firefox70 --- wontfix
firefox71 --- ?

People

(Reporter: Fallen, Unassigned, Mentored)

References

(Blocks 1 open bug)

Details

As far as I am aware, there are a few bits within WebExtensions that depends on the windows API. It seems GeckoView already has the windowTracker, so most of the work is likely already done. To finish this off, I feel GeckoView should expose a windows API that provides access to that single window that is available, and throws on attempting to create new windows.

Rank: 10
Priority: -- → P2

Mass moving bugs to the Extension component.

Component: General → Extensions
Priority: P2 → P1
Whiteboard: [gecko

Agi says we probably already have this API. He will confirm.

Assignee: nobody → agi
Whiteboard: [gecko → [geckoview:m1910]

P3, not P1 because this bug isn't blocking anything right now.

Priority: P1 → P3
Whiteboard: [geckoview:m1910]

We don't need this for ad blocks but it might be useful to do in general for compatibility with desktop.

No longer blocks: 1582194
Assignee: agi → nobody
Mentor: agi
Severity: normal → S3
Rank: 10 → 333

Tasks and enhancements should have severity N/A.

Severity: S3 → N/A

I've noticed that currently each tab in Android has a different windowId (and they all have index: 0, so separate windows?).
When this is implemented, they will all share the same windowId, right?

Interestingly though, the way it is implemented now, it allows one to create a simple polyfill for the missing browser.window API:
https://gist.github.com/Juraj-Masiar/cadb8fa0a8f556a0ad06aa3e588a7bfc

(In reply to juraj.masiar from comment #8)

I've noticed that currently each tab in Android has a different windowId (and they all have index: 0, so separate windows?).

This is the current implementation, but not necessarily a desired end-state in the API. The one-tab-per-window implementation prevents the implementation of tabs.move, for example.

You need to log in before you can comment on or make changes to this bug.