Skip to content
This repository has been archived by the owner on May 30, 2023. It is now read-only.

Commit

Permalink
Introduce new API for managing devicePixelRatio (#15041)
Browse files Browse the repository at this point in the history
Issue: #10964
  • Loading branch information
vitallium committed Jun 25, 2017
1 parent cad6b88 commit 6c1051f
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 11 deletions.
23 changes: 12 additions & 11 deletions src/webpage.cpp
Expand Up @@ -30,28 +30,20 @@

#include "webpage.h"

#include <QApplication>
#include <QBuffer>
#include <QContextMenuEvent>
#include <QDateTime>
#include <QDebug>
#include <QDesktopServices>
#include <QDir>
#include <QFileInfo>
#include <QImageWriter>
#include <QKeyEvent>
#include <QMapIterator>
#include <QMouseEvent>
#include <QNetworkAccessManager>
#include <QNetworkCookie>
#include <QNetworkProxy>
#include <QNetworkRequest>
#include <QPainter>
#include <QScreen>
#include <QUrl>
#include <QUuid>
#include <QWebElement>
#include <QWebHistory>
#include <QWebHistoryItem>
#include <QWebFrame>
#include <QWebInspector>
Expand Down Expand Up @@ -765,12 +757,11 @@ QVariantMap WebPage::paperSize() const

QVariant WebPage::evaluateJavaScript(const QString& code)
{
QVariant evalResult;
QString function = "(" + code + ")()";
QString function = "(" + code + ")()";

qDebug() << "WebPage - evaluateJavaScript" << function;

evalResult = m_currentFrame->evaluateJavaScript(function);
QVariant evalResult = m_currentFrame->evaluateJavaScript(function);

qDebug() << "WebPage - evaluateJavaScript result" << evalResult;

Expand Down Expand Up @@ -1799,4 +1790,14 @@ void WebPage::clearMemoryCache()
QWebSettings::clearMemoryCaches();
}

qreal WebPage::devicePixelRatio() const
{
return m_customWebPage->devicePixelRatio();
}

void WebPage::setDevicePixelRatio(qreal devicePixelRatio)
{
m_customWebPage->setDevicePixelRatio(devicePixelRatio);
}

#include "webpage.moc"
3 changes: 3 additions & 0 deletions src/webpage.h
Expand Up @@ -81,6 +81,7 @@ class WebPage : public QObject
Q_PROPERTY(int framesCount READ framesCount)
Q_PROPERTY(QString focusedFrameName READ focusedFrameName)
Q_PROPERTY(QObject* cookieJar READ cookieJar WRITE setCookieJarFromQObject)
Q_PROPERTY(qreal devicePixelRatio READ devicePixelRatio WRITE setDevicePixelRatio)

public:
WebPage(QObject* parent, const QUrl& baseUrl = QUrl());
Expand Down Expand Up @@ -488,6 +489,8 @@ public slots:
qreal stringToPointSize(const QString&) const;
qreal printMargin(const QVariantMap&, const QString&);
qreal getHeight(const QVariantMap&, const QString&) const;
qreal devicePixelRatio() const;
void setDevicePixelRatio(qreal devicePixelRatio);

signals:
void initialized();
Expand Down
14 changes: 14 additions & 0 deletions test/module/webpage/device-pixel-ratio.js
@@ -0,0 +1,14 @@
const webpage = require('webpage');

test(function () {
const page = webpage.create();

page.devicePixelRatio = 1.5;
assert_equals(page.devicePixelRatio, 1.5);

page.devicePixelRatio = 2.0;
assert_equals(page.devicePixelRatio, 2.0);

page.devicePixelRatio = 0.5;
assert_equals(page.devicePixelRatio, 0.5);
}, "page.devicePixelRatio");

0 comments on commit 6c1051f

Please sign in to comment.