summaryrefslogtreecommitdiffstats
path: root/lib/widgets
diff options
context:
space:
mode:
authorAndras Becsi <andras.becsi@digia.com>2013-08-28 20:03:55 +0200
committerAndras Becsi <andras.becsi@digia.com>2013-09-02 20:21:52 +0200
commitc3f53cadb902f711a90b744c5b186208cf08826b (patch)
tree8eba9a17dd174e6647a9262cb86d4690b9a41cc4 /lib/widgets
parent7146fcc14dcd69f39f20a3e49a9b371bd306bb53 (diff)
Fix rendering on Retina displays
Since the QWindow returned by the RWHV delegates was always 0 we never actually propagated a valid WebScreenInfo to chromium. Additionally the painting and scrolling in the backing store had to be fixed so that the device pixel ratio is taken into account. Change-Id: I22dc135e8e090362201292863ed911464b9fc133 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Diffstat (limited to 'lib/widgets')
-rw-r--r--lib/widgets/render_widget_host_view_qt_delegate_widget.cpp10
-rw-r--r--lib/widgets/render_widget_host_view_qt_delegate_widget.h1
2 files changed, 10 insertions, 1 deletions
diff --git a/lib/widgets/render_widget_host_view_qt_delegate_widget.cpp b/lib/widgets/render_widget_host_view_qt_delegate_widget.cpp
index 845b67f55..1c7af34d8 100644
--- a/lib/widgets/render_widget_host_view_qt_delegate_widget.cpp
+++ b/lib/widgets/render_widget_host_view_qt_delegate_widget.cpp
@@ -48,6 +48,7 @@
#include <QResizeEvent>
#include <QPainter>
#include <QPaintEvent>
+#include <QWindow>
RenderWidgetHostViewQtDelegateWidget::RenderWidgetHostViewQtDelegateWidget(QWidget *parent)
: QWidget(parent)
@@ -111,9 +112,16 @@ bool RenderWidgetHostViewQtDelegateWidget::isVisible() const
return QWidget::isVisible();
}
+WId RenderWidgetHostViewQtDelegateWidget::nativeWindowIdForCompositor() const
+{
+ QWindow* window = QWidget::windowHandle();
+ return window ? window->winId() : 0;
+}
+
QWindow* RenderWidgetHostViewQtDelegateWidget::window() const
{
- return QWidget::windowHandle();
+ const QWidget* root = QWidget::window();
+ return root ? root->windowHandle() : 0;
}
void RenderWidgetHostViewQtDelegateWidget::update(const QRect& rect)
diff --git a/lib/widgets/render_widget_host_view_qt_delegate_widget.h b/lib/widgets/render_widget_host_view_qt_delegate_widget.h
index 1eec64149..c133edafd 100644
--- a/lib/widgets/render_widget_host_view_qt_delegate_widget.h
+++ b/lib/widgets/render_widget_host_view_qt_delegate_widget.h
@@ -61,6 +61,7 @@ public:
virtual void show();
virtual void hide();
virtual bool isVisible() const;
+ virtual WId nativeWindowIdForCompositor() const;
virtual QWindow* window() const;
virtual void update(const QRect& rect = QRect());
virtual void updateCursor(const QCursor &);