src/WebPage.cpp in capybara-webkit-0.7.2 vs src/WebPage.cpp in capybara-webkit-0.8.0
- old
+ new
@@ -18,17 +18,19 @@
connect(this, SIGNAL(loadFinished(bool)), this, SLOT(loadFinished(bool)));
connect(this, SIGNAL(frameCreated(QWebFrame *)),
this, SLOT(frameCreated(QWebFrame *)));
connect(this, SIGNAL(unsupportedContent(QNetworkReply*)),
this, SLOT(handleUnsupportedContent(QNetworkReply*)));
+ this->setViewportSize(QSize(1680, 1050));
}
void WebPage::setCustomNetworkAccessManager() {
NetworkAccessManager *manager = new NetworkAccessManager();
manager->setCookieJar(new NetworkCookieJar());
this->setNetworkAccessManager(manager);
connect(manager, SIGNAL(finished(QNetworkReply *)), this, SLOT(replyFinished(QNetworkReply *)));
+ connect(manager, SIGNAL(sslErrors(QNetworkReply *, QList<QSslError>)), this, SLOT(ignoreSslErrors(QNetworkReply *, QList<QSslError>)));
}
void WebPage::loadJavascript() {
QResource javascript(":/capybara.js");
if (javascript.isCompressed()) {
@@ -54,10 +56,14 @@
} else {
return QWebPage::userAgentForUrl(url);
}
}
+QString WebPage::consoleMessages() {
+ return m_consoleMessages.join("\n");
+}
+
void WebPage::setUserAgent(QString userAgent) {
m_userAgent = userAgent;
}
void WebPage::frameCreated(QWebFrame * frame) {
@@ -86,13 +92,15 @@
QVariant WebPage::invokeCapybaraFunction(QString &name, QStringList &arguments) {
return invokeCapybaraFunction(name.toAscii().data(), arguments);
}
void WebPage::javaScriptConsoleMessage(const QString &message, int lineNumber, const QString &sourceID) {
+ QString fullMessage = QString::number(lineNumber) + "|" + message;
if (!sourceID.isEmpty())
- std::cout << qPrintable(sourceID) << ":" << lineNumber << " ";
- std::cout << qPrintable(message) << std::endl;
+ fullMessage = sourceID + "|" + fullMessage;
+ m_consoleMessages.append(fullMessage);
+ std::cout << qPrintable(fullMessage) << std::endl;
}
void WebPage::javaScriptAlert(QWebFrame *frame, const QString &message) {
Q_UNUSED(frame);
std::cout << "ALERT: " << qPrintable(message) << std::endl;
@@ -190,16 +198,34 @@
m_pageHeaders = headers.join("\n");
}
}
+void WebPage::ignoreSslErrors(QNetworkReply *reply, const QList<QSslError> &errors) {
+ if (m_ignoreSslErrors)
+ reply->ignoreSslErrors(errors);
+}
+
+void WebPage::setIgnoreSslErrors(bool ignore) {
+ m_ignoreSslErrors = ignore;
+}
+
+bool WebPage::ignoreSslErrors() {
+ return m_ignoreSslErrors;
+}
+
+
int WebPage::getLastStatus() {
return m_lastStatus;
}
void WebPage::resetResponseHeaders() {
m_lastStatus = 0;
m_pageHeaders = QString();
+}
+
+void WebPage::resetConsoleMessages() {
+ m_consoleMessages.clear();
}
QString WebPage::pageHeaders() {
return m_pageHeaders;
}