blob: f55afc232c46a004585308839e303f96e3c54142 [file] [log] [blame]
// Copyright 2017 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_COCOA_TOUCH_BAR_UTIL_H
#define UI_BASE_COCOA_TOUCH_BAR_UTIL_H
#import <Cocoa/Cocoa.h>
#include "base/mac/availability.h"
#include "ui/base/ui_base_export.h"
namespace ui {
// The touch bar actions that are being recorded in a histogram. These values
// should not be re-ordered or removed.
enum TouchBarAction {
BACK = 0,
FORWARD,
STOP,
RELOAD,
HOME,
SEARCH,
STAR,
NEW_TAB,
CREDIT_CARD_AUTOFILL,
TEXT_SUGGESTION,
TOUCH_BAR_ACTION_COUNT
};
// Logs the sample's UMA metrics into the DefaultTouchBar.Metrics histogram.
UI_BASE_EXPORT void LogTouchBarUMA(TouchBarAction command);
// Returns the NSTouchBar Class.
UI_BASE_EXPORT Class NSTouchBar();
// Returns the NSCustomTouchBarItem Class.
UI_BASE_EXPORT Class NSCustomTouchBarItem();
// Returns the NSGroupTouchBarItem Class.
UI_BASE_EXPORT Class NSGroupTouchBarItem();
// Returns a stylized blue button for the touch bar. The button performs
// |action| from the |target|.
API_AVAILABLE(macosx(10.12.2))
UI_BASE_EXPORT NSButton* GetBlueTouchBarButton(NSString* title,
id target,
SEL action);
// Creates a touch bar identifier with the given |id|.
UI_BASE_EXPORT NSString* GetTouchBarId(NSString* touch_bar_id);
// Creates a touch Bar jtem identifier.
UI_BASE_EXPORT NSString* GetTouchBarItemId(NSString* touch_bar_id,
NSString* item_id);
} // namespace ui
#endif // UI_BASE_COCOA_TOUCH_BAR_UTIL_H