nsIWindowWatcher::OpenWindowWithRemoteTab doesn't work on GeckoView
Categories
(GeckoView :: General, defect, P2)
Tracking
(firefox136 fixed)
Tracking | Status | |
---|---|---|
firefox136 | --- | fixed |
People
(Reporter: m_kato, Assigned: m_kato)
References
(Blocks 1 open bug)
Details
(Whiteboard: [gv-perspective-work])
Attachments
(1 file)
Some mochitests seems to set browser.link.open_newwindow=2
(nsIBrowserDOMWindow.OPEN_NEWWINDOW
) such as test_notification_serviceworker_openWindow.html.
When setting it, window.open
etc might call nsIWindowWatcher::OpenWindowWithRemoteTab to create new Chrome window. But since it doesn't use GeckoView's delegation (GeckoView:OnNewSession
etc), window creation will be failed.
Current GeckoView architecture is that new tab is same as new window and we don't consider that anyone modifies browser.link.open_newwindow
.
So, I think we have to handle which the following.
nsWindowWatcher::GetWindowOpenLocation
shouldn't returnnsIBrowserDOMWindow.OPEN_NEWWINDOW
on GeckoView even ifbrowser.link.open_newwindow=2
.
Or- Implement GeckoView version of
nsIWindowWatcher::OpenWindowWithRemoteTab
(ornsWindowWatcher::CreateChromeWindow
).
Assignee | ||
Updated•6 months ago
|
Comment 1•6 months ago
|
||
The severity field is not set for this bug.
:owlish, could you have a look please?
For more information, please visit BugBot documentation.
Updated•4 months ago
|
Updated•4 months ago
|
Comment 2•4 months ago
|
||
Hey Makoto, is this something you are planning to work on?
Assignee | ||
Comment 3•4 months ago
|
||
Short term is No, but we have to consider something way such as ignoring browser.link.open_newwindow preference.
Assignee | ||
Comment 4•2 months ago
|
||
I have landed bug 1825910, so I should fix this to turn on mochitest.
Assignee | ||
Comment 5•2 months ago
|
||
Assignee | ||
Comment 6•2 months ago
|
||
Chrome window has one browser element only in GeckoView. So even if
browser (Fenix etc) shows tabs, it is window.
When creating chrome window, we have to call Java code via
nsIBrowserDOMWindow.createContentWindow
or
nsIBrowserDOMWindow.createContentWindowInFrame
. So if we open
geckoview.xhtml
directly, geckoview.xhtml
throws an exception due to
missing initializing parameters.
Although test_notification_serviceworker_openWindow.html
modifies
browser.link.open_newwindow
preference, some values won't work since
OpenWindowWithRemoteTab
is used to create browser and window.
OpenWindowWithRemoteTab
opens geckoview.xhtml directly, so it doesn't
work on GeckoView.
I would like to avoid this call and OpenWindowWithRemoteTab should
return an error in GeckoView immediately.
Backed out for causing reftest crashes @ nsWindowWatcher::OpenWindowWithRemoteTab
- Backout link
- Push with failures
- Failure Log
- Failure line:
REFTEST PROCESS-CRASH | MOZ_RELEASE_ASSERT(false) (GeckoView should use nsIBrowserDOMWindow instead) [@ nsWindowWatcher::OpenWindowWithRemoteTab] | layout/svg/crashtests/696326-1.svg
Assignee | ||
Comment 9•1 month ago
|
||
I make sense this crash since I have added this by farre suggestion. But, hmm I cannot reproduce this...
Comment 11•24 days ago
|
||
Comment 12•24 days ago
|
||
bugherder |
Description
•