Hacker News new | past | comments | ask | show | jobs | submit login

Once Chrome opens the file save as or open dialog, they basically run a copy of explorer in their address space. Right clicking there on any file opens the context menu with things like "Extract to subfolder with 7zip" or "Merge as Adobe PDF". Even showing this loads DLLs in their address space and runs them.

How do they deal with that?

Most likely they will start new process for the dialog window (or they already do that).

Well, yes, that API call comes with linking to shell32.dll, which effectively hosts parts of Explorer (including shell extensions) in your process. The person you replied to probably suggested that Chrome would sandbox the common dialogs in its own new process to avoid potential issues. Just like they put, e.g. Flash into its own helper process without Flash being its own executable.

This is what Chrome already does: it uses a utility process to host the common file dialog. See https://cs.chromium.org/search/?q=CallGetOpenFileName&sq=pac...

Thanks for finding this. But does it really open a helper process? In the code I can't find anything about that.

Is it possible to launch a process and have it display a modal dialog which blocks the parent's dialog?

(I don't use Chrome at the moment and will install a new version later to check it out using Process Explorer)

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact