<!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 <aestes@apple.com>
+
+ [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 <pecoraro@apple.com>
</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& baseDirection, bool oneParagraph = false)
</del><ins>+static bool needsBidiLayout(const UChar *characters, unsigned length, UCharDirection& 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 < 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 >= FLT_MAX && !measureOnly) ? fullString : applyEllipsisStyle(fullString, ellipsisStyle, width, renderer, shouldDisableWordRounding() ? StringTruncator::DisableRoundingHacks : StringTruncator::EnableRoundingHacks, &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, &lastLineWidth, insertEllipsis, customTruncationElementWidth, forceTruncation);
</span><span class="cx"> if (truncationRect && (ellipsisResult != lastLine || droppingLines)
</span><del>- && lastLineWidth && base == WTF::Unicode::RightToLeft)
</del><ins>+ && lastLineWidth && base == U_RIGHT_TO_LEFT)
</ins><span class="cx"> textPoint.x += truncationRect->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->origin = textPoint;
</span><del>- truncationRect->origin.x += (base == WTF::Unicode::RightToLeft) ? (-truncationRect->size.width) : lineWidth;
</del><ins>+ truncationRect->origin.x += (base == U_RIGHT_TO_LEFT) ? (-truncationRect->size.width) : lineWidth;
</ins><span class="cx"> truncationRect->origin.y -= ascent;
</span><span class="cx"> truncationRect->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, <rdar://problem/9691871>
</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<WebCore::SearchPopupMenu> 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->hasTagName(HTMLNames::inputTag))
</del><ins>+ if (!isHTMLInputElement(element))
</ins><span class="cx"> return;
</span><span class="cx">
</span><del>- HTMLInputElement* inputElement = static_cast<HTMLInputElement*>(node);
</del><ins>+ HTMLInputElement* inputElement = toHTMLInputElement(element);
</ins><span class="cx"> if (!inputElement->isText())
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- CallFormDelegate(webView(), @selector(didFocusTextField:inFrame:), kit(inputElement), kit(inputElement->document()->frame()));
</del><ins>+ CallFormDelegate(webView(), @selector(didFocusTextField:inFrame:), kit(inputElement), kit(inputElement->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->selection()->clearCurrentSelection();
</del><ins>+ frame->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->selection();
-
- if (!frameSelection) {
- state = WebTextSelectionStateNone;
- } else if (frameSelection->isCaret()) {
</del><ins>+ FrameSelection& frameSelection = frame->selection();
+
+ if (frameSelection.isCaret())
</ins><span class="cx"> state = WebTextSelectionStateCaret;
</span><del>- } else if (frameSelection->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->selection();
- VisiblePosition end(frameSelection->end());
- frameSelection->moveTo(end);
</del><ins>+ FrameSelection& frameSelection = frame->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->selection();
</del><ins>+ FrameSelection& frameSelection = frame->selection();
</ins><span class="cx"> if (start) {
</span><del>- VisiblePosition start = startOfWord(frameSelection->start());
- frameSelection->moveTo(start, frameSelection->end());
</del><ins>+ VisiblePosition start = startOfWord(frameSelection.start());
+ frameSelection.moveTo(start, frameSelection.end());
</ins><span class="cx"> } else {
</span><del>- VisiblePosition end = endOfWord(frameSelection->end());
- frameSelection->moveTo(frameSelection->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->selection()->toNormalizedRange().get();
</del><ins>+ Range *range = frame->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->selection();
</del><ins>+ FrameSelection& frameSelection = frame->selection();
</ins><span class="cx"> VisiblePosition pos = [self visiblePositionForPoint:point];
</span><span class="cx"> VisibleSelection base = frame->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 < start) {
</span><del>- frameSelection->moveTo(pos, end);
</del><ins>+ frameSelection.moveTo(pos, end);
</ins><span class="cx"> }
</span><span class="cx"> else if (pos > end) {
</span><del>- frameSelection->moveTo(start, pos);
</del><ins>+ frameSelection.moveTo(start, pos);
</ins><span class="cx"> }
</span><span class="cx"> else {
</span><del>- frameSelection->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() && baseStart < extent && extent < baseEnd) {
</span><del>- frame->selection()->moveTo(baseStart, baseEnd);
</del><ins>+ frame->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->selection()->moveTo(base, extent);
</del><ins>+ frame->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->selection();
</del><ins>+ FrameSelection& frameSelection = frame->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->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->selection();
- frameSelection->moveTo(first, second);
</del><ins>+ FrameSelection& frameSelection = frame->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->selection();
</del><ins>+ FrameSelection& frameSelection = frame->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->start() > ensureStart) {
- frameSelection->moveTo(ensureStart, frameSelection->end());
</del><ins>+ if (frameSelection.start() > ensureStart) {
+ frameSelection.moveTo(ensureStart, frameSelection.end());
</ins><span class="cx"> }
</span><del>- else if (frameSelection->end() < ensureEnd) {
- frameSelection->moveTo(frameSelection->start(), ensureEnd);
</del><ins>+ else if (frameSelection.end() < 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->selection();
- VisiblePosition end(frameSelection->end());
</del><ins>+ FrameSelection& frameSelection = frame->selection();
+ VisiblePosition end(frameSelection.end());
</ins><span class="cx"> if (end == endOfDocument(end) && end != startOfDocument(end) && end == startOfLine(end)) {
</span><del>- frameSelection->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->granularity() == WordGranularity) {
- frameSelection->moveTo(frameSelection->start(), frameSelection->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->isCaret()) {
- VisiblePosition pos(frameSelection->end());
</del><ins>+ if (frameSelection.isCaret()) {
+ VisiblePosition pos(frameSelection.end());
</ins><span class="cx"> if (isStartOfLine(pos) && isEndOfLine(pos)) {
</span><span class="cx"> VisiblePosition next(pos.next());
</span><span class="cx"> if (next.isNotNull()) {
</span><del>- frameSelection->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->moveTo(wordStart, frameSelection->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->selection();
- VisiblePosition pos = frameSelection->start();
</del><ins>+ FrameSelection& frameSelection = frame->selection();
+ VisiblePosition pos = frameSelection.start();
</ins><span class="cx"> VisiblePosition start = startOfSentence(pos);
</span><span class="cx"> VisiblePosition end = endOfSentence(pos);
</span><del>- frameSelection->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->selection()->isContentEditable())
</del><ins>+ if (!frame->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->selection();
- VisiblePosition start = startOfDocument(frameSelection->selection().start());
- frameSelection->moveTo(start);
</del><ins>+ FrameSelection& frameSelection = frame->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->selection();
- VisiblePosition end = endOfDocument(frameSelection->selection().end());
- frameSelection->moveTo(end);
</del><ins>+ FrameSelection& frameSelection = frame->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->selection();
</del><ins>+ FrameSelection& frameSelection = frame->selection();
</ins><span class="cx"> VisiblePosition pos = [self _visiblePositionForPoint:point];
</span><del>- frameSelection->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->coreFrame->selection();
- frameSelection->setSelection(frameSelection->selection(), wcGranularity);
</del><ins>+ FrameSelection& frameSelection = _private->coreFrame->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->selection();
- EAffinity affinity = frameSelection->selection().affinity();
- VisiblePosition start(frameSelection->start(), affinity);
- VisiblePosition end(frameSelection->end(), affinity);
</del><ins>+ FrameSelection& frameSelection = frame->selection();
+ EAffinity affinity = frameSelection.selection().affinity();
+ VisiblePosition start(frameSelection.start(), affinity);
+ VisiblePosition end(frameSelection.end(), affinity);
</ins><span class="cx"> VisiblePosition base(frame->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 && base != end)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- VisiblePosition extent(frameSelection->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() && smartExtent != extent)
</span><del>- frameSelection->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()->document();
- if (!document)
- return position;
-
</del><ins>+ Document& document = currentVisiblePosition.deepEquivalent().anchorNode()->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<Range> graphemeRange = Range::create(document, previousVisiblePosition.deepEquivalent(), currentVisiblePosition.deepEquivalent());
</span><span class="cx">
</span><del>- Vector<DocumentMarker*> markers = document->markers()->markersInRange(graphemeRange.get(), DocumentMarker::DictationResult);
</del><ins>+ Vector<DocumentMarker*> 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()->document();
- if (!document)
- return position;
</del><ins>+ Document& document = currentVisiblePosition.deepEquivalent().anchorNode()->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<Range> graphemeRange = Range::create(document, currentVisiblePosition.deepEquivalent(), nextVisiblePosition.deepEquivalent());
</span><span class="cx">
</span><del>- Vector<DocumentMarker*> markers = document->markers()->markersInRange(graphemeRange.get(), DocumentMarker::DictationResult);
</del><ins>+ Vector<DocumentMarker*> 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 "WebFrameInternal.h"
</span><span class="cx"> #import "WebInspector.h"
</span><del>-#import "WebNSNotificationCenterExtras.h"
</del><span class="cx"> #import "WebNodeHighlighter.h"
</span><span class="cx"> #import "WebViewInternal.h"
</span><span class="cx"> #import <WebCore/InspectorController.h>
</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&) { }
</span><span class="cx"> void WebInspectorFrontendClient::updateWindowTitle() const { }
</span><del>-void WebInspectorFrontendClient::save(const String&, const String&, bool) { }
</del><span class="cx"> void WebInspectorFrontendClient::append(const String&, const String&) { }
</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->document();
- if (!document)
- return nil;
</del><ins>+ Document& document = node->document();
</ins><span class="cx">
</span><del>- const Vector<DocumentMarker*>& markers = document->markers()->markersFor(node);
</del><ins>+ const Vector<DocumentMarker*>& 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 < markers.size(); i++) {
</span><span class="cx"> const DocumentMarker* marker = markers[i];
</span><del>- if (marker->type() != DocumentMarker::DictationPhraseWithAlternatives)
- continue;
-
</del><span class="cx"> if (marker->startOffset() <= offset && marker->endOffset() >= offset) {
</span><span class="cx"> const Vector<String>& markerAlternatives = marker->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->document();
- if (!document)
- return nil;
</del><ins>+ Document& document = node->document();
</ins><span class="cx">
</span><del>- const Vector<DocumentMarker>& markers = document->markers()->markersForNode(node);
</del><ins>+ const Vector<DocumentMarker*>& 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 < markers.size(); i++) {
</span><del>- const DocumentMarker& marker = markers[i];
- if (marker.type() != DocumentMarker::Spelling)
- continue;
-
- if (marker.startOffset() <= offset && marker.endOffset() >= offset) {
- RefPtr<Range> range = Range::create(document, node, marker.startOffset(), node, marker.endOffset());
</del><ins>+ const DocumentMarker* marker = markers[i];
+ if (marker->startOffset() <= offset && marker->endOffset() >= offset) {
+ RefPtr<Range> range = Range::create(document, node, marker->startOffset(), node, marker->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->visiblePositionForIndex(0);
</del><ins>+ VisiblePosition visiblePosition = textControl->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->visiblePositionForIndex(textControl->textFormControlElement()->value().length());
</del><ins>+ VisiblePosition visiblePosition = textControl->textFormControlElement().visiblePositionForIndex(textControl->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->visiblePositionForIndex(0);
</del><ins>+ VisiblePosition visiblePosition = textControl->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->visiblePositionForIndex(textControl->textFormControlElement()->value().length());
</del><ins>+ VisiblePosition visiblePosition = textControl->textFormControlElement().visiblePositionForIndex(textControl->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<CGColorRef>, 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<CGColorRef>, 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])->loader()->client()->dispatchDidReceiveTitle(StringWithDirection(title, LTR));
</del><ins>+ core([self _frame])->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 <WebKit/WebNSViewExtras.h>
</span><span class="cx"> #import <WebKit/WebPDFDocumentExtras.h>
</span><span class="cx"> #import <WebKit/WebViewPrivate.h>
</span><ins>+#import <wtf/CurrentTime.h>
</ins><span class="cx"> #import <wtf/Vector.h>
</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<Event> event = MouseEvent::create(eventNames().clickEvent, true, true, 0, 1, 0, 0, 0, 0, false, false, false, false, 0, 0, 0, true);
</del><ins>+ RefPtr<Event> 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->loader()->loadFrameRequest(FrameLoadRequest(frame->document()->securityOrigin(), ResourceRequest(URL)), false, false, event.get(), 0, MaybeSendReferrer);
</del><ins>+ frame->loader().loadFrameRequest(FrameLoadRequest(frame->document()->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>