diff options
-rw-r--r-- | browser-plugin/scriptable.cpp | 22 | ||||
-rw-r--r-- | browser-plugin/scriptable.h | 1 |
2 files changed, 12 insertions, 11 deletions
diff --git a/browser-plugin/scriptable.cpp b/browser-plugin/scriptable.cpp index 7715134..4ffe57e 100644 --- a/browser-plugin/scriptable.cpp +++ b/browser-plugin/scriptable.cpp @@ -207,6 +207,7 @@ ScriptablePluginObject::ScriptablePluginObject (NPP npp) : mFindTermsID = NPN_GetStringIdentifier ("findTerms"); mFindPreviousID = NPN_GetStringIdentifier ("findPrevious"); mFindNextID = NPN_GetStringIdentifier ("findNext"); + mCopyClipboardID = NPN_GetStringIdentifier ("copyClipboard"); } bool @@ -217,7 +218,8 @@ ScriptablePluginObject::HasMethod (NPIdentifier name) mZoomOutID, mFindTermsID, mFindPreviousID, - mFindNextID + mFindNextID, + mCopyClipboardID }; for (guint i = 0; i < G_N_ELEMENTS(methods); i++) { @@ -322,16 +324,6 @@ ScriptablePluginObject::SetProperty (NPIdentifier name, const NPVariant *value) plugin->SetZoom (zoom); return true; - } else if (name == mCanCopyID) { - // FIXME fix method calls (using write access to a property as - // an awful workaround) - if (!plugin->mHasSelection) { - NPN_SetException (this, "Nothing to copy"); - return false; - } - - plugin->CopyClipboard (); - return true; } return false; @@ -377,6 +369,14 @@ ScriptablePluginObject::Invoke (NPIdentifier name, const NPVariant *args, } else if (name == mFindPreviousID) { plugin->FindPrevious (); return true; + } else if (name == mCopyClipboardID) { + if (!plugin->mHasSelection) { + NPN_SetException (this, "Nothing to copy"); + return false; + } + + plugin->CopyClipboard (); + return true; } return false; diff --git a/browser-plugin/scriptable.h b/browser-plugin/scriptable.h index 01912fa..9565dd0 100644 --- a/browser-plugin/scriptable.h +++ b/browser-plugin/scriptable.h @@ -103,6 +103,7 @@ class ScriptablePluginObject : public ScriptablePluginObjectBase NPIdentifier mFindTermsID; NPIdentifier mFindPreviousID; NPIdentifier mFindNextID; + NPIdentifier mCopyClipboardID; NPObject *mMagicWrapper; }; |