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; }