<!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>[162997] trunk/Source/WebCore</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/162997">162997</a></dd>
<dt>Author</dt> <dd>enrica@apple.com</dd>
<dt>Date</dt> <dd>2014-01-28 20:09:12 -0800 (Tue, 28 Jan 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Add support for ActionSheets in WK2 for iOS.
https://bugs.webkit.org/show_bug.cgi?id=127586
&lt;rdar://problem/15283667&gt;

Reviewed by Benjamin Poulain.

This patch contains some WebCore changes required to
implement support for ActionSheets.
It adds copyURL implementation for iOS in the Editor
class and fixes some bugs in the iOS specific pasteboard
writing code.
The changes to Localizable.strings are the result of
running update-webkit-localizedstrings script.

* English.lproj/Localizable.strings:
* WebCore.exp.in:
* editing/Editor.cpp:
* editing/Editor.h:
* editing/ios/EditorIOS.mm:
(WebCore::Editor::writeImageToPasteboard):
* platform/ios/PasteboardIOS.mm:
(WebCore::Pasteboard::write):
* platform/ios/PlatformPasteboardIOS.mm:
(WebCore::PlatformPasteboard::write):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreEnglishlprojLocalizablestrings">trunk/Source/WebCore/English.lproj/Localizable.strings</a></li>
<li><a href="#trunkSourceWebCoreWebCoreexpin">trunk/Source/WebCore/WebCore.exp.in</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="#trunkSourceWebCoreplatformiosPasteboardIOSmm">trunk/Source/WebCore/platform/ios/PasteboardIOS.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformiosPlatformPasteboardIOSmm">trunk/Source/WebCore/platform/ios/PlatformPasteboardIOS.mm</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (162996 => 162997)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-01-29 03:24:01 UTC (rev 162996)
+++ trunk/Source/WebCore/ChangeLog        2014-01-29 04:09:12 UTC (rev 162997)
</span><span class="lines">@@ -1,3 +1,30 @@
</span><ins>+2014-01-28  Enrica Casucci  &lt;enrica@apple.com&gt;
+
+        Add support for ActionSheets in WK2 for iOS.
+        https://bugs.webkit.org/show_bug.cgi?id=127586
+        &lt;rdar://problem/15283667&gt;
+
+        Reviewed by Benjamin Poulain.
+
+        This patch contains some WebCore changes required to
+        implement support for ActionSheets.
+        It adds copyURL implementation for iOS in the Editor
+        class and fixes some bugs in the iOS specific pasteboard
+        writing code.
+        The changes to Localizable.strings are the result of
+        running update-webkit-localizedstrings script.
+
+        * English.lproj/Localizable.strings:
+        * WebCore.exp.in:
+        * editing/Editor.cpp:
+        * editing/Editor.h:
+        * editing/ios/EditorIOS.mm:
+        (WebCore::Editor::writeImageToPasteboard):
+        * platform/ios/PasteboardIOS.mm:
+        (WebCore::Pasteboard::write):
+        * platform/ios/PlatformPasteboardIOS.mm:
+        (WebCore::PlatformPasteboard::write):
+
</ins><span class="cx"> 2014-01-28  Andy Estes  &lt;aestes@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [iOS] REGRESSION (r162663): Webpages have strange artifacts or corruption around tile boundaries
</span></span></pre></div>
<a id="trunkSourceWebCoreEnglishlprojLocalizablestrings"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/English.lproj/Localizable.strings (162996 => 162997)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/English.lproj/Localizable.strings        2014-01-29 03:24:01 UTC (rev 162996)
+++ trunk/Source/WebCore/English.lproj/Localizable.strings        2014-01-29 04:09:12 UTC (rev 162997)
</span><span class="lines">@@ -64,6 +64,9 @@
</span><span class="cx"> /* window title for a standalone image (uses multiplication symbol, not x) */
</span><span class="cx"> &quot;&lt;filename&gt; %d×%d pixels&quot; = &quot;&lt;filename&gt; %d×%d pixels&quot;;
</span><span class="cx"> 
</span><ins>+/* Title for Add to Reading List action button */
+&quot;Add to Reading List&quot; = &quot;Add to Reading List&quot;;
+
</ins><span class="cx"> /* Undo action name */
</span><span class="cx"> &quot;Align Left (Undo action name)&quot; = &quot;Align Left&quot;;
</span><span class="cx"> 
</span><span class="lines">@@ -88,6 +91,9 @@
</span><span class="cx"> /* Undo action name */
</span><span class="cx"> &quot;Bold (Undo action name)&quot; = &quot;Bold&quot;;
</span><span class="cx"> 
</span><ins>+/* Title for Cancel button label in button bar */
+&quot;Cancel button label in button bar&quot; = &quot;Cancel&quot;;
+
</ins><span class="cx"> /* Capitalize context menu item */
</span><span class="cx"> &quot;Capitalize&quot; = &quot;Capitalize&quot;;
</span><span class="cx"> 
</span><span class="lines">@@ -112,11 +118,11 @@
</span><span class="cx"> /* title for a multiple file chooser button used in HTML forms. This title should be as short as possible. */
</span><span class="cx"> &quot;Choose Files&quot; = &quot;Choose Files&quot;;
</span><span class="cx"> 
</span><del>-/* PLATFORM(IOS) title for file button used in HTML forms for media files */
-&quot;Choose Media (Single)&quot; = &quot;Choose Photo&quot;;
</del><ins>+/* Title for file button used in HTML5 forms for multiple media files */
+&quot;Choose Media (Multiple)&quot; = &quot;Choose Media (Multiple)&quot;;
</ins><span class="cx"> 
</span><del>-/* PLATFORM(IOS) title for file button used in HTML5 forms for multiple media files */
-&quot;Choose Media (Multiple)&quot; = &quot;Choose Photos&quot;;
</del><ins>+/* Title for file button used in HTML forms for media files */
+&quot;Choose Media (Single)&quot; = &quot;Choose Media (Single)&quot;;
</ins><span class="cx"> 
</span><span class="cx"> /* menu item in Recent Searches menu that empties menu's contents */
</span><span class="cx"> &quot;Clear Recent Searches&quot; = &quot;Clear Recent Searches&quot;;
</span><span class="lines">@@ -136,6 +142,9 @@
</span><span class="cx"> /* Copy context menu item */
</span><span class="cx"> &quot;Copy&quot; = &quot;Copy&quot;;
</span><span class="cx"> 
</span><ins>+/* Title for Copy Link or Image action button */
+&quot;Copy ActionSheet Link&quot; = &quot;Copy&quot;;
+
</ins><span class="cx"> /* Copy Audio Address Location context menu item */
</span><span class="cx"> &quot;Copy Audio Address&quot; = &quot;Copy Audio Address&quot;;
</span><span class="cx"> 
</span><span class="lines">@@ -163,15 +172,15 @@
</span><span class="cx"> /* Default writing direction context menu item */
</span><span class="cx"> &quot;Default&quot; = &quot;Default&quot;;
</span><span class="cx"> 
</span><del>-/* PLATFORM(IOS) Undo action name */
</del><ins>+/* Undo action name (Used only by PLATFORM(IOS) code) */
</ins><span class="cx"> &quot;Delete (Undo action name)&quot; = &quot;Delete&quot;;
</span><span class="cx"> 
</span><del>-/* PLATFORM(IOS) Undo action name */
-&quot;Dictation (Undo action name)&quot; = &quot;Dictation&quot;;
-
</del><span class="cx"> /* text to display in &lt;details&gt; tag when it has no &lt;summary&gt; child */
</span><span class="cx"> &quot;Details&quot; = &quot;Details&quot;;
</span><span class="cx"> 
</span><ins>+/* Undo action name (Used only by PLATFORM(IOS) code) */
+&quot;Dictation (Undo action name)&quot; = &quot;Dictation&quot;;
+
</ins><span class="cx"> /* Download Audio To Disk context menu item */
</span><span class="cx"> &quot;Download Audio&quot; = &quot;Download Audio&quot;;
</span><span class="cx"> 
</span><span class="lines">@@ -247,6 +256,9 @@
</span><span class="cx"> /* WebKitErrorJavaUnavailable description */
</span><span class="cx"> &quot;Java is unavailable&quot; = &quot;Java is unavailable&quot;;
</span><span class="cx"> 
</span><ins>+/* Title for action sheet for JavaScript link */
+&quot;JavaScript Action Sheet Title&quot; = &quot;JavaScript&quot;;
+
</ins><span class="cx"> /* Undo action name */
</span><span class="cx"> &quot;Justify (Undo action name)&quot; = &quot;Justify&quot;;
</span><span class="cx"> 
</span><span class="lines">@@ -307,6 +319,9 @@
</span><span class="cx"> /* Menu item label for the track that represents disabling closed captions */
</span><span class="cx"> &quot;Off&quot; = &quot;Off&quot;;
</span><span class="cx"> 
</span><ins>+/* Title for Open Link action button */
+&quot;Open ActionSheet Link&quot; = &quot;Open&quot;;
+
</ins><span class="cx"> /* Open Audio in New Window context menu item */
</span><span class="cx"> &quot;Open Audio in New Window&quot; = &quot;Open Audio in New Window&quot;;
</span><span class="cx"> 
</span><span class="lines">@@ -391,6 +406,9 @@
</span><span class="cx"> /* Right to Left context menu item */
</span><span class="cx"> &quot;Right to Left&quot; = &quot;Right to Left&quot;;
</span><span class="cx"> 
</span><ins>+/* Title for Save Image action button */
+&quot;Save Image&quot; = &quot;Save Image&quot;;
+
</ins><span class="cx"> /* Search in Spotlight context menu item */
</span><span class="cx"> &quot;Search in Spotlight&quot; = &quot;Search in Spotlight&quot;;
</span><span class="cx"> 
</span><span class="lines">@@ -433,6 +451,9 @@
</span><span class="cx"> /* menu item title */
</span><span class="cx"> &quot;Show Substitutions&quot; = &quot;Show Substitutions&quot;;
</span><span class="cx"> 
</span><ins>+/* Title of the context menu item to show when PDFPlugin was used instead of a blocked plugin */
+&quot;Show in blocked plug-in&quot; = &quot;Show in blocked plug-in&quot;;
+
</ins><span class="cx"> /* Smart Copy/Paste context menu item */
</span><span class="cx"> &quot;Smart Copy/Paste&quot; = &quot;Smart Copy/Paste&quot;;
</span><span class="cx"> 
</span><span class="lines">@@ -544,7 +565,7 @@
</span><span class="cx"> /* Undo action name */
</span><span class="cx"> &quot;Turn Off Ligatures (Undo action name)&quot; = &quot;Turn Off Ligatures&quot;;
</span><span class="cx"> 
</span><del>-/* Undo action name */
</del><ins>+/* We don't care if we find this string, but searching for it will load the plist and save the results. */
</ins><span class="cx"> &quot;Typing (Undo action name)&quot; = &quot;Typing&quot;;
</span><span class="cx"> 
</span><span class="cx"> /* Underline context menu item */
</span><span class="lines">@@ -793,15 +814,15 @@
</span><span class="cx"> /* text to display in file button used in HTML forms when no files are selected and the button allows multiple files to be selected */
</span><span class="cx"> &quot;no files selected&quot; = &quot;no files selected&quot;;
</span><span class="cx"> 
</span><del>-/* PLATFORM(IOS) text to display in file button used in HTML forms for media files when no media file is selected */
-&quot;no media selected (single)&quot; = &quot;no photo selected&quot;;
-
-/* PLATFORM(IOS) text to display in file button used in HTML forms for media files when no media files are selected and the button allows multiple files to be selected */
-&quot;no media selected (multiple)&quot; = &quot;no photos selected&quot;;
-
</del><span class="cx"> /* HTTP result code string */
</span><span class="cx"> &quot;no longer exists&quot; = &quot;no longer exists&quot;;
</span><span class="cx"> 
</span><ins>+/* Text to display in file button used in HTML forms for media files when no media files are selected and the button allows multiple files to be selected */
+&quot;no media selected (multiple)&quot; = &quot;no media selected (multiple)&quot;;
+
+/* Text to display in file button used in HTML forms for media files when no media file is selected */
+&quot;no media selected (single)&quot; = &quot;no media selected (single)&quot;;
+
</ins><span class="cx"> /* HTTP result code string */
</span><span class="cx"> &quot;non-authoritative information&quot; = &quot;non-authoritative information&quot;;
</span><span class="cx"> 
</span><span class="lines">@@ -985,5 +1006,3 @@
</span><span class="cx"> /* accessibility label for video element controller */
</span><span class="cx"> &quot;video playback&quot; = &quot;video playback&quot;;
</span><span class="cx"> 
</span><del>-/* title of the context menu item to show when PDFPlugin was used instead of a blocked plugin */
-&quot;Show in blocked plug-in&quot; = &quot;Show in blocked plug-in&quot;;
</del></span></pre></div>
<a id="trunkSourceWebCoreWebCoreexpin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.exp.in (162996 => 162997)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.exp.in        2014-01-29 03:24:01 UTC (rev 162996)
+++ trunk/Source/WebCore/WebCore.exp.in        2014-01-29 04:09:12 UTC (rev 162997)
</span><span class="lines">@@ -1062,6 +1062,7 @@
</span><span class="cx"> __ZN7WebCore5RangeD1Ev
</span><span class="cx"> __ZN7WebCore6Chrome16setStatusbarTextEPNS_5FrameERKN3WTF6StringE
</span><span class="cx"> __ZN7WebCore6Chrome5printEPNS_5FrameE
</span><ins>+__ZN7WebCore6Editor7copyURLERKNS_3URLERKN3WTF6StringE
</ins><span class="cx"> __ZN7WebCore6Editor10applyStyleEPNS_15StylePropertiesENS_10EditActionE
</span><span class="cx"> __ZN7WebCore6Editor10findStringERKN3WTF6StringEj
</span><span class="cx"> __ZN7WebCore6Editor10insertTextERKN3WTF6StringEPNS_5EventE
</span><span class="lines">@@ -1080,6 +1081,7 @@
</span><span class="cx"> __ZN7WebCore6Editor19deleteWithDirectionENS_18SelectionDirectionENS_15TextGranularityEbb
</span><span class="cx"> __ZN7WebCore6Editor19insertUnorderedListEv
</span><span class="cx"> __ZN7WebCore6Editor21applyStyleToSelectionEPNS_15StylePropertiesENS_10EditActionE
</span><ins>+__ZN7WebCore6Editor22writeImageToPasteboardERNS_10PasteboardERNS_7ElementERKNS_3URLERKN3WTF6StringE
</ins><span class="cx"> __ZN7WebCore6Editor23setBaseWritingDirectionE16WritingDirection
</span><span class="cx"> __ZN7WebCore6Editor24computeAndSetTypingStyleEPNS_15StylePropertiesENS_10EditActionE
</span><span class="cx"> __ZN7WebCore6Editor24isSelectionUngrammaticalEv
</span><span class="lines">@@ -1087,6 +1089,7 @@
</span><span class="cx"> __ZN7WebCore6Editor26decreaseSelectionListLevelEv
</span><span class="cx"> __ZN7WebCore6Editor26increaseSelectionListLevelEv
</span><span class="cx"> __ZN7WebCore6Editor26toggleOverwriteModeEnabledEv
</span><ins>+__ZN7WebCore6Editor26writeSelectionToPasteboardERNS_10PasteboardE
</ins><span class="cx"> __ZN7WebCore6Editor28replaceSelectionWithFragmentEN3WTF10PassRefPtrINS_16DocumentFragmentEEEbbb
</span><span class="cx"> __ZN7WebCore6Editor29canDecreaseSelectionListLevelEv
</span><span class="cx"> __ZN7WebCore6Editor29canIncreaseSelectionListLevelEv
</span><span class="lines">@@ -1341,6 +1344,7 @@
</span><span class="cx"> __ZN7WebCore9HTMLNames9scriptTagE
</span><span class="cx"> __ZN7WebCore9HTMLNames9selectTagE
</span><span class="cx"> __ZN7WebCore9HTMLNames9styleAttrE
</span><ins>+__ZN7WebCore9HTMLNames9titleAttrE
</ins><span class="cx"> __ZN7WebCore9HTMLNames9valueAttrE
</span><span class="cx"> __ZN7WebCore9InlineBox14adjustPositionEff
</span><span class="cx"> __ZN7WebCore9InlineBox14dirtyLineBoxesEv
</span><span class="lines">@@ -1390,6 +1394,7 @@
</span><span class="cx"> __ZN7WebCore9plainTextEPKNS_5RangeENS_20TextIteratorBehaviorEb
</span><span class="cx"> __ZN7WebCore9toElementEN3JSC7JSValueE
</span><span class="cx"> __ZN7WebCore9unionRectERKN3WTF6VectorINS_9FloatRectELm0ENS0_15CrashOnOverflowEEE
</span><ins>+__ZN7WebCore10Pasteboard21createForCopyAndPasteEv
</ins><span class="cx"> __ZN7WebCore10TimeRanges13intersectWithEPKS0_
</span><span class="cx"> __ZN7WebCore10TimeRangesC1Edd
</span><span class="cx"> __ZNK3JSC8Bindings10RootObject12globalObjectEv
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingEditorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/Editor.cpp (162996 => 162997)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/Editor.cpp        2014-01-29 03:24:01 UTC (rev 162996)
+++ trunk/Source/WebCore/editing/Editor.cpp        2014-01-29 04:09:12 UTC (rev 162997)
</span><span class="lines">@@ -1391,7 +1391,6 @@
</span><span class="cx">     applyCommand(SimplifyMarkupCommand::create(document(), startNode, (endNode) ? NodeTraversal::next(endNode) : 0));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-#if !PLATFORM(IOS)
</del><span class="cx"> void Editor::copyURL(const URL&amp; url, const String&amp; title)
</span><span class="cx"> {
</span><span class="cx">     copyURL(url, title, *Pasteboard::createForCopyAndPaste());
</span><span class="lines">@@ -1410,6 +1409,7 @@
</span><span class="cx">     pasteboard.write(pasteboardURL);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx"> void Editor::copyImage(const HitTestResult&amp; result)
</span><span class="cx"> {
</span><span class="cx">     Element* element = result.innerNonSharedElement();
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingEditorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/Editor.h (162996 => 162997)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/Editor.h        2014-01-29 03:24:01 UTC (rev 162996)
+++ trunk/Source/WebCore/editing/Editor.h        2014-01-29 04:09:12 UTC (rev 162997)
</span><span class="lines">@@ -126,9 +126,9 @@
</span><span class="cx">     void pasteAsPlainText();
</span><span class="cx">     void performDelete();
</span><span class="cx"> 
</span><del>-#if !PLATFORM(IOS)
</del><span class="cx">     void copyURL(const URL&amp;, const String&amp; title);
</span><span class="cx">     void copyURL(const URL&amp;, const String&amp; title, Pasteboard&amp;);
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     void copyImage(const HitTestResult&amp;);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingiosEditorIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/ios/EditorIOS.mm (162996 => 162997)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/ios/EditorIOS.mm        2014-01-29 03:24:01 UTC (rev 162996)
+++ trunk/Source/WebCore/editing/ios/EditorIOS.mm        2014-01-29 04:09:12 UTC (rev 162997)
</span><span class="lines">@@ -48,6 +48,7 @@
</span><span class="cx"> #include &quot;Pasteboard.h&quot;
</span><span class="cx"> #include &quot;RenderBlock.h&quot;
</span><span class="cx"> #include &quot;RenderImage.h&quot;
</span><ins>+#include &quot;ResourceBuffer.h&quot;
</ins><span class="cx"> #include &quot;SharedBuffer.h&quot;
</span><span class="cx"> #include &quot;SoftLinking.h&quot;
</span><span class="cx"> #include &quot;StyleProperties.h&quot;
</span><span class="lines">@@ -374,6 +375,7 @@
</span><span class="cx">     pasteboardImage.url.url = imageElement.document().completeURL(stripLeadingAndTrailingHTMLSpaces(imageElement.imageSourceURL()));
</span><span class="cx">     pasteboardImage.url.title = title;
</span><span class="cx">     pasteboardImage.resourceMIMEType = pasteboard.resourceMIMEType(cachedImage-&gt;response().mimeType());
</span><ins>+    pasteboardImage.resourceData = cachedImage-&gt;resourceBuffer()-&gt;sharedBuffer();
</ins><span class="cx"> 
</span><span class="cx">     pasteboard.write(pasteboardImage);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformiosPasteboardIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ios/PasteboardIOS.mm (162996 => 162997)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ios/PasteboardIOS.mm        2014-01-29 03:24:01 UTC (rev 162996)
+++ trunk/Source/WebCore/platform/ios/PasteboardIOS.mm        2014-01-29 04:09:12 UTC (rev 162997)
</span><span class="lines">@@ -150,6 +150,11 @@
</span><span class="cx">     platformStrategies()-&gt;pasteboardStrategy()-&gt;writeToPasteboard(kUTTypeText, text);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+void Pasteboard::write(const PasteboardURL&amp; pasteboardURL)
+{
+    platformStrategies()-&gt;pasteboardStrategy()-&gt;writeToPasteboard(kUTTypeURL, pasteboardURL.url.string());
+}
+
</ins><span class="cx"> void Pasteboard::writePasteboard(const Pasteboard&amp;)
</span><span class="cx"> {
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformiosPlatformPasteboardIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ios/PlatformPasteboardIOS.mm (162996 => 162997)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ios/PlatformPasteboardIOS.mm        2014-01-29 03:24:01 UTC (rev 162996)
+++ trunk/Source/WebCore/platform/ios/PlatformPasteboardIOS.mm        2014-01-29 04:09:12 UTC (rev 162997)
</span><span class="lines">@@ -169,7 +169,7 @@
</span><span class="cx"> {
</span><span class="cx">     RetainPtr&lt;NSMutableDictionary&gt; representations = adoptNS([[NSMutableDictionary alloc] init]);
</span><span class="cx">     if (!pasteboardImage.resourceMIMEType.isNull()) {
</span><del>-        [representations setObject:pasteboardImage.image-&gt;data()-&gt;createNSData().get() forKey:pasteboardImage.resourceMIMEType];
</del><ins>+        [representations setObject:pasteboardImage.resourceData-&gt;createNSData().get() forKey:pasteboardImage.resourceMIMEType];
</ins><span class="cx">         [representations setObject:(NSString *)pasteboardImage.url.url forKey:(NSString *)kUTTypeURL];
</span><span class="cx">     }
</span><span class="cx">     [m_pasteboard setItems:@[representations.get()]];
</span><span class="lines">@@ -179,9 +179,10 @@
</span><span class="cx"> {
</span><span class="cx">     RetainPtr&lt;NSDictionary&gt; representations = adoptNS([[NSMutableDictionary alloc] init]);
</span><span class="cx"> 
</span><del>-    if (pasteboardType == String(kUTTypeURL))
</del><ins>+    if (pasteboardType == String(kUTTypeURL)) {
</ins><span class="cx">         [representations setValue:adoptNS([[NSURL alloc] initWithString:text]).get() forKey:pasteboardType];
</span><del>-    else if (!pasteboardType.isNull())
</del><ins>+        [representations setValue:text forKey:(NSString *)kUTTypeText];
+    } else if (!pasteboardType.isNull())
</ins><span class="cx">         [representations setValue:text forKey:pasteboardType];
</span><span class="cx">     [m_pasteboard setItems:@[representations.get()]];
</span><span class="cx"> }
</span></span></pre>
</div>
</div>

</body>
</html>