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

Unified Diff: ui/base/clipboard/clipboard_android.cc

Issue 12041078: Clear the clipboard closing Incognito window (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Merge and compilation fixes Created 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/base/clipboard/clipboard.cc ('k') | ui/base/clipboard/clipboard_aurax11.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/base/clipboard/clipboard_android.cc
diff --git a/ui/base/clipboard/clipboard_android.cc b/ui/base/clipboard/clipboard_android.cc
index b3df9742fe0d4d445b63664b836533e263515179..e972a3a71e3bb94af4aec824a6213bfc0e2afe9d 100644
--- a/ui/base/clipboard/clipboard_android.cc
+++ b/ui/base/clipboard/clipboard_android.cc
@@ -40,6 +40,7 @@ const char kWebKitSmartPasteFormat[] = "webkit_smart";
const char kBookmarkFormat[] = "bookmark";
const char kMimeTypePepperCustomData[] = "chromium/x-pepper-custom-data";
const char kMimeTypeWebCustomData[] = "chromium/x-web-custom-data";
+const char kSourceTagFormat[] = "source_tag";
class ClipboardMap {
public:
@@ -198,13 +199,16 @@ Clipboard::~Clipboard() {
}
// Main entry point used to write several values in the clipboard.
-void Clipboard::WriteObjects(Buffer buffer, const ObjectMap& objects) {
+void Clipboard::WriteObjectsImpl(Buffer buffer,
+ const ObjectMap& objects,
+ SourceTag tag) {
DCHECK_EQ(buffer, BUFFER_STANDARD);
g_map.Get().Clear();
for (ObjectMap::const_iterator iter = objects.begin();
iter != objects.end(); ++iter) {
DispatchObject(static_cast<ObjectType>(iter->first), iter->second);
}
+ WriteSourceTag(tag);
}
uint64 Clipboard::GetSequenceNumber(Clipboard::Buffer /* buffer */) {
@@ -310,6 +314,13 @@ void Clipboard::ReadData(const Clipboard::FormatType& format,
*result = g_map.Get().Get(format.data());
}
+Clipboard::SourceTag Clipboard::ReadSourceTag(Buffer buffer) const {
+ DCHECK_EQ(buffer, BUFFER_STANDARD);
+ std::string result;
+ ReadData(GetSourceTagFormatType(), &result);
+ return Binary2SourceTag(result);
+}
+
// static
Clipboard::FormatType Clipboard::GetFormatType(
const std::string& format_string) {
@@ -364,6 +375,12 @@ const Clipboard::FormatType& Clipboard::GetPepperCustomDataFormatType() {
return type;
}
+// static
+const Clipboard::FormatType& Clipboard::GetSourceTagFormatType() {
+ CR_DEFINE_STATIC_LOCAL(FormatType, type, (kSourceTagFormat));
+ return type;
+}
+
void Clipboard::WriteText(const char* text_data, size_t text_len) {
g_map.Get().Set(kPlainTextFormat, std::string(text_data, text_len));
}
@@ -410,4 +427,11 @@ void Clipboard::WriteData(const Clipboard::FormatType& format,
g_map.Get().Set(format.data(), std::string(data_data, data_len));
}
+void Clipboard::WriteSourceTag(SourceTag tag) {
+ if (tag != SourceTag()) {
+ ObjectMapParam binary = SourceTag2Binary(tag);
+ WriteData(GetSourceTagFormatType(), &binary[0], binary.size());
+ }
+}
+
} // namespace ui
« no previous file with comments | « ui/base/clipboard/clipboard.cc ('k') | ui/base/clipboard/clipboard_aurax11.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698