<!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>[186086] trunk/Source</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/186086">186086</a></dd>
<dt>Author</dt> <dd>rniwa@webkit.org</dd>
<dt>Date</dt> <dd>2015-06-29 14:38:31 -0700 (Mon, 29 Jun 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Font panel doesn't get updated when bolding text via cmd+b in Mail on OS X
https://bugs.webkit.org/show_bug.cgi?id=146379

Reviewed by Darin Adler.

Source/WebCore:

The bug was caused by WebKit not updating the font panel when the typing style changes.
There was also a bug that WebKit never updated font attributes on OS X.

Fixed the bugs by always updating the font panel after applying style instead of only
when the selection changes and setting the font attributes.

I tried really had to write a WebKit API test but I couldn't get it to work so there are
no new tests :(

* WebCore.xcodeproj/project.pbxproj:
* editing/Editor.cpp:
(WebCore::Editor::applyStyle):
(WebCore::Editor::shouldApplyStyle):
(WebCore::Editor::applyParagraphStyle):
(WebCore::Editor::applyStyleToSelection):
(WebCore::Editor::applyParagraphStyleToSelection):
(WebCore::Editor::selectionStartHasStyle):
(WebCore::Editor::document):
(WebCore::Editor::styleForSelectionStart): Deleted.
* editing/Editor.h:
* editing/cocoa/EditorCocoa.h: Added. Shares the declaration for NSUnderlineStyle in iOS.
* editing/cocoa/EditorCocoa.mm: Added.
(WebCore::Editor::styleForSelectionStart): Moved from Editor.cpp
(WebCore::Editor::getTextDecorationAttributesRespectingTypingStyle): Extracted from iOS's
fontAttributesForSelectionStart implementation.
* editing/cocoa/HTMLConverter.mm:
* editing/ios/EditorIOS.mm:
(WebCore::Editor::fontAttributesForSelectionStart):
* editing/mac/EditorMac.mm:
(WebCore::Editor::fontAttributesForSelectionStart):
* loader/EmptyClients.h:
* page/EditorClient.h:

Source/WebKit/mac:

Update the font panel when newly added EditorClient::didApplyStyle is called. Also set the font attributes
in _updateFontPanel so that underline and strike through states will be reflected.

* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::shouldApplyStyle):
(updateFontPanelIfNeeded): Extracted from respondToChangedContents.
(WebEditorClient::didApplyStyle): Added.
(WebEditorClient::respondToChangedContents):
* WebView/WebHTMLView.mm:
(-[WebHTMLView _updateFontPanel]): Sets font attributes as well as font.

Source/WebKit/win:

* WebCoreSupport/WebEditorClient.cpp:
(WebEditorClient::didApplyStyle): Added.
* WebCoreSupport/WebEditorClient.h:

Source/WebKit2:

Since font panel doesn't open in WebKit2 at the moment, just add an empty implementation of didApplyStyle

* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::didApplyStyle):
* WebProcess/WebCoreSupport/WebEditorClient.h:
* WebProcess/WebPage/WebPage.h:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCoreeditingEditorcpp">trunk/Source/WebCore/editing/Editor.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingEditorh">trunk/Source/WebCore/editing/Editor.h</a></li>
<li><a href="#trunkSourceWebCoreeditingcocoaHTMLConvertermm">trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm</a></li>
<li><a href="#trunkSourceWebCoreeditingiosEditorIOSmm">trunk/Source/WebCore/editing/ios/EditorIOS.mm</a></li>
<li><a href="#trunkSourceWebCoreeditingmacEditorMacmm">trunk/Source/WebCore/editing/mac/EditorMac.mm</a></li>
<li><a href="#trunkSourceWebCoreloaderEmptyClientsh">trunk/Source/WebCore/loader/EmptyClients.h</a></li>
<li><a href="#trunkSourceWebCorepageEditorClienth">trunk/Source/WebCore/page/EditorClient.h</a></li>
<li><a href="#trunkSourceWebKitmacChangeLog">trunk/Source/WebKit/mac/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitmacWebCoreSupportWebEditorClienth">trunk/Source/WebKit/mac/WebCoreSupport/WebEditorClient.h</a></li>
<li><a href="#trunkSourceWebKitmacWebCoreSupportWebEditorClientmm">trunk/Source/WebKit/mac/WebCoreSupport/WebEditorClient.mm</a></li>
<li><a href="#trunkSourceWebKitmacWebViewWebHTMLViewmm">trunk/Source/WebKit/mac/WebView/WebHTMLView.mm</a></li>
<li><a href="#trunkSourceWebKitwinChangeLog">trunk/Source/WebKit/win/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitwinWebCoreSupportWebEditorClientcpp">trunk/Source/WebKit/win/WebCoreSupport/WebEditorClient.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebCoreSupportWebEditorClienth">trunk/Source/WebKit/win/WebCoreSupport/WebEditorClient.h</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebCoreSupportWebEditorClientcpp">trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebCoreSupportWebEditorClienth">trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageWebPageh">trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreeditingcocoaEditorCocoah">trunk/Source/WebCore/editing/cocoa/EditorCocoa.h</a></li>
<li><a href="#trunkSourceWebCoreeditingcocoaEditorCocoamm">trunk/Source/WebCore/editing/cocoa/EditorCocoa.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformspicocoaNSAttributedStringSPIh">trunk/Source/WebCore/platform/spi/cocoa/NSAttributedStringSPI.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (186085 => 186086)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-06-29 21:11:55 UTC (rev 186085)
+++ trunk/Source/WebCore/ChangeLog        2015-06-29 21:38:31 UTC (rev 186086)
</span><span class="lines">@@ -1,3 +1,43 @@
</span><ins>+2015-06-27  Ryosuke Niwa  &lt;rniwa@webkit.org&gt;
+
+        Font panel doesn't get updated when bolding text via cmd+b in Mail on OS X
+        https://bugs.webkit.org/show_bug.cgi?id=146379
+
+        Reviewed by Darin Adler.
+
+        The bug was caused by WebKit not updating the font panel when the typing style changes.
+        There was also a bug that WebKit never updated font attributes on OS X.
+
+        Fixed the bugs by always updating the font panel after applying style instead of only
+        when the selection changes and setting the font attributes.
+
+        I tried really had to write a WebKit API test but I couldn't get it to work so there are
+        no new tests :(
+
+        * WebCore.xcodeproj/project.pbxproj:
+        * editing/Editor.cpp:
+        (WebCore::Editor::applyStyle):
+        (WebCore::Editor::shouldApplyStyle):
+        (WebCore::Editor::applyParagraphStyle):
+        (WebCore::Editor::applyStyleToSelection):
+        (WebCore::Editor::applyParagraphStyleToSelection):
+        (WebCore::Editor::selectionStartHasStyle):
+        (WebCore::Editor::document):
+        (WebCore::Editor::styleForSelectionStart): Deleted.
+        * editing/Editor.h:
+        * editing/cocoa/EditorCocoa.h: Added. Shares the declaration for NSUnderlineStyle in iOS.
+        * editing/cocoa/EditorCocoa.mm: Added.
+        (WebCore::Editor::styleForSelectionStart): Moved from Editor.cpp
+        (WebCore::Editor::getTextDecorationAttributesRespectingTypingStyle): Extracted from iOS's
+        fontAttributesForSelectionStart implementation.
+        * editing/cocoa/HTMLConverter.mm:
+        * editing/ios/EditorIOS.mm:
+        (WebCore::Editor::fontAttributesForSelectionStart):
+        * editing/mac/EditorMac.mm:
+        (WebCore::Editor::fontAttributesForSelectionStart):
+        * loader/EmptyClients.h:
+        * page/EditorClient.h:
+
</ins><span class="cx"> 2015-06-29  Matt Rajca  &lt;mrajca@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         MediaSession: use a HashSet for the collection of participating elements
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (186085 => 186086)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2015-06-29 21:11:55 UTC (rev 186085)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2015-06-29 21:38:31 UTC (rev 186086)
</span><span class="lines">@@ -3788,11 +3788,13 @@
</span><span class="cx">                 9B417064125662B3006B28FC /* ApplyBlockElementCommand.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B417062125662B3006B28FC /* ApplyBlockElementCommand.h */; };
</span><span class="cx">                 9B417065125662B3006B28FC /* ApplyBlockElementCommand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B417063125662B3006B28FC /* ApplyBlockElementCommand.cpp */; };
</span><span class="cx">                 9B50B1DE17CD4C0F0087F63C /* FormNamedItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B50B1DC17CD4C0F0087F63C /* FormNamedItem.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><ins>+                9B55EEE91B3E8898005342BC /* EditorCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9B55EEE81B3E8898005342BC /* EditorCocoa.mm */; };
</ins><span class="cx">                 9B6C41531344949000085B62 /* StringWithDirection.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B6C41521344949000085B62 /* StringWithDirection.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 9BA273F4172206BB0097CE47 /* LogicalSelectionOffsetCaches.h in Headers */ = {isa = PBXBuildFile; fileRef = 9BA273F3172206BB0097CE47 /* LogicalSelectionOffsetCaches.h */; };
</span><span class="cx">                 9BAB6C6C12550631001626D4 /* EditingStyle.h in Headers */ = {isa = PBXBuildFile; fileRef = 9BAB6C6A12550631001626D4 /* EditingStyle.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 9BAB6C6D12550631001626D4 /* EditingStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9BAB6C6B12550631001626D4 /* EditingStyle.cpp */; };
</span><span class="cx">                 9BAF3B2412C1A39800014BF1 /* WritingDirection.h in Headers */ = {isa = PBXBuildFile; fileRef = 9BAF3B2312C1A39800014BF1 /* WritingDirection.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><ins>+                9BB737651B41C03500AE13EB /* NSAttributedStringSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = 9BB737641B41C03500AE13EB /* NSAttributedStringSPI.h */; };
</ins><span class="cx">                 9BC6C21B13CCC97B008E0337 /* HTMLTextFormControlElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 9BC6C21913CCC97B008E0337 /* HTMLTextFormControlElement.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 9BC6C21C13CCC97B008E0337 /* HTMLTextFormControlElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9BC6C21A13CCC97B008E0337 /* HTMLTextFormControlElement.cpp */; };
</span><span class="cx">                 9BD0BF9312A42BF50072FD43 /* ScopedEventQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 9BD0BF9112A42BF50072FD43 /* ScopedEventQueue.h */; };
</span><span class="lines">@@ -11115,11 +11117,14 @@
</span><span class="cx">                 9B417062125662B3006B28FC /* ApplyBlockElementCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ApplyBlockElementCommand.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 9B417063125662B3006B28FC /* ApplyBlockElementCommand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ApplyBlockElementCommand.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 9B50B1DC17CD4C0F0087F63C /* FormNamedItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FormNamedItem.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                9B55EEE81B3E8898005342BC /* EditorCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = EditorCocoa.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
+                9B55EEEA1B3F3FEF005342BC /* EditorCocoa.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EditorCocoa.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 9B6C41521344949000085B62 /* StringWithDirection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StringWithDirection.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 9BA273F3172206BB0097CE47 /* LogicalSelectionOffsetCaches.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LogicalSelectionOffsetCaches.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 9BAB6C6A12550631001626D4 /* EditingStyle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EditingStyle.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 9BAB6C6B12550631001626D4 /* EditingStyle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EditingStyle.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 9BAF3B2312C1A39800014BF1 /* WritingDirection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WritingDirection.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                9BB737641B41C03500AE13EB /* NSAttributedStringSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSAttributedStringSPI.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 9BC6C21913CCC97B008E0337 /* HTMLTextFormControlElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLTextFormControlElement.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 9BC6C21A13CCC97B008E0337 /* HTMLTextFormControlElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTMLTextFormControlElement.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 9BD0BF9112A42BF50072FD43 /* ScopedEventQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScopedEventQueue.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -16636,6 +16641,7 @@
</span><span class="cx">                                 44EFF6421A6FF92700D45EEC /* IOTypesSPI.h */,
</span><span class="cx">                                 CE12524E1A1A78D200864480 /* MachVMSPI.h */,
</span><span class="cx">                                 A19D93441A9FEC7200B46C24 /* NEFilterSourceSPI.h */,
</span><ins>+                                9BB737641B41C03500AE13EB /* NSAttributedStringSPI.h */,
</ins><span class="cx">                                 CE1252501A1BEBD800864480 /* NSCalendarDateSPI.h */,
</span><span class="cx">                                 31DF63561AF187DD0078FD91 /* NSColorSPI.h */,
</span><span class="cx">                                 2DDB97F319F9AECA002025D8 /* NSExtensionSPI.h */,
</span><span class="lines">@@ -17169,6 +17175,8 @@
</span><span class="cx">                 7C3E510718DF8F1200C112F7 /* cocoa */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><ins>+                                9B55EEEA1B3F3FEF005342BC /* EditorCocoa.h */,
+                                9B55EEE81B3E8898005342BC /* EditorCocoa.mm */,
</ins><span class="cx">                                 7C3E510818DF8F3500C112F7 /* HTMLConverter.h */,
</span><span class="cx">                                 7C3E510918DF8F3500C112F7 /* HTMLConverter.mm */,
</span><span class="cx">                         );
</span><span class="lines">@@ -24687,6 +24695,7 @@
</span><span class="cx">                                 31C0FF4E0E4CEFDD007D6FE5 /* DOMWebKitTransitionEventInternal.h in Headers */,
</span><span class="cx">                                 85C7F5E70AAFBAFB004014DD /* DOMWheelEvent.h in Headers */,
</span><span class="cx">                                 85989DD10ACC8BBD00A0BC51 /* DOMWheelEventInternal.h in Headers */,
</span><ins>+                                9BB737651B41C03500AE13EB /* NSAttributedStringSPI.h in Headers */,
</ins><span class="cx">                                 1403B99709EB13AF00797C7F /* DOMWindow.h in Headers */,
</span><span class="cx">                                 FC9A0F75164094CF003D6B8D /* DOMWindowCSS.h in Headers */,
</span><span class="cx">                                 51FA2D78152132B300C1BA0B /* DOMWindowExtension.h in Headers */,
</span><span class="lines">@@ -29623,6 +29632,7 @@
</span><span class="cx">                                 FE9E89FB16E2DC0500A908F8 /* OriginLock.cpp in Sources */,
</span><span class="cx">                                 FD581FAE1520F91F003A7A75 /* OscillatorNode.cpp in Sources */,
</span><span class="cx">                                 1A0D57360A5C77FE007EDD4C /* OverflowEvent.cpp in Sources */,
</span><ins>+                                9B55EEE91B3E8898005342BC /* EditorCocoa.mm in Sources */,
</ins><span class="cx">                                 65FEA86909833ADE00BED4AB /* Page.cpp in Sources */,
</span><span class="cx">                                 1477E7760BF4134A00152872 /* PageCache.cpp in Sources */,
</span><span class="cx">                                 CD5E5B611A15F156000C609E /* PageConfiguration.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingEditorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/Editor.cpp (186085 => 186086)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/Editor.cpp        2015-06-29 21:11:55 UTC (rev 186085)
+++ trunk/Source/WebCore/editing/Editor.cpp        2015-06-29 21:38:31 UTC (rev 186086)
</span><span class="lines">@@ -884,8 +884,7 @@
</span><span class="cx"> {
</span><span class="cx">     switch (m_frame.selection().selection().selectionType()) {
</span><span class="cx">     case VisibleSelection::NoSelection:
</span><del>-        // do nothing
-        break;
</del><ins>+        return;
</ins><span class="cx">     case VisibleSelection::CaretSelection:
</span><span class="cx">         computeAndSetTypingStyle(EditingStyle::create(style), editingAction);
</span><span class="cx">         break;
</span><span class="lines">@@ -894,14 +893,14 @@
</span><span class="cx">             applyCommand(ApplyStyleCommand::create(document(), EditingStyle::create(style).ptr(), editingAction));
</span><span class="cx">         break;
</span><span class="cx">     }
</span><ins>+    client()-&gt;didApplyStyle();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void Editor::applyStyle(RefPtr&lt;EditingStyle&gt;&amp;&amp; style, EditAction editingAction)
</span><span class="cx"> {
</span><span class="cx">     switch (m_frame.selection().selection().selectionType()) {
</span><span class="cx">     case VisibleSelection::NoSelection:
</span><del>-        // do nothing
-        break;
</del><ins>+        return;
</ins><span class="cx">     case VisibleSelection::CaretSelection:
</span><span class="cx">         computeAndSetTypingStyle(*style, editingAction);
</span><span class="cx">         break;
</span><span class="lines">@@ -910,6 +909,7 @@
</span><span class="cx">             applyCommand(ApplyStyleCommand::create(document(), style.get(), editingAction));
</span><span class="cx">         break;
</span><span class="cx">     }
</span><ins>+    client()-&gt;didApplyStyle();
</ins><span class="cx"> }
</span><span class="cx">     
</span><span class="cx"> bool Editor::shouldApplyStyle(StyleProperties* style, Range* range)
</span><span class="lines">@@ -921,14 +921,14 @@
</span><span class="cx"> {
</span><span class="cx">     switch (m_frame.selection().selection().selectionType()) {
</span><span class="cx">     case VisibleSelection::NoSelection:
</span><del>-        // do nothing
-        break;
</del><ins>+        return;
</ins><span class="cx">     case VisibleSelection::CaretSelection:
</span><span class="cx">     case VisibleSelection::RangeSelection:
</span><span class="cx">         if (style)
</span><span class="cx">             applyCommand(ApplyStyleCommand::create(document(), EditingStyle::create(style).ptr(), editingAction, ApplyStyleCommand::ForceBlockProperties));
</span><span class="cx">         break;
</span><span class="cx">     }
</span><ins>+    client()-&gt;didApplyStyle();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void Editor::applyStyleToSelection(StyleProperties* style, EditAction editingAction)
</span><span class="lines">@@ -3568,37 +3568,4 @@
</span><span class="cx">     return *m_frame.document();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-#if PLATFORM(COCOA)
-// FIXME: This figures out the current style by inserting a &lt;span&gt;!
-RenderStyle* Editor::styleForSelectionStart(Frame* frame, Node *&amp;nodeToRemove)
-{
-    nodeToRemove = nullptr;
-
-    if (frame-&gt;selection().isNone())
-        return nullptr;
-
-    Position position = frame-&gt;selection().selection().visibleStart().deepEquivalent();
-    if (!position.isCandidate() || position.isNull())
-        return nullptr;
-
-    RefPtr&lt;EditingStyle&gt; typingStyle = frame-&gt;selection().typingStyle();
-    if (!typingStyle || !typingStyle-&gt;style())
-        return &amp;position.deprecatedNode()-&gt;renderer()-&gt;style();
-
-    RefPtr&lt;Element&gt; styleElement = frame-&gt;document()-&gt;createElement(spanTag, false);
-
-    String styleText = typingStyle-&gt;style()-&gt;asText() + &quot; display: inline&quot;;
-    styleElement-&gt;setAttribute(styleAttr, styleText);
-
-    styleElement-&gt;appendChild(frame-&gt;document()-&gt;createEditingTextNode(&quot;&quot;), ASSERT_NO_EXCEPTION);
-
-    position.deprecatedNode()-&gt;parentNode()-&gt;appendChild(styleElement, ASSERT_NO_EXCEPTION);
-
-    nodeToRemove = styleElement.get();
-
-    frame-&gt;document()-&gt;updateStyleIfNeeded();
-    return styleElement-&gt;renderer() ? &amp;styleElement-&gt;renderer()-&gt;style() : nullptr;
-}
-#endif
-
</del><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingEditorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/Editor.h (186085 => 186086)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/Editor.h        2015-06-29 21:11:55 UTC (rev 186085)
+++ trunk/Source/WebCore/editing/Editor.h        2015-06-29 21:38:31 UTC (rev 186086)
</span><span class="lines">@@ -45,6 +45,7 @@
</span><span class="cx"> #if PLATFORM(COCOA)
</span><span class="cx"> OBJC_CLASS NSAttributedString;
</span><span class="cx"> OBJC_CLASS NSDictionary;
</span><ins>+OBJC_CLASS NSMutableDictionary;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -424,6 +425,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(COCOA)
</span><span class="cx">     WEBCORE_EXPORT static RenderStyle* styleForSelectionStart(Frame* , Node *&amp;nodeToRemove);
</span><ins>+    void getTextDecorationAttributesRespectingTypingStyle(RenderStyle&amp;, NSMutableDictionary*) const;
</ins><span class="cx">     WEBCORE_EXPORT bool insertParagraphSeparatorInQuotedContent();
</span><span class="cx">     WEBCORE_EXPORT const Font* fontForSelection(bool&amp;) const;
</span><span class="cx">     WEBCORE_EXPORT NSDictionary *fontAttributesForSelectionStart() const;
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingcocoaEditorCocoah"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/editing/cocoa/EditorCocoa.h (0 => 186086)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/cocoa/EditorCocoa.h                                (rev 0)
+++ trunk/Source/WebCore/editing/cocoa/EditorCocoa.h        2015-06-29 21:38:31 UTC (rev 186086)
</span><span class="lines">@@ -0,0 +1,50 @@
</span><ins>+/*
+ * Copyright (C) 2006, 2007, 2008, 2013, 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef EditorCocoa_h
+#define EditorCocoa_h
+
+#include &quot;Editor.h&quot;
+
+#if PLATFORM(IOS)
+
+typedef NS_ENUM(NSInteger, NSUnderlineStyle) {
+    NSUnderlineStyleNone                                = 0x00,
+    NSUnderlineStyleSingle                              = 0x01,
+    NSUnderlineStyleThick NS_ENUM_AVAILABLE_IOS(7_0)    = 0x02,
+    NSUnderlineStyleDouble NS_ENUM_AVAILABLE_IOS(7_0)   = 0x09,
+    
+    NSUnderlinePatternSolid NS_ENUM_AVAILABLE_IOS(7_0)      = 0x0000,
+    NSUnderlinePatternDot NS_ENUM_AVAILABLE_IOS(7_0)        = 0x0100,
+    NSUnderlinePatternDash NS_ENUM_AVAILABLE_IOS(7_0)       = 0x0200,
+    NSUnderlinePatternDashDot NS_ENUM_AVAILABLE_IOS(7_0)    = 0x0300,
+    NSUnderlinePatternDashDotDot NS_ENUM_AVAILABLE_IOS(7_0) = 0x0400,
+    
+    NSUnderlineByWord NS_ENUM_AVAILABLE_IOS(7_0) = 0x8000
+};
+
+#endif
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCoreeditingcocoaEditorCocoamm"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/editing/cocoa/EditorCocoa.mm (0 => 186086)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/cocoa/EditorCocoa.mm                                (rev 0)
+++ trunk/Source/WebCore/editing/cocoa/EditorCocoa.mm        2015-06-29 21:38:31 UTC (rev 186086)
</span><span class="lines">@@ -0,0 +1,94 @@
</span><ins>+/*
+ * Copyright (C) 2006, 2007, 2008, 2013, 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import &quot;config.h&quot;
+#import &quot;Editor.h&quot;
+
+#import &quot;CSSValueList.h&quot;
+#import &quot;CSSValuePool.h&quot;
+#import &quot;EditingStyle.h&quot;
+#import &quot;Frame.h&quot;
+#import &quot;FrameSelection.h&quot;
+#import &quot;NSAttributedStringSPI.h&quot;
+#import &quot;RenderElement.h&quot;
+#import &quot;RenderStyle.h&quot;
+#import &quot;SoftLinking.h&quot;
+#import &quot;Text.h&quot;
+
+namespace WebCore {
+
+// FIXME: This figures out the current style by inserting a &lt;span&gt;!
+RenderStyle* Editor::styleForSelectionStart(Frame* frame, Node *&amp;nodeToRemove)
+{
+    nodeToRemove = nullptr;
+    
+    if (frame-&gt;selection().isNone())
+        return nullptr;
+
+    Position position = frame-&gt;selection().selection().visibleStart().deepEquivalent();
+    if (!position.isCandidate() || position.isNull())
+        return nullptr;
+
+    RefPtr&lt;EditingStyle&gt; typingStyle = frame-&gt;selection().typingStyle();
+    if (!typingStyle || !typingStyle-&gt;style())
+        return &amp;position.deprecatedNode()-&gt;renderer()-&gt;style();
+
+    RefPtr&lt;Element&gt; styleElement = frame-&gt;document()-&gt;createElement(HTMLNames::spanTag, false);
+
+    String styleText = typingStyle-&gt;style()-&gt;asText() + &quot; display: inline&quot;;
+    styleElement-&gt;setAttribute(HTMLNames::styleAttr, styleText);
+
+    styleElement-&gt;appendChild(frame-&gt;document()-&gt;createEditingTextNode(&quot;&quot;), ASSERT_NO_EXCEPTION);
+
+    position.deprecatedNode()-&gt;parentNode()-&gt;appendChild(styleElement, ASSERT_NO_EXCEPTION);
+
+    nodeToRemove = styleElement.get();
+
+    frame-&gt;document()-&gt;updateStyleIfNeeded();
+    return styleElement-&gt;renderer() ? &amp;styleElement-&gt;renderer()-&gt;style() : nullptr;
+}
+
+void Editor::getTextDecorationAttributesRespectingTypingStyle(RenderStyle&amp; style, NSMutableDictionary* result) const
+{
+    RefPtr&lt;EditingStyle&gt; typingStyle = m_frame.selection().typingStyle();
+    if (typingStyle &amp;&amp; typingStyle-&gt;style()) {
+        RefPtr&lt;CSSValue&gt; value = typingStyle-&gt;style()-&gt;getPropertyCSSValue(CSSPropertyWebkitTextDecorationsInEffect);
+        if (value &amp;&amp; value-&gt;isValueList()) {
+            CSSValueList&amp; valueList = downcast&lt;CSSValueList&gt;(*value);
+            if (valueList.hasValue(cssValuePool().createIdentifierValue(CSSValueLineThrough).ptr()))
+                [result setObject:[NSNumber numberWithInt:NSUnderlineStyleSingle] forKey:NSStrikethroughStyleAttributeName];
+            if (valueList.hasValue(cssValuePool().createIdentifierValue(CSSValueUnderline).ptr()))
+                [result setObject:[NSNumber numberWithInt:NSUnderlineStyleSingle] forKey:NSUnderlineStyleAttributeName];
+        }
+    } else {
+        int decoration = style.textDecorationsInEffect();
+        if (decoration &amp; TextDecorationLineThrough)
+            [result setObject:[NSNumber numberWithInt:NSUnderlineStyleSingle] forKey:NSStrikethroughStyleAttributeName];
+        if (decoration &amp; TextDecorationUnderline)
+            [result setObject:[NSNumber numberWithInt:NSUnderlineStyleSingle] forKey:NSUnderlineStyleAttributeName];
+    }
+}
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreeditingcocoaHTMLConvertermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm (186085 => 186086)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm        2015-06-29 21:11:55 UTC (rev 186085)
+++ trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm        2015-06-29 21:38:31 UTC (rev 186086)
</span><span class="lines">@@ -53,6 +53,7 @@
</span><span class="cx"> #import &quot;HTMLTableCellElement.h&quot;
</span><span class="cx"> #import &quot;HTMLTextAreaElement.h&quot;
</span><span class="cx"> #import &quot;LoaderNSURLExtras.h&quot;
</span><ins>+#import &quot;NSAttributedStringSPI.h&quot;
</ins><span class="cx"> #import &quot;RGBColor.h&quot;
</span><span class="cx"> #import &quot;RenderImage.h&quot;
</span><span class="cx"> #import &quot;SoftLinking.h&quot;
</span><span class="lines">@@ -194,21 +195,6 @@
</span><span class="cx">     UIFontTraitUltraLight  = (1 &lt;&lt; 4)
</span><span class="cx"> } UIFontTrait;
</span><span class="cx"> 
</span><del>-typedef NS_ENUM(NSInteger, NSUnderlineStyle) {
-    NSUnderlineStyleNone                                = 0x00,
-    NSUnderlineStyleSingle                              = 0x01,
-    NSUnderlineStyleThick NS_ENUM_AVAILABLE_IOS(7_0)    = 0x02,
-    NSUnderlineStyleDouble NS_ENUM_AVAILABLE_IOS(7_0)   = 0x09,
-
-    NSUnderlinePatternSolid NS_ENUM_AVAILABLE_IOS(7_0)      = 0x0000,
-    NSUnderlinePatternDot NS_ENUM_AVAILABLE_IOS(7_0)        = 0x0100,
-    NSUnderlinePatternDash NS_ENUM_AVAILABLE_IOS(7_0)       = 0x0200,
-    NSUnderlinePatternDashDot NS_ENUM_AVAILABLE_IOS(7_0)    = 0x0300,
-    NSUnderlinePatternDashDotDot NS_ENUM_AVAILABLE_IOS(7_0) = 0x0400,
-
-    NSUnderlineByWord NS_ENUM_AVAILABLE_IOS(7_0) = 0x8000
-};
-
</del><span class="cx"> enum {
</span><span class="cx">     NSTextBlockAbsoluteValueType    = 0,    // Absolute value in points
</span><span class="cx">     NSTextBlockPercentageValueType  = 1     // Percentage value (out of 100)
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingiosEditorIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/ios/EditorIOS.mm (186085 => 186086)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/ios/EditorIOS.mm        2015-06-29 21:11:55 UTC (rev 186085)
+++ trunk/Source/WebCore/editing/ios/EditorIOS.mm        2015-06-29 21:38:31 UTC (rev 186086)
</span><span class="lines">@@ -44,6 +44,7 @@
</span><span class="cx"> #include &quot;HTMLParserIdioms.h&quot;
</span><span class="cx"> #include &quot;HTMLTextAreaElement.h&quot;
</span><span class="cx"> #include &quot;LegacyWebArchive.h&quot;
</span><ins>+#include &quot;NSAttributedStringSPI.h&quot;
</ins><span class="cx"> #include &quot;NodeTraversal.h&quot;
</span><span class="cx"> #include &quot;Page.h&quot;
</span><span class="cx"> #include &quot;Pasteboard.h&quot;
</span><span class="lines">@@ -77,12 +78,6 @@
</span><span class="cx"> #define kUTTagClassFilenameExtension getkUTTagClassFilenameExtension()
</span><span class="cx"> #define kUTTagClassMIMEType getkUTTagClassMIMEType()
</span><span class="cx"> 
</span><del>-SOFT_LINK_PRIVATE_FRAMEWORK(UIFoundation)
-SOFT_LINK_CONSTANT(UIFoundation, NSFontAttributeName, NSString *)
-#define NSFontAttributeName getNSFontAttributeName()
-SOFT_LINK_CONSTANT(UIFoundation, NSUnderlineStyleAttributeName, NSString *)
-#define NSUnderlineStyleAttributeName getNSUnderlineStyleAttributeName()
-
</del><span class="cx"> @interface NSAttributedString (NSAttributedStringKitAdditions)
</span><span class="cx"> - (id)initWithRTF:(NSData *)data documentAttributes:(NSDictionary **)dict;
</span><span class="cx"> - (id)initWithRTFD:(NSData *)data documentAttributes:(NSDictionary **)dict;
</span><span class="lines">@@ -91,21 +86,6 @@
</span><span class="cx"> - (BOOL)containsAttachments;
</span><span class="cx"> @end
</span><span class="cx"> 
</span><del>-typedef NS_ENUM(NSInteger, NSUnderlineStyle) {
-    NSUnderlineStyleNone                                = 0x00,
-    NSUnderlineStyleSingle                              = 0x01,
-    NSUnderlineStyleThick NS_ENUM_AVAILABLE_IOS(7_0)    = 0x02,
-    NSUnderlineStyleDouble NS_ENUM_AVAILABLE_IOS(7_0)   = 0x09,
-    
-    NSUnderlinePatternSolid NS_ENUM_AVAILABLE_IOS(7_0)      = 0x0000,
-    NSUnderlinePatternDot NS_ENUM_AVAILABLE_IOS(7_0)        = 0x0100,
-    NSUnderlinePatternDash NS_ENUM_AVAILABLE_IOS(7_0)       = 0x0200,
-    NSUnderlinePatternDashDot NS_ENUM_AVAILABLE_IOS(7_0)    = 0x0300,
-    NSUnderlinePatternDashDotDot NS_ENUM_AVAILABLE_IOS(7_0) = 0x0400,
-    
-    NSUnderlineByWord NS_ENUM_AVAILABLE_IOS(7_0) = 0x8000
-};
-
</del><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> using namespace HTMLNames;
</span><span class="lines">@@ -261,15 +241,8 @@
</span><span class="cx">     if (font)
</span><span class="cx">         [result setObject:(id)font forKey:NSFontAttributeName];
</span><span class="cx"> 
</span><del>-    RefPtr&lt;EditingStyle&gt; typingStyle = m_frame.selection().typingStyle();
-    if (typingStyle &amp;&amp; typingStyle-&gt;style()) {
-        String value = typingStyle-&gt;style()-&gt;getPropertyValue(CSSPropertyWebkitTextDecorationsInEffect);
-        if (value.contains(&quot;underline&quot;))
-            [result setObject:[NSNumber numberWithInt:NSUnderlineStyleSingle] forKey:NSUnderlineStyleAttributeName];
-    } else {
-        if (style-&gt;textDecorationsInEffect() &amp; TextDecorationUnderline)
-            [result setObject:[NSNumber numberWithInt:NSUnderlineStyleSingle] forKey:NSUnderlineStyleAttributeName];
-    }
</del><ins>+    getTextDecorationAttributesRespectingTypingStyle(*style, result);
+
</ins><span class="cx">     if (nodeToRemove)
</span><span class="cx">         nodeToRemove-&gt;remove(ASSERT_NO_EXCEPTION);
</span><span class="cx">     
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingmacEditorMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/mac/EditorMac.mm (186085 => 186086)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/mac/EditorMac.mm        2015-06-29 21:11:55 UTC (rev 186085)
+++ trunk/Source/WebCore/editing/mac/EditorMac.mm        2015-06-29 21:38:31 UTC (rev 186086)
</span><span class="lines">@@ -179,10 +179,6 @@
</span><span class="cx">         [result setObject:s.get() forKey:NSShadowAttributeName];
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    int decoration = style-&gt;textDecorationsInEffect();
-    if (decoration &amp; TextDecorationLineThrough)
-        [result setObject:[NSNumber numberWithInt:NSUnderlineStyleSingle] forKey:NSStrikethroughStyleAttributeName];
-
</del><span class="cx">     int superscriptInt = 0;
</span><span class="cx">     switch (style-&gt;verticalAlign()) {
</span><span class="cx">         case BASELINE:
</span><span class="lines">@@ -204,8 +200,7 @@
</span><span class="cx">     if (superscriptInt)
</span><span class="cx">         [result setObject:[NSNumber numberWithInt:superscriptInt] forKey:NSSuperscriptAttributeName];
</span><span class="cx"> 
</span><del>-    if (decoration &amp; TextDecorationUnderline)
-        [result setObject:[NSNumber numberWithInt:NSUnderlineStyleSingle] forKey:NSUnderlineStyleAttributeName];
</del><ins>+    getTextDecorationAttributesRespectingTypingStyle(*style, result);
</ins><span class="cx"> 
</span><span class="cx">     if (nodeToRemove)
</span><span class="cx">         nodeToRemove-&gt;remove(ASSERT_NO_EXCEPTION);
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderEmptyClientsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/EmptyClients.h (186085 => 186086)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/EmptyClients.h        2015-06-29 21:11:55 UTC (rev 186085)
+++ trunk/Source/WebCore/loader/EmptyClients.h        2015-06-29 21:38:31 UTC (rev 186086)
</span><span class="lines">@@ -442,6 +442,7 @@
</span><span class="cx">     virtual bool shouldChangeSelectedRange(Range*, Range*, EAffinity, bool) override { return false; }
</span><span class="cx"> 
</span><span class="cx">     virtual bool shouldApplyStyle(StyleProperties*, Range*) override { return false; }
</span><ins>+    virtual void didApplyStyle() override { }
</ins><span class="cx">     virtual bool shouldMoveRangeAfterDelete(Range*, Range*) override { return false; }
</span><span class="cx"> 
</span><span class="cx">     virtual void didBeginEditing() override { }
</span></span></pre></div>
<a id="trunkSourceWebCorepageEditorClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/EditorClient.h (186085 => 186086)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/EditorClient.h        2015-06-29 21:11:55 UTC (rev 186085)
+++ trunk/Source/WebCore/page/EditorClient.h        2015-06-29 21:38:31 UTC (rev 186086)
</span><span class="lines">@@ -88,6 +88,7 @@
</span><span class="cx">     virtual bool shouldChangeSelectedRange(Range* fromRange, Range* toRange, EAffinity, bool stillSelecting) = 0;
</span><span class="cx">     
</span><span class="cx">     virtual bool shouldApplyStyle(StyleProperties*, Range*) = 0;
</span><ins>+    virtual void didApplyStyle() = 0;
</ins><span class="cx">     virtual bool shouldMoveRangeAfterDelete(Range*, Range*) = 0;
</span><span class="cx"> 
</span><span class="cx">     virtual void didBeginEditing() = 0;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformspicocoaNSAttributedStringSPIh"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/platform/spi/cocoa/NSAttributedStringSPI.h (0 => 186086)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/spi/cocoa/NSAttributedStringSPI.h                                (rev 0)
+++ trunk/Source/WebCore/platform/spi/cocoa/NSAttributedStringSPI.h        2015-06-29 21:38:31 UTC (rev 186086)
</span><span class="lines">@@ -0,0 +1,57 @@
</span><ins>+/*
+ * Copyright (C) 2014, 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef NSAttributedStringSPI_h
+#define NSAttributedStringSPI_h
+
+#import &quot;SoftLinking.h&quot;
+
+#if PLATFORM(IOS)
+
+typedef NS_ENUM(NSInteger, NSUnderlineStyle) {
+    NSUnderlineStyleNone                                = 0x00,
+    NSUnderlineStyleSingle                              = 0x01,
+    NSUnderlineStyleThick NS_ENUM_AVAILABLE_IOS(7_0)    = 0x02,
+    NSUnderlineStyleDouble NS_ENUM_AVAILABLE_IOS(7_0)   = 0x09,
+    
+    NSUnderlinePatternSolid NS_ENUM_AVAILABLE_IOS(7_0)      = 0x0000,
+    NSUnderlinePatternDot NS_ENUM_AVAILABLE_IOS(7_0)        = 0x0100,
+    NSUnderlinePatternDash NS_ENUM_AVAILABLE_IOS(7_0)       = 0x0200,
+    NSUnderlinePatternDashDot NS_ENUM_AVAILABLE_IOS(7_0)    = 0x0300,
+    NSUnderlinePatternDashDotDot NS_ENUM_AVAILABLE_IOS(7_0) = 0x0400,
+    
+    NSUnderlineByWord NS_ENUM_AVAILABLE_IOS(7_0) = 0x8000
+};
+
+SOFT_LINK_PRIVATE_FRAMEWORK(UIFoundation)
+
+SOFT_LINK_CONSTANT(UIFoundation, NSUnderlineStyleAttributeName, NSString *)
+#define NSUnderlineStyleAttributeName getNSUnderlineStyleAttributeName()
+SOFT_LINK_CONSTANT(UIFoundation, NSStrikethroughStyleAttributeName, NSString *)
+#define NSStrikethroughStyleAttributeName getNSStrikethroughStyleAttributeName()
+
+#endif
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebKitmacChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/ChangeLog (186085 => 186086)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/ChangeLog        2015-06-29 21:11:55 UTC (rev 186085)
+++ trunk/Source/WebKit/mac/ChangeLog        2015-06-29 21:38:31 UTC (rev 186086)
</span><span class="lines">@@ -1,3 +1,22 @@
</span><ins>+2015-06-27  Ryosuke Niwa  &lt;rniwa@webkit.org&gt;
+
+        Font panel doesn't get updated when bolding text via cmd+b in Mail on OS X
+        https://bugs.webkit.org/show_bug.cgi?id=146379
+
+        Reviewed by Darin Adler.
+
+        Update the font panel when newly added EditorClient::didApplyStyle is called. Also set the font attributes
+        in _updateFontPanel so that underline and strike through states will be reflected.
+
+        * WebCoreSupport/WebEditorClient.h:
+        * WebCoreSupport/WebEditorClient.mm:
+        (WebEditorClient::shouldApplyStyle):
+        (updateFontPanelIfNeeded): Extracted from respondToChangedContents.
+        (WebEditorClient::didApplyStyle): Added.
+        (WebEditorClient::respondToChangedContents):
+        * WebView/WebHTMLView.mm:
+        (-[WebHTMLView _updateFontPanel]): Sets font attributes as well as font.
+
</ins><span class="cx"> 2015-06-29  Dean Jackson  &lt;dino@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Setting to enable/disable media controls sizing on page zoom
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebCoreSupportWebEditorClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebEditorClient.h (186085 => 186086)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebCoreSupport/WebEditorClient.h        2015-06-29 21:11:55 UTC (rev 186085)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebEditorClient.h        2015-06-29 21:38:31 UTC (rev 186086)
</span><span class="lines">@@ -69,7 +69,8 @@
</span><span class="cx">     virtual bool shouldChangeSelectedRange(WebCore::Range* fromRange, WebCore::Range* toRange, WebCore::EAffinity, bool stillSelecting) override;
</span><span class="cx"> 
</span><span class="cx">     virtual bool shouldApplyStyle(WebCore::StyleProperties*, WebCore::Range*) override;
</span><del>-    
</del><ins>+    virtual void didApplyStyle() override;
+
</ins><span class="cx">     virtual bool shouldMoveRangeAfterDelete(WebCore::Range*, WebCore::Range* rangeToBeReplaced) override;
</span><span class="cx"> 
</span><span class="cx">     virtual void didBeginEditing() override;
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebCoreSupportWebEditorClientmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebEditorClient.mm (186085 => 186086)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebCoreSupport/WebEditorClient.mm        2015-06-29 21:11:55 UTC (rev 186085)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebEditorClient.mm        2015-06-29 21:38:31 UTC (rev 186086)
</span><span class="lines">@@ -258,6 +258,22 @@
</span><span class="cx">         shouldApplyStyle:kit(mutableStyle-&gt;ensureCSSStyleDeclaration()) toElementsInDOMRange:kit(range)];
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+static void updateFontPanel(WebView *webView)
+{
+#if !PLATFORM(IOS)
+    NSView &lt;WebDocumentView&gt; *view = [[[webView selectedFrame] frameView] documentView];
+    if ([view isKindOfClass:[WebHTMLView class]])
+        [(WebHTMLView *)view _updateFontPanel];
+#else
+    UNUSED_PARAM(webView);
+#endif
+}
+
+void WebEditorClient::didApplyStyle()
+{
+    updateFontPanel(m_webView);
+}
+
</ins><span class="cx"> bool WebEditorClient::shouldMoveRangeAfterDelete(Range* range, Range* rangeToBeReplaced)
</span><span class="cx"> {
</span><span class="cx">     return [[m_webView _editingDelegateForwarder] webView:m_webView
</span><span class="lines">@@ -317,10 +333,8 @@
</span><span class="cx"> 
</span><span class="cx"> void WebEditorClient::respondToChangedContents()
</span><span class="cx"> {
</span><ins>+    updateFontPanel(m_webView);
</ins><span class="cx"> #if !PLATFORM(IOS)
</span><del>-    NSView &lt;WebDocumentView&gt; *view = [[[m_webView selectedFrame] frameView] documentView];
-    if ([view isKindOfClass:[WebHTMLView class]])
-        [(WebHTMLView *)view _updateFontPanel];
</del><span class="cx">     [[NSNotificationCenter defaultCenter] postNotificationName:WebViewDidChangeNotification object:m_webView];    
</span><span class="cx"> #else
</span><span class="cx">     if (m_delayingContentChangeNotifications) {
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebViewWebHTMLViewmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebView/WebHTMLView.mm (186085 => 186086)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebView/WebHTMLView.mm        2015-06-29 21:11:55 UTC (rev 186085)
+++ trunk/Source/WebKit/mac/WebView/WebHTMLView.mm        2015-06-29 21:38:31 UTC (rev 186086)
</span><span class="lines">@@ -5482,9 +5482,11 @@
</span><span class="cx"> 
</span><span class="cx">     bool multipleFonts = false;
</span><span class="cx">     NSFont *font = nil;
</span><ins>+    NSDictionary *attributes = nil;
</ins><span class="cx">     if (Frame* coreFrame = core([self _frame])) {
</span><span class="cx">         if (const Font* fd = coreFrame-&gt;editor().fontForSelection(multipleFonts))
</span><span class="cx">             font = fd-&gt;getNSFont();
</span><ins>+        attributes = coreFrame-&gt;editor().fontAttributesForSelectionStart();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // FIXME: for now, return a bogus font that distinguishes the empty selection from the non-empty
</span><span class="lines">@@ -5493,7 +5495,9 @@
</span><span class="cx">         font = [self _hasSelection] ? [NSFont menuFontOfSize:23] : [NSFont toolTipsFontOfSize:17];
</span><span class="cx">     ASSERT(font != nil);
</span><span class="cx"> 
</span><del>-    [[NSFontManager sharedFontManager] setSelectedFont:font isMultiple:multipleFonts];
</del><ins>+    NSFontManager *fontManager = [NSFontManager sharedFontManager];
+    [fontManager setSelectedFont:font isMultiple:multipleFonts];
+    [fontManager setSelectedAttributes:(attributes ? attributes : @{ }) isMultiple:multipleFonts];
</ins><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitwinChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/ChangeLog (186085 => 186086)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/ChangeLog        2015-06-29 21:11:55 UTC (rev 186085)
+++ trunk/Source/WebKit/win/ChangeLog        2015-06-29 21:38:31 UTC (rev 186086)
</span><span class="lines">@@ -1,3 +1,14 @@
</span><ins>+2015-06-27  Ryosuke Niwa  &lt;rniwa@webkit.org&gt;
+
+        Font panel doesn't get updated when bolding text via cmd+b in Mail on OS X
+        https://bugs.webkit.org/show_bug.cgi?id=146379
+
+        Reviewed by Darin Adler.
+
+        * WebCoreSupport/WebEditorClient.cpp:
+        (WebEditorClient::didApplyStyle): Added.
+        * WebCoreSupport/WebEditorClient.h:
+
</ins><span class="cx"> 2015-06-26  Per Arne Vollan  &lt;peavo@outlook.com&gt;
</span><span class="cx"> 
</span><span class="cx">         WinLauncher fails to download files.
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebCoreSupportWebEditorClientcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebCoreSupport/WebEditorClient.cpp (186085 => 186086)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebCoreSupport/WebEditorClient.cpp        2015-06-29 21:11:55 UTC (rev 186085)
+++ trunk/Source/WebKit/win/WebCoreSupport/WebEditorClient.cpp        2015-06-29 21:38:31 UTC (rev 186086)
</span><span class="lines">@@ -339,15 +339,29 @@
</span><span class="cx">     return shouldChange;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool WebEditorClient::shouldApplyStyle(StyleProperties* /*style*/, Range* /*toElementsInDOMRange*/)
-{ notImplemented(); return true; }
</del><ins>+bool WebEditorClient::shouldApplyStyle(StyleProperties*, Range*)
+{
+    notImplemented();
+    return true;
+}
</ins><span class="cx"> 
</span><del>-bool WebEditorClient::shouldMoveRangeAfterDelete(Range* /*range*/, Range* /*rangeToBeReplaced*/)
-{ notImplemented(); return true; }
</del><ins>+void WebEditorClient::didApplyStyle(StyleProperties*, Range*)
+{
+    notImplemented();
+}
</ins><span class="cx"> 
</span><del>-bool WebEditorClient::shouldChangeTypingStyle(StyleProperties* /*currentStyle*/, StyleProperties* /*toProposedStyle*/)
-{ notImplemented(); return false; }
</del><ins>+bool WebEditorClient::shouldMoveRangeAfterDelete(Range*, Range*)
+{
+    notImplemented();
+    return true;
+}
</ins><span class="cx"> 
</span><ins>+bool WebEditorClient::shouldChangeTypingStyle(StyleProperties*, StyleProperties*)
+{
+    notImplemented();
+    return false;
+}
+
</ins><span class="cx"> void WebEditorClient::webViewDidChangeTypingStyle(WebNotification* /*notification*/)
</span><span class="cx"> {
</span><span class="cx">     notImplemented();
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebCoreSupportWebEditorClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebCoreSupport/WebEditorClient.h (186085 => 186086)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebCoreSupport/WebEditorClient.h        2015-06-29 21:11:55 UTC (rev 186085)
+++ trunk/Source/WebKit/win/WebCoreSupport/WebEditorClient.h        2015-06-29 21:38:31 UTC (rev 186086)
</span><span class="lines">@@ -66,6 +66,7 @@
</span><span class="cx"> 
</span><span class="cx">     bool shouldInsertNode(WebCore::Node*, WebCore::Range* replacingRange, WebCore::EditorInsertAction);
</span><span class="cx">     bool shouldApplyStyle(WebCore::StyleProperties*, WebCore::Range*);
</span><ins>+    void didApplyStyle(WebCore::StyleProperties*, WebCore::Range*);
</ins><span class="cx">     bool shouldMoveRangeAfterDelete(WebCore::Range*, WebCore::Range*);
</span><span class="cx">     bool shouldChangeTypingStyle(WebCore::StyleProperties* currentStyle, WebCore::StyleProperties* toProposedStyle);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (186085 => 186086)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2015-06-29 21:11:55 UTC (rev 186085)
+++ trunk/Source/WebKit2/ChangeLog        2015-06-29 21:38:31 UTC (rev 186086)
</span><span class="lines">@@ -1,3 +1,17 @@
</span><ins>+2015-06-27  Ryosuke Niwa  &lt;rniwa@webkit.org&gt;
+
+        Font panel doesn't get updated when bolding text via cmd+b in Mail on OS X
+        https://bugs.webkit.org/show_bug.cgi?id=146379
+
+        Reviewed by Darin Adler.
+
+        Since font panel doesn't open in WebKit2 at the moment, just add an empty implementation of didApplyStyle
+
+        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+        (WebKit::WebEditorClient::didApplyStyle):
+        * WebProcess/WebCoreSupport/WebEditorClient.h:
+        * WebProcess/WebPage/WebPage.h:
+
</ins><span class="cx"> 2015-06-29  Dean Jackson  &lt;dino@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Setting to enable/disable media controls sizing on page zoom
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebCoreSupportWebEditorClientcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp (186085 => 186086)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp        2015-06-29 21:11:55 UTC (rev 186085)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp        2015-06-29 21:38:31 UTC (rev 186086)
</span><span class="lines">@@ -155,6 +155,11 @@
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+void WebEditorClient::didApplyStyle()
+{
+    notImplemented();
+}
+
</ins><span class="cx"> bool WebEditorClient::shouldMoveRangeAfterDelete(Range*, Range*)
</span><span class="cx"> {
</span><span class="cx">     notImplemented();
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebCoreSupportWebEditorClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.h (186085 => 186086)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.h        2015-06-29 21:11:55 UTC (rev 186085)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.h        2015-06-29 21:38:31 UTC (rev 186086)
</span><span class="lines">@@ -59,6 +59,7 @@
</span><span class="cx">     virtual bool shouldChangeSelectedRange(WebCore::Range* fromRange, WebCore::Range* toRange, WebCore::EAffinity, bool stillSelecting) override;
</span><span class="cx">     
</span><span class="cx">     virtual bool shouldApplyStyle(WebCore::StyleProperties*, WebCore::Range*) override;
</span><ins>+    virtual void didApplyStyle() override;
</ins><span class="cx">     virtual bool shouldMoveRangeAfterDelete(WebCore::Range*, WebCore::Range*) override;
</span><span class="cx"> 
</span><span class="cx">     virtual void didBeginEditing() override;
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageWebPageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h (186085 => 186086)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h        2015-06-29 21:11:55 UTC (rev 186085)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h        2015-06-29 21:38:31 UTC (rev 186086)
</span><span class="lines">@@ -615,6 +615,7 @@
</span><span class="cx">     void getCenterForZoomGesture(const WebCore::IntPoint&amp; centerInViewCoordinates, WebCore::IntPoint&amp; result);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+    void didApplyStyle();
</ins><span class="cx">     void didChangeSelection();
</span><span class="cx">     void discardedComposition();
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>