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

Side by Side Diff: ui/base/clipboard/clipboard.h

Issue 12313009: Add UMA statistics to the clipboard (Closed) Base URL: http://git.chromium.org/chromium/src.git@bug-177140-fix-test
Patch Set: Remove unnecessary READ_* values Created 7 years, 9 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
« no previous file with comments | « content/browser/browser_context.cc ('k') | ui/base/clipboard/clipboard.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 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 UI_BASE_CLIPBOARD_CLIPBOARD_H_ 5 #ifndef UI_BASE_CLIPBOARD_CLIPBOARD_H_
6 #define UI_BASE_CLIPBOARD_CLIPBOARD_H_ 6 #define UI_BASE_CLIPBOARD_CLIPBOARD_H_
7 7
8 #include <map> 8 #include <map>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
166 // size gfx::Size struct 166 // size gfx::Size struct
167 // CBF_DATA format char array 167 // CBF_DATA format char array
168 // data byte array 168 // data byte array
169 typedef std::vector<char> ObjectMapParam; 169 typedef std::vector<char> ObjectMapParam;
170 typedef std::vector<ObjectMapParam> ObjectMapParams; 170 typedef std::vector<ObjectMapParam> ObjectMapParams;
171 typedef std::map<int /* ObjectType */, ObjectMapParams> ObjectMap; 171 typedef std::map<int /* ObjectType */, ObjectMapParams> ObjectMap;
172 172
173 // WriteObject() caller can use the SourceTag that will be stored in the 173 // WriteObject() caller can use the SourceTag that will be stored in the
174 // clipboard. NULL value means "no tag". 174 // clipboard. NULL value means "no tag".
175 typedef void* SourceTag; 175 typedef void* SourceTag;
176 // kInvalidSourceTag is not NULL but a special value != any pointer.
177 static const SourceTag kInvalidSourceTag;
176 static ObjectMapParam SourceTag2Binary(SourceTag tag); 178 static ObjectMapParam SourceTag2Binary(SourceTag tag);
177 static SourceTag Binary2SourceTag(const std::string& serialization); 179 static SourceTag Binary2SourceTag(const std::string& serialization);
178 180
179 // Buffer designates which clipboard the action should be applied to. 181 // Buffer designates which clipboard the action should be applied to.
180 // Only platforms that use the X Window System support the selection 182 // Only platforms that use the X Window System support the selection
181 // buffer. 183 // buffer.
182 enum Buffer { 184 enum Buffer {
183 BUFFER_STANDARD, 185 BUFFER_STANDARD,
184 BUFFER_SELECTION, 186 BUFFER_SELECTION,
185 }; 187 };
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
348 350
349 void WriteWebSmartPaste(); 351 void WriteWebSmartPaste();
350 352
351 void WriteBitmap(const char* pixel_data, const char* size_data); 353 void WriteBitmap(const char* pixel_data, const char* size_data);
352 354
353 void WriteData(const FormatType& format, 355 void WriteData(const FormatType& format,
354 const char* data_data, 356 const char* data_data,
355 size_t data_len); 357 size_t data_len);
356 358
357 void WriteSourceTag(SourceTag tag); 359 void WriteSourceTag(SourceTag tag);
360
361 enum TrackedAction {
362 WRITE_CLIPBOARD_NO_SOURCE_TAG,
363 WRITE_CLIPBOARD_SOURCE_TAG,
364 READ_TEXT,
365 MAX_TRACKED_ACTION,
366 };
367
368 void ReportAction(Buffer buffer, TrackedAction action) const;
358 #if defined(OS_WIN) 369 #if defined(OS_WIN)
359 void WriteBitmapFromHandle(HBITMAP source_hbitmap, 370 void WriteBitmapFromHandle(HBITMAP source_hbitmap,
360 const gfx::Size& size); 371 const gfx::Size& size);
361 372
362 // Safely write to system clipboard. Free |handle| on failure. 373 // Safely write to system clipboard. Free |handle| on failure.
363 void WriteToClipboard(unsigned int format, HANDLE handle); 374 void WriteToClipboard(unsigned int format, HANDLE handle);
364 375
365 static void ParseBookmarkClipboardFormat(const string16& bookmark, 376 static void ParseBookmarkClipboardFormat(const string16& bookmark,
366 string16* title, 377 string16* title,
367 std::string* url); 378 std::string* url);
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
418 scoped_ptr<AuraX11Details> aurax11_details_; 429 scoped_ptr<AuraX11Details> aurax11_details_;
419 #endif 430 #endif
420 base::Callback<void(Buffer)> write_objects_callback_; 431 base::Callback<void(Buffer)> write_objects_callback_;
421 432
422 DISALLOW_COPY_AND_ASSIGN(Clipboard); 433 DISALLOW_COPY_AND_ASSIGN(Clipboard);
423 }; 434 };
424 435
425 } // namespace ui 436 } // namespace ui
426 437
427 #endif // UI_BASE_CLIPBOARD_CLIPBOARD_H_ 438 #endif // UI_BASE_CLIPBOARD_CLIPBOARD_H_
OLDNEW
« no previous file with comments | « content/browser/browser_context.cc ('k') | ui/base/clipboard/clipboard.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698