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

Unified Diff: webkit/tools/test_shell/mock_webclipboard_impl.cc

Issue 8775025: Add glue for supporting custom MIME types in DataTransfer. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 9 years, 1 month 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
Index: webkit/tools/test_shell/mock_webclipboard_impl.cc
diff --git a/webkit/tools/test_shell/mock_webclipboard_impl.cc b/webkit/tools/test_shell/mock_webclipboard_impl.cc
index 6ca4feb44fc73a280623bc41f64f231b5e9ed7f9..086912dad232a61481effecc27428620a8231154 100644
--- a/webkit/tools/test_shell/mock_webclipboard_impl.cc
+++ b/webkit/tools/test_shell/mock_webclipboard_impl.cc
@@ -4,6 +4,8 @@
#include "webkit/tools/test_shell/mock_webclipboard_impl.h"
+#include <algorithm>
+
#include "base/logging.h"
#include "base/stl_util.h"
#include "base/string_util.h"
@@ -21,6 +23,7 @@
#include <CoreFoundation/CoreFoundation.h>
#endif
+using WebKit::WebDragData;
using WebKit::WebString;
using WebKit::WebURL;
using WebKit::WebVector;
@@ -75,6 +78,11 @@ WebVector<WebString> MockWebClipboardImpl::readAvailableTypes(
if (!m_image.isNull()) {
results.push_back(WebString("image/png"));
}
+ for (size_t i = 0; i < m_customData.size(); ++i) {
+ CHECK(std::find(results.begin(), results.end(), m_customData[i].m_type) ==
+ results.end());
+ results.push_back(m_customData[i].m_type);
+ }
return results;
}
@@ -124,12 +132,24 @@ WebKit::WebData MockWebClipboardImpl::readImage(
return data;
}
+WebKit::WebString MockWebClipboardImpl::readCustomData(
+ WebKit::WebClipboard::Buffer buffer,
+ const WebKit::WebString& type) {
+ for (size_t i = 0; i < m_customData.size(); ++i) {
+ if (m_customData[i].m_type == type) {
+ return m_customData[i].m_data;
+ }
+ }
+ return WebKit::WebString();
+}
+
void MockWebClipboardImpl::writeHTML(
const WebKit::WebString& htmlText, const WebKit::WebURL& url,
const WebKit::WebString& plainText, bool writeSmartPaste) {
m_htmlText = htmlText;
m_plainText = plainText;
m_image.reset();
+ m_customData = WebVector<WebDragData::CustomData>();
m_writeSmartPaste = writeSmartPaste;
}
@@ -137,6 +157,7 @@ void MockWebClipboardImpl::writePlainText(const WebKit::WebString& plain_text) {
m_htmlText = WebKit::WebString();
m_plainText = plain_text;
m_image.reset();
+ m_customData = WebVector<WebDragData::CustomData>();
m_writeSmartPaste = false;
}
@@ -146,6 +167,7 @@ void MockWebClipboardImpl::writeURL(
webkit_glue::WebClipboardImpl::URLToMarkup(url, title));
m_plainText = url.spec().utf16();
m_image.reset();
+ m_customData = WebVector<WebDragData::CustomData>();
m_writeSmartPaste = false;
}
@@ -156,6 +178,7 @@ void MockWebClipboardImpl::writeImage(const WebKit::WebImage& image,
webkit_glue::WebClipboardImpl::URLToImageMarkup(url, title));
m_plainText = m_htmlText;
m_image = image;
+ m_customData = WebVector<WebDragData::CustomData>();
m_writeSmartPaste = false;
}
}
@@ -164,5 +187,6 @@ void MockWebClipboardImpl::writeDataObject(const WebKit::WebDragData& data) {
m_htmlText = data.htmlText();
m_plainText = data.plainText();
m_image.reset();
+ m_customData = data.customData();
m_writeSmartPaste = false;
}

Powered by Google App Engine
This is Rietveld 408576698