<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - REGRESSION (r188642): All pages are blank when printing a webpage in iOS Safari"
   href="https://bugs.webkit.org/show_bug.cgi?id=157924#c8">Comment # 8</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - REGRESSION (r188642): All pages are blank when printing a webpage in iOS Safari"
   href="https://bugs.webkit.org/show_bug.cgi?id=157924">bug 157924</a>
              from <span class="vcard"><a class="email" href="mailto:aestes&#64;apple.com" title="Andy Estes &lt;aestes&#64;apple.com&gt;"> <span class="fn">Andy Estes</span></a>
</span></b>
        <pre>(In reply to <a href="show_bug.cgi?id=157924#c3">comment #3</a>)
<span class="quote">&gt; I think the right solution here is probably to change the &quot;+&quot; to an add with
&gt; clamping to max on overflow.
&gt; 
&gt; One way to do that:
&gt; 
&gt; If (absoluteTimeout &lt; timeout)
&gt;     absoluteTimeout = Condition::Clock::time_point::max();</span >

Sorry, I spoke too soon. This ends up not working because the operator&lt; for durations converts both operands into a common duration type before making the comparison. In this case the common duration is nanoseconds, which we already know milliseconds::max() will overflow on conversion.

What I ended up doing was to compute the amount of time remaining on the clock, convert that duration to milliseconds, then pick the smaller of that value and the timeout for computing absoluteTimeout. The conversion will reduce the maximum possible timeout by up to 1 millisecond, but that seems harmless.</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>