<?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>66223</bug_id>
          
          <creation_ts>2011-08-15 07:06:39 -0700</creation_ts>
          <short_desc>[Qt] inspector/debugger/open-close-open.html fails on Qt port</short_desc>
          <delta_ts>2014-02-03 03:18:36 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</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="Zoltan Herczeg">zherczeg</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>loislo</cc>
    
    <cc>pfeldman</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>451053</commentid>
    <comment_count>0</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2011-08-15 07:06:39 -0700</bug_when>
    <thetext>Not sure this is platform specific, but it surely fails on Qt.

InspectorTest.evaluateInPage = function(code, callback)
{
    callback = InspectorTest.safeWrap(callback);

    function mycallback(error, result, wasThrown)
    {
        if (!error)
            callback(WebInspector.RemoteObject.fromPayload(result), wasThrown);
    }
    RuntimeAgent.evaluate(code, &quot;console&quot;, false, mycallback);
}

RuntimeAgent.evaluate does not do anything when it runs the second time (at least mycallback is not called). Could someone tell me which function runs for RuntimeAgent.evaluate? Something is bound to this property by utilities.js, but I don&apos;t know where it came from.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451058</commentid>
    <comment_count>1</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-08-15 07:24:58 -0700</bug_when>
    <thetext>(In reply to comment #0)
How is this related to zero-path-square-cap-rendering2.svg?

RuntimeAgent issues a command to the inspected page via InspectorFrontendHost.sendMessageToBackend where InspectorFrontendHost is a native bound object injected into the front-end context.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451150</commentid>
    <comment_count>2</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2011-08-15 11:05:38 -0700</bug_when>
    <thetext>Ooops, sorry for the wrong name. That is a different bug.

inspector/debugger/open-close-open.html is the reight one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452990</commentid>
    <comment_count>3</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2011-08-18 06:15:49 -0700</bug_when>
    <thetext>WebCore::InspectorController::show
Source/WebCore/inspector/InspectorController.cpp:326

Runs earlier than

WebCore::InspectorFrontendHost::disconnectFromBackend
Source/WebCore/inspector/InspectorFrontendHost.cpp:175

Thus, it destroys the window, and cause this test to fail.

Both are called from WebCore/page/DOMTimer.cpp thus, there is a usual async problem here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>453694</commentid>
    <comment_count>4</comment_count>
      <attachid>104474</attachid>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2011-08-19 01:28:59 -0700</bug_when>
    <thetext>Created attachment 104474
fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455420</commentid>
    <comment_count>5</comment_count>
      <attachid>104474</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-08-23 08:35:20 -0700</bug_when>
    <thetext>Comment on attachment 104474
fix

View in context: https://bugs.webkit.org/attachment.cgi?id=104474&amp;action=review

&gt; LayoutTests/http/tests/inspector/inspector-test.js:376
&gt; +        setTimeout(function() { callback(); }, 0);

layoutTestController.closeWebInspector -&gt; InspectorController::close -&gt; InspectorFrontend::disconnectFromBackend -&gt; setTimeout(WebInspector.disconnectFromBackend) -&gt; InspectorFrontendHost.disconnectFromBackend -&gt; closing the inspector.

This does prove that callback is called before inspector is closed, but this is somehow not critical for the rest of the ports sharing the logic. What is the failure symptoms? Could it be difference in the DRT implementation? (DRT should be closing inspector after each test synchronously).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458160</commentid>
    <comment_count>6</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2011-08-29 04:16:30 -0700</bug_when>
    <thetext>&gt; layoutTestController.closeWebInspector -&gt; InspectorController::close -&gt; InspectorFrontend::disconnectFromBackend -&gt; setTimeout(WebInspector.disconnectFromBackend) -&gt; InspectorFrontendHost.disconnectFromBackend -&gt; closing the inspector.
&gt; 
&gt; This does prove that callback is called before inspector is closed, but this is somehow not critical for the rest of the ports sharing the logic. What is the failure symptoms? Could it be difference in the DRT implementation? (DRT should be closing inspector after each test synchronously).

Probably there is a difference. Actually inspector is an entity resource in Qt, only one is allowed to be exists. The opening is synchronous, normally based on the path:

if (isWebInspectorTest(url))
     layoutTestController()-&gt;showWebInspector();

Symptoms: it opens a new inspector, and close it right after the next timer event is called. Since there is only one exists at a time there is no inspector after the closing.

Besides, the closing is normally done just before the end of the test by:

function closeInspectorAndNotifyDone()
{
    if (window._watchDogTimer)
        clearTimeout(window._watchDogTimer);

    layoutTestController.closeWebInspector();
    setTimeout(function() {
        layoutTestController.notifyDone();
    }, 0);
}

And that is an asynchronous operation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>975288</commentid>
    <comment_count>7</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2014-02-03 03:18:36 -0800</bug_when>
    <thetext>=== Bulk closing of Qt bugs ===

If you believe that this bug report is still relevant for a non-Qt port of webkit.org, please re-open it and remove [Qt] from the summary.

If you believe that this is still an important QtWebKit bug, please fill a new report at https://bugreports.qt-project.org and add a link to this issue. See http://qt-project.org/wiki/ReportingBugsInQt for additional guidelines.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104474</attachid>
            <date>2011-08-19 01:28:59 -0700</date>
            <delta_ts>2011-08-23 08:35:20 -0700</delta_ts>
            <desc>fix</desc>
            <filename>0001-inpector-bug.patch</filename>
            <type>text/plain</type>
            <size>2458</size>
            <attacher name="Zoltan Herczeg">zherczeg</attacher>
            
              <data encoding="base64">RnJvbSAyNzE5NmQxMDNiNjY4NzU4ZWIxNzlmZDBiMDljNmUxMDJlZjAyODVlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBab2x0YW4gSGVyY3plZyA8emhlcmN6ZWdAaW5mLnUtc3plZ2Vk
Lmh1PgpEYXRlOiBGcmksIDE5IEF1ZyAyMDExIDAxOjI3OjA0IC0wNzAwClN1YmplY3Q6IFtQQVRD
SF0gaW5wZWN0b3ItYnVnCgotLS0KIExheW91dFRlc3RzL0NoYW5nZUxvZyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgICAxNiArKysrKysrKysrKysrKysrCiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyB8ICAgIDMgKystCiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkICAgICAgICAgICAgICAgICAgICB8ICAgIDEgLQogMyBmaWxl
cyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjYTQy
MjU1Li45N2ZmMzcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDgtMTkgIFpvbHRhbiBI
ZXJjemVnICA8emhlcmN6ZWdAaW5mLnUtc3plZ2VkLmh1PgorCisgICAgICAgIFtRdF0gaW5zcGVj
dG9yL2RlYnVnZ2VyL29wZW4tY2xvc2Utb3Blbi5odG1sIGZhaWxzIG9uIFF0IHBvcnQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjIzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGxheW91dFRlc3RD
b250cm9sbGVyLmNsb3NlV2ViSW5zcGVjdG9yKCkgZG8gYSBsYXRlIGNsb3NlIGJ5CisgICAgICAg
IGNhbGxpbmcgc2V0VGltZW91dC4gSW4gdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24sIHRoZSBj
YWxsYmFjaygpCisgICAgICAgIGlzIGNhbGxlZCBiZWZvcmUgdGhlIGluc3BlY3RvciBpcyBjbG9z
ZWQuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qczoK
KyAgICAgICAgKC4pOgorICAgICAgICAoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9Ta2lwcGVk
OgorCiAyMDExLTA4LTA5ICBEb21pbmljIENvb25leSAgPGRvbWluaWNjQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBbVjhdIFRoZSBwcm90b3R5cGUgcHJvcGVydHkgb2YgRE9NIGNvbnN0cnVjdG9y
cyBzaG91bGQgYmUgcmVhZC1vbmx5LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcwppbmRleCBiMzc3NDBhLi5jNzEzMjE4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcwor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcwpA
QCAtMzcyLDcgKzM3Miw4IEBAIGZ1bmN0aW9uIGNsb3NlRnJvbnRlbmQoY2FsbGJhY2spCiAgICAg
Ly8gYmFjayB0byB0aGUgZnJvbnRlbmQgYmVmb3JlIGl0J3MgZGVzdHJveWVkLgogICAgIHNldFRp
bWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsb3NlV2Vi
SW5zcGVjdG9yKCk7Ci0gICAgICAgIGNhbGxiYWNrKCk7CisgICAgICAgIC8vIExldCB0aGUgY2xv
c2VXZWJJbnNwZWN0b3IgdG8gYWN0dWFsbHkgY2xvc2UgdGhlIHdpbmRvdy4KKyAgICAgICAgc2V0
VGltZW91dChmdW5jdGlvbigpIHsgY2FsbGJhY2soKTsgfSwgMCk7CiAgICAgfSwgMCk7CiB9CiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCmluZGV4IGI5OGVlNzQuLjFhNDMwYmMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQvU2tpcHBlZApAQCAtNTEyLDcgKzUxMiw2IEBAIGluc3BlY3Rvci9zdHlsZXMvc3R5bGVz
LWFkZC1ibGFuay1wcm9wZXJ0eS5odG1sCiAKICMgW1F0XSBOZXcgZmFpbHMgY2F1c2VkIGJ5IGNo
YW5nZShzKSBiZXR3ZWVuIHI3OTMxNy1yNzkzMjAuCiBodHRwL3Rlc3RzL2luc3BlY3Rvci9jaGFu
Z2UtaWZyYW1lLXNyYy5odG1sCi1pbnNwZWN0b3IvZGVidWdnZXIvb3Blbi1jbG9zZS1vcGVuLmh0
bWwKIAogIyBbUXRdIFRoaXMgdGVzdHMnIGZhaWxzIHByb2JhYmx5IGhhcyBzYW1lIHJlYXNvbiBh
cyB0ZXN0IGluc3BlY3Rvci9kZWJ1Z2dlci9vcGVuLWNsb3NlLW9wZW4uaHRtbC4KIGh0dHAvdGVz
dHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay1vcGVuLWxvYWQtcmVvcGVuLmh0bWwKLS0gCjEu
Ny4yLjMKCg==
</data>
<flag name="review"
          id="100318"
          type_id="1"
          status="-"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>