blob: f87f9769194c6d3bbf7c6a31419166690d914060 [file] [log] [blame]
// Copyright 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef UI_BASE_WINDOW_OPEN_DISPOSITION_H_
#define UI_BASE_WINDOW_OPEN_DISPOSITION_H_
#include "ui/base/ui_base_export.h"
// DEPRECATED: Instead of introducing new references to this enum, use
// the generated ui::mojom::WindowOpenDisposition in
// ui/base/mojo/window_open_disposition.mojom.h.
enum class 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,
// Update when adding a new disposition.
MAX_VALUE = IGNORE_ACTION
};
namespace ui {
// Translates event flags from a click on a link into the user's desired
// window disposition. For example, a middle click would mean to open
// a background tab.
UI_BASE_EXPORT WindowOpenDisposition DispositionFromClick(bool middle_button,
bool alt_key,
bool ctrl_key,
bool meta_key,
bool shift_key);
// Translates event flags into what kind of disposition they represents.
// For example, a middle click would mean to open a background tab.
// event_flags are the flags as understood by ui::MouseEvent.
UI_BASE_EXPORT WindowOpenDisposition DispositionFromEventFlags(int event_flags);
} // namespace ui
#endif // UI_BASE_WINDOW_OPEN_DISPOSITION_H_