<?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>22037</bug_id>
          <alias>QtLauncherRobot</alias>
          <creation_ts>2008-11-02 08:42:30 -0800</creation_ts>
          <short_desc>QtLauncher robotization for testing purposes</short_desc>
          <delta_ts>2008-12-09 04:02:32 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>20932</dup_id>
          
          <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>0</everconfirmed>
          <reporter name="Balazs Kelemen">kbalazs</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>hausmann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>97406</commentid>
    <comment_count>0</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2008-11-02 08:42:30 -0800</bug_when>
    <thetext>I made a feature for QtLauncher: to load URL-s from a list file one by one.
The original goal was leak hunting, but I think it is usable for other testing
purposes or performance measuring as well.
I used the QtWebKit API. The loadFinished signal is the key of the
automatization. The feature can activated by the -r switch. The second parameter
should be the file with one URL at each line.
I hope you can find it useful.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97407</commentid>
    <comment_count>1</comment_count>
      <attachid>24844</attachid>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2008-11-02 08:46:56 -0800</bug_when>
    <thetext>Created attachment 24844
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97687</commentid>
    <comment_count>2</comment_count>
      <attachid>24844</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2008-11-05 08:25:35 -0800</bug_when>
    <thetext>Comment on attachment 24844
proposed patch

Is this patch obsolete through bug 20932 ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97705</commentid>
    <comment_count>3</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2008-11-05 10:30:37 -0800</bug_when>
    <thetext>I thought it would be better if I create a separeted bugreport for the
robotization feature. Where shall I send the new version that follows
your comments in bug 20932? Here or there?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>98134</commentid>
    <comment_count>4</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2008-11-10 02:17:31 -0800</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of 20932 ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>101957</commentid>
    <comment_count>5</comment_count>
      <attachid>24844</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2008-12-09 02:31:16 -0800</bug_when>
    <thetext>Comment on attachment 24844
proposed patch

&gt; Index: WebKit/qt/ChangeLog
&gt; ===================================================================
&gt; --- WebKit/qt/ChangeLog	(revision 37444)
&gt; +++ WebKit/qt/ChangeLog	(working copy)
&gt; @@ -1,3 +1,24 @@
&gt; +2008-10-09  System User  &lt;set EMAIL_ADDRESS environment variable&gt;

Please add your real name and email address.

&gt; --- WebKit/qt/QtLauncher/QtLauncher.pro	(revision 37432)
&gt; +++ WebKit/qt/QtLauncher/QtLauncher.pro	(working copy)
&gt; @@ -3,6 +3,9 @@ SOURCES += main.cpp
&gt;  CONFIG -= app_bundle
&gt;  CONFIG += uitools
&gt;  DESTDIR = ../../../bin
&gt; +INCPATH += $$PWD/../../../JavaScriptCore/wtf
&gt; +LIBS += -L../../../JavaScriptCore/ 
&gt; +LIBS += -lJavaScriptCore

I don&apos;t think we should use the WTF types outside of WebCore, so this should not be necessary.

&gt; +public slots:
&gt; +    void loadNext()
&gt; +    {
&gt; +        QString qstr;
&gt; +        if (getUrl(qstr)) {
&gt; +            QUrl url(qstr, QUrl::StrictMode);
&gt; +            if (url.isValid()) {
&gt; +                m_stdOut&lt;&lt;&quot;Loading &quot;&lt;&lt;qstr&lt;&lt;&quot; ......&quot;&lt;&lt;endl;

Coding style, please put spaces between the arguments.

&gt; +private:
&gt; +    WTF::Vector&lt;QString&gt; m_urls;

I suggest the use of QStringList instead. This way we do not have to have to pull in WTF or the static JavaScriptCore library.

The rest of the patch looks good, heads up :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>101960</commentid>
    <comment_count>6</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2008-12-09 04:02:32 -0800</bug_when>
    <thetext>I finished the patch in bug 20932. Now it uses QVector for the strings.
I&apos;m sorry if I confused yo. I would not create this bugriport.
So, I leave this as a duplicate, and let&apos;s continue the discuss at bug 20932!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24844</attachid>
            <date>2008-11-02 08:46:56 -0800</date>
            <delta_ts>2008-12-09 02:31:16 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>QtLauncherRobot.patch</filename>
            <type>text/plain</type>
            <size>5002</size>
            <attacher name="Balazs Kelemen">kbalazs</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gMzc0NDQpCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMDgtMTAtMDkgIFN5c3RlbSBVc2VyICA8c2V0IEVNQUlM
X0FERFJFU1MgZW52aXJvbm1lbnQgdmFyaWFibGU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRXh0ZW5kZWQgUXRMYXVuY2hlciBzbyBub3cgaXQgY2Fu
IGxvYWQgcGFnZXMgZnJvbSBhbiB1cmwgbGlzdAorICAgICAgICBvbmUgYnkgb25lLiBUaGlzIGNh
biBiZSB1c2VmdWwgZm9yIHRlc3RpbmcgcHVycG9zZXMgKGVxLiBsZWFrIGh1bnRpbmcpLgorICAg
ICAgICBUaGUgLXIgb3B0aW9uIGFjdGl2YXRlcyB0aGlzIGZlYXR1cmUuCisKKyAgICAgICAgKiBR
dExhdW5jaGVyL1F0TGF1bmNoZXIucHJvOgorICAgICAgICBCZWNhdXNlIHVzaW5nIG9mIFdURjo6
VmVjdG9yIGxpYkphdmFTY3JpcHRDb3JlIGhhZCB0byBiZWVuIGFkZGVkIHRvIExJQlMuCisgICAg
ICAgICogUXRMYXVuY2hlci9tYWluLmNwcDoKKyAgICAgICAgKE1haW5XaW5kb3c6OndlYlBhZ2Up
OgorICAgICAgICBKdXN0IGEgY29kaW5nIHN0eWxlIHJlcGFpcmluZyAoKiB3cml0dGVuIHdpdGgg
bm8gc3BhY2UgYmV0d2VlbiB0aGUgcmV0dXJuIHR5cGUgbmFtZSkKKyAgICAgICAgKE1haW5XaW5k
b3c6OndlYlZpZXcpOgorICAgICAgICBJIG11c3QgZ2V0IHRoZSB3ZWJWaWV3IHRvIGNvbm5lY3Qg
aXQgd2l0aCB0aGUgVVJMTG9hZGVyIG9iamVjdC4KKyAgICAgICAgKFVSTExvYWRlcjo6VVJMTG9h
ZGVyKToKKyAgICAgICAgKFVSTExvYWRlcjo6bG9hZE5leHQpOgorICAgICAgICAoVVJMTG9hZGVy
Ojppbml0KToKKyAgICAgICAgKFVSTExvYWRlcjo6Z2V0VXJsKToKKyAgICAgICAgKG1haW4pOgor
CiAyMDA4LTEwLTA4ICBNYXR0aGlhcyBFdHRyaWNoIDxldHRyaWNoQG5va2lhLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBTaW1vbi4KSW5kZXg6IFdlYktpdC9xdC9RdExhdW5jaGVyL1F0TGF1
bmNoZXIucHJvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9RdExhdW5jaGVyL1F0TGF1bmNoZXIu
cHJvCShyZXZpc2lvbiAzNzQzMikKKysrIFdlYktpdC9xdC9RdExhdW5jaGVyL1F0TGF1bmNoZXIu
cHJvCSh3b3JraW5nIGNvcHkpCkBAIC0zLDYgKzMsOSBAQCBTT1VSQ0VTICs9IG1haW4uY3BwCiBD
T05GSUcgLT0gYXBwX2J1bmRsZQogQ09ORklHICs9IHVpdG9vbHMKIERFU1RESVIgPSAuLi8uLi8u
Li9iaW4KK0lOQ1BBVEggKz0gJCRQV0QvLi4vLi4vLi4vSmF2YVNjcmlwdENvcmUvd3RmCitMSUJT
ICs9IC1MLi4vLi4vLi4vSmF2YVNjcmlwdENvcmUvIAorTElCUyArPSAtbEphdmFTY3JpcHRDb3Jl
CiAKIGluY2x1ZGUoLi4vLi4vLi4vV2ViS2l0LnByaSkKIApJbmRleDogV2ViS2l0L3F0L1F0TGF1
bmNoZXIvbWFpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L1F0TGF1bmNoZXIvbWFpbi5j
cHAJKHJldmlzaW9uIDM3NDMyKQorKysgV2ViS2l0L3F0L1F0TGF1bmNoZXIvbWFpbi5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQyLDYgKzQyLDExIEBACiAKICNpbmNsdWRlIDxRdFVpVG9vbHMvUVVp
TG9hZGVyPgogCisjaW5jbHVkZSA8VmVjdG9yLmg+CisjaW5jbHVkZSA8UVRleHRTdHJlYW0+Cisj
aW5jbHVkZSA8UUZpbGU+CisjaW5jbHVkZSA8Y3N0ZGlvPgorCiBjbGFzcyBXZWJQYWdlIDogcHVi
bGljIFFXZWJQYWdlCiB7CiBwdWJsaWM6CkBAIC04MywxMCArODgsMTQgQEAgcHVibGljOgogICAg
ICAgICB9CiAgICAgfQogCi0gICAgUVdlYlBhZ2UgKndlYlBhZ2UoKSBjb25zdCB7CisgICAgUVdl
YlBhZ2UqIHdlYlBhZ2UoKSBjb25zdCB7CiAgICAgICAgIHJldHVybiB2aWV3LT5wYWdlKCk7CiAg
ICAgfQogCisgICAgUVdlYlZpZXcqIHdlYlZpZXcoKSBjb25zdCB7CisgICAgICAgIHJldHVybiB2
aWV3OworICAgIH0KKwogcHJvdGVjdGVkIHNsb3RzOgogCiAgICAgdm9pZCBjaGFuZ2VMb2NhdGlv
bigpIHsKQEAgLTMyMiw2ICszMzEsNzIgQEAgUU9iamVjdCAqV2ViUGFnZTo6Y3JlYXRlUGx1Z2lu
KGNvbnN0IFFTdAogICAgIHJldHVybiBsb2FkZXIuY3JlYXRlV2lkZ2V0KGNsYXNzSWQsIHZpZXco
KSk7CiB9CiAKK2NsYXNzIFVSTExvYWRlciA6IHB1YmxpYyBRT2JqZWN0Cit7CisgICAgUV9PQkpF
Q1QKK3B1YmxpYzoKKyAgICBVUkxMb2FkZXIoUVdlYlZpZXcqIHZpZXcsIGNvbnN0IFFTdHJpbmcm
IGlucHV0RmlsZU5hbWUpCisgICAgICAgIDogbV92aWV3KHZpZXcpLAorICAgICAgICAgbV9zdGRP
dXQoc3Rkb3V0KQorICAgIHsKKyAgICAgICAgaW5pdChpbnB1dEZpbGVOYW1lKTsKKyAgICB9CisK
K3B1YmxpYyBzbG90czoKKyAgICB2b2lkIGxvYWROZXh0KCkKKyAgICB7CisgICAgICAgIFFTdHJp
bmcgcXN0cjsKKyAgICAgICAgaWYgKGdldFVybChxc3RyKSkgeworICAgICAgICAgICAgUVVybCB1
cmwocXN0ciwgUVVybDo6U3RyaWN0TW9kZSk7CisgICAgICAgICAgICBpZiAodXJsLmlzVmFsaWQo
KSkgeworICAgICAgICAgICAgICAgIG1fc3RkT3V0PDwiTG9hZGluZyAiPDxxc3RyPDwiIC4uLi4u
LiI8PGVuZGw7CisgICAgICAgICAgICAgICAgbV92aWV3LT5sb2FkKHVybCk7CisgICAgICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGxvYWROZXh0KCk7CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBkaXNjb25uZWN0KG1fdmlldywgMCwgdGhpcywg
MCk7CisgICAgICAgIH0KKyAgICB9CisKK3ByaXZhdGU6CisgICAgdm9pZCBpbml0KGNvbnN0IFFT
dHJpbmcmIGlucHV0RmlsZU5hbWUpCisgICAgeworICAgICAgICBRRmlsZSBpbnB1dEZpbGUoaW5w
dXRGaWxlTmFtZSk7CisgICAgICAgIGlmIChpbnB1dEZpbGUub3BlbihRSU9EZXZpY2U6OlJlYWRP
bmx5IHwgUUlPRGV2aWNlOjpUZXh0KSkgeworICAgICAgICAgICAgUVRleHRTdHJlYW0gc3RyZWFt
KCZpbnB1dEZpbGUpOworICAgICAgICAgICAgUVN0cmluZyBsaW5lOworICAgICAgICAgICAgaW50
IGkgPSAwOworICAgICAgICAgICAgd2hpbGUgKHRydWUpIHsKKyAgICAgICAgICAgICAgICBsaW5l
ID0gc3RyZWFtLnJlYWRMaW5lKCk7CisgICAgICAgICAgICAgICAgaWYgKGxpbmUuaXNOdWxsKCkp
CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIG1fdXJscy5pbnNl
cnQoaSsrLCBsaW5lKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgIHFEZWJ1ZygpIDw8ICJDYW50J3Qgb3BlbiBsaXN0IGZpbGUiOworICAgICAgICAgICAgZXhp
dCgwKTsKKyAgICAgICAgfQorICAgICAgICBtX2luZGV4ID0gMDsKKyAgICAgICAgaW5wdXRGaWxl
LmNsb3NlKCk7CisgICAgfQorCisgICAgYm9vbCBnZXRVcmwoUVN0cmluZyYgcXN0cikKKyAgICB7
CisgICAgICAgIGlmIChtX2luZGV4ID09IG1fdXJscy5zaXplKCkpIHsKKyAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgICAgICBxc3RyID0gbV91cmxzW21faW5kZXgrK107
CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworcHJpdmF0ZToKKyAgICBXVEY6OlZlY3Rv
cjxRU3RyaW5nPiBtX3VybHM7CisgICAgaW50IG1faW5kZXg7CisgICAgUVdlYlZpZXcqIG1fdmll
dzsKKyAgICBRVGV4dFN0cmVhbSBtX3N0ZE91dDsKK307CisKICNpbmNsdWRlICJtYWluLm1vYyIK
IAogaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQpAQCAtMzQyLDEyICs0MTcsMjYgQEAg
aW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgIFFXZWJTZXR0aW5nczo6Z2xvYmFs
U2V0dGluZ3MoKS0+c2V0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6RGV2ZWxvcGVyRXh0cmFzRW5h
YmxlZCwgdHJ1ZSk7CiAKICAgICBjb25zdCBRU3RyaW5nTGlzdCBhcmdzID0gYXBwLmFyZ3VtZW50
cygpOwotICAgIGlmIChhcmdzLmNvdW50KCkgPiAxKQotICAgICAgICB1cmwgPSBhcmdzLmF0KDEp
OwotCi0gICAgTWFpbldpbmRvdyB3aW5kb3codXJsKTsKLSAgICB3aW5kb3cuc2hvdygpOwogCi0g
ICAgcmV0dXJuIGFwcC5leGVjKCk7CisgICAgLy9yb2JvdGl6ZWQKKyAgICBpZiAoYXJncy5jb250
YWlucyhRTGF0aW4xU3RyaW5nKCItciIpKSkgeworICAgICAgICBRU3RyaW5nIGxpc3RGaWxlID0g
YXJncy5hdCgyKTsKKyAgICAgICAgaWYgKCEoYXJncy5jb3VudCgpPT0zKSAmJiAoUUZpbGU6OmV4
aXN0cyhsaXN0RmlsZSkpKSB7CisgICAgICAgICAgICBxRGVidWcoKSA8PCAiVXNhZ2U6IFF0TGF1
bmNoZXIgLXIgbGlzdGZpbGUiOworICAgICAgICAgICAgZXhpdCgwKTsKKyAgICAgICAgfQorICAg
ICAgICBNYWluV2luZG93IHdpbmRvdyh1cmwpOworICAgICAgICBRV2ViVmlldyAqdmlldyA9IHdp
bmRvdy53ZWJWaWV3KCk7CisgICAgICAgIFVSTExvYWRlciBsb2FkZXIodmlldywgbGlzdEZpbGUp
OworICAgICAgICBRT2JqZWN0Ojpjb25uZWN0KHZpZXcsIFNJR05BTChsb2FkRmluaXNoZWQoYm9v
bCkpLCAmbG9hZGVyLCBTTE9UKGxvYWROZXh0KCkpKTsKKyAgICAgICAgd2luZG93LnNob3coKTsK
KyAgICAgICAgcmV0dXJuIGFwcC5leGVjKCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKGFy
Z3MuY291bnQoKSA+IDEpIHsKKyAgICAgICAgICAgIHVybCA9IGFyZ3MuYXQoMSk7CisgICAgICAg
IH0KKyAgICAgICAgTWFpbldpbmRvdyB3aW5kb3codXJsKTsKKyAgICAgICAgd2luZG93LnNob3co
KTsKKyAgICAgICAgcmV0dXJuIGFwcC5leGVjKCk7CisgICAgfQogfQotCg==
</data>
<flag name="review"
          id="11375"
          type_id="1"
          status="-"
          setter="hausmann"
    />
          </attachment>
      

    </bug>

</bugzilla>