ariya / phantomjs

Scriptable Headless Browser
http://phantomjs.org
BSD 3-Clause "New" or "Revised" License
29.48k stars 5.76k forks source link

PhantomJS 2, can not receive Gziped content, requested using "Accept-Encoding: gzip,deflate". #13909

Closed awakmu closed 8 years ago

awakmu commented 8 years ago

Hi,

PhantomJS 2, can not receive gziped content, requested using "Accept-Encoding: gzip,deflate". The codes bellow ca be used to reproduce the issue:

"use strict";
var page = require('webpage').create();

page.settings.userAgent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/37.0.2062.120 Chrome/37.0.2062.120 Safari/537.36";

page.onResourceRequested = function(requestData, networkRequest) 
{
    console.log('Request (#' + requestData.id + '): ' + JSON.stringify(requestData));
};

page.onResourceReceived = function(resource) 
{
    if(resource.stage == 'end')
        console.log('Response (#' + resource.id + ', stage "' + resource.stage + '"): ' + JSON.stringify(resource));
};

page.onResourceError = function(resourceError) 
{
    console.log('ERROR: Unable to load resource (#' + resourceError.id + 'URL:' + resourceError.url + ')');
    console.log('ERROR: code ' + resourceError.errorCode + '. Description: ' + resourceError.errorString);
};

page.onConsoleMessage = function(msg) 
{
    console.log(msg);
};
page.onLoadStarted = function() 
{
    console.log("load started");
};
page.onLoadFinished = function() 
{
    console.log("load finished");
};

page.customHeaders = {
    'Accept-Encoding': 'gzip,deflate'
};
page.open('https://www.google.co.id/');

and this is the outputs:

