<!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>[160106] trunk/Source/WebKit/ios</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/160106">160106</a></dd>
<dt>Author</dt> <dd>aestes@apple.com</dd>
<dt>Date</dt> <dd>2013-12-04 11:02:59 -0800 (Wed, 04 Dec 2013)</dd>
</dl>

<h3>Log Message</h3>
<pre>[iOS] Upstream build fixes in Source/WebKit/ios/
https://bugs.webkit.org/show_bug.cgi?id=125230

Reviewed by Sam Weinig.

* DefaultDelegates/WebDefaultUIKitDelegate.m:
(-[WebDefaultUIKitDelegate webViewDidReceiveMobileDocType:]):
* Misc/WebNSStringDrawing.mm:
(needsBidiLayout):
(-[NSString __web_drawAtPoint:forWidth:withFont:ellipsis:letterSpacing:includeEmoji:measureOnly:renderedStringOut:drawUnderline:]):
(-[NSString __web_drawInRect:withFont:ellipsis:alignment:letterSpacing:lineSpacing:includeEmoji:truncationRect:measureOnly:renderedStringOut:drawUnderline:]):
* Misc/WebUIKitSupport.mm:
(WebKitInitialize):
* WebCoreSupport/WebChromeClientIOS.h:
* WebCoreSupport/WebChromeClientIOS.mm:
(WebChromeClientIOS::didReceiveMobileDocType):
(WebChromeClientIOS::focusedElementChanged):
* WebCoreSupport/WebFrameIOS.mm:
(-[WebFrame clearSelection]):
(-[WebFrame selectionState]):
(-[WebFrame collapseSelection]):
(-[WebFrame extendSelection:]):
(-[WebFrame selectionRects]):
(-[WebFrame setRangedSelectionWithExtentPoint:]):
(-[WebFrame setRangedSelectionExtentPoint:baseIsStart:allowFlipping:]):
(-[WebFrame setSelectionWithBasePoint:extentPoint:baseIsStart:allowFlipping:]):
(-[WebFrame setSelectionWithFirstPoint:secondPoint:]):
(-[WebFrame ensureRangedSelectionContainsInitialStartPoint:initialEndPoint:]):
(-[WebFrame aggressivelyExpandSelectionToWordContainingCaretSelection]):
(-[WebFrame expandSelectionToSentence]):
(-[WebFrame setBaseWritingDirection:]):
(-[WebFrame moveSelectionToStart]):
(-[WebFrame moveSelectionToEnd]):
(-[WebFrame moveSelectionToPoint:]):
(-[WebFrame setSelectionGranularity:]):
(-[WebFrame smartExtendRangedSelection:]):
(-[WebFrame previousUnperturbedDictationResultBoundaryFromPosition:]):
(-[WebFrame nextUnperturbedDictationResultBoundaryFromPosition:]):
* WebCoreSupport/WebInspectorClientIOS.mm:
(WebInspectorClient::WebInspectorClient):
(WebInspectorClient::didSetSearchingForNode):
(WebInspectorClient::setupRemoteConnection):
(WebInspectorClient::teardownRemoteConnection):
* WebCoreSupport/WebVisiblePosition.mm:
(-[WebVisiblePosition enclosingRangeWithDictationPhraseAlternatives:]):
(-[WebVisiblePosition enclosingRangeWithCorrectionIndicator]):
(-[DOMHTMLInputElement startPosition]):
(-[DOMHTMLInputElement endPosition]):
(-[DOMHTMLTextAreaElement startPosition]):
(-[DOMHTMLTextAreaElement endPosition]):
* WebView/WebPDFViewIOS.mm:
(+[WebPDFView shadowColor]):
(+[WebPDFView backgroundColor]):
(-[WebPDFView _checkPDFTitle]):
* WebView/WebPDFViewPlaceholder.mm:
(-[WebPDFViewPlaceholder simulateClickOnLinkToURL:]):
* WebView/WebUIKitDelegate.h:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebKitiosChangeLog">trunk/Source/WebKit/ios/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitiosDefaultDelegatesWebDefaultUIKitDelegatem">trunk/Source/WebKit/ios/DefaultDelegates/WebDefaultUIKitDelegate.m</a></li>
<li><a href="#trunkSourceWebKitiosMiscWebNSStringDrawingmm">trunk/Source/WebKit/ios/Misc/WebNSStringDrawing.mm</a></li>
<li><a href="#trunkSourceWebKitiosMiscWebUIKitSupportmm">trunk/Source/WebKit/ios/Misc/WebUIKitSupport.mm</a></li>
<li><a href="#trunkSourceWebKitiosWebCoreSupportWebChromeClientIOSh">trunk/Source/WebKit/ios/WebCoreSupport/WebChromeClientIOS.h</a></li>
<li><a href="#trunkSourceWebKitiosWebCoreSupportWebChromeClientIOSmm">trunk/Source/WebKit/ios/WebCoreSupport/WebChromeClientIOS.mm</a></li>
<li><a href="#trunkSourceWebKitiosWebCoreSupportWebFrameIOSmm">trunk/Source/WebKit/ios/WebCoreSupport/WebFrameIOS.mm</a></li>
<li><a href="#trunkSourceWebKitiosWebCoreSupportWebInspectorClientIOSmm">trunk/Source/WebKit/ios/WebCoreSupport/WebInspectorClientIOS.mm</a></li>
<li><a href="#trunkSourceWebKitiosWebCoreSupportWebVisiblePositionmm">trunk/Source/WebKit/ios/WebCoreSupport/WebVisiblePosition.mm</a></li>
<li><a href="#trunkSourceWebKitiosWebViewWebPDFViewIOSmm">trunk/Source/WebKit/ios/WebView/WebPDFViewIOS.mm</a></li>
<li><a href="#trunkSourceWebKitiosWebViewWebPDFViewPlaceholdermm">trunk/Source/WebKit/ios/WebView/WebPDFViewPlaceholder.mm</a></li>
<li><a href="#trunkSourceWebKitiosWebViewWebUIKitDelegateh">trunk/Source/WebKit/ios/WebView/WebUIKitDelegate.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebKitiosChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ios/ChangeLog (160105 => 160106)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ios/ChangeLog        2013-12-04 19:02:10 UTC (rev 160105)
+++ trunk/Source/WebKit/ios/ChangeLog        2013-12-04 19:02:59 UTC (rev 160106)
</span><span class="lines">@@ -1,3 +1,63 @@
</span><ins>+2013-12-04  Andy Estes  &lt;aestes@apple.com&gt;
+
+        [iOS] Upstream build fixes in Source/WebKit/ios/
+        https://bugs.webkit.org/show_bug.cgi?id=125230
+
+        Reviewed by Sam Weinig.
+
+        * DefaultDelegates/WebDefaultUIKitDelegate.m:
+        (-[WebDefaultUIKitDelegate webViewDidReceiveMobileDocType:]):
+        * Misc/WebNSStringDrawing.mm:
+        (needsBidiLayout):
+        (-[NSString __web_drawAtPoint:forWidth:withFont:ellipsis:letterSpacing:includeEmoji:measureOnly:renderedStringOut:drawUnderline:]):
+        (-[NSString __web_drawInRect:withFont:ellipsis:alignment:letterSpacing:lineSpacing:includeEmoji:truncationRect:measureOnly:renderedStringOut:drawUnderline:]):
+        * Misc/WebUIKitSupport.mm:
+        (WebKitInitialize):
+        * WebCoreSupport/WebChromeClientIOS.h:
+        * WebCoreSupport/WebChromeClientIOS.mm:
+        (WebChromeClientIOS::didReceiveMobileDocType):
+        (WebChromeClientIOS::focusedElementChanged):
+        * WebCoreSupport/WebFrameIOS.mm:
+        (-[WebFrame clearSelection]):
+        (-[WebFrame selectionState]):
+        (-[WebFrame collapseSelection]):
+        (-[WebFrame extendSelection:]):
+        (-[WebFrame selectionRects]):
+        (-[WebFrame setRangedSelectionWithExtentPoint:]):
+        (-[WebFrame setRangedSelectionExtentPoint:baseIsStart:allowFlipping:]):
+        (-[WebFrame setSelectionWithBasePoint:extentPoint:baseIsStart:allowFlipping:]):
+        (-[WebFrame setSelectionWithFirstPoint:secondPoint:]):
+        (-[WebFrame ensureRangedSelectionContainsInitialStartPoint:initialEndPoint:]):
+        (-[WebFrame aggressivelyExpandSelectionToWordContainingCaretSelection]):
+        (-[WebFrame expandSelectionToSentence]):
+        (-[WebFrame setBaseWritingDirection:]):
+        (-[WebFrame moveSelectionToStart]):
+        (-[WebFrame moveSelectionToEnd]):
+        (-[WebFrame moveSelectionToPoint:]):
+        (-[WebFrame setSelectionGranularity:]):
+        (-[WebFrame smartExtendRangedSelection:]):
+        (-[WebFrame previousUnperturbedDictationResultBoundaryFromPosition:]):
+        (-[WebFrame nextUnperturbedDictationResultBoundaryFromPosition:]):
+        * WebCoreSupport/WebInspectorClientIOS.mm:
+        (WebInspectorClient::WebInspectorClient):
+        (WebInspectorClient::didSetSearchingForNode):
+        (WebInspectorClient::setupRemoteConnection):
+        (WebInspectorClient::teardownRemoteConnection):
+        * WebCoreSupport/WebVisiblePosition.mm:
+        (-[WebVisiblePosition enclosingRangeWithDictationPhraseAlternatives:]):
+        (-[WebVisiblePosition enclosingRangeWithCorrectionIndicator]):
+        (-[DOMHTMLInputElement startPosition]):
+        (-[DOMHTMLInputElement endPosition]):
+        (-[DOMHTMLTextAreaElement startPosition]):
+        (-[DOMHTMLTextAreaElement endPosition]):
+        * WebView/WebPDFViewIOS.mm:
+        (+[WebPDFView shadowColor]):
+        (+[WebPDFView backgroundColor]):
+        (-[WebPDFView _checkPDFTitle]):
+        * WebView/WebPDFViewPlaceholder.mm:
+        (-[WebPDFViewPlaceholder simulateClickOnLinkToURL:]):
+        * WebView/WebUIKitDelegate.h:
+
</ins><span class="cx"> 2013-12-03  Joseph Pecoraro  &lt;pecoraro@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Web Inspector: Push Remote Inspector debugging connection management into JavaScriptCore
</span></span></pre></div>
<a id="trunkSourceWebKitiosDefaultDelegatesWebDefaultUIKitDelegatem"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ios/DefaultDelegates/WebDefaultUIKitDelegate.m (160105 => 160106)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ios/DefaultDelegates/WebDefaultUIKitDelegate.m        2013-12-04 19:02:10 UTC (rev 160105)
+++ trunk/Source/WebKit/ios/DefaultDelegates/WebDefaultUIKitDelegate.m        2013-12-04 19:02:59 UTC (rev 160106)
</span><span class="lines">@@ -139,7 +139,7 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (void)webView:(WebView *)webView didReceiveDocTypeForFrame:(WebFrame *)frame
</del><ins>+- (void)webViewDidReceiveMobileDocType:(WebView *)webView
</ins><span class="cx"> {
</span><span class="cx">     
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKitiosMiscWebNSStringDrawingmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ios/Misc/WebNSStringDrawing.mm (160105 => 160106)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ios/Misc/WebNSStringDrawing.mm        2013-12-04 19:02:10 UTC (rev 160105)
+++ trunk/Source/WebKit/ios/Misc/WebNSStringDrawing.mm        2013-12-04 19:02:59 UTC (rev 160106)
</span><span class="lines">@@ -156,37 +156,37 @@
</span><span class="cx">     return width;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static bool needsBidiLayout(const UChar *characters, unsigned length, WTF::Unicode::Direction&amp; baseDirection, bool oneParagraph = false)
</del><ins>+static bool needsBidiLayout(const UChar *characters, unsigned length, UCharDirection&amp; baseDirection, bool oneParagraph = false)
</ins><span class="cx"> {
</span><span class="cx">     bool foundFirstStrong = false;
</span><span class="cx">     bool result = false;
</span><del>-    baseDirection = WTF::Unicode::LeftToRight;
</del><ins>+    baseDirection = U_LEFT_TO_RIGHT;
</ins><span class="cx">     for (unsigned i = 0; i &lt; length;) {
</span><span class="cx">         UChar32 c;
</span><span class="cx">         U16_NEXT(characters, i, length, c);
</span><del>-        switch (WTF::Unicode::direction(c)) {
-            case WTF::Unicode::RightToLeft:
-            case WTF::Unicode::RightToLeftArabic:
</del><ins>+        switch (UCharDirection(c)) {
+            case U_RIGHT_TO_LEFT:
+            case U_RIGHT_TO_LEFT_ARABIC:
</ins><span class="cx">                 if (!foundFirstStrong) {
</span><span class="cx">                     foundFirstStrong = true;
</span><del>-                    baseDirection = WTF::Unicode::RightToLeft;
</del><ins>+                    baseDirection = U_RIGHT_TO_LEFT;
</ins><span class="cx">                 }
</span><span class="cx">                 // Fall through to rest of strongly directional cases
</span><del>-            case WTF::Unicode::LeftToRightEmbedding:
-            case WTF::Unicode::LeftToRightOverride:
-            case WTF::Unicode::RightToLeftEmbedding:
-            case WTF::Unicode::RightToLeftOverride:
-            case WTF::Unicode::PopDirectionalFormat:
</del><ins>+            case U_LEFT_TO_RIGHT_EMBEDDING:
+            case U_LEFT_TO_RIGHT_OVERRIDE:
+            case U_RIGHT_TO_LEFT_EMBEDDING:
+            case U_RIGHT_TO_LEFT_OVERRIDE:
+            case U_POP_DIRECTIONAL_FORMAT:
</ins><span class="cx">                 result = true;
</span><span class="cx">                 if (foundFirstStrong)
</span><span class="cx">                     return result;
</span><span class="cx">                 break;
</span><del>-            case WTF::Unicode::LeftToRight:
</del><ins>+            case U_LEFT_TO_RIGHT:
</ins><span class="cx">                 foundFirstStrong = true;
</span><span class="cx">                 if (result)
</span><span class="cx">                     return result;
</span><span class="cx">                 break;
</span><del>-            case WTF::Unicode::BlockSeparator:
</del><ins>+            case U_BLOCK_SEPARATOR:
</ins><span class="cx">                 if (oneParagraph)
</span><span class="cx">                     return result;
</span><span class="cx">                 break;
</span><span class="lines">@@ -269,7 +269,7 @@
</span><span class="cx">         renderer.setLetterSpacing(letterSpacing);
</span><span class="cx"> 
</span><span class="cx">     String fullString(self);
</span><del>-    WTF::Unicode::Direction base = WTF::Unicode::LeftToRight;
</del><ins>+    UCharDirection base = U_LEFT_TO_RIGHT;
</ins><span class="cx">     bool stringNeedsBidi = needsBidiLayout(fullString.characters(), fullString.length(), base);
</span><span class="cx">     float stringWidth;
</span><span class="cx">     String s = (width &gt;= FLT_MAX &amp;&amp; !measureOnly) ? fullString : applyEllipsisStyle(fullString, ellipsisStyle, width, renderer, shouldDisableWordRounding() ? StringTruncator::DisableRoundingHacks : StringTruncator::EnableRoundingHacks, &amp;stringWidth);
</span><span class="lines">@@ -280,7 +280,7 @@
</span><span class="cx">         context.setEmojiDrawingEnabled(includeEmoji);
</span><span class="cx"> 
</span><span class="cx">         if (stringNeedsBidi) {
</span><del>-            BidiStatus status(base, base, base, BidiContext::create((base == WTF::Unicode::LeftToRight) ? 0 : 1, base, false));
</del><ins>+            BidiStatus status(base, base, base, BidiContext::create((base == U_LEFT_TO_RIGHT) ? 0 : 1, base, false));
</ins><span class="cx">             // FIXME: For proper bidi rendering, we need to pass the whole string, rather than the truncated string.
</span><span class="cx">             // Otherwise, weak/neutral characters on either side of the ellipsis may pick up the wrong direction
</span><span class="cx">             // if there are strong characters ellided.
</span><span class="lines">@@ -401,11 +401,11 @@
</span><span class="cx"> 
</span><span class="cx">     BOOL lastLine = NO;
</span><span class="cx">     BOOL finishedLastLine = NO;
</span><del>-    WTF::Unicode::Direction base;
</del><ins>+    UCharDirection base;
</ins><span class="cx">     BOOL paragraphNeedsBidi = needsBidiLayout(buffer, length, base, true);
</span><span class="cx">     BidiStatus status;
</span><span class="cx">     if (paragraphNeedsBidi)
</span><del>-        status = BidiStatus(base, base, base, BidiContext::create((base == WTF::Unicode::LeftToRight) ? 0 : 1, base, false));
</del><ins>+        status = BidiStatus(base, base, base, BidiContext::create((base == U_LEFT_TO_RIGHT) ? 0 : 1, base, false));
</ins><span class="cx"> 
</span><span class="cx">     int lengthRemaining = length;
</span><span class="cx">     
</span><span class="lines">@@ -601,7 +601,7 @@
</span><span class="cx">                 } else {
</span><span class="cx">                     ellipsisResult = applyEllipsisStyle(lastLine, ellipsisStyle, rect.size.width, renderer, shouldDisableWordRounding() ? StringTruncator::DisableRoundingHacks : StringTruncator::EnableRoundingHacks, &amp;lastLineWidth, insertEllipsis, customTruncationElementWidth, forceTruncation);
</span><span class="cx">                     if (truncationRect &amp;&amp; (ellipsisResult != lastLine || droppingLines)
</span><del>-                        &amp;&amp; lastLineWidth &amp;&amp; base == WTF::Unicode::RightToLeft)
</del><ins>+                        &amp;&amp; lastLineWidth &amp;&amp; base == U_RIGHT_TO_LEFT)
</ins><span class="cx">                         textPoint.x += truncationRect-&gt;size.width;
</span><span class="cx">                 }
</span><span class="cx">                 CGContextRef cgContext = WKGetCurrentGraphicsContext();
</span><span class="lines">@@ -619,7 +619,7 @@
</span><span class="cx">                         *truncationRect = CGRectNull;
</span><span class="cx">                     } else {
</span><span class="cx">                         truncationRect-&gt;origin = textPoint;
</span><del>-                        truncationRect-&gt;origin.x += (base == WTF::Unicode::RightToLeft) ? (-truncationRect-&gt;size.width) : lineWidth;
</del><ins>+                        truncationRect-&gt;origin.x += (base == U_RIGHT_TO_LEFT) ? (-truncationRect-&gt;size.width) : lineWidth;
</ins><span class="cx">                         truncationRect-&gt;origin.y -= ascent;
</span><span class="cx">                         truncationRect-&gt;size.height = ascent - GSFontGetDescent(font);
</span><span class="cx">                     }
</span><span class="lines">@@ -656,7 +656,7 @@
</span><span class="cx">             // Redetermine whether the succeeding paragraph needs bidi layout, and if so, determine the base direction
</span><span class="cx">             paragraphNeedsBidi = needsBidiLayout(startOfLine, lengthRemaining, base, true);
</span><span class="cx">             if (paragraphNeedsBidi)
</span><del>-                status = BidiStatus(base, base, base, BidiContext::create((base == WTF::Unicode::LeftToRight) ? 0 : 1, base, false));
</del><ins>+                status = BidiStatus(base, base, base, BidiContext::create((base == U_LEFT_TO_RIGHT) ? 0 : 1, base, false));
</ins><span class="cx">         }
</span><span class="cx">         maxLineWidth = max(maxLineWidth, lineWidth);
</span><span class="cx">         cursor.y += lineSpacing;
</span></span></pre></div>
<a id="trunkSourceWebKitiosMiscWebUIKitSupportmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ios/Misc/WebUIKitSupport.mm (160105 => 160106)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ios/Misc/WebUIKitSupport.mm        2013-12-04 19:02:10 UTC (rev 160105)
+++ trunk/Source/WebKit/ios/Misc/WebUIKitSupport.mm        2013-12-04 19:02:59 UTC (rev 160106)
</span><span class="lines">@@ -74,7 +74,7 @@
</span><span class="cx">     
</span><span class="cx">     // This needs to be called before any requests are made in the process, &lt;rdar://problem/9691871&gt;
</span><span class="cx">     WebCore::initializeHTTPConnectionSettingsOnStartup();
</span><del>-    WebCore::enableKURLSchemeCanonicalization(linkedOnOrAfterIOS5());
</del><ins>+    WebCore::enableURLSchemeCanonicalization(linkedOnOrAfterIOS5());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebKitSetIsClassic(BOOL flag)
</span></span></pre></div>
<a id="trunkSourceWebKitiosWebCoreSupportWebChromeClientIOSh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ios/WebCoreSupport/WebChromeClientIOS.h (160105 => 160106)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ios/WebCoreSupport/WebChromeClientIOS.h        2013-12-04 19:02:10 UTC (rev 160105)
+++ trunk/Source/WebKit/ios/WebCoreSupport/WebChromeClientIOS.h        2013-12-04 19:02:59 UTC (rev 160106)
</span><span class="lines">@@ -48,7 +48,7 @@
</span><span class="cx"> #if ENABLE(TOUCH_EVENTS)
</span><span class="cx">     virtual void didPreventDefaultForEvent() OVERRIDE;
</span><span class="cx"> #endif
</span><del>-    virtual void didReceiveDocType(WebCore::Frame*) OVERRIDE;
</del><ins>+    virtual void didReceiveMobileDocType() OVERRIDE;
</ins><span class="cx">     virtual void setNeedsScrollNotifications(WebCore::Frame*, bool) OVERRIDE;
</span><span class="cx">     virtual void observedContentChange(WebCore::Frame*) OVERRIDE;
</span><span class="cx">     virtual void clearContentChangeObservers(WebCore::Frame*) OVERRIDE;
</span><span class="lines">@@ -85,7 +85,7 @@
</span><span class="cx">     virtual PassRefPtr&lt;WebCore::SearchPopupMenu&gt; createSearchPopupMenu(WebCore::PopupMenuClient*) const OVERRIDE;
</span><span class="cx"> 
</span><span class="cx">     virtual void webAppOrientationsUpdated() OVERRIDE;
</span><del>-    virtual void focusedNodeChanged(WebCore::Node*) OVERRIDE;
</del><ins>+    virtual void focusedElementChanged(WebCore::Element*) OVERRIDE;
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     int m_formNotificationSuppressions;
</span></span></pre></div>
<a id="trunkSourceWebKitiosWebCoreSupportWebChromeClientIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ios/WebCoreSupport/WebChromeClientIOS.mm (160105 => 160106)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ios/WebCoreSupport/WebChromeClientIOS.mm        2013-12-04 19:02:10 UTC (rev 160105)
+++ trunk/Source/WebKit/ios/WebCoreSupport/WebChromeClientIOS.mm        2013-12-04 19:02:59 UTC (rev 160106)
</span><span class="lines">@@ -131,9 +131,9 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-void WebChromeClientIOS::didReceiveDocType(WebCore::Frame* frame)
</del><ins>+void WebChromeClientIOS::didReceiveMobileDocType()
</ins><span class="cx"> {
</span><del>-    [[webView() _UIKitDelegateForwarder] webView:webView() didReceiveDocTypeForFrame:kit(frame)];
</del><ins>+    [[webView() _UIKitDelegateForwarder] webViewDidReceiveMobileDocType:webView() ];
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebChromeClientIOS::setNeedsScrollNotifications(WebCore::Frame* frame, bool flag)
</span><span class="lines">@@ -290,18 +290,18 @@
</span><span class="cx">     [[webView() _UIDelegateForwarder] webViewSupportedOrientationsUpdated:webView()];
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebChromeClientIOS::focusedNodeChanged(Node* node)
</del><ins>+void WebChromeClientIOS::focusedElementChanged(Element* element)
</ins><span class="cx"> {
</span><del>-    if (!node)
</del><ins>+    if (!element)
</ins><span class="cx">         return;
</span><del>-    if (!node-&gt;hasTagName(HTMLNames::inputTag))
</del><ins>+    if (!isHTMLInputElement(element))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    HTMLInputElement* inputElement = static_cast&lt;HTMLInputElement*&gt;(node);
</del><ins>+    HTMLInputElement* inputElement = toHTMLInputElement(element);
</ins><span class="cx">     if (!inputElement-&gt;isText())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    CallFormDelegate(webView(), @selector(didFocusTextField:inFrame:), kit(inputElement), kit(inputElement-&gt;document()-&gt;frame()));
</del><ins>+    CallFormDelegate(webView(), @selector(didFocusTextField:inFrame:), kit(inputElement), kit(inputElement-&gt;document().frame()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #endif // PLATFORM(IOS)
</span></span></pre></div>
<a id="trunkSourceWebKitiosWebCoreSupportWebFrameIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ios/WebCoreSupport/WebFrameIOS.mm (160105 => 160106)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ios/WebCoreSupport/WebFrameIOS.mm        2013-12-04 19:02:10 UTC (rev 160105)
+++ trunk/Source/WebKit/ios/WebCoreSupport/WebFrameIOS.mm        2013-12-04 19:02:59 UTC (rev 160106)
</span><span class="lines">@@ -98,31 +98,25 @@
</span><span class="cx"> {
</span><span class="cx">     Frame *frame = [self coreFrame];
</span><span class="cx">     if (frame)
</span><del>-        frame-&gt;selection()-&gt;clearCurrentSelection();    
</del><ins>+        frame-&gt;selection().clearCurrentSelection();
</ins><span class="cx">     
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (WebTextSelectionState)selectionState
</span><span class="cx"> {
</span><del>-    WebTextSelectionState state;
-    
</del><ins>+    WebTextSelectionState state = WebTextSelectionStateNone;
+
</ins><span class="cx">     Frame *frame = [self coreFrame];
</span><del>-    FrameSelection* frameSelection = frame-&gt;selection();
-    
-    if (!frameSelection) {
-        state = WebTextSelectionStateNone;
-    } else if (frameSelection-&gt;isCaret()) {
</del><ins>+    FrameSelection&amp; frameSelection = frame-&gt;selection();
+
+    if (frameSelection.isCaret())
</ins><span class="cx">         state = WebTextSelectionStateCaret;
</span><del>-    } else if (frameSelection-&gt;isRange()) {
</del><ins>+    else if (frameSelection.isRange())
</ins><span class="cx">         state = WebTextSelectionStateRange;
</span><del>-    } else {
-        state = WebTextSelectionStateNone;
-    }
-    
</del><ins>+
</ins><span class="cx">     return state;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-
</del><span class="cx"> - (BOOL)hasSelection
</span><span class="cx"> {
</span><span class="cx">     WebTextSelectionState state = [self selectionState];
</span><span class="lines">@@ -190,9 +184,9 @@
</span><span class="cx"> {
</span><span class="cx">     if ([self selectionState] == WebTextSelectionStateRange) {
</span><span class="cx">         Frame *frame = [self coreFrame];
</span><del>-        FrameSelection* frameSelection = frame-&gt;selection();
-        VisiblePosition end(frameSelection-&gt;end());
-        frameSelection-&gt;moveTo(end);
</del><ins>+        FrameSelection&amp; frameSelection = frame-&gt;selection();
+        VisiblePosition end(frameSelection.end());
+        frameSelection.moveTo(end);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -200,13 +194,13 @@
</span><span class="cx"> {
</span><span class="cx">     if ([self selectionState] == WebTextSelectionStateRange) {
</span><span class="cx">         Frame *frame = [self coreFrame];
</span><del>-        FrameSelection* frameSelection = frame-&gt;selection();
</del><ins>+        FrameSelection&amp; frameSelection = frame-&gt;selection();
</ins><span class="cx">         if (start) {
</span><del>-            VisiblePosition start = startOfWord(frameSelection-&gt;start());
-            frameSelection-&gt;moveTo(start, frameSelection-&gt;end());
</del><ins>+            VisiblePosition start = startOfWord(frameSelection.start());
+            frameSelection.moveTo(start, frameSelection.end());
</ins><span class="cx">         } else {
</span><del>-            VisiblePosition end = endOfWord(frameSelection-&gt;end());
-            frameSelection-&gt;moveTo(frameSelection-&gt;start(), end);
</del><ins>+            VisiblePosition end = endOfWord(frameSelection.end());
+            frameSelection.moveTo(frameSelection.start(), end);
</ins><span class="cx">         }
</span><span class="cx">     }    
</span><span class="cx"> }
</span><span class="lines">@@ -250,7 +244,7 @@
</span><span class="cx">         return nil;
</span><span class="cx"> 
</span><span class="cx">     Frame *frame = [self coreFrame];
</span><del>-    Range *range = frame-&gt;selection()-&gt;toNormalizedRange().get();
</del><ins>+    Range *range = frame-&gt;selection().toNormalizedRange().get();
</ins><span class="cx">     return [self selectionRectsForCoreRange:range];
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -307,7 +301,7 @@
</span><span class="cx"> - (void)setRangedSelectionWithExtentPoint:(CGPoint)point
</span><span class="cx"> {    
</span><span class="cx">     Frame *frame = [self coreFrame];
</span><del>-    FrameSelection* frameSelection = frame-&gt;selection();
</del><ins>+    FrameSelection&amp; frameSelection = frame-&gt;selection();
</ins><span class="cx">     VisiblePosition pos = [self visiblePositionForPoint:point];
</span><span class="cx">     VisibleSelection base = frame-&gt;rangedSelectionBase();
</span><span class="cx">     
</span><span class="lines">@@ -318,13 +312,13 @@
</span><span class="cx">     VisiblePosition end(base.end());    
</span><span class="cx">     
</span><span class="cx">     if (pos &lt; start) {        
</span><del>-        frameSelection-&gt;moveTo(pos, end);
</del><ins>+        frameSelection.moveTo(pos, end);
</ins><span class="cx">     } 
</span><span class="cx">     else if (pos &gt; end) {
</span><del>-        frameSelection-&gt;moveTo(start, pos);
</del><ins>+        frameSelection.moveTo(start, pos);
</ins><span class="cx">     } 
</span><span class="cx">     else {
</span><del>-        frameSelection-&gt;moveTo(start, end);
</del><ins>+        frameSelection.moveTo(start, end);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -347,7 +341,7 @@
</span><span class="cx">     VisiblePosition extent([self visiblePositionForPoint:extentPoint]);
</span><span class="cx">     
</span><span class="cx">     if (rangedSelectionBase.isRange() &amp;&amp; baseStart &lt; extent &amp;&amp; extent &lt; baseEnd) {
</span><del>-        frame-&gt;selection()-&gt;moveTo(baseStart, baseEnd);
</del><ins>+        frame-&gt;selection().moveTo(baseStart, baseEnd);
</ins><span class="cx">         return NO;
</span><span class="cx">     }    
</span><span class="cx">     
</span><span class="lines">@@ -411,7 +405,7 @@
</span><span class="cx">             extent = base.previous();
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    frame-&gt;selection()-&gt;moveTo(base, extent);
</del><ins>+    frame-&gt;selection().moveTo(base, extent);
</ins><span class="cx"> 
</span><span class="cx">     return didFlipStartEnd ? !baseIsStart : baseIsStart;
</span><span class="cx"> }
</span><span class="lines">@@ -427,7 +421,7 @@
</span><span class="cx">     // least as long as a single, logical selection session continues).
</span><span class="cx"> 
</span><span class="cx">     Frame *frame = [self coreFrame];
</span><del>-    FrameSelection* frameSelection = frame-&gt;selection();
</del><ins>+    FrameSelection&amp; frameSelection = frame-&gt;selection();
</ins><span class="cx">     VisiblePosition base([self visiblePositionForPoint:basePoint]);
</span><span class="cx">     VisiblePosition extent([self visiblePositionForPoint:extentPoint]);
</span><span class="cx"> 
</span><span class="lines">@@ -454,7 +448,7 @@
</span><span class="cx">             extent = base.previous();
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    frameSelection-&gt;moveTo(base, extent);
</del><ins>+    frameSelection.moveTo(base, extent);
</ins><span class="cx"> 
</span><span class="cx">     return didFlipStartEnd ? !baseIsStart : baseIsStart;
</span><span class="cx"> }
</span><span class="lines">@@ -471,8 +465,8 @@
</span><span class="cx">     VisiblePosition first([self visiblePositionForPoint:firstPoint]);
</span><span class="cx">     VisiblePosition second([self visiblePositionForPoint:secondPoint]);
</span><span class="cx">     Frame *frame = [self coreFrame];
</span><del>-    FrameSelection* frameSelection = frame-&gt;selection();
-    frameSelection-&gt;moveTo(first, second);
</del><ins>+    FrameSelection&amp; frameSelection = frame-&gt;selection();
+    frameSelection.moveTo(first, second);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)ensureRangedSelectionContainsInitialStartPoint:(CGPoint)initialStartPoint initialEndPoint:(CGPoint)initialEndPoint
</span><span class="lines">@@ -481,47 +475,47 @@
</span><span class="cx">     // longer contains these points. This is the desirable behavior when the
</span><span class="cx">     // user does the tap-and-a-half + drag operation.
</span><span class="cx">     Frame *frame = [self coreFrame];
</span><del>-    FrameSelection* frameSelection = frame-&gt;selection();
</del><ins>+    FrameSelection&amp; frameSelection = frame-&gt;selection();
</ins><span class="cx">     Position ensureStart([self visiblePositionForPoint:initialStartPoint].deepEquivalent());
</span><span class="cx">     Position ensureEnd([self visiblePositionForPoint:initialEndPoint].deepEquivalent());
</span><del>-    if (frameSelection-&gt;start() &gt; ensureStart) {
-        frameSelection-&gt;moveTo(ensureStart, frameSelection-&gt;end());
</del><ins>+    if (frameSelection.start() &gt; ensureStart) {
+        frameSelection.moveTo(ensureStart, frameSelection.end());
</ins><span class="cx">     }
</span><del>-    else if (frameSelection-&gt;end() &lt; ensureEnd) {
-        frameSelection-&gt;moveTo(frameSelection-&gt;start(), ensureEnd);
</del><ins>+    else if (frameSelection.end() &lt; ensureEnd) {
+        frameSelection.moveTo(frameSelection.start(), ensureEnd);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)aggressivelyExpandSelectionToWordContainingCaretSelection
</span><span class="cx"> {
</span><span class="cx">     Frame *frame = [self coreFrame];
</span><del>-    FrameSelection* frameSelection = frame-&gt;selection();
-    VisiblePosition end(frameSelection-&gt;end());
</del><ins>+    FrameSelection&amp; frameSelection = frame-&gt;selection();
+    VisiblePosition end(frameSelection.end());
</ins><span class="cx">     if (end == endOfDocument(end) &amp;&amp; end != startOfDocument(end) &amp;&amp; end == startOfLine(end)) {
</span><del>-        frameSelection-&gt;moveTo(end.previous(), end);
</del><ins>+        frameSelection.moveTo(end.previous(), end);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     [self expandSelectionToWordContainingCaretSelection];
</span><span class="cx"> 
</span><span class="cx">     // This is a temporary hack until we get the improvements
</span><span class="cx">     // I'm working on for RTL selection.
</span><del>-    if (frameSelection-&gt;granularity() == WordGranularity) {
-        frameSelection-&gt;moveTo(frameSelection-&gt;start(), frameSelection-&gt;end());
</del><ins>+    if (frameSelection.granularity() == WordGranularity) {
+        frameSelection.moveTo(frameSelection.start(), frameSelection.end());
</ins><span class="cx">     }
</span><span class="cx">     
</span><del>-    if (frameSelection-&gt;isCaret()) {
-        VisiblePosition pos(frameSelection-&gt;end());
</del><ins>+    if (frameSelection.isCaret()) {
+        VisiblePosition pos(frameSelection.end());
</ins><span class="cx">         if (isStartOfLine(pos) &amp;&amp; isEndOfLine(pos)) {
</span><span class="cx">             VisiblePosition next(pos.next());
</span><span class="cx">             if (next.isNotNull()) {
</span><del>-                frameSelection-&gt;moveTo(end, next);
</del><ins>+                frameSelection.moveTo(end, next);
</ins><span class="cx">             }
</span><span class="cx">         }
</span><span class="cx">         else {
</span><span class="cx">             while (pos.isNotNull()) {
</span><span class="cx">                 VisiblePosition wordStart(startOfWord(pos));
</span><span class="cx">                 if (wordStart != pos) {
</span><del>-                    frameSelection-&gt;moveTo(wordStart, frameSelection-&gt;end());
</del><ins>+                    frameSelection.moveTo(wordStart, frameSelection.end());
</ins><span class="cx">                     break;
</span><span class="cx">                 }
</span><span class="cx">                 pos = pos.previous();
</span><span class="lines">@@ -533,11 +527,11 @@
</span><span class="cx"> - (void)expandSelectionToSentence
</span><span class="cx"> {
</span><span class="cx">     Frame *frame = [self coreFrame];
</span><del>-    FrameSelection* frameSelection = frame-&gt;selection();
-    VisiblePosition pos = frameSelection-&gt;start();
</del><ins>+    FrameSelection&amp; frameSelection = frame-&gt;selection();
+    VisiblePosition pos = frameSelection.start();
</ins><span class="cx">     VisiblePosition start = startOfSentence(pos);
</span><span class="cx">     VisiblePosition end = endOfSentence(pos);
</span><del>-    frameSelection-&gt;moveTo(start, end);    
</del><ins>+    frameSelection.moveTo(start, end);    
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (WKWritingDirection)selectionBaseWritingDirection
</span><span class="lines">@@ -581,7 +575,7 @@
</span><span class="cx">     WKWritingDirection originalDirection = [self selectionBaseWritingDirection];
</span><span class="cx"> 
</span><span class="cx">     Frame *frame = [self coreFrame];
</span><del>-    if (!frame-&gt;selection()-&gt;isContentEditable())
</del><ins>+    if (!frame-&gt;selection().isContentEditable())
</ins><span class="cx">         return;
</span><span class="cx">     
</span><span class="cx">     WritingDirection wcDirection = LeftToRightWritingDirection;
</span><span class="lines">@@ -608,25 +602,25 @@
</span><span class="cx"> - (void)moveSelectionToStart
</span><span class="cx"> {
</span><span class="cx">     Frame *frame = [self coreFrame];
</span><del>-    FrameSelection* frameSelection = frame-&gt;selection();
-    VisiblePosition start = startOfDocument(frameSelection-&gt;selection().start());
-    frameSelection-&gt;moveTo(start);
</del><ins>+    FrameSelection&amp; frameSelection = frame-&gt;selection();
+    VisiblePosition start = startOfDocument(frameSelection.selection().start());
+    frameSelection.moveTo(start);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)moveSelectionToEnd
</span><span class="cx"> {
</span><span class="cx">     Frame *frame = [self coreFrame];
</span><del>-    FrameSelection* frameSelection = frame-&gt;selection();
-    VisiblePosition end =  endOfDocument(frameSelection-&gt;selection().end());
-    frameSelection-&gt;moveTo(end);
</del><ins>+    FrameSelection&amp; frameSelection = frame-&gt;selection();
+    VisiblePosition end =  endOfDocument(frameSelection.selection().end());
+    frameSelection.moveTo(end);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)moveSelectionToPoint:(CGPoint)point
</span><span class="cx"> {
</span><span class="cx">     Frame *frame = [self coreFrame];
</span><del>-    FrameSelection* frameSelection = frame-&gt;selection();
</del><ins>+    FrameSelection&amp; frameSelection = frame-&gt;selection();
</ins><span class="cx">     VisiblePosition pos = [self _visiblePositionForPoint:point];
</span><del>-    frameSelection-&gt;moveTo(pos);
</del><ins>+    frameSelection.moveTo(pos);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)setSelectionGranularity:(WebTextGranularity)granularity
</span><span class="lines">@@ -653,8 +647,8 @@
</span><span class="cx">             ASSERT_NOT_REACHED();
</span><span class="cx">             break;
</span><span class="cx">     }
</span><del>-    FrameSelection* frameSelection = _private-&gt;coreFrame-&gt;selection();
-    frameSelection-&gt;setSelection(frameSelection-&gt;selection(), wcGranularity);
</del><ins>+    FrameSelection&amp; frameSelection = _private-&gt;coreFrame-&gt;selection();
+    frameSelection.setSelection(frameSelection.selection(), wcGranularity);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline bool isAlphaNumericCharacter(UChar32 c)
</span><span class="lines">@@ -777,17 +771,17 @@
</span><span class="cx">         return;
</span><span class="cx">     
</span><span class="cx">     Frame *frame = [self coreFrame];
</span><del>-    FrameSelection* frameSelection = frame-&gt;selection();
-    EAffinity affinity = frameSelection-&gt;selection().affinity();
-    VisiblePosition start(frameSelection-&gt;start(), affinity);
-    VisiblePosition end(frameSelection-&gt;end(), affinity);
</del><ins>+    FrameSelection&amp; frameSelection = frame-&gt;selection();
+    EAffinity affinity = frameSelection.selection().affinity();
+    VisiblePosition start(frameSelection.start(), affinity);
+    VisiblePosition end(frameSelection.end(), affinity);
</ins><span class="cx">     VisiblePosition base(frame-&gt;rangedSelectionBase().base());  // should equal start or end
</span><span class="cx"> 
</span><span class="cx">     // Base must equal start or end
</span><span class="cx">     if (base != start &amp;&amp; base != end)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    VisiblePosition extent(frameSelection-&gt;selection().extent(), affinity);
</del><ins>+    VisiblePosition extent(frameSelection.selection().extent(), affinity);
</ins><span class="cx">     
</span><span class="cx">     // We don't yet support smart extension for languages which
</span><span class="cx">     // require context for word boundary.
</span><span class="lines">@@ -812,7 +806,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (smartExtent.isNotNull() &amp;&amp; smartExtent != extent)
</span><del>-        frameSelection-&gt;moveTo(base, smartExtent);
</del><ins>+        frameSelection.moveTo(base, smartExtent);
</ins><span class="cx"> 
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -857,10 +851,8 @@
</span><span class="cx">     if (currentVisiblePosition.isNull())
</span><span class="cx">         return position;
</span><span class="cx">     
</span><del>-    Document* document = currentVisiblePosition.deepEquivalent().anchorNode()-&gt;document();
-    if (!document)
-        return position;
-    
</del><ins>+    Document&amp; document = currentVisiblePosition.deepEquivalent().anchorNode()-&gt;document();
+
</ins><span class="cx">     id uikitDelegate = [[self webView] _UIKitDelegate];
</span><span class="cx">     if (![uikitDelegate respondsToSelector:@selector(isUnperturbedDictationResultMarker:)])
</span><span class="cx">         return position;
</span><span class="lines">@@ -880,7 +872,7 @@
</span><span class="cx">         
</span><span class="cx">         RefPtr&lt;Range&gt; graphemeRange = Range::create(document, previousVisiblePosition.deepEquivalent(), currentVisiblePosition.deepEquivalent());
</span><span class="cx">         
</span><del>-        Vector&lt;DocumentMarker*&gt; markers = document-&gt;markers()-&gt;markersInRange(graphemeRange.get(), DocumentMarker::DictationResult);
</del><ins>+        Vector&lt;DocumentMarker*&gt; markers = document.markers().markersInRange(graphemeRange.get(), DocumentMarker::DictationResult);
</ins><span class="cx">         if (markers.isEmpty())
</span><span class="cx">             return currentWebVisiblePosition;
</span><span class="cx">         
</span><span class="lines">@@ -915,9 +907,7 @@
</span><span class="cx">     if (currentVisiblePosition.isNull())
</span><span class="cx">         return position;
</span><span class="cx">     
</span><del>-    Document* document = currentVisiblePosition.deepEquivalent().anchorNode()-&gt;document();
-    if (!document)
-        return position;
</del><ins>+    Document&amp; document = currentVisiblePosition.deepEquivalent().anchorNode()-&gt;document();
</ins><span class="cx">     
</span><span class="cx">     id uikitDelegate = [[self webView] _UIKitDelegate];
</span><span class="cx">     if (![uikitDelegate respondsToSelector:@selector(isUnperturbedDictationResultMarker:)])
</span><span class="lines">@@ -938,7 +928,7 @@
</span><span class="cx">         
</span><span class="cx">         RefPtr&lt;Range&gt; graphemeRange = Range::create(document, currentVisiblePosition.deepEquivalent(), nextVisiblePosition.deepEquivalent());
</span><span class="cx">         
</span><del>-        Vector&lt;DocumentMarker*&gt; markers = document-&gt;markers()-&gt;markersInRange(graphemeRange.get(), DocumentMarker::DictationResult);
</del><ins>+        Vector&lt;DocumentMarker*&gt; markers = document.markers().markersInRange(graphemeRange.get(), DocumentMarker::DictationResult);
</ins><span class="cx">         if (markers.isEmpty())
</span><span class="cx">             return currentWebVisiblePosition;
</span><span class="cx">         
</span></span></pre></div>
<a id="trunkSourceWebKitiosWebCoreSupportWebInspectorClientIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ios/WebCoreSupport/WebInspectorClientIOS.mm (160105 => 160106)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ios/WebCoreSupport/WebInspectorClientIOS.mm        2013-12-04 19:02:10 UTC (rev 160105)
+++ trunk/Source/WebKit/ios/WebCoreSupport/WebInspectorClientIOS.mm        2013-12-04 19:02:59 UTC (rev 160106)
</span><span class="lines">@@ -32,7 +32,6 @@
</span><span class="cx"> 
</span><span class="cx"> #import &quot;WebFrameInternal.h&quot;
</span><span class="cx"> #import &quot;WebInspector.h&quot;
</span><del>-#import &quot;WebNSNotificationCenterExtras.h&quot;
</del><span class="cx"> #import &quot;WebNodeHighlighter.h&quot;
</span><span class="cx"> #import &quot;WebViewInternal.h&quot;
</span><span class="cx"> #import &lt;WebCore/InspectorController.h&gt;
</span><span class="lines">@@ -46,7 +45,7 @@
</span><span class="cx"> 
</span><span class="cx"> WebInspectorClient::WebInspectorClient(WebView *webView)
</span><span class="cx">     : m_webView(webView)
</span><del>-    , m_highlighter(AdoptNS, [[WebNodeHighlighter alloc] initWithInspectedWebView:webView])
</del><ins>+    , m_highlighter(adoptNS([[WebNodeHighlighter alloc] initWithInspectedWebView:webView]))
</ins><span class="cx">     , m_frontendPage(0)
</span><span class="cx">     , m_frontendClient(0)
</span><span class="cx"> {
</span><span class="lines">@@ -92,14 +91,12 @@
</span><span class="cx"> void WebInspectorClient::didSetSearchingForNode(bool enabled)
</span><span class="cx"> {
</span><span class="cx">     WebInspector *inspector = [m_webView inspector];
</span><del>-
-    if (enabled)
-        [[NSNotificationCenter defaultCenter] postNotificationOnMainThreadWithName:WebInspectorDidStartSearchingForNode object:inspector];
-    else
-        [[NSNotificationCenter defaultCenter] postNotificationOnMainThreadWithName:WebInspectorDidStopSearchingForNode object:inspector];
</del><ins>+    NSString *notificationName = enabled ? WebInspectorDidStartSearchingForNode : WebInspectorDidStopSearchingForNode;
+    dispatch_async(dispatch_get_main_queue(), ^{
+        [[NSNotificationCenter defaultCenter] postNotificationName:notificationName object:inspector];
+    });
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-
</del><span class="cx"> #pragma mark -
</span><span class="cx"> #pragma mark WebInspectorFrontendClient Implementation
</span><span class="cx"> 
</span><span class="lines">@@ -123,7 +120,6 @@
</span><span class="cx"> void WebInspectorFrontendClient::setToolbarHeight(unsigned) { }
</span><span class="cx"> void WebInspectorFrontendClient::inspectedURLChanged(const String&amp;) { }
</span><span class="cx"> void WebInspectorFrontendClient::updateWindowTitle() const { }
</span><del>-void WebInspectorFrontendClient::save(const String&amp;, const String&amp;, bool) { }
</del><span class="cx"> void WebInspectorFrontendClient::append(const String&amp;, const String&amp;) { }
</span><span class="cx"> 
</span><span class="cx"> #endif // PLATFORM(IOS)
</span></span></pre></div>
<a id="trunkSourceWebKitiosWebCoreSupportWebVisiblePositionmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ios/WebCoreSupport/WebVisiblePosition.mm (160105 => 160106)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ios/WebCoreSupport/WebVisiblePosition.mm        2013-12-04 19:02:10 UTC (rev 160105)
+++ trunk/Source/WebKit/ios/WebCoreSupport/WebVisiblePosition.mm        2013-12-04 19:02:59 UTC (rev 160106)
</span><span class="lines">@@ -418,19 +418,14 @@
</span><span class="cx">     unsigned offset = o;
</span><span class="cx">     
</span><span class="cx">     Node* node = p.deepEquivalent().anchorNode();
</span><del>-    Document* document = node-&gt;document();
-    if (!document)
-        return nil;
</del><ins>+    Document&amp; document = node-&gt;document();
</ins><span class="cx">     
</span><del>-    const Vector&lt;DocumentMarker*&gt;&amp; markers = document-&gt;markers()-&gt;markersFor(node);
</del><ins>+    const Vector&lt;DocumentMarker*&gt;&amp; markers = document.markers().markersFor(node, DocumentMarker::MarkerTypes(DocumentMarker::DictationPhraseWithAlternatives));
</ins><span class="cx">     if (markers.isEmpty())
</span><span class="cx">         return nil;
</span><span class="cx">         
</span><span class="cx">     for (size_t i = 0; i &lt; markers.size(); i++) {
</span><span class="cx">         const DocumentMarker* marker = markers[i];
</span><del>-        if (marker-&gt;type() != DocumentMarker::DictationPhraseWithAlternatives)
-            continue;
-            
</del><span class="cx">         if (marker-&gt;startOffset() &lt;= offset &amp;&amp; marker-&gt;endOffset() &gt;= offset) {
</span><span class="cx">             const Vector&lt;String&gt;&amp; markerAlternatives = marker-&gt;alternatives();
</span><span class="cx">             *alternatives = [NSMutableArray arrayWithCapacity:markerAlternatives.size()];
</span><span class="lines">@@ -457,21 +452,16 @@
</span><span class="cx">     unsigned offset = o;
</span><span class="cx">     
</span><span class="cx">     Node* node = p.deepEquivalent().anchorNode();
</span><del>-    Document* document = node-&gt;document();
-    if (!document)
-        return nil;
</del><ins>+    Document&amp; document = node-&gt;document();
</ins><span class="cx">     
</span><del>-    const Vector&lt;DocumentMarker&gt;&amp; markers = document-&gt;markers()-&gt;markersForNode(node);
</del><ins>+    const Vector&lt;DocumentMarker*&gt;&amp; markers = document.markers().markersFor(node, DocumentMarker::MarkerTypes(DocumentMarker::Spelling));
</ins><span class="cx">     if (markers.isEmpty())
</span><span class="cx">         return nil;
</span><span class="cx">     
</span><span class="cx">     for (size_t i = 0; i &lt; markers.size(); i++) {
</span><del>-        const DocumentMarker&amp; marker = markers[i];
-        if (marker.type() != DocumentMarker::Spelling)
-            continue;
-        
-        if (marker.startOffset() &lt;= offset &amp;&amp; marker.endOffset() &gt;= offset) {
-            RefPtr&lt;Range&gt; range = Range::create(document, node, marker.startOffset(), node, marker.endOffset());
</del><ins>+        const DocumentMarker* marker = markers[i];
+        if (marker-&gt;startOffset() &lt;= offset &amp;&amp; marker-&gt;endOffset() &gt;= offset) {
+            RefPtr&lt;Range&gt; range = Range::create(document, node, marker-&gt;startOffset(), node, marker-&gt;endOffset());
</ins><span class="cx">             return kit(range.get());
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="lines">@@ -587,7 +577,7 @@
</span><span class="cx">         return [super startPosition];
</span><span class="cx">     
</span><span class="cx">     RenderTextControl *textControl = toRenderTextControl(object);
</span><del>-    VisiblePosition visiblePosition = textControl-&gt;visiblePositionForIndex(0);
</del><ins>+    VisiblePosition visiblePosition = textControl-&gt;textFormControlElement().visiblePositionForIndex(0);
</ins><span class="cx">     return [WebVisiblePosition _wrapVisiblePosition:visiblePosition];
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -599,7 +589,7 @@
</span><span class="cx">         return [super endPosition];
</span><span class="cx">     
</span><span class="cx">     RenderTextControl *textControl = toRenderTextControl(object);
</span><del>-    VisiblePosition visiblePosition = textControl-&gt;visiblePositionForIndex(textControl-&gt;textFormControlElement()-&gt;value().length());
</del><ins>+    VisiblePosition visiblePosition = textControl-&gt;textFormControlElement().visiblePositionForIndex(textControl-&gt;textFormControlElement().value().length());
</ins><span class="cx">     return [WebVisiblePosition _wrapVisiblePosition:visiblePosition];
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -615,7 +605,7 @@
</span><span class="cx">         return [super startPosition];
</span><span class="cx">     
</span><span class="cx">     RenderTextControl *textControl = toRenderTextControl(object);
</span><del>-    VisiblePosition visiblePosition = textControl-&gt;visiblePositionForIndex(0);
</del><ins>+    VisiblePosition visiblePosition = textControl-&gt;textFormControlElement().visiblePositionForIndex(0);
</ins><span class="cx">     return [WebVisiblePosition _wrapVisiblePosition:visiblePosition];
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -627,7 +617,7 @@
</span><span class="cx">         return [super endPosition];
</span><span class="cx">     
</span><span class="cx">     RenderTextControl *textControl = toRenderTextControl(object);
</span><del>-    VisiblePosition visiblePosition = textControl-&gt;visiblePositionForIndex(textControl-&gt;textFormControlElement()-&gt;value().length());
</del><ins>+    VisiblePosition visiblePosition = textControl-&gt;textFormControlElement().visiblePositionForIndex(textControl-&gt;textFormControlElement().value().length());
</ins><span class="cx">     return [WebVisiblePosition _wrapVisiblePosition:visiblePosition];
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitiosWebViewWebPDFViewIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ios/WebView/WebPDFViewIOS.mm (160105 => 160106)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ios/WebView/WebPDFViewIOS.mm        2013-12-04 19:02:10 UTC (rev 160105)
+++ trunk/Source/WebKit/ios/WebView/WebPDFViewIOS.mm        2013-12-04 19:02:59 UTC (rev 160106)
</span><span class="lines">@@ -73,14 +73,14 @@
</span><span class="cx"> 
</span><span class="cx"> + (CGColorRef)shadowColor
</span><span class="cx"> {
</span><del>-    DEFINE_STATIC_LOCAL(RetainPtr&lt;CGColorRef&gt;, shadowColor, (AdoptCF, createCGColorWithDeviceWhite(0.0, 2.0 / 3.0)));
-    return shadowColor.get();
</del><ins>+    static CGColorRef shadowColor = createCGColorWithDeviceWhite(0, 2.0 / 3);
+    return shadowColor;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> + (CGColorRef)backgroundColor
</span><span class="cx"> {
</span><del>-    DEFINE_STATIC_LOCAL(RetainPtr&lt;CGColorRef&gt;, backgroundColor, (AdoptCF, createCGColorWithDeviceWhite(204.0 / 255.0, 1.0)));
-    return backgroundColor.get();
</del><ins>+    static CGColorRef backgroundColor = createCGColorWithDeviceWhite(204.0 / 255, 1);
+    return backgroundColor;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // This is a secret protocol for WebDataSource and WebFrameView to offer us the opportunity to do something different 
</span><span class="lines">@@ -289,7 +289,7 @@
</span><span class="cx">     if ([title length]) {
</span><span class="cx">         [_title release];
</span><span class="cx">         _title = [title copy];
</span><del>-        core([self _frame])-&gt;loader()-&gt;client()-&gt;dispatchDidReceiveTitle(StringWithDirection(title, LTR));
</del><ins>+        core([self _frame])-&gt;loader().client().dispatchDidReceiveTitle(StringWithDirection(title, LTR));
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitiosWebViewWebPDFViewPlaceholdermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ios/WebView/WebPDFViewPlaceholder.mm (160105 => 160106)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ios/WebView/WebPDFViewPlaceholder.mm        2013-12-04 19:02:10 UTC (rev 160105)
+++ trunk/Source/WebKit/ios/WebView/WebPDFViewPlaceholder.mm        2013-12-04 19:02:59 UTC (rev 160106)
</span><span class="lines">@@ -48,6 +48,7 @@
</span><span class="cx"> #import &lt;WebKit/WebNSViewExtras.h&gt;
</span><span class="cx"> #import &lt;WebKit/WebPDFDocumentExtras.h&gt;
</span><span class="cx"> #import &lt;WebKit/WebViewPrivate.h&gt;
</span><ins>+#import &lt;wtf/CurrentTime.h&gt;
</ins><span class="cx"> #import &lt;wtf/Vector.h&gt;
</span><span class="cx"> 
</span><span class="cx"> using namespace WebCore;
</span><span class="lines">@@ -487,11 +488,11 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     // Construct an event to simulate a click.
</span><del>-    RefPtr&lt;Event&gt; event = MouseEvent::create(eventNames().clickEvent, true, true, 0, 1, 0, 0, 0, 0, false, false, false, false, 0, 0, 0, true);
</del><ins>+    RefPtr&lt;Event&gt; event = MouseEvent::create(eventNames().clickEvent, true, true, currentTime(), 0, 1, 0, 0, 0, 0, false, false, false, false, 0, 0, 0, true);
</ins><span class="cx"> 
</span><span class="cx">     // Call to the frame loader because this is where our security checks are made.
</span><span class="cx">     Frame* frame = core([_dataSource webFrame]);
</span><del>-    frame-&gt;loader()-&gt;loadFrameRequest(FrameLoadRequest(frame-&gt;document()-&gt;securityOrigin(), ResourceRequest(URL)), false, false, event.get(), 0, MaybeSendReferrer);
</del><ins>+    frame-&gt;loader().loadFrameRequest(FrameLoadRequest(frame-&gt;document()-&gt;securityOrigin(), ResourceRequest(URL)), false, false, event.get(), 0, MaybeSendReferrer);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> @end
</span></span></pre></div>
<a id="trunkSourceWebKitiosWebViewWebUIKitDelegateh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ios/WebView/WebUIKitDelegate.h (160105 => 160106)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ios/WebView/WebUIKitDelegate.h        2013-12-04 19:02:10 UTC (rev 160105)
+++ trunk/Source/WebKit/ios/WebView/WebUIKitDelegate.h        2013-12-04 19:02:59 UTC (rev 160106)
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx"> - (void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame;
</span><span class="cx"> - (void)webView:(WebView *)sender didFailLoadWithError:(NSError *)error forFrame:(WebFrame *)frame;
</span><span class="cx"> - (void)webView:(WebView *)sender didChangeLocationWithinPageForFrame:(WebFrame *)frame;
</span><del>-- (void)webView:(WebView *)webView didReceiveDocTypeForFrame:(WebFrame *)frame;
</del><ins>+- (void)webViewDidReceiveMobileDocType:(WebView *)webView;
</ins><span class="cx"> - (void)webView:(WebView *)aWebView didReceiveViewportArguments:(NSDictionary *)arguments;
</span><span class="cx"> - (void)webView:(WebView *)aWebView needsScrollNotifications:(NSNumber *)aNumber forFrame:(WebFrame *)aFrame;
</span><span class="cx"> - (void)webView:(WebView *)webView saveStateToHistoryItem:(WebHistoryItem *)item forFrame:(WebFrame *)frame;
</span></span></pre>
</div>
</div>

</body>
</html>