diff options
author | Andras Becsi <andras.becsi@digia.com> | 2013-06-26 17:18:14 +0200 |
---|---|---|
committer | Andras Becsi <andras.becsi@digia.com> | 2013-06-27 17:18:52 +0200 |
commit | 237d6de19dc47fa66fb58788a008c4bf5f6f09ed (patch) | |
tree | 32d628cad0a09a30a0961ac3ea33423fa9f92eb3 | |
parent | 6163ce64d28df8589e2ce52b2a2282fc86d90e78 (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.h | 6 | ||||
-rw-r--r-- | lib/render_widget_host_view_qt_delegate_quick.cpp | 2 | ||||
-rw-r--r-- | lib/render_widget_host_view_qt_delegate_quick.h | 3 | ||||
-rw-r--r-- | lib/render_widget_host_view_qt_delegate_widget.cpp | 2 | ||||
-rw-r--r-- | lib/render_widget_host_view_qt_delegate_widget.h | 2 |
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 |