A variety of build and cosmetic updates to the Safari plugin.

Patch by: bobv
Review by: scottb

git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@7134 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/plugins/webkit/Info.plist b/plugins/webkit/Info.plist
index cb71921..79fa629 100644
--- a/plugins/webkit/Info.plist
+++ b/plugins/webkit/Info.plist
@@ -9,7 +9,7 @@
 	<key>CFBundleIconFile</key>
 	<string>gwtlogo</string>
 	<key>CFBundleIdentifier</key>
-	<string>com.google.gwt.oophm</string>
+	<string>com.google.gwt.plugin</string>
 	<key>CFBundleInfoDictionaryVersion</key>
 	<string>6.0</string>
 	<key>CFBundleName</key>
@@ -19,20 +19,25 @@
 	<key>CFBundleSignature</key>
 	<string>????</string>
 	<key>CFBundleVersion</key>
-	<string>0.1</string>
+	<string>0.9</string>
 	<key>NSPrincipalClass</key>
 	<string>OophmPlugin</string>
 	<key>WebPluginDescription</key>
-	<string>Google Web Toolkit Development Mode plugin</string>
+	<string>Google Web Toolkit Developer Plugin</string>
 	<key>WebPluginMIMETypes</key>
 	<dict>
-		<key>application/x-gwt-hosted-mode</key>
+		<key>application/x-gwt-dev-mode</key>
 		<dict>
 			<key>WebPluginTypeDescription</key>
 			<string>Google Web Toolkit Development Mode</string>
 		</dict>
+		<key>application/x-gwt-hosted-mode</key>
+		<dict>
+			<key>WebPluginTypeDescription</key>
+			<string>Google Web Toolkit Development Mode (Legacy)</string>
+		</dict>
 	</dict>
 	<key>WebPluginName</key>
-	<string>GWT DMP</string>
+	<string>${PRODUCT_NAME}</string>
 </dict>
 </plist>
diff --git a/plugins/webkit/Plugin/English.lproj/crash.html b/plugins/webkit/Plugin/English.lproj/crash.html
index 040d2f0..dbf47e0 100644
--- a/plugins/webkit/Plugin/English.lproj/crash.html
+++ b/plugins/webkit/Plugin/English.lproj/crash.html
@@ -1,18 +1,36 @@
 <html>
 <head>
-<title>Hosted Mode failure</title>
+<title>GWT Development Mode Failure</title>
 <style>
-* {font-family: monospace;}
-h1 {background: blue; color: white;}
-#r {border: thin solid silver; width:100%; height: 50em; white-space: pre; overflow: scroll;}
+* { 
+  font-family: sans-serif;
+}
+
+h1 {
+  background: blue;
+  color: white; 
+  padding: 0.25em
+}
+
+#r {
+  width:100%; 
+  white-space: pre-wrap; 
+  font-family: monospace;
+}
+
 </style>
 </head>
 <body>
-<h1>STOP</h1>
-<p>The hosted mode plugin encountered a fatal error and was unable to continue.  Ensure
-that the hosted mode server is running.  You can attempt to restart the module
-by reloading the current page.</p>
-<textarea id="r" wrap="off">
+
+<h1>GWT Development Mode Failure</h1>
+
+<p>The development mode plugin encountered a fatal error&mdash;did you stop your code server?</p>
+
+<p>You can try to restart your web application by <a href='javascript:window.location.reload()'>reloading this page</a>.</p>
+
+<hr/>
+
+<div id="r" wrap="off">
 __MESSAGE__
 
 System version: __SYSTEM_VERSION__
@@ -20,8 +38,6 @@
 __USER_AGENT__
 
 Compilation time: __DATE__ __TIME__
