1 // Copyright 2011 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef UI_BASE_WINDOW_OPEN_DISPOSITION_H_ 6 #define UI_BASE_WINDOW_OPEN_DISPOSITION_H_ 7 8 #include "ui/base/ui_base_export.h" 9 10 // A Java counterpart will be generated for this enum. 11 // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.ui 12 enum WindowOpenDisposition { 13 UNKNOWN, 14 SUPPRESS_OPEN, 15 CURRENT_TAB, 16 // Indicates that only one tab with the url should exist in the same window. 17 SINGLETON_TAB, 18 NEW_FOREGROUND_TAB, 19 NEW_BACKGROUND_TAB, 20 NEW_POPUP, 21 NEW_WINDOW, 22 SAVE_TO_DISK, 23 OFF_THE_RECORD, 24 IGNORE_ACTION, 25 // Update when adding a new disposition. 26 WINDOW_OPEN_DISPOSITION_LAST = IGNORE_ACTION 27 }; 28 29 namespace ui { 30 31 // Translates event flags from a click on a link into the user's desired 32 // window disposition. For example, a middle click would mean to open 33 // a background tab. 34 UI_BASE_EXPORT WindowOpenDisposition DispositionFromClick(bool middle_button, 35 bool alt_key, 36 bool ctrl_key, 37 bool meta_key, 38 bool shift_key); 39 40 // Translates event flags into what kind of disposition they represents. 41 // For example, a middle click would mean to open a background tab. 42 // event_flags are the flags as understood by ui::MouseEvent. 43 UI_BASE_EXPORT WindowOpenDisposition DispositionFromEventFlags(int event_flags); 44 45 } // namespace ui 46 47 #endif // UI_BASE_WINDOW_OPEN_DISPOSITION_H_ 48