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

Side by Side Diff: extensions/browser/api/clipboard/clipboard_api.h

Issue 2837983002: Modify SetImageData to add additional items along with image data to save on clipboard. (Closed)
Patch Set: Nits and rebase. Created 3 years, 7 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
1 // Copyright (c) 2016 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef EXTENSIONS_BROWSER_API_CLIPBOARD_CLIPBOARD_API_H_ 5 #ifndef EXTENSIONS_BROWSER_API_CLIPBOARD_CLIPBOARD_API_H_
6 #define EXTENSIONS_BROWSER_API_CLIPBOARD_CLIPBOARD_API_H_ 6 #define EXTENSIONS_BROWSER_API_CLIPBOARD_CLIPBOARD_API_H_
7 7
8 #include <vector>
9
8 #include "extensions/browser/browser_context_keyed_api_factory.h" 10 #include "extensions/browser/browser_context_keyed_api_factory.h"
9 #include "extensions/browser/extension_function.h" 11 #include "extensions/browser/extension_function.h"
10 #include "extensions/common/api/clipboard.h" 12 #include "extensions/common/api/clipboard.h"
11 #include "ui/base/clipboard/clipboard_observer.h" 13 #include "ui/base/clipboard/clipboard_observer.h"
12 14
13 namespace extensions { 15 namespace extensions {
14 16
17 using AdditionalDataItemList = std::vector<api::clipboard::AdditionalDataItem>;
18
15 class ClipboardAPI : public BrowserContextKeyedAPI, 19 class ClipboardAPI : public BrowserContextKeyedAPI,
16 public ui::ClipboardObserver { 20 public ui::ClipboardObserver {
17 public: 21 public:
18 explicit ClipboardAPI(content::BrowserContext* context); 22 explicit ClipboardAPI(content::BrowserContext* context);
19 ~ClipboardAPI() override; 23 ~ClipboardAPI() override;
20 24
21 // BrowserContextKeyedAPI implementation. 25 // BrowserContextKeyedAPI implementation.
22 static BrowserContextKeyedAPIFactory<ClipboardAPI>* GetFactoryInstance(); 26 static BrowserContextKeyedAPIFactory<ClipboardAPI>* GetFactoryInstance();
23 27
24 // ui::ClipboardObserver implementation. 28 // ui::ClipboardObserver implementation.
(...skipping 11 matching lines...) Expand all
36 class ClipboardSetImageDataFunction : public UIThreadExtensionFunction { 40 class ClipboardSetImageDataFunction : public UIThreadExtensionFunction {
37 public: 41 public:
38 DECLARE_EXTENSION_FUNCTION("clipboard.setImageData", CLIPBOARD_SETIMAGEDATA); 42 DECLARE_EXTENSION_FUNCTION("clipboard.setImageData", CLIPBOARD_SETIMAGEDATA);
39 43
40 protected: 44 protected:
41 ~ClipboardSetImageDataFunction() override; 45 ~ClipboardSetImageDataFunction() override;
42 ResponseAction Run() override; 46 ResponseAction Run() override;
43 47
44 void OnSaveImageDataSuccess(); 48 void OnSaveImageDataSuccess();
45 void OnSaveImageDataError(const std::string& error); 49 void OnSaveImageDataError(const std::string& error);
50
51 private:
52 bool IsAdditionalItemsParamValid(const AdditionalDataItemList& items);
46 }; 53 };
47 54
48 } // namespace extensions 55 } // namespace extensions
49 56
50 #endif // EXTENSIONS_BROWSER_API_CLIPBOARD_CLIPBOARD_API_H_ 57 #endif // EXTENSIONS_BROWSER_API_CLIPBOARD_CLIPBOARD_API_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698