<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[166965] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/166965">166965</a></dd>
<dt>Author</dt> <dd>ap@apple.com</dd>
<dt>Date</dt> <dd>2014-04-08 15:06:16 -0700 (Tue, 08 Apr 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Source/WebCore: Rename Clipboard to DataTransfer
https://bugs.webkit.org/show_bug.cgi?id=131371

Reviewed by Anders Carlsson.

This is the name used in HTML5, and it's much better than the confusing Clipboard one.

Renamed related enums too, and made DataTransferAccessPolicy an enum class.

* CMakeLists.txt:
* Configurations/WebCore.xcconfig:
* DerivedSources.cpp:
* DerivedSources.make:
* WebCore.exp.in:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSClipboardCustom.cpp: Removed.
* bindings/js/JSDataTransferCustom.cpp: Copied from Source/WebCore/bindings/js/JSClipboardCustom.cpp.
(WebCore::JSDataTransfer::types):
(WebCore::JSClipboard::types): Deleted.
* bindings/js/JSEventCustom.cpp:
* dom/Clipboard.cpp: Removed.
* dom/Clipboard.h: Removed.
* dom/Clipboard.idl: Removed.
* dom/ClipboardAccessPolicy.h: Removed.
* dom/ClipboardEvent.cpp:
(WebCore::ClipboardEvent::ClipboardEvent):
* dom/ClipboardEvent.h:
(WebCore::ClipboardEvent::create):
(WebCore::ClipboardEvent::clipboard): Deleted.
* dom/ClipboardMac.mm: Removed.
* dom/DOMAllInOne.cpp:
* dom/DataTransfer.cpp: Copied from Source/WebCore/dom/Clipboard.cpp.
(WebCore::DataTransfer::DataTransfer):
(WebCore::DataTransfer::createForCopyAndPaste):
(WebCore::DataTransfer::~DataTransfer):
(WebCore::DataTransfer::setAccessPolicy):
(WebCore::DataTransfer::canReadTypes):
(WebCore::DataTransfer::canReadData):
(WebCore::DataTransfer::canWriteData):
(WebCore::DataTransfer::clearData):
(WebCore::DataTransfer::getData):
(WebCore::DataTransfer::setData):
(WebCore::DataTransfer::types):
(WebCore::DataTransfer::files):
(WebCore::DataTransfer::dropEffect):
(WebCore::DataTransfer::setDropEffect):
(WebCore::DataTransfer::effectAllowed):
(WebCore::DataTransfer::setEffectAllowed):
(WebCore::DataTransfer::setDragImage):
(WebCore::DataTransfer::createForDragAndDrop):
(WebCore::DataTransfer::canSetDragImage):
(WebCore::DataTransfer::updateDragImage):
(WebCore::DataTransfer::createDragImage):
(WebCore::DragImageLoader::DragImageLoader):
(WebCore::DragImageLoader::imageChanged):
(WebCore::DataTransfer::sourceOperation):
(WebCore::DataTransfer::destinationOperation):
(WebCore::DataTransfer::setSourceOperation):
(WebCore::DataTransfer::setDestinationOperation):
(WebCore::Clipboard::Clipboard): Deleted.
(WebCore::Clipboard::createForCopyAndPaste): Deleted.
(WebCore::Clipboard::~Clipboard): Deleted.
(WebCore::Clipboard::setAccessPolicy): Deleted.
(WebCore::Clipboard::canReadTypes): Deleted.
(WebCore::Clipboard::canReadData): Deleted.
(WebCore::Clipboard::canWriteData): Deleted.
(WebCore::Clipboard::clearData): Deleted.
(WebCore::Clipboard::getData): Deleted.
(WebCore::Clipboard::setData): Deleted.
(WebCore::Clipboard::types): Deleted.
(WebCore::Clipboard::files): Deleted.
(WebCore::Clipboard::dropEffect): Deleted.
(WebCore::Clipboard::setDropEffect): Deleted.
(WebCore::Clipboard::effectAllowed): Deleted.
(WebCore::Clipboard::setEffectAllowed): Deleted.
(WebCore::Clipboard::setDragImage): Deleted.
(WebCore::Clipboard::createForDragAndDrop): Deleted.
(WebCore::Clipboard::canSetDragImage): Deleted.
(WebCore::Clipboard::updateDragImage): Deleted.
(WebCore::Clipboard::createDragImage): Deleted.
(WebCore::Clipboard::sourceOperation): Deleted.
(WebCore::Clipboard::destinationOperation): Deleted.
(WebCore::Clipboard::setSourceOperation): Deleted.
(WebCore::Clipboard::setDestinationOperation): Deleted.
* dom/DataTransfer.h: Copied from Source/WebCore/dom/Clipboard.h.
* dom/DataTransfer.idl: Copied from Source/WebCore/dom/Clipboard.idl.
* dom/DataTransferAccessPolicy.h: Copied from Source/WebCore/dom/ClipboardAccessPolicy.h.
* dom/DataTransferItemList.h:
* dom/DataTransferMac.mm: Copied from Source/WebCore/dom/ClipboardMac.mm.
(WebCore::DataTransfer::createDragImage):
(WebCore::Clipboard::createDragImage): Deleted.
* dom/Event.h:
(WebCore::Event::clipboardData):
(WebCore::Event::internalDataTransfer):
(WebCore::Event::clipboard): Deleted.
* dom/Event.idl:
* dom/MouseEvent.cpp:
(WebCore::MouseEvent::create):
(WebCore::MouseEvent::MouseEvent):
(WebCore::MouseEvent::initMouseEvent):
* dom/MouseEvent.h:
(WebCore::MouseEvent::dataTransfer):
* dom/MouseEvent.idl:
* dom/WheelEvent.cpp:
* editing/Editor.cpp:
(WebCore::Editor::canDHTMLCut):
(WebCore::Editor::canDHTMLCopy):
(WebCore::Editor::canDHTMLPaste):
(WebCore::Editor::tryDHTMLCopy):
(WebCore::Editor::tryDHTMLCut):
(WebCore::Editor::tryDHTMLPaste):
(WebCore::Editor::dispatchCPPEvent):
(WebCore::Editor::performCutOrCopy):
(WebCore::Editor::selectedTextForDataTransfer):
(WebCore::Editor::selectedTextForClipboard): Deleted.
* editing/Editor.h:
* editing/ios/EditorIOS.mm:
(WebCore::Editor::stringSelectionForPasteboardWithImageAltText):
* editing/mac/EditorMac.mm:
(WebCore::Editor::takeFindStringFromSelection):
(WebCore::Editor::stringSelectionForPasteboardWithImageAltText):
* loader/EmptyClients.h:
* page/DragClient.h:
* page/DragController.cpp:
(WebCore::DragController::dragExited):
(WebCore::DragController::performDrag):
(WebCore::DragController::tryDHTMLDrag):
(WebCore::DragController::startDrag):
(WebCore::DragController::doImageDrag):
(WebCore::DragController::doSystemDrag):
* page/DragController.h:
* page/DragState.h:
* page/EventHandler.cpp:
(WebCore::EventHandler::dispatchDragEvent):
(WebCore::hasFileOfType):
(WebCore::hasStringOfType):
(WebCore::hasDropZoneType):
(WebCore::findDropZone):
(WebCore::EventHandler::updateDragAndDrop):
(WebCore::EventHandler::cancelDragAndDrop):
(WebCore::EventHandler::performDragAndDrop):
(WebCore::EventHandler::freeDataTransfer):
(WebCore::EventHandler::dragSourceEndedAt):
(WebCore::EventHandler::dispatchDragSrcEvent):
(WebCore::EventHandler::handleDrag):
(WebCore::EventHandler::freeClipboard): Deleted.
* page/EventHandler.h:
* page/efl/EventHandlerEfl.cpp:
(WebCore::EventHandler::createDraggingDataTransfer):
(WebCore::EventHandler::createDraggingClipboard): Deleted.
* page/gtk/DragControllerGtk.cpp:
(WebCore::DragController::declareAndWriteDragImage):
* page/gtk/EventHandlerGtk.cpp:
(WebCore::EventHandler::createDraggingDataTransfer):
(WebCore::EventHandler::createDraggingClipboard): Deleted.
* page/mac/DragControllerMac.mm:
(WebCore::DragController::declareAndWriteDragImage):
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::createDraggingDataTransfer):
(WebCore::EventHandler::createDraggingClipboard): Deleted.
* page/win/DragControllerWin.cpp:
(WebCore::DragController::declareAndWriteDragImage):
* page/win/EventHandlerWin.cpp:
(WebCore::EventHandler::createDraggingataTransfer):
(WebCore::EventHandler::createDraggingClipboard): Deleted.
* platform/Pasteboard.h:
* platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::writeSelection):
* platform/mac/PasteboardMac.mm:
* platform/win/PasteboardWin.cpp:
(WebCore::Pasteboard::writeRangeToDataObject):
(WebCore::Pasteboard::writeSelection):

Source/WebKit/ios: Rename Clipboard to DataTransfer
https://bugs.webkit.org/show_bug.cgi?id=131371

Reviewed by Anders Carlsson.

* WebView/WebPDFViewPlaceholder.mm:

Source/WebKit/mac: Rename Clipboard to DataTransfer
https://bugs.webkit.org/show_bug.cgi?id=131371

Reviewed by Anders Carlsson.

* WebCoreSupport/WebDragClient.h:
* WebCoreSupport/WebDragClient.mm:
(WebDragClient::willPerformDragSourceAction):
(WebDragClient::startDrag):
* WebView/WebPDFView.mm:

Source/WebKit2: Fix build.

Patch by Anders Carlsson &lt;andersca@apple.com&gt; on 2014-04-08

* WebKit2Prefix.h:

LayoutTests: Rename Clipboard to DataTransfer
https://bugs.webkit.org/show_bug.cgi?id=131371

Reviewed by Anders Carlsson.