2016-01-20T08:53:27 [DEBUG] CookieJar - Created but will not store cookies (use option '--cookies-file=<filename>' to enable persistent cookie storage)
2016-01-20T08:53:27 [DEBUG] Set  "http"  proxy to:  "" : 1080
2016-01-20T08:53:27 [DEBUG] Phantom - execute: Configuration
2016-01-20T08:53:27 [DEBUG]      0 objectName : ""
2016-01-20T08:53:27 [DEBUG]      1 cookiesFile : ""
2016-01-20T08:53:27 [DEBUG]      2 diskCacheEnabled : "false"
2016-01-20T08:53:27 [DEBUG]      3 maxDiskCacheSize : "-1"
2016-01-20T08:53:27 [DEBUG]      4 diskCachePath : ""
2016-01-20T08:53:27 [DEBUG]      5 ignoreSslErrors : "false"
2016-01-20T08:53:27 [DEBUG]      6 localUrlAccessEnabled : "true"
2016-01-20T08:53:27 [DEBUG]      7 localToRemoteUrlAccessEnabled : "false"
2016-01-20T08:53:27 [DEBUG]      8 outputEncoding : "UTF-8"
2016-01-20T08:53:27 [DEBUG]      9 proxyType : "http"
2016-01-20T08:53:27 [DEBUG]      10 proxy : ":1080"
2016-01-20T08:53:27 [DEBUG]      11 proxyAuth : ":"
2016-01-20T08:53:27 [DEBUG]      12 scriptEncoding : "UTF-8"
2016-01-20T08:53:27 [DEBUG]      13 webSecurityEnabled : "true"
2016-01-20T08:53:27 [DEBUG]      14 offlineStoragePath : ""
2016-01-20T08:53:27 [DEBUG]      15 localStoragePath : ""
2016-01-20T08:53:27 [DEBUG]      16 localStorageDefaultQuota : "-1"
2016-01-20T08:53:27 [DEBUG]      17 offlineStorageDefaultQuota : "-1"
2016-01-20T08:53:27 [DEBUG]      18 printDebugMessages : "true"
2016-01-20T08:53:27 [DEBUG]      19 javascriptCanOpenWindows : "true"
2016-01-20T08:53:27 [DEBUG]      20 javascriptCanCloseWindows : "true"
2016-01-20T08:53:27 [DEBUG]      21 sslProtocol : "default"
2016-01-20T08:53:27 [DEBUG]      22 sslCiphers : "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-RC4-SHA:ECDHE-RSA-RC4-SHA:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:RC4-SHA:RC4-MD5"
2016-01-20T08:53:27 [DEBUG]      23 sslCertificatesPath : ""
2016-01-20T08:53:27 [DEBUG]      24 sslClientCertificateFile : ""
2016-01-20T08:53:27 [DEBUG]      25 sslClientKeyFile : ""
2016-01-20T08:53:27 [DEBUG]      26 sslClientKeyPassphrase : ""
2016-01-20T08:53:27 [DEBUG]      27 webdriver : ":"
2016-01-20T08:53:27 [DEBUG]      28 webdriverLogFile : ""
2016-01-20T08:53:27 [DEBUG]      29 webdriverLogLevel : "INFO"
2016-01-20T08:53:27 [DEBUG]      30 webdriverSeleniumGridHub : ""
2016-01-20T08:53:27 [DEBUG] Phantom - execute: Script & Arguments
2016-01-20T08:53:27 [DEBUG]      script: "gziptest.js"
2016-01-20T08:53:27 [DEBUG] Phantom - execute: Starting normal mode
2016-01-20T08:53:27 [DEBUG] WebPage - setupFrame ""
2016-01-20T08:53:27 [DEBUG] FileSystem - _open: ":/modules/fs.js" QMap(("mode", QVariant(QString, "r")))
2016-01-20T08:53:27 [DEBUG] FileSystem - _open: ":/modules/system.js" QMap(("mode", QVariant(QString, "r")))
2016-01-20T08:53:27 [DEBUG] FileSystem - _open: ":/modules/webpage.js" QMap(("mode", QVariant(QString, "r")))
2016-01-20T08:53:27 [DEBUG] WebPage - updateLoadingProgress: 10
Request (#1): {"headers":[{"name":"Accept","value":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"},{"name":"User-Agent","value":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/37.0.2062.120 Chrome/37.0.2062.120 Safari/537.36"},{"name":"Accept-Encoding","value":"gzip,deflate"}],"id":1,"method":"GET","time":"2016-01-20T01:53:27.244Z","url":"https://www.google.co.id/"}
load started
2016-01-20T08:53:27 [DEBUG] CookieJar - Saved "NID=75=DuNj69iyUcxBtwI7O6v-b2rbqlTPCVmSqeMWOCpLz5vNLqvH_lYfVYZBC73vrNr5O1ofqRQAfJiNZ9FHysJEElQORkgUtSPitPxOmnDxEQthXYWl7x65DXd-D0o6jp0r; HttpOnly; expires=Thu, 21-Jul-2016 01:53:31 GMT; domain=.google.co.id; path=/"
2016-01-20T08:53:27 [DEBUG] WebPage - updateLoadingProgress: 30
2016-01-20T08:53:27 [DEBUG] WebPage - updateLoadingProgress: 39
2016-01-20T08:53:27 [DEBUG] WebPage - updateLoadingProgress: 42
2016-01-20T08:53:27 [DEBUG] WebPage - updateLoadingProgress: 47
2016-01-20T08:53:27 [DEBUG] WebPage - updateLoadingProgress: 49
Response (#1, stage "end"): {"body":"","bodySize":0,"contentType":"text/html; charset=UTF-8","headers":[{"name":"Date","value":"Wed, 20 Jan 2016 01:53:31 GMT"},{"name":"Expires","value":"-1"},{"name":"Cache-Control","value":"private, max-age=0"},{"name":"P3P","value":"CP=\"This is not a P3P policy! See https://www.google.com/support/accounts/answer/151657?hl=en for more info.\""},{"name":"Content-Encoding","value":"gzip"},{"name":"Server","value":"gws"},{"name":"X-XSS-Protection","value":"1; mode=block"},{"name":"X-Frame-Options","value":"SAMEORIGIN"},{"name":"Alternate-Protocol","value":"443:quic,p=1"},{"name":"Alt-Svc","value":"quic=\"www.google.com:443\"; ma=600; v=\"30,29,28,27,26,25\",quic=\":443\"; ma=600; v=\"30,29,28,27,26,25\""},{"name":"Transfer-Encoding","value":"chunked"},{"name":"Content-Type","value":"text/html; charset=UTF-8"},{"name":"Set-Cookie","value":"NID=75=DuNj69iyUcxBtwI7O6v-b2rbqlTPCVmSqeMWOCpLz5vNLqvH_lYfVYZBC73vrNr5O1ofqRQAfJiNZ9FHysJEElQORkgUtSPitPxOmnDxEQthXYWl7x65DXd-D0o6jp0r; HttpOnly; expires=Thu, 21-Jul-2016 01:53:31 GMT; domain=.google.co.id; path=/"}],"id":1,"redirectURL":null,"stage":"end","status":200,"statusText":"OK","time":"2016-01-20T01:53:27.632Z","url":"https://www.google.co.id/"}
2016-01-20T08:53:28 [WARNING] load glyph failed err=6 face=0x4865c70, glyph=1890
2016-01-20T08:53:28 [DEBUG] WebPage - updateLoadingProgress: 100
load finished
2016-01-20T08:53:28 [DEBUG] WebPage - setupFrame ""
2016-01-20T08:53:28 [DEBUG] WebPage - setupFrame ""
^C

Also mentioned here macbre/phantomas#137

awakmu commented 8 years ago

I've found that this problem come from Qt. https://bugs.webkit.org/show_bug.cgi?id=63696 "Custom Accept-Encoding header prevents autoDecompress"

I added a checking if the current value contains "gzip", also set autoDecompress to true, and then, the test case run well.

Another problem caused by this:

ariya/phantomjs#13621 ariya/phantomjs#10930 ariya/phantomjs#12475 ariya/phantomjs#11301 ariya/phantomjs#10930

    // If the request had a accept-encoding set, we better not mess
    // with it. If it was not set, we announce that we understand gzip
    // and remember this fact in request.d->autoDecompress so that
    // we can later decompress the HTTP reply if it has such an
    // encoding.
    value = request.headerField("accept-encoding");
    if (value.isEmpty() || value.contains("gzip")) {
#ifndef QT_NO_COMPRESS
    if(!value.contains("gzip"))
             request.setHeaderField("Accept-Encoding", "gzip, deflate");
        request.d->autoDecompress = true;
#else
        // if zlib is not available set this to false always
        request.d->autoDecompress = false;
#endif
    }

This is the test case's output after my modification:

Request (#1): {"headers":[{"name":"Accept","value":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"},{"name":"User-Agent","value":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/37.0.2062.120 Chrome/37.0.2062.120 Safari/537.36"},{"name":"Accept-Encoding","value":"gzip,deflate"}],"id":1,"method":"GET","time":"2016-01-30T23:18:44.651Z","url":"https://www.google.co.id/"}
load started
Request (#2): {"headers":[{"name":"Referer","value":"https://www.google.co.id/"},{"name":"User-Agent","value":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/37.0.2062.120 Chrome/37.0.2062.120 Safari/537.36"},{"name":"Accept","value":"*/*"},{"name":"Accept-Encoding","value":"gzip,deflate"}],"id":2,"method":"GET","time":"2016-01-30T23:18:44.976Z","url":"https://ssl.gstatic.com/gb/images/i1_1967ca6a.png"}
Request (#3): {"headers":[{"name":"Referer","value":"https://www.google.co.id/"},{"name":"User-Agent","value":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/37.0.2062.120 Chrome/37.0.2062.120 Safari/537.36"},{"name":"Accept","value":"*/*"},{"name":"Accept-Encoding","value":"gzip,deflate"}],"id":3,"method":"GET","time":"2016-01-30T23:18:44.984Z","url":"https://www.google.co.id/images/nav_logo242.png"}
Request (#4): {"headers":[{"name":"Referer","value":"https://www.google.co.id/"},{"name":"User-Agent","value":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/37.0.2062.120 Chrome/37.0.2062.120 Safari/537.36"},{"name":"Accept","value":"*/*"},{"name":"Accept-Encoding","value":"gzip,deflate"}],"id":4,"method":"GET","time":"2016-01-30T23:18:44.985Z","url":"https://www.google.co.id/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png"}
Request (#5): {"headers":[{"name":"Accept","value":"*/*"},{"name":"Referer","value":"https://www.google.co.id/"},{"name":"User-Agent","value":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/37.0.2062.120 Chrome/37.0.2062.120 Safari/537.36"},{"name":"Accept-Encoding","value":"gzip,deflate"}],"id":5,"method":"GET","time":"2016-01-30T23:18:44.986Z","url":"https://www.google.co.id/xjs/_/js/k=xjs.s.id.q7WvYMrEp1I.O/m=sx,c,sb,cdos,cr,elog,jsa,r,hsm,qsm,j,p,d,csi/am=gCQRACDi73wIhAuMidRAxcI/rt=j/d=1/t=zcms/rs=ACT90oGv_YHz07KLfe636hfRQ-_cCXBt8w"}
Response (#1, stage "end"): {"body":"","bodySize":0,"contentType":"text/html; charset=UTF-8","headers":[{"name":"Date","value":"Sat, 30 Jan 2016 23:18:45 GMT"},{"name":"Expires","value":"-1"},{"name":"Cache-Control","value":"private, max-age=0"},{"name":"P3P","value":"CP=\"This is not a P3P policy! See https://www.google.com/support/accounts/answer/151657?hl=en for more info.\""},{"name":"Content-Encoding","value":"gzip"},{"name":"Server","value":"gws"},{"name":"X-XSS-Protection","value":"1; mode=block"},{"name":"X-Frame-Options","value":"SAMEORIGIN"},{"name":"Alternate-Protocol","value":"443:quic,p=1"},{"name":"Alt-Svc","value":"quic=\"www.google.com:443\"; ma=600; v=\"30,29,28,27,26,25\",quic=\":443\"; ma=600; v=\"30,29,28,27,26,25\""},{"name":"Transfer-Encoding","value":"chunked"},{"name":"Content-Type","value":"text/html; charset=UTF-8"},{"name":"Set-Cookie","value":"NID=76=39zYb3xsyY0kHy4IeolUJEp-B9W76zoRhVoWgCJpSv6m6Sgn6HvYy45OCIWXeixvCdt2ofMPTB49FHybnuiClx0oyJpchXkAopq-T1oEiF7O3nCVB8DVvWGA2lX16EwQ; HttpOnly; expires=Sun, 31-Jul-2016 23:18:45 GMT; domain=.google.co.id; path=/"}],"id":1,"redirectURL":null,"stage":"end","status":200,"statusText":"OK","time":"2016-01-30T23:18:45.028Z","url":"https://www.google.co.id/"}
Response (#3, stage "end"): {"body":"","bodySize":0,"contentType":"image/png","headers":[{"name":"Date","value":"Sat, 30 Jan 2016 23:18:45 GMT"},{"name":"Expires","value":"Sat, 30 Jan 2016 23:18:45 GMT"},{"name":"Cache-Control","value":"private, max-age=31536000"},{"name":"X-Content-Type-Options","value":"nosniff"},{"name":"Server","value":"sffe"},{"name":"X-XSS-Protection","value":"1; mode=block"},{"name":"Alternate-Protocol","value":"443:quic,p=1"},{"name":"Alt-Svc","value":"quic=\"www.google.com:443\"; ma=600; v=\"30,29,28,27,26,25\",quic=\":443\"; ma=600; v=\"30,29,28,27,26,25\""},{"name":"Content-Type","value":"image/png"},{"name":"Content-Length","value":"21909"},{"name":"Last-Modified","value":"Thu, 22 Oct 2015 17:33:49 GMT"}],"id":3,"redirectURL":null,"stage":"end","status":200,"statusText":"OK","time":"2016-01-30T23:18:45.069Z","url":"https://www.google.co.id/images/nav_logo242.png"}
Response (#4, stage "end"): {"body":"","bodySize":0,"contentType":"image/png","headers":[{"name":"Date","value":"Sat, 30 Jan 2016 23:18:45 GMT"},{"name":"Expires","value":"Sat, 30 Jan 2016 23:18:45 GMT"},{"name":"Cache-Control","value":"private, max-age=31536000"},{"name":"X-Content-Type-Options","value":"nosniff"},{"name":"Server","value":"sffe"},{"name":"X-XSS-Protection","value":"1; mode=block"},{"name":"Alternate-Protocol","value":"443:quic,p=1"},{"name":"Alt-Svc","value":"quic=\"www.google.com:443\"; ma=600; v=\"30,29,28,27,26,25\",quic=\":443\"; ma=600; v=\"30,29,28,27,26,25\""},{"name":"Content-Type","value":"image/png"},{"name":"Content-Length","value":"5969"},{"name":"Last-Modified","value":"Fri, 04 Sep 2015 22:33:08 GMT"}],"id":4,"redirectURL":null,"stage":"end","status":200,"statusText":"OK","time":"2016-01-30T23:18:45.132Z","url":"https://www.google.co.id/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png"}
Response (#2, stage "end"): {"body":"","bodySize":0,"contentType":"image/png","headers":[{"name":"Vary","value":"Origin"},{"name":"Date","value":"Sat, 30 Jan 2016 05:36:35 GMT"},{"name":"Expires","value":"Sun, 29 Jan 2017 05:36:35 GMT"},{"name":"X-Content-Type-Options","value":"nosniff"},{"name":"Server","value":"sffe"},{"name":"X-XSS-Protection","value":"1; mode=block"},{"name":"Cache-Control","value":"public, max-age=31536000"},{"name":"Age","value":"63730"},{"name":"Alternate-Protocol","value":"443:quic,p=1"},{"name":"Alt-Svc","value":"quic=\":443\"; ma=604800; v=\"30,29,28,27,26,25\""},{"name":"Content-Type","value":"image/png"},{"name":"Content-Length","value":"8056"},{"name":"Last-Modified","value":"Fri, 28 Aug 2015 21:45:00 GMT"}],"id":2,"redirectURL":null,"stage":"end","status":200,"statusText":"OK","time":"2016-01-30T23:18:45.144Z","url":"https://ssl.gstatic.com/gb/images/i1_1967ca6a.png"}
Request (#6): {"headers":[{"name":"Accept","value":"*/*"},{"name":"Referer","value":"https://www.google.co.id/"},{"name":"User-Agent","value":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/37.0.2062.120 Chrome/37.0.2062.120 Safari/537.36"},{"name":"Accept-Encoding","value":"gzip,deflate"}],"id":6,"method":"GET","time":"2016-01-30T23:18:45.239Z","url":"https://www.gstatic.com/og/_/js/k=og.og2.en_US.0X7VhITE-mE.O/rt=j/t=zcms/m=sy7,sy6,sy24,sy29,sy25,sy27,def/rs=AA2YrTvIZAlanXaY6Y41usxsELxSUSq_0A"}
Response (#5, stage "end"): {"body":"","bodySize":0,"contentType":"text/javascript; charset=UTF-8","headers":[{"name":"Vary","value":"Accept-Encoding"},{"name":"Content-Encoding","value":"gzip"},{"name":"Date","value":"Sat, 30 Jan 2016 01:34:06 GMT"},{"name":"Expires","value":"Sun, 29 Jan 2017 01:34:06 GMT"},{"name":"X-Content-Type-Options","value":"nosniff"},{"name":"Server","value":"sffe"},{"name":"X-XSS-Protection","value":"1; mode=block"},{"name":"Cache-Control","value":"public, max-age=31536000"},{"name":"Age","value":"78279"},{"name":"Alternate-Protocol","value":"443:quic,p=1"},{"name":"Alt-Svc","value":"quic=\"www.google.com:443\"; ma=600; v=\"30,29,28,27,26,25\",quic=\":443\"; ma=600; v=\"30,29,28,27,26,25\""},{"name":"Content-Type","value":"text/javascript; charset=UTF-8"},{"name":"Last-Modified","value":"Sat, 30 Jan 2016 00:33:13 GMT"}],"id":5,"redirectURL":null,"stage":"end","status":200,"statusText":"OK","time":"2016-01-30T23:18:45.270Z","url":"https://www.google.co.id/xjs/_/js/k=xjs.s.id.q7WvYMrEp1I.O/m=sx,c,sb,cdos,cr,elog,jsa,r,hsm,qsm,j,p,d,csi/am=gCQRACDi73wIhAuMidRAxcI/rt=j/d=1/t=zcms/rs=ACT90oGv_YHz07KLfe636hfRQ-_cCXBt8w"}
Request (#7): {"headers":[{"name":"Referer","value":"https://www.google.co.id/"},{"name":"User-Agent","value":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/37.0.2062.120 Chrome/37.0.2062.120 Safari/537.36"},{"name":"Accept","value":"*/*"},{"name":"Accept-Encoding","value":"gzip,deflate"}],"id":7,"method":"GET","time":"2016-01-30T23:18:45.356Z","url":"https://www.google.com/textinputassistant/tia.png"}
Request (#8): {"headers":[{"name":"Referer","value":"https://www.google.co.id/"},{"name":"User-Agent","value":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/37.0.2062.120 Chrome/37.0.2062.120 Safari/537.36"},{"name":"Accept","value":"*/*"},{"name":"Accept-Encoding","value":"gzip,deflate"}],"id":8,"method":"GET","time":"2016-01-30T23:18:45.365Z","url":"data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw%3D%3D"}
Request (#9): {"headers":[{"name":"Accept","value":"*/*"},{"name":"Referer","value":"https://www.google.co.id/"},{"name":"User-Agent","value":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/37.0.2062.120 Chrome/37.0.2062.120 Safari/537.36"},{"name":"Accept-Encoding","value":"gzip,deflate"}],"id":9,"method":"GET","time":"2016-01-30T23:18:45.379Z","url":"https://www.google.co.id/xjs/_/js/k=xjs.s.id._xPHAu0A-Co.O/m=abd,sy56,sy55,sy54,sy57,em14,async,erh,sy59,foot,fpe,idck,ipv6,sy147,sy156,lu,m,sf,sy39,sy98,sy221,sy29,sy40,sy77,sy32,sy124,sy91,sy222,sy87,sy146,sy132,sy134,sy223,sy272,sy228,sy271,sy276,sy224,sy273,sy289,em2,em1,sy33,sy107,em11,em12,em10,em9,sy290,skp,vm/am=gCQRACDi73wIhAuMidRAxcI/rt=j/d=0/t=zcms/rs=ACT90oHp09WtDXflLFu6XyczkCk6f4_8KA"}
Response (#8, stage "end"): {"body":"","bodySize":0,"contentType":"image/gif","headers":[{"name":"Content-Type","value":"image/gif"},{"name":"Content-Length","value":"43"}],"id":8,"redirectURL":null,"stage":"end","status":0,"statusText":"","time":"2016-01-30T23:18:45.382Z","url":"data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw%3D%3D"}
Response (#9, stage "end"): {"body":"","bodySize":0,"contentType":"text/javascript; charset=UTF-8","headers":[{"name":"Vary","value":"Accept-Encoding"},{"name":"Content-Encoding","value":"gzip"},{"name":"Date","value":"Sat, 30 Jan 2016 04:33:54 GMT"},{"name":"Expires","value":"Sun, 29 Jan 2017 04:33:54 GMT"},{"name":"X-Content-Type-Options","value":"nosniff"},{"name":"Server","value":"sffe"},{"name":"X-XSS-Protection","value":"1; mode=block"},{"name":"Cache-Control","value":"public, max-age=31536000"},{"name":"Age","value":"67491"},{"name":"Alternate-Protocol","value":"443:quic,p=1"},{"name":"Alt-Svc","value":"quic=\"www.google.com:443\"; ma=600; v=\"30,29,28,27,26,25\",quic=\":443\"; ma=600; v=\"30,29,28,27,26,25\""},{"name":"Content-Type","value":"text/javascript; charset=UTF-8"},{"name":"Last-Modified","value":"Sat, 30 Jan 2016 03:33:35 GMT"}],"id":9,"redirectURL":null,"stage":"end","status":200,"statusText":"OK","time":"2016-01-30T23:18:45.510Z","url":"https://www.google.co.id/xjs/_/js/k=xjs.s.id._xPHAu0A-Co.O/m=abd,sy56,sy55,sy54,sy57,em14,async,erh,sy59,foot,fpe,idck,ipv6,sy147,sy156,lu,m,sf,sy39,sy98,sy221,sy29,sy40,sy77,sy32,sy124,sy91,sy222,sy87,sy146,sy132,sy134,sy223,sy272,sy228,sy271,sy276,sy224,sy273,sy289,em2,em1,sy33,sy107,em11,em12,em10,em9,sy290,skp,vm/am=gCQRACDi73wIhAuMidRAxcI/rt=j/d=0/t=zcms/rs=ACT90oHp09WtDXflLFu6XyczkCk6f4_8KA"}
Response (#6, stage "end"): {"body":"","bodySize":0,"contentType":"text/javascript; charset=UTF-8","headers":[{"name":"Vary","value":"Accept-Encoding, Origin"},{"name":"Content-Encoding","value":"gzip"},{"name":"Date","value":"Thu, 28 Jan 2016 21:02:57 GMT"},{"name":"Expires","value":"Fri, 27 Jan 2017 21:02:57 GMT"},{"name":"X-Content-Type-Options","value":"nosniff"},{"name":"Server","value":"sffe"},{"name":"X-XSS-Protection","value":"1; mode=block"},{"name":"Cache-Control","value":"public, max-age=31536000"},{"name":"Age","value":"180949"},{"name":"Alternate-Protocol","value":"443:quic,p=1"},{"name":"Alt-Svc","value":"quic=\":443\"; ma=604800; v=\"30,29,28,27,26,25\""},{"name":"Content-Type","value":"text/javascript; charset=UTF-8"},{"name":"Last-Modified","value":"Wed, 27 Jan 2016 23:16:53 GMT"}],"id":6,"redirectURL":null,"stage":"end","status":200,"statusText":"OK","time":"2016-01-30T23:18:45.621Z","url":"https://www.gstatic.com/og/_/js/k=og.og2.en_US.0X7VhITE-mE.O/rt=j/t=zcms/m=sy7,sy6,sy24,sy29,sy25,sy27,def/rs=AA2YrTvIZAlanXaY6Y41usxsELxSUSq_0A"}
Request (#10): {"headers":[{"name":"Accept","value":"*/*"},{"name":"Referer","value":"https://www.google.co.id/"},{"name":"User-Agent","value":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/37.0.2062.120 Chrome/37.0.2062.120 Safari/537.36"},{"name":"Accept-Encoding","value":"gzip,deflate"}],"id":10,"method":"GET","time":"2016-01-30T23:18:45.643Z","url":"https://apis.google.com/_/scs/abc-static/_/js/k=gapi.gapi.en.031mdWrIyGE.O/m=gapi_iframes,googleapis_client,plusone/rt=j/sv=1/d=1/ed=1/am=AAQ/rs=AHpOoo9LVH8q4HIB6ymfgTF00d12dbkTeA/cb=gapi.loaded_0"}
Response (#7, stage "end"): {"body":"","bodySize":0,"contentType":"image/png","headers":[{"name":"Date","value":"Wed, 27 Jan 2016 07:15:17 GMT"},{"name":"Expires","value":"Thu, 26 Jan 2017 07:15:17 GMT"},{"name":"X-Content-Type-Options","value":"nosniff"},{"name":"Server","value":"sffe"},{"name":"X-XSS-Protection","value":"1; mode=block"},{"name":"Cache-Control","value":"public, max-age=31536000"},{"name":"Age","value":"317009"},{"name":"Alternate-Protocol","value":"443:quic,p=1"},{"name":"Alt-Svc","value":"quic=\"www.google.com:443\"; ma=600; v=\"30,29,28,27,26,25\",quic=\":443\"; ma=600; v=\"30,29,28,27,26,25\""},{"name":"Content-Type","value":"image/png"},{"name":"Content-Length","value":"387"},{"name":"Last-Modified","value":"Mon, 02 Apr 2012 02:13:37 GMT"}],"id":7,"redirectURL":null,"stage":"end","status":200,"statusText":"OK","time":"2016-01-30T23:18:45.655Z","url":"https://www.google.com/textinputassistant/tia.png"}
Response (#10, stage "end"): {"body":"","bodySize":0,"contentType":"text/javascript; charset=UTF-8","headers":[{"name":"Vary","value":"Accept-Encoding"},{"name":"Content-Encoding","value":"gzip"},{"name":"Date","value":"Wed, 27 Jan 2016 12:07:11 GMT"},{"name":"Expires","value":"Thu, 26 Jan 2017 12:07:11 GMT"},{"name":"X-Content-Type-Options","value":"nosniff"},{"name":"Server","value":"sffe"},{"name":"X-XSS-Protection","value":"1; mode=block"},{"name":"Cache-Control","value":"public, max-age=31536000"},{"name":"Age","value":"299495"},{"name":"Alternate-Protocol","value":"443:quic,p=1"},{"name":"Alt-Svc","value":"quic=\":443\"; ma=604800; v=\"30,29,28,27,26,25\""},{"name":"Content-Type","value":"text/javascript; charset=UTF-8"},{"name":"Last-Modified","value":"Thu, 07 Jan 2016 22:10:22 GMT"}],"id":10,"redirectURL":null,"stage":"end","status":200,"statusText":"OK","time":"2016-01-30T23:18:45.872Z","url":"https://apis.google.com/_/scs/abc-static/_/js/k=gapi.gapi.en.031mdWrIyGE.O/m=gapi_iframes,googleapis_client,plusone/rt=j/sv=1/d=1/ed=1/am=AAQ/rs=AHpOoo9LVH8q4HIB6ymfgTF00d12dbkTeA/cb=gapi.loaded_0"}
load finished
Request (#11): {"headers":[{"name":"Referer","value":"https://www.google.co.id/"},{"name":"User-Agent","value":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/37.0.2062.120 Chrome/37.0.2062.120 Safari/537.36"},{"name":"Accept","value":"*/*"},{"name":"Accept-Encoding","value":"gzip,deflate"}],"id":11,"method":"GET","time":"2016-01-30T23:18:45.908Z","url":"https://www.google.co.id/gen_204?v=3&s=webhp&atyp=csi&ei=1UStVtisGtCKuATMhrOQBA&imc=1&imn=1&imp=1&e=1350255,3700269,3700385,4028875,4029815,4031109,4032677,4033307,4036527,4038012,4038214,4039268,4039954,4041776,4042458,4042784,4042792,4043041,4043492,4044543,4044606,4044954,4045096,4045293,4045841,4046043,4046304,4046400,4046835,4046837,4046904,4047593,4048853,4048909,4048980,4049063,4049549,4049557,4049618,4050281,4050886,4050912,4050914,4050980,4051105,4051241,4051558,4052304,4052751,4052954,4053233,4054223,4054284,4055217,4055380,4055508,4055718,4056038,4056126,4056359,4056611,4056682,4056722,4056916,4056936,4057135,4057169,4057834,4057961,4057963,4058001,4058033,4058249,4058339,4058431,4058435,4058566,4058695,8300096,8300273,8300307,8300310,8502095,8502315,8502346,8502691,8502888,8502938,8503210,8503212,10200084,10200096,10201586&adh=&xjs=init.37.21.sb.27.p.5.jsa.1.async.1.foot.1&ima=0&rt=xjsls.61,prt.106,iml.147,dcl.107,xjses.386,jraids.406,jraide.411,xjsee.455,xjs.455,ol.984,aft.106,wsrt.271,cst.0,dnst.0,rqst.374,rspt.374,rqstt.0,unt.0,cstt.0,dit.378"}
Response (#11, stage "end"): {"body":"","bodySize":0,"contentType":"text/html; charset=UTF-8","headers":[{"name":"Date","value":"Sat, 30 Jan 2016 23:18:46 GMT"},{"name":"Server","value":"gws"},{"name":"X-XSS-Protection","value":"1; mode=block"},{"name":"X-Frame-Options","value":"SAMEORIGIN"},{"name":"Alternate-Protocol","value":"443:quic,p=1"},{"name":"Alt-Svc","value":"quic=\"www.google.com:443\"; ma=600; v=\"30,29,28,27,26,25\",quic=\":443\"; ma=600; v=\"30,29,28,27,26,25\""},{"name":"Content-Type","value":"text/html; charset=UTF-8"},{"name":"Content-Length","value":"0"}],"id":11,"redirectURL":null,"stage":"end","status":204,"statusText":"No Content","time":"2016-01-30T23:18:45.971Z","url":"https://www.google.co.id/gen_204?v=3&s=webhp&atyp=csi&ei=1UStVtisGtCKuATMhrOQBA&imc=1&imn=1&imp=1&e=1350255,3700269,3700385,4028875,4029815,4031109,4032677,4033307,4036527,4038012,4038214,4039268,4039954,4041776,4042458,4042784,4042792,4043041,4043492,4044543,4044606,4044954,4045096,4045293,4045841,4046043,4046304,4046400,4046835,4046837,4046904,4047593,4048853,4048909,4048980,4049063,4049549,4049557,4049618,4050281,4050886,4050912,4050914,4050980,4051105,4051241,4051558,4052304,4052751,4052954,4053233,4054223,4054284,4055217,4055380,4055508,4055718,4056038,4056126,4056359,4056611,4056682,4056722,4056916,4056936,4057135,4057169,4057834,4057961,4057963,4058001,4058033,4058249,4058339,4058431,4058435,4058566,4058695,8300096,8300273,8300307,8300310,8502095,8502315,8502346,8502691,8502888,8502938,8503210,8503212,10200084,10200096,10201586&adh=&xjs=init.37.21.sb.27.p.5.jsa.1.async.1.foot.1&ima=0&rt=xjsls.61,prt.106,iml.147,dcl.107,xjses.386,jraids.406,jraide.411,xjsee.455,xjs.455,ol.984,aft.106,wsrt.271,cst.0,dnst.0,rqst.374,rspt.374,rqstt.0,unt.0,cstt.0,dit.378"}

Btw, is it okay to modify upstream Qt like this?

\cc @Vitallium @ariya @zackw

zackw commented 8 years ago

Let's continue this discussion in the existing issue #13621.