<?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>44265</bug_id>
          
          <creation_ts>2010-08-19 07:50:25 -0700</creation_ts>
          <short_desc>[Qt] Ability to set custom userAgent for WebKit2/WebKit</short_desc>
          <delta_ts>2010-10-05 08:03:03 -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>WebKit2</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="Zoltan Horvath">zoltan</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>hausmann</cc>
    
    <cc>kenneth</cc>
    
    <cc>kimmo.t.kinnunen</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>266734</commentid>
    <comment_count>0</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-08-19 07:50:25 -0700</bug_when>
    <thetext>We need to add ability to set custom user agents for WebKit2.
WebKit2&apos;s API was added in http://trac.webkit.org/changeset/65644 , bug #44215 .

Currently, we have a good QString QWebPage::userAgentForUrl(const QUrl&amp; url) function. We might make a callback function e.g. setUserAgentFunction(...) and it might be useful to have generally a QString qWebKitDefaultUserAgentForPlatform() function (it would be like qWebKitVersion methods), and then even the current implementation could call to that.

Another way is just to copy the code from qwebpage.cpp and make it for WebKit2 only for now.

We should discuss these.

Zoltan</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>266756</commentid>
    <comment_count>1</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-08-19 08:31:38 -0700</bug_when>
    <thetext>We could copy the current code into a (build with webkit2 only) qWebKitDefaultUserAgentForPlatform() method, and then use that for WebKit2.

I am in favor of the qWebKitDefaultUserAgentForPlatform() method in general, so what do you think Simon? time for QtWebKitGlobal.h ? :-)

Btw, we also want to write &quot;MeeGo Handset UX&quot; when Q_WS_MAEMO_6 (or what ever it is called on Harmattan) is defined - and Mobile Safari as well.

I think we want something similar to Android:

Mozilla/5.0 (Linux; U; Android 2.1; en-us; Nexus One Build/ERD62) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17 –Nexus 

We currently do:

&quot;Mozilla/5.0 (%Platform%; %Security%; %Subplatform%; %Locale%) AppleWebKit/%WebKitVersion% (KHTML, like Gecko) %AppVersion Safari/%WebKitVersion%&quot;

So I guess the following would be nice:

