<?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>26409</bug_id>
          
          <creation_ts>2009-06-15 09:39:38 -0700</creation_ts>
          <short_desc>[GTK] Glitches in new progress/load-status system</short_desc>
          <delta_ts>2009-09-01 08:31:34 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</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="Xan Lopez">xan.lopez</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>christian</cc>
    
    <cc>otte</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>125970</commentid>
    <comment_count>0</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-06-15 09:39:38 -0700</bug_when>
    <thetext>There&apos;s a couple of issues with the new progress and load-status signals of the WebView:

- A weird 10% progress is reported for pages before the status even reaches PROVISIONAL. Not sure where this comes from, but it should either go away or come after PROVISIONAL or COMMITTED I think.

- FINISHED comes before 100% progress is reported. I believe the natural expectation would be to receive 100% while the status is still not finished, and *then* receive FINISHED.

You can see both issues with the attached testcase.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125971</commentid>
    <comment_count>1</comment_count>
      <attachid>31294</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-06-15 09:40:53 -0700</bug_when>
    <thetext>Created attachment 31294
testprogress.c

A simple testcase.

Output is like this:

** Message: Progress is 0.100000
** Message: Status is WEBKIT_LOAD_PROVISIONAL
** Message: Status is WEBKIT_LOAD_COMMITTED
** Message: Progress is 0.500000
** Message: Progress is 0.669581
** Message: Progress is 0.698058
** Message: Progress is 0.718557
** Message: Progress is 0.746067
** Message: Progress is 0.767503
** Message: Progress is 0.791314
** Message: Progress is 0.814049
** Message: Progress is 0.816215
** Message: Status is WEBKIT_LOAD_FINISHED
** Message: Progress is 1.000000</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127129</commentid>
    <comment_count>2</comment_count>
      <attachid>31594</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-06-20 05:12:11 -0700</bug_when>
    <thetext>Created attachment 31594
Initial test case for loading

 ChangeLog                      |    8 +++
 GNUmakefile.am                 |    6 ++
 WebKit/gtk/ChangeLog           |   12 ++++
 WebKit/gtk/tests/testloading.c |  117 ++++++++++++++++++++++++++++++++++++++++
 4 files changed, 143 insertions(+), 0 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127130</commentid>
    <comment_count>3</comment_count>
      <attachid>31594</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-06-20 05:12:57 -0700</bug_when>
    <thetext>Comment on attachment 31594
Initial test case for loading

An initial test case for the loading API. We will want to also cover the progress here, in a future patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127133</commentid>
    <comment_count>4</comment_count>
      <attachid>31594</attachid>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2009-06-20 05:45:45 -0700</bug_when>
    <thetext>Comment on attachment 31594
Initial test case for loading

&gt; index 802a56b..34d5ced 100644
&gt; --- a/ChangeLog
&gt; +++ b/ChangeLog
&gt; @@ -1,3 +1,11 @@
&gt; +2009-06-20  Gustavo Noronha Silva  &lt;gns@gnome.org&gt;
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        Initial test case for loading.

Need to be more descriptive here.

&gt; +static void
&gt; +load_finished_cb(WebKitWebView* web_view, WebKitWebFrame* web_frame, gpointer data)
&gt; +{

Please put this in one line to match the other tests.

&gt; +    return g_test_run ();

remove spaces.

r=me with these changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127145</commentid>
    <comment_count>5</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-06-20 07:33:02 -0700</bug_when>
    <thetext>Landed in r44898.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127147</commentid>
    <comment_count>6</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-06-20 07:37:43 -0700</bug_when>
    <thetext>Not really fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127164</commentid>
    <comment_count>7</comment_count>
      <attachid>31594</attachid>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2009-06-20 15:01:45 -0700</bug_when>
    <thetext>Comment on attachment 31594
Initial test case for loading

Clearing flag so it will not appear in the commit queue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>136631</commentid>
    <comment_count>8</comment_count>
      <attachid>33975</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2009-08-03 07:58:56 -0700</bug_when>
    <thetext>Created attachment 33975
Test case for FIRST_VISUALLY_NON_EMPTY_LAYOUT after FINISHED

This is a test case for another issue I&apos;ve found in load_status system. When loading more than one document at the same time, sometimes, for some of the documents, WEBKIT_LOAD_FIRST_VISUALLY_NON_EMPTY_LAYOUT status is reported after WEBKIT_LOAD_FINISHED. The test program receives gnome bugs numbers.

$ ./test 102382 105129 106872 
** Message: Status for (null) is WEBKIT_LOAD_PROVISIONAL
** Message: Status for (null) is WEBKIT_LOAD_PROVISIONAL
** Message: Status for (null) is WEBKIT_LOAD_PROVISIONAL
** Message: Status for http://bugzilla.gnome.org/show_bug.cgi?id=102382 is WEBKIT_LOAD_COMMITTED
** Message: Status for http://bugzilla.gnome.org/show_bug.cgi?id=105129 is WEBKIT_LOAD_COMMITTED
** Message: Status for http://bugzilla.gnome.org/show_bug.cgi?id=105129 is WEBKIT_LOAD_FINISHED
** Message: Status for http://bugzilla.gnome.org/show_bug.cgi?id=106872 is WEBKIT_LOAD_COMMITTED
** Message: Status for http://bugzilla.gnome.org/show_bug.cgi?id=106872 is WEBKIT_LOAD_FIRST_VISUALLY_NON_EMPTY_LAYOUT
** Message: Status for http://bugzilla.gnome.org/show_bug.cgi?id=102382 is WEBKIT_LOAD_FIRST_VISUALLY_NON_EMPTY_LAYOUT
** Message: Status for http://bugzilla.gnome.org/show_bug.cgi?id=105129 is WEBKIT_LOAD_FIRST_VISUALLY_NON_EMPTY_LAYOUT
** Message: Status for http://bugzilla.gnome.org/show_bug.cgi?id=106872 is WEBKIT_LOAD_FINISHED
** Message: Status for http://bugzilla.gnome.org/show_bug.cgi?id=102382 is WEBKIT_LOAD_FINISHED

In this case for bug 105129, FINISHED is sent before FIRST_VISUALLY_NON_EMPTY_LAYOUT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>139319</commentid>
    <comment_count>9</comment_count>
    <who name="Benjamin Otte">otte</who>
    <bug_when>2009-08-12 07:25:32 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; - A weird 10% progress is reported for pages before the status even reaches
&gt; PROVISIONAL. Not sure where this comes from, but it should either go away or
&gt; come after PROVISIONAL or COMMITTED I think.
&gt; 
This is wanted behavior. See WebCore/loader/ProgressTracker.cpp. The current implementation clamps progress values to always be inside [0.1, 0.9] during an active load, so that you can actually see that something is happening.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>140083</commentid>
    <comment_count>10</comment_count>
    <who name="Christian Dywan">christian</who>
    <bug_when>2009-08-13 15:50:36 -0700</bug_when>
    <thetext>&gt; - A weird 10% progress is reported for pages before the status even reaches
&gt; PROVISIONAL. Not sure where this comes from, but it should either go away or
&gt; come after PROVISIONAL or COMMITTED I think.

Arguably a provisional load is already doing *something*, this comes down to what you perceive as progress. A user may be confused when he hits return and the progress bar is empty because it takes ages to obtain a response from the remote end. So I don&apos;t really think it&apos;s wrong.

&gt; - FINISHED comes before 100% progress is reported. I believe the natural
&gt; expectation would be to receive 100% while the status is still not finished,
&gt; and *then* receive FINISHED.

The FrameLoadClientGtk relies on FrameLoader. And FrameLoader actually has guards to catch this case, so it looks like a bug in WebCore. I mostly hacked the Gtk bits so I can&apos;t easily say where to look.  I guess this needs some looking at debugging output.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143592</commentid>
    <comment_count>11</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-08-31 02:32:35 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; &gt; - FINISHED comes before 100% progress is reported. I believe the natural
&gt; &gt; expectation would be to receive 100% while the status is still not finished,
&gt; &gt; and *then* receive FINISHED.
&gt; 
&gt; The FrameLoadClientGtk relies on FrameLoader. And FrameLoader actually has
&gt; guards to catch this case, so it looks like a bug in WebCore. I mostly hacked
&gt; the Gtk bits so I can&apos;t easily say where to look.  I guess this needs some
&gt; looking at debugging output.

It does not seem to be a bug but a deliberate decision. This patch fixes it:

diff --git a/WebCore/loader/FrameLoader.cpp b/WebCore/loader/FrameLoader.cpp
index 4530c11..f187b5d 100644
--- a/WebCore/loader/FrameLoader.cpp
+++ b/WebCore/loader/FrameLoader.cpp
@@ -3386,13 +3386,14 @@ void FrameLoader::checkLoadCompleteForThisFrame()
 #ifndef NDEBUG
             m_didDispatchDidCommitLoad = false;
 #endif
+            if (Page* page = m_frame-&gt;page())
+                page-&gt;progress()-&gt;progressCompleted(m_frame);
+
             if (!error.isNull())
                 m_client-&gt;dispatchDidFailLoad(error);
             else
                 m_client-&gt;dispatchDidFinishLoad();

-            if (Page* page = m_frame-&gt;page())
-                page-&gt;progress()-&gt;progressCompleted(m_frame);
             return;
         }

I guess I&apos;ll poke someone to see if it would be reasonable to change this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143868</commentid>
    <comment_count>12</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-09-01 05:45:13 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; I guess I&apos;ll poke someone to see if it would be reasonable to change this.

I opened a bug for this, https://bugs.webkit.org/show_bug.cgi?id=28851</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143882</commentid>
    <comment_count>13</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-09-01 07:27:13 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Created an attachment (id=33975) [details]
&gt; Test case for FIRST_VISUALLY_NON_EMPTY_LAYOUT after FINISHED
&gt; 
&gt; This is a test case for another issue I&apos;ve found in load_status system. When
&gt; loading more than one document at the same time, sometimes, for some of the
&gt; documents, WEBKIT_LOAD_FIRST_VISUALLY_NON_EMPTY_LAYOUT status is reported after
&gt; WEBKIT_LOAD_FINISHED. The test program receives gnome bugs numbers.
&gt; 
&gt; $ ./test 102382 105129 106872 
&gt; ** Message: Status for (null) is WEBKIT_LOAD_PROVISIONAL
&gt; ** Message: Status for (null) is WEBKIT_LOAD_PROVISIONAL
&gt; ** Message: Status for (null) is WEBKIT_LOAD_PROVISIONAL
&gt; ** Message: Status for http://bugzilla.gnome.org/show_bug.cgi?id=102382 is
&gt; WEBKIT_LOAD_COMMITTED
&gt; ** Message: Status for http://bugzilla.gnome.org/show_bug.cgi?id=105129 is
&gt; WEBKIT_LOAD_COMMITTED
&gt; ** Message: Status for http://bugzilla.gnome.org/show_bug.cgi?id=105129 is
&gt; WEBKIT_LOAD_FINISHED
&gt; ** Message: Status for http://bugzilla.gnome.org/show_bug.cgi?id=106872 is
&gt; WEBKIT_LOAD_COMMITTED
&gt; ** Message: Status for http://bugzilla.gnome.org/show_bug.cgi?id=106872 is
&gt; WEBKIT_LOAD_FIRST_VISUALLY_NON_EMPTY_LAYOUT
&gt; ** Message: Status for http://bugzilla.gnome.org/show_bug.cgi?id=102382 is
&gt; WEBKIT_LOAD_FIRST_VISUALLY_NON_EMPTY_LAYOUT
&gt; ** Message: Status for http://bugzilla.gnome.org/show_bug.cgi?id=105129 is
&gt; WEBKIT_LOAD_FIRST_VISUALLY_NON_EMPTY_LAYOUT
&gt; ** Message: Status for http://bugzilla.gnome.org/show_bug.cgi?id=106872 is
&gt; WEBKIT_LOAD_FINISHED
&gt; ** Message: Status for http://bugzilla.gnome.org/show_bug.cgi?id=102382 is
&gt; WEBKIT_LOAD_FINISHED
&gt; 
&gt; In this case for bug 105129, FINISHED is sent before
&gt; FIRST_VISUALLY_NON_EMPTY_LAYOUT

So, after looking a bit at the code in FrameView.cpp I&apos;m not sure there&apos;s anything wrong with this. It simple means we received all the data before WebCore had a chance to do the first visually non empty layout, so the order of the notifications makes sense I&apos;d say. We should probably add a note to the docs and adapt Epiphany to better take this into account.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143899</commentid>
    <comment_count>14</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-09-01 08:31:34 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; So, after looking a bit at the code in FrameView.cpp I&apos;m not sure there&apos;s
&gt; anything wrong with this. It simple means we received all the data before
&gt; WebCore had a chance to do the first visually non empty layout, so the order of
&gt; the notifications makes sense I&apos;d say. We should probably add a note to the
&gt; docs and adapt Epiphany to better take this into account.

I asked on IRC and aroben confirmed that yes, this is perfectly OK. Since the 10% stuff is also intentional and I have opened a different bug for the DONE/100% ordering issue, I&apos;ll close this bug now.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>31294</attachid>
            <date>2009-06-15 09:40:53 -0700</date>
            <delta_ts>2009-06-15 09:40:53 -0700</delta_ts>
            <desc>testprogress.c</desc>
            <filename>testprogress.c</filename>
            <type>text/plain</type>
            <size>1357</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">I2luY2x1ZGUgPHdlYmtpdC93ZWJraXQuaD4KCnN0YXRpYyB2b2lkCnByb2dyZXNzX2NiIChXZWJL
aXRXZWJWaWV3ICp2aWV3LCBHUGFyYW1TcGVjICpzcGVjLCBncG9pbnRlciBkYXRhKQp7CiAgZ2Rv
dWJsZSBwcm9ncmVzcyA9IHdlYmtpdF93ZWJfdmlld19nZXRfcHJvZ3Jlc3MgKHZpZXcpOwogIGdf
bWVzc2FnZSAoIlByb2dyZXNzIGlzICVmIiwgcHJvZ3Jlc3MpOwp9CgpzdGF0aWMgY29uc3QgY2hh
cioKc3RhdHVzX3RvX3N0cmluZyAoV2ViS2l0TG9hZFN0YXR1cyBzdGF0dXMpCnsKICBzd2l0Y2gg
KHN0YXR1cykgewogIGNhc2UgV0VCS0lUX0xPQURfUFJPVklTSU9OQUw6CiAgICByZXR1cm4gIldF
QktJVF9MT0FEX1BST1ZJU0lPTkFMIjsKICBjYXNlIFdFQktJVF9MT0FEX0NPTU1JVFRFRDoKICAg
IHJldHVybiAiV0VCS0lUX0xPQURfQ09NTUlUVEVEIjsKICBjYXNlIFdFQktJVF9MT0FEX0ZJTklT
SEVEOgogICAgcmV0dXJuICJXRUJLSVRfTE9BRF9GSU5JU0hFRCI7CiAgfQoKICBnX2Fzc2VydF9u
b3RfcmVhY2hlZCAoKTsKfQoKc3RhdGljIHZvaWQKbG9hZF9zdGF0dXNfY2IgKFdlYktpdFdlYlZp
ZXcgKnZpZXcsIEdQYXJhbVNwZWMgKnNwZWMsIGdwb2ludGVyIGRhdGEpCnsKICBXZWJLaXRMb2Fk
U3RhdHVzIHN0YXR1cyA9IHdlYmtpdF93ZWJfdmlld19nZXRfbG9hZF9zdGF0dXMgKHZpZXcpOwog
IGdfbWVzc2FnZSAoIlN0YXR1cyBpcyAlcyIsIHN0YXR1c190b19zdHJpbmcgKHN0YXR1cykpOwp9
CgppbnQgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKewogIEd0a1dpZGdldCAqd2luZG93
OwogIEd0a1dpZGdldCAqdmlldzsKCiAgaWYgKCFnX3RocmVhZF9zdXBwb3J0ZWQgKCkpCiAgICBn
X3RocmVhZF9pbml0IChOVUxMKTsKCiAgZ3RrX2luaXQgKCZhcmdjLCAmYXJndik7CgogIHdpbmRv
dyA9IGd0a193aW5kb3dfbmV3IChHVEtfV0lORE9XX1RPUExFVkVMKTsKICB2aWV3ID0gd2Via2l0
X3dlYl92aWV3X25ldyAoKTsKICBndGtfY29udGFpbmVyX2FkZCAoR1RLX0NPTlRBSU5FUiAod2lu
ZG93KSwgdmlldyk7CgogIGdfc2lnbmFsX2Nvbm5lY3QgKHZpZXcgLCJub3RpZnk6OnByb2dyZXNz
IiwgR19DQUxMQkFDSyAocHJvZ3Jlc3NfY2IpLCBOVUxMKTsKICBnX3NpZ25hbF9jb25uZWN0ICh2
aWV3ICwibm90aWZ5Ojpsb2FkLXN0YXR1cyIsIEdfQ0FMTEJBQ0sgKGxvYWRfc3RhdHVzX2NiKSwg
TlVMTCk7CgogIHdlYmtpdF93ZWJfdmlld19sb2FkX3VyaSAoV0VCS0lUX1dFQl9WSUVXICh2aWV3
KSwgImh0dHA6Ly9nb29nbGUuY29tIik7CiAgZ3RrX3dpZGdldF9zaG93X2FsbCAoR1RLX1dJREdF
VCAod2luZG93KSk7CgogIGd0a19tYWluICgpOwogIAogIHJldHVybiAwOwp9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>31594</attachid>
            <date>2009-06-20 05:12:11 -0700</date>
            <delta_ts>2009-06-20 15:01:45 -0700</delta_ts>
            <desc>Initial test case for loading</desc>
            <filename>Initial-test-case-for-loading.patch</filename>
            <type>text/plain</type>
            <size>6104</size>
            <attacher name="Gustavo Noronha (kov)">gustavo</attacher>
            
              <data encoding="base64">YjQ1YTVjNWNmMWEwMjU3MjBiNWI4N2Q0NjgwNWJiNjBiNmQ1NjMyNQpkaWZmIC0tZ2l0IGEvQ2hh
bmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDgwMmE1NmIuLjM0ZDVjZWQgMTAwNjQ0Ci0tLSBhL0No
YW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMSBAQAorMjAwOS0wNi0yMCAgR3Vz
dGF2byBOb3JvbmhhIFNpbHZhICA8Z25zQGdub21lLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbml0aWFsIHRlc3QgY2FzZSBmb3IgbG9hZGlu
Zy4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorCiAyMDA5LTA2LTE1ICBYYW4gTG9wZXog
IDx4bG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBHdXN0YXZvIE5vcm9u
aGEuCmRpZmYgLS1naXQgYS9HTlVtYWtlZmlsZS5hbSBiL0dOVW1ha2VmaWxlLmFtCmluZGV4IGU1
MjdjYTAuLmQyYjJjNzEgMTAwNjQ0Ci0tLSBhL0dOVW1ha2VmaWxlLmFtCisrKyBiL0dOVW1ha2Vm
aWxlLmFtCkBAIC01MjYsNiArNTI2LDcgQEAgd2Via2l0X3Rlc3RzX2xkZmxhZ3MgPSBcCiAJLW5v
LWZhc3QtaW5zdGFsbAogCiBURVNUX1BST0dTICs9IFByb2dyYW1zL3VuaXR0ZXN0cy90ZXN0aHR0
cGJhY2tlbmQgXAorCVByb2dyYW1zL3VuaXR0ZXN0cy90ZXN0bG9hZGluZyBcCiAJUHJvZ3JhbXMv
dW5pdHRlc3RzL3Rlc3RuZXR3b3JrcmVxdWVzdCBcCiAJUHJvZ3JhbXMvdW5pdHRlc3RzL3Rlc3R3
ZWJmcmFtZSBcCiAJUHJvZ3JhbXMvdW5pdHRlc3RzL3Rlc3R3ZWJiYWNrZm9yd2FyZGxpc3QgXApA
QCAtNTM5LDYgKzU0MCwxMSBAQCBQcm9ncmFtc191bml0dGVzdHNfdGVzdGh0dHBiYWNrZW5kX0NG
TEFHUyA9ICQod2Via2l0X3Rlc3RzX2NmbGFncykKIFByb2dyYW1zX3VuaXR0ZXN0c190ZXN0aHR0
cGJhY2tlbmRfTERBREQgPSAkKHdlYmtpdF90ZXN0c19sZGFkZCkKIFByb2dyYW1zX3VuaXR0ZXN0
c190ZXN0aHR0cGJhY2tlbmRfTERGTEFHUyA9ICQod2Via2l0X3Rlc3RzX2xkZmxhZ3MpCiAKK1By
b2dyYW1zX3VuaXR0ZXN0c190ZXN0bG9hZGluZ19TT1VSQ0VTID0gV2ViS2l0L2d0ay90ZXN0cy90
ZXN0bG9hZGluZy5jCitQcm9ncmFtc191bml0dGVzdHNfdGVzdGxvYWRpbmdfQ0ZMQUdTID0gJCh3
ZWJraXRfdGVzdHNfY2ZsYWdzKQorUHJvZ3JhbXNfdW5pdHRlc3RzX3Rlc3Rsb2FkaW5nX0xEQURE
ID0gJCh3ZWJraXRfdGVzdHNfbGRhZGQpCitQcm9ncmFtc191bml0dGVzdHNfdGVzdGxvYWRpbmdf
TERGTEFHUyA9ICQod2Via2l0X3Rlc3RzX2xkZmxhZ3MpCisKIFByb2dyYW1zX3VuaXR0ZXN0c190
ZXN0bmV0d29ya3JlcXVlc3RfU09VUkNFUyA9IFdlYktpdC9ndGsvdGVzdHMvdGVzdG5ldHdvcmty
ZXF1ZXN0LmMKIFByb2dyYW1zX3VuaXR0ZXN0c190ZXN0bmV0d29ya3JlcXVlc3RfQ0ZMQUdTID0g
JCh3ZWJraXRfdGVzdHNfY2ZsYWdzKQogUHJvZ3JhbXNfdW5pdHRlc3RzX3Rlc3RuZXR3b3JrcmVx
dWVzdF9MREFERCA9ICQod2Via2l0X3Rlc3RzX2xkYWRkKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0
ay9DaGFuZ2VMb2cgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCBmMjE5OGQ4Li45NzRkY2I2
IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9XZWJLaXQvZ3RrL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDA5LTA2LTIwICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEg
IDxnbnNAZ25vbWUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEluaXRpYWwgdGVzdCBjYXNlIGZvciBsb2FkaW5nLgorCisgICAgICAgICogdGVz
dHMvdGVzdGxvYWRpbmcuYzogQWRkZWQuCisgICAgICAgIChsb2FkX2ZpbmlzaGVkX2NiKToKKyAg
ICAgICAgKHN0YXR1c19jaGFuZ2VkX2NiKToKKyAgICAgICAgKHRlc3RfbG9hZGluZ19zdGF0dXMp
OgorICAgICAgICAobWFpbik6CisKIDIwMDktMDYtMTggIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAg
PGd1c3Rhdm8ubm9yb25oYUBjb2xsYWJvcmEuY28udWs+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
WGFuIExvcGV6IGFuZCBDaHJpc3RpYW4gRHl3YW4uCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3Rl
c3RzL3Rlc3Rsb2FkaW5nLmMgYi9XZWJLaXQvZ3RrL3Rlc3RzL3Rlc3Rsb2FkaW5nLmMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjI4MWI2NQotLS0gL2Rldi9udWxsCisrKyBi
L1dlYktpdC9ndGsvdGVzdHMvdGVzdGxvYWRpbmcuYwpAQCAtMCwwICsxLDExNyBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAwOSBHdXN0YXZvIE5vcm9uaGEgU2lsdmEKKyAqCisgKiBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisg
KiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1
dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo
ZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBz
ZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29y
LAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgPGd0ay9n
dGsuaD4KKyNpbmNsdWRlIDx3ZWJraXQvd2Via2l0Lmg+CisKKyNpZiBHTElCX0NIRUNLX1ZFUlNJ
T04oMiwgMTYsIDApICYmIEdUS19DSEVDS19WRVJTSU9OKDIsIDE0LCAwKQorCitzdGF0aWMgZ2Jv
b2xlYW4gaGFzX2JlZW5fcHJvdmlzaW9uYWwgPSBGQUxTRTsKK3N0YXRpYyBnYm9vbGVhbiBoYXNf
YmVlbl9jb21taXR0ZWQgPSBGQUxTRTsKK3N0YXRpYyBnYm9vbGVhbiBoYXNfYmVlbl9maXJzdF92
aXN1YWxseV9ub25fZW1wdHlfbGF5b3V0ID0gRkFMU0U7CisKK3N0YXRpYyB2b2lkCitsb2FkX2Zp
bmlzaGVkX2NiKFdlYktpdFdlYlZpZXcqIHdlYl92aWV3LCBXZWJLaXRXZWJGcmFtZSogd2ViX2Zy
YW1lLCBncG9pbnRlciBkYXRhKQoreworICAgIEdNYWluTG9vcCogbG9vcCA9IChHTWFpbkxvb3Aq
KWRhdGE7CisKKyAgICBnX2Fzc2VydChoYXNfYmVlbl9wcm92aXNpb25hbCk7CisgICAgZ19hc3Nl
cnQoaGFzX2JlZW5fY29tbWl0dGVkKTsKKyAgICBnX2Fzc2VydChoYXNfYmVlbl9maXJzdF92aXN1
YWxseV9ub25fZW1wdHlfbGF5b3V0KTsKKworICAgIGdfbWFpbl9sb29wX3F1aXQobG9vcCk7Cit9
CisKKworc3RhdGljIHZvaWQKK3N0YXR1c19jaGFuZ2VkX2NiKEdPYmplY3QqIG9iamVjdCwgR1Bh
cmFtU3BlYyogcHNwZWMsIGdwb2ludGVyIGRhdGEpCit7CisgICAgV2ViS2l0TG9hZFN0YXR1cyBz
dGF0dXMgPSB3ZWJraXRfd2ViX3ZpZXdfZ2V0X2xvYWRfc3RhdHVzKFdFQktJVF9XRUJfVklFVyhv
YmplY3QpKTsKKworICAgIHN3aXRjaCAoc3RhdHVzKSB7CisgICAgY2FzZSBXRUJLSVRfTE9BRF9Q
Uk9WSVNJT05BTDoKKyAgICAgICAgZ19hc3NlcnQoIWhhc19iZWVuX3Byb3Zpc2lvbmFsKTsKKyAg
ICAgICAgZ19hc3NlcnQoIWhhc19iZWVuX2NvbW1pdHRlZCk7CisgICAgICAgIGdfYXNzZXJ0KCFo
YXNfYmVlbl9maXJzdF92aXN1YWxseV9ub25fZW1wdHlfbGF5b3V0KTsKKyAgICAgICAgaGFzX2Jl
ZW5fcHJvdmlzaW9uYWwgPSBUUlVFOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFdFQktJVF9M
T0FEX0NPTU1JVFRFRDoKKyAgICAgICAgZ19hc3NlcnQoaGFzX2JlZW5fcHJvdmlzaW9uYWwpOwor
ICAgICAgICBnX2Fzc2VydCghaGFzX2JlZW5fY29tbWl0dGVkKTsKKyAgICAgICAgZ19hc3NlcnQo
IWhhc19iZWVuX2ZpcnN0X3Zpc3VhbGx5X25vbl9lbXB0eV9sYXlvdXQpOworICAgICAgICBoYXNf
YmVlbl9jb21taXR0ZWQgPSBUUlVFOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFdFQktJVF9M
T0FEX0ZJUlNUX1ZJU1VBTExZX05PTl9FTVBUWV9MQVlPVVQ6CisgICAgICAgIGdfYXNzZXJ0KGhh
c19iZWVuX3Byb3Zpc2lvbmFsKTsKKyAgICAgICAgZ19hc3NlcnQoaGFzX2JlZW5fY29tbWl0dGVk
KTsKKyAgICAgICAgZ19hc3NlcnQoIWhhc19iZWVuX2ZpcnN0X3Zpc3VhbGx5X25vbl9lbXB0eV9s
YXlvdXQpOworICAgICAgICBoYXNfYmVlbl9maXJzdF92aXN1YWxseV9ub25fZW1wdHlfbGF5b3V0
ID0gVFJVRTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBXRUJLSVRfTE9BRF9GSU5JU0hFRDoK
KyAgICAgICAgZ19hc3NlcnQoaGFzX2JlZW5fcHJvdmlzaW9uYWwpOworICAgICAgICBnX2Fzc2Vy
dChoYXNfYmVlbl9jb21taXR0ZWQpOworICAgICAgICBnX2Fzc2VydChoYXNfYmVlbl9maXJzdF92
aXN1YWxseV9ub25fZW1wdHlfbGF5b3V0KTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoK
KyAgICAgICAgZ19hc3NlcnRfbm90X3JlYWNoZWQoKTsKKyAgICB9Cit9CisKK3N0YXRpYyB2b2lk
IHRlc3RfbG9hZGluZ19zdGF0dXMoKQoreworICAgIFdlYktpdFdlYlZpZXcqIHdlYl92aWV3ID0g
V0VCS0lUX1dFQl9WSUVXKHdlYmtpdF93ZWJfdmlld19uZXcoKSk7CisgICAgR01haW5Mb29wKiBs
b29wID0gZ19tYWluX2xvb3BfbmV3KE5VTEwsIFRSVUUpOworCisgICAgZ19vYmplY3RfcmVmX3Np
bmsod2ViX3ZpZXcpOworCisgICAgZ19hc3NlcnRfY21waW50KHdlYmtpdF93ZWJfdmlld19nZXRf
bG9hZF9zdGF0dXMod2ViX3ZpZXcpLCA9PSwgV0VCS0lUX0xPQURfUFJPVklTSU9OQUwpOworCisg
ICAgZ19vYmplY3RfY29ubmVjdChHX09CSkVDVCh3ZWJfdmlldyksCisgICAgICAgICAgICAgICAg
ICAgICAic2lnbmFsOjpub3RpZnk6OmxvYWQtc3RhdHVzIiwgR19DQUxMQkFDSyhzdGF0dXNfY2hh
bmdlZF9jYiksIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAic2lnbmFsOjpsb2FkLWZpbmlz
aGVkIiwgR19DQUxMQkFDSyhsb2FkX2ZpbmlzaGVkX2NiKSwgbG9vcCwKKyAgICAgICAgICAgICAg
ICAgICAgIE5VTEwpOworCisgICAgLyogbG9hZF91cmkgd2lsbCB0cmlnZ2VyIHRoZSBuYXZpZ2F0
aW9uLXBvbGljeS1kZWNpc2lvbi1yZXF1ZXN0ZWQKKyAgICAgKiBzaWduYWwgZW1pc3Npb247Cisg
ICAgICovCisgICAgd2Via2l0X3dlYl92aWV3X2xvYWRfdXJpKHdlYl92aWV3LCAiaHR0cDovL2du
b21lLm9yZy8iKTsKKworICAgIGdfbWFpbl9sb29wX3J1bihsb29wKTsKKworICAgIGdfb2JqZWN0
X3VucmVmKHdlYl92aWV3KTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQor
eworICAgIGdfdGhyZWFkX2luaXQoTlVMTCk7CisgICAgZ3RrX3Rlc3RfaW5pdCgmYXJnYywgJmFy
Z3YsIE5VTEwpOworCisgICAgZ190ZXN0X2J1Z19iYXNlKCJodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy8iKTsKKyAgICBnX3Rlc3RfYWRkX2Z1bmMoIi93ZWJraXQvbG9hZGluZy9zdGF0dXMiLCB0ZXN0
X2xvYWRpbmdfc3RhdHVzKTsKKyAgICByZXR1cm4gZ190ZXN0X3J1biAoKTsKK30KKworI2Vsc2UK
K2ludCBtYWluKGludCBhcmdjLCBjaGFyKiogYXJndikKK3sKKyAgICBnX2NyaXRpY2FsKCJZb3Ug
d2lsbCBuZWVkIGF0IGxlYXN0IGdsaWItMi4xNi4wIGFuZCBndGstMi4xNC4wIHRvIHJ1biB0aGUg
dW5pdCB0ZXN0cy4gRG9pbmcgbm90aGluZyBub3cuIik7CisgICAgcmV0dXJuIDA7Cit9CisKKyNl
bmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>33975</attachid>
            <date>2009-08-03 07:58:56 -0700</date>
            <delta_ts>2009-08-03 08:00:30 -0700</delta_ts>
            <desc>Test case for FIRST_VISUALLY_NON_EMPTY_LAYOUT after FINISHED</desc>
            <filename>testloadstatus.c</filename>
            <type>text/plain</type>
            <size>1668</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">I2luY2x1ZGUgPHdlYmtpdC93ZWJraXQuaD4KCiNkZWZpbmUgR05PTUVfQlpfVVJMX0ZPUk1BVCAi
aHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9JXMiCgpzdGF0aWMgY29u
c3QgY2hhciAqCnN0YXR1c190b19zdHJpbmcgKFdlYktpdExvYWRTdGF0dXMgc3RhdHVzKQp7Cglz
d2l0Y2ggKHN0YXR1cykgewoJY2FzZSBXRUJLSVRfTE9BRF9QUk9WSVNJT05BTDoKCQlyZXR1cm4g
IldFQktJVF9MT0FEX1BST1ZJU0lPTkFMIjsKCWNhc2UgV0VCS0lUX0xPQURfQ09NTUlUVEVEOgoJ
CXJldHVybiAiV0VCS0lUX0xPQURfQ09NTUlUVEVEIjsKCWNhc2UgV0VCS0lUX0xPQURfRklOSVNI
RUQ6CgkJcmV0dXJuICJXRUJLSVRfTE9BRF9GSU5JU0hFRCI7CgljYXNlIFdFQktJVF9MT0FEX0ZJ
UlNUX1ZJU1VBTExZX05PTl9FTVBUWV9MQVlPVVQ6CgkJcmV0dXJuICJXRUJLSVRfTE9BRF9GSVJT
VF9WSVNVQUxMWV9OT05fRU1QVFlfTEFZT1VUIjsKCX0KCglnX2Fzc2VydF9ub3RfcmVhY2hlZCAo
KTsKfQoKc3RhdGljIHZvaWQKbG9hZF9zdGF0dXNfY2IgKFdlYktpdFdlYlZpZXcgKnZpZXcsIEdQ
YXJhbVNwZWMgKnNwZWMsIGdwb2ludGVyIGRhdGEpCnsKCVdlYktpdExvYWRTdGF0dXMgc3RhdHVz
ID0gd2Via2l0X3dlYl92aWV3X2dldF9sb2FkX3N0YXR1cyAodmlldyk7CglnX21lc3NhZ2UgKCJT
dGF0dXMgZm9yICVzIGlzICVzIiwKCQkgICB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3VyaSAodmlldyks
CgkJICAgc3RhdHVzX3RvX3N0cmluZyAoc3RhdHVzKSk7Cn0KCmludCBtYWluIChpbnQgYXJnYywg
Y2hhciAqYXJndltdKQp7CglHdGtXaWRnZXQgKndpbmRvdzsKCUd0a1dpZGdldCAqbm90ZWJvb2s7
CglHdGtXaWRnZXQgKnZpZXc7CglnaW50IGk7CgoJaWYgKCFnX3RocmVhZF9zdXBwb3J0ZWQgKCkp
CgkJZ190aHJlYWRfaW5pdCAoTlVMTCk7CgoJZ3RrX2luaXQgKCZhcmdjLCAmYXJndik7CgoJd2lu
ZG93ID0gZ3RrX3dpbmRvd19uZXcgKEdUS19XSU5ET1dfVE9QTEVWRUwpOwoJZ19zaWduYWxfY29u
bmVjdCAod2luZG93LCAiZGVsZXRlLWV2ZW50IiwKCQkJICBHX0NBTExCQUNLIChndGtfbWFpbl9x
dWl0KSwgTlVMTCk7Cglub3RlYm9vayA9IGd0a19ub3RlYm9va19uZXcgKCk7Cglmb3IgKGkgPSAx
OyBpIDwgYXJnYzsgaSsrKSB7CgkJZ2NoYXIgKnVybDsKCgkJdmlldyA9IHdlYmtpdF93ZWJfdmll
d19uZXcgKCk7CgkJZ19zaWduYWxfY29ubmVjdCAodmlldyAsIm5vdGlmeTo6bG9hZC1zdGF0dXMi
LAoJCQkJICBHX0NBTExCQUNLIChsb2FkX3N0YXR1c19jYiksIE5VTEwpOwoKCQlndGtfbm90ZWJv
b2tfYXBwZW5kX3BhZ2UgKEdUS19OT1RFQk9PSyAobm90ZWJvb2spLCB2aWV3LCBOVUxMKTsKCQln
dGtfd2lkZ2V0X3Nob3cgKHZpZXcpOwoKCQl1cmwgPSBnX3N0cmR1cF9wcmludGYgKEdOT01FX0Ja
X1VSTF9GT1JNQVQsIGFyZ3ZbaV0pOwoJCXdlYmtpdF93ZWJfdmlld19sb2FkX3VyaSAoV0VCS0lU
X1dFQl9WSUVXICh2aWV3KSwgdXJsKTsKCQlnX2ZyZWUgKHVybCk7CgoJfQoKCWd0a19jb250YWlu
ZXJfYWRkIChHVEtfQ09OVEFJTkVSICh3aW5kb3cpLCBub3RlYm9vayk7CglndGtfd2lkZ2V0X3No
b3cgKG5vdGVib29rKTsKCglndGtfd2lkZ2V0X3Nob3cgKHdpbmRvdyk7CgoJZ3RrX21haW4gKCk7
CgoJcmV0dXJuIDA7Cn0K
</data>

          </attachment>
      

    </bug>

</bugzilla>