diff options
author | Cary Clark <> | 2009-03-24 21:14:25 -0700 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-24 21:14:25 -0700 |
commit | 5ec837f49e9c57d4394ce64b853fd86269c8b340 (patch) | |
tree | de89879b3a2cb0d713abc3c1fac766cb17706245 /WebKitExamplePlugins | |
parent | 02ba42cb469e2f0e26216fe434dbb912cf48d248 (diff) | |
download | external_webkit-5ec837f49e9c57d4394ce64b853fd86269c8b340.zip external_webkit-5ec837f49e9c57d4394ce64b853fd86269c8b340.tar.gz external_webkit-5ec837f49e9c57d4394ce64b853fd86269c8b340.tar.bz2 |
Automated import from //branches/master/...@141953,141953
Diffstat (limited to 'WebKitExamplePlugins')
11 files changed, 0 insertions, 1727 deletions
diff --git a/WebKitExamplePlugins/ChangeLog b/WebKitExamplePlugins/ChangeLog deleted file mode 100644 index 551a3fc..0000000 --- a/WebKitExamplePlugins/ChangeLog +++ /dev/null @@ -1,127 +0,0 @@ -2008-08-20 Josh Aas <joshmoz@gmail.com> - - Reviewed and landed by Anders. - - <rdar://problem/6163636> - rename NPCocoaEvent's "event" struct to "data" (20446) - - * NetscapeCocoaPlugin/main.m: - (handleMouseEvent): - (handleKeyboardEvent): - (NPP_HandleEvent): - -2008-05-22 Josh Aas <joshmoz@gmail.com> - - Reviewed by Anders. - - Use correct enum. - - * NetscapeCocoaPlugin/main.m: - (NPP_New): - * NetscapeInputMethodPlugin/main.m: - (NPP_New): - -2008-05-12 Anders Carlsson <andersca@apple.com> - - Reviewed by Alexey. - - Add input method test plug-in. - - * NetscapeInputMethodPlugin: Added. - * NetscapeInputMethodPlugin/English.lproj: Added. - * NetscapeInputMethodPlugin/English.lproj/InfoPlist.strings: Added. - * NetscapeInputMethodPlugin/Info.plist: Added. - * NetscapeInputMethodPlugin/NetscapeInputMethodPlugin.xcodeproj: Added. - * NetscapeInputMethodPlugin/NetscapeInputMethodPlugin.xcodeproj/project.pbxproj: Added. - * NetscapeInputMethodPlugin/main.m: Added. - (NP_Initialize): - (NP_GetEntryPoints): - (NP_Shutdown): - (NPP_New): - (NPP_Destroy): - (NPP_SetWindow): - (NPP_NewStream): - (NPP_DestroyStream): - (NPP_WriteReady): - (NPP_Write): - (NPP_StreamAsFile): - (NPP_Print): - (handleDraw): - (invalidatePlugin): - (handleFocusChanged): - (handleMouseMoved): - (handleMouseDown): - (NPP_HandleEvent): - (NPP_URLNotify): - (selectionRange): - (NPP_InsertText): - (NPP_DoCommandBySelector): - (markedTextAttributes): - (NPP_SetMarkedText): - (NPP_UnmarkText): - (NPP_HasMarkedText): - (NPP_AttributedSubstringFromRange): - (NPP_MarkedRange): - (NPP_SelectedRange): - (NPP_FirstRectForCharacterRange): - (pluginTextInputFuncs): - (NPP_GetValue): - (NPP_SetValue): - * NetscapeInputMethodPlugin/test.html: Added. - -2008-05-06 Anders Carlsson <andersca@apple.com> - - Reviewed by Mitz. - - Add NPN_PopUpContextMenu example. - - * NetscapeCocoaPlugin/MenuHandler.h: Added. - * NetscapeCocoaPlugin/MenuHandler.m: Added. - (-[MenuHandler _openURL:]): - (-[MenuHandler _disabledItem:]): - (-[MenuHandler validateUserInterfaceItem:]): - (-[MenuHandler initWithBrowserFuncs:instance:]): - (-[MenuHandler dealloc]): - (-[MenuHandler menu]): - * NetscapeCocoaPlugin/NetscapeCocoaPlugin.xcodeproj/project.pbxproj: - * NetscapeCocoaPlugin/main.m: - (NPP_Destroy): - (handleMouseEvent): - -2008-05-06 Anders Carlsson <andersca@apple.com> - - Reviewed by Jon, Tim and Mark. - - Add a sample NPAPI plugin that uses the Cocoa event model. - - * .: Added. - * ChangeLog: Added. - * NetscapeCocoaPlugin: Added. - * NetscapeCocoaPlugin/English.lproj: Added. - * NetscapeCocoaPlugin/English.lproj/InfoPlist.strings: Added. - * NetscapeCocoaPlugin/Info.plist: Added. - * NetscapeCocoaPlugin/NetscapeCocoaPlugin.xcodeproj: Added. - * NetscapeCocoaPlugin/NetscapeCocoaPlugin.xcodeproj/project.pbxproj: Added. - * NetscapeCocoaPlugin/main.m: Added. - (NP_Initialize): - (NP_GetEntryPoints): - (NP_Shutdown): - (NPP_New): - (NPP_Destroy): - (NPP_SetWindow): - (NPP_NewStream): - (NPP_DestroyStream): - (NPP_WriteReady): - (NPP_Write): - (NPP_StreamAsFile): - (NPP_Print): - (handleDraw): - (eventType): - (invalidatePlugin): - (handleMouseEvent): - (handleKeyboardEvent): - (NPP_HandleEvent): - (NPP_URLNotify): - (NPP_GetValue): - (NPP_SetValue): - * NetscapeCocoaPlugin/test.html: Added. diff --git a/WebKitExamplePlugins/NetscapeCocoaPlugin/Info.plist b/WebKitExamplePlugins/NetscapeCocoaPlugin/Info.plist deleted file mode 100644 index 47ae1a5..0000000 --- a/WebKitExamplePlugins/NetscapeCocoaPlugin/Info.plist +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>CFBundleDevelopmentRegion</key> - <string>English</string> - <key>CFBundleExecutable</key> - <string>NetscapeCocoaPlugin</string> - <key>CFBundleIconFile</key> - <string></string> - <key>CFBundleIdentifier</key> - <string>com.apple.netscapecocoaplugin</string> - <key>CFBundleInfoDictionaryVersion</key> - <string>6.0</string> - <key>CFBundlePackageType</key> - <string>BRPL</string> - <key>CFBundleShortVersionString</key> - <string>1.0</string> - <key>CFBundleSignature</key> - <string>????</string> - <key>CFBundleVersion</key> - <string>1.0</string> - <key>WebPluginDescription</key> - <string>Simple Netscape plug-in that draws using CoreGraphics and handles events using the Cocoa event model</string> - <key>WebPluginMIMETypes</key> - <dict> - <key>test/x-netscape-cocoa-plugin</key> - <dict> - <key>WebPluginTypeDescription</key> - <string>Netscape Cocoa Plug-in</string> - </dict> - </dict> - <key>WebPluginName</key> - <string>Netscape Cocoa Plug-in</string> -</dict> -</plist> diff --git a/WebKitExamplePlugins/NetscapeCocoaPlugin/MenuHandler.h b/WebKitExamplePlugins/NetscapeCocoaPlugin/MenuHandler.h deleted file mode 100644 index 19070f0..0000000 --- a/WebKitExamplePlugins/NetscapeCocoaPlugin/MenuHandler.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in - consideration of your agreement to the following terms, and your use, installation, - modification or redistribution of this Apple software constitutes acceptance of these - terms. If you do not agree with these terms, please do not use, install, modify or - redistribute this Apple software. - - In consideration of your agreement to abide by the following terms, and subject to these - terms, Apple grants you a personal, non-exclusive license, under Apple’s copyrights in - this original Apple software (the "Apple Software"), to use, reproduce, modify and - redistribute the Apple Software, with or without modifications, in source and/or binary - forms; provided that if you redistribute the Apple Software in its entirety and without - modifications, you must retain this notice and the following text and disclaimers in all - such redistributions of the Apple Software. Neither the name, trademarks, service marks - or logos of Apple Computer, Inc. may be used to endorse or promote products derived from - the Apple Software without specific prior written permission from Apple. Except as expressly - stated in this notice, no other rights or licenses, express or implied, are granted by Apple - herein, including but not limited to any patent rights that may be infringed by your - derivative works or by other works in which the Apple Software may be incorporated. - - The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, - EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS - USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. - - IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, - REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND - WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR - OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#import <Cocoa/Cocoa.h> -#import <WebKit/npfunctions.h> - -@interface MenuHandler : NSObject { - NSMenu *menu; - NPNetscapeFuncs *browserFuncs; - NPP instance; -} - -- (id)initWithBrowserFuncs:(NPNetscapeFuncs *)theBrowserFuncs instance:(NPP)theInstance; - -- (NSMenu *)menu; - -@end diff --git a/WebKitExamplePlugins/NetscapeCocoaPlugin/MenuHandler.m b/WebKitExamplePlugins/NetscapeCocoaPlugin/MenuHandler.m deleted file mode 100644 index b9feb1c..0000000 --- a/WebKitExamplePlugins/NetscapeCocoaPlugin/MenuHandler.m +++ /dev/null @@ -1,99 +0,0 @@ -/* - IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in - consideration of your agreement to the following terms, and your use, installation, - modification or redistribution of this Apple software constitutes acceptance of these - terms. If you do not agree with these terms, please do not use, install, modify or - redistribute this Apple software. - - In consideration of your agreement to abide by the following terms, and subject to these - terms, Apple grants you a personal, non-exclusive license, under Apple’s copyrights in - this original Apple software (the "Apple Software"), to use, reproduce, modify and - redistribute the Apple Software, with or without modifications, in source and/or binary - forms; provided that if you redistribute the Apple Software in its entirety and without - modifications, you must retain this notice and the following text and disclaimers in all - such redistributions of the Apple Software. Neither the name, trademarks, service marks - or logos of Apple Computer, Inc. may be used to endorse or promote products derived from - the Apple Software without specific prior written permission from Apple. Except as expressly - stated in this notice, no other rights or licenses, express or implied, are granted by Apple - herein, including but not limited to any patent rights that may be infringed by your - derivative works or by other works in which the Apple Software may be incorporated. - - The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, - EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS - USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. - - IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, - REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND - WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR - OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#import "MenuHandler.h" - -@implementation MenuHandler - -- (void)_openURL:(id)sender -{ - browserFuncs->geturl(instance, "http://www.apple.com/", "_blank"); -} - -- (void)_disabledItem:(id)sender -{ - // This should never be called -} - -- (BOOL)validateUserInterfaceItem:(id <NSValidatedUserInterfaceItem>)anItem -{ - SEL sel = [anItem action]; - - if (sel == @selector(_openURL:)) - return YES; - - if (sel == @selector(_disabledItem:)) - return NO; - - return NO; -} - -- (id)initWithBrowserFuncs:(NPNetscapeFuncs *)theBrowserFuncs instance:(NPP)theInstance; -{ - self = [super init]; - if (!self) - return nil; - - browserFuncs = theBrowserFuncs; - instance = theInstance; - - // Create the menu - menu = [[NSMenu alloc] initWithTitle:@"Menu"]; - - NSMenuItem *item = [[NSMenuItem alloc] initWithTitle:@"Open URL" action:@selector(_openURL:) keyEquivalent:@""]; - [item setTarget:self]; - [menu addItem:item]; - [item release]; - - item = [[NSMenuItem alloc] initWithTitle:@"Disabled Item" action:@selector(_disabledItem:) keyEquivalent:@""]; - [item setTarget:self]; - [menu addItem:item]; - [item release]; - - return self; -} - -- (void)dealloc -{ - [menu release]; - - [super dealloc]; -} - - -- (NSMenu *)menu -{ - return menu; -} - -@end diff --git a/WebKitExamplePlugins/NetscapeCocoaPlugin/NetscapeCocoaPlugin.xcodeproj/project.pbxproj b/WebKitExamplePlugins/NetscapeCocoaPlugin/NetscapeCocoaPlugin.xcodeproj/project.pbxproj deleted file mode 100644 index 1c78769..0000000 --- a/WebKitExamplePlugins/NetscapeCocoaPlugin/NetscapeCocoaPlugin.xcodeproj/project.pbxproj +++ /dev/null @@ -1,240 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 42; - objects = { - -/* Begin PBXBuildFile section */ - 1A624E590DCBC7F6006898C8 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A624E580DCBC7F6006898C8 /* main.m */; }; - 1A6250420DCBC81B006898C8 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A6250410DCBC81B006898C8 /* Cocoa.framework */; }; - 1AAD6A090DD0DC52003985DA /* MenuHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 1AAD6A080DD0DC52003985DA /* MenuHandler.m */; }; - 8D5B49A804867FD3000E48DA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8D5B49A704867FD3000E48DA /* InfoPlist.strings */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; }; - 1A624E580DCBC7F6006898C8 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; }; - 1A6250410DCBC81B006898C8 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; }; - 1AAD6A070DD0DC52003985DA /* MenuHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MenuHandler.h; sourceTree = "<group>"; }; - 1AAD6A080DD0DC52003985DA /* MenuHandler.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MenuHandler.m; sourceTree = "<group>"; }; - 8D576316048677EA00EA77CD /* NetscapeCocoaPlugin.plugin */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = NetscapeCocoaPlugin.plugin; sourceTree = BUILT_PRODUCTS_DIR; }; - 8D576317048677EA00EA77CD /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 8D576313048677EA00EA77CD /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 1A6250420DCBC81B006898C8 /* Cocoa.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 089C166AFE841209C02AAC07 /* NetscapeCocoaPlugin */ = { - isa = PBXGroup; - children = ( - 08FB77AFFE84173DC02AAC07 /* Source */, - 089C167CFE841241C02AAC07 /* Resources */, - 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, - 19C28FB6FE9D52B211CA2CBB /* Products */, - ); - name = NetscapeCocoaPlugin; - sourceTree = "<group>"; - }; - 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = { - isa = PBXGroup; - children = ( - 1A6250410DCBC81B006898C8 /* Cocoa.framework */, - ); - name = "External Frameworks and Libraries"; - sourceTree = "<group>"; - }; - 089C167CFE841241C02AAC07 /* Resources */ = { - isa = PBXGroup; - children = ( - 8D576317048677EA00EA77CD /* Info.plist */, - 8D5B49A704867FD3000E48DA /* InfoPlist.strings */, - ); - name = Resources; - sourceTree = "<group>"; - }; - 08FB77AFFE84173DC02AAC07 /* Source */ = { - isa = PBXGroup; - children = ( - 1A624E580DCBC7F6006898C8 /* main.m */, - 1AAD6A070DD0DC52003985DA /* MenuHandler.h */, - 1AAD6A080DD0DC52003985DA /* MenuHandler.m */, - ); - name = Source; - sourceTree = "<group>"; - }; - 19C28FB6FE9D52B211CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 8D576316048677EA00EA77CD /* NetscapeCocoaPlugin.plugin */, - ); - name = Products; - sourceTree = "<group>"; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 8D57630D048677EA00EA77CD /* NetscapeCocoaPlugin */ = { - isa = PBXNativeTarget; - buildConfigurationList = 149C298308902C53008A9EFC /* Build configuration list for PBXNativeTarget "NetscapeCocoaPlugin" */; - buildPhases = ( - 8D576311048677EA00EA77CD /* Sources */, - 8D57630F048677EA00EA77CD /* Resources */, - 8D576313048677EA00EA77CD /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = NetscapeCocoaPlugin; - productInstallPath = "$(HOME)/Library/Bundles"; - productName = NetscapeCocoaPlugin; - productReference = 8D576316048677EA00EA77CD /* NetscapeCocoaPlugin.plugin */; - productType = "com.apple.product-type.bundle"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 089C1669FE841209C02AAC07 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = 149C298708902C53008A9EFC /* Build configuration list for PBXProject "NetscapeCocoaPlugin" */; - compatibilityVersion = "Xcode 2.4"; - hasScannedForEncodings = 1; - mainGroup = 089C166AFE841209C02AAC07 /* NetscapeCocoaPlugin */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 8D57630D048677EA00EA77CD /* NetscapeCocoaPlugin */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 8D57630F048677EA00EA77CD /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D5B49A804867FD3000E48DA /* InfoPlist.strings in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 8D576311048677EA00EA77CD /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 1A624E590DCBC7F6006898C8 /* main.m in Sources */, - 1AAD6A090DD0DC52003985DA /* MenuHandler.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 8D5B49A704867FD3000E48DA /* InfoPlist.strings */ = { - isa = PBXVariantGroup; - children = ( - 089C167EFE841241C02AAC07 /* English */, - ); - name = InfoPlist.strings; - sourceTree = "<group>"; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 149C298408902C53008A9EFC /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - GCC_DEBUGGING_SYMBOLS = full; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Library/Bundles"; - PRODUCT_NAME = NetscapeCocoaPlugin; - WRAPPER_EXTENSION = plugin; - ZERO_LINK = YES; - }; - name = Debug; - }; - 149C298508902C53008A9EFC /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = ( - ppc, - i386, - ); - GCC_DEBUGGING_SYMBOLS = full; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Library/Bundles"; - PRODUCT_NAME = NetscapeCocoaPlugin; - WRAPPER_EXTENSION = plugin; - }; - name = Release; - }; - 149C298808902C53008A9EFC /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1)"; - ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "ppc i386 ppc64 x86_64"; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - PREBINDING = NO; - SDKROOT = /Developer/SDKs/MacOSX10.5.sdk; - }; - name = Debug; - }; - 149C298908902C53008A9EFC /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1)"; - ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "ppc i386 ppc64 x86_64"; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - PREBINDING = NO; - SDKROOT = /Developer/SDKs/MacOSX10.5.sdk; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 149C298308902C53008A9EFC /* Build configuration list for PBXNativeTarget "NetscapeCocoaPlugin" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 149C298408902C53008A9EFC /* Debug */, - 149C298508902C53008A9EFC /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 149C298708902C53008A9EFC /* Build configuration list for PBXProject "NetscapeCocoaPlugin" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 149C298808902C53008A9EFC /* Debug */, - 149C298908902C53008A9EFC /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 089C1669FE841209C02AAC07 /* Project object */; -} diff --git a/WebKitExamplePlugins/NetscapeCocoaPlugin/main.m b/WebKitExamplePlugins/NetscapeCocoaPlugin/main.m deleted file mode 100644 index 1f66ac1..0000000 --- a/WebKitExamplePlugins/NetscapeCocoaPlugin/main.m +++ /dev/null @@ -1,370 +0,0 @@ -/* - IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in - consideration of your agreement to the following terms, and your use, installation, - modification or redistribution of this Apple software constitutes acceptance of these - terms. If you do not agree with these terms, please do not use, install, modify or - redistribute this Apple software. - - In consideration of your agreement to abide by the following terms, and subject to these - terms, Apple grants you a personal, non-exclusive license, under Apple’s copyrights in - this original Apple software (the "Apple Software"), to use, reproduce, modify and - redistribute the Apple Software, with or without modifications, in source and/or binary - forms; provided that if you redistribute the Apple Software in its entirety and without - modifications, you must retain this notice and the following text and disclaimers in all - such redistributions of the Apple Software. Neither the name, trademarks, service marks - or logos of Apple Computer, Inc. may be used to endorse or promote products derived from - the Apple Software without specific prior written permission from Apple. Except as expressly - stated in this notice, no other rights or licenses, express or implied, are granted by Apple - herein, including but not limited to any patent rights that may be infringed by your - derivative works or by other works in which the Apple Software may be incorporated. - - The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, - EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS - USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. - - IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, - REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND - WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR - OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#import <WebKit/npapi.h> -#import <WebKit/npfunctions.h> -#import <WebKit/npruntime.h> - -#import <Cocoa/Cocoa.h> - -#import "MenuHandler.h" - -// Browser function table -static NPNetscapeFuncs* browser; - -// Structure for per-instance storage -typedef struct PluginObject -{ - NPP npp; - - NPWindow window; - - NSString *string; - bool hasFocus; - bool mouseIsInsidePlugin; - - MenuHandler *menuHandler; -} PluginObject; - -NPError NPP_New(NPMIMEType pluginType, NPP instance, uint16 mode, int16 argc, char* argn[], char* argv[], NPSavedData* saved); -NPError NPP_Destroy(NPP instance, NPSavedData** save); -NPError NPP_SetWindow(NPP instance, NPWindow* window); -NPError NPP_NewStream(NPP instance, NPMIMEType type, NPStream* stream, NPBool seekable, uint16* stype); -NPError NPP_DestroyStream(NPP instance, NPStream* stream, NPReason reason); -int32 NPP_WriteReady(NPP instance, NPStream* stream); -int32 NPP_Write(NPP instance, NPStream* stream, int32 offset, int32 len, void* buffer); -void NPP_StreamAsFile(NPP instance, NPStream* stream, const char* fname); -void NPP_Print(NPP instance, NPPrint* platformPrint); -int16 NPP_HandleEvent(NPP instance, void* event); -void NPP_URLNotify(NPP instance, const char* URL, NPReason reason, void* notifyData); -NPError NPP_GetValue(NPP instance, NPPVariable variable, void *value); -NPError NPP_SetValue(NPP instance, NPNVariable variable, void *value); - -#pragma export on -// Mach-o entry points -NPError NP_Initialize(NPNetscapeFuncs *browserFuncs); -NPError NP_GetEntryPoints(NPPluginFuncs *pluginFuncs); -void NP_Shutdown(void); -#pragma export off - -NPError NP_Initialize(NPNetscapeFuncs* browserFuncs) -{ - browser = browserFuncs; - return NPERR_NO_ERROR; -} - -NPError NP_GetEntryPoints(NPPluginFuncs* pluginFuncs) -{ - pluginFuncs->version = 11; - pluginFuncs->size = sizeof(pluginFuncs); - pluginFuncs->newp = NPP_New; - pluginFuncs->destroy = NPP_Destroy; - pluginFuncs->setwindow = NPP_SetWindow; - pluginFuncs->newstream = NPP_NewStream; - pluginFuncs->destroystream = NPP_DestroyStream; - pluginFuncs->asfile = NPP_StreamAsFile; - pluginFuncs->writeready = NPP_WriteReady; - pluginFuncs->write = (NPP_WriteProcPtr)NPP_Write; - pluginFuncs->print = NPP_Print; - pluginFuncs->event = NPP_HandleEvent; - pluginFuncs->urlnotify = NPP_URLNotify; - pluginFuncs->getvalue = NPP_GetValue; - pluginFuncs->setvalue = NPP_SetValue; - - return NPERR_NO_ERROR; -} - -void NP_Shutdown(void) -{ - -} - -NPError NPP_New(NPMIMEType pluginType, NPP instance, uint16 mode, int16 argc, char* argn[], char* argv[], NPSavedData* saved) -{ - // Create per-instance storage - PluginObject *obj = (PluginObject *)malloc(sizeof(PluginObject)); - bzero(obj, sizeof(PluginObject)); - - obj->npp = instance; - instance->pdata = obj; - - // Ask the browser if it supports the CoreGraphics drawing model - NPBool supportsCoreGraphics; - if (browser->getvalue(instance, NPNVsupportsCoreGraphicsBool, &supportsCoreGraphics) != NPERR_NO_ERROR) - supportsCoreGraphics = FALSE; - - if (!supportsCoreGraphics) - return NPERR_INCOMPATIBLE_VERSION_ERROR; - - // If the browser supports the CoreGraphics drawing model, enable it. - browser->setvalue(instance, NPPVpluginDrawingModel, (void *)NPDrawingModelCoreGraphics); - - // If the browser supports the Cocoa event model, enable it. - NPBool supportsCocoa; - if (browser->getvalue(instance, NPNVsupportsCocoaBool, &supportsCocoa) != NPERR_NO_ERROR) - supportsCocoa = FALSE; - - if (!supportsCocoa) - return NPERR_INCOMPATIBLE_VERSION_ERROR; - - browser->setvalue(instance, NPPVpluginEventModel, (void *)NPEventModelCocoa); - - return NPERR_NO_ERROR; -} - -NPError NPP_Destroy(NPP instance, NPSavedData** save) -{ - // Free per-instance storage - PluginObject *obj = instance->pdata; - - [obj->string release]; - [obj->menuHandler release]; - - free(obj); - - return NPERR_NO_ERROR; -} - -NPError NPP_SetWindow(NPP instance, NPWindow* window) -{ - PluginObject *obj = instance->pdata; - obj->window = *window; - - return NPERR_NO_ERROR; -} - - -NPError NPP_NewStream(NPP instance, NPMIMEType type, NPStream* stream, NPBool seekable, uint16* stype) -{ - *stype = NP_ASFILEONLY; - return NPERR_NO_ERROR; -} - -NPError NPP_DestroyStream(NPP instance, NPStream* stream, NPReason reason) -{ - return NPERR_NO_ERROR; -} - -int32 NPP_WriteReady(NPP instance, NPStream* stream) -{ - return 0; -} - -int32 NPP_Write(NPP instance, NPStream* stream, int32 offset, int32 len, void* buffer) -{ - return 0; -} - -void NPP_StreamAsFile(NPP instance, NPStream* stream, const char* fname) -{ -} - -void NPP_Print(NPP instance, NPPrint* platformPrint) -{ - -} - -static void handleDraw(PluginObject *obj) -{ - NSGraphicsContext *oldContext = [[NSGraphicsContext currentContext] retain]; - - NSGraphicsContext *context = [NSGraphicsContext graphicsContextWithGraphicsPort:((NP_CGContext *)obj->window.window)->context - flipped:YES]; - - - [NSGraphicsContext setCurrentContext:context]; - - NSRect rect = NSMakeRect(0, 0, obj->window.width, obj->window.height); - - [[NSColor lightGrayColor] set]; - [NSBezierPath fillRect:rect]; - - // If the plugin has focus, draw a focus indicator - if (obj->hasFocus) { - [[NSColor blackColor] set]; - NSBezierPath *path = [NSBezierPath bezierPathWithRect:rect]; - [path setLineWidth:5]; - [path stroke]; - } - - [obj->string drawAtPoint:NSMakePoint(10, 10) withAttributes:nil]; - - [NSGraphicsContext setCurrentContext:oldContext]; -} - -static NSString *eventType(NPCocoaEventType type) -{ - switch (type) { - case NPCocoaEventScrollWheel: - return @"NPCocoaEventScrollWheel"; - case NPCocoaEventMouseDown: - return @"NPCocoaEventMouseDown"; - case NPCocoaEventMouseUp: - return @"NPCocoaEventMouseUp"; - case NPCocoaEventMouseMoved: - return @"NPCocoaEventMouseMoved"; - case NPCocoaEventMouseDragged: - return @"NPCocoaEventMouseDragged"; - case NPCocoaEventMouseEntered: - return @"NPCocoaEventMouseEntered"; - case NPCocoaEventMouseExited: - return @"NPCocoaEventMouseExited"; - case NPCocoaEventKeyDown: - return @"NPCocoaEventKeyDown"; - case NPCocoaEventKeyUp: - return @"NPCocoaEventKeyUp"; - case NPCocoaEventFlagsChanged: - return @"NPCocoaEventFlagsChanged"; - default: - return @"unknown"; - } -} - -static void invalidatePlugin(PluginObject *obj) -{ - NPRect rect; - rect.left = 0; - rect.top = 0; - rect.right = obj->window.width; - rect.bottom = obj->window.height; - - browser->invalidaterect(obj->npp, &rect); -} - - -static void handleMouseEvent(PluginObject *obj, NPCocoaEvent *event) -{ - NSString *string = [NSString stringWithFormat:@"Type: %@\n" - "Modifier flags: 0x%x\n" - "Coordinates: (%g, %g)\n" - "Button number: %d\n" - "Click count: %d\n" - "Delta: (%g, %g, %g)", - eventType(event->type), - event->data.mouse.modifierFlags, - event->data.mouse.pluginX, - event->data.mouse.pluginY, - event->data.mouse.buttonNumber, - event->data.mouse.clickCount, - event->data.mouse.deltaX, event->data.mouse.deltaY, event->data.mouse.deltaZ]; - - - [obj->string release]; - obj->string = [string retain]; - - invalidatePlugin(obj); - - if (event->data.mouse.buttonNumber == 1) { - if (!obj->menuHandler) - obj->menuHandler = [[MenuHandler alloc] initWithBrowserFuncs:browser instance:obj->npp]; - - browser->popupcontextmenu(obj->npp, (NPNSMenu *)[obj->menuHandler menu]); - NSLog(@"foo"); - } -} - -static void handleKeyboardEvent(PluginObject *obj, NPCocoaEvent *event) -{ - NSString *string = [NSString stringWithFormat:@"Type: %@\n" - "Modifier flags: 0x%x\n" - "Characters: %@\n" - "Characters ignoring modifiers: %@\n" - "Is a repeat: %@\n" - "Key code: %d", - eventType(event->type), - event->data.key.modifierFlags, - event->data.key.characters, - event->data.key.charactersIgnoringModifiers, - event->data.key.isARepeat ? @"YES" : @"NO", - event->data.key.keyCode]; - - - [obj->string release]; - obj->string = [string retain]; - - invalidatePlugin(obj); -} - -int16 NPP_HandleEvent(NPP instance, void* event) -{ - PluginObject *obj = instance->pdata; - - NPCocoaEvent *cocoaEvent = event; - - switch(cocoaEvent->type) { - case NPCocoaEventFocusChanged: - obj->hasFocus = cocoaEvent->data.focus.hasFocus; - invalidatePlugin(obj); - return 1; - - case NPCocoaEventDrawRect: - handleDraw(obj); - return 1; - - case NPCocoaEventKeyDown: - case NPCocoaEventKeyUp: - case NPCocoaEventFlagsChanged: - handleKeyboardEvent(obj, cocoaEvent); - return 1; - - case NPCocoaEventMouseDown: - case NPCocoaEventMouseUp: - - // FIXME: NPCocoaEventMouseMoved is currently disabled in order to see other events more clearly - // without "drowning" in mouse moved events. -// case NPCocoaEventMouseMoved: - case NPCocoaEventMouseEntered: - case NPCocoaEventMouseExited: - case NPCocoaEventMouseDragged: - case NPCocoaEventScrollWheel: - handleMouseEvent(obj, cocoaEvent); - return 1; - } - - return 0; -} - -void NPP_URLNotify(NPP instance, const char* url, NPReason reason, void* notifyData) -{ - -} - -NPError NPP_GetValue(NPP instance, NPPVariable variable, void *value) -{ - return NPERR_GENERIC_ERROR; -} - -NPError NPP_SetValue(NPP instance, NPNVariable variable, void *value) -{ - return NPERR_GENERIC_ERROR; -} diff --git a/WebKitExamplePlugins/NetscapeCocoaPlugin/test.html b/WebKitExamplePlugins/NetscapeCocoaPlugin/test.html deleted file mode 100644 index 368cb1c..0000000 --- a/WebKitExamplePlugins/NetscapeCocoaPlugin/test.html +++ /dev/null @@ -1,11 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> -<html> -<head> -<title>Cocoa Netscape Plug-In</title> -</head> -<body> -<div> - <embed width="400" height="400" type="test/x-netscape-cocoa-plugin"></embed> -</div> -</body> -</html> diff --git a/WebKitExamplePlugins/NetscapeInputMethodPlugin/Info.plist b/WebKitExamplePlugins/NetscapeInputMethodPlugin/Info.plist deleted file mode 100644 index a09cb1f..0000000 --- a/WebKitExamplePlugins/NetscapeInputMethodPlugin/Info.plist +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>CFBundleDevelopmentRegion</key> - <string>English</string> - <key>CFBundleExecutable</key> - <string>NetscapeInputMethodPlugin</string> - <key>CFBundleIconFile</key> - <string></string> - <key>CFBundleIdentifier</key> - <string>com.apple.netscapeinputmethodplugin</string> - <key>CFBundleInfoDictionaryVersion</key> - <string>6.0</string> - <key>CFBundlePackageType</key> - <string>BRPL</string> - <key>CFBundleShortVersionString</key> - <string>1.0</string> - <key>CFBundleSignature</key> - <string>????</string> - <key>CFBundleVersion</key> - <string>1.0</string> - <key>WebPluginDescription</key> - <string>Simple Netscape plug-in that shows how to use input methods</string> - <key>WebPluginMIMETypes</key> - <dict> - <key>test/x-netscape-input-method-plugin</key> - <dict> - <key>WebPluginTypeDescription</key> - <string>Netscape Input Method Plug-in</string> - </dict> - </dict> - <key>WebPluginName</key> - <string>Netscape Input Method Plug-in</string> -</dict> -</plist> diff --git a/WebKitExamplePlugins/NetscapeInputMethodPlugin/NetscapeInputMethodPlugin.xcodeproj/project.pbxproj b/WebKitExamplePlugins/NetscapeInputMethodPlugin/NetscapeInputMethodPlugin.xcodeproj/project.pbxproj deleted file mode 100644 index c5248be..0000000 --- a/WebKitExamplePlugins/NetscapeInputMethodPlugin/NetscapeInputMethodPlugin.xcodeproj/project.pbxproj +++ /dev/null @@ -1,236 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 42; - objects = { - -/* Begin PBXBuildFile section */ - 1A624E590DCBC7F6006898C8 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A624E580DCBC7F6006898C8 /* main.m */; }; - 1A6250420DCBC81B006898C8 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A6250410DCBC81B006898C8 /* Cocoa.framework */; }; - 8D5B49A804867FD3000E48DA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8D5B49A704867FD3000E48DA /* InfoPlist.strings */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; }; - 1A624E580DCBC7F6006898C8 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; }; - 1A6250410DCBC81B006898C8 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; }; - 8D576316048677EA00EA77CD /* NetscapeInputMethodPlugin.plugin */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = NetscapeInputMethodPlugin.plugin; sourceTree = BUILT_PRODUCTS_DIR; }; - 8D576317048677EA00EA77CD /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 8D576313048677EA00EA77CD /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 1A6250420DCBC81B006898C8 /* Cocoa.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 089C166AFE841209C02AAC07 /* NetscapeInputMethodPlugin */ = { - isa = PBXGroup; - children = ( - 08FB77AFFE84173DC02AAC07 /* Source */, - 089C167CFE841241C02AAC07 /* Resources */, - 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, - 19C28FB6FE9D52B211CA2CBB /* Products */, - ); - name = NetscapeInputMethodPlugin; - sourceTree = "<group>"; - }; - 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = { - isa = PBXGroup; - children = ( - 1A6250410DCBC81B006898C8 /* Cocoa.framework */, - ); - name = "External Frameworks and Libraries"; - sourceTree = "<group>"; - }; - 089C167CFE841241C02AAC07 /* Resources */ = { - isa = PBXGroup; - children = ( - 8D576317048677EA00EA77CD /* Info.plist */, - 8D5B49A704867FD3000E48DA /* InfoPlist.strings */, - ); - name = Resources; - sourceTree = "<group>"; - }; - 08FB77AFFE84173DC02AAC07 /* Source */ = { - isa = PBXGroup; - children = ( - 1A624E580DCBC7F6006898C8 /* main.m */, - ); - name = Source; - sourceTree = "<group>"; - }; - 19C28FB6FE9D52B211CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 8D576316048677EA00EA77CD /* NetscapeInputMethodPlugin.plugin */, - ); - name = Products; - sourceTree = "<group>"; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 8D57630D048677EA00EA77CD /* NetscapeInputMethodPlugin */ = { - isa = PBXNativeTarget; - buildConfigurationList = 149C298308902C53008A9EFC /* Build configuration list for PBXNativeTarget "NetscapeInputMethodPlugin" */; - buildPhases = ( - 8D576311048677EA00EA77CD /* Sources */, - 8D57630F048677EA00EA77CD /* Resources */, - 8D576313048677EA00EA77CD /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = NetscapeInputMethodPlugin; - productInstallPath = "$(HOME)/Library/Bundles"; - productName = NetscapeInputMethodPlugin; - productReference = 8D576316048677EA00EA77CD /* NetscapeInputMethodPlugin.plugin */; - productType = "com.apple.product-type.bundle"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 089C1669FE841209C02AAC07 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = 149C298708902C53008A9EFC /* Build configuration list for PBXProject "NetscapeInputMethodPlugin" */; - compatibilityVersion = "Xcode 2.4"; - hasScannedForEncodings = 1; - mainGroup = 089C166AFE841209C02AAC07 /* NetscapeInputMethodPlugin */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 8D57630D048677EA00EA77CD /* NetscapeInputMethodPlugin */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 8D57630F048677EA00EA77CD /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D5B49A804867FD3000E48DA /* InfoPlist.strings in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 8D576311048677EA00EA77CD /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 1A624E590DCBC7F6006898C8 /* main.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 8D5B49A704867FD3000E48DA /* InfoPlist.strings */ = { - isa = PBXVariantGroup; - children = ( - 089C167EFE841241C02AAC07 /* English */, - ); - name = InfoPlist.strings; - sourceTree = "<group>"; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 149C298408902C53008A9EFC /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - GCC_DEBUGGING_SYMBOLS = full; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Library/Bundles"; - PRODUCT_NAME = NetscapeInputMethodPlugin; - WRAPPER_EXTENSION = plugin; - ZERO_LINK = YES; - }; - name = Debug; - }; - 149C298508902C53008A9EFC /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = ( - ppc, - i386, - ); - GCC_DEBUGGING_SYMBOLS = full; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Library/Bundles"; - PRODUCT_NAME = NetscapeInputMethodPlugin; - WRAPPER_EXTENSION = plugin; - }; - name = Release; - }; - 149C298808902C53008A9EFC /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1)"; - ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "ppc i386 ppc64 x86_64"; - GCC_C_LANGUAGE_STANDARD = c99; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - PREBINDING = NO; - SDKROOT = /Developer/SDKs/MacOSX10.5.sdk; - }; - name = Debug; - }; - 149C298908902C53008A9EFC /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1)"; - ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "ppc i386 ppc64 x86_64"; - GCC_C_LANGUAGE_STANDARD = c99; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - PREBINDING = NO; - SDKROOT = /Developer/SDKs/MacOSX10.5.sdk; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 149C298308902C53008A9EFC /* Build configuration list for PBXNativeTarget "NetscapeInputMethodPlugin" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 149C298408902C53008A9EFC /* Debug */, - 149C298508902C53008A9EFC /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 149C298708902C53008A9EFC /* Build configuration list for PBXProject "NetscapeInputMethodPlugin" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 149C298808902C53008A9EFC /* Debug */, - 149C298908902C53008A9EFC /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 089C1669FE841209C02AAC07 /* Project object */; -} diff --git a/WebKitExamplePlugins/NetscapeInputMethodPlugin/main.m b/WebKitExamplePlugins/NetscapeInputMethodPlugin/main.m deleted file mode 100644 index d5ec581..0000000 --- a/WebKitExamplePlugins/NetscapeInputMethodPlugin/main.m +++ /dev/null @@ -1,514 +0,0 @@ -/* - IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in - consideration of your agreement to the following terms, and your use, installation, - modification or redistribution of this Apple software constitutes acceptance of these - terms. If you do not agree with these terms, please do not use, install, modify or - redistribute this Apple software. - - In consideration of your agreement to abide by the following terms, and subject to these - terms, Apple grants you a personal, non-exclusive license, under Apple’s copyrights in - this original Apple software (the "Apple Software"), to use, reproduce, modify and - redistribute the Apple Software, with or without modifications, in source and/or binary - forms; provided that if you redistribute the Apple Software in its entirety and without - modifications, you must retain this notice and the following text and disclaimers in all - such redistributions of the Apple Software. Neither the name, trademarks, service marks - or logos of Apple Computer, Inc. may be used to endorse or promote products derived from - the Apple Software without specific prior written permission from Apple. Except as expressly - stated in this notice, no other rights or licenses, express or implied, are granted by Apple - herein, including but not limited to any patent rights that may be infringed by your - derivative works or by other works in which the Apple Software may be incorporated. - - The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, - EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS - USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. - - IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, - REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND - WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR - OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#import <WebKit/npapi.h> -#import <WebKit/npfunctions.h> -#import <WebKit/npruntime.h> -#import <WebKit/nptextinput.h> - -#import <Cocoa/Cocoa.h> - -// Browser function table -static NPNetscapeFuncs* browser; - -// Structure for per-instance storage -typedef struct PluginObject -{ - NPP npp; - - NPWindow window; - - bool pluginHasFocus; - - bool textFieldHasFocus; - NSRect textFieldRect; - - NSRange markedRange; - NSRange selectedRange; - NSTextStorage *textStorage; - NSLayoutManager *layoutManager; - NSTextContainer *textContainer; - -} PluginObject; - -NPError NPP_New(NPMIMEType pluginType, NPP instance, uint16 mode, int16 argc, char* argn[], char* argv[], NPSavedData* saved); -NPError NPP_Destroy(NPP instance, NPSavedData** save); -NPError NPP_SetWindow(NPP instance, NPWindow* window); -NPError NPP_NewStream(NPP instance, NPMIMEType type, NPStream* stream, NPBool seekable, uint16* stype); -NPError NPP_DestroyStream(NPP instance, NPStream* stream, NPReason reason); -int32 NPP_WriteReady(NPP instance, NPStream* stream); -int32 NPP_Write(NPP instance, NPStream* stream, int32 offset, int32 len, void* buffer); -void NPP_StreamAsFile(NPP instance, NPStream* stream, const char* fname); -void NPP_Print(NPP instance, NPPrint* platformPrint); -int16 NPP_HandleEvent(NPP instance, void* event); -void NPP_URLNotify(NPP instance, const char* URL, NPReason reason, void* notifyData); -NPError NPP_GetValue(NPP instance, NPPVariable variable, void *value); -NPError NPP_SetValue(NPP instance, NPNVariable variable, void *value); - -#pragma export on -// Mach-o entry points -NPError NP_Initialize(NPNetscapeFuncs *browserFuncs); -NPError NP_GetEntryPoints(NPPluginFuncs *pluginFuncs); -void NP_Shutdown(void); -#pragma export off - -NPError NP_Initialize(NPNetscapeFuncs* browserFuncs) -{ - browser = browserFuncs; - return NPERR_NO_ERROR; -} - -NPError NP_GetEntryPoints(NPPluginFuncs* pluginFuncs) -{ - pluginFuncs->version = 11; - pluginFuncs->size = sizeof(pluginFuncs); - pluginFuncs->newp = NPP_New; - pluginFuncs->destroy = NPP_Destroy; - pluginFuncs->setwindow = NPP_SetWindow; - pluginFuncs->newstream = NPP_NewStream; - pluginFuncs->destroystream = NPP_DestroyStream; - pluginFuncs->asfile = NPP_StreamAsFile; - pluginFuncs->writeready = NPP_WriteReady; - pluginFuncs->write = (NPP_WriteProcPtr)NPP_Write; - pluginFuncs->print = NPP_Print; - pluginFuncs->event = NPP_HandleEvent; - pluginFuncs->urlnotify = NPP_URLNotify; - pluginFuncs->getvalue = NPP_GetValue; - pluginFuncs->setvalue = NPP_SetValue; - - return NPERR_NO_ERROR; -} - -void NP_Shutdown(void) -{ -} - -NPError NPP_New(NPMIMEType pluginType, NPP instance, uint16 mode, int16 argc, char* argn[], char* argv[], NPSavedData* saved) -{ - // Create per-instance storage - PluginObject *obj = (PluginObject *)malloc(sizeof(PluginObject)); - bzero(obj, sizeof(PluginObject)); - - obj->npp = instance; - instance->pdata = obj; - - // Ask the browser if it supports the CoreGraphics drawing model - NPBool supportsCoreGraphics; - if (browser->getvalue(instance, NPNVsupportsCoreGraphicsBool, &supportsCoreGraphics) != NPERR_NO_ERROR) - supportsCoreGraphics = FALSE; - - if (!supportsCoreGraphics) - return NPERR_INCOMPATIBLE_VERSION_ERROR; - - // If the browser supports the CoreGraphics drawing model, enable it. - browser->setvalue(instance, NPPVpluginDrawingModel, (void *)NPDrawingModelCoreGraphics); - - // If the browser supports the Cocoa event model, enable it. - NPBool supportsCocoa; - if (browser->getvalue(instance, NPNVsupportsCocoaBool, &supportsCocoa) != NPERR_NO_ERROR) - supportsCocoa = FALSE; - - if (!supportsCocoa) - return NPERR_INCOMPATIBLE_VERSION_ERROR; - - browser->setvalue(instance, NPPVpluginEventModel, (void *)NPEventModelCocoa); - - obj->textFieldRect = NSMakeRect(10, 10, 200, 100); - - obj->textStorage = [[NSTextStorage alloc] initWithString:@""]; - obj->layoutManager = [[NSLayoutManager alloc] init]; - [obj->textStorage addLayoutManager:obj->layoutManager]; - - obj->textContainer = [[NSTextContainer alloc] initWithContainerSize:obj->textFieldRect.size]; - [obj->layoutManager addTextContainer:obj->textContainer]; - - obj->selectedRange.location = [obj->textStorage length]; - - obj->markedRange = NSMakeRange(NSNotFound, 0); - - return NPERR_NO_ERROR; -} - -NPError NPP_Destroy(NPP instance, NPSavedData** save) -{ - // Free per-instance storage - PluginObject *obj = instance->pdata; - - [obj->textStorage release]; - [obj->layoutManager release]; - - free(obj); - - return NPERR_NO_ERROR; -} - -NPError NPP_SetWindow(NPP instance, NPWindow* window) -{ - PluginObject *obj = instance->pdata; - obj->window = *window; - - return NPERR_NO_ERROR; -} - - -NPError NPP_NewStream(NPP instance, NPMIMEType type, NPStream* stream, NPBool seekable, uint16* stype) -{ - *stype = NP_ASFILEONLY; - return NPERR_NO_ERROR; -} - -NPError NPP_DestroyStream(NPP instance, NPStream* stream, NPReason reason) -{ - return NPERR_NO_ERROR; -} - -int32 NPP_WriteReady(NPP instance, NPStream* stream) -{ - return 0; -} - -int32 NPP_Write(NPP instance, NPStream* stream, int32 offset, int32 len, void* buffer) -{ - return 0; -} - -void NPP_StreamAsFile(NPP instance, NPStream* stream, const char* fname) -{ -} - -void NPP_Print(NPP instance, NPPrint* platformPrint) -{ - -} - -static void handleDraw(PluginObject *obj) -{ - NSGraphicsContext *oldContext = [[NSGraphicsContext currentContext] retain]; - - NSGraphicsContext *context = [NSGraphicsContext graphicsContextWithGraphicsPort:((NP_CGContext *)obj->window.window)->context - flipped:YES]; - - - [NSGraphicsContext setCurrentContext:context]; - - NSRect rect = NSMakeRect(0, 0, obj->window.width, obj->window.height); - - [[NSColor lightGrayColor] set]; - [NSBezierPath fillRect:rect]; - - if (obj->pluginHasFocus) { - [[NSColor blackColor] set]; - [NSBezierPath strokeRect:rect]; - } - - [[NSColor whiteColor] set]; - [NSBezierPath fillRect:obj->textFieldRect]; - - // Draw the text - NSRange glyphRange = [obj->layoutManager glyphRangeForTextContainer:obj->textContainer]; - if (glyphRange.length > 0) { - [obj->layoutManager drawBackgroundForGlyphRange:glyphRange atPoint:obj->textFieldRect.origin]; - [obj->layoutManager drawGlyphsForGlyphRange:glyphRange atPoint:obj->textFieldRect.origin]; - } - - NSBezierPath *textInputBorder = [NSBezierPath bezierPathWithRect:obj->textFieldRect]; - [[NSColor blackColor] set]; - - if (obj->pluginHasFocus && obj->textFieldHasFocus) - [textInputBorder setLineWidth:2]; - else - [textInputBorder setLineWidth:1]; - - [textInputBorder stroke]; - - if (obj->pluginHasFocus && obj->textFieldHasFocus) { - NSUInteger rectCount; - NSRect *rectArray = [obj->layoutManager rectArrayForCharacterRange:obj->selectedRange - withinSelectedCharacterRange:obj->selectedRange - inTextContainer:obj->textContainer - rectCount:&rectCount]; - - [[NSColor blackColor] set]; - for (unsigned i = 0; i < rectCount; i++) { - NSRect rect = rectArray[i]; - rect.origin.x += obj->textFieldRect.origin.x; - rect.origin.y += obj->textFieldRect.origin.y; - - [NSBezierPath strokeRect:rect]; - } - } - - [NSGraphicsContext setCurrentContext:oldContext]; -} - -static void invalidatePlugin(PluginObject *obj) -{ - NPRect rect; - rect.left = 0; - rect.top = 0; - rect.right = obj->window.width; - rect.bottom = obj->window.height; - - browser->invalidaterect(obj->npp, &rect); -} - -static void handleFocusChanged(NPCocoaEvent *cocoaEvent, PluginObject *obj) -{ - obj->pluginHasFocus = cocoaEvent->event.focus.hasFocus; - - invalidatePlugin(obj); -} - -static void handleMouseMoved(NPCocoaEvent *cocoaEvent, PluginObject *obj) -{ - NSPoint point = NSMakePoint(cocoaEvent->event.mouse.pluginX, cocoaEvent->event.mouse.pluginY); - - if (NSPointInRect(point, obj->textFieldRect)) - [[NSCursor IBeamCursor] set]; - else - [[NSCursor arrowCursor] set]; -} - -static void handleMouseDown(NPCocoaEvent *cocoaEvent, PluginObject *obj) -{ - NSPoint point = NSMakePoint(cocoaEvent->event.mouse.pluginX, cocoaEvent->event.mouse.pluginY); - - obj->textFieldHasFocus = NSPointInRect(point, obj->textFieldRect); - - invalidatePlugin(obj); -} - -int16 NPP_HandleEvent(NPP instance, void* event) -{ - PluginObject *obj = instance->pdata; - - NPCocoaEvent *cocoaEvent = event; - - switch (cocoaEvent->type) { - case NPCocoaEventDrawRect: - handleDraw(obj); - return 1; - case NPCocoaEventFocusChanged: - handleFocusChanged(cocoaEvent, obj); - return 1; - case NPCocoaEventMouseMoved: - handleMouseMoved(cocoaEvent, obj); - return 1; - case NPCocoaEventMouseDown: - handleMouseDown(cocoaEvent, obj); - return 1; - case NPCocoaEventKeyDown: - // If the text field has focus we ignore the event, causing it - // to be sent to the input manager. - if (obj->textFieldHasFocus) - return 0; - else - return 1; - - } - - return 0; -} - -void NPP_URLNotify(NPP instance, const char* url, NPReason reason, void* notifyData) -{ - -} - -static NSRange selectionRange(PluginObject *obj) -{ - if (obj->markedRange.location != NSNotFound) - return obj->markedRange; - else - return obj->selectedRange; -} - -/* Text Input */ - -void NPP_InsertText(NPP npp, id aString) -{ - PluginObject *obj = npp->pdata; - - NSRange range = selectionRange(obj); - - // Get rid of the marked text - if (NPP_HasMarkedText(npp)) { - [obj->textStorage deleteCharactersInRange:obj->markedRange]; - range.length = 0; - } - - [obj->textStorage replaceCharactersInRange:range withString:aString]; - - obj->selectedRange.location = range.location + [aString length]; - obj->selectedRange.length = 0; - - obj->markedRange = NSMakeRange(NSNotFound, 0); - - invalidatePlugin(obj); -} - -void NPP_DoCommandBySelector(NPP npp, SEL aSelector) -{ - PluginObject *obj = npp->pdata; - - if (aSelector == @selector(moveRight:)) { - if (obj->selectedRange.location == [obj->textStorage length]) - return; - - obj->selectedRange.location++; - invalidatePlugin(obj); - } else if (aSelector == @selector(moveLeft:)) { - if (obj->selectedRange.location == 0) - return; - - obj->selectedRange.location--; - invalidatePlugin(obj); - } -} - -static NSDictionary *markedTextAttributes() -{ - static NSDictionary *markedTextAttributes = nil; - if (!markedTextAttributes) { - NSTextView *tv = [[NSTextView alloc] initWithFrame:NSMakeRect(0, 0, 100, 100)]; - markedTextAttributes = [[tv markedTextAttributes] retain]; - [tv release]; - } - - return markedTextAttributes; -} - -void NPP_SetMarkedText(NPP npp, id aString, NSRange selRange) -{ - PluginObject *obj = npp->pdata; - - BOOL isAttributedString = [aString isKindOfClass:[NSAttributedString class]]; - - NSRange range = selectionRange(obj); - - if (!isAttributedString) - aString = [[[NSAttributedString alloc] initWithString:aString attributes:markedTextAttributes()] autorelease]; - - [obj->textStorage replaceCharactersInRange:range withAttributedString:aString]; - - obj->selectedRange.location = range.location + selRange.location; - obj->selectedRange.length = selRange.length; - - obj->markedRange = NSMakeRange(range.location, [aString length]); - - invalidatePlugin(obj); -} - -void NPP_UnmarkText(NPP npp) -{ -} - -BOOL NPP_HasMarkedText(NPP npp) -{ - PluginObject *obj = npp->pdata; - - return obj->markedRange.location != NSNotFound; -} - -NSAttributedString *NPP_AttributedSubstringFromRange(NPP npp, NSRange theRange) -{ - return nil; -} - -NSRange NPP_MarkedRange(NPP npp) -{ - PluginObject *obj = npp->pdata; - - return obj->markedRange; -} - -NSRange NPP_SelectedRange(NPP npp) -{ - PluginObject *obj = npp->pdata; - - return obj->selectedRange; -} - -NSRect NPP_FirstRectForCharacterRange(NPP npp, NSRange theRange) -{ - PluginObject *obj = npp->pdata; - - NSUInteger rectCount; - NSRect *rectArray = [obj->layoutManager rectArrayForCharacterRange:theRange - withinSelectedCharacterRange:theRange - inTextContainer:obj->textContainer - rectCount:&rectCount]; - - return rectArray[0]; -} - -static NPPluginTextInputFuncs* pluginTextInputFuncs() -{ - static NPPluginTextInputFuncs textInputFuncs; - static bool initialized = false; - - if (!initialized) { - textInputFuncs.version = 0; - textInputFuncs.size = sizeof(textInputFuncs); - - textInputFuncs.insertText = NPP_InsertText; - textInputFuncs.doCommandBySelector = NPP_DoCommandBySelector; - textInputFuncs.setMarkedText = NPP_SetMarkedText; - textInputFuncs.unmarkText = NPP_UnmarkText; - textInputFuncs.hasMarkedText = NPP_HasMarkedText; - textInputFuncs.attributedSubstringFromRange = NPP_AttributedSubstringFromRange; - textInputFuncs.markedRange = NPP_MarkedRange; - textInputFuncs.selectedRange = NPP_SelectedRange; - textInputFuncs.firstRectForCharacterRange = NPP_FirstRectForCharacterRange; - - initialized = true; - } - - return &textInputFuncs; -} - -NPError NPP_GetValue(NPP instance, NPPVariable variable, void *value) -{ - switch (variable) { - case NPPVpluginTextInputFuncs: - *(NPPluginTextInputFuncs**)value = pluginTextInputFuncs(); - return NPERR_NO_ERROR; - } - - return NPERR_GENERIC_ERROR; -} - -NPError NPP_SetValue(NPP instance, NPNVariable variable, void *value) -{ - return NPERR_GENERIC_ERROR; -} diff --git a/WebKitExamplePlugins/NetscapeInputMethodPlugin/test.html b/WebKitExamplePlugins/NetscapeInputMethodPlugin/test.html deleted file mode 100644 index d41a4c0..0000000 --- a/WebKitExamplePlugins/NetscapeInputMethodPlugin/test.html +++ /dev/null @@ -1,11 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> -<html> -<head> -<title>Netscape Input Method Plug-In</title> -</head> -<body> -<div> - <embed width="400" height="400" type="test/x-netscape-input-method-plugin"></embed> -</div> -</body> -</html> |