Reland "Reland "Move non-GTK select file dialog implementations out of //ui/gtk""

This is a reland of 530e420e2194cb38a073e0c2b62493842e1e7b13
The reland adds a conditional to fix compilation for Chromecast.

Original change's description:
> Reland "Move non-GTK select file dialog implementations out of //ui/gtk"
>
> This is a reland of 454db039115d66a36038f5e507665849825ad4f2
>
> Original change's description:
> > Move non-GTK select file dialog implementations out of //ui/gtk
> >
> > This allows select file dialogs to work when building with
> > use_gtk=false, and is a necessary step toward implementing a QT
> > backend.
> >
> > R=sky
> >
> > Change-Id: Ied52eecbb91e587124ad07ae98d7dcca3ad9e3a2
> > Fixed: 1288613
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3422557
> > Reviewed-by: Daniel Cheng <[email protected]>
> > Reviewed-by: Scott Violet <[email protected]>
> > Auto-Submit: Thomas Anderson <[email protected]>
> > Reviewed-by: Ryo Hashimoto <[email protected]>
> > Commit-Queue: Ryo Hashimoto <[email protected]>
> > Cr-Commit-Position: refs/heads/main@{#965499}
>
> Cq-Include-Trybots: luci.chromium.try:chromeos-amd64-generic-rel
> Change-Id: Ia8d44c595ef4bb8bb1ab3a835138bf755e36ab54
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3428636
> Reviewed-by: Scott Violet <[email protected]>
> Reviewed-by: Ryo Hashimoto <[email protected]>
> Reviewed-by: Daniel Cheng <[email protected]>
> Commit-Queue: Thomas Anderson <[email protected]>
> Cr-Commit-Position: refs/heads/main@{#966499}

Change-Id: Ia2c78fb0bfa5ad9c067b5c49aa71013a2c48df6e
Cq-Include-Trybots: luci.chromium.try:cast_shell_linux_dbg,chromeos-amd64-generic-rel
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3450335
Reviewed-by: Scott Violet <[email protected]>
Reviewed-by: Daniel Cheng <[email protected]>
Auto-Submit: Thomas Anderson <[email protected]>
Reviewed-by: Ryo Hashimoto <[email protected]>
Commit-Queue: Ryo Hashimoto <[email protected]>
Cr-Commit-Position: refs/heads/main@{#970503}
diff --git a/ui/base/linux/linux_ui_delegate_stub.h b/ui/base/linux/linux_ui_delegate_stub.h
index 379484a3..bdd9dae8 100644
--- a/ui/base/linux/linux_ui_delegate_stub.h
+++ b/ui/base/linux/linux_ui_delegate_stub.h
@@ -19,6 +19,9 @@
 
   // LinuxUiDelegate:
   LinuxUiBackend GetBackend() const override;
+  bool ExportWindowHandle(
+      gfx::AcceleratedWidget window_id,
+      base::OnceCallback<void(std::string)> callback) override;
 };
 
 }  // namespace ui