| // Copyright 2011 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| module ui.mojom; |
| |
| // TODO(rockot/ben): This definitely seems like the wrong layer for a |
| // "window open disposition" concept. It's here to support existing uses of |
| // ui::WindowOpenDisposition. |
| // |
| // This maps to WindowOpenDisposition in //ui/base/window_open_disposition.h. |
| enum WindowOpenDisposition { |
| UNKNOWN, |
| CURRENT_TAB, |
| // Indicates that only one tab with the url should exist in the same window. |
| SINGLETON_TAB, |
| NEW_FOREGROUND_TAB, |
| NEW_BACKGROUND_TAB, |
| NEW_POPUP, |
| NEW_WINDOW, |
| SAVE_TO_DISK, |
| OFF_THE_RECORD, |
| IGNORE_ACTION, |
| // Activates an existing tab containing the url, rather than navigating. |
| // This is similar to SINGLETON_TAB, but searches across all windows from |
| // the current profile and anonymity (instead of just the current one); |
| // closes the current tab on switching if the current tab was the NTP with |
| // no session history; and behaves like CURRENT_TAB instead of |
| // NEW_FOREGROUND_TAB when no existing tab is found. |
| SWITCH_TO_TAB, |
| // Creates a new document picture-in-picture window showing a child WebView. |
| NEW_PICTURE_IN_PICTURE, |
| // Opens a link in a split view alongside the current tab. |
| NEW_SPLIT_VIEW, |
| }; |
| |
| // Click information needed to determine user's desired window disposition using |
| // ui::DispositionFromClick(). |
| struct ClickModifiers { |
| bool middle_button; |
| bool alt_key; |
| bool ctrl_key; |
| bool meta_key; |
| bool shift_key; |
| }; |