<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body><span class="vcard"><a class="email" href="mailto:mcatanzaro&#64;igalia.com" title="Michael Catanzaro &lt;mcatanzaro&#64;igalia.com&gt;"> <span class="fn">Michael Catanzaro</span></a>
</span> changed
              <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - REGRESSION(r203047): [GTK][Stable] &quot;notify::title&quot; signal unreliably triggered multiple times"
   href="https://bugs.webkit.org/show_bug.cgi?id=165073">bug 165073</a>
        <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">Summary</td>
           <td>[GTK][Stable] Regression: &quot;notify::title&quot; signal unreliably triggered multiple times
           </td>
           <td>REGRESSION(r203047): [GTK][Stable] &quot;notify::title&quot; signal unreliably triggered multiple times
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - REGRESSION(r203047): [GTK][Stable] &quot;notify::title&quot; signal unreliably triggered multiple times"
   href="https://bugs.webkit.org/show_bug.cgi?id=165073#c12">Comment # 12</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - REGRESSION(r203047): [GTK][Stable] &quot;notify::title&quot; signal unreliably triggered multiple times"
   href="https://bugs.webkit.org/show_bug.cgi?id=165073">bug 165073</a>
              from <span class="vcard"><a class="email" href="mailto:mcatanzaro&#64;igalia.com" title="Michael Catanzaro &lt;mcatanzaro&#64;igalia.com&gt;"> <span class="fn">Michael Catanzaro</span></a>
</span></b>
        <pre>Ah wow, that fix was... really hidden quite well. OK, thanks for the help.

It took some squinting for me to see the fix, but it's straightforward. On our 2.14 branch, at the bottom of Document::setTitle, we have this:

    // The DOM API has no method of specifying direction, so assume LTR.
    updateTitle(StringWithDirection(title, LTR));

    if (is&lt;HTMLTitleElement&gt;(m_titleElement.get()))
        downcast&lt;HTMLTitleElement&gt;(*m_titleElement).setTextContent(title, ASSERT_NO_EXCEPTION);
    else if (is&lt;SVGTitleElement&gt;(m_titleElement.get()))
        downcast&lt;SVGTitleElement&gt;(*m_titleElement).setTextContent(title, ASSERT_NO_EXCEPTION);

We just need to move updateTitle from the top into an else clause. It should look like this:

    if (is&lt;HTMLTitleElement&gt;(m_titleElement.get()))
        downcast&lt;HTMLTitleElement&gt;(*m_titleElement).setTextContent(title, ASSERT_NO_EXCEPTION);
    else if (is&lt;SVGTitleElement&gt;(m_titleElement.get()))
        downcast&lt;SVGTitleElement&gt;(*m_titleElement).setTextContent(title, ASSERT_NO_EXCEPTION);
    else
         updateTitle(StringWithDirection(title, LTR));</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>