Diff
Modified: trunk/LayoutTests/ChangeLog (109175 => 109176)
--- trunk/LayoutTests/ChangeLog 2012-02-29 01:28:06 UTC (rev 109175)
+++ trunk/LayoutTests/ChangeLog 2012-02-29 01:31:55 UTC (rev 109176)
@@ -1,3 +1,16 @@
+2012-02-28 Daniel Cheng <[email protected]>
+
+ Clipboard::getData should return an empty string instead of undefined
+ https://bugs.webkit.org/show_bug.cgi?id=79712
+
+ Reviewed by Tony Chang.
+
+ * fast/events/dataTransfer-getData-returns-empty-string-expected.txt: Added.
+ * fast/events/dataTransfer-getData-returns-empty-string.html: Added.
+ * http/tests/local/drag-over-remote-content-expected.txt:
+ * http/tests/security/drag-over-remote-content-iframe-expected.txt:
+ * http/tests/security/drag-over-remote-content-iframe.html:
+
2012-02-28 Adam Klein <[email protected]>
Unreviewed gardening, mark another compositing test as flaky.
Modified: trunk/LayoutTests/http/tests/local/drag-over-remote-content-expected.txt (109175 => 109176)
--- trunk/LayoutTests/http/tests/local/drag-over-remote-content-expected.txt 2012-02-29 01:28:06 UTC (rev 109175)
+++ trunk/LayoutTests/http/tests/local/drag-over-remote-content-expected.txt 2012-02-29 01:31:55 UTC (rev 109176)
@@ -7,5 +7,5 @@
To test, drag Abe's image into this light blue div.
-PASS: ondragover saw a URL of 'undefined'
+PASS: ondragover saw a URL of ''
Modified: trunk/LayoutTests/http/tests/security/drag-over-remote-content-iframe-expected.txt (109175 => 109176)
--- trunk/LayoutTests/http/tests/security/drag-over-remote-content-iframe-expected.txt 2012-02-29 01:28:06 UTC (rev 109175)
+++ trunk/LayoutTests/http/tests/security/drag-over-remote-content-iframe-expected.txt 2012-02-29 01:31:55 UTC (rev 109176)
@@ -4,5 +4,5 @@
To test, drag Abe's image into this light blue div.
-PASS: ondragover saw a URL of 'undefined'
+PASS: ondragover saw a URL of ''
Modified: trunk/LayoutTests/http/tests/security/drag-over-remote-content-iframe.html (109175 => 109176)
--- trunk/LayoutTests/http/tests/security/drag-over-remote-content-iframe.html 2012-02-29 01:28:06 UTC (rev 109175)
+++ trunk/LayoutTests/http/tests/security/drag-over-remote-content-iframe.html 2012-02-29 01:31:55 UTC (rev 109176)
@@ -17,8 +17,8 @@
dragTarget._ondragover_ = function() {
var url = ""
- var result = url ="" undefined
- ? "PASS: ondragover saw a URL of 'undefined'"
+ var result = url ="" ''
+ ? "PASS: ondragover saw a URL of ''"
: "FAIL: ondragover saw a URL of '" + url + "'";
log(result);
event.preventDefault();
Modified: trunk/Source/WebCore/ChangeLog (109175 => 109176)
--- trunk/Source/WebCore/ChangeLog 2012-02-29 01:28:06 UTC (rev 109175)
+++ trunk/Source/WebCore/ChangeLog 2012-02-29 01:31:55 UTC (rev 109176)
@@ -1,3 +1,61 @@
+2012-02-28 Daniel Cheng <[email protected]>
+
+ Clipboard::getData should return an empty string instead of undefined
+ https://bugs.webkit.org/show_bug.cgi?id=79712
+
+ Reviewed by Tony Chang.
+
+ Per the spec, an empty string should be returned when there is no data for the given typestring.
+
+ Test: fast/events/dataTransfer-getData-returns-empty-string.html
+
+ * bindings/js/JSClipboardCustom.cpp:
+ * bindings/v8/custom/V8ClipboardCustom.cpp:
+ * dom/Clipboard.h:
+ (Clipboard):
+ * dom/Clipboard.idl:
+ * platform/blackberry/ClipboardBlackBerry.cpp:
+ (WebCore::ClipboardBlackBerry::getData):
+ * platform/blackberry/ClipboardBlackBerry.h:
+ (ClipboardBlackBerry):
+ * platform/chromium/ClipboardChromium.cpp:
+ (WebCore::ClipboardChromium::getData):
+ * platform/chromium/ClipboardChromium.h:
+ (ClipboardChromium):
+ * platform/efl/ClipboardEfl.cpp:
+ (WebCore::ClipboardEfl::getData):
+ * platform/efl/ClipboardEfl.h:
+ (ClipboardEfl):
+ * platform/gtk/ClipboardGtk.cpp:
+ (WebCore::ClipboardGtk::getData):
+ * platform/gtk/ClipboardGtk.h:
+ (ClipboardGtk):
+ * platform/mac/ClipboardMac.h:
+ (ClipboardMac):
+ * platform/mac/ClipboardMac.mm:
+ (WebCore::ClipboardMac::getData):
+ * platform/qt/ClipboardQt.cpp:
+ (WebCore::ClipboardQt::getData):
+ * platform/qt/ClipboardQt.h:
+ (ClipboardQt):
+ * platform/win/ClipboardUtilitiesWin.cpp:
+ (WebCore::getFullCFHTML):
+ (WebCore::getURL):
+ (WebCore::getPlainText):
+ (WebCore::getTextHTML):
+ (WebCore::getCFHTML):
+ (WebCore::fragmentFromHTML):
+ * platform/win/ClipboardUtilitiesWin.h:
+ (WebCore):
+ * platform/win/ClipboardWin.cpp:
+ (WebCore::ClipboardWin::getData):
+ * platform/win/ClipboardWin.h:
+ (ClipboardWin):
+ * platform/wx/ClipboardWx.cpp:
+ (WebCore::ClipboardWx::getData):
+ * platform/wx/ClipboardWx.h:
+ (ClipboardWx):
+
2012-02-28 Kenichi Ishibashi <[email protected]>
[Chromium] Uninitialized value in LocaleToScriptCodeForFontSelection
Modified: trunk/Source/WebCore/bindings/js/JSClipboardCustom.cpp (109175 => 109176)
--- trunk/Source/WebCore/bindings/js/JSClipboardCustom.cpp 2012-02-29 01:28:06 UTC (rev 109175)
+++ trunk/Source/WebCore/bindings/js/JSClipboardCustom.cpp 2012-02-29 01:31:55 UTC (rev 109176)
@@ -66,22 +66,6 @@
return throwError(exec, createSyntaxError(exec, "clearData: Invalid number of arguments"));
}
-JSValue JSClipboard::getData(ExecState* exec)
-{
- // FIXME: It does not match the rest of the JS bindings to throw on invalid number of arguments.
- if (exec->argumentCount() != 1)
- return throwError(exec, createSyntaxError(exec, "getData: Invalid number of arguments"));
-
- Clipboard* clipboard = impl();
-
- bool success;
- String result = clipboard->getData(ustringToString(exec->argument(0).toString(exec)->value(exec)), success);
- if (!success)
- return jsUndefined();
-
- return jsString(exec, result);
-}
-
JSValue JSClipboard::setDragImage(ExecState* exec)
{
Clipboard* clipboard = impl();
Modified: trunk/Source/WebCore/bindings/v8/custom/V8ClipboardCustom.cpp (109175 => 109176)
--- trunk/Source/WebCore/bindings/v8/custom/V8ClipboardCustom.cpp 2012-02-29 01:28:06 UTC (rev 109175)
+++ trunk/Source/WebCore/bindings/v8/custom/V8ClipboardCustom.cpp 2012-02-29 01:31:55 UTC (rev 109176)
@@ -62,22 +62,6 @@
return v8::Undefined();
}
-v8::Handle<v8::Value> V8Clipboard::getDataCallback(const v8::Arguments& args)
-{
- INC_STATS("DOM.Clipboard.getData()");
- Clipboard* clipboard = V8Clipboard::toNative(args.Holder());
-
- if (args.Length() != 1)
- return throwError("getData: Invalid number of arguments", V8Proxy::SyntaxError);
-
- bool success;
- String result = clipboard->getData(toWebCoreString(args[0]), success);
- if (success)
- return v8String(result);
-
- return v8::Undefined();
-}
-
v8::Handle<v8::Value> V8Clipboard::setDragImageCallback(const v8::Arguments& args)
{
INC_STATS("DOM.Clipboard.setDragImage()");
Modified: trunk/Source/WebCore/dom/Clipboard.h (109175 => 109176)
--- trunk/Source/WebCore/dom/Clipboard.h 2012-02-29 01:28:06 UTC (rev 109175)
+++ trunk/Source/WebCore/dom/Clipboard.h 2012-02-29 01:31:55 UTC (rev 109176)
@@ -63,7 +63,7 @@
virtual void clearData(const String& type) = 0;
virtual void clearAllData() = 0;
- virtual String getData(const String& type, bool& success) const = 0;
+ virtual String getData(const String& type) const = 0;
virtual bool setData(const String& type, const String& data) = 0;
// extensions beyond IE's API
Modified: trunk/Source/WebCore/dom/Clipboard.idl (109175 => 109176)
--- trunk/Source/WebCore/dom/Clipboard.idl 2012-02-29 01:28:06 UTC (rev 109175)
+++ trunk/Source/WebCore/dom/Clipboard.idl 2012-02-29 01:31:55 UTC (rev 109176)
@@ -36,8 +36,7 @@
[Custom] void clearData(in [Optional] DOMString type)
raises(DOMException);
- [Custom] void getData(in DOMString type)
- raises(DOMException);
+ DOMString getData(in DOMString type);
boolean setData(in DOMString type, in DOMString data);
[Custom] void setDragImage(in HTMLImageElement image, in long x, in long y)
raises(DOMException);
Modified: trunk/Source/WebCore/platform/blackberry/ClipboardBlackBerry.cpp (109175 => 109176)
--- trunk/Source/WebCore/platform/blackberry/ClipboardBlackBerry.cpp 2012-02-29 01:28:06 UTC (rev 109175)
+++ trunk/Source/WebCore/platform/blackberry/ClipboardBlackBerry.cpp 2012-02-29 01:31:55 UTC (rev 109176)
@@ -56,9 +56,8 @@
BlackBerry::Platform::Clipboard::clearClipboard();
}
-String ClipboardBlackBerry::getData(const String& type, bool& success) const
+String ClipboardBlackBerry::getData(const String& type) const
{
- success = true;
return String::fromUTF8(BlackBerry::Platform::Clipboard::readClipboardByType(type.utf8().data()).c_str());
}
Modified: trunk/Source/WebCore/platform/blackberry/ClipboardBlackBerry.h (109175 => 109176)
--- trunk/Source/WebCore/platform/blackberry/ClipboardBlackBerry.h 2012-02-29 01:28:06 UTC (rev 109175)
+++ trunk/Source/WebCore/platform/blackberry/ClipboardBlackBerry.h 2012-02-29 01:31:55 UTC (rev 109176)
@@ -32,7 +32,7 @@
void clearData(const String& type);
void clearAllData();
- String getData(const String& type, bool& success) const;
+ String getData(const String& type) const;
bool setData(const String& type, const String& data);
// extensions beyond IE's API
Modified: trunk/Source/WebCore/platform/chromium/ClipboardChromium.cpp (109175 => 109176)
--- trunk/Source/WebCore/platform/chromium/ClipboardChromium.cpp 2012-02-29 01:28:06 UTC (rev 109175)
+++ trunk/Source/WebCore/platform/chromium/ClipboardChromium.cpp 2012-02-29 01:31:55 UTC (rev 109176)
@@ -263,16 +263,16 @@
m_dataObject->clearAll();
}
-String ClipboardChromium::getData(const String& type, bool& success) const
+String ClipboardChromium::getData(const String& type) const
{
- success = false;
+ bool ignoredSuccess = false;
if (policy() != ClipboardReadable || !m_dataObject)
return String();
if (isForCopyAndPaste() && platformClipboardChanged())
return String();
- return m_dataObject->getData(normalizeType(type), success);
+ return m_dataObject->getData(normalizeType(type), ignoredSuccess);
}
bool ClipboardChromium::setData(const String& type, const String& data)
Modified: trunk/Source/WebCore/platform/chromium/ClipboardChromium.h (109175 => 109176)
--- trunk/Source/WebCore/platform/chromium/ClipboardChromium.h 2012-02-29 01:28:06 UTC (rev 109175)
+++ trunk/Source/WebCore/platform/chromium/ClipboardChromium.h 2012-02-29 01:31:55 UTC (rev 109176)
@@ -58,7 +58,7 @@
virtual void clearData(const String& type);
void clearAllData();
- String getData(const String& type, bool& success) const;
+ String getData(const String& type) const;
bool setData(const String& type, const String& data);
bool platformClipboardChanged() const;
Modified: trunk/Source/WebCore/platform/efl/ClipboardEfl.cpp (109175 => 109176)
--- trunk/Source/WebCore/platform/efl/ClipboardEfl.cpp 2012-02-29 01:28:06 UTC (rev 109175)
+++ trunk/Source/WebCore/platform/efl/ClipboardEfl.cpp 2012-02-29 01:31:55 UTC (rev 109176)
@@ -65,10 +65,9 @@
notImplemented();
}
-String ClipboardEfl::getData(const String&, bool &success) const
+String ClipboardEfl::getData(const String&) const
{
notImplemented();
- success = false;
return String();
}
Modified: trunk/Source/WebCore/platform/efl/ClipboardEfl.h (109175 => 109176)
--- trunk/Source/WebCore/platform/efl/ClipboardEfl.h 2012-02-29 01:28:06 UTC (rev 109175)
+++ trunk/Source/WebCore/platform/efl/ClipboardEfl.h 2012-02-29 01:31:55 UTC (rev 109176)
@@ -36,7 +36,7 @@
void clearData(const String&);
void clearAllData();
- String getData(const String&, bool&) const;
+ String getData(const String&) const;
bool setData(const String&, const String&);
PassRefPtr<DOMStringList> types() const;
Modified: trunk/Source/WebCore/platform/gtk/ClipboardGtk.cpp (109175 => 109176)
--- trunk/Source/WebCore/platform/gtk/ClipboardGtk.cpp 2012-02-29 01:28:06 UTC (rev 109175)
+++ trunk/Source/WebCore/platform/gtk/ClipboardGtk.cpp 2012-02-29 01:31:55 UTC (rev 109176)
@@ -143,13 +143,8 @@
PasteboardHelper::defaultPasteboardHelper()->writeClipboardContents(m_clipboard);
}
-String ClipboardGtk::getData(const String& typeString, bool& success) const
+String ClipboardGtk::getData(const String& typeString) const
{
- success = true; // According to http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html
- // "The getData(format) method must return the data that is associated with the type format converted
- // to ASCII lowercase, if any, and must return the empty string otherwise." Since success == false
- // results in an 'undefined' return value, we always want to return success == true. This parameter
- // should eventually be removed.
if (policy() != ClipboardReadable || !m_dataObject)
return String();
Modified: trunk/Source/WebCore/platform/gtk/ClipboardGtk.h (109175 => 109176)
--- trunk/Source/WebCore/platform/gtk/ClipboardGtk.h 2012-02-29 01:28:06 UTC (rev 109175)
+++ trunk/Source/WebCore/platform/gtk/ClipboardGtk.h 2012-02-29 01:31:55 UTC (rev 109176)
@@ -54,7 +54,7 @@
void clearData(const String&);
void clearAllData();
- String getData(const String&, bool&) const;
+ String getData(const String&) const;
bool setData(const String&, const String&);
virtual PassRefPtr<DOMStringList> types() const;
Modified: trunk/Source/WebCore/platform/mac/ClipboardMac.h (109175 => 109176)
--- trunk/Source/WebCore/platform/mac/ClipboardMac.h 2012-02-29 01:28:06 UTC (rev 109175)
+++ trunk/Source/WebCore/platform/mac/ClipboardMac.h 2012-02-29 01:31:55 UTC (rev 109176)
@@ -49,7 +49,7 @@
void clearData(const String& type);
void clearAllData();
- String getData(const String& type, bool& success) const;
+ String getData(const String& type) const;
bool setData(const String& type, const String& data);
virtual bool hasData();
Modified: trunk/Source/WebCore/platform/mac/ClipboardMac.mm (109175 => 109176)
--- trunk/Source/WebCore/platform/mac/ClipboardMac.mm 2012-02-29 01:28:06 UTC (rev 109175)
+++ trunk/Source/WebCore/platform/mac/ClipboardMac.mm 2012-02-29 01:31:55 UTC (rev 109176)
@@ -212,9 +212,8 @@
return Vector<String>();
}
-String ClipboardMac::getData(const String& type, bool& success) const
+String ClipboardMac::getData(const String& type) const
{
- success = false;
if (policy() != ClipboardReadable)
return String();
@@ -236,7 +235,6 @@
// Enforce changeCount ourselves for security. We check after reading instead of before to be
// sure it doesn't change between our testing the change count and accessing the data.
if (!cocoaValue.isEmpty() && m_changeCount == platformStrategies()->pasteboardStrategy()->changeCount(m_pasteboardName)) {
- success = true;
return cocoaValue;
}
Modified: trunk/Source/WebCore/platform/qt/ClipboardQt.cpp (109175 => 109176)
--- trunk/Source/WebCore/platform/qt/ClipboardQt.cpp 2012-02-29 01:28:06 UTC (rev 109175)
+++ trunk/Source/WebCore/platform/qt/ClipboardQt.cpp 2012-02-29 01:31:55 UTC (rev 109176)
@@ -144,28 +144,21 @@
m_writableData = 0;
}
-String ClipboardQt::getData(const String& type, bool& success) const
+String ClipboardQt::getData(const String& type) const
{
- if (policy() != ClipboardReadable) {
- success = false;
+ if (policy() != ClipboardReadable)
return String();
- }
- if (isHtmlMimeType(type) && m_readableData->hasHtml()) {
- success = true;
+ if (isHtmlMimeType(type) && m_readableData->hasHtml())
return m_readableData->html();
- }
- if (isTextMimeType(type) && m_readableData->hasText()) {
- success = true;
+ if (isTextMimeType(type) && m_readableData->hasText())
return m_readableData->text();
- }
ASSERT(m_readableData);
QByteArray rawData = m_readableData->data(type);
QString data = ""
- success = !data.isEmpty();
return data;
}
Modified: trunk/Source/WebCore/platform/qt/ClipboardQt.h (109175 => 109176)
--- trunk/Source/WebCore/platform/qt/ClipboardQt.h 2012-02-29 01:28:06 UTC (rev 109175)
+++ trunk/Source/WebCore/platform/qt/ClipboardQt.h 2012-02-29 01:31:55 UTC (rev 109176)
@@ -53,7 +53,7 @@
void clearData(const String& type);
void clearAllData();
- String getData(const String& type, bool& success) const;
+ String getData(const String& type) const;
bool setData(const String& type, const String& data);
// extensions beyond IE's API
Modified: trunk/Source/WebCore/platform/win/ClipboardUtilitiesWin.cpp (109175 => 109176)
--- trunk/Source/WebCore/platform/win/ClipboardUtilitiesWin.cpp 2012-02-29 01:28:06 UTC (rev 109175)
+++ trunk/Source/WebCore/platform/win/ClipboardUtilitiesWin.cpp 2012-02-29 01:31:55 UTC (rev 109176)
@@ -208,7 +208,7 @@
return globalData;
}
-static String getFullCFHTML(IDataObject* data, bool& success)
+static String getFullCFHTML(IDataObject* data)
{
STGMEDIUM store;
if (SUCCEEDED(data->GetData(htmlFormat(), &store))) {
@@ -218,10 +218,8 @@
String cfhtml(UTF8Encoding().decode(data, dataSize));
GlobalUnlock(store.hGlobal);
ReleaseStgMedium(&store);
- success = true;
return cfhtml;
}
- success = false;
return String();
}
@@ -447,27 +445,25 @@
dataObject->SetData(fileContentFormatZero(), &medium, TRUE);
}
-String getURL(IDataObject* dataObject, DragData::FilenameConversionPolicy filenamePolicy, bool& success, String* title)
+String getURL(IDataObject* dataObject, DragData::FilenameConversionPolicy filenamePolicy, String* title)
{
STGMEDIUM store;
String url;
- success = false;
if (getWebLocData(dataObject, url, title))
- success = true;
- else if (SUCCEEDED(dataObject->GetData(urlWFormat(), &store))) {
+ return url;
+
+ if (SUCCEEDED(dataObject->GetData(urlWFormat(), &store))) {
// URL using Unicode
UChar* data = ""
url = "" title);
GlobalUnlock(store.hGlobal);
ReleaseStgMedium(&store);
- success = true;
} else if (SUCCEEDED(dataObject->GetData(urlFormat(), &store))) {
// URL using ASCII
char* data = ""
url = "" title);
GlobalUnlock(store.hGlobal);
ReleaseStgMedium(&store);
- success = true;
}
#if USE(CF)
else if (filenamePolicy == DragData::ConvertFilenames) {
@@ -476,11 +472,8 @@
wchar_t* data = ""
if (data && data[0] && (PathFileExists(data) || PathIsUNC(data))) {
RetainPtr<CFStringRef> pathAsCFString(AdoptCF, CFStringCreateWithCharacters(kCFAllocatorDefault, (const UniChar*)data, wcslen(data)));
- if (urlFromPath(pathAsCFString.get(), url)) {
- if (title)
- *title = url;
- success = true;
- }
+ if (urlFromPath(pathAsCFString.get(), url) && title)
+ *title = url;
}
GlobalUnlock(store.hGlobal);
ReleaseStgMedium(&store);
@@ -489,11 +482,8 @@
char* data = ""
if (data && data[0] && (PathFileExistsA(data) || PathIsUNCA(data))) {
RetainPtr<CFStringRef> pathAsCFString(AdoptCF, CFStringCreateWithCString(kCFAllocatorDefault, data, kCFStringEncodingASCII));
- if (urlFromPath(pathAsCFString.get(), url)) {
- if (title)
- *title = url;
- success = true;
- }
+ if (urlFromPath(pathAsCFString.get(), url) && title)
+ *title = url;
}
GlobalUnlock(store.hGlobal);
ReleaseStgMedium(&store);
@@ -530,31 +520,27 @@
return url;
}
-String getPlainText(IDataObject* dataObject, bool& success)
+String getPlainText(IDataObject* dataObject)
{
STGMEDIUM store;
String text;
- success = false;
if (SUCCEEDED(dataObject->GetData(plainTextWFormat(), &store))) {
// Unicode text
UChar* data = ""
text = String(data);
GlobalUnlock(store.hGlobal);
ReleaseStgMedium(&store);
- success = true;
} else if (SUCCEEDED(dataObject->GetData(plainTextFormat(), &store))) {
// ASCII text
char* data = ""
text = String(data);
GlobalUnlock(store.hGlobal);
ReleaseStgMedium(&store);
- success = true;
} else {
// FIXME: Originally, we called getURL() here because dragging and dropping files doesn't
// populate the drag with text data. Per https://bugs.webkit.org/show_bug.cgi?id=38826, this
// is undesirable, so maybe this line can be removed.
- text = getURL(dataObject, DragData::DoNotConvertFilenames, success);
- success = true;
+ text = getURL(dataObject, DragData::DoNotConvertFilenames);
}
return text;
}
@@ -570,17 +556,15 @@
return getURL(data, DragData::DoNotConvertFilenames);
}
-String getTextHTML(IDataObject* data, bool& success)
+String getTextHTML(IDataObject* data)
{
STGMEDIUM store;
String html;
- success = false;
if (SUCCEEDED(data->GetData(texthtmlFormat(), &store))) {
UChar* data = ""
html = String(data);
GlobalUnlock(store.hGlobal);
ReleaseStgMedium(&store);
- success = true;
}
return html;
}
@@ -592,10 +576,10 @@
return text;
}
-String getCFHTML(IDataObject* data, bool& success)
+String getCFHTML(IDataObject* data)
{
- String cfhtml = getFullCFHTML(data, success);
- if (success)
+ String cfhtml = getFullCFHTML(data);
+ if (!cfhtml.isEmpty())
return extractMarkupFromCFHTML(cfhtml);
return String();
}
@@ -655,16 +639,15 @@
if (!doc || !data)
return 0;
- bool success = false;
- String cfhtml = getFullCFHTML(data, success);
- if (success) {
+ String cfhtml = getFullCFHTML(data);
+ if (!cfhtml.isEmpty()) {
if (RefPtr<DocumentFragment> fragment = fragmentFromCFHTML(doc, cfhtml))
return fragment.release();
}
- String html = getTextHTML(data, success);
+ String html = getTextHTML(data);
String srcURL;
- if (success)
+ if (!html.isEmpty())
return createFragmentFromMarkup(doc, html, srcURL, FragmentScriptingNotAllowed);
return 0;
Modified: trunk/Source/WebCore/platform/win/ClipboardUtilitiesWin.h (109175 => 109176)
--- trunk/Source/WebCore/platform/win/ClipboardUtilitiesWin.h 2012-02-29 01:28:06 UTC (rev 109175)
+++ trunk/Source/WebCore/platform/win/ClipboardUtilitiesWin.h 2012-02-29 01:31:55 UTC (rev 109176)
@@ -67,13 +67,13 @@
PassRefPtr<DocumentFragment> fragmentFromHTML(Document*, const DragDataMap*);
PassRefPtr<DocumentFragment> fragmentFromCFHTML(Document*, const String& cfhtml);
-String getURL(IDataObject*, DragData::FilenameConversionPolicy, bool& success, String* title = 0);
+String getURL(IDataObject*, DragData::FilenameConversionPolicy, String* title = 0);
String getURL(const DragDataMap*, DragData::FilenameConversionPolicy, String* title = 0);
-String getPlainText(IDataObject*, bool& success);
+String getPlainText(IDataObject*);
String getPlainText(const DragDataMap*);
-String getTextHTML(IDataObject*, bool& success);
+String getTextHTML(IDataObject*);
String getTextHTML(const DragDataMap*);
-String getCFHTML(IDataObject*, bool& success);
+String getCFHTML(IDataObject*);
String getCFHTML(const DragDataMap*);
void getClipboardData(IDataObject*, FORMATETC* fetc, Vector<String>& dataStrings);
Modified: trunk/Source/WebCore/platform/win/ClipboardWin.cpp (109175 => 109176)
--- trunk/Source/WebCore/platform/win/ClipboardWin.cpp 2012-02-29 01:28:06 UTC (rev 109175)
+++ trunk/Source/WebCore/platform/win/ClipboardWin.cpp 2012-02-29 01:31:55 UTC (rev 109176)
@@ -436,22 +436,21 @@
m_dataObject = m_writableDataObject;
}
-String ClipboardWin::getData(const String& type, bool& success) const
+String ClipboardWin::getData(const String& type) const
{
- success = false;
if (policy() != ClipboardReadable || (!m_dataObject && m_dragDataMap.isEmpty()))
return "";
ClipboardDataType dataType = clipboardTypeFromMIMEType(type);
if (dataType == ClipboardDataTypeText)
- return m_dataObject ? getPlainText(m_dataObject.get(), success) : getPlainText(&m_dragDataMap);
+ return m_dataObject ? getPlainText(m_dataObject.get()) : getPlainText(&m_dragDataMap);
if (dataType == ClipboardDataTypeURL)
- return m_dataObject ? getURL(m_dataObject.get(), DragData::DoNotConvertFilenames, success) : getURL(&m_dragDataMap, DragData::DoNotConvertFilenames);
+ return m_dataObject ? getURL(m_dataObject.get(), DragData::DoNotConvertFilenames) : getURL(&m_dragDataMap, DragData::DoNotConvertFilenames);
else if (dataType == ClipboardDataTypeTextHTML) {
- String data = "" ? getTextHTML(m_dataObject.get(), success) : getTextHTML(&m_dragDataMap);
- if (success)
+ String data = "" ? getTextHTML(m_dataObject.get()) : getTextHTML(&m_dragDataMap);
+ if (!data.isEmpty())
return data;
- return m_dataObject ? getCFHTML(m_dataObject.get(), success) : getCFHTML(&m_dragDataMap);
+ return m_dataObject ? getCFHTML(m_dataObject.get()) : getCFHTML(&m_dragDataMap);
}
return "";
Modified: trunk/Source/WebCore/platform/win/ClipboardWin.h (109175 => 109176)
--- trunk/Source/WebCore/platform/win/ClipboardWin.h 2012-02-29 01:28:06 UTC (rev 109175)
+++ trunk/Source/WebCore/platform/win/ClipboardWin.h 2012-02-29 01:31:55 UTC (rev 109176)
@@ -60,7 +60,7 @@
void clearData(const String& type);
void clearAllData();
- String getData(const String& type, bool& success) const;
+ String getData(const String& type) const;
bool setData(const String& type, const String& data);
// extensions beyond IE's API
Modified: trunk/Source/WebCore/platform/win/DragDataWin.cpp (109175 => 109176)
--- trunk/Source/WebCore/platform/win/DragDataWin.cpp 2012-02-29 01:28:06 UTC (rev 109175)
+++ trunk/Source/WebCore/platform/win/DragDataWin.cpp 2012-02-29 01:31:55 UTC (rev 109176)
@@ -101,8 +101,7 @@
String DragData::asURL(Frame*, FilenameConversionPolicy filenamePolicy, String* title) const
{
- bool success;
- return (m_platformDragData) ? getURL(m_platformDragData, filenamePolicy, success, title) : getURL(&m_dragDataMap, filenamePolicy, title);
+ return (m_platformDragData) ? getURL(m_platformDragData, filenamePolicy, title) : getURL(&m_dragDataMap, filenamePolicy, title);
}
bool DragData::containsFiles() const
@@ -155,8 +154,7 @@
String DragData::asPlainText(Frame*) const
{
- bool success;
- return (m_platformDragData) ? getPlainText(m_platformDragData, success) : getPlainText(&m_dragDataMap);
+ return (m_platformDragData) ? getPlainText(m_platformDragData) : getPlainText(&m_dragDataMap);
}
bool DragData::containsColor() const
Modified: trunk/Source/WebCore/platform/wx/ClipboardWx.cpp (109175 => 109176)
--- trunk/Source/WebCore/platform/wx/ClipboardWx.cpp 2012-02-29 01:28:06 UTC (rev 109175)
+++ trunk/Source/WebCore/platform/wx/ClipboardWx.cpp 2012-02-29 01:31:55 UTC (rev 109176)
@@ -58,7 +58,7 @@
Pasteboard::generalPasteboard()->clear();
}
-String ClipboardWx::getData(const String& type, bool& success) const
+String ClipboardWx::getData(const String& type) const
{
notImplemented();
return "";
Modified: trunk/Source/WebCore/platform/wx/ClipboardWx.h (109175 => 109176)
--- trunk/Source/WebCore/platform/wx/ClipboardWx.h 2012-02-29 01:28:06 UTC (rev 109175)
+++ trunk/Source/WebCore/platform/wx/ClipboardWx.h 2012-02-29 01:31:55 UTC (rev 109176)
@@ -42,7 +42,7 @@
void clearData(const String& type);
void clearAllData();
- String getData(const String& type, bool& success) const;
+ String getData(const String& type) const;
bool setData(const String& type, const String& data);
// extensions beyond IE's API