<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[194819] trunk/Source</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/194819">194819</a></dd>
<dt>Author</dt> <dd>akling@apple.com</dd>
<dt>Date</dt> <dd>2016-01-09 05:13:41 -0800 (Sat, 09 Jan 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Use NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL
&lt;https://webkit.org/b/152902&gt;

Reviewed by Anders Carlsson.

Source/JavaScriptCore:

Mostly mechanical conversion to NeverDestroyed throughout JavaScriptCore.

* API/JSAPIWrapperObject.mm:
(jsAPIWrapperObjectHandleOwner):
* API/JSManagedValue.mm:
(managedValueHandleOwner):
* inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::objectGroupForBreakpointAction):
* jit/ExecutableAllocator.cpp:
(JSC::DemandExecutableAllocator::allocators):

Source/WebCore:

Mostly mechanical conversion to NeverDestroyed throughout WebCore.

* Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.cpp:
(WebCore::stringForPlaybackTargetAvailability):
* Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::directionNext):
(WebCore::IDBCursor::directionNextUnique):
(WebCore::IDBCursor::directionPrev):
(WebCore::IDBCursor::directionPrevUnique):
* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::modeReadOnly):
(WebCore::IDBTransaction::modeReadWrite):
(WebCore::IDBTransaction::modeVersionChange):
(WebCore::IDBTransaction::modeReadOnlyLegacy):
(WebCore::IDBTransaction::modeReadWriteLegacy):
* Modules/indexeddb/legacy/LegacyRequest.cpp:
(WebCore::LegacyRequest::readyState):
* Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::automaticKeyword):
(WebCore::MediaControlsHost::forcedOnlyKeyword):
(WebCore::MediaControlsHost::alwaysOnKeyword):
(WebCore::MediaControlsHost::externalDeviceType):
* Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::openKeyword):
(WebCore::MediaSource::closedKeyword):
(WebCore::MediaSource::endedKeyword):
(WebCore::MediaSource::streamEndedWithError):
* Modules/plugins/QuickTimePluginReplacement.mm:
(WebCore::quickTimePluginReplacementScript):
(WebCore::QuickTimePluginReplacement::supportsMimeType):
(WebCore::QuickTimePluginReplacement::supportsFileExtension):
* Modules/speech/SpeechSynthesis.cpp:
(WebCore::SpeechSynthesis::boundaryEventOccurred):
* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::cssPropertyIDForJSCSSPropertyName):
* bridge/c/c_instance.cpp:
(JSC::Bindings::globalExceptionString):
* css/MediaList.cpp:
(WebCore::addResolutionWarningMessageToConsole):
* css/StyleSheetContents.cpp:
(WebCore::StyleSheetContents::parseAuthorStyleSheet):
* dom/ChildListMutationScope.cpp:
(WebCore::accumulatorMap):
* dom/DOMImplementation.cpp:
(WebCore::isSupportedSVG10Feature):
(WebCore::isSupportedSVG11Feature):
* dom/Document.cpp:
(WebCore::Document::readyState):
* dom/Element.cpp:
(WebCore::Element::webkitRegionOverset):
* dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::dispatchSimulatedClick):
* dom/InlineStyleSheetOwner.cpp:
(WebCore::isValidCSSContentType):
* dom/MutationObserver.cpp:
(WebCore::activeMutationObservers):
(WebCore::suspendedMutationObservers):
* dom/MutationRecord.cpp:
* dom/PseudoElement.cpp:
(WebCore::pseudoElementTagName):
(WebCore::PseudoElement::pseudoElementNameForEvents):
* dom/QualifiedName.cpp:
(WebCore::qualifiedNameCache):
(WebCore::nullQName):
* dom/ScriptElement.cpp:
(WebCore::isLegacySupportedJavaScriptLanguage):
(WebCore::ScriptElement::notifyFinished):
* editing/ApplyStyleCommand.cpp:
(WebCore::styleSpanClassString):
* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::shouldAddNamespaceElement):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::isInterchangeNewlineNode):
(WebCore::isInterchangeConvertedSpaceSpan):
* editing/htmlediting.cpp:
(WebCore::nonBreakingSpaceString):
* editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::styleNodeCloseTag):
(WebCore::createMarkupInternal):
* fileapi/Blob.cpp:
(WebCore::BlobURLRegistry::registry):
* html/BaseChooserOnlyDateAndTimeInputType.cpp:
(WebCore::BaseChooserOnlyDateAndTimeInputType::createShadowSubtree):
* html/DateInputType.cpp:
(WebCore::DateInputType::createStepRange):
* html/DateTimeInputType.cpp:
(WebCore::DateTimeInputType::createStepRange):
* html/DateTimeLocalInputType.cpp:
(WebCore::DateTimeLocalInputType::createStepRange):
* html/EmailInputType.cpp:
(WebCore::isValidEmailAddress):
* html/FormController.cpp:
(WebCore::FormKeyGenerator::formKey):
(WebCore::formStateSignature):
* html/HTMLAnchorElement.cpp:
(WebCore::rootEditableElementMap):
* html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::formControlType):
* html/HTMLFieldSetElement.cpp:
(WebCore::HTMLFieldSetElement::formControlType):
* html/HTMLFrameOwnerElement.h:
(WebCore::SubframeLoadingDisabler::disabledSubtreeRoots):
* html/HTMLKeygenElement.cpp:
(WebCore::HTMLKeygenElement::formControlType):
* html/HTMLLinkElement.cpp:
(WebCore::linkLoadEventSender):
* html/HTMLMediaElement.cpp:
(WebCore::documentToElementSetMap):
* html/HTMLObjectElement.cpp:
(WebCore::isRecognizedTagName):
* html/HTMLOptGroupElement.cpp:
(WebCore::HTMLOptGroupElement::formControlType):
* html/HTMLOutputElement.cpp:
(WebCore::HTMLOutputElement::formControlType):
* html/HTMLPlugInElement.cpp:
(WebCore::registeredPluginReplacements):
* html/HTMLPlugInImageElement.cpp:
(WebCore::titleText):
(WebCore::subtitleText):
(WebCore::HTMLPlugInImageElement::partOfSnapshotOverlay):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::formControlType):
* html/HTMLStyleElement.cpp:
(WebCore::styleLoadEventSender):
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::formControlType):
* html/HTMLTextFormControlElement.cpp:
(WebCore::directionString):
* html/ImageInputType.cpp:
(WebCore::ImageInputType::appendFormData):
* html/InputTypeNames.cpp:
(WebCore::InputTypeNames::button):
(WebCore::InputTypeNames::checkbox):
(WebCore::InputTypeNames::color):
(WebCore::InputTypeNames::date):
(WebCore::InputTypeNames::datetime):
(WebCore::InputTypeNames::datetimelocal):
(WebCore::InputTypeNames::email):
(WebCore::InputTypeNames::file):
(WebCore::InputTypeNames::hidden):
(WebCore::InputTypeNames::image):
(WebCore::InputTypeNames::month):
(WebCore::InputTypeNames::number):
(WebCore::InputTypeNames::password):
(WebCore::InputTypeNames::radio):
(WebCore::InputTypeNames::range):
(WebCore::InputTypeNames::reset):
(WebCore::InputTypeNames::search):
(WebCore::InputTypeNames::submit):
(WebCore::InputTypeNames::telephone):
(WebCore::InputTypeNames::text):
(WebCore::InputTypeNames::time):
(WebCore::InputTypeNames::url):
(WebCore::InputTypeNames::week):
* html/MediaController.cpp:
(playbackStateWaiting):
(playbackStatePlaying):
(playbackStateEnded):
* html/MonthInputType.cpp:
(WebCore::MonthInputType::createStepRange):
* html/NumberInputType.cpp:
(WebCore::NumberInputType::createStepRange):
* html/RangeInputType.cpp:
(WebCore::RangeInputType::createStepRange):
* html/StepRange.cpp:
(WebCore::StepRange::acceptableError):
(WebCore::StepRange::alignValueForStep):
(WebCore::StepRange::stepMismatch):
* html/TimeInputType.cpp:
(WebCore::TimeInputType::createStepRange):
* html/WeekInputType.cpp:
(WebCore::WeekInputType::createStepRange):
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::getImageData):
* html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::init):
(WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay):
(WebCore::getMediaControlTimeRemainingDisplayElementShadowPseudoId):
(WebCore::getMediaControlCurrentTimeDisplayElementShadowPseudoId):
* html/shadow/MeterShadowElement.cpp:
(WebCore::MeterInnerElement::MeterInnerElement):
(WebCore::MeterValueElement::valuePseudoId):
* html/shadow/MeterShadowElement.h:
* html/shadow/SliderThumbElement.cpp:
(WebCore::sliderThumbShadowPseudoId):
(WebCore::mediaSliderThumbShadowPseudoId):
(WebCore::SliderContainerElement::shadowPseudoId):
* html/track/AudioTrack.cpp:
(WebCore::AudioTrack::alternativeKeyword):
(WebCore::AudioTrack::descriptionKeyword):
(WebCore::AudioTrack::mainKeyword):
(WebCore::AudioTrack::mainDescKeyword):
(WebCore::AudioTrack::translationKeyword):
(WebCore::AudioTrack::commentaryKeyword):
* html/track/TextTrack.cpp:
(WebCore::TextTrack::subtitlesKeyword):
(WebCore::TextTrack::captionsKeyword):
(WebCore::TextTrack::descriptionsKeyword):
(WebCore::TextTrack::chaptersKeyword):
(WebCore::TextTrack::metadataKeyword):
(WebCore::TextTrack::forcedKeyword):
(WebCore::TextTrack::disabledKeyword):
(WebCore::TextTrack::hiddenKeyword):
(WebCore::TextTrack::showingKeyword):
* html/track/TextTrackCue.h:
(WebCore::TextTrackCue::cueShadowPseudoId):
* html/track/VTTCue.cpp:
(WebCore::startKeyword):
(WebCore::middleKeyword):
(WebCore::endKeyword):
(WebCore::leftKeyword):
(WebCore::rightKeyword):
(WebCore::verticalGrowingLeftKeyword):
(WebCore::verticalGrowingRightKeyword):
(WebCore::VTTCueBox::vttCueBoxShadowPseudoId):
(WebCore::VTTCue::cueBackdropShadowPseudoId):
(WebCore::VTTCue::determineTextDirection):
(WebCore::VTTCue::markFutureAndPastNodes):
* html/track/VTTRegion.cpp:
(WebCore::VTTRegion::scroll):
(WebCore::VTTRegion::setScroll):
(WebCore::VTTRegion::parseSettingValue):
(WebCore::VTTRegion::textTrackCueContainerScrollingClass):
* html/track/VideoTrack.cpp:
(WebCore::VideoTrack::alternativeKeyword):
(WebCore::VideoTrack::captionsKeyword):
(WebCore::VideoTrack::mainKeyword):
(WebCore::VideoTrack::signKeyword):
(WebCore::VideoTrack::subtitlesKeyword):
(WebCore::VideoTrack::commentaryKeyword):
* html/track/WebVTTElement.cpp:
(WebCore::nodeTypeToTagName):
* html/track/WebVTTElement.h:
* html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::collectMetadataHeader):
* inspector/InspectorCSSAgent.cpp:
(WebCore::computePseudoClassMask):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::sourceMapURLForResource):
* inspector/InspectorStyleSheet.cpp:
(WebCore::selectorsFromSource):
* inspector/PageDebuggerAgent.cpp:
(WebCore::PageDebuggerAgent::sourceMapURLForScript):
* loader/ImageLoader.cpp:
(WebCore::ImageLoader::notifyFinished):
* loader/TextTrackLoader.cpp:
(WebCore::TextTrackLoader::corsPolicyPreventedLoad):
* loader/cache/CachedResourceRequest.cpp:
(WebCore::CachedResourceRequest::initiatorName):
* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::defaultDatabaseFilename):
* page/CaptionUserPreferences.cpp:
(WebCore::CaptionUserPreferences::updateCaptionStyleSheetOveride):
* page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::captionsBackgroundCSS):
(WebCore::CaptionUserPreferencesMediaAF::captionsTextEdgeCSS):
* page/ContentSecurityPolicy.cpp:
(WebCore::CSPDirectiveList::allowJavaScriptURLs):
(WebCore::CSPDirectiveList::allowInlineEventHandlers):
(WebCore::CSPDirectiveList::allowInlineScript):
(WebCore::CSPDirectiveList::allowInlineStyle):
(WebCore::CSPDirectiveList::allowEval):
(WebCore::ContentSecurityPolicy::reportUnsupportedDirective):
* page/DOMWindow.cpp:
(WebCore::windowsWithUnloadEventListeners):
(WebCore::windowsWithBeforeUnloadEventListeners):
* page/EventHandler.cpp:
(WebCore::EventHandler::dragState):
(WebCore::focusDirectionForKey):
* page/Frame.cpp:
(WebCore::createRegExpForLabels):
* page/NavigatorBase.cpp:
(WebCore::NavigatorBase::platform):
* page/PageVisibilityState.cpp:
(WebCore::pageVisibilityStateString):
* page/SecurityPolicy.cpp:
(WebCore::originAccessMap):
* page/UserContentURLPattern.cpp:
(WebCore::UserContentURLPattern::parse):
* page/animation/CSSPropertyAnimation.cpp:
(WebCore::shadowForBlending):
* page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::updateKeyframeAnimations):
* platform/Cursor.cpp:
(WebCore::pointerCursor):
(WebCore::crossCursor):
(WebCore::handCursor):
(WebCore::moveCursor):
(WebCore::verticalTextCursor):
(WebCore::cellCursor):
(WebCore::contextMenuCursor):
(WebCore::aliasCursor):
(WebCore::zoomInCursor):
(WebCore::zoomOutCursor):
(WebCore::copyCursor):
(WebCore::noneCursor):
(WebCore::progressCursor):
(WebCore::noDropCursor):
(WebCore::notAllowedCursor):
(WebCore::iBeamCursor):
(WebCore::waitCursor):
(WebCore::helpCursor):
(WebCore::eastResizeCursor):
(WebCore::northResizeCursor):
(WebCore::northEastResizeCursor):
(WebCore::northWestResizeCursor):
(WebCore::southResizeCursor):
(WebCore::southEastResizeCursor):
(WebCore::southWestResizeCursor):
(WebCore::westResizeCursor):
(WebCore::northSouthResizeCursor):
(WebCore::eastWestResizeCursor):
(WebCore::northEastSouthWestResizeCursor):
(WebCore::northWestSouthEastResizeCursor):
(WebCore::columnResizeCursor):
(WebCore::rowResizeCursor):
(WebCore::middlePanningCursor):
(WebCore::eastPanningCursor):
(WebCore::northPanningCursor):
(WebCore::northEastPanningCursor):
(WebCore::northWestPanningCursor):
(WebCore::southPanningCursor):
(WebCore::southEastPanningCursor):
(WebCore::southWestPanningCursor):
(WebCore::westPanningCursor):
(WebCore::grabCursor):
(WebCore::grabbingCursor):
* platform/Language.cpp:
(WebCore::preferredLanguagesOverride):
* platform/LocalizedStrings.cpp:
(WebCore::truncatedStringForLookupMenuItem):
* platform/MIMETypeRegistry.cpp:
(WebCore::mediaMIMETypeMap):
(WebCore::defaultMIMEType):
* platform/SchemeRegistry.cpp:
(WebCore::localURLSchemes):
(WebCore::displayIsolatedURLSchemes):
(WebCore::secureSchemes):
(WebCore::schemesWithUniqueOrigins):
(WebCore::emptyDocumentSchemes):
(WebCore::schemesForbiddenFromDomainRelaxation):
(WebCore::canDisplayOnlyIfCanRequestSchemes):
(WebCore::notAllowingJavascriptURLsSchemes):
(WebCore::schemesAllowingLocalStorageAccessInPrivateBrowsing):
(WebCore::schemesAllowingDatabaseAccessInPrivateBrowsing):
(WebCore::CORSEnabledSchemes):
(WebCore::ContentSecurityPolicyBypassingSchemes):
* platform/ScrollbarTheme.cpp:
(WebCore::ScrollbarTheme::theme):
* platform/URL.cpp:
(WebCore::blankURL):
* platform/animation/Animation.cpp:
(WebCore::Animation::initialName):
* platform/audio/AudioSession.cpp:
(WebCore::AudioSession::sharedSession):
* platform/audio/AudioSession.h:
* platform/audio/HRTFElevation.cpp:
(WebCore::getConcatenatedImpulseResponsesForSubject):
* platform/audio/ios/AudioDestinationIOS.cpp:
(WebCore::audioDestinations):
* platform/graphics/GraphicsLayer.cpp:
(WebCore::repaintRectMap):
* platform/graphics/ImageBuffer.cpp:
(WebCore::ImageBuffer::transformColorSpace):
* platform/graphics/MediaPlayer.cpp:
(WebCore::applicationOctetStream):
(WebCore::textPlain):
(WebCore::codecs):
* platform/graphics/ShadowBlur.cpp:
(WebCore::ScratchBuffer::singleton):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::playerToPrivateMap):
* platform/graphics/filters/SourceAlpha.cpp:
(WebCore::SourceAlpha::effectName):
* platform/graphics/filters/SourceGraphic.cpp:
(WebCore::SourceGraphic::effectName):
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::mimeCommonTypesCache):
(WebCore::mimeModernTypesCache):
* platform/ios/CursorIOS.cpp:
(WebCore::cursor):
* platform/ios/TileControllerMemoryHandlerIOS.cpp:
(WebCore::tileControllerMemoryHandler):
* platform/ios/WebCoreMotionManager.mm:
(+[WebCoreMotionManager sharedManager]):
* platform/ios/WebVideoFullscreenModelVideoElement.mm:
(WebVideoFullscreenModelVideoElement::updateForEventName):
* platform/ios/wak/WKContentObservation.cpp:
(WebThreadGetObservedContentModifiers):
* platform/mac/DragImageMac.mm:
(WebCore::fontFromNSFont):
* platform/mac/ThemeMac.mm:
(WebCore::platformTheme):
* platform/mac/ThreadCheck.mm:
(WebCoreReportThreadViolation):
* platform/mediastream/mac/AVCaptureDeviceManager.h:
* platform/mediastream/mac/AVCaptureDeviceManager.mm:
(WebCore::AVCaptureDeviceManager::singleton):
* platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
(WebCore::RealtimeMediaSourceCenter::platformCenter):
* platform/mock/mediasource/MockBox.cpp:
(WebCore::MockTrackBox::type):
(WebCore::MockInitializationBox::type):
(WebCore::MockSampleBox::type):
* platform/network/HTTPParsers.cpp:
(WebCore::parseXSSProtectionHeader):
* platform/network/ResourceHandle.cpp:
(WebCore::builtinResourceHandleConstructorMap):
(WebCore::builtinResourceHandleSynchronousLoaderMap):
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::allowsAnyHTTPSCertificateHosts):
(WebCore::clientCerts):
* platform/text/AtomicStringKeyedMRUCache.h:
(WebCore::AtomicStringKeyedMRUCache::get):
* platform/text/cf/HyphenationCF.cpp:
(WebCore::cfLocaleCache):
* rendering/RenderBlock.cpp:
(WebCore::continuationOutlineTable):
* rendering/RenderCounter.cpp:
(WebCore::counterMaps):
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::drawPlatformResizerImage):
* rendering/RenderScrollbarTheme.cpp:
(WebCore::RenderScrollbarTheme::renderScrollbarTheme):
* rendering/RenderTheme.cpp:
(WebCore::customFocusRingColor):
* rendering/RenderWidget.cpp:
(WebCore::WidgetHierarchyUpdatesSuspensionScope::widgetNewParentMap):
* rendering/shapes/ShapeOutsideInfo.h:
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::hyphenString):
(WebCore::RenderStyle::textEmphasisMarkString):
(WebCore::RenderStyle::initialDashboardRegions):
(WebCore::RenderStyle::noneDashboardRegions):
* rendering/style/RenderStyle.h:
* rendering/svg/RenderSVGPath.cpp:
(WebCore::RenderSVGPath::zeroLengthLinecapPath):
* rendering/svg/RenderSVGShape.cpp:
(WebCore::RenderSVGShape::nonScalingStrokePath):
* rendering/svg/SVGRenderingContext.cpp:
(WebCore::currentContentTransformation):
* rendering/svg/SVGResources.cpp:
(WebCore::clipperFilterMaskerTags):
(WebCore::markerTags):
(WebCore::fillAndStrokeTags):
(WebCore::chainableResourceTags):
* svg/SVGAngle.cpp:
(WebCore::SVGAngle::valueAsString):
* svg/SVGAnimateColorElement.cpp:
(WebCore::attributeValueIsCurrentColor):
* svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::rotateMode):
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::setCalcMode):
(WebCore::SVGAnimationElement::setAttributeType):
(WebCore::SVGAnimationElement::isAdditive):
(WebCore::SVGAnimationElement::isAccumulated):
(WebCore::inheritsFromProperty):
* svg/SVGFEConvolveMatrixElement.cpp:
(WebCore::SVGFEConvolveMatrixElement::kernelUnitLengthXIdentifier):
(WebCore::SVGFEConvolveMatrixElement::kernelUnitLengthYIdentifier):
(WebCore::SVGFEConvolveMatrixElement::orderXIdentifier):
(WebCore::SVGFEConvolveMatrixElement::orderYIdentifier):
* svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthXIdentifier):
(WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthYIdentifier):
* svg/SVGFEDropShadowElement.cpp:
(WebCore::SVGFEDropShadowElement::stdDeviationXIdentifier):
(WebCore::SVGFEDropShadowElement::stdDeviationYIdentifier):
* svg/SVGFEGaussianBlurElement.cpp:
(WebCore::SVGFEGaussianBlurElement::stdDeviationXIdentifier):
(WebCore::SVGFEGaussianBlurElement::stdDeviationYIdentifier):
* svg/SVGFEMorphologyElement.cpp:
(WebCore::SVGFEMorphologyElement::radiusXIdentifier):
(WebCore::SVGFEMorphologyElement::radiusYIdentifier):
* svg/SVGFESpecularLightingElement.cpp:
(WebCore::SVGFESpecularLightingElement::kernelUnitLengthXIdentifier):
(WebCore::SVGFESpecularLightingElement::kernelUnitLengthYIdentifier):
* svg/SVGFETurbulenceElement.cpp:
(WebCore::SVGFETurbulenceElement::baseFrequencyXIdentifier):
(WebCore::SVGFETurbulenceElement::baseFrequencyYIdentifier):
* svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::filterResXIdentifier):
(WebCore::SVGFilterElement::filterResYIdentifier):
* svg/SVGGlyphMap.h:
(WebCore::SVGGlyphMap::svgGlyphForGlyph):
* svg/SVGLangSpace.cpp:
(WebCore::SVGLangSpace::xmlspace):
(WebCore::SVGLangSpace::addSupportedAttributes):
* svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::orientTypeIdentifier):
(WebCore::SVGMarkerElement::orientAngleIdentifier):
(WebCore::SVGMarkerElement::synchronizeOrientType):
* svg/SVGStyleElement.cpp:
(WebCore::SVGStyleElement::type):
(WebCore::SVGStyleElement::media):
* svg/SVGTransform.cpp:
(WebCore::SVGTransform::transformTypePrefixForParsing):
* svg/SVGViewSpec.cpp:
(WebCore::SVGViewSpec::viewBoxIdentifier):
(WebCore::SVGViewSpec::preserveAspectRatioIdentifier):
(WebCore::SVGViewSpec::transformIdentifier):
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::parseClockValue):
(WebCore::SVGSMILElement::isSupportedAttribute):
(WebCore::SVGSMILElement::restart):
(WebCore::SVGSMILElement::fill):
(WebCore::SVGSMILElement::repeatCount):
(WebCore::SVGSMILElement::notifyDependentsIntervalChanged):

Source/WTF:

Mostly mechanical conversion to NeverDestroyed throughout WTF.

