[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
kenneth at webkit.org
kenneth at webkit.org
Wed Dec 22 13:39:55 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit b42082e15c1915a4bd45f6fe7c9fa9083e8a53bb
Author: kenneth at webkit.org <kenneth at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Wed Sep 22 21:37:12 2010 +0000
Add a ViewportConfiguration class for the Qt WebKit2 API, which
currently calculated a fallback viewport configuration.
Patch by Kenneth Rohde Christiansen <kenneth at webkit.org> on 2010-09-22
Reviewed by Antonio Gomes.
* UIProcess/API/qt/qwkpage.cpp:
(QWKPage::ViewportConfiguration::ViewportConfiguration):
(QWKPage::ViewportConfiguration::~ViewportConfiguration):
(QWKPage::ViewportConfiguration::operator=):
(QWKPage::viewportConfigurationForSize):
* UIProcess/API/qt/qwkpage.h:
* UIProcess/API/qt/qwkpage_p.h:
(QtViewportConfigurationPrivate::QtViewportConfigurationPrivate):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@68082 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index 140cdb5..5d4d8e4 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,3 +1,19 @@
+2010-09-22 Kenneth Rohde Christiansen <kenneth at webkit.org>
+
+ Reviewed by Antonio Gomes.
+
+ Add a ViewportConfiguration class for the Qt WebKit2 API, which
+ currently calculated a fallback viewport configuration.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::ViewportConfiguration::ViewportConfiguration):
+ (QWKPage::ViewportConfiguration::~ViewportConfiguration):
+ (QWKPage::ViewportConfiguration::operator=):
+ (QWKPage::viewportConfigurationForSize):
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/API/qt/qwkpage_p.h:
+ (QtViewportConfigurationPrivate::QtViewportConfigurationPrivate):
+
2010-09-22 Adam Roben <aroben at apple.com>
Windows build fix
diff --git a/WebKit2/UIProcess/API/qt/qwkpage.cpp b/WebKit2/UIProcess/API/qt/qwkpage.cpp
index 1532323..8e3d533 100644
--- a/WebKit2/UIProcess/API/qt/qwkpage.cpp
+++ b/WebKit2/UIProcess/API/qt/qwkpage.cpp
@@ -28,6 +28,7 @@
#include "WebPlatformStrategies.h"
#include "WKStringQt.h"
#include "WKURLQt.h"
+#include "ViewportArguments.h"
#include <QAction>
#include <QApplication>
#include <QGraphicsSceneMouseEvent>
@@ -275,6 +276,78 @@ QWKPage::~QWKPage()
delete d;
}
+QWKPage::ViewportConfiguration::ViewportConfiguration()
+ : d(0)
+ , m_initialScaleFactor(-1.0)
+ , m_minimumScaleFactor(-1.0)
+ , m_maximumScaleFactor(-1.0)
+ , m_devicePixelRatio(-1.0)
+ , m_isUserScalable(true)
+ , m_isValid(false)
+{
+
+}
+
+QWKPage::ViewportConfiguration::ViewportConfiguration(const QWKPage::ViewportConfiguration& other)
+ : d(other.d)
+ , m_initialScaleFactor(other.m_initialScaleFactor)
+ , m_minimumScaleFactor(other.m_minimumScaleFactor)
+ , m_maximumScaleFactor(other.m_maximumScaleFactor)
+ , m_devicePixelRatio(other.m_devicePixelRatio)
+ , m_isUserScalable(other.m_isUserScalable)
+ , m_isValid(other.m_isValid)
+ , m_size(other.m_size)
+{
+
+}
+
+QWKPage::ViewportConfiguration::~ViewportConfiguration()
+{
+
+}
+
+QWKPage::ViewportConfiguration& QWKPage::ViewportConfiguration::operator=(const QWKPage::ViewportConfiguration& other)
+{
+ if (this != &other) {
+ d = other.d;
+ m_initialScaleFactor = other.m_initialScaleFactor;
+ m_minimumScaleFactor = other.m_minimumScaleFactor;
+ m_maximumScaleFactor = other.m_maximumScaleFactor;
+ m_devicePixelRatio = other.m_devicePixelRatio;
+ m_isUserScalable = other.m_isUserScalable;
+ m_isValid = other.m_isValid;
+ m_size = other.m_size;
+ }
+
+ return *this;
+}
+
+QWKPage::ViewportConfiguration QWKPage::viewportConfigurationForSize(QSize availableSize) const
+{
+ static int desktopWidth = 980;
+ static int deviceDPI = 160;
+
+ // FIXME: Add a way to get these data via the platform plugin and fall back
+ // to the size of the view.
+ int deviceWidth = 480;
+ int deviceHeight = 864;
+
+ ViewportArguments args;
+
+ WebCore::ViewportConfiguration conf = WebCore::findConfigurationForViewportData(args, desktopWidth, deviceWidth, deviceHeight, deviceDPI, availableSize);
+
+ ViewportConfiguration result;
+
+ result.m_isValid = true;
+ result.m_size = conf.layoutViewport;
+ result.m_initialScaleFactor = conf.initialScale;
+ result.m_minimumScaleFactor = conf.minimumScale;
+ result.m_maximumScaleFactor = conf.maximumScale;
+ result.m_devicePixelRatio = conf.devicePixelRatio;
+
+ return result;
+}
+
void QWKPage::timerEvent(QTimerEvent* ev)
{
int timerId = ev->timerId();
diff --git a/WebKit2/UIProcess/API/qt/qwkpage.h b/WebKit2/UIProcess/API/qt/qwkpage.h
index 154eb1e..e762757 100644
--- a/WebKit2/UIProcess/API/qt/qwkpage.h
+++ b/WebKit2/UIProcess/API/qt/qwkpage.h
@@ -15,6 +15,7 @@
class QCursor;
class QWKGraphicsWidget;
class QWKPagePrivate;
+class QtViewportConfigurationPrivate;
class QWEBKIT_EXPORT QWKPage : public QObject {
Q_OBJECT
@@ -33,6 +34,36 @@ public:
WebActionCount
};
+ class ViewportConfiguration {
+ public:
+ ViewportConfiguration();
+ ViewportConfiguration(const QWKPage::ViewportConfiguration& other);
+
+ ~ViewportConfiguration();
+
+ QWKPage::ViewportConfiguration& operator=(const QWKPage::ViewportConfiguration& other);
+
+ inline qreal initialScaleFactor() const { return m_initialScaleFactor; };
+ inline qreal minimumScaleFactor() const { return m_minimumScaleFactor; };
+ inline qreal maximumScaleFactor() const { return m_maximumScaleFactor; };
+ inline qreal devicePixelRatio() const { return m_devicePixelRatio; };
+ inline bool isUserScalable() const { return m_isUserScalable; };
+ inline bool isValid() const { return m_isValid; };
+ inline QSize size() const { return m_size; };
+
+ private:
+ QSharedDataPointer<QtViewportConfigurationPrivate> d;
+ qreal m_initialScaleFactor;
+ qreal m_minimumScaleFactor;
+ qreal m_maximumScaleFactor;
+ qreal m_devicePixelRatio;
+ bool m_isUserScalable;
+ bool m_isValid;
+ QSize m_size;
+
+ friend class QWKPage;
+ };
+
QWKPage(WKPageNamespaceRef);
virtual ~QWKPage();
@@ -45,6 +76,7 @@ public:
QString title() const;
void setViewportSize(const QSize&);
+ ViewportConfiguration viewportConfigurationForSize(QSize availableSize) const;
QAction* action(WebAction action) const;
void triggerAction(WebAction action, bool checked = false);
diff --git a/WebKit2/UIProcess/API/qt/qwkpage_p.h b/WebKit2/UIProcess/API/qt/qwkpage_p.h
index 437348c..06a5668 100644
--- a/WebKit2/UIProcess/API/qt/qwkpage_p.h
+++ b/WebKit2/UIProcess/API/qt/qwkpage_p.h
@@ -85,4 +85,14 @@ public:
QBasicTimer tripleClickTimer;
};
+class QtViewportConfigurationPrivate : public QSharedData {
+public:
+ QtViewportConfigurationPrivate(QWKPage::ViewportConfiguration* qq)
+ : q(qq)
+ { }
+
+ QWKPage::ViewportConfiguration* q;
+};
+
+
#endif /* qkpage_p_h */
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list