<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>78529</bug_id>
          
          <creation_ts>2012-02-13 13:53:20 -0800</creation_ts>
          <short_desc>[chromium] fast/canvas/canvas-text-alignment.html fails in Linux debug GPU</short_desc>
          <delta_ts>2012-03-13 17:30:42 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tony Chang">tony</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>backer</cc>
    
    <cc>enne</cc>
    
    <cc>fischman</cc>
    
    <cc>jamesr</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>555549</commentid>
    <comment_count>0</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-02-13 13:53:20 -0800</bug_when>
    <thetext>From 77478:

&gt;&gt; Thanks for tracking this down. Debug and Release builds now have slightly different behaviours. The difference in the scrollbars is a most likely an off by one Skia rendering bug. I think that jamesr@ moved to using mock scrollbars for the compositing layout tests to avoid this sort of problem.
&gt;&gt;
&gt;&gt; @jamesr: Is it possible to use mock scrollbars for these tests as well?

&gt; We could enable mock scrollbars for everything in the GPU config, but that means that we can&apos;t share results at all for the GPU and CPU &gt; configurations which I think is pretty unfortunate.

I&apos;m going to disable the test for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555552</commentid>
    <comment_count>1</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-02-13 13:55:42 -0800</bug_when>
    <thetext>Disabled in http://trac.webkit.org/changeset/107602</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556480</commentid>
    <comment_count>2</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-02-14 12:17:15 -0800</bug_when>
    <thetext>media/video-controls-rendering.html and media/video-zoom.html have the same problem (4 pixels different in scrollbars).  I marked them as failing in http://trac.webkit.org/changeset/107723 .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556522</commentid>
    <comment_count>3</comment_count>
    <who name="Ami Fischman">fischman</who>
    <bug_when>2012-02-14 13:00:06 -0800</bug_when>
    <thetext>James: how do I go about enabling mock scrollbars?  For the media tests, at least, I&apos;d rather have unshared GPU/CPU results than ignored-failure tests.

Tony: who were you quoting as saying &quot;most likely an off by one Skia rendering bug&quot;?  Do you know whether there&apos;s a bug filed for that and/or whether anyone&apos;s working on it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556532</commentid>
    <comment_count>4</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-02-14 13:05:04 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; James: how do I go about enabling mock scrollbars?  For the media tests, at least, I&apos;d rather have unshared GPU/CPU results than ignored-failure tests.

There are two approaches:

1.) In the test itself, call window.internals.setMockScrollbarsEnabled(true)
2.) Teach the DumpRenderTree binary that tests matching a certain pattern should default to mock scrollbars.  http://trac.webkit.org/browser/trunk/Tools/DumpRenderTree/chromium/TestShell.cpp#L240 is where I&apos;m doing this for tests with the string &apos;compositing&apos;.  This would change both the GPU and CPU configurations, but only for Chromium.

I&apos;m somewhat partial to (2) as I think we should gradually convert all layout tests over to using mock scrollbars.  Doing that would mean you&apos;d have to rebaseline all media tests at least once.

You could also make this part of the GPU configuration, which is controlled from python land.  Doing this would involve a few more steps.  I can help walk you through it if you want to go this route.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556553</commentid>
    <comment_count>5</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-02-14 13:25:05 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Tony: who were you quoting as saying &quot;most likely an off by one Skia rendering bug&quot;?  Do you know whether there&apos;s a bug filed for that and/or whether anyone&apos;s working on it?

The quoted text was from bug 77478.  That specific quote is by backer.

I don&apos;t know if there&apos;s a bug filed for it other than this.  I don&apos;t know if anyone is working on it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556582</commentid>
    <comment_count>6</comment_count>
    <who name="Ami Fischman">fischman</who>
    <bug_when>2012-02-14 14:08:22 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; 1.) In the test itself, call window.internals.setMockScrollbarsEnabled(true)

If I do this there is no change in the output image, and the text output complains that this method doesn&apos;t exist.