-
-__BACKTRACE__
 </textarea>
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/plugins/webkit/Plugin/OophmPlugin.mm b/plugins/webkit/Plugin/OophmPlugin.mm
index 02552d1..5a6928e 100644
--- a/plugins/webkit/Plugin/OophmPlugin.mm
+++ b/plugins/webkit/Plugin/OophmPlugin.mm
@@ -48,7 +48,7 @@
   WebView* view = [frame webView];
   _slowScriptProxy = [[SlowScriptProxy alloc] initWithWebView: view];
   if ([_slowScriptProxy respondsToSelector:@selector(webView:setStatusText:)]) {
-    [_slowScriptProxy webView:view setStatusText:@"GWT OOPHM Plugin Active"];
+    [_slowScriptProxy webView:view setStatusText:@"GWT Developer Plugin Active"];
   }
   
   return self;
diff --git a/plugins/webkit/Plugin/OophmWebScriptObject.h b/plugins/webkit/Plugin/OophmWebScriptObject.h
index 02d790d..ee435d5 100644
--- a/plugins/webkit/Plugin/OophmWebScriptObject.h
+++ b/plugins/webkit/Plugin/OophmWebScriptObject.h
@@ -22,6 +22,7 @@
 @private
   JSGlobalContextRef _contextRef;
   CrashHandlerRef _crashHandler;
+  BOOL _hasCrashed;
   HostChannel* _hostChannel;
   WebScriptSessionHandlerRef _sessionHandler;
   WebView* _webView;
diff --git a/plugins/webkit/Plugin/OophmWebScriptObject.mm b/plugins/webkit/Plugin/OophmWebScriptObject.mm
index 0b0b288..ad06685 100644
--- a/plugins/webkit/Plugin/OophmWebScriptObject.mm
+++ b/plugins/webkit/Plugin/OophmWebScriptObject.mm
@@ -153,11 +153,11 @@
 
   // Otherwise, bring up an alert dialog
   // TODO(jat): add an include/exclude option, currently treat as only include
-  NSAlert* alert = [NSAlert alertWithMessageText:@"Initiate hosted-mode session"
+  NSAlert* alert = [NSAlert alertWithMessageText:@"Initiate development mode session"
                                    defaultButton:@"Deny"
                                  alternateButton:nil
                                      otherButton:@"Allow"
-                       informativeTextWithFormat:@"The current web-page would like to initiate a hosted-mode connection to %@", host];
+                       informativeTextWithFormat:@"The current web-page would like to initiate a development-mode connection to %@", host];
   
   if ([alert respondsToSelector:@selector(setShowsSuppressionButton:)]) {
     [alert setShowsSuppressionButton:YES];
@@ -184,6 +184,11 @@
 }
 
 - (void)crashWithMessage: (NSString*)message {
+  if (self->_hasCrashed) {
+    return;
+  }
+  self->_hasCrashed = YES;
+
   NSBundle* oophmBundle = [NSBundle bundleForClass:[self class]];
   NSString* path = [oophmBundle pathForResource:@"crash" ofType:@"html"];
   NSMutableString* crashPage = [NSMutableString stringWithContentsOfFile:path];
@@ -201,13 +206,9 @@
           withStringLiteral:[NSString stringWithUTF8String:__DATE__]];
   [crashPage replacePattern:@"__TIME__"
           withStringLiteral:[NSString stringWithUTF8String:__TIME__]];  
-  
-  NSString* trace = GTMStackTrace();
-  [crashPage replacePattern:@"__BACKTRACE__" withStringLiteral:trace];
-  
 
   NSURL* currentUrl = [[[[_webView mainFrame] dataSource] response] URL];
-  
+
   [[_webView mainFrame] loadAlternateHTMLString:crashPage
                                         baseURL:[NSURL fileURLWithPath:path]
                               forUnreachableURL:currentUrl];
diff --git a/plugins/webkit/gwtlogo.icns b/plugins/webkit/gwtlogo.icns
index 531d676..6a593df 100644
--- a/plugins/webkit/gwtlogo.icns
+++ b/plugins/webkit/gwtlogo.icns
Binary files differ
diff --git a/plugins/webkit/oophm.pmdoc/01oophm-contents.xml b/plugins/webkit/oophm.pmdoc/01oophm-contents.xml
deleted file mode 100644
index b0631b2..0000000
--- a/plugins/webkit/oophm.pmdoc/01oophm-contents.xml
+++ /dev/null
@@ -1 +0,0 @@
-<pkg-contents spec="1.12"><f n="oophm.webplugin" o="root" g="admin" p="16893" pt="/Users/jat/s/gwt-trunk/plugins/webkit/build/Release/oophm.webplugin" m="true" t="file"><f n="Contents" o="root" g="admin" p="16893"><f n="Info.plist" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="MacOS" o="root" g="admin" p="16893"><f n="oophm" o="root" g="admin" p="33277"><mod>mode</mod></f><mod>mode</mod></f><f n="Resources" o="root" g="admin" p="16893"><f n="English.lproj" o="root" g="admin" p="16893"><f n="crash.html" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="InfoPlist.strings" o="root" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="gwtlogo.icns" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="README.google" o="root" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f></pkg-contents>
diff --git a/plugins/webkit/oophm.pmdoc/01oophm.xml b/plugins/webkit/oophm.pmdoc/01oophm.xml
deleted file mode 100644
index 1e3122c..0000000
--- a/plugins/webkit/oophm.pmdoc/01oophm.xml
+++ /dev/null
@@ -1 +0,0 @@
-<pkgref spec="1.12" uuid="417BF300-1147-478E-9359-100836B507EE"><config><identifier>com.google.gwt.oophm.pkg</identifier><version>1</version><description></description><post-install type="none"/><requireAuthorization/><installFrom relative="true" mod="true" includeRoot="true">build/Release/oophm.webplugin</installFrom><installTo mod="true">/Library/Internet Plug-Ins</installTo><flags><followSymbolicLinks/><mod>overwriteDirectoryPermissions</mod></flags><packageStore type="internal"></packageStore><mod>parent</mod><mod>installTo</mod><mod>requireAuthorization</mod><mod>installFrom.isRelativeType</mod><mod>installTo.path</mod><mod>installFrom.path</mod><mod>identifier</mod><mod>includeRoot</mod></config><contents><file-list>01oophm-contents.xml</file-list><component id="com.google.gwt.oophm" path="/Users/jat/s/gwt-trunk/plugins/webkit/build/Release/oophm.webplugin" version="0.1"/><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents></pkgref>
diff --git a/plugins/webkit/oophm.pmdoc/index.xml b/plugins/webkit/oophm.pmdoc/index.xml
deleted file mode 100644
index 99f981a..0000000
--- a/plugins/webkit/oophm.pmdoc/index.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<pkmkdoc spec="1.12"><properties><title>GWT Out-of-Process Hosted Mode Plugins</title><build>/Users/jat/Desktop/GWT Out-of-Process Hosted Mode Plugin.mpkg</build><organization>com.google.gwt</organization><userSees ui="custom"/><min-target os="2"/><domain system="true"/></properties><distribution><versions min-spec="1.000000"/><scripts></scripts></distribution><contents><choice title="WebKit Plugin" id="webkit" description="This plugin support WebKit-based browsers, such as Safari and Shiira.  Any other application that makes use of WebKit will also be able to load this plugin." starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="com.google.gwt.oophm.pkg"/></choice></contents><resources bg-scale="none" bg-align="bottomleft"><locale lang="en"><resource relative="true" mod="true" type="background">gwtlogo.icns</resource><resource relative="true" mod="true" type="license">../../distro-source/core/src/COPYING.html</resource><resource relative="true" mod="true" type="readme">../../distro-source/core/src/index.html</resource><resource mime-type="text/rtf" kind="embedded" type="welcome"><![CDATA[{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf270
-{\fonttbl\f0\fnil\fcharset0 LucidaGrande;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
-
-\f0\fs26 \cf0 This package contains browser plugins that allow the Google Web Toolkit hosted-mode system to interact with various browsers installed on your computer.\
-\
-These plugins 
-\b are not required
-\b0  to view web pages with GWT modules; they are only necessary if you are writing GWT applications and wish to debug them.}]]></resource><resource mime-type="text/rtf" kind="embedded" type="conclusion"><![CDATA[{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf270
-{\fonttbl\f0\fnil\fcharset0 LucidaGrande;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
-
-\f0\fs26 \cf0 Restart any WebKit-based browsers in order to use the plugin.}]]></resource></locale></resources><flags/><item type="file">01oophm.xml</item><mod>properties.customizeOption</mod><mod>properties.userDomain</mod><mod>properties.title</mod><mod>description</mod><mod>properties.systemDomain</mod><mod>properties.anywhereDomain</mod></pkmkdoc>
diff --git a/plugins/webkit/oophm.xcodeproj/project.pbxproj b/plugins/webkit/oophm.xcodeproj/project.pbxproj
index 1981698..3fc459e 100644
--- a/plugins/webkit/oophm.xcodeproj/project.pbxproj
+++ b/plugins/webkit/oophm.xcodeproj/project.pbxproj
@@ -3,22 +3,10 @@
 	archiveVersion = 1;
 	classes = {
 	};
-	objectVersion = 42;
+	objectVersion = 45;
 	objects = {
 
 /* Begin PBXAggregateTarget section */
-		48420E420DD52761001F3839 /* oophm.dmg */ = {
-			isa = PBXAggregateTarget;
-			buildConfigurationList = 48420E5A0DD527AD001F3839 /* Build configuration list for PBXAggregateTarget "oophm.dmg" */;
-			buildPhases = (
-				48420E460DD52768001F3839 /* ShellScript */,
-			);
-			dependencies = (
-				48420E480DD5278D001F3839 /* PBXTargetDependency */,
-			);
-			name = oophm.dmg;
-			productName = oophm_package;
-		};
 		48547E030DD882170047AC8A /* symlinks */ = {
 			isa = PBXAggregateTarget;
 			buildConfigurationList = 48547E080DD8823B0047AC8A /* Build configuration list for PBXAggregateTarget "symlinks" */;
@@ -47,7 +35,6 @@
 		48108DE00E2C15BD007FA76C /* Socket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48108DDD0E2C15BD007FA76C /* Socket.cpp */; };
 		48338DDF0E4A2CA7008ACF0F /* oophm_bypass.plist in Resources */ = {isa = PBXBuildFile; fileRef = 48338DDB0E4A2C49008ACF0F /* oophm_bypass.plist */; };
 		48420D410DD51A3D001F3839 /* GTMNSString+HTML.m in Sources */ = {isa = PBXBuildFile; fileRef = 48420D3E0DD51A3D001F3839 /* GTMNSString+HTML.m */; };
-		48420D420DD51A3D001F3839 /* GTMStackTrace.c in Sources */ = {isa = PBXBuildFile; fileRef = 48420D3F0DD51A3D001F3839 /* GTMStackTrace.c */; };
 		4851A9D50DD1198300C577B2 /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 48FD98A00DC62FD800E011A2 /* JavaScriptCore.framework */; };
 		48547F000DD889DA0047AC8A /* GTMSystemVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = 48547EFF0DD889DA0047AC8A /* GTMSystemVersion.m */; };
 		48547F4B0DD88D110047AC8A /* NSMutableString+HtmlReplacement.m in Sources */ = {isa = PBXBuildFile; fileRef = 48547F4A0DD88D110047AC8A /* NSMutableString+HtmlReplacement.m */; };
@@ -81,13 +68,6 @@
 /* End PBXBuildFile section */
 
 /* Begin PBXContainerItemProxy section */
-		48420E470DD5278D001F3839 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 089C1669FE841209C02AAC07 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = 8D5B49AC048680CD000E48DA;
-			remoteInfo = oophm;
-		};
 		48547E060DD8821D0047AC8A /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
 			containerPortal = 089C1669FE841209C02AAC07 /* Project object */;
@@ -128,8 +108,6 @@
 		48420D3C0DD51A23001F3839 /* GTMDefines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GTMDefines.h; path = GTM/GTMDefines.h; sourceTree = "<group>"; };
 		48420D3D0DD51A3D001F3839 /* GTMNSString+HTML.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "GTMNSString+HTML.h"; path = "GTM/Foundation/GTMNSString+HTML.h"; sourceTree = "<group>"; };
 		48420D3E0DD51A3D001F3839 /* GTMNSString+HTML.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "GTMNSString+HTML.m"; path = "GTM/Foundation/GTMNSString+HTML.m"; sourceTree = "<group>"; };
-		48420D3F0DD51A3D001F3839 /* GTMStackTrace.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = GTMStackTrace.c; path = GTM/Foundation/GTMStackTrace.c; sourceTree = "<group>"; };
-		48420D400DD51A3D001F3839 /* GTMStackTrace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GTMStackTrace.h; path = GTM/Foundation/GTMStackTrace.h; sourceTree = "<group>"; };
 		48547EFE0DD889DA0047AC8A /* GTMSystemVersion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GTMSystemVersion.h; path = GTM/Foundation/GTMSystemVersion.h; sourceTree = "<group>"; };
 		48547EFF0DD889DA0047AC8A /* GTMSystemVersion.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GTMSystemVersion.m; path = GTM/Foundation/GTMSystemVersion.m; sourceTree = "<group>"; };
 		48547F490DD88D110047AC8A /* NSMutableString+HtmlReplacement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSMutableString+HtmlReplacement.h"; sourceTree = "<group>"; };
@@ -188,7 +166,7 @@
 		48FD99520DC6349F00E011A2 /* OophmWebScriptObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OophmWebScriptObject.h; sourceTree = "<group>"; };
 		48FD99530DC6349F00E011A2 /* OophmWebScriptObject.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = OophmWebScriptObject.mm; sourceTree = "<group>"; };
 		48FFCFC80DD35DA900805659 /* Platform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Platform.h; sourceTree = "<group>"; };
-		8D5B49B6048680CD000E48DA /* oophm.webplugin */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = oophm.webplugin; sourceTree = BUILT_PRODUCTS_DIR; };
+		8D5B49B6048680CD000E48DA /* gwt-dev.webplugin */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "gwt-dev.webplugin"; sourceTree = BUILT_PRODUCTS_DIR; };
 		8D5B49B7048680CD000E48DA /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
 		D2F7E65807B2D6F200F64583 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = "<absolute>"; };
 /* End PBXFileReference section */
@@ -277,7 +255,7 @@
 		19C28FB8FE9D52D311CA2CBB /* Products */ = {
 			isa = PBXGroup;
 			children = (
-				8D5B49B6048680CD000E48DA /* oophm.webplugin */,
+				8D5B49B6048680CD000E48DA /* gwt-dev.webplugin */,
 				48A23BA20DD0E5B4004EF5CA /* Browser.app */,
 			);
 			name = Products;
@@ -299,8 +277,6 @@
 				48547EFF0DD889DA0047AC8A /* GTMSystemVersion.m */,
 				48420D3D0DD51A3D001F3839 /* GTMNSString+HTML.h */,
 				48420D3E0DD51A3D001F3839 /* GTMNSString+HTML.m */,
-				48420D3F0DD51A3D001F3839 /* GTMStackTrace.c */,
-				48420D400DD51A3D001F3839 /* GTMStackTrace.h */,
 				48420D3C0DD51A23001F3839 /* GTMDefines.h */,
 			);
 			comments = "We just need a subset of the functionality available in GTM, so we'll pull in only the files we need as opposed to creating a cross-project dependency and having to package the framework in the plugin.";
@@ -440,9 +416,9 @@
 			productReference = 48A23BA20DD0E5B4004EF5CA /* Browser.app */;
 			productType = "com.apple.product-type.application";
 		};
-		8D5B49AC048680CD000E48DA /* oophm */ = {
+		8D5B49AC048680CD000E48DA /* gwt-dev */ = {
 			isa = PBXNativeTarget;
-			buildConfigurationList = 1DEB913A08733D840010E9CD /* Build configuration list for PBXNativeTarget "oophm" */;
+			buildConfigurationList = 1DEB913A08733D840010E9CD /* Build configuration list for PBXNativeTarget "gwt-dev" */;
 			buildPhases = (
 				8D5B49AF048680CD000E48DA /* Resources */,
 				8D5B49B1048680CD000E48DA /* Sources */,
@@ -452,10 +428,10 @@
 			);
 			dependencies = (
 			);
-			name = oophm;
+			name = "gwt-dev";
 			productInstallPath = "$(HOME)/Library/Bundles";
 			productName = oophm;
-			productReference = 8D5B49B6048680CD000E48DA /* oophm.webplugin */;
+			productReference = 8D5B49B6048680CD000E48DA /* gwt-dev.webplugin */;
 			productType = "com.apple.product-type.bundle";
 		};
 /* End PBXNativeTarget section */
@@ -464,15 +440,14 @@
 		089C1669FE841209C02AAC07 /* Project object */ = {
 			isa = PBXProject;
 			buildConfigurationList = 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "oophm" */;
-			compatibilityVersion = "Xcode 2.4";
+			compatibilityVersion = "Xcode 3.1";
 			hasScannedForEncodings = 1;
 			mainGroup = 089C166AFE841209C02AAC07 /* oophm */;
 			projectDirPath = "";
 			projectRoot = "";
 			targets = (
 				48A23BA10DD0E5B4004EF5CA /* Browser */,
-				8D5B49AC048680CD000E48DA /* oophm */,
-				48420E420DD52761001F3839 /* oophm.dmg */,
+				8D5B49AC048680CD000E48DA /* gwt-dev */,
 				48547E030DD882170047AC8A /* symlinks */,
 			);
 		};
@@ -504,36 +479,21 @@
 /* End PBXResourcesBuildPhase section */
 
 /* Begin PBXShellScriptBuildPhase section */
-		48420E460DD52768001F3839 /* ShellScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputPaths = (
-				"$(BUILT_PRODUCTS_DIR)/oophm.webplugin",
-			);
-			outputPaths = (
-				"$(BUILT_PRODUCTS_DIR)/oophm.dmg",
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = "#set -x\n## This is because the PackageMaker definition has \"Release\" hard-coded into it\n#if [ \"${CONFIGURATION}\" != \"Release\" ]; then\n#  echo error: Must be in Release configuration to build disk image\n#  exit 1\n#fi\n#\n#/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker --doc \"${PROJECT_DIR}/oophm.pmdoc\" --out \"${TEMP_FILES_DIR}/oophm.mpkg\"\n#\n#hdiutil create -ov -srcfolder \"${TEMP_FILES_DIR}/oophm.mpkg\" -format UDBZ \"${BUILT_PRODUCTS_DIR}/oophm.dmg\"\n#hdiutil internet-enable \"${BUILT_PRODUCTS_DIR}/oophm.dmg\"";
-		};
 		48547E020DD882170047AC8A /* Make symlink */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
 			);
 			inputPaths = (
-				"$(BUILT_PRODUCTS_DIR)/oophm.webplugin",
+				"$(BUILT_PRODUCTS_DIR)/{$PluginShortName}.webplugin",
 			);
 			name = "Make symlink";
 			outputPaths = (
-				"$(USER_LIBRARY_DIR)/Internet Plug-Ins/oophm.webplugin/Contents",
+				"$(USER_LIBRARY_DIR)/Internet Plug-Ins/${PluginShortName}.webplugin/Contents",
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "#set -x\n#ln -sf \"${BUILT_PRODUCTS_DIR}/oophm.webplugin\" \"${USER_LIBRARY_DIR}/Internet Plug-Ins/.\"";
+			shellScript = "set -x\nrm -r \"${USER_LIBRARY_DIR}/Internet Plug-Ins/${PluginShortName}.webplugin\"\nln -sf \"${BUILT_PRODUCTS_DIR}/${PluginShortName}.webplugin\" \"${USER_LIBRARY_DIR}/Internet Plug-Ins/.\"";
 		};
 /* End PBXShellScriptBuildPhase section */
 
@@ -562,7 +522,6 @@
 				4856DF8E0DCF95B8000BF47C /* ReturnMessage.cpp in Sources */,
 				4856DF900DCF95B8000BF47C /* ServerMethods.cpp in Sources */,
 				48420D410DD51A3D001F3839 /* GTMNSString+HTML.m in Sources */,
-				48420D420DD51A3D001F3839 /* GTMStackTrace.c in Sources */,
 				48547F000DD889DA0047AC8A /* GTMSystemVersion.m in Sources */,
 				48547F4B0DD88D110047AC8A /* NSMutableString+HtmlReplacement.m in Sources */,
 				485CD0AA0DDDEAF300AEE666 /* Debug.mm in Sources */,
@@ -583,14 +542,9 @@
 /* End PBXSourcesBuildPhase section */
 
 /* Begin PBXTargetDependency section */
-		48420E480DD5278D001F3839 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			target = 8D5B49AC048680CD000E48DA /* oophm */;
-			targetProxy = 48420E470DD5278D001F3839 /* PBXContainerItemProxy */;
-		};
 		48547E070DD8821D0047AC8A /* PBXTargetDependency */ = {
 			isa = PBXTargetDependency;
-			target = 8D5B49AC048680CD000E48DA /* oophm */;
+			target = 8D5B49AC048680CD000E48DA /* gwt-dev */;
 			targetProxy = 48547E060DD8821D0047AC8A /* PBXContainerItemProxy */;
 		};
 		485CD0C50DDDED1700AEE666 /* PBXTargetDependency */ = {
@@ -625,10 +579,6 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				COPY_PHASE_STRIP = NO;
-				FRAMEWORK_SEARCH_PATHS = (
-					"$(inherited)",
-					"$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
-				);
 				FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/GTM/build/TigerOrLater-Release\"";
 				GCC_DYNAMIC_NO_PIC = NO;
 				GCC_ENABLE_FIX_AND_CONTINUE = YES;
@@ -641,7 +591,7 @@
 				GCC_WARN_PEDANTIC = NO;
 				INFOPLIST_FILE = Info.plist;
 				INSTALL_PATH = "$(HOME)/Library/Bundles";
-				PRODUCT_NAME = oophm;
+				PRODUCT_NAME = "${PluginShortName}";
 				WRAPPER_EXTENSION = webplugin;
 				ZERO_LINK = YES;
 			};
@@ -650,14 +600,6 @@
 		1DEB913C08733D840010E9CD /* Release */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
-				ARCHS = (
-					ppc,
-					i386,
-				);
-				FRAMEWORK_SEARCH_PATHS = (
-					"$(inherited)",
-					"$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)",
-				);
 				FRAMEWORK_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/GTM/build/TigerOrLater-Release\"";
 				GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
 				GCC_MODEL_TUNING = G5;
@@ -668,7 +610,7 @@
 				GCC_WARN_PEDANTIC = NO;
 				INFOPLIST_FILE = Info.plist;
 				INSTALL_PATH = "$(HOME)/Library/Bundles";
-				PRODUCT_NAME = oophm;
+				PRODUCT_NAME = "${PluginShortName}";
 				STRIP_INSTALLED_PRODUCT = YES;
 				STRIP_STYLE = "non-global";
 				WRAPPER_EXTENSION = webplugin;
@@ -684,9 +626,10 @@
 				GCC_PREPROCESSOR_DEFINITIONS = "GWT_DEBUGLEVEL=Debugging";
 				GCC_WARN_ABOUT_RETURN_TYPE = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
-				OTHER_CFLAGS = "-mmacosx-version-min=10.4";
+				OTHER_CFLAGS = "-mmacosx-version-min=10.5";
 				PREBINDING = NO;
-				SDKROOT = /Developer/SDKs/MacOSX10.5.sdk;
+				PluginShortName = "gwt-dev";
+				SDKROOT = macosx10.5;
 				STRIP_INSTALLED_PRODUCT = NO;
 				STRIP_STYLE = "non-global";
 				SYMROOT = build;
@@ -696,47 +639,28 @@
 		1DEB914008733D840010E9CD /* Release */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
 				GCC_C_LANGUAGE_STANDARD = gnu99;
 				GCC_OPTIMIZATION_LEVEL = 3;
 				GCC_PREPROCESSOR_DEFINITIONS = GWT_DEBUGDISABLE;
 				GCC_WARN_ABOUT_RETURN_TYPE = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
-				OTHER_CFLAGS = "-mmacosx-version-min=10.4";
+				OTHER_CFLAGS = "-mmacosx-version-min=10.5";
 				PREBINDING = NO;
-				SDKROOT = /Developer/SDKs/MacOSX10.5.sdk;
+				PluginShortName = "gwt-dev";
+				SDKROOT = macosx10.5;
 				STRIP_STYLE = "non-global";
 				SYMROOT = build;
 			};
 			name = Release;
 		};
-		48420E430DD52761001F3839 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				COPY_PHASE_STRIP = NO;
-				GCC_DYNAMIC_NO_PIC = NO;
-				GCC_OPTIMIZATION_LEVEL = 0;
-				PRODUCT_NAME = oophm_package;
-			};
-			name = Debug;
-		};
-		48420E440DD52761001F3839 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				COPY_PHASE_STRIP = YES;
-				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-				GCC_ENABLE_FIX_AND_CONTINUE = NO;
-				PRODUCT_NAME = oophm_package;
-				ZERO_LINK = NO;
-			};
-			name = Release;
-		};
 		48547E040DD882170047AC8A /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				COPY_PHASE_STRIP = NO;
 				GCC_DYNAMIC_NO_PIC = NO;
 				GCC_OPTIMIZATION_LEVEL = 0;
-				PRODUCT_NAME = oophm.symlink;
+				PRODUCT_NAME = "${PluginShortName}.symlinks";
 			};
 			name = Debug;
 		};
@@ -746,7 +670,7 @@
 				COPY_PHASE_STRIP = YES;
 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
 				GCC_ENABLE_FIX_AND_CONTINUE = NO;
-				PRODUCT_NAME = oophm.symlink;
+				PRODUCT_NAME = "${PluginShortName}.symlinks";
 				ZERO_LINK = NO;
 			};
 			name = Release;
@@ -810,7 +734,7 @@
 /* End XCBuildConfiguration section */
 
 /* Begin XCConfigurationList section */
-		1DEB913A08733D840010E9CD /* Build configuration list for PBXNativeTarget "oophm" */ = {
+		1DEB913A08733D840010E9CD /* Build configuration list for PBXNativeTarget "gwt-dev" */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (
 				1DEB913B08733D840010E9CD /* Debug */,
@@ -828,15 +752,6 @@
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = Release;
 		};
-		48420E5A0DD527AD001F3839 /* Build configuration list for PBXAggregateTarget "oophm.dmg" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				48420E430DD52761001F3839 /* Debug */,
-				48420E440DD52761001F3839 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Release;
-		};
 		48547E080DD8823B0047AC8A /* Build configuration list for PBXAggregateTarget "symlinks" */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (