Home | History | Annotate | Download | only in base
      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