blob: d4a891ed27969c354c34bdacb69778eae3dbf8c4 [file] [edit]
// 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;
};