Update of /cvsroot/mplayerplug-in/mplayerplug-in/Source
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24387/Source
Modified Files:
plugin-setup.cpp plugin.cpp plugin.h
Log Message:
Add embed callback "onDestroy"
Index: plugin.h
===================================================================
RCS file: /cvsroot/mplayerplug-in/mplayerplug-in/Source/plugin.h,v
retrieving revision 1.70
retrieving revision 1.71
diff -C2 -d -r1.70 -r1.71
*** plugin.h 26 Jul 2005 22:37:08 -0000 1.70
--- plugin.h 27 Jul 2005 20:03:39 -0000 1.71
***************
*** 172,175 ****
--- 172,176 ----
char *onVisibleCallback;
char *onHiddenCallback;
+ char *onDestroyCallback;
float mediaLength; // length of media in seconds
int mediaPercent; // percentage of media played
Index: plugin-setup.cpp
===================================================================
RCS file: /cvsroot/mplayerplug-in/mplayerplug-in/Source/plugin-setup.cpp,v
retrieving revision 1.72
retrieving revision 1.73
diff -C2 -d -r1.72 -r1.73
*** plugin-setup.cpp 27 Jul 2005 15:57:57 -0000 1.72
--- plugin-setup.cpp 27 Jul 2005 20:03:38 -0000 1.73
***************
*** 448,452 ****
printf("hidden=%i\n", instance->hidden);
}
-
// target is used by Google Video to specifiy the URL to be played
// so we might have to do something here.
--- 448,451 ----
***************
*** 696,699 ****
--- 695,719 ----
}
+ if (strncasecmp
+ (parameters->argn[i], "ondestroy",
+ strlen("ondestroy")) == 0) {
+ instance->onDestroyCallback =
+ (char *) NPN_MemAlloc(strlen(parameters->argv[i]) +
+ 12);
+ if (strncasecmp(parameters->argv[i], "javascript:", 11)
+ == 0) {
+ snprintf(instance->onDestroyCallback,
+ strlen(parameters->argv[i]), "%s",
+ parameters->argv[i]);
+ } else {
+ snprintf(instance->onDestroyCallback,
+ strlen(parameters->argv[i]) + 12,
+ "javascript:%s", parameters->argv[i]);
+ }
+ if (DEBUG)
+ printf("onDestroyCallback=%s\n",
+ instance->onDestroyCallback);
+ }
+
if (instance->nQtNext < 256
&& (strncasecmp(parameters->argn[i], "qtnext", 6) == 0)
Index: plugin.cpp
===================================================================
RCS file: /cvsroot/mplayerplug-in/mplayerplug-in/Source/plugin.cpp,v
retrieving revision 1.214
retrieving revision 1.215
diff -C2 -d -r1.214 -r1.215
*** plugin.cpp 27 Jul 2005 15:57:59 -0000 1.214
--- plugin.cpp 27 Jul 2005 20:03:39 -0000 1.215
***************
*** 197,200 ****
--- 197,201 ----
onVisibleCallback = NULL;
onHiddenCallback = NULL;
+ onDestroyCallback = NULL;
mediaLength = 0.0;
mediaPercent = 0;
***************
*** 327,330 ****
--- 328,338 ----
if (DEBUG)
printf("shut called\n");
+
+ if (onDestroyCallback != NULL) {
+ if (DEBUG)
+ printf("Destroy Callback = %s\n", onDestroyCallback);
+ NPN_GetURL(mInstance, onDestroyCallback, NULL);
+ }
+
shutdown();
***************
*** 2043,2046 ****
--- 2051,2055 ----
// reset the list
*/
+ media_save = NULL;
if (mediaCompleteCallback != NULL) {
|