Mozilla/5.0 (MeeGo Handset UX; U; Linux armv7l; en-US; *vendor addition*) AppleWebKit/*** (KHTML, like Gecko) Mobile Safari/***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289563</commentid>
    <comment_count>2</comment_count>
      <attachid>69776</attachid>
    <who name="Kimmo Kinnunen">kimmo.t.kinnunen</who>
    <bug_when>2010-10-05 06:40:43 -0700</bug_when>
    <thetext>Created attachment 69776
Patch implementing API to set custom user agent</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289564</commentid>
    <comment_count>3</comment_count>
      <attachid>69776</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-05 06:41:13 -0700</bug_when>
    <thetext>Comment on attachment 69776
Patch implementing API to set custom user agent

Rejecting patch 69776 from commit-queue.

kimmo.t.kinnunen@nokia.com does not have committer permissions according to http://trac.webkit.org/browser/trunk/WebKitTools/Scripts/webkitpy/common/config/committers.py.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in WebKitTools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289567</commentid>
    <comment_count>4</comment_count>
      <attachid>69776</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-10-05 06:43:27 -0700</bug_when>
    <thetext>Comment on attachment 69776
Patch implementing API to set custom user agent

Did you test if setting setCustomUserAgent(QString()) turns off the custom user agent?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289585</commentid>
    <comment_count>5</comment_count>
    <who name="Kimmo Kinnunen">kimmo.t.kinnunen</who>
    <bug_when>2010-10-05 07:12:30 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 69776 [details])
&gt; Did you test if setting setCustomUserAgent(QString()) turns off the custom user agent?

It actually doesn&apos;t. That causes user agent to be just &quot;Mozilla/5.0&quot; instead of 
&quot;Mozilla/5.0 (Macintosh; ...&quot;

That&apos;s probably another bug where string constructed from a null QString gets converted to a empty string?

String WebPage::userAgent() const
{
    if (!m_customUserAgent.isNull())
        return m_customUserAgent;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289609</commentid>
    <comment_count>6</comment_count>
      <attachid>69776</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-05 08:02:57 -0700</bug_when>
    <thetext>Comment on attachment 69776
Patch implementing API to set custom user agent

Clearing flags on attachment: 69776

Committed r69108: &lt;http://trac.webkit.org/changeset/69108&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289610</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-05 08:03:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69776</attachid>
            <date>2010-10-05 06:40:43 -0700</date>
            <delta_ts>2010-10-05 08:02:57 -0700</delta_ts>
            <desc>Patch implementing API to set custom user agent</desc>
            <filename>qtwebkit2-set-custom-useragent-01.patch</filename>
            <type>text/plain</type>
            <size>1836</size>
            <attacher name="Kimmo Kinnunen">kimmo.t.kinnunen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXgg
Zjk0ODViNy4uNmU0ODE3OCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvV2Vi
S2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMC0xMC0wNSAgS2ltbW8gS2lubnVu
ZW4gIDxraW1tby50Lmtpbm51bmVuQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgQVBJIGNhbGwgZm9yIHNldHRpbmcg
Y3VzdG9tIHVzZXIgYWdlbnQKKyAgICAgICAgKFFXS1BhZ2U6OnNldEN1c3RvbVVzZXJBZ2VudCkK
KworICAgICAgICBbUXRdIEFiaWxpdHkgdG8gc2V0IGN1c3RvbSB1c2VyQWdlbnQgZm9yIFdlYktp
dDIvV2ViS2l0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00NDI2NQorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xd2twYWdlLmNwcDoKKyAgICAg
ICAgKFFXS1BhZ2U6OnNldEN1c3RvbVVzZXJBZ2VudCk6IEFkZGVkLgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvcXQvcXdrcGFnZS5oOiBBZGQgc2V0Q3VzdG9tVXNlckFnZW50LgorCiAyMDEwLTEw
LTA0ICBNYXJrIFJvd2UgIDxtcm93ZUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
U2FtIFdlaW5pZy4KZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2twYWdl
LmNwcCBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2twYWdlLmNwcAppbmRleCA1YzgxNmYz
Li42NDRmZjFmIDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdrcGFnZS5j
cHAKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3a3BhZ2UuY3BwCkBAIC0zODIsNiAr
MzgyLDEyIEBAIHZvaWQgUVdLUGFnZTo6c2V0Q3JlYXRlTmV3UGFnZUZ1bmN0aW9uKENyZWF0ZU5l
d1BhZ2VGbiBmdW5jdGlvbikKICAgICBkLT5jcmVhdGVOZXdQYWdlRm4gPSBmdW5jdGlvbjsKIH0K
IAordm9pZCBRV0tQYWdlOjpzZXRDdXN0b21Vc2VyQWdlbnQoY29uc3QgUVN0cmluZyYgdXNlckFn
ZW50KQoreworICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiB3a1VzZXJBZ2VudChXS1N0cmlu
Z0NyZWF0ZVdpdGhRU3RyaW5nKHVzZXJBZ2VudCkpOworICAgIFdLUGFnZVNldEN1c3RvbVVzZXJB
Z2VudChwYWdlUmVmKCksIHdrVXNlckFnZW50LmdldCgpKTsKK30KKwogdm9pZCBRV0tQYWdlOjps
b2FkKGNvbnN0IFFVcmwmIHVybCkKIHsKICAgICBXS1JldGFpblB0cjxXS1VSTFJlZj4gd2t1cmwo
V0tVUkxDcmVhdGVXaXRoUVVybCh1cmwpKTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9xdC9xd2twYWdlLmggYi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdrcGFnZS5oCmlu
ZGV4IGI5NmUwNGEuLjBiYjlkYjkgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9x
dC9xd2twYWdlLmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3a3BhZ2UuaApAQCAt
ODcsNiArODcsOCBAQCBwdWJsaWM6CiAgICAgdHlwZWRlZiBRV0tQYWdlKiAoKkNyZWF0ZU5ld1Bh
Z2VGbikoUVdLUGFnZSopOwogICAgIHZvaWQgc2V0Q3JlYXRlTmV3UGFnZUZ1bmN0aW9uKENyZWF0
ZU5ld1BhZ2VGbiBmdW5jdGlvbik7CiAKKyAgICB2b2lkIHNldEN1c3RvbVVzZXJBZ2VudChjb25z
dCBRU3RyaW5nJik7CisKIHB1YmxpYzoKICAgICBRX1NJR05BTCB2b2lkIHN0YXR1c0Jhck1lc3Nh
Z2UoY29uc3QgUVN0cmluZyYpOwogICAgIFFfU0lHTkFMIHZvaWQgdGl0bGVDaGFuZ2VkKGNvbnN0
IFFTdHJpbmcmKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>