summaryrefslogtreecommitdiffstats
path: root/webkit/glue/plugins/plugin_instance.cc
diff options
context:
space:
mode:
Diffstat (limited to 'webkit/glue/plugins/plugin_instance.cc')
-rw-r--r--webkit/glue/plugins/plugin_instance.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/webkit/glue/plugins/plugin_instance.cc b/webkit/glue/plugins/plugin_instance.cc
index 893b6ec..54711b7 100644
--- a/webkit/glue/plugins/plugin_instance.cc
+++ b/webkit/glue/plugins/plugin_instance.cc
@@ -4,6 +4,7 @@
#include "webkit/glue/plugins/plugin_instance.h"
+#include "base/file_util.h"
#include "base/message_loop.h"
#include "base/string_util.h"
#include "base/thread_local_storage.h"
@@ -205,6 +206,11 @@ void PluginInstance::NPP_Destroy() {
mozilla_extenstions_ = NULL;
}
#endif
+
+ for (unsigned int file_index = 0; file_index < files_created_.size();
+ file_index++) {
+ file_util::Delete(files_created_[file_index], false);
+ }
}
NPError PluginInstance::NPP_SetWindow(NPWindow *window) {
@@ -272,6 +278,12 @@ void PluginInstance::NPP_StreamAsFile(NPStream *stream, const char *fname) {
if (npp_functions_->asfile != 0) {
npp_functions_->asfile(npp_, stream, fname);
}
+
+ // Creating a temporary FilePath instance on the stack as the explicit
+ // FilePath constructor with StringType as an argument causes a compiler
+ // error when invoked via vector push back.
+ FilePath file_name(UTF8ToWide(fname));
+ files_created_.push_back(file_name);
}
void PluginInstance::NPP_URLNotify(const char *url,