<!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>[187095] trunk/Source/WebCore</title>
</head>
<body>

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

<h3>Log Message</h3>
<pre>Remove RenderTheme::shouldShowPlaceholderWhenFocused()
https://bugs.webkit.org/show_bug.cgi?id=147104

Reviewed by Martin Robinson.

GTK+ is the only port that returns false in
shouldShowPlaceholderWhenFocused(). That's inconsistent with all
other browsers that show the placeholder text even for focused
entries in all platforms. We should change the GTK+ port
behaviour, but that would leave all implementations of
shouldShowPlaceholderWhenFocused returning true, so let's just
remove it.

* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
Do not consider whether the entry is focused or not.
* platform/efl/RenderThemeEfl.h:
* rendering/RenderTheme.h:
(WebCore::RenderTheme::shouldShowPlaceholderWhenFocused): Deleted.
* rendering/RenderThemeIOS.h:
* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::shouldShowPlaceholderWhenFocused): Deleted.
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::shouldShowPlaceholderWhenFocused): Deleted.
* rendering/RenderThemeSafari.h:
(WebCore::RenderThemeSafari::shouldShowPlaceholderWhenFocused): Deleted.
* rendering/RenderThemeWin.h:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTextFormControlElementcpp">trunk/Source/WebCore/html/HTMLTextFormControlElement.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformeflRenderThemeEflh">trunk/Source/WebCore/platform/efl/RenderThemeEfl.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderThemeh">trunk/Source/WebCore/rendering/RenderTheme.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderThemeIOSh">trunk/Source/WebCore/rendering/RenderThemeIOS.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderThemeIOSmm">trunk/Source/WebCore/rendering/RenderThemeIOS.mm</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderThemeMach">trunk/Source/WebCore/rendering/RenderThemeMac.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderThemeMacmm">trunk/Source/WebCore/rendering/RenderThemeMac.mm</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderThemeSafarih">trunk/Source/WebCore/rendering/RenderThemeSafari.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderThemeWinh">trunk/Source/WebCore/rendering/RenderThemeWin.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (187094 => 187095)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-07-21 05:27:58 UTC (rev 187094)
+++ trunk/Source/WebCore/ChangeLog        2015-07-21 05:33:50 UTC (rev 187095)
</span><span class="lines">@@ -1,3 +1,34 @@
</span><ins>+2015-07-20  Carlos Garcia Campos  &lt;cgarcia@igalia.com&gt;
+
+        Remove RenderTheme::shouldShowPlaceholderWhenFocused()
+        https://bugs.webkit.org/show_bug.cgi?id=147104
+
+        Reviewed by Martin Robinson.
+
+        GTK+ is the only port that returns false in
+        shouldShowPlaceholderWhenFocused(). That's inconsistent with all
+        other browsers that show the placeholder text even for focused
+        entries in all platforms. We should change the GTK+ port
+        behaviour, but that would leave all implementations of
+        shouldShowPlaceholderWhenFocused returning true, so let's just
+        remove it.
+
+        * html/HTMLTextFormControlElement.cpp:
+        (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
+        Do not consider whether the entry is focused or not.
+        * platform/efl/RenderThemeEfl.h:
+        * rendering/RenderTheme.h:
+        (WebCore::RenderTheme::shouldShowPlaceholderWhenFocused): Deleted.
+        * rendering/RenderThemeIOS.h:
+        * rendering/RenderThemeIOS.mm:
+        (WebCore::RenderThemeIOS::shouldShowPlaceholderWhenFocused): Deleted.
+        * rendering/RenderThemeMac.h:
+        * rendering/RenderThemeMac.mm:
+        (WebCore::RenderThemeMac::shouldShowPlaceholderWhenFocused): Deleted.
+        * rendering/RenderThemeSafari.h:
+        (WebCore::RenderThemeSafari::shouldShowPlaceholderWhenFocused): Deleted.
+        * rendering/RenderThemeWin.h:
+
</ins><span class="cx"> 2015-07-20  Zan Dobersek  &lt;zdobersek@igalia.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [CoordinatedGraphics] CoordinatedGraphicsLayer::setContentsToImage() should avoid scheduling unnecessary flushes
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTextFormControlElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTextFormControlElement.cpp (187094 => 187095)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTextFormControlElement.cpp        2015-07-21 05:27:58 UTC (rev 187094)
+++ trunk/Source/WebCore/html/HTMLTextFormControlElement.cpp        2015-07-21 05:33:50 UTC (rev 187095)
</span><span class="lines">@@ -150,10 +150,7 @@
</span><span class="cx"> {
</span><span class="cx">     // This function is used by the style resolver to match the :placeholder-shown pseudo class.
</span><span class="cx">     // Since it is used for styling, it must not use any value depending on the style.
</span><del>-    return supportsPlaceholder()
-        &amp;&amp; isEmptyValue()
-        &amp;&amp; !isPlaceholderEmpty()
-        &amp;&amp; (document().focusedElement() != this || (document().page()-&gt;theme().shouldShowPlaceholderWhenFocused()));
</del><ins>+    return supportsPlaceholder() &amp;&amp; isEmptyValue() &amp;&amp; !isPlaceholderEmpty();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void HTMLTextFormControlElement::updatePlaceholderVisibility()
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformeflRenderThemeEflh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/efl/RenderThemeEfl.h (187094 => 187095)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/efl/RenderThemeEfl.h        2015-07-21 05:27:58 UTC (rev 187094)
+++ trunk/Source/WebCore/platform/efl/RenderThemeEfl.h        2015-07-21 05:33:50 UTC (rev 187095)
</span><span class="lines">@@ -175,7 +175,6 @@
</span><span class="cx"> #if ENABLE(VIDEO_TRACK)
</span><span class="cx">     virtual bool supportsClosedCaptioning() const override { return true; }
</span><span class="cx"> #endif
</span><del>-    virtual bool shouldShowPlaceholderWhenFocused() const override { return true; }
</del><span class="cx"> 
</span><span class="cx">     void setThemePath(const String&amp;);
</span><span class="cx">     String themePath() const;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderThemeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderTheme.h (187094 => 187095)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderTheme.h        2015-07-21 05:27:58 UTC (rev 187094)
+++ trunk/Source/WebCore/rendering/RenderTheme.h        2015-07-21 05:33:50 UTC (rev 187095)
</span><span class="lines">@@ -228,7 +228,6 @@
</span><span class="cx">     void paintSliderTicks(const RenderObject&amp;, const PaintInfo&amp;, const IntRect&amp;);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    virtual bool shouldShowPlaceholderWhenFocused() const { return false; }
</del><span class="cx">     virtual bool shouldHaveSpinButton(HTMLInputElement&amp;) const;
</span><span class="cx">     virtual bool shouldHaveCapsLockIndicator(HTMLInputElement&amp;) const;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderThemeIOSh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderThemeIOS.h (187094 => 187095)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderThemeIOS.h        2015-07-21 05:27:58 UTC (rev 187094)
+++ trunk/Source/WebCore/rendering/RenderThemeIOS.h        2015-07-21 05:33:50 UTC (rev 187095)
</span><span class="lines">@@ -102,7 +102,6 @@
</span><span class="cx">     virtual Color platformTapHighlightColor() const override { return 0x4D1A1A1A; }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    virtual bool shouldShowPlaceholderWhenFocused() const override;
</del><span class="cx">     virtual bool shouldHaveSpinButton(HTMLInputElement&amp;) const override;
</span><span class="cx">     virtual bool shouldHaveCapsLockIndicator(HTMLInputElement&amp;) const override;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderThemeIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderThemeIOS.mm (187094 => 187095)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderThemeIOS.mm        2015-07-21 05:27:58 UTC (rev 187094)
+++ trunk/Source/WebCore/rendering/RenderThemeIOS.mm        2015-07-21 05:33:50 UTC (rev 187095)
</span><span class="lines">@@ -1073,11 +1073,6 @@
</span><span class="cx">     return Color::transparent;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool RenderThemeIOS::shouldShowPlaceholderWhenFocused() const
-{
-    return true;
-}
-
</del><span class="cx"> bool RenderThemeIOS::shouldHaveSpinButton(HTMLInputElement&amp;) const
</span><span class="cx"> {
</span><span class="cx">     return false;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderThemeMach"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderThemeMac.h (187094 => 187095)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderThemeMac.h        2015-07-21 05:27:58 UTC (rev 187094)
+++ trunk/Source/WebCore/rendering/RenderThemeMac.h        2015-07-21 05:33:50 UTC (rev 187095)
</span><span class="lines">@@ -162,7 +162,6 @@
</span><span class="cx">     virtual bool supportsClosedCaptioning() const override { return true; }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    virtual bool shouldShowPlaceholderWhenFocused() const override;
</del><span class="cx">     virtual bool shouldHaveCapsLockIndicator(HTMLInputElement&amp;) const override;
</span><span class="cx"> 
</span><span class="cx">     virtual bool paintSnapshottedPluginOverlay(const RenderObject&amp;, const PaintInfo&amp;, const IntRect&amp;) override;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderThemeMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderThemeMac.mm (187094 => 187095)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderThemeMac.mm        2015-07-21 05:27:58 UTC (rev 187094)
+++ trunk/Source/WebCore/rendering/RenderThemeMac.mm        2015-07-21 05:33:50 UTC (rev 187095)
</span><span class="lines">@@ -1936,11 +1936,6 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool RenderThemeMac::shouldShowPlaceholderWhenFocused() const
-{
-    return true;
-}
-
</del><span class="cx"> bool RenderThemeMac::shouldHaveCapsLockIndicator(HTMLInputElement&amp; element) const
</span><span class="cx"> {
</span><span class="cx">     return element.isPasswordField();
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderThemeSafarih"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderThemeSafari.h (187094 => 187095)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderThemeSafari.h        2015-07-21 05:27:58 UTC (rev 187094)
+++ trunk/Source/WebCore/rendering/RenderThemeSafari.h        2015-07-21 05:33:50 UTC (rev 187095)
</span><span class="lines">@@ -140,8 +140,6 @@
</span><span class="cx">     virtual bool paintMeter(const RenderObject&amp;, const PaintInfo&amp;, const IntRect&amp;) override;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    virtual bool shouldShowPlaceholderWhenFocused() const { return true; }
-
</del><span class="cx"> private:
</span><span class="cx">     RenderThemeSafari();
</span><span class="cx">     virtual ~RenderThemeSafari();
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderThemeWinh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderThemeWin.h (187094 => 187095)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderThemeWin.h        2015-07-21 05:27:58 UTC (rev 187094)
+++ trunk/Source/WebCore/rendering/RenderThemeWin.h        2015-07-21 05:33:50 UTC (rev 187095)
</span><span class="lines">@@ -134,8 +134,6 @@
</span><span class="cx">     virtual bool paintMeter(const RenderObject&amp;, const PaintInfo&amp;, const IntRect&amp;) override;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    virtual bool shouldShowPlaceholderWhenFocused() const override { return true; }
-
</del><span class="cx"> private:
</span><span class="cx">     enum ControlSubPart {
</span><span class="cx">         None,
</span></span></pre>
</div>
</div>

</body>
</html>