Closed Bug 1553943 Opened 5 years ago Closed 3 years ago

GeckoViewExternalAppService.js does not implement nsIMIMEService

Categories

(GeckoView :: General, defect, P2)

Unspecified
All

Tracking

(firefox68 affected, firefox69 affected)

RESOLVED FIXED
Tracking Status
firefox68 --- affected
firefox69 --- affected

People

(Reporter: gbrown, Unassigned)

References

(Regression)

Details

(Keywords: leave-open, regression)

Attachments

(1 file)

GeckoViewExternalAppService.js supplies @mozilla.org/uriloader/external-helper-app-service;1

https://searchfox.org/mozilla-central/rev/662de518b1686c4769320d6b8825ce4864c4eda0/mobile/android/components/geckoview/GeckoView.manifest#25

but it lacks some of the associated interfaces normally implemented by nsExternalHelperAppService.

https://searchfox.org/mozilla-central/rev/662de518b1686c4769320d6b8825ce4864c4eda0/uriloader/exthandler/nsExternalHelperAppService.h#48-53

Notably it provides an implementation of nsIExternalHelperAppService but not nsIMIMEService, causing failures in code like:

https://searchfox.org/mozilla-central/rev/952521e6164ddffa3f34bc8cfa5a81afc5b859c4/netwerk/test/httpserver/httpd.js#2766

  return Cc["@mozilla.org/uriloader/external-helper-app-service;1"]
           .getService(Ci.nsIMIMEService)
           .getTypeFromFile(file);

This is why several xpcshell tests fail when run against a geckoview build.

Geoff, does this nsIMIMEService issue block us from enabling any xpcshell tests or does it just cause some test cases to fail?

Flags: needinfo?(gbrown)
Priority: -- → P2

It causes some tests to fail, but it is a lot of tests, not just a few. I think we need this issue resolved before we can switch xpcshell from fennec to geckoview.

Flags: needinfo?(gbrown)

Does it matter how nsIMIMEService is obtained? I wouldn't think so, tests continue
to pass with this change, and this will allow me to move ahead with running
xpcshell against geckoview.

Pushed by gbrown@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/8cf07d8ce4ea
Bypass external-helper-app-service when getting mime service in httpd.js; r=mayhemer

With this change I should be able to proceed with bug 1553225. However, let's leave open to revisit the GeckoViewExternalAppService.js implementation.

No longer blocks: 1553225
Keywords: leave-open
See Also: → 1553225
Rank: 40

GeckoViewExternalAppService changed a bit since this bug was open, so I'm going to close this as fixed, please open a new bug if there's anything left here.

Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Has Regression Range: --- → yes
Keywords: regression
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: