BUILD WAS NOT BROKEN: Rolling r38189 back in.
authorddkilzer@apple.com <ddkilzer@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 6 Nov 2008 23:46:40 +0000 (23:46 +0000)
committerddkilzer@apple.com <ddkilzer@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 6 Nov 2008 23:46:40 +0000 (23:46 +0000)
WebCore:

        BUILD WAS NOT BROKEN: Rolling r38189 back in.

        Please perform a clean build if you see crashes.

WebKit/mac:

        BUILD WAS NOT BROKEN: Rolling r38189 back in.

        Please perform a clean build if you see crashes.

WebKitTools:

        BUILD WAS NOT BROKEN: Rolling r38189 back in.

        Please perform a clean build if you see crashes.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@38203 268f45cc-cd09-0410-ab3c-d52691b4dbfc

83 files changed:
WebCore/ChangeLog
WebCore/bindings/js/GCController.cpp
WebCore/bindings/js/JSDOMBinding.cpp
WebCore/bindings/js/JSInspectedObjectWrapper.cpp
WebCore/bindings/js/JSInspectorCallbackWrapper.cpp
WebCore/bridge/runtime_root.cpp
WebCore/css/CSSMutableStyleDeclaration.cpp
WebCore/css/CSSPrimitiveValue.cpp
WebCore/css/CSSSelector.cpp
WebCore/css/CSSStyleSelector.cpp
WebCore/dom/DOMImplementation.cpp
WebCore/dom/Document.cpp
WebCore/dom/ScriptElement.cpp
WebCore/editing/ApplyStyleCommand.cpp
WebCore/editing/HTMLInterchange.cpp
WebCore/editing/IndentOutdentCommand.cpp
WebCore/editing/ReplaceSelectionCommand.cpp
WebCore/editing/htmlediting.cpp
WebCore/editing/markup.cpp
WebCore/html/HTMLButtonElement.cpp
WebCore/html/HTMLElement.cpp
WebCore/html/HTMLFieldSetElement.cpp
WebCore/html/HTMLInputElement.cpp
WebCore/html/HTMLKeygenElement.cpp
WebCore/html/HTMLLegendElement.cpp
WebCore/html/HTMLOptGroupElement.cpp
WebCore/html/HTMLOptionElement.cpp
WebCore/html/HTMLParser.cpp
WebCore/html/HTMLSelectElement.cpp
WebCore/html/HTMLTextAreaElement.cpp
WebCore/inspector/InspectorController.cpp
WebCore/inspector/JavaScriptDebugServer.cpp
WebCore/inspector/JavaScriptProfile.cpp
WebCore/inspector/JavaScriptProfileNode.cpp
WebCore/loader/FrameLoader.cpp
WebCore/loader/appcache/ApplicationCacheStorage.cpp
WebCore/loader/archive/ArchiveFactory.cpp
WebCore/loader/icon/IconDatabase.cpp
WebCore/page/EventHandler.cpp
WebCore/page/Frame.cpp
WebCore/page/Page.cpp
WebCore/page/SecurityOrigin.cpp
WebCore/page/mac/FrameMac.mm
WebCore/platform/KURL.cpp
WebCore/platform/graphics/FontCache.cpp
WebCore/platform/graphics/mac/FontCacheMac.mm
WebCore/platform/mac/ScrollbarThemeMac.mm
WebCore/platform/mac/ThemeMac.mm
WebCore/platform/mac/ThreadCheck.mm
WebCore/platform/network/NetworkStateNotifier.cpp
WebCore/platform/network/mac/FormDataStreamMac.mm
WebCore/platform/network/mac/ResourceResponseMac.mm
WebCore/platform/text/TextEncoding.cpp
WebCore/rendering/RenderBlock.cpp
WebCore/rendering/RenderCounter.cpp
WebCore/rendering/RenderFlexibleBox.cpp
WebCore/rendering/RenderListItem.cpp
WebCore/rendering/RenderScrollbarTheme.cpp
WebCore/rendering/RenderThemeMac.mm
WebCore/rendering/bidi.cpp
WebCore/rendering/style/RenderStyle.cpp
WebCore/storage/LocalStorage.cpp
WebCore/svg/SVGAnimateMotionElement.cpp
WebCore/svg/SVGAnimationElement.cpp
WebCore/svg/SVGLangSpace.cpp
WebCore/svg/SVGSVGElement.cpp
WebCore/svg/SVGStyleElement.cpp
WebCore/svg/SVGTextContentElement.cpp
WebCore/svg/animation/SVGSMILElement.cpp
WebCore/svg/graphics/SVGResource.cpp
WebCore/svg/graphics/SVGResourceMarker.cpp
WebCore/xml/XMLHttpRequest.cpp
WebCore/xml/XPathExpressionNode.cpp
WebCore/xml/XPathParser.cpp
WebCore/xml/XPathValue.cpp
WebKit/mac/ChangeLog
WebKit/mac/History/WebBackForwardList.mm
WebKit/mac/History/WebHistoryItem.mm
WebKit/mac/Misc/WebStringTruncator.m
WebKit/mac/Plugins/WebBaseNetscapePluginStream.mm
WebKit/mac/WebView/WebView.mm
WebKitTools/ChangeLog
WebKitTools/Scripts/check-for-exit-time-destructors

index a5535c6..9c296b0 100644 (file)
@@ -1,5 +1,11 @@
 2008-11-06  David Kilzer  <ddkilzer@apple.com>
 
+        BUILD WAS NOT BROKEN: Rolling r38189 back in.
+
+        Please perform a clean build if you see crashes.
+
+2008-11-06  David Kilzer  <ddkilzer@apple.com>
+
         BUILD FIX: Backed out r38189 since it apparently broke the world.
 
 2008-11-06  Chris Fleizach  <cfleizach@apple.com>
index 7a3f20d..5b60e28 100644 (file)
@@ -52,7 +52,7 @@ static void* collect(void*)
 
 GCController& gcController()
 {
-    static GCController staticGCController;
+    static GCController& staticGCController = *new GCController;
     return staticGCController;
 }
 
index 8676146..a94c912 100644 (file)
@@ -97,10 +97,10 @@ static inline void removeWrappers(const JSWrapperCache&)
 static HashSet<DOMObject*>& wrapperSet()
 {
 #if ENABLE(WORKERS)
-    static ThreadSpecific<HashSet<DOMObject*> > staticWrapperSet;
+    static ThreadSpecific<HashSet<DOMObject*> >& staticWrapperSet = *new ThreadSpecific<HashSet<DOMObject*> >;
     return *staticWrapperSet;
 #else
-    static HashSet<DOMObject*> staticWrapperSet;
+    static HashSet<DOMObject*>& staticWrapperSet = *new HashSet<DOMObject*>;
     return staticWrapperSet;
 #endif
 }
index 9bc7e7d..3454193 100644 (file)
@@ -40,7 +40,7 @@ typedef HashMap<JSGlobalObject*, WrapperMap*> GlobalObjectWrapperMap;
 
 static GlobalObjectWrapperMap& wrappers()
 {
-    static GlobalObjectWrapperMap map;
+    static GlobalObjectWrapperMap& map = *new GlobalObjectWrapperMap;
     return map;
 }
 
index 8440a1f..455f124 100644 (file)
@@ -38,7 +38,7 @@ typedef HashMap<JSObject*, JSInspectorCallbackWrapper*> WrapperMap;
 
 static WrapperMap& wrappers()
 {
-    static WrapperMap map;
+    static WrapperMap& map = *new WrapperMap;
     return map;
 }
 
index 027d0c9..786cde9 100644 (file)
@@ -42,7 +42,7 @@ typedef HashSet<RootObject*> RootObjectSet;
 
 static RootObjectSet* rootObjectSet()
 {
-    static RootObjectSet staticRootObjectSet;
+    static RootObjectSet& staticRootObjectSet = *new RootObjectSet;
     return &staticRootObjectSet;
 }
 
