Skip to content

Consider refactoring how SystemNavigator clients operate #83044

@Hixie

Description

@Hixie

Right now we have widgets (e.g. Navigator, Router) that interact with the SystemNavigator API to talk to the engine (especially the web engine). However, this means things break if you ever have multiple routers or navigators or other SystemNavigator clients interacting simultaneously.

As @chunhtai suggested in flutter/engine#26164, we should consider creating a singleton API hanging off the binding that multiplexes clients of the navigation API so that, for example, multiple parallel Router widgets can coexist and function meaningfully in the browser history, just like a web page with multiple iframes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Issues that are less important to the Flutter projectc: new featureNothing broken; request for a new capabilityf: routesNavigator, Router, and related APIs.frameworkflutter/packages/flutter repository. See also f: labels.platform-webWeb applications specificallyteam-webOwned by Web platform teamtriaged-webTriaged by Web platform team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions