Hey Lu, this is a great question.
Right now there are two paths for web app navigation capturing and launch - you noticed them both, the navigation capturing / browser_navigator.cc pipeline, and the WebAppLaunchProcess (called from startup, file handling, intent picker icon pipelines). We really want to unify this code, and ideally unify it into the browser_navigator.cc call stack /pipeline. Now that navigation capturing is essentially code-complete,
@Marijn Kruisselbrink is owning the holistic look at code cleanup / refactorings / etc.
Currently we're in the 'poke around, prototype, and see what exactly the end state we want' phase, and depending on the work to get there,
@Marijn Kruisselbrink may be splitting off tasks to help parallelize that work.
All file launches should currently go through the WebAppLaunchProcess, so there is no risk of files being dropped here. If we end up unifying, I imagine those file paths will be added to navigate_params.h
Dan