&gt; 2.) Teach the DumpRenderTree binary that tests matching a certain pattern should default to mock scrollbars.  http://trac.webkit.org/browser/trunk/Tools/DumpRenderTree/chromium/TestShell.cpp#L240 is where I&apos;m doing this for tests with the string &apos;compositing&apos;.  This would change both the GPU and CPU configurations, but only for Chromium.

Added there:
    if (testUrl.find(&quot;media/&quot;) != string::npos
        || testUrl.find(&quot;media\\&quot;) != string::npos) {
        printf(&quot;AMI: mock: testUrl==%s\n&quot;, testUrl.c_str());  // AMI: NFS
        m_prefs.mockScrollbarsEnabled = true;
    }
and I see the printf show up in the output, but the scrollbars are still not mocks.

&gt; I&apos;m somewhat partial to (2) as I think we should gradually convert all layout tests over to using mock scrollbars.  Doing that would mean you&apos;d have to rebaseline all media tests at least once.

Is there an SOP for how to do this without accidentally making tests that are legit failures now (b/c of bugs in chromium, say) suddenly turn green?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556598</commentid>
    <comment_count>7</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-02-14 14:26:08 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #4)
&gt; &gt; 1.) In the test itself, call window.internals.setMockScrollbarsEnabled(true)
&gt; 
&gt; If I do this there is no change in the output image, and the text output complains that this method doesn&apos;t exist.

I fail at copy/paste.  Should be:
window.internals.settings.setMockScrollbarsEnabled(true)

see LayoutTests/compositing/resources/mock_scrollbars.js for instance

&gt; 
&gt; &gt; 2.) Teach the DumpRenderTree binary that tests matching a certain pattern should default to mock scrollbars.  http://trac.webkit.org/browser/trunk/Tools/DumpRenderTree/chromium/TestShell.cpp#L240 is where I&apos;m doing this for tests with the string &apos;compositing&apos;.  This would change both the GPU and CPU configurations, but only for Chromium.
&gt; 
&gt; Added there:
&gt;     if (testUrl.find(&quot;media/&quot;) != string::npos
&gt;         || testUrl.find(&quot;media\\&quot;) != string::npos) {
&gt;         printf(&quot;AMI: mock: testUrl==%s\n&quot;, testUrl.c_str());  // AMI: NFS
&gt;         m_prefs.mockScrollbarsEnabled = true;
&gt;     }
&gt; and I see the printf show up in the output, but the scrollbars are still not mocks.

You have to call m_prefs.applyTo(m_webView) as well

&gt; 
&gt; &gt; I&apos;m somewhat partial to (2) as I think we should gradually convert all layout tests over to using mock scrollbars.  Doing that would mean you&apos;d have to rebaseline all media tests at least once.
&gt; 
&gt; Is there an SOP for how to do this without accidentally making tests that are legit failures now (b/c of bugs in chromium, say) suddenly turn green?

Just don&apos;t rebaseline tests that are legit failing without your patch.  This requires compiling a list of tests that fail before the switchover.  I&apos;ve found it almost necessary to triage the set of exisiting failures to make sure that all the failing pixel tests are really failing before attempting a switchover like this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556615</commentid>
    <comment_count>8</comment_count>
    <who name="Ami Fischman">fischman</who>
    <bug_when>2012-02-14 14:40:22 -0800</bug_when>
    <thetext>Ok, the fixed JS works.  I&apos;m going with option#1 because the word name &quot;media&quot; is overloaded in LayoutTests to also include the CSS concept (paper vs. monitor, etc) and I don&apos;t want to get into the business of whitelisting specific directories for this treatment, at least not right now.

Opened bug 78634 to track converting the tests to mock scrollbars &amp; rebaseline.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578034</commentid>
    <comment_count>9</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-03-13 17:29:36 -0700</bug_when>
    <thetext>Committed r110648: &lt;http://trac.webkit.org/changeset/110648&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578038</commentid>
    <comment_count>10</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-03-13 17:30:42 -0700</bug_when>
    <thetext>I just rebaselined the original test, after a fix that should make release and debug scrollbars the same.  From the comments, it sounds like the additional media/ tests that got tacked onto this bug got handled elsewhere, so this bug is good to close.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>