Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / ui / base / cocoa / find_pasteboard.h
blob863b398a9ceec6056d8415bb1971f425726cf5f7
1 // Copyright (c) 2012 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.
5 #ifndef UI_BASE_COCOA_FIND_PASTEBOARD_H_
6 #define UI_BASE_COCOA_FIND_PASTEBOARD_H_
8 #include "base/strings/string16.h"
10 #ifdef __OBJC__
12 #import <Cocoa/Cocoa.h>
14 #include "base/mac/scoped_nsobject.h"
15 #include "ui/base/ui_base_export.h"
17 UI_BASE_EXPORT extern NSString* kFindPasteboardChangedNotification;
19 // Manages the find pasteboard. Use this to copy text to the find pasteboard,
20 // to get the text currently on the find pasteboard, and to receive
21 // notifications when the text on the find pasteboard has changed. You should
22 // always use this class instead of accessing
23 // [NSPasteboard pasteboardWithName:NSFindPboard] directly.
25 // This is not thread-safe and must be used on the main thread.
27 // This is supposed to be a singleton.
28 UI_BASE_EXPORT
29 @interface FindPasteboard : NSObject {
30 @private
31 base::scoped_nsobject<NSString> findText_;
34 // Returns the singleton instance of this class.
35 + (FindPasteboard*)sharedInstance;
37 // Returns the current find text. This is never nil; if there is no text on the
38 // find pasteboard, this returns an empty string.
39 - (NSString*)findText;
41 // Sets the current find text to |newText| and sends a
42 // |kFindPasteboardChangedNotification| to the default notification center if
43 // it the new text different from the current text. |newText| must not be nil.
44 - (void)setFindText:(NSString*)newText;
45 @end
47 @interface FindPasteboard (TestingAPI)
48 - (void)loadTextFromPasteboard:(NSNotification*)notification;
50 // This methods is meant to be overridden in tests.
51 - (NSPasteboard*)findPboard;
52 @end
54 #endif // __OBJC__
56 // Also provide a c++ interface
57 UI_BASE_EXPORT base::string16 GetFindPboardText();
59 #endif // UI_BASE_COCOA_FIND_PASTEBOARD_H_