Better timing for onResourceRequested and onResourceReceived.

We record the time right inside the network access manager. This gives
better accuracy than doing it from JavaScript side, no loss due to the
latency of signal slot connection.
1.2
IceArmy 2011-06-09 00:27:38 -07:00
parent 5ca07d99ba
commit 6a8da550cb
1 changed files with 7 additions and 4 deletions

View File

@ -18,7 +18,7 @@
''' '''
from PyQt4.QtGui import QDesktopServices from PyQt4.QtGui import QDesktopServices
from PyQt4.QtCore import pyqtSignal from PyQt4.QtCore import pyqtSignal, QDateTime
from PyQt4.QtNetwork import QNetworkAccessManager, QNetworkDiskCache, \ from PyQt4.QtNetwork import QNetworkAccessManager, QNetworkDiskCache, \
QNetworkRequest QNetworkRequest
@ -69,7 +69,8 @@ class NetworkAccessManager(QNetworkAccessManager):
'id': self.m_idCounter, 'id': self.m_idCounter,
'url': req.url().toString(), 'url': req.url().toString(),
'method': toString(op), 'method': toString(op),
'headers': headers 'headers': headers,
'time': QDateTime.currentDateTime()
} }
reply.readyRead.connect(self.handleStarted) reply.readyRead.connect(self.handleStarted)
@ -96,7 +97,8 @@ class NetworkAccessManager(QNetworkAccessManager):
'statusText': reply.attribute(QNetworkRequest.HttpReasonPhraseAttribute), 'statusText': reply.attribute(QNetworkRequest.HttpReasonPhraseAttribute),
'contentType': reply.header(QNetworkRequest.ContentTypeHeader), 'contentType': reply.header(QNetworkRequest.ContentTypeHeader),
'redirectURL': reply.header(QNetworkRequest.LocationHeader), 'redirectURL': reply.header(QNetworkRequest.LocationHeader),
'headers': headers 'headers': headers,
'time': QDateTime.currentDateTime()
} }
del self.m_ids[reply] del self.m_ids[reply]
@ -133,7 +135,8 @@ class NetworkAccessManager(QNetworkAccessManager):
'contentType': reply.header(QNetworkRequest.ContentTypeHeader), 'contentType': reply.header(QNetworkRequest.ContentTypeHeader),
'bodySize': reply.size(), 'bodySize': reply.size(),
'redirectURL': reply.header(QNetworkRequest.LocationHeader), 'redirectURL': reply.header(QNetworkRequest.LocationHeader),
'headers': headers 'headers': headers,
'time': QDateTime.currentDateTime()
} }
do_action('NetworkAccessManagerHandleStarted', Bunch(locals())) do_action('NetworkAccessManagerHandleStarted', Bunch(locals()))