Closed Bug 1450856 Opened 7 years ago Closed 7 years ago

ContentDelegate.onExternalResponse doesn't work under non-e10s

Categories

(GeckoView Graveyard :: Sandboxing, enhancement, P1)

All
Android
enhancement

Tracking

(firefox-esr52 wontfix, firefox59 wontfix, firefox60 wontfix, firefox61 fixed)

RESOLVED FIXED
mozilla61
Tracking Status
firefox-esr52 --- wontfix
firefox59 --- wontfix
firefox60 --- wontfix
firefox61 --- fixed

People

(Reporter: jchen, Assigned: snorp)

References

Details

(Whiteboard: [geckoview:klar])

Attachments

(1 file)

Assignee: nobody → snorp
Comment on attachment 8972954 [details] Bug 1450856 - Fix PromptDelegate.onExternalResponse() for non-e10s https://reviewboard.mozilla.org/r/241526/#review247332 ::: mobile/android/components/geckoview/GeckoViewExternalAppService.js:28 (Diff revision 1) > > ExternalAppService.prototype = { > classID: Components.ID("{a89eeec6-6608-42ee-a4f8-04d425992f45}"), > QueryInterface: ChromeUtils.generateQI([Ci.nsIExternalHelperAppService]), > > + getTopChromeWindow(context) { We might already support this in GeckoViewUtils, if not we should move it there. ::: mobile/android/components/geckoview/GeckoViewExternalAppService.js:45 (Diff revision 1) > debug `doContent: uri=${channel.URI.displaySpec} > contentType=${channel.contentType}`; > > - EventDispatcher.forMessageManager(mm).sendRequest({ > + let dispatcher; > + if (Services.appinfo.processType == Services.appinfo.PROCESS_TYPE_DEFAULT) { > + dispatcher = EventDispatcher.for(this.getTopChromeWindow(context)); Same as above, should be in GeckoViewUtils.
Comment on attachment 8972954 [details] Bug 1450856 - Fix PromptDelegate.onExternalResponse() for non-e10s https://reviewboard.mozilla.org/r/241526/#review247348 ::: mobile/android/components/geckoview/GeckoViewExternalAppService.js:35 (Diff revision 3) > + if (GeckoViewUtils.IS_PARENT_PROCESS) { > + dispatcher = EventDispatcher.for(GeckoViewUtils.getChromeWindow(context)); > + } else { > + const mm = context.QueryInterface(Ci.nsIDocShell).tabChild.messageManager; > + dispatcher = EventDispatcher.forMessageManager(mm); > + } I think you can use GeckoViewUtils.getDispatcherForWindow for this?
Comment on attachment 8972954 [details] Bug 1450856 - Fix PromptDelegate.onExternalResponse() for non-e10s https://reviewboard.mozilla.org/r/241526/#review247384
Attachment #8972954 - Flags: review?(esawin) → review+
Pushed by jwillcox@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/7d21cb6d11c2 Fix PromptDelegate.onExternalResponse() for non-e10s r=esawin
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 61
Product: Firefox for Android → GeckoView
Target Milestone: Firefox 61 → mozilla61

Moving some e10s bugs to the new GeckoView::Sandboxing component.

Component: General → Sandboxing
Product: GeckoView → GeckoView Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: