diff --git a/mozilla/modules/plugin/samples/default/mac/DefaultPlugin.pbproj/project.pbxproj b/mozilla/modules/plugin/samples/default/mac/DefaultPlugin.pbproj/project.pbxproj
deleted file mode 100644
index 2321e8960a3..00000000000
--- a/mozilla/modules/plugin/samples/default/mac/DefaultPlugin.pbproj/project.pbxproj
+++ /dev/null
@@ -1,387 +0,0 @@
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 38;
- objects = {
- 089C1669FE841209C02AAC07 = {
- buildStyles = (
- 4F9091AC011F3BD104CA0E50,
- 4F9091AD011F3BD104CA0E50,
- F50EB520038ABFA401A9666E,
- );
- hasScannedForEncodings = 1;
- isa = PBXProject;
- mainGroup = 089C166AFE841209C02AAC07;
- projectDirPath = "";
- targets = (
- 089C1673FE841209C02AAC07,
- F59D147102AC328B01000104,
- );
- };
- 089C166AFE841209C02AAC07 = {
- children = (
- 08FB77ADFE841716C02AAC07,
- 089C167CFE841241C02AAC07,
- 089C1671FE841209C02AAC07,
- 19C28FB4FE9D528D11CA2CBB,
- );
- isa = PBXGroup;
- name = MRJPlugin;
- refType = 4;
- };
- 089C1671FE841209C02AAC07 = {
- children = (
- F5A7D3AB036E359F01A96660,
- 08EA7FFBFE8413EDC02AAC07,
- F51A400C0299CD65012FC976,
- );
- isa = PBXGroup;
- name = "External Frameworks and Libraries";
- refType = 4;
- };
- 089C1673FE841209C02AAC07 = {
- buildPhases = (
- 089C1674FE841209C02AAC07,
- 089C1675FE841209C02AAC07,
- 089C1676FE841209C02AAC07,
- 089C1677FE841209C02AAC07,
- 089C1679FE841209C02AAC07,
- F5BFB5E8029AD01B01000102,
- );
- buildSettings = {
- FRAMEWORK_SEARCH_PATHS = "\"$(SYSTEM_LIBRARY_DIR)/Frameworks/CoreFoundation.framework\"";
- HEADER_SEARCH_PATHS = "../../../../../dist/sdk/xpcom/include ../../../../../dist/include/caps ../../../../../dist/include/java ../../../../../dist/include/js ../../../../../dist/include/nspr ../../../../../dist/include/nspr/obsolete ../../../../../dist/include/oji ../../../../../dist/include/plugin ../../../../../dist/include/xpcom ../../../../../dist/include/xpconnect ../../../../../dist/include /Developer/Headers/FlatCarbon";
- LIBRARY_SEARCH_PATHS = /usr/lib;
- OTHER_CFLAGS = "-DXP_MACOSX=1 -DNO_X11=1 -DUSE_SYSTEM_CONSOLE=1";
- OTHER_LDFLAGS = "";
- OTHER_REZFLAGS = "";
- PREFIX_HEADER = DefaultPluginPrefix.h;
- PRODUCT_NAME = "Default Plugin";
- SECTORDER_FLAGS = "";
- WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas";
- WRAPPER_EXTENSION = plugin;
- };
- dependencies = (
- F59D147202AC350E01000104,
- );
- isa = PBXBundleTarget;
- name = "Default Plugin";
- productName = MRJPlugin;
- productReference = 4F9091AB011F3BD104CA0E50;
- productSettingsXML = "
-
-
-
- CFBundleDevelopmentRegion
- English
- CFBundleExecutable
- Default Plugin
- CFBundleIconFile
-
- CFBundleIdentifier
- com.netscape.DefaultPlugin
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundlePackageType
- NSPL
- CFBundleSignature
- MOSS
- CFBundleVersion
- 1.0
- CSResourcesFileMapped
-
-
-
-";
- };
- 089C1674FE841209C02AAC07 = {
- buildActionMask = 2147483647;
- files = (
- 0F64AF2D0433C8A200A96652,
- );
- isa = PBXHeadersBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- 089C1675FE841209C02AAC07 = {
- buildActionMask = 2147483647;
- files = (
- 089C1680FE841241C02AAC07,
- );
- isa = PBXResourcesBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- 089C1676FE841209C02AAC07 = {
- buildActionMask = 2147483647;
- files = (
- F5E0C350036A130901A96660,
- F5E0C352036A130E01A96660,
- );
- isa = PBXSourcesBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- 089C1677FE841209C02AAC07 = {
- buildActionMask = 2147483647;
- files = (
- 08EA7FFCFE8413EDC02AAC07,
- F51A400D0299CD65012FC976,
- F5A7D695036E35A001A96660,
- );
- isa = PBXFrameworksBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- 089C1679FE841209C02AAC07 = {
- buildActionMask = 2147483647;
- files = (
- F5E0C34E036A12DF01A96660,
- );
- isa = PBXRezBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- 089C167CFE841241C02AAC07 = {
- children = (
- 089C167DFE841241C02AAC07,
- F5E0C34D036A12DF01A96660,
- );
- isa = PBXGroup;
- name = Resources;
- refType = 4;
- };
- 089C167DFE841241C02AAC07 = {
- children = (
- 089C167EFE841241C02AAC07,
- );
- isa = PBXVariantGroup;
- name = InfoPlist.strings;
- path = "";
- refType = 2;
- };
- 089C167EFE841241C02AAC07 = {
- fileEncoding = 10;
- isa = PBXFileReference;
- name = English;
- path = English.lproj/InfoPlist.strings;
- refType = 4;
- };
- 089C1680FE841241C02AAC07 = {
- fileRef = 089C167DFE841241C02AAC07;
- isa = PBXBuildFile;
- settings = {
- };
- };
- 08EA7FFBFE8413EDC02AAC07 = {
- isa = PBXFrameworkReference;
- name = Carbon.framework;
- path = /System/Library/Frameworks/Carbon.framework;
- refType = 0;
- };
- 08EA7FFCFE8413EDC02AAC07 = {
- fileRef = 08EA7FFBFE8413EDC02AAC07;
- isa = PBXBuildFile;
- settings = {
- };
- };
- 08FB77ADFE841716C02AAC07 = {
- children = (
- 0F64AF2C0433C8A200A96652,
- F5E0C34F036A130901A96660,
- F5E0C351036A130E01A96660,
- );
- isa = PBXGroup;
- name = Source;
- refType = 4;
- };
-//080
-//081
-//082
-//083
-//084
-//0F0
-//0F1
-//0F2
-//0F3
-//0F4
- 0F64AF2C0433C8A200A96652 = {
- fileEncoding = 4;
- isa = PBXFileReference;
- path = DefaultPluginPrefix.h;
- refType = 4;
- };
- 0F64AF2D0433C8A200A96652 = {
- fileRef = 0F64AF2C0433C8A200A96652;
- isa = PBXBuildFile;
- settings = {
- };
- };
-//0F0
-//0F1
-//0F2
-//0F3
-//0F4
-//190
-//191
-//192
-//193
-//194
- 19C28FB4FE9D528D11CA2CBB = {
- children = (
- 4F9091AB011F3BD104CA0E50,
- );
- isa = PBXGroup;
- name = Products;
- refType = 4;
- };
-//190
-//191
-//192
-//193
-//194
-//4F0
-//4F1
-//4F2
-//4F3
-//4F4
- 4F9091AB011F3BD104CA0E50 = {
- isa = PBXBundleReference;
- path = "Default Plugin.plugin";
- refType = 3;
- };
- 4F9091AC011F3BD104CA0E50 = {
- buildRules = (
- );
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- OPTIMIZATION_CFLAGS = "-O0";
- };
- isa = PBXBuildStyle;
- name = Development;
- };
- 4F9091AD011F3BD104CA0E50 = {
- buildRules = (
- );
- buildSettings = {
- COPY_PHASE_STRIP = YES;
- };
- isa = PBXBuildStyle;
- name = Deployment;
- };
-//4F0
-//4F1
-//4F2
-//4F3
-//4F4
-//F50
-//F51
-//F52
-//F53
-//F54
- F50EB520038ABFA401A9666E = {
- buildRules = (
- );
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- DEBUGGING_SYMBOLS = YES;
- };
- isa = PBXBuildStyle;
- name = DeploymentSymbols;
- };
- F51A400C0299CD65012FC976 = {
- isa = PBXFileReference;
- name = "libstdc++.a";
- path = "/usr/lib/libstdc++.a";
- refType = 0;
- };
- F51A400D0299CD65012FC976 = {
- fileRef = F51A400C0299CD65012FC976;
- isa = PBXBuildFile;
- settings = {
- };
- };
- F59D147102AC328B01000104 = {
- buildArgumentsString = "$ACTION resources";
- buildPhases = (
- );
- buildSettings = {
- OTHER_CFLAGS = "";
- OTHER_LDFLAGS = "";
- OTHER_REZFLAGS = "";
- PRODUCT_NAME = Resources;
- SECTORDER_FLAGS = "";
- WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas";
- };
- buildToolPath = /usr/bin/gnumake;
- buildWorkingDirectory = .;
- dependencies = (
- );
- isa = PBXLegacyTarget;
- name = Resources;
- passBuildSettingsInEnvironment = 1;
- productName = Resources;
- settingsToExpand = 6;
- settingsToPassInEnvironment = 287;
- settingsToPassOnCommandLine = 280;
- };
- F59D147202AC350E01000104 = {
- isa = PBXTargetDependency;
- target = F59D147102AC328B01000104;
- };
- F5A7D3AB036E359F01A96660 = {
- isa = PBXFrameworkReference;
- name = CoreFoundation.framework;
- path = /System/Library/Frameworks/CoreFoundation.framework;
- refType = 0;
- };
- F5A7D695036E35A001A96660 = {
- fileRef = F5A7D3AB036E359F01A96660;
- isa = PBXBuildFile;
- settings = {
- };
- };
- F5BFB5E8029AD01B01000102 = {
- buildActionMask = 2147483647;
- dstPath = "";
- dstSubfolderSpec = 6;
- files = (
- );
- isa = PBXCopyFilesBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- F5E0C34D036A12DF01A96660 = {
- isa = PBXFileReference;
- path = NullPlugin.rsrc;
- refType = 2;
- };
- F5E0C34E036A12DF01A96660 = {
- fileRef = F5E0C34D036A12DF01A96660;
- isa = PBXBuildFile;
- settings = {
- };
- };
- F5E0C34F036A130901A96660 = {
- fileEncoding = 30;
- isa = PBXFileReference;
- path = NullPlugin.cpp;
- refType = 2;
- };
- F5E0C350036A130901A96660 = {
- fileRef = F5E0C34F036A130901A96660;
- isa = PBXBuildFile;
- settings = {
- };
- };
- F5E0C351036A130E01A96660 = {
- fileEncoding = 30;
- isa = PBXFileReference;
- path = npmac.cpp;
- refType = 2;
- };
- F5E0C352036A130E01A96660 = {
- fileRef = F5E0C351036A130E01A96660;
- isa = PBXBuildFile;
- settings = {
- };
- };
- };
- rootObject = 089C1669FE841209C02AAC07;
-}
diff --git a/mozilla/modules/plugin/samples/default/mac/DefaultPlugin.xcode/project.pbxproj b/mozilla/modules/plugin/samples/default/mac/DefaultPlugin.xcode/project.pbxproj
deleted file mode 100644
index 3b10f03de3a..00000000000
--- a/mozilla/modules/plugin/samples/default/mac/DefaultPlugin.xcode/project.pbxproj
+++ /dev/null
@@ -1,368 +0,0 @@
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 39;
- objects = {
- 089C1669FE841209C02AAC07 = {
- buildSettings = {
- };
- buildStyles = (
- 4F9091AC011F3BD104CA0E50,
- 4F9091AD011F3BD104CA0E50,
- F50EB520038ABFA401A9666E,
- );
- hasScannedForEncodings = 1;
- isa = PBXProject;
- mainGroup = 089C166AFE841209C02AAC07;
- projectDirPath = "";
- targets = (
- 4D16849D0830226300080847,
- );
- };
- 089C166AFE841209C02AAC07 = {
- children = (
- 08FB77ADFE841716C02AAC07,
- 089C167CFE841241C02AAC07,
- 089C1671FE841209C02AAC07,
- 19C28FB4FE9D528D11CA2CBB,
- 4D1684AC0830226300080847,
- );
- isa = PBXGroup;
- name = MRJPlugin;
- refType = 4;
- sourceTree = "";
- };
- 089C1671FE841209C02AAC07 = {
- children = (
- F5A7D3AB036E359F01A96660,
- 08EA7FFBFE8413EDC02AAC07,
- );
- isa = PBXGroup;
- name = "External Frameworks and Libraries";
- refType = 4;
- sourceTree = "";
- };
- 089C167CFE841241C02AAC07 = {
- children = (
- 089C167DFE841241C02AAC07,
- F5E0C34D036A12DF01A96660,
- );
- isa = PBXGroup;
- name = Resources;
- refType = 4;
- sourceTree = "";
- };
- 089C167DFE841241C02AAC07 = {
- children = (
- 089C167EFE841241C02AAC07,
- );
- isa = PBXVariantGroup;
- name = InfoPlist.strings;
- path = "";
- refType = 2;
- sourceTree = SOURCE_ROOT;
- };
- 089C167EFE841241C02AAC07 = {
- fileEncoding = 10;
- isa = PBXFileReference;
- lastKnownFileType = text.plist.strings;
- name = English;
- path = English.lproj/InfoPlist.strings;
- refType = 4;
- sourceTree = "";
- };
- 08EA7FFBFE8413EDC02AAC07 = {
- isa = PBXFileReference;
- lastKnownFileType = wrapper.framework;
- name = Carbon.framework;
- path = /System/Library/Frameworks/Carbon.framework;
- refType = 0;
- sourceTree = "";
- };
- 08FB77ADFE841716C02AAC07 = {
- children = (
- 0F64AF2C0433C8A200A96652,
- F5E0C34F036A130901A96660,
- F5E0C351036A130E01A96660,
- );
- isa = PBXGroup;
- name = Source;
- refType = 4;
- sourceTree = "";
- };
-//080
-//081
-//082
-//083
-//084
-//0F0
-//0F1
-//0F2
-//0F3
-//0F4
- 0F64AF2C0433C8A200A96652 = {
- fileEncoding = 4;
- isa = PBXFileReference;
- lastKnownFileType = sourcecode.c.h;
- path = DefaultPluginPrefix.h;
- refType = 4;
- sourceTree = "";
- };
-//0F0
-//0F1
-//0F2
-//0F3
-//0F4
-//190
-//191
-//192
-//193
-//194
- 19C28FB4FE9D528D11CA2CBB = {
- children = (
- 4D1684AD0830226300080847,
- );
- isa = PBXGroup;
- name = Products;
- refType = 4;
- sourceTree = "";
- };
-//190
-//191
-//192
-//193
-//194
-//4D0
-//4D1
-//4D2
-//4D3
-//4D4
- 4D16849D0830226300080847 = {
- buildPhases = (
- 4D16849F0830226300080847,
- 4D1684A10830226300080847,
- 4D1684A30830226300080847,
- 4D1684A60830226300080847,
- 4D1684A90830226300080847,
- 4D1684AB0830226300080847,
- );
- buildRules = (
- );
- buildSettings = {
- FRAMEWORK_SEARCH_PATHS = "\"$(SYSTEM_LIBRARY_DIR)/Frameworks/CoreFoundation.framework\"";
- GCC_PREFIX_HEADER = DefaultPluginPrefix.h;
- GCC_PREPROCESSOR_DEFINITIONS = "XP_MACOSX=1 NO_X11=1 USE_SYSTEM_CONSOLE=1";
- HEADER_SEARCH_PATHS = "../../../../../dist/sdk/xpcom/include ../../../../../dist/include/caps ../../../../../dist/include/java ../../../../../dist/include/js ../../../../../dist/include/nspr ../../../../../dist/include/nspr/obsolete ../../../../../dist/include/oji ../../../../../dist/include/plugin ../../../../../dist/include/xpcom ../../../../../dist/include/xpconnect ../../../../../dist/include /Developer/Headers/FlatCarbon";
- INFOPLIST_FILE = "Info-DefaultPlugin.plist";
- LIBRARY_SEARCH_PATHS = /usr/lib;
- OTHER_CFLAGS = "";
- OTHER_LDFLAGS = "";
- OTHER_REZFLAGS = "";
- PRODUCT_NAME = "Default Plugin";
- SECTORDER_FLAGS = "";
- WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas";
- WRAPPER_EXTENSION = plugin;
- };
- dependencies = (
- );
- isa = PBXNativeTarget;
- name = "Default Plugin";
- productName = MRJPlugin;
- productReference = 4D1684AD0830226300080847;
- productType = "com.apple.product-type.bundle";
- };
- 4D16849F0830226300080847 = {
- buildActionMask = 2147483647;
- files = (
- 4D1684A00830226300080847,
- );
- isa = PBXHeadersBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- 4D1684A00830226300080847 = {
- fileRef = 0F64AF2C0433C8A200A96652;
- isa = PBXBuildFile;
- settings = {
- };
- };
- 4D1684A10830226300080847 = {
- buildActionMask = 2147483647;
- files = (
- 4D1684A20830226300080847,
- );
- isa = PBXResourcesBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- 4D1684A20830226300080847 = {
- fileRef = 089C167DFE841241C02AAC07;
- isa = PBXBuildFile;
- settings = {
- };
- };
- 4D1684A30830226300080847 = {
- buildActionMask = 2147483647;
- files = (
- 4D1684A40830226300080847,
- 4D1684A50830226300080847,
- );
- isa = PBXSourcesBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- 4D1684A40830226300080847 = {
- fileRef = F5E0C34F036A130901A96660;
- isa = PBXBuildFile;
- settings = {
- };
- };
- 4D1684A50830226300080847 = {
- fileRef = F5E0C351036A130E01A96660;
- isa = PBXBuildFile;
- settings = {
- };
- };
- 4D1684A60830226300080847 = {
- buildActionMask = 2147483647;
- files = (
- 4D1684A70830226300080847,
- 4D1684A80830226300080847,
- );
- isa = PBXFrameworksBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- 4D1684A70830226300080847 = {
- fileRef = 08EA7FFBFE8413EDC02AAC07;
- isa = PBXBuildFile;
- settings = {
- };
- };
- 4D1684A80830226300080847 = {
- fileRef = F5A7D3AB036E359F01A96660;
- isa = PBXBuildFile;
- settings = {
- };
- };
- 4D1684A90830226300080847 = {
- buildActionMask = 2147483647;
- files = (
- 4D1684AA0830226300080847,
- );
- isa = PBXRezBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- 4D1684AA0830226300080847 = {
- fileRef = F5E0C34D036A12DF01A96660;
- isa = PBXBuildFile;
- settings = {
- };
- };
- 4D1684AB0830226300080847 = {
- buildActionMask = 2147483647;
- dstPath = "";
- dstSubfolderSpec = 6;
- files = (
- );
- isa = PBXCopyFilesBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- 4D1684AC0830226300080847 = {
- isa = PBXFileReference;
- lastKnownFileType = text.xml;
- path = "Info-DefaultPlugin.plist";
- refType = 4;
- sourceTree = "";
- };
- 4D1684AD0830226300080847 = {
- explicitFileType = wrapper.cfbundle;
- includeInIndex = 0;
- isa = PBXFileReference;
- path = "Default Plugin.plugin";
- refType = 3;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
-//4D0
-//4D1
-//4D2
-//4D3
-//4D4
-//4F0
-//4F1
-//4F2
-//4F3
-//4F4
- 4F9091AC011F3BD104CA0E50 = {
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- OPTIMIZATION_CFLAGS = "-O0";
- ZERO_LINK = YES;
- };
- isa = PBXBuildStyle;
- name = Development;
- };
- 4F9091AD011F3BD104CA0E50 = {
- buildSettings = {
- COPY_PHASE_STRIP = YES;
- GCC_ENABLE_FIX_AND_CONTINUE = NO;
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- ZERO_LINK = NO;
- };
- isa = PBXBuildStyle;
- name = Deployment;
- };
-//4F0
-//4F1
-//4F2
-//4F3
-//4F4
-//F50
-//F51
-//F52
-//F53
-//F54
- F50EB520038ABFA401A9666E = {
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- DEBUGGING_SYMBOLS = YES;
- };
- isa = PBXBuildStyle;
- name = DeploymentSymbols;
- };
- F5A7D3AB036E359F01A96660 = {
- isa = PBXFileReference;
- lastKnownFileType = wrapper.framework;
- name = CoreFoundation.framework;
- path = /System/Library/Frameworks/CoreFoundation.framework;
- refType = 0;
- sourceTree = "";
- };
- F5E0C34D036A12DF01A96660 = {
- isa = PBXFileReference;
- lastKnownFileType = file;
- path = NullPlugin.rsrc;
- refType = 2;
- sourceTree = SOURCE_ROOT;
- };
- F5E0C34F036A130901A96660 = {
- fileEncoding = 30;
- isa = PBXFileReference;
- lastKnownFileType = sourcecode.cpp.cpp;
- path = NullPlugin.cpp;
- refType = 2;
- sourceTree = SOURCE_ROOT;
- };
- F5E0C351036A130E01A96660 = {
- fileEncoding = 30;
- isa = PBXFileReference;
- lastKnownFileType = sourcecode.cpp.cpp;
- path = npmac.cpp;
- refType = 2;
- sourceTree = SOURCE_ROOT;
- };
- };
- rootObject = 089C1669FE841209C02AAC07;
-}
diff --git a/mozilla/modules/plugin/samples/default/mac/DefaultPlugin.xcodeproj/project.pbxproj b/mozilla/modules/plugin/samples/default/mac/DefaultPlugin.xcodeproj/project.pbxproj
new file mode 100644
index 00000000000..66c79f27e4c
--- /dev/null
+++ b/mozilla/modules/plugin/samples/default/mac/DefaultPlugin.xcodeproj/project.pbxproj
@@ -0,0 +1,328 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 42;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 4D1684A00830226300080847 /* DefaultPluginPrefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F64AF2C0433C8A200A96652 /* DefaultPluginPrefix.h */; };
+ 4D1684A20830226300080847 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; };
+ 4D1684A40830226300080847 /* NullPlugin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5E0C34F036A130901A96660 /* NullPlugin.cpp */; };
+ 4D1684A50830226300080847 /* npmac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5E0C351036A130E01A96660 /* npmac.cpp */; };
+ 4D1684A70830226300080847 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08EA7FFBFE8413EDC02AAC07 /* Carbon.framework */; };
+ 4D1684A80830226300080847 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F5A7D3AB036E359F01A96660 /* CoreFoundation.framework */; };
+ 4D1684AA0830226300080847 /* NullPlugin.rsrc in Rez */ = {isa = PBXBuildFile; fileRef = F5E0C34D036A12DF01A96660 /* NullPlugin.rsrc */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+ 4D1684AB0830226300080847 /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 6;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+ 089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; };
+ 08EA7FFBFE8413EDC02AAC07 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = ""; };
+ 0F64AF2C0433C8A200A96652 /* DefaultPluginPrefix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DefaultPluginPrefix.h; sourceTree = ""; };
+ 4D1684AC0830226300080847 /* Info-DefaultPlugin.plist */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = "Info-DefaultPlugin.plist"; sourceTree = ""; };
+ 4D1684AD0830226300080847 /* Default Plugin.plugin */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Default Plugin.plugin"; sourceTree = BUILT_PRODUCTS_DIR; };
+ F5A7D3AB036E359F01A96660 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; };
+ F5E0C34D036A12DF01A96660 /* NullPlugin.rsrc */ = {isa = PBXFileReference; lastKnownFileType = archive.rsrc; path = NullPlugin.rsrc; sourceTree = SOURCE_ROOT; };
+ F5E0C34F036A130901A96660 /* NullPlugin.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = NullPlugin.cpp; sourceTree = SOURCE_ROOT; };
+ F5E0C351036A130E01A96660 /* npmac.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = npmac.cpp; sourceTree = SOURCE_ROOT; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 4D1684A60830226300080847 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 4D1684A70830226300080847 /* Carbon.framework in Frameworks */,
+ 4D1684A80830226300080847 /* CoreFoundation.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 089C166AFE841209C02AAC07 /* MRJPlugin */ = {
+ isa = PBXGroup;
+ children = (
+ 08FB77ADFE841716C02AAC07 /* Source */,
+ 089C167CFE841241C02AAC07 /* Resources */,
+ 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */,
+ 19C28FB4FE9D528D11CA2CBB /* Products */,
+ 4D1684AC0830226300080847 /* Info-DefaultPlugin.plist */,
+ );
+ name = MRJPlugin;
+ sourceTree = "";
+ };
+ 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = {
+ isa = PBXGroup;
+ children = (
+ F5A7D3AB036E359F01A96660 /* CoreFoundation.framework */,
+ 08EA7FFBFE8413EDC02AAC07 /* Carbon.framework */,
+ );
+ name = "External Frameworks and Libraries";
+ sourceTree = "";
+ };
+ 089C167CFE841241C02AAC07 /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ 089C167DFE841241C02AAC07 /* InfoPlist.strings */,
+ F5E0C34D036A12DF01A96660 /* NullPlugin.rsrc */,
+ );
+ name = Resources;
+ sourceTree = "";
+ };
+ 08FB77ADFE841716C02AAC07 /* Source */ = {
+ isa = PBXGroup;
+ children = (
+ 0F64AF2C0433C8A200A96652 /* DefaultPluginPrefix.h */,
+ F5E0C34F036A130901A96660 /* NullPlugin.cpp */,
+ F5E0C351036A130E01A96660 /* npmac.cpp */,
+ );
+ name = Source;
+ sourceTree = "";
+ };
+ 19C28FB4FE9D528D11CA2CBB /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 4D1684AD0830226300080847 /* Default Plugin.plugin */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+ 4D16849F0830226300080847 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 4D1684A00830226300080847 /* DefaultPluginPrefix.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXNativeTarget section */
+ 4D16849D0830226300080847 /* Default Plugin */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 0335A32F0CDD0E2C00E37285 /* Build configuration list for PBXNativeTarget "Default Plugin" */;
+ buildPhases = (
+ 4D16849F0830226300080847 /* Headers */,
+ 4D1684A10830226300080847 /* Resources */,
+ 4D1684A30830226300080847 /* Sources */,
+ 4D1684A60830226300080847 /* Frameworks */,
+ 4D1684A90830226300080847 /* Rez */,
+ 4D1684AB0830226300080847 /* CopyFiles */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = "Default Plugin";
+ productName = MRJPlugin;
+ productReference = 4D1684AD0830226300080847 /* Default Plugin.plugin */;
+ productType = "com.apple.product-type.bundle";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 089C1669FE841209C02AAC07 /* Project object */ = {
+ isa = PBXProject;
+ buildConfigurationList = 0335A3340CDD0E2C00E37285 /* Build configuration list for PBXProject "DefaultPlugin" */;
+ compatibilityVersion = "Xcode 2.4";
+ hasScannedForEncodings = 1;
+ mainGroup = 089C166AFE841209C02AAC07 /* MRJPlugin */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 4D16849D0830226300080847 /* Default Plugin */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 4D1684A10830226300080847 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 4D1684A20830226300080847 /* InfoPlist.strings in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXRezBuildPhase section */
+ 4D1684A90830226300080847 /* Rez */ = {
+ isa = PBXRezBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 4D1684AA0830226300080847 /* NullPlugin.rsrc in Rez */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXRezBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 4D1684A30830226300080847 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 4D1684A40830226300080847 /* NullPlugin.cpp in Sources */,
+ 4D1684A50830226300080847 /* npmac.cpp in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+ 089C167DFE841241C02AAC07 /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 089C167EFE841241C02AAC07 /* English */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = SOURCE_ROOT;
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ 0335A3300CDD0E2C00E37285 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = NO;
+ FRAMEWORK_SEARCH_PATHS = "\"$(SYSTEM_LIBRARY_DIR)/Frameworks/CoreFoundation.framework\"";
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREFIX_HEADER = DefaultPluginPrefix.h;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "XP_MACOSX=1",
+ "NO_X11=1",
+ "USE_SYSTEM_CONSOLE=1",
+ );
+ HEADER_SEARCH_PATHS = (
+ ../../../../../dist/sdk/xpcom/include,
+ ../../../../../dist/include/caps,
+ ../../../../../dist/include/java,
+ ../../../../../dist/include/js,
+ ../../../../../dist/include/nspr,
+ ../../../../../dist/include/nspr/obsolete,
+ ../../../../../dist/include/oji,
+ ../../../../../dist/include/plugin,
+ ../../../../../dist/include/xpcom,
+ ../../../../../dist/include/xpconnect,
+ ../../../../../dist/include,
+ /Developer/Headers/FlatCarbon,
+ );
+ INFOPLIST_FILE = "Info-DefaultPlugin.plist";
+ LIBRARY_SEARCH_PATHS = /usr/lib;
+ OPTIMIZATION_CFLAGS = "-O0";
+ OTHER_CFLAGS = "";
+ OTHER_LDFLAGS = "";
+ OTHER_REZFLAGS = "";
+ PRODUCT_NAME = "Default Plugin";
+ SECTORDER_FLAGS = "";
+ WARNING_CFLAGS = (
+ "-Wmost",
+ "-Wno-four-char-constants",
+ "-Wno-unknown-pragmas",
+ );
+ WRAPPER_EXTENSION = plugin;
+ ZERO_LINK = YES;
+ };
+ name = Development;
+ };
+ 0335A3310CDD0E2C00E37285 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = YES;
+ FRAMEWORK_SEARCH_PATHS = "\"$(SYSTEM_LIBRARY_DIR)/Frameworks/CoreFoundation.framework\"";
+ GCC_ENABLE_FIX_AND_CONTINUE = NO;
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+ GCC_PREFIX_HEADER = DefaultPluginPrefix.h;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "XP_MACOSX=1",
+ "NO_X11=1",
+ "USE_SYSTEM_CONSOLE=1",
+ );
+ HEADER_SEARCH_PATHS = (
+ ../../../../../dist/sdk/xpcom/include,
+ ../../../../../dist/include/caps,
+ ../../../../../dist/include/java,
+ ../../../../../dist/include/js,
+ ../../../../../dist/include/nspr,
+ ../../../../../dist/include/nspr/obsolete,
+ ../../../../../dist/include/oji,
+ ../../../../../dist/include/plugin,
+ ../../../../../dist/include/xpcom,
+ ../../../../../dist/include/xpconnect,
+ ../../../../../dist/include,
+ /Developer/Headers/FlatCarbon,
+ );
+ INFOPLIST_FILE = "Info-DefaultPlugin.plist";
+ LIBRARY_SEARCH_PATHS = /usr/lib;
+ OTHER_CFLAGS = "";
+ OTHER_LDFLAGS = "";
+ OTHER_REZFLAGS = "";
+ PRODUCT_NAME = "Default Plugin";
+ SECTORDER_FLAGS = "";
+ WARNING_CFLAGS = (
+ "-Wmost",
+ "-Wno-four-char-constants",
+ "-Wno-unknown-pragmas",
+ );
+ WRAPPER_EXTENSION = plugin;
+ ZERO_LINK = NO;
+ };
+ name = Deployment;
+ };
+ 0335A3350CDD0E2C00E37285 /* Development */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ };
+ name = Development;
+ };
+ 0335A3360CDD0E2C00E37285 /* Deployment */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ };
+ name = Deployment;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 0335A32F0CDD0E2C00E37285 /* Build configuration list for PBXNativeTarget "Default Plugin" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 0335A3300CDD0E2C00E37285 /* Development */,
+ 0335A3310CDD0E2C00E37285 /* Deployment */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Development;
+ };
+ 0335A3340CDD0E2C00E37285 /* Build configuration list for PBXProject "DefaultPlugin" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 0335A3350CDD0E2C00E37285 /* Development */,
+ 0335A3360CDD0E2C00E37285 /* Deployment */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Development;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 089C1669FE841209C02AAC07 /* Project object */;
+}
diff --git a/mozilla/modules/plugin/samples/default/mac/Makefile.in b/mozilla/modules/plugin/samples/default/mac/Makefile.in
index d4629273634..2f057f526fa 100644
--- a/mozilla/modules/plugin/samples/default/mac/Makefile.in
+++ b/mozilla/modules/plugin/samples/default/mac/Makefile.in
@@ -51,7 +51,7 @@ else
BUILDSTYLE = Deployment
endif
-PROJECT=DefaultPlugin.xcode
+PROJECT=DefaultPlugin.xcodeproj
PROJECT_ARG=-project $(PROJECT)
PBBUILD_ARG=$(PBBUILD_SETTINGS)
diff --git a/mozilla/modules/plugin/samples/default/mac/NullPlugin.cpp b/mozilla/modules/plugin/samples/default/mac/NullPlugin.cpp
index 9a3cc928cae..1b3a8a9935f 100644
--- a/mozilla/modules/plugin/samples/default/mac/NullPlugin.cpp
+++ b/mozilla/modules/plugin/samples/default/mac/NullPlugin.cpp
@@ -20,6 +20,7 @@
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
+ * Josh Aas
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
@@ -50,89 +51,82 @@
#define PLUGINFINDER_COMMAND_END2 "\",\"plugin\",\"toolbar=no,status=no,resizable=yes,scrollbars=yes,height=252,width=626\");"
-//
// Instance state information about the plugin.
-//
class CPlugin
{
public:
- enum HiliteState { kUnhilited = 0, kHilited = 1 };
+ enum HiliteState { kUnhilited = 0, kHilited = 1 };
- static NPError Initialize();
- static void Shutdown();
-
- // no ctor because CPlugin is allocated and constructed by hand.
- // ideally, this should use placement |new|.
-
- void Constructor(NPP instance, NPMIMEType type, uint16 mode, int16 argc, char* argn[], char* argv[]);
- void Destructor();
-
- void SetWindow(NPWindow* window);
- void Print(NPPrint* printInfo);
- Boolean HandleEvent(EventRecord*);
+ static NPError Initialize();
+ static void Shutdown();
+
+ // no ctor because CPlugin is allocated and constructed by hand.
+ // ideally, this should use placement |new|.
+
+ void Constructor(NPP instance, NPMIMEType type, uint16 mode, int16 argc, char* argn[], char* argv[]);
+ void Destructor();
+
+ void SetWindow(NPWindow* window);
+ void Print(NPPrint* printInfo);
+ Boolean HandleEvent(EventRecord*);
protected:
- void Draw(HiliteState hilite);
- void DrawString(const unsigned char* text, short width, short height, short centerX, Rect drawRect);
- void MouseDown();
-
- Boolean FocusDraw();
- void RestoreDraw();
-
- void DetermineURL(int16 argc, char* argn[], char* argv[]);
- char * MakeDefaultURL(void);
- void AddMimeTypeToList(StringPtr cTypeString);
- Boolean CheckMimeTypes();
- void AskAndLoadURL();
- void RefreshPluginPage();
-
- Ptr New(UInt32 size);
- void Delete(Ptr ptr);
-
- Boolean IsPluginHidden(int16 argc, char* argn[], char* argv[]);
-
-private:
- static CIconHandle sIconHandle;
- static CursHandle sHandCursor;
- static char* sAltText;
- static char* sInstallCommand;
- static char* sDefaultPage;
- static char* sRefreshText;
- static char* sJavaScriptPage;
- static FSSpec sDataFileSpec; // only used for Mac OS 9
- static Boolean sRunningOnOSX;
+ void Draw(HiliteState hilite);
+ void DrawString(const unsigned char* text, short width, short height, short centerX, Rect drawRect);
+ void MouseDown();
- NPP fInstance;
- NPWindow* fWindow;
- uint16 fMode;
- NPMIMEType fType;
- char* fPageURL;
- char* fFileURL;
- NPBool m_bOffline;
- NPBool m_bJavaScript;
-
- GrafPtr fSavePort;
- RgnHandle fSaveClip;
- Rect fRevealedRect;
- short fSavePortTop;
- short fSavePortLeft;
- Boolean fUserInstalledPlugin;
- Boolean fHiddenPlugin;
- Boolean fAskedLoadURL;
+ Boolean FocusDraw();
+ void RestoreDraw();
+
+ void DetermineURL(int16 argc, char* argn[], char* argv[]);
+ char* MakeDefaultURL(void);
+ void AddMimeTypeToList(StringPtr cTypeString);
+ Boolean CheckMimeTypes();
+ void AskAndLoadURL();
+ void RefreshPluginPage();
+
+ Ptr New(UInt32 size);
+ void Delete(Ptr ptr);
+
+ Boolean IsPluginHidden(int16 argc, char* argn[], char* argv[]);
+
+private:
+ static CIconHandle sIconHandle;
+ static CursHandle sHandCursor;
+ static char* sAltText;
+ static char* sInstallCommand;
+ static char* sDefaultPage;
+ static char* sRefreshText;
+ static char* sJavaScriptPage;
+
+ NPP fInstance;
+ NPWindow* fWindow;
+ uint16 fMode;
+ NPMIMEType fType;
+ char* fPageURL;
+ char* fFileURL;
+ NPBool m_bOffline;
+ NPBool m_bJavaScript;
+
+ GrafPtr fSavePort;
+ RgnHandle fSaveClip;
+ Rect fRevealedRect;
+ short fSavePortTop;
+ short fSavePortLeft;
+ Boolean fUserInstalledPlugin;
+ Boolean fHiddenPlugin;
+ Boolean fAskedLoadURL;
};
+CIconHandle CPlugin::sIconHandle = NULL;
+CursHandle CPlugin::sHandCursor = NULL;
+char* CPlugin::sAltText = NULL;
+char* CPlugin::sInstallCommand = NULL;
+char* CPlugin::sDefaultPage = NULL;
+char* CPlugin::sRefreshText = NULL;
+char* CPlugin::sJavaScriptPage = NULL;
-CIconHandle CPlugin::sIconHandle = NULL;
-CursHandle CPlugin::sHandCursor = NULL;
-char* CPlugin::sAltText = NULL;
-char* CPlugin::sInstallCommand = NULL;
-char* CPlugin::sDefaultPage = NULL;
-char* CPlugin::sRefreshText = NULL;
-char* CPlugin::sJavaScriptPage = NULL;
-FSSpec CPlugin::sDataFileSpec;
-Boolean CPlugin::sRunningOnOSX = false;
-
-extern short gResFile;
+extern short gResFile;
// 'cicn'
const short rBrokenPluginIcon = 326;
@@ -154,767 +148,607 @@ static const char szPluginFinderCommandBeginning[] = PLUGINFINDER_COMMAND_BEGINN
static const char szPluginFinderCommandEnd[] = PLUGINFINDER_COMMAND_END;
-//------------------------------------------------------------------------------------
-// NPP_Initialize:
-//------------------------------------------------------------------------------------
NPError NPP_Initialize(void)
{
- return CPlugin::Initialize();
+ return CPlugin::Initialize();
}
-//------------------------------------------------------------------------------------
-// NPP_Shutdown:
-//------------------------------------------------------------------------------------
void NPP_Shutdown(void)
{
- CPlugin::Shutdown();
+ CPlugin::Shutdown();
}
-//------------------------------------------------------------------------------------
-// NPP_New:
-//------------------------------------------------------------------------------------
NPError NPP_New(NPMIMEType type, NPP instance, uint16 mode, int16 argc, char* argn[], char* argv[], NPSavedData*)
{
- if (instance == NULL)
- return NPERR_INVALID_INSTANCE_ERROR;
-
- CPlugin* This = (CPlugin*) (char*)NPN_MemAlloc(sizeof(CPlugin));
- instance->pdata = This;
- if (This != NULL)
- {
- This->Constructor(instance, type, mode, argc, argn, argv);
- return NPERR_NO_ERROR;
- }
- else
- return NPERR_OUT_OF_MEMORY_ERROR;
+ if (!instance)
+ return NPERR_INVALID_INSTANCE_ERROR;
+
+ CPlugin* This = (CPlugin*) (char*)NPN_MemAlloc(sizeof(CPlugin));
+ instance->pdata = This;
+ if (This) {
+ This->Constructor(instance, type, mode, argc, argn, argv);
+ return NPERR_NO_ERROR;
+ }
+ else {
+ return NPERR_OUT_OF_MEMORY_ERROR;
+ }
}
-
-
-//------------------------------------------------------------------------------------
-// NPP_Destroy:
-//------------------------------------------------------------------------------------
NPError NP_LOADDS
NPP_Destroy(NPP instance, NPSavedData** /*save*/)
{
- if (instance == NULL)
- return NPERR_INVALID_INSTANCE_ERROR;
+ if (!instance)
+ return NPERR_INVALID_INSTANCE_ERROR;
- CPlugin* This = (CPlugin*) instance->pdata;
-
- if (This != NULL)
- {
- This->Destructor();
- NPN_MemFree(This);
- instance->pdata = NULL;
- }
+ CPlugin* This = (CPlugin*) instance->pdata;
+ if (This) {
+ This->Destructor();
+ NPN_MemFree(This);
+ instance->pdata = NULL;
+ }
- return NPERR_NO_ERROR;
+ return NPERR_NO_ERROR;
}
-
-
-//------------------------------------------------------------------------------------
-// NPP_SetWindow:
-//------------------------------------------------------------------------------------
NPError NPP_SetWindow(NPP instance, NPWindow* window)
{
- if (instance == NULL)
- return NPERR_INVALID_INSTANCE_ERROR;
+ if (!instance)
+ return NPERR_INVALID_INSTANCE_ERROR;
- CPlugin* This = (CPlugin*) instance->pdata;
- if (This != NULL)
- This->SetWindow(window);
-
- return NPERR_NO_ERROR;
+ CPlugin* This = (CPlugin*) instance->pdata;
+ if (This)
+ This->SetWindow(window);
+
+ return NPERR_NO_ERROR;
}
-
-//------------------------------------------------------------------------------------
-// NPP_NewStream:
-//------------------------------------------------------------------------------------
NPError NP_LOADDS
NPP_NewStream(NPP instance,
- NPMIMEType /*type*/,
- NPStream* /*stream*/,
- NPBool /*seekable*/,
- uint16* /*stype*/)
+ NPMIMEType /*type*/,
+ NPStream* /*stream*/,
+ NPBool /*seekable*/,
+ uint16* /*stype*/)
{
- if (instance == NULL)
- return NPERR_INVALID_INSTANCE_ERROR;
+ if (!instance)
+ return NPERR_INVALID_INSTANCE_ERROR;
- return NPERR_NO_ERROR;
+ return NPERR_NO_ERROR;
}
-
int32 STREAMBUFSIZE = 0X0FFFFFFF; // If we are reading from a file in NPAsFile
// mode so we can take any size stream in our
// write call (since we ignore it)
-//------------------------------------------------------------------------------------
-// NPP_WriteReady:
-//------------------------------------------------------------------------------------
+
int32 NP_LOADDS
NPP_WriteReady(NPP /*instance*/, NPStream* /*stream*/)
{
- return STREAMBUFSIZE; // Number of bytes ready to accept in NPP_Write()
+ return STREAMBUFSIZE; // Number of bytes ready to accept in NPP_Write()
}
-
-//------------------------------------------------------------------------------------
-// NPP_Write:
-//------------------------------------------------------------------------------------
int32 NP_LOADDS
NPP_Write(NPP /*instance*/, NPStream* /*stream*/, int32 /*offset*/, int32 len, void* /*buffer*/)
{
- return len; // The number of bytes accepted
+ return len; // The number of bytes accepted
}
-
-//------------------------------------------------------------------------------------
-// NPP_DestroyStream:
-//------------------------------------------------------------------------------------
NPError NP_LOADDS
NPP_DestroyStream(NPP instance, NPStream* /*stream*/, NPError /*reason*/)
{
- if (instance == NULL)
- return NPERR_INVALID_INSTANCE_ERROR;
+ if (!instance)
+ return NPERR_INVALID_INSTANCE_ERROR;
- return NPERR_NO_ERROR;
+ return NPERR_NO_ERROR;
}
-//------------------------------------------------------------------------------------
-// NPP_StreamAsFile:
-//------------------------------------------------------------------------------------
void NP_LOADDS
NPP_StreamAsFile(NPP /*instance*/, NPStream */*stream*/, const char* /*fname*/)
{
}
-
-//------------------------------------------------------------------------------------
-// NPP_Print:
-//------------------------------------------------------------------------------------
void NP_LOADDS
NPP_Print(NPP instance, NPPrint* printInfo)
{
- if (printInfo == NULL)
- return;
-
- if (instance != NULL)
- {
- if (printInfo->mode == NP_FULL)
- printInfo->print.fullPrint.pluginPrinted = FALSE; // Do the default
- else // If not fullscreen, we must be embedded
- {
- CPlugin* This = (CPlugin*) instance->pdata;
- if (This != NULL)
- This->Print(printInfo);
- }
- }
+ if (!printInfo)
+ return;
+ if (instance) {
+ if (printInfo->mode == NP_FULL) {
+ printInfo->print.fullPrint.pluginPrinted = FALSE; // Do the default
+ }
+ else { // If not fullscreen, we must be embedded
+ CPlugin* This = (CPlugin*)instance->pdata;
+ if (This)
+ This->Print(printInfo);
+ }
+ }
}
-//------------------------------------------------------------------------------------
-// NPP_HandleEvent:
-// Mac-only.
-//------------------------------------------------------------------------------------
+// Mac-only
int16 NPP_HandleEvent(NPP instance, void* event)
{
- if (instance != NULL)
- {
- CPlugin* This = (CPlugin*) instance->pdata;
- if (This != NULL && event != NULL)
- return This->HandleEvent((EventRecord*) event);
- }
-
- return FALSE;
+ if (instance) {
+ CPlugin* This = (CPlugin*) instance->pdata;
+ if (This && event)
+ return This->HandleEvent((EventRecord*) event);
+ }
+
+ return FALSE;
}
-//------------------------------------------------------------------------------------
-// NPP_URLNotify:
-//------------------------------------------------------------------------------------
void NPP_URLNotify(NPP /*instance*/, const char* /*url*/, NPReason /*reason*/, void* /*notifyData*/)
{
}
+
#ifdef OJI
-//------------------------------------------------------------------------------------
-// NPP_GetJavaClass:
-//------------------------------------------------------------------------------------
jref NPP_GetJavaClass(void)
{
- return NULL;
+ return NULL;
}
#endif /* OJI */
-#pragma mark -
-//------------------------------------------------------------------------------------
-// CPlugin::Initialize:
-//------------------------------------------------------------------------------------
NPError CPlugin::Initialize()
{
- Handle string;
- short saveResFile = CurResFile();
+ Handle string;
+ short saveResFile = CurResFile();
- UseResFile(gResFile);
+ UseResFile(gResFile);
- long systemVersion;
- OSErr err = ::Gestalt(gestaltSystemVersion, &systemVersion);
- sRunningOnOSX = (err == noErr) && (systemVersion >= 0x00001000);
+ // Get Resources
+ CPlugin::sIconHandle = GetCIcon(rBrokenPluginIcon);
+ CPlugin::sHandCursor = GetCursor(rHandCursor);
- // Get Resources
- CPlugin::sIconHandle = GetCIcon(rBrokenPluginIcon);
- CPlugin::sHandCursor = GetCursor(rHandCursor);
+ // Get "alt text" string
+ string = Get1Resource('STR ', rAltTextString);
+ if (string && *string) {
+ short stringLen = (*string)[0];
+ CPlugin::sAltText = (char*)NPN_MemAlloc(stringLen +1);
+ if (CPlugin::sAltText) {
+ short src = 1;
+ short dest = 0;
+ while (src <= stringLen)
+ CPlugin::sAltText[dest++] = (*string)[src++];
+ CPlugin::sAltText[dest++] = 0;
+ }
+ }
+ ReleaseResource(string);
- // Get "alt text" string
- string = Get1Resource('STR ', rAltTextString);
- if (string && *string)
- {
- short stringLen = (*string)[0];
- CPlugin::sAltText = (char*)NPN_MemAlloc(stringLen +1);
- if (CPlugin::sAltText != NULL)
- {
- short src = 1;
- short dest = 0;
- while (src <= stringLen)
- CPlugin::sAltText[dest++] = (*string)[src++];
- CPlugin::sAltText[dest++] = 0;
- }
- }
- ReleaseResource(string);
-
- // Get "refresh text" string
- string = Get1Resource('STR ', rRefreshTextString);
- if (string && *string)
- {
- short stringLen = (*string)[0];
- CPlugin::sRefreshText = (char*)NPN_MemAlloc(stringLen + 1);
- if (CPlugin::sRefreshText != NULL)
- {
- short src = 1;
- short dest = 0;
- while (src <= stringLen)
- CPlugin::sRefreshText[dest++] = (*string)[src++];
- CPlugin::sRefreshText[dest++] = 0;
- }
- }
- ReleaseResource(string);
-
- // Get JavaScript install command string
- string = Get1Resource('STR ', rJavaScriptInstallCommand);
- if (string && *string)
- {
- short stringLen = (*string)[0];
- CPlugin::sInstallCommand = (char*)NPN_MemAlloc(stringLen + 1);
- if (CPlugin::sInstallCommand != NULL)
- {
- short src = 1;
- short dest = 0;
- while (src <= stringLen)
- CPlugin::sInstallCommand[dest++] = (*string)[src++];
- CPlugin::sInstallCommand[dest++] = 0;
- }
- }
- ReleaseResource(string);
+ // Get "refresh text" string
+ string = Get1Resource('STR ', rRefreshTextString);
+ if (string && *string) {
+ short stringLen = (*string)[0];
+ CPlugin::sRefreshText = (char*)NPN_MemAlloc(stringLen + 1);
+ if (CPlugin::sRefreshText) {
+ short src = 1;
+ short dest = 0;
+ while (src <= stringLen)
+ CPlugin::sRefreshText[dest++] = (*string)[src++];
+ CPlugin::sRefreshText[dest++] = 0;
+ }
+ }
+ ReleaseResource(string);
- // Get default plug-in page URL
- string = Get1Resource('STR ', rDefaultPluginURL);
- if (string && *string)
- {
- short stringLen = (*string)[0];
- CPlugin::sDefaultPage = (char*)NPN_MemAlloc(stringLen + 1);
- if (CPlugin::sDefaultPage != NULL)
- {
- short src = 1;
- short dest = 0;
- while (src <= stringLen)
- CPlugin::sDefaultPage[dest++] = (*string)[src++];
- CPlugin::sDefaultPage[dest++] = 0;
- }
- }
- ReleaseResource(string);
+ // Get JavaScript install command string
+ string = Get1Resource('STR ', rJavaScriptInstallCommand);
+ if (string && *string) {
+ short stringLen = (*string)[0];
+ CPlugin::sInstallCommand = (char*)NPN_MemAlloc(stringLen + 1);
+ if (CPlugin::sInstallCommand) {
+ short src = 1;
+ short dest = 0;
+ while (src <= stringLen)
+ CPlugin::sInstallCommand[dest++] = (*string)[src++];
+ CPlugin::sInstallCommand[dest++] = 0;
+ }
+ }
+ ReleaseResource(string);
- // Get javascript plug-in page URL
- string = Get1Resource('STR ', rJavaScriptPageURL);
- if (string && *string)
- {
- short stringLen = (*string)[0];
- CPlugin::sJavaScriptPage = (char*)NPN_MemAlloc(stringLen + 1);
- if (CPlugin::sJavaScriptPage != NULL)
- {
- short src = 1;
- short dest = 0;
- while (src <= stringLen)
- CPlugin::sJavaScriptPage[dest++] = (*string)[src++];
- CPlugin::sJavaScriptPage[dest++] = 0;
- }
- }
- ReleaseResource(string);
+ // Get default plug-in page URL
+ string = Get1Resource('STR ', rDefaultPluginURL);
+ if (string && *string) {
+ short stringLen = (*string)[0];
+ CPlugin::sDefaultPage = (char*)NPN_MemAlloc(stringLen + 1);
+ if (CPlugin::sDefaultPage) {
+ short src = 1;
+ short dest = 0;
+ while (src <= stringLen)
+ CPlugin::sDefaultPage[dest++] = (*string)[src++];
+ CPlugin::sDefaultPage[dest++] = 0;
+ }
+ }
+ ReleaseResource(string);
- UseResFile(saveResFile);
+ // Get javascript plug-in page URL
+ string = Get1Resource('STR ', rJavaScriptPageURL);
+ if (string && *string) {
+ short stringLen = (*string)[0];
+ CPlugin::sJavaScriptPage = (char*)NPN_MemAlloc(stringLen + 1);
+ if (CPlugin::sJavaScriptPage) {
+ short src = 1;
+ short dest = 0;
+ while (src <= stringLen)
+ CPlugin::sJavaScriptPage[dest++] = (*string)[src++];
+ CPlugin::sJavaScriptPage[dest++] = 0;
+ }
+ }
+ ReleaseResource(string);
- if (!sRunningOnOSX) // We'll make some CFPreferences the first time we have to on OS X
- {
- ProcessSerialNumber psn;
- ProcessInfoRec info;
- FSSpec fsTheApp;
- SInt16 wResFile;
- OSErr wErr;
-
- psn.highLongOfPSN = 0;
- psn.lowLongOfPSN = kCurrentProcess;
+ UseResFile(saveResFile);
- info.processInfoLength = sizeof(ProcessInfoRec);
- info.processName = nil;
- info.processAppSpec = &fsTheApp;
- wErr = ::GetProcessInformation(&psn, &info);
- if (wErr == noErr) {
- wErr = FSMakeFSSpec(fsTheApp.vRefNum, fsTheApp.parID, "\p:Plug-ins:Default Plug-in Data", &sDataFileSpec);
- if (wErr == fnfErr) {
- FSpCreateResFile(&sDataFileSpec, 'MOSS', 'BINA', smSystemScript);
- wResFile = FSpOpenResFile(&CPlugin::sDataFileSpec, fsRdWrPerm);
- if (wResFile != -1) {
- // create a STR# with 0 entires (i.e. only a count)
- string = NewHandleClear(sizeof(SInt16));
- AddResource(string, 'STR#', rTypeListStrings, "\p");
- UpdateResFile(wResFile);
- ReleaseResource(string);
- }
- FSClose(wResFile);
- }
- }
- }
-
- return NPERR_NO_ERROR;
+ return NPERR_NO_ERROR;
}
-//------------------------------------------------------------------------------------
-// CPlugin::Shutdown:
-//------------------------------------------------------------------------------------
void CPlugin::Shutdown()
{
- if (CPlugin::sIconHandle != NULL)
- ::ReleaseResource((Handle) CPlugin::sIconHandle);
- if (CPlugin::sHandCursor != NULL)
- ::ReleaseResource((Handle) CPlugin::sHandCursor);
-
- if (CPlugin::sAltText != NULL)
- NPN_MemFree(CPlugin::sAltText);
- if (CPlugin::sInstallCommand != NULL)
- NPN_MemFree(CPlugin::sInstallCommand);
- if (CPlugin::sDefaultPage != NULL)
- NPN_MemFree(CPlugin::sDefaultPage);
- if(CPlugin::sRefreshText != NULL)
- NPN_MemFree(CPlugin::sRefreshText);
+ if (CPlugin::sIconHandle)
+ ::ReleaseResource((Handle) CPlugin::sIconHandle);
+ if (CPlugin::sHandCursor)
+ ::ReleaseResource((Handle) CPlugin::sHandCursor);
+
+ if (CPlugin::sAltText)
+ NPN_MemFree(CPlugin::sAltText);
+ if (CPlugin::sInstallCommand)
+ NPN_MemFree(CPlugin::sInstallCommand);
+ if (CPlugin::sDefaultPage)
+ NPN_MemFree(CPlugin::sDefaultPage);
+ if (CPlugin::sRefreshText)
+ NPN_MemFree(CPlugin::sRefreshText);
}
-//------------------------------------------------------------------------------------
-// CPlugin::Constructor:
-//------------------------------------------------------------------------------------
void CPlugin::Constructor(NPP instance, NPMIMEType type, uint16 mode, int16 argc, char* argn[], char* argv[])
{
- fWindow = NULL;
- fPageURL = NULL;
- fFileURL = NULL;
- fInstance = instance;
- fMode = mode; // Mode is NP_EMBED, NP_FULL, or NP_BACKGROUND (see npapi.h)
- fAskedLoadURL = false;
- fUserInstalledPlugin = false;
-
- // Save a copy of our mime type string
- short typeLength = strlen(type);
- fType = (char*)NPN_MemAlloc(typeLength+1);
- if (fType != NULL)
- strcpy(fType, type);
-
- // Make a handy region for use in FocusDraw
- fSaveClip = NewRgn();
+ fWindow = NULL;
+ fPageURL = NULL;
+ fFileURL = NULL;
+ fInstance = instance;
+ fMode = mode; // Mode is NP_EMBED, NP_FULL, or NP_BACKGROUND (see npapi.h)
+ fAskedLoadURL = false;
+ fUserInstalledPlugin = false;
+
+ // Save a copy of our mime type string
+ short typeLength = strlen(type);
+ fType = (char*)NPN_MemAlloc(typeLength+1);
+ if (fType)
+ strcpy(fType, type);
+
+ // Make a handy region for use in FocusDraw
+ fSaveClip = NewRgn();
- // determine if the plugin is specified as HIDDEN
- if(IsPluginHidden(argc, argn, argv))
- fHiddenPlugin = true;
- else
- fHiddenPlugin = false;
+ // determine if the plugin is specified as HIDDEN
+ fHiddenPlugin = IsPluginHidden(argc, argn, argv);
- // Get some information about our environment
- NPN_GetValue(fInstance, NPNVisOfflineBool, (void *)&m_bOffline);
- NPN_GetValue(fInstance, NPNVjavascriptEnabledBool, (void *)&m_bJavaScript);
+ // Get some information about our environment
+ NPN_GetValue(fInstance, NPNVisOfflineBool, (void *)&m_bOffline);
+ NPN_GetValue(fInstance, NPNVjavascriptEnabledBool, (void *)&m_bJavaScript);
- // Figure out what URL we will go to
- DetermineURL(argc, argn, argv);
+ // Figure out what URL we will go to
+ DetermineURL(argc, argn, argv);
}
-//------------------------------------------------------------------------------------
-// CPlugin::Destructor:
-//------------------------------------------------------------------------------------
void CPlugin::Destructor()
{
- if (fSaveClip != NULL)
- DisposeRgn(fSaveClip);
-
- if (fType != NULL)
- NPN_MemFree(fType);
- if (fFileURL != NULL)
- NPN_MemFree(fFileURL);
- if (fPageURL != NULL)
- NPN_MemFree(fPageURL);
-}
+ if (fSaveClip)
+ DisposeRgn(fSaveClip);
+
+ if (fType)
+ NPN_MemFree(fType);
+ if (fFileURL)
+ NPN_MemFree(fFileURL);
+ if (fPageURL)
+ NPN_MemFree(fPageURL);
+}
-
-//------------------------------------------------------------------------------------
-// CPlugin::SetWindow:
-//------------------------------------------------------------------------------------
void CPlugin::SetWindow(NPWindow* window)
{
- fWindow = window;
+ fWindow = window;
}
-//------------------------------------------------------------------------------------
-// CPlugin::Print:
-//
// To print, we need to retrieve the printing window from the printInfo,
// temporarily make it our window, draw into it, and restore the window.
-//
-//------------------------------------------------------------------------------------
void CPlugin::Print(NPPrint* printInfo)
{
- NPWindow* printWindow = &(printInfo->print.embedPrint.window);
-
- NPWindow* oldWindow = fWindow;
- fWindow = printWindow;
+ NPWindow* printWindow = &(printInfo->print.embedPrint.window);
- if (FocusDraw())
- {
- Draw(kUnhilited);
- RestoreDraw();
- }
-
- fWindow = oldWindow;
+ NPWindow* oldWindow = fWindow;
+ fWindow = printWindow;
+
+ if (FocusDraw()) {
+ Draw(kUnhilited);
+ RestoreDraw();
+ }
+
+ fWindow = oldWindow;
}
-//------------------------------------------------------------------------------------
-// CPlugin::HandleEvent:
-//------------------------------------------------------------------------------------
Boolean CPlugin::HandleEvent(EventRecord* ev)
{
- Boolean eventHandled = false;
-
- switch (ev->what)
- {
- case mouseDown:
- MouseDown();
- eventHandled = true;
- break;
-
- case updateEvt:
- if (FocusDraw()) {
- Draw(kUnhilited);
- RestoreDraw();
- }
- eventHandled = true;
- break;
-
- case NPEventType_AdjustCursorEvent:
- if (CPlugin::sHandCursor != NULL)
- SetCursor(*CPlugin::sHandCursor);
- if (fUserInstalledPlugin) {
- if (CPlugin::sRefreshText != NULL)
- NPN_Status(fInstance, CPlugin::sRefreshText);
- } else {
- if (CPlugin::sAltText != NULL)
- NPN_Status(fInstance, CPlugin::sAltText);
- }
- eventHandled = true;
- break;
-
- case nullEvent:
- //
- // NOTE: We have to wait until idle time
- // to ask the user if they want to visit
- // the URL to avoid reentering XP code.
- //
- if (!fAskedLoadURL) {
- if (CheckMimeTypes())
- AskAndLoadURL();
- fAskedLoadURL = true;
- }
- break;
- default:
- break;
- }
-
- return eventHandled;
+ Boolean eventHandled = false;
+
+ switch (ev->what)
+ {
+ case mouseDown:
+ MouseDown();
+ eventHandled = true;
+ break;
+
+ case updateEvt:
+ if (FocusDraw()) {
+ Draw(kUnhilited);
+ RestoreDraw();
+ }
+ eventHandled = true;
+ break;
+
+ case NPEventType_AdjustCursorEvent:
+ if (CPlugin::sHandCursor)
+ SetCursor(*CPlugin::sHandCursor);
+ if (fUserInstalledPlugin) {
+ if (CPlugin::sRefreshText)
+ NPN_Status(fInstance, CPlugin::sRefreshText);
+ }
+ else {
+ if (CPlugin::sAltText)
+ NPN_Status(fInstance, CPlugin::sAltText);
+ }
+ eventHandled = true;
+ break;
+
+ case nullEvent:
+ // NOTE: We have to wait until idle time
+ // to ask the user if they want to visit
+ // the URL to avoid reentering XP code.
+ if (!fAskedLoadURL) {
+ if (CheckMimeTypes())
+ AskAndLoadURL();
+ fAskedLoadURL = true;
+ }
+ break;
+ default:
+ break;
+ }
+
+ return eventHandled;
}
-
-//------------------------------------------------------------------------------------
-// CPlugin::Draw:
-//------------------------------------------------------------------------------------
void CPlugin::Draw(HiliteState hilite)
{
- UInt8 *pTheText;
- SInt32 height = fWindow->height;
- SInt32 width = fWindow->width;
- SInt32 centerX = (width) >> 1;
- SInt32 centerY = (height) >> 1;
- Rect drawRect;
- RGBColor black = { 0x0000, 0x0000, 0x0000 };
- RGBColor white = { 0xFFFF, 0xFFFF, 0xFFFF };
- RGBColor hiliteColor = { 0x0000, 0x0000, 0x0000 };
- short transform;
+ UInt8 *pTheText;
+ SInt32 height = fWindow->height;
+ SInt32 width = fWindow->width;
+ SInt32 centerX = (width) >> 1;
+ SInt32 centerY = (height) >> 1;
+ Rect drawRect;
+ RGBColor black = { 0x0000, 0x0000, 0x0000 };
+ RGBColor white = { 0xFFFF, 0xFFFF, 0xFFFF };
+ RGBColor hiliteColor = { 0x0000, 0x0000, 0x0000 };
+ short transform;
- drawRect.top = 0;
- drawRect.left = 0;
- drawRect.bottom = height;
- drawRect.right = width;
+ drawRect.top = 0;
+ drawRect.left = 0;
+ drawRect.bottom = height;
+ drawRect.right = width;
- if (height < 4 && width < 4)
- return;
-
- PenNormal();
- RGBForeColor(&black);
- RGBBackColor(&white);
+ if (height < 4 && width < 4)
+ return;
- Pattern qdWhite;
- FillRect(&drawRect, GetQDGlobalsWhite(&qdWhite));
+ PenNormal();
+ RGBForeColor(&black);
+ RGBBackColor(&white);
- if (hilite == kHilited) {
- hiliteColor.red = 0xFFFF;
- transform = ttSelected;
- } else {
- hiliteColor.blue = 0xFFFF;
- transform = ttNone;
- }
+ Pattern qdWhite;
+ FillRect(&drawRect, GetQDGlobalsWhite(&qdWhite));
- RGBForeColor(&hiliteColor);
- FrameRect(&drawRect);
-
- if (height > 32 && width > 32 && CPlugin::sIconHandle != NULL)
- {
- drawRect.top = centerY - 16;
- drawRect.bottom = centerY + 16;
- drawRect.left = centerX - 16;
- drawRect.right = centerX + 16;
- PlotCIconHandle(&drawRect, atAbsoluteCenter, transform, CPlugin::sIconHandle);
- }
+ if (hilite == kHilited) {
+ hiliteColor.red = 0xFFFF;
+ transform = ttSelected;
+ }
+ else {
+ hiliteColor.blue = 0xFFFF;
+ transform = ttNone;
+ }
- if (fUserInstalledPlugin) {
- pTheText = (unsigned char*)CPlugin::sRefreshText;
- } else {
- pTheText = (unsigned char*)CPlugin::sAltText;
- }
- DrawString(pTheText, width, height, centerX, drawRect);
+ RGBForeColor(&hiliteColor);
+ FrameRect(&drawRect);
+
+ if (height > 32 && width > 32 && CPlugin::sIconHandle) {
+ drawRect.top = centerY - 16;
+ drawRect.bottom = centerY + 16;
+ drawRect.left = centerX - 16;
+ drawRect.right = centerX + 16;
+ PlotCIconHandle(&drawRect, atAbsoluteCenter, transform, CPlugin::sIconHandle);
+ }
+
+ if (fUserInstalledPlugin) {
+ pTheText = (unsigned char*)CPlugin::sRefreshText;
+ }
+ else {
+ pTheText = (unsigned char*)CPlugin::sAltText;
+ }
+ DrawString(pTheText, width, height, centerX, drawRect);
}
-
-//------------------------------------------------------------------------------------
-// CPlugin::MouseDown:
-//
// Track the click in our plugin by drawing the icon enabled or disabled
// as the user moves the mouse in and out with the button held down. If
// they let up the mouse while still inside, get the URL.
-//
-//------------------------------------------------------------------------------------
void CPlugin::MouseDown()
{
- if (FocusDraw())
- {
- Draw(kHilited);
- Boolean inside = true;
+ if (FocusDraw()) {
+ Draw(kHilited);
+ Boolean inside = true;
- // evil CPU-hogging loop on Mac OS X!
- while (StillDown())
- {
- Point localMouse;
- GetMouse(&localMouse);
- Boolean insideNow = ::PtInRect(localMouse, &fRevealedRect);
+ // evil CPU-hogging loop on Mac OS X!
+ while (StillDown()) {
+ Point localMouse;
+ GetMouse(&localMouse);
+ Boolean insideNow = ::PtInRect(localMouse, &fRevealedRect);
- if (insideNow != inside)
- {
- Draw(insideNow ? kHilited : kUnhilited);
- inside = insideNow;
- }
- }
-
- if (inside) {
- Draw(kUnhilited);
- if (!fUserInstalledPlugin)
- AskAndLoadURL();
- else
- RefreshPluginPage();
- }
+ if (insideNow != inside) {
+ Draw(insideNow ? kHilited : kUnhilited);
+ inside = insideNow;
+ }
+ }
+
+ if (inside) {
+ Draw(kUnhilited);
+ if (!fUserInstalledPlugin)
+ AskAndLoadURL();
+ else
+ RefreshPluginPage();
+ }
- RestoreDraw();
- }
+ RestoreDraw();
+ }
}
-//------------------------------------------------------------------------------------
-// CPlugin::FocusDraw:
-//------------------------------------------------------------------------------------
Boolean CPlugin::FocusDraw()
{
- if (fWindow == NULL)
- return false;
-
- NP_Port* npport = (NP_Port*) fWindow->window;
- CGrafPtr ourPort = npport->port;
-
- if (fWindow->clipRect.left < fWindow->clipRect.right)
- {
- GetPort(&fSavePort);
- SetPort((GrafPtr) ourPort);
- Rect portRect;
- GetPortBounds(ourPort, &portRect);
- fSavePortTop = portRect.top;
- fSavePortLeft = portRect.left;
- GetClip(fSaveClip);
-
- fRevealedRect.top = fWindow->clipRect.top + npport->porty;
- fRevealedRect.left = fWindow->clipRect.left + npport->portx;
- fRevealedRect.bottom = fWindow->clipRect.bottom + npport->porty;
- fRevealedRect.right = fWindow->clipRect.right + npport->portx;
- SetOrigin(npport->portx, npport->porty);
- ClipRect(&fRevealedRect);
+ if (!fWindow)
+ return false;
+
+ NP_Port* npport = (NP_Port*) fWindow->window;
+ CGrafPtr ourPort = npport->port;
+
+ if (fWindow->clipRect.left < fWindow->clipRect.right) {
+ GetPort(&fSavePort);
+ SetPort((GrafPtr) ourPort);
+ Rect portRect;
+ GetPortBounds(ourPort, &portRect);
+ fSavePortTop = portRect.top;
+ fSavePortLeft = portRect.left;
+ GetClip(fSaveClip);
+
+ fRevealedRect.top = fWindow->clipRect.top + npport->porty;
+ fRevealedRect.left = fWindow->clipRect.left + npport->portx;
+ fRevealedRect.bottom = fWindow->clipRect.bottom + npport->porty;
+ fRevealedRect.right = fWindow->clipRect.right + npport->portx;
+ SetOrigin(npport->portx, npport->porty);
+ ClipRect(&fRevealedRect);
- return true;
- }
- else
- return false;
+ return true;
+ }
+ else {
+ return false;
+ }
}
-//------------------------------------------------------------------------------------
-// CPlugin::RestoreDraw:
-//------------------------------------------------------------------------------------
void CPlugin::RestoreDraw()
{
- SetOrigin(fSavePortLeft, fSavePortTop);
- SetClip(fSaveClip);
- SetPort(fSavePort);
+ SetOrigin(fSavePortLeft, fSavePortTop);
+ SetClip(fSaveClip);
+ SetPort(fSavePort);
}
-
-//------------------------------------------------------------------------------------
-// CPlugin::DetermineURL:
-//
// Get a URL from either the parameters passed from the EMBED.
// Append "?" and our mime type and save for later use.
-//
-//------------------------------------------------------------------------------------
void CPlugin::DetermineURL(int16 argc, char* argn[], char* argv[])
{
- char* url;
- SInt32 additionalLength = 0;
- SInt32 i;
+ char* url;
+ SInt32 additionalLength = 0;
+ SInt32 i;
- // Appended to the URL will be a "?" and the mime type of this instance. This lets the server
- // do something intelligent with a CGI script.
+ // Appended to the URL will be a "?" and the mime type of this instance. This lets the server
+ // do something intelligent with a CGI script.
- if (fType != NULL)
- additionalLength += (strlen(fType) + 1); // Add 1 for '?'
+ if (fType)
+ additionalLength += (strlen(fType) + 1); // Add 1 for '?'
- // The page designer can specify a URL where the plugin for this type can be downloaded. Here
- // we scan the arguments for this attribute and save it away if we
- // find it for later use by LoadPluginURL().
- //
- for (i = 0; i < argc; i++) {
- if ((strcasecmp(argn[i], "PLUGINSPAGE") == 0) || (strcasecmp(argn[i], "CODEBASE") == 0)) {
- url = argv[i];
- fPageURL = (char*)NPN_MemAlloc(strlen(url) + 1 + additionalLength); // Add 1 for '\0'
- if (fPageURL != NULL) {
- if (additionalLength > 0) {
- sprintf(fPageURL, "%s?%s", url, fType);
- } else {
- strcpy(fPageURL, url);
- }
- }
- break;
- } else if ((strcasecmp(argn[i], "PLUGINURL") == 0) || (strcasecmp(argn[i], "CLASSID") == 0)) {
- url = argv[i];
- if (CPlugin::sInstallCommand != NULL) {
- // Allocate a new string
- fFileURL = (char*)NPN_MemAlloc(strlen(CPlugin::sInstallCommand) + 1 + strlen(url));
- if (fFileURL != NULL)
- sprintf(fFileURL, CPlugin::sInstallCommand, url);
- }
- break;
- }
- }
+ // The page designer can specify a URL where the plugin for this type can be downloaded. Here
+ // we scan the arguments for this attribute and save it away if we
+ // find it for later use by LoadPluginURL().
+ for (i = 0; i < argc; i++) {
+ if ((strcasecmp(argn[i], "PLUGINSPAGE") == 0) || (strcasecmp(argn[i], "CODEBASE") == 0)) {
+ url = argv[i];
+ fPageURL = (char*)NPN_MemAlloc(strlen(url) + 1 + additionalLength); // Add 1 for '\0'
+ if (fPageURL) {
+ if (additionalLength > 0) {
+ sprintf(fPageURL, "%s?%s", url, fType);
+ }
+ else {
+ strcpy(fPageURL, url);
+ }
+ }
+ break;
+ } else if ((strcasecmp(argn[i], "PLUGINURL") == 0) || (strcasecmp(argn[i], "CLASSID") == 0)) {
+ url = argv[i];
+ if (CPlugin::sInstallCommand) {
+ // Allocate a new string
+ fFileURL = (char*)NPN_MemAlloc(strlen(CPlugin::sInstallCommand) + 1 + strlen(url));
+ if (fFileURL)
+ sprintf(fFileURL, CPlugin::sInstallCommand, url);
+ }
+ break;
+ }
+ }
}
-//------------------------------------------------------------------------------------
-// CPlugin::MakeDefaultURL:
-//
// Get a URL from our resources. Append "?" and our mime type and save for later use.
-//
-//------------------------------------------------------------------------------------
char *CPlugin::MakeDefaultURL(void)
{
- char *pDefURL = NULL;
- SInt32 additionalLength = 0;
+ char *pDefURL = NULL;
+ SInt32 additionalLength = 0;
- // Appended to the URL will be a "?" and the mime type of this instance. This lets the server
- // do something intelligent with a CGI script.
+ // Appended to the URL will be a "?" and the mime type of this instance. This lets the server
+ // do something intelligent with a CGI script.
- if (fType != NULL)
- additionalLength += (strlen(fType) + 1); // Add 1 for '?'
+ if (fType)
+ additionalLength += (strlen(fType) + 1); // Add 1 for '?'
- if (!m_bJavaScript) {
- if (CPlugin::sDefaultPage != NULL) {
- pDefURL = (char*)NPN_MemAlloc(strlen(CPlugin::sDefaultPage) + 1 + additionalLength);
- if (pDefURL != NULL) {
- if (additionalLength > 0) {
- sprintf(pDefURL, "%s?%s", CPlugin::sDefaultPage, fType);
- } else {
- strcpy(pDefURL, CPlugin::sDefaultPage);
- }
- }
- }
- } else {
- if (CPlugin::sJavaScriptPage != NULL) {
- pDefURL = (char*)NPN_MemAlloc(strlen(szPluginFinderCommandBeginning) +
- strlen(CPlugin::sJavaScriptPage) +
- additionalLength + strlen(szPluginFinderCommandEnd) + 1);
- if (pDefURL != NULL) {
- sprintf(pDefURL, "%s%s%s%s", szPluginFinderCommandBeginning,
- CPlugin::sJavaScriptPage, fType, szPluginFinderCommandEnd);
- }
- }
- }
- return(pDefURL);
+ if (!m_bJavaScript) {
+ if (CPlugin::sDefaultPage) {
+ pDefURL = (char*)NPN_MemAlloc(strlen(CPlugin::sDefaultPage) + 1 + additionalLength);
+ if (pDefURL) {
+ if (additionalLength > 0) {
+ sprintf(pDefURL, "%s?%s", CPlugin::sDefaultPage, fType);
+ }
+ else {
+ strcpy(pDefURL, CPlugin::sDefaultPage);
+ }
+ }
+ }
+ }
+ else {
+ if (CPlugin::sJavaScriptPage) {
+ pDefURL = (char*)NPN_MemAlloc(strlen(szPluginFinderCommandBeginning) +
+ strlen(CPlugin::sJavaScriptPage) +
+ additionalLength + strlen(szPluginFinderCommandEnd) + 1);
+ if (pDefURL) {
+ sprintf(pDefURL, "%s%s%s%s", szPluginFinderCommandBeginning,
+ CPlugin::sJavaScriptPage, fType, szPluginFinderCommandEnd);
+ }
+ }
+ }
+ return(pDefURL);
}
-//------------------------------------------------------------------------------------
-// CPlugin::AddMimeTypeToList:
-//
// Check the mime type of this instance against our list
// of types weÕve seen before. If we find our type in the
// list, return false; otherwise, return true.
@@ -924,118 +758,51 @@ char *CPlugin::MakeDefaultURL(void)
// array StringArray {
// pstring;
// };
-//
-//------------------------------------------------------------------------------------
void CPlugin::AddMimeTypeToList(StringPtr cTypeString)
{
- if (sRunningOnOSX)
- {
- CFStringRef pluginKey = CFSTR("DefaultPluginSeenTypes"); // don't release this
- CFStringRef mimeType = ::CFStringCreateWithPascalString(kCFAllocatorDefault, cTypeString, kCFStringEncodingASCII);
- CFArrayRef prefsList = (CFArrayRef)::CFPreferencesCopyAppValue(pluginKey, kCFPreferencesCurrentApplication);
- Boolean foundType = false;
+ CFStringRef pluginKey = CFSTR("DefaultPluginSeenTypes"); // don't release this
+ CFStringRef mimeType = ::CFStringCreateWithPascalString(kCFAllocatorDefault, cTypeString, kCFStringEncodingASCII);
+ CFArrayRef prefsList = (CFArrayRef)::CFPreferencesCopyAppValue(pluginKey, kCFPreferencesCurrentApplication);
+ Boolean foundType = false;
- if (prefsList == NULL)
- {
- CFStringRef stringArray[1];
- stringArray[0] = mimeType;
-
- prefsList = ::CFArrayCreate(kCFAllocatorDefault, (const void **)stringArray, 1, &kCFTypeArrayCallBacks);
- if (prefsList)
- {
- ::CFPreferencesSetAppValue(pluginKey, prefsList, kCFPreferencesCurrentApplication);
- ::CFRelease(prefsList);
- }
- }
- else
- {
- if (::CFGetTypeID(prefsList) == ::CFArrayGetTypeID())
- {
- // first make sure it's not in the list
- CFIndex count = ::CFArrayGetCount(prefsList);
- for (CFIndex i = 0; i < count; i ++)
- {
- CFStringRef item = (CFStringRef)::CFArrayGetValueAtIndex(prefsList, i); // does not retain
- if (item &&
- (::CFGetTypeID(item) == ::CFStringGetTypeID()) &&
- (::CFStringCompareWithOptions(item, mimeType,
- CFRangeMake(0, ::CFStringGetLength(item)), kCFCompareCaseInsensitive) == kCFCompareEqualTo))
- {
- foundType = true;
- break;
- }
- }
-
- if (!foundType && !fHiddenPlugin)
- {
- CFMutableArrayRef typesArray = ::CFArrayCreateMutableCopy(kCFAllocatorDefault, 0, (CFArrayRef)prefsList);
- if (typesArray)
- {
- ::CFArrayAppendValue(typesArray, mimeType);
- ::CFPreferencesSetAppValue(pluginKey, typesArray, kCFPreferencesCurrentApplication);
- }
- }
- }
- ::CFRelease(prefsList);
- }
- ::CFRelease(mimeType);
- }
- else
- {
- Handle hTypeList;
- SInt32 dwCount;
- SInt32 index;
- Str255 oldType;
- SInt16 wResFile;
- Boolean failedToFind = true;
+ if (!prefsList) {
+ CFStringRef stringArray[1];
+ stringArray[0] = mimeType;
- wResFile = FSpOpenResFile(&CPlugin::sDataFileSpec, fsRdWrPerm);
- if (wResFile != -1) {
- hTypeList = Get1Resource('STR#', rTypeListStrings);
- if (hTypeList != NULL) {
- dwCount = **((short **)hTypeList);
-
- // First make sure it's not already in the list.
- for (index = 1; index <= dwCount; index++) {
- GetIndString(oldType, rTypeListStrings, index);
+ prefsList = ::CFArrayCreate(kCFAllocatorDefault, (const void **)stringArray, 1, &kCFTypeArrayCallBacks);
+ if (prefsList) {
+ ::CFPreferencesSetAppValue(pluginKey, prefsList, kCFPreferencesCurrentApplication);
+ ::CFRelease(prefsList);
+ }
+ }
+ else {
+ if (::CFGetTypeID(prefsList) == ::CFArrayGetTypeID()) {
+ // first make sure it's not in the list
+ CFIndex count = ::CFArrayGetCount(prefsList);
+ for (CFIndex i = 0; i < count; i ++) {
+ CFStringRef item = (CFStringRef)::CFArrayGetValueAtIndex(prefsList, i); // does not retain
+ if (item && (::CFGetTypeID(item) == ::CFStringGetTypeID()) &&
+ (::CFStringCompareWithOptions(item, mimeType,
+ CFRangeMake(0, ::CFStringGetLength(item)), kCFCompareCaseInsensitive) == kCFCompareEqualTo)) {
+ foundType = true;
+ break;
+ }
+ }
- // if the mimetype already exists in our list, or the plugin is NOT hidden,
- // don't bring up the dialog box
- if (EqualString(cTypeString, oldType, true, true) && !fHiddenPlugin) {
- failedToFind = false;
- break; // Found a match, so bail out!
- }
- }
- if (failedToFind) {
- // Grow the string list handle
- Size itsSize = GetHandleSize(hTypeList);
- Size typeSize = cTypeString[0] + 1;
- SetHandleSize(hTypeList, itsSize + typeSize);
-
- // Increment the count of strings in the list
- (**((short**)hTypeList)) = (short)(++dwCount);
-
- // Copy the data from our string into the handle
- long dwCount = Munger(hTypeList, itsSize, NULL, typeSize, cTypeString, typeSize);
-
- // Mark the resource as changed so it will be written out
- if (dwCount > 0) {
- ChangedResource(hTypeList);
- UpdateResFile(wResFile);
- }
- }
- ReleaseResource(hTypeList);
- }
- FSClose(wResFile);
- }
- }
+ if (!foundType && !fHiddenPlugin) {
+ CFMutableArrayRef typesArray = ::CFArrayCreateMutableCopy(kCFAllocatorDefault, 0, (CFArrayRef)prefsList);
+ if (typesArray) {
+ ::CFArrayAppendValue(typesArray, mimeType);
+ ::CFPreferencesSetAppValue(pluginKey, typesArray, kCFPreferencesCurrentApplication);
+ }
+ }
+ }
+ ::CFRelease(prefsList);
+ }
+ ::CFRelease(mimeType);
}
-
-//------------------------------------------------------------------------------------
-// CPlugin::CheckMimeTypes:
-//
// Check the mime type of this instance against our list
// of types weÕve seen before. If we find our type in the
// list, return false; otherwise, return true.
@@ -1045,181 +812,130 @@ void CPlugin::AddMimeTypeToList(StringPtr cTypeString)
// array StringArray {
// pstring;
// };
-//
-//------------------------------------------------------------------------------------
Boolean CPlugin::CheckMimeTypes()
{
- Boolean failedToFind = true;
+ Boolean failedToFind = true;
- if (sRunningOnOSX)
- {
- CFStringRef pluginKey = CFSTR("DefaultPluginSeenTypes"); // don't release this
- CFStringRef mimeType = ::CFStringCreateWithCString(kCFAllocatorDefault, fType, kCFStringEncodingASCII);
- CFArrayRef prefsList = (CFArrayRef)::CFPreferencesCopyAppValue(pluginKey, kCFPreferencesCurrentApplication);
- if (prefsList)
- {
- if (::CFGetTypeID(prefsList) == ::CFArrayGetTypeID())
- {
- CFIndex count = ::CFArrayGetCount(prefsList);
- for (CFIndex i = 0; i < count; i ++)
- {
- CFStringRef item = (CFStringRef)::CFArrayGetValueAtIndex(prefsList, i); // does not retain
- if (item &&
- (::CFGetTypeID(item) == ::CFStringGetTypeID()) &&
- (::CFStringCompareWithOptions(item, mimeType,
- CFRangeMake(0, ::CFStringGetLength(item)), kCFCompareCaseInsensitive) == kCFCompareEqualTo))
- {
- failedToFind = false;
- break;
- }
- }
- }
- ::CFRelease(prefsList);
- }
- ::CFRelease(mimeType);
- }
- else
- {
- Handle hTypeList;
- SInt32 index;
- Str255 oldType;
- Str255 ourType;
- SInt16 wResFile;
-
- wResFile = FSpOpenResFile(&CPlugin::sDataFileSpec, fsRdPerm);
- if (wResFile != -1) {
- hTypeList = Get1Resource('STR#', rTypeListStrings);
- if (hTypeList != NULL) {
- // Convert the mime-type C string to a Pascal string.
- index = strlen(fType);
- if (index > 255) { // don't blow out the Str255
- index = 255;
- }
- BlockMoveData(fType, &ourType[1], index);
- ourType[0] = index;
-
- short count = **((short **)hTypeList);
-
- // Iterate through all the strings in the list.
- for (index = 1; index <= count; index++) {
- GetIndString(oldType, rTypeListStrings, index);
-
- // if the mimetype already exists in our list, or the plugin is NOT hidden,
- // don't bring up the dialog box
- if (EqualString(ourType, oldType, true, true) && !fHiddenPlugin) {
- failedToFind = false;
- break; // Found a match, so bail out!
- }
- }
- ReleaseResource(hTypeList);
- }
- FSClose(wResFile);
- }
- }
- return(failedToFind);
+ CFStringRef pluginKey = CFSTR("DefaultPluginSeenTypes"); // don't release this
+ CFStringRef mimeType = ::CFStringCreateWithCString(kCFAllocatorDefault, fType, kCFStringEncodingASCII);
+ CFArrayRef prefsList = (CFArrayRef)::CFPreferencesCopyAppValue(pluginKey, kCFPreferencesCurrentApplication);
+ if (prefsList) {
+ if (::CFGetTypeID(prefsList) == ::CFArrayGetTypeID()) {
+ CFIndex count = ::CFArrayGetCount(prefsList);
+ for (CFIndex i = 0; i < count; i ++) {
+ CFStringRef item = (CFStringRef)::CFArrayGetValueAtIndex(prefsList, i); // does not retain
+ if (item &&
+ (::CFGetTypeID(item) == ::CFStringGetTypeID()) &&
+ (::CFStringCompareWithOptions(item, mimeType,
+ CFRangeMake(0, ::CFStringGetLength(item)), kCFCompareCaseInsensitive) == kCFCompareEqualTo)) {
+ failedToFind = false;
+ break;
+ }
+ }
+ }
+ ::CFRelease(prefsList);
+ }
+ ::CFRelease(mimeType);
+ return failedToFind;
}
-
-//------------------------------------------------------------------------------------
-// CPlugin::AskAndLoadURL:
-//------------------------------------------------------------------------------------
void CPlugin::AskAndLoadURL()
{
- char *pTheURL;
- SInt32 dwLen;
- Str255 ourType;
+ char *pTheURL;
+ SInt32 dwLen;
+ Str255 ourType;
- if (!m_bOffline) {
- // Convert the mime-type C string to a Pascal string.
- dwLen = strlen(fType);
- if (dwLen > 255) { // don't blow out the Str255
- dwLen = 255;
- }
- BlockMoveData(fType, &ourType[1], dwLen);
- ourType[0] = dwLen;
+ if (!m_bOffline) {
+ // Convert the mime-type C string to a Pascal string.
+ dwLen = strlen(fType);
+ if (dwLen > 255) { // don't blow out the Str255
+ dwLen = 255;
+ }
+ BlockMoveData(fType, &ourType[1], dwLen);
+ ourType[0] = dwLen;
- // NOTE: We need to set the cursor because almost always we will have set it to the
- // hand cursor before we get here.
- Cursor qdArrow;
- SetCursor(GetQDGlobalsArrow(&qdArrow));
+ // NOTE: We need to set the cursor because almost always we will have set it to the
+ // hand cursor before we get here.
+ Cursor qdArrow;
+ SetCursor(GetQDGlobalsArrow(&qdArrow));
- // Now that weÕve queried the user about this mime type,
- // add it to our list so we wonÕt bug them again.
- AddMimeTypeToList(ourType);
-
- //
- // If the user clicked "Get the Plug-in", either execute the
- // JavaScript file-installation URL, or ask Netscape to open
- // a new window with the page URL. The title of the window
- // is arbitrary since it has nothing to do with the actual
- // window title shown to the user (itÕs only used internally).
- //
- NPN_PushPopupsEnabledState(fInstance, true);
+ // Now that weÕve queried the user about this mime type,
+ // add it to our list so we wonÕt bug them again.
+ AddMimeTypeToList(ourType);
+
+ // If the user clicked "Get the Plug-in", either execute the
+ // JavaScript file-installation URL, or ask Netscape to open
+ // a new window with the page URL. The title of the window
+ // is arbitrary since it has nothing to do with the actual
+ // window title shown to the user (itÕs only used internally).
+ NPN_PushPopupsEnabledState(fInstance, true);
- if (fFileURL != NULL) {
- (void) NPN_GetURL(fInstance, fFileURL, "_current");
- } else if (fPageURL != NULL) {
- NPN_GetURL(fInstance, fPageURL, "_blank");
- } else {
- pTheURL = MakeDefaultURL();
- if (!m_bJavaScript) {
- NPN_GetURL(fInstance, pTheURL, "_blank");
- } else {
- NPN_GetURL(fInstance, pTheURL, NULL);
- }
- NPN_MemFree(pTheURL);
- }
+ if (fFileURL) {
+ (void) NPN_GetURL(fInstance, fFileURL, "_current");
+ }
+ else if (fPageURL) {
+ NPN_GetURL(fInstance, fPageURL, "_blank");
+ }
+ else {
+ pTheURL = MakeDefaultURL();
+ if (!m_bJavaScript)
+ NPN_GetURL(fInstance, pTheURL, "_blank");
+ else
+ NPN_GetURL(fInstance, pTheURL, NULL);
+ NPN_MemFree(pTheURL);
+ }
- NPN_PopPopupsEnabledState(fInstance);
+ NPN_PopPopupsEnabledState(fInstance);
- fUserInstalledPlugin = true;
- if (FocusDraw()) {
- Draw(kUnhilited);
- RestoreDraw();
- }
- }
+ fUserInstalledPlugin = true;
+ if (FocusDraw()) {
+ Draw(kUnhilited);
+ RestoreDraw();
+ }
+ }
}
+
void CPlugin::RefreshPluginPage()
{
- (void) NPN_GetURL(fInstance, "javascript:navigator.plugins.refresh(true);", "_self");
+ (void)NPN_GetURL(fInstance, "javascript:navigator.plugins.refresh(true);", "_self");
}
+
void CPlugin::DrawString(const unsigned char* text, short width, short height, short centerX, Rect drawRect)
{
- short length, textHeight, textWidth;
-
- if(text == NULL)
- return;
-
- length = strlen((char*)text);
- TextFont(20);
- TextFace(underline);
- TextMode(srcCopy);
- TextSize(10);
-
- FontInfo fontInfo;
- GetFontInfo(&fontInfo);
+ short length, textHeight, textWidth;
- textHeight = fontInfo.ascent + fontInfo.descent + fontInfo.leading;
- textWidth = TextWidth(text, 0, length);
-
- if (width > textWidth && height > textHeight + 32)
- {
- MoveTo(centerX - (textWidth >> 1), drawRect.bottom + textHeight);
- DrawText(text, 0, length);
- }
+ if (!text)
+ return;
+
+ length = strlen((char*)text);
+ TextFont(20);
+ TextFace(underline);
+ TextMode(srcCopy);
+ TextSize(10);
+
+ FontInfo fontInfo;
+ GetFontInfo(&fontInfo);
+
+ textHeight = fontInfo.ascent + fontInfo.descent + fontInfo.leading;
+ textWidth = TextWidth(text, 0, length);
+
+ if (width > textWidth && height > textHeight + 32) {
+ MoveTo(centerX - (textWidth >> 1), drawRect.bottom + textHeight);
+ DrawText(text, 0, length);
+ }
}
+
Boolean CPlugin::IsPluginHidden(int16 argc, char* argn[], char* argv[])
{
- int i;
- for(i=0; i