cast: webview: Add window manager to handle EXO windows
The Webview WebContents and the aura::Window it attaches to are not created in the same place and there is a disconnect between how the EXO window is created and how the Webview is created. Webview creation event results in a request to create an EXO window. Thus WebviewRpcInstance doesn't have a window to display in until the client creates an EXO window with the appropriate ID. There needs to be a way to listen for window events to discover the EXO window hosting the Webview. WebviewWindowManager listens for new aura::Windows to be created and registers as an observer on them to find windows with the exo::kClientSurfaceIdKey property. The ID is then used to find the Webview that will be attached to the window. BUG=b/132811925 TEST=Compiled Change-Id: I053e2b792b311f0c95e791ef5c70a9e18b24f5ba Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1803957 Commit-Queue: Daniel Nicoara <dnicoara@chromium.org> Reviewed-by:Alex Sakhartchouk <alexst@chromium.org> Cr-Commit-Position: refs/heads/master@{#696906}
Showing
Please register or sign in to comment