Closed Bug 1578907 Opened 3 months ago Closed 2 months ago

[10.15] MacOS 10.15 Beta - Flash File Picker broken

Categories

(Core :: Widget: Cocoa, defect, P3)

67 Branch
x86_64
macOS
defect

Tracking

()

VERIFIED FIXED
mozilla71
Tracking Status
firefox-esr60 --- wontfix
firefox-esr68 71+ verified
firefox69 --- wontfix
firefox70 --- verified
firefox71 --- verified

People

(Reporter: jeclark, Assigned: haik)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

Attached file filePickerBug.zip

To Reproduce:
Expand the archive on a local webserver and run flash_bug.html
Allow Flash as needed
Click Browse
Observe that the Cancel event gets fired in ActionScript (the words Cancel Event: will be replaced with "Event: cancel fired").

Expected:
Browse should open the file picker
Choosing a file should cause the Select, Open, Progress and Complete events to fire
Opening the file picker with Browse and then hitting Cancel should cause the Cancel even to fire.

Our analysis:

I am pretty sure that this is a Firefox issue on macOS 10.15, not a Flash issue. MacOS 10.15 does change the way that panels (like printing and opening/saving files) works, and they now live in a separate process.

When I run the code, I can see that what’s failing in Firefox (and not in Safari) is our call:

mOpenPanel = (FlashOpenPanel *)[[NSOpenPanel openPanel] retain];

mOpenPanel is nil after the call and that’s utterly unexpected as this call should not fail, ever…

This reproduces in all versions of Firefox on all versions of macOS 10.15 Beta I tried, including Firefox nightly, on macOS 10.15 Beta 7.

Component: Untriaged → Widget: Cocoa
Product: Firefox → Core
Summary: MacOS 10.15 Beta - Flash File Picker broken → [10.15] MacOS 10.15 Beta - Flash File Picker broken

The priority flag is not set for this bug.
:spohl, could you have a look please?

For more information, please visit auto_nag documentation.

Flags: needinfo?(spohl.mozilla.bugs)
Blocks: catalina
Flags: needinfo?(spohl.mozilla.bugs)
Priority: -- → P3

This could be sandboxing related. To disable the flash sandbox, set dom.ipc.plugins.sandbox-level.flash=0 in about:config and restart the browser. If the problem is not reproducible with dom.ipc.plugins.sandbox-level.flash=0, it is likely caused by sandboxing.

(In reply to Haik Aftandilian [:haik] from comment #2)

This could be sandboxing related. To disable the flash sandbox, set dom.ipc.plugins.sandbox-level.flash=0 in about:config and restart the browser. If the problem is not reproducible with dom.ipc.plugins.sandbox-level.flash=0, it is likely caused by sandboxing.

Hey Jeromie, setting a need-info in case someone on your team can check this before we can. Thanks!

Flags: needinfo?(jeclark)

(In reply to Stephen A Pohl [:spohl] from comment #3)

(In reply to Haik Aftandilian [:haik] from comment #2)

This could be sandboxing related. To disable the flash sandbox, set dom.ipc.plugins.sandbox-level.flash=0 in about:config and restart the browser. If the problem is not reproducible with dom.ipc.plugins.sandbox-level.flash=0, it is likely caused by sandboxing.

Hey Jeromie, setting a need-info in case someone on your team can check this before we can. Thanks!

The attached example didn't work for me (it just rendered a blank page), but using another example I was able to confirm the problem does not occur with the Flash sandbox disabled.

I'll take this bug.

Flags: needinfo?(jeclark)
See Also: → 1579534
Assignee: nobody → haftandilian

When we trigger a file picker from a Flash applet, sandboxing violations are logged for the Flash plugin process trying to connect to the following com.apple services ViewBridgeAuxiliary, appkit.xpc.openAndSavePanelService, com.apple.MTLCompilerService. The MTLCompilerService doesn't appear to be required, but it's the shader compiler services and might be needed for graphics performance. ViewBridgeAuxiliary appears to be related to hosting remote windows. After adding access to these services, the file dialog is displayed and seems to be functional.

Allow access to extra services needed to open file pickers from the Flash process on 10.15.

Pushed by haftandilian@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/59bd7421ebfc
MacOS 10.15 Beta - Flash File Picker broken r=spohl
Status: NEW → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla71
Duplicate of this bug: 1579534

@Jeromie, could you verify the printing/file dialog problem is fixed in the latest version of Nightly?

Flags: needinfo?(jeclark)

No problem. I sent this back to the reporter working on MacOS 10.15 on our side. I should have an update in the next couple days.

Comment on attachment 9098739 [details]
Bug 1578907 - MacOS 10.15 Beta - Flash File Picker broken r?spohl

Beta/Release Uplift Approval Request

  • User impact if declined: On macOS 10.15 (currently in Beta, expected to release this month) users will not be able to use Flash sites that rely on file dialogs opened from Flash. macOS 10.15 users will not be able to print from Flash because the browser will hang when the print dialog is opened (see duped bug 1579534).
  • Is this code covered by automated tests?: No
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: Yes
  • If yes, steps to reproduce: See description of this bug and bug 1579534.
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): The scope of the fix is limited to the Mac Flash process sandbox and the changes are only enabled on macOS 10.15.
  • String changes made/needed: N/A
Attachment #9098739 - Flags: approval-mozilla-beta?
Flags: qe-verify+
QA Whiteboard: [qa-triaged]

I verified this on Mac OS X 10.15(the official release version) with FF Nightly 71.0a1(2019-10-08) using the test case from bug 1579534 and I can confirm the fix.

Do we need this on ESR68 too?

Flags: needinfo?(haftandilian)

(In reply to Ryan VanderMeulen [:RyanVM] from comment #14)

Do we need this on ESR68 too?

Yes. Thanks. I'll file the uplift request. I would like Adobe to verify it and the fix to be on Beta for some period of time before it ships to the ESR.

Flags: needinfo?(haftandilian)

Comment on attachment 9098739 [details]
Bug 1578907 - MacOS 10.15 Beta - Flash File Picker broken r?spohl

ESR Uplift Approval Request

  • If this is not a sec:{high,crit} bug, please state case for ESR consideration: On macOS 10.15, the bug can cause browser hangs with Flash. Specifically, when attempting to print from Flash, the browser will hang. In addition, Flash file pickers do not display.
  • User impact if declined: On macOS 10.15 (currently in Beta, expected to release this month) users will not be able to use Flash sites that rely on file dialogs opened from Flash. macOS 10.15 users will not be able to print from Flash because the browser will hang when the print dialog is opened (see duped bug 1579534).
  • Fix Landed on Version: 71
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): The scope of the fix is limited to the Mac Flash process sandbox and the changes are only enabled on macOS 10.15.
  • String or UUID changes made by this patch: N/A
Attachment #9098739 - Flags: approval-mozilla-esr68?

OK, next week is RC week for 68.2esr so let's aim for 68.3esr instead then.

Comment on attachment 9098739 [details]
Bug 1578907 - MacOS 10.15 Beta - Flash File Picker broken r?spohl

Fix for hangs with Flash and new macOS update.
OK for uplift for beta 14.

Attachment #9098739 - Flags: approval-mozilla-beta? → approval-mozilla-beta+

I verified this on Mac OS X 10.15(the official release version) with FF Beta 70.0b14 using the test case from bug 1579534 and I can confirm the fix.

Status: RESOLVED → VERIFIED
QA Whiteboard: [qa-triaged]
Flags: qe-verify+

We've confirmed that it resolves the issue on our end as well. Thanks for the quick turnaround!

Flags: needinfo?(jeclark)

Comment on attachment 9098739 [details]
Bug 1578907 - MacOS 10.15 Beta - Flash File Picker broken r?spohl

Approved for 68.3esr now that the version bump has landed.

Attachment #9098739 - Flags: approval-mozilla-esr68? → approval-mozilla-esr68+
Flags: qe-verify+
QA Whiteboard: [qa-triaged]

I verified this on Mac OS X 10.15 (the official release version) with FF 68.3.0esr-candidates/build2 using the test case from bug 1579534 and I can confirm the fix.

QA Whiteboard: [qa-triaged]
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.