diff options
author | Jocelyn Turcotte <jocelyn.turcotte@digia.com> | 2014-02-10 17:58:18 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-02-13 14:28:04 +0100 |
commit | 9cf0007b6ff49305550754babaeb67eb85c8d5ef (patch) | |
tree | 9120ed29dc1a5a80411564d1a3c82afb48d0a669 /src/core | |
parent | 9df1c50119847d960e07ecb98597435c91ac5e30 (diff) |
Implement QWebEnginePage::selectedText
Change-Id: Idebde8da0befbea7ccc5942de1e09fcc61ce16d4
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/render_widget_host_view_qt.cpp | 6 | ||||
-rw-r--r-- | src/core/render_widget_host_view_qt.h | 3 | ||||
-rw-r--r-- | src/core/web_contents_adapter.cpp | 6 | ||||
-rw-r--r-- | src/core/web_contents_adapter.h | 1 | ||||
-rw-r--r-- | src/core/web_contents_adapter_client.h | 1 |
5 files changed, 17 insertions, 0 deletions
diff --git a/src/core/render_widget_host_view_qt.cpp b/src/core/render_widget_host_view_qt.cpp index 39c95098e..4233e91bd 100644 --- a/src/core/render_widget_host_view_qt.cpp +++ b/src/core/render_widget_host_view_qt.cpp @@ -624,6 +624,12 @@ void RenderWidgetHostViewQt::OnAccessibilityEvents(const std::vector<Accessibili QT_NOT_USED } +void RenderWidgetHostViewQt::SelectionChanged(const string16 &text, size_t offset, const gfx::Range &range) +{ + content::RenderWidgetHostViewBase::SelectionChanged(text, offset, range); + m_adapterClient->selectionChanged(); +} + bool RenderWidgetHostViewQt::DispatchLongPressGestureEvent(ui::GestureEvent *) { return false; diff --git a/src/core/render_widget_host_view_qt.h b/src/core/render_widget_host_view_qt.h index 5591be190..6d4e1ba80 100644 --- a/src/core/render_widget_host_view_qt.h +++ b/src/core/render_widget_host_view_qt.h @@ -161,6 +161,9 @@ public: virtual void OnAccessibilityEvents(const std::vector<AccessibilityHostMsg_EventParams>&) Q_DECL_OVERRIDE; virtual void ProcessAckedTouchEvent(const content::TouchEventWithLatencyInfo &touch, content::InputEventAckState ack_result) Q_DECL_OVERRIDE; + // Overridden from RenderWidgetHostViewBase. + virtual void SelectionChanged(const string16 &text, size_t offset, const gfx::Range &range) OVERRIDE; + // Overridden from ui::GestureEventHelper. virtual bool DispatchLongPressGestureEvent(ui::GestureEvent *event) Q_DECL_OVERRIDE; virtual bool DispatchCancelTouchEvent(ui::TouchEvent *event) Q_DECL_OVERRIDE; diff --git a/src/core/web_contents_adapter.cpp b/src/core/web_contents_adapter.cpp index ea360dc99..82d6ed26f 100644 --- a/src/core/web_contents_adapter.cpp +++ b/src/core/web_contents_adapter.cpp @@ -319,6 +319,12 @@ QString WebContentsAdapter::pageTitle() const return entry ? toQt(entry->GetTitle()) : QString(); } +QString WebContentsAdapter::selectedText() const +{ + Q_D(const WebContentsAdapter); + return toQt(d->webContents->GetRenderViewHost()->GetView()->GetSelectedText()); +} + void WebContentsAdapter::navigateToIndex(int offset) { Q_D(WebContentsAdapter); diff --git a/src/core/web_contents_adapter.h b/src/core/web_contents_adapter.h index 93027c19c..56e39ba32 100644 --- a/src/core/web_contents_adapter.h +++ b/src/core/web_contents_adapter.h @@ -71,6 +71,7 @@ public: QUrl activeUrl() const; QUrl requestedUrl() const; QString pageTitle() const; + QString selectedText() const; void navigateToIndex(int); void navigateToOffset(int); diff --git a/src/core/web_contents_adapter_client.h b/src/core/web_contents_adapter_client.h index ba6a45355..778446a12 100644 --- a/src/core/web_contents_adapter_client.h +++ b/src/core/web_contents_adapter_client.h @@ -121,6 +121,7 @@ public: virtual void iconChanged(const QUrl&) = 0; virtual void loadingStateChanged() = 0; virtual void loadProgressChanged(int progress) = 0; + virtual void selectionChanged() = 0; virtual QRectF viewportRect() const = 0; virtual qreal dpiScale() const = 0; virtual void loadFinished(bool success, int error_code = 0, const QString &error_description = QString()) = 0; |