Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--browser-plugin/scriptable.cpp22
-rw-r--r--browser-plugin/scriptable.h1
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;
};