summaryrefslogtreecommitdiffstats
path: root/webkit/glue/plugins
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-29 20:38:38 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-29 20:38:38 +0000
commitba6b5cfec256bf3e2050a128289c062effede0d2 (patch)
tree274a882ae1ca7e4c1667813d76f3d9cc0158fc2f /webkit/glue/plugins
parent894f4a077ae70c658a285377c0f957c0259817d3 (diff)
downloadchromium_src-ba6b5cfec256bf3e2050a128289c062effede0d2.zip
chromium_src-ba6b5cfec256bf3e2050a128289c062effede0d2.tar.gz
chromium_src-ba6b5cfec256bf3e2050a128289c062effede0d2.tar.bz2
Allow quering Pepper plugin for selected text for the context menu. Also take out the ability to access the clipboard since it's not exposed to HTML for security reasons.
Review URL: http://codereview.chromium.org/2841028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51159 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue/plugins')
-rw-r--r--webkit/glue/plugins/npapi_extension_thunk.cc7
-rw-r--r--webkit/glue/plugins/webplugin_delegate.h2
-rw-r--r--webkit/glue/plugins/webplugin_impl.cc7
-rw-r--r--webkit/glue/plugins/webplugin_impl.h1
4 files changed, 10 insertions, 7 deletions
diff --git a/webkit/glue/plugins/npapi_extension_thunk.cc b/webkit/glue/plugins/npapi_extension_thunk.cc
index d2abd27..4779535 100644
--- a/webkit/glue/plugins/npapi_extension_thunk.cc
+++ b/webkit/glue/plugins/npapi_extension_thunk.cc
@@ -11,7 +11,6 @@
#include "webkit/glue/plugins/plugin_instance.h"
#include "webkit/glue/plugins/webplugin.h"
#include "webkit/glue/plugins/webplugin_delegate.h"
-#include "webkit/glue/scoped_clipboard_writer_glue.h"
#include "webkit/glue/webkit_glue.h"
// FindInstance()
@@ -473,11 +472,6 @@ static NPDevice* AcquireDevice(NPP id, NPDeviceID device_id) {
}
}
-static void CopyTextToClipboard(NPP id, const char* content) {
- ScopedClipboardWriterGlue scw(webkit_glue::ClipboardGetClipboard());
- scw.WriteText(UTF8ToUTF16(content));
-}
-
static NPError ChooseFile(NPP id,
const char* mime_types,
NPChooseFileMode mode,
@@ -539,7 +533,6 @@ namespace NPAPI {
NPError GetPepperExtensionsFunctions(void* value) {
static const NPNExtensions kExtensions = {
&AcquireDevice,
- &CopyTextToClipboard,
&NumberOfFindResultsChanged,
&SelectedFindResultChanged,
&ChooseFile,
diff --git a/webkit/glue/plugins/webplugin_delegate.h b/webkit/glue/plugins/webplugin_delegate.h
index 413a509..f496d52 100644
--- a/webkit/glue/plugins/webplugin_delegate.h
+++ b/webkit/glue/plugins/webplugin_delegate.h
@@ -159,6 +159,8 @@ class WebPluginDelegate : public WebPlugin2DDeviceDelegate,
virtual void Zoom(int factor) {}
// Copy the selected text.
virtual void Copy() {}
+ // Gets the selected UTF8 text, if any.
+ virtual string16 GetSelectedText() { return string16(); }
};
} // namespace webkit_glue
diff --git a/webkit/glue/plugins/webplugin_impl.cc b/webkit/glue/plugins/webplugin_impl.cc
index a83f35c..96f7b4b 100644
--- a/webkit/glue/plugins/webplugin_impl.cc
+++ b/webkit/glue/plugins/webplugin_impl.cc
@@ -422,6 +422,13 @@ void WebPluginImpl::printEnd() {
delegate_->PrintEnd();
}
+WebString WebPluginImpl::selectedText() {
+ if (!delegate_)
+ return WebString();
+
+ return delegate_->GetSelectedText();
+}
+
// -----------------------------------------------------------------------------
diff --git a/webkit/glue/plugins/webplugin_impl.h b/webkit/glue/plugins/webplugin_impl.h
index 9c2fa33..8436ae7 100644
--- a/webkit/glue/plugins/webplugin_impl.h
+++ b/webkit/glue/plugins/webplugin_impl.h
@@ -93,6 +93,7 @@ class WebPluginImpl : public WebPlugin,
int printer_dpi);
virtual bool printPage(int page_number, WebKit::WebCanvas* canvas);
virtual void printEnd();
+ virtual WebKit::WebString selectedText();
// WebPlugin implementation:
void SetWindow(gfx::PluginWindowHandle window);