Drop Mohnstrudel tabs into new window when possible
Ash's DragDropController is modified to specially handle drags from the
WebUI tab strip when a flag is enabled. Dropping a tab over an area that
doesn't support accepting the drop will open a new window with only that
tab.
Bug: 1069869
Change-Id: I9ee06a497f8557a3c8e0defff10c8edc1993514c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2130812
Reviewed-by: John Lee <[email protected]>
Reviewed-by: Mitsuru Oshima <[email protected]>
Reviewed-by: Xiaoqian Dai <[email protected]>
Commit-Queue: Collin Baker <[email protected]>
Cr-Commit-Position: refs/heads/master@{#758922}
diff --git a/ash/shell_delegate.h b/ash/shell_delegate.h
index ed68090e..ea8413f 100644
--- a/ash/shell_delegate.h
+++ b/ash/shell_delegate.h
@@ -23,6 +23,10 @@
class Window;
}
+namespace ui {
+class OSExchangeData;
+}
+
namespace ash {
class AccessibilityDelegate;
@@ -54,6 +58,9 @@
// Check whether the current tab of the browser window can go back.
virtual bool CanGoBack(gfx::NativeWindow window) const = 0;
+ virtual bool CreateBrowserForTabDrop(gfx::NativeWindow source_window,
+ const ui::OSExchangeData& drop_data);
+
// Binds a BluetoothSystemFactory receiver if possible.
virtual void BindBluetoothSystemFactory(
mojo::PendingReceiver<device::mojom::BluetoothSystemFactory> receiver) {}