<?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>43827</bug_id>
          
          <creation_ts>2010-08-10 19:28:39 -0700</creation_ts>
          <short_desc>[Qt] Unable to load pages on QtTestBrowser after canceling a page load.</short_desc>
          <delta_ts>2010-10-20 15:42:29 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>S60 Hardware</rep_platform>
          <op_sys>S60 3rd edition</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexandra Santos">alexandra.1.santos</reporter>
          <assigned_to name="Yi Shen">max.hong.shen</assigned_to>
          <cc>ademar</cc>
    
    <cc>commit-queue</cc>
    
    <cc>cshu</cc>
    
    <cc>kling</cc>
    
    <cc>suresh.voruganti</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>262973</commentid>
    <comment_count>0</comment_count>
    <who name="Alexandra Santos">alexandra.1.santos</who>
    <bug_when>2010-08-10 19:28:39 -0700</bug_when>
    <thetext>The user is unable to continue loading pages after cancelling a page load. 

Steps to reproduce:

1.- Flash the device with symbian 4 platform.
2.- Install and launch QtTestBrowser
3.- Try to load a page and click the &quot;cancel&quot; button before the page finish loading.

Actual results:

Page loading is cancelled and the &quot;load/reload&quot; button does not get enabled; therefore, unable to continue loading pages.

Expected results:

After cancelling a page loading, the &quot;load/reload&quot; button would be enabled. Therefore; user would be able to continue loading pages.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295498</commentid>
    <comment_count>1</comment_count>
      <attachid>71036</attachid>
    <who name="Yi Shen">max.hong.shen</who>
    <bug_when>2010-10-18 07:55:16 -0700</bug_when>
    <thetext>Created attachment 71036
first try</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295500</commentid>
    <comment_count>2</comment_count>
    <who name="Yi Shen">max.hong.shen</who>
    <bug_when>2010-10-18 08:01:07 -0700</bug_when>
    <thetext>After triggered stop action on qwebpage to cancel page loading, the Navigation Actions (back, forward, reload, stop ...) doesn&apos;t get updated in most cases. So the patch tries to update navigation actions explicitly after calling mainFrame()-&gt;d-&gt;frame-&gt;loader()-&gt;stopForUserCancel().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295504</commentid>
    <comment_count>3</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-10-18 08:16:54 -0700</bug_when>
    <thetext>Only STOP breaks it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295509</commentid>
    <comment_count>4</comment_count>
      <attachid>71036</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-10-18 08:19:19 -0700</bug_when>
    <thetext>Comment on attachment 71036
first try

It looks sane to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295510</commentid>
    <comment_count>5</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-10-18 08:19:34 -0700</bug_when>
    <thetext>Any change to have a autotest for it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295512</commentid>
    <comment_count>6</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-10-18 08:20:04 -0700</bug_when>
    <thetext>QT = QuickTime :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295517</commentid>
    <comment_count>7</comment_count>
    <who name="Yi Shen">max.hong.shen</who>
    <bug_when>2010-10-18 08:26:35 -0700</bug_when>
    <thetext>Thanks for super fast review, Antonio :) I don&apos;t have any any auto test for it now since there is no such test existing. Only did some tests on the QtTestBrowser.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295523</commentid>
    <comment_count>8</comment_count>
      <attachid>71036</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-18 08:41:32 -0700</bug_when>
    <thetext>Comment on attachment 71036
first try

Clearing flags on attachment: 71036

Committed r69961: &lt;http://trac.webkit.org/changeset/69961&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295524</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-18 08:41:37 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296881</commentid>
    <comment_count>10</comment_count>
    <who name="Suresh Voruganti">suresh.voruganti</who>
    <bug_when>2010-10-20 11:32:25 -0700</bug_when>
    <thetext>Pls cherry pick the fix for Qtwebkit 2.1 as this is Qtwebkit2.1 Basic Acceptance test failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296884</commentid>
    <comment_count>11</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-10-20 11:35:52 -0700</bug_when>
    <thetext>Kling raised a concern with the patch and suggested we addressing that in FrameLoaderClient side, which I found reasonable.

Yi, news on that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296914</commentid>
    <comment_count>12</comment_count>
    <who name="Yi Shen">max.hong.shen</who>
    <bug_when>2010-10-20 12:12:05 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; Kling raised a concern with the patch and suggested we addressing that in FrameLoaderClient side, which I found reasonable.
&gt; 
&gt; Yi, news on that?

Hi Antonio, I checked the FrameLoaderClientQt and FrameLoader, and I think the only place we can updateNav in FrameLoaderClientQt is in frameLoadCompleted(). The down side is that frameLoadCompleted can be called multiple times.

void FrameLoaderClientQt::frameLoadCompleted()
{
    // Note: Can be called multiple times.
    if (!m_loadError.isNull() &amp;&amp; m_loadError.isCancellation())
        m_webFrame-&gt;page()-&gt;d-&gt;updateNavigationActions();
}

Any thoughts?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296918</commentid>
    <comment_count>13</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-10-20 12:15:50 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #11)
&gt; &gt; Kling raised a concern with the patch and suggested we addressing that in FrameLoaderClient side, which I found reasonable.
&gt; &gt; 
&gt; &gt; Yi, news on that?
&gt; 
&gt; Hi Antonio, I checked the FrameLoaderClientQt and FrameLoader, and I think the only place we can updateNav in FrameLoaderClientQt is in frameLoadCompleted(). The down side is that frameLoadCompleted can be called multiple times.
&gt; 
&gt; void FrameLoaderClientQt::frameLoadCompleted()
&gt; {
&gt;     // Note: Can be called multiple times.
&gt;     if (!m_loadError.isNull() &amp;&amp; m_loadError.isCancellation())
&gt;         m_webFrame-&gt;page()-&gt;d-&gt;updateNavigationActions();
&gt; }
&gt; 
&gt; Any thoughts?

It gets called multiple times in what situations? like one per frame?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296940</commentid>
    <comment_count>14</comment_count>
    <who name="Yi Shen">max.hong.shen</who>
    <bug_when>2010-10-20 12:39:25 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #12)
&gt; It gets called multiple times in what situations? like one per frame?
No, seems one per sub resource loader. For most often, after user cancel loading, the state of frame is set to FrameStateComplete. Then all the sub resource loaders call FrameLoader::checkLoadCompleteForThisFrame when removing itself from the DocumentLoader. In checkLoadCompleteForThisFrame, it calls the FrameLoaderClientQt::frameLoadCompleted() since the state is FrameStateComplete.

e.g, when cancel loading cnn.com, I saw frameLoadCompleted gets called &gt; 30 times.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297077</commentid>
    <comment_count>15</comment_count>
    <who name="Ademar Reis">ademar</who>
    <bug_when>2010-10-20 15:38:04 -0700</bug_when>
    <thetext>Revision r69961 cherry-picked into qtwebkit-2.1 with commit 230afa2 &lt;http://gitorious.org/webkit/qtwebkit/commit/230afa2&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71036</attachid>
            <date>2010-10-18 07:55:16 -0700</date>
            <delta_ts>2010-10-18 08:41:32 -0700</delta_ts>
            <desc>first try</desc>
            <filename>43827.patch</filename>
            <type>text/plain</type>
            <size>1097</size>
            <attacher name="Yi Shen">max.hong.shen</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gNjk5NTgpCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMTAtMTggIFlpIFNoZW4gIDx5aS40LnNoZW5Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFtRVF0gVW5hYmxlIHRvIGxvYWQgcGFnZXMgb24gUXRUZXN0QnJvd3NlciBhZnRlciBjYW5jZWxp
bmcgYSBwYWdlIGxvYWQuIAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDM4MjcKKworICAgICAgICAqIEFwaS9xd2VicGFnZS5jcHA6CisgICAgICAgIChR
V2ViUGFnZTo6dHJpZ2dlckFjdGlvbik6CisKIDIwMTAtMTAtMTUgIFFpIFpoYW5nICA8cWkuMi56
aGFuZ0Bub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kcmVhcyBLbGluZy4KSW5k
ZXg6IFdlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9B
cGkvcXdlYnBhZ2UuY3BwCShyZXZpc2lvbiA2OTk1NikKKysrIFdlYktpdC9xdC9BcGkvcXdlYnBh
Z2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTc0LDYgKzIxNzQsNyBAQCB2b2lkIFFXZWJQYWdl
Ojp0cmlnZ2VyQWN0aW9uKFdlYkFjdGlvbiBhCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
Y2FzZSBTdG9wOgogICAgICAgICAgICAgbWFpbkZyYW1lKCktPmQtPmZyYW1lLT5sb2FkZXIoKS0+
c3RvcEZvclVzZXJDYW5jZWwoKTsKKyAgICAgICAgICAgIGQtPnVwZGF0ZU5hdmlnYXRpb25BY3Rp
b25zKCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBSZWxvYWQ6CiAgICAgICAg
ICAgICBtYWluRnJhbWUoKS0+ZC0+ZnJhbWUtPmxvYWRlcigpLT5yZWxvYWQoLyplbmR0b2VuZHJl
bG9hZCovZmFsc2UpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>