* wtf/RunLoop.cpp:
(WTF::RunLoop::current):
* wtf/ThreadingPthreads.cpp:
(WTF::threadMapMutex):
(WTF::threadMap):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreAPIJSAPIWrapperObjectmm">trunk/Source/JavaScriptCore/API/JSAPIWrapperObject.mm</a></li>
<li><a href="#trunkSourceJavaScriptCoreAPIJSManagedValuemm">trunk/Source/JavaScriptCore/API/JSManagedValue.mm</a></li>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectoragentsInspectorDebuggerAgentcpp">trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorejitExecutableAllocatorcpp">trunk/Source/JavaScriptCore/jit/ExecutableAllocator.cpp</a></li>
<li><a href="#trunkSourceWTFChangeLog">trunk/Source/WTF/ChangeLog</a></li>
<li><a href="#trunkSourceWTFwtfRunLoopcpp">trunk/Source/WTF/wtf/RunLoop.cpp</a></li>
<li><a href="#trunkSourceWTFwtfThreadingPthreadscpp">trunk/Source/WTF/wtf/ThreadingPthreads.cpp</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulesairplayWebKitPlaybackTargetAvailabilityEventcpp">trunk/Source/WebCore/Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBCursorcpp">trunk/Source/WebCore/Modules/indexeddb/IDBCursor.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBTransactioncpp">trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddblegacyLegacyRequestcpp">trunk/Source/WebCore/Modules/indexeddb/legacy/LegacyRequest.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediacontrolsMediaControlsHostcpp">trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediasourceMediaSourcecpp">trunk/Source/WebCore/Modules/mediasource/MediaSource.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulespluginsQuickTimePluginReplacementmm">trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.mm</a></li>
<li><a href="#trunkSourceWebCoreModulesspeechSpeechSynthesiscpp">trunk/Source/WebCore/Modules/speech/SpeechSynthesis.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSCSSStyleDeclarationCustomcpp">trunk/Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebridgecc_instancecpp">trunk/Source/WebCore/bridge/c/c_instance.cpp</a></li>
<li><a href="#trunkSourceWebCorecssMediaListcpp">trunk/Source/WebCore/css/MediaList.cpp</a></li>
<li><a href="#trunkSourceWebCorecssStyleSheetContentscpp">trunk/Source/WebCore/css/StyleSheetContents.cpp</a></li>
<li><a href="#trunkSourceWebCoredomChildListMutationScopecpp">trunk/Source/WebCore/dom/ChildListMutationScope.cpp</a></li>
<li><a href="#trunkSourceWebCoredomDOMImplementationcpp">trunk/Source/WebCore/dom/DOMImplementation.cpp</a></li>
<li><a href="#trunkSourceWebCoredomDocumentcpp">trunk/Source/WebCore/dom/Document.cpp</a></li>
<li><a href="#trunkSourceWebCoredomElementcpp">trunk/Source/WebCore/dom/Element.cpp</a></li>
<li><a href="#trunkSourceWebCoredomEventDispatchercpp">trunk/Source/WebCore/dom/EventDispatcher.cpp</a></li>
<li><a href="#trunkSourceWebCoredomInlineStyleSheetOwnercpp">trunk/Source/WebCore/dom/InlineStyleSheetOwner.cpp</a></li>
<li><a href="#trunkSourceWebCoredomMutationObservercpp">trunk/Source/WebCore/dom/MutationObserver.cpp</a></li>
<li><a href="#trunkSourceWebCoredomMutationRecordcpp">trunk/Source/WebCore/dom/MutationRecord.cpp</a></li>
<li><a href="#trunkSourceWebCoredomPseudoElementcpp">trunk/Source/WebCore/dom/PseudoElement.cpp</a></li>
<li><a href="#trunkSourceWebCoredomQualifiedNamecpp">trunk/Source/WebCore/dom/QualifiedName.cpp</a></li>
<li><a href="#trunkSourceWebCoredomScriptElementcpp">trunk/Source/WebCore/dom/ScriptElement.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingApplyStyleCommandcpp">trunk/Source/WebCore/editing/ApplyStyleCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingMarkupAccumulatorcpp">trunk/Source/WebCore/editing/MarkupAccumulator.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingReplaceSelectionCommandcpp">trunk/Source/WebCore/editing/ReplaceSelectionCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditinghtmleditingcpp">trunk/Source/WebCore/editing/htmlediting.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingmarkupcpp">trunk/Source/WebCore/editing/markup.cpp</a></li>
<li><a href="#trunkSourceWebCorefileapiBlobcpp">trunk/Source/WebCore/fileapi/Blob.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlBaseChooserOnlyDateAndTimeInputTypecpp">trunk/Source/WebCore/html/BaseChooserOnlyDateAndTimeInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlDateInputTypecpp">trunk/Source/WebCore/html/DateInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlDateTimeInputTypecpp">trunk/Source/WebCore/html/DateTimeInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlDateTimeLocalInputTypecpp">trunk/Source/WebCore/html/DateTimeLocalInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlEmailInputTypecpp">trunk/Source/WebCore/html/EmailInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlFormControllercpp">trunk/Source/WebCore/html/FormController.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLAnchorElementcpp">trunk/Source/WebCore/html/HTMLAnchorElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLButtonElementcpp">trunk/Source/WebCore/html/HTMLButtonElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLFieldSetElementcpp">trunk/Source/WebCore/html/HTMLFieldSetElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLFrameOwnerElementh">trunk/Source/WebCore/html/HTMLFrameOwnerElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLKeygenElementcpp">trunk/Source/WebCore/html/HTMLKeygenElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLLinkElementcpp">trunk/Source/WebCore/html/HTMLLinkElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLMediaElementcpp">trunk/Source/WebCore/html/HTMLMediaElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLObjectElementcpp">trunk/Source/WebCore/html/HTMLObjectElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLOptGroupElementcpp">trunk/Source/WebCore/html/HTMLOptGroupElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLOutputElementcpp">trunk/Source/WebCore/html/HTMLOutputElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLPlugInElementcpp">trunk/Source/WebCore/html/HTMLPlugInElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLPlugInImageElementcpp">trunk/Source/WebCore/html/HTMLPlugInImageElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLSelectElementcpp">trunk/Source/WebCore/html/HTMLSelectElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLStyleElementcpp">trunk/Source/WebCore/html/HTMLStyleElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTextAreaElementcpp">trunk/Source/WebCore/html/HTMLTextAreaElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTextFormControlElementcpp">trunk/Source/WebCore/html/HTMLTextFormControlElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlImageInputTypecpp">trunk/Source/WebCore/html/ImageInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlInputTypeNamescpp">trunk/Source/WebCore/html/InputTypeNames.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlMediaControllercpp">trunk/Source/WebCore/html/MediaController.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlMonthInputTypecpp">trunk/Source/WebCore/html/MonthInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlNumberInputTypecpp">trunk/Source/WebCore/html/NumberInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlRangeInputTypecpp">trunk/Source/WebCore/html/RangeInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlStepRangecpp">trunk/Source/WebCore/html/StepRange.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlTimeInputTypecpp">trunk/Source/WebCore/html/TimeInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlWeekInputTypecpp">trunk/Source/WebCore/html/WeekInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasCanvasRenderingContext2Dcpp">trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlparserXSSAuditorcpp">trunk/Source/WebCore/html/parser/XSSAuditor.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlshadowMediaControlElementscpp">trunk/Source/WebCore/html/shadow/MediaControlElements.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlshadowMeterShadowElementcpp">trunk/Source/WebCore/html/shadow/MeterShadowElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlshadowMeterShadowElementh">trunk/Source/WebCore/html/shadow/MeterShadowElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlshadowSliderThumbElementcpp">trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmltrackAudioTrackcpp">trunk/Source/WebCore/html/track/AudioTrack.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmltrackTextTrackcpp">trunk/Source/WebCore/html/track/TextTrack.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmltrackTextTrackCueh">trunk/Source/WebCore/html/track/TextTrackCue.h</a></li>
<li><a href="#trunkSourceWebCorehtmltrackVTTCuecpp">trunk/Source/WebCore/html/track/VTTCue.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmltrackVTTRegioncpp">trunk/Source/WebCore/html/track/VTTRegion.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmltrackVideoTrackcpp">trunk/Source/WebCore/html/track/VideoTrack.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmltrackWebVTTElementcpp">trunk/Source/WebCore/html/track/WebVTTElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmltrackWebVTTElementh">trunk/Source/WebCore/html/track/WebVTTElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmltrackWebVTTParsercpp">trunk/Source/WebCore/html/track/WebVTTParser.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorCSSAgentcpp">trunk/Source/WebCore/inspector/InspectorCSSAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorPageAgentcpp">trunk/Source/WebCore/inspector/InspectorPageAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorStyleSheetcpp">trunk/Source/WebCore/inspector/InspectorStyleSheet.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorPageDebuggerAgentcpp">trunk/Source/WebCore/inspector/PageDebuggerAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderImageLoadercpp">trunk/Source/WebCore/loader/ImageLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderTextTrackLoadercpp">trunk/Source/WebCore/loader/TextTrackLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedResourceRequestcpp">trunk/Source/WebCore/loader/cache/CachedResourceRequest.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadericonIconDatabasecpp">trunk/Source/WebCore/loader/icon/IconDatabase.cpp</a></li>
<li><a href="#trunkSourceWebCorepageCaptionUserPreferencescpp">trunk/Source/WebCore/page/CaptionUserPreferences.cpp</a></li>
<li><a href="#trunkSourceWebCorepageCaptionUserPreferencesMediaAFcpp">trunk/Source/WebCore/page/CaptionUserPreferencesMediaAF.cpp</a></li>
<li><a href="#trunkSourceWebCorepageContentSecurityPolicycpp">trunk/Source/WebCore/page/ContentSecurityPolicy.cpp</a></li>
<li><a href="#trunkSourceWebCorepageDOMWindowcpp">trunk/Source/WebCore/page/DOMWindow.cpp</a></li>
<li><a href="#trunkSourceWebCorepageEventHandlercpp">trunk/Source/WebCore/page/EventHandler.cpp</a></li>
<li><a href="#trunkSourceWebCorepageFramecpp">trunk/Source/WebCore/page/Frame.cpp</a></li>
<li><a href="#trunkSourceWebCorepageNavigatorBasecpp">trunk/Source/WebCore/page/NavigatorBase.cpp</a></li>
<li><a href="#trunkSourceWebCorepagePageVisibilityStatecpp">trunk/Source/WebCore/page/PageVisibilityState.cpp</a></li>
<li><a href="#trunkSourceWebCorepageSecurityPolicycpp">trunk/Source/WebCore/page/SecurityPolicy.cpp</a></li>
<li><a href="#trunkSourceWebCorepageUserContentURLPatterncpp">trunk/Source/WebCore/page/UserContentURLPattern.cpp</a></li>
<li><a href="#trunkSourceWebCorepageanimationCSSPropertyAnimationcpp">trunk/Source/WebCore/page/animation/CSSPropertyAnimation.cpp</a></li>
<li><a href="#trunkSourceWebCorepageanimationCompositeAnimationcpp">trunk/Source/WebCore/page/animation/CompositeAnimation.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformCursorcpp">trunk/Source/WebCore/platform/Cursor.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformLanguagecpp">trunk/Source/WebCore/platform/Language.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformLocalizedStringscpp">trunk/Source/WebCore/platform/LocalizedStrings.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformMIMETypeRegistrycpp">trunk/Source/WebCore/platform/MIMETypeRegistry.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformSchemeRegistrycpp">trunk/Source/WebCore/platform/SchemeRegistry.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformScrollbarThemecpp">trunk/Source/WebCore/platform/ScrollbarTheme.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformURLcpp">trunk/Source/WebCore/platform/URL.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformanimationAnimationcpp">trunk/Source/WebCore/platform/animation/Animation.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformaudioAudioSessioncpp">trunk/Source/WebCore/platform/audio/AudioSession.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformaudioAudioSessionh">trunk/Source/WebCore/platform/audio/AudioSession.h</a></li>
<li><a href="#trunkSourceWebCoreplatformaudioHRTFElevationcpp">trunk/Source/WebCore/platform/audio/HRTFElevation.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformaudioiosAudioDestinationIOScpp">trunk/Source/WebCore/platform/audio/ios/AudioDestinationIOS.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsGraphicsLayercpp">trunk/Source/WebCore/platform/graphics/GraphicsLayer.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsImageBuffercpp">trunk/Source/WebCore/platform/graphics/ImageBuffer.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsMediaPlayercpp">trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsShadowBlurcpp">trunk/Source/WebCore/platform/graphics/ShadowBlur.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationobjcMediaPlayerPrivateAVFoundationObjCmm">trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsfiltersSourceAlphacpp">trunk/Source/WebCore/platform/graphics/filters/SourceAlpha.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsfiltersSourceGraphiccpp">trunk/Source/WebCore/platform/graphics/filters/SourceGraphic.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsmacMediaPlayerPrivateQTKitmm">trunk/Source/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformiosCursorIOScpp">trunk/Source/WebCore/platform/ios/CursorIOS.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformiosLegacyTileGridTilemm">trunk/Source/WebCore/platform/ios/LegacyTileGridTile.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformiosTileControllerMemoryHandlerIOScpp">trunk/Source/WebCore/platform/ios/TileControllerMemoryHandlerIOS.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformiosTileControllerMemoryHandlerIOSh">trunk/Source/WebCore/platform/ios/TileControllerMemoryHandlerIOS.h</a></li>
<li><a href="#trunkSourceWebCoreplatformiosWebCoreMotionManagermm">trunk/Source/WebCore/platform/ios/WebCoreMotionManager.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformiosWebVideoFullscreenModelVideoElementmm">trunk/Source/WebCore/platform/ios/WebVideoFullscreenModelVideoElement.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformioswakWKContentObservationcpp">trunk/Source/WebCore/platform/ios/wak/WKContentObservation.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformmacDragImageMacmm">trunk/Source/WebCore/platform/mac/DragImageMac.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformmacThemeMacmm">trunk/Source/WebCore/platform/mac/ThemeMac.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformmacThreadCheckmm">trunk/Source/WebCore/platform/mac/ThreadCheck.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformmediastreammacAVCaptureDeviceManagerh">trunk/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.h</a></li>
<li><a href="#trunkSourceWebCoreplatformmediastreammacAVCaptureDeviceManagermm">trunk/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformmediastreammacRealtimeMediaSourceCenterMaccpp">trunk/Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformmockmediasourceMockBoxcpp">trunk/Source/WebCore/platform/mock/mediasource/MockBox.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkHTTPParserscpp">trunk/Source/WebCore/platform/network/HTTPParsers.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkResourceHandlecpp">trunk/Source/WebCore/platform/network/ResourceHandle.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcfResourceHandleCFNetcpp">trunk/Source/WebCore/platform/network/cf/ResourceHandleCFNet.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformtextAtomicStringKeyedMRUCacheh">trunk/Source/WebCore/platform/text/AtomicStringKeyedMRUCache.h</a></li>
<li><a href="#trunkSourceWebCoreplatformtextcfHyphenationCFcpp">trunk/Source/WebCore/platform/text/cf/HyphenationCF.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderBlockcpp">trunk/Source/WebCore/rendering/RenderBlock.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderCountercpp">trunk/Source/WebCore/rendering/RenderCounter.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderDeprecatedFlexibleBoxcpp">trunk/Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderLayercpp">trunk/Source/WebCore/rendering/RenderLayer.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderScrollbarThemecpp">trunk/Source/WebCore/rendering/RenderScrollbarTheme.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderThemecpp">trunk/Source/WebCore/rendering/RenderTheme.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderWidgetcpp">trunk/Source/WebCore/rendering/RenderWidget.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingshapesShapeOutsideInfoh">trunk/Source/WebCore/rendering/shapes/ShapeOutsideInfo.h</a></li>
<li><a href="#trunkSourceWebCorerenderingstyleRenderStylecpp">trunk/Source/WebCore/rendering/style/RenderStyle.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingstyleRenderStyleh">trunk/Source/WebCore/rendering/style/RenderStyle.h</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgRenderSVGPathcpp">trunk/Source/WebCore/rendering/svg/RenderSVGPath.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgRenderSVGShapecpp">trunk/Source/WebCore/rendering/svg/RenderSVGShape.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgSVGRenderingContextcpp">trunk/Source/WebCore/rendering/svg/SVGRenderingContext.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgSVGResourcescpp">trunk/Source/WebCore/rendering/svg/SVGResources.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGAnglecpp">trunk/Source/WebCore/svg/SVGAngle.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGAnimateColorElementcpp">trunk/Source/WebCore/svg/SVGAnimateColorElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGAnimateMotionElementcpp">trunk/Source/WebCore/svg/SVGAnimateMotionElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGAnimationElementcpp">trunk/Source/WebCore/svg/SVGAnimationElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFEConvolveMatrixElementcpp">trunk/Source/WebCore/svg/SVGFEConvolveMatrixElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFEDiffuseLightingElementcpp">trunk/Source/WebCore/svg/SVGFEDiffuseLightingElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFEDropShadowElementcpp">trunk/Source/WebCore/svg/SVGFEDropShadowElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFEGaussianBlurElementcpp">trunk/Source/WebCore/svg/SVGFEGaussianBlurElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFEMorphologyElementcpp">trunk/Source/WebCore/svg/SVGFEMorphologyElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFESpecularLightingElementcpp">trunk/Source/WebCore/svg/SVGFESpecularLightingElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFETurbulenceElementcpp">trunk/Source/WebCore/svg/SVGFETurbulenceElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFilterElementcpp">trunk/Source/WebCore/svg/SVGFilterElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGGlyphMaph">trunk/Source/WebCore/svg/SVGGlyphMap.h</a></li>
<li><a href="#trunkSourceWebCoresvgSVGLangSpacecpp">trunk/Source/WebCore/svg/SVGLangSpace.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGMarkerElementcpp">trunk/Source/WebCore/svg/SVGMarkerElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGStyleElementcpp">trunk/Source/WebCore/svg/SVGStyleElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGTransformcpp">trunk/Source/WebCore/svg/SVGTransform.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGViewSpeccpp">trunk/Source/WebCore/svg/SVGViewSpec.cpp</a></li>
<li><a href="#trunkSourceWebCoresvganimationSVGSMILElementcpp">trunk/Source/WebCore/svg/animation/SVGSMILElement.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceJavaScriptCoreAPIJSAPIWrapperObjectmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/API/JSAPIWrapperObject.mm (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/API/JSAPIWrapperObject.mm        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/JavaScriptCore/API/JSAPIWrapperObject.mm        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -30,6 +30,7 @@
</span><span class="cx"> #include &quot;JSCallbackObject.h&quot;
</span><span class="cx"> #include &quot;JSVirtualMachineInternal.h&quot;
</span><span class="cx"> #include &quot;Structure.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> #if JSC_OBJC_API_ENABLED
</span><span class="cx"> 
</span><span class="lines">@@ -41,8 +42,8 @@
</span><span class="cx"> 
</span><span class="cx"> static JSAPIWrapperObjectHandleOwner* jsAPIWrapperObjectHandleOwner()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(JSAPIWrapperObjectHandleOwner, jsWrapperObjectHandleOwner, ());
-    return &amp;jsWrapperObjectHandleOwner;
</del><ins>+    static NeverDestroyed&lt;JSAPIWrapperObjectHandleOwner&gt; jsWrapperObjectHandleOwner;
+    return &amp;jsWrapperObjectHandleOwner.get();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void JSAPIWrapperObjectHandleOwner::finalize(JSC::Handle&lt;JSC::Unknown&gt; handle, void*)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreAPIJSManagedValuemm"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/API/JSManagedValue.mm (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/API/JSManagedValue.mm        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/JavaScriptCore/API/JSManagedValue.mm        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -37,6 +37,7 @@
</span><span class="cx"> #import &quot;WeakHandleOwner.h&quot;
</span><span class="cx"> #import &quot;ObjcRuntimeExtras.h&quot;
</span><span class="cx"> #import &quot;JSCInlines.h&quot;
</span><ins>+#import &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #import &lt;wtf/spi/cocoa/NSMapTableSPI.h&gt;
</span><span class="cx"> 
</span><span class="cx"> class JSManagedValueHandleOwner : public JSC::WeakHandleOwner {
</span><span class="lines">@@ -47,8 +48,8 @@
</span><span class="cx"> 
</span><span class="cx"> static JSManagedValueHandleOwner* managedValueHandleOwner()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(JSManagedValueHandleOwner, jsManagedValueHandleOwner, ());
-    return &amp;jsManagedValueHandleOwner;
</del><ins>+    static NeverDestroyed&lt;JSManagedValueHandleOwner&gt; jsManagedValueHandleOwner;
+    return &amp;jsManagedValueHandleOwner.get();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> class WeakValueRef {
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/JavaScriptCore/ChangeLog        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -1,3 +1,21 @@
</span><ins>+2016-01-09  Andreas Kling  &lt;akling@apple.com&gt;
+
+        Use NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL
+        &lt;https://webkit.org/b/152902&gt;
+
+        Reviewed by Anders Carlsson.
+
+        Mostly mechanical conversion to NeverDestroyed throughout JavaScriptCore.
+
+        * API/JSAPIWrapperObject.mm:
+        (jsAPIWrapperObjectHandleOwner):
+        * API/JSManagedValue.mm:
+        (managedValueHandleOwner):
+        * inspector/agents/InspectorDebuggerAgent.cpp:
+        (Inspector::objectGroupForBreakpointAction):
+        * jit/ExecutableAllocator.cpp:
+        (JSC::DemandExecutableAllocator::allocators):
+
</ins><span class="cx"> 2016-01-08  Filip Pizlo  &lt;fpizlo@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         FTL B3 should do varargs tail calls and stack overflows
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectoragentsInspectorDebuggerAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -39,6 +39,7 @@
</span><span class="cx"> #include &quot;ScriptDebugServer.h&quot;
</span><span class="cx"> #include &quot;ScriptObject.h&quot;
</span><span class="cx"> #include &quot;ScriptValue.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/Stopwatch.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -52,8 +53,8 @@
</span><span class="cx"> // create objects in the same group.
</span><span class="cx"> static String objectGroupForBreakpointAction(const ScriptBreakpointAction&amp; action)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, objectGroup, (&quot;breakpoint-action-&quot;, AtomicString::ConstructFromLiteral));
-    return makeString(objectGroup, String::number(action.identifier));
</del><ins>+    static NeverDestroyed&lt;String&gt; objectGroup(ASCIILiteral(&quot;breakpoint-action-&quot;));
+    return makeString(objectGroup.get(), String::number(action.identifier));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> InspectorDebuggerAgent::InspectorDebuggerAgent(AgentContext&amp; context)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorejitExecutableAllocatorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/jit/ExecutableAllocator.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/jit/ExecutableAllocator.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/JavaScriptCore/jit/ExecutableAllocator.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -134,8 +134,8 @@
</span><span class="cx">     Vector&lt;PageReservation, 16&gt; reservations;
</span><span class="cx">     static HashSet&lt;DemandExecutableAllocator*&gt;&amp; allocators()
</span><span class="cx">     {
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(HashSet&lt;DemandExecutableAllocator*&gt;, sAllocators, ());
-        return sAllocators;
</del><ins>+        static NeverDestroyed&lt;HashSet&lt;DemandExecutableAllocator*&gt;&gt; set;
+        return set;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     static StaticLock&amp; allocatorsMutex()
</span></span></pre></div>
<a id="trunkSourceWTFChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/ChangeLog (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/ChangeLog        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WTF/ChangeLog        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -1,3 +1,18 @@
</span><ins>+2016-01-09  Andreas Kling  &lt;akling@apple.com&gt;
+
+        Use NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL
+        &lt;https://webkit.org/b/152902&gt;
+
+        Reviewed by Anders Carlsson.
+
+        Mostly mechanical conversion to NeverDestroyed throughout WTF.
+
+        * wtf/RunLoop.cpp:
+        (WTF::RunLoop::current):
+        * wtf/ThreadingPthreads.cpp:
+        (WTF::threadMapMutex):
+        (WTF::threadMap):
+
</ins><span class="cx"> 2016-01-08  Anders Carlsson  &lt;andersca@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Nullopt and InPlace should be structs, not enum values
</span></span></pre></div>
<a id="trunkSourceWTFwtfRunLoopcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/RunLoop.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/RunLoop.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WTF/wtf/RunLoop.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -26,6 +26,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;RunLoop.h&quot;
</span><span class="cx"> 
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</span><span class="cx"> #include &lt;wtf/ThreadSpecific.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -56,8 +57,8 @@
</span><span class="cx"> 
</span><span class="cx"> RunLoop&amp; RunLoop::current()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(WTF::ThreadSpecific&lt;RunLoop::Holder&gt;, runLoopHolder, ());
-    return runLoopHolder-&gt;runLoop();
</del><ins>+    static NeverDestroyed&lt;ThreadSpecific&lt;Holder&gt;&gt; runLoopHolder;
+    return runLoopHolder.get()-&gt;runLoop();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> RunLoop&amp; RunLoop::main()
</span></span></pre></div>
<a id="trunkSourceWTFwtfThreadingPthreadscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/ThreadingPthreads.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/ThreadingPthreads.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WTF/wtf/ThreadingPthreads.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -44,6 +44,7 @@
</span><span class="cx"> #include &quot;ThreadIdentifierDataPthreads.h&quot;
</span><span class="cx"> #include &quot;ThreadSpecific.h&quot;
</span><span class="cx"> #include &lt;wtf/DataLog.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/RawPointer.h&gt;
</span><span class="cx"> #include &lt;wtf/WTFThreadData.h&gt;
</span><span class="cx"> #include &lt;errno.h&gt;
</span><span class="lines">@@ -99,7 +100,7 @@
</span><span class="cx"> 
</span><span class="cx"> static Mutex&amp; threadMapMutex()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Mutex, mutex, ());
</del><ins>+    static NeverDestroyed&lt;Mutex&gt; mutex;
</ins><span class="cx">     return mutex;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -125,7 +126,7 @@
</span><span class="cx"> 
</span><span class="cx"> static ThreadMap&amp; threadMap()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(ThreadMap, map, ());
</del><ins>+    static NeverDestroyed&lt;ThreadMap&gt; map;
</ins><span class="cx">     return map;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/ChangeLog        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -1,3 +1,524 @@
</span><ins>+2016-01-09  Andreas Kling  &lt;akling@apple.com&gt;
+
+        Use NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL
+        &lt;https://webkit.org/b/152902&gt;
+
+        Reviewed by Anders Carlsson.
+
+        Mostly mechanical conversion to NeverDestroyed throughout WebCore.
+
+        * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.cpp:
+        (WebCore::stringForPlaybackTargetAvailability):
+        * Modules/indexeddb/IDBCursor.cpp:
+        (WebCore::IDBCursor::directionNext):
+        (WebCore::IDBCursor::directionNextUnique):
+        (WebCore::IDBCursor::directionPrev):
+        (WebCore::IDBCursor::directionPrevUnique):
+        * Modules/indexeddb/IDBTransaction.cpp:
+        (WebCore::IDBTransaction::modeReadOnly):
+        (WebCore::IDBTransaction::modeReadWrite):
+        (WebCore::IDBTransaction::modeVersionChange):
+        (WebCore::IDBTransaction::modeReadOnlyLegacy):
+        (WebCore::IDBTransaction::modeReadWriteLegacy):
+        * Modules/indexeddb/legacy/LegacyRequest.cpp:
+        (WebCore::LegacyRequest::readyState):
+        * Modules/mediacontrols/MediaControlsHost.cpp:
+        (WebCore::MediaControlsHost::automaticKeyword):
+        (WebCore::MediaControlsHost::forcedOnlyKeyword):
+        (WebCore::MediaControlsHost::alwaysOnKeyword):
+        (WebCore::MediaControlsHost::externalDeviceType):
+        * Modules/mediasource/MediaSource.cpp:
+        (WebCore::MediaSource::openKeyword):
+        (WebCore::MediaSource::closedKeyword):
+        (WebCore::MediaSource::endedKeyword):
+        (WebCore::MediaSource::streamEndedWithError):
+        * Modules/plugins/QuickTimePluginReplacement.mm:
+        (WebCore::quickTimePluginReplacementScript):
+        (WebCore::QuickTimePluginReplacement::supportsMimeType):
+        (WebCore::QuickTimePluginReplacement::supportsFileExtension):
+        * Modules/speech/SpeechSynthesis.cpp:
+        (WebCore::SpeechSynthesis::boundaryEventOccurred):
+        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
+        (WebCore::cssPropertyIDForJSCSSPropertyName):
+        * bridge/c/c_instance.cpp:
+        (JSC::Bindings::globalExceptionString):
+        * css/MediaList.cpp:
+        (WebCore::addResolutionWarningMessageToConsole):
+        * css/StyleSheetContents.cpp:
+        (WebCore::StyleSheetContents::parseAuthorStyleSheet):
+        * dom/ChildListMutationScope.cpp:
+        (WebCore::accumulatorMap):
+        * dom/DOMImplementation.cpp:
+        (WebCore::isSupportedSVG10Feature):
+        (WebCore::isSupportedSVG11Feature):
+        * dom/Document.cpp:
+        (WebCore::Document::readyState):
+        * dom/Element.cpp:
+        (WebCore::Element::webkitRegionOverset):
+        * dom/EventDispatcher.cpp:
+        (WebCore::EventDispatcher::dispatchSimulatedClick):
+        * dom/InlineStyleSheetOwner.cpp:
+        (WebCore::isValidCSSContentType):
+        * dom/MutationObserver.cpp:
+        (WebCore::activeMutationObservers):
+        (WebCore::suspendedMutationObservers):
+        * dom/MutationRecord.cpp:
+        * dom/PseudoElement.cpp:
+        (WebCore::pseudoElementTagName):
+        (WebCore::PseudoElement::pseudoElementNameForEvents):
+        * dom/QualifiedName.cpp:
+        (WebCore::qualifiedNameCache):
+        (WebCore::nullQName):
+        * dom/ScriptElement.cpp:
+        (WebCore::isLegacySupportedJavaScriptLanguage):
+        (WebCore::ScriptElement::notifyFinished):
+        * editing/ApplyStyleCommand.cpp:
+        (WebCore::styleSpanClassString):
+        * editing/MarkupAccumulator.cpp:
+        (WebCore::MarkupAccumulator::shouldAddNamespaceElement):
+        * editing/ReplaceSelectionCommand.cpp:
+        (WebCore::isInterchangeNewlineNode):
+        (WebCore::isInterchangeConvertedSpaceSpan):
+        * editing/htmlediting.cpp:
+        (WebCore::nonBreakingSpaceString):
+        * editing/markup.cpp:
+        (WebCore::StyledMarkupAccumulator::styleNodeCloseTag):
+        (WebCore::createMarkupInternal):
+        * fileapi/Blob.cpp:
+        (WebCore::BlobURLRegistry::registry):
+        * html/BaseChooserOnlyDateAndTimeInputType.cpp:
+        (WebCore::BaseChooserOnlyDateAndTimeInputType::createShadowSubtree):
+        * html/DateInputType.cpp:
+        (WebCore::DateInputType::createStepRange):
+        * html/DateTimeInputType.cpp:
+        (WebCore::DateTimeInputType::createStepRange):
+        * html/DateTimeLocalInputType.cpp:
+        (WebCore::DateTimeLocalInputType::createStepRange):
+        * html/EmailInputType.cpp:
+        (WebCore::isValidEmailAddress):
+        * html/FormController.cpp:
+        (WebCore::FormKeyGenerator::formKey):
+        (WebCore::formStateSignature):
+        * html/HTMLAnchorElement.cpp:
+        (WebCore::rootEditableElementMap):
+        * html/HTMLButtonElement.cpp:
+        (WebCore::HTMLButtonElement::formControlType):
+        * html/HTMLFieldSetElement.cpp:
+        (WebCore::HTMLFieldSetElement::formControlType):
+        * html/HTMLFrameOwnerElement.h:
+        (WebCore::SubframeLoadingDisabler::disabledSubtreeRoots):
+        * html/HTMLKeygenElement.cpp:
+        (WebCore::HTMLKeygenElement::formControlType):
+        * html/HTMLLinkElement.cpp:
+        (WebCore::linkLoadEventSender):
+        * html/HTMLMediaElement.cpp:
+        (WebCore::documentToElementSetMap):
+        * html/HTMLObjectElement.cpp:
+        (WebCore::isRecognizedTagName):
+        * html/HTMLOptGroupElement.cpp:
+        (WebCore::HTMLOptGroupElement::formControlType):
+        * html/HTMLOutputElement.cpp:
+        (WebCore::HTMLOutputElement::formControlType):
+        * html/HTMLPlugInElement.cpp:
+        (WebCore::registeredPluginReplacements):
+        * html/HTMLPlugInImageElement.cpp:
+        (WebCore::titleText):
+        (WebCore::subtitleText):
+        (WebCore::HTMLPlugInImageElement::partOfSnapshotOverlay):
+        * html/HTMLSelectElement.cpp:
+        (WebCore::HTMLSelectElement::formControlType):
+        * html/HTMLStyleElement.cpp:
+        (WebCore::styleLoadEventSender):
+        * html/HTMLTextAreaElement.cpp:
+        (WebCore::HTMLTextAreaElement::formControlType):
+        * html/HTMLTextFormControlElement.cpp:
+        (WebCore::directionString):
+        * html/ImageInputType.cpp:
+        (WebCore::ImageInputType::appendFormData):
+        * html/InputTypeNames.cpp:
+        (WebCore::InputTypeNames::button):
+        (WebCore::InputTypeNames::checkbox):
+        (WebCore::InputTypeNames::color):
+        (WebCore::InputTypeNames::date):
+        (WebCore::InputTypeNames::datetime):
+        (WebCore::InputTypeNames::datetimelocal):
+        (WebCore::InputTypeNames::email):
+        (WebCore::InputTypeNames::file):
+        (WebCore::InputTypeNames::hidden):
+        (WebCore::InputTypeNames::image):
+        (WebCore::InputTypeNames::month):
+        (WebCore::InputTypeNames::number):
+        (WebCore::InputTypeNames::password):
+        (WebCore::InputTypeNames::radio):
+        (WebCore::InputTypeNames::range):
+        (WebCore::InputTypeNames::reset):
+        (WebCore::InputTypeNames::search):
+        (WebCore::InputTypeNames::submit):
+        (WebCore::InputTypeNames::telephone):
+        (WebCore::InputTypeNames::text):
+        (WebCore::InputTypeNames::time):
+        (WebCore::InputTypeNames::url):
+        (WebCore::InputTypeNames::week):
+        * html/MediaController.cpp:
+        (playbackStateWaiting):
+        (playbackStatePlaying):
+        (playbackStateEnded):
+        * html/MonthInputType.cpp:
+        (WebCore::MonthInputType::createStepRange):
+        * html/NumberInputType.cpp:
+        (WebCore::NumberInputType::createStepRange):
+        * html/RangeInputType.cpp:
+        (WebCore::RangeInputType::createStepRange):
+        * html/StepRange.cpp:
+        (WebCore::StepRange::acceptableError):
+        (WebCore::StepRange::alignValueForStep):
+        (WebCore::StepRange::stepMismatch):
+        * html/TimeInputType.cpp:
+        (WebCore::TimeInputType::createStepRange):
+        * html/WeekInputType.cpp:
+        (WebCore::WeekInputType::createStepRange):
+        * html/canvas/CanvasRenderingContext2D.cpp:
+        (WebCore::CanvasRenderingContext2D::getImageData):
+        * html/parser/XSSAuditor.cpp:
+        (WebCore::XSSAuditor::init):
+        (WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):
+        * html/shadow/MediaControlElements.cpp:
+        (WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay):
+        (WebCore::getMediaControlTimeRemainingDisplayElementShadowPseudoId):
+        (WebCore::getMediaControlCurrentTimeDisplayElementShadowPseudoId):
+        * html/shadow/MeterShadowElement.cpp:
+        (WebCore::MeterInnerElement::MeterInnerElement):
+        (WebCore::MeterValueElement::valuePseudoId):
+        * html/shadow/MeterShadowElement.h:
+        * html/shadow/SliderThumbElement.cpp:
+        (WebCore::sliderThumbShadowPseudoId):
+        (WebCore::mediaSliderThumbShadowPseudoId):
+        (WebCore::SliderContainerElement::shadowPseudoId):
+        * html/track/AudioTrack.cpp:
+        (WebCore::AudioTrack::alternativeKeyword):
+        (WebCore::AudioTrack::descriptionKeyword):
+        (WebCore::AudioTrack::mainKeyword):
+        (WebCore::AudioTrack::mainDescKeyword):
+        (WebCore::AudioTrack::translationKeyword):
+        (WebCore::AudioTrack::commentaryKeyword):
+        * html/track/TextTrack.cpp:
+        (WebCore::TextTrack::subtitlesKeyword):
+        (WebCore::TextTrack::captionsKeyword):
+        (WebCore::TextTrack::descriptionsKeyword):
+        (WebCore::TextTrack::chaptersKeyword):
+        (WebCore::TextTrack::metadataKeyword):
+        (WebCore::TextTrack::forcedKeyword):
+        (WebCore::TextTrack::disabledKeyword):
+        (WebCore::TextTrack::hiddenKeyword):
+        (WebCore::TextTrack::showingKeyword):
+        * html/track/TextTrackCue.h:
+        (WebCore::TextTrackCue::cueShadowPseudoId):
+        * html/track/VTTCue.cpp:
+        (WebCore::startKeyword):
+        (WebCore::middleKeyword):
+        (WebCore::endKeyword):
+        (WebCore::leftKeyword):
+        (WebCore::rightKeyword):
+        (WebCore::verticalGrowingLeftKeyword):
+        (WebCore::verticalGrowingRightKeyword):
+        (WebCore::VTTCueBox::vttCueBoxShadowPseudoId):
+        (WebCore::VTTCue::cueBackdropShadowPseudoId):
+        (WebCore::VTTCue::determineTextDirection):
+        (WebCore::VTTCue::markFutureAndPastNodes):
+        * html/track/VTTRegion.cpp:
+        (WebCore::VTTRegion::scroll):
+        (WebCore::VTTRegion::setScroll):
+        (WebCore::VTTRegion::parseSettingValue):
+        (WebCore::VTTRegion::textTrackCueContainerScrollingClass):
+        * html/track/VideoTrack.cpp:
+        (WebCore::VideoTrack::alternativeKeyword):
+        (WebCore::VideoTrack::captionsKeyword):
+        (WebCore::VideoTrack::mainKeyword):
+        (WebCore::VideoTrack::signKeyword):
+        (WebCore::VideoTrack::subtitlesKeyword):
+        (WebCore::VideoTrack::commentaryKeyword):
+        * html/track/WebVTTElement.cpp:
+        (WebCore::nodeTypeToTagName):
+        * html/track/WebVTTElement.h:
+        * html/track/WebVTTParser.cpp:
+        (WebCore::WebVTTParser::collectMetadataHeader):
+        * inspector/InspectorCSSAgent.cpp:
+        (WebCore::computePseudoClassMask):
+        * inspector/InspectorPageAgent.cpp:
+        (WebCore::InspectorPageAgent::sourceMapURLForResource):
+        * inspector/InspectorStyleSheet.cpp:
+        (WebCore::selectorsFromSource):
+        * inspector/PageDebuggerAgent.cpp:
+        (WebCore::PageDebuggerAgent::sourceMapURLForScript):
+        * loader/ImageLoader.cpp:
+        (WebCore::ImageLoader::notifyFinished):
+        * loader/TextTrackLoader.cpp:
+        (WebCore::TextTrackLoader::corsPolicyPreventedLoad):
+        * loader/cache/CachedResourceRequest.cpp:
+        (WebCore::CachedResourceRequest::initiatorName):
+        * loader/icon/IconDatabase.cpp:
+        (WebCore::IconDatabase::defaultDatabaseFilename):
+        * page/CaptionUserPreferences.cpp:
+        (WebCore::CaptionUserPreferences::updateCaptionStyleSheetOveride):
+        * page/CaptionUserPreferencesMediaAF.cpp:
+        (WebCore::CaptionUserPreferencesMediaAF::captionsBackgroundCSS):
+        (WebCore::CaptionUserPreferencesMediaAF::captionsTextEdgeCSS):
+        * page/ContentSecurityPolicy.cpp:
+        (WebCore::CSPDirectiveList::allowJavaScriptURLs):
+        (WebCore::CSPDirectiveList::allowInlineEventHandlers):
+        (WebCore::CSPDirectiveList::allowInlineScript):
+        (WebCore::CSPDirectiveList::allowInlineStyle):
+        (WebCore::CSPDirectiveList::allowEval):
+        (WebCore::ContentSecurityPolicy::reportUnsupportedDirective):
+        * page/DOMWindow.cpp:
+        (WebCore::windowsWithUnloadEventListeners):
+        (WebCore::windowsWithBeforeUnloadEventListeners):
+        * page/EventHandler.cpp:
+        (WebCore::EventHandler::dragState):
+        (WebCore::focusDirectionForKey):
+        * page/Frame.cpp:
+        (WebCore::createRegExpForLabels):
+        * page/NavigatorBase.cpp:
+        (WebCore::NavigatorBase::platform):
+        * page/PageVisibilityState.cpp:
+        (WebCore::pageVisibilityStateString):
+        * page/SecurityPolicy.cpp:
+        (WebCore::originAccessMap):
+        * page/UserContentURLPattern.cpp:
+        (WebCore::UserContentURLPattern::parse):
+        * page/animation/CSSPropertyAnimation.cpp:
+        (WebCore::shadowForBlending):
+        * page/animation/CompositeAnimation.cpp:
+        (WebCore::CompositeAnimation::updateKeyframeAnimations):
+        * platform/Cursor.cpp:
+        (WebCore::pointerCursor):
+        (WebCore::crossCursor):
+        (WebCore::handCursor):
+        (WebCore::moveCursor):
+        (WebCore::verticalTextCursor):
+        (WebCore::cellCursor):
+        (WebCore::contextMenuCursor):
+        (WebCore::aliasCursor):
+        (WebCore::zoomInCursor):
+        (WebCore::zoomOutCursor):
+        (WebCore::copyCursor):
+        (WebCore::noneCursor):
+        (WebCore::progressCursor):
+        (WebCore::noDropCursor):
+        (WebCore::notAllowedCursor):
+        (WebCore::iBeamCursor):
+        (WebCore::waitCursor):
+        (WebCore::helpCursor):
+        (WebCore::eastResizeCursor):
+        (WebCore::northResizeCursor):
+        (WebCore::northEastResizeCursor):
+        (WebCore::northWestResizeCursor):
+        (WebCore::southResizeCursor):
+        (WebCore::southEastResizeCursor):
+        (WebCore::southWestResizeCursor):
+        (WebCore::westResizeCursor):
+        (WebCore::northSouthResizeCursor):
+        (WebCore::eastWestResizeCursor):
+        (WebCore::northEastSouthWestResizeCursor):
+        (WebCore::northWestSouthEastResizeCursor):
+        (WebCore::columnResizeCursor):
+        (WebCore::rowResizeCursor):
+        (WebCore::middlePanningCursor):
+        (WebCore::eastPanningCursor):
+        (WebCore::northPanningCursor):
+        (WebCore::northEastPanningCursor):
+        (WebCore::northWestPanningCursor):
+        (WebCore::southPanningCursor):
+        (WebCore::southEastPanningCursor):
+        (WebCore::southWestPanningCursor):
+        (WebCore::westPanningCursor):
+        (WebCore::grabCursor):
+        (WebCore::grabbingCursor):
+        * platform/Language.cpp:
+        (WebCore::preferredLanguagesOverride):
+        * platform/LocalizedStrings.cpp:
+        (WebCore::truncatedStringForLookupMenuItem):
+        * platform/MIMETypeRegistry.cpp:
+        (WebCore::mediaMIMETypeMap):
+        (WebCore::defaultMIMEType):
+        * platform/SchemeRegistry.cpp:
+        (WebCore::localURLSchemes):
+        (WebCore::displayIsolatedURLSchemes):
+        (WebCore::secureSchemes):
+        (WebCore::schemesWithUniqueOrigins):
+        (WebCore::emptyDocumentSchemes):
+        (WebCore::schemesForbiddenFromDomainRelaxation):
+        (WebCore::canDisplayOnlyIfCanRequestSchemes):
+        (WebCore::notAllowingJavascriptURLsSchemes):
+        (WebCore::schemesAllowingLocalStorageAccessInPrivateBrowsing):
+        (WebCore::schemesAllowingDatabaseAccessInPrivateBrowsing):
+        (WebCore::CORSEnabledSchemes):
+        (WebCore::ContentSecurityPolicyBypassingSchemes):
+        * platform/ScrollbarTheme.cpp:
+        (WebCore::ScrollbarTheme::theme):
+        * platform/URL.cpp:
+        (WebCore::blankURL):
+        * platform/animation/Animation.cpp:
+        (WebCore::Animation::initialName):
+        * platform/audio/AudioSession.cpp:
+        (WebCore::AudioSession::sharedSession):
+        * platform/audio/AudioSession.h:
+        * platform/audio/HRTFElevation.cpp:
+        (WebCore::getConcatenatedImpulseResponsesForSubject):
+        * platform/audio/ios/AudioDestinationIOS.cpp:
+        (WebCore::audioDestinations):
+        * platform/graphics/GraphicsLayer.cpp:
+        (WebCore::repaintRectMap):
+        * platform/graphics/ImageBuffer.cpp:
+        (WebCore::ImageBuffer::transformColorSpace):
+        * platform/graphics/MediaPlayer.cpp:
+        (WebCore::applicationOctetStream):
+        (WebCore::textPlain):
+        (WebCore::codecs):
+        * platform/graphics/ShadowBlur.cpp:
+        (WebCore::ScratchBuffer::singleton):
+        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
+        (WebCore::playerToPrivateMap):
+        * platform/graphics/filters/SourceAlpha.cpp:
+        (WebCore::SourceAlpha::effectName):
+        * platform/graphics/filters/SourceGraphic.cpp:
+        (WebCore::SourceGraphic::effectName):
+        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+        (WebCore::mimeCommonTypesCache):
+        (WebCore::mimeModernTypesCache):
+        * platform/ios/CursorIOS.cpp:
+        (WebCore::cursor):
+        * platform/ios/TileControllerMemoryHandlerIOS.cpp:
+        (WebCore::tileControllerMemoryHandler):
+        * platform/ios/WebCoreMotionManager.mm:
+        (+[WebCoreMotionManager sharedManager]):
+        * platform/ios/WebVideoFullscreenModelVideoElement.mm:
+        (WebVideoFullscreenModelVideoElement::updateForEventName):
+        * platform/ios/wak/WKContentObservation.cpp:
+        (WebThreadGetObservedContentModifiers):
+        * platform/mac/DragImageMac.mm:
+        (WebCore::fontFromNSFont):
+        * platform/mac/ThemeMac.mm:
+        (WebCore::platformTheme):
+        * platform/mac/ThreadCheck.mm:
+        (WebCoreReportThreadViolation):
+        * platform/mediastream/mac/AVCaptureDeviceManager.h:
+        * platform/mediastream/mac/AVCaptureDeviceManager.mm:
+        (WebCore::AVCaptureDeviceManager::singleton):
+        * platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
+        (WebCore::RealtimeMediaSourceCenter::platformCenter):
+        * platform/mock/mediasource/MockBox.cpp:
+        (WebCore::MockTrackBox::type):
+        (WebCore::MockInitializationBox::type):
+        (WebCore::MockSampleBox::type):
+        * platform/network/HTTPParsers.cpp:
+        (WebCore::parseXSSProtectionHeader):
+        * platform/network/ResourceHandle.cpp:
+        (WebCore::builtinResourceHandleConstructorMap):
+        (WebCore::builtinResourceHandleSynchronousLoaderMap):
+        * platform/network/cf/ResourceHandleCFNet.cpp:
+        (WebCore::allowsAnyHTTPSCertificateHosts):
+        (WebCore::clientCerts):
+        * platform/text/AtomicStringKeyedMRUCache.h:
+        (WebCore::AtomicStringKeyedMRUCache::get):
+        * platform/text/cf/HyphenationCF.cpp:
+        (WebCore::cfLocaleCache):
+        * rendering/RenderBlock.cpp:
+        (WebCore::continuationOutlineTable):
+        * rendering/RenderCounter.cpp:
+        (WebCore::counterMaps):
+        * rendering/RenderDeprecatedFlexibleBox.cpp:
+        (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::drawPlatformResizerImage):
+        * rendering/RenderScrollbarTheme.cpp:
+        (WebCore::RenderScrollbarTheme::renderScrollbarTheme):
+        * rendering/RenderTheme.cpp:
+        (WebCore::customFocusRingColor):
+        * rendering/RenderWidget.cpp:
+        (WebCore::WidgetHierarchyUpdatesSuspensionScope::widgetNewParentMap):
+        * rendering/shapes/ShapeOutsideInfo.h:
+        * rendering/style/RenderStyle.cpp:
+        (WebCore::RenderStyle::hyphenString):
+        (WebCore::RenderStyle::textEmphasisMarkString):
+        (WebCore::RenderStyle::initialDashboardRegions):
+        (WebCore::RenderStyle::noneDashboardRegions):
+        * rendering/style/RenderStyle.h:
+        * rendering/svg/RenderSVGPath.cpp:
+        (WebCore::RenderSVGPath::zeroLengthLinecapPath):
+        * rendering/svg/RenderSVGShape.cpp:
+        (WebCore::RenderSVGShape::nonScalingStrokePath):
+        * rendering/svg/SVGRenderingContext.cpp:
+        (WebCore::currentContentTransformation):
+        * rendering/svg/SVGResources.cpp:
+        (WebCore::clipperFilterMaskerTags):
+        (WebCore::markerTags):
+        (WebCore::fillAndStrokeTags):
+        (WebCore::chainableResourceTags):
+        * svg/SVGAngle.cpp:
+        (WebCore::SVGAngle::valueAsString):
+        * svg/SVGAnimateColorElement.cpp:
+        (WebCore::attributeValueIsCurrentColor):
+        * svg/SVGAnimateMotionElement.cpp:
+        (WebCore::SVGAnimateMotionElement::rotateMode):
+        * svg/SVGAnimationElement.cpp:
+        (WebCore::SVGAnimationElement::setCalcMode):
+        (WebCore::SVGAnimationElement::setAttributeType):
+        (WebCore::SVGAnimationElement::isAdditive):
+        (WebCore::SVGAnimationElement::isAccumulated):
+        (WebCore::inheritsFromProperty):
+        * svg/SVGFEConvolveMatrixElement.cpp:
+        (WebCore::SVGFEConvolveMatrixElement::kernelUnitLengthXIdentifier):
+        (WebCore::SVGFEConvolveMatrixElement::kernelUnitLengthYIdentifier):
+        (WebCore::SVGFEConvolveMatrixElement::orderXIdentifier):
+        (WebCore::SVGFEConvolveMatrixElement::orderYIdentifier):
+        * svg/SVGFEDiffuseLightingElement.cpp:
+        (WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthXIdentifier):
+        (WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthYIdentifier):
+        * svg/SVGFEDropShadowElement.cpp:
+        (WebCore::SVGFEDropShadowElement::stdDeviationXIdentifier):
+        (WebCore::SVGFEDropShadowElement::stdDeviationYIdentifier):
+        * svg/SVGFEGaussianBlurElement.cpp:
+        (WebCore::SVGFEGaussianBlurElement::stdDeviationXIdentifier):
+        (WebCore::SVGFEGaussianBlurElement::stdDeviationYIdentifier):
+        * svg/SVGFEMorphologyElement.cpp:
+        (WebCore::SVGFEMorphologyElement::radiusXIdentifier):
+        (WebCore::SVGFEMorphologyElement::radiusYIdentifier):
+        * svg/SVGFESpecularLightingElement.cpp:
+        (WebCore::SVGFESpecularLightingElement::kernelUnitLengthXIdentifier):
+        (WebCore::SVGFESpecularLightingElement::kernelUnitLengthYIdentifier):
+        * svg/SVGFETurbulenceElement.cpp:
+        (WebCore::SVGFETurbulenceElement::baseFrequencyXIdentifier):
+        (WebCore::SVGFETurbulenceElement::baseFrequencyYIdentifier):
+        * svg/SVGFilterElement.cpp:
+        (WebCore::SVGFilterElement::filterResXIdentifier):
+        (WebCore::SVGFilterElement::filterResYIdentifier):
+        * svg/SVGGlyphMap.h:
+        (WebCore::SVGGlyphMap::svgGlyphForGlyph):
+        * svg/SVGLangSpace.cpp:
+        (WebCore::SVGLangSpace::xmlspace):
+        (WebCore::SVGLangSpace::addSupportedAttributes):
+        * svg/SVGMarkerElement.cpp:
+        (WebCore::SVGMarkerElement::orientTypeIdentifier):
+        (WebCore::SVGMarkerElement::orientAngleIdentifier):
+        (WebCore::SVGMarkerElement::synchronizeOrientType):
+        * svg/SVGStyleElement.cpp:
+        (WebCore::SVGStyleElement::type):
+        (WebCore::SVGStyleElement::media):
+        * svg/SVGTransform.cpp:
+        (WebCore::SVGTransform::transformTypePrefixForParsing):
+        * svg/SVGViewSpec.cpp:
+        (WebCore::SVGViewSpec::viewBoxIdentifier):
+        (WebCore::SVGViewSpec::preserveAspectRatioIdentifier):
+        (WebCore::SVGViewSpec::transformIdentifier):
+        * svg/animation/SVGSMILElement.cpp:
+        (WebCore::SVGSMILElement::parseClockValue):
+        (WebCore::SVGSMILElement::isSupportedAttribute):
+        (WebCore::SVGSMILElement::restart):
+        (WebCore::SVGSMILElement::fill):
+        (WebCore::SVGSMILElement::repeatCount):
+        (WebCore::SVGSMILElement::notifyDependentsIntervalChanged):
+
</ins><span class="cx"> 2016-01-08  Zalan Bujtas  &lt;zalan@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Absolute positioning -webkit-search-cancel-button crashes Safari.
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesairplayWebKitPlaybackTargetAvailabilityEventcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -26,14 +26,16 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;WebKitPlaybackTargetAvailabilityEvent.h&quot;
</span><span class="cx"> 
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
+
</ins><span class="cx"> #if ENABLE(WIRELESS_PLAYBACK_TARGET)
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> static const AtomicString&amp; stringForPlaybackTargetAvailability(bool available)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, availableString, (&quot;available&quot;, AtomicString::ConstructFromLiteral));
-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, notAvailableString, (&quot;not-available&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; availableString(&quot;available&quot;, AtomicString::ConstructFromLiteral);
+    static NeverDestroyed&lt;AtomicString&gt; notAvailableString(&quot;not-available&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx"> 
</span><span class="cx">     return available ? availableString : notAvailableString;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBCursorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBCursor.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBCursor.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBCursor.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -29,6 +29,7 @@
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><span class="cx"> 
</span><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -38,25 +39,25 @@
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; IDBCursor::directionNext()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, next, (&quot;next&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; next(&quot;next&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return next;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; IDBCursor::directionNextUnique()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, nextunique, (&quot;nextunique&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; nextunique(&quot;nextunique&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return nextunique;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; IDBCursor::directionPrev()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, prev, (&quot;prev&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; prev(&quot;prev&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return prev;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; IDBCursor::directionPrevUnique()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, prevunique, (&quot;prevunique&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; prevunique(&quot;prevunique&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return prevunique;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBTransactioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -29,6 +29,7 @@
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><span class="cx"> 
</span><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -39,31 +40,31 @@
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; IDBTransaction::modeReadOnly()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, readonly, (&quot;readonly&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; readonly(&quot;readonly&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return readonly;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; IDBTransaction::modeReadWrite()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, readwrite, (&quot;readwrite&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; readwrite(&quot;readwrite&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return readwrite;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; IDBTransaction::modeVersionChange()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, versionchange, (&quot;versionchange&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; versionchange(&quot;versionchange&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return versionchange;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; IDBTransaction::modeReadOnlyLegacy()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, readonly, (&quot;0&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; readonly(&quot;0&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return readonly;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; IDBTransaction::modeReadWriteLegacy()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, readwrite, (&quot;1&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; readwrite(&quot;1&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return readwrite;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddblegacyLegacyRequestcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/legacy/LegacyRequest.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/legacy/LegacyRequest.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/Modules/indexeddb/legacy/LegacyRequest.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -47,6 +47,7 @@
</span><span class="cx"> #include &quot;Logging.h&quot;
</span><span class="cx"> #include &quot;ScriptExecutionContext.h&quot;
</span><span class="cx"> #include &quot;SharedBuffer.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -135,13 +136,13 @@
</span><span class="cx"> const String&amp; LegacyRequest::readyState() const
</span><span class="cx"> {
</span><span class="cx">     ASSERT(m_readyState == IDBRequestReadyState::Pending || m_readyState == IDBRequestReadyState::Done);
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, pending, (&quot;pending&quot;, AtomicString::ConstructFromLiteral));
-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, done, (&quot;done&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; pending(&quot;pending&quot;, AtomicString::ConstructFromLiteral);
+    static NeverDestroyed&lt;AtomicString&gt; done(&quot;done&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx"> 
</span><span class="cx">     if (m_readyState == IDBRequestReadyState::Pending)
</span><del>-        return pending;
</del><ins>+        return pending.get();
</ins><span class="cx"> 
</span><del>-    return done;
</del><ins>+    return done.get();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void LegacyRequest::markEarlyDeath()
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediacontrolsMediaControlsHostcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -45,19 +45,19 @@
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; MediaControlsHost::automaticKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, automatic, (&quot;automatic&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; automatic(&quot;automatic&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return automatic;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; MediaControlsHost::forcedOnlyKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, forcedOn, (&quot;forced-only&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; forcedOn(&quot;forced-only&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return forcedOn;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; MediaControlsHost::alwaysOnKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, alwaysOn, (&quot;always-on&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; alwaysOn(&quot;always-on&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return alwaysOn;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -230,12 +230,12 @@
</span><span class="cx"> 
</span><span class="cx"> String MediaControlsHost::externalDeviceType() const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(String, none, (ASCIILiteral(&quot;none&quot;)));
</del><ins>+    static NeverDestroyed&lt;String&gt; none(ASCIILiteral(&quot;none&quot;));
</ins><span class="cx">     String type = none;
</span><span class="cx">     
</span><span class="cx"> #if ENABLE(WIRELESS_PLAYBACK_TARGET)
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(String, airplay, (ASCIILiteral(&quot;airplay&quot;)));
-    DEPRECATED_DEFINE_STATIC_LOCAL(String, tvout, (ASCIILiteral(&quot;tvout&quot;)));
</del><ins>+    static NeverDestroyed&lt;String&gt; airplay(ASCIILiteral(&quot;airplay&quot;));
+    static NeverDestroyed&lt;String&gt; tvout(ASCIILiteral(&quot;tvout&quot;));
</ins><span class="cx">     
</span><span class="cx">     MediaPlayer* player = m_mediaElement-&gt;player();
</span><span class="cx">     if (!player) {
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediasourceMediaSourcecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediasource/MediaSource.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediasource/MediaSource.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/Modules/mediasource/MediaSource.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -95,19 +95,19 @@
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; MediaSource::openKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, open, (&quot;open&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; open(&quot;open&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return open;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; MediaSource::closedKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, closed, (&quot;closed&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; closed(&quot;closed&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return closed;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; MediaSource::endedKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, ended, (&quot;ended&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; ended(&quot;ended&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return ended;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -440,8 +440,8 @@
</span><span class="cx"> 
</span><span class="cx"> void MediaSource::streamEndedWithError(const AtomicString&amp; error, ExceptionCode&amp; ec)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, network, (&quot;network&quot;, AtomicString::ConstructFromLiteral));
-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, decode, (&quot;decode&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; network(&quot;network&quot;, AtomicString::ConstructFromLiteral);
+    static NeverDestroyed&lt;const AtomicString&gt; decode(&quot;decode&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx"> 
</span><span class="cx">     LOG(MediaSource, &quot;MediaSource::streamEndedWithError(%p) : %s&quot;, this, error.string().ascii().data());
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModulespluginsQuickTimePluginReplacementmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.mm (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.mm        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.mm        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -66,7 +66,7 @@
</span><span class="cx"> 
</span><span class="cx"> static String quickTimePluginReplacementScript()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(String, script, (QuickTimePluginReplacementJavaScript, sizeof(QuickTimePluginReplacementJavaScript)));
</del><ins>+    static NeverDestroyed&lt;String&gt; script(QuickTimePluginReplacementJavaScript, sizeof(QuickTimePluginReplacementJavaScript));
</ins><span class="cx">     return script;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -89,13 +89,13 @@
</span><span class="cx">         &quot;audio/x-m4r&quot;, &quot;audio/x-mp3&quot;, &quot;audio/x-mpeg&quot;, &quot;audio/x-mpeg3&quot;, &quot;audio/x-mpegurl&quot;, &quot;audio/x-scpls&quot;, &quot;audio/x-wav&quot;,
</span><span class="cx">         &quot;video/3gpp&quot;, &quot;video/3gpp2&quot;, &quot;video/mp4&quot;, &quot;video/quicktime&quot;, &quot;video/x-m4v&quot;
</span><span class="cx">     };
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(HashSet&lt;String&gt;, typeHash, ());
-    if (!typeHash.size()) {
</del><ins>+    static NeverDestroyed&lt;HashSet&lt;String&gt;&gt; typeHash;
+    if (!typeHash.get().size()) {
</ins><span class="cx">         for (size_t i = 0; i &lt; WTF_ARRAY_LENGTH(types); ++i)
</span><del>-            typeHash.add(types[i]);
</del><ins>+            typeHash.get().add(types[i]);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return typeHash.contains(mimeType);
</del><ins>+    return typeHash.get().contains(mimeType);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool QuickTimePluginReplacement::supportsFileExtension(const String&amp; extension)
</span><span class="lines">@@ -105,13 +105,13 @@
</span><span class="cx">         &quot;m3u8&quot;, &quot;m4a&quot;, &quot;m4b&quot;, &quot;m4p&quot;, &quot;m4r&quot;, &quot;m4v&quot;, &quot;mov&quot;, &quot;mp3&quot;, &quot;mp3&quot;, &quot;mp4&quot;, &quot;mpeg&quot;, &quot;mpg&quot;, &quot;mqv&quot;, &quot;pls&quot;, &quot;qt&quot;,
</span><span class="cx">         &quot;snd&quot;, &quot;swa&quot;, &quot;ts&quot;, &quot;ulw&quot;, &quot;wav&quot;
</span><span class="cx">     };
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(HashSet&lt;String&gt;, extensionHash, ());
-    if (!extensionHash.size()) {
</del><ins>+    static NeverDestroyed&lt;HashSet&lt;String&gt;&gt; extensionHash;
+    if (!extensionHash.get().size()) {
</ins><span class="cx">         for (size_t i = 0; i &lt; WTF_ARRAY_LENGTH(extensions); ++i)
</span><del>-            extensionHash.add(extensions[i]);
</del><ins>+            extensionHash.get().add(extensions[i]);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return extensionHash.contains(extension);
</del><ins>+    return extensionHash.get().contains(extension);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> QuickTimePluginReplacement::QuickTimePluginReplacement(HTMLPlugInElement&amp; plugin, const Vector&lt;String&gt;&amp; paramNames, const Vector&lt;String&gt;&amp; paramValues)
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesspeechSpeechSynthesiscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/speech/SpeechSynthesis.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/speech/SpeechSynthesis.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/Modules/speech/SpeechSynthesis.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -34,6 +34,7 @@
</span><span class="cx"> #include &quot;SpeechSynthesisEvent.h&quot;
</span><span class="cx"> #include &quot;SpeechSynthesisUtterance.h&quot;
</span><span class="cx"> #include &lt;wtf/CurrentTime.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx">     
</span><span class="lines">@@ -192,8 +193,8 @@
</span><span class="cx">     
</span><span class="cx"> void SpeechSynthesis::boundaryEventOccurred(PassRefPtr&lt;PlatformSpeechSynthesisUtterance&gt; utterance, SpeechBoundary boundary, unsigned charIndex)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const String, wordBoundaryString, (ASCIILiteral(&quot;word&quot;)));
-    DEPRECATED_DEFINE_STATIC_LOCAL(const String, sentenceBoundaryString, (ASCIILiteral(&quot;sentence&quot;)));
</del><ins>+    static NeverDestroyed&lt;const String&gt; wordBoundaryString(ASCIILiteral(&quot;word&quot;));
+    static NeverDestroyed&lt;const String&gt; sentenceBoundaryString(ASCIILiteral(&quot;sentence&quot;));
</ins><span class="cx"> 
</span><span class="cx">     switch (boundary) {
</span><span class="cx">     case SpeechWordBoundary:
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSCSSStyleDeclarationCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -184,8 +184,8 @@
</span><span class="cx"> 
</span><span class="cx">     String stringForCache = String(propertyNameString);
</span><span class="cx">     typedef HashMap&lt;String, CSSPropertyInfo&gt; CSSPropertyInfoMap;
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(CSSPropertyInfoMap, propertyInfoCache, ());
-    propertyInfo = propertyInfoCache.get(stringForCache);
</del><ins>+    static NeverDestroyed&lt;CSSPropertyInfoMap&gt; propertyInfoCache;
+    propertyInfo = propertyInfoCache.get().get(stringForCache);
</ins><span class="cx">     if (propertyInfo.propertyID)
</span><span class="cx">         return propertyInfo;
</span><span class="cx"> 
</span><span class="lines">@@ -269,7 +269,7 @@
</span><span class="cx">     if (propertyID) {
</span><span class="cx">         propertyInfo.hadPixelOrPosPrefix = hadPixelOrPosPrefix;
</span><span class="cx">         propertyInfo.propertyID = static_cast&lt;CSSPropertyID&gt;(propertyID);
</span><del>-        propertyInfoCache.add(stringForCache, propertyInfo);
</del><ins>+        propertyInfoCache.get().add(stringForCache, propertyInfo);
</ins><span class="cx">     }
</span><span class="cx">     return propertyInfo;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorebridgecc_instancecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bridge/c/c_instance.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bridge/c/c_instance.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/bridge/c/c_instance.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -45,6 +45,7 @@
</span><span class="cx"> #include &lt;runtime/JSLock.h&gt;
</span><span class="cx"> #include &lt;runtime/PropertyNameArray.h&gt;
</span><span class="cx"> #include &lt;wtf/Assertions.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</span><span class="cx"> #include &lt;wtf/StringExtras.h&gt;
</span><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="lines">@@ -56,7 +57,7 @@
</span><span class="cx"> 
</span><span class="cx"> static String&amp; globalExceptionString()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(String, exceptionStr, ());
</del><ins>+    static NeverDestroyed&lt;String&gt; exceptionStr;
</ins><span class="cx">     return exceptionStr;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorecssMediaListcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/MediaList.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/MediaList.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/css/MediaList.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -30,6 +30,7 @@
</span><span class="cx"> #include &quot;MediaQuery.h&quot;
</span><span class="cx"> #include &quot;MediaQueryExp.h&quot;
</span><span class="cx"> #include &quot;ScriptableDocumentParser.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/StringBuilder.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -288,11 +289,11 @@
</span><span class="cx">     ASSERT(document);
</span><span class="cx">     ASSERT(value);
</span><span class="cx"> 
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(String, mediaQueryMessage, (ASCIILiteral(&quot;Consider using 'dppx' units instead of '%replacementUnits%', as in CSS '%replacementUnits%' means dots-per-CSS-%lengthUnit%, not dots-per-physical-%lengthUnit%, so does not correspond to the actual '%replacementUnits%' of a screen. In media query expression: &quot;)));
-    DEPRECATED_DEFINE_STATIC_LOCAL(String, mediaValueDPI, (ASCIILiteral(&quot;dpi&quot;)));
-    DEPRECATED_DEFINE_STATIC_LOCAL(String, mediaValueDPCM, (ASCIILiteral(&quot;dpcm&quot;)));
-    DEPRECATED_DEFINE_STATIC_LOCAL(String, lengthUnitInch, (ASCIILiteral(&quot;inch&quot;)));
-    DEPRECATED_DEFINE_STATIC_LOCAL(String, lengthUnitCentimeter, (ASCIILiteral(&quot;centimeter&quot;)));
</del><ins>+    static NeverDestroyed&lt;String&gt; mediaQueryMessage(ASCIILiteral(&quot;Consider using 'dppx' units instead of '%replacementUnits%', as in CSS '%replacementUnits%' means dots-per-CSS-%lengthUnit%, not dots-per-physical-%lengthUnit%, so does not correspond to the actual '%replacementUnits%' of a screen. In media query expression: &quot;));
+    static NeverDestroyed&lt;String&gt; mediaValueDPI(ASCIILiteral(&quot;dpi&quot;));
+    static NeverDestroyed&lt;String&gt; mediaValueDPCM(ASCIILiteral(&quot;dpcm&quot;));
+    static NeverDestroyed&lt;String&gt; lengthUnitInch(ASCIILiteral(&quot;inch&quot;));
+    static NeverDestroyed&lt;String&gt; lengthUnitCentimeter(ASCIILiteral(&quot;centimeter&quot;));
</ins><span class="cx"> 
</span><span class="cx">     String message;
</span><span class="cx">     if (value-&gt;isDotsPerInch())
</span></span></pre></div>
<a id="trunkSourceWebCorecssStyleSheetContentscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/StyleSheetContents.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/StyleSheetContents.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/css/StyleSheetContents.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -36,6 +36,7 @@
</span><span class="cx"> #include &quot;StyleRule.h&quot;
</span><span class="cx"> #include &quot;StyleRuleImport.h&quot;
</span><span class="cx"> #include &lt;wtf/Deque.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/Ref.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -316,11 +317,11 @@
</span><span class="cx"> 
</span><span class="cx">     if (m_parserContext.needsSiteSpecificQuirks &amp;&amp; isStrictParserMode(m_parserContext.mode)) {
</span><span class="cx">         // Work around &lt;https://bugs.webkit.org/show_bug.cgi?id=28350&gt;.
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(const String, mediaWikiKHTMLFixesStyleSheet, (ASCIILiteral(&quot;/* KHTML fix stylesheet */\n/* work around the horizontal scrollbars */\n#column-content { margin-left: 0; }\n\n&quot;)));
</del><ins>+        static NeverDestroyed&lt;const String&gt; mediaWikiKHTMLFixesStyleSheet(ASCIILiteral(&quot;/* KHTML fix stylesheet */\n/* work around the horizontal scrollbars */\n#column-content { margin-left: 0; }\n\n&quot;));
</ins><span class="cx">         // There are two variants of KHTMLFixes.css. One is equal to mediaWikiKHTMLFixesStyleSheet,
</span><span class="cx">         // while the other lacks the second trailing newline.
</span><del>-        if (baseURL().string().endsWith(&quot;/KHTMLFixes.css&quot;) &amp;&amp; !sheetText.isNull() &amp;&amp; mediaWikiKHTMLFixesStyleSheet.startsWith(sheetText)
-            &amp;&amp; sheetText.length() &gt;= mediaWikiKHTMLFixesStyleSheet.length() - 1)
</del><ins>+        if (baseURL().string().endsWith(&quot;/KHTMLFixes.css&quot;) &amp;&amp; !sheetText.isNull() &amp;&amp; mediaWikiKHTMLFixesStyleSheet.get().startsWith(sheetText)
+            &amp;&amp; sheetText.length() &gt;= mediaWikiKHTMLFixesStyleSheet.get().length() - 1)
</ins><span class="cx">             clearRules();
</span><span class="cx">     }
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoredomChildListMutationScopecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ChildListMutationScope.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ChildListMutationScope.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/dom/ChildListMutationScope.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -36,6 +36,7 @@
</span><span class="cx"> #include &quot;MutationObserverInterestGroup.h&quot;
</span><span class="cx"> #include &quot;MutationRecord.h&quot;
</span><span class="cx"> #include &quot;StaticNodeList.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -43,7 +44,7 @@
</span><span class="cx"> typedef HashMap&lt;ContainerNode*, ChildListMutationAccumulator*&gt; AccumulatorMap;
</span><span class="cx"> static AccumulatorMap&amp; accumulatorMap()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AccumulatorMap, map, ());
</del><ins>+    static NeverDestroyed&lt;AccumulatorMap&gt; map;
</ins><span class="cx">     return map;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomDOMImplementationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/DOMImplementation.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/DOMImplementation.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/dom/DOMImplementation.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -53,6 +53,7 @@
</span><span class="cx"> #include &quot;SubframeLoader.h&quot;
</span><span class="cx"> #include &quot;TextDocument.h&quot;
</span><span class="cx"> #include &quot;XMLNames.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -88,7 +89,7 @@
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     static bool initialized = false;
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(FeatureSet, svgFeatures, ());
</del><ins>+    static NeverDestroyed&lt;FeatureSet&gt; svgFeatures;
</ins><span class="cx">     if (!initialized) {
</span><span class="cx"> #if ENABLE(SVG_FONTS)
</span><span class="cx">         addString(svgFeatures, &quot;svg&quot;);
</span><span class="lines">@@ -108,7 +109,7 @@
</span><span class="cx">         initialized = true;
</span><span class="cx">     }
</span><span class="cx">     return feature.startsWith(&quot;org.w3c.&quot;, false)
</span><del>-        &amp;&amp; svgFeatures.contains(feature.right(feature.length() - 8));
</del><ins>+        &amp;&amp; svgFeatures.get().contains(feature.right(feature.length() - 8));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static bool isSupportedSVG11Feature(const String&amp; feature, const String&amp; version)
</span><span class="lines">@@ -117,7 +118,7 @@
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     static bool initialized = false;
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(FeatureSet, svgFeatures, ());
</del><ins>+    static NeverDestroyed&lt;FeatureSet&gt; svgFeatures;
</ins><span class="cx">     if (!initialized) {
</span><span class="cx">         // Sadly, we cannot claim to implement any of the SVG 1.1 generic feature sets
</span><span class="cx">         // lack of Font and Filter support.
</span><span class="lines">@@ -175,7 +176,7 @@
</span><span class="cx">         initialized = true;
</span><span class="cx">     }
</span><span class="cx">     return feature.startsWith(&quot;http://www.w3.org/tr/svg11/feature#&quot;, false)
</span><del>-        &amp;&amp; svgFeatures.contains(feature.right(feature.length() - 35));
</del><ins>+        &amp;&amp; svgFeatures.get().contains(feature.right(feature.length() - 35));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> DOMImplementation::DOMImplementation(Document&amp; document)
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/dom/Document.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -178,6 +178,7 @@
</span><span class="cx"> #include &lt;ctime&gt;
</span><span class="cx"> #include &lt;inspector/ScriptCallStack.h&gt;
</span><span class="cx"> #include &lt;wtf/CurrentTime.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/TemporaryChange.h&gt;
</span><span class="cx"> #include &lt;wtf/text/StringBuffer.h&gt;
</span><span class="cx"> #include &lt;yarr/RegularExpression.h&gt;
</span><span class="lines">@@ -1119,9 +1120,9 @@
</span><span class="cx"> 
</span><span class="cx"> String Document::readyState() const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const String, loading, (ASCIILiteral(&quot;loading&quot;)));
-    DEPRECATED_DEFINE_STATIC_LOCAL(const String, interactive, (ASCIILiteral(&quot;interactive&quot;)));
-    DEPRECATED_DEFINE_STATIC_LOCAL(const String, complete, (ASCIILiteral(&quot;complete&quot;)));
</del><ins>+    static NeverDestroyed&lt;const String&gt; loading(ASCIILiteral(&quot;loading&quot;));
+    static NeverDestroyed&lt;const String&gt; interactive(ASCIILiteral(&quot;interactive&quot;));
+    static NeverDestroyed&lt;const String&gt; complete(ASCIILiteral(&quot;complete&quot;));
</ins><span class="cx"> 
</span><span class="cx">     switch (m_readyState) {
</span><span class="cx">     case Loading:
</span></span></pre></div>
<a id="trunkSourceWebCoredomElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Element.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Element.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/dom/Element.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -89,6 +89,7 @@
</span><span class="cx"> #include &quot;markup.h&quot;
</span><span class="cx"> #include &lt;wtf/BitVector.h&gt;
</span><span class="cx"> #include &lt;wtf/CurrentTime.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/CString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -2928,21 +2929,21 @@
</span><span class="cx"> {
</span><span class="cx">     document().updateLayoutIgnorePendingStylesheets();
</span><span class="cx"> 
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, undefinedState, (&quot;undefined&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; undefinedState(&quot;undefined&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     if (!document().cssRegionsEnabled() || !renderNamedFlowFragment())
</span><span class="cx">         return undefinedState;
</span><span class="cx"> 
</span><span class="cx">     switch (regionOversetState()) {
</span><span class="cx">     case RegionFit: {
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, fitState, (&quot;fit&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+        static NeverDestroyed&lt;AtomicString&gt; fitState(&quot;fit&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">         return fitState;
</span><span class="cx">     }
</span><span class="cx">     case RegionEmpty: {
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, emptyState, (&quot;empty&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+        static NeverDestroyed&lt;AtomicString&gt; emptyState(&quot;empty&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">         return emptyState;
</span><span class="cx">     }
</span><span class="cx">     case RegionOverset: {
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, overflowState, (&quot;overset&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+        static NeverDestroyed&lt;AtomicString&gt; overflowState(&quot;overset&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">         return overflowState;
</span><span class="cx">     }
</span><span class="cx">     case RegionUndefined:
</span></span></pre></div>
<a id="trunkSourceWebCoredomEventDispatchercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/EventDispatcher.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/EventDispatcher.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/dom/EventDispatcher.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -39,6 +39,7 @@
</span><span class="cx"> #include &quot;SVGNames.h&quot;
</span><span class="cx"> #include &quot;SVGUseElement.h&quot;
</span><span class="cx"> #include &quot;TouchEvent.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -213,8 +214,8 @@
</span><span class="cx">     if (element-&gt;isDisabledFormControl())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(HashSet&lt;Element*&gt;, elementsDispatchingSimulatedClicks, ());
-    if (!elementsDispatchingSimulatedClicks.add(element).isNewEntry)
</del><ins>+    static NeverDestroyed&lt;HashSet&lt;Element*&gt;&gt; elementsDispatchingSimulatedClicks;
+    if (!elementsDispatchingSimulatedClicks.get().add(element).isNewEntry)
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     if (mouseEventOptions == SendMouseOverUpDownEvents)
</span><span class="lines">@@ -230,7 +231,7 @@
</span><span class="cx">     // always send click
</span><span class="cx">     dispatchEvent(element, SimulatedMouseEvent::create(eventNames().clickEvent, element-&gt;document().defaultView(), underlyingEvent, element));
</span><span class="cx"> 
</span><del>-    elementsDispatchingSimulatedClicks.remove(element);
</del><ins>+    elementsDispatchingSimulatedClicks.get().remove(element);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static void callDefaultEventHandlersInTheBubblingOrder(Event&amp; event, const EventPath&amp; path)
</span></span></pre></div>
<a id="trunkSourceWebCoredomInlineStyleSheetOwnercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/InlineStyleSheetOwner.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/InlineStyleSheetOwner.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/dom/InlineStyleSheetOwner.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -30,6 +30,7 @@
</span><span class="cx"> #include &quot;ShadowRoot.h&quot;
</span><span class="cx"> #include &quot;StyleSheetContents.h&quot;
</span><span class="cx"> #include &quot;TextNodeTraversal.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/StringBuilder.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -113,7 +114,7 @@
</span><span class="cx"> 
</span><span class="cx"> inline bool isValidCSSContentType(Element&amp; element, const AtomicString&amp; type)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, cssContentType, (&quot;text/css&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; cssContentType(&quot;text/css&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     if (type.isEmpty())
</span><span class="cx">         return true;
</span><span class="cx">     return element.isHTMLElement() ? equalIgnoringCase(type, cssContentType) : type == cssContentType;
</span></span></pre></div>
<a id="trunkSourceWebCoredomMutationObservercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/MutationObserver.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/MutationObserver.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/dom/MutationObserver.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -145,13 +145,13 @@
</span><span class="cx"> 
</span><span class="cx"> static MutationObserverSet&amp; activeMutationObservers()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(MutationObserverSet, activeObservers, ());
</del><ins>+    static NeverDestroyed&lt;MutationObserverSet&gt; activeObservers;
</ins><span class="cx">     return activeObservers;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static MutationObserverSet&amp; suspendedMutationObservers()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(MutationObserverSet, suspendedObservers, ());
</del><ins>+    static NeverDestroyed&lt;MutationObserverSet&gt; suspendedObservers;
</ins><span class="cx">     return suspendedObservers;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomMutationRecordcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/MutationRecord.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/MutationRecord.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/dom/MutationRecord.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -33,6 +33,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;CharacterData.h&quot;
</span><span class="cx"> #include &quot;StaticNodeList.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -145,19 +146,19 @@
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; ChildListRecord::type()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, childList, (&quot;childList&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; childList(&quot;childList&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return childList;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; AttributesRecord::type()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, attributes, (&quot;attributes&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; attributes(&quot;attributes&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return attributes;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; CharacterDataRecord::type()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, characterData, (&quot;characterData&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; characterData(&quot;characterData&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return characterData;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomPseudoElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/PseudoElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/PseudoElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/dom/PseudoElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -37,14 +37,14 @@
</span><span class="cx"> 
</span><span class="cx"> const QualifiedName&amp; pseudoElementTagName()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(QualifiedName, name, (nullAtom, &quot;&lt;pseudo&gt;&quot;, nullAtom));
</del><ins>+    static NeverDestroyed&lt;QualifiedName&gt; name(nullAtom, &quot;&lt;pseudo&gt;&quot;, nullAtom);
</ins><span class="cx">     return name;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> String PseudoElement::pseudoElementNameForEvents(PseudoId pseudoId)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const String, after, (ASCIILiteral(&quot;::after&quot;)));
-    DEPRECATED_DEFINE_STATIC_LOCAL(const String, before, (ASCIILiteral(&quot;::before&quot;)));
</del><ins>+    static NeverDestroyed&lt;const String&gt; after(ASCIILiteral(&quot;::after&quot;));
+    static NeverDestroyed&lt;const String&gt; before(ASCIILiteral(&quot;::before&quot;));
</ins><span class="cx">     switch (pseudoId) {
</span><span class="cx">     case AFTER:
</span><span class="cx">         return after;
</span></span></pre></div>
<a id="trunkSourceWebCoredomQualifiedNamecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/QualifiedName.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/QualifiedName.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/dom/QualifiedName.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -33,6 +33,7 @@
</span><span class="cx"> #include &quot;XMLNames.h&quot;
</span><span class="cx"> #include &lt;wtf/Assertions.h&gt;
</span><span class="cx"> #include &lt;wtf/HashSet.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/StaticConstructors.h&gt;
</span><span class="cx"> #include &lt;wtf/text/StringBuilder.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -74,7 +75,7 @@
</span><span class="cx"> 
</span><span class="cx"> static inline QNameSet&amp; qualifiedNameCache()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(QNameSet, nameCache, ());
</del><ins>+    static NeverDestroyed&lt;QNameSet&gt; nameCache;
</ins><span class="cx">     return nameCache;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -115,7 +116,7 @@
</span><span class="cx"> 
</span><span class="cx"> const QualifiedName&amp; nullQName()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(QualifiedName, nullName, (nullAtom, nullAtom, nullAtom));
</del><ins>+    static NeverDestroyed&lt;QualifiedName&gt; nullName(nullAtom, nullAtom, nullAtom);
</ins><span class="cx">     return nullName;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomScriptElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ScriptElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ScriptElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/dom/ScriptElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -119,24 +119,24 @@
</span><span class="cx"> 
</span><span class="cx">     // FIXME: This function is not HTML5 compliant. These belong in the MIME registry as &quot;text/javascript&lt;version&gt;&quot; entries.
</span><span class="cx">     typedef HashSet&lt;String, CaseFoldingHash&gt; LanguageSet;
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(LanguageSet, languages, ());
-    if (languages.isEmpty()) {
-        languages.add(&quot;javascript&quot;);
-        languages.add(&quot;javascript&quot;);
-        languages.add(&quot;javascript1.0&quot;);
-        languages.add(&quot;javascript1.1&quot;);
-        languages.add(&quot;javascript1.2&quot;);
-        languages.add(&quot;javascript1.3&quot;);
-        languages.add(&quot;javascript1.4&quot;);
-        languages.add(&quot;javascript1.5&quot;);
-        languages.add(&quot;javascript1.6&quot;);
-        languages.add(&quot;javascript1.7&quot;);
-        languages.add(&quot;livescript&quot;);
-        languages.add(&quot;ecmascript&quot;);
-        languages.add(&quot;jscript&quot;);
</del><ins>+    static NeverDestroyed&lt;LanguageSet&gt; languages;
+    if (languages.get().isEmpty()) {
+        languages.get().add(&quot;javascript&quot;);
+        languages.get().add(&quot;javascript&quot;);
+        languages.get().add(&quot;javascript1.0&quot;);
+        languages.get().add(&quot;javascript1.1&quot;);
+        languages.get().add(&quot;javascript1.2&quot;);
+        languages.get().add(&quot;javascript1.3&quot;);
+        languages.get().add(&quot;javascript1.4&quot;);
+        languages.get().add(&quot;javascript1.5&quot;);
+        languages.get().add(&quot;javascript1.6&quot;);
+        languages.get().add(&quot;javascript1.7&quot;);
+        languages.get().add(&quot;livescript&quot;);
+        languages.get().add(&quot;ecmascript&quot;);
+        languages.get().add(&quot;jscript&quot;);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return languages.contains(language);
</del><ins>+    return languages.get().contains(language);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void ScriptElement::dispatchErrorEvent()
</span><span class="lines">@@ -347,7 +347,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (m_requestUsesAccessControl &amp;&amp; !m_cachedScript-&gt;passesSameOriginPolicyCheck(*m_element.document().securityOrigin())) {
</span><span class="cx">         dispatchErrorEvent();
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral(&quot;Cross-origin script load denied by Cross-Origin Resource Sharing policy.&quot;)));
</del><ins>+        static NeverDestroyed&lt;String&gt; consoleMessage(ASCIILiteral(&quot;Cross-origin script load denied by Cross-Origin Resource Sharing policy.&quot;));
</ins><span class="cx">         m_element.document().addConsoleMessage(MessageSource::JS, MessageLevel::Error, consoleMessage);
</span><span class="cx">         return;
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingApplyStyleCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/ApplyStyleCommand.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/ApplyStyleCommand.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/editing/ApplyStyleCommand.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -48,6 +48,7 @@
</span><span class="cx"> #include &quot;TextNodeTraversal.h&quot;
</span><span class="cx"> #include &quot;VisibleUnits.h&quot;
</span><span class="cx"> #include &quot;htmlediting.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</span><span class="cx"> #include &lt;wtf/text/StringBuilder.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -62,7 +63,7 @@
</span><span class="cx"> 
</span><span class="cx"> static String&amp; styleSpanClassString()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(String, styleSpanClassString, ((AppleStyleSpanClass)));
</del><ins>+    static NeverDestroyed&lt;String&gt; styleSpanClassString(AppleStyleSpanClass);
</ins><span class="cx">     return styleSpanClassString;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingMarkupAccumulatorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/MarkupAccumulator.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/MarkupAccumulator.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/editing/MarkupAccumulator.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -40,6 +40,7 @@
</span><span class="cx"> #include &quot;XLinkNames.h&quot;
</span><span class="cx"> #include &quot;XMLNSNames.h&quot;
</span><span class="cx"> #include &quot;XMLNames.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/unicode/CharacterNames.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -259,8 +260,8 @@
</span><span class="cx">     if (prefix.isEmpty())
</span><span class="cx">         return !element.hasAttribute(xmlnsAtom);
</span><span class="cx"> 
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(String, xmlnsWithColon, (ASCIILiteral(&quot;xmlns:&quot;)));
-    return !element.hasAttribute(xmlnsWithColon + prefix);
</del><ins>+    static NeverDestroyed&lt;String&gt; xmlnsWithColon(ASCIILiteral(&quot;xmlns:&quot;));
+    return !element.hasAttribute(xmlnsWithColon.get() + prefix);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool MarkupAccumulator::shouldAddNamespaceAttribute(const Attribute&amp; attribute, Namespaces&amp; namespaces)
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingReplaceSelectionCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/ReplaceSelectionCommand.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/ReplaceSelectionCommand.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/editing/ReplaceSelectionCommand.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -104,14 +104,14 @@
</span><span class="cx"> 
</span><span class="cx"> static bool isInterchangeNewlineNode(const Node *node)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(String, interchangeNewlineClassString, (AppleInterchangeNewline));
</del><ins>+    static NeverDestroyed&lt;String&gt; interchangeNewlineClassString(AppleInterchangeNewline);
</ins><span class="cx">     return node &amp;&amp; node-&gt;hasTagName(brTag) &amp;&amp; 
</span><span class="cx">            static_cast&lt;const Element *&gt;(node)-&gt;getAttribute(classAttr) == interchangeNewlineClassString;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static bool isInterchangeConvertedSpaceSpan(const Node *node)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(String, convertedSpaceSpanClassString, (AppleConvertedSpace));
</del><ins>+    static NeverDestroyed&lt;String&gt; convertedSpaceSpanClassString(AppleConvertedSpace);
</ins><span class="cx">     return node-&gt;isHTMLElement() &amp;&amp; 
</span><span class="cx">            static_cast&lt;const HTMLElement *&gt;(node)-&gt;getAttribute(classAttr) == convertedSpaceSpanClassString;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreeditinghtmleditingcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/htmlediting.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/htmlediting.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/editing/htmlediting.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -428,7 +428,7 @@
</span><span class="cx"> 
</span><span class="cx"> const String&amp; nonBreakingSpaceString()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(String, nonBreakingSpaceString, (&amp;noBreakSpace, 1));
</del><ins>+    static NeverDestroyed&lt;String&gt; nonBreakingSpaceString(&amp;noBreakSpace, 1);
</ins><span class="cx">     return nonBreakingSpaceString;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingmarkupcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/markup.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/markup.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/editing/markup.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -213,8 +213,8 @@
</span><span class="cx"> 
</span><span class="cx"> const String&amp; StyledMarkupAccumulator::styleNodeCloseTag(bool isBlock)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const String, divClose, (ASCIILiteral(&quot;&lt;/div&gt;&quot;)));
-    DEPRECATED_DEFINE_STATIC_LOCAL(const String, styleSpanClose, (ASCIILiteral(&quot;&lt;/span&gt;&quot;)));
</del><ins>+    static NeverDestroyed&lt;const String&gt; divClose(ASCIILiteral(&quot;&lt;/div&gt;&quot;));
+    static NeverDestroyed&lt;const String&gt; styleSpanClose(ASCIILiteral(&quot;&lt;/span&gt;&quot;));
</ins><span class="cx">     return isBlock ? divClose : styleSpanClose;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -577,7 +577,7 @@
</span><span class="cx"> static String createMarkupInternal(Document&amp; document, const Range&amp; range, Vector&lt;Node*&gt;* nodes,
</span><span class="cx">     EAnnotateForInterchange shouldAnnotate, bool convertBlocksToInlines, EAbsoluteURLs shouldResolveURLs)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const String, interchangeNewlineString, (ASCIILiteral(&quot;&lt;br class=\&quot;&quot; AppleInterchangeNewline &quot;\&quot;&gt;&quot;)));
</del><ins>+    static NeverDestroyed&lt;const String&gt; interchangeNewlineString(ASCIILiteral(&quot;&lt;br class=\&quot;&quot; AppleInterchangeNewline &quot;\&quot;&gt;&quot;));
</ins><span class="cx"> 
</span><span class="cx">     bool collapsed = range.collapsed();
</span><span class="cx">     if (collapsed)
</span></span></pre></div>
<a id="trunkSourceWebCorefileapiBlobcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/fileapi/Blob.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/fileapi/Blob.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/fileapi/Blob.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -35,6 +35,7 @@
</span><span class="cx"> #include &quot;File.h&quot;
</span><span class="cx"> #include &quot;ScriptExecutionContext.h&quot;
</span><span class="cx"> #include &quot;ThreadableBlobRegistry.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/CString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -61,11 +62,10 @@
</span><span class="cx"> 
</span><span class="cx"> URLRegistry&amp; BlobURLRegistry::registry()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(BlobURLRegistry, instance, ());
</del><ins>+    static NeverDestroyed&lt;BlobURLRegistry&gt; instance;
</ins><span class="cx">     return instance;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-
</del><span class="cx"> Blob::Blob(UninitializedContructor)
</span><span class="cx"> {
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlBaseChooserOnlyDateAndTimeInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/BaseChooserOnlyDateAndTimeInputType.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/BaseChooserOnlyDateAndTimeInputType.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/BaseChooserOnlyDateAndTimeInputType.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -34,6 +34,7 @@
</span><span class="cx"> #include &quot;RenderElement.h&quot;
</span><span class="cx"> #include &quot;ScriptController.h&quot;
</span><span class="cx"> #include &quot;ShadowRoot.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -58,7 +59,7 @@
</span><span class="cx"> 
</span><span class="cx"> void BaseChooserOnlyDateAndTimeInputType::createShadowSubtree()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, valueContainerPseudo, (&quot;-webkit-date-and-time-value&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; valueContainerPseudo(&quot;-webkit-date-and-time-value&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx"> 
</span><span class="cx">     Ref&lt;HTMLDivElement&gt; valueContainer = HTMLDivElement::create(element().document());
</span><span class="cx">     valueContainer-&gt;setPseudo(valueContainerPseudo);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlDateInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/DateInputType.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/DateInputType.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/DateInputType.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -35,6 +35,7 @@
</span><span class="cx"> #include &quot;HTMLInputElement.h&quot;
</span><span class="cx"> #include &quot;HTMLNames.h&quot;
</span><span class="cx"> #include &quot;InputTypeNames.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -61,7 +62,7 @@
</span><span class="cx"> 
</span><span class="cx"> StepRange DateInputType::createStepRange(AnyStepHandling anyStepHandling) const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const StepRange::StepDescription, stepDescription, (dateDefaultStep, dateDefaultStepBase, dateStepScaleFactor, StepRange::ParsedStepValueShouldBeInteger));
</del><ins>+    static NeverDestroyed&lt;const StepRange::StepDescription&gt; stepDescription(dateDefaultStep, dateDefaultStepBase, dateStepScaleFactor, StepRange::ParsedStepValueShouldBeInteger);
</ins><span class="cx"> 
</span><span class="cx">     const Decimal stepBase = parseToNumber(element().fastGetAttribute(minAttr), 0);
</span><span class="cx">     const Decimal minimum = parseToNumber(element().fastGetAttribute(minAttr), Decimal::fromDouble(DateComponents::minimumDate()));
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlDateTimeInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/DateTimeInputType.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/DateTimeInputType.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/DateTimeInputType.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -36,6 +36,7 @@
</span><span class="cx"> #include &quot;HTMLNames.h&quot;
</span><span class="cx"> #include &quot;InputTypeNames.h&quot;
</span><span class="cx"> #include &lt;wtf/CurrentTime.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -62,7 +63,7 @@
</span><span class="cx"> 
</span><span class="cx"> StepRange DateTimeInputType::createStepRange(AnyStepHandling anyStepHandling) const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const StepRange::StepDescription, stepDescription, (dateTimeDefaultStep, dateTimeDefaultStepBase, dateTimeStepScaleFactor, StepRange::ScaledStepValueShouldBeInteger));
</del><ins>+    static NeverDestroyed&lt;const StepRange::StepDescription&gt; stepDescription(dateTimeDefaultStep, dateTimeDefaultStepBase, dateTimeStepScaleFactor, StepRange::ScaledStepValueShouldBeInteger);
</ins><span class="cx"> 
</span><span class="cx">     const Decimal stepBase = parseToNumber(element().fastGetAttribute(minAttr), 0);
</span><span class="cx">     const Decimal minimum = parseToNumber(element().fastGetAttribute(minAttr), Decimal::fromDouble(DateComponents::minimumDateTime()));
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlDateTimeLocalInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/DateTimeLocalInputType.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/DateTimeLocalInputType.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/DateTimeLocalInputType.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -35,6 +35,7 @@
</span><span class="cx"> #include &quot;HTMLInputElement.h&quot;
</span><span class="cx"> #include &quot;HTMLNames.h&quot;
</span><span class="cx"> #include &quot;InputTypeNames.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -68,7 +69,7 @@
</span><span class="cx"> 
</span><span class="cx"> StepRange DateTimeLocalInputType::createStepRange(AnyStepHandling anyStepHandling) const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const StepRange::StepDescription, stepDescription, (dateTimeLocalDefaultStep, dateTimeLocalDefaultStepBase, dateTimeLocalStepScaleFactor, StepRange::ScaledStepValueShouldBeInteger));
</del><ins>+    static NeverDestroyed&lt;const StepRange::StepDescription&gt; stepDescription(dateTimeLocalDefaultStep, dateTimeLocalDefaultStepBase, dateTimeLocalStepScaleFactor, StepRange::ScaledStepValueShouldBeInteger);
</ins><span class="cx"> 
</span><span class="cx">     const Decimal stepBase = parseToNumber(element().fastGetAttribute(minAttr), 0);
</span><span class="cx">     const Decimal minimum = parseToNumber(element().fastGetAttribute(minAttr), Decimal::fromDouble(DateComponents::minimumDateTime()));
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlEmailInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/EmailInputType.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/EmailInputType.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/EmailInputType.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx"> #include &quot;HTMLParserIdioms.h&quot;
</span><span class="cx"> #include &quot;InputTypeNames.h&quot;
</span><span class="cx"> #include &quot;LocalizedStrings.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/StringBuilder.h&gt;
</span><span class="cx"> #include &lt;yarr/RegularExpression.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -44,10 +45,10 @@
</span><span class="cx">     if (!addressLength)
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const JSC::Yarr::RegularExpression, regExp, (emailPattern, TextCaseInsensitive));
</del><ins>+    static NeverDestroyed&lt;const JSC::Yarr::RegularExpression&gt; regExp(emailPattern, TextCaseInsensitive);
</ins><span class="cx"> 
</span><span class="cx">     int matchLength;
</span><del>-    int matchOffset = regExp.match(address, 0, &amp;matchLength);
</del><ins>+    int matchOffset = regExp.get().match(address, 0, &amp;matchLength);
</ins><span class="cx"> 
</span><span class="cx">     return !matchOffset &amp;&amp; matchLength == addressLength;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlFormControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/FormController.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/FormController.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/FormController.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -23,6 +23,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;HTMLFormElement.h&quot;
</span><span class="cx"> #include &quot;HTMLInputElement.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/StringBuilder.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -333,7 +334,7 @@
</span><span class="cx"> {
</span><span class="cx">     HTMLFormElement* form = ownerFormForState(control);
</span><span class="cx">     if (!form) {
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, formKeyForNoOwner, (&quot;No owner&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+        static NeverDestroyed&lt;AtomicString&gt; formKeyForNoOwner(&quot;No owner&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">         return formKeyForNoOwner;
</span><span class="cx">     }
</span><span class="cx">     FormToKeyMap::const_iterator it = m_formToKeyMap.find(form);
</span><span class="lines">@@ -386,7 +387,7 @@
</span><span class="cx">     // In the legacy version of serialized state, the first item was a name
</span><span class="cx">     // attribute value of a form control. The following string literal should
</span><span class="cx">     // contain some characters which are rarely used for name attribute values.
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(String, signature, (ASCIILiteral(&quot;\n\r?% WebKit serialized form state version 8 \n\r=&amp;&quot;)));
</del><ins>+    static NeverDestroyed&lt;String&gt; signature(ASCIILiteral(&quot;\n\r?% WebKit serialized form state version 8 \n\r=&amp;&quot;));
</ins><span class="cx">     return signature;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLAnchorElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLAnchorElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLAnchorElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/HTMLAnchorElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -619,7 +619,7 @@
</span><span class="cx"> 
</span><span class="cx"> static RootEditableElementMap&amp; rootEditableElementMap()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(RootEditableElementMap, map, ());
</del><ins>+    static NeverDestroyed&lt;RootEditableElementMap&gt; map;
</ins><span class="cx">     return map;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLButtonElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLButtonElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLButtonElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/HTMLButtonElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -65,15 +65,15 @@
</span><span class="cx"> {
</span><span class="cx">     switch (m_type) {
</span><span class="cx">         case SUBMIT: {
</span><del>-            DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, submit, (&quot;submit&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+            static NeverDestroyed&lt;const AtomicString&gt; submit(&quot;submit&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">             return submit;
</span><span class="cx">         }
</span><span class="cx">         case BUTTON: {
</span><del>-            DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, button, (&quot;button&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+            static NeverDestroyed&lt;const AtomicString&gt; button(&quot;button&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">             return button;
</span><span class="cx">         }
</span><span class="cx">         case RESET: {
</span><del>-            DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, reset, (&quot;reset&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+            static NeverDestroyed&lt;const AtomicString&gt; reset(&quot;reset&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">             return reset;
</span><span class="cx">         }
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLFieldSetElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLFieldSetElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLFieldSetElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/HTMLFieldSetElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -146,7 +146,7 @@
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; HTMLFieldSetElement::formControlType() const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, fieldset, (&quot;fieldset&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; fieldset(&quot;fieldset&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return fieldset;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLFrameOwnerElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLFrameOwnerElement.h (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLFrameOwnerElement.h        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/HTMLFrameOwnerElement.h        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -23,6 +23,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;HTMLElement.h&quot;
</span><span class="cx"> #include &lt;wtf/HashCountedSet.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -87,7 +88,7 @@
</span><span class="cx"> private:
</span><span class="cx">     static HashCountedSet&lt;ContainerNode*&gt;&amp; disabledSubtreeRoots()
</span><span class="cx">     {
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(HashCountedSet&lt;ContainerNode*&gt;, nodes, ());
</del><ins>+        static NeverDestroyed&lt;HashCountedSet&lt;ContainerNode*&gt;&gt; nodes;
</ins><span class="cx">         return nodes;
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLKeygenElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLKeygenElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLKeygenElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/HTMLKeygenElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -34,6 +34,7 @@
</span><span class="cx"> #include &quot;SSLKeyGenerator.h&quot;
</span><span class="cx"> #include &quot;ShadowRoot.h&quot;
</span><span class="cx"> #include &quot;Text.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</span><span class="cx"> 
</span><span class="cx"> using namespace WebCore;
</span><span class="lines">@@ -53,7 +54,7 @@
</span><span class="cx">     KeygenSelectElement(Document&amp; document)
</span><span class="cx">         : HTMLSelectElement(selectTag, document, 0)
</span><span class="cx">     {
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, pseudoId, (&quot;-webkit-keygen-select&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+        static NeverDestroyed&lt;AtomicString&gt; pseudoId(&quot;-webkit-keygen-select&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">         setPseudo(pseudoId);
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -112,7 +113,7 @@
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; HTMLKeygenElement::formControlType() const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, keygen, (&quot;keygen&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; keygen(&quot;keygen&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return keygen;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLLinkElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLLinkElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLLinkElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/HTMLLinkElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -62,7 +62,7 @@
</span><span class="cx"> 
</span><span class="cx"> static LinkEventSender&amp; linkLoadEventSender()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(LinkEventSender, sharedLoadEventSender, (eventNames().loadEvent));
</del><ins>+    static NeverDestroyed&lt;LinkEventSender&gt; sharedLoadEventSender(eventNames().loadEvent);
</ins><span class="cx">     return sharedLoadEventSender;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLMediaElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLMediaElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -205,7 +205,7 @@
</span><span class="cx"> typedef HashMap&lt;Document*, HashSet&lt;HTMLMediaElement*&gt;&gt; DocumentElementSetMap;
</span><span class="cx"> static DocumentElementSetMap&amp; documentToElementSetMap()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(DocumentElementSetMap, map, ());
</del><ins>+    static NeverDestroyed&lt;DocumentElementSetMap&gt; map;
</ins><span class="cx">     return map;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLObjectElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLObjectElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLObjectElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/HTMLObjectElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -404,8 +404,8 @@
</span><span class="cx"> // FIXME: This should be removed, all callers are almost certainly wrong.
</span><span class="cx"> static bool isRecognizedTagName(const QualifiedName&amp; tagName)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(HashSet&lt;AtomicStringImpl*&gt;, tagList, ());
-    if (tagList.isEmpty()) {
</del><ins>+    static NeverDestroyed&lt;HashSet&lt;AtomicStringImpl*&gt;&gt; tagList;
+    if (tagList.get().isEmpty()) {
</ins><span class="cx">         auto* tags = HTMLNames::getHTMLTags();
</span><span class="cx">         for (size_t i = 0; i &lt; HTMLNames::HTMLTagsCount; i++) {
</span><span class="cx">             if (*tags[i] == bgsoundTag
</span><span class="lines">@@ -420,10 +420,10 @@
</span><span class="cx">                 // because that changes how we parse documents.
</span><span class="cx">                 continue;
</span><span class="cx">             }
</span><del>-            tagList.add(tags[i]-&gt;localName().impl());
</del><ins>+            tagList.get().add(tags[i]-&gt;localName().impl());
</ins><span class="cx">         }
</span><span class="cx">     }
</span><del>-    return tagList.contains(tagName.localName().impl());
</del><ins>+    return tagList.get().contains(tagName.localName().impl());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void HTMLObjectElement::updateDocNamedItem()
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLOptGroupElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLOptGroupElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLOptGroupElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/HTMLOptGroupElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -64,7 +64,7 @@
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; HTMLOptGroupElement::formControlType() const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, optgroup, (&quot;optgroup&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; optgroup(&quot;optgroup&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return optgroup;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLOutputElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLOutputElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLOutputElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/HTMLOutputElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -34,6 +34,7 @@
</span><span class="cx"> #include &quot;ExceptionCodePlaceholder.h&quot;
</span><span class="cx"> #include &quot;HTMLFormElement.h&quot;
</span><span class="cx"> #include &quot;HTMLNames.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -54,7 +55,7 @@
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; HTMLOutputElement::formControlType() const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, output, (&quot;output&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; output(&quot;output&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return output;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLPlugInElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLPlugInElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLPlugInElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/HTMLPlugInElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -336,7 +336,7 @@
</span><span class="cx"> 
</span><span class="cx"> static Vector&lt;ReplacementPlugin*&gt;&amp; registeredPluginReplacements()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Vector&lt;ReplacementPlugin*&gt;, registeredReplacements, ());
</del><ins>+    static NeverDestroyed&lt;Vector&lt;ReplacementPlugin*&gt;&gt; registeredReplacements;
</ins><span class="cx">     static bool enginesQueried = false;
</span><span class="cx">     
</span><span class="cx">     if (enginesQueried)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLPlugInImageElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLPlugInImageElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLPlugInImageElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/HTMLPlugInImageElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -74,29 +74,29 @@
</span><span class="cx"> 
</span><span class="cx"> static const String titleText(Page* page, String mimeType)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(MimeTypeToLocalizedStringMap, mimeTypeToLabelTitleMap, ());
-    String titleText = mimeTypeToLabelTitleMap.get(mimeType);
</del><ins>+    static NeverDestroyed&lt;MimeTypeToLocalizedStringMap&gt; mimeTypeToLabelTitleMap;
+    String titleText = mimeTypeToLabelTitleMap.get().get(mimeType);
</ins><span class="cx">     if (!titleText.isEmpty())
</span><span class="cx">         return titleText;
</span><span class="cx"> 
</span><span class="cx">     titleText = page-&gt;chrome().client().plugInStartLabelTitle(mimeType);
</span><span class="cx">     if (titleText.isEmpty())
</span><span class="cx">         titleText = snapshottedPlugInLabelTitle();
</span><del>-    mimeTypeToLabelTitleMap.set(mimeType, titleText);
</del><ins>+    mimeTypeToLabelTitleMap.get().set(mimeType, titleText);
</ins><span class="cx">     return titleText;
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> static const String subtitleText(Page* page, String mimeType)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(MimeTypeToLocalizedStringMap, mimeTypeToLabelSubtitleMap, ());
-    String subtitleText = mimeTypeToLabelSubtitleMap.get(mimeType);
</del><ins>+    static NeverDestroyed&lt;MimeTypeToLocalizedStringMap&gt; mimeTypeToLabelSubtitleMap;
+    String subtitleText = mimeTypeToLabelSubtitleMap.get().get(mimeType);
</ins><span class="cx">     if (!subtitleText.isEmpty())
</span><span class="cx">         return subtitleText;
</span><span class="cx"> 
</span><span class="cx">     subtitleText = page-&gt;chrome().client().plugInStartLabelSubtitle(mimeType);
</span><span class="cx">     if (subtitleText.isEmpty())
</span><span class="cx">         subtitleText = snapshottedPlugInLabelSubtitle();
</span><del>-    mimeTypeToLabelSubtitleMap.set(mimeType, subtitleText);
</del><ins>+    mimeTypeToLabelSubtitleMap.get().set(mimeType, subtitleText);
</ins><span class="cx">     return subtitleText;
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="lines">@@ -408,11 +408,11 @@
</span><span class="cx"> 
</span><span class="cx"> bool HTMLPlugInImageElement::partOfSnapshotOverlay(const Node* node) const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, selector, (&quot;.snapshot-overlay&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; selector(&quot;.snapshot-overlay&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     ShadowRoot* shadow = userAgentShadowRoot();
</span><span class="cx">     if (!shadow)
</span><span class="cx">         return false;
</span><del>-    RefPtr&lt;Element&gt; snapshotLabel = shadow-&gt;querySelector(selector, ASSERT_NO_EXCEPTION);
</del><ins>+    RefPtr&lt;Element&gt; snapshotLabel = shadow-&gt;querySelector(selector.get(), ASSERT_NO_EXCEPTION);
</ins><span class="cx">     return node &amp;&amp; snapshotLabel &amp;&amp; (node == snapshotLabel.get() || node-&gt;isDescendantOf(snapshotLabel.get()));
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLSelectElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLSelectElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLSelectElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/HTMLSelectElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -97,8 +97,8 @@
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; HTMLSelectElement::formControlType() const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, selectMultiple, (&quot;select-multiple&quot;, AtomicString::ConstructFromLiteral));
-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, selectOne, (&quot;select-one&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; selectMultiple(&quot;select-multiple&quot;, AtomicString::ConstructFromLiteral);
+    static NeverDestroyed&lt;const AtomicString&gt; selectOne(&quot;select-one&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return m_multiple ? selectMultiple : selectOne;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLStyleElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLStyleElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLStyleElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/HTMLStyleElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -40,7 +40,7 @@
</span><span class="cx"> 
</span><span class="cx"> static StyleEventSender&amp; styleLoadEventSender()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(StyleEventSender, sharedLoadEventSender, (eventNames().loadEvent));
</del><ins>+    static NeverDestroyed&lt;StyleEventSender&gt; sharedLoadEventSender(eventNames().loadEvent);
</ins><span class="cx">     return sharedLoadEventSender;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTextAreaElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTextAreaElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTextAreaElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/HTMLTextAreaElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -115,7 +115,7 @@
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; HTMLTextAreaElement::formControlType() const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, textarea, (&quot;textarea&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; textarea(&quot;textarea&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return textarea;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTextFormControlElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTextFormControlElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTextFormControlElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/HTMLTextFormControlElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -375,9 +375,9 @@
</span><span class="cx"> 
</span><span class="cx"> static const AtomicString&amp; directionString(TextFieldSelectionDirection direction)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, none, (&quot;none&quot;, AtomicString::ConstructFromLiteral));
-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, forward, (&quot;forward&quot;, AtomicString::ConstructFromLiteral));
-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, backward, (&quot;backward&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; none(&quot;none&quot;, AtomicString::ConstructFromLiteral);
+    static NeverDestroyed&lt;const AtomicString&gt; forward(&quot;forward&quot;, AtomicString::ConstructFromLiteral);
+    static NeverDestroyed&lt;const AtomicString&gt; backward(&quot;backward&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx"> 
</span><span class="cx">     switch (direction) {
</span><span class="cx">     case SelectionHasNoDirection:
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlImageInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/ImageInputType.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/ImageInputType.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/ImageInputType.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -33,6 +33,7 @@
</span><span class="cx"> #include &quot;InputTypeNames.h&quot;
</span><span class="cx"> #include &quot;MouseEvent.h&quot;
</span><span class="cx"> #include &quot;RenderImage.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -64,10 +65,10 @@
</span><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(String, dotXString, (ASCIILiteral(&quot;.x&quot;)));
-    DEPRECATED_DEFINE_STATIC_LOCAL(String, dotYString, (ASCIILiteral(&quot;.y&quot;)));
-    encoding.appendData(name + dotXString, m_clickLocation.x());
-    encoding.appendData(name + dotYString, m_clickLocation.y());
</del><ins>+    static NeverDestroyed&lt;String&gt; dotXString(ASCIILiteral(&quot;.x&quot;));
+    static NeverDestroyed&lt;String&gt; dotYString(ASCIILiteral(&quot;.y&quot;));
+    encoding.appendData(name + dotXString.get(), m_clickLocation.x());
+    encoding.appendData(name + dotYString.get(), m_clickLocation.y());
</ins><span class="cx"> 
</span><span class="cx">     if (!element().value().isEmpty())
</span><span class="cx">         encoding.appendData(name, element().value());
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlInputTypeNamescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/InputTypeNames.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/InputTypeNames.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/InputTypeNames.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -22,6 +22,8 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;InputTypeNames.h&quot;
</span><span class="cx"> 
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
+
</ins><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> namespace InputTypeNames {
</span><span class="lines">@@ -31,139 +33,139 @@
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; button()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, (&quot;button&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; name(&quot;button&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return name;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; checkbox()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, (&quot;checkbox&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; name(&quot;checkbox&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return name;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; color()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, (&quot;color&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; name(&quot;color&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return name;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; date()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, (&quot;date&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; name(&quot;date&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return name;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; datetime()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, (&quot;datetime&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; name(&quot;datetime&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return name;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; datetimelocal()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, (&quot;datetime-local&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; name(&quot;datetime-local&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return name;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; email()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, (&quot;email&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; name(&quot;email&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return name;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; file()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, (&quot;file&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; name(&quot;file&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return name;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; hidden()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, (&quot;hidden&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; name(&quot;hidden&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return name;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; image()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, (&quot;image&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; name(&quot;image&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return name;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; month()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, (&quot;month&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; name(&quot;month&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return name;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; number()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, (&quot;number&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; name(&quot;number&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return name;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; password()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, (&quot;password&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; name(&quot;password&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return name;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; radio()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, (&quot;radio&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; name(&quot;radio&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return name;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; range()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, (&quot;range&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; name(&quot;range&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return name;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; reset()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, (&quot;reset&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; name(&quot;reset&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return name;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; search()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, (&quot;search&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; name(&quot;search&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return name;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; submit()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, (&quot;submit&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; name(&quot;submit&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return name;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; telephone()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, (&quot;tel&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; name(&quot;tel&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return name;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; text()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, (&quot;text&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; name(&quot;text&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return name;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; time()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, (&quot;time&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; name(&quot;time&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return name;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; url()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, (&quot;url&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; name(&quot;url&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return name;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; week()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, (&quot;week&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; name(&quot;week&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return name;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlMediaControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/MediaController.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/MediaController.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/MediaController.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -290,19 +290,19 @@
</span><span class="cx"> 
</span><span class="cx"> static const AtomicString&amp; playbackStateWaiting()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, waiting, (&quot;waiting&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; waiting(&quot;waiting&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return waiting;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static const AtomicString&amp; playbackStatePlaying()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, playing, (&quot;playing&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; playing(&quot;playing&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return playing;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static const AtomicString&amp; playbackStateEnded()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, ended, (&quot;ended&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; ended(&quot;ended&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return ended;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlMonthInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/MonthInputType.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/MonthInputType.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/MonthInputType.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -38,6 +38,7 @@
</span><span class="cx"> #include &lt;wtf/CurrentTime.h&gt;
</span><span class="cx"> #include &lt;wtf/DateMath.h&gt;
</span><span class="cx"> #include &lt;wtf/MathExtras.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -90,7 +91,7 @@
</span><span class="cx"> 
</span><span class="cx"> StepRange MonthInputType::createStepRange(AnyStepHandling anyStepHandling) const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const StepRange::StepDescription, stepDescription, (monthDefaultStep, monthDefaultStepBase, monthStepScaleFactor, StepRange::ParsedStepValueShouldBeInteger));
</del><ins>+    static NeverDestroyed&lt;const StepRange::StepDescription&gt; stepDescription(monthDefaultStep, monthDefaultStepBase, monthStepScaleFactor, StepRange::ParsedStepValueShouldBeInteger);
</ins><span class="cx"> 
</span><span class="cx">     const Decimal stepBase = parseToNumber(element().fastGetAttribute(minAttr), Decimal::fromDouble(monthDefaultStepBase));
</span><span class="cx">     const Decimal minimum = parseToNumber(element().fastGetAttribute(minAttr), Decimal::fromDouble(DateComponents::minimumMonth()));
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlNumberInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/NumberInputType.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/NumberInputType.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/NumberInputType.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -152,7 +152,7 @@
</span><span class="cx"> 
</span><span class="cx"> StepRange NumberInputType::createStepRange(AnyStepHandling anyStepHandling) const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const StepRange::StepDescription, stepDescription, (numberDefaultStep, numberDefaultStepBase, numberStepScaleFactor));
</del><ins>+    static NeverDestroyed&lt;const StepRange::StepDescription&gt; stepDescription(numberDefaultStep, numberDefaultStepBase, numberStepScaleFactor);
</ins><span class="cx">     const Decimal stepBase = parseToDecimalForNumberType(element().fastGetAttribute(minAttr), numberDefaultStepBase);
</span><span class="cx">     // FIXME: We should use numeric_limits&lt;double&gt;::max for number input type.
</span><span class="cx">     const Decimal floatMax = Decimal::fromDouble(std::numeric_limits&lt;float&gt;::max());
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlRangeInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/RangeInputType.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/RangeInputType.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/RangeInputType.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -46,6 +46,7 @@
</span><span class="cx"> #include &quot;SliderThumbElement.h&quot;
</span><span class="cx"> #include &lt;limits&gt;
</span><span class="cx"> #include &lt;wtf/MathExtras.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(TOUCH_EVENTS)
</span><span class="cx"> #include &quot;Touch.h&quot;
</span><span class="lines">@@ -113,7 +114,7 @@
</span><span class="cx"> 
</span><span class="cx"> StepRange RangeInputType::createStepRange(AnyStepHandling anyStepHandling) const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const StepRange::StepDescription, stepDescription, (rangeDefaultStep, rangeDefaultStepBase, rangeStepScaleFactor));
</del><ins>+    static NeverDestroyed&lt;const StepRange::StepDescription&gt; stepDescription(rangeDefaultStep, rangeDefaultStepBase, rangeStepScaleFactor);
</ins><span class="cx"> 
</span><span class="cx">     const Decimal minimum = parseToNumber(element().fastGetAttribute(minAttr), rangeDefaultMinimum);
</span><span class="cx">     const Decimal maximum = ensureMaximum(parseToNumber(element().fastGetAttribute(maxAttr), rangeDefaultMaximum), minimum, rangeDefaultMaximum);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlStepRangecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/StepRange.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/StepRange.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/StepRange.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -24,6 +24,7 @@
</span><span class="cx"> #include &quot;HTMLNames.h&quot;
</span><span class="cx"> #include &quot;HTMLParserIdioms.h&quot;
</span><span class="cx"> #include &lt;wtf/MathExtras.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -65,13 +66,13 @@
</span><span class="cx"> Decimal StepRange::acceptableError() const
</span><span class="cx"> {
</span><span class="cx">     // FIXME: We should use DBL_MANT_DIG instead of FLT_MANT_DIG regarding to HTML5 specification.
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const Decimal, twoPowerOfFloatMantissaBits, (Decimal::Positive, 0, UINT64_C(1) &lt;&lt; FLT_MANT_DIG));
</del><ins>+    static NeverDestroyed&lt;const Decimal&gt; twoPowerOfFloatMantissaBits(Decimal::Positive, 0, UINT64_C(1) &lt;&lt; FLT_MANT_DIG);
</ins><span class="cx">     return m_stepDescription.stepValueShouldBe == StepValueShouldBeReal ? m_step / twoPowerOfFloatMantissaBits : Decimal(0);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> Decimal StepRange::alignValueForStep(const Decimal&amp; currentValue, const Decimal&amp; newValue) const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const Decimal, tenPowerOf21, (Decimal::Positive, 21, 1));
</del><ins>+    static NeverDestroyed&lt;const Decimal&gt; tenPowerOf21(Decimal::Positive, 21, 1);
</ins><span class="cx">     if (newValue &gt;= tenPowerOf21)
</span><span class="cx">         return newValue;
</span><span class="cx"> 
</span><span class="lines">@@ -150,7 +151,7 @@
</span><span class="cx">     // Decimal's fractional part size is DBL_MAN_DIG-bit. If the current value
</span><span class="cx">     // is greater than step*2^DBL_MANT_DIG, the following computation for
</span><span class="cx">     // remainder makes no sense.
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const Decimal, twoPowerOfDoubleMantissaBits, (Decimal::Positive, 0, UINT64_C(1) &lt;&lt; DBL_MANT_DIG));
</del><ins>+    static NeverDestroyed&lt;const Decimal&gt; twoPowerOfDoubleMantissaBits(Decimal::Positive, 0, UINT64_C(1) &lt;&lt; DBL_MANT_DIG);
</ins><span class="cx">     if (value / twoPowerOfDoubleMantissaBits &gt; m_step)
</span><span class="cx">         return false;
</span><span class="cx">     // The computation follows HTML5 4.10.7.2.10 `The step attribute' :
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlTimeInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/TimeInputType.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/TimeInputType.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/TimeInputType.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -38,6 +38,7 @@
</span><span class="cx"> #include &lt;wtf/CurrentTime.h&gt;
</span><span class="cx"> #include &lt;wtf/DateMath.h&gt;
</span><span class="cx"> #include &lt;wtf/MathExtras.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -77,7 +78,7 @@
</span><span class="cx"> 
</span><span class="cx"> StepRange TimeInputType::createStepRange(AnyStepHandling anyStepHandling) const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const StepRange::StepDescription, stepDescription, (timeDefaultStep, timeDefaultStepBase, timeStepScaleFactor, StepRange::ScaledStepValueShouldBeInteger));
</del><ins>+    static NeverDestroyed&lt;const StepRange::StepDescription&gt; stepDescription(timeDefaultStep, timeDefaultStepBase, timeStepScaleFactor, StepRange::ScaledStepValueShouldBeInteger);
</ins><span class="cx"> 
</span><span class="cx">     const Decimal stepBase = parseToNumber(element().fastGetAttribute(minAttr), 0);
</span><span class="cx">     const Decimal minimum = parseToNumber(element().fastGetAttribute(minAttr), Decimal::fromDouble(DateComponents::minimumTime()));
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlWeekInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/WeekInputType.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/WeekInputType.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/WeekInputType.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -35,6 +35,7 @@
</span><span class="cx"> #include &quot;HTMLInputElement.h&quot;
</span><span class="cx"> #include &quot;HTMLNames.h&quot;
</span><span class="cx"> #include &quot;InputTypeNames.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -56,7 +57,7 @@
</span><span class="cx"> 
</span><span class="cx"> StepRange WeekInputType::createStepRange(AnyStepHandling anyStepHandling) const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const StepRange::StepDescription, stepDescription, (weekDefaultStep, weekDefaultStepBase, weekStepScaleFactor, StepRange::ParsedStepValueShouldBeInteger));
</del><ins>+    static NeverDestroyed&lt;const StepRange::StepDescription&gt; stepDescription(weekDefaultStep, weekDefaultStepBase, weekStepScaleFactor, StepRange::ParsedStepValueShouldBeInteger);
</ins><span class="cx"> 
</span><span class="cx">     const Decimal stepBase = parseToNumber(element().fastGetAttribute(minAttr), weekDefaultStepBase);
</span><span class="cx">     const Decimal minimum = parseToNumber(element().fastGetAttribute(minAttr), Decimal::fromDouble(DateComponents::minimumWeek()));
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasCanvasRenderingContext2Dcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -58,6 +58,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &lt;wtf/CheckedArithmetic.h&gt;
</span><span class="cx"> #include &lt;wtf/MathExtras.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/StringBuilder.h&gt;
</span><span class="cx"> 
</span><span class="cx"> #if USE(CG)
</span><span class="lines">@@ -1959,7 +1960,7 @@
</span><span class="cx"> RefPtr&lt;ImageData&gt; CanvasRenderingContext2D::getImageData(ImageBuffer::CoordinateSystem coordinateSystem, float sx, float sy, float sw, float sh, ExceptionCode&amp; ec) const
</span><span class="cx"> {
</span><span class="cx">     if (!canvas()-&gt;originClean()) {
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral(&quot;Unable to get image data from canvas because the canvas has been tainted by cross-origin data.&quot;)));
</del><ins>+        static NeverDestroyed&lt;String&gt; consoleMessage(ASCIILiteral(&quot;Unable to get image data from canvas because the canvas has been tainted by cross-origin data.&quot;));
</ins><span class="cx">         canvas()-&gt;document().addConsoleMessage(MessageSource::Security, MessageLevel::Error, consoleMessage);
</span><span class="cx">         ec = SECURITY_ERR;
</span><span class="cx">         return nullptr;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserXSSAuditorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/XSSAuditor.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/XSSAuditor.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/parser/XSSAuditor.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -43,6 +43,7 @@
</span><span class="cx"> #include &quot;XLinkNames.h&quot;
</span><span class="cx"> #include &lt;wtf/ASCIICType.h&gt;
</span><span class="cx"> #include &lt;wtf/MainThread.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -273,7 +274,7 @@
</span><span class="cx"> 
</span><span class="cx">     String httpBodyAsString;
</span><span class="cx">     if (DocumentLoader* documentLoader = document-&gt;frame()-&gt;loader().documentLoader()) {
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(String, XSSProtectionHeader, (ASCIILiteral(&quot;X-XSS-Protection&quot;)));
</del><ins>+        static NeverDestroyed&lt;String&gt; XSSProtectionHeader(ASCIILiteral(&quot;X-XSS-Protection&quot;));
</ins><span class="cx">         String headerValue = documentLoader-&gt;response().httpHeaderField(XSSProtectionHeader);
</span><span class="cx">         String errorDetails;
</span><span class="cx">         unsigned errorPosition = 0;
</span><span class="lines">@@ -523,7 +524,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool XSSAuditor::eraseDangerousAttributesIfInjected(const FilterTokenRequest&amp; request)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(String, safeJavaScriptURL, (ASCIILiteral(&quot;javascript:void(0)&quot;)));
</del><ins>+    static NeverDestroyed&lt;String&gt; safeJavaScriptURL(ASCIILiteral(&quot;javascript:void(0)&quot;));
</ins><span class="cx"> 
</span><span class="cx">     bool didBlockScript = false;
</span><span class="cx">     for (size_t i = 0; i &lt; request.token.attributes().size(); ++i) {
</span><span class="lines">@@ -538,7 +539,7 @@
</span><span class="cx">             continue;
</span><span class="cx">         request.token.eraseValueOfAttribute(i);
</span><span class="cx">         if (valueContainsJavaScriptURL)
</span><del>-            request.token.appendToAttributeValue(i, safeJavaScriptURL);
</del><ins>+            request.token.appendToAttributeValue(i, safeJavaScriptURL.get());
</ins><span class="cx">         didBlockScript = true;
</span><span class="cx">     }
</span><span class="cx">     return didBlockScript;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlshadowMediaControlElementscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/shadow/MediaControlElements.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/shadow/MediaControlElements.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/shadow/MediaControlElements.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -721,7 +721,7 @@
</span><span class="cx"> void MediaControlClosedCaptionsTrackListElement::updateDisplay()
</span><span class="cx"> {
</span><span class="cx"> #if ENABLE(VIDEO_TRACK)
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, selectedClassValue, (&quot;selected&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; selectedClassValue(&quot;selected&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx"> 
</span><span class="cx">     if (!mediaController()-&gt;hasClosedCaptions())
</span><span class="cx">         return;
</span><span class="lines">@@ -1038,7 +1038,7 @@
</span><span class="cx"> 
</span><span class="cx"> static const AtomicString&amp; getMediaControlTimeRemainingDisplayElementShadowPseudoId()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, id, (&quot;-webkit-media-controls-time-remaining-display&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; id(&quot;-webkit-media-controls-time-remaining-display&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return id;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1057,7 +1057,7 @@
</span><span class="cx"> 
</span><span class="cx"> static const AtomicString&amp; getMediaControlCurrentTimeDisplayElementShadowPseudoId()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, id, (&quot;-webkit-media-controls-current-time-display&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; id(&quot;-webkit-media-controls-current-time-display&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return id;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlshadowMeterShadowElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/shadow/MeterShadowElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/shadow/MeterShadowElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/shadow/MeterShadowElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -63,7 +63,7 @@
</span><span class="cx"> MeterInnerElement::MeterInnerElement(Document&amp; document)
</span><span class="cx">     : MeterShadowElement(document)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, pseudoId, (&quot;-webkit-meter-inner-element&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; pseudoId(&quot;-webkit-meter-inner-element&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     setPseudo(pseudoId);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -80,9 +80,9 @@
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; MeterValueElement::valuePseudoId() const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, optimumPseudoId, (&quot;-webkit-meter-optimum-value&quot;, AtomicString::ConstructFromLiteral));
-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, suboptimumPseudoId, (&quot;-webkit-meter-suboptimum-value&quot;, AtomicString::ConstructFromLiteral));
-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, evenLessGoodPseudoId, (&quot;-webkit-meter-even-less-good-value&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; optimumPseudoId(&quot;-webkit-meter-optimum-value&quot;, AtomicString::ConstructFromLiteral);
+    static NeverDestroyed&lt;AtomicString&gt; suboptimumPseudoId(&quot;-webkit-meter-suboptimum-value&quot;, AtomicString::ConstructFromLiteral);
+    static NeverDestroyed&lt;AtomicString&gt; evenLessGoodPseudoId(&quot;-webkit-meter-even-less-good-value&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx"> 
</span><span class="cx">     HTMLMeterElement* meter = meterElement();
</span><span class="cx">     if (!meter)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlshadowMeterShadowElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/shadow/MeterShadowElement.h (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/shadow/MeterShadowElement.h        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/shadow/MeterShadowElement.h        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -34,6 +34,7 @@
</span><span class="cx"> #if ENABLE(METER_ELEMENT)
</span><span class="cx"> #include &quot;HTMLDivElement.h&quot;
</span><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -75,7 +76,7 @@
</span><span class="cx">     MeterBarElement(Document&amp; document)
</span><span class="cx">         : MeterShadowElement(document)
</span><span class="cx">     {
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, pseudoId, (&quot;-webkit-meter-bar&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+        static NeverDestroyed&lt;AtomicString&gt; pseudoId(&quot;-webkit-meter-bar&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">         setPseudo(pseudoId);
</span><span class="cx">     }
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlshadowSliderThumbElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -575,13 +575,13 @@
</span><span class="cx"> 
</span><span class="cx"> static const AtomicString&amp; sliderThumbShadowPseudoId()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, sliderThumb, (&quot;-webkit-slider-thumb&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; sliderThumb(&quot;-webkit-slider-thumb&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return sliderThumb;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static const AtomicString&amp; mediaSliderThumbShadowPseudoId()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, mediaSliderThumb, (&quot;-webkit-media-slider-thumb&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; mediaSliderThumb(&quot;-webkit-media-slider-thumb&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return mediaSliderThumb;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -641,8 +641,8 @@
</span><span class="cx">     // that value depends on the style, which means the style needs to be computed twice to get
</span><span class="cx">     // a correct value: once to get the Input's appearance, then a second time to style the shadow tree correctly.
</span><span class="cx"> 
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, mediaSliderContainer, (&quot;-webkit-media-slider-container&quot;, AtomicString::ConstructFromLiteral));
-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, sliderContainer, (&quot;-webkit-slider-container&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; mediaSliderContainer(&quot;-webkit-media-slider-container&quot;, AtomicString::ConstructFromLiteral);
+    static NeverDestroyed&lt;const AtomicString&gt; sliderContainer(&quot;-webkit-slider-container&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx"> 
</span><span class="cx">     if (!is&lt;HTMLInputElement&gt;(*shadowHost()))
</span><span class="cx">         return sliderContainer;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackAudioTrackcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/AudioTrack.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/AudioTrack.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/track/AudioTrack.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -38,42 +38,43 @@
</span><span class="cx"> #include &quot;AudioTrackList.h&quot;
</span><span class="cx"> #include &quot;Event.h&quot;
</span><span class="cx"> #include &quot;HTMLMediaElement.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; AudioTrack::alternativeKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, alternative, (&quot;alternative&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; alternative(&quot;alternative&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return alternative;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; AudioTrack::descriptionKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, description, (&quot;description&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; description(&quot;description&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return description;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; AudioTrack::mainKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, main, (&quot;main&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; main(&quot;main&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return main;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; AudioTrack::mainDescKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, mainDesc, (&quot;main-desc&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; mainDesc(&quot;main-desc&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return mainDesc;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; AudioTrack::translationKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, translation, (&quot;translation&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; translation(&quot;translation&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return translation;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; AudioTrack::commentaryKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, commentary, (&quot;commentary&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; commentary(&quot;commentary&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return commentary;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackTextTrackcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/TextTrack.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/TextTrack.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/track/TextTrack.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -49,55 +49,55 @@
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; TextTrack::subtitlesKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, subtitles, (&quot;subtitles&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; subtitles(&quot;subtitles&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return subtitles;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; TextTrack::captionsKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, captions, (&quot;captions&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; captions(&quot;captions&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return captions;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; TextTrack::descriptionsKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, descriptions, (&quot;descriptions&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; descriptions(&quot;descriptions&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return descriptions;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; TextTrack::chaptersKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, chapters, (&quot;chapters&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; chapters(&quot;chapters&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return chapters;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; TextTrack::metadataKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, metadata, (&quot;metadata&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; metadata(&quot;metadata&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return metadata;
</span><span class="cx"> }
</span><span class="cx">     
</span><span class="cx"> const AtomicString&amp; TextTrack::forcedKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, forced, (&quot;forced&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; forced(&quot;forced&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return forced;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; TextTrack::disabledKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, open, (&quot;disabled&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; open(&quot;disabled&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return open;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; TextTrack::hiddenKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, closed, (&quot;hidden&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; closed(&quot;hidden&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return closed;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; TextTrack::showingKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, ended, (&quot;showing&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; ended(&quot;showing&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return ended;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackTextTrackCueh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/TextTrackCue.h (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/TextTrackCue.h        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/track/TextTrackCue.h        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -37,6 +37,7 @@
</span><span class="cx"> #include &quot;EventTarget.h&quot;
</span><span class="cx"> #include &quot;HTMLElement.h&quot;
</span><span class="cx"> #include &lt;wtf/MediaTime.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/RefCounted.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -50,7 +51,7 @@
</span><span class="cx"> 
</span><span class="cx">     static const AtomicString&amp; cueShadowPseudoId()
</span><span class="cx">     {
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, cue, (&quot;cue&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+        static NeverDestroyed&lt;const AtomicString&gt; cue(&quot;cue&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">         return cue;
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackVTTCuecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/VTTCue.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/VTTCue.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/track/VTTCue.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -72,31 +72,31 @@
</span><span class="cx"> 
</span><span class="cx"> static const String&amp; startKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const String, start, (ASCIILiteral(&quot;start&quot;)));
</del><ins>+    static NeverDestroyed&lt;const String&gt; start(ASCIILiteral(&quot;start&quot;));
</ins><span class="cx">     return start;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static const String&amp; middleKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const String, middle, (ASCIILiteral(&quot;middle&quot;)));
</del><ins>+    static NeverDestroyed&lt;const String&gt; middle(ASCIILiteral(&quot;middle&quot;));
</ins><span class="cx">     return middle;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static const String&amp; endKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const String, end, (ASCIILiteral(&quot;end&quot;)));
</del><ins>+    static NeverDestroyed&lt;const String&gt; end(ASCIILiteral(&quot;end&quot;));
</ins><span class="cx">     return end;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static const String&amp; leftKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const String, left, (&quot;left&quot;));
</del><ins>+    static NeverDestroyed&lt;const String&gt; left(&quot;left&quot;);
</ins><span class="cx">     return left;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static const String&amp; rightKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const String, right, (&quot;right&quot;));
</del><ins>+    static NeverDestroyed&lt;const String&gt; right(&quot;right&quot;);
</ins><span class="cx">     return right;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -107,13 +107,13 @@
</span><span class="cx"> 
</span><span class="cx"> static const String&amp; verticalGrowingLeftKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const String, verticalrl, (ASCIILiteral(&quot;rl&quot;)));
</del><ins>+    static NeverDestroyed&lt;const String&gt; verticalrl(ASCIILiteral(&quot;rl&quot;));
</ins><span class="cx">     return verticalrl;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static const String&amp; verticalGrowingRightKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const String, verticallr, (ASCIILiteral(&quot;lr&quot;)));
</del><ins>+    static NeverDestroyed&lt;const String&gt; verticallr(ASCIILiteral(&quot;lr&quot;));
</ins><span class="cx">     return verticallr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -225,7 +225,7 @@
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; VTTCueBox::vttCueBoxShadowPseudoId()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, trackDisplayBoxShadowPseudoId, (&quot;-webkit-media-text-track-display&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; trackDisplayBoxShadowPseudoId(&quot;-webkit-media-text-track-display&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return trackDisplayBoxShadowPseudoId;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -238,7 +238,7 @@
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; VTTCue::cueBackdropShadowPseudoId()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, cueBackdropShadowPseudoId, (&quot;-webkit-media-text-track-display-backdrop&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; cueBackdropShadowPseudoId(&quot;-webkit-media-text-track-display-backdrop&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return cueBackdropShadowPseudoId;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -597,7 +597,7 @@
</span><span class="cx"> 
</span><span class="cx"> void VTTCue::determineTextDirection()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const String, rtTag, (ASCIILiteral(&quot;rt&quot;)));
</del><ins>+    static NeverDestroyed&lt;const String&gt; rtTag(ASCIILiteral(&quot;rt&quot;));
</ins><span class="cx">     createWebVTTNodeTree();
</span><span class="cx">     if (!m_webVTTNodeTree)
</span><span class="cx">         return;
</span><span class="lines">@@ -741,7 +741,7 @@
</span><span class="cx">     
</span><span class="cx"> void VTTCue::markFutureAndPastNodes(ContainerNode* root, const MediaTime&amp; previousTimestamp, const MediaTime&amp; movieTime)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const String, timestampTag, (ASCIILiteral(&quot;timestamp&quot;)));
</del><ins>+    static NeverDestroyed&lt;const String&gt; timestampTag(ASCIILiteral(&quot;timestamp&quot;));
</ins><span class="cx">     
</span><span class="cx">     bool isPastNode = true;
</span><span class="cx">     MediaTime currentTimestamp = previousTimestamp;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackVTTRegioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/VTTRegion.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/VTTRegion.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/track/VTTRegion.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -188,7 +188,7 @@
</span><span class="cx"> 
</span><span class="cx"> const AtomicString VTTRegion::scroll() const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, upScrollValueKeyword, (&quot;up&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; upScrollValueKeyword(&quot;up&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx"> 
</span><span class="cx">     if (m_scroll)
</span><span class="cx">         return upScrollValueKeyword;
</span><span class="lines">@@ -198,7 +198,7 @@
</span><span class="cx"> 
</span><span class="cx"> void VTTRegion::setScroll(const AtomicString&amp; value, ExceptionCode&amp; ec)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, upScrollValueKeyword, (&quot;up&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; upScrollValueKeyword(&quot;up&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx"> 
</span><span class="cx">     if (value != emptyString() &amp;&amp; value != upScrollValueKeyword) {
</span><span class="cx">         ec = SYNTAX_ERR;
</span><span class="lines">@@ -268,7 +268,7 @@
</span><span class="cx"> 
</span><span class="cx"> void VTTRegion::parseSettingValue(RegionSetting setting, VTTScanner&amp; input)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, scrollUpValueKeyword, (&quot;up&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; scrollUpValueKeyword(&quot;up&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx"> 
</span><span class="cx">     VTTScanner::Run valueRun = input.collectUntil&lt;isHTMLSpace&lt;UChar&gt;&gt;();
</span><span class="cx"> 
</span><span class="lines">@@ -312,7 +312,7 @@
</span><span class="cx">         break;
</span><span class="cx">     }
</span><span class="cx">     case Scroll:
</span><del>-        if (input.scanRun(valueRun, scrollUpValueKeyword))
</del><ins>+        if (input.scanRun(valueRun, scrollUpValueKeyword.get()))
</ins><span class="cx">             m_scroll = true;
</span><span class="cx">         else
</span><span class="cx">             LOG(Media, &quot;VTTRegion::parseSettingValue, invalid Scroll&quot;);
</span><span class="lines">@@ -326,7 +326,7 @@
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; VTTRegion::textTrackCueContainerScrollingClass()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, trackRegionCueContainerScrollingClass, (&quot;scrolling&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; trackRegionCueContainerScrollingClass(&quot;scrolling&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx"> 
</span><span class="cx">     return trackRegionCueContainerScrollingClass;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackVideoTrackcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/VideoTrack.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/VideoTrack.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/track/VideoTrack.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -47,37 +47,37 @@
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; VideoTrack::alternativeKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, alternative, (&quot;alternative&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; alternative(&quot;alternative&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return alternative;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; VideoTrack::captionsKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, captions, (&quot;captions&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; captions(&quot;captions&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return captions;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; VideoTrack::mainKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, captions, (&quot;main&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; captions(&quot;main&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return captions;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; VideoTrack::signKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, sign, (&quot;sign&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; sign(&quot;sign&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return sign;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; VideoTrack::subtitlesKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, subtitles, (&quot;subtitles&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; subtitles(&quot;subtitles&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return subtitles;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; VideoTrack::commentaryKeyword()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, commentary, (&quot;commentary&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; commentary(&quot;commentary&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return commentary;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackWebVTTElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/WebVTTElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/WebVTTElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/track/WebVTTElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -36,14 +36,14 @@
</span><span class="cx"> 
</span><span class="cx"> static const QualifiedName&amp; nodeTypeToTagName(WebVTTNodeType nodeType)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(QualifiedName, cTag, (nullAtom, &quot;c&quot;, nullAtom));
-    DEPRECATED_DEFINE_STATIC_LOCAL(QualifiedName, vTag, (nullAtom, &quot;v&quot;, nullAtom));
-    DEPRECATED_DEFINE_STATIC_LOCAL(QualifiedName, langTag, (nullAtom, &quot;lang&quot;, nullAtom));
-    DEPRECATED_DEFINE_STATIC_LOCAL(QualifiedName, bTag, (nullAtom, &quot;b&quot;, nullAtom));
-    DEPRECATED_DEFINE_STATIC_LOCAL(QualifiedName, uTag, (nullAtom, &quot;u&quot;, nullAtom));
-    DEPRECATED_DEFINE_STATIC_LOCAL(QualifiedName, iTag, (nullAtom, &quot;i&quot;, nullAtom));
-    DEPRECATED_DEFINE_STATIC_LOCAL(QualifiedName, rubyTag, (nullAtom, &quot;ruby&quot;, nullAtom));
-    DEPRECATED_DEFINE_STATIC_LOCAL(QualifiedName, rtTag, (nullAtom, &quot;rt&quot;, nullAtom));
</del><ins>+    static NeverDestroyed&lt;QualifiedName&gt; cTag(nullAtom, &quot;c&quot;, nullAtom);
+    static NeverDestroyed&lt;QualifiedName&gt; vTag(nullAtom, &quot;v&quot;, nullAtom);
+    static NeverDestroyed&lt;QualifiedName&gt; langTag(nullAtom, &quot;lang&quot;, nullAtom);
+    static NeverDestroyed&lt;QualifiedName&gt; bTag(nullAtom, &quot;b&quot;, nullAtom);
+    static NeverDestroyed&lt;QualifiedName&gt; uTag(nullAtom, &quot;u&quot;, nullAtom);
+    static NeverDestroyed&lt;QualifiedName&gt; iTag(nullAtom, &quot;i&quot;, nullAtom);
+    static NeverDestroyed&lt;QualifiedName&gt; rubyTag(nullAtom, &quot;ruby&quot;, nullAtom);
+    static NeverDestroyed&lt;QualifiedName&gt; rtTag(nullAtom, &quot;rt&quot;, nullAtom);
</ins><span class="cx">     switch (nodeType) {
</span><span class="cx">     case WebVTTNodeTypeClass:
</span><span class="cx">         return cTag;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackWebVTTElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/WebVTTElement.h (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/WebVTTElement.h        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/track/WebVTTElement.h        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -29,6 +29,7 @@
</span><span class="cx"> #if ENABLE(VIDEO_TRACK)
</span><span class="cx"> 
</span><span class="cx"> #include &quot;HTMLElement.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -62,13 +63,13 @@
</span><span class="cx"> 
</span><span class="cx">     static const QualifiedName&amp; voiceAttributeName()
</span><span class="cx">     {
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(QualifiedName, voiceAttr, (nullAtom, &quot;voice&quot;, nullAtom));
</del><ins>+        static NeverDestroyed&lt;QualifiedName&gt; voiceAttr(nullAtom, &quot;voice&quot;, nullAtom);
</ins><span class="cx">         return voiceAttr;
</span><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     static const QualifiedName&amp; langAttributeName()
</span><span class="cx">     {
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(QualifiedName, voiceAttr, (nullAtom, &quot;lang&quot;, nullAtom));
</del><ins>+        static NeverDestroyed&lt;QualifiedName&gt; voiceAttr(nullAtom, &quot;lang&quot;, nullAtom);
</ins><span class="cx">         return voiceAttr;
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackWebVTTParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/WebVTTParser.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/WebVTTParser.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/html/track/WebVTTParser.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -261,7 +261,7 @@
</span><span class="cx"> void WebVTTParser::collectMetadataHeader(const String&amp; line)
</span><span class="cx"> {
</span><span class="cx">     // WebVTT header parsing (WebVTT parser algorithm step 12)
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, regionHeaderName, (&quot;Region&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; regionHeaderName(&quot;Region&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx"> 
</span><span class="cx">     // Step 12.4 If line contains the character &quot;:&quot; (A U+003A COLON), then set metadata's
</span><span class="cx">     // name to the substring of line before the first &quot;:&quot; character and
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorCSSAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorCSSAgent.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorCSSAgent.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/inspector/InspectorCSSAgent.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -79,10 +79,10 @@
</span><span class="cx"> 
</span><span class="cx"> static unsigned computePseudoClassMask(const InspectorArray&amp; pseudoClassArray)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(String, active, (ASCIILiteral(&quot;active&quot;)));
-    DEPRECATED_DEFINE_STATIC_LOCAL(String, hover, (ASCIILiteral(&quot;hover&quot;)));
-    DEPRECATED_DEFINE_STATIC_LOCAL(String, focus, (ASCIILiteral(&quot;focus&quot;)));
-    DEPRECATED_DEFINE_STATIC_LOCAL(String, visited, (ASCIILiteral(&quot;visited&quot;)));
</del><ins>+    static NeverDestroyed&lt;String&gt; active(ASCIILiteral(&quot;active&quot;));
+    static NeverDestroyed&lt;String&gt; hover(ASCIILiteral(&quot;hover&quot;));
+    static NeverDestroyed&lt;String&gt; focus(ASCIILiteral(&quot;focus&quot;));
+    static NeverDestroyed&lt;String&gt; visited(ASCIILiteral(&quot;visited&quot;));
</ins><span class="cx">     if (!pseudoClassArray.length())
</span><span class="cx">         return PseudoClassNone;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorPageAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorPageAgent.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorPageAgent.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/inspector/InspectorPageAgent.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -230,8 +230,8 @@
</span><span class="cx"> //static
</span><span class="cx"> String InspectorPageAgent::sourceMapURLForResource(CachedResource* cachedResource)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(String, sourceMapHTTPHeader, (ASCIILiteral(&quot;SourceMap&quot;)));
-    DEPRECATED_DEFINE_STATIC_LOCAL(String, sourceMapHTTPHeaderDeprecated, (ASCIILiteral(&quot;X-SourceMap&quot;)));
</del><ins>+    static NeverDestroyed&lt;String&gt; sourceMapHTTPHeader(ASCIILiteral(&quot;SourceMap&quot;));
+    static NeverDestroyed&lt;String&gt; sourceMapHTTPHeaderDeprecated(ASCIILiteral(&quot;X-SourceMap&quot;));
</ins><span class="cx"> 
</span><span class="cx">     if (!cachedResource)
</span><span class="cx">         return String();
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorStyleSheetcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorStyleSheet.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorStyleSheet.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/inspector/InspectorStyleSheet.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -880,7 +880,7 @@
</span><span class="cx"> 
</span><span class="cx"> static Ref&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSSelector&gt;&gt; selectorsFromSource(const CSSRuleSourceData* sourceData, const String&amp; sheetText, const CSSSelectorList&amp; selectorList, Element* element)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(JSC::Yarr::RegularExpression, comment, (&quot;/\\*[^]*?\\*/&quot;, TextCaseSensitive, JSC::Yarr::MultilineEnabled));
</del><ins>+    static NeverDestroyed&lt;JSC::Yarr::RegularExpression&gt; comment(&quot;/\\*[^]*?\\*/&quot;, TextCaseSensitive, JSC::Yarr::MultilineEnabled);
</ins><span class="cx"> 
</span><span class="cx">     auto result = Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSSelector&gt;::create();
</span><span class="cx">     const CSSSelector* selector = selectorList.first();
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorPageDebuggerAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/PageDebuggerAgent.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/PageDebuggerAgent.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/inspector/PageDebuggerAgent.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -46,6 +46,7 @@
</span><span class="cx"> #include &lt;inspector/ScriptCallStack.h&gt;
</span><span class="cx"> #include &lt;inspector/ScriptCallStackFactory.h&gt;
</span><span class="cx"> #include &lt;profiler/Profile.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> using namespace Inspector;
</span><span class="cx"> 
</span><span class="lines">@@ -73,8 +74,8 @@
</span><span class="cx"> 
</span><span class="cx"> String PageDebuggerAgent::sourceMapURLForScript(const Script&amp; script)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(String, sourceMapHTTPHeader, (ASCIILiteral(&quot;SourceMap&quot;)));
-    DEPRECATED_DEFINE_STATIC_LOCAL(String, sourceMapHTTPHeaderDeprecated, (ASCIILiteral(&quot;X-SourceMap&quot;)));
</del><ins>+    static NeverDestroyed&lt;String&gt; sourceMapHTTPHeader(ASCIILiteral(&quot;SourceMap&quot;));
+    static NeverDestroyed&lt;String&gt; sourceMapHTTPHeaderDeprecated(ASCIILiteral(&quot;X-SourceMap&quot;));
</ins><span class="cx"> 
</span><span class="cx">     if (!script.url.isEmpty()) {
</span><span class="cx">         CachedResource* resource = m_pageAgent-&gt;cachedResource(&amp;m_page.mainFrame(), URL(ParsedURLString, script.url));
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderImageLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/ImageLoader.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/ImageLoader.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/loader/ImageLoader.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -289,7 +289,7 @@
</span><span class="cx">         m_hasPendingErrorEvent = true;
</span><span class="cx">         errorEventSender().dispatchEventSoon(*this);
</span><span class="cx"> 
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral(&quot;Cross-origin image load denied by Cross-Origin Resource Sharing policy.&quot;)));
</del><ins>+        static NeverDestroyed&lt;String&gt; consoleMessage(ASCIILiteral(&quot;Cross-origin image load denied by Cross-Origin Resource Sharing policy.&quot;));
</ins><span class="cx">         element().document().addConsoleMessage(MessageSource::Security, MessageLevel::Error, consoleMessage);
</span><span class="cx"> 
</span><span class="cx">         ASSERT(!m_hasPendingLoadEvent);
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderTextTrackLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/TextTrackLoader.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/TextTrackLoader.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/loader/TextTrackLoader.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -114,7 +114,7 @@
</span><span class="cx"> 
</span><span class="cx"> void TextTrackLoader::corsPolicyPreventedLoad()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral(&quot;Cross-origin text track load denied by Cross-Origin Resource Sharing policy.&quot;)));
</del><ins>+    static NeverDestroyed&lt;String&gt; consoleMessage(ASCIILiteral(&quot;Cross-origin text track load denied by Cross-Origin Resource Sharing policy.&quot;));
</ins><span class="cx">     Document* document = downcast&lt;Document&gt;(m_scriptExecutionContext);
</span><span class="cx">     document-&gt;addConsoleMessage(MessageSource::Security, MessageLevel::Error, consoleMessage);
</span><span class="cx">     m_state = Failed;
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedResourceRequestcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedResourceRequest.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedResourceRequest.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/loader/cache/CachedResourceRequest.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -29,6 +29,7 @@
</span><span class="cx"> #include &quot;CachedResourceLoader.h&quot;
</span><span class="cx"> #include &quot;Document.h&quot;
</span><span class="cx"> #include &quot;Element.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -87,7 +88,7 @@
</span><span class="cx">     if (!m_initiatorName.isEmpty())
</span><span class="cx">         return m_initiatorName;
</span><span class="cx"> 
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, defaultName, (&quot;resource&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; defaultName(&quot;resource&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return defaultName;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloadericonIconDatabasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/icon/IconDatabase.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/icon/IconDatabase.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/loader/icon/IconDatabase.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -40,6 +40,7 @@
</span><span class="cx"> #include &quot;SuddenTermination.h&quot;
</span><span class="cx"> #include &lt;wtf/AutodrainedPool.h&gt;
</span><span class="cx"> #include &lt;wtf/MainThread.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</span><span class="cx"> 
</span><span class="cx"> // For methods that are meant to support API from the main thread - should not be called internally
</span><span class="lines">@@ -879,8 +880,8 @@
</span><span class="cx"> 
</span><span class="cx"> String IconDatabase::defaultDatabaseFilename()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(String, defaultDatabaseFilename, (ASCIILiteral(&quot;WebpageIcons.db&quot;)));
-    return defaultDatabaseFilename.isolatedCopy();
</del><ins>+    static NeverDestroyed&lt;String&gt; defaultDatabaseFilename(ASCIILiteral(&quot;WebpageIcons.db&quot;));
+    return defaultDatabaseFilename.get().isolatedCopy();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // Unlike getOrCreatePageURLRecord(), getOrCreateIconRecord() does not mark the icon as &quot;interested in import&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorepageCaptionUserPreferencescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/CaptionUserPreferences.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/CaptionUserPreferences.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/page/CaptionUserPreferences.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -40,6 +40,7 @@
</span><span class="cx"> #include &quot;UserStyleSheetTypes.h&quot;
</span><span class="cx"> #include &lt;runtime/JSCellInlines.h&gt;
</span><span class="cx"> #include &lt;runtime/StructureInlines.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -284,7 +285,7 @@
</span><span class="cx"> void CaptionUserPreferences::updateCaptionStyleSheetOveride()
</span><span class="cx"> {
</span><span class="cx">     // Identify our override style sheet with a unique URL - a new scheme and a UUID.
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(URL, captionsStyleSheetURL, (ParsedURLString, &quot;user-captions-override:01F6AF12-C3B0-4F70-AF5E-A3E00234DC23&quot;));
</del><ins>+    static NeverDestroyed&lt;URL&gt; captionsStyleSheetURL(ParsedURLString, &quot;user-captions-override:01F6AF12-C3B0-4F70-AF5E-A3E00234DC23&quot;);
</ins><span class="cx"> 
</span><span class="cx">     auto&amp; pages = m_pageGroup.pages();
</span><span class="cx">     for (auto&amp; page : pages) {
</span></span></pre></div>
<a id="trunkSourceWebCorepageCaptionUserPreferencesMediaAFcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/CaptionUserPreferencesMediaAF.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/CaptionUserPreferencesMediaAF.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/page/CaptionUserPreferencesMediaAF.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -41,6 +41,7 @@
</span><span class="cx"> #include &quot;TextTrackList.h&quot;
</span><span class="cx"> #include &quot;UserStyleSheetTypes.h&quot;
</span><span class="cx"> #include &quot;VTTCue.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/RetainPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/text/CString.h&gt;
</span><span class="cx"> #include &lt;wtf/text/StringBuilder.h&gt;
</span><span class="lines">@@ -246,7 +247,7 @@
</span><span class="cx"> {
</span><span class="cx">     // This default value must be the same as the one specified in mediaControls.css for -webkit-media-text-track-past-nodes
</span><span class="cx">     // and webkit-media-text-track-future-nodes.
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Color, defaultBackgroundColor, (Color(0, 0, 0, 0.8 * 255)));
</del><ins>+    static NeverDestroyed&lt;Color&gt; defaultBackgroundColor(0, 0, 0, 0.8 * 255);
</ins><span class="cx"> 
</span><span class="cx">     MACaptionAppearanceBehavior behavior;
</span><span class="cx"> 
</span><span class="lines">@@ -349,10 +350,10 @@
</span><span class="cx"> 
</span><span class="cx"> String CaptionUserPreferencesMediaAF::captionsTextEdgeCSS() const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const String, edgeStyleRaised, (&quot; -.05em -.05em 0 &quot;, String::ConstructFromLiteral));
-    DEPRECATED_DEFINE_STATIC_LOCAL(const String, edgeStyleDepressed, (&quot; .05em .05em 0 &quot;, String::ConstructFromLiteral));
-    DEPRECATED_DEFINE_STATIC_LOCAL(const String, edgeStyleDropShadow, (&quot; .075em .075em 0 &quot;, String::ConstructFromLiteral));
-    DEPRECATED_DEFINE_STATIC_LOCAL(const String, edgeStyleUniform, (&quot; .03em &quot;, String::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const String&gt; edgeStyleRaised(ASCIILiteral(&quot; -.05em -.05em 0 &quot;));
+    static NeverDestroyed&lt;const String&gt; edgeStyleDepressed(ASCIILiteral(&quot; .05em .05em 0 &quot;));
+    static NeverDestroyed&lt;const String&gt; edgeStyleDropShadow(ASCIILiteral(&quot; .075em .075em 0 &quot;));
+    static NeverDestroyed&lt;const String&gt; edgeStyleUniform(ASCIILiteral(&quot; .03em &quot;));
</ins><span class="cx"> 
</span><span class="cx">     bool unused;
</span><span class="cx">     Color color = captionsTextColor(unused);
</span></span></pre></div>
<a id="trunkSourceWebCorepageContentSecurityPolicycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/ContentSecurityPolicy.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/ContentSecurityPolicy.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/page/ContentSecurityPolicy.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -47,6 +47,7 @@
</span><span class="cx"> #include &lt;inspector/ScriptCallStack.h&gt;
</span><span class="cx"> #include &lt;inspector/ScriptCallStackFactory.h&gt;
</span><span class="cx"> #include &lt;wtf/HashSet.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/TextPosition.h&gt;
</span><span class="cx"> 
</span><span class="cx"> using namespace Inspector;
</span><span class="lines">@@ -994,7 +995,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool CSPDirectiveList::allowJavaScriptURLs(const String&amp; contextURL, const WTF::OrdinalNumber&amp; contextLine, ContentSecurityPolicy::ReportingStatus reportingStatus) const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral(&quot;Refused to execute JavaScript URL because it violates the following Content Security Policy directive: &quot;)));
</del><ins>+    static NeverDestroyed&lt;String&gt; consoleMessage(ASCIILiteral(&quot;Refused to execute JavaScript URL because it violates the following Content Security Policy directive: &quot;));
</ins><span class="cx">     return reportingStatus == ContentSecurityPolicy::ReportingStatus::SendReport ?
</span><span class="cx">         checkInlineAndReportViolation(operativeDirective(m_scriptSrc.get()), consoleMessage, contextURL, contextLine, true)
</span><span class="cx">         : (m_reportOnly || checkInline(operativeDirective(m_scriptSrc.get())));
</span><span class="lines">@@ -1002,7 +1003,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool CSPDirectiveList::allowInlineEventHandlers(const String&amp; contextURL, const WTF::OrdinalNumber&amp; contextLine, ContentSecurityPolicy::ReportingStatus reportingStatus) const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral(&quot;Refused to execute inline event handler because it violates the following Content Security Policy directive: &quot;)));
</del><ins>+    static NeverDestroyed&lt;String&gt; consoleMessage(ASCIILiteral(&quot;Refused to execute inline event handler because it violates the following Content Security Policy directive: &quot;));
</ins><span class="cx">     return reportingStatus == ContentSecurityPolicy::ReportingStatus::SendReport ?
</span><span class="cx">         checkInlineAndReportViolation(operativeDirective(m_scriptSrc.get()), consoleMessage, contextURL, contextLine, true)
</span><span class="cx">         : (m_reportOnly || checkInline(operativeDirective(m_scriptSrc.get())));
</span><span class="lines">@@ -1010,7 +1011,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool CSPDirectiveList::allowInlineScript(const String&amp; contextURL, const WTF::OrdinalNumber&amp; contextLine, ContentSecurityPolicy::ReportingStatus reportingStatus) const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral(&quot;Refused to execute inline script because it violates the following Content Security Policy directive: &quot;)));
</del><ins>+    static NeverDestroyed&lt;String&gt; consoleMessage(ASCIILiteral(&quot;Refused to execute inline script because it violates the following Content Security Policy directive: &quot;));
</ins><span class="cx">     return reportingStatus == ContentSecurityPolicy::ReportingStatus::SendReport ?
</span><span class="cx">         checkInlineAndReportViolation(operativeDirective(m_scriptSrc.get()), consoleMessage, contextURL, contextLine, true) :
</span><span class="cx">         (m_reportOnly || checkInline(operativeDirective(m_scriptSrc.get())));
</span><span class="lines">@@ -1018,7 +1019,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool CSPDirectiveList::allowInlineStyle(const String&amp; contextURL, const WTF::OrdinalNumber&amp; contextLine, ContentSecurityPolicy::ReportingStatus reportingStatus) const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral(&quot;Refused to apply inline style because it violates the following Content Security Policy directive: &quot;)));
</del><ins>+    static NeverDestroyed&lt;String&gt; consoleMessage(ASCIILiteral(&quot;Refused to apply inline style because it violates the following Content Security Policy directive: &quot;));
</ins><span class="cx">     return reportingStatus == ContentSecurityPolicy::ReportingStatus::SendReport ?
</span><span class="cx">         checkInlineAndReportViolation(operativeDirective(m_styleSrc.get()), consoleMessage, contextURL, contextLine, false) :
</span><span class="cx">         (m_reportOnly || checkInline(operativeDirective(m_styleSrc.get())));
</span><span class="lines">@@ -1026,7 +1027,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool CSPDirectiveList::allowEval(JSC::ExecState* state, ContentSecurityPolicy::ReportingStatus reportingStatus) const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral(&quot;Refused to evaluate script because it violates the following Content Security Policy directive: &quot;)));
</del><ins>+    static NeverDestroyed&lt;String&gt; consoleMessage(ASCIILiteral(&quot;Refused to evaluate script because it violates the following Content Security Policy directive: &quot;));
</ins><span class="cx">     return reportingStatus == ContentSecurityPolicy::ReportingStatus::SendReport ?
</span><span class="cx">         checkEvalAndReportViolation(operativeDirective(m_scriptSrc.get()), consoleMessage, String(), WTF::OrdinalNumber::beforeFirst(), state) :
</span><span class="cx">         (m_reportOnly || checkEval(operativeDirective(m_scriptSrc.get())));
</span><span class="lines">@@ -1676,12 +1677,12 @@
</span><span class="cx"> 
</span><span class="cx"> void ContentSecurityPolicy::reportUnsupportedDirective(const String&amp; name) const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(String, allow, (ASCIILiteral(&quot;allow&quot;)));
-    DEPRECATED_DEFINE_STATIC_LOCAL(String, options, (ASCIILiteral(&quot;options&quot;)));
-    DEPRECATED_DEFINE_STATIC_LOCAL(String, policyURI, (ASCIILiteral(&quot;policy-uri&quot;)));
-    DEPRECATED_DEFINE_STATIC_LOCAL(String, allowMessage, (ASCIILiteral(&quot;The 'allow' directive has been replaced with 'default-src'. Please use that directive instead, as 'allow' has no effect.&quot;)));
-    DEPRECATED_DEFINE_STATIC_LOCAL(String, optionsMessage, (ASCIILiteral(&quot;The 'options' directive has been replaced with 'unsafe-inline' and 'unsafe-eval' source expressions for the 'script-src' and 'style-src' directives. Please use those directives instead, as 'options' has no effect.&quot;)));
-    DEPRECATED_DEFINE_STATIC_LOCAL(String, policyURIMessage, (ASCIILiteral(&quot;The 'policy-uri' directive has been removed from the specification. Please specify a complete policy via the Content-Security-Policy header.&quot;)));
</del><ins>+    static NeverDestroyed&lt;String&gt; allow(ASCIILiteral(&quot;allow&quot;));
+    static NeverDestroyed&lt;String&gt; options(ASCIILiteral(&quot;options&quot;));
+    static NeverDestroyed&lt;String&gt; policyURI(ASCIILiteral(&quot;policy-uri&quot;));
+    static NeverDestroyed&lt;String&gt; allowMessage(ASCIILiteral(&quot;The 'allow' directive has been replaced with 'default-src'. Please use that directive instead, as 'allow' has no effect.&quot;));
+    static NeverDestroyed&lt;String&gt; optionsMessage(ASCIILiteral(&quot;The 'options' directive has been replaced with 'unsafe-inline' and 'unsafe-eval' source expressions for the 'script-src' and 'style-src' directives. Please use those directives instead, as 'options' has no effect.&quot;));
+    static NeverDestroyed&lt;String&gt; policyURIMessage(ASCIILiteral(&quot;The 'policy-uri' directive has been removed from the specification. Please specify a complete policy via the Content-Security-Policy header.&quot;));
</ins><span class="cx"> 
</span><span class="cx">     String message;
</span><span class="cx">     if (equalIgnoringCase(name, allow))
</span></span></pre></div>
<a id="trunkSourceWebCorepageDOMWindowcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/DOMWindow.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/DOMWindow.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/page/DOMWindow.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -110,6 +110,7 @@
</span><span class="cx"> #include &lt;wtf/CurrentTime.h&gt;
</span><span class="cx"> #include &lt;wtf/MainThread.h&gt;
</span><span class="cx"> #include &lt;wtf/MathExtras.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/Ref.h&gt;
</span><span class="cx"> #include &lt;wtf/text/Base64.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="lines">@@ -185,13 +186,13 @@
</span><span class="cx"> 
</span><span class="cx"> static DOMWindowSet&amp; windowsWithUnloadEventListeners()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(DOMWindowSet, windowsWithUnloadEventListeners, ());
</del><ins>+    static NeverDestroyed&lt;DOMWindowSet&gt; windowsWithUnloadEventListeners;
</ins><span class="cx">     return windowsWithUnloadEventListeners;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static DOMWindowSet&amp; windowsWithBeforeUnloadEventListeners()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(DOMWindowSet, windowsWithBeforeUnloadEventListeners, ());
</del><ins>+    static NeverDestroyed&lt;DOMWindowSet&gt; windowsWithBeforeUnloadEventListeners;
</ins><span class="cx">     return windowsWithBeforeUnloadEventListeners;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorepageEventHandlercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/EventHandler.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/EventHandler.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/page/EventHandler.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -96,6 +96,7 @@
</span><span class="cx"> #include &quot;WindowsKeyboardCodes.h&quot;
</span><span class="cx"> #include &lt;wtf/Assertions.h&gt;
</span><span class="cx"> #include &lt;wtf/CurrentTime.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</span><span class="cx"> #include &lt;wtf/TemporaryChange.h&gt;
</span><span class="cx"> #include &lt;wtf/WeakPtr.h&gt;
</span><span class="lines">@@ -401,7 +402,7 @@
</span><span class="cx"> #if ENABLE(DRAG_SUPPORT)
</span><span class="cx"> DragState&amp; EventHandler::dragState()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(DragState, state, ());
</del><ins>+    static NeverDestroyed&lt;DragState&gt; state;
</ins><span class="cx">     return state;
</span><span class="cx"> }
</span><span class="cx"> #endif // ENABLE(DRAG_SUPPORT)
</span><span class="lines">@@ -3076,10 +3077,10 @@
</span><span class="cx"> 
</span><span class="cx"> static FocusDirection focusDirectionForKey(const AtomicString&amp; keyIdentifier)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, Down, (&quot;Down&quot;, AtomicString::ConstructFromLiteral));
-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, Up, (&quot;Up&quot;, AtomicString::ConstructFromLiteral));
-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, Left, (&quot;Left&quot;, AtomicString::ConstructFromLiteral));
-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, Right, (&quot;Right&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; Down(&quot;Down&quot;, AtomicString::ConstructFromLiteral);
+    static NeverDestroyed&lt;AtomicString&gt; Up(&quot;Up&quot;, AtomicString::ConstructFromLiteral);
+    static NeverDestroyed&lt;AtomicString&gt; Left(&quot;Left&quot;, AtomicString::ConstructFromLiteral);
+    static NeverDestroyed&lt;AtomicString&gt; Right(&quot;Right&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx"> 
</span><span class="cx">     FocusDirection retVal = FocusDirectionNone;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorepageFramecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/Frame.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/Frame.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/page/Frame.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -306,7 +306,7 @@
</span><span class="cx">     // REVIEW- version of this call in FrameMac.mm caches based on the NSArray ptrs being
</span><span class="cx">     // the same across calls.  We can't do that.
</span><span class="cx"> 
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(JSC::Yarr::RegularExpression, wordRegExp, (&quot;\\w&quot;, TextCaseSensitive));
</del><ins>+    static NeverDestroyed&lt;JSC::Yarr::RegularExpression&gt; wordRegExp(&quot;\\w&quot;, TextCaseSensitive);
</ins><span class="cx">     StringBuilder pattern;
</span><span class="cx">     pattern.append('(');
</span><span class="cx">     unsigned int numLabels = labels.size();
</span><span class="lines">@@ -317,8 +317,8 @@
</span><span class="cx">         bool startsWithWordChar = false;
</span><span class="cx">         bool endsWithWordChar = false;
</span><span class="cx">         if (label.length()) {
</span><del>-            startsWithWordChar = wordRegExp.match(label.substring(0, 1)) &gt;= 0;
-            endsWithWordChar = wordRegExp.match(label.substring(label.length() - 1, 1)) &gt;= 0;
</del><ins>+            startsWithWordChar = wordRegExp.get().match(label.substring(0, 1)) &gt;= 0;
+            endsWithWordChar = wordRegExp.get().match(label.substring(label.length() - 1, 1)) &gt;= 0;
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         if (i)
</span></span></pre></div>
<a id="trunkSourceWebCorepageNavigatorBasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/NavigatorBase.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/NavigatorBase.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/page/NavigatorBase.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx"> #include &quot;NavigatorBase.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;NetworkStateNotifier.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> #if OS(LINUX)
</span><span class="lines">@@ -93,7 +94,7 @@
</span><span class="cx">     if (!String(WEBCORE_NAVIGATOR_PLATFORM).isEmpty())
</span><span class="cx">         return WEBCORE_NAVIGATOR_PLATFORM;
</span><span class="cx">     struct utsname osname;
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(String, platformName, (uname(&amp;osname) &gt;= 0 ? String(osname.sysname) + String(&quot; &quot;) + String(osname.machine) : emptyString()));
</del><ins>+    static NeverDestroyed&lt;String&gt; platformName(uname(&amp;osname) &gt;= 0 ? String(osname.sysname) + String(&quot; &quot;) + String(osname.machine) : emptyString());
</ins><span class="cx">     return platformName;
</span><span class="cx"> #else
</span><span class="cx">     return WEBCORE_NAVIGATOR_PLATFORM;
</span></span></pre></div>
<a id="trunkSourceWebCorepagePageVisibilityStatecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/PageVisibilityState.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PageVisibilityState.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/page/PageVisibilityState.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -31,14 +31,15 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;PageVisibilityState.h&quot;
</span><span class="cx"> 
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> String pageVisibilityStateString(PageVisibilityState state)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const String, visible, (ASCIILiteral(&quot;visible&quot;)));
-    DEPRECATED_DEFINE_STATIC_LOCAL(const String, hidden, (ASCIILiteral(&quot;hidden&quot;)));
-    DEPRECATED_DEFINE_STATIC_LOCAL(const String, prerender, (ASCIILiteral(&quot;prerender&quot;)));
</del><ins>+    static NeverDestroyed&lt;const String&gt; visible(ASCIILiteral(&quot;visible&quot;));
+    static NeverDestroyed&lt;const String&gt; hidden(ASCIILiteral(&quot;hidden&quot;));
+    static NeverDestroyed&lt;const String&gt; prerender(ASCIILiteral(&quot;prerender&quot;));
</ins><span class="cx"> 
</span><span class="cx">     switch (state) {
</span><span class="cx">     case PageVisibilityStateVisible:
</span></span></pre></div>
<a id="trunkSourceWebCorepageSecurityPolicycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/SecurityPolicy.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/SecurityPolicy.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/page/SecurityPolicy.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -34,6 +34,7 @@
</span><span class="cx"> #include &quot;OriginAccessEntry.h&quot;
</span><span class="cx"> #include &quot;SecurityOrigin.h&quot;
</span><span class="cx"> #include &lt;memory&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/StringHash.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -45,7 +46,7 @@
</span><span class="cx"> 
</span><span class="cx"> static OriginAccessMap&amp; originAccessMap()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(OriginAccessMap, originAccessMap, ());
</del><ins>+    static NeverDestroyed&lt;OriginAccessMap&gt; originAccessMap;
</ins><span class="cx">     return originAccessMap;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorepageUserContentURLPatterncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/UserContentURLPattern.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/UserContentURLPattern.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/page/UserContentURLPattern.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -27,6 +27,7 @@
</span><span class="cx"> #include &quot;UserContentURLPattern.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;URL.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -62,7 +63,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool UserContentURLPattern::parse(const String&amp; pattern)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const String, schemeSeparator, (ASCIILiteral(&quot;://&quot;)));
</del><ins>+    static NeverDestroyed&lt;const String&gt; schemeSeparator(ASCIILiteral(&quot;://&quot;));
</ins><span class="cx"> 
</span><span class="cx">     size_t schemeEndPos = pattern.find(schemeSeparator);
</span><span class="cx">     if (schemeEndPos == notFound)
</span><span class="lines">@@ -70,7 +71,7 @@
</span><span class="cx"> 
</span><span class="cx">     m_scheme = pattern.left(schemeEndPos);
</span><span class="cx"> 
</span><del>-    unsigned hostStartPos = schemeEndPos + schemeSeparator.length();
</del><ins>+    unsigned hostStartPos = schemeEndPos + schemeSeparator.get().length();
</ins><span class="cx">     if (hostStartPos &gt;= pattern.length())
</span><span class="cx">         return false;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorepageanimationCSSPropertyAnimationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/animation/CSSPropertyAnimation.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/animation/CSSPropertyAnimation.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/page/animation/CSSPropertyAnimation.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -53,6 +53,7 @@
</span><span class="cx"> #include &lt;algorithm&gt;
</span><span class="cx"> #include &lt;memory&gt;
</span><span class="cx"> #include &lt;wtf/MathExtras.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/Noncopyable.h&gt;
</span><span class="cx"> #include &lt;wtf/PointerComparison.h&gt;
</span><span class="cx"> #include &lt;wtf/RefCounted.h&gt;
</span><span class="lines">@@ -645,19 +646,18 @@
</span><span class="cx"> 
</span><span class="cx"> static inline const ShadowData* shadowForBlending(const ShadowData* srcShadow, const ShadowData* otherShadow)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(ShadowData, defaultShadowData, (IntPoint(), 0, 0, Normal, false, Color::transparent));
-    DEPRECATED_DEFINE_STATIC_LOCAL(ShadowData, defaultInsetShadowData, (IntPoint(), 0, 0, Inset, false, Color::transparent));
</del><ins>+    static NeverDestroyed&lt;ShadowData&gt; defaultShadowData(IntPoint(), 0, 0, Normal, false, Color::transparent);
+    static NeverDestroyed&lt;ShadowData&gt; defaultInsetShadowData(IntPoint(), 0, 0, Inset, false, Color::transparent);
+    static NeverDestroyed&lt;ShadowData&gt; defaultWebKitBoxShadowData(IntPoint(), 0, 0, Normal, true, Color::transparent);
+    static NeverDestroyed&lt;ShadowData&gt; defaultInsetWebKitBoxShadowData(IntPoint(), 0, 0, Inset, true, Color::transparent);
</ins><span class="cx"> 
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(ShadowData, defaultWebKitBoxShadowData, (IntPoint(), 0, 0, Normal, true, Color::transparent));
-    DEPRECATED_DEFINE_STATIC_LOCAL(ShadowData, defaultInsetWebKitBoxShadowData, (IntPoint(), 0, 0, Inset, true, Color::transparent));
-
</del><span class="cx">     if (srcShadow)
</span><span class="cx">         return srcShadow;
</span><span class="cx"> 
</span><span class="cx">     if (otherShadow-&gt;style() == Inset)
</span><del>-        return otherShadow-&gt;isWebkitBoxShadow() ? &amp;defaultInsetWebKitBoxShadowData : &amp;defaultInsetShadowData;
</del><ins>+        return otherShadow-&gt;isWebkitBoxShadow() ? &amp;defaultInsetWebKitBoxShadowData.get() : &amp;defaultInsetShadowData.get();
</ins><span class="cx"> 
</span><del>-    return otherShadow-&gt;isWebkitBoxShadow() ? &amp;defaultWebKitBoxShadowData : &amp;defaultShadowData;
</del><ins>+    return otherShadow-&gt;isWebkitBoxShadow() ? &amp;defaultWebKitBoxShadowData.get() : &amp;defaultShadowData.get();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> class PropertyWrapperShadow : public AnimationPropertyWrapperBase {
</span></span></pre></div>
<a id="trunkSourceWebCorepageanimationCompositeAnimationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/animation/CompositeAnimation.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/animation/CompositeAnimation.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/page/animation/CompositeAnimation.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -37,6 +37,7 @@
</span><span class="cx"> #include &quot;Logging.h&quot;
</span><span class="cx"> #include &quot;RenderElement.h&quot;
</span><span class="cx"> #include &quot;RenderStyle.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/CString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -221,7 +222,7 @@
</span><span class="cx">         // Toss the animation order map.
</span><span class="cx">         m_keyframeAnimationOrderMap.clear();
</span><span class="cx"> 
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, none, (&quot;none&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+        static NeverDestroyed&lt;const AtomicString&gt; none(&quot;none&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">         
</span><span class="cx">         // Now mark any still active animations as active and add any new animations.
</span><span class="cx">         if (targetStyle-&gt;animations()) {
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformCursorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/Cursor.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/Cursor.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/Cursor.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -29,6 +29,7 @@
</span><span class="cx"> #include &quot;Image.h&quot;
</span><span class="cx"> #include &quot;IntRect.h&quot;
</span><span class="cx"> #include &lt;wtf/Assertions.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -189,259 +190,259 @@
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; pointerCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::Pointer));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::Pointer);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; crossCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::Cross));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::Cross);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; handCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::Hand));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::Hand);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; moveCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::Move));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::Move);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; verticalTextCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::VerticalText));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::VerticalText);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; cellCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::Cell));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::Cell);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; contextMenuCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::ContextMenu));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::ContextMenu);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; aliasCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::Alias));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::Alias);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; zoomInCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::ZoomIn));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::ZoomIn);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; zoomOutCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::ZoomOut));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::ZoomOut);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; copyCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::Copy));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::Copy);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; noneCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::None));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::None);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; progressCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::Progress));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::Progress);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; noDropCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::NoDrop));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::NoDrop);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; notAllowedCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::NotAllowed));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::NotAllowed);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; iBeamCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::IBeam));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::IBeam);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; waitCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::Wait));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::Wait);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; helpCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::Help));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::Help);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; eastResizeCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::EastResize));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::EastResize);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; northResizeCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::NorthResize));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::NorthResize);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; northEastResizeCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::NorthEastResize));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::NorthEastResize);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; northWestResizeCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::NorthWestResize));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::NorthWestResize);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; southResizeCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::SouthResize));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::SouthResize);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; southEastResizeCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::SouthEastResize));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::SouthEastResize);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; southWestResizeCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::SouthWestResize));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::SouthWestResize);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; westResizeCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::WestResize));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::WestResize);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; northSouthResizeCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::NorthSouthResize));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::NorthSouthResize);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; eastWestResizeCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::EastWestResize));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::EastWestResize);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; northEastSouthWestResizeCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::NorthEastSouthWestResize));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::NorthEastSouthWestResize);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; northWestSouthEastResizeCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::NorthWestSouthEastResize));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::NorthWestSouthEastResize);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; columnResizeCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::ColumnResize));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::ColumnResize);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; rowResizeCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::RowResize));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::RowResize);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; middlePanningCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::MiddlePanning));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::MiddlePanning);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx">     
</span><span class="cx"> const Cursor&amp; eastPanningCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::EastPanning));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::EastPanning);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx">     
</span><span class="cx"> const Cursor&amp; northPanningCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::NorthPanning));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::NorthPanning);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx">     
</span><span class="cx"> const Cursor&amp; northEastPanningCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::NorthEastPanning));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::NorthEastPanning);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx">     
</span><span class="cx"> const Cursor&amp; northWestPanningCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::NorthWestPanning));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::NorthWestPanning);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx">     
</span><span class="cx"> const Cursor&amp; southPanningCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::SouthPanning));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::SouthPanning);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx">     
</span><span class="cx"> const Cursor&amp; southEastPanningCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::SouthEastPanning));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::SouthEastPanning);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx">     
</span><span class="cx"> const Cursor&amp; southWestPanningCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::SouthWestPanning));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::SouthWestPanning);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx">     
</span><span class="cx"> const Cursor&amp; westPanningCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::WestPanning));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::WestPanning);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; grabCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::Grab));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::Grab);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Cursor&amp; grabbingCursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::Grabbing));
</del><ins>+    static NeverDestroyed&lt;Cursor&gt; c(Cursor::Grabbing);
</ins><span class="cx">     return c;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformLanguagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/Language.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/Language.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/Language.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -73,7 +73,7 @@
</span><span class="cx"> 
</span><span class="cx"> static Vector&lt;String&gt;&amp; preferredLanguagesOverride()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Vector&lt;String&gt;, override, ());
</del><ins>+    static NeverDestroyed&lt;Vector&lt;String&gt;&gt; override;
</ins><span class="cx">     return override;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformLocalizedStringscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/LocalizedStrings.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/LocalizedStrings.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/LocalizedStrings.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -31,6 +31,7 @@
</span><span class="cx"> #include &quot;NotImplemented.h&quot;
</span><span class="cx"> #include &quot;TextBreakIterator.h&quot;
</span><span class="cx"> #include &lt;wtf/MathExtras.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/unicode/CharacterNames.h&gt;
</span><span class="cx"> 
</span><span class="cx"> #if USE(CF)
</span><span class="lines">@@ -79,11 +80,11 @@
</span><span class="cx"> 
</span><span class="cx">     // Truncate the string if it's too long. This is in consistency with AppKit.
</span><span class="cx">     unsigned maxNumberOfGraphemeClustersInLookupMenuItem = 24;
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(String, ellipsis, (&amp;horizontalEllipsis, 1));
</del><ins>+    static NeverDestroyed&lt;String&gt; ellipsis(&amp;horizontalEllipsis, 1);
</ins><span class="cx"> 
</span><span class="cx">     String trimmed = original.stripWhiteSpace();
</span><span class="cx">     unsigned numberOfCharacters = numCharactersInGraphemeClusters(trimmed, maxNumberOfGraphemeClustersInLookupMenuItem);
</span><del>-    return numberOfCharacters == trimmed.length() ? trimmed : trimmed.left(numberOfCharacters) + ellipsis;
</del><ins>+    return numberOfCharacters == trimmed.length() ? trimmed : trimmed.left(numberOfCharacters) + ellipsis.get();
</ins><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformMIMETypeRegistrycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/MIMETypeRegistry.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/MIMETypeRegistry.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/MIMETypeRegistry.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -31,6 +31,7 @@
</span><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #include &lt;wtf/HashSet.h&gt;
</span><span class="cx"> #include &lt;wtf/MainThread.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</span><span class="cx"> #include &lt;wtf/text/StringHash.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -352,16 +353,16 @@
</span><span class="cx"> 
</span><span class="cx"> static MediaMIMETypeMap&amp; mediaMIMETypeMap()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(MediaMIMETypeMap, mediaMIMETypeForExtensionMap, ());
</del><ins>+    static NeverDestroyed&lt;MediaMIMETypeMap&gt; mediaMIMETypeForExtensionMap;
</ins><span class="cx"> 
</span><del>-    if (!mediaMIMETypeForExtensionMap.isEmpty())
</del><ins>+    if (!mediaMIMETypeForExtensionMap.get().isEmpty())
</ins><span class="cx">         return mediaMIMETypeForExtensionMap;
</span><span class="cx"> 
</span><span class="cx">     const unsigned numPairs = sizeof(commonMediaTypes) / sizeof(commonMediaTypes[0]);
</span><span class="cx">     for (unsigned ndx = 0; ndx &lt; numPairs; ++ndx) {
</span><span class="cx"> 
</span><del>-        if (mediaMIMETypeForExtensionMap.contains(commonMediaTypes[ndx].extension))
-            mediaMIMETypeForExtensionMap.get(commonMediaTypes[ndx].extension)-&gt;append(commonMediaTypes[ndx].type);
</del><ins>+        if (mediaMIMETypeForExtensionMap.get().contains(commonMediaTypes[ndx].extension))
+            mediaMIMETypeForExtensionMap.get().get(commonMediaTypes[ndx].extension)-&gt;append(commonMediaTypes[ndx].type);
</ins><span class="cx">         else {
</span><span class="cx">             Vector&lt;String&gt;* synonyms = new Vector&lt;String&gt;;
</span><span class="cx"> 
</span><span class="lines">@@ -371,7 +372,7 @@
</span><span class="cx">             if (!systemType.isEmpty() &amp;&amp; commonMediaTypes[ndx].type != systemType)
</span><span class="cx">                 synonyms-&gt;append(systemType);
</span><span class="cx">             synonyms-&gt;append(commonMediaTypes[ndx].type);
</span><del>-            mediaMIMETypeForExtensionMap.add(commonMediaTypes[ndx].extension, synonyms);
</del><ins>+            mediaMIMETypeForExtensionMap.get().add(commonMediaTypes[ndx].extension, synonyms);
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -642,7 +643,7 @@
</span><span class="cx"> 
</span><span class="cx"> const String&amp; defaultMIMEType()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const String, defaultMIMEType, (ASCIILiteral(&quot;application/octet-stream&quot;)));
</del><ins>+    static NeverDestroyed&lt;const String&gt; defaultMIMEType(ASCIILiteral(&quot;application/octet-stream&quot;));
</ins><span class="cx">     return defaultMIMEType;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformSchemeRegistrycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/SchemeRegistry.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/SchemeRegistry.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/SchemeRegistry.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -36,12 +36,12 @@
</span><span class="cx"> 
</span><span class="cx"> static URLSchemesMap&amp; localURLSchemes()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(URLSchemesMap, localSchemes, ());
</del><ins>+    static NeverDestroyed&lt;URLSchemesMap&gt; localSchemes;
</ins><span class="cx"> 
</span><del>-    if (localSchemes.isEmpty()) {
-        localSchemes.add(&quot;file&quot;);
</del><ins>+    if (localSchemes.get().isEmpty()) {
+        localSchemes.get().add(&quot;file&quot;);
</ins><span class="cx"> #if PLATFORM(COCOA)
</span><del>-        localSchemes.add(&quot;applewebdata&quot;);
</del><ins>+        localSchemes.get().add(&quot;applewebdata&quot;);
</ins><span class="cx"> #endif
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -50,21 +50,21 @@
</span><span class="cx"> 
</span><span class="cx"> static URLSchemesMap&amp; displayIsolatedURLSchemes()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(URLSchemesMap, displayIsolatedSchemes, ());
</del><ins>+    static NeverDestroyed&lt;URLSchemesMap&gt; displayIsolatedSchemes;
</ins><span class="cx">     return displayIsolatedSchemes;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static URLSchemesMap&amp; secureSchemes()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(URLSchemesMap, secureSchemes, ());
</del><ins>+    static NeverDestroyed&lt;URLSchemesMap&gt; secureSchemes;
</ins><span class="cx"> 
</span><del>-    if (secureSchemes.isEmpty()) {
-        secureSchemes.add(&quot;https&quot;);
-        secureSchemes.add(&quot;about&quot;);
-        secureSchemes.add(&quot;data&quot;);
-        secureSchemes.add(&quot;wss&quot;);
</del><ins>+    if (secureSchemes.get().isEmpty()) {
+        secureSchemes.get().add(&quot;https&quot;);
+        secureSchemes.get().add(&quot;about&quot;);
+        secureSchemes.get().add(&quot;data&quot;);
+        secureSchemes.get().add(&quot;wss&quot;);
</ins><span class="cx"> #if USE(QUICK_LOOK)
</span><del>-        secureSchemes.add(QLPreviewProtocol());
</del><ins>+        secureSchemes.get().add(QLPreviewProtocol());
</ins><span class="cx"> #endif
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -73,14 +73,14 @@
</span><span class="cx"> 
</span><span class="cx"> static URLSchemesMap&amp; schemesWithUniqueOrigins()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(URLSchemesMap, schemesWithUniqueOrigins, ());
</del><ins>+    static NeverDestroyed&lt;URLSchemesMap&gt; schemesWithUniqueOrigins;
</ins><span class="cx"> 
</span><del>-    if (schemesWithUniqueOrigins.isEmpty()) {
-        schemesWithUniqueOrigins.add(&quot;about&quot;);
-        schemesWithUniqueOrigins.add(&quot;javascript&quot;);
</del><ins>+    if (schemesWithUniqueOrigins.get().isEmpty()) {
+        schemesWithUniqueOrigins.get().add(&quot;about&quot;);
+        schemesWithUniqueOrigins.get().add(&quot;javascript&quot;);
</ins><span class="cx">         // This is a willful violation of HTML5.
</span><span class="cx">         // See https://bugs.webkit.org/show_bug.cgi?id=11885
</span><del>-        schemesWithUniqueOrigins.add(&quot;data&quot;);
</del><ins>+        schemesWithUniqueOrigins.get().add(&quot;data&quot;);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     return schemesWithUniqueOrigins;
</span><span class="lines">@@ -88,26 +88,26 @@
</span><span class="cx"> 
</span><span class="cx"> static URLSchemesMap&amp; emptyDocumentSchemes()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(URLSchemesMap, emptyDocumentSchemes, ());
</del><ins>+    static NeverDestroyed&lt;URLSchemesMap&gt; emptyDocumentSchemes;
</ins><span class="cx"> 
</span><del>-    if (emptyDocumentSchemes.isEmpty())
-        emptyDocumentSchemes.add(&quot;about&quot;);
</del><ins>+    if (emptyDocumentSchemes.get().isEmpty())
+        emptyDocumentSchemes.get().add(&quot;about&quot;);
</ins><span class="cx"> 
</span><span class="cx">     return emptyDocumentSchemes;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static HashSet&lt;String&gt;&amp; schemesForbiddenFromDomainRelaxation()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(HashSet&lt;String&gt;, schemes, ());
</del><ins>+    static NeverDestroyed&lt;HashSet&lt;String&gt;&gt; schemes;
</ins><span class="cx">     return schemes;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static URLSchemesMap&amp; canDisplayOnlyIfCanRequestSchemes()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(URLSchemesMap, canDisplayOnlyIfCanRequestSchemes, ());
</del><ins>+    static NeverDestroyed&lt;URLSchemesMap&gt; canDisplayOnlyIfCanRequestSchemes;
</ins><span class="cx"> 
</span><del>-    if (canDisplayOnlyIfCanRequestSchemes.isEmpty()) {
-        canDisplayOnlyIfCanRequestSchemes.add(&quot;blob&quot;);
</del><ins>+    if (canDisplayOnlyIfCanRequestSchemes.get().isEmpty()) {
+        canDisplayOnlyIfCanRequestSchemes.get().add(&quot;blob&quot;);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     return canDisplayOnlyIfCanRequestSchemes;
</span><span class="lines">@@ -115,7 +115,7 @@
</span><span class="cx"> 
</span><span class="cx"> static URLSchemesMap&amp; notAllowingJavascriptURLsSchemes()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(URLSchemesMap, notAllowingJavascriptURLsSchemes, ());
</del><ins>+    static NeverDestroyed&lt;URLSchemesMap&gt; notAllowingJavascriptURLsSchemes;
</ins><span class="cx">     return notAllowingJavascriptURLsSchemes;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -142,24 +142,24 @@
</span><span class="cx"> 
</span><span class="cx"> static URLSchemesMap&amp; schemesAllowingLocalStorageAccessInPrivateBrowsing()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(URLSchemesMap, schemesAllowingLocalStorageAccessInPrivateBrowsing, ());
</del><ins>+    static NeverDestroyed&lt;URLSchemesMap&gt; schemesAllowingLocalStorageAccessInPrivateBrowsing;
</ins><span class="cx">     return schemesAllowingLocalStorageAccessInPrivateBrowsing;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static URLSchemesMap&amp; schemesAllowingDatabaseAccessInPrivateBrowsing()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(URLSchemesMap, schemesAllowingDatabaseAccessInPrivateBrowsing, ());
</del><ins>+    static NeverDestroyed&lt;URLSchemesMap&gt; schemesAllowingDatabaseAccessInPrivateBrowsing;
</ins><span class="cx">     return schemesAllowingDatabaseAccessInPrivateBrowsing;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static URLSchemesMap&amp; CORSEnabledSchemes()
</span><span class="cx"> {
</span><span class="cx">     // FIXME: http://bugs.webkit.org/show_bug.cgi?id=77160
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(URLSchemesMap, CORSEnabledSchemes, ());
</del><ins>+    static NeverDestroyed&lt;URLSchemesMap&gt; CORSEnabledSchemes;
</ins><span class="cx"> 
</span><del>-    if (CORSEnabledSchemes.isEmpty()) {
-        CORSEnabledSchemes.add(&quot;http&quot;);
-        CORSEnabledSchemes.add(&quot;https&quot;);
</del><ins>+    if (CORSEnabledSchemes.get().isEmpty()) {
+        CORSEnabledSchemes.get().add(&quot;http&quot;);
+        CORSEnabledSchemes.get().add(&quot;https&quot;);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     return CORSEnabledSchemes;
</span><span class="lines">@@ -167,7 +167,7 @@
</span><span class="cx"> 
</span><span class="cx"> static URLSchemesMap&amp; ContentSecurityPolicyBypassingSchemes()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(URLSchemesMap, schemes, ());
</del><ins>+    static NeverDestroyed&lt;URLSchemesMap&gt; schemes;
</ins><span class="cx">     return schemes;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformScrollbarThemecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ScrollbarTheme.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ScrollbarTheme.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/ScrollbarTheme.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -28,13 +28,14 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;ScrollbarThemeMock.h&quot;
</span><span class="cx"> #include &quot;Settings.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> ScrollbarTheme&amp; ScrollbarTheme::theme()
</span><span class="cx"> {
</span><span class="cx">     if (Settings::mockScrollbarsEnabled()) {
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(ScrollbarThemeMock, mockTheme, ());
</del><ins>+        static NeverDestroyed&lt;ScrollbarThemeMock&gt; mockTheme;
</ins><span class="cx">         return mockTheme;
</span><span class="cx">     }
</span><span class="cx">     return nativeTheme();
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformURLcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/URL.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/URL.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/URL.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -1981,7 +1981,7 @@
</span><span class="cx"> 
</span><span class="cx"> const URL&amp; blankURL()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(URL, staticBlankURL, (ParsedURLString, &quot;about:blank&quot;));
</del><ins>+    static NeverDestroyed&lt;URL&gt; staticBlankURL(ParsedURLString, &quot;about:blank&quot;);
</ins><span class="cx">     return staticBlankURL;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformanimationAnimationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/animation/Animation.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/animation/Animation.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/animation/Animation.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -22,6 +22,8 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;Animation.h&quot;
</span><span class="cx"> 
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
+
</ins><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> Animation::Animation()
</span><span class="lines">@@ -160,7 +162,7 @@
</span><span class="cx"> 
</span><span class="cx"> const String&amp; Animation::initialName()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(String, initialValue, (ASCIILiteral(&quot;none&quot;)));
</del><ins>+    static NeverDestroyed&lt;String&gt; initialValue(ASCIILiteral(&quot;none&quot;));
</ins><span class="cx">     return initialValue;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformaudioAudioSessioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/audio/AudioSession.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/audio/AudioSession.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/audio/AudioSession.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -29,12 +29,13 @@
</span><span class="cx"> #if USE(AUDIO_SESSION)
</span><span class="cx"> 
</span><span class="cx"> #include &quot;NotImplemented.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> AudioSession&amp; AudioSession::sharedSession()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AudioSession, session, ());
</del><ins>+    static NeverDestroyed&lt;AudioSession&gt; session;
</ins><span class="cx">     return session;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformaudioAudioSessionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/audio/AudioSession.h (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/audio/AudioSession.h        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/audio/AudioSession.h        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -32,6 +32,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &lt;memory&gt;
</span><span class="cx"> #include &lt;wtf/HashSet.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/Noncopyable.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -67,6 +68,7 @@
</span><span class="cx">     void setPreferredBufferSize(size_t);
</span><span class="cx"> 
</span><span class="cx"> private:
</span><ins>+    friend class NeverDestroyed&lt;AudioSession&gt;;
</ins><span class="cx">     AudioSession();
</span><span class="cx">     ~AudioSession();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformaudioHRTFElevationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/audio/HRTFElevation.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/audio/HRTFElevation.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/audio/HRTFElevation.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -40,6 +40,7 @@
</span><span class="cx"> #include &quot;HRTFPanner.h&quot;
</span><span class="cx"> #include &lt;algorithm&gt;
</span><span class="cx"> #include &lt;math.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -68,18 +69,18 @@
</span><span class="cx"> static AudioBus* getConcatenatedImpulseResponsesForSubject(const String&amp; subjectName)
</span><span class="cx"> {
</span><span class="cx">     typedef HashMap&lt;String, AudioBus*&gt; AudioBusMap;
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AudioBusMap, audioBusMap, ());
</del><ins>+    static NeverDestroyed&lt;AudioBusMap&gt; audioBusMap;
</ins><span class="cx"> 
</span><span class="cx">     AudioBus* bus;
</span><del>-    AudioBusMap::iterator iterator = audioBusMap.find(subjectName);
-    if (iterator == audioBusMap.end()) {
</del><ins>+    AudioBusMap::iterator iterator = audioBusMap.get().find(subjectName);
+    if (iterator == audioBusMap.get().end()) {
</ins><span class="cx">         RefPtr&lt;AudioBus&gt; concatenatedImpulseResponses = AudioBus::loadPlatformResource(subjectName.utf8().data(), ResponseSampleRate);
</span><span class="cx">         ASSERT(concatenatedImpulseResponses);
</span><span class="cx">         if (!concatenatedImpulseResponses)
</span><span class="cx">             return 0;
</span><span class="cx"> 
</span><span class="cx">         bus = concatenatedImpulseResponses.release().leakRef();
</span><del>-        audioBusMap.set(subjectName, bus);
</del><ins>+        audioBusMap.get().set(subjectName, bus);
</ins><span class="cx">     } else
</span><span class="cx">         bus = iterator-&gt;value;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformaudioiosAudioDestinationIOScpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/audio/ios/AudioDestinationIOS.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/audio/ios/AudioDestinationIOS.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/audio/ios/AudioDestinationIOS.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -42,6 +42,7 @@
</span><span class="cx"> #include &lt;AudioToolbox/AudioServices.h&gt;
</span><span class="cx"> #include &lt;WebCore/RuntimeApplicationChecksIOS.h&gt;
</span><span class="cx"> #include &lt;wtf/HashSet.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> SOFT_LINK_FRAMEWORK(AudioToolbox)
</span><span class="cx"> SOFT_LINK(AudioToolbox, AudioComponentFindNext, AudioComponent, (AudioComponent inComponent, const AudioComponentDescription *inDesc), (inComponent, inDesc))
</span><span class="lines">@@ -62,7 +63,7 @@
</span><span class="cx"> typedef HashSet&lt;AudioDestinationIOS*&gt; AudioDestinationSet;
</span><span class="cx"> static AudioDestinationSet&amp; audioDestinations()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AudioDestinationSet, audioDestinationSet, ());
</del><ins>+    static NeverDestroyed&lt;AudioDestinationSet&gt; audioDestinationSet;
</ins><span class="cx">     return audioDestinationSet;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsGraphicsLayercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/GraphicsLayer.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/GraphicsLayer.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/graphics/GraphicsLayer.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -34,6 +34,7 @@
</span><span class="cx"> #include &quot;RotateTransformOperation.h&quot;
</span><span class="cx"> #include &quot;TextStream.h&quot;
</span><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/CString.h&gt;
</span><span class="cx"> #include &lt;wtf/text/StringBuilder.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="lines">@@ -47,7 +48,7 @@
</span><span class="cx"> typedef HashMap&lt;const GraphicsLayer*, Vector&lt;FloatRect&gt;&gt; RepaintMap;
</span><span class="cx"> static RepaintMap&amp; repaintRectMap()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(RepaintMap, map, ());
</del><ins>+    static NeverDestroyed&lt;RepaintMap&gt; map;
</ins><span class="cx">     return map;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsImageBuffercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/ImageBuffer.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ImageBuffer.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/graphics/ImageBuffer.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -30,6 +30,7 @@
</span><span class="cx"> #include &quot;GraphicsContext.h&quot;
</span><span class="cx"> #include &quot;IntRect.h&quot;
</span><span class="cx"> #include &lt;wtf/MathExtras.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -88,8 +89,8 @@
</span><span class="cx"> 
</span><span class="cx"> void ImageBuffer::transformColorSpace(ColorSpace srcColorSpace, ColorSpace dstColorSpace)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Vector&lt;int&gt;, deviceRgbLUT, ());
-    DEPRECATED_DEFINE_STATIC_LOCAL(Vector&lt;int&gt;, linearRgbLUT, ());
</del><ins>+    static NeverDestroyed&lt;Vector&lt;int&gt;&gt; deviceRgbLUT;
+    static NeverDestroyed&lt;Vector&lt;int&gt;&gt; linearRgbLUT;
</ins><span class="cx"> 
</span><span class="cx">     if (srcColorSpace == dstColorSpace)
</span><span class="cx">         return;
</span><span class="lines">@@ -100,27 +101,27 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     if (dstColorSpace == ColorSpaceLinearRGB) {
</span><del>-        if (linearRgbLUT.isEmpty()) {
</del><ins>+        if (linearRgbLUT.get().isEmpty()) {
</ins><span class="cx">             for (unsigned i = 0; i &lt; 256; i++) {
</span><span class="cx">                 float color = i  / 255.0f;
</span><span class="cx">                 color = (color &lt;= 0.04045f ? color / 12.92f : pow((color + 0.055f) / 1.055f, 2.4f));
</span><span class="cx">                 color = std::max(0.0f, color);
</span><span class="cx">                 color = std::min(1.0f, color);
</span><del>-                linearRgbLUT.append(static_cast&lt;int&gt;(round(color * 255)));
</del><ins>+                linearRgbLUT.get().append(static_cast&lt;int&gt;(round(color * 255)));
</ins><span class="cx">             }
</span><span class="cx">         }
</span><del>-        platformTransformColorSpace(linearRgbLUT);
</del><ins>+        platformTransformColorSpace(linearRgbLUT.get());
</ins><span class="cx">     } else if (dstColorSpace == ColorSpaceDeviceRGB) {
</span><del>-        if (deviceRgbLUT.isEmpty()) {
</del><ins>+        if (deviceRgbLUT.get().isEmpty()) {
</ins><span class="cx">             for (unsigned i = 0; i &lt; 256; i++) {
</span><span class="cx">                 float color = i / 255.0f;
</span><span class="cx">                 color = (powf(color, 1.0f / 2.4f) * 1.055f) - 0.055f;
</span><span class="cx">                 color = std::max(0.0f, color);
</span><span class="cx">                 color = std::min(1.0f, color);
</span><del>-                deviceRgbLUT.append(static_cast&lt;int&gt;(round(color * 255)));
</del><ins>+                deviceRgbLUT.get().append(static_cast&lt;int&gt;(round(color * 255)));
</ins><span class="cx">             }
</span><span class="cx">         }
</span><del>-        platformTransformColorSpace(deviceRgbLUT);
</del><ins>+        platformTransformColorSpace(deviceRgbLUT.get());
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> #endif // USE(CG)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsMediaPlayercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -235,19 +235,19 @@
</span><span class="cx"> 
</span><span class="cx"> static const AtomicString&amp; applicationOctetStream()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, applicationOctetStream, (&quot;application/octet-stream&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; applicationOctetStream(&quot;application/octet-stream&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return applicationOctetStream;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static const AtomicString&amp; textPlain()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, textPlain, (&quot;text/plain&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; textPlain(&quot;text/plain&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return textPlain;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static const AtomicString&amp; codecs()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, codecs, (&quot;codecs&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; codecs(&quot;codecs&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return codecs;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsShadowBlurcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/ShadowBlur.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ShadowBlur.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/graphics/ShadowBlur.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -36,6 +36,7 @@
</span><span class="cx"> #include &quot;ImageBuffer.h&quot;
</span><span class="cx"> #include &quot;Timer.h&quot;
</span><span class="cx"> #include &lt;wtf/MathExtras.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/Noncopyable.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -155,7 +156,7 @@
</span><span class="cx"> 
</span><span class="cx"> ScratchBuffer&amp; ScratchBuffer::singleton()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(ScratchBuffer, scratchBuffer, ());
</del><ins>+    static NeverDestroyed&lt;ScratchBuffer&gt; scratchBuffer;
</ins><span class="cx">     return scratchBuffer;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationobjcMediaPlayerPrivateAVFoundationObjCmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -392,7 +392,7 @@
</span><span class="cx"> typedef HashMap&lt;MediaPlayer*, MediaPlayerPrivateAVFoundationObjC*&gt; PlayerToPrivateMapType;
</span><span class="cx"> static PlayerToPrivateMapType&amp; playerToPrivateMap()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(PlayerToPrivateMapType, map, ());
</del><ins>+    static NeverDestroyed&lt;PlayerToPrivateMapType&gt; map;
</ins><span class="cx">     return map;
</span><span class="cx"> };
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsfiltersSourceAlphacpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/filters/SourceAlpha.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/filters/SourceAlpha.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/graphics/filters/SourceAlpha.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -24,6 +24,7 @@
</span><span class="cx"> #include &quot;Filter.h&quot;
</span><span class="cx"> #include &quot;GraphicsContext.h&quot;
</span><span class="cx"> #include &quot;TextStream.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -36,7 +37,7 @@
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; SourceAlpha::effectName()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, s_effectName, (&quot;SourceAlpha&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; s_effectName(&quot;SourceAlpha&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return s_effectName;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsfiltersSourceGraphiccpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/filters/SourceGraphic.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/filters/SourceGraphic.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/graphics/filters/SourceGraphic.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -23,6 +23,7 @@
</span><span class="cx"> #include &quot;Filter.h&quot;
</span><span class="cx"> #include &quot;GraphicsContext.h&quot;
</span><span class="cx"> #include &quot;TextStream.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -35,7 +36,7 @@
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; SourceGraphic::effectName()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, s_effectName, (&quot;SourceGraphic&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; s_effectName(&quot;SourceGraphic&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return s_effectName;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsmacMediaPlayerPrivateQTKitmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -43,6 +43,7 @@
</span><span class="cx"> #import &quot;WebCoreSystemInterface.h&quot;
</span><span class="cx"> #import &lt;QTKit/QTKit.h&gt;
</span><span class="cx"> #import &lt;objc/runtime.h&gt;
</span><ins>+#import &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> SOFT_LINK_FRAMEWORK(QTKit)
</span><span class="cx"> 
</span><span class="lines">@@ -1271,7 +1272,7 @@
</span><span class="cx"> 
</span><span class="cx"> static HashSet&lt;String&gt; mimeCommonTypesCache()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(HashSet&lt;String&gt;, cache, ());
</del><ins>+    static NeverDestroyed&lt;HashSet&lt;String&gt;&gt; cache;
</ins><span class="cx">     static bool typeListInitialized = false;
</span><span class="cx"> 
</span><span class="cx">     if (!typeListInitialized) {
</span><span class="lines">@@ -1285,7 +1286,7 @@
</span><span class="cx"> 
</span><span class="cx"> static HashSet&lt;String&gt; mimeModernTypesCache()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(HashSet&lt;String&gt;, cache, ());
</del><ins>+    static NeverDestroyed&lt;HashSet&lt;String&gt;&gt; cache;
</ins><span class="cx">     static bool typeListInitialized = false;
</span><span class="cx">     
</span><span class="cx">     if (!typeListInitialized) {
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformiosCursorIOScpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ios/CursorIOS.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ios/CursorIOS.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/ios/CursorIOS.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -26,11 +26,13 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;Cursor.h&quot;
</span><span class="cx"> 
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
+
</ins><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> static const Cursor&amp; cursor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const Cursor, cursor, ());
</del><ins>+    static NeverDestroyed&lt;const Cursor&gt; cursor;
</ins><span class="cx">     return cursor;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformiosLegacyTileGridTilemm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ios/LegacyTileGridTile.mm (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ios/LegacyTileGridTile.mm        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/ios/LegacyTileGridTile.mm        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -37,6 +37,7 @@
</span><span class="cx"> #include &quot;WAKWindow.h&quot;
</span><span class="cx"> #include &lt;algorithm&gt;
</span><span class="cx"> #include &lt;functional&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> #if __has_include(&lt;WebKitAdditions/LayerBackingStoreAdditions.mm&gt;)
</span><span class="cx"> #import &lt;WebKitAdditions/LayerBackingStoreAdditions.mm&gt;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformiosTileControllerMemoryHandlerIOScpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ios/TileControllerMemoryHandlerIOS.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ios/TileControllerMemoryHandlerIOS.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/ios/TileControllerMemoryHandlerIOS.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;MemoryPressureHandler.h&quot;
</span><span class="cx"> #include &quot;TileController.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -79,7 +80,7 @@
</span><span class="cx"> 
</span><span class="cx"> TileControllerMemoryHandler&amp; tileControllerMemoryHandler()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(TileControllerMemoryHandler, staticTileControllerMemoryHandler, ());
</del><ins>+    static NeverDestroyed&lt;TileControllerMemoryHandler&gt; staticTileControllerMemoryHandler;
</ins><span class="cx">     return staticTileControllerMemoryHandler;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformiosTileControllerMemoryHandlerIOSh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ios/TileControllerMemoryHandlerIOS.h (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ios/TileControllerMemoryHandlerIOS.h        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/ios/TileControllerMemoryHandlerIOS.h        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -27,6 +27,7 @@
</span><span class="cx"> #define TileControllerMemoryHandlerIOS_h
</span><span class="cx"> 
</span><span class="cx"> #include &lt;wtf/ListHashSet.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -35,6 +36,7 @@
</span><span class="cx"> class TileControllerMemoryHandler {
</span><span class="cx"> public:
</span><span class="cx">     friend TileControllerMemoryHandler&amp; tileControllerMemoryHandler();
</span><ins>+    friend class NeverDestroyed&lt;TileControllerMemoryHandler&gt;;
</ins><span class="cx"> 
</span><span class="cx">     void removeTileController(TileController*);
</span><span class="cx">     void tileControllerGainedUnparentedTiles(TileController*);
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformiosWebCoreMotionManagermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ios/WebCoreMotionManager.mm (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ios/WebCoreMotionManager.mm        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/ios/WebCoreMotionManager.mm        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -31,6 +31,7 @@
</span><span class="cx"> #import &lt;CoreLocation/CoreLocation.h&gt;
</span><span class="cx"> #import &lt;objc/objc-runtime.h&gt;
</span><span class="cx"> #import &lt;wtf/MathExtras.h&gt;
</span><ins>+#import &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #import &lt;wtf/PassRefPtr.h&gt;
</span><span class="cx"> #import &lt;wtf/RetainPtr.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -68,8 +69,8 @@
</span><span class="cx"> 
</span><span class="cx"> + (WebCoreMotionManager *)sharedManager
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(RetainPtr&lt;WebCoreMotionManager&gt;, sharedMotionManager, ([[WebCoreMotionManager alloc] init]));
-    return sharedMotionManager.get();
</del><ins>+    static NeverDestroyed&lt;RetainPtr&lt;WebCoreMotionManager&gt;&gt; sharedMotionManager([[WebCoreMotionManager alloc] init]);
+    return sharedMotionManager.get().get();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (id)init
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformiosWebVideoFullscreenModelVideoElementmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ios/WebVideoFullscreenModelVideoElement.mm (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ios/WebVideoFullscreenModelVideoElement.mm        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/ios/WebVideoFullscreenModelVideoElement.mm        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -156,8 +156,8 @@
</span><span class="cx">         String localizedDeviceName;
</span><span class="cx"> 
</span><span class="cx">         if (m_videoElement-&gt;mediaControlsHost()) {
</span><del>-            DEPRECATED_DEFINE_STATIC_LOCAL(String, airplay, (ASCIILiteral(&quot;airplay&quot;)));
-            DEPRECATED_DEFINE_STATIC_LOCAL(String, tvout, (ASCIILiteral(&quot;tvout&quot;)));
</del><ins>+            static NeverDestroyed&lt;String&gt; airplay(ASCIILiteral(&quot;airplay&quot;));
+            static NeverDestroyed&lt;String&gt; tvout(ASCIILiteral(&quot;tvout&quot;));
</ins><span class="cx">             
</span><span class="cx">             String type = m_videoElement-&gt;mediaControlsHost()-&gt;externalDeviceType();
</span><span class="cx">             if (type == airplay)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformioswakWKContentObservationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ios/wak/WKContentObservation.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ios/wak/WKContentObservation.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/ios/wak/WKContentObservation.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -31,6 +31,7 @@
</span><span class="cx"> #include &quot;JSDOMBinding.h&quot;
</span><span class="cx"> #include &quot;WebCoreThread.h&quot;
</span><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> WKContentChange _WKContentChange                    = WKContentNoChange;
</span><span class="cx"> bool            _WKObservingContentChanges          = false;
</span><span class="lines">@@ -77,8 +78,8 @@
</span><span class="cx"> {
</span><span class="cx">     ASSERT(WebThreadIsLockedOrDisabled());
</span><span class="cx">     typedef HashMap&lt;void *, void *&gt; VoidVoidMap;
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(VoidVoidMap, observedContentModifiers, ());
-    return &amp;observedContentModifiers;
</del><ins>+    static NeverDestroyed&lt;VoidVoidMap&gt; observedContentModifiers;
+    return &amp;observedContentModifiers.get();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> int WebThreadCountOfObservedContentModifiers(void)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmacDragImageMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mac/DragImageMac.mm (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mac/DragImageMac.mm        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/mac/DragImageMac.mm        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -38,6 +38,7 @@
</span><span class="cx"> #import &quot;ResourceResponse.h&quot;
</span><span class="cx"> #import &quot;StringTruncator.h&quot;
</span><span class="cx"> #import &quot;TextRun.h&quot;
</span><ins>+#import &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -160,7 +161,7 @@
</span><span class="cx"> static FontCascade&amp; fontFromNSFont(NSFont *font)
</span><span class="cx"> {
</span><span class="cx">     static NSFont *currentFont;
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(FontCascade, currentRenderer, ());
</del><ins>+    static NeverDestroyed&lt;FontCascade&gt; currentRenderer;
</ins><span class="cx">     
</span><span class="cx">     if ([font isEqual:currentFont])
</span><span class="cx">         return currentRenderer;
</span><span class="lines">@@ -168,7 +169,7 @@
</span><span class="cx">         CFRelease(currentFont);
</span><span class="cx">     currentFont = font;
</span><span class="cx">     CFRetain(currentFont);
</span><del>-    currentRenderer = FontCascade(FontPlatformData(toCTFont(font), [font pointSize]));
</del><ins>+    currentRenderer.get() = FontCascade(FontPlatformData(toCTFont(font), [font pointSize]));
</ins><span class="cx">     return currentRenderer;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmacThemeMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mac/ThemeMac.mm (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mac/ThemeMac.mm        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/mac/ThemeMac.mm        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -35,6 +35,7 @@
</span><span class="cx"> #import &quot;ScrollView.h&quot;
</span><span class="cx"> #import &quot;WebCoreSystemInterface.h&quot;
</span><span class="cx"> #import &lt;Carbon/Carbon.h&gt;
</span><ins>+#import &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #import &lt;wtf/StdLibExtras.h&gt;
</span><span class="cx"> 
</span><span class="cx"> static NSRect focusRingClipRect;
</span><span class="lines">@@ -132,8 +133,8 @@
</span><span class="cx"> 
</span><span class="cx"> Theme* platformTheme()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(ThemeMac, themeMac, ());
-    return &amp;themeMac;
</del><ins>+    static NeverDestroyed&lt;ThemeMac&gt; themeMac;
+    return &amp;themeMac.get();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // Helper functions used by a bunch of different control parts.
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmacThreadCheckmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mac/ThreadCheck.mm (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mac/ThreadCheck.mm        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/mac/ThreadCheck.mm        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -27,6 +27,7 @@
</span><span class="cx"> #import &quot;ThreadCheck.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #import &lt;wtf/HashSet.h&gt;
</span><ins>+#import &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #import &lt;wtf/StdLibExtras.h&gt;
</span><span class="cx"> #include &lt;wtf/text/StringHash.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -98,12 +99,12 @@
</span><span class="cx">     if (round &gt;= MaximumThreadViolationRound)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(HashSet&lt;String&gt;, loggedFunctions, ());
</del><ins>+    static NeverDestroyed&lt;HashSet&lt;String&gt;&gt; loggedFunctions;
</ins><span class="cx">     switch (threadViolationBehavior[round]) {
</span><span class="cx">         case NoThreadCheck:
</span><span class="cx">             break;
</span><span class="cx">         case LogOnFirstThreadViolation:
</span><del>-            if (loggedFunctions.add(function).isNewEntry) {
</del><ins>+            if (loggedFunctions.get().add(function).isNewEntry) {
</ins><span class="cx">                 NSLog(@&quot;WebKit Threading Violation - %s called from secondary thread&quot;, function);
</span><span class="cx">                 NSLog(@&quot;Additional threading violations for this function will not be logged.&quot;);
</span><span class="cx">             }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmediastreammacAVCaptureDeviceManagerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.h (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.h        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.h        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -32,6 +32,7 @@
</span><span class="cx"> #include &quot;MediaStreamTrackSourcesRequestClient.h&quot;
</span><span class="cx"> #include &quot;RealtimeMediaSource.h&quot;
</span><span class="cx"> #include &quot;RealtimeMediaSourceSupportedConstraints.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/RetainPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -53,6 +54,7 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class AVCaptureDeviceManager final : public CaptureDeviceManager {
</span><ins>+    friend class NeverDestroyed&lt;AVCaptureDeviceManager&gt;;
</ins><span class="cx"> public:
</span><span class="cx">     virtual Vector&lt;CaptureDeviceInfo&gt;&amp; captureDeviceList() override;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmediastreammacAVCaptureDeviceManagermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -209,7 +209,7 @@
</span><span class="cx"> 
</span><span class="cx"> AVCaptureDeviceManager&amp; AVCaptureDeviceManager::singleton()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AVCaptureDeviceManager, manager, ());
</del><ins>+    static NeverDestroyed&lt;AVCaptureDeviceManager&gt; manager;
</ins><span class="cx">     return manager;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmediastreammacRealtimeMediaSourceCenterMaccpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -44,7 +44,7 @@
</span><span class="cx"> RealtimeMediaSourceCenter&amp; RealtimeMediaSourceCenter::platformCenter()
</span><span class="cx"> {
</span><span class="cx">     ASSERT(isMainThread());
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(RealtimeMediaSourceCenterMac, center, ());
</del><ins>+    static NeverDestroyed&lt;RealtimeMediaSourceCenterMac&gt; center;
</ins><span class="cx">     return center;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmockmediasourceMockBoxcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mock/mediasource/MockBox.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mock/mediasource/MockBox.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/mock/mediasource/MockBox.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -31,6 +31,7 @@
</span><span class="cx"> #include &lt;runtime/ArrayBuffer.h&gt;
</span><span class="cx"> #include &lt;runtime/DataView.h&gt;
</span><span class="cx"> #include &lt;runtime/Int8Array.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/StringBuilder.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -76,7 +77,7 @@
</span><span class="cx"> 
</span><span class="cx"> const String&amp; MockTrackBox::type()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(String, trak, (ASCIILiteral(&quot;trak&quot;)));
</del><ins>+    static NeverDestroyed&lt;String&gt; trak(ASCIILiteral(&quot;trak&quot;));
</ins><span class="cx">     return trak;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -105,7 +106,7 @@
</span><span class="cx"> 
</span><span class="cx"> const String&amp; MockInitializationBox::type()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(String, init, (ASCIILiteral(&quot;init&quot;)));
</del><ins>+    static NeverDestroyed&lt;String&gt; init(ASCIILiteral(&quot;init&quot;));
</ins><span class="cx">     return init;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -133,7 +134,7 @@
</span><span class="cx"> 
</span><span class="cx"> const String&amp; MockSampleBox::type()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(String, smpl, (ASCIILiteral(&quot;smpl&quot;)));
</del><ins>+    static NeverDestroyed&lt;String&gt; smpl(ASCIILiteral(&quot;smpl&quot;));
</ins><span class="cx">     return smpl;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkHTTPParserscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/HTTPParsers.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/HTTPParsers.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/network/HTTPParsers.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -35,6 +35,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;ContentSecurityPolicy.h&quot;
</span><span class="cx"> #include &lt;wtf/DateMath.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/CString.h&gt;
</span><span class="cx"> #include &lt;wtf/text/StringBuilder.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="lines">@@ -365,14 +366,14 @@
</span><span class="cx"> 
</span><span class="cx"> ContentSecurityPolicy::ReflectedXSSDisposition parseXSSProtectionHeader(const String&amp; header, String&amp; failureReason, unsigned&amp; failurePosition, String&amp; reportURL)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(String, failureReasonInvalidToggle, (ASCIILiteral(&quot;expected 0 or 1&quot;)));
-    DEPRECATED_DEFINE_STATIC_LOCAL(String, failureReasonInvalidSeparator, (ASCIILiteral(&quot;expected semicolon&quot;)));
-    DEPRECATED_DEFINE_STATIC_LOCAL(String, failureReasonInvalidEquals, (ASCIILiteral(&quot;expected equals sign&quot;)));
-    DEPRECATED_DEFINE_STATIC_LOCAL(String, failureReasonInvalidMode, (ASCIILiteral(&quot;invalid mode directive&quot;)));
-    DEPRECATED_DEFINE_STATIC_LOCAL(String, failureReasonInvalidReport, (ASCIILiteral(&quot;invalid report directive&quot;)));
-    DEPRECATED_DEFINE_STATIC_LOCAL(String, failureReasonDuplicateMode, (ASCIILiteral(&quot;duplicate mode directive&quot;)));
-    DEPRECATED_DEFINE_STATIC_LOCAL(String, failureReasonDuplicateReport, (ASCIILiteral(&quot;duplicate report directive&quot;)));
-    DEPRECATED_DEFINE_STATIC_LOCAL(String, failureReasonInvalidDirective, (ASCIILiteral(&quot;unrecognized directive&quot;)));
</del><ins>+    static NeverDestroyed&lt;String&gt; failureReasonInvalidToggle(ASCIILiteral(&quot;expected 0 or 1&quot;));
+    static NeverDestroyed&lt;String&gt; failureReasonInvalidSeparator(ASCIILiteral(&quot;expected semicolon&quot;));
+    static NeverDestroyed&lt;String&gt; failureReasonInvalidEquals(ASCIILiteral(&quot;expected equals sign&quot;));
+    static NeverDestroyed&lt;String&gt; failureReasonInvalidMode(ASCIILiteral(&quot;invalid mode directive&quot;));
+    static NeverDestroyed&lt;String&gt; failureReasonInvalidReport(ASCIILiteral(&quot;invalid report directive&quot;));
+    static NeverDestroyed&lt;String&gt; failureReasonDuplicateMode(ASCIILiteral(&quot;duplicate mode directive&quot;));
+    static NeverDestroyed&lt;String&gt; failureReasonDuplicateReport(ASCIILiteral(&quot;duplicate report directive&quot;));
+    static NeverDestroyed&lt;String&gt; failureReasonInvalidDirective(ASCIILiteral(&quot;unrecognized directive&quot;));
</ins><span class="cx"> 
</span><span class="cx">     unsigned pos = 0;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkResourceHandlecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/ResourceHandle.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/ResourceHandle.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/network/ResourceHandle.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -34,6 +34,7 @@
</span><span class="cx"> #include &quot;Timer.h&quot;
</span><span class="cx"> #include &lt;algorithm&gt;
</span><span class="cx"> #include &lt;wtf/MainThread.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/CString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -48,7 +49,7 @@
</span><span class="cx"> #else
</span><span class="cx">     ASSERT(isMainThread());
</span><span class="cx"> #endif
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(BuiltinResourceHandleConstructorMap, map, ());
</del><ins>+    static NeverDestroyed&lt;BuiltinResourceHandleConstructorMap&gt; map;
</ins><span class="cx">     return map;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -61,7 +62,7 @@
</span><span class="cx"> static BuiltinResourceHandleSynchronousLoaderMap&amp; builtinResourceHandleSynchronousLoaderMap()
</span><span class="cx"> {
</span><span class="cx">     ASSERT(isMainThread());
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(BuiltinResourceHandleSynchronousLoaderMap, map, ());
</del><ins>+    static NeverDestroyed&lt;BuiltinResourceHandleSynchronousLoaderMap&gt; map;
</ins><span class="cx">     return map;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkcfResourceHandleCFNetcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/cf/ResourceHandleCFNet.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/cf/ResourceHandleCFNet.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/network/cf/ResourceHandleCFNet.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -48,6 +48,7 @@
</span><span class="cx"> #include &lt;sys/stat.h&gt;
</span><span class="cx"> #include &lt;sys/types.h&gt;
</span><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/Ref.h&gt;
</span><span class="cx"> #include &lt;wtf/Threading.h&gt;
</span><span class="cx"> #include &lt;wtf/text/Base64.h&gt;
</span><span class="lines">@@ -83,14 +84,14 @@
</span><span class="cx"> 
</span><span class="cx"> static HashSet&lt;String&gt;&amp; allowsAnyHTTPSCertificateHosts()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(HashSet&lt;String&gt;, hosts, ());
</del><ins>+    static NeverDestroyed&lt;HashSet&lt;String&gt;&gt; hosts;
</ins><span class="cx">     return hosts;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static HashMap&lt;String, RetainPtr&lt;CFDataRef&gt;&gt;&amp; clientCerts()
</span><span class="cx"> {
</span><span class="cx">     typedef HashMap&lt;String, RetainPtr&lt;CFDataRef&gt;&gt; CertsMap;
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(CertsMap, certs, ());
</del><ins>+    static NeverDestroyed&lt;CertsMap&gt; certs;
</ins><span class="cx">     return certs;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformtextAtomicStringKeyedMRUCacheh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/text/AtomicStringKeyedMRUCache.h (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/text/AtomicStringKeyedMRUCache.h        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/text/AtomicStringKeyedMRUCache.h        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -26,6 +26,7 @@
</span><span class="cx"> #ifndef AtomicStringKeyedMRUCache_h
</span><span class="cx"> #define AtomicStringKeyedMRUCache_h
</span><span class="cx"> 
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/AtomicString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -36,7 +37,7 @@
</span><span class="cx">     T get(const AtomicString&amp; key)
</span><span class="cx">     {
</span><span class="cx">         if (key.isNull()) {
</span><del>-            DEPRECATED_DEFINE_STATIC_LOCAL(T, valueForNull, (createValueForNullKey()));
</del><ins>+            static NeverDestroyed&lt;T&gt; valueForNull(createValueForNullKey());
</ins><span class="cx">             return valueForNull;
</span><span class="cx">         }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformtextcfHyphenationCFcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/text/cf/HyphenationCF.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/text/cf/HyphenationCF.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/platform/text/cf/HyphenationCF.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -55,7 +55,7 @@
</span><span class="cx"> 
</span><span class="cx"> static AtomicStringKeyedMRUCache&lt;RetainPtr&lt;CFLocaleRef&gt;&gt;&amp; cfLocaleCache()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicStringKeyedMRUCache&lt;RetainPtr&lt;CFLocaleRef&gt;&gt;, cache, ());
</del><ins>+    static NeverDestroyed&lt;AtomicStringKeyedMRUCache&lt;RetainPtr&lt;CFLocaleRef&gt;&gt;&gt; cache;
</ins><span class="cx">     return cache;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBlockcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBlock.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBlock.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/rendering/RenderBlock.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -1660,8 +1660,8 @@
</span><span class="cx">     
</span><span class="cx"> static ContinuationOutlineTableMap* continuationOutlineTable()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(ContinuationOutlineTableMap, table, ());
-    return &amp;table;
</del><ins>+    static NeverDestroyed&lt;ContinuationOutlineTableMap&gt; table;
+    return &amp;table.get();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void RenderBlock::addContinuationWithOutline(RenderInline* flow)
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderCountercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderCounter.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderCounter.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/rendering/RenderCounter.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -50,7 +50,7 @@
</span><span class="cx"> 
</span><span class="cx"> static CounterMaps&amp; counterMaps()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(CounterMaps, staticCounterMaps, ());
</del><ins>+    static NeverDestroyed&lt;CounterMaps&gt; staticCounterMaps;
</ins><span class="cx">     return staticCounterMaps;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderDeprecatedFlexibleBoxcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -987,8 +987,8 @@
</span><span class="cx">             continue;
</span><span class="cx"> 
</span><span class="cx">         const UChar ellipsisAndSpace[2] = { horizontalEllipsis, ' ' };
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, ellipsisAndSpaceStr, (ellipsisAndSpace, 2));
-        DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, ellipsisStr, (&amp;horizontalEllipsis, 1));
</del><ins>+        static NeverDestroyed&lt;AtomicString&gt; ellipsisAndSpaceStr(ellipsisAndSpace, 2);
+        static NeverDestroyed&lt;AtomicString&gt; ellipsisStr(&amp;horizontalEllipsis, 1);
</ins><span class="cx">         const RenderStyle&amp; lineStyle = numVisibleLines == 1 ? firstLineStyle() : style();
</span><span class="cx">         const FontCascade&amp; font = lineStyle.fontCascade();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderLayercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderLayer.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -3633,12 +3633,12 @@
</span><span class="cx">     RefPtr&lt;Image&gt; resizeCornerImage;
</span><span class="cx">     FloatSize cornerResizerSize;
</span><span class="cx">     if (renderer().document().deviceScaleFactor() &gt;= 2) {
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(Image*, resizeCornerImageHiRes, (Image::loadPlatformResource(&quot;textAreaResizeCorner@2x&quot;).leakRef()));
</del><ins>+        static NeverDestroyed&lt;Image*&gt; resizeCornerImageHiRes(Image::loadPlatformResource(&quot;textAreaResizeCorner@2x&quot;).leakRef());
</ins><span class="cx">         resizeCornerImage = resizeCornerImageHiRes;
</span><span class="cx">         cornerResizerSize = resizeCornerImage-&gt;size();
</span><span class="cx">         cornerResizerSize.scale(0.5f);
</span><span class="cx">     } else {
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(Image*, resizeCornerImageLoRes, (Image::loadPlatformResource(&quot;textAreaResizeCorner&quot;).leakRef()));
</del><ins>+        static NeverDestroyed&lt;Image*&gt; resizeCornerImageLoRes(Image::loadPlatformResource(&quot;textAreaResizeCorner&quot;).leakRef());
</ins><span class="cx">         resizeCornerImage = resizeCornerImageLoRes;
</span><span class="cx">         cornerResizerSize = resizeCornerImage-&gt;size();
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderScrollbarThemecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderScrollbarTheme.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderScrollbarTheme.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/rendering/RenderScrollbarTheme.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -26,14 +26,15 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;RenderScrollbarTheme.h&quot;
</span><span class="cx"> #include &quot;RenderScrollbar.h&quot;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> RenderScrollbarTheme* RenderScrollbarTheme::renderScrollbarTheme()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(RenderScrollbarTheme, theme, ());
-    return &amp;theme;
</del><ins>+    static NeverDestroyed&lt;RenderScrollbarTheme&gt; theme;
+    return &amp;theme.get();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void RenderScrollbarTheme::buttonSizesAlongTrackAxis(Scrollbar&amp; scrollbar, int&amp; beforeSize, int&amp; afterSize)
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderThemecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderTheme.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderTheme.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/rendering/RenderTheme.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -68,7 +68,7 @@
</span><span class="cx"> 
</span><span class="cx"> static Color&amp; customFocusRingColor()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Color, color, ());
</del><ins>+    static NeverDestroyed&lt;Color&gt; color;
</ins><span class="cx">     return color;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderWidgetcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderWidget.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderWidget.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/rendering/RenderWidget.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx"> 
</span><span class="cx"> WidgetHierarchyUpdatesSuspensionScope::WidgetToParentMap&amp; WidgetHierarchyUpdatesSuspensionScope::widgetNewParentMap()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(WidgetToParentMap, map, ());
</del><ins>+    static NeverDestroyed&lt;WidgetToParentMap&gt; map;
</ins><span class="cx">     return map;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingshapesShapeOutsideInfoh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/shapes/ShapeOutsideInfo.h (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/shapes/ShapeOutsideInfo.h        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/rendering/shapes/ShapeOutsideInfo.h        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -35,6 +35,7 @@
</span><span class="cx"> #include &quot;LayoutSize.h&quot;
</span><span class="cx"> #include &quot;Shape.h&quot;
</span><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -130,7 +131,7 @@
</span><span class="cx">     typedef HashMap&lt;const RenderBox*, std::unique_ptr&lt;ShapeOutsideInfo&gt;&gt; InfoMap;
</span><span class="cx">     static InfoMap&amp; infoMap()
</span><span class="cx">     {
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(InfoMap, staticInfoMap, ());
</del><ins>+        static NeverDestroyed&lt;InfoMap&gt; staticInfoMap;
</ins><span class="cx">         return staticInfoMap;
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingstyleRenderStylecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/style/RenderStyle.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/style/RenderStyle.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/rendering/style/RenderStyle.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -1248,8 +1248,8 @@
</span><span class="cx">         return hyphenationString;
</span><span class="cx"> 
</span><span class="cx">     // FIXME: This should depend on locale.
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, hyphenMinusString, (&amp;hyphenMinus, 1));
-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, hyphenString, (&amp;hyphen, 1));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; hyphenMinusString(&amp;hyphenMinus, 1);
+    static NeverDestroyed&lt;AtomicString&gt; hyphenString(&amp;hyphen, 1);
</ins><span class="cx">     return fontCascade().primaryFont().glyphForCharacter(hyphen) ? hyphenString : hyphenMinusString;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1261,28 +1261,28 @@
</span><span class="cx">     case TextEmphasisMarkCustom:
</span><span class="cx">         return textEmphasisCustomMark();
</span><span class="cx">     case TextEmphasisMarkDot: {
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, filledDotString, (&amp;bullet, 1));
-        DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, openDotString, (&amp;whiteBullet, 1));
</del><ins>+        static NeverDestroyed&lt;AtomicString&gt; filledDotString(&amp;bullet, 1);
+        static NeverDestroyed&lt;AtomicString&gt; openDotString(&amp;whiteBullet, 1);
</ins><span class="cx">         return textEmphasisFill() == TextEmphasisFillFilled ? filledDotString : openDotString;
</span><span class="cx">     }
</span><span class="cx">     case TextEmphasisMarkCircle: {
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, filledCircleString, (&amp;blackCircle, 1));
-        DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, openCircleString, (&amp;whiteCircle, 1));
</del><ins>+        static NeverDestroyed&lt;AtomicString&gt; filledCircleString(&amp;blackCircle, 1);
+        static NeverDestroyed&lt;AtomicString&gt; openCircleString(&amp;whiteCircle, 1);
</ins><span class="cx">         return textEmphasisFill() == TextEmphasisFillFilled ? filledCircleString : openCircleString;
</span><span class="cx">     }
</span><span class="cx">     case TextEmphasisMarkDoubleCircle: {
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, filledDoubleCircleString, (&amp;fisheye, 1));
-        DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, openDoubleCircleString, (&amp;bullseye, 1));
</del><ins>+        static NeverDestroyed&lt;AtomicString&gt; filledDoubleCircleString(&amp;fisheye, 1);
+        static NeverDestroyed&lt;AtomicString&gt; openDoubleCircleString(&amp;bullseye, 1);
</ins><span class="cx">         return textEmphasisFill() == TextEmphasisFillFilled ? filledDoubleCircleString : openDoubleCircleString;
</span><span class="cx">     }
</span><span class="cx">     case TextEmphasisMarkTriangle: {
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, filledTriangleString, (&amp;blackUpPointingTriangle, 1));
-        DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, openTriangleString, (&amp;whiteUpPointingTriangle, 1));
</del><ins>+        static NeverDestroyed&lt;AtomicString&gt; filledTriangleString(&amp;blackUpPointingTriangle, 1);
+        static NeverDestroyed&lt;AtomicString&gt; openTriangleString(&amp;whiteUpPointingTriangle, 1);
</ins><span class="cx">         return textEmphasisFill() == TextEmphasisFillFilled ? filledTriangleString : openTriangleString;
</span><span class="cx">     }
</span><span class="cx">     case TextEmphasisMarkSesame: {
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, filledSesameString, (&amp;sesameDot, 1));
-        DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, openSesameString, (&amp;whiteSesameDot, 1));
</del><ins>+        static NeverDestroyed&lt;AtomicString&gt; filledSesameString(&amp;sesameDot, 1);
+        static NeverDestroyed&lt;AtomicString&gt; openSesameString(&amp;whiteSesameDot, 1);
</ins><span class="cx">         return textEmphasisFill() == TextEmphasisFillFilled ? filledSesameString : openSesameString;
</span><span class="cx">     }
</span><span class="cx">     case TextEmphasisMarkAuto:
</span><span class="lines">@@ -1297,13 +1297,13 @@
</span><span class="cx"> #if ENABLE(DASHBOARD_SUPPORT)
</span><span class="cx"> const Vector&lt;StyleDashboardRegion&gt;&amp; RenderStyle::initialDashboardRegions()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Vector&lt;StyleDashboardRegion&gt;, emptyList, ());
</del><ins>+    static NeverDestroyed&lt;Vector&lt;StyleDashboardRegion&gt;&gt; emptyList;
</ins><span class="cx">     return emptyList;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const Vector&lt;StyleDashboardRegion&gt;&amp; RenderStyle::noneDashboardRegions()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Vector&lt;StyleDashboardRegion&gt;, noneList, ());
</del><ins>+    static NeverDestroyed&lt;Vector&lt;StyleDashboardRegion&gt;&gt; noneList;
</ins><span class="cx">     static bool noneListInitialized = false;
</span><span class="cx"> 
</span><span class="cx">     if (!noneListInitialized) {
</span><span class="lines">@@ -1314,7 +1314,7 @@
</span><span class="cx">         region.offset.bottom() = Length();
</span><span class="cx">         region.offset.left() = Length();
</span><span class="cx">         region.type = StyleDashboardRegion::None;
</span><del>-        noneList.append(region);
</del><ins>+        noneList.get().append(region);
</ins><span class="cx">         noneListInitialized = true;
</span><span class="cx">     }
</span><span class="cx">     return noneList;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingstyleRenderStyleh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/style/RenderStyle.h (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/style/RenderStyle.h        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/rendering/style/RenderStyle.h        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -70,6 +70,7 @@
</span><span class="cx"> #include &quot;UnicodeBidi.h&quot;
</span><span class="cx"> #include &lt;memory&gt;
</span><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/RefCounted.h&gt;
</span><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</span><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="lines">@@ -2008,7 +2009,7 @@
</span><span class="cx">     static unsigned short initialColumnCount() { return 1; }
</span><span class="cx">     static ColumnFill initialColumnFill() { return ColumnFillBalance; }
</span><span class="cx">     static ColumnSpan initialColumnSpan() { return ColumnSpanNone; }
</span><del>-    static const TransformOperations&amp; initialTransform() { DEPRECATED_DEFINE_STATIC_LOCAL(TransformOperations, ops, ()); return ops; }
</del><ins>+    static const TransformOperations&amp; initialTransform() { static NeverDestroyed&lt;TransformOperations&gt; ops; return ops; }
</ins><span class="cx">     static Length initialTransformOriginX() { return Length(50.0f, Percent); }
</span><span class="cx">     static Length initialTransformOriginY() { return Length(50.0f, Percent); }
</span><span class="cx">     static EPointerEvents initialPointerEvents() { return PE_AUTO; }
</span><span class="lines">@@ -2114,9 +2115,9 @@
</span><span class="cx">     static const Vector&lt;StyleDashboardRegion&gt;&amp; initialDashboardRegions();
</span><span class="cx">     static const Vector&lt;StyleDashboardRegion&gt;&amp; noneDashboardRegions();
</span><span class="cx"> #endif
</span><del>-    static const FilterOperations&amp; initialFilter() { DEPRECATED_DEFINE_STATIC_LOCAL(FilterOperations, ops, ()); return ops; }
</del><ins>+    static const FilterOperations&amp; initialFilter() { static NeverDestroyed&lt;FilterOperations&gt; ops; return ops; }
</ins><span class="cx"> #if ENABLE(FILTERS_LEVEL_2)
</span><del>-    static const FilterOperations&amp; initialBackdropFilter() { DEPRECATED_DEFINE_STATIC_LOCAL(FilterOperations, ops, ()); return ops; }
</del><ins>+    static const FilterOperations&amp; initialBackdropFilter() { static NeverDestroyed&lt;FilterOperations&gt; ops; return ops; }
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(CSS_COMPOSITING)
</span><span class="cx">     static BlendMode initialBlendMode() { return BlendModeNormal; }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgRenderSVGPathcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/RenderSVGPath.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/RenderSVGPath.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGPath.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -131,15 +131,15 @@
</span><span class="cx"> 
</span><span class="cx"> Path* RenderSVGPath::zeroLengthLinecapPath(const FloatPoint&amp; linecapPosition) const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Path, tempPath, ());
</del><ins>+    static NeverDestroyed&lt;Path&gt; tempPath;
</ins><span class="cx"> 
</span><del>-    tempPath.clear();
</del><ins>+    tempPath.get().clear();
</ins><span class="cx">     if (style().svgStyle().capStyle() == SquareCap)
</span><del>-        tempPath.addRect(zeroLengthSubpathRect(linecapPosition, this-&gt;strokeWidth()));
</del><ins>+        tempPath.get().addRect(zeroLengthSubpathRect(linecapPosition, this-&gt;strokeWidth()));
</ins><span class="cx">     else
</span><del>-        tempPath.addEllipse(zeroLengthSubpathRect(linecapPosition, this-&gt;strokeWidth()));
</del><ins>+        tempPath.get().addEllipse(zeroLengthSubpathRect(linecapPosition, this-&gt;strokeWidth()));
</ins><span class="cx"> 
</span><del>-    return &amp;tempPath;
</del><ins>+    return &amp;tempPath.get();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> FloatRect RenderSVGPath::zeroLengthSubpathRect(const FloatPoint&amp; linecapPosition, float strokeWidth) const
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgRenderSVGShapecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/RenderSVGShape.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/RenderSVGShape.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGShape.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -187,12 +187,12 @@
</span><span class="cx"> 
</span><span class="cx"> Path* RenderSVGShape::nonScalingStrokePath(const Path* path, const AffineTransform&amp; strokeTransform) const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(Path, tempPath, ());
</del><ins>+    static NeverDestroyed&lt;Path&gt; tempPath;
</ins><span class="cx"> 
</span><del>-    tempPath = *path;
-    tempPath.transform(strokeTransform);
</del><ins>+    tempPath.get() = *path;
+    tempPath.get().transform(strokeTransform);
</ins><span class="cx"> 
</span><del>-    return &amp;tempPath;
</del><ins>+    return &amp;tempPath.get();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool RenderSVGShape::setupNonScalingStrokeContext(AffineTransform&amp; strokeTransform, GraphicsContextStateSaver&amp; stateSaver)
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgSVGRenderingContextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/SVGRenderingContext.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/SVGRenderingContext.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/rendering/svg/SVGRenderingContext.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -206,7 +206,7 @@
</span><span class="cx"> 
</span><span class="cx"> static AffineTransform&amp; currentContentTransformation()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AffineTransform, s_currentContentTransformation, ());
</del><ins>+    static NeverDestroyed&lt;AffineTransform&gt; s_currentContentTransformation;
</ins><span class="cx">     return s_currentContentTransformation;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgSVGResourcescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/SVGResources.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/SVGResources.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/rendering/svg/SVGResources.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -45,44 +45,44 @@
</span><span class="cx"> 
</span><span class="cx"> static HashSet&lt;AtomicString&gt;&amp; clipperFilterMaskerTags()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(HashSet&lt;AtomicString&gt;, s_tagList, ());
-    if (s_tagList.isEmpty()) {
</del><ins>+    static NeverDestroyed&lt;HashSet&lt;AtomicString&gt;&gt; s_tagList;
+    if (s_tagList.get().isEmpty()) {
</ins><span class="cx">         // &quot;container elements&quot;: http://www.w3.org/TR/SVG11/intro.html#TermContainerElement
</span><span class="cx">         // &quot;graphics elements&quot; : http://www.w3.org/TR/SVG11/intro.html#TermGraphicsElement
</span><del>-        s_tagList.add(SVGNames::aTag.localName());
-        s_tagList.add(SVGNames::circleTag.localName());
-        s_tagList.add(SVGNames::ellipseTag.localName());
-        s_tagList.add(SVGNames::glyphTag.localName());
-        s_tagList.add(SVGNames::gTag.localName());
-        s_tagList.add(SVGNames::imageTag.localName());
-        s_tagList.add(SVGNames::lineTag.localName());
-        s_tagList.add(SVGNames::markerTag.localName());
-        s_tagList.add(SVGNames::maskTag.localName());
-        s_tagList.add(SVGNames::missing_glyphTag.localName());
-        s_tagList.add(SVGNames::pathTag.localName());
-        s_tagList.add(SVGNames::polygonTag.localName());
-        s_tagList.add(SVGNames::polylineTag.localName());
-        s_tagList.add(SVGNames::rectTag.localName());
-        s_tagList.add(SVGNames::svgTag.localName());
-        s_tagList.add(SVGNames::textTag.localName());
-        s_tagList.add(SVGNames::useTag.localName());
</del><ins>+        s_tagList.get().add(SVGNames::aTag.localName());
+        s_tagList.get().add(SVGNames::circleTag.localName());
+        s_tagList.get().add(SVGNames::ellipseTag.localName());
+        s_tagList.get().add(SVGNames::glyphTag.localName());
+        s_tagList.get().add(SVGNames::gTag.localName());
+        s_tagList.get().add(SVGNames::imageTag.localName());
+        s_tagList.get().add(SVGNames::lineTag.localName());
+        s_tagList.get().add(SVGNames::markerTag.localName());
+        s_tagList.get().add(SVGNames::maskTag.localName());
+        s_tagList.get().add(SVGNames::missing_glyphTag.localName());
+        s_tagList.get().add(SVGNames::pathTag.localName());
+        s_tagList.get().add(SVGNames::polygonTag.localName());
+        s_tagList.get().add(SVGNames::polylineTag.localName());
+        s_tagList.get().add(SVGNames::rectTag.localName());
+        s_tagList.get().add(SVGNames::svgTag.localName());
+        s_tagList.get().add(SVGNames::textTag.localName());
+        s_tagList.get().add(SVGNames::useTag.localName());
</ins><span class="cx"> 
</span><span class="cx">         // Not listed in the definitions is the clipPath element, the SVG spec says though:
</span><span class="cx">         // The &quot;clipPath&quot; element or any of its children can specify property &quot;clip-path&quot;.
</span><span class="cx">         // So we have to add clipPathTag here, otherwhise clip-path on clipPath will fail.
</span><span class="cx">         // (Already mailed SVG WG, waiting for a solution)
</span><del>-        s_tagList.add(SVGNames::clipPathTag.localName());
</del><ins>+        s_tagList.get().add(SVGNames::clipPathTag.localName());
</ins><span class="cx"> 
</span><span class="cx">         // Not listed in the definitions are the text content elements, though filter/clipper/masker on tspan/text/.. is allowed.
</span><span class="cx">         // (Already mailed SVG WG, waiting for a solution)
</span><del>-        s_tagList.add(SVGNames::altGlyphTag.localName());
-        s_tagList.add(SVGNames::textPathTag.localName());
-        s_tagList.add(SVGNames::trefTag.localName());
-        s_tagList.add(SVGNames::tspanTag.localName());
</del><ins>+        s_tagList.get().add(SVGNames::altGlyphTag.localName());
+        s_tagList.get().add(SVGNames::textPathTag.localName());
+        s_tagList.get().add(SVGNames::trefTag.localName());
+        s_tagList.get().add(SVGNames::tspanTag.localName());
</ins><span class="cx"> 
</span><span class="cx">         // Not listed in the definitions is the foreignObject element, but clip-path
</span><span class="cx">         // is a supported attribute.
</span><del>-        s_tagList.add(SVGNames::foreignObjectTag.localName());
</del><ins>+        s_tagList.get().add(SVGNames::foreignObjectTag.localName());
</ins><span class="cx"> 
</span><span class="cx">         // Elements that we ignore, as it doesn't make any sense.
</span><span class="cx">         // defs, pattern, switch (FIXME: Mail SVG WG about these)
</span><span class="lines">@@ -94,12 +94,12 @@
</span><span class="cx"> 
</span><span class="cx"> static HashSet&lt;AtomicString&gt;&amp; markerTags()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(HashSet&lt;AtomicString&gt;, s_tagList, ());
-    if (s_tagList.isEmpty()) {
-        s_tagList.add(SVGNames::lineTag.localName());
-        s_tagList.add(SVGNames::pathTag.localName());
-        s_tagList.add(SVGNames::polygonTag.localName());
-        s_tagList.add(SVGNames::polylineTag.localName());
</del><ins>+    static NeverDestroyed&lt;HashSet&lt;AtomicString&gt;&gt; s_tagList;
+    if (s_tagList.get().isEmpty()) {
+        s_tagList.get().add(SVGNames::lineTag.localName());
+        s_tagList.get().add(SVGNames::pathTag.localName());
+        s_tagList.get().add(SVGNames::polygonTag.localName());
+        s_tagList.get().add(SVGNames::polylineTag.localName());
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     return s_tagList;
</span><span class="lines">@@ -107,20 +107,20 @@
</span><span class="cx"> 
</span><span class="cx"> static HashSet&lt;AtomicString&gt;&amp; fillAndStrokeTags()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(HashSet&lt;AtomicString&gt;, s_tagList, ());
-    if (s_tagList.isEmpty()) {
-        s_tagList.add(SVGNames::altGlyphTag.localName());
-        s_tagList.add(SVGNames::circleTag.localName());
-        s_tagList.add(SVGNames::ellipseTag.localName());
-        s_tagList.add(SVGNames::lineTag.localName());
-        s_tagList.add(SVGNames::pathTag.localName());
-        s_tagList.add(SVGNames::polygonTag.localName());
-        s_tagList.add(SVGNames::polylineTag.localName());
-        s_tagList.add(SVGNames::rectTag.localName());
-        s_tagList.add(SVGNames::textTag.localName());
-        s_tagList.add(SVGNames::textPathTag.localName());
-        s_tagList.add(SVGNames::trefTag.localName());
-        s_tagList.add(SVGNames::tspanTag.localName());
</del><ins>+    static NeverDestroyed&lt;HashSet&lt;AtomicString&gt;&gt; s_tagList;
+    if (s_tagList.get().isEmpty()) {
+        s_tagList.get().add(SVGNames::altGlyphTag.localName());
+        s_tagList.get().add(SVGNames::circleTag.localName());
+        s_tagList.get().add(SVGNames::ellipseTag.localName());
+        s_tagList.get().add(SVGNames::lineTag.localName());
+        s_tagList.get().add(SVGNames::pathTag.localName());
+        s_tagList.get().add(SVGNames::polygonTag.localName());
+        s_tagList.get().add(SVGNames::polylineTag.localName());
+        s_tagList.get().add(SVGNames::rectTag.localName());
+        s_tagList.get().add(SVGNames::textTag.localName());
+        s_tagList.get().add(SVGNames::textPathTag.localName());
+        s_tagList.get().add(SVGNames::trefTag.localName());
+        s_tagList.get().add(SVGNames::tspanTag.localName());
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     return s_tagList;
</span><span class="lines">@@ -128,12 +128,12 @@
</span><span class="cx"> 
</span><span class="cx"> static HashSet&lt;AtomicString&gt;&amp; chainableResourceTags()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(HashSet&lt;AtomicString&gt;, s_tagList, ());
-    if (s_tagList.isEmpty()) {
-        s_tagList.add(SVGNames::linearGradientTag.localName());
-        s_tagList.add(SVGNames::filterTag.localName());
-        s_tagList.add(SVGNames::patternTag.localName());
-        s_tagList.add(SVGNames::radialGradientTag.localName());
</del><ins>+    static NeverDestroyed&lt;HashSet&lt;AtomicString&gt;&gt; s_tagList;
+    if (s_tagList.get().isEmpty()) {
+        s_tagList.get().add(SVGNames::linearGradientTag.localName());
+        s_tagList.get().add(SVGNames::filterTag.localName());
+        s_tagList.get().add(SVGNames::patternTag.localName());
+        s_tagList.get().add(SVGNames::radialGradientTag.localName());
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     return s_tagList;
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGAnglecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGAngle.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGAngle.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/svg/SVGAngle.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -25,6 +25,7 @@
</span><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><span class="cx"> #include &quot;SVGParserUtilities.h&quot;
</span><span class="cx"> #include &lt;wtf/MathExtras.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/StringView.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -112,16 +113,16 @@
</span><span class="cx"> {
</span><span class="cx">     switch (m_unitType) {
</span><span class="cx">     case SVG_ANGLETYPE_DEG: {
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(String, degString, (ASCIILiteral(&quot;deg&quot;)));
-        return String::number(m_valueInSpecifiedUnits) + degString;
</del><ins>+        static NeverDestroyed&lt;String&gt; degString(ASCIILiteral(&quot;deg&quot;));
+        return String::number(m_valueInSpecifiedUnits) + degString.get();
</ins><span class="cx">     }
</span><span class="cx">     case SVG_ANGLETYPE_RAD: {
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(String, radString, (ASCIILiteral(&quot;rad&quot;)));
-        return String::number(m_valueInSpecifiedUnits) + radString;
</del><ins>+        static NeverDestroyed&lt;String&gt; radString(ASCIILiteral(&quot;rad&quot;));
+        return String::number(m_valueInSpecifiedUnits) + radString.get();
</ins><span class="cx">     }
</span><span class="cx">     case SVG_ANGLETYPE_GRAD: {
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(String, gradString, (ASCIILiteral(&quot;grad&quot;)));
-        return String::number(m_valueInSpecifiedUnits) + gradString;
</del><ins>+        static NeverDestroyed&lt;String&gt; gradString(ASCIILiteral(&quot;grad&quot;));
+        return String::number(m_valueInSpecifiedUnits) + gradString.get();
</ins><span class="cx">     }
</span><span class="cx">     case SVG_ANGLETYPE_UNSPECIFIED:
</span><span class="cx">     case SVG_ANGLETYPE_UNKNOWN:
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGAnimateColorElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGAnimateColorElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGAnimateColorElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/svg/SVGAnimateColorElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx"> 
</span><span class="cx"> static bool attributeValueIsCurrentColor(const String&amp; value)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, currentColor, (&quot;currentColor&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; currentColor(&quot;currentColor&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return value == currentColor;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGAnimateMotionElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGAnimateMotionElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGAnimateMotionElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/svg/SVGAnimateMotionElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -108,8 +108,8 @@
</span><span class="cx">     
</span><span class="cx"> SVGAnimateMotionElement::RotateMode SVGAnimateMotionElement::rotateMode() const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, autoVal, (&quot;auto&quot;, AtomicString::ConstructFromLiteral));
-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, autoReverse, (&quot;auto-reverse&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; autoVal(&quot;auto&quot;, AtomicString::ConstructFromLiteral);
+    static NeverDestroyed&lt;const AtomicString&gt; autoReverse(&quot;auto-reverse&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     const AtomicString&amp; rotate = getAttribute(SVGNames::rotateAttr);
</span><span class="cx">     if (rotate == autoVal)
</span><span class="cx">         return RotateAuto;
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGAnimationElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGAnimationElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGAnimationElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/svg/SVGAnimationElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -286,10 +286,10 @@
</span><span class="cx"> 
</span><span class="cx"> void SVGAnimationElement::setCalcMode(const AtomicString&amp; calcMode)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, discrete, (&quot;discrete&quot;, AtomicString::ConstructFromLiteral));
-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, linear, (&quot;linear&quot;, AtomicString::ConstructFromLiteral));
-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, paced, (&quot;paced&quot;, AtomicString::ConstructFromLiteral));
-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, spline, (&quot;spline&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; discrete(&quot;discrete&quot;, AtomicString::ConstructFromLiteral);
+    static NeverDestroyed&lt;const AtomicString&gt; linear(&quot;linear&quot;, AtomicString::ConstructFromLiteral);
+    static NeverDestroyed&lt;const AtomicString&gt; paced(&quot;paced&quot;, AtomicString::ConstructFromLiteral);
+    static NeverDestroyed&lt;const AtomicString&gt; spline(&quot;spline&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     if (calcMode == discrete)
</span><span class="cx">         setCalcMode(CalcModeDiscrete);
</span><span class="cx">     else if (calcMode == linear)
</span><span class="lines">@@ -304,8 +304,8 @@
</span><span class="cx"> 
</span><span class="cx"> void SVGAnimationElement::setAttributeType(const AtomicString&amp; attributeType)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, css, (&quot;CSS&quot;, AtomicString::ConstructFromLiteral));
-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, xml, (&quot;XML&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; css(&quot;CSS&quot;, AtomicString::ConstructFromLiteral);
+    static NeverDestroyed&lt;const AtomicString&gt; xml(&quot;XML&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     if (attributeType == css)
</span><span class="cx">         m_attributeType = AttributeTypeCSS;
</span><span class="cx">     else if (attributeType == xml)
</span><span class="lines">@@ -332,14 +332,14 @@
</span><span class="cx"> 
</span><span class="cx"> bool SVGAnimationElement::isAdditive() const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, sum, (&quot;sum&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; sum(&quot;sum&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     const AtomicString&amp; value = fastGetAttribute(SVGNames::additiveAttr);
</span><span class="cx">     return value == sum || animationMode() == ByAnimation;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool SVGAnimationElement::isAccumulated() const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, sum, (&quot;sum&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; sum(&quot;sum&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     const AtomicString&amp; value = fastGetAttribute(SVGNames::accumulateAttr);
</span><span class="cx">     return value == sum &amp;&amp; animationMode() != ToAnimation;
</span><span class="cx"> }
</span><span class="lines">@@ -656,7 +656,7 @@
</span><span class="cx"> 
</span><span class="cx"> static bool inheritsFromProperty(SVGElement*, const QualifiedName&amp; attributeName, const String&amp; value)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, inherit, (&quot;inherit&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; inherit(&quot;inherit&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     
</span><span class="cx">     if (value.isEmpty() || value != inherit)
</span><span class="cx">         return false;
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFEConvolveMatrixElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFEConvolveMatrixElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFEConvolveMatrixElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/svg/SVGFEConvolveMatrixElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -75,25 +75,25 @@
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; SVGFEConvolveMatrixElement::kernelUnitLengthXIdentifier()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, (&quot;SVGKernelUnitLengthX&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; s_identifier(&quot;SVGKernelUnitLengthX&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return s_identifier;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; SVGFEConvolveMatrixElement::kernelUnitLengthYIdentifier()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, (&quot;SVGKernelUnitLengthY&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; s_identifier(&quot;SVGKernelUnitLengthY&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return s_identifier;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; SVGFEConvolveMatrixElement::orderXIdentifier()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, (&quot;SVGOrderX&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; s_identifier(&quot;SVGOrderX&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return s_identifier;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; SVGFEConvolveMatrixElement::orderYIdentifier()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, (&quot;SVGOrderY&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; s_identifier(&quot;SVGOrderY&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return s_identifier;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFEDiffuseLightingElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFEDiffuseLightingElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFEDiffuseLightingElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/svg/SVGFEDiffuseLightingElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -63,13 +63,13 @@
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; SVGFEDiffuseLightingElement::kernelUnitLengthXIdentifier()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, (&quot;SVGKernelUnitLengthX&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; s_identifier(&quot;SVGKernelUnitLengthX&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return s_identifier;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; SVGFEDiffuseLightingElement::kernelUnitLengthYIdentifier()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, (&quot;SVGKernelUnitLengthY&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; s_identifier(&quot;SVGKernelUnitLengthY&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return s_identifier;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFEDropShadowElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFEDropShadowElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFEDropShadowElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/svg/SVGFEDropShadowElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -62,13 +62,13 @@
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; SVGFEDropShadowElement::stdDeviationXIdentifier()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, (&quot;SVGStdDeviationX&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; s_identifier(&quot;SVGStdDeviationX&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return s_identifier;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; SVGFEDropShadowElement::stdDeviationYIdentifier()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, (&quot;SVGStdDeviationY&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; s_identifier(&quot;SVGStdDeviationY&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return s_identifier;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFEGaussianBlurElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFEGaussianBlurElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFEGaussianBlurElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/svg/SVGFEGaussianBlurElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -57,13 +57,13 @@
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; SVGFEGaussianBlurElement::stdDeviationXIdentifier()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, (&quot;SVGStdDeviationX&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; s_identifier(&quot;SVGStdDeviationX&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return s_identifier;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; SVGFEGaussianBlurElement::stdDeviationYIdentifier()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, (&quot;SVGStdDeviationY&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; s_identifier(&quot;SVGStdDeviationY&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return s_identifier;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFEMorphologyElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFEMorphologyElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFEMorphologyElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/svg/SVGFEMorphologyElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -56,13 +56,13 @@
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; SVGFEMorphologyElement::radiusXIdentifier()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, (&quot;SVGRadiusX&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; s_identifier(&quot;SVGRadiusX&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return s_identifier;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; SVGFEMorphologyElement::radiusYIdentifier()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, (&quot;SVGRadiusY&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; s_identifier(&quot;SVGRadiusY&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return s_identifier;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFESpecularLightingElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFESpecularLightingElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFESpecularLightingElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/svg/SVGFESpecularLightingElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -67,13 +67,13 @@
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; SVGFESpecularLightingElement::kernelUnitLengthXIdentifier()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, (&quot;SVGKernelUnitLengthX&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; s_identifier(&quot;SVGKernelUnitLengthX&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return s_identifier;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; SVGFESpecularLightingElement::kernelUnitLengthYIdentifier()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, (&quot;SVGKernelUnitLengthY&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; s_identifier(&quot;SVGKernelUnitLengthY&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return s_identifier;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFETurbulenceElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFETurbulenceElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFETurbulenceElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/svg/SVGFETurbulenceElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -61,13 +61,13 @@
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; SVGFETurbulenceElement::baseFrequencyXIdentifier()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, (&quot;SVGBaseFrequencyX&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; s_identifier(&quot;SVGBaseFrequencyX&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return s_identifier;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; SVGFETurbulenceElement::baseFrequencyYIdentifier()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, (&quot;SVGBaseFrequencyY&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; s_identifier(&quot;SVGBaseFrequencyY&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return s_identifier;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFilterElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFilterElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFilterElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/svg/SVGFilterElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -82,13 +82,13 @@
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; SVGFilterElement::filterResXIdentifier()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, (&quot;SVGFilterResX&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; s_identifier(&quot;SVGFilterResX&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return s_identifier;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; SVGFilterElement::filterResYIdentifier()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, (&quot;SVGFilterResY&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; s_identifier(&quot;SVGFilterResY&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return s_identifier;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGGlyphMaph"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGGlyphMap.h (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGGlyphMap.h        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/svg/SVGGlyphMap.h        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -143,7 +143,7 @@
</span><span class="cx">     const SVGGlyph&amp; svgGlyphForGlyph(Glyph glyph) const
</span><span class="cx">     {
</span><span class="cx">         if (!glyph || glyph &gt; m_glyphTable.size()) {
</span><del>-            DEPRECATED_DEFINE_STATIC_LOCAL(SVGGlyph, defaultGlyph, ());
</del><ins>+            static NeverDestroyed&lt;SVGGlyph&gt; defaultGlyph;
</ins><span class="cx">             return defaultGlyph;
</span><span class="cx">         }
</span><span class="cx">         return m_glyphTable[glyph - 1];
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGLangSpacecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGLangSpace.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGLangSpace.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/svg/SVGLangSpace.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx"> const AtomicString&amp; SVGLangSpace::xmlspace() const
</span><span class="cx"> {
</span><span class="cx">     if (!m_space) {
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, defaultString, (&quot;default&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+        static NeverDestroyed&lt;const AtomicString&gt; defaultString(&quot;default&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">         return defaultString;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -62,7 +62,7 @@
</span><span class="cx">     
</span><span class="cx"> void SVGLangSpace::addSupportedAttributes(HashSet&lt;QualifiedName&gt;&amp; supportedAttributes)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, xmlPrefix, (&quot;xml&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; xmlPrefix(&quot;xml&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx"> 
</span><span class="cx">     QualifiedName langWithPrefix = XMLNames::langAttr;
</span><span class="cx">     langWithPrefix.setPrefix(xmlPrefix);
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGMarkerElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGMarkerElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGMarkerElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/svg/SVGMarkerElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -90,13 +90,13 @@
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; SVGMarkerElement::orientTypeIdentifier()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, (&quot;SVGOrientType&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; s_identifier(&quot;SVGOrientType&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return s_identifier;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; SVGMarkerElement::orientAngleIdentifier()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, (&quot;SVGOrientAngle&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; s_identifier(&quot;SVGOrientAngle&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return s_identifier;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -237,7 +237,7 @@
</span><span class="cx">     if (ownerType.m_orientType.value != SVGMarkerOrientAuto)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, autoString, (&quot;auto&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; autoString(&quot;auto&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     ownerType.m_orientType.synchronize(&amp;ownerType, orientTypePropertyInfo()-&gt;attributeName, autoString);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGStyleElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGStyleElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGStyleElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/svg/SVGStyleElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -62,9 +62,9 @@
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; SVGStyleElement::type() const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, defaultValue, (&quot;text/css&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; defaultValue(&quot;text/css&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     const AtomicString&amp; n = getAttribute(SVGNames::typeAttr);
</span><del>-    return n.isNull() ? defaultValue : n;
</del><ins>+    return n.isNull() ? defaultValue.get() : n;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void SVGStyleElement::setType(const AtomicString&amp; type, ExceptionCode&amp;)
</span><span class="lines">@@ -74,9 +74,9 @@
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; SVGStyleElement::media() const
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, defaultValue, (&quot;all&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; defaultValue(&quot;all&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     const AtomicString&amp; n = fastGetAttribute(SVGNames::mediaAttr);
</span><del>-    return n.isNull() ? defaultValue : n;
</del><ins>+    return n.isNull() ? defaultValue.get() : n;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void SVGStyleElement::setMedia(const AtomicString&amp; media, ExceptionCode&amp;)
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGTransformcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGTransform.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGTransform.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/svg/SVGTransform.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -26,6 +26,7 @@
</span><span class="cx"> #include &quot;FloatSize.h&quot;
</span><span class="cx"> #include &quot;SVGAngle.h&quot;
</span><span class="cx"> #include &lt;wtf/MathExtras.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/StringBuilder.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -134,27 +135,27 @@
</span><span class="cx">     case SVG_TRANSFORM_UNKNOWN:
</span><span class="cx">         return emptyString();
</span><span class="cx">     case SVG_TRANSFORM_MATRIX: {
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(String, matrixString, (ASCIILiteral(&quot;matrix(&quot;)));
</del><ins>+        static NeverDestroyed&lt;String&gt; matrixString(ASCIILiteral(&quot;matrix(&quot;));
</ins><span class="cx">         return matrixString;
</span><span class="cx">     }
</span><span class="cx">     case SVG_TRANSFORM_TRANSLATE: {
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(String, translateString, (ASCIILiteral(&quot;translate(&quot;)));
</del><ins>+        static NeverDestroyed&lt;String&gt; translateString(ASCIILiteral(&quot;translate(&quot;));
</ins><span class="cx">         return translateString;
</span><span class="cx">     }
</span><span class="cx">     case SVG_TRANSFORM_SCALE: {
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(String, scaleString, (ASCIILiteral(&quot;scale(&quot;)));
</del><ins>+        static NeverDestroyed&lt;String&gt; scaleString(ASCIILiteral(&quot;scale(&quot;));
</ins><span class="cx">         return scaleString;
</span><span class="cx">     }
</span><span class="cx">     case SVG_TRANSFORM_ROTATE: {
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(String, rotateString, (ASCIILiteral(&quot;rotate(&quot;)));
</del><ins>+        static NeverDestroyed&lt;String&gt; rotateString(ASCIILiteral(&quot;rotate(&quot;));
</ins><span class="cx">         return rotateString;
</span><span class="cx">     }    
</span><span class="cx">     case SVG_TRANSFORM_SKEWX: {
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(String, skewXString, (ASCIILiteral(&quot;skewX(&quot;)));
</del><ins>+        static NeverDestroyed&lt;String&gt; skewXString(ASCIILiteral(&quot;skewX(&quot;));
</ins><span class="cx">         return skewXString;
</span><span class="cx">     }
</span><span class="cx">     case SVG_TRANSFORM_SKEWY: {
</span><del>-        DEPRECATED_DEFINE_STATIC_LOCAL(String, skewYString, (ASCIILiteral(&quot;skewY(&quot;)));
</del><ins>+        static NeverDestroyed&lt;String&gt; skewYString(ASCIILiteral(&quot;skewY(&quot;));
</ins><span class="cx">         return skewYString;
</span><span class="cx">     }
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGViewSpeccpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGViewSpec.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGViewSpec.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/svg/SVGViewSpec.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -84,19 +84,19 @@
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; SVGViewSpec::viewBoxIdentifier()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, (&quot;SVGViewSpecViewBoxAttribute&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; s_identifier(&quot;SVGViewSpecViewBoxAttribute&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return s_identifier;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; SVGViewSpec::preserveAspectRatioIdentifier()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, (&quot;SVGViewSpecPreserveAspectRatioAttribute&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; s_identifier(&quot;SVGViewSpecPreserveAspectRatioAttribute&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return s_identifier;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const AtomicString&amp; SVGViewSpec::transformIdentifier()
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, (&quot;SVGViewSpecTransformAttribute&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;AtomicString&gt; s_identifier(&quot;SVGViewSpecTransformAttribute&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     return s_identifier;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvganimationSVGSMILElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/animation/SVGSMILElement.cpp (194818 => 194819)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/animation/SVGSMILElement.cpp        2016-01-09 06:32:23 UTC (rev 194818)
+++ trunk/Source/WebCore/svg/animation/SVGSMILElement.cpp        2016-01-09 13:13:41 UTC (rev 194819)
</span><span class="lines">@@ -329,7 +329,7 @@
</span><span class="cx">     
</span><span class="cx">     String parse = data.stripWhiteSpace();
</span><span class="cx"> 
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, indefiniteValue, (&quot;indefinite&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; indefiniteValue(&quot;indefinite&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     if (parse == indefiniteValue)
</span><span class="cx">         return SMILTime::indefinite();
</span><span class="cx"> 
</span><span class="lines">@@ -452,19 +452,19 @@
</span><span class="cx"> 
</span><span class="cx"> bool SVGSMILElement::isSupportedAttribute(const QualifiedName&amp; attrName)
</span><span class="cx"> {
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(HashSet&lt;QualifiedName&gt;, supportedAttributes, ());
-    if (supportedAttributes.isEmpty()) {
-        supportedAttributes.add(SVGNames::beginAttr);
-        supportedAttributes.add(SVGNames::endAttr);
-        supportedAttributes.add(SVGNames::durAttr);
-        supportedAttributes.add(SVGNames::repeatDurAttr);
-        supportedAttributes.add(SVGNames::repeatCountAttr);
-        supportedAttributes.add(SVGNames::minAttr);
-        supportedAttributes.add(SVGNames::maxAttr);
-        supportedAttributes.add(SVGNames::attributeNameAttr);
-        supportedAttributes.add(XLinkNames::hrefAttr);
</del><ins>+    static NeverDestroyed&lt;HashSet&lt;QualifiedName&gt;&gt; supportedAttributes;
+    if (supportedAttributes.get().isEmpty()) {
+        supportedAttributes.get().add(SVGNames::beginAttr);
+        supportedAttributes.get().add(SVGNames::endAttr);
+        supportedAttributes.get().add(SVGNames::durAttr);
+        supportedAttributes.get().add(SVGNames::repeatDurAttr);
+        supportedAttributes.get().add(SVGNames::repeatCountAttr);
+        supportedAttributes.get().add(SVGNames::minAttr);
+        supportedAttributes.get().add(SVGNames::maxAttr);
+        supportedAttributes.get().add(SVGNames::attributeNameAttr);
+        supportedAttributes.get().add(XLinkNames::hrefAttr);
</ins><span class="cx">     }
</span><del>-    return supportedAttributes.contains&lt;SVGAttributeHashTranslator&gt;(attrName);
</del><ins>+    return supportedAttributes.get().contains&lt;SVGAttributeHashTranslator&gt;(attrName);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void SVGSMILElement::parseAttribute(const QualifiedName&amp; name, const AtomicString&amp; value)
</span><span class="lines">@@ -643,8 +643,8 @@
</span><span class="cx">     
</span><span class="cx"> SVGSMILElement::Restart SVGSMILElement::restart() const
</span><span class="cx"> {    
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, never, (&quot;never&quot;, AtomicString::ConstructFromLiteral));
-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, whenNotActive, (&quot;whenNotActive&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; never(&quot;never&quot;, AtomicString::ConstructFromLiteral);
+    static NeverDestroyed&lt;const AtomicString&gt; whenNotActive(&quot;whenNotActive&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     const AtomicString&amp; value = fastGetAttribute(SVGNames::restartAttr);
</span><span class="cx">     if (value == never)
</span><span class="cx">         return RestartNever;
</span><span class="lines">@@ -655,7 +655,7 @@
</span><span class="cx">     
</span><span class="cx"> SVGSMILElement::FillMode SVGSMILElement::fill() const
</span><span class="cx"> {   
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, freeze, (&quot;freeze&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; freeze(&quot;freeze&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     const AtomicString&amp; value = fastGetAttribute(SVGNames::fillAttr);
</span><span class="cx">     return value == freeze ? FillFreeze : FillRemove;
</span><span class="cx"> }
</span><span class="lines">@@ -688,7 +688,7 @@
</span><span class="cx">     if (value.isNull())
</span><span class="cx">         return SMILTime::unresolved();
</span><span class="cx"> 
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, indefiniteValue, (&quot;indefinite&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    static NeverDestroyed&lt;const AtomicString&gt; indefiniteValue(&quot;indefinite&quot;, AtomicString::ConstructFromLiteral);
</ins><span class="cx">     if (value == indefiniteValue)
</span><span class="cx">         return SMILTime::indefinite();
</span><span class="cx">     bool ok;
</span><span class="lines">@@ -1143,16 +1143,16 @@
</span><span class="cx"> void SVGSMILElement::notifyDependentsIntervalChanged(NewOrExistingInterval newOrExisting)
</span><span class="cx"> {
</span><span class="cx">     ASSERT(m_intervalBegin.isFinite());
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(HashSet&lt;SVGSMILElement*&gt;, loopBreaker, ());
-    if (loopBreaker.contains(this))
</del><ins>+    static NeverDestroyed&lt;HashSet&lt;SVGSMILElement*&gt;&gt; loopBreaker;
+    if (loopBreaker.get().contains(this))
</ins><span class="cx">         return;
</span><del>-    loopBreaker.add(this);
</del><ins>+    loopBreaker.get().add(this);
</ins><span class="cx">     
</span><span class="cx">     for (auto&amp; dependent : m_timeDependents) {
</span><span class="cx">         dependent-&gt;createInstanceTimesFromSyncbase(this, newOrExisting);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    loopBreaker.remove(this);
</del><ins>+    loopBreaker.get().remove(this);
</ins><span class="cx"> }
</span><span class="cx">     
</span><span class="cx"> void SVGSMILElement::createInstanceTimesFromSyncbase(SVGSMILElement* syncbase, NewOrExistingInterval)
</span></span></pre>
</div>
</div>

</body>
</html>