Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6)

Side by Side Diff: components/open_from_clipboard/clipboard_recent_content_ios.h

Issue 930323003: Upstream iOS' Open from Clipboard component. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 2014 => 2015 Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2015 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 COMPONENTS_OPEN_FROM_CLIPBOARD_CLIPBOARD_RECENT_CONTENT_IOS_H_
6 #define COMPONENTS_OPEN_FROM_CLIPBOARD_CLIPBOARD_RECENT_CONTENT_IOS_H_
7
8 #include "base/mac/scoped_nsobject.h"
9 #include "components/open_from_clipboard/clipboard_recent_content.h"
10 #include "url/gurl.h"
11
12 @class NSDate;
13 @class PasteboardNotificationListenerBridge;
14
15 template <typename T>
16 struct DefaultSingletonTraits;
17
18 // IOS implementation of ClipboardRecentContent
19 class ClipboardRecentContentIOS : public ClipboardRecentContent {
20 public:
21 static ClipboardRecentContentIOS* GetInstance();
22 // Notifies that the content of the pasteboard may have changed.
23 void PasteboardChanged();
24
25 // ClipboardRecentContent implementation.
26 bool GetRecentURLFromClipboard(GURL* url) const override;
27
28 private:
29 friend struct DefaultSingletonTraits<ClipboardRecentContentIOS>;
30
31 ClipboardRecentContentIOS();
32 ~ClipboardRecentContentIOS() override;
33 // Loads information from the user defaults about the latest clipboard entry.
34 void LoadFromUserDefaults();
35 // Saves information to the user defaults about the latest clipboard entry.
36 void SaveToUserDefaults();
37 // Returns the URL contained in the clipboard (if any).
38 GURL URLFromPasteboard();
39
40 // The pasteboard's change count. Increases everytime the pasteboard changes.
41 NSInteger lastPasteboardChangeCount_;
42 // Estimation of the date when the pasteboard changed.
43 base::scoped_nsobject<NSDate> lastPasteboardChangeDate_;
44 // Cache of the GURL contained in the pasteboard (if any).
45 GURL urlFromPasteboardCache_;
46 // Bridge to receive notification when the pasteboard changes.
47 base::scoped_nsobject<PasteboardNotificationListenerBridge>
48 notificationBridge_;
49
50 DISALLOW_COPY_AND_ASSIGN(ClipboardRecentContentIOS);
51 };
52
53 #endif // COMPONENTS_OPEN_FROM_CLIPBOARD_CLIPBOARD_RECENT_CONTENT_IOS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698