index 1f29eba..1ef239e 100644 (file)
@@ -501,7 +501,7 @@ String CSSMutableStyleDeclaration::removeProperty(int propertyID, bool notifyCha
 {
     ec = 0;
 
-    static HashMap<int, PropertyLonghand> shorthandMap;
+    static HashMap<int, PropertyLonghand>& shorthandMap = *new HashMap<int, PropertyLonghand>;
     if (shorthandMap.isEmpty())
         initShorthandMap(shorthandMap);
 
index 8a7bb79..ce0ab77 100644 (file)
@@ -686,7 +686,7 @@ String CSSPrimitiveValue::cssText() const
             // FIXME: Add list-style and separator
             break;
         case CSS_RECT: {
-            static const String rectParen("rect(");
+            static const String& rectParen = *new String("rect(");
 
             Rect* rectVal = getRectValue();
             Vector<UChar> result;
@@ -709,9 +709,9 @@ String CSSPrimitiveValue::cssText() const
         }
         case CSS_RGBCOLOR:
         case CSS_PARSER_HEXCOLOR: {
-            static const String commaSpace(", ");
-            static const String rgbParen("rgb(");
-            static const String rgbaParen("rgba(");
+            static const String& commaSpace = *new String(", ");
+            static const String& rgbParen = *new String("rgb(");
+            static const String& rgbaParen = *new String("rgba(");
 
             RGBA32 rgbColor = m_value.rgbcolor;
             if (m_type == CSS_PARSER_HEXCOLOR)
index 9053596..42ebac8 100644 (file)
@@ -62,75 +62,75 @@ void CSSSelector::extractPseudoType() const
     if (m_match != PseudoClass && m_match != PseudoElement)
         return;
 
-    static AtomicString active("active");
-    static AtomicString after("after");
-    static AtomicString anyLink("-webkit-any-link");
-    static AtomicString autofill("-webkit-autofill");
-    static AtomicString before("before");
-    static AtomicString checked("checked");
-    static AtomicString fileUploadButton("-webkit-file-upload-button");
-    static AtomicString disabled("disabled");
-    static AtomicString readOnly("read-only");
-    static AtomicString readWrite("read-write");
-    static AtomicString drag("-webkit-drag");
-    static AtomicString dragAlias("-khtml-drag"); // was documented with this name in Apple documentation, so keep an alias
-    static AtomicString empty("empty");
-    static AtomicString enabled("enabled");
-    static AtomicString firstChild("first-child");
-    static AtomicString firstLetter("first-letter");
-    static AtomicString firstLine("first-line");
-    static AtomicString firstOfType("first-of-type");
-    static AtomicString fullPageMedia("-webkit-full-page-media");
-    static AtomicString nthChild("nth-child(");
-    static AtomicString nthOfType("nth-of-type(");
-    static AtomicString nthLastChild("nth-last-child(");
-    static AtomicString nthLastOfType("nth-last-of-type(");
-    static AtomicString focus("focus");
-    static AtomicString hover("hover");
-    static AtomicString indeterminate("indeterminate");
-    static AtomicString inputPlaceholder("-webkit-input-placeholder");
-    static AtomicString lastChild("last-child");
-    static AtomicString lastOfType("last-of-type");
-    static AtomicString link("link");
-    static AtomicString lang("lang(");
-    static AtomicString mediaControlsPanel("-webkit-media-controls-panel");
-    static AtomicString mediaControlsMuteButton("-webkit-media-controls-mute-button");
-    static AtomicString mediaControlsPlayButton("-webkit-media-controls-play-button");
-    static AtomicString mediaControlsTimeDisplay("-webkit-media-controls-time-display");
-    static AtomicString mediaControlsTimeline("-webkit-media-controls-timeline");
-    static AtomicString mediaControlsSeekBackButton("-webkit-media-controls-seek-back-button");
-    static AtomicString mediaControlsSeekForwardButton("-webkit-media-controls-seek-forward-button");
-    static AtomicString mediaControlsFullscreenButton("-webkit-media-controls-fullscreen-button");
-    static AtomicString notStr("not(");
-    static AtomicString onlyChild("only-child");
-    static AtomicString onlyOfType("only-of-type");
-    static AtomicString resizer("-webkit-resizer");
-    static AtomicString root("root");
-    static AtomicString scrollbar("-webkit-scrollbar");
-    static AtomicString scrollbarButton("-webkit-scrollbar-button");
-    static AtomicString scrollbarCorner("-webkit-scrollbar-corner");
-    static AtomicString scrollbarThumb("-webkit-scrollbar-thumb");
-    static AtomicString scrollbarTrack("-webkit-scrollbar-track");
-    static AtomicString scrollbarTrackPiece("-webkit-scrollbar-track-piece");
-    static AtomicString searchCancelButton("-webkit-search-cancel-button");
-    static AtomicString searchDecoration("-webkit-search-decoration");
-    static AtomicString searchResultsDecoration("-webkit-search-results-decoration");
-    static AtomicString searchResultsButton("-webkit-search-results-button");
-    static AtomicString selection("selection");
-    static AtomicString sliderThumb("-webkit-slider-thumb");
-    static AtomicString target("target");
-    static AtomicString visited("visited");
-    static AtomicString windowInactive("window-inactive");
-    static AtomicString decrement("decrement");
-    static AtomicString increment("increment");
-    static AtomicString start("start");
-    static AtomicString end("end");
-    static AtomicString horizontal("horizontal");
-    static AtomicString vertical("vertical");
-    static AtomicString doubleButton("double-button");
-    static AtomicString singleButton("single-button");
-    static AtomicString noButton("no-button");
-    static AtomicString cornerPresent("corner-present");
+    static AtomicString& active = *new AtomicString("active");
+    static AtomicString& after = *new AtomicString("after");
+    static AtomicString& anyLink = *new AtomicString("-webkit-any-link");
+    static AtomicString& autofill = *new AtomicString("-webkit-autofill");
+    static AtomicString& before = *new AtomicString("before");
+    static AtomicString& checked = *new AtomicString("checked");
+    static AtomicString& fileUploadButton = *new AtomicString("-webkit-file-upload-button");
+    static AtomicString& disabled = *new AtomicString("disabled");
+    static AtomicString& readOnly = *new AtomicString("read-only");
+    static AtomicString& readWrite = *new AtomicString("read-write");
+    static AtomicString& drag = *new AtomicString("-webkit-drag");
+    static AtomicString& dragAlias = *new AtomicString("-khtml-drag"); // was documented with this name in Apple documentation, so keep an alias
+    static AtomicString& empty = *new AtomicString("empty");
+    static AtomicString& enabled = *new AtomicString("enabled");
+    static AtomicString& firstChild = *new AtomicString("first-child");
+    static AtomicString& firstLetter = *new AtomicString("first-letter");
+    static AtomicString& firstLine = *new AtomicString("first-line");
+    static AtomicString& firstOfType = *new AtomicString("first-of-type");
+    static AtomicString& fullPageMedia = *new AtomicString("-webkit-full-page-media");
+    static AtomicString& nthChild = *new AtomicString("nth-child(");
+    static AtomicString& nthOfType = *new AtomicString("nth-of-type(");
+    static AtomicString& nthLastChild = *new AtomicString("nth-last-child(");
+    static AtomicString& nthLastOfType = *new AtomicString("nth-last-of-type(");
+    static AtomicString& focus = *new AtomicString("focus");
+    static AtomicString& hover = *new AtomicString("hover");
+    static AtomicString& indeterminate = *new AtomicString("indeterminate");
+    static AtomicString& inputPlaceholder = *new AtomicString("-webkit-input-placeholder");
+    static AtomicString& lastChild = *new AtomicString("last-child");
+    static AtomicString& lastOfType = *new AtomicString("last-of-type");
+    static AtomicString& link = *new AtomicString("link");
+    static AtomicString& lang = *new AtomicString("lang(");
+    static AtomicString& mediaControlsPanel = *new AtomicString("-webkit-media-controls-panel");
+    static AtomicString& mediaControlsMuteButton = *new AtomicString("-webkit-media-controls-mute-button");
+    static AtomicString& mediaControlsPlayButton = *new AtomicString("-webkit-media-controls-play-button");
+    static AtomicString& mediaControlsTimeDisplay = *new AtomicString("-webkit-media-controls-time-display");
+    static AtomicString& mediaControlsTimeline = *new AtomicString("-webkit-media-controls-timeline");
+    static AtomicString& mediaControlsSeekBackButton = *new AtomicString("-webkit-media-controls-seek-back-button");
+    static AtomicString& mediaControlsSeekForwardButton = *new AtomicString("-webkit-media-controls-seek-forward-button");
+    static AtomicString& mediaControlsFullscreenButton = *new AtomicString("-webkit-media-controls-fullscreen-button");
+    static AtomicString& notStr = *new AtomicString("not(");
+    static AtomicString& onlyChild = *new AtomicString("only-child");
+    static AtomicString& onlyOfType = *new AtomicString("only-of-type");
+    static AtomicString& resizer = *new AtomicString("-webkit-resizer");
+    static AtomicString& root = *new AtomicString("root");
+    static AtomicString& scrollbar = *new AtomicString("-webkit-scrollbar");
+    static AtomicString& scrollbarButton = *new AtomicString("-webkit-scrollbar-button");
+    static AtomicString& scrollbarCorner = *new AtomicString("-webkit-scrollbar-corner");
+    static AtomicString& scrollbarThumb = *new AtomicString("-webkit-scrollbar-thumb");
+    static AtomicString& scrollbarTrack = *new AtomicString("-webkit-scrollbar-track");
+    static AtomicString& scrollbarTrackPiece = *new AtomicString("-webkit-scrollbar-track-piece");
+    static AtomicString& searchCancelButton = *new AtomicString("-webkit-search-cancel-button");
+    static AtomicString& searchDecoration = *new AtomicString("-webkit-search-decoration");
+    static AtomicString& searchResultsDecoration = *new AtomicString("-webkit-search-results-decoration");
+    static AtomicString& searchResultsButton = *new AtomicString("-webkit-search-results-button");
+    static AtomicString& selection = *new AtomicString("selection");
+    static AtomicString& sliderThumb = *new AtomicString("-webkit-slider-thumb");
+    static AtomicString& target = *new AtomicString("target");
+    static AtomicString& visited = *new AtomicString("visited");
+    static AtomicString& windowInactive = *new AtomicString("window-inactive");
+    static AtomicString& decrement = *new AtomicString("decrement");
+    static AtomicString& increment = *new AtomicString("increment");
+    static AtomicString& start = *new AtomicString("start");
+    static AtomicString& end = *new AtomicString("end");
+    static AtomicString& horizontal = *new AtomicString("horizontal");
+    static AtomicString& vertical = *new AtomicString("vertical");
+    static AtomicString& doubleButton = *new AtomicString("double-button");
+    static AtomicString& singleButton = *new AtomicString("single-button");
+    static AtomicString& noButton = *new AtomicString("no-button");
+    static AtomicString& cornerPresent = *new AtomicString("corner-present");
 
     bool element = false; // pseudo-element
     bool compat = false; // single colon compatbility mode
index 446aaf4..d7056ca 100644 (file)
@@ -372,13 +372,13 @@ static bool elementCanUseSimpleDefaultStyle(Element* e)
 
 static const MediaQueryEvaluator& screenEval()
 {
-    static const MediaQueryEvaluator staticScreenEval("screen");
+    static const MediaQueryEvaluator& staticScreenEval = *new MediaQueryEvaluator("screen");
     return staticScreenEval;
 }
 
 static const MediaQueryEvaluator& printEval()
 {
-    static const MediaQueryEvaluator staticPrintEval("print");
+    static const MediaQueryEvaluator& staticPrintEval = *new MediaQueryEvaluator("print");
     return staticPrintEval;
 }
 
index d7a8903..a2dd255 100644 (file)
@@ -64,7 +64,7 @@ static void addString(HashSet<String, CaseFoldingHash>& set, const char* string)
 static bool isSVG10Feature(const String &feature)
 {
     static bool initialized = false;
-    static HashSet<String, CaseFoldingHash> svgFeatures;
+    static HashSet<String, CaseFoldingHash>& svgFeatures = *new HashSet<String, CaseFoldingHash>;
     if (!initialized) {
 #if ENABLE(SVG_USE) && ENABLE(SVG_FOREIGN_OBJECT) && ENABLE(SVG_FILTER) && ENABLE(SVG_FONTS)
         addString(svgFeatures, "svg");
@@ -89,7 +89,7 @@ static bool isSVG10Feature(const String &feature)
 static bool isSVG11Feature(const String &feature)
 {
     static bool initialized = false;
-    static HashSet<String, CaseFoldingHash> svgFeatures;
+    static HashSet<String, CaseFoldingHash>& svgFeatures = *new HashSet<String, CaseFoldingHash>;
     if (!initialized) {
         // Sadly, we cannot claim to implement any of the SVG 1.1 generic feature sets
         // lack of Font and Filter support.
@@ -274,7 +274,7 @@ bool DOMImplementation::isXMLMIMEType(const String& mimeType)
     if (mimeType == "text/xml" || mimeType == "application/xml" || mimeType == "text/xsl")
         return true;
     static const char* validChars = "[0-9a-zA-Z_\\-+~!$\\^{}|.%'`#&*]"; // per RFCs: 3023, 2045
-    static RegularExpression xmlTypeRegExp(String("^") + validChars + "+/" + validChars + "+\\+xml$");
+    static RegularExpression& xmlTypeRegExp = *new RegularExpression(String("^") + validChars + "+/" + validChars + "+\\+xml$");
     return xmlTypeRegExp.match(mimeType) > -1;
 }
 
index 1d8de0a..6955783 100644 (file)
@@ -713,9 +713,9 @@ PassRefPtr<Node> Document::adoptNode(PassRefPtr<Node> source, ExceptionCode& ec)
 
 bool Document::hasPrefixNamespaceMismatch(const QualifiedName& qName)
 {
-    static const AtomicString xmlnsNamespaceURI("http://www.w3.org/2000/xmlns/");
-    static const AtomicString xmlns("xmlns");
-    static const AtomicString xml("xml");
+    static const AtomicString& xmlnsNamespaceURI = *new AtomicString("http://www.w3.org/2000/xmlns/");
+    static const AtomicString& xmlns = *new AtomicString("xmlns");
+    static const AtomicString& xml = *new AtomicString("xml");
 
     // These checks are from DOM Core Level 2, createElementNS
     // http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-DocCrElNS
index 5071afc..c4e9f3e 100644 (file)
@@ -91,7 +91,7 @@ void ScriptElement::handleSourceAttribute(ScriptElementData& data, const String&
 // Helper function
 static bool isSupportedJavaScriptLanguage(const String& language)
 {
-    static HashSet<String, CaseFoldingHash> languages;
+    static HashSet<String, CaseFoldingHash>& languages = *new HashSet<String, CaseFoldingHash>;
     if (languages.isEmpty()) {
         languages.add("javascript");
         languages.add("javascript");
index 887ae3c..ee891d0 100644 (file)
@@ -216,7 +216,7 @@ bool StyleChange::currentlyHasStyle(const Position &pos, const CSSProperty *prop
 
 static String &styleSpanClassString()
 {
-    static String styleSpanClassString = AppleStyleSpanClass;
+    static String& styleSpanClassString = *new String(AppleStyleSpanClass);
     return styleSpanClassString;
 }
 
index 024ac9f..c50d214 100644 (file)
@@ -36,7 +36,7 @@ namespace {
 
 String convertedSpaceString()
 {
-    static String convertedSpaceString;
+    static String& convertedSpaceString = *new String;
     if (convertedSpaceString.isNull()) {
         convertedSpaceString = "<span class=\"";
         convertedSpaceString += AppleConvertedSpace;
index 385f1b7..cc22816 100644 (file)
@@ -43,7 +43,7 @@ using namespace HTMLNames;
 
 static String indentBlockquoteString()
 {
-    static String string = "webkit-indent-blockquote";
+    static String& string = *new String("webkit-indent-blockquote");
     return string;
 }
 
index 49bd8a5..4ae6992 100644 (file)
@@ -89,14 +89,14 @@ private:
 
 static bool isInterchangeNewlineNode(const Node *node)
 {
-    static String interchangeNewlineClassString(AppleInterchangeNewline);
+    static String& interchangeNewlineClassString = *new String(AppleInterchangeNewline);
     return node && node->hasTagName(brTag) && 
            static_cast<const Element *>(node)->getAttribute(classAttr) == interchangeNewlineClassString;
 }
 
 static bool isInterchangeConvertedSpaceSpan(const Node *node)
 {
-    static String convertedSpaceSpanClassString(AppleConvertedSpace);
+    static String& convertedSpaceSpanClassString = *new String(AppleConvertedSpace);
     return node->isHTMLElement() && 
            static_cast<const HTMLElement *>(node)->getAttribute(classAttr) == convertedSpaceSpanClassString;
 }
index 68ea754..026f7a2 100644 (file)
@@ -364,9 +364,9 @@ int maxDeepOffset(const Node *node)
 
 String stringWithRebalancedWhitespace(const String& string, bool startIsStartOfParagraph, bool endIsEndOfParagraph)
 {
-    static String twoSpaces("  ");
-    static String nbsp("\xa0");
-    static String pattern(" \xa0");
+    static String& twoSpaces = *new String("  ");
+    static String& nbsp = *new String("\xa0");
+    static String& pattern = *new String(" \xa0");
 
     String rebalancedString = string;
 
@@ -393,7 +393,7 @@ bool isTableStructureNode(const Node *node)
 
 const String& nonBreakingSpaceString()
 {
-    static String nonBreakingSpaceString = String(&noBreakSpace, 1);
+    static String& nonBreakingSpaceString = *new String(&noBreakSpace, 1);
     return nonBreakingSpaceString;
 }
 
index b067002..ecace75 100644 (file)
@@ -94,11 +94,11 @@ static void appendAttributeValue(Vector<UChar>& result, const String& attr, bool
     unsigned len = attr.length();
     unsigned lastCopiedFrom = 0;
 
-    static const String ampEntity("&amp;");
-    static const String gtEntity("&gt;");
-    static const String ltEntity("&lt;");
-    static const String quotEntity("&quot;");
-    static const String nbspEntity("&nbsp;");
+    static const String& ampEntity = *new String("&amp;");
+    static const String& gtEntity = *new String("&gt;");
+    static const String& ltEntity = *new String("&lt;");
+    static const String& quotEntity = *new String("&quot;");
+    static const String& nbspEntity = *new String("&nbsp;");
     
     for (unsigned i = 0; i < len; ++i) {
         UChar c = uchars[i];
@@ -142,10 +142,10 @@ static void appendEscapedContent(Vector<UChar>& result, pair<const UChar*, size_
     unsigned len = range.second;
     unsigned lastCopiedFrom = 0;
     
-    static const String ampEntity("&amp;");
-    static const String gtEntity("&gt;");
-    static const String ltEntity("&lt;");
-    static const String nbspEntity("&nbsp;");
+    static const String& ampEntity = *new String("&amp;");
+    static const String& gtEntity = *new String("&gt;");
+    static const String& ltEntity = *new String("&lt;");
+    static const String& nbspEntity = *new String("&nbsp;");
 
     for (unsigned i = 0; i < len; ++i) {
         UChar c = uchars[i];
@@ -316,8 +316,8 @@ static bool shouldAddNamespaceElem(const Element* elem)
 static bool shouldAddNamespaceAttr(const Attribute* attr, HashMap<AtomicStringImpl*, AtomicStringImpl*>& namespaces)
 {
     // Don't add namespace attributes twice
-    static const AtomicString xmlnsURI = "http://www.w3.org/2000/xmlns/";
-    static const QualifiedName xmlnsAttr(nullAtom, "xmlns", xmlnsURI);
+    static const AtomicString& xmlnsURI = *new AtomicString("http://www.w3.org/2000/xmlns/");
+    static const QualifiedName& xmlnsAttr = *new QualifiedName(nullAtom, "xmlns", xmlnsURI);
     if (attr->name() == xmlnsAttr) {
         namespaces.set(emptyAtom.impl(), attr->value().impl());
         return false;
@@ -342,7 +342,7 @@ static void appendNamespace(Vector<UChar>& result, const AtomicString& prefix, c
     AtomicStringImpl* foundNS = namespaces.get(pre);
     if (foundNS != ns.impl()) {
         namespaces.set(pre, ns.impl());
-        static const String xmlns("xmlns");
+        static const String& xmlns = *new String("xmlns");
         result.append(' ');
         append(result, xmlns);
         if (!prefix.isEmpty()) {
@@ -501,7 +501,7 @@ static void appendStartMarkup(Vector<UChar>& result, const Node *node, const Ran
                 if (convert)
                     style->setProperty(CSSPropertyDisplay, CSSValueInline, true);
                 if (style->length() > 0) {
-                    static const String stylePrefix(" style=\"");
+                    static const String& stylePrefix = *new String(" style=\"");
                     append(result, stylePrefix);
                     appendAttributeValue(result, style->cssText(), documentIsHTML);
                     result.append('\"');
@@ -702,7 +702,7 @@ String joinMarkups(const Vector<String> preMarkups, const Vector<String>& postMa
 // FIXME: At least, annotation and style info should probably not be included in range.markupString()
 String createMarkup(const Range* range, Vector<Node*>* nodes, EAnnotateForInterchange annotate, bool convertBlocksToInlines)
 {
-    static const String interchangeNewlineString = String("<br class=\"") + AppleInterchangeNewline + "\">";
+    static const String& interchangeNewlineString = *new String("<br class=\"" AppleInterchangeNewline "\">");
 
     if (!range)
         return "";
@@ -905,14 +905,14 @@ String createMarkup(const Range* range, Vector<Node*>* nodes, EAnnotateForInterc
                 
                 if (style->length()) {
                     Vector<UChar> openTag;
-                    static const String divStyle("<div style=\"");
+                    static const String& divStyle = *new String("<div style=\"");
                     append(openTag, divStyle);
                     appendAttributeValue(openTag, style->cssText(), documentIsHTML);
                     openTag.append('\"');
                     openTag.append('>');
                     preMarkups.append(String::adopt(openTag));
 
-                    static const String divCloseTag("</div>");
+                    static const String& divCloseTag = *new String("</div>");
                     markups.append(divCloseTag);
                 }
             } else {
@@ -929,8 +929,8 @@ String createMarkup(const Range* range, Vector<Node*>* nodes, EAnnotateForInterc
         }
     }
     
-    static const String styleSpanOpen = String("<span class=\"" AppleStyleSpanClass "\" style=\"");
-    static const String styleSpanClose("</span>");
+    static const String& styleSpanOpen = *new String("<span class=\"" AppleStyleSpanClass "\" style=\"");
+    static const String& styleSpanClose = *new String("</span>");
     
     // Add a wrapper span with the styles that all of the nodes in the markup inherit.
     Node* parentOfLastClosed = lastClosed ? lastClosed->parentNode() : 0;
index f65e748..16daf5a 100644 (file)
@@ -57,15 +57,15 @@ const AtomicString& HTMLButtonElement::type() const
 {
     switch (m_type) {
         case SUBMIT: {
-            static const AtomicString submit("submit");
+            static const AtomicString& submit = *new AtomicString("submit");
             return submit;
         }
         case BUTTON: {
-            static const AtomicString button("button");
+            static const AtomicString& button = *new AtomicString("button");
             return button;
         }
         case RESET: {
-            static const AtomicString reset("reset");
+            static const AtomicString& reset = *new AtomicString("reset");
             return reset;
         }
     }
index 0f86a80..88fb81a 100644 (file)
@@ -808,7 +808,7 @@ bool HTMLElement::childAllowed(Node *newChild)
 // This unfortunate function is only needed when checking against the DTD.  Other languages (like SVG) won't need this.
 bool HTMLElement::isRecognizedTagName(const QualifiedName& tagName)
 {
-    static HashSet<AtomicStringImpl*> tagList;
+    static HashSet<AtomicStringImpl*>& tagList = *new HashSet<AtomicStringImpl*>;
     if (tagList.isEmpty()) {
         size_t tagCount = 0;
         WebCore::QualifiedName** tags = HTMLNames::getHTMLTags(&tagCount);
@@ -822,7 +822,7 @@ bool HTMLElement::isRecognizedTagName(const QualifiedName& tagName)
 // need to be in these two lists.
 HashSet<AtomicStringImpl*>* inlineTagList()
 {
-    static HashSet<AtomicStringImpl*> tagList;
+    static HashSet<AtomicStringImpl*>& tagList = *new HashSet<AtomicStringImpl*>;
     if (tagList.isEmpty()) {
         tagList.add(ttTag.localName().impl());
         tagList.add(iTag.localName().impl());
@@ -881,7 +881,7 @@ HashSet<AtomicStringImpl*>* inlineTagList()
 
 HashSet<AtomicStringImpl*>* blockTagList()
 {
-    static HashSet<AtomicStringImpl*> tagList;
+    static HashSet<AtomicStringImpl*>& tagList = *new HashSet<AtomicStringImpl*>;
     if (tagList.isEmpty()) {
         tagList.add(addressTag.localName().impl());
         tagList.add(blockquoteTag.localName().impl());
index c4594de..aaffaad 100644 (file)
@@ -55,7 +55,7 @@ bool HTMLFieldSetElement::isFocusable() const
 
 const AtomicString& HTMLFieldSetElement::type() const
 {
-    static const AtomicString fieldset("fieldset");
+    static const AtomicString& fieldset = *new AtomicString("fieldset");
     return fieldset;
 }
 
index a802eaf..7f7acf9 100644 (file)
@@ -373,53 +373,53 @@ const AtomicString& HTMLInputElement::type() const
     // needs to be lowercase according to DOM spec
     switch (inputType()) {
         case BUTTON: {
-            static const AtomicString button("button");
+            static const AtomicString& button = *new AtomicString("button");
             return button;
         }
         case CHECKBOX: {
-            static const AtomicString checkbox("checkbox");
+            static const AtomicString& checkbox = *new AtomicString("checkbox");
             return checkbox;
         }
         case FILE: {
-            static const AtomicString file("file");
+            static const AtomicString& file = *new AtomicString("file");
             return file;
         }
         case HIDDEN: {
-            static const AtomicString hidden("hidden");
+            static const AtomicString& hidden = *new AtomicString("hidden");
             return hidden;
         }
         case IMAGE: {
-            static const AtomicString image("image");
+            static const AtomicString& image = *new AtomicString("image");
             return image;
         }
         case ISINDEX:
             return emptyAtom;
         case PASSWORD: {
-            static const AtomicString password("password");
+            static const AtomicString& password = *new AtomicString("password");
             return password;
         }
         case RADIO: {
-            static const AtomicString radio("radio");
+            static const AtomicString& radio = *new AtomicString("radio");
             return radio;
         }
         case RANGE: {
-            static const AtomicString range("range");
+            static const AtomicString& range = *new AtomicString("range");
             return range;
         }
         case RESET: {
-            static const AtomicString reset("reset");
+            static const AtomicString& reset = *new AtomicString("reset");
             return reset;
         }
         case SEARCH: {
-            static const AtomicString search("search");
+            static const AtomicString& search = *new AtomicString("search");
             return search;
         }
         case SUBMIT: {
-            static const AtomicString submit("submit");
+            static const AtomicString& submit = *new AtomicString("submit");
             return submit;
         }
         case TEXT: {
-            static const AtomicString text("text");
+            static const AtomicString& text = *new AtomicString("text");
             return text;
         }
     }
index b918d78..84ced37 100644 (file)
@@ -56,7 +56,7 @@ HTMLKeygenElement::HTMLKeygenElement(Document* doc, HTMLFormElement* f)
 
 const AtomicString& HTMLKeygenElement::type() const
 {
-    static const AtomicString keygen("keygen");
+    static const AtomicString& keygen = *new AtomicString("keygen");
     return keygen;
 }
 
index 573f06f..01fc8cb 100644 (file)
@@ -58,7 +58,7 @@ RenderObject* HTMLLegendElement::createRenderer(RenderArena* arena, RenderStyle*
 
 const AtomicString& HTMLLegendElement::type() const
 {
-    static const AtomicString legend("legend");
+    static const AtomicString& legend = *new AtomicString("legend");
     return legend;
 }
 
index 0465fb4..7d23801 100644 (file)
@@ -49,7 +49,7 @@ bool HTMLOptGroupElement::isFocusable() const
 
 const AtomicString& HTMLOptGroupElement::type() const
 {
-    static const AtomicString optgroup("optgroup");
+    static const AtomicString& optgroup = *new AtomicString("optgroup");
     return optgroup;
 }
 
index 887a4e5..f939a5e 100644 (file)
@@ -73,7 +73,7 @@ bool HTMLOptionElement::isFocusable() const
 
 const AtomicString& HTMLOptionElement::type() const
 {
-    static const AtomicString option("option");
+    static const AtomicString& option = *new AtomicString("option");
     return option;
 }
 
index ba2220c..e4ede55 100644 (file)
@@ -832,7 +832,7 @@ bool HTMLParser::mapCreateErrorCheck(Token* t, RefPtr<Node>& result)
 PassRefPtr<Node> HTMLParser::getNode(Token* t)
 {
     // Init our error handling table.
-    static FunctionMap gFunctionMap;
+    static FunctionMap& gFunctionMap = *new FunctionMap;
     if (gFunctionMap.isEmpty()) {
         gFunctionMap.set(aTag.localName().impl(), &HTMLParser::nestedCreateErrorCheck);
         gFunctionMap.set(addressTag.localName().impl(), &HTMLParser::pCloserCreateErrorCheck);
@@ -943,7 +943,7 @@ void HTMLParser::processCloseTag(Token* t)
 
 bool HTMLParser::isHeaderTag(const AtomicString& tagName)
 {
-    static HashSet<AtomicStringImpl*> headerTags;
+    static HashSet<AtomicStringImpl*>& headerTags = *new HashSet<AtomicStringImpl*>;
     if (headerTags.isEmpty()) {
         headerTags.add(h1Tag.localName().impl());
         headerTags.add(h2Tag.localName().impl());
@@ -986,7 +986,7 @@ bool HTMLParser::isInline(Node* node) const
 
 bool HTMLParser::isResidualStyleTag(const AtomicString& tagName)
 {
-    static HashSet<AtomicStringImpl*> residualStyleTags;
+    static HashSet<AtomicStringImpl*>& residualStyleTags = *new HashSet<AtomicStringImpl*>;
     if (residualStyleTags.isEmpty()) {
         residualStyleTags.add(aTag.localName().impl());
         residualStyleTags.add(fontTag.localName().impl());
@@ -1013,7 +1013,7 @@ bool HTMLParser::isResidualStyleTag(const AtomicString& tagName)
 
 bool HTMLParser::isAffectedByResidualStyle(const AtomicString& tagName)
 {
-    static HashSet<AtomicStringImpl*> unaffectedTags;
+    static HashSet<AtomicStringImpl*>& unaffectedTags = *new HashSet<AtomicStringImpl*>;
     if (unaffectedTags.isEmpty()) {
         unaffectedTags.add(bodyTag.localName().impl());
         unaffectedTags.add(tableTag.localName().impl());
index 91cef6f..01ea4a8 100644 (file)
@@ -114,8 +114,8 @@ void HTMLSelectElement::recalcStyle( StyleChange ch )
 
 const AtomicString& HTMLSelectElement::type() const
 {
-    static const AtomicString selectMultiple("select-multiple");
-    static const AtomicString selectOne("select-one");
+    static const AtomicString& selectMultiple = *new AtomicString("select-multiple");
+    static const AtomicString& selectOne = *new AtomicString("select-one");
     return m_multiple ? selectMultiple : selectOne;
 }
 
index 85da131..b62b01c 100644 (file)
@@ -59,7 +59,7 @@ HTMLTextAreaElement::HTMLTextAreaElement(Document* document, HTMLFormElement* fo
 
 const AtomicString& HTMLTextAreaElement::type() const
 {
-    static const AtomicString textarea("textarea");
+    static const AtomicString& textarea = *new AtomicString("textarea");
     return textarea;
 }
 
index 109464a..f9d98f5 100644 (file)
@@ -862,20 +862,20 @@ static JSValueRef platform(JSContextRef ctx, JSObjectRef /*function*/, JSObjectR
 {
 #if PLATFORM(MAC)
 #ifdef BUILDING_ON_TIGER
-    static const String platform = "mac-tiger";
+    static const String& platform = *new String("mac-tiger");
 #else
-    static const String platform = "mac-leopard";
+    static const String& platform = *new String("mac-leopard");
 #endif
 #elif PLATFORM(WIN_OS)
-    static const String platform = "windows";
+    static const String& platform = *new String("windows");
 #elif PLATFORM(QT)
-    static const String platform = "qt";
+    static const String& platform = *new String("qt");
 #elif PLATFORM(GTK)
-    static const String platform = "gtk";
+    static const String& platform = *new String("gtk");
 #elif PLATFORM(WX)
-    static const String platform = "wx";
+    static const String& platform = *new String("wx");
 #else
-    static const String platform = "unknown";
+    static const String& platform = *new String("unknown");
 #endif
 
     JSValueRef platformValue = JSValueMakeString(ctx, jsStringRef(platform).get());
index ed9ae85..bceaf95 100644 (file)
@@ -59,7 +59,7 @@ typedef JavaScriptDebugServer::ListenerSet ListenerSet;
 
 JavaScriptDebugServer& JavaScriptDebugServer::shared()
 {
-    static JavaScriptDebugServer server;
+    static JavaScriptDebugServer& server = *new JavaScriptDebugServer;
     return server;
 }
 
index 3ebdd55..3f73ec9 100644 (file)
@@ -45,7 +45,7 @@ typedef HashMap<Profile*, JSObject*> ProfileMap;
 
 static ProfileMap& profileCache()
 { 
-    static ProfileMap staticProfiles;
+    static ProfileMap& staticProfiles = *new ProfileMap;
     return staticProfiles;
 }
 
index ef2b2cd..16ec75c 100644 (file)
@@ -46,7 +46,7 @@ typedef HashMap<ProfileNode*, JSObject*> ProfileNodeMap;
 
 static ProfileNodeMap& profileNodeCache()
 { 
-    static ProfileNodeMap staticProfileNodes;
+    static ProfileNodeMap& staticProfileNodes = *new ProfileNodeMap;
     return staticProfileNodes;
 }
 
index 41fa0af..85a236b 100644 (file)
@@ -1172,7 +1172,7 @@ bool FrameLoader::allowSubstituteDataAccessToLocal()
 
 static HashSet<String, CaseFoldingHash>& localSchemes()
 {
-    static HashSet<String, CaseFoldingHash> localSchemes;
+    static HashSet<String, CaseFoldingHash>& localSchemes = *new HashSet<String, CaseFoldingHash>;
 
     if (localSchemes.isEmpty()) {
         localSchemes.add("file");
index 910d00c..50e8c8a 100644 (file)
@@ -653,7 +653,7 @@ bool ApplicationCacheStorage::storeCopyOfCache(const String& cacheDirectory, App
     
 ApplicationCacheStorage& cacheStorage()
 {
-    static ApplicationCacheStorage storage;
+    static ApplicationCacheStorage& storage = *new ApplicationCacheStorage;
     
     return storage;
 }
index c42b5df..fa3c871 100644 (file)
@@ -51,7 +51,7 @@ template <typename ArchiveClass> static PassRefPtr<Archive> archiveFactoryCreate
 
 static HashMap<String, RawDataCreationFunction*, CaseFoldingHash>& archiveMIMETypes()
 {
-    static HashMap<String, RawDataCreationFunction*, CaseFoldingHash> mimeTypes;
+    static HashMap<String, RawDataCreationFunction*, CaseFoldingHash>& mimeTypes = *new HashMap<String, RawDataCreationFunction*, CaseFoldingHash>;
     static bool initialized = false;
     
     if (initialized)
index 493b631..89ea92e 100644 (file)
@@ -850,7 +850,7 @@ String IconDatabase::databasePath() const
 
 String IconDatabase::defaultDatabaseFilename()
 {
-    static String defaultDatabaseFilename = "WebpageIcons.db";
+    static String& defaultDatabaseFilename = *new String("WebpageIcons.db");
     return defaultDatabaseFilename.copy();
 }
 
index 70202bf..c72998c 100644 (file)
@@ -150,7 +150,7 @@ EventHandler::~EventHandler()
     
 EventHandler::EventHandlerDragState& EventHandler::dragState()
 {
-    static EventHandlerDragState state;
+    static EventHandlerDragState& state = *new EventHandlerDragState;
     return state;
 }
     
index bd08e58..da6eb81 100644 (file)
@@ -317,7 +317,7 @@ static RegularExpression* createRegExpForLabels(const Vector<String>& labels)
     // REVIEW- version of this call in FrameMac.mm caches based on the NSArray ptrs being
     // the same across calls.  We can't do that.
 
-    static RegularExpression wordRegExp = RegularExpression("\\w");
+    static RegularExpression& wordRegExp = *new RegularExpression("\\w");
     String pattern("(");
     unsigned int numLabels = labels.size();
     unsigned int i;
@@ -1011,7 +1011,7 @@ void Frame::removeEditingStyleFromElement(Element*) const
 #ifndef NDEBUG
 static HashSet<Frame*>& keepAliveSet()
 {
-    static HashSet<Frame*> staticKeepAliveSet;
+    static HashSet<Frame*>& staticKeepAliveSet = *new HashSet<Frame*>;
     return staticKeepAliveSet;
 }
 #endif
index 1a9bade..555bf51 100644 (file)
@@ -232,7 +232,7 @@ void Page::setGroupName(const String& name)
 
 const String& Page::groupName() const
 {
-    static String nullString;
+    static String& nullString = *new String;
     return m_group ? m_group->name() : nullString;
 }
 
index 6de7508..2f2a245 100644 (file)
@@ -41,7 +41,7 @@ static bool isDefaultPortForProtocol(unsigned short port, const String& protocol
     if (protocol.isEmpty())
         return false;
 
-    static HashMap<String, unsigned> defaultPorts;
+    static HashMap<String, unsigned>& defaultPorts = *new HashMap<String, unsigned>;
     if (defaultPorts.isEmpty()) {
         defaultPorts.set("http", 80);
         defaultPorts.set("https", 443);
@@ -260,7 +260,7 @@ PassRefPtr<SecurityOrigin> SecurityOrigin::createFromDatabaseIdentifier(const St
 
 String SecurityOrigin::databaseIdentifier() const 
 {
-    static String separatorString = String(&SeparatorCharacter, 1);
+    static String& separatorString = *new String(&SeparatorCharacter, 1);
     return m_protocol + separatorString + m_host + separatorString + String::number(m_port); 
 }
 
index 66e2d04..8c8fb9a 100644 (file)
@@ -88,8 +88,8 @@ RegularExpression* regExpForLabels(NSArray* labels)
     // that the app will use is equal to the number of locales is used in searching.
     static const unsigned int regExpCacheSize = 4;
     static NSMutableArray* regExpLabels = nil;
-    static Vector<RegularExpression*> regExps;
-    static RegularExpression wordRegExp = RegularExpression("\\w");
+    static Vector<RegularExpression*>& regExps = *new Vector<RegularExpression*>;
+    static RegularExpression& wordRegExp = *new RegularExpression("\\w");
 
     RegularExpression* result;
     if (!regExpLabels)
index 1f33297..3c1c34c 100644 (file)
@@ -1563,7 +1563,7 @@ String mimeTypeFromDataURL(const String& url)
 
 const KURL& blankURL()
 {
-    static KURL staticBlankURL("about:blank");
+    static KURL& staticBlankURL = *new KURL("about:blank");
     return staticBlankURL;
 }
 
index 1c5a987..e4858cc 100644 (file)
@@ -124,21 +124,24 @@ static FontPlatformDataCache* gFontPlatformDataCache = 0;
 static const AtomicString& alternateFamilyName(const AtomicString& familyName)
 {
     // Alias Courier <-> Courier New
-    static AtomicString courier("Courier"), courierNew("Courier New");
+    static AtomicString& courier = *new AtomicString("Courier");
+    static AtomicString& courierNew = *new AtomicString("Courier New");
     if (equalIgnoringCase(familyName, courier))
         return courierNew;
     if (equalIgnoringCase(familyName, courierNew))
         return courier;
 
     // Alias Times and Times New Roman.
-    static AtomicString times("Times"), timesNewRoman("Times New Roman");
+    static AtomicString& times = *new AtomicString("Times");
+    static AtomicString& timesNewRoman = *new AtomicString("Times New Roman");
     if (equalIgnoringCase(familyName, times))
         return timesNewRoman;
     if (equalIgnoringCase(familyName, timesNewRoman))
         return times;
     
     // Alias Arial and Helvetica
-    static AtomicString arial("Arial"), helvetica("Helvetica");
+    static AtomicString& arial = *new AtomicString("Arial");
+    static AtomicString& helvetica = *new AtomicString("Helvetica");
     if (equalIgnoringCase(familyName, arial))
         return helvetica;
     if (equalIgnoringCase(familyName, helvetica))
index e7cda66..fe90d47 100644 (file)
@@ -140,7 +140,7 @@ FontPlatformData* FontCache::getSimilarFontPlatformData(const Font& font)
     while (currFamily && !platformData) {
         if (currFamily->family().length()) {
             static String matchWords[3] = { String("Arabic"), String("Pashto"), String("Urdu") };
-            static AtomicString geezaStr("Geeza Pro");
+            static AtomicString& geezaStr = *new AtomicString("Geeza Pro");
             for (int j = 0; j < 3 && !platformData; ++j)
                 if (currFamily->family().contains(matchWords[j], false))
                     platformData = getCachedFontPlatformData(font.fontDescription(), geezaStr);
@@ -153,8 +153,8 @@ FontPlatformData* FontCache::getSimilarFontPlatformData(const Font& font)
 
 FontPlatformData* FontCache::getLastResortFallbackFont(const FontDescription& fontDescription)
 {
-    static AtomicString timesStr("Times");
-    static AtomicString lucidaGrandeStr("Lucida Grande");
+    static AtomicString& timesStr = *new AtomicString("Times");
+    static AtomicString& lucidaGrandeStr = *new AtomicString("Lucida Grande");
 
     // FIXME: Would be even better to somehow get the user's default font here.  For now we'll pick
     // the default that the user would get without changing any prefs.
index dd2c233..2826b9a 100644 (file)
@@ -86,7 +86,7 @@ namespace WebCore {
 
 ScrollbarTheme* ScrollbarTheme::nativeTheme()
 {
-    static ScrollbarThemeMac theme;
+    static ScrollbarThemeMac& theme = *new ScrollbarThemeMac;
     return &theme;
 }
 
index 3b1da55..c1b9c72 100644 (file)
@@ -46,7 +46,7 @@ enum {
 
 Theme* platformTheme()
 {
-    static ThemeMac themeMac;
+    static ThemeMac& themeMac = *new ThemeMac;
     return &themeMac;
 }
 
index 6320c70..86cb714 100644 (file)
@@ -79,7 +79,7 @@ void reportThreadViolation(const char* function)
 void WebCoreReportThreadViolation(const char* function)
 {
     using namespace WebCore;
-    static HashSet<String> loggedFunctions;
+    static HashSet<String>& loggedFunctions = *new HashSet<String>;
     switch (threadViolationBehavior) {
         case NoThreadCheck:
             break;
index d39fc30..df34f1c 100644 (file)
@@ -32,7 +32,7 @@ namespace WebCore {
 
 NetworkStateNotifier& networkStateNotifier()
 {
-    static NetworkStateNotifier networkStateNotifier;
+    static NetworkStateNotifier& networkStateNotifier = *new NetworkStateNotifier;
     
     return networkStateNotifier;
 }
index 3ef224d..5192b0a 100644 (file)
@@ -49,14 +49,14 @@ namespace WebCore {
 typedef HashMap<CFReadStreamRef, RefPtr<FormData> > StreamFormDataMap;
 static StreamFormDataMap& getStreamFormDataMap()
 {
-    static StreamFormDataMap streamFormDataMap;
+    static StreamFormDataMap& streamFormDataMap = *new StreamFormDataMap;
     return streamFormDataMap;
 }
 
 typedef HashMap<CFReadStreamRef, RefPtr<ResourceHandle> > StreamResourceHandleMap;
 static StreamResourceHandleMap& getStreamResourceHandleMap()
 {
-    static StreamResourceHandleMap streamResourceHandleMap;
+    static StreamResourceHandleMap& streamResourceHandleMap = *new StreamResourceHandleMap;
     return streamResourceHandleMap;
 }
 
index f60b496..aaef4d6 100644 (file)
@@ -99,7 +99,7 @@ void ResourceResponse::platformLazyInit()
         // is returning incorrect MIME type for local .xhtml files) which is only required in Leopard.
         if (m_url.isLocalFile() && m_mimeType == "text/html") {
             const String& path = m_url.path();
-            static const String xhtmlExt(".xhtml");
+            static const String& xhtmlExt = *new String(".xhtml");
             if (path.endsWith(xhtmlExt, false))
                 m_mimeType = "application/xhtml+xml";
         }
index 9026049..eb6b3e0 100644 (file)
@@ -122,7 +122,7 @@ bool TextEncoding::isJapanese() const
     if (noExtendedTextEncodingNameUsed())
         return false;
 
-    static HashSet<const char*> set;
+    static HashSet<const char*>& set = *new HashSet<const char*>;
     if (set.isEmpty()) {
         addEncodingName(set, "x-mac-japanese");
         addEncodingName(set, "cp932");
index e466386..ceae790 100644 (file)
@@ -1798,7 +1798,7 @@ void RenderBlock::paintEllipsisBoxes(PaintInfo& paintInfo, int tx, int ty)
 
 HashMap<RenderBlock*, RenderFlowSequencedSet*>* continuationOutlineTable()
 {
-    static HashMap<RenderBlock*, RenderFlowSequencedSet*> table;
+    static HashMap<RenderBlock*, RenderFlowSequencedSet*>& table = *new HashMap<RenderBlock*, RenderFlowSequencedSet*>;
     return &table;
 }
 
index 4b6deed..4fbdd7c 100644 (file)
@@ -41,7 +41,7 @@ static CounterNode* counter(RenderObject*, const AtomicString& counterName, bool
 
 static CounterMaps& counterMaps()
 {
-    static CounterMaps staticCounterMaps;
+    static CounterMaps& staticCounterMaps = *new CounterMaps;
     return staticCounterMaps;
 }
 
index aff7f9b..ca0bb65 100644 (file)
@@ -777,7 +777,7 @@ void RenderFlexibleBox::layoutVerticalBox(bool relayoutChildren)
                     continue;
 
                 const UChar ellipsisAndSpace[2] = { horizontalEllipsis, ' ' };
-                static AtomicString ellipsisAndSpaceStr(ellipsisAndSpace, 2);
+                static AtomicString& ellipsisAndSpaceStr = *new AtomicString(ellipsisAndSpace, 2);
 
                 const Font& font = style(numVisibleLines == 1)->font();
                 int ellipsisAndSpaceWidth = font.width(TextRun(ellipsisAndSpace, 2));
index b69612e..ec82f06 100644 (file)
@@ -289,7 +289,7 @@ const String& RenderListItem::markerText() const
 {
     if (m_marker)
         return m_marker->text();
-    static String staticNullString;
+    static String& staticNullString = *new String;
     return staticNullString;
 }
 
index 2b375d0..c1e2c23 100644 (file)
@@ -31,7 +31,7 @@ namespace WebCore {
 
 RenderScrollbarTheme* RenderScrollbarTheme::renderScrollbarTheme()
 {
-    static RenderScrollbarTheme theme;
+    static RenderScrollbarTheme& theme = *new RenderScrollbarTheme;
     return &theme;
 }
 
index 699b74a..8cf7bd4 100644 (file)
@@ -168,13 +168,13 @@ static FontWeight toFontWeight(NSInteger appKitFontWeight)
 
 void RenderThemeMac::systemFont(int cssValueId, FontDescription& fontDescription) const
 {
-    static FontDescription systemFont;
-    static FontDescription smallSystemFont;
-    static FontDescription menuFont;
-    static FontDescription labelFont;
-    static FontDescription miniControlFont;
-    static FontDescription smallControlFont;
-    static FontDescription controlFont;
+    static FontDescription& systemFont = *new FontDescription;
+    static FontDescription& smallSystemFont = *new FontDescription;
+    static FontDescription& menuFont = *new FontDescription;
+    static FontDescription& labelFont = *new FontDescription;
+    static FontDescription& miniControlFont = *new FontDescription;
+    static FontDescription& smallControlFont = *new FontDescription;
+    static FontDescription& controlFont = *new FontDescription;
 
     FontDescription* cachedDesc;
     NSFont* font = nil;
index 77b4b19..415cf13 100644 (file)
@@ -2192,7 +2192,7 @@ void RenderBlock::checkLinesForTextOverflow()
     // Determine the width of the ellipsis using the current font.
     // FIXME: CSS3 says this is configurable, also need to use 0x002E (FULL STOP) if horizontal ellipsis is "not renderable"
     TextRun ellipsisRun(&horizontalEllipsis, 1);
-    static AtomicString ellipsisStr(&horizontalEllipsis, 1);
+    static AtomicString& ellipsisStr = *new AtomicString(&horizontalEllipsis, 1);
     const Font& firstLineFont = firstLineStyle()->font();
     const Font& font = style()->font();
     int firstLineEllipsisWidth = firstLineFont.width(ellipsisRun);
index 5088c33..8c2bd58 100644 (file)
@@ -720,13 +720,13 @@ CounterDirectiveMap& RenderStyle::accessCounterDirectives()
 #if ENABLE(DASHBOARD_SUPPORT)
 const Vector<StyleDashboardRegion>& RenderStyle::initialDashboardRegions()
 {
-    static Vector<StyleDashboardRegion> emptyList;
+    static Vector<StyleDashboardRegion>& emptyList = *new Vector<StyleDashboardRegion>;
     return emptyList;
 }
 
 const Vector<StyleDashboardRegion>& RenderStyle::noneDashboardRegions()
 {
-    static Vector<StyleDashboardRegion> noneList;
+    static Vector<StyleDashboardRegion>& noneList = *new Vector<StyleDashboardRegion>;
     static bool noneListInitialized = false;
 
     if (!noneListInitialized) {
index 0177593..ef2258c 100644 (file)
@@ -42,7 +42,7 @@ typedef HashMap<String, LocalStorage*> LocalStorageMap;
 
 static LocalStorageMap& localStorageMap()
 {
-    static LocalStorageMap localStorageMap;
+    static LocalStorageMap& localStorageMap = *new LocalStorageMap;
     return localStorageMap;
 }
 
index 60ffc47..d19fc66 100644 (file)
@@ -91,8 +91,8 @@ void SVGAnimateMotionElement::parseMappedAttribute(MappedAttribute* attr)
     
 SVGAnimateMotionElement::RotateMode SVGAnimateMotionElement::rotateMode() const
 {
-    static const AtomicString autoVal("auto");
-    static const AtomicString autoReverse("auto-reverse");
+    static const AtomicString& autoVal = *new AtomicString("auto");
+    static const AtomicString& autoReverse = *new AtomicString("auto-reverse");
     String rotate = getAttribute(SVGNames::rotateAttr);
     if (rotate == autoVal)
         return RotateAuto;
index 5910ac8..9ca6872 100644 (file)
@@ -196,10 +196,10 @@ SVGAnimationElement::AnimationMode SVGAnimationElement::animationMode() const
 
 SVGAnimationElement::CalcMode SVGAnimationElement::calcMode() const
 {    
-    static const AtomicString discrete("discrete");
-    static const AtomicString linear("linear");
-    static const AtomicString paced("paced");
-    static const AtomicString spline("spline");
+    static const AtomicString& discrete = *new AtomicString("discrete");
+    static const AtomicString& linear = *new AtomicString("linear");
+    static const AtomicString& paced = *new AtomicString("paced");
+    static const AtomicString& spline = *new AtomicString("spline");
     const AtomicString& value = getAttribute(SVGNames::calcModeAttr);
     if (value == discrete)
         return CalcModeDiscrete;
@@ -214,8 +214,8 @@ SVGAnimationElement::CalcMode SVGAnimationElement::calcMode() const
 
 SVGAnimationElement::AttributeType SVGAnimationElement::attributeType() const
 {    
-    static const AtomicString css("CSS");
-    static const AtomicString xml("XML");
+    static const AtomicString& css = *new AtomicString("CSS");
+    static const AtomicString& xml = *new AtomicString("XML");
     const AtomicString& value = getAttribute(SVGNames::attributeTypeAttr);
     if (value == css)
         return AttributeTypeCSS;
@@ -241,14 +241,14 @@ String SVGAnimationElement::fromValue() const
 
 bool SVGAnimationElement::isAdditive() const
 {
-    static const AtomicString sum("sum");
+    static const AtomicString& sum = *new AtomicString("sum");
     const AtomicString& value = getAttribute(SVGNames::additiveAttr);
     return value == sum || animationMode() == ByAnimation;
 }
 
 bool SVGAnimationElement::isAccumulated() const
 {
-    static const AtomicString sum("sum");
+    static const AtomicString& sum = *new AtomicString("sum");
     const AtomicString& value = getAttribute(SVGNames::accumulateAttr);
     return value == sum && animationMode() != ToAnimation;
 }
index 638f0c1..b98887e 100644 (file)
@@ -51,7 +51,7 @@ void SVGLangSpace::setXmllang(const AtomicString& xmlLang)
 const AtomicString& SVGLangSpace::xmlspace() const
 {
     if (!m_space) {
-        static const AtomicString defaultString("default");
+        static const AtomicString& defaultString = *new AtomicString("default");
         return defaultString;
     }
 
index 6875ab8..2de200e 100644 (file)
@@ -89,7 +89,7 @@ SVGSVGElement::~SVGSVGElement()
 
 const AtomicString& SVGSVGElement::contentScriptType() const
 {
-    static const AtomicString defaultValue("text/ecmascript");
+    static const AtomicString& defaultValue = *new AtomicString("text/ecmascript");
     const AtomicString& n = getAttribute(contentScriptTypeAttr);
     return n.isNull() ? defaultValue : n;
 }
@@ -101,7 +101,7 @@ void SVGSVGElement::setContentScriptType(const AtomicString& type)
 
 const AtomicString& SVGSVGElement::contentStyleType() const
 {
-    static const AtomicString defaultValue("text/css");
+    static const AtomicString& defaultValue = *new AtomicString("text/css");
     const AtomicString& n = getAttribute(contentStyleTypeAttr);
     return n.isNull() ? defaultValue : n;
 }
index 2612de0..afdeb2a 100644 (file)
@@ -53,7 +53,7 @@ void SVGStyleElement::setXmlspace(const AtomicString&, ExceptionCode& ec)
 
 const AtomicString& SVGStyleElement::type() const
 {
-    static const AtomicString defaultValue("text/css");
+    static const AtomicString& defaultValue = *new AtomicString("text/css");
     const AtomicString& n = getAttribute(typeAttr);
     return n.isNull() ? defaultValue : n;
 }
@@ -65,7 +65,7 @@ void SVGStyleElement::setType(const AtomicString&, ExceptionCode& ec)
 
 const AtomicString& SVGStyleElement::media() const
 {
-    static const AtomicString defaultValue("all");
+    static const AtomicString& defaultValue = *new AtomicString("all");
     const AtomicString& n = getAttribute(mediaAttr);
     return n.isNull() ? defaultValue : n;
 }
index e53d662..d25e07a 100644 (file)
@@ -498,7 +498,7 @@ void SVGTextContentElement::parseMappedAttribute(MappedAttribute* attr)
             return;
         if (SVGLangSpace::parseMappedAttribute(attr)) {
             if (attr->name().matches(XMLNames::spaceAttr)) {
-                static const AtomicString preserveString("preserve");
+                static const AtomicString& preserveString = *new AtomicString("preserve");
 
                 if (attr->value() == preserveString)
                     addCSSProperty(attr, CSSPropertyWhiteSpace, CSSValuePre);
index a07a407..cdb9342 100644 (file)
@@ -193,7 +193,7 @@ SMILTime SVGSMILElement::parseClockValue(const String& data)
     
     String parse = data.stripWhiteSpace();
 
-    static const AtomicString indefiniteValue("indefinite");
+    static const AtomicString& indefiniteValue = *new AtomicString("indefinite");
     if (parse == indefiniteValue)
         return SMILTime::indefinite();
 
@@ -457,8 +457,8 @@ bool SVGSMILElement::isFrozen() const
     
 SVGSMILElement::Restart SVGSMILElement::restart() const
 {    
-    static const AtomicString never("never");
-    static const AtomicString whenNotActive("whenNotActive");
+    static const AtomicString& never = *new AtomicString("never");
+    static const AtomicString& whenNotActive = *new AtomicString("whenNotActive");
     const AtomicString& value = getAttribute(SVGNames::restartAttr);
     if (value == never)
         return RestartNever;
@@ -469,7 +469,7 @@ SVGSMILElement::Restart SVGSMILElement::restart() const
     
 SVGSMILElement::FillMode SVGSMILElement::fill() const
 {   
-    static const AtomicString freeze("freeze");
+    static const AtomicString& freeze = *new AtomicString("freeze");
     const AtomicString& value = getAttribute(SVGNames::fillAttr);
     return value == freeze ? FillFreeze : FillRemove;
 }
@@ -506,7 +506,7 @@ SMILTime SVGSMILElement::repeatCount() const
     if (value.isNull())
         return SMILTime::unresolved();
 
-    static const AtomicString indefiniteValue("indefinite");
+    static const AtomicString& indefiniteValue = *new AtomicString("indefinite");
     if (value == indefiniteValue)
         return SMILTime::indefinite();
     bool ok;
@@ -861,7 +861,7 @@ void SVGSMILElement::progress(SMILTime elapsed, SVGSMILElement* resultElement)
 void SVGSMILElement::notifyDependentsIntervalChanged(NewOrExistingInterval newOrExisting)
 {
     ASSERT(m_intervalBegin.isFinite());
-    static HashSet<SVGSMILElement*> loopBreaker;
+    static HashSet<SVGSMILElement*>& loopBreaker = *new HashSet<SVGSMILElement*>;
     if (loopBreaker.contains(this))
         return;
     loopBreaker.add(this);
index 10d6648..acd66fc 100644 (file)
@@ -48,7 +48,7 @@ struct ResourceSet {
 };
 
 static HashMap<SVGStyledElement*, ResourceSet*>& clientMap() {
-    static HashMap<SVGStyledElement*, ResourceSet*> map;
+    static HashMap<SVGStyledElement*, ResourceSet*>& map = *new HashMap<SVGStyledElement*, ResourceSet*>;
     return map;
 }
 
index 3649321..eb7d202 100644 (file)
@@ -65,7 +65,7 @@ void SVGResourceMarker::draw(GraphicsContext* context, const FloatRect& rect, do
     if (!m_marker)
         return;
 
-    static HashSet<SVGResourceMarker*> currentlyDrawingMarkers;
+    static HashSet<SVGResourceMarker*>& currentlyDrawingMarkers = *new HashSet<SVGResourceMarker*>;
 
     // avoid drawing circular marker references
     if (currentlyDrawingMarkers.contains(this))
index 67aba0b..235ce4a 100644 (file)
@@ -73,7 +73,7 @@ typedef HashMap<std::pair<String, KURL>, PreflightResultCacheItem*> PreflightRes
 
 static PreflightResultCache& preflightResultCache()
 {
-    static PreflightResultCache cache;
+    static PreflightResultCache& cache = *new PreflightResultCache;
     return cache;
 }
 
@@ -88,9 +88,9 @@ static void appendPreflightResultCacheEntry(String origin, KURL url, unsigned ex
 
 static bool isSafeRequestHeader(const String& name)
 {
-    static HashSet<String, CaseFoldingHash> forbiddenHeaders;
-    static String proxyString("proxy-");
-    static String secString("sec-");
+    static HashSet<String, CaseFoldingHash>& forbiddenHeaders = *new HashSet<String, CaseFoldingHash>;
+    static String& proxyString = *new String("proxy-");
+    static String& secString = *new String("sec-");
     
     if (forbiddenHeaders.isEmpty()) {
         forbiddenHeaders.add("accept-charset");
@@ -121,7 +121,7 @@ static bool isOnAccessControlSimpleRequestHeaderWhitelist(const String& name)
 
 static bool isOnAccessControlResponseHeaderWhitelist(const String& name)
 {
-    static HashSet<String, CaseFoldingHash> allowedHeaders;
+    static HashSet<String, CaseFoldingHash>& allowedHeaders = *new HashSet<String, CaseFoldingHash>;
     if (allowedHeaders.isEmpty()) {
         allowedHeaders.add("cache-control");
         allowedHeaders.add("content-language");
index 88e349e..09f5dd0 100644 (file)
@@ -37,7 +37,7 @@ namespace XPath {
     
 EvaluationContext& Expression::evaluationContext()
 {
-    static EvaluationContext evaluationContext;
+    static EvaluationContext& evaluationContext = *new EvaluationContext;
     return evaluationContext;
 }
 
index 77c3011..059a2b5 100644 (file)
@@ -97,7 +97,7 @@ static void setUpAxisNamesMap(HashMap<String, Step::Axis>& axisNames)
 
 static bool isAxisName(const String& name, Step::Axis& type)
 {
-    static HashMap<String, Step::Axis> axisNames;
+    static HashMap<String, Step::Axis>& axisNames = *new HashMap<String, Step::Axis>;
 
     if (axisNames.isEmpty())
         setUpAxisNamesMap(axisNames);
@@ -111,7 +111,7 @@ static bool isAxisName(const String& name, Step::Axis& type)
 
 static bool isNodeTypeName(const String& name)
 {
-    static HashSet<String> nodeTypeNames;
+    static HashSet<String>& nodeTypeNames = *new HashSet<String>;
     if (nodeTypeNames.isEmpty()) {
         nodeTypeNames.add("comment");
         nodeTypeNames.add("text");
index b3cad38..ba0def9 100644 (file)
@@ -45,7 +45,7 @@ const Value::AdoptTag Value::adopt = {};
 const NodeSet& Value::toNodeSet() const
 {
     if (!m_data) {
-        static NodeSet emptyNodeSet;
+        static NodeSet& emptyNodeSet = *new NodeSet;
         return emptyNodeSet;
     }
 
index ecf3d64..16f25b7 100644 (file)
@@ -1,5 +1,11 @@
 2008-11-06  David Kilzer  <ddkilzer@apple.com>
 
+        BUILD WAS NOT BROKEN: Rolling r38189 back in.
+
+        Please perform a clean build if you see crashes.
+
+2008-11-06  David Kilzer  <ddkilzer@apple.com>
+
         BUILD FIX: Backed out r38189 since it apparently broke the world.
 
 2008-11-06  John Sullivan  <sullivan@apple.com>
index 30767c3..4811d2d 100644 (file)
@@ -51,7 +51,7 @@ using namespace WebCore;
 
 static HashMap<BackForwardList*, WebBackForwardList*>& backForwardLists()
 {
-    static HashMap<BackForwardList*, WebBackForwardList*> staticBackForwardLists;
+    static HashMap<BackForwardList*, WebBackForwardList*>& staticBackForwardLists = *new HashMap<BackForwardList*, WebBackForwardList*>;
     return staticBackForwardLists;
 }
 
index f9e1f95..dd60532 100644 (file)
@@ -70,7 +70,7 @@ static inline WebCoreHistoryItem* core(WebHistoryItemPrivate* list) { return (We
 
 HashMap<HistoryItem*, WebHistoryItem*>& historyItemWrappers()
 {
-    static HashMap<HistoryItem*, WebHistoryItem*> historyItemWrappers;
+    static HashMap<HistoryItem*, WebHistoryItem*>& historyItemWrappers = *new HashMap<HistoryItem*, WebHistoryItem*>;
     return historyItemWrappers;
 }
 
index c395e7a..74b92e8 100644 (file)
@@ -49,7 +49,7 @@ static NSFont *defaultMenuFont()
 static Font& fontFromNSFont(NSFont *font)
 {
     static NSFont *currentFont;
-    static Font currentRenderer;
+    static Font& currentRenderer = *new Font;
 
     if ([font isEqual:currentFont])
         return currentRenderer;
index ee4bed3..afe7b21 100644 (file)
@@ -55,7 +55,7 @@ static NSString *CarbonPathFromPOSIXPath(NSString *posixPath);
 typedef HashMap<NPStream*, NPP> StreamMap;
 static StreamMap& streams()
 {
-    static StreamMap staticStreams;
+    static StreamMap& staticStreams = *new StreamMap;
     return staticStreams;
 }
 
index 0ab7c73..6369111 100644 (file)
@@ -3606,7 +3606,7 @@ static NSAppleEventDescriptor* aeDescFromJSValue(ExecState* exec, JSValue* jsVal
             }
         }
         else if (object->inherits(&JSArray::info)) {
-            static HashSet<JSObject*> visitedElems;
+            static HashSet<JSObject*>& visitedElems = *new HashSet<JSObject*>;
             if (!visitedElems.contains(object)) {
                 visitedElems.add(object);
                 
index 0c3c6c1..c82358e 100644 (file)
@@ -1,5 +1,11 @@
 2008-11-06  David Kilzer  <ddkilzer@apple.com>
 
+        BUILD WAS NOT BROKEN: Rolling r38189 back in.
+
+        Please perform a clean build if you see crashes.
+
+2008-11-06  David Kilzer  <ddkilzer@apple.com>
+
         BUILD FIX: Backed out r38189 since it apparently broke the world.
 
 2008-11-06  Chris Fleizach  <cfleizach@apple.com>
index 63ca6f7..bf6c4ca 100755 (executable)
@@ -95,110 +95,35 @@ for my $file (sort @files) {
     if ($target eq "WebCore") {
         next if $shortName eq "AccessibilityObject.o";
         next if $shortName eq "AccessibilityRenderObject.o";
-        next if $shortName eq "ApplicationCacheStorage.o";
-        next if $shortName eq "ApplyStyleCommand.o";
-        next if $shortName eq "ArchiveFactory.o";
-        next if $shortName eq "CSSMutableStyleDeclaration.o";
-        next if $shortName eq "CSSPrimitiveValue.o";
-        next if $shortName eq "CSSSelector.o";
         next if $shortName eq "CSSStyleSelector.o";
         next if $shortName eq "CachedImage.o";
         next if $shortName eq "ColorMac.o";
-        next if $shortName eq "DOMImplementation.o";
-        next if $shortName eq "Document.o";
-        next if $shortName eq "EventHandler.o";
         next if $shortName eq "EventHandlerMac.o";
         next if $shortName eq "FTPDirectoryDocument.o";
         next if $shortName eq "FontCache.o";
         next if $shortName eq "FontCacheMac.o";
-        next if $shortName eq "FormDataStreamMac.o";
-        next if $shortName eq "Frame.o";
-        next if $shortName eq "FrameLoader.o";
-        next if $shortName eq "FrameMac.o";
-        next if $shortName eq "GCController.o";
         next if $shortName eq "GraphicsContextMac.o";
-        next if $shortName eq "HTMLButtonElement.o";
-        next if $shortName eq "HTMLElement.o";
-        next if $shortName eq "HTMLFieldSetElement.o";
-        next if $shortName eq "HTMLInputElement.o";
-        next if $shortName eq "HTMLInterchange.o";
-        next if $shortName eq "HTMLKeygenElement.o";
-        next if $shortName eq "HTMLLegendElement.o";
-        next if $shortName eq "HTMLOptGroupElement.o";
-        next if $shortName eq "HTMLOptionElement.o";
-        next if $shortName eq "HTMLParser.o";
-        next if $shortName eq "HTMLSelectElement.o";
         next if $shortName eq "HTMLTableElement.o";
-        next if $shortName eq "HTMLTextAreaElement.o";
         next if $shortName eq "IconDatabase.o";
         next if $shortName eq "Image.o";
-        next if $shortName eq "IndentOutdentCommand.o";
-        next if $shortName eq "InspectorController.o";
-        next if $shortName eq "JSDOMBinding.o";
         next if $shortName eq "JSHTMLElementWrapperFactory.o";
-        next if $shortName eq "JSInspectedObjectWrapper.o";
-        next if $shortName eq "JSInspectorCallbackWrapper.o";
         next if $shortName eq "JSSVGAnimatedLength.o";
         next if $shortName eq "JSSVGAnimatedRect.o";
         next if $shortName eq "JSSVGElementWrapperFactory.o";
         next if $shortName eq "JSSVGLength.o";
         next if $shortName eq "JSSVGRect.o";
-        next if $shortName eq "JavaScriptDebugServer.o";
-        next if $shortName eq "JavaScriptProfile.o";
-        next if $shortName eq "JavaScriptProfileNode.o";
-        next if $shortName eq "KURL.o";
-        next if $shortName eq "LocalStorage.o";
-        next if $shortName eq "NetworkStateNotifier.o";
-        next if $shortName eq "Page.o";
         next if $shortName eq "PasteboardMac.o";
-        next if $shortName eq "RenderBlock.o";
-        next if $shortName eq "RenderCounter.o";
-        next if $shortName eq "RenderFlexibleBox.o";
         next if $shortName eq "RenderLayer.o";
-        next if $shortName eq "RenderListItem.o";
-        next if $shortName eq "RenderScrollbarTheme.o";
-        next if $shortName eq "RenderStyle.o";
-        next if $shortName eq "RenderThemeMac.o";
-        next if $shortName eq "ReplaceSelectionCommand.o";
-        next if $shortName eq "ResourceResponseMac.o";
-        next if $shortName eq "SVGAnimateMotionElement.o";
-        next if $shortName eq "SVGAnimationElement.o";
-        next if $shortName eq "SVGLangSpace.o";
-        next if $shortName eq "SVGResource.o";
-        next if $shortName eq "SVGResourceMarker.o";
-        next if $shortName eq "SVGSMILElement.o";
-        next if $shortName eq "SVGSVGElement.o";
-        next if $shortName eq "SVGStyleElement.o";
-        next if $shortName eq "SVGTextContentElement.o";
-        next if $shortName eq "ScriptElement.o";
         next if $shortName eq "ScrollView.o";
-        next if $shortName eq "ScrollbarThemeMac.o";
         next if $shortName eq "SecurityOrigin.o";
         next if $shortName eq "SimpleFontDataMac.o";
         next if $shortName eq "StyleTransformData.o";
-        next if $shortName eq "TextEncoding.o";
-        next if $shortName eq "ThemeMac.o";
-        next if $shortName eq "ThreadCheck.o";
-        next if $shortName eq "XMLHttpRequest.o";
-        next if $shortName eq "XPathExpressionNode.o";
-        next if $shortName eq "XPathParser.o";
-        next if $shortName eq "XPathValue.o";
-        next if $shortName eq "bidi.o";
-        next if $shortName eq "htmlediting.o";
-        next if $shortName eq "markup.o";
-        next if $shortName eq "runtime_root.o";
     }
 
     if ($target eq "WebKit") {
-        next if $shortName eq "AccessibilityObject.o";
-        next if $shortName eq "WebBackForwardList.o";
-        next if $shortName eq "WebBaseNetscapePluginStream.o";
         next if $shortName eq "WebHTMLRepresentation.o";
-        next if $shortName eq "WebHistoryItem.o";
         next if $shortName eq "WebNSPasteboardExtras.o";
         next if $shortName eq "WebPasteboardHelper.o";
-        next if $shortName eq "WebStringTruncator.o";
-        next if $shortName eq "WebView.o";
     }
 
     $sawError = 1 if printFunctions($shortName, $file);