diff --git a/extras/browser plugins/How to build a browser plugin.txt b/extras/browser plugins/How to build a browser plugin.txt
index 2fb1e5335c..85e02072e3 100644
--- a/extras/browser plugins/How to build a browser plugin.txt
+++ b/extras/browser plugins/How to build a browser plugin.txt
@@ -53,3 +53,17 @@ Building a Windows NPAPI plugin in Visual Studio
- Note that the "browser plugins/wrapper/npapi" folder contains a copy of some NPAPI header files. If you're
building a closed-source project, please check the licensing details in these files to make sure
you're not breaking any Mozilla licensing restictions.
+
+
+Building a Windows ActiveX control for Internet Explorer
+--------------------------------------------------------
+
+- This is actually quite easy, because the same DLL that functions as an NPAPI plugin can
+ also be used as an ActiveX control.
+- Just create a windows NPAPI plugin as described above, but add the juce_ActiveX_GlueCode.cpp
+ file to the project.
+- In your BrowserPluginCharacteristics.h file, the JuceBrowserPlugin_ActiveXCLSID setting needs
+ to be given a unique GUID for your plugin.
+- Because the plugin is a COM object, it doesn't matter where the DLL lives, but it needs to
+ be registered in the normal COM way, with regsvr32.exe. Note that on Vista, this command
+ needs to be run with administrator permissions for it to be able to write to the registry.
diff --git a/extras/browser plugins/demo/build/npapi_mac/English.lproj/InfoPlist.strings b/extras/browser plugins/demo/build/mac/English.lproj/InfoPlist.strings
similarity index 100%
rename from extras/browser plugins/demo/build/npapi_mac/English.lproj/InfoPlist.strings
rename to extras/browser plugins/demo/build/mac/English.lproj/InfoPlist.strings
diff --git a/extras/browser plugins/demo/build/npapi_mac/Info.plist b/extras/browser plugins/demo/build/mac/Info.plist
similarity index 100%
rename from extras/browser plugins/demo/build/npapi_mac/Info.plist
rename to extras/browser plugins/demo/build/mac/Info.plist
diff --git a/extras/browser plugins/demo/build/npapi_mac/JuceBrowserPluginDemo.xcodeproj/TemplateIcon.tiff b/extras/browser plugins/demo/build/mac/JuceBrowserPluginDemo.xcodeproj/TemplateIcon.tiff
similarity index 100%
rename from extras/browser plugins/demo/build/npapi_mac/JuceBrowserPluginDemo.xcodeproj/TemplateIcon.tiff
rename to extras/browser plugins/demo/build/mac/JuceBrowserPluginDemo.xcodeproj/TemplateIcon.tiff
diff --git a/extras/browser plugins/demo/build/npapi_mac/JuceBrowserPluginDemo.xcodeproj/project.pbxproj b/extras/browser plugins/demo/build/mac/JuceBrowserPluginDemo.xcodeproj/project.pbxproj
similarity index 100%
rename from extras/browser plugins/demo/build/npapi_mac/JuceBrowserPluginDemo.xcodeproj/project.pbxproj
rename to extras/browser plugins/demo/build/mac/JuceBrowserPluginDemo.xcodeproj/project.pbxproj
diff --git a/extras/browser plugins/demo/build/npapi_win/JuceBrowserPluginDemo.sln b/extras/browser plugins/demo/build/npapi_win/JuceBrowserPluginDemo.sln
deleted file mode 100644
index c05fe8a99e..0000000000
--- a/extras/browser plugins/demo/build/npapi_win/JuceBrowserPluginDemo.sln
+++ /dev/null
@@ -1,20 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual C++ Express 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JuceBrowserPluginDemo", "JuceBrowserPluginDemo.vcproj", "{865C6463-5BC7-4F36-8667-FF9221C32797}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {865C6463-5BC7-4F36-8667-FF9221C32797}.Debug|Win32.ActiveCfg = Debug|Win32
- {865C6463-5BC7-4F36-8667-FF9221C32797}.Debug|Win32.Build.0 = Debug|Win32
- {865C6463-5BC7-4F36-8667-FF9221C32797}.Release|Win32.ActiveCfg = Release|Win32
- {865C6463-5BC7-4F36-8667-FF9221C32797}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/extras/browser plugins/demo/build/npapi_win/JuceBrowserPluginDemo.vcproj b/extras/browser plugins/demo/build/npapi_win/JuceBrowserPluginDemo.vcproj
deleted file mode 100644
index 80ab4ca13f..0000000000
--- a/extras/browser plugins/demo/build/npapi_win/JuceBrowserPluginDemo.vcproj
+++ /dev/null
@@ -1,216 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/extras/browser plugins/demo/src/BrowserPluginCharacteristics.h b/extras/browser plugins/demo/src/BrowserPluginCharacteristics.h
index 1ef6f0399c..d0e9547399 100644
--- a/extras/browser plugins/demo/src/BrowserPluginCharacteristics.h
+++ b/extras/browser plugins/demo/src/BrowserPluginCharacteristics.h
@@ -35,3 +35,8 @@
can open. If you don't need to use it, just use a made-up name here.
*/
#define JuceBrowserPlugin_FileSuffix ".jucedemo"
+
+/** If you're building an activeX version, you'll need to create a unique GUID for
+ your plugin. Use a tool like uuidgen.exe to create this.
+*/
+#define JuceBrowserPlugin_ActiveXCLSID "F683B990-3ADF-11DE-BDFE-F9CB55D89593"
diff --git a/extras/browser plugins/demo/src/JuceBrowserPluginDemo.cpp b/extras/browser plugins/demo/src/JuceBrowserPluginDemo.cpp
index 8b128d97d3..72edf2dcea 100644
--- a/extras/browser plugins/demo/src/JuceBrowserPluginDemo.cpp
+++ b/extras/browser plugins/demo/src/JuceBrowserPluginDemo.cpp
@@ -120,7 +120,7 @@ public:
if (numParams > 0)
owner->textBox->setText (owner->textBox->getText() + "\n" + params[0].toString());
- return var();
+ return "text was printed ok!";
}
const var popUpMessageBox (const var* params, int numParams)
diff --git a/extras/browser plugins/demo/test.html b/extras/browser plugins/demo/test.html
index e652d7539a..e478fb9ec1 100644
--- a/extras/browser plugins/demo/test.html
+++ b/extras/browser plugins/demo/test.html
@@ -15,7 +15,8 @@ function getPlugin()
function showAMessage()
{
- getPlugin().printText ("This is a message sent from the website's javascript...");
+ var response = getPlugin().printText ("This is a message sent from the website's javascript...");
+ printmessage (response);
}
function popUpMessageBox()
@@ -40,7 +41,14 @@ function sendCallbackObjectToPlugin()
-