summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndras Becsi <andras.becsi@digia.com>2013-06-26 17:18:14 +0200
committerAndras Becsi <andras.becsi@digia.com>2013-06-27 17:18:52 +0200
commit237d6de19dc47fa66fb58788a008c4bf5f6f09ed (patch)
tree32d628cad0a09a30a0961ac3ea33423fa9f92eb3
parent6163ce64d28df8589e2ce52b2a2282fc86d90e78 (diff)
Deduplicate RenderWidgetHostViewQt member in delegates
Move RWHV member to common base class RWHVDelegate instead of declaring it in both the widget and quick implementations, and do not leak it. Change-Id: I72d692e10128a6b4cb5c2e3c3817d6dca078c2bc Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
-rw-r--r--lib/render_widget_host_view_qt_delegate.h6
-rw-r--r--lib/render_widget_host_view_qt_delegate_quick.cpp2
-rw-r--r--lib/render_widget_host_view_qt_delegate_quick.h3
-rw-r--r--lib/render_widget_host_view_qt_delegate_widget.cpp2
-rw-r--r--lib/render_widget_host_view_qt_delegate_widget.h2
5 files changed, 8 insertions, 7 deletions
diff --git a/lib/render_widget_host_view_qt_delegate.h b/lib/render_widget_host_view_qt_delegate.h
index c965f81df..9f09f3db2 100644
--- a/lib/render_widget_host_view_qt_delegate.h
+++ b/lib/render_widget_host_view_qt_delegate.h
@@ -42,11 +42,17 @@
#ifndef RENDER_WIDGET_HOST_VIEW_QT_DELEGATE_H
#define RENDER_WIDGET_HOST_VIEW_QT_DELEGATE_H
+#include "base/memory/scoped_ptr.h"
+
+#include "render_widget_host_view_qt.h"
#include <QRect>
class QWindow;
class RenderWidgetHostViewQtDelegate {
+protected:
+ scoped_ptr<RenderWidgetHostViewQt> m_view;
+ RenderWidgetHostViewQtDelegate(RenderWidgetHostViewQt* view) : m_view(view) { Q_ASSERT(m_view); }
public:
virtual ~RenderWidgetHostViewQtDelegate() {}
virtual QRectF screenRect() const = 0;
diff --git a/lib/render_widget_host_view_qt_delegate_quick.cpp b/lib/render_widget_host_view_qt_delegate_quick.cpp
index e9a0ee71e..0dd3822af 100644
--- a/lib/render_widget_host_view_qt_delegate_quick.cpp
+++ b/lib/render_widget_host_view_qt_delegate_quick.cpp
@@ -51,8 +51,8 @@
RenderWidgetHostViewQtDelegateQuick::RenderWidgetHostViewQtDelegateQuick(RenderWidgetHostViewQt* view, QQuickItem *parent)
: QQuickPaintedItem(parent)
+ , RenderWidgetHostViewQtDelegate(view)
, m_backingStore(0)
- , m_view(view)
{
setFocus(true);
setAcceptedMouseButtons(Qt::AllButtons);
diff --git a/lib/render_widget_host_view_qt_delegate_quick.h b/lib/render_widget_host_view_qt_delegate_quick.h
index 14c0b17f7..7205d7794 100644
--- a/lib/render_widget_host_view_qt_delegate_quick.h
+++ b/lib/render_widget_host_view_qt_delegate_quick.h
@@ -53,7 +53,6 @@ class QFocusEvent;
class QMouseEvent;
class QKeyEvent;
class QWheelEvent;
-class RenderWidgetHostViewQt;
class RenderWidgetHostViewQtDelegateQuick : public QQuickPaintedItem, public RenderWidgetHostViewQtDelegate
{
@@ -86,8 +85,6 @@ protected:
private:
BackingStoreQt* m_backingStore;
- RenderWidgetHostViewQt *m_view;
-
};
#endif
diff --git a/lib/render_widget_host_view_qt_delegate_widget.cpp b/lib/render_widget_host_view_qt_delegate_widget.cpp
index e806824a3..8bf82f45c 100644
--- a/lib/render_widget_host_view_qt_delegate_widget.cpp
+++ b/lib/render_widget_host_view_qt_delegate_widget.cpp
@@ -51,8 +51,8 @@
RenderWidgetHostViewQtDelegateWidget::RenderWidgetHostViewQtDelegateWidget(RenderWidgetHostViewQt* view, QWidget *parent)
: QWidget(parent)
+ , RenderWidgetHostViewQtDelegate(view)
, m_painter(0)
- , m_view(view)
{
setFocusPolicy(Qt::ClickFocus);
setAttribute(Qt::WA_OpaquePaintEvent);
diff --git a/lib/render_widget_host_view_qt_delegate_widget.h b/lib/render_widget_host_view_qt_delegate_widget.h
index e57399725..33830c5e5 100644
--- a/lib/render_widget_host_view_qt_delegate_widget.h
+++ b/lib/render_widget_host_view_qt_delegate_widget.h
@@ -48,7 +48,6 @@
class BackingStoreQt;
class QWindow;
-class RenderWidgetHostViewQt;
class RenderWidgetHostViewQtDelegateWidget : public QWidget, public RenderWidgetHostViewQtDelegate
{
@@ -71,7 +70,6 @@ protected:
private:
QPainter* m_painter;
- RenderWidgetHostViewQt *m_view;
};
#endif