* fast/dom/dom-constructors-expected.txt:
* fast/dom/dom-constructors.html:
* js/dom/global-constructors-attributes-expected.txt:
* platform/efl/js/dom/global-constructors-attributes-expected.txt:
* platform/gtk-wk1/js/dom/global-constructors-attributes-expected.txt:
* platform/gtk-wk2/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt:
* platform/mac/js/dom/global-constructors-attributes-expected.txt:
* platform/win/js/dom/global-constructors-attributes-expected.txt:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsfastdomdomconstructorsexpectedtxt">trunk/LayoutTests/fast/dom/dom-constructors-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastdomdomconstructorshtml">trunk/LayoutTests/fast/dom/dom-constructors.html</a></li>
<li><a href="#trunkLayoutTestsjsdomglobalconstructorsattributesexpectedtxt">trunk/LayoutTests/js/dom/global-constructors-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformefljsdomglobalconstructorsattributesexpectedtxt">trunk/LayoutTests/platform/efl/js/dom/global-constructors-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformgtkjsdomglobalconstructorsattributesexpectedtxt">trunk/LayoutTests/platform/gtk/js/dom/global-constructors-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacjsdomglobalconstructorsattributesexpectedtxt">trunk/LayoutTests/platform/mac/js/dom/global-constructors-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacmountainlionjsdomglobalconstructorsattributesexpectedtxt">trunk/LayoutTests/platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformwinjsdomglobalconstructorsattributesexpectedtxt">trunk/LayoutTests/platform/win/js/dom/global-constructors-attributes-expected.txt</a></li>
<li><a href="#trunkSourceWebCoreCMakeListstxt">trunk/Source/WebCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreConfigurationsWebCorexcconfig">trunk/Source/WebCore/Configurations/WebCore.xcconfig</a></li>
<li><a href="#trunkSourceWebCoreDerivedSourcescpp">trunk/Source/WebCore/DerivedSources.cpp</a></li>
<li><a href="#trunkSourceWebCoreDerivedSourcesmake">trunk/Source/WebCore/DerivedSources.make</a></li>
<li><a href="#trunkSourceWebCoreWebCoreexpin">trunk/Source/WebCore/WebCore.exp.in</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojWebCorevcxproj">trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojWebCorevcxprojfilters">trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSBindingsAllInOnecpp">trunk/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSEventCustomcpp">trunk/Source/WebCore/bindings/js/JSEventCustom.cpp</a></li>
<li><a href="#trunkSourceWebCoredomClipboardEventcpp">trunk/Source/WebCore/dom/ClipboardEvent.cpp</a></li>
<li><a href="#trunkSourceWebCoredomClipboardEventh">trunk/Source/WebCore/dom/ClipboardEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomDOMAllInOnecpp">trunk/Source/WebCore/dom/DOMAllInOne.cpp</a></li>
<li><a href="#trunkSourceWebCoredomDataTransferItemListh">trunk/Source/WebCore/dom/DataTransferItemList.h</a></li>
<li><a href="#trunkSourceWebCoredomEventh">trunk/Source/WebCore/dom/Event.h</a></li>
<li><a href="#trunkSourceWebCoredomEventidl">trunk/Source/WebCore/dom/Event.idl</a></li>
<li><a href="#trunkSourceWebCoredomMouseEventcpp">trunk/Source/WebCore/dom/MouseEvent.cpp</a></li>
<li><a href="#trunkSourceWebCoredomMouseEventh">trunk/Source/WebCore/dom/MouseEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomMouseEventidl">trunk/Source/WebCore/dom/MouseEvent.idl</a></li>
<li><a href="#trunkSourceWebCoredomWheelEventcpp">trunk/Source/WebCore/dom/WheelEvent.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingEditorcpp">trunk/Source/WebCore/editing/Editor.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingEditorh">trunk/Source/WebCore/editing/Editor.h</a></li>
<li><a href="#trunkSourceWebCoreeditingiosEditorIOSmm">trunk/Source/WebCore/editing/ios/EditorIOS.mm</a></li>
<li><a href="#trunkSourceWebCoreeditingmacEditorMacmm">trunk/Source/WebCore/editing/mac/EditorMac.mm</a></li>
<li><a href="#trunkSourceWebCoreloaderEmptyClientsh">trunk/Source/WebCore/loader/EmptyClients.h</a></li>
<li><a href="#trunkSourceWebCorepageDragClienth">trunk/Source/WebCore/page/DragClient.h</a></li>
<li><a href="#trunkSourceWebCorepageDragControllercpp">trunk/Source/WebCore/page/DragController.cpp</a></li>
<li><a href="#trunkSourceWebCorepageDragControllerh">trunk/Source/WebCore/page/DragController.h</a></li>
<li><a href="#trunkSourceWebCorepageDragStateh">trunk/Source/WebCore/page/DragState.h</a></li>
<li><a href="#trunkSourceWebCorepageEventHandlercpp">trunk/Source/WebCore/page/EventHandler.cpp</a></li>
<li><a href="#trunkSourceWebCorepageEventHandlerh">trunk/Source/WebCore/page/EventHandler.h</a></li>
<li><a href="#trunkSourceWebCorepageeflEventHandlerEflcpp">trunk/Source/WebCore/page/efl/EventHandlerEfl.cpp</a></li>
<li><a href="#trunkSourceWebCorepagegtkDragControllerGtkcpp">trunk/Source/WebCore/page/gtk/DragControllerGtk.cpp</a></li>
<li><a href="#trunkSourceWebCorepagegtkEventHandlerGtkcpp">trunk/Source/WebCore/page/gtk/EventHandlerGtk.cpp</a></li>
<li><a href="#trunkSourceWebCorepagemacDragControllerMacmm">trunk/Source/WebCore/page/mac/DragControllerMac.mm</a></li>
<li><a href="#trunkSourceWebCorepagemacEventHandlerMacmm">trunk/Source/WebCore/page/mac/EventHandlerMac.mm</a></li>
<li><a href="#trunkSourceWebCorepagewinDragControllerWincpp">trunk/Source/WebCore/page/win/DragControllerWin.cpp</a></li>
<li><a href="#trunkSourceWebCorepagewinEventHandlerWincpp">trunk/Source/WebCore/page/win/EventHandlerWin.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformPasteboardh">trunk/Source/WebCore/platform/Pasteboard.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgtkPasteboardGtkcpp">trunk/Source/WebCore/platform/gtk/PasteboardGtk.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformmacPasteboardMacmm">trunk/Source/WebCore/platform/mac/PasteboardMac.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformwinPasteboardWincpp">trunk/Source/WebCore/platform/win/PasteboardWin.cpp</a></li>
<li><a href="#trunkSourceWebKitiosChangeLog">trunk/Source/WebKit/ios/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitiosWebViewWebPDFViewPlaceholdermm">trunk/Source/WebKit/ios/WebView/WebPDFViewPlaceholder.mm</a></li>
<li><a href="#trunkSourceWebKitmacChangeLog">trunk/Source/WebKit/mac/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitmacWebCoreSupportWebDragClienth">trunk/Source/WebKit/mac/WebCoreSupport/WebDragClient.h</a></li>
<li><a href="#trunkSourceWebKitmacWebCoreSupportWebDragClientmm">trunk/Source/WebKit/mac/WebCoreSupport/WebDragClient.mm</a></li>
<li><a href="#trunkSourceWebKitmacWebViewWebPDFViewmm">trunk/Source/WebKit/mac/WebView/WebPDFView.mm</a></li>
<li><a href="#trunkSourceWebKitwinWebCoreSupportWebDragClientcpp">trunk/Source/WebKit/win/WebCoreSupport/WebDragClient.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebCoreSupportWebDragClienth">trunk/Source/WebKit/win/WebCoreSupport/WebDragClient.h</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebCoreSupportWebDragClientcpp">trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebDragClient.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebCoreSupportWebDragClienth">trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebDragClient.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebCoreSupportmacWebDragClientMacmm">trunk/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebDragClientMac.mm</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceWebCorebindingsjsJSDataTransferCustomcpp">trunk/Source/WebCore/bindings/js/JSDataTransferCustom.cpp</a></li>
<li><a href="#trunkSourceWebCoredomDataTransfercpp">trunk/Source/WebCore/dom/DataTransfer.cpp</a></li>
<li><a href="#trunkSourceWebCoredomDataTransferh">trunk/Source/WebCore/dom/DataTransfer.h</a></li>
<li><a href="#trunkSourceWebCoredomDataTransferidl">trunk/Source/WebCore/dom/DataTransfer.idl</a></li>
<li><a href="#trunkSourceWebCoredomDataTransferAccessPolicyh">trunk/Source/WebCore/dom/DataTransferAccessPolicy.h</a></li>
<li><a href="#trunkSourceWebCoredomDataTransferMacmm">trunk/Source/WebCore/dom/DataTransferMac.mm</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebCorebindingsjsJSClipboardCustomcpp">trunk/Source/WebCore/bindings/js/JSClipboardCustom.cpp</a></li>
<li><a href="#trunkSourceWebCoredomClipboardcpp">trunk/Source/WebCore/dom/Clipboard.cpp</a></li>
<li><a href="#trunkSourceWebCoredomClipboardh">trunk/Source/WebCore/dom/Clipboard.h</a></li>
<li><a href="#trunkSourceWebCoredomClipboardidl">trunk/Source/WebCore/dom/Clipboard.idl</a></li>
<li><a href="#trunkSourceWebCoredomClipboardAccessPolicyh">trunk/Source/WebCore/dom/ClipboardAccessPolicy.h</a></li>
<li><a href="#trunkSourceWebCoredomClipboardMacmm">trunk/Source/WebCore/dom/ClipboardMac.mm</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/LayoutTests/ChangeLog        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -1,3 +1,20 @@
</span><ins>+2014-04-08  Alexey Proskuryakov  &lt;ap@apple.com&gt;
+
+        Rename Clipboard to DataTransfer
+        https://bugs.webkit.org/show_bug.cgi?id=131371
+
+        Reviewed by Anders Carlsson.
+
+        * fast/dom/dom-constructors-expected.txt:
+        * fast/dom/dom-constructors.html:
+        * js/dom/global-constructors-attributes-expected.txt:
+        * platform/efl/js/dom/global-constructors-attributes-expected.txt:
+        * platform/gtk-wk1/js/dom/global-constructors-attributes-expected.txt:
+        * platform/gtk-wk2/js/dom/global-constructors-attributes-expected.txt:
+        * platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt:
+        * platform/mac/js/dom/global-constructors-attributes-expected.txt:
+        * platform/win/js/dom/global-constructors-attributes-expected.txt:
+
</ins><span class="cx"> 2014-04-08  Brent Fulgham  &lt;bfulgham@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [Mac] Unreviewed test gardening.
</span></span></pre></div>
<a id="trunkLayoutTestsfastdomdomconstructorsexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/dom/dom-constructors-expected.txt (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/dom-constructors-expected.txt        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/LayoutTests/fast/dom/dom-constructors-expected.txt        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -71,7 +71,6 @@
</span><span class="cx"> PASS TryAllocate('HTMLUListElement') is 'exception'
</span><span class="cx"> PASS TryAllocate('HTMLElement') is 'exception'
</span><span class="cx"> PASS TryAllocate('CanvasRenderingContext2D') is 'exception'
</span><del>-PASS TryAllocate('Clipboard') is 'exception'
</del><span class="cx"> PASS TryAllocate('Counter') is 'exception'
</span><span class="cx"> PASS TryAllocate('CSSCharsetRule') is 'exception'
</span><span class="cx"> PASS TryAllocate('CSSFontFaceRule') is 'exception'
</span><span class="lines">@@ -86,6 +85,7 @@
</span><span class="cx"> PASS TryAllocate('CSSStyleSheet') is 'exception'
</span><span class="cx"> PASS TryAllocate('CSSValue') is 'exception'
</span><span class="cx"> PASS TryAllocate('CSSValueList') is 'exception'
</span><ins>+PASS TryAllocate('DataTransfer') is 'exception'
</ins><span class="cx"> PASS TryAllocate('DOMImplementation') is 'exception'
</span><span class="cx"> PASS TryAllocate('HTMLCollection') is 'exception'
</span><span class="cx"> PASS TryAllocate('MediaList') is 'exception'
</span></span></pre></div>
<a id="trunkLayoutTestsfastdomdomconstructorshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/dom/dom-constructors.html (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/dom-constructors.html        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/LayoutTests/fast/dom/dom-constructors.html        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -81,7 +81,6 @@
</span><span class="cx">     'HTMLUListElement',
</span><span class="cx">     'HTMLElement',
</span><span class="cx">     'CanvasRenderingContext2D',
</span><del>-    'Clipboard',
</del><span class="cx">     'Counter',
</span><span class="cx">     'CSSCharsetRule',
</span><span class="cx">     'CSSFontFaceRule',
</span><span class="lines">@@ -96,6 +95,7 @@
</span><span class="cx">     'CSSStyleSheet',
</span><span class="cx">     'CSSValue',
</span><span class="cx">     'CSSValueList',
</span><ins>+    'DataTransfer',
</ins><span class="cx">     'DOMImplementation',
</span><span class="cx">     'HTMLCollection',
</span><span class="cx">     'MediaList',
</span></span></pre></div>
<a id="trunkLayoutTestsjsdomglobalconstructorsattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/js/dom/global-constructors-attributes-expected.txt (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/js/dom/global-constructors-attributes-expected.txt        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/LayoutTests/js/dom/global-constructors-attributes-expected.txt        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -188,11 +188,6 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'ClientRectList').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'ClientRectList').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'ClientRectList').configurable is true
</span><del>-PASS Object.getOwnPropertyDescriptor(global, 'Clipboard').value is Clipboard
-PASS Object.getOwnPropertyDescriptor(global, 'Clipboard').hasOwnProperty('get') is false
-PASS Object.getOwnPropertyDescriptor(global, 'Clipboard').hasOwnProperty('set') is false
-PASS Object.getOwnPropertyDescriptor(global, 'Clipboard').enumerable is false
-PASS Object.getOwnPropertyDescriptor(global, 'Clipboard').configurable is true
</del><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'CloseEvent').value is CloseEvent
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'CloseEvent').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'CloseEvent').hasOwnProperty('set') is false
</span><span class="lines">@@ -263,6 +258,11 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'DataCue').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'DataCue').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'DataCue').configurable is true
</span><ins>+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').value is DataTransfer
+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').configurable is true
</ins><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'DelayNode').value is DelayNode
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'DelayNode').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'DelayNode').hasOwnProperty('set') is false
</span></span></pre></div>
<a id="trunkLayoutTestsplatformefljsdomglobalconstructorsattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/efl/js/dom/global-constructors-attributes-expected.txt (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/efl/js/dom/global-constructors-attributes-expected.txt        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/LayoutTests/platform/efl/js/dom/global-constructors-attributes-expected.txt        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -188,11 +188,6 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'ClientRectList').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'ClientRectList').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'ClientRectList').configurable is true
</span><del>-PASS Object.getOwnPropertyDescriptor(global, 'Clipboard').value is Clipboard
-PASS Object.getOwnPropertyDescriptor(global, 'Clipboard').hasOwnProperty('get') is false
-PASS Object.getOwnPropertyDescriptor(global, 'Clipboard').hasOwnProperty('set') is false
-PASS Object.getOwnPropertyDescriptor(global, 'Clipboard').enumerable is false
-PASS Object.getOwnPropertyDescriptor(global, 'Clipboard').configurable is true
</del><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'CloseEvent').value is CloseEvent
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'CloseEvent').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'CloseEvent').hasOwnProperty('set') is false
</span><span class="lines">@@ -263,6 +258,11 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'DataCue').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'DataCue').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'DataCue').configurable is true
</span><ins>+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').value is DataTransfer
+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').configurable is true
</ins><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'DelayNode').value is DelayNode
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'DelayNode').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'DelayNode').hasOwnProperty('set') is false
</span></span></pre></div>
<a id="trunkLayoutTestsplatformgtkjsdomglobalconstructorsattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/gtk/js/dom/global-constructors-attributes-expected.txt (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/gtk/js/dom/global-constructors-attributes-expected.txt        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/LayoutTests/platform/gtk/js/dom/global-constructors-attributes-expected.txt        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -193,11 +193,6 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'ClientRectList').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'ClientRectList').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'ClientRectList').configurable is true
</span><del>-PASS Object.getOwnPropertyDescriptor(global, 'Clipboard').value is Clipboard
-PASS Object.getOwnPropertyDescriptor(global, 'Clipboard').hasOwnProperty('get') is false
-PASS Object.getOwnPropertyDescriptor(global, 'Clipboard').hasOwnProperty('set') is false
-PASS Object.getOwnPropertyDescriptor(global, 'Clipboard').enumerable is false
-PASS Object.getOwnPropertyDescriptor(global, 'Clipboard').configurable is true
</del><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'CloseEvent').value is CloseEvent
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'CloseEvent').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'CloseEvent').hasOwnProperty('set') is false
</span><span class="lines">@@ -268,6 +263,11 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'DataCue').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'DataCue').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'DataCue').configurable is true
</span><ins>+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').value is DataTransfer
+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').configurable is true
</ins><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'DelayNode').value is DelayNode
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'DelayNode').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'DelayNode').hasOwnProperty('set') is false
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacjsdomglobalconstructorsattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/js/dom/global-constructors-attributes-expected.txt (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/js/dom/global-constructors-attributes-expected.txt        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/LayoutTests/platform/mac/js/dom/global-constructors-attributes-expected.txt        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -188,11 +188,6 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'ClientRectList').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'ClientRectList').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'ClientRectList').configurable is true
</span><del>-PASS Object.getOwnPropertyDescriptor(global, 'Clipboard').value is Clipboard
-PASS Object.getOwnPropertyDescriptor(global, 'Clipboard').hasOwnProperty('get') is false
-PASS Object.getOwnPropertyDescriptor(global, 'Clipboard').hasOwnProperty('set') is false
-PASS Object.getOwnPropertyDescriptor(global, 'Clipboard').enumerable is false
-PASS Object.getOwnPropertyDescriptor(global, 'Clipboard').configurable is true
</del><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'CloseEvent').value is CloseEvent
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'CloseEvent').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'CloseEvent').hasOwnProperty('set') is false
</span><span class="lines">@@ -263,6 +258,11 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'DataCue').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'DataCue').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'DataCue').configurable is true
</span><ins>+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').value is DataTransfer
+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').configurable is true
</ins><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'DelayNode').value is DelayNode
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'DelayNode').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'DelayNode').hasOwnProperty('set') is false
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacmountainlionjsdomglobalconstructorsattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/LayoutTests/platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -188,11 +188,6 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'ClientRectList').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'ClientRectList').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'ClientRectList').configurable is true
</span><del>-PASS Object.getOwnPropertyDescriptor(global, 'Clipboard').value is Clipboard
-PASS Object.getOwnPropertyDescriptor(global, 'Clipboard').hasOwnProperty('get') is false
-PASS Object.getOwnPropertyDescriptor(global, 'Clipboard').hasOwnProperty('set') is false
-PASS Object.getOwnPropertyDescriptor(global, 'Clipboard').enumerable is false
-PASS Object.getOwnPropertyDescriptor(global, 'Clipboard').configurable is true
</del><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'CloseEvent').value is CloseEvent
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'CloseEvent').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'CloseEvent').hasOwnProperty('set') is false
</span><span class="lines">@@ -263,6 +258,11 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'DataCue').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'DataCue').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'DataCue').configurable is true
</span><ins>+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').value is DataTransfer
+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').configurable is true
</ins><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'DelayNode').value is DelayNode
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'DelayNode').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'DelayNode').hasOwnProperty('set') is false
</span></span></pre></div>
<a id="trunkLayoutTestsplatformwinjsdomglobalconstructorsattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/win/js/dom/global-constructors-attributes-expected.txt (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/win/js/dom/global-constructors-attributes-expected.txt        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/LayoutTests/platform/win/js/dom/global-constructors-attributes-expected.txt        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -133,11 +133,6 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'ClientRectList').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'ClientRectList').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'ClientRectList').configurable is true
</span><del>-PASS Object.getOwnPropertyDescriptor(global, 'Clipboard').value is Clipboard
-PASS Object.getOwnPropertyDescriptor(global, 'Clipboard').hasOwnProperty('get') is false
-PASS Object.getOwnPropertyDescriptor(global, 'Clipboard').hasOwnProperty('set') is false
-PASS Object.getOwnPropertyDescriptor(global, 'Clipboard').enumerable is false
-PASS Object.getOwnPropertyDescriptor(global, 'Clipboard').configurable is true
</del><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'CloseEvent').value is CloseEvent
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'CloseEvent').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'CloseEvent').hasOwnProperty('set') is false
</span><span class="lines">@@ -203,6 +198,11 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'DataCue').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'DataCue').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'DataCue').configurable is true
</span><ins>+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').value is DataTransfer
+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'DataTransfer').configurable is true
</ins><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Document').value is Document
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Document').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Document').hasOwnProperty('set') is false
</span></span></pre></div>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/CMakeLists.txt        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -344,7 +344,6 @@
</span><span class="cx">     dom/ChildNode.idl
</span><span class="cx">     dom/ClientRect.idl
</span><span class="cx">     dom/ClientRectList.idl
</span><del>-    dom/Clipboard.idl
</del><span class="cx">     dom/Comment.idl
</span><span class="cx">     dom/CompositionEvent.idl
</span><span class="cx">     dom/CustomEvent.idl
</span><span class="lines">@@ -354,6 +353,7 @@
</span><span class="cx">     dom/DOMNamedFlowCollection.idl
</span><span class="cx">     dom/DOMStringList.idl
</span><span class="cx">     dom/DOMStringMap.idl
</span><ins>+    dom/DataTransfer.idl
</ins><span class="cx">     dom/DataTransferItem.idl
</span><span class="cx">     dom/DataTransferItemList.idl
</span><span class="cx">     dom/DeviceMotionEvent.idl
</span><span class="lines">@@ -1127,7 +1127,6 @@
</span><span class="cx">     dom/ClassNodeList.cpp
</span><span class="cx">     dom/ClientRect.cpp
</span><span class="cx">     dom/ClientRectList.cpp
</span><del>-    dom/Clipboard.cpp
</del><span class="cx">     dom/ClipboardEvent.cpp
</span><span class="cx">     dom/CollectionIndexCache.cpp
</span><span class="cx">     dom/Comment.cpp
</span><span class="lines">@@ -1141,6 +1140,7 @@
</span><span class="cx">     dom/DOMImplementation.cpp
</span><span class="cx">     dom/DOMNamedFlowCollection.cpp
</span><span class="cx">     dom/DOMStringList.cpp
</span><ins>+    dom/DataTransfer.cpp
</ins><span class="cx">     dom/DataTransferItem.cpp
</span><span class="cx">     dom/DatasetDOMStringMap.cpp
</span><span class="cx">     dom/DecodedDataDocumentParser.cpp
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/ChangeLog        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -1,3 +1,181 @@
</span><ins>+2014-04-08  Alexey Proskuryakov  &lt;ap@apple.com&gt;
+
+        Rename Clipboard to DataTransfer
+        https://bugs.webkit.org/show_bug.cgi?id=131371
+
+        Reviewed by Anders Carlsson.
+
+        This is the name used in HTML5, and it's much better than the confusing Clipboard one.
+
+        Renamed related enums too, and made DataTransferAccessPolicy an enum class.
+
+        * CMakeLists.txt:
+        * Configurations/WebCore.xcconfig:
+        * DerivedSources.cpp:
+        * DerivedSources.make:
+        * WebCore.exp.in:
+        * WebCore.vcxproj/WebCore.vcxproj:
+        * WebCore.vcxproj/WebCore.vcxproj.filters:
+        * WebCore.xcodeproj/project.pbxproj:
+        * bindings/js/JSBindingsAllInOne.cpp:
+        * bindings/js/JSClipboardCustom.cpp: Removed.
+        * bindings/js/JSDataTransferCustom.cpp: Copied from Source/WebCore/bindings/js/JSClipboardCustom.cpp.
+        (WebCore::JSDataTransfer::types):
+        (WebCore::JSClipboard::types): Deleted.
+        * bindings/js/JSEventCustom.cpp:
+        * dom/Clipboard.cpp: Removed.
+        * dom/Clipboard.h: Removed.
+        * dom/Clipboard.idl: Removed.
+        * dom/ClipboardAccessPolicy.h: Removed.
+        * dom/ClipboardEvent.cpp:
+        (WebCore::ClipboardEvent::ClipboardEvent):
+        * dom/ClipboardEvent.h:
+        (WebCore::ClipboardEvent::create):
+        (WebCore::ClipboardEvent::clipboard): Deleted.
+        * dom/ClipboardMac.mm: Removed.
+        * dom/DOMAllInOne.cpp:
+        * dom/DataTransfer.cpp: Copied from Source/WebCore/dom/Clipboard.cpp.
+        (WebCore::DataTransfer::DataTransfer):
+        (WebCore::DataTransfer::createForCopyAndPaste):
+        (WebCore::DataTransfer::~DataTransfer):
+        (WebCore::DataTransfer::setAccessPolicy):
+        (WebCore::DataTransfer::canReadTypes):
+        (WebCore::DataTransfer::canReadData):
+        (WebCore::DataTransfer::canWriteData):
+        (WebCore::DataTransfer::clearData):
+        (WebCore::DataTransfer::getData):
+        (WebCore::DataTransfer::setData):
+        (WebCore::DataTransfer::types):
+        (WebCore::DataTransfer::files):
+        (WebCore::DataTransfer::dropEffect):
+        (WebCore::DataTransfer::setDropEffect):
+        (WebCore::DataTransfer::effectAllowed):
+        (WebCore::DataTransfer::setEffectAllowed):
+        (WebCore::DataTransfer::setDragImage):
+        (WebCore::DataTransfer::createForDragAndDrop):
+        (WebCore::DataTransfer::canSetDragImage):
+        (WebCore::DataTransfer::updateDragImage):
+        (WebCore::DataTransfer::createDragImage):
+        (WebCore::DragImageLoader::DragImageLoader):
+        (WebCore::DragImageLoader::imageChanged):
+        (WebCore::DataTransfer::sourceOperation):
+        (WebCore::DataTransfer::destinationOperation):
+        (WebCore::DataTransfer::setSourceOperation):
+        (WebCore::DataTransfer::setDestinationOperation):
+        (WebCore::Clipboard::Clipboard): Deleted.
+        (WebCore::Clipboard::createForCopyAndPaste): Deleted.
+        (WebCore::Clipboard::~Clipboard): Deleted.
+        (WebCore::Clipboard::setAccessPolicy): Deleted.
+        (WebCore::Clipboard::canReadTypes): Deleted.
+        (WebCore::Clipboard::canReadData): Deleted.
+        (WebCore::Clipboard::canWriteData): Deleted.
+        (WebCore::Clipboard::clearData): Deleted.
+        (WebCore::Clipboard::getData): Deleted.
+        (WebCore::Clipboard::setData): Deleted.
+        (WebCore::Clipboard::types): Deleted.
+        (WebCore::Clipboard::files): Deleted.
+        (WebCore::Clipboard::dropEffect): Deleted.
+        (WebCore::Clipboard::setDropEffect): Deleted.
+        (WebCore::Clipboard::effectAllowed): Deleted.
+        (WebCore::Clipboard::setEffectAllowed): Deleted.
+        (WebCore::Clipboard::setDragImage): Deleted.
+        (WebCore::Clipboard::createForDragAndDrop): Deleted.
+        (WebCore::Clipboard::canSetDragImage): Deleted.
+        (WebCore::Clipboard::updateDragImage): Deleted.
+        (WebCore::Clipboard::createDragImage): Deleted.
+        (WebCore::Clipboard::sourceOperation): Deleted.
+        (WebCore::Clipboard::destinationOperation): Deleted.
+        (WebCore::Clipboard::setSourceOperation): Deleted.
+        (WebCore::Clipboard::setDestinationOperation): Deleted.
+        * dom/DataTransfer.h: Copied from Source/WebCore/dom/Clipboard.h.
+        * dom/DataTransfer.idl: Copied from Source/WebCore/dom/Clipboard.idl.
+        * dom/DataTransferAccessPolicy.h: Copied from Source/WebCore/dom/ClipboardAccessPolicy.h.
+        * dom/DataTransferItemList.h:
+        * dom/DataTransferMac.mm: Copied from Source/WebCore/dom/ClipboardMac.mm.
+        (WebCore::DataTransfer::createDragImage):
+        (WebCore::Clipboard::createDragImage): Deleted.
+        * dom/Event.h:
+        (WebCore::Event::clipboardData):
+        (WebCore::Event::internalDataTransfer):
+        (WebCore::Event::clipboard): Deleted.
+        * dom/Event.idl:
+        * dom/MouseEvent.cpp:
+        (WebCore::MouseEvent::create):
+        (WebCore::MouseEvent::MouseEvent):
+        (WebCore::MouseEvent::initMouseEvent):
+        * dom/MouseEvent.h:
+        (WebCore::MouseEvent::dataTransfer):
+        * dom/MouseEvent.idl:
+        * dom/WheelEvent.cpp:
+        * editing/Editor.cpp:
+        (WebCore::Editor::canDHTMLCut):
+        (WebCore::Editor::canDHTMLCopy):
+        (WebCore::Editor::canDHTMLPaste):
+        (WebCore::Editor::tryDHTMLCopy):
+        (WebCore::Editor::tryDHTMLCut):
+        (WebCore::Editor::tryDHTMLPaste):
+        (WebCore::Editor::dispatchCPPEvent):
+        (WebCore::Editor::performCutOrCopy):
+        (WebCore::Editor::selectedTextForDataTransfer):
+        (WebCore::Editor::selectedTextForClipboard): Deleted.
+        * editing/Editor.h:
+        * editing/ios/EditorIOS.mm:
+        (WebCore::Editor::stringSelectionForPasteboardWithImageAltText):
+        * editing/mac/EditorMac.mm:
+        (WebCore::Editor::takeFindStringFromSelection):
+        (WebCore::Editor::stringSelectionForPasteboardWithImageAltText):
+        * loader/EmptyClients.h:
+        * page/DragClient.h:
+        * page/DragController.cpp:
+        (WebCore::DragController::dragExited):
+        (WebCore::DragController::performDrag):
+        (WebCore::DragController::tryDHTMLDrag):
+        (WebCore::DragController::startDrag):
+        (WebCore::DragController::doImageDrag):
+        (WebCore::DragController::doSystemDrag):
+        * page/DragController.h:
+        * page/DragState.h:
+        * page/EventHandler.cpp:
+        (WebCore::EventHandler::dispatchDragEvent):
+        (WebCore::hasFileOfType):
+        (WebCore::hasStringOfType):
+        (WebCore::hasDropZoneType):
+        (WebCore::findDropZone):
+        (WebCore::EventHandler::updateDragAndDrop):
+        (WebCore::EventHandler::cancelDragAndDrop):
+        (WebCore::EventHandler::performDragAndDrop):
+        (WebCore::EventHandler::freeDataTransfer):
+        (WebCore::EventHandler::dragSourceEndedAt):
+        (WebCore::EventHandler::dispatchDragSrcEvent):
+        (WebCore::EventHandler::handleDrag):
+        (WebCore::EventHandler::freeClipboard): Deleted.
+        * page/EventHandler.h:
+        * page/efl/EventHandlerEfl.cpp:
+        (WebCore::EventHandler::createDraggingDataTransfer):
+        (WebCore::EventHandler::createDraggingClipboard): Deleted.
+        * page/gtk/DragControllerGtk.cpp:
+        (WebCore::DragController::declareAndWriteDragImage):
+        * page/gtk/EventHandlerGtk.cpp:
+        (WebCore::EventHandler::createDraggingDataTransfer):
+        (WebCore::EventHandler::createDraggingClipboard): Deleted.
+        * page/mac/DragControllerMac.mm:
+        (WebCore::DragController::declareAndWriteDragImage):
+        * page/mac/EventHandlerMac.mm:
+        (WebCore::EventHandler::createDraggingDataTransfer):
+        (WebCore::EventHandler::createDraggingClipboard): Deleted.
+        * page/win/DragControllerWin.cpp:
+        (WebCore::DragController::declareAndWriteDragImage):
+        * page/win/EventHandlerWin.cpp:
+        (WebCore::EventHandler::createDraggingataTransfer):
+        (WebCore::EventHandler::createDraggingClipboard): Deleted.
+        * platform/Pasteboard.h:
+        * platform/gtk/PasteboardGtk.cpp:
+        (WebCore::Pasteboard::writeSelection):
+        * platform/mac/PasteboardMac.mm:
+        * platform/win/PasteboardWin.cpp:
+        (WebCore::Pasteboard::writeRangeToDataObject):
+        (WebCore::Pasteboard::writeSelection):
+
</ins><span class="cx"> 2014-04-08  Jer Noble  &lt;jer.noble@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Unreviewed iOS build fix. Pass 0 instead of nil to the options parameter of addObserver:forKeyPath:options:context.
</span></span></pre></div>
<a id="trunkSourceWebCoreConfigurationsWebCorexcconfig"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Configurations/WebCore.xcconfig (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Configurations/WebCore.xcconfig        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/Configurations/WebCore.xcconfig        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -112,6 +112,6 @@
</span><span class="cx"> JAVASCRIPTCORE_PRIVATE_HEADERS_engineering = $(BUILT_PRODUCTS_DIR)/JavaScriptCore.framework/PrivateHeaders;
</span><span class="cx"> 
</span><span class="cx"> EXCLUDED_SOURCE_FILE_NAMES = $(EXCLUDED_SOURCE_FILE_NAMES_$(PLATFORM_NAME));
</span><del>-EXCLUDED_SOURCE_FILE_NAMES_iphoneos = *.tiff *Cursor.png AccessibilityObjectMac.mm AXObjectCacheMac.mm ClipboardMac.mm ColorMac.mm Cursor.cpp CursorMac.mm EditorMac.mm EventHandlerMac.mm EventLoopMac.mm GeolocationServiceMac.mm GraphicsContext3DOpenGLES.cpp IconDatabase.cpp IconMac.mm KillRingMac.mm LocalCurrentGraphicsContext.mm MIMETypeRegistryMac.mm MediaPlayerPrivateQTKit.mm NSScrollerImpDetails.mm NetworkStateNotifierMac.cpp PasteboardMac.mm PlatformEventFactoryMac.mm PlatformMouseEventMac.mm PlatformPasteboardMac.mm PlatformScreenMac.mm PlatformSpeechSynthesizerMac.mm PluginMainThreadScheduler.cpp RunLoopMac.mm SSLKeyGeneratorMac.cpp ScrollingCoordinatorMac.mm ScrollingStateScrollingNodeMac.mm ScrollingTreeScrollingNodeMac.mm ScrollViewMac.mm ScrollbarThemeMac.mm SharedTimerMac.mm SoundMac.mm SystemTimeMac.cpp ThemeMac.mm ThreadCheck.mm UserAgentMac.mm WebAccessibilityObjectWrapperMac.mm WebCoreSystemInterface.mm WebCoreURLResponse.mm WebCoreView.m WebFontCache.mm WebVideoFullscreenController.mm WebVideoFullscreenHUDWindowController.mm WebWindowAnimation.mm WidgetMac.mm mac/LayerPool.mm DisplayRefreshMonitorMac.cpp;
</del><ins>+EXCLUDED_SOURCE_FILE_NAMES_iphoneos = *.tiff *Cursor.png AccessibilityObjectMac.mm AXObjectCacheMac.mm ColorMac.mm Cursor.cpp CursorMac.mm DataTransferMac.mm EditorMac.mm EventHandlerMac.mm EventLoopMac.mm GeolocationServiceMac.mm GraphicsContext3DOpenGLES.cpp IconDatabase.cpp IconMac.mm KillRingMac.mm LocalCurrentGraphicsContext.mm MIMETypeRegistryMac.mm MediaPlayerPrivateQTKit.mm NSScrollerImpDetails.mm NetworkStateNotifierMac.cpp PasteboardMac.mm PlatformEventFactoryMac.mm PlatformMouseEventMac.mm PlatformPasteboardMac.mm PlatformScreenMac.mm PlatformSpeechSynthesizerMac.mm PluginMainThreadScheduler.cpp RunLoopMac.mm SSLKeyGeneratorMac.cpp ScrollingCoordinatorMac.mm ScrollingStateScrollingNodeMac.mm ScrollingTreeScrollingNodeMac.mm ScrollViewMac.mm ScrollbarThemeMac.mm SharedTimerMac.mm SoundMac.mm SystemTimeMac.cpp ThemeMac.mm ThreadCheck.mm UserAgentMac.mm WebAccessibilityObjectWrapperMac.mm WebCoreSystemInterface.mm WebCoreURLResponse.mm WebCoreView.m WebFontCache.mm WebVideoFullscreenController.mm WebVideoFullscreenHUDWindowController.mm WebWindowAnimation.mm WidgetMac.mm mac/LayerPool.mm DisplayRefreshMonitorMac.cpp;
</ins><span class="cx"> EXCLUDED_SOURCE_FILE_NAMES_iphonesimulator = $(EXCLUDED_SOURCE_FILE_NAMES_iphoneos);
</span><span class="cx"> EXCLUDED_SOURCE_FILE_NAMES_macosx = *IOS.h *IOS.cpp *IOS.mm JSTouch* JSGesture* DOMGesture* DOMTouch* KillRingNone.cpp WAKAppKitStubs.h WAKClipView.h WAKResponder.h WAKScrollView.h WAKView.h WAKViewPrivate.h WAKWindow.h WKContentObservation.h WKGraphics.h WKTypes.h WKUtilities.h WKView.h WKViewPrivate.h WebCoreThread.h WebCoreThreadMessage.h WebCoreThreadRun.h WebCoreThreadSystemInterface.h;
</span></span></pre></div>
<a id="trunkSourceWebCoreDerivedSourcescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/DerivedSources.cpp (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/DerivedSources.cpp        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/DerivedSources.cpp        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -75,7 +75,6 @@
</span><span class="cx"> #include &quot;JSCharacterData.cpp&quot;
</span><span class="cx"> #include &quot;JSClientRect.cpp&quot;
</span><span class="cx"> #include &quot;JSClientRectList.cpp&quot;
</span><del>-#include &quot;JSClipboard.cpp&quot;
</del><span class="cx"> #include &quot;JSCloseEvent.cpp&quot;
</span><span class="cx"> #include &quot;JSCommandLineAPIHost.cpp&quot;
</span><span class="cx"> #include &quot;JSComment.cpp&quot;
</span><span class="lines">@@ -104,6 +103,7 @@
</span><span class="cx"> #include &quot;JSDatabase.cpp&quot;
</span><span class="cx"> #include &quot;JSDatabaseCallback.cpp&quot;
</span><span class="cx"> #include &quot;JSDatabaseSync.cpp&quot;
</span><ins>+#include &quot;JSDataTransfer.cpp&quot;
</ins><span class="cx"> #include &quot;JSDataTransferItem.cpp&quot;
</span><span class="cx"> #include &quot;JSDataTransferItemList.cpp&quot;
</span><span class="cx"> #include &quot;JSDedicatedWorkerGlobalScope.cpp&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreDerivedSourcesmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/DerivedSources.make (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/DerivedSources.make        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/DerivedSources.make        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -251,7 +251,6 @@
</span><span class="cx">     $(WebCore)/dom/ChildNode.idl \
</span><span class="cx">     $(WebCore)/dom/ClientRect.idl \
</span><span class="cx">     $(WebCore)/dom/ClientRectList.idl \
</span><del>-    $(WebCore)/dom/Clipboard.idl \
</del><span class="cx">     $(WebCore)/dom/Comment.idl \
</span><span class="cx">     $(WebCore)/dom/CompositionEvent.idl \
</span><span class="cx">     $(WebCore)/dom/CustomEvent.idl \
</span><span class="lines">@@ -260,6 +259,7 @@
</span><span class="cx">     $(WebCore)/dom/DOMImplementation.idl \
</span><span class="cx">     $(WebCore)/dom/DOMStringList.idl \
</span><span class="cx">     $(WebCore)/dom/DOMStringMap.idl \
</span><ins>+    $(WebCore)/dom/DataTransfer.idl \
</ins><span class="cx">     $(WebCore)/dom/DataTransferItem.idl \
</span><span class="cx">     $(WebCore)/dom/DataTransferItemList.idl \
</span><span class="cx">     $(WebCore)/dom/DeviceMotionEvent.idl \
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCoreexpin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.exp.in (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.exp.in        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/WebCore.exp.in        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -78,7 +78,7 @@
</span><span class="cx"> __ZN7WebCore10JSDocument6s_infoE
</span><span class="cx"> __ZN7WebCore10LayoutRectC1ERKNS_9FloatRectE
</span><span class="cx"> __ZN7WebCore10MouseEvent6createERKN3WTF12AtomicStringENS1_10PassRefPtrINS_9DOMWindowEEERKNS_18PlatformMouseEventEiNS5_INS_4NodeEEE
</span><del>-__ZN7WebCore10MouseEvent6createERKN3WTF12AtomicStringEbbdNS1_10PassRefPtrINS_9DOMWindowEEEiiiiibbbbtNS5_INS_11EventTargetEEENS5_INS_9ClipboardEEEb
</del><ins>+__ZN7WebCore10MouseEvent6createERKN3WTF12AtomicStringEbbdNS1_10PassRefPtrINS_9DOMWindowEEEiiiiibbbbtNS5_INS_11EventTargetEEENS5_INS_12DataTransferEEEb
</ins><span class="cx"> __ZN7WebCore10Pasteboard14writePlainTextERKN3WTF6StringENS0_18SmartReplaceOptionE
</span><span class="cx"> __ZN7WebCore10Pasteboard21createForCopyAndPasteEv
</span><span class="cx"> __ZN7WebCore10RenderView10compositorEv
</span><span class="lines">@@ -189,6 +189,7 @@
</span><span class="cx"> __ZN7WebCore11startOfLineERKNS_15VisiblePositionE
</span><span class="cx"> __ZN7WebCore11startOfWordERKNS_15VisiblePositionENS_9EWordSideE
</span><span class="cx"> __ZN7WebCore11writeToFileEiPKci
</span><ins>+__ZN7WebCore12DataTransferD1Ev
</ins><span class="cx"> __ZN7WebCore12EditingStyleD1Ev
</span><span class="cx"> __ZN7WebCore12EventHandler10mouseMovedERKNS_18PlatformMouseEventE
</span><span class="cx"> __ZN7WebCore12EventHandler14scrollOverflowENS_15ScrollDirectionENS_17ScrollGranularityEPNS_4NodeE
</span><span class="lines">@@ -1307,7 +1308,6 @@
</span><span class="cx"> __ZN7WebCore8toStringERKN3WTF6VectorINS_11ProxyServerELm0ENS0_15CrashOnOverflowEEE
</span><span class="cx"> __ZN7WebCore8toUInt16EPN3JSC9ExecStateENS0_7JSValueENS_30IntegerConversionConfigurationE
</span><span class="cx"> __ZN7WebCore8toUInt64EPN3JSC9ExecStateENS0_7JSValueENS_30IntegerConversionConfigurationE
</span><del>-__ZN7WebCore9ClipboardD1Ev
</del><span class="cx"> __ZN7WebCore9DOMWindow30dispatchAllPendingUnloadEventsEv
</span><span class="cx"> __ZN7WebCore9DOMWindow36dispatchAllPendingBeforeUnloadEventsEv
</span><span class="cx"> __ZN7WebCore9FloatRect5scaleEff
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -995,20 +995,6 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSClipboard.cpp&quot;&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSCommandLineAPIHost.cpp&quot;&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -1345,6 +1331,20 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><ins>+    &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSDataTransfer.cpp&quot;&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+    &lt;/ClCompile&gt;
</ins><span class="cx">     &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSDataTransferItem.cpp&quot;&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -12377,7 +12377,7 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\dom\Clipboard.cpp&quot;&gt;
</del><ins>+    &lt;ClCompile Include=&quot;..\dom\ClipboardEvent.cpp&quot;&gt;
</ins><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -12391,7 +12391,7 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\dom\ClipboardEvent.cpp&quot;&gt;
</del><ins>+    &lt;ClCompile Include=&quot;..\dom\CollectionIndexCache.cpp&quot;&gt;
</ins><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -12405,7 +12405,7 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\dom\CollectionIndexCache.cpp&quot;&gt;
</del><ins>+    &lt;ClCompile Include=&quot;..\dom\Comment.cpp&quot;&gt;
</ins><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -12419,7 +12419,7 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\dom\Comment.cpp&quot;&gt;
</del><ins>+    &lt;ClCompile Include=&quot;..\dom\CompositionEvent.cpp&quot;&gt;
</ins><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -12433,7 +12433,7 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\dom\CompositionEvent.cpp&quot;&gt;
</del><ins>+    &lt;ClCompile Include=&quot;..\dom\ContainerNode.cpp&quot;&gt;
</ins><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -12447,7 +12447,7 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\dom\ContainerNode.cpp&quot;&gt;
</del><ins>+    &lt;ClCompile Include=&quot;..\dom\ContextDestructionObserver.cpp&quot;&gt;
</ins><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -12461,7 +12461,7 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\dom\ContextDestructionObserver.cpp&quot;&gt;
</del><ins>+    &lt;ClCompile Include=&quot;..\dom\CustomEvent.cpp&quot;&gt;
</ins><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -12475,7 +12475,7 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\dom\CustomEvent.cpp&quot;&gt;
</del><ins>+    &lt;ClCompile Include=&quot;..\dom\DatasetDOMStringMap.cpp&quot;&gt;
</ins><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -12489,7 +12489,7 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\dom\DatasetDOMStringMap.cpp&quot;&gt;
</del><ins>+    &lt;ClCompile Include=&quot;..\dom\DataTransfer.cpp&quot;&gt;
</ins><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -16054,7 +16054,7 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\bindings\js\JSClipboardCustom.cpp&quot;&gt;
</del><ins>+    &lt;ClCompile Include=&quot;..\bindings\js\JSCommandLineAPIHostCustom.cpp&quot;&gt;
</ins><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -16068,7 +16068,7 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\bindings\js\JSCommandLineAPIHostCustom.cpp&quot;&gt;
</del><ins>+    &lt;ClCompile Include=&quot;..\bindings\js\JSCSSRuleCustom.cpp&quot;&gt;
</ins><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -16082,7 +16082,7 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\bindings\js\JSCSSRuleCustom.cpp&quot;&gt;
</del><ins>+    &lt;ClCompile Include=&quot;..\bindings\js\JSCSSRuleListCustom.cpp&quot;&gt;
</ins><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -16096,7 +16096,7 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\bindings\js\JSCSSRuleListCustom.cpp&quot;&gt;
</del><ins>+    &lt;ClCompile Include=&quot;..\bindings\js\JSCSSStyleDeclarationCustom.cpp&quot;&gt;
</ins><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -16110,7 +16110,7 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\bindings\js\JSCSSStyleDeclarationCustom.cpp&quot;&gt;
</del><ins>+    &lt;ClCompile Include=&quot;..\bindings\js\JSCSSValueCustom.cpp&quot;&gt;
</ins><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -16124,7 +16124,7 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\bindings\js\JSCSSValueCustom.cpp&quot;&gt;
</del><ins>+    &lt;ClCompile Include=&quot;..\bindings\js\JSCustomSQLStatementErrorCallback.cpp&quot;&gt;
</ins><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -16138,7 +16138,7 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\bindings\js\JSCustomSQLStatementErrorCallback.cpp&quot;&gt;
</del><ins>+    &lt;ClCompile Include=&quot;..\bindings\js\JSCustomXPathNSResolver.cpp&quot;&gt;
</ins><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -16152,7 +16152,7 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\bindings\js\JSCustomXPathNSResolver.cpp&quot;&gt;
</del><ins>+    &lt;ClCompile Include=&quot;..\bindings\js\JSDataTransferCustom.cpp&quot;&gt;
</ins><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -18113,7 +18113,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSCharacterData.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSClientRect.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSClientRectList.h&quot; /&gt;
</span><del>-    &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSClipboard.h&quot; /&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSCommandLineAPIHost.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSComment.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSCompositionEvent.h&quot; /&gt;
</span><span class="lines">@@ -18138,6 +18137,7 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSCustomEvent.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSDatabase.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSDatabaseSync.h&quot; /&gt;
</span><ins>+    &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSDataTransfer.h&quot; /&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSDataTransferItem.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSDataTransferItemList.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\WebCore\DerivedSources\JSDedicatedWorkerGlobalScope.h&quot; /&gt;
</span><span class="lines">@@ -20232,8 +20232,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\dom\ClassNodeList.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\dom\ClientRect.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\dom\ClientRectList.h&quot; /&gt;
</span><del>-    &lt;ClInclude Include=&quot;..\dom\Clipboard.h&quot; /&gt;
-    &lt;ClInclude Include=&quot;..\dom\ClipboardAccessPolicy.h&quot; /&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;..\dom\ClipboardEvent.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\dom\CollectionIndexCache.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\dom\Comment.h&quot; /&gt;
</span><span class="lines">@@ -20243,6 +20241,8 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\dom\CrossThreadTask.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\dom\CustomEvent.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\dom\DatasetDOMStringMap.h&quot; /&gt;
</span><ins>+    &lt;ClInclude Include=&quot;..\dom\DataTransfer.h&quot; /&gt;
+    &lt;ClInclude Include=&quot;..\dom\DataTransferAccessPolicy.h&quot; /&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;..\dom\DataTransferItem.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\dom\DataTransferItemList.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\dom\DecodedDataDocumentParser.h&quot; /&gt;
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxprojfilters"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -3054,9 +3054,6 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\dom\ClientRectList.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;dom&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\dom\Clipboard.cpp&quot;&gt;
-      &lt;Filter&gt;dom&lt;/Filter&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\dom\ClipboardEvent.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;dom&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -3078,6 +3075,9 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\dom\DatasetDOMStringMap.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;dom&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><ins>+    &lt;ClCompile Include=&quot;..\dom\DataTransfer.cpp&quot;&gt;
+      &lt;Filter&gt;dom&lt;/Filter&gt;
+    &lt;/ClCompile&gt;
</ins><span class="cx">     &lt;ClCompile Include=&quot;..\dom\DataTransferItem.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;dom&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -4263,9 +4263,6 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\js\JSCDATASectionCustom.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bindings\js&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\bindings\js\JSClipboardCustom.cpp&quot;&gt;
-      &lt;Filter&gt;bindings\js&lt;/Filter&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\js\JSCommandLineAPIHostCustom.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bindings\js&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -4287,6 +4284,9 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\js\JSCustomXPathNSResolver.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bindings\js&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><ins>+    &lt;ClCompile Include=&quot;..\bindings\js\JSDataTransferCustom.cpp&quot;&gt;
+      &lt;Filter&gt;bindings\js&lt;/Filter&gt;
+    &lt;/ClCompile&gt;
</ins><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\js\JSDedicatedWorkerGlobalScopeCustom.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bindings\js&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -5224,9 +5224,6 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSClientRectList.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSClipboard.cpp&quot;&gt;
-      &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSCommandLineAPIHost.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -5299,6 +5296,9 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSDatabaseSync.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><ins>+    &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSDataTransfer.cpp&quot;&gt;
+      &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
+    &lt;/ClCompile&gt;
</ins><span class="cx">     &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSDataTransferItem.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -10003,12 +10003,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\dom\ClientRectList.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;dom&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><del>-    &lt;ClInclude Include=&quot;..\dom\Clipboard.h&quot;&gt;
-      &lt;Filter&gt;dom&lt;/Filter&gt;
-    &lt;/ClInclude&gt;
-    &lt;ClInclude Include=&quot;..\dom\ClipboardAccessPolicy.h&quot;&gt;
-      &lt;Filter&gt;dom&lt;/Filter&gt;
-    &lt;/ClInclude&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;..\dom\ClipboardEvent.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;dom&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><span class="lines">@@ -10033,6 +10027,12 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\dom\DatasetDOMStringMap.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;dom&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><ins>+    &lt;ClInclude Include=&quot;..\dom\DataTransfer.h&quot;&gt;
+      &lt;Filter&gt;dom&lt;/Filter&gt;
+    &lt;/ClInclude&gt;
+    &lt;ClInclude Include=&quot;..\dom\DataTransferAccessPolicy.h&quot;&gt;
+      &lt;Filter&gt;dom&lt;/Filter&gt;
+    &lt;/ClInclude&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;..\dom\DataTransferItem.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;dom&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><span class="lines">@@ -13038,9 +13038,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSClientRectList.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><del>-    &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSClipboard.h&quot;&gt;
-      &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
-    &lt;/ClInclude&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSCommandLineAPIHost.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><span class="lines">@@ -13113,6 +13110,9 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSDatabaseSync.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><ins>+    &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSDataTransfer.h&quot;&gt;
+      &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
+    &lt;/ClInclude&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSDataTransferItem.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -1715,7 +1715,7 @@
</span><span class="cx">                 4B3480940EEF50D400AC1B41 /* ImageSourceCG.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B3480920EEF50D400AC1B41 /* ImageSourceCG.h */; };
</span><span class="cx">                 4B6FA6F40C39E48C00087011 /* SmartReplace.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B6FA6F20C39E48C00087011 /* SmartReplace.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 4B6FA6F70C39E4A100087011 /* SmartReplaceCF.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B6FA6F60C39E4A100087011 /* SmartReplaceCF.cpp */; };
</span><del>-                4B8AF4AA0B1CE02B00687690 /* ClipboardAccessPolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B8AF4A90B1CE02B00687690 /* ClipboardAccessPolicy.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><ins>+                4B8AF4AA0B1CE02B00687690 /* DataTransferAccessPolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B8AF4A90B1CE02B00687690 /* DataTransferAccessPolicy.h */; settings = {ATTRIBUTES = (Private, ); }; };
</ins><span class="cx">                 4BAE95B10B2FA9CE00AED8A0 /* EditorDeleteAction.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BAE95B00B2FA9CE00AED8A0 /* EditorDeleteAction.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 4E1959210A39DABA00220FE5 /* MediaFeatureNames.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4E19591F0A39DABA00220FE5 /* MediaFeatureNames.cpp */; };
</span><span class="cx">                 4E1959220A39DABA00220FE5 /* MediaFeatureNames.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E1959200A39DABA00220FE5 /* MediaFeatureNames.h */; };
</span><span class="lines">@@ -2493,7 +2493,7 @@
</span><span class="cx">                 84D0C4061115F1EA0018AA34 /* AffineTransform.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D0C4051115F1EA0018AA34 /* AffineTransform.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 85031B3C0A44EFC700F992E0 /* BeforeUnloadEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 85031B260A44EFC700F992E0 /* BeforeUnloadEvent.cpp */; };
</span><span class="cx">                 85031B3D0A44EFC700F992E0 /* BeforeUnloadEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 85031B270A44EFC700F992E0 /* BeforeUnloadEvent.h */; };
</span><del>-                85031B3E0A44EFC700F992E0 /* Clipboard.h in Headers */ = {isa = PBXBuildFile; fileRef = 85031B280A44EFC700F992E0 /* Clipboard.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><ins>+                85031B3E0A44EFC700F992E0 /* DataTransfer.h in Headers */ = {isa = PBXBuildFile; fileRef = 85031B280A44EFC700F992E0 /* DataTransfer.h */; settings = {ATTRIBUTES = (Private, ); }; };
</ins><span class="cx">                 85031B3F0A44EFC700F992E0 /* ClipboardEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 85031B290A44EFC700F992E0 /* ClipboardEvent.cpp */; };
</span><span class="cx">                 85031B400A44EFC700F992E0 /* ClipboardEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 85031B2A0A44EFC700F992E0 /* ClipboardEvent.h */; };
</span><span class="cx">                 85031B410A44EFC700F992E0 /* Event.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 85031B2B0A44EFC700F992E0 /* Event.cpp */; };
</span><span class="lines">@@ -3274,7 +3274,7 @@
</span><span class="cx">                 93F19AE608245E59001E9ABC /* SSLKeyGeneratorMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84B2B24F056BF15F00D2B771 /* SSLKeyGeneratorMac.cpp */; };
</span><span class="cx">                 93F19AF808245E59001E9ABC /* Position.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE91FC8C06133666005E3790 /* Position.cpp */; };
</span><span class="cx">                 93F19AFD08245E59001E9ABC /* HTMLCanvasElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51F6A3D50663BF04004D2919 /* HTMLCanvasElement.cpp */; };
</span><del>-                93F19AFF08245E59001E9ABC /* ClipboardMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2D90660C0665D937006B6F1A /* ClipboardMac.mm */; };
</del><ins>+                93F19AFF08245E59001E9ABC /* DataTransferMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2D90660C0665D937006B6F1A /* DataTransferMac.mm */; };
</ins><span class="cx">                 93F19B0308245E59001E9ABC /* XSLStyleSheetLibxslt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC06F24906D18A7E004A6FA3 /* XSLStyleSheetLibxslt.cpp */; };
</span><span class="cx">                 93F19B0408245E59001E9ABC /* XSLTProcessor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC06F24B06D18A7E004A6FA3 /* XSLTProcessor.cpp */; };
</span><span class="cx">                 93F19B0508245E59001E9ABC /* XSLTProcessorLibxslt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC06F24D06D18A7E004A6FA3 /* XSLTProcessorLibxslt.cpp */; };
</span><span class="lines">@@ -3777,7 +3777,7 @@
</span><span class="cx">                 A77E1FEF14AACB6E005B7CB6 /* TreeScopeAdopter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A77E1FED14AACB6E005B7CB6 /* TreeScopeAdopter.cpp */; };
</span><span class="cx">                 A77E1FF014AACB6E005B7CB6 /* TreeScopeAdopter.h in Headers */ = {isa = PBXBuildFile; fileRef = A77E1FEE14AACB6E005B7CB6 /* TreeScopeAdopter.h */; };
</span><span class="cx">                 A781C6A713828B5D0012A62A /* DocumentMarker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A781C6A613828B5D0012A62A /* DocumentMarker.cpp */; };
</span><del>-                A784941B0B5FE507001E237A /* Clipboard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A784941A0B5FE507001E237A /* Clipboard.cpp */; };
</del><ins>+                A784941B0B5FE507001E237A /* DataTransfer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A784941A0B5FE507001E237A /* DataTransfer.cpp */; };
</ins><span class="cx">                 A78E526F1346BD1700AD9C31 /* MeterShadowElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A78E526D1346BD1700AD9C31 /* MeterShadowElement.cpp */; };
</span><span class="cx">                 A78E52701346BD1700AD9C31 /* MeterShadowElement.h in Headers */ = {isa = PBXBuildFile; fileRef = A78E526E1346BD1700AD9C31 /* MeterShadowElement.h */; };
</span><span class="cx">                 A78FE13B12366B1000ACE8D0 /* SpellChecker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A78FE13912366B1000ACE8D0 /* SpellChecker.cpp */; };
</span><span class="lines">@@ -5195,9 +5195,9 @@
</span><span class="cx">                 BCA257151293C010007A263D /* VerticalPositionCache.h in Headers */ = {isa = PBXBuildFile; fileRef = BCA257141293C010007A263D /* VerticalPositionCache.h */; };
</span><span class="cx">                 BCA2B061105047600043BD1C /* UserScript.h in Headers */ = {isa = PBXBuildFile; fileRef = BCA2B0601050475F0043BD1C /* UserScript.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 BCA2B08B10505BCD0043BD1C /* UserScriptTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = BCA2B08A10505BCD0043BD1C /* UserScriptTypes.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><del>-                BCA83E4F0D7CE1E9003421A8 /* JSClipboard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCA83E4D0D7CE1E9003421A8 /* JSClipboard.cpp */; };
-                BCA83E500D7CE1E9003421A8 /* JSClipboard.h in Headers */ = {isa = PBXBuildFile; fileRef = BCA83E4E0D7CE1E9003421A8 /* JSClipboard.h */; };
-                BCA83E520D7CE205003421A8 /* JSClipboardCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCA83E510D7CE205003421A8 /* JSClipboardCustom.cpp */; };
</del><ins>+                BCA83E4F0D7CE1E9003421A8 /* JSDataTransfer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCA83E4D0D7CE1E9003421A8 /* JSDataTransfer.cpp */; };
+                BCA83E500D7CE1E9003421A8 /* JSDataTransfer.h in Headers */ = {isa = PBXBuildFile; fileRef = BCA83E4E0D7CE1E9003421A8 /* JSDataTransfer.h */; };
+                BCA83E520D7CE205003421A8 /* JSDataTransferCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCA83E510D7CE205003421A8 /* JSDataTransferCustom.cpp */; };
</ins><span class="cx">                 BCA846D60DC67A350026C309 /* RenderReplica.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCA846D40DC67A350026C309 /* RenderReplica.cpp */; };
</span><span class="cx">                 BCA846D70DC67A350026C309 /* RenderReplica.h in Headers */ = {isa = PBXBuildFile; fileRef = BCA846D50DC67A350026C309 /* RenderReplica.h */; };
</span><span class="cx">                 BCA8C81E11E3D36900812FB7 /* BackForwardController.h in Headers */ = {isa = PBXBuildFile; fileRef = BCA8C81C11E3D36900812FB7 /* BackForwardController.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -7959,7 +7959,7 @@
</span><span class="cx">                 2D8FEBDB143E3EF70072502B /* CSSCrossfadeValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CSSCrossfadeValue.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 2D9066040BE141D400956998 /* LayoutState.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = LayoutState.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 2D9066050BE141D400956998 /* LayoutState.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = LayoutState.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                2D90660C0665D937006B6F1A /* ClipboardMac.mm */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ClipboardMac.mm; sourceTree = &quot;&lt;group&gt;&quot;; tabWidth = 8; usesTabs = 0; };
</del><ins>+                2D90660C0665D937006B6F1A /* DataTransferMac.mm */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DataTransferMac.mm; sourceTree = &quot;&lt;group&gt;&quot;; tabWidth = 8; usesTabs = 0; };
</ins><span class="cx">                 2D9A246A15B9BBDD00D34527 /* DOMSecurityPolicy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DOMSecurityPolicy.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 2D9A246B15B9BBDD00D34527 /* DOMSecurityPolicy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMSecurityPolicy.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 2D9A247015B9C29500D34527 /* DOMDOMSecurityPolicy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMDOMSecurityPolicy.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -8686,7 +8686,7 @@
</span><span class="cx">                 4B3480920EEF50D400AC1B41 /* ImageSourceCG.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageSourceCG.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 4B6FA6F20C39E48C00087011 /* SmartReplace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SmartReplace.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 4B6FA6F60C39E4A100087011 /* SmartReplaceCF.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SmartReplaceCF.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                4B8AF4A90B1CE02B00687690 /* ClipboardAccessPolicy.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ClipboardAccessPolicy.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><ins>+                4B8AF4A90B1CE02B00687690 /* DataTransferAccessPolicy.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DataTransferAccessPolicy.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 4BAE95B00B2FA9CE00AED8A0 /* EditorDeleteAction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EditorDeleteAction.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 4E19591F0A39DABA00220FE5 /* MediaFeatureNames.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = MediaFeatureNames.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 4E1959200A39DABA00220FE5 /* MediaFeatureNames.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MediaFeatureNames.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -9538,7 +9538,7 @@
</span><span class="cx">                 84D0C4051115F1EA0018AA34 /* AffineTransform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AffineTransform.h; path = transforms/AffineTransform.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 85031B260A44EFC700F992E0 /* BeforeUnloadEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = BeforeUnloadEvent.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 85031B270A44EFC700F992E0 /* BeforeUnloadEvent.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = BeforeUnloadEvent.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                85031B280A44EFC700F992E0 /* Clipboard.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Clipboard.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><ins>+                85031B280A44EFC700F992E0 /* DataTransfer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DataTransfer.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 85031B290A44EFC700F992E0 /* ClipboardEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ClipboardEvent.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 85031B2A0A44EFC700F992E0 /* ClipboardEvent.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ClipboardEvent.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 85031B2B0A44EFC700F992E0 /* Event.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Event.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -10835,7 +10835,7 @@
</span><span class="cx">                 A77E1FED14AACB6E005B7CB6 /* TreeScopeAdopter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TreeScopeAdopter.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A77E1FEE14AACB6E005B7CB6 /* TreeScopeAdopter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TreeScopeAdopter.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A781C6A613828B5D0012A62A /* DocumentMarker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DocumentMarker.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                A784941A0B5FE507001E237A /* Clipboard.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Clipboard.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><ins>+                A784941A0B5FE507001E237A /* DataTransfer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = DataTransfer.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 A78E526D1346BD1700AD9C31 /* MeterShadowElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MeterShadowElement.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A78E526E1346BD1700AD9C31 /* MeterShadowElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MeterShadowElement.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A78FE13912366B1000ACE8D0 /* SpellChecker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SpellChecker.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -12477,10 +12477,10 @@
</span><span class="cx">                 BCA2B08A10505BCD0043BD1C /* UserScriptTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UserScriptTypes.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BCA378BA0D15F64200B793D6 /* ScheduledAction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScheduledAction.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BCA378BB0D15F64200B793D6 /* ScheduledAction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScheduledAction.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                BCA83E360D7CDC4E003421A8 /* Clipboard.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Clipboard.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
-                BCA83E4D0D7CE1E9003421A8 /* JSClipboard.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSClipboard.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
-                BCA83E4E0D7CE1E9003421A8 /* JSClipboard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSClipboard.h; sourceTree = &quot;&lt;group&gt;&quot;; };
-                BCA83E510D7CE205003421A8 /* JSClipboardCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSClipboardCustom.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><ins>+                BCA83E360D7CDC4E003421A8 /* DataTransfer.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DataTransfer.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
+                BCA83E4D0D7CE1E9003421A8 /* JSDataTransfer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSDataTransfer.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                BCA83E4E0D7CE1E9003421A8 /* JSDataTransfer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSDataTransfer.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                BCA83E510D7CE205003421A8 /* JSDataTransferCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSDataTransferCustom.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 BCA846D40DC67A350026C309 /* RenderReplica.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderReplica.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BCA846D50DC67A350026C309 /* RenderReplica.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderReplica.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BCA8C81C11E3D36900812FB7 /* BackForwardController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BackForwardController.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -18942,12 +18942,12 @@
</span><span class="cx">                                 93F9B79F0BA6032600854064 /* JSCDATASection.h */,
</span><span class="cx">                                 65DF31DF09D1CC60000BE325 /* JSCharacterData.cpp */,
</span><span class="cx">                                 65DF31E009D1CC60000BE325 /* JSCharacterData.h */,
</span><del>-                                BCA83E4D0D7CE1E9003421A8 /* JSClipboard.cpp */,
-                                BCA83E4E0D7CE1E9003421A8 /* JSClipboard.h */,
</del><span class="cx">                                 93F9B6DE0BA0FB7200854064 /* JSComment.cpp */,
</span><span class="cx">                                 93F9B6DF0BA0FB7200854064 /* JSComment.h */,
</span><span class="cx">                                 FE6FD48B0F676E9300092873 /* JSCoordinates.cpp */,
</span><span class="cx">                                 FE6FD48C0F676E9300092873 /* JSCoordinates.h */,
</span><ins>+                                BCA83E4D0D7CE1E9003421A8 /* JSDataTransfer.cpp */,
+                                BCA83E4E0D7CE1E9003421A8 /* JSDataTransfer.h */,
</ins><span class="cx">                                 31FB1A63120A5D3F00DC02A0 /* JSDeviceMotionEvent.cpp */,
</span><span class="cx">                                 31FB1A64120A5D3F00DC02A0 /* JSDeviceMotionEvent.h */,
</span><span class="cx">                                 59A86005119DAF7F00DEF1EF /* JSDeviceOrientationEvent.cpp */,
</span><span class="lines">@@ -20519,7 +20519,6 @@
</span><span class="cx">                                 49EED14B1051971900099FAB /* JSCanvasRenderingContext2DCustom.cpp */,
</span><span class="cx">                                 49EED14D1051971A00099FAB /* JSCanvasRenderingContextCustom.cpp */,
</span><span class="cx">                                 93BA59B10F2AA5FE008E8E99 /* JSCDATASectionCustom.cpp */,
</span><del>-                                BCA83E510D7CE205003421A8 /* JSClipboardCustom.cpp */,
</del><span class="cx">                                 A584FE371864DAC100843B10 /* JSCommandLineAPIHostCustom.cpp */,
</span><span class="cx">                                 209B456A16796A7E00E54E4E /* JSCryptoCustom.cpp */,
</span><span class="cx">                                 E157A8E618184C67009F821D /* JSCryptoKeyCustom.cpp */,
</span><span class="lines">@@ -20530,6 +20529,7 @@
</span><span class="cx">                                 BC5825F20C0B89380053F1B5 /* JSCSSStyleDeclarationCustom.cpp */,
</span><span class="cx">                                 AD726FEA16D9F40B003A4E6D /* JSCSSStyleDeclarationCustom.h */,
</span><span class="cx">                                 BC20FB7E0C0E8E6C00D1447F /* JSCSSValueCustom.cpp */,
</span><ins>+                                BCA83E510D7CE205003421A8 /* JSDataTransferCustom.cpp */,
</ins><span class="cx">                                 4162A453101145E300DFF3ED /* JSDedicatedWorkerGlobalScopeCustom.cpp */,
</span><span class="cx">                                 31FB1A6B120A5D6900DC02A0 /* JSDeviceMotionEventCustom.cpp */,
</span><span class="cx">                                 590E1B4A11E4EF700069F784 /* JSDeviceOrientationEventCustom.cpp */,
</span><span class="lines">@@ -22138,13 +22138,8 @@
</span><span class="cx">                                 BCC0657A0F3CE1B700CD2D87 /* ClientRectList.cpp */,
</span><span class="cx">                                 BCC0657B0F3CE1B700CD2D87 /* ClientRectList.h */,
</span><span class="cx">                                 BCC0657C0F3CE1B700CD2D87 /* ClientRectList.idl */,
</span><del>-                                A784941A0B5FE507001E237A /* Clipboard.cpp */,
-                                85031B280A44EFC700F992E0 /* Clipboard.h */,
-                                BCA83E360D7CDC4E003421A8 /* Clipboard.idl */,
-                                4B8AF4A90B1CE02B00687690 /* ClipboardAccessPolicy.h */,
</del><span class="cx">                                 85031B290A44EFC700F992E0 /* ClipboardEvent.cpp */,
</span><span class="cx">                                 85031B2A0A44EFC700F992E0 /* ClipboardEvent.h */,
</span><del>-                                2D90660C0665D937006B6F1A /* ClipboardMac.mm */,
</del><span class="cx">                                 E425A49918292B840020CFCF /* CollectionIndexCache.h */,
</span><span class="cx">                                 9BD8A95918BEFC7600987E9A /* CollectionIndexCache.cpp */,
</span><span class="cx">                                 6550B697099DF0270090D781 /* Comment.cpp */,
</span><span class="lines">@@ -22163,6 +22158,11 @@
</span><span class="cx">                                 62CD32561157E57C0063B0A7 /* CustomEvent.cpp */,
</span><span class="cx">                                 62CD32571157E57C0063B0A7 /* CustomEvent.h */,
</span><span class="cx">                                 62CD32581157E57C0063B0A7 /* CustomEvent.idl */,
</span><ins>+                                A784941A0B5FE507001E237A /* DataTransfer.cpp */,
+                                85031B280A44EFC700F992E0 /* DataTransfer.h */,
+                                BCA83E360D7CDC4E003421A8 /* DataTransfer.idl */,
+                                2D90660C0665D937006B6F1A /* DataTransferMac.mm */,
+                                4B8AF4A90B1CE02B00687690 /* DataTransferAccessPolicy.h */,
</ins><span class="cx">                                 BC64641B11D7F416006455B0 /* DatasetDOMStringMap.cpp */,
</span><span class="cx">                                 BC64641A11D7F416006455B0 /* DatasetDOMStringMap.h */,
</span><span class="cx">                                 81AC5997131636E60009A7E0 /* DataTransferItem.h */,
</span><span class="lines">@@ -23121,8 +23121,8 @@
</span><span class="cx">                                 BC904B770D10998F00680D32 /* ClassNodeList.h in Headers */,
</span><span class="cx">                                 BCC0657E0F3CE1B700CD2D87 /* ClientRect.h in Headers */,
</span><span class="cx">                                 BCC065810F3CE1B700CD2D87 /* ClientRectList.h in Headers */,
</span><del>-                                85031B3E0A44EFC700F992E0 /* Clipboard.h in Headers */,
-                                4B8AF4AA0B1CE02B00687690 /* ClipboardAccessPolicy.h in Headers */,
</del><ins>+                                85031B3E0A44EFC700F992E0 /* DataTransfer.h in Headers */,
+                                4B8AF4AA0B1CE02B00687690 /* DataTransferAccessPolicy.h in Headers */,
</ins><span class="cx">                                 85031B400A44EFC700F992E0 /* ClipboardEvent.h in Headers */,
</span><span class="cx">                                 FB92DF4B15FED08700994433 /* ClipPathOperation.h in Headers */,
</span><span class="cx">                                 97AABD1314FA09D5007457AE /* CloseEvent.h in Headers */,
</span><span class="lines">@@ -24272,7 +24272,7 @@
</span><span class="cx">                                 65DF31F409D1CC60000BE325 /* JSCharacterData.h in Headers */,
</span><span class="cx">                                 BCC065880F3CE2A700CD2D87 /* JSClientRect.h in Headers */,
</span><span class="cx">                                 BCC0658A0F3CE2A700CD2D87 /* JSClientRectList.h in Headers */,
</span><del>-                                BCA83E500D7CE1E9003421A8 /* JSClipboard.h in Headers */,
</del><ins>+                                BCA83E500D7CE1E9003421A8 /* JSDataTransfer.h in Headers */,
</ins><span class="cx">                                 51FB5504113E3E9100821176 /* JSCloseEvent.h in Headers */,
</span><span class="cx">                                 A584FE3C1864E2D800843B10 /* JSCommandLineAPIHost.h in Headers */,
</span><span class="cx">                                 93F9B6E10BA0FB7200854064 /* JSComment.h in Headers */,
</span><span class="lines">@@ -26783,9 +26783,9 @@
</span><span class="cx">                                 BC904B760D10998F00680D32 /* ClassNodeList.cpp in Sources */,
</span><span class="cx">                                 BCC0657D0F3CE1B700CD2D87 /* ClientRect.cpp in Sources */,
</span><span class="cx">                                 BCC065800F3CE1B700CD2D87 /* ClientRectList.cpp in Sources */,
</span><del>-                                A784941B0B5FE507001E237A /* Clipboard.cpp in Sources */,
</del><ins>+                                A784941B0B5FE507001E237A /* DataTransfer.cpp in Sources */,
</ins><span class="cx">                                 85031B3F0A44EFC700F992E0 /* ClipboardEvent.cpp in Sources */,
</span><del>-                                93F19AFF08245E59001E9ABC /* ClipboardMac.mm in Sources */,
</del><ins>+                                93F19AFF08245E59001E9ABC /* DataTransferMac.mm in Sources */,
</ins><span class="cx">                                 CDEA76351460B71A008B31F1 /* Clock.cpp in Sources */,
</span><span class="cx">                                 CDEA76341460B56F008B31F1 /* ClockGeneric.cpp in Sources */,
</span><span class="cx">                                 B27535660B053814002CE64F /* Color.cpp in Sources */,
</span><span class="lines">@@ -27674,8 +27674,8 @@
</span><span class="cx">                                 65DF31F309D1CC60000BE325 /* JSCharacterData.cpp in Sources */,
</span><span class="cx">                                 BCC065870F3CE2A700CD2D87 /* JSClientRect.cpp in Sources */,
</span><span class="cx">                                 BCC065890F3CE2A700CD2D87 /* JSClientRectList.cpp in Sources */,
</span><del>-                                BCA83E4F0D7CE1E9003421A8 /* JSClipboard.cpp in Sources */,
-                                BCA83E520D7CE205003421A8 /* JSClipboardCustom.cpp in Sources */,
</del><ins>+                                BCA83E4F0D7CE1E9003421A8 /* JSDataTransfer.cpp in Sources */,
+                                BCA83E520D7CE205003421A8 /* JSDataTransferCustom.cpp in Sources */,
</ins><span class="cx">                                 51FB5505113E3E9100821176 /* JSCloseEvent.cpp in Sources */,
</span><span class="cx">                                 A584FE3B1864E2D800843B10 /* JSCommandLineAPIHost.cpp in Sources */,
</span><span class="cx">                                 A584FE381864DAC100843B10 /* JSCommandLineAPIHostCustom.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSBindingsAllInOnecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -43,7 +43,6 @@
</span><span class="cx"> #include &quot;JSCallbackData.cpp&quot;
</span><span class="cx"> #include &quot;JSCanvasRenderingContext2DCustom.cpp&quot;
</span><span class="cx"> #include &quot;JSCanvasRenderingContextCustom.cpp&quot;
</span><del>-#include &quot;JSClipboardCustom.cpp&quot;
</del><span class="cx"> #include &quot;JSCommandLineAPIHostCustom.cpp&quot;
</span><span class="cx"> #include &quot;JSCryptoCustom.cpp&quot;
</span><span class="cx"> #include &quot;JSCustomSQLStatementErrorCallback.cpp&quot;
</span><span class="lines">@@ -62,6 +61,7 @@
</span><span class="cx"> #include &quot;JSDOMWindowCustom.cpp&quot;
</span><span class="cx"> #include &quot;JSDOMWindowShell.cpp&quot;
</span><span class="cx"> #include &quot;JSDOMWrapper.cpp&quot;
</span><ins>+#include &quot;JSDataTransferCustom.cpp&quot;
</ins><span class="cx"> #include &quot;JSDedicatedWorkerGlobalScopeCustom.cpp&quot;
</span><span class="cx"> #include &quot;JSDeviceOrientationEventCustom.cpp&quot;
</span><span class="cx"> #include &quot;JSDictionary.cpp&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSClipboardCustomcpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/bindings/js/JSClipboardCustom.cpp (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSClipboardCustom.cpp        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/bindings/js/JSClipboardCustom.cpp        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -1,44 +0,0 @@
</span><del>-/*
- * Copyright (C) 2008, 2013 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1.  Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- * 2.  Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- * 3.  Neither the name of Apple Inc. (&quot;Apple&quot;) nor the names of
- *     its contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS &quot;AS IS&quot; AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include &quot;config.h&quot;
-#include &quot;JSClipboard.h&quot;
-
-#include &quot;Clipboard.h&quot;
-
-using namespace JSC;
-
-namespace WebCore {
-
-JSValue JSClipboard::types(ExecState* exec) const
-{
-    Vector&lt;String&gt; types = impl().types();
-    return types.isEmpty() ? jsNull() : jsArray(exec, globalObject(), types);
-}
-
-} // namespace WebCore
</del></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDataTransferCustomcppfromrev166873trunkSourceWebCorebindingsjsJSClipboardCustomcpp"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/bindings/js/JSDataTransferCustom.cpp (from rev 166873, trunk/Source/WebCore/bindings/js/JSClipboardCustom.cpp) (0 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDataTransferCustom.cpp                                (rev 0)
+++ trunk/Source/WebCore/bindings/js/JSDataTransferCustom.cpp        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -0,0 +1,44 @@
</span><ins>+/*
+ * Copyright (C) 2008, 2013 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1.  Redistributions of source code must retain the above copyright
+ *     notice, this list of conditions and the following disclaimer.
+ * 2.  Redistributions in binary form must reproduce the above copyright
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution.
+ * 3.  Neither the name of Apple Inc. (&quot;Apple&quot;) nor the names of
+ *     its contributors may be used to endorse or promote products derived
+ *     from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS &quot;AS IS&quot; AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include &quot;config.h&quot;
+#include &quot;JSDataTransfer.h&quot;
+
+#include &quot;DataTransfer.h&quot;
+
+using namespace JSC;
+
+namespace WebCore {
+
+JSValue JSDataTransfer::types(ExecState* exec) const
+{
+    Vector&lt;String&gt; types = impl().types();
+    return types.isEmpty() ? jsNull() : jsArray(exec, globalObject(), types);
+}
+
+} // namespace WebCore
</ins></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSEventCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSEventCustom.cpp (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSEventCustom.cpp        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/bindings/js/JSEventCustom.cpp        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -29,12 +29,12 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;JSEvent.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;Clipboard.h&quot;
</del><ins>+#include &quot;DataTransfer.h&quot;
</ins><span class="cx"> #include &quot;Event.h&quot;
</span><span class="cx"> #include &quot;EventHeaders.h&quot;
</span><span class="cx"> #include &quot;EventInterfaces.h&quot;
</span><span class="cx"> #include &quot;EventNames.h&quot;
</span><del>-#include &quot;JSClipboard.h&quot;
</del><ins>+#include &quot;JSDataTransfer.h&quot;
</ins><span class="cx"> #include &lt;runtime/JSLock.h&gt;
</span><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #include &lt;wtf/text/AtomicString.h&gt;
</span></span></pre></div>
<a id="trunkSourceWebCoredomClipboardcpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/dom/Clipboard.cpp (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Clipboard.cpp        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/dom/Clipboard.cpp        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -1,422 +0,0 @@
</span><del>-/*
- * Copyright (C) 2006, 2007, 2008, 2013 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
- */
-
-#include &quot;config.h&quot;
-#include &quot;Clipboard.h&quot;
-
-#include &quot;CachedImage.h&quot;
-#include &quot;CachedImageClient.h&quot;
-#include &quot;DragData.h&quot;
-#include &quot;Editor.h&quot;
-#include &quot;FileList.h&quot;
-#include &quot;Frame.h&quot;
-#include &quot;FrameLoader.h&quot;
-#include &quot;HTMLImageElement.h&quot;
-#include &quot;Image.h&quot;
-#include &quot;Pasteboard.h&quot;
-
-namespace WebCore {
-
-#if ENABLE(DRAG_SUPPORT)
-
-class DragImageLoader final : private CachedImageClient {
-    WTF_MAKE_NONCOPYABLE(DragImageLoader); WTF_MAKE_FAST_ALLOCATED;
-public:
-    explicit DragImageLoader(Clipboard*);
-    void startLoading(CachedResourceHandle&lt;CachedImage&gt;&amp;);
-    void stopLoading(CachedResourceHandle&lt;CachedImage&gt;&amp;);
-
-private:
-    virtual void imageChanged(CachedImage*, const IntRect*) override;
-    Clipboard* m_clipboard;
-};
-
-#endif
-
-Clipboard::Clipboard(ClipboardAccessPolicy policy, PassOwnPtr&lt;Pasteboard&gt; pasteboard, ClipboardType type, bool forFileDrag)
-    : m_policy(policy)
-    , m_pasteboard(pasteboard)
-#if ENABLE(DRAG_SUPPORT)
-    , m_forDrag(type != CopyAndPaste)
-    , m_forFileDrag(forFileDrag)
-    , m_dropEffect(ASCIILiteral(&quot;uninitialized&quot;))
-    , m_effectAllowed(ASCIILiteral(&quot;uninitialized&quot;))
-    , m_shouldUpdateDragImage(false)
-#endif
-{
-#if !ENABLE(DRAG_SUPPORT)
-    ASSERT_UNUSED(type, type == CopyAndPaste);
-    ASSERT_UNUSED(forFileDrag, !forFileDrag);
-#endif
-}
-
-PassRefPtr&lt;Clipboard&gt; Clipboard::createForCopyAndPaste(ClipboardAccessPolicy policy)
-{
-    return adoptRef(new Clipboard(policy, policy == ClipboardWritable ? Pasteboard::createPrivate() : Pasteboard::createForCopyAndPaste()));
-}
-
-Clipboard::~Clipboard()
-{
-#if ENABLE(DRAG_SUPPORT)
-    if (m_dragImageLoader &amp;&amp; m_dragImage)
-        m_dragImageLoader-&gt;stopLoading(m_dragImage);
-#endif
-}
-    
-void Clipboard::setAccessPolicy(ClipboardAccessPolicy policy)
-{
-    // Once the clipboard goes numb, it can never go back.
-    ASSERT(m_policy != ClipboardNumb || policy == ClipboardNumb);
-    m_policy = policy;
-}
-
-bool Clipboard::canReadTypes() const
-{
-    return m_policy == ClipboardReadable || m_policy == ClipboardTypesReadable || m_policy == ClipboardWritable;
-}
-
-bool Clipboard::canReadData() const
-{
-    return m_policy == ClipboardReadable || m_policy == ClipboardWritable;
-}
-
-bool Clipboard::canWriteData() const
-{
-    return m_policy == ClipboardWritable;
-}
-
-void Clipboard::clearData(const String&amp; type)
-{
-    if (!canWriteData())
-        return;
-
-    m_pasteboard-&gt;clear(type);
-}
-
-void Clipboard::clearData()
-{
-    if (!canWriteData())
-        return;
-
-    m_pasteboard-&gt;clear();
-}
-
-String Clipboard::getData(const String&amp; type) const
-{
-    if (!canReadData())
-        return String();
-
-#if ENABLE(DRAG_SUPPORT)
-    if (m_forFileDrag)
-        return String();
-#endif
-
-    return m_pasteboard-&gt;readString(type);
-}
-
-bool Clipboard::setData(const String&amp; type, const String&amp; data)
-{
-    if (!canWriteData())
-        return false;
-
-#if ENABLE(DRAG_SUPPORT)
-    if (m_forFileDrag)
-        return false;
-#endif
-
-    return m_pasteboard-&gt;writeString(type, data);
-}
-
-Vector&lt;String&gt; Clipboard::types() const
-{
-    if (!canReadTypes())
-        return Vector&lt;String&gt;();
-
-    return m_pasteboard-&gt;types();
-}
-
-PassRefPtr&lt;FileList&gt; Clipboard::files() const
-{
-    // FIXME: We could cache the computed file list if it was necessary and helpful.
-    // Currently, each access gets a new copy, and thus setData() modifications to the
-    // clipboard are not reflected in any FileList objects the page has accessed and stored.
-
-    if (!canReadData())
-        return FileList::create();
-
-#if ENABLE(DRAG_SUPPORT)
-    if (m_forDrag &amp;&amp; !m_forFileDrag)
-        return FileList::create();
-#endif
-
-    Vector&lt;String&gt; filenames = m_pasteboard-&gt;readFilenames();
-    RefPtr&lt;FileList&gt; fileList = FileList::create();
-    for (size_t i = 0; i &lt; filenames.size(); ++i)
-        fileList-&gt;append(File::create(filenames[i], File::AllContentTypes));
-    return fileList.release();
-}
-
-#if !ENABLE(DRAG_SUPPORT)
-
-String Clipboard::dropEffect() const
-{
-    return ASCIILiteral(&quot;none&quot;);
-}
-
-void Clipboard::setDropEffect(const String&amp;)
-{
-}
-
-String Clipboard::effectAllowed() const
-{
-    return ASCIILiteral(&quot;uninitialized&quot;);
-}
-
-void Clipboard::setEffectAllowed(const String&amp;)
-{
-}
-
-void Clipboard::setDragImage(Element*, int, int)
-{
-}
-
-#else
-
-PassRefPtr&lt;Clipboard&gt; Clipboard::createForDragAndDrop()
-{
-    return adoptRef(new Clipboard(ClipboardWritable, Pasteboard::createForDragAndDrop(), DragAndDrop));
-}
-
-PassRefPtr&lt;Clipboard&gt; Clipboard::createForDragAndDrop(ClipboardAccessPolicy policy, const DragData&amp; dragData)
-{
-    return adoptRef(new Clipboard(policy, Pasteboard::createForDragAndDrop(dragData), DragAndDrop, dragData.containsFiles()));
-}
-
-bool Clipboard::canSetDragImage() const
-{
-    // Note that the spec doesn't actually allow drag image modification outside the dragstart
-    // event. This capability is maintained for backwards compatiblity for ports that have
-    // supported this in the past. On many ports, attempting to set a drag image outside the
-    // dragstart operation is a no-op anyway.
-    return m_forDrag &amp;&amp; (m_policy == ClipboardImageWritable || m_policy == ClipboardWritable);
-}
-
-void Clipboard::setDragImage(Element* element, int x, int y)
-{
-    if (!canSetDragImage())
-        return;
-
-    CachedImage* image;
-    if (element &amp;&amp; isHTMLImageElement(element) &amp;&amp; !element-&gt;inDocument())
-        image = toHTMLImageElement(element)-&gt;cachedImage();
-    else
-        image = 0;
-
-    m_dragLocation = IntPoint(x, y);
-
-    if (m_dragImageLoader &amp;&amp; m_dragImage)
-        m_dragImageLoader-&gt;stopLoading(m_dragImage);
-    m_dragImage = image;
-    if (m_dragImage) {
-        if (!m_dragImageLoader)
-            m_dragImageLoader = std::make_unique&lt;DragImageLoader&gt;(this);
-        m_dragImageLoader-&gt;startLoading(m_dragImage);
-    }
-
-    m_dragImageElement = image ? 0 : element;
-
-    updateDragImage();
-}
-
-void Clipboard::updateDragImage()
-{
-    // Don't allow setting the image if we haven't started dragging yet; we'll rely on the dragging code
-    // to install this drag image as part of getting the drag kicked off.
-    if (!m_shouldUpdateDragImage)
-        return;
-
-    IntPoint computedHotSpot;
-    DragImageRef computedImage = createDragImage(computedHotSpot);
-    if (!computedImage)
-        return;
-
-    m_pasteboard-&gt;setDragImage(computedImage, computedHotSpot);
-}
-
-#if !PLATFORM(COCOA)
-
-DragImageRef Clipboard::createDragImage(IntPoint&amp; location) const
-{
-    location = m_dragLocation;
-
-    if (m_dragImage)
-        return createDragImageFromImage(m_dragImage-&gt;image(), ImageOrientationDescription());
-
-    if (m_dragImageElement) {
-        if (Frame* frame = m_dragImageElement-&gt;document().frame())
-            return createDragImageForNode(*frame, *m_dragImageElement);
-    }
-
-    // We do not have enough information to create a drag image, use the default icon.
-    return nullptr;
-}
-
-#endif
-
-DragImageLoader::DragImageLoader(Clipboard* clipboard)
-    : m_clipboard(clipboard)
-{
-}
-
-void DragImageLoader::startLoading(CachedResourceHandle&lt;WebCore::CachedImage&gt;&amp; image)
-{
-    // FIXME: Does this really trigger a load? Does it need to?
-    image-&gt;addClient(this);
-}
-
-void DragImageLoader::stopLoading(CachedResourceHandle&lt;WebCore::CachedImage&gt;&amp; image)
-{
-    image-&gt;removeClient(this);
-}
-
-void DragImageLoader::imageChanged(CachedImage*, const IntRect*)
-{
-    m_clipboard-&gt;updateDragImage();
-}
-
-static DragOperation dragOpFromIEOp(const String&amp; operation)
-{
-    if (operation == &quot;uninitialized&quot;)
-        return DragOperationEvery;
-    if (operation == &quot;none&quot;)
-        return DragOperationNone;
-    if (operation == &quot;copy&quot;)
-        return DragOperationCopy;
-    if (operation == &quot;link&quot;)
-        return DragOperationLink;
-    if (operation == &quot;move&quot;)
-        return (DragOperation)(DragOperationGeneric | DragOperationMove);
-    if (operation == &quot;copyLink&quot;)
-        return (DragOperation)(DragOperationCopy | DragOperationLink);
-    if (operation == &quot;copyMove&quot;)
-        return (DragOperation)(DragOperationCopy | DragOperationGeneric | DragOperationMove);
-    if (operation == &quot;linkMove&quot;)
-        return (DragOperation)(DragOperationLink | DragOperationGeneric | DragOperationMove);
-    if (operation == &quot;all&quot;)
-        return DragOperationEvery;
-    return DragOperationPrivate; // really a marker for &quot;no conversion&quot;
-}
-
-static const char* IEOpFromDragOp(DragOperation operation)
-{
-    bool isGenericMove = operation &amp; (DragOperationGeneric | DragOperationMove);
-
-    if ((isGenericMove &amp;&amp; (operation &amp; DragOperationCopy) &amp;&amp; (operation &amp; DragOperationLink)) || operation == DragOperationEvery)
-        return &quot;all&quot;;
-    if (isGenericMove &amp;&amp; (operation &amp; DragOperationCopy))
-        return &quot;copyMove&quot;;
-    if (isGenericMove &amp;&amp; (operation &amp; DragOperationLink))
-        return &quot;linkMove&quot;;
-    if ((operation &amp; DragOperationCopy) &amp;&amp; (operation &amp; DragOperationLink))
-        return &quot;copyLink&quot;;
-    if (isGenericMove)
-        return &quot;move&quot;;
-    if (operation &amp; DragOperationCopy)
-        return &quot;copy&quot;;
-    if (operation &amp; DragOperationLink)
-        return &quot;link&quot;;
-    return &quot;none&quot;;
-}
-
-DragOperation Clipboard::sourceOperation() const
-{
-    DragOperation operation = dragOpFromIEOp(m_effectAllowed);
-    ASSERT(operation != DragOperationPrivate);
-    return operation;
-}
-
-DragOperation Clipboard::destinationOperation() const
-{
-    DragOperation operation = dragOpFromIEOp(m_dropEffect);
-    ASSERT(operation == DragOperationCopy || operation == DragOperationNone || operation == DragOperationLink || operation == (DragOperation)(DragOperationGeneric | DragOperationMove) || operation == DragOperationEvery);
-    return operation;
-}
-
-void Clipboard::setSourceOperation(DragOperation operation)
-{
-    ASSERT_ARG(operation, operation != DragOperationPrivate);
-    m_effectAllowed = IEOpFromDragOp(operation);
-}
-
-void Clipboard::setDestinationOperation(DragOperation operation)
-{
-    ASSERT_ARG(operation, operation == DragOperationCopy || operation == DragOperationNone || operation == DragOperationLink || operation == DragOperationGeneric || operation == DragOperationMove || operation == (DragOperation)(DragOperationGeneric | DragOperationMove));
-    m_dropEffect = IEOpFromDragOp(operation);
-}
-
-String Clipboard::dropEffect() const
-{
-    return m_dropEffect == &quot;uninitialized&quot; ? ASCIILiteral(&quot;none&quot;) : m_dropEffect;
-}
-
-void Clipboard::setDropEffect(const String&amp; effect)
-{
-    if (!m_forDrag)
-        return;
-
-    if (effect != &quot;none&quot; &amp;&amp; effect != &quot;copy&quot; &amp;&amp; effect != &quot;link&quot; &amp;&amp; effect != &quot;move&quot;)
-        return;
-
-    // FIXME: The spec allows this in all circumstances. There is probably no value
-    // in ignoring attempts to change it.
-    if (!canReadTypes())
-        return;
-
-    m_dropEffect = effect;
-}
-
-String Clipboard::effectAllowed() const
-{
-    return m_effectAllowed;
-}
-
-void Clipboard::setEffectAllowed(const String&amp; effect)
-{
-    if (!m_forDrag)
-        return;
-
-    // Ignore any attempts to set it to an unknown value.
-    if (dragOpFromIEOp(effect) == DragOperationPrivate)
-        return;
-
-    if (!canWriteData())
-        return;
-
-    m_effectAllowed = effect;
-}
-
-#endif // ENABLE(DRAG_SUPPORT)
-
-} // namespace WebCore
</del></span></pre></div>
<a id="trunkSourceWebCoredomClipboardh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/dom/Clipboard.h (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Clipboard.h        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/dom/Clipboard.h        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -1,123 +0,0 @@
</span><del>-/*
- * Copyright (C) 2001 Peter Kelly (pmk@post.com)
- * Copyright (C) 2001 Tobias Anton (anton@stud.fbi.fh-darmstadt.de)
- * Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com)
- * Copyright (C) 2003, 2004, 2005, 2006, 2008, 2013 Apple Inc. All rights reserved.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- *
- */
-
-#ifndef Clipboard_h
-#define Clipboard_h
-
-#include &quot;CachedResourceHandle.h&quot;
-#include &quot;ClipboardAccessPolicy.h&quot;
-#include &quot;DragActions.h&quot;
-#include &quot;DragImage.h&quot;
-#include &quot;IntPoint.h&quot;
-#include &lt;wtf/RefCounted.h&gt;
-#include &lt;wtf/text/WTFString.h&gt;
-
-namespace WebCore {
-
-    class CachedImage;
-    class DataTransferItemList;
-    class DragData;
-    class DragImageLoader;
-    class Element;
-    class FileList;
-    class Pasteboard;
-
-    class Clipboard : public RefCounted&lt;Clipboard&gt; {
-    public:
-        static PassRefPtr&lt;Clipboard&gt; createForCopyAndPaste(ClipboardAccessPolicy);
-
-        ~Clipboard();
-
-        String dropEffect() const;
-        void setDropEffect(const String&amp;);
-
-        String effectAllowed() const;
-        void setEffectAllowed(const String&amp;);
-
-        Vector&lt;String&gt; types() const;
-
-        PassRefPtr&lt;FileList&gt; files() const;
-
-        void clearData(const String&amp; type);
-        void clearData();
-
-        String getData(const String&amp; type) const;
-
-        bool setData(const String&amp; type, const String&amp; data);
-
-        void setDragImage(Element*, int x, int y);
-
-#if ENABLE(DATA_TRANSFER_ITEMS)
-        PassRefPtr&lt;DataTransferItemList&gt; items() = 0;
-#endif
-
-        void setAccessPolicy(ClipboardAccessPolicy);
-        bool canReadTypes() const;
-        bool canReadData() const;
-        bool canWriteData() const;
-
-        Pasteboard&amp; pasteboard() { return *m_pasteboard; }
-
-#if ENABLE(DRAG_SUPPORT)
-        static PassRefPtr&lt;Clipboard&gt; createForDragAndDrop();
-        static PassRefPtr&lt;Clipboard&gt; createForDragAndDrop(ClipboardAccessPolicy, const DragData&amp;);
-
-        bool dropEffectIsUninitialized() const { return m_dropEffect == &quot;uninitialized&quot;; }
-
-        DragOperation sourceOperation() const;
-        DragOperation destinationOperation() const;
-        void setSourceOperation(DragOperation);
-        void setDestinationOperation(DragOperation);
-
-        void setDragHasStarted() { m_shouldUpdateDragImage = true; }
-        DragImageRef createDragImage(IntPoint&amp; dragLocation) const;
-        void updateDragImage();
-#endif
-
-    private:
-        enum ClipboardType { CopyAndPaste, DragAndDrop };
-        Clipboard(ClipboardAccessPolicy, PassOwnPtr&lt;Pasteboard&gt;, ClipboardType = CopyAndPaste, bool forFileDrag = false);
-
-#if ENABLE(DRAG_SUPPORT)
-        bool canSetDragImage() const;
-#endif
-
-        ClipboardAccessPolicy m_policy;
-        OwnPtr&lt;Pasteboard&gt; m_pasteboard;
-
-#if ENABLE(DRAG_SUPPORT)
-        bool m_forDrag;
-        bool m_forFileDrag;
-        String m_dropEffect;
-        String m_effectAllowed;
-        bool m_shouldUpdateDragImage;
-        IntPoint m_dragLocation;
-        CachedResourceHandle&lt;CachedImage&gt; m_dragImage;
-        RefPtr&lt;Element&gt; m_dragImageElement;
-        std::unique_ptr&lt;DragImageLoader&gt; m_dragImageLoader;
-#endif
-    };
-
-} // namespace WebCore
-
-#endif // Clipboard_h
</del></span></pre></div>
<a id="trunkSourceWebCoredomClipboardidl"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/dom/Clipboard.idl (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Clipboard.idl        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/dom/Clipboard.idl        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -1,44 +0,0 @@
</span><del>-/*
- * Copyright (C) 2008, 2013 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1.  Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- * 2.  Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- * 3.  Neither the name of Apple Inc. (&quot;Apple&quot;) nor the names of
- *     its contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS &quot;AS IS&quot; AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-[
-    SkipVTableValidation,
-] interface Clipboard {
-    attribute DOMString dropEffect;
-    attribute DOMString effectAllowed;
-
-    [CustomGetter] readonly attribute Array types;
-    readonly attribute FileList files;
-
-    void clearData(optional DOMString type);
-    DOMString getData(DOMString type);
-    boolean setData(DOMString type, DOMString data);
-    void setDragImage(Element image, long x, long y);
-
-    [Conditional=DATA_TRANSFER_ITEMS] readonly attribute DataTransferItemList items;
-};
</del></span></pre></div>
<a id="trunkSourceWebCoredomClipboardAccessPolicyh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/dom/ClipboardAccessPolicy.h (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ClipboardAccessPolicy.h        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/dom/ClipboardAccessPolicy.h        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -1,37 +0,0 @@
</span><del>-/*
- * Copyright (C) 2006 Apple Inc.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
- */

-#ifndef ClipboardAccessPolicy_h
-#define ClipboardAccessPolicy_h
-
-namespace WebCore {
-
-enum ClipboardAccessPolicy {
-    ClipboardNumb, ClipboardImageWritable, ClipboardWritable, ClipboardTypesReadable, ClipboardReadable
-};
-
-} // namespace
-
-#endif
</del></span></pre></div>
<a id="trunkSourceWebCoredomClipboardEventcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ClipboardEvent.cpp (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ClipboardEvent.cpp        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/dom/ClipboardEvent.cpp        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -23,7 +23,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;ClipboardEvent.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;Clipboard.h&quot;
</del><ins>+#include &quot;DataTransfer.h&quot;
</ins><span class="cx"> #include &quot;EventNames.h&quot;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -32,8 +32,8 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ClipboardEvent::ClipboardEvent(const AtomicString&amp; eventType, bool canBubble, bool cancelable, PassRefPtr&lt;Clipboard&gt; clipboard)
-    : Event(eventType, canBubble, cancelable), m_clipboard(clipboard)
</del><ins>+ClipboardEvent::ClipboardEvent(const AtomicString&amp; eventType, bool canBubble, bool cancelable, PassRefPtr&lt;DataTransfer&gt; dataTransfer)
+    : Event(eventType, canBubble, cancelable), m_dataTransfer(dataTransfer)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomClipboardEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ClipboardEvent.h (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ClipboardEvent.h        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/dom/ClipboardEvent.h        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-    class Clipboard;
</del><ins>+    class DataTransfer;
</ins><span class="cx"> 
</span><span class="cx">     class ClipboardEvent : public Event {
</span><span class="cx">     public:
</span><span class="lines">@@ -38,21 +38,21 @@
</span><span class="cx">         {
</span><span class="cx">             return adoptRef(new ClipboardEvent);
</span><span class="cx">         }
</span><del>-        static PassRefPtr&lt;ClipboardEvent&gt; create(const AtomicString&amp; type, bool canBubbleArg, bool cancelableArg, PassRefPtr&lt;Clipboard&gt; clipboardArg)
</del><ins>+        static PassRefPtr&lt;ClipboardEvent&gt; create(const AtomicString&amp; type, bool canBubbleArg, bool cancelableArg, PassRefPtr&lt;DataTransfer&gt; clipboardArg)
</ins><span class="cx">         {
</span><span class="cx">             return adoptRef(new ClipboardEvent(type, canBubbleArg, cancelableArg, clipboardArg));
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Clipboard* clipboard() const { return m_clipboard.get(); }
</del><ins>+        virtual DataTransfer* internalDataTransfer() const override { return m_dataTransfer.get(); }
</ins><span class="cx"> 
</span><span class="cx">     private:
</span><span class="cx">         ClipboardEvent();
</span><del>-        ClipboardEvent(const AtomicString&amp; type, bool canBubbleArg, bool cancelableArg, PassRefPtr&lt;Clipboard&gt;);
</del><ins>+        ClipboardEvent(const AtomicString&amp; type, bool canBubbleArg, bool cancelableArg, PassRefPtr&lt;DataTransfer&gt;);
</ins><span class="cx"> 
</span><span class="cx">         virtual EventInterface eventInterface() const override;
</span><span class="cx">         virtual bool isClipboardEvent() const override;
</span><span class="cx"> 
</span><del>-        RefPtr&lt;Clipboard&gt; m_clipboard;
</del><ins>+        RefPtr&lt;DataTransfer&gt; m_dataTransfer;
</ins><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoredomClipboardMacmm"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/dom/ClipboardMac.mm (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ClipboardMac.mm        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/dom/ClipboardMac.mm        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -1,60 +0,0 @@
</span><del>-/*
- * Copyright (C) 2004, 2005, 2006, 2008, 2010, 2013 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
- */
-
-#import &quot;config.h&quot;
-#import &quot;Clipboard.h&quot;
-
-#import &quot;CachedImage.h&quot;
-#import &quot;Element.h&quot;
-#import &quot;DragImage.h&quot;
-
-namespace WebCore {
-
-// FIXME: Need to refactor and figure out how to handle the flipping in a more sensible way so we can
-// use the default Clipboard::dragImage from Clipboard.cpp. Note also that this handles cases that
-// Clipboard::dragImage in Clipboard.cpp does not handle correctly, so must resolve that as well.
-DragImageRef Clipboard::createDragImage(IntPoint&amp; location) const
-{
-    DragImageRef result = nil;
-    if (m_dragImageElement) {
-        if (Frame* frame = m_dragImageElement-&gt;document().frame()) {
-            IntRect imageRect;
-            IntRect elementRect;
-            result = createDragImageForImage(*frame, *m_dragImageElement, imageRect, elementRect);
-            // Client specifies point relative to element, not the whole image, which may include child
-            // layers spread out all over the place.
-            location.setX(elementRect.x() - imageRect.x() + m_dragLocation.x());
-            location.setY(imageRect.height() - (elementRect.y() - imageRect.y() + m_dragLocation.y()));
-        }
-    } else if (m_dragImage) {
-        result = m_dragImage-&gt;image()-&gt;getNSImage();
-        
-        location = m_dragLocation;
-        location.setY([result size].height - location.y());
-    }
-    return result;
-}
-
-}
</del></span></pre></div>
<a id="trunkSourceWebCoredomDOMAllInOnecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/DOMAllInOne.cpp (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/DOMAllInOne.cpp        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/dom/DOMAllInOne.cpp        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -37,7 +37,6 @@
</span><span class="cx"> #include &quot;ClassNodeList.cpp&quot;
</span><span class="cx"> #include &quot;ClientRect.cpp&quot;
</span><span class="cx"> #include &quot;ClientRectList.cpp&quot;
</span><del>-#include &quot;Clipboard.cpp&quot;
</del><span class="cx"> #include &quot;ClipboardEvent.cpp&quot;
</span><span class="cx"> #include &quot;CollectionIndexCache.cpp&quot;
</span><span class="cx"> #include &quot;Comment.cpp&quot;
</span><span class="lines">@@ -50,6 +49,7 @@
</span><span class="cx"> #include &quot;DOMImplementation.cpp&quot;
</span><span class="cx"> #include &quot;DOMNamedFlowCollection.cpp&quot;
</span><span class="cx"> #include &quot;DOMStringList.cpp&quot;
</span><ins>+#include &quot;DataTransfer.cpp&quot;
</ins><span class="cx"> #include &quot;DatasetDOMStringMap.cpp&quot;
</span><span class="cx"> #include &quot;DecodedDataDocumentParser.cpp&quot;
</span><span class="cx"> #include &quot;DeviceMotionController.cpp&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoredomDataTransfercppfromrev166873trunkSourceWebCoredomClipboardcpp"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/dom/DataTransfer.cpp (from rev 166873, trunk/Source/WebCore/dom/Clipboard.cpp) (0 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/DataTransfer.cpp                                (rev 0)
+++ trunk/Source/WebCore/dom/DataTransfer.cpp        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -0,0 +1,422 @@
</span><ins>+/*
+ * Copyright (C) 2006, 2007, 2008, 2013 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#include &quot;config.h&quot;
+#include &quot;DataTransfer.h&quot;
+
+#include &quot;CachedImage.h&quot;
+#include &quot;CachedImageClient.h&quot;
+#include &quot;DragData.h&quot;
+#include &quot;Editor.h&quot;
+#include &quot;FileList.h&quot;
+#include &quot;Frame.h&quot;
+#include &quot;FrameLoader.h&quot;
+#include &quot;HTMLImageElement.h&quot;
+#include &quot;Image.h&quot;
+#include &quot;Pasteboard.h&quot;
+
+namespace WebCore {
+
+#if ENABLE(DRAG_SUPPORT)
+
+class DragImageLoader final : private CachedImageClient {
+    WTF_MAKE_NONCOPYABLE(DragImageLoader); WTF_MAKE_FAST_ALLOCATED;
+public:
+    explicit DragImageLoader(DataTransfer*);
+    void startLoading(CachedResourceHandle&lt;CachedImage&gt;&amp;);
+    void stopLoading(CachedResourceHandle&lt;CachedImage&gt;&amp;);
+
+private:
+    virtual void imageChanged(CachedImage*, const IntRect*) override;
+    DataTransfer* m_dataTransfer;
+};
+
+#endif
+
+DataTransfer::DataTransfer(DataTransferAccessPolicy policy, PassOwnPtr&lt;Pasteboard&gt; pasteboard, Type type, bool forFileDrag)
+    : m_policy(policy)
+    , m_pasteboard(pasteboard)
+#if ENABLE(DRAG_SUPPORT)
+    , m_forDrag(type != CopyAndPaste)
+    , m_forFileDrag(forFileDrag)
+    , m_dropEffect(ASCIILiteral(&quot;uninitialized&quot;))
+    , m_effectAllowed(ASCIILiteral(&quot;uninitialized&quot;))
+    , m_shouldUpdateDragImage(false)
+#endif
+{
+#if !ENABLE(DRAG_SUPPORT)
+    ASSERT_UNUSED(type, type == CopyAndPaste);
+    ASSERT_UNUSED(forFileDrag, !forFileDrag);
+#endif
+}
+
+PassRefPtr&lt;DataTransfer&gt; DataTransfer::createForCopyAndPaste(DataTransferAccessPolicy policy)
+{
+    return adoptRef(new DataTransfer(policy, policy == DataTransferAccessPolicy::Writable ? Pasteboard::createPrivate() : Pasteboard::createForCopyAndPaste()));
+}
+
+DataTransfer::~DataTransfer()
+{
+#if ENABLE(DRAG_SUPPORT)
+    if (m_dragImageLoader &amp;&amp; m_dragImage)
+        m_dragImageLoader-&gt;stopLoading(m_dragImage);
+#endif
+}
+    
+void DataTransfer::setAccessPolicy(DataTransferAccessPolicy policy)
+{
+    // Once the dataTransfer goes numb, it can never go back.
+    ASSERT(m_policy != DataTransferAccessPolicy::Numb || policy == DataTransferAccessPolicy::Numb);
+    m_policy = policy;
+}
+
+bool DataTransfer::canReadTypes() const
+{
+    return m_policy == DataTransferAccessPolicy::Readable || m_policy == DataTransferAccessPolicy::TypesReadable || m_policy == DataTransferAccessPolicy::Writable;
+}
+
+bool DataTransfer::canReadData() const
+{
+    return m_policy == DataTransferAccessPolicy::Readable || m_policy == DataTransferAccessPolicy::Writable;
+}
+
+bool DataTransfer::canWriteData() const
+{
+    return m_policy == DataTransferAccessPolicy::Writable;
+}
+
+void DataTransfer::clearData(const String&amp; type)
+{
+    if (!canWriteData())
+        return;
+
+    m_pasteboard-&gt;clear(type);
+}
+
+void DataTransfer::clearData()
+{
+    if (!canWriteData())
+        return;
+
+    m_pasteboard-&gt;clear();
+}
+
+String DataTransfer::getData(const String&amp; type) const
+{
+    if (!canReadData())
+        return String();
+
+#if ENABLE(DRAG_SUPPORT)
+    if (m_forFileDrag)
+        return String();
+#endif
+
+    return m_pasteboard-&gt;readString(type);
+}
+
+bool DataTransfer::setData(const String&amp; type, const String&amp; data)
+{
+    if (!canWriteData())
+        return false;
+
+#if ENABLE(DRAG_SUPPORT)
+    if (m_forFileDrag)
+        return false;
+#endif
+
+    return m_pasteboard-&gt;writeString(type, data);
+}
+
+Vector&lt;String&gt; DataTransfer::types() const
+{
+    if (!canReadTypes())
+        return Vector&lt;String&gt;();
+
+    return m_pasteboard-&gt;types();
+}
+
+PassRefPtr&lt;FileList&gt; DataTransfer::files() const
+{
+    // FIXME: We could cache the computed file list if it was necessary and helpful.
+    // Currently, each access gets a new copy, and thus setData() modifications to the
+    // dataTransfer are not reflected in any FileList objects the page has accessed and stored.
+
+    if (!canReadData())
+        return FileList::create();
+
+#if ENABLE(DRAG_SUPPORT)
+    if (m_forDrag &amp;&amp; !m_forFileDrag)
+        return FileList::create();
+#endif
+
+    Vector&lt;String&gt; filenames = m_pasteboard-&gt;readFilenames();
+    RefPtr&lt;FileList&gt; fileList = FileList::create();
+    for (size_t i = 0; i &lt; filenames.size(); ++i)
+        fileList-&gt;append(File::create(filenames[i], File::AllContentTypes));
+    return fileList.release();
+}
+
+#if !ENABLE(DRAG_SUPPORT)
+
+String DataTransfer::dropEffect() const
+{
+    return ASCIILiteral(&quot;none&quot;);
+}
+
+void DataTransfer::setDropEffect(const String&amp;)
+{
+}
+
+String DataTransfer::effectAllowed() const
+{
+    return ASCIILiteral(&quot;uninitialized&quot;);
+}
+
+void DataTransfer::setEffectAllowed(const String&amp;)
+{
+}
+
+void DataTransfer::setDragImage(Element*, int, int)
+{
+}
+
+#else
+
+PassRefPtr&lt;DataTransfer&gt; DataTransfer::createForDragAndDrop()
+{
+    return adoptRef(new DataTransfer(DataTransferAccessPolicy::Writable, Pasteboard::createForDragAndDrop(), DragAndDrop));
+}
+
+PassRefPtr&lt;DataTransfer&gt; DataTransfer::createForDragAndDrop(DataTransferAccessPolicy policy, const DragData&amp; dragData)
+{
+    return adoptRef(new DataTransfer(policy, Pasteboard::createForDragAndDrop(dragData), DragAndDrop, dragData.containsFiles()));
+}
+
+bool DataTransfer::canSetDragImage() const
+{
+    // Note that the spec doesn't actually allow drag image modification outside the dragstart
+    // event. This capability is maintained for backwards compatiblity for ports that have
+    // supported this in the past. On many ports, attempting to set a drag image outside the
+    // dragstart operation is a no-op anyway.
+    return m_forDrag &amp;&amp; (m_policy == DataTransferAccessPolicy::ImageWritable || m_policy == DataTransferAccessPolicy::Writable);
+}
+
+void DataTransfer::setDragImage(Element* element, int x, int y)
+{
+    if (!canSetDragImage())
+        return;
+
+    CachedImage* image;
+    if (element &amp;&amp; isHTMLImageElement(element) &amp;&amp; !element-&gt;inDocument())
+        image = toHTMLImageElement(element)-&gt;cachedImage();
+    else
+        image = 0;
+
+    m_dragLocation = IntPoint(x, y);
+
+    if (m_dragImageLoader &amp;&amp; m_dragImage)
+        m_dragImageLoader-&gt;stopLoading(m_dragImage);
+    m_dragImage = image;
+    if (m_dragImage) {
+        if (!m_dragImageLoader)
+            m_dragImageLoader = std::make_unique&lt;DragImageLoader&gt;(this);
+        m_dragImageLoader-&gt;startLoading(m_dragImage);
+    }
+
+    m_dragImageElement = image ? 0 : element;
+
+    updateDragImage();
+}
+
+void DataTransfer::updateDragImage()
+{
+    // Don't allow setting the image if we haven't started dragging yet; we'll rely on the dragging code
+    // to install this drag image as part of getting the drag kicked off.
+    if (!m_shouldUpdateDragImage)
+        return;
+
+    IntPoint computedHotSpot;
+    DragImageRef computedImage = createDragImage(computedHotSpot);
+    if (!computedImage)
+        return;
+
+    m_pasteboard-&gt;setDragImage(computedImage, computedHotSpot);
+}
+
+#if !PLATFORM(COCOA)
+
+DragImageRef DataTransfer::createDragImage(IntPoint&amp; location) const
+{
+    location = m_dragLocation;
+
+    if (m_dragImage)
+        return createDragImageFromImage(m_dragImage-&gt;image(), ImageOrientationDescription());
+
+    if (m_dragImageElement) {
+        if (Frame* frame = m_dragImageElement-&gt;document().frame())
+            return createDragImageForNode(*frame, *m_dragImageElement);
+    }
+
+    // We do not have enough information to create a drag image, use the default icon.
+    return nullptr;
+}
+
+#endif
+
+DragImageLoader::DragImageLoader(DataTransfer* dataTransfer)
+    : m_dataTransfer(dataTransfer)
+{
+}
+
+void DragImageLoader::startLoading(CachedResourceHandle&lt;WebCore::CachedImage&gt;&amp; image)
+{
+    // FIXME: Does this really trigger a load? Does it need to?
+    image-&gt;addClient(this);
+}
+
+void DragImageLoader::stopLoading(CachedResourceHandle&lt;WebCore::CachedImage&gt;&amp; image)
+{
+    image-&gt;removeClient(this);
+}
+
+void DragImageLoader::imageChanged(CachedImage*, const IntRect*)
+{
+    m_dataTransfer-&gt;updateDragImage();
+}
+
+static DragOperation dragOpFromIEOp(const String&amp; operation)
+{
+    if (operation == &quot;uninitialized&quot;)
+        return DragOperationEvery;
+    if (operation == &quot;none&quot;)
+        return DragOperationNone;
+    if (operation == &quot;copy&quot;)
+        return DragOperationCopy;
+    if (operation == &quot;link&quot;)
+        return DragOperationLink;
+    if (operation == &quot;move&quot;)
+        return (DragOperation)(DragOperationGeneric | DragOperationMove);
+    if (operation == &quot;copyLink&quot;)
+        return (DragOperation)(DragOperationCopy | DragOperationLink);
+    if (operation == &quot;copyMove&quot;)
+        return (DragOperation)(DragOperationCopy | DragOperationGeneric | DragOperationMove);
+    if (operation == &quot;linkMove&quot;)
+        return (DragOperation)(DragOperationLink | DragOperationGeneric | DragOperationMove);
+    if (operation == &quot;all&quot;)
+        return DragOperationEvery;
+    return DragOperationPrivate; // really a marker for &quot;no conversion&quot;
+}
+
+static const char* IEOpFromDragOp(DragOperation operation)
+{
+    bool isGenericMove = operation &amp; (DragOperationGeneric | DragOperationMove);
+
+    if ((isGenericMove &amp;&amp; (operation &amp; DragOperationCopy) &amp;&amp; (operation &amp; DragOperationLink)) || operation == DragOperationEvery)
+        return &quot;all&quot;;
+    if (isGenericMove &amp;&amp; (operation &amp; DragOperationCopy))
+        return &quot;copyMove&quot;;
+    if (isGenericMove &amp;&amp; (operation &amp; DragOperationLink))
+        return &quot;linkMove&quot;;
+    if ((operation &amp; DragOperationCopy) &amp;&amp; (operation &amp; DragOperationLink))
+        return &quot;copyLink&quot;;
+    if (isGenericMove)
+        return &quot;move&quot;;
+    if (operation &amp; DragOperationCopy)
+        return &quot;copy&quot;;
+    if (operation &amp; DragOperationLink)
+        return &quot;link&quot;;
+    return &quot;none&quot;;
+}
+
+DragOperation DataTransfer::sourceOperation() const
+{
+    DragOperation operation = dragOpFromIEOp(m_effectAllowed);
+    ASSERT(operation != DragOperationPrivate);
+    return operation;
+}
+
+DragOperation DataTransfer::destinationOperation() const
+{
+    DragOperation operation = dragOpFromIEOp(m_dropEffect);
+    ASSERT(operation == DragOperationCopy || operation == DragOperationNone || operation == DragOperationLink || operation == (DragOperation)(DragOperationGeneric | DragOperationMove) || operation == DragOperationEvery);
+    return operation;
+}
+
+void DataTransfer::setSourceOperation(DragOperation operation)
+{
+    ASSERT_ARG(operation, operation != DragOperationPrivate);
+    m_effectAllowed = IEOpFromDragOp(operation);
+}
+
+void DataTransfer::setDestinationOperation(DragOperation operation)
+{
+    ASSERT_ARG(operation, operation == DragOperationCopy || operation == DragOperationNone || operation == DragOperationLink || operation == DragOperationGeneric || operation == DragOperationMove || operation == (DragOperation)(DragOperationGeneric | DragOperationMove));
+    m_dropEffect = IEOpFromDragOp(operation);
+}
+
+String DataTransfer::dropEffect() const
+{
+    return m_dropEffect == &quot;uninitialized&quot; ? ASCIILiteral(&quot;none&quot;) : m_dropEffect;
+}
+
+void DataTransfer::setDropEffect(const String&amp; effect)
+{
+    if (!m_forDrag)
+        return;
+
+    if (effect != &quot;none&quot; &amp;&amp; effect != &quot;copy&quot; &amp;&amp; effect != &quot;link&quot; &amp;&amp; effect != &quot;move&quot;)
+        return;
+
+    // FIXME: The spec allows this in all circumstances. There is probably no value
+    // in ignoring attempts to change it.
+    if (!canReadTypes())
+        return;
+
+    m_dropEffect = effect;
+}
+
+String DataTransfer::effectAllowed() const
+{
+    return m_effectAllowed;
+}
+
+void DataTransfer::setEffectAllowed(const String&amp; effect)
+{
+    if (!m_forDrag)
+        return;
+
+    // Ignore any attempts to set it to an unknown value.
+    if (dragOpFromIEOp(effect) == DragOperationPrivate)
+        return;
+
+    if (!canWriteData())
+        return;
+
+    m_effectAllowed = effect;
+}
+
+#endif // ENABLE(DRAG_SUPPORT)
+
+} // namespace WebCore
</ins></span></pre></div>
<a id="trunkSourceWebCoredomDataTransferhfromrev166873trunkSourceWebCoredomClipboardh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/dom/DataTransfer.h (from rev 166873, trunk/Source/WebCore/dom/Clipboard.h) (0 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/DataTransfer.h                                (rev 0)
+++ trunk/Source/WebCore/dom/DataTransfer.h        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -0,0 +1,123 @@
</span><ins>+/*
+ * Copyright (C) 2001 Peter Kelly (pmk@post.com)
+ * Copyright (C) 2001 Tobias Anton (anton@stud.fbi.fh-darmstadt.de)
+ * Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com)
+ * Copyright (C) 2003, 2004, 2005, 2006, 2008, 2013 Apple Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef DataTransfer_h
+#define DataTransfer_h
+
+#include &quot;CachedResourceHandle.h&quot;
+#include &quot;DataTransferAccessPolicy.h&quot;
+#include &quot;DragActions.h&quot;
+#include &quot;DragImage.h&quot;
+#include &quot;IntPoint.h&quot;
+#include &lt;wtf/RefCounted.h&gt;
+#include &lt;wtf/text/WTFString.h&gt;
+
+namespace WebCore {
+
+    class CachedImage;
+    class DataTransferItemList;
+    class DragData;
+    class DragImageLoader;
+    class Element;
+    class FileList;
+    class Pasteboard;
+
+    class DataTransfer : public RefCounted&lt;DataTransfer&gt; {
+    public:
+        static PassRefPtr&lt;DataTransfer&gt; createForCopyAndPaste(DataTransferAccessPolicy);
+
+        ~DataTransfer();
+
+        String dropEffect() const;
+        void setDropEffect(const String&amp;);
+
+        String effectAllowed() const;
+        void setEffectAllowed(const String&amp;);
+
+        Vector&lt;String&gt; types() const;
+
+        PassRefPtr&lt;FileList&gt; files() const;
+
+        void clearData(const String&amp; type);
+        void clearData();
+
+        String getData(const String&amp; type) const;
+
+        bool setData(const String&amp; type, const String&amp; data);
+
+        void setDragImage(Element*, int x, int y);
+
+#if ENABLE(DATA_TRANSFER_ITEMS)
+        PassRefPtr&lt;DataTransferItemList&gt; items() = 0;
+#endif
+
+        void setAccessPolicy(DataTransferAccessPolicy);
+        bool canReadTypes() const;
+        bool canReadData() const;
+        bool canWriteData() const;
+
+        Pasteboard&amp; pasteboard() { return *m_pasteboard; }
+
+#if ENABLE(DRAG_SUPPORT)
+        static PassRefPtr&lt;DataTransfer&gt; createForDragAndDrop();
+        static PassRefPtr&lt;DataTransfer&gt; createForDragAndDrop(DataTransferAccessPolicy, const DragData&amp;);
+
+        bool dropEffectIsUninitialized() const { return m_dropEffect == &quot;uninitialized&quot;; }
+
+        DragOperation sourceOperation() const;
+        DragOperation destinationOperation() const;
+        void setSourceOperation(DragOperation);
+        void setDestinationOperation(DragOperation);
+
+        void setDragHasStarted() { m_shouldUpdateDragImage = true; }
+        DragImageRef createDragImage(IntPoint&amp; dragLocation) const;
+        void updateDragImage();
+#endif
+
+    private:
+        enum Type { CopyAndPaste, DragAndDrop };
+        DataTransfer(DataTransferAccessPolicy, PassOwnPtr&lt;Pasteboard&gt;, Type = CopyAndPaste, bool forFileDrag = false);
+
+#if ENABLE(DRAG_SUPPORT)
+        bool canSetDragImage() const;
+#endif
+
+        DataTransferAccessPolicy m_policy;
+        OwnPtr&lt;Pasteboard&gt; m_pasteboard;
+
+#if ENABLE(DRAG_SUPPORT)
+        bool m_forDrag;
+        bool m_forFileDrag;
+        String m_dropEffect;
+        String m_effectAllowed;
+        bool m_shouldUpdateDragImage;
+        IntPoint m_dragLocation;
+        CachedResourceHandle&lt;CachedImage&gt; m_dragImage;
+        RefPtr&lt;Element&gt; m_dragImageElement;
+        std::unique_ptr&lt;DragImageLoader&gt; m_dragImageLoader;
+#endif
+    };
+
+} // namespace WebCore
+
+#endif // DataTransfer_h
</ins></span></pre></div>
<a id="trunkSourceWebCoredomDataTransferidlfromrev166873trunkSourceWebCoredomClipboardidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/dom/DataTransfer.idl (from rev 166873, trunk/Source/WebCore/dom/Clipboard.idl) (0 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/DataTransfer.idl                                (rev 0)
+++ trunk/Source/WebCore/dom/DataTransfer.idl        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -0,0 +1,44 @@
</span><ins>+/*
+ * Copyright (C) 2008, 2013 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1.  Redistributions of source code must retain the above copyright
+ *     notice, this list of conditions and the following disclaimer.
+ * 2.  Redistributions in binary form must reproduce the above copyright
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution.
+ * 3.  Neither the name of Apple Inc. (&quot;Apple&quot;) nor the names of
+ *     its contributors may be used to endorse or promote products derived
+ *     from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS &quot;AS IS&quot; AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+[
+    SkipVTableValidation,
+] interface DataTransfer {
+    attribute DOMString dropEffect;
+    attribute DOMString effectAllowed;
+
+    [CustomGetter] readonly attribute Array types;
+    readonly attribute FileList files;
+
+    void clearData(optional DOMString type);
+    DOMString getData(DOMString type);
+    boolean setData(DOMString type, DOMString data);
+    void setDragImage(Element image, long x, long y);
+
+    [Conditional=DATA_TRANSFER_ITEMS] readonly attribute DataTransferItemList items;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoredomDataTransferAccessPolicyhfromrev166873trunkSourceWebCoredomClipboardAccessPolicyh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/dom/DataTransferAccessPolicy.h (from rev 166873, trunk/Source/WebCore/dom/ClipboardAccessPolicy.h) (0 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/DataTransferAccessPolicy.h                                (rev 0)
+++ trunk/Source/WebCore/dom/DataTransferAccessPolicy.h        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+/*
+ * Copyright (C) 2006 Apple Inc.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#ifndef DataTransferAccessPolicy_h
+#define DataTransferAccessPolicy_h
+
+namespace WebCore {
+
+enum class DataTransferAccessPolicy {
+    Numb, ImageWritable, Writable, TypesReadable, Readable
+};
+
+} // namespace
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCoredomDataTransferItemListh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/DataTransferItemList.h (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/DataTransferItemList.h        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/dom/DataTransferItemList.h        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -39,7 +39,6 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class Clipboard;
</del><span class="cx"> class File;
</span><span class="cx"> 
</span><span class="cx"> typedef int ExceptionCode;
</span></span></pre></div>
<a id="trunkSourceWebCoredomDataTransferMacmmfromrev166873trunkSourceWebCoredomClipboardMacmm"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/dom/DataTransferMac.mm (from rev 166873, trunk/Source/WebCore/dom/ClipboardMac.mm) (0 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/DataTransferMac.mm                                (rev 0)
+++ trunk/Source/WebCore/dom/DataTransferMac.mm        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -0,0 +1,60 @@
</span><ins>+/*
+ * Copyright (C) 2004, 2005, 2006, 2008, 2010, 2013 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#import &quot;config.h&quot;
+#import &quot;DataTransfer.h&quot;
+
+#import &quot;CachedImage.h&quot;
+#import &quot;Element.h&quot;
+#import &quot;DragImage.h&quot;
+
+namespace WebCore {
+
+// FIXME: Need to refactor and figure out how to handle the flipping in a more sensible way so we can
+// use the default DataTransfer::dragImage from DataTransfer.cpp. Note also that this handles cases that
+// DataTransfer::dragImage in DataTransfer.cpp does not handle correctly, so must resolve that as well.
+DragImageRef DataTransfer::createDragImage(IntPoint&amp; location) const
+{
+    DragImageRef result = nil;
+    if (m_dragImageElement) {
+        if (Frame* frame = m_dragImageElement-&gt;document().frame()) {
+            IntRect imageRect;
+            IntRect elementRect;
+            result = createDragImageForImage(*frame, *m_dragImageElement, imageRect, elementRect);
+            // Client specifies point relative to element, not the whole image, which may include child
+            // layers spread out all over the place.
+            location.setX(elementRect.x() - imageRect.x() + m_dragLocation.x());
+            location.setY(imageRect.height() - (elementRect.y() - imageRect.y() + m_dragLocation.y()));
+        }
+    } else if (m_dragImage) {
+        result = m_dragImage-&gt;image()-&gt;getNSImage();
+        
+        location = m_dragLocation;
+        location.setY([result size].height - location.y());
+    }
+    return result;
+}
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoredomEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Event.h (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Event.h        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/dom/Event.h        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -34,7 +34,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class Clipboard;
</del><ins>+class DataTransfer;
</ins><span class="cx"> class EventTarget;
</span><span class="cx"> class HTMLIFrameElement;
</span><span class="cx"> 
</span><span class="lines">@@ -125,7 +125,7 @@
</span><span class="cx">     bool legacyReturnValue() const { return !defaultPrevented(); }
</span><span class="cx">     void setLegacyReturnValue(bool returnValue) { setDefaultPrevented(!returnValue); }
</span><span class="cx"> 
</span><del>-    Clipboard* clipboardData() const { return isClipboardEvent() ? clipboard() : 0; }
</del><ins>+    DataTransfer* clipboardData() const { return isClipboardEvent() ? internalDataTransfer() : 0; }
</ins><span class="cx"> 
</span><span class="cx">     virtual EventInterface eventInterface() const;
</span><span class="cx"> 
</span><span class="lines">@@ -169,7 +169,7 @@
</span><span class="cx">     Event* underlyingEvent() const { return m_underlyingEvent.get(); }
</span><span class="cx">     void setUnderlyingEvent(PassRefPtr&lt;Event&gt;);
</span><span class="cx"> 
</span><del>-    virtual Clipboard* clipboard() const { return 0; }
</del><ins>+    virtual DataTransfer* internalDataTransfer() const { return 0; }
</ins><span class="cx"> 
</span><span class="cx">     bool isBeingDispatched() const { return eventPhase(); }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomEventidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Event.idl (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Event.idl        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/dom/Event.idl        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -76,7 +76,7 @@
</span><span class="cx">              attribute boolean          cancelBubble;
</span><span class="cx"> 
</span><span class="cx"> #if defined(LANGUAGE_JAVASCRIPT) &amp;&amp; LANGUAGE_JAVASCRIPT
</span><del>-    [Custom] readonly attribute Clipboard        clipboardData;
</del><ins>+    [Custom] readonly attribute DataTransfer        clipboardData;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoredomMouseEventcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/MouseEvent.cpp (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/MouseEvent.cpp        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/dom/MouseEvent.cpp        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -23,7 +23,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;MouseEvent.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;Clipboard.h&quot;
</del><ins>+#include &quot;DataTransfer.h&quot;
</ins><span class="cx"> #include &quot;EventNames.h&quot;
</span><span class="cx"> #include &quot;Frame.h&quot;
</span><span class="cx"> #include &quot;FrameView.h&quot;
</span><span class="lines">@@ -92,14 +92,14 @@
</span><span class="cx">     int movementX, int movementY,
</span><span class="cx"> #endif
</span><span class="cx">     bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, unsigned short button,
</span><del>-    PassRefPtr&lt;EventTarget&gt; relatedTarget, PassRefPtr&lt;Clipboard&gt; clipboard, bool isSimulated)
</del><ins>+    PassRefPtr&lt;EventTarget&gt; relatedTarget, PassRefPtr&lt;DataTransfer&gt; dataTransfer, bool isSimulated)
</ins><span class="cx"> {
</span><span class="cx">     return adoptRef(new MouseEvent(type, canBubble, cancelable, timestamp, view,
</span><span class="cx">         detail, screenX, screenY, pageX, pageY,
</span><span class="cx"> #if ENABLE(POINTER_LOCK)
</span><span class="cx">         movementX, movementY,
</span><span class="cx"> #endif
</span><del>-        ctrlKey, altKey, shiftKey, metaKey, button, relatedTarget, clipboard, isSimulated));
</del><ins>+        ctrlKey, altKey, shiftKey, metaKey, button, relatedTarget, dataTransfer, isSimulated));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> MouseEvent::MouseEvent()
</span><span class="lines">@@ -115,7 +115,7 @@
</span><span class="cx"> #endif
</span><span class="cx">                        bool ctrlKey, bool altKey, bool shiftKey, bool metaKey,
</span><span class="cx">                        unsigned short button, PassRefPtr&lt;EventTarget&gt; relatedTarget,
</span><del>-                       PassRefPtr&lt;Clipboard&gt; clipboard, bool isSimulated)
</del><ins>+                       PassRefPtr&lt;DataTransfer&gt; dataTransfer, bool isSimulated)
</ins><span class="cx">     : MouseRelatedEvent(eventType, canBubble, cancelable, timestamp, view, detail, IntPoint(screenX, screenY),
</span><span class="cx">                         IntPoint(pageX, pageY),
</span><span class="cx"> #if ENABLE(POINTER_LOCK)
</span><span class="lines">@@ -125,7 +125,7 @@
</span><span class="cx">     , m_button(button == (unsigned short)-1 ? 0 : button)
</span><span class="cx">     , m_buttonDown(button != (unsigned short)-1)
</span><span class="cx">     , m_relatedTarget(relatedTarget)
</span><del>-    , m_clipboard(clipboard)
</del><ins>+    , m_dataTransfer(dataTransfer)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -139,7 +139,7 @@
</span><span class="cx">     , m_button(initializer.button == (unsigned short)-1 ? 0 : initializer.button)
</span><span class="cx">     , m_buttonDown(initializer.button != (unsigned short)-1)
</span><span class="cx">     , m_relatedTarget(initializer.relatedTarget)
</span><del>-    , m_clipboard(0 /* clipboard */)
</del><ins>+    , m_dataTransfer(0 /* dataTransfer */)
</ins><span class="cx"> {
</span><span class="cx">     initCoordinates(IntPoint(initializer.clientX, initializer.clientY));
</span><span class="cx"> }
</span><span class="lines">@@ -170,7 +170,7 @@
</span><span class="cx">     initCoordinates(IntPoint(clientX, clientY));
</span><span class="cx"> 
</span><span class="cx">     // FIXME: m_isSimulated is not set to false here.
</span><del>-    // FIXME: m_clipboard is not set to 0 here.
</del><ins>+    // FIXME: m_dataTransfer is not set to 0 here.
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> EventInterface MouseEvent::eventInterface() const
</span></span></pre></div>
<a id="trunkSourceWebCoredomMouseEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/MouseEvent.h (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/MouseEvent.h        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/dom/MouseEvent.h        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class Clipboard;
</del><ins>+class DataTransfer;
</ins><span class="cx"> class PlatformMouseEvent;
</span><span class="cx"> 
</span><span class="cx"> struct MouseEventInit : public UIEventInit {
</span><span class="lines">@@ -67,7 +67,7 @@
</span><span class="cx">         int movementX, int movementY,
</span><span class="cx"> #endif
</span><span class="cx">         bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, unsigned short button,
</span><del>-        PassRefPtr&lt;EventTarget&gt; relatedTarget, PassRefPtr&lt;Clipboard&gt;, bool isSimulated = false);
</del><ins>+        PassRefPtr&lt;EventTarget&gt; relatedTarget, PassRefPtr&lt;DataTransfer&gt;, bool isSimulated = false);
</ins><span class="cx"> 
</span><span class="cx">     static PassRefPtr&lt;MouseEvent&gt; create(const AtomicString&amp; eventType, PassRefPtr&lt;AbstractView&gt;, const PlatformMouseEvent&amp;, int detail, PassRefPtr&lt;Node&gt; relatedTarget);
</span><span class="cx"> 
</span><span class="lines">@@ -87,12 +87,13 @@
</span><span class="cx">     virtual EventTarget* relatedTarget() const override final { return m_relatedTarget.get(); }
</span><span class="cx">     void setRelatedTarget(PassRefPtr&lt;EventTarget&gt; relatedTarget) { m_relatedTarget = relatedTarget; }
</span><span class="cx"> 
</span><del>-    Clipboard* clipboard() const override { return m_clipboard.get(); }
</del><span class="cx"> 
</span><span class="cx">     Node* toElement() const;
</span><span class="cx">     Node* fromElement() const;
</span><span class="cx"> 
</span><del>-    Clipboard* dataTransfer() const { return isDragEvent() ? m_clipboard.get() : 0; }
</del><ins>+    // FIXME: These functions can be merged if m_dataTransfer is only initialized for drag events.
+    DataTransfer* dataTransfer() const { return isDragEvent() ? m_dataTransfer.get() : 0; }
+    virtual DataTransfer* internalDataTransfer() const override { return m_dataTransfer.get(); }
</ins><span class="cx"> 
</span><span class="cx">     virtual EventInterface eventInterface() const override;
</span><span class="cx"> 
</span><span class="lines">@@ -109,7 +110,7 @@
</span><span class="cx">         int movementX, int movementY,
</span><span class="cx"> #endif
</span><span class="cx">         bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, unsigned short button,
</span><del>-        PassRefPtr&lt;EventTarget&gt; relatedTarget, PassRefPtr&lt;Clipboard&gt;, bool isSimulated);
</del><ins>+        PassRefPtr&lt;EventTarget&gt; relatedTarget, PassRefPtr&lt;DataTransfer&gt;, bool isSimulated);
</ins><span class="cx"> 
</span><span class="cx">     MouseEvent(const AtomicString&amp; type, const MouseEventInit&amp;);
</span><span class="cx"> 
</span><span class="lines">@@ -119,7 +120,7 @@
</span><span class="cx">     unsigned short m_button;
</span><span class="cx">     bool m_buttonDown;
</span><span class="cx">     RefPtr&lt;EventTarget&gt; m_relatedTarget;
</span><del>-    RefPtr&lt;Clipboard&gt; m_clipboard;
</del><ins>+    RefPtr&lt;DataTransfer&gt; m_dataTransfer;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class SimulatedMouseEvent : public MouseEvent {
</span></span></pre></div>
<a id="trunkSourceWebCoredomMouseEventidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/MouseEvent.idl (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/MouseEvent.idl        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/dom/MouseEvent.idl        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -59,7 +59,7 @@
</span><span class="cx">     readonly attribute Node             toElement;
</span><span class="cx"> 
</span><span class="cx"> #if defined(LANGUAGE_JAVASCRIPT) &amp;&amp; LANGUAGE_JAVASCRIPT
</span><del>-    readonly attribute Clipboard        dataTransfer;
</del><ins>+    readonly attribute DataTransfer     dataTransfer;
</ins><span class="cx"> #endif
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomWheelEventcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/WheelEvent.cpp (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/WheelEvent.cpp        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/dom/WheelEvent.cpp        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -24,7 +24,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;WheelEvent.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;Clipboard.h&quot;
</del><ins>+#include &quot;DataTransfer.h&quot;
</ins><span class="cx"> #include &quot;EventNames.h&quot;
</span><span class="cx"> #include &lt;wtf/MathExtras.h&gt;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingEditorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/Editor.cpp (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/Editor.cpp        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/editing/Editor.cpp        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -33,10 +33,10 @@
</span><span class="cx"> #include &quot;CSSComputedStyleDeclaration.h&quot;
</span><span class="cx"> #include &quot;CSSPropertyNames.h&quot;
</span><span class="cx"> #include &quot;CachedResourceLoader.h&quot;
</span><del>-#include &quot;Clipboard.h&quot;
</del><span class="cx"> #include &quot;ClipboardEvent.h&quot;
</span><span class="cx"> #include &quot;CompositionEvent.h&quot;
</span><span class="cx"> #include &quot;CreateLinkCommand.h&quot;
</span><ins>+#include &quot;DataTransfer.h&quot;
</ins><span class="cx"> #include &quot;DeleteSelectionCommand.h&quot;
</span><span class="cx"> #include &quot;DictationAlternative.h&quot;
</span><span class="cx"> #include &quot;DictationCommand.h&quot;
</span><span class="lines">@@ -302,17 +302,17 @@
</span><span class="cx"> 
</span><span class="cx"> bool Editor::canDHTMLCut()
</span><span class="cx"> {
</span><del>-    return !m_frame.selection().selection().isInPasswordField() &amp;&amp; !dispatchCPPEvent(eventNames().beforecutEvent, ClipboardNumb);
</del><ins>+    return !m_frame.selection().selection().isInPasswordField() &amp;&amp; !dispatchCPPEvent(eventNames().beforecutEvent, DataTransferAccessPolicy::Numb);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool Editor::canDHTMLCopy()
</span><span class="cx"> {
</span><del>-    return !m_frame.selection().selection().isInPasswordField() &amp;&amp; !dispatchCPPEvent(eventNames().beforecopyEvent, ClipboardNumb);
</del><ins>+    return !m_frame.selection().selection().isInPasswordField() &amp;&amp; !dispatchCPPEvent(eventNames().beforecopyEvent, DataTransferAccessPolicy::Numb);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool Editor::canDHTMLPaste()
</span><span class="cx"> {
</span><del>-    return !dispatchCPPEvent(eventNames().beforepasteEvent, ClipboardNumb);
</del><ins>+    return !dispatchCPPEvent(eventNames().beforepasteEvent, DataTransferAccessPolicy::Numb);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool Editor::canCut() const
</span><span class="lines">@@ -734,7 +734,7 @@
</span><span class="cx">     if (m_frame.selection().selection().isInPasswordField())
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    return !dispatchCPPEvent(eventNames().copyEvent, ClipboardWritable);
</del><ins>+    return !dispatchCPPEvent(eventNames().copyEvent, DataTransferAccessPolicy::Writable);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool Editor::tryDHTMLCut()
</span><span class="lines">@@ -742,12 +742,12 @@
</span><span class="cx">     if (m_frame.selection().selection().isInPasswordField())
</span><span class="cx">         return false;
</span><span class="cx">     
</span><del>-    return !dispatchCPPEvent(eventNames().cutEvent, ClipboardWritable);
</del><ins>+    return !dispatchCPPEvent(eventNames().cutEvent, DataTransferAccessPolicy::Writable);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool Editor::tryDHTMLPaste()
</span><span class="cx"> {
</span><del>-    return !dispatchCPPEvent(eventNames().pasteEvent, ClipboardReadable);
</del><ins>+    return !dispatchCPPEvent(eventNames().pasteEvent, DataTransferAccessPolicy::Readable);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool Editor::shouldInsertText(const String&amp; text, Range* range, EditorInsertAction action) const
</span><span class="lines">@@ -915,25 +915,25 @@
</span><span class="cx"> 
</span><span class="cx"> // Returns whether caller should continue with &quot;the default processing&quot;, which is the same as 
</span><span class="cx"> // the event handler NOT setting the return value to false
</span><del>-bool Editor::dispatchCPPEvent(const AtomicString&amp; eventType, ClipboardAccessPolicy policy)
</del><ins>+bool Editor::dispatchCPPEvent(const AtomicString&amp; eventType, DataTransferAccessPolicy policy)
</ins><span class="cx"> {
</span><span class="cx">     Node* target = findEventTargetFromSelection();
</span><span class="cx">     if (!target)
</span><span class="cx">         return true;
</span><span class="cx"> 
</span><del>-    RefPtr&lt;Clipboard&gt; clipboard = Clipboard::createForCopyAndPaste(policy);
</del><ins>+    RefPtr&lt;DataTransfer&gt; dataTransfer = DataTransfer::createForCopyAndPaste(policy);
</ins><span class="cx"> 
</span><del>-    RefPtr&lt;Event&gt; event = ClipboardEvent::create(eventType, true, true, clipboard);
</del><ins>+    RefPtr&lt;Event&gt; event = ClipboardEvent::create(eventType, true, true, dataTransfer);
</ins><span class="cx">     target-&gt;dispatchEvent(event, IGNORE_EXCEPTION);
</span><span class="cx">     bool noDefaultProcessing = event-&gt;defaultPrevented();
</span><del>-    if (noDefaultProcessing &amp;&amp; policy == ClipboardWritable) {
</del><ins>+    if (noDefaultProcessing &amp;&amp; policy == DataTransferAccessPolicy::Writable) {
</ins><span class="cx">         OwnPtr&lt;Pasteboard&gt; pasteboard = Pasteboard::createForCopyAndPaste();
</span><span class="cx">         pasteboard-&gt;clear();
</span><del>-        pasteboard-&gt;writePasteboard(clipboard-&gt;pasteboard());
</del><ins>+        pasteboard-&gt;writePasteboard(dataTransfer-&gt;pasteboard());
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    // invalidate clipboard here for security
-    clipboard-&gt;setAccessPolicy(ClipboardNumb);
</del><ins>+    // invalidate dataTransfer here for security
+    dataTransfer-&gt;setAccessPolicy(DataTransferAccessPolicy::Numb);
</ins><span class="cx">     
</span><span class="cx">     return !noDefaultProcessing;
</span><span class="cx"> }
</span><span class="lines">@@ -1313,7 +1313,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (enclosingTextFormControl(m_frame.selection().selection().start()))
</span><del>-        Pasteboard::createForCopyAndPaste()-&gt;writePlainText(selectedTextForClipboard(), canSmartCopyOrDelete() ? Pasteboard::CanSmartReplace : Pasteboard::CannotSmartReplace);
</del><ins>+        Pasteboard::createForCopyAndPaste()-&gt;writePlainText(selectedTextForDataTransfer(), canSmartCopyOrDelete() ? Pasteboard::CanSmartReplace : Pasteboard::CannotSmartReplace);
</ins><span class="cx">     else {
</span><span class="cx">         HTMLImageElement* imageElement = nullptr;
</span><span class="cx">         if (action == CopyAction)
</span><span class="lines">@@ -1330,7 +1330,7 @@
</span><span class="cx">             writeSelectionToPasteboard(*Pasteboard::createForCopyAndPaste());
</span><span class="cx"> #else
</span><span class="cx">             // FIXME: Convert all other platforms to match Mac and delete this.
</span><del>-            Pasteboard::createForCopyAndPaste()-&gt;writeSelection(*selection, canSmartCopyOrDelete(), m_frame, IncludeImageAltTextForClipboard);
</del><ins>+            Pasteboard::createForCopyAndPaste()-&gt;writeSelection(*selection, canSmartCopyOrDelete(), m_frame, IncludeImageAltTextForDataTransfer);
</ins><span class="cx"> #endif
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="lines">@@ -2957,7 +2957,7 @@
</span><span class="cx">     return selectedText(TextIteratorDefaultBehavior);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-String Editor::selectedTextForClipboard() const
</del><ins>+String Editor::selectedTextForDataTransfer() const
</ins><span class="cx"> {
</span><span class="cx">     if (m_frame.settings().selectionIncludesAltImageText())
</span><span class="cx">         return selectedText(TextIteratorEmitsImageAltText);
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingEditorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/Editor.h (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/Editor.h        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/editing/Editor.h        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -26,8 +26,8 @@
</span><span class="cx"> #ifndef Editor_h
</span><span class="cx"> #define Editor_h
</span><span class="cx"> 
</span><del>-#include &quot;ClipboardAccessPolicy.h&quot;
</del><span class="cx"> #include &quot;Color.h&quot;
</span><ins>+#include &quot;DataTransferAccessPolicy.h&quot;
</ins><span class="cx"> #include &quot;DictationAlternative.h&quot;
</span><span class="cx"> #include &quot;DocumentMarker.h&quot;
</span><span class="cx"> #include &quot;EditAction.h&quot;
</span><span class="lines">@@ -51,7 +51,7 @@
</span><span class="cx"> 
</span><span class="cx"> class AlternativeTextController;
</span><span class="cx"> class ArchiveResource;
</span><del>-class Clipboard;
</del><ins>+class DataTransfer;
</ins><span class="cx"> class CompositeEditCommand;
</span><span class="cx"> class DeleteButtonController;
</span><span class="cx"> class EditCommand;
</span><span class="lines">@@ -175,7 +175,7 @@
</span><span class="cx">     void removeUnchangeableStyles();
</span><span class="cx"> #endif
</span><span class="cx">     
</span><del>-    bool dispatchCPPEvent(const AtomicString&amp;, ClipboardAccessPolicy);
</del><ins>+    bool dispatchCPPEvent(const AtomicString&amp;, DataTransferAccessPolicy);
</ins><span class="cx">     
</span><span class="cx">     void applyStyle(StyleProperties*, EditAction = EditActionUnspecified);
</span><span class="cx">     void applyParagraphStyle(StyleProperties*, EditAction = EditActionUnspecified);
</span><span class="lines">@@ -347,7 +347,7 @@
</span><span class="cx">     Node* findEventTargetFrom(const VisibleSelection&amp; selection) const;
</span><span class="cx"> 
</span><span class="cx">     String selectedText() const;
</span><del>-    String selectedTextForClipboard() const;
</del><ins>+    String selectedTextForDataTransfer() const;
</ins><span class="cx">     bool findString(const String&amp;, FindOptions);
</span><span class="cx"> 
</span><span class="cx">     PassRefPtr&lt;Range&gt; rangeOfString(const String&amp;, Range*, FindOptions);
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingiosEditorIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/ios/EditorIOS.mm (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/ios/EditorIOS.mm        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/editing/ios/EditorIOS.mm        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -27,10 +27,10 @@
</span><span class="cx"> #include &quot;Editor.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;CachedImage.h&quot;
</span><del>-#include &quot;Clipboard.h&quot;
</del><span class="cx"> #include &quot;CSSComputedStyleDeclaration.h&quot;
</span><span class="cx"> #include &quot;CSSPrimitiveValueMappings.h&quot;
</span><span class="cx"> #include &quot;DOMRangeInternal.h&quot;
</span><ins>+#include &quot;DataTransfer.h&quot;
</ins><span class="cx"> #include &quot;DocumentFragment.h&quot;
</span><span class="cx"> #include &quot;DocumentLoader.h&quot;
</span><span class="cx"> #include &quot;EditorClient.h&quot;
</span><span class="lines">@@ -311,7 +311,7 @@
</span><span class="cx"> 
</span><span class="cx"> String Editor::stringSelectionForPasteboardWithImageAltText()
</span><span class="cx"> {
</span><del>-    String text = selectedTextForClipboard();
</del><ins>+    String text = selectedTextForDataTransfer();
</ins><span class="cx">     text.replace(noBreakSpace, ' ');
</span><span class="cx">     return text;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingmacEditorMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/mac/EditorMac.mm (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/mac/EditorMac.mm        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/editing/mac/EditorMac.mm        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -27,9 +27,9 @@
</span><span class="cx"> #import &quot;Editor.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #import &quot;CachedResourceLoader.h&quot;
</span><del>-#import &quot;Clipboard.h&quot;
</del><span class="cx"> #import &quot;ColorMac.h&quot;
</span><span class="cx"> #import &quot;DOMRangeInternal.h&quot;
</span><ins>+#import &quot;DataTransfer.h&quot;
</ins><span class="cx"> #import &quot;DocumentFragment.h&quot;
</span><span class="cx"> #import &quot;DocumentLoader.h&quot;
</span><span class="cx"> #import &quot;Editor.h&quot;
</span><span class="lines">@@ -253,7 +253,7 @@
</span><span class="cx">     Vector&lt;String&gt; types;
</span><span class="cx">     types.append(String(NSStringPboardType));
</span><span class="cx">     platformStrategies()-&gt;pasteboardStrategy()-&gt;setTypes(types, NSFindPboard);
</span><del>-    platformStrategies()-&gt;pasteboardStrategy()-&gt;setStringForType(m_frame.displayStringModifiedByEncoding(selectedTextForClipboard()), NSStringPboardType, NSFindPboard);
</del><ins>+    platformStrategies()-&gt;pasteboardStrategy()-&gt;setStringForType(m_frame.displayStringModifiedByEncoding(selectedTextForDataTransfer()), NSStringPboardType, NSFindPboard);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void Editor::readSelectionFromPasteboard(const String&amp; pasteboardName)
</span><span class="lines">@@ -265,8 +265,8 @@
</span><span class="cx">         pasteAsPlainTextWithPasteboard(pasteboard);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-// FIXME: Makes no sense that selectedTextForClipboard always includes alt text, but stringSelectionForPasteboard does not.
-// This was left in a bad state when selectedTextForClipboard was added. Need to look over clients and fix this.
</del><ins>+// FIXME: Makes no sense that selectedTextForDataTransfer always includes alt text, but stringSelectionForPasteboard does not.
+// This was left in a bad state when selectedTextForDataTransfer was added. Need to look over clients and fix this.
</ins><span class="cx"> String Editor::stringSelectionForPasteboard()
</span><span class="cx"> {
</span><span class="cx">     if (!canCopy())
</span><span class="lines">@@ -280,7 +280,7 @@
</span><span class="cx"> {
</span><span class="cx">     if (!canCopy())
</span><span class="cx">         return &quot;&quot;;
</span><del>-    String text = selectedTextForClipboard();
</del><ins>+    String text = selectedTextForDataTransfer();
</ins><span class="cx">     text.replace(noBreakSpace, ' ');
</span><span class="cx">     return text;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderEmptyClientsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/EmptyClients.h (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/EmptyClients.h        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/loader/EmptyClients.h        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -572,10 +572,10 @@
</span><span class="cx">     EmptyDragClient() { }
</span><span class="cx">     virtual ~EmptyDragClient() {}
</span><span class="cx">     virtual void willPerformDragDestinationAction(DragDestinationAction, DragData&amp;) override { }
</span><del>-    virtual void willPerformDragSourceAction(DragSourceAction, const IntPoint&amp;, Clipboard&amp;) override { }
</del><ins>+    virtual void willPerformDragSourceAction(DragSourceAction, const IntPoint&amp;, DataTransfer&amp;) override { }
</ins><span class="cx">     virtual DragDestinationAction actionMaskForDrag(DragData&amp;) override { return DragDestinationActionNone; }
</span><span class="cx">     virtual DragSourceAction dragSourceActionMaskForPoint(const IntPoint&amp;) override { return DragSourceActionNone; }
</span><del>-    virtual void startDrag(DragImageRef, const IntPoint&amp;, const IntPoint&amp;, Clipboard&amp;, Frame&amp;, bool) override { }
</del><ins>+    virtual void startDrag(DragImageRef, const IntPoint&amp;, const IntPoint&amp;, DataTransfer&amp;, Frame&amp;, bool) override { }
</ins><span class="cx">     virtual void dragControllerDestroyed() override { }
</span><span class="cx"> };
</span><span class="cx"> #endif // ENABLE(DRAG_SUPPORT)
</span></span></pre></div>
<a id="trunkSourceWebCorepageDragClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/DragClient.h (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/DragClient.h        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/page/DragClient.h        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx">     
</span><del>-class Clipboard;
</del><ins>+class DataTransfer;
</ins><span class="cx"> class DragData;
</span><span class="cx"> class Element;
</span><span class="cx"> class Frame;
</span><span class="lines">@@ -44,11 +44,11 @@
</span><span class="cx">     virtual void dragControllerDestroyed() = 0;
</span><span class="cx"> 
</span><span class="cx">     virtual void willPerformDragDestinationAction(DragDestinationAction, DragData&amp;) = 0;
</span><del>-    virtual void willPerformDragSourceAction(DragSourceAction, const IntPoint&amp;, Clipboard&amp;) = 0;
</del><ins>+    virtual void willPerformDragSourceAction(DragSourceAction, const IntPoint&amp;, DataTransfer&amp;) = 0;
</ins><span class="cx">     virtual DragDestinationAction actionMaskForDrag(DragData&amp;) = 0;
</span><span class="cx">     virtual DragSourceAction dragSourceActionMaskForPoint(const IntPoint&amp; rootViewPoint) = 0;
</span><span class="cx">     
</span><del>-    virtual void startDrag(DragImageRef, const IntPoint&amp; dragImageOrigin, const IntPoint&amp; eventPos, Clipboard&amp;, Frame&amp;, bool linkDrag = false) = 0;
</del><ins>+    virtual void startDrag(DragImageRef, const IntPoint&amp; dragImageOrigin, const IntPoint&amp; eventPos, DataTransfer&amp;, Frame&amp;, bool linkDrag = false) = 0;
</ins><span class="cx">     virtual void dragEnded() { }
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(COCOA)
</span></span></pre></div>
<a id="trunkSourceWebCorepageDragControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/DragController.cpp (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/DragController.cpp        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/page/DragController.cpp        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -29,9 +29,8 @@
</span><span class="cx"> #if ENABLE(DRAG_SUPPORT)
</span><span class="cx"> 
</span><span class="cx"> #include &quot;CachedImage.h&quot;
</span><del>-#include &quot;Clipboard.h&quot;
-#include &quot;ClipboardAccessPolicy.h&quot;
</del><span class="cx"> #include &quot;CachedResourceLoader.h&quot;
</span><ins>+#include &quot;DataTransfer.h&quot;
</ins><span class="cx"> #include &quot;Document.h&quot;
</span><span class="cx"> #include &quot;DocumentFragment.h&quot;
</span><span class="cx"> #include &quot;DragActions.h&quot;
</span><span class="lines">@@ -185,11 +184,11 @@
</span><span class="cx"> void DragController::dragExited(DragData&amp; dragData)
</span><span class="cx"> {
</span><span class="cx">     if (RefPtr&lt;FrameView&gt; v = m_page.mainFrame().view()) {
</span><del>-        ClipboardAccessPolicy policy = (!m_documentUnderMouse || m_documentUnderMouse-&gt;securityOrigin()-&gt;isLocal()) ? ClipboardReadable : ClipboardTypesReadable;
-        RefPtr&lt;Clipboard&gt; clipboard = Clipboard::createForDragAndDrop(policy, dragData);
-        clipboard-&gt;setSourceOperation(dragData.draggingSourceOperationMask());
-        m_page.mainFrame().eventHandler().cancelDragAndDrop(createMouseEvent(dragData), clipboard.get());
-        clipboard-&gt;setAccessPolicy(ClipboardNumb);    // invalidate clipboard here for security
</del><ins>+        DataTransferAccessPolicy policy = (!m_documentUnderMouse || m_documentUnderMouse-&gt;securityOrigin()-&gt;isLocal()) ? DataTransferAccessPolicy::Readable : DataTransferAccessPolicy::TypesReadable;
+        RefPtr&lt;DataTransfer&gt; dataTransfer = DataTransfer::createForDragAndDrop(policy, dragData);
+        dataTransfer-&gt;setSourceOperation(dragData.draggingSourceOperationMask());
+        m_page.mainFrame().eventHandler().cancelDragAndDrop(createMouseEvent(dragData), dataTransfer.get());
+        dataTransfer-&gt;setAccessPolicy(DataTransferAccessPolicy::Numb); // Invalidate dataTransfer here for security.
</ins><span class="cx">     }
</span><span class="cx">     mouseMovedIntoDocument(0);
</span><span class="cx">     if (m_fileInputElementUnderMouse)
</span><span class="lines">@@ -211,10 +210,10 @@
</span><span class="cx">         bool preventedDefault = false;
</span><span class="cx">         if (mainFrame-&gt;view()) {
</span><span class="cx">             // Sending an event can result in the destruction of the view and part.
</span><del>-            RefPtr&lt;Clipboard&gt; clipboard = Clipboard::createForDragAndDrop(ClipboardReadable, dragData);
-            clipboard-&gt;setSourceOperation(dragData.draggingSourceOperationMask());
-            preventedDefault = mainFrame-&gt;eventHandler().performDragAndDrop(createMouseEvent(dragData), clipboard.get());
-            clipboard-&gt;setAccessPolicy(ClipboardNumb); // Invalidate clipboard here for security
</del><ins>+            RefPtr&lt;DataTransfer&gt; dataTransfer = DataTransfer::createForDragAndDrop(DataTransferAccessPolicy::Readable, dragData);
+            dataTransfer-&gt;setSourceOperation(dragData.draggingSourceOperationMask());
+            preventedDefault = mainFrame-&gt;eventHandler().performDragAndDrop(createMouseEvent(dragData), dataTransfer.get());
+            dataTransfer-&gt;setAccessPolicy(DataTransferAccessPolicy::Numb); // Invalidate dataTransfer here for security.
</ins><span class="cx">         }
</span><span class="cx">         if (preventedDefault) {
</span><span class="cx">             m_documentUnderMouse = 0;
</span><span class="lines">@@ -592,26 +591,26 @@
</span><span class="cx">     if (!viewProtector)
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    ClipboardAccessPolicy policy = m_documentUnderMouse-&gt;securityOrigin()-&gt;isLocal() ? ClipboardReadable : ClipboardTypesReadable;
-    RefPtr&lt;Clipboard&gt; clipboard = Clipboard::createForDragAndDrop(policy, dragData);
</del><ins>+    DataTransferAccessPolicy policy = m_documentUnderMouse-&gt;securityOrigin()-&gt;isLocal() ? DataTransferAccessPolicy::Readable : DataTransferAccessPolicy::TypesReadable;
+    RefPtr&lt;DataTransfer&gt; dataTransfer = DataTransfer::createForDragAndDrop(policy, dragData);
</ins><span class="cx">     DragOperation srcOpMask = dragData.draggingSourceOperationMask();
</span><del>-    clipboard-&gt;setSourceOperation(srcOpMask);
</del><ins>+    dataTransfer-&gt;setSourceOperation(srcOpMask);
</ins><span class="cx"> 
</span><span class="cx">     PlatformMouseEvent event = createMouseEvent(dragData);
</span><del>-    if (!mainFrame-&gt;eventHandler().updateDragAndDrop(event, clipboard.get())) {
-        clipboard-&gt;setAccessPolicy(ClipboardNumb);    // invalidate clipboard here for security
</del><ins>+    if (!mainFrame-&gt;eventHandler().updateDragAndDrop(event, dataTransfer.get())) {
+        dataTransfer-&gt;setAccessPolicy(DataTransferAccessPolicy::Numb); // Invalidate dataTransfer here for security.
</ins><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    operation = clipboard-&gt;destinationOperation();
-    if (clipboard-&gt;dropEffectIsUninitialized())
</del><ins>+    operation = dataTransfer-&gt;destinationOperation();
+    if (dataTransfer-&gt;dropEffectIsUninitialized())
</ins><span class="cx">         operation = defaultOperationForDrag(srcOpMask);
</span><span class="cx">     else if (!(srcOpMask &amp; operation)) {
</span><span class="cx">         // The element picked an operation which is not supported by the source
</span><span class="cx">         operation = DragOperationNone;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    clipboard-&gt;setAccessPolicy(ClipboardNumb);    // invalidate clipboard here for security
</del><ins>+    dataTransfer-&gt;setAccessPolicy(DataTransferAccessPolicy::Numb); // Invalidate dataTransfer here for security.
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -733,11 +732,11 @@
</span><span class="cx">     IntPoint dragLoc(0, 0);
</span><span class="cx">     IntPoint dragImageOffset(0, 0);
</span><span class="cx"> 
</span><del>-    ASSERT(state.clipboard);
</del><ins>+    ASSERT(state.dataTransfer);
</ins><span class="cx"> 
</span><del>-    Clipboard&amp; clipboard = *state.clipboard;
</del><ins>+    DataTransfer&amp; dataTransfer = *state.dataTransfer;
</ins><span class="cx">     if (state.type == DragSourceActionDHTML)
</span><del>-        dragImage = clipboard.createDragImage(dragImageOffset);
</del><ins>+        dragImage = dataTransfer.createDragImage(dragImageOffset);
</ins><span class="cx">     if (state.type == DragSourceActionSelection || !imageURL.isEmpty() || !linkURL.isEmpty())
</span><span class="cx">         // Selection, image, and link drags receive a default set of allowed drag operations that
</span><span class="cx">         // follows from:
</span><span class="lines">@@ -758,7 +757,7 @@
</span><span class="cx"> 
</span><span class="cx">     Image* image = getImage(element);
</span><span class="cx">     if (state.type == DragSourceActionSelection) {
</span><del>-        if (!clipboard.pasteboard().hasData()) {
</del><ins>+        if (!dataTransfer.pasteboard().hasData()) {
</ins><span class="cx">             // FIXME: This entire block is almost identical to the code in Editor::copy, and the code should be shared.
</span><span class="cx"> 
</span><span class="cx">             RefPtr&lt;Range&gt; selectionRange = src.selection().toNormalizedRange();
</span><span class="lines">@@ -767,51 +766,52 @@
</span><span class="cx">             src.editor().willWriteSelectionToPasteboard(selectionRange.get());
</span><span class="cx"> 
</span><span class="cx">             if (enclosingTextFormControl(src.selection().selection().start()))
</span><del>-                clipboard.pasteboard().writePlainText(src.editor().selectedTextForClipboard(), Pasteboard::CannotSmartReplace);
</del><ins>+                dataTransfer.pasteboard().writePlainText(src.editor().selectedTextForDataTransfer(), Pasteboard::CannotSmartReplace);
</ins><span class="cx">             else {
</span><span class="cx"> #if PLATFORM(COCOA) || PLATFORM(EFL)
</span><del>-                src.editor().writeSelectionToPasteboard(clipboard.pasteboard());
</del><ins>+                src.editor().writeSelectionToPasteboard(dataTransfer.pasteboard());
</ins><span class="cx"> #else
</span><span class="cx">                 // FIXME: Convert all other platforms to match Mac and delete this.
</span><del>-                clipboard.pasteboard().writeSelection(*selectionRange, src.editor().canSmartCopyOrDelete(), src, IncludeImageAltTextForClipboard);
</del><ins>+                dataTransfer.pasteboard().writeSelection(*selectionRange, src.editor().canSmartCopyOrDelete(), src, IncludeImageAltTextForDataTransfer);
</ins><span class="cx"> #endif
</span><span class="cx">             }
</span><span class="cx"> 
</span><span class="cx">             src.editor().didWriteSelectionToPasteboard();
</span><span class="cx">         }
</span><del>-        m_client.willPerformDragSourceAction(DragSourceActionSelection, dragOrigin, clipboard);
</del><ins>+        m_client.willPerformDragSourceAction(DragSourceActionSelection, dragOrigin, dataTransfer);
</ins><span class="cx">         if (!dragImage) {
</span><span class="cx">             dragImage = dissolveDragImageToFraction(createDragImageForSelection(src), DragImageAlpha);
</span><span class="cx">             dragLoc = dragLocForSelectionDrag(src);
</span><span class="cx">             m_dragOffset = IntPoint(dragOrigin.x() - dragLoc.x(), dragOrigin.y() - dragLoc.y());
</span><span class="cx">         }
</span><del>-        doSystemDrag(dragImage, dragLoc, dragOrigin, clipboard, src, false);
</del><ins>+        doSystemDrag(dragImage, dragLoc, dragOrigin, dataTransfer, src, false);
</ins><span class="cx">     } else if (!imageURL.isEmpty() &amp;&amp; image &amp;&amp; !image-&gt;isNull() &amp;&amp; (m_dragSourceAction &amp; DragSourceActionImage)) {
</span><span class="cx">         // We shouldn't be starting a drag for an image that can't provide an extension.
</span><span class="cx">         // This is an early detection for problems encountered later upon drop.
</span><span class="cx">         ASSERT(!image-&gt;filenameExtension().isEmpty());
</span><del>-        if (!clipboard.pasteboard().hasData()) {
</del><ins>+        if (!dataTransfer.pasteboard().hasData()) {
</ins><span class="cx">             m_draggingImageURL = imageURL;
</span><span class="cx">             if (element.isContentRichlyEditable())
</span><span class="cx">                 selectElement(element);
</span><del>-            declareAndWriteDragImage(clipboard, element, !linkURL.isEmpty() ? linkURL : imageURL, hitTestResult.altDisplayString());
</del><ins>+            declareAndWriteDragImage(dataTransfer, element, !linkURL.isEmpty() ? linkURL : imageURL, hitTestResult.altDisplayString());
</ins><span class="cx">         }
</span><span class="cx"> 
</span><del>-        m_client.willPerformDragSourceAction(DragSourceActionImage, dragOrigin, clipboard);
</del><ins>+        m_client.willPerformDragSourceAction(DragSourceActionImage, dragOrigin, dataTransfer);
</ins><span class="cx"> 
</span><span class="cx">         if (!dragImage) {
</span><span class="cx">             IntRect imageRect = hitTestResult.imageRect();
</span><span class="cx">             imageRect.setLocation(m_page.mainFrame().view()-&gt;rootViewToContents(src.view()-&gt;contentsToRootView(imageRect.location())));
</span><del>-            doImageDrag(element, dragOrigin, hitTestResult.imageRect(), clipboard, src, m_dragOffset);
</del><ins>+            doImageDrag(element, dragOrigin, hitTestResult.imageRect(), dataTransfer, src, m_dragOffset);
</ins><span class="cx">         } else {
</span><span class="cx">             // DHTML defined drag image
</span><del>-            doSystemDrag(dragImage, dragLoc, dragOrigin, clipboard, src, false);
</del><ins>+            doSystemDrag(dragImage, dragLoc, dragOrigin, dataTransfer, src, false);
</ins><span class="cx">         }
</span><span class="cx">     } else if (!linkURL.isEmpty() &amp;&amp; (m_dragSourceAction &amp; DragSourceActionLink)) {
</span><del>-        if (!clipboard.pasteboard().hasData())
-            // Simplify whitespace so the title put on the clipboard resembles what the user sees
</del><ins>+        if (!dataTransfer.pasteboard().hasData()) {
+            // Simplify whitespace so the title put on the dataTransfer resembles what the user sees
</ins><span class="cx">             // on the web page. This includes replacing newlines with spaces.
</span><del>-            src.editor().copyURL(linkURL, hitTestResult.textContent().simplifyWhiteSpace(), clipboard.pasteboard());
</del><ins>+            src.editor().copyURL(linkURL, hitTestResult.textContent().simplifyWhiteSpace(), dataTransfer.pasteboard());
+        }
</ins><span class="cx"> 
</span><span class="cx">         const VisibleSelection&amp; sourceSelection = src.selection().selection();
</span><span class="cx">         if (sourceSelection.isCaret() &amp;&amp; sourceSelection.isContentEditable()) {
</span><span class="lines">@@ -824,7 +824,7 @@
</span><span class="cx">                 src.selection().setSelection(VisibleSelection::selectionFromContentsOfNode(node));
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        m_client.willPerformDragSourceAction(DragSourceActionLink, dragOrigin, clipboard);
</del><ins>+        m_client.willPerformDragSourceAction(DragSourceActionLink, dragOrigin, dataTransfer);
</ins><span class="cx">         if (!dragImage) {
</span><span class="cx">             dragImage = createDragImageForLink(linkURL, hitTestResult.textContent(), src.settings().fontRenderingMode());
</span><span class="cx">             IntSize size = dragImageSize(dragImage);
</span><span class="lines">@@ -833,12 +833,12 @@
</span><span class="cx">             // Later code expects the drag image to be scaled by device's scale factor.
</span><span class="cx">             dragImage = scaleDragImage(dragImage, FloatSize(m_page.deviceScaleFactor(), m_page.deviceScaleFactor()));
</span><span class="cx">         }
</span><del>-        doSystemDrag(dragImage, dragLoc, mouseDraggedPoint, clipboard, src, true);
</del><ins>+        doSystemDrag(dragImage, dragLoc, mouseDraggedPoint, dataTransfer, src, true);
</ins><span class="cx">     } else if (state.type == DragSourceActionDHTML) {
</span><span class="cx">         if (dragImage) {
</span><span class="cx">             ASSERT(m_dragSourceAction &amp; DragSourceActionDHTML);
</span><del>-            m_client.willPerformDragSourceAction(DragSourceActionDHTML, dragOrigin, clipboard);
-            doSystemDrag(dragImage, dragLoc, dragOrigin, clipboard, src, false);
</del><ins>+            m_client.willPerformDragSourceAction(DragSourceActionDHTML, dragOrigin, dataTransfer);
+            doSystemDrag(dragImage, dragLoc, dragOrigin, dataTransfer, src, false);
</ins><span class="cx">         } else
</span><span class="cx">             startedDrag = false;
</span><span class="cx">     } else {
</span><span class="lines">@@ -852,7 +852,7 @@
</span><span class="cx">     return startedDrag;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void DragController::doImageDrag(Element&amp; element, const IntPoint&amp; dragOrigin, const IntRect&amp; layoutRect, Clipboard&amp; clipboard, Frame&amp; frame, IntPoint&amp; dragImageOffset)
</del><ins>+void DragController::doImageDrag(Element&amp; element, const IntPoint&amp; dragOrigin, const IntRect&amp; layoutRect, DataTransfer&amp; dataTransfer, Frame&amp; frame, IntPoint&amp; dragImageOffset)
</ins><span class="cx"> {
</span><span class="cx">     IntPoint mouseDownPoint = dragOrigin;
</span><span class="cx">     DragImageRef dragImage = nullptr;
</span><span class="lines">@@ -895,12 +895,12 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     dragImageOffset = mouseDownPoint + scaledOrigin;
</span><del>-    doSystemDrag(dragImage, dragImageOffset, dragOrigin, clipboard, frame, false);
</del><ins>+    doSystemDrag(dragImage, dragImageOffset, dragOrigin, dataTransfer, frame, false);
</ins><span class="cx"> 
</span><span class="cx">     deleteDragImage(dragImage);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void DragController::doSystemDrag(DragImageRef image, const IntPoint&amp; dragLoc, const IntPoint&amp; eventPos, Clipboard&amp; clipboard, Frame&amp; frame, bool forLink)
</del><ins>+void DragController::doSystemDrag(DragImageRef image, const IntPoint&amp; dragLoc, const IntPoint&amp; eventPos, DataTransfer&amp; dataTransfer, Frame&amp; frame, bool forLink)
</ins><span class="cx"> {
</span><span class="cx">     m_didInitiateDrag = true;
</span><span class="cx">     m_dragInitiator = frame.document();
</span><span class="lines">@@ -908,7 +908,7 @@
</span><span class="cx">     Ref&lt;MainFrame&gt; frameProtector(m_page.mainFrame());
</span><span class="cx">     RefPtr&lt;FrameView&gt; viewProtector = frameProtector-&gt;view();
</span><span class="cx">     m_client.startDrag(image, viewProtector-&gt;rootViewToContents(frame.view()-&gt;contentsToRootView(dragLoc)),
</span><del>-        viewProtector-&gt;rootViewToContents(frame.view()-&gt;contentsToRootView(eventPos)), clipboard, frameProtector.get(), forLink);
</del><ins>+        viewProtector-&gt;rootViewToContents(frame.view()-&gt;contentsToRootView(eventPos)), dataTransfer, frameProtector.get(), forLink);
</ins><span class="cx">     // DragClient::startDrag can cause our Page to dispear, deallocating |this|.
</span><span class="cx">     if (!frameProtector-&gt;page())
</span><span class="cx">         return;
</span></span></pre></div>
<a id="trunkSourceWebCorepageDragControllerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/DragController.h (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/DragController.h        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/page/DragController.h        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-    class Clipboard;
</del><ins>+    class DataTransfer;
</ins><span class="cx">     class Document;
</span><span class="cx">     class DragClient;
</span><span class="cx">     class DragData;
</span><span class="lines">@@ -106,10 +106,10 @@
</span><span class="cx"> 
</span><span class="cx">         void mouseMovedIntoDocument(Document*);
</span><span class="cx"> 
</span><del>-        void doImageDrag(Element&amp;, const IntPoint&amp;, const IntRect&amp;, Clipboard&amp;, Frame&amp;, IntPoint&amp;);
-        void doSystemDrag(DragImageRef, const IntPoint&amp;, const IntPoint&amp;, Clipboard&amp;, Frame&amp;, bool forLink);
</del><ins>+        void doImageDrag(Element&amp;, const IntPoint&amp;, const IntRect&amp;, DataTransfer&amp;, Frame&amp;, IntPoint&amp;);
+        void doSystemDrag(DragImageRef, const IntPoint&amp;, const IntPoint&amp;, DataTransfer&amp;, Frame&amp;, bool forLink);
</ins><span class="cx">         void cleanupAfterSystemDrag();
</span><del>-        void declareAndWriteDragImage(Clipboard&amp;, Element&amp;, const URL&amp;, const String&amp; label);
</del><ins>+        void declareAndWriteDragImage(DataTransfer&amp;, Element&amp;, const URL&amp;, const String&amp; label);
</ins><span class="cx"> 
</span><span class="cx">         Page&amp; m_page;
</span><span class="cx">         DragClient&amp; m_client;
</span></span></pre></div>
<a id="trunkSourceWebCorepageDragStateh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/DragState.h (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/DragState.h        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/page/DragState.h        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -27,7 +27,7 @@
</span><span class="cx"> #ifndef DragState_h
</span><span class="cx"> #define DragState_h
</span><span class="cx"> 
</span><del>-#include &quot;Clipboard.h&quot;
</del><ins>+#include &quot;DataTransfer.h&quot;
</ins><span class="cx"> #include &quot;DragActions.h&quot;
</span><span class="cx"> #include &quot;Element.h&quot;
</span><span class="cx"> 
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx">     RefPtr&lt;Element&gt; source; // Element that may be a drag source, for the current mouse gesture.
</span><span class="cx">     bool shouldDispatchEvents;
</span><span class="cx">     DragSourceAction type;
</span><del>-    RefPtr&lt;Clipboard&gt; clipboard; // Used on only the source side of dragging.
</del><ins>+    RefPtr&lt;DataTransfer&gt; dataTransfer; // Used on only the source side of dragging.
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorepageEventHandlercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/EventHandler.cpp (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/EventHandler.cpp        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/page/EventHandler.cpp        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -2012,7 +2012,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(DRAG_SUPPORT)
</span><span class="cx"> 
</span><del>-bool EventHandler::dispatchDragEvent(const AtomicString&amp; eventType, Element&amp; dragTarget, const PlatformMouseEvent&amp; event, Clipboard* clipboard)
</del><ins>+bool EventHandler::dispatchDragEvent(const AtomicString&amp; eventType, Element&amp; dragTarget, const PlatformMouseEvent&amp; event, DataTransfer* dataTransfer)
</ins><span class="cx"> {
</span><span class="cx">     FrameView* view = m_frame.view();
</span><span class="cx"> 
</span><span class="lines">@@ -2028,7 +2028,7 @@
</span><span class="cx">         event.movementDelta().x(), event.movementDelta().y(),
</span><span class="cx"> #endif
</span><span class="cx">         event.ctrlKey(), event.altKey(), event.shiftKey(), event.metaKey(),
</span><del>-        0, 0, clipboard);
</del><ins>+        0, 0, dataTransfer);
</ins><span class="cx"> 
</span><span class="cx">     dragTarget.dispatchEvent(me.get(), IGNORE_EXCEPTION);
</span><span class="cx">     return me-&gt;defaultPrevented();
</span><span class="lines">@@ -2072,9 +2072,9 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline bool hasFileOfType(Clipboard&amp; clipboard, const String&amp; type)
</del><ins>+static inline bool hasFileOfType(DataTransfer&amp; dataTransfer, const String&amp; type)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;FileList&gt; fileList = clipboard.files();
</del><ins>+    RefPtr&lt;FileList&gt; fileList = dataTransfer.files();
</ins><span class="cx">     for (unsigned i = 0; i &lt; fileList-&gt;length(); i++) {
</span><span class="cx">         if (equalIgnoringCase(fileList-&gt;item(i)-&gt;type(), type))
</span><span class="cx">             return true;
</span><span class="lines">@@ -2082,23 +2082,23 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline bool hasStringOfType(Clipboard&amp; clipboard, const String&amp; type)
</del><ins>+static inline bool hasStringOfType(DataTransfer&amp; dataTransfer, const String&amp; type)
</ins><span class="cx"> {
</span><del>-    return !type.isNull() &amp;&amp; clipboard.types().contains(type);
</del><ins>+    return !type.isNull() &amp;&amp; dataTransfer.types().contains(type);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static bool hasDropZoneType(Clipboard&amp; clipboard, const String&amp; keyword)
</del><ins>+static bool hasDropZoneType(DataTransfer&amp; dataTransfer, const String&amp; keyword)
</ins><span class="cx"> {
</span><span class="cx">     if (keyword.startsWith(&quot;file:&quot;))
</span><del>-        return hasFileOfType(clipboard, keyword.substring(5));
</del><ins>+        return hasFileOfType(dataTransfer, keyword.substring(5));
</ins><span class="cx"> 
</span><span class="cx">     if (keyword.startsWith(&quot;string:&quot;))
</span><del>-        return hasStringOfType(clipboard, keyword.substring(7));
</del><ins>+        return hasStringOfType(dataTransfer, keyword.substring(7));
</ins><span class="cx"> 
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static bool findDropZone(Node* target, Clipboard* clipboard)
</del><ins>+static bool findDropZone(Node* target, DataTransfer* dataTransfer)
</ins><span class="cx"> {
</span><span class="cx">     Element* element = target-&gt;isElementNode() ? toElement(target) : target-&gt;parentElement();
</span><span class="cx">     for (; element; element = element-&gt;parentElement()) {
</span><span class="lines">@@ -2121,20 +2121,20 @@
</span><span class="cx">                 if (dragOperation == DragOperationNone)
</span><span class="cx">                     dragOperation = op;
</span><span class="cx">             } else
</span><del>-                matched = matched || hasDropZoneType(*clipboard, keywords[i].string());
</del><ins>+                matched = matched || hasDropZoneType(*dataTransfer, keywords[i].string());
</ins><span class="cx"> 
</span><span class="cx">             if (matched &amp;&amp; dragOperation != DragOperationNone)
</span><span class="cx">                 break;
</span><span class="cx">         }
</span><span class="cx">         if (matched) {
</span><del>-            clipboard-&gt;setDropEffect(convertDragOperationToDropZoneOperation(dragOperation));
</del><ins>+            dataTransfer-&gt;setDropEffect(convertDragOperationToDropZoneOperation(dragOperation));
</ins><span class="cx">             return true;
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-bool EventHandler::updateDragAndDrop(const PlatformMouseEvent&amp; event, Clipboard* clipboard)
</del><ins>+bool EventHandler::updateDragAndDrop(const PlatformMouseEvent&amp; event, DataTransfer* dataTransfer)
</ins><span class="cx"> {
</span><span class="cx">     bool accept = false;
</span><span class="cx"> 
</span><span class="lines">@@ -2164,23 +2164,23 @@
</span><span class="cx">         Frame* targetFrame;
</span><span class="cx">         if (targetIsFrame(newTarget.get(), targetFrame)) {
</span><span class="cx">             if (targetFrame)
</span><del>-                accept = targetFrame-&gt;eventHandler().updateDragAndDrop(event, clipboard);
</del><ins>+                accept = targetFrame-&gt;eventHandler().updateDragAndDrop(event, dataTransfer);
</ins><span class="cx">         } else if (newTarget) {
</span><span class="cx">             // As per section 7.9.4 of the HTML 5 spec., we must always fire a drag event before firing a dragenter, dragleave, or dragover event.
</span><span class="cx">             if (dragState().source &amp;&amp; dragState().shouldDispatchEvents) {
</span><span class="cx">                 // for now we don't care if event handler cancels default behavior, since there is none
</span><span class="cx">                 dispatchDragSrcEvent(eventNames().dragEvent, event);
</span><span class="cx">             }
</span><del>-            accept = dispatchDragEvent(eventNames().dragenterEvent, *newTarget, event, clipboard);
</del><ins>+            accept = dispatchDragEvent(eventNames().dragenterEvent, *newTarget, event, dataTransfer);
</ins><span class="cx">             if (!accept)
</span><del>-                accept = findDropZone(newTarget.get(), clipboard);
</del><ins>+                accept = findDropZone(newTarget.get(), dataTransfer);
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         if (targetIsFrame(m_dragTarget.get(), targetFrame)) {
</span><span class="cx">             if (targetFrame)
</span><del>-                accept = targetFrame-&gt;eventHandler().updateDragAndDrop(event, clipboard);
</del><ins>+                accept = targetFrame-&gt;eventHandler().updateDragAndDrop(event, dataTransfer);
</ins><span class="cx">         } else if (m_dragTarget)
</span><del>-            dispatchDragEvent(eventNames().dragleaveEvent, *m_dragTarget, event, clipboard);
</del><ins>+            dispatchDragEvent(eventNames().dragleaveEvent, *m_dragTarget, event, dataTransfer);
</ins><span class="cx"> 
</span><span class="cx">         if (newTarget) {
</span><span class="cx">             // We do not explicitly call dispatchDragEvent here because it could ultimately result in the appearance that
</span><span class="lines">@@ -2191,16 +2191,16 @@
</span><span class="cx">         Frame* targetFrame;
</span><span class="cx">         if (targetIsFrame(newTarget.get(), targetFrame)) {
</span><span class="cx">             if (targetFrame)
</span><del>-                accept = targetFrame-&gt;eventHandler().updateDragAndDrop(event, clipboard);
</del><ins>+                accept = targetFrame-&gt;eventHandler().updateDragAndDrop(event, dataTransfer);
</ins><span class="cx">         } else if (newTarget) {
</span><span class="cx">             // Note, when dealing with sub-frames, we may need to fire only a dragover event as a drag event may have been fired earlier.
</span><span class="cx">             if (!m_shouldOnlyFireDragOverEvent &amp;&amp; dragState().source &amp;&amp; dragState().shouldDispatchEvents) {
</span><span class="cx">                 // for now we don't care if event handler cancels default behavior, since there is none
</span><span class="cx">                 dispatchDragSrcEvent(eventNames().dragEvent, event);
</span><span class="cx">             }
</span><del>-            accept = dispatchDragEvent(eventNames().dragoverEvent, *newTarget, event, clipboard);
</del><ins>+            accept = dispatchDragEvent(eventNames().dragoverEvent, *newTarget, event, dataTransfer);
</ins><span class="cx">             if (!accept)
</span><del>-                accept = findDropZone(newTarget.get(), clipboard);
</del><ins>+                accept = findDropZone(newTarget.get(), dataTransfer);
</ins><span class="cx">             m_shouldOnlyFireDragOverEvent = false;
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="lines">@@ -2208,29 +2208,29 @@
</span><span class="cx">     return accept;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void EventHandler::cancelDragAndDrop(const PlatformMouseEvent&amp; event, Clipboard* clipboard)
</del><ins>+void EventHandler::cancelDragAndDrop(const PlatformMouseEvent&amp; event, DataTransfer* dataTransfer)
</ins><span class="cx"> {
</span><span class="cx">     Frame* targetFrame;
</span><span class="cx">     if (targetIsFrame(m_dragTarget.get(), targetFrame)) {
</span><span class="cx">         if (targetFrame)
</span><del>-            targetFrame-&gt;eventHandler().cancelDragAndDrop(event, clipboard);
</del><ins>+            targetFrame-&gt;eventHandler().cancelDragAndDrop(event, dataTransfer);
</ins><span class="cx">     } else if (m_dragTarget) {
</span><span class="cx">         if (dragState().source &amp;&amp; dragState().shouldDispatchEvents)
</span><span class="cx">             dispatchDragSrcEvent(eventNames().dragEvent, event);
</span><del>-        dispatchDragEvent(eventNames().dragleaveEvent, *m_dragTarget, event, clipboard);
</del><ins>+        dispatchDragEvent(eventNames().dragleaveEvent, *m_dragTarget, event, dataTransfer);
</ins><span class="cx">     }
</span><span class="cx">     clearDragState();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool EventHandler::performDragAndDrop(const PlatformMouseEvent&amp; event, Clipboard* clipboard)
</del><ins>+bool EventHandler::performDragAndDrop(const PlatformMouseEvent&amp; event, DataTransfer* dataTransfer)
</ins><span class="cx"> {
</span><span class="cx">     Frame* targetFrame;
</span><span class="cx">     bool preventedDefault = false;
</span><span class="cx">     if (targetIsFrame(m_dragTarget.get(), targetFrame)) {
</span><span class="cx">         if (targetFrame)
</span><del>-            preventedDefault = targetFrame-&gt;eventHandler().performDragAndDrop(event, clipboard);
</del><ins>+            preventedDefault = targetFrame-&gt;eventHandler().performDragAndDrop(event, dataTransfer);
</ins><span class="cx">     } else if (m_dragTarget)
</span><del>-        preventedDefault = dispatchDragEvent(eventNames().dropEvent, *m_dragTarget, event, clipboard);
</del><ins>+        preventedDefault = dispatchDragEvent(eventNames().dropEvent, *m_dragTarget, event, dataTransfer);
</ins><span class="cx">     clearDragState();
</span><span class="cx">     return preventedDefault;
</span><span class="cx"> }
</span><span class="lines">@@ -3165,12 +3165,12 @@
</span><span class="cx">     return abs(delta.width()) &gt;= threshold || abs(delta.height()) &gt;= threshold;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-void EventHandler::freeClipboard()
</del><ins>+void EventHandler::freeDataTransfer()
</ins><span class="cx"> {
</span><del>-    if (!dragState().clipboard)
</del><ins>+    if (!dragState().dataTransfer)
</ins><span class="cx">         return;
</span><del>-    dragState().clipboard-&gt;setAccessPolicy(ClipboardNumb);
-    dragState().clipboard = 0;
</del><ins>+    dragState().dataTransfer-&gt;setAccessPolicy(DataTransferAccessPolicy::Numb);
+    dragState().dataTransfer = 0;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void EventHandler::dragSourceEndedAt(const PlatformMouseEvent&amp; event, DragOperation operation)
</span><span class="lines">@@ -3180,11 +3180,11 @@
</span><span class="cx">     prepareMouseEvent(request, event);
</span><span class="cx"> 
</span><span class="cx">     if (dragState().source &amp;&amp; dragState().shouldDispatchEvents) {
</span><del>-        dragState().clipboard-&gt;setDestinationOperation(operation);
</del><ins>+        dragState().dataTransfer-&gt;setDestinationOperation(operation);
</ins><span class="cx">         // For now we don't care if event handler cancels default behavior, since there is no default behavior.
</span><span class="cx">         dispatchDragSrcEvent(eventNames().dragendEvent, event);
</span><span class="cx">     }
</span><del>-    freeClipboard();
</del><ins>+    freeDataTransfer();
</ins><span class="cx">     dragState().source = 0;
</span><span class="cx">     // In case the drag was ended due to an escape key press we need to ensure
</span><span class="cx">     // that consecutive mousemove events don't reinitiate the drag and drop.
</span><span class="lines">@@ -3201,7 +3201,7 @@
</span><span class="cx"> // Return value indicates if we should continue &quot;default processing&quot;, i.e., whether event handler canceled.
</span><span class="cx"> bool EventHandler::dispatchDragSrcEvent(const AtomicString&amp; eventType, const PlatformMouseEvent&amp; event)
</span><span class="cx"> {
</span><del>-    return !dispatchDragEvent(eventType, *dragState().source, event, dragState().clipboard.get());
</del><ins>+    return !dispatchDragEvent(eventType, *dragState().source, event, dragState().dataTransfer.get());
</ins><span class="cx"> }
</span><span class="cx">     
</span><span class="cx"> static bool ExactlyOneBitSet(DragSourceAction n)
</span><span class="lines">@@ -3290,10 +3290,10 @@
</span><span class="cx">     
</span><span class="cx">     DragOperation srcOp = DragOperationNone;      
</span><span class="cx">     
</span><del>-    // This does work only if we missed a dragEnd. Do it anyway, just to make sure the old clipboard gets numbed.
-    freeClipboard();
</del><ins>+    // This does work only if we missed a dragEnd. Do it anyway, just to make sure the old dataTransfer gets numbed.
+    freeDataTransfer();
</ins><span class="cx"> 
</span><del>-    dragState().clipboard = createDraggingClipboard();
</del><ins>+    dragState().dataTransfer = createDraggingDataTransfer();
</ins><span class="cx">     
</span><span class="cx">     if (dragState().shouldDispatchEvents) {
</span><span class="cx">         // Check to see if the is a DOM based drag. If it is, get the DOM specified drag image and offset.
</span><span class="lines">@@ -3302,7 +3302,7 @@
</span><span class="cx">                 // FIXME: This doesn't work correctly with transforms.
</span><span class="cx">                 FloatPoint absPos = renderer-&gt;localToAbsolute();
</span><span class="cx">                 IntSize delta = m_mouseDownPos - roundedIntPoint(absPos);
</span><del>-                dragState().clipboard-&gt;setDragImage(dragState().source.get(), delta.width(), delta.height());
</del><ins>+                dragState().dataTransfer-&gt;setDragImage(dragState().source.get(), delta.width(), delta.height());
</ins><span class="cx">             } else {
</span><span class="cx">                 // The renderer has disappeared, this can happen if the onStartDrag handler has hidden
</span><span class="cx">                 // the element in some way.  In this case we just kill the drag.
</span><span class="lines">@@ -3314,18 +3314,18 @@
</span><span class="cx">         m_mouseDownMayStartDrag = dispatchDragSrcEvent(eventNames().dragstartEvent, m_mouseDown)
</span><span class="cx">             &amp;&amp; !m_frame.selection().selection().isInPasswordField();
</span><span class="cx">         
</span><del>-        // Invalidate clipboard here against anymore pasteboard writing for security.  The drag
</del><ins>+        // Invalidate dataTransfer here against anymore pasteboard writing for security. The drag
</ins><span class="cx">         // image can still be changed as we drag, but not the pasteboard data.
</span><del>-        dragState().clipboard-&gt;setAccessPolicy(ClipboardImageWritable);
</del><ins>+        dragState().dataTransfer-&gt;setAccessPolicy(DataTransferAccessPolicy::ImageWritable);
</ins><span class="cx">         
</span><span class="cx">         if (m_mouseDownMayStartDrag) {
</span><span class="cx">             // Gather values from DHTML element, if it set any.
</span><del>-            srcOp = dragState().clipboard-&gt;sourceOperation();
</del><ins>+            srcOp = dragState().dataTransfer-&gt;sourceOperation();
</ins><span class="cx">             
</span><span class="cx">             // Yuck, a draggedImage:moveTo: message can be fired as a result of kicking off the
</span><span class="cx">             // drag with dragImage! Because of that dumb reentrancy, we may think we've not
</span><span class="cx">             // started the drag when that happens. So we have to assume it's started before we kick it off.
</span><del>-            dragState().clipboard-&gt;setDragHasStarted();
</del><ins>+            dragState().dataTransfer-&gt;setDragHasStarted();
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx">     
</span><span class="lines">@@ -3348,7 +3348,7 @@
</span><span class="cx"> cleanupDrag:
</span><span class="cx">     if (!m_mouseDownMayStartDrag) {
</span><span class="cx">         // Something failed to start the drag, clean up.
</span><del>-        freeClipboard();
</del><ins>+        freeDataTransfer();
</ins><span class="cx">         dragState().source = 0;
</span><span class="cx">     }
</span><span class="cx">     
</span></span></pre></div>
<a id="trunkSourceWebCorepageEventHandlerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/EventHandler.h (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/EventHandler.h        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/page/EventHandler.h        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -68,8 +68,8 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> class AutoscrollController;
</span><del>-class Clipboard;
</del><span class="cx"> class ContainerNode;
</span><ins>+class DataTransfer;
</ins><span class="cx"> class Document;
</span><span class="cx"> class Element;
</span><span class="cx"> class Event;
</span><span class="lines">@@ -159,9 +159,9 @@
</span><span class="cx">     void setCapturingMouseEventsElement(PassRefPtr&lt;Element&gt;); // A caller is responsible for resetting capturing element to 0.
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(DRAG_SUPPORT)
</span><del>-    bool updateDragAndDrop(const PlatformMouseEvent&amp;, Clipboard*);
-    void cancelDragAndDrop(const PlatformMouseEvent&amp;, Clipboard*);
-    bool performDragAndDrop(const PlatformMouseEvent&amp;, Clipboard*);
</del><ins>+    bool updateDragAndDrop(const PlatformMouseEvent&amp;, DataTransfer*);
+    void cancelDragAndDrop(const PlatformMouseEvent&amp;, DataTransfer*);
+    bool performDragAndDrop(const PlatformMouseEvent&amp;, DataTransfer*);
</ins><span class="cx">     void updateDragStateAfterEditDragIfNeeded(Element* rootEditableElement);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="lines">@@ -305,7 +305,7 @@
</span><span class="cx">     static DragState&amp; dragState();
</span><span class="cx">     static const double TextDragDelay;
</span><span class="cx">     
</span><del>-    PassRefPtr&lt;Clipboard&gt; createDraggingClipboard() const;
</del><ins>+    PassRefPtr&lt;DataTransfer&gt; createDraggingDataTransfer() const;
</ins><span class="cx"> #endif // ENABLE(DRAG_SUPPORT)
</span><span class="cx"> 
</span><span class="cx">     bool eventActivatedView(const PlatformMouseEvent&amp;) const;
</span><span class="lines">@@ -365,9 +365,9 @@
</span><span class="cx"> 
</span><span class="cx">     bool dispatchMouseEvent(const AtomicString&amp; eventType, Node* target, bool cancelable, int clickCount, const PlatformMouseEvent&amp;, bool setUnder);
</span><span class="cx"> #if ENABLE(DRAG_SUPPORT)
</span><del>-    bool dispatchDragEvent(const AtomicString&amp; eventType, Element&amp; target, const PlatformMouseEvent&amp;, Clipboard*);
</del><ins>+    bool dispatchDragEvent(const AtomicString&amp; eventType, Element&amp; target, const PlatformMouseEvent&amp;, DataTransfer*);
</ins><span class="cx"> 
</span><del>-    void freeClipboard();
</del><ins>+    void freeDataTransfer();
</ins><span class="cx"> 
</span><span class="cx">     bool handleDrag(const MouseEventWithHitTestResults&amp;, CheckDragHysteresis);
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCorepageeflEventHandlerEflcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/efl/EventHandlerEfl.cpp (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/efl/EventHandlerEfl.cpp        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/page/efl/EventHandlerEfl.cpp        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -29,7 +29,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;EventHandler.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;Clipboard.h&quot;
</del><ins>+#include &quot;DataTransfer.h&quot;
</ins><span class="cx"> #include &quot;EventNames.h&quot;
</span><span class="cx"> #include &quot;FloatPoint.h&quot;
</span><span class="cx"> #include &quot;FocusController.h&quot;
</span><span class="lines">@@ -97,9 +97,9 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(DRAG_SUPPORT)
</span><del>-PassRefPtr&lt;Clipboard&gt; EventHandler::createDraggingClipboard() const
</del><ins>+PassRefPtr&lt;DataTransfer&gt; EventHandler::createDraggingDataTransfer() const
</ins><span class="cx"> {
</span><del>-    return Clipboard::createForDragAndDrop();
</del><ins>+    return DataTransfer::createForDragAndDrop();
</ins><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorepagegtkDragControllerGtkcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/gtk/DragControllerGtk.cpp (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/gtk/DragControllerGtk.cpp        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/page/gtk/DragControllerGtk.cpp        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;DragController.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;Clipboard.h&quot;
</del><ins>+#include &quot;DataTransfer.h&quot;
</ins><span class="cx"> #include &quot;DragData.h&quot;
</span><span class="cx"> #include &quot;Element.h&quot;
</span><span class="cx"> #include &quot;Frame.h&quot;
</span><span class="lines">@@ -69,9 +69,9 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void DragController::declareAndWriteDragImage(Clipboard&amp; clipboard, Element&amp; element, const URL&amp; url, const String&amp; label)
</del><ins>+void DragController::declareAndWriteDragImage(DataTransfer&amp; dataTransfer, Element&amp; element, const URL&amp; url, const String&amp; label)
</ins><span class="cx"> {
</span><del>-    clipboard.pasteboard().writeImage(element, url, label);
</del><ins>+    dataTransfer.pasteboard().writeImage(element, url, label);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorepagegtkEventHandlerGtkcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/gtk/EventHandlerGtk.cpp (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/gtk/EventHandlerGtk.cpp        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/page/gtk/EventHandlerGtk.cpp        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;EventHandler.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;Clipboard.h&quot;
</del><ins>+#include &quot;DataTransfer.h&quot;
</ins><span class="cx"> #include &quot;FloatPoint.h&quot;
</span><span class="cx"> #include &quot;FocusController.h&quot;
</span><span class="cx"> #include &quot;Frame.h&quot;
</span><span class="lines">@@ -97,9 +97,9 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(DRAG_SUPPORT)
</span><del>-PassRefPtr&lt;Clipboard&gt; EventHandler::createDraggingClipboard() const
</del><ins>+PassRefPtr&lt;DataTransfer&gt; EventHandler::createDraggingDataTransfer() const
</ins><span class="cx"> {
</span><del>-    return Clipboard::createForDragAndDrop();
</del><ins>+    return DataTransfer::createForDragAndDrop();
</ins><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorepagemacDragControllerMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/mac/DragControllerMac.mm (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/mac/DragControllerMac.mm        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/page/mac/DragControllerMac.mm        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(DRAG_SUPPORT)
</span><span class="cx"> 
</span><del>-#import &quot;Clipboard.h&quot;
</del><ins>+#import &quot;DataTransfer.h&quot;
</ins><span class="cx"> #import &quot;DragClient.h&quot;
</span><span class="cx"> #import &quot;DragData.h&quot;
</span><span class="cx"> #import &quot;Element.h&quot;
</span><span class="lines">@@ -82,9 +82,9 @@
</span><span class="cx">         dragEnded();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void DragController::declareAndWriteDragImage(Clipboard&amp; clipboard, Element&amp; element, const URL&amp; url, const String&amp; label)
</del><ins>+void DragController::declareAndWriteDragImage(DataTransfer&amp; dataTransfer, Element&amp; element, const URL&amp; url, const String&amp; label)
</ins><span class="cx"> {
</span><del>-    m_client.declareAndWriteDragImage(clipboard.pasteboard().name(), element, url, label, element.document().frame());
</del><ins>+    m_client.declareAndWriteDragImage(dataTransfer.pasteboard().name(), element, url, label, element.document().frame());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorepagemacEventHandlerMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/mac/EventHandlerMac.mm (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/mac/EventHandlerMac.mm        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/page/mac/EventHandlerMac.mm        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx"> #include &quot;BlockExceptions.h&quot;
</span><span class="cx"> #include &quot;Chrome.h&quot;
</span><span class="cx"> #include &quot;ChromeClient.h&quot;
</span><del>-#include &quot;Clipboard.h&quot;
</del><ins>+#include &quot;DataTransfer.h&quot;
</ins><span class="cx"> #include &quot;DragController.h&quot;
</span><span class="cx"> #include &quot;EventNames.h&quot;
</span><span class="cx"> #include &quot;FocusController.h&quot;
</span><span class="lines">@@ -680,13 +680,13 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(DRAG_SUPPORT)
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Clipboard&gt; EventHandler::createDraggingClipboard() const
</del><ins>+PassRefPtr&lt;DataTransfer&gt; EventHandler::createDraggingDataTransfer() const
</ins><span class="cx"> {
</span><span class="cx">     // Must be done before ondragstart adds types and data to the pboard,
</span><span class="cx">     // also done for security, as it erases data from the last drag.
</span><span class="cx">     OwnPtr&lt;Pasteboard&gt; pasteboard = Pasteboard::create(NSDragPboard);
</span><span class="cx">     pasteboard-&gt;clear();
</span><del>-    return Clipboard::createForDragAndDrop();
</del><ins>+    return DataTransfer::createForDragAndDrop();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCorepagewinDragControllerWincpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/win/DragControllerWin.cpp (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/win/DragControllerWin.cpp        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/page/win/DragControllerWin.cpp        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;DragController.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;Clipboard.h&quot;
</del><ins>+#include &quot;DataTransfer.h&quot;
</ins><span class="cx"> #include &quot;DragData.h&quot;
</span><span class="cx"> #include &quot;Element.h&quot;
</span><span class="cx"> #include &quot;FrameSelection.h&quot;
</span><span class="lines">@@ -69,9 +69,9 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void DragController::declareAndWriteDragImage(Clipboard&amp; clipboard, Element&amp; element, const URL&amp; url, const String&amp; label)
</del><ins>+void DragController::declareAndWriteDragImage(DataTransfer&amp; dataTransfer, Element&amp; element, const URL&amp; url, const String&amp; label)
</ins><span class="cx"> {
</span><del>-    Pasteboard&amp; pasteboard = clipboard.pasteboard();
</del><ins>+    Pasteboard&amp; pasteboard = dataTransfer.pasteboard();
</ins><span class="cx"> 
</span><span class="cx">     // FIXME: Do we really need this check?
</span><span class="cx">     if (!pasteboard.writableDataObject())
</span></span></pre></div>
<a id="trunkSourceWebCorepagewinEventHandlerWincpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/win/EventHandlerWin.cpp (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/win/EventHandlerWin.cpp        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/page/win/EventHandlerWin.cpp        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -28,8 +28,8 @@
</span><span class="cx"> #include &quot;EventHandler.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;COMPtr.h&quot;
</span><del>-#include &quot;Clipboard.h&quot;
</del><span class="cx"> #include &quot;Cursor.h&quot;
</span><ins>+#include &quot;DataTransfer.h&quot;
</ins><span class="cx"> #include &quot;FloatPoint.h&quot;
</span><span class="cx"> #include &quot;FocusController.h&quot;
</span><span class="cx"> #include &quot;FrameView.h&quot;
</span><span class="lines">@@ -92,12 +92,12 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(DRAG_SUPPORT)
</span><del>-PassRefPtr&lt;Clipboard&gt; EventHandler::createDraggingClipboard() const
</del><ins>+PassRefPtr&lt;DataTransfer&gt; EventHandler::createDraggingDataTransfer() const
</ins><span class="cx"> {
</span><span class="cx"> #if OS(WINCE)
</span><span class="cx">     return 0;
</span><span class="cx"> #else
</span><del>-    return Clipboard::createForDragAndDrop();
</del><ins>+    return DataTransfer::createForDragAndDrop();
</ins><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformPasteboardh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/Pasteboard.h (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/Pasteboard.h        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/platform/Pasteboard.h        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -62,7 +62,7 @@
</span><span class="cx"> class Range;
</span><span class="cx"> class SharedBuffer;
</span><span class="cx"> 
</span><del>-enum ShouldSerializeSelectedTextForClipboard { DefaultSelectedTextType, IncludeImageAltTextForClipboard };
</del><ins>+enum ShouldSerializeSelectedTextForDataTransfer { DefaultSelectedTextType, IncludeImageAltTextForDataTransfer };
</ins><span class="cx"> 
</span><span class="cx"> // For writing to the pasteboard. Generally sorted with the richest formats on top.
</span><span class="cx"> 
</span><span class="lines">@@ -165,7 +165,7 @@
</span><span class="cx"> #if PLATFORM(GTK) || PLATFORM(WIN)
</span><span class="cx">     PassRefPtr&lt;DocumentFragment&gt; documentFragment(Frame&amp;, Range&amp;, bool allowPlainText, bool&amp; chosePlainText); // FIXME: Layering violation.
</span><span class="cx">     void writeImage(Element&amp;, const URL&amp;, const String&amp; title); // FIXME: Layering violation.
</span><del>-    void writeSelection(Range&amp;, bool canSmartCopyOrDelete, Frame&amp;, ShouldSerializeSelectedTextForClipboard = DefaultSelectedTextType); // FIXME: Layering violation.
</del><ins>+    void writeSelection(Range&amp;, bool canSmartCopyOrDelete, Frame&amp;, ShouldSerializeSelectedTextForDataTransfer = DefaultSelectedTextType); // FIXME: Layering violation.
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(GTK)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgtkPasteboardGtkcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/gtk/PasteboardGtk.cpp (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/gtk/PasteboardGtk.cpp        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/platform/gtk/PasteboardGtk.cpp        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -158,10 +158,10 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void Pasteboard::writeSelection(Range&amp; selectedRange, bool canSmartCopyOrDelete, Frame&amp; frame, ShouldSerializeSelectedTextForClipboard shouldSerializeSelectedTextForClipboard)
</del><ins>+void Pasteboard::writeSelection(Range&amp; selectedRange, bool canSmartCopyOrDelete, Frame&amp; frame, ShouldSerializeSelectedTextForDataTransfer shouldSerializeSelectedTextForDataTransfer)
</ins><span class="cx"> {
</span><span class="cx">     m_dataObject-&gt;clearAll();
</span><del>-    m_dataObject-&gt;setText(shouldSerializeSelectedTextForClipboard == IncludeImageAltTextForClipboard ? frame.editor().selectedTextForClipboard() : frame.editor().selectedText());
</del><ins>+    m_dataObject-&gt;setText(shouldSerializeSelectedTextForDataTransfer == IncludeImageAltTextForDataTransfer ? frame.editor().selectedTextForDataTransfer() : frame.editor().selectedText());
</ins><span class="cx">     m_dataObject-&gt;setMarkup(createMarkup(selectedRange, 0, AnnotateForInterchange, false, ResolveNonLocalURLs));
</span><span class="cx"> 
</span><span class="cx">     if (m_gtkClipboard)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmacPasteboardMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mac/PasteboardMac.mm (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mac/PasteboardMac.mm        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/platform/mac/PasteboardMac.mm        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -27,7 +27,6 @@
</span><span class="cx"> #import &quot;Pasteboard.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #import &quot;CachedImage.h&quot;
</span><del>-#import &quot;Clipboard.h&quot;
</del><span class="cx"> #import &quot;DOMRangeInternal.h&quot;
</span><span class="cx"> #import &quot;Document.h&quot;
</span><span class="cx"> #import &quot;DocumentFragment.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformwinPasteboardWincpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/win/PasteboardWin.cpp (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/win/PasteboardWin.cpp        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebCore/platform/win/PasteboardWin.cpp        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -438,7 +438,7 @@
</span><span class="cx">     if (medium.hGlobal &amp;&amp; FAILED(m_writableDataObject-&gt;SetData(htmlFormat(), &amp;medium, TRUE)))
</span><span class="cx">         ::GlobalFree(medium.hGlobal);
</span><span class="cx"> 
</span><del>-    String str = frame.editor().selectedTextForClipboard();
</del><ins>+    String str = frame.editor().selectedTextForDataTransfer();
</ins><span class="cx">     replaceNewlinesWithWindowsStyleNewlines(str);
</span><span class="cx">     replaceNBSPWithSpace(str);
</span><span class="cx">     medium.hGlobal = createGlobalData(str);
</span><span class="lines">@@ -450,7 +450,7 @@
</span><span class="cx">         m_writableDataObject-&gt;SetData(smartPasteFormat(), &amp;medium, TRUE);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void Pasteboard::writeSelection(Range&amp; selectedRange, bool canSmartCopyOrDelete, Frame&amp; frame, ShouldSerializeSelectedTextForClipboard shouldSerializeSelectedTextForClipboard)
</del><ins>+void Pasteboard::writeSelection(Range&amp; selectedRange, bool canSmartCopyOrDelete, Frame&amp; frame, ShouldSerializeSelectedTextForDataTransfer shouldSerializeSelectedTextForDataTransfer)
</ins><span class="cx"> {
</span><span class="cx">     clear();
</span><span class="cx"> 
</span><span class="lines">@@ -466,7 +466,7 @@
</span><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     // Put plain string on the pasteboard. CF_UNICODETEXT covers CF_TEXT as well
</span><del>-    String str = shouldSerializeSelectedTextForClipboard == IncludeImageAltTextForClipboard ? frame.editor().selectedTextForClipboard() : frame.editor().selectedText();
</del><ins>+    String str = shouldSerializeSelectedTextForDataTransfer == IncludeImageAltTextForDataTransfer ? frame.editor().selectedTextForDataTransfer() : frame.editor().selectedText();
</ins><span class="cx">     replaceNewlinesWithWindowsStyleNewlines(str);
</span><span class="cx">     replaceNBSPWithSpace(str);
</span><span class="cx">     if (::OpenClipboard(m_owner)) {
</span></span></pre></div>
<a id="trunkSourceWebKitiosChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ios/ChangeLog (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ios/ChangeLog        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebKit/ios/ChangeLog        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -1,3 +1,12 @@
</span><ins>+2014-04-08  Alexey Proskuryakov  &lt;ap@apple.com&gt;
+
+        Rename Clipboard to DataTransfer
+        https://bugs.webkit.org/show_bug.cgi?id=131371
+
+        Reviewed by Anders Carlsson.
+
+        * WebView/WebPDFViewPlaceholder.mm:
+
</ins><span class="cx"> 2014-04-02  Benjamin Poulain  &lt;bpoulain@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [iOS] Remove the legacy string drawing code
</span></span></pre></div>
<a id="trunkSourceWebKitiosWebViewWebPDFViewPlaceholdermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ios/WebView/WebPDFViewPlaceholder.mm (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ios/WebView/WebPDFViewPlaceholder.mm        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebKit/ios/WebView/WebPDFViewPlaceholder.mm        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx"> #import &lt;JavaScriptCore/JSStringRef.h&gt;
</span><span class="cx"> #import &lt;JavaScriptCore/JSStringRefCF.h&gt;
</span><span class="cx"> #import &lt;UIKit/UIKit.h&gt;
</span><del>-#import &lt;WebCore/Clipboard.h&gt;
</del><ins>+#import &lt;WebCore/DataTransfer.h&gt;
</ins><span class="cx"> #import &lt;WebCore/EventHandler.h&gt;
</span><span class="cx"> #import &lt;WebCore/EventNames.h&gt;
</span><span class="cx"> #import &lt;WebCore/FormState.h&gt;
</span></span></pre></div>
<a id="trunkSourceWebKitmacChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/ChangeLog (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/ChangeLog        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebKit/mac/ChangeLog        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -1,3 +1,16 @@
</span><ins>+2014-04-08  Alexey Proskuryakov  &lt;ap@apple.com&gt;
+
+        Rename Clipboard to DataTransfer
+        https://bugs.webkit.org/show_bug.cgi?id=131371
+
+        Reviewed by Anders Carlsson.
+
+        * WebCoreSupport/WebDragClient.h:
+        * WebCoreSupport/WebDragClient.mm:
+        (WebDragClient::willPerformDragSourceAction):
+        (WebDragClient::startDrag):
+        * WebView/WebPDFView.mm:
+
</ins><span class="cx"> 2014-04-08  Dan Bernstein  &lt;mitz@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         WebKit part of [Cocoa] Add WKFormDelegate
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebCoreSupportWebDragClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebDragClient.h (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebCoreSupport/WebDragClient.h        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebDragClient.h        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -33,11 +33,11 @@
</span><span class="cx"> public:
</span><span class="cx">     WebDragClient(WebView*);
</span><span class="cx">     virtual void willPerformDragDestinationAction(WebCore::DragDestinationAction, WebCore::DragData&amp;) override;
</span><del>-    virtual void willPerformDragSourceAction(WebCore::DragSourceAction, const WebCore::IntPoint&amp;, WebCore::Clipboard&amp;) override;
</del><ins>+    virtual void willPerformDragSourceAction(WebCore::DragSourceAction, const WebCore::IntPoint&amp;, WebCore::DataTransfer&amp;) override;
</ins><span class="cx">     virtual WebCore::DragDestinationAction actionMaskForDrag(WebCore::DragData&amp;) override;
</span><span class="cx">     virtual void dragControllerDestroyed() override;
</span><span class="cx">     virtual WebCore::DragSourceAction dragSourceActionMaskForPoint(const WebCore::IntPoint&amp; windowPoint) override;
</span><del>-    virtual void startDrag(WebCore::DragImageRef, const WebCore::IntPoint&amp; dragPos, const WebCore::IntPoint&amp; eventPos, WebCore::Clipboard&amp;, WebCore::Frame&amp;, bool linkDrag) override;
</del><ins>+    virtual void startDrag(WebCore::DragImageRef, const WebCore::IntPoint&amp; dragPos, const WebCore::IntPoint&amp; eventPos, WebCore::DataTransfer&amp;, WebCore::Frame&amp;, bool linkDrag) override;
</ins><span class="cx">     virtual void declareAndWriteDragImage(const String&amp; pasteboardName, WebCore::Element&amp;, const WebCore::URL&amp;, const String&amp;, WebCore::Frame*) override;
</span><span class="cx"> private:
</span><span class="cx">     WebView* m_webView;
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebCoreSupportWebDragClientmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebDragClient.mm (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebCoreSupport/WebDragClient.mm        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebDragClient.mm        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -42,7 +42,7 @@
</span><span class="cx"> #import &quot;WebUIDelegate.h&quot;
</span><span class="cx"> #import &quot;WebUIDelegatePrivate.h&quot;
</span><span class="cx"> #import &quot;WebViewInternal.h&quot;
</span><del>-#import &lt;WebCore/Clipboard.h&gt;
</del><ins>+#import &lt;WebCore/DataTransfer.h&gt;
</ins><span class="cx"> #import &lt;WebCore/DragData.h&gt;
</span><span class="cx"> #import &lt;WebCore/Editor.h&gt;
</span><span class="cx"> #import &lt;WebCore/EditorClient.h&gt;
</span><span class="lines">@@ -84,12 +84,12 @@
</span><span class="cx">     return (DragSourceAction)[[m_webView _UIDelegateForwarder] webView:m_webView dragSourceActionMaskForPoint:viewPoint];
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebDragClient::willPerformDragSourceAction(WebCore::DragSourceAction action, const WebCore::IntPoint&amp; mouseDownPoint, WebCore::Clipboard&amp; clipboard)
</del><ins>+void WebDragClient::willPerformDragSourceAction(WebCore::DragSourceAction action, const WebCore::IntPoint&amp; mouseDownPoint, WebCore::DataTransfer&amp; dataTransfer)
</ins><span class="cx"> {
</span><del>-    [[m_webView _UIDelegateForwarder] webView:m_webView willPerformDragSourceAction:(WebDragSourceAction)action fromPoint:mouseDownPoint withPasteboard:[NSPasteboard pasteboardWithName:clipboard.pasteboard().name()]];
</del><ins>+    [[m_webView _UIDelegateForwarder] webView:m_webView willPerformDragSourceAction:(WebDragSourceAction)action fromPoint:mouseDownPoint withPasteboard:[NSPasteboard pasteboardWithName:dataTransfer.pasteboard().name()]];
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebDragClient::startDrag(DragImageRef dragImage, const IntPoint&amp; at, const IntPoint&amp; eventPos, Clipboard&amp; clipboard, Frame&amp; frame, bool linkDrag)
</del><ins>+void WebDragClient::startDrag(DragImageRef dragImage, const IntPoint&amp; at, const IntPoint&amp; eventPos, DataTransfer&amp; dataTransfer, Frame&amp; frame, bool linkDrag)
</ins><span class="cx"> {
</span><span class="cx">     RetainPtr&lt;WebHTMLView&gt; htmlView = (WebHTMLView*)[[kit(&amp;frame) frameView] documentView];
</span><span class="cx">     if (![htmlView.get() isKindOfClass:[WebHTMLView class]])
</span><span class="lines">@@ -100,7 +100,7 @@
</span><span class="cx">     RetainPtr&lt;WebHTMLView&gt; topViewProtector = topHTMLView;
</span><span class="cx">     
</span><span class="cx">     [topHTMLView _stopAutoscrollTimer];
</span><del>-    NSPasteboard *pasteboard = [NSPasteboard pasteboardWithName:clipboard.pasteboard().name()];
</del><ins>+    NSPasteboard *pasteboard = [NSPasteboard pasteboardWithName:dataTransfer.pasteboard().name()];
</ins><span class="cx"> 
</span><span class="cx">     NSImage *dragNSImage = dragImage.get();
</span><span class="cx">     WebHTMLView *sourceHTMLView = htmlView.get();
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebViewWebPDFViewmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebView/WebPDFView.mm (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebView/WebPDFView.mm        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebKit/mac/WebView/WebPDFView.mm        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -50,7 +50,7 @@
</span><span class="cx"> #import &quot;WebView.h&quot;
</span><span class="cx"> #import &quot;WebViewInternal.h&quot;
</span><span class="cx"> #import &lt;PDFKit/PDFKit.h&gt;
</span><del>-#import &lt;WebCore/Clipboard.h&gt;
</del><ins>+#import &lt;WebCore/DataTransfer.h&gt;
</ins><span class="cx"> #import &lt;WebCore/EventNames.h&gt;
</span><span class="cx"> #import &lt;WebCore/FormState.h&gt;
</span><span class="cx"> #import &lt;WebCore/Frame.h&gt;
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebCoreSupportWebDragClientcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebCoreSupport/WebDragClient.cpp (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebCoreSupport/WebDragClient.cpp        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebKit/win/WebCoreSupport/WebDragClient.cpp        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -29,7 +29,7 @@
</span><span class="cx"> #include &quot;WebDropSource.h&quot;
</span><span class="cx"> #include &quot;WebKitGraphics.h&quot;
</span><span class="cx"> #include &quot;WebView.h&quot;
</span><del>-#include &lt;WebCore/Clipboard.h&gt;
</del><ins>+#include &lt;WebCore/DataTransfer.h&gt;
</ins><span class="cx"> #include &lt;WebCore/DragController.h&gt;
</span><span class="cx"> #include &lt;WebCore/DragData.h&gt;
</span><span class="cx"> #include &lt;WebCore/EventHandler.h&gt;
</span><span class="lines">@@ -96,22 +96,22 @@
</span><span class="cx">     return (DragSourceAction)action;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebDragClient::willPerformDragSourceAction(DragSourceAction action, const IntPoint&amp; intPoint, Clipboard&amp; clipboard)
</del><ins>+void WebDragClient::willPerformDragSourceAction(DragSourceAction action, const IntPoint&amp; intPoint, DataTransfer&amp; dataTransfer)
</ins><span class="cx"> {
</span><span class="cx">     COMPtr&lt;IWebUIDelegate&gt; uiDelegate;
</span><span class="cx">     if (!SUCCEEDED(m_webView-&gt;uiDelegate(&amp;uiDelegate)))
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     POINT point = intPoint;
</span><del>-    COMPtr&lt;IDataObject&gt; dataObject = clipboard.pasteboard().dataObject();
</del><ins>+    COMPtr&lt;IDataObject&gt; dataObject = dataTransfer.pasteboard().dataObject();
</ins><span class="cx"> 
</span><span class="cx">     COMPtr&lt;IDataObject&gt; newDataObject;
</span><span class="cx">     HRESULT result = uiDelegate-&gt;willPerformDragSourceAction(m_webView, static_cast&lt;WebDragSourceAction&gt;(action), &amp;point, dataObject.get(), &amp;newDataObject);
</span><span class="cx">     if (result == S_OK &amp;&amp; newDataObject != dataObject)
</span><del>-        const_cast&lt;Pasteboard&amp;&gt;(clipboard.pasteboard()).setExternalDataObject(newDataObject.get());
</del><ins>+        const_cast&lt;Pasteboard&amp;&gt;(dataTransfer.pasteboard()).setExternalDataObject(newDataObject.get());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebDragClient::startDrag(DragImageRef image, const IntPoint&amp; imageOrigin, const IntPoint&amp; dragPoint, Clipboard&amp; clipboard, Frame&amp; frame, bool isLink)
</del><ins>+void WebDragClient::startDrag(DragImageRef image, const IntPoint&amp; imageOrigin, const IntPoint&amp; dragPoint, DataTransfer&amp; dataTransfer, Frame&amp; frame, bool isLink)
</ins><span class="cx"> {
</span><span class="cx">     //FIXME: Allow UIDelegate to override behaviour &lt;rdar://problem/5015953&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -124,7 +124,7 @@
</span><span class="cx">     if (FAILED(WebDropSource::createInstance(m_webView, &amp;source)))
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    dataObject = clipboard.pasteboard().dataObject();
</del><ins>+    dataObject = dataTransfer.pasteboard().dataObject();
</ins><span class="cx">     if (source &amp;&amp; (image || dataObject)) {
</span><span class="cx">         if (image) {
</span><span class="cx">             if(SUCCEEDED(CoCreateInstance(CLSID_DragDropHelper, 0, CLSCTX_INPROC_SERVER,
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebCoreSupportWebDragClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebCoreSupport/WebDragClient.h (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebCoreSupport/WebDragClient.h        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebKit/win/WebCoreSupport/WebDragClient.h        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -38,8 +38,8 @@
</span><span class="cx">     virtual WebCore::DragDestinationAction actionMaskForDrag(WebCore::DragData&amp;);
</span><span class="cx">     virtual WebCore::DragSourceAction dragSourceActionMaskForPoint(const WebCore::IntPoint&amp;);
</span><span class="cx">     virtual void willPerformDragDestinationAction(WebCore::DragDestinationAction, WebCore::DragData&amp;);
</span><del>-    virtual void willPerformDragSourceAction(WebCore::DragSourceAction, const WebCore::IntPoint&amp;, WebCore::Clipboard&amp;);
-    virtual void startDrag(WebCore::DragImageRef, const WebCore::IntPoint&amp;, const WebCore::IntPoint&amp;, WebCore::Clipboard&amp;, WebCore::Frame&amp;, bool);
</del><ins>+    virtual void willPerformDragSourceAction(WebCore::DragSourceAction, const WebCore::IntPoint&amp;, WebCore::DataTransfer&amp;);
+    virtual void startDrag(WebCore::DragImageRef, const WebCore::IntPoint&amp;, const WebCore::IntPoint&amp;, WebCore::DataTransfer&amp;, WebCore::Frame&amp;, bool);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     WebView* m_webView;
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebKit2/ChangeLog        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -47,6 +47,20 @@
</span><span class="cx"> 
</span><span class="cx"> 2014-04-08  Alexey Proskuryakov  &lt;ap@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        Rename Clipboard to DataTransfer
+        https://bugs.webkit.org/show_bug.cgi?id=131371
+
+        Reviewed by Anders Carlsson.
+
+        * WebProcess/WebCoreSupport/WebDragClient.cpp:
+        (WebKit::WebDragClient::willPerformDragSourceAction):
+        (WebKit::WebDragClient::startDrag):
+        * WebProcess/WebCoreSupport/WebDragClient.h:
+        * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
+        (WebKit::WebDragClient::startDrag):
+
+2014-04-08  Alexey Proskuryakov  &lt;ap@apple.com&gt;
+
</ins><span class="cx">         FlagsChanged events are not delivered to input methods when using async text input
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=131383
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebCoreSupportWebDragClientcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebDragClient.cpp (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebDragClient.cpp        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebDragClient.cpp        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -42,7 +42,7 @@
</span><span class="cx">         m_page-&gt;mayPerformUploadDragDestinationAction(); // Upload can happen from a drop event handler, so we should prepare early.
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebDragClient::willPerformDragSourceAction(DragSourceAction, const IntPoint&amp;, Clipboard&amp;)
</del><ins>+void WebDragClient::willPerformDragSourceAction(DragSourceAction, const IntPoint&amp;, DataTransfer&amp;)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -57,7 +57,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if !PLATFORM(COCOA) &amp;&amp; !PLATFORM(GTK)
</span><del>-void WebDragClient::startDrag(DragImageRef, const IntPoint&amp;, const IntPoint&amp;, Clipboard&amp;, Frame&amp;, bool)
</del><ins>+void WebDragClient::startDrag(DragImageRef, const IntPoint&amp;, const IntPoint&amp;, DataTransfer&amp;, Frame&amp;, bool)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebCoreSupportWebDragClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebDragClient.h (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebDragClient.h        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebDragClient.h        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -43,11 +43,11 @@
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     virtual void willPerformDragDestinationAction(WebCore::DragDestinationAction, WebCore::DragData&amp;) override;
</span><del>-    virtual void willPerformDragSourceAction(WebCore::DragSourceAction, const WebCore::IntPoint&amp;, WebCore::Clipboard&amp;) override;
</del><ins>+    virtual void willPerformDragSourceAction(WebCore::DragSourceAction, const WebCore::IntPoint&amp;, WebCore::DataTransfer&amp;) override;
</ins><span class="cx">     virtual WebCore::DragDestinationAction actionMaskForDrag(WebCore::DragData&amp;) override;
</span><span class="cx">     virtual WebCore::DragSourceAction dragSourceActionMaskForPoint(const WebCore::IntPoint&amp; windowPoint) override;
</span><span class="cx"> 
</span><del>-    virtual void startDrag(WebCore::DragImageRef, const WebCore::IntPoint&amp; dragImageOrigin, const WebCore::IntPoint&amp; eventPos, WebCore::Clipboard&amp;, WebCore::Frame&amp;, bool linkDrag = false) override;
</del><ins>+    virtual void startDrag(WebCore::DragImageRef, const WebCore::IntPoint&amp; dragImageOrigin, const WebCore::IntPoint&amp; eventPos, WebCore::DataTransfer&amp;, WebCore::Frame&amp;, bool linkDrag = false) override;
</ins><span class="cx"> 
</span><span class="cx"> #if PLATFORM(COCOA)
</span><span class="cx">     virtual void declareAndWriteDragImage(const String&amp; pasteboardName, WebCore::Element&amp;, const WebCore::URL&amp;, const String&amp;, WebCore::Frame*) override;
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebCoreSupportmacWebDragClientMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebDragClientMac.mm (166964 => 166965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebDragClientMac.mm        2014-04-08 21:41:02 UTC (rev 166964)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebDragClientMac.mm        2014-04-08 22:06:16 UTC (rev 166965)
</span><span class="lines">@@ -72,7 +72,7 @@
</span><span class="cx">     return bitmap.release();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebDragClient::startDrag(RetainPtr&lt;NSImage&gt; image, const IntPoint&amp; point, const IntPoint&amp;, Clipboard&amp;, Frame&amp; frame, bool linkDrag)
</del><ins>+void WebDragClient::startDrag(RetainPtr&lt;NSImage&gt; image, const IntPoint&amp; point, const IntPoint&amp;, DataTransfer&amp;, Frame&amp; frame, bool linkDrag)
</ins><span class="cx"> {
</span><span class="cx">     IntSize bitmapSize([image size]);
</span><span class="cx">     RefPtr&lt;ShareableBitmap&gt; bitmap = convertImageToBitmap(image.get(), bitmapSize);
</span></span></pre>
</div>
</div>

</body>
</html>