From c21e8d282e37a4cce041bfbeef8ed64dac2c3287 Mon Sep 17 00:00:00 2001 From: "joshmoz%gmail.com" Date: Thu, 15 Nov 2007 06:23:46 +0000 Subject: [PATCH] clean up mac default plugin. b=373070 r=mento sr=jst a=schrep git-svn-id: svn://10.0.0.236/trunk@239421 18797224-902f-48f8-a5cc-f745e15eee43 --- .../mac/DefaultPlugin.pbproj/project.pbxproj | 387 ----- .../mac/DefaultPlugin.xcode/project.pbxproj | 368 ---- .../DefaultPlugin.xcodeproj/project.pbxproj | 328 ++++ .../plugin/samples/default/mac/Makefile.in | 2 +- .../plugin/samples/default/mac/NullPlugin.cpp | 1508 +++++++---------- 5 files changed, 941 insertions(+), 1652 deletions(-) delete mode 100644 mozilla/modules/plugin/samples/default/mac/DefaultPlugin.pbproj/project.pbxproj delete mode 100644 mozilla/modules/plugin/samples/default/mac/DefaultPlugin.xcode/project.pbxproj create mode 100644 mozilla/modules/plugin/samples/default/mac/DefaultPlugin.xcodeproj/project.pbxproj 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