<!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
<https://webkit.org/b/152902>
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 "JSCallbackObject.h"
</span><span class="cx"> #include "JSVirtualMachineInternal.h"
</span><span class="cx"> #include "Structure.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</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 &jsWrapperObjectHandleOwner;
</del><ins>+ static NeverDestroyed<JSAPIWrapperObjectHandleOwner> jsWrapperObjectHandleOwner;
+ return &jsWrapperObjectHandleOwner.get();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void JSAPIWrapperObjectHandleOwner::finalize(JSC::Handle<JSC::Unknown> 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 "WeakHandleOwner.h"
</span><span class="cx"> #import "ObjcRuntimeExtras.h"
</span><span class="cx"> #import "JSCInlines.h"
</span><ins>+#import <wtf/NeverDestroyed.h>
</ins><span class="cx"> #import <wtf/spi/cocoa/NSMapTableSPI.h>
</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 &jsManagedValueHandleOwner;
</del><ins>+ static NeverDestroyed<JSManagedValueHandleOwner> jsManagedValueHandleOwner;
+ return &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 <akling@apple.com>
+
+ Use NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL
+ <https://webkit.org/b/152902>
+
+ 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 <fpizlo@apple.com>
</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 "ScriptDebugServer.h"
</span><span class="cx"> #include "ScriptObject.h"
</span><span class="cx"> #include "ScriptValue.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/Stopwatch.h>
</span><span class="cx"> #include <wtf/text/WTFString.h>
</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& action)
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, objectGroup, ("breakpoint-action-", AtomicString::ConstructFromLiteral));
- return makeString(objectGroup, String::number(action.identifier));
</del><ins>+ static NeverDestroyed<String> objectGroup(ASCIILiteral("breakpoint-action-"));
+ return makeString(objectGroup.get(), String::number(action.identifier));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> InspectorDebuggerAgent::InspectorDebuggerAgent(AgentContext& 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<PageReservation, 16> reservations;
</span><span class="cx"> static HashSet<DemandExecutableAllocator*>& allocators()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(HashSet<DemandExecutableAllocator*>, sAllocators, ());
- return sAllocators;
</del><ins>+ static NeverDestroyed<HashSet<DemandExecutableAllocator*>> set;
+ return set;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static StaticLock& 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 <akling@apple.com>
+
+ Use NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL
+ <https://webkit.org/b/152902>
+
+ 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 <andersca@apple.com>
</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 "config.h"
</span><span class="cx"> #include "RunLoop.h"
</span><span class="cx">
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/StdLibExtras.h>
</span><span class="cx"> #include <wtf/ThreadSpecific.h>
</span><span class="cx">
</span><span class="lines">@@ -56,8 +57,8 @@
</span><span class="cx">
</span><span class="cx"> RunLoop& RunLoop::current()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(WTF::ThreadSpecific<RunLoop::Holder>, runLoopHolder, ());
- return runLoopHolder->runLoop();
</del><ins>+ static NeverDestroyed<ThreadSpecific<Holder>> runLoopHolder;
+ return runLoopHolder.get()->runLoop();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> RunLoop& 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 "ThreadIdentifierDataPthreads.h"
</span><span class="cx"> #include "ThreadSpecific.h"
</span><span class="cx"> #include <wtf/DataLog.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/RawPointer.h>
</span><span class="cx"> #include <wtf/WTFThreadData.h>
</span><span class="cx"> #include <errno.h>
</span><span class="lines">@@ -99,7 +100,7 @@
</span><span class="cx">
</span><span class="cx"> static Mutex& threadMapMutex()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Mutex, mutex, ());
</del><ins>+ static NeverDestroyed<Mutex> 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& threadMap()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(ThreadMap, map, ());
</del><ins>+ static NeverDestroyed<ThreadMap> 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 <akling@apple.com>
+
+ Use NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL
+ <https://webkit.org/b/152902>
+
+ 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 <zalan@apple.com>
</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 "config.h"
</span><span class="cx"> #include "WebKitPlaybackTargetAvailabilityEvent.h"
</span><span class="cx">
</span><ins>+#include <wtf/NeverDestroyed.h>
+
</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& stringForPlaybackTargetAvailability(bool available)
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, availableString, ("available", AtomicString::ConstructFromLiteral));
- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, notAvailableString, ("not-available", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> availableString("available", AtomicString::ConstructFromLiteral);
+ static NeverDestroyed<AtomicString> notAvailableString("not-available", 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 "ExceptionCode.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</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& IDBCursor::directionNext()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, next, ("next", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> next("next", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return next;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& IDBCursor::directionNextUnique()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, nextunique, ("nextunique", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> nextunique("nextunique", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return nextunique;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& IDBCursor::directionPrev()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, prev, ("prev", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> prev("prev", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return prev;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& IDBCursor::directionPrevUnique()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, prevunique, ("prevunique", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> prevunique("prevunique", 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 "ExceptionCode.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</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& IDBTransaction::modeReadOnly()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, readonly, ("readonly", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> readonly("readonly", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return readonly;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& IDBTransaction::modeReadWrite()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, readwrite, ("readwrite", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> readwrite("readwrite", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return readwrite;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& IDBTransaction::modeVersionChange()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, versionchange, ("versionchange", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> versionchange("versionchange", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return versionchange;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& IDBTransaction::modeReadOnlyLegacy()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, readonly, ("0", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> readonly("0", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return readonly;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& IDBTransaction::modeReadWriteLegacy()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, readwrite, ("1", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> readwrite("1", 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 "Logging.h"
</span><span class="cx"> #include "ScriptExecutionContext.h"
</span><span class="cx"> #include "SharedBuffer.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</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& 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, ("pending", AtomicString::ConstructFromLiteral));
- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, done, ("done", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> pending("pending", AtomicString::ConstructFromLiteral);
+ static NeverDestroyed<AtomicString> done("done", 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& MediaControlsHost::automaticKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, automatic, ("automatic", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> automatic("automatic", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return automatic;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& MediaControlsHost::forcedOnlyKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, forcedOn, ("forced-only", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> forcedOn("forced-only", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return forcedOn;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& MediaControlsHost::alwaysOnKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, alwaysOn, ("always-on", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> alwaysOn("always-on", 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("none")));
</del><ins>+ static NeverDestroyed<String> none(ASCIILiteral("none"));
</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("airplay")));
- DEPRECATED_DEFINE_STATIC_LOCAL(String, tvout, (ASCIILiteral("tvout")));
</del><ins>+ static NeverDestroyed<String> airplay(ASCIILiteral("airplay"));
+ static NeverDestroyed<String> tvout(ASCIILiteral("tvout"));
</ins><span class="cx">
</span><span class="cx"> MediaPlayer* player = m_mediaElement->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& MediaSource::openKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, open, ("open", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> open("open", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return open;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& MediaSource::closedKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, closed, ("closed", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> closed("closed", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return closed;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& MediaSource::endedKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, ended, ("ended", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> ended("ended", 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& error, ExceptionCode& ec)
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, network, ("network", AtomicString::ConstructFromLiteral));
- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, decode, ("decode", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> network("network", AtomicString::ConstructFromLiteral);
+ static NeverDestroyed<const AtomicString> decode("decode", AtomicString::ConstructFromLiteral);
</ins><span class="cx">
</span><span class="cx"> LOG(MediaSource, "MediaSource::streamEndedWithError(%p) : %s", 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<String> 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"> "audio/x-m4r", "audio/x-mp3", "audio/x-mpeg", "audio/x-mpeg3", "audio/x-mpegurl", "audio/x-scpls", "audio/x-wav",
</span><span class="cx"> "video/3gpp", "video/3gpp2", "video/mp4", "video/quicktime", "video/x-m4v"
</span><span class="cx"> };
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(HashSet<String>, typeHash, ());
- if (!typeHash.size()) {
</del><ins>+ static NeverDestroyed<HashSet<String>> typeHash;
+ if (!typeHash.get().size()) {
</ins><span class="cx"> for (size_t i = 0; i < 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& extension)
</span><span class="lines">@@ -105,13 +105,13 @@
</span><span class="cx"> "m3u8", "m4a", "m4b", "m4p", "m4r", "m4v", "mov", "mp3", "mp3", "mp4", "mpeg", "mpg", "mqv", "pls", "qt",
</span><span class="cx"> "snd", "swa", "ts", "ulw", "wav"
</span><span class="cx"> };
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(HashSet<String>, extensionHash, ());
- if (!extensionHash.size()) {
</del><ins>+ static NeverDestroyed<HashSet<String>> extensionHash;
+ if (!extensionHash.get().size()) {
</ins><span class="cx"> for (size_t i = 0; i < 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& plugin, const Vector<String>& paramNames, const Vector<String>& 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 "SpeechSynthesisEvent.h"
</span><span class="cx"> #include "SpeechSynthesisUtterance.h"
</span><span class="cx"> #include <wtf/CurrentTime.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</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<PlatformSpeechSynthesisUtterance> utterance, SpeechBoundary boundary, unsigned charIndex)
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const String, wordBoundaryString, (ASCIILiteral("word")));
- DEPRECATED_DEFINE_STATIC_LOCAL(const String, sentenceBoundaryString, (ASCIILiteral("sentence")));
</del><ins>+ static NeverDestroyed<const String> wordBoundaryString(ASCIILiteral("word"));
+ static NeverDestroyed<const String> sentenceBoundaryString(ASCIILiteral("sentence"));
</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<String, CSSPropertyInfo> CSSPropertyInfoMap;
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(CSSPropertyInfoMap, propertyInfoCache, ());
- propertyInfo = propertyInfoCache.get(stringForCache);
</del><ins>+ static NeverDestroyed<CSSPropertyInfoMap> 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<CSSPropertyID>(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 <runtime/JSLock.h>
</span><span class="cx"> #include <runtime/PropertyNameArray.h>
</span><span class="cx"> #include <wtf/Assertions.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/StdLibExtras.h>
</span><span class="cx"> #include <wtf/StringExtras.h>
</span><span class="cx"> #include <wtf/Vector.h>
</span><span class="lines">@@ -56,7 +57,7 @@
</span><span class="cx">
</span><span class="cx"> static String& globalExceptionString()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(String, exceptionStr, ());
</del><ins>+ static NeverDestroyed<String> 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 "MediaQuery.h"
</span><span class="cx"> #include "MediaQueryExp.h"
</span><span class="cx"> #include "ScriptableDocumentParser.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/text/StringBuilder.h>
</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("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: ")));
- DEPRECATED_DEFINE_STATIC_LOCAL(String, mediaValueDPI, (ASCIILiteral("dpi")));
- DEPRECATED_DEFINE_STATIC_LOCAL(String, mediaValueDPCM, (ASCIILiteral("dpcm")));
- DEPRECATED_DEFINE_STATIC_LOCAL(String, lengthUnitInch, (ASCIILiteral("inch")));
- DEPRECATED_DEFINE_STATIC_LOCAL(String, lengthUnitCentimeter, (ASCIILiteral("centimeter")));
</del><ins>+ static NeverDestroyed<String> mediaQueryMessage(ASCIILiteral("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: "));
+ static NeverDestroyed<String> mediaValueDPI(ASCIILiteral("dpi"));
+ static NeverDestroyed<String> mediaValueDPCM(ASCIILiteral("dpcm"));
+ static NeverDestroyed<String> lengthUnitInch(ASCIILiteral("inch"));
+ static NeverDestroyed<String> lengthUnitCentimeter(ASCIILiteral("centimeter"));
</ins><span class="cx">
</span><span class="cx"> String message;
</span><span class="cx"> if (value->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 "StyleRule.h"
</span><span class="cx"> #include "StyleRuleImport.h"
</span><span class="cx"> #include <wtf/Deque.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/Ref.h>
</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 && isStrictParserMode(m_parserContext.mode)) {
</span><span class="cx"> // Work around <https://bugs.webkit.org/show_bug.cgi?id=28350>.
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const String, mediaWikiKHTMLFixesStyleSheet, (ASCIILiteral("/* KHTML fix stylesheet */\n/* work around the horizontal scrollbars */\n#column-content { margin-left: 0; }\n\n")));
</del><ins>+ static NeverDestroyed<const String> mediaWikiKHTMLFixesStyleSheet(ASCIILiteral("/* KHTML fix stylesheet */\n/* work around the horizontal scrollbars */\n#column-content { margin-left: 0; }\n\n"));
</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("/KHTMLFixes.css") && !sheetText.isNull() && mediaWikiKHTMLFixesStyleSheet.startsWith(sheetText)
- && sheetText.length() >= mediaWikiKHTMLFixesStyleSheet.length() - 1)
</del><ins>+ if (baseURL().string().endsWith("/KHTMLFixes.css") && !sheetText.isNull() && mediaWikiKHTMLFixesStyleSheet.get().startsWith(sheetText)
+ && sheetText.length() >= 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 "MutationObserverInterestGroup.h"
</span><span class="cx"> #include "MutationRecord.h"
</span><span class="cx"> #include "StaticNodeList.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/StdLibExtras.h>
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -43,7 +44,7 @@
</span><span class="cx"> typedef HashMap<ContainerNode*, ChildListMutationAccumulator*> AccumulatorMap;
</span><span class="cx"> static AccumulatorMap& accumulatorMap()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AccumulatorMap, map, ());
</del><ins>+ static NeverDestroyed<AccumulatorMap> 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 "SubframeLoader.h"
</span><span class="cx"> #include "TextDocument.h"
</span><span class="cx"> #include "XMLNames.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/StdLibExtras.h>
</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<FeatureSet> svgFeatures;
</ins><span class="cx"> if (!initialized) {
</span><span class="cx"> #if ENABLE(SVG_FONTS)
</span><span class="cx"> addString(svgFeatures, "svg");
</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("org.w3c.", false)
</span><del>- && svgFeatures.contains(feature.right(feature.length() - 8));
</del><ins>+ && 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& feature, const String& 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<FeatureSet> 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("http://www.w3.org/tr/svg11/feature#", false)
</span><del>- && svgFeatures.contains(feature.right(feature.length() - 35));
</del><ins>+ && svgFeatures.get().contains(feature.right(feature.length() - 35));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> DOMImplementation::DOMImplementation(Document& 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 <ctime>
</span><span class="cx"> #include <inspector/ScriptCallStack.h>
</span><span class="cx"> #include <wtf/CurrentTime.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/TemporaryChange.h>
</span><span class="cx"> #include <wtf/text/StringBuffer.h>
</span><span class="cx"> #include <yarr/RegularExpression.h>
</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("loading")));
- DEPRECATED_DEFINE_STATIC_LOCAL(const String, interactive, (ASCIILiteral("interactive")));
- DEPRECATED_DEFINE_STATIC_LOCAL(const String, complete, (ASCIILiteral("complete")));
</del><ins>+ static NeverDestroyed<const String> loading(ASCIILiteral("loading"));
+ static NeverDestroyed<const String> interactive(ASCIILiteral("interactive"));
+ static NeverDestroyed<const String> complete(ASCIILiteral("complete"));
</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 "markup.h"
</span><span class="cx"> #include <wtf/BitVector.h>
</span><span class="cx"> #include <wtf/CurrentTime.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/text/CString.h>
</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, ("undefined", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> undefinedState("undefined", 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, ("fit", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> fitState("fit", 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, ("empty", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> emptyState("empty", 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, ("overset", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> overflowState("overset", 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 "SVGNames.h"
</span><span class="cx"> #include "SVGUseElement.h"
</span><span class="cx"> #include "TouchEvent.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</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->isDisabledFormControl())
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(HashSet<Element*>, elementsDispatchingSimulatedClicks, ());
- if (!elementsDispatchingSimulatedClicks.add(element).isNewEntry)
</del><ins>+ static NeverDestroyed<HashSet<Element*>> 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->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& event, const EventPath& 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 "ShadowRoot.h"
</span><span class="cx"> #include "StyleSheetContents.h"
</span><span class="cx"> #include "TextNodeTraversal.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/text/StringBuilder.h>
</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& element, const AtomicString& type)
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, cssContentType, ("text/css", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> cssContentType("text/css", 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& activeMutationObservers()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(MutationObserverSet, activeObservers, ());
</del><ins>+ static NeverDestroyed<MutationObserverSet> activeObservers;
</ins><span class="cx"> return activeObservers;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static MutationObserverSet& suspendedMutationObservers()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(MutationObserverSet, suspendedObservers, ());
</del><ins>+ static NeverDestroyed<MutationObserverSet> 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 "CharacterData.h"
</span><span class="cx"> #include "StaticNodeList.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/StdLibExtras.h>
</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& ChildListRecord::type()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, childList, ("childList", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> childList("childList", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return childList;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& AttributesRecord::type()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, attributes, ("attributes", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> attributes("attributes", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return attributes;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& CharacterDataRecord::type()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, characterData, ("characterData", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> characterData("characterData", 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& pseudoElementTagName()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(QualifiedName, name, (nullAtom, "<pseudo>", nullAtom));
</del><ins>+ static NeverDestroyed<QualifiedName> name(nullAtom, "<pseudo>", 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("::after")));
- DEPRECATED_DEFINE_STATIC_LOCAL(const String, before, (ASCIILiteral("::before")));
</del><ins>+ static NeverDestroyed<const String> after(ASCIILiteral("::after"));
+ static NeverDestroyed<const String> before(ASCIILiteral("::before"));
</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 "XMLNames.h"
</span><span class="cx"> #include <wtf/Assertions.h>
</span><span class="cx"> #include <wtf/HashSet.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/StaticConstructors.h>
</span><span class="cx"> #include <wtf/text/StringBuilder.h>
</span><span class="cx">
</span><span class="lines">@@ -74,7 +75,7 @@
</span><span class="cx">
</span><span class="cx"> static inline QNameSet& qualifiedNameCache()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(QNameSet, nameCache, ());
</del><ins>+ static NeverDestroyed<QNameSet> 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& nullQName()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(QualifiedName, nullName, (nullAtom, nullAtom, nullAtom));
</del><ins>+ static NeverDestroyed<QualifiedName> 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 "text/javascript<version>" entries.
</span><span class="cx"> typedef HashSet<String, CaseFoldingHash> LanguageSet;
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(LanguageSet, languages, ());
- if (languages.isEmpty()) {
- languages.add("javascript");
- languages.add("javascript");
- languages.add("javascript1.0");
- languages.add("javascript1.1");
- languages.add("javascript1.2");
- languages.add("javascript1.3");
- languages.add("javascript1.4");
- languages.add("javascript1.5");
- languages.add("javascript1.6");
- languages.add("javascript1.7");
- languages.add("livescript");
- languages.add("ecmascript");
- languages.add("jscript");
</del><ins>+ static NeverDestroyed<LanguageSet> languages;
+ if (languages.get().isEmpty()) {
+ languages.get().add("javascript");
+ languages.get().add("javascript");
+ languages.get().add("javascript1.0");
+ languages.get().add("javascript1.1");
+ languages.get().add("javascript1.2");
+ languages.get().add("javascript1.3");
+ languages.get().add("javascript1.4");
+ languages.get().add("javascript1.5");
+ languages.get().add("javascript1.6");
+ languages.get().add("javascript1.7");
+ languages.get().add("livescript");
+ languages.get().add("ecmascript");
+ languages.get().add("jscript");
</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 && !m_cachedScript->passesSameOriginPolicyCheck(*m_element.document().securityOrigin())) {
</span><span class="cx"> dispatchErrorEvent();
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral("Cross-origin script load denied by Cross-Origin Resource Sharing policy.")));
</del><ins>+ static NeverDestroyed<String> consoleMessage(ASCIILiteral("Cross-origin script load denied by Cross-Origin Resource Sharing policy."));
</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 "TextNodeTraversal.h"
</span><span class="cx"> #include "VisibleUnits.h"
</span><span class="cx"> #include "htmlediting.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/StdLibExtras.h>
</span><span class="cx"> #include <wtf/text/StringBuilder.h>
</span><span class="cx">
</span><span class="lines">@@ -62,7 +63,7 @@
</span><span class="cx">
</span><span class="cx"> static String& styleSpanClassString()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(String, styleSpanClassString, ((AppleStyleSpanClass)));
</del><ins>+ static NeverDestroyed<String> 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 "XLinkNames.h"
</span><span class="cx"> #include "XMLNSNames.h"
</span><span class="cx"> #include "XMLNames.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/unicode/CharacterNames.h>
</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("xmlns:")));
- return !element.hasAttribute(xmlnsWithColon + prefix);
</del><ins>+ static NeverDestroyed<String> xmlnsWithColon(ASCIILiteral("xmlns:"));
+ return !element.hasAttribute(xmlnsWithColon.get() + prefix);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool MarkupAccumulator::shouldAddNamespaceAttribute(const Attribute& attribute, Namespaces& 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<String> interchangeNewlineClassString(AppleInterchangeNewline);
</ins><span class="cx"> return node && node->hasTagName(brTag) &&
</span><span class="cx"> static_cast<const Element *>(node)->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<String> convertedSpaceSpanClassString(AppleConvertedSpace);
</ins><span class="cx"> return node->isHTMLElement() &&
</span><span class="cx"> static_cast<const HTMLElement *>(node)->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& nonBreakingSpaceString()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(String, nonBreakingSpaceString, (&noBreakSpace, 1));
</del><ins>+ static NeverDestroyed<String> nonBreakingSpaceString(&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& StyledMarkupAccumulator::styleNodeCloseTag(bool isBlock)
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const String, divClose, (ASCIILiteral("</div>")));
- DEPRECATED_DEFINE_STATIC_LOCAL(const String, styleSpanClose, (ASCIILiteral("</span>")));
</del><ins>+ static NeverDestroyed<const String> divClose(ASCIILiteral("</div>"));
+ static NeverDestroyed<const String> styleSpanClose(ASCIILiteral("</span>"));
</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& document, const Range& range, Vector<Node*>* 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("<br class=\"" AppleInterchangeNewline "\">")));
</del><ins>+ static NeverDestroyed<const String> interchangeNewlineString(ASCIILiteral("<br class=\"" AppleInterchangeNewline "\">"));
</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 "File.h"
</span><span class="cx"> #include "ScriptExecutionContext.h"
</span><span class="cx"> #include "ThreadableBlobRegistry.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/text/CString.h>
</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& BlobURLRegistry::registry()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(BlobURLRegistry, instance, ());
</del><ins>+ static NeverDestroyed<BlobURLRegistry> 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 "RenderElement.h"
</span><span class="cx"> #include "ScriptController.h"
</span><span class="cx"> #include "ShadowRoot.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</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, ("-webkit-date-and-time-value", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> valueContainerPseudo("-webkit-date-and-time-value", AtomicString::ConstructFromLiteral);
</ins><span class="cx">
</span><span class="cx"> Ref<HTMLDivElement> valueContainer = HTMLDivElement::create(element().document());
</span><span class="cx"> valueContainer->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 "HTMLInputElement.h"
</span><span class="cx"> #include "HTMLNames.h"
</span><span class="cx"> #include "InputTypeNames.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</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<const StepRange::StepDescription> 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 "HTMLNames.h"
</span><span class="cx"> #include "InputTypeNames.h"
</span><span class="cx"> #include <wtf/CurrentTime.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</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<const StepRange::StepDescription> 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 "HTMLInputElement.h"
</span><span class="cx"> #include "HTMLNames.h"
</span><span class="cx"> #include "InputTypeNames.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</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<const StepRange::StepDescription> 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 "HTMLParserIdioms.h"
</span><span class="cx"> #include "InputTypeNames.h"
</span><span class="cx"> #include "LocalizedStrings.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/text/StringBuilder.h>
</span><span class="cx"> #include <yarr/RegularExpression.h>
</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<const JSC::Yarr::RegularExpression> regExp(emailPattern, TextCaseInsensitive);
</ins><span class="cx">
</span><span class="cx"> int matchLength;
</span><del>- int matchOffset = regExp.match(address, 0, &matchLength);
</del><ins>+ int matchOffset = regExp.get().match(address, 0, &matchLength);
</ins><span class="cx">
</span><span class="cx"> return !matchOffset && 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 "HTMLFormElement.h"
</span><span class="cx"> #include "HTMLInputElement.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/text/StringBuilder.h>
</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, ("No owner", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> formKeyForNoOwner("No owner", 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("\n\r?% WebKit serialized form state version 8 \n\r=&")));
</del><ins>+ static NeverDestroyed<String> signature(ASCIILiteral("\n\r?% WebKit serialized form state version 8 \n\r=&"));
</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& rootEditableElementMap()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(RootEditableElementMap, map, ());
</del><ins>+ static NeverDestroyed<RootEditableElementMap> 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, ("submit", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> submit("submit", 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, ("button", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> button("button", 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, ("reset", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> reset("reset", 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& HTMLFieldSetElement::formControlType() const
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, fieldset, ("fieldset", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> fieldset("fieldset", 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 "HTMLElement.h"
</span><span class="cx"> #include <wtf/HashCountedSet.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</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<ContainerNode*>& disabledSubtreeRoots()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(HashCountedSet<ContainerNode*>, nodes, ());
</del><ins>+ static NeverDestroyed<HashCountedSet<ContainerNode*>> 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 "SSLKeyGenerator.h"
</span><span class="cx"> #include "ShadowRoot.h"
</span><span class="cx"> #include "Text.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/StdLibExtras.h>
</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& document)
</span><span class="cx"> : HTMLSelectElement(selectTag, document, 0)
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, pseudoId, ("-webkit-keygen-select", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> pseudoId("-webkit-keygen-select", 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& HTMLKeygenElement::formControlType() const
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, keygen, ("keygen", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> keygen("keygen", 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& linkLoadEventSender()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(LinkEventSender, sharedLoadEventSender, (eventNames().loadEvent));
</del><ins>+ static NeverDestroyed<LinkEventSender> 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<Document*, HashSet<HTMLMediaElement*>> DocumentElementSetMap;
</span><span class="cx"> static DocumentElementSetMap& documentToElementSetMap()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(DocumentElementSetMap, map, ());
</del><ins>+ static NeverDestroyed<DocumentElementSetMap> 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& tagName)
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(HashSet<AtomicStringImpl*>, tagList, ());
- if (tagList.isEmpty()) {
</del><ins>+ static NeverDestroyed<HashSet<AtomicStringImpl*>> tagList;
+ if (tagList.get().isEmpty()) {
</ins><span class="cx"> auto* tags = HTMLNames::getHTMLTags();
</span><span class="cx"> for (size_t i = 0; i < 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]->localName().impl());
</del><ins>+ tagList.get().add(tags[i]->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& HTMLOptGroupElement::formControlType() const
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, optgroup, ("optgroup", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> optgroup("optgroup", 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 "ExceptionCodePlaceholder.h"
</span><span class="cx"> #include "HTMLFormElement.h"
</span><span class="cx"> #include "HTMLNames.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</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& HTMLOutputElement::formControlType() const
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, output, ("output", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> output("output", 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<ReplacementPlugin*>& registeredPluginReplacements()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Vector<ReplacementPlugin*>, registeredReplacements, ());
</del><ins>+ static NeverDestroyed<Vector<ReplacementPlugin*>> 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<MimeTypeToLocalizedStringMap> 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->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<MimeTypeToLocalizedStringMap> 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->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, (".snapshot-overlay", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> selector(".snapshot-overlay", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> ShadowRoot* shadow = userAgentShadowRoot();
</span><span class="cx"> if (!shadow)
</span><span class="cx"> return false;
</span><del>- RefPtr<Element> snapshotLabel = shadow->querySelector(selector, ASSERT_NO_EXCEPTION);
</del><ins>+ RefPtr<Element> snapshotLabel = shadow->querySelector(selector.get(), ASSERT_NO_EXCEPTION);
</ins><span class="cx"> return node && snapshotLabel && (node == snapshotLabel.get() || node->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& HTMLSelectElement::formControlType() const
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, selectMultiple, ("select-multiple", AtomicString::ConstructFromLiteral));
- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, selectOne, ("select-one", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> selectMultiple("select-multiple", AtomicString::ConstructFromLiteral);
+ static NeverDestroyed<const AtomicString> selectOne("select-one", 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& styleLoadEventSender()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(StyleEventSender, sharedLoadEventSender, (eventNames().loadEvent));
</del><ins>+ static NeverDestroyed<StyleEventSender> 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& HTMLTextAreaElement::formControlType() const
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, textarea, ("textarea", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> textarea("textarea", 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& directionString(TextFieldSelectionDirection direction)
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, none, ("none", AtomicString::ConstructFromLiteral));
- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, forward, ("forward", AtomicString::ConstructFromLiteral));
- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, backward, ("backward", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> none("none", AtomicString::ConstructFromLiteral);
+ static NeverDestroyed<const AtomicString> forward("forward", AtomicString::ConstructFromLiteral);
+ static NeverDestroyed<const AtomicString> backward("backward", 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 "InputTypeNames.h"
</span><span class="cx"> #include "MouseEvent.h"
</span><span class="cx"> #include "RenderImage.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</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(".x")));
- DEPRECATED_DEFINE_STATIC_LOCAL(String, dotYString, (ASCIILiteral(".y")));
- encoding.appendData(name + dotXString, m_clickLocation.x());
- encoding.appendData(name + dotYString, m_clickLocation.y());
</del><ins>+ static NeverDestroyed<String> dotXString(ASCIILiteral(".x"));
+ static NeverDestroyed<String> dotYString(ASCIILiteral(".y"));
+ 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 "config.h"
</span><span class="cx"> #include "InputTypeNames.h"
</span><span class="cx">
</span><ins>+#include <wtf/NeverDestroyed.h>
+
</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& button()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, ("button", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> name("button", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return name;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& checkbox()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, ("checkbox", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> name("checkbox", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return name;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& color()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, ("color", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> name("color", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return name;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& date()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, ("date", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> name("date", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return name;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& datetime()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, ("datetime", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> name("datetime", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return name;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& datetimelocal()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, ("datetime-local", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> name("datetime-local", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return name;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& email()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, ("email", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> name("email", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return name;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& file()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, ("file", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> name("file", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return name;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& hidden()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, ("hidden", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> name("hidden", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return name;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& image()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, ("image", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> name("image", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return name;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& month()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, ("month", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> name("month", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return name;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& number()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, ("number", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> name("number", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return name;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& password()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, ("password", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> name("password", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return name;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& radio()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, ("radio", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> name("radio", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return name;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& range()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, ("range", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> name("range", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return name;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& reset()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, ("reset", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> name("reset", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return name;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& search()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, ("search", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> name("search", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return name;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& submit()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, ("submit", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> name("submit", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return name;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& telephone()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, ("tel", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> name("tel", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return name;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& text()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, ("text", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> name("text", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return name;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& time()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, ("time", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> name("time", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return name;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& url()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, ("url", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> name("url", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return name;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& week()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, name, ("week", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> name("week", 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& playbackStateWaiting()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, waiting, ("waiting", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> waiting("waiting", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return waiting;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static const AtomicString& playbackStatePlaying()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, playing, ("playing", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> playing("playing", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return playing;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static const AtomicString& playbackStateEnded()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, ended, ("ended", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> ended("ended", 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 <wtf/CurrentTime.h>
</span><span class="cx"> #include <wtf/DateMath.h>
</span><span class="cx"> #include <wtf/MathExtras.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</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<const StepRange::StepDescription> 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<const StepRange::StepDescription> 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<double>::max for number input type.
</span><span class="cx"> const Decimal floatMax = Decimal::fromDouble(std::numeric_limits<float>::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 "SliderThumbElement.h"
</span><span class="cx"> #include <limits>
</span><span class="cx"> #include <wtf/MathExtras.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx">
</span><span class="cx"> #if ENABLE(TOUCH_EVENTS)
</span><span class="cx"> #include "Touch.h"
</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<const StepRange::StepDescription> 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 "HTMLNames.h"
</span><span class="cx"> #include "HTMLParserIdioms.h"
</span><span class="cx"> #include <wtf/MathExtras.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</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) << FLT_MANT_DIG));
</del><ins>+ static NeverDestroyed<const Decimal> twoPowerOfFloatMantissaBits(Decimal::Positive, 0, UINT64_C(1) << 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& currentValue, const Decimal& newValue) const
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const Decimal, tenPowerOf21, (Decimal::Positive, 21, 1));
</del><ins>+ static NeverDestroyed<const Decimal> tenPowerOf21(Decimal::Positive, 21, 1);
</ins><span class="cx"> if (newValue >= 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) << DBL_MANT_DIG));
</del><ins>+ static NeverDestroyed<const Decimal> twoPowerOfDoubleMantissaBits(Decimal::Positive, 0, UINT64_C(1) << DBL_MANT_DIG);
</ins><span class="cx"> if (value / twoPowerOfDoubleMantissaBits > 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 <wtf/CurrentTime.h>
</span><span class="cx"> #include <wtf/DateMath.h>
</span><span class="cx"> #include <wtf/MathExtras.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</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<const StepRange::StepDescription> 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 "HTMLInputElement.h"
</span><span class="cx"> #include "HTMLNames.h"
</span><span class="cx"> #include "InputTypeNames.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</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<const StepRange::StepDescription> 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 <wtf/CheckedArithmetic.h>
</span><span class="cx"> #include <wtf/MathExtras.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/text/StringBuilder.h>
</span><span class="cx">
</span><span class="cx"> #if USE(CG)
</span><span class="lines">@@ -1959,7 +1960,7 @@
</span><span class="cx"> RefPtr<ImageData> CanvasRenderingContext2D::getImageData(ImageBuffer::CoordinateSystem coordinateSystem, float sx, float sy, float sw, float sh, ExceptionCode& ec) const
</span><span class="cx"> {
</span><span class="cx"> if (!canvas()->originClean()) {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral("Unable to get image data from canvas because the canvas has been tainted by cross-origin data.")));
</del><ins>+ static NeverDestroyed<String> consoleMessage(ASCIILiteral("Unable to get image data from canvas because the canvas has been tainted by cross-origin data."));
</ins><span class="cx"> canvas()->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 "XLinkNames.h"
</span><span class="cx"> #include <wtf/ASCIICType.h>
</span><span class="cx"> #include <wtf/MainThread.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</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->frame()->loader().documentLoader()) {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(String, XSSProtectionHeader, (ASCIILiteral("X-XSS-Protection")));
</del><ins>+ static NeverDestroyed<String> XSSProtectionHeader(ASCIILiteral("X-XSS-Protection"));
</ins><span class="cx"> String headerValue = documentLoader->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& request)
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(String, safeJavaScriptURL, (ASCIILiteral("javascript:void(0)")));
</del><ins>+ static NeverDestroyed<String> safeJavaScriptURL(ASCIILiteral("javascript:void(0)"));
</ins><span class="cx">
</span><span class="cx"> bool didBlockScript = false;
</span><span class="cx"> for (size_t i = 0; i < 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, ("selected", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> selectedClassValue("selected", AtomicString::ConstructFromLiteral);
</ins><span class="cx">
</span><span class="cx"> if (!mediaController()->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& getMediaControlTimeRemainingDisplayElementShadowPseudoId()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-time-remaining-display", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> id("-webkit-media-controls-time-remaining-display", 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& getMediaControlCurrentTimeDisplayElementShadowPseudoId()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-current-time-display", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> id("-webkit-media-controls-current-time-display", 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& document)
</span><span class="cx"> : MeterShadowElement(document)
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, pseudoId, ("-webkit-meter-inner-element", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> pseudoId("-webkit-meter-inner-element", 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& MeterValueElement::valuePseudoId() const
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, optimumPseudoId, ("-webkit-meter-optimum-value", AtomicString::ConstructFromLiteral));
- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, suboptimumPseudoId, ("-webkit-meter-suboptimum-value", AtomicString::ConstructFromLiteral));
- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, evenLessGoodPseudoId, ("-webkit-meter-even-less-good-value", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> optimumPseudoId("-webkit-meter-optimum-value", AtomicString::ConstructFromLiteral);
+ static NeverDestroyed<AtomicString> suboptimumPseudoId("-webkit-meter-suboptimum-value", AtomicString::ConstructFromLiteral);
+ static NeverDestroyed<AtomicString> evenLessGoodPseudoId("-webkit-meter-even-less-good-value", 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 "HTMLDivElement.h"
</span><span class="cx"> #include <wtf/Forward.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</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& document)
</span><span class="cx"> : MeterShadowElement(document)
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, pseudoId, ("-webkit-meter-bar", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> pseudoId("-webkit-meter-bar", 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& sliderThumbShadowPseudoId()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, sliderThumb, ("-webkit-slider-thumb", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> sliderThumb("-webkit-slider-thumb", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return sliderThumb;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static const AtomicString& mediaSliderThumbShadowPseudoId()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, mediaSliderThumb, ("-webkit-media-slider-thumb", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> mediaSliderThumb("-webkit-media-slider-thumb", 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, ("-webkit-media-slider-container", AtomicString::ConstructFromLiteral));
- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, sliderContainer, ("-webkit-slider-container", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> mediaSliderContainer("-webkit-media-slider-container", AtomicString::ConstructFromLiteral);
+ static NeverDestroyed<const AtomicString> sliderContainer("-webkit-slider-container", AtomicString::ConstructFromLiteral);
</ins><span class="cx">
</span><span class="cx"> if (!is<HTMLInputElement>(*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 "AudioTrackList.h"
</span><span class="cx"> #include "Event.h"
</span><span class="cx"> #include "HTMLMediaElement.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><span class="cx"> const AtomicString& AudioTrack::alternativeKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, alternative, ("alternative", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> alternative("alternative", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return alternative;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& AudioTrack::descriptionKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, description, ("description", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> description("description", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return description;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& AudioTrack::mainKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, main, ("main", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> main("main", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return main;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& AudioTrack::mainDescKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, mainDesc, ("main-desc", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> mainDesc("main-desc", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return mainDesc;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& AudioTrack::translationKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, translation, ("translation", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> translation("translation", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return translation;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& AudioTrack::commentaryKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, commentary, ("commentary", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> commentary("commentary", 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& TextTrack::subtitlesKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, subtitles, ("subtitles", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> subtitles("subtitles", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return subtitles;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& TextTrack::captionsKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, captions, ("captions", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> captions("captions", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return captions;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& TextTrack::descriptionsKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, descriptions, ("descriptions", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> descriptions("descriptions", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return descriptions;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& TextTrack::chaptersKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, chapters, ("chapters", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> chapters("chapters", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return chapters;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& TextTrack::metadataKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, metadata, ("metadata", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> metadata("metadata", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return metadata;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& TextTrack::forcedKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, forced, ("forced", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> forced("forced", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return forced;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& TextTrack::disabledKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, open, ("disabled", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> open("disabled", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return open;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& TextTrack::hiddenKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, closed, ("hidden", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> closed("hidden", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return closed;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& TextTrack::showingKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, ended, ("showing", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> ended("showing", 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 "EventTarget.h"
</span><span class="cx"> #include "HTMLElement.h"
</span><span class="cx"> #include <wtf/MediaTime.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/RefCounted.h>
</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& cueShadowPseudoId()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, cue, ("cue", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> cue("cue", 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& startKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const String, start, (ASCIILiteral("start")));
</del><ins>+ static NeverDestroyed<const String> start(ASCIILiteral("start"));
</ins><span class="cx"> return start;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static const String& middleKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const String, middle, (ASCIILiteral("middle")));
</del><ins>+ static NeverDestroyed<const String> middle(ASCIILiteral("middle"));
</ins><span class="cx"> return middle;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static const String& endKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const String, end, (ASCIILiteral("end")));
</del><ins>+ static NeverDestroyed<const String> end(ASCIILiteral("end"));
</ins><span class="cx"> return end;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static const String& leftKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const String, left, ("left"));
</del><ins>+ static NeverDestroyed<const String> left("left");
</ins><span class="cx"> return left;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static const String& rightKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const String, right, ("right"));
</del><ins>+ static NeverDestroyed<const String> right("right");
</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& verticalGrowingLeftKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const String, verticalrl, (ASCIILiteral("rl")));
</del><ins>+ static NeverDestroyed<const String> verticalrl(ASCIILiteral("rl"));
</ins><span class="cx"> return verticalrl;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static const String& verticalGrowingRightKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const String, verticallr, (ASCIILiteral("lr")));
</del><ins>+ static NeverDestroyed<const String> verticallr(ASCIILiteral("lr"));
</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& VTTCueBox::vttCueBoxShadowPseudoId()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, trackDisplayBoxShadowPseudoId, ("-webkit-media-text-track-display", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> trackDisplayBoxShadowPseudoId("-webkit-media-text-track-display", 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& VTTCue::cueBackdropShadowPseudoId()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, cueBackdropShadowPseudoId, ("-webkit-media-text-track-display-backdrop", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> cueBackdropShadowPseudoId("-webkit-media-text-track-display-backdrop", 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("rt")));
</del><ins>+ static NeverDestroyed<const String> rtTag(ASCIILiteral("rt"));
</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& previousTimestamp, const MediaTime& movieTime)
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const String, timestampTag, (ASCIILiteral("timestamp")));
</del><ins>+ static NeverDestroyed<const String> timestampTag(ASCIILiteral("timestamp"));
</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, ("up", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> upScrollValueKeyword("up", 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& value, ExceptionCode& ec)
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, upScrollValueKeyword, ("up", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> upScrollValueKeyword("up", AtomicString::ConstructFromLiteral);
</ins><span class="cx">
</span><span class="cx"> if (value != emptyString() && 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& input)
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, scrollUpValueKeyword, ("up", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> scrollUpValueKeyword("up", AtomicString::ConstructFromLiteral);
</ins><span class="cx">
</span><span class="cx"> VTTScanner::Run valueRun = input.collectUntil<isHTMLSpace<UChar>>();
</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, "VTTRegion::parseSettingValue, invalid Scroll");
</span><span class="lines">@@ -326,7 +326,7 @@
</span><span class="cx">
</span><span class="cx"> const AtomicString& VTTRegion::textTrackCueContainerScrollingClass()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, trackRegionCueContainerScrollingClass, ("scrolling", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> trackRegionCueContainerScrollingClass("scrolling", 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& VideoTrack::alternativeKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, alternative, ("alternative", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> alternative("alternative", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return alternative;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& VideoTrack::captionsKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, captions, ("captions", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> captions("captions", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return captions;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& VideoTrack::mainKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, captions, ("main", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> captions("main", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return captions;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& VideoTrack::signKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, sign, ("sign", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> sign("sign", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return sign;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& VideoTrack::subtitlesKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, subtitles, ("subtitles", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> subtitles("subtitles", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return subtitles;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& VideoTrack::commentaryKeyword()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, commentary, ("commentary", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> commentary("commentary", 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& nodeTypeToTagName(WebVTTNodeType nodeType)
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(QualifiedName, cTag, (nullAtom, "c", nullAtom));
- DEPRECATED_DEFINE_STATIC_LOCAL(QualifiedName, vTag, (nullAtom, "v", nullAtom));
- DEPRECATED_DEFINE_STATIC_LOCAL(QualifiedName, langTag, (nullAtom, "lang", nullAtom));
- DEPRECATED_DEFINE_STATIC_LOCAL(QualifiedName, bTag, (nullAtom, "b", nullAtom));
- DEPRECATED_DEFINE_STATIC_LOCAL(QualifiedName, uTag, (nullAtom, "u", nullAtom));
- DEPRECATED_DEFINE_STATIC_LOCAL(QualifiedName, iTag, (nullAtom, "i", nullAtom));
- DEPRECATED_DEFINE_STATIC_LOCAL(QualifiedName, rubyTag, (nullAtom, "ruby", nullAtom));
- DEPRECATED_DEFINE_STATIC_LOCAL(QualifiedName, rtTag, (nullAtom, "rt", nullAtom));
</del><ins>+ static NeverDestroyed<QualifiedName> cTag(nullAtom, "c", nullAtom);
+ static NeverDestroyed<QualifiedName> vTag(nullAtom, "v", nullAtom);
+ static NeverDestroyed<QualifiedName> langTag(nullAtom, "lang", nullAtom);
+ static NeverDestroyed<QualifiedName> bTag(nullAtom, "b", nullAtom);
+ static NeverDestroyed<QualifiedName> uTag(nullAtom, "u", nullAtom);
+ static NeverDestroyed<QualifiedName> iTag(nullAtom, "i", nullAtom);
+ static NeverDestroyed<QualifiedName> rubyTag(nullAtom, "ruby", nullAtom);
+ static NeverDestroyed<QualifiedName> rtTag(nullAtom, "rt", 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 "HTMLElement.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</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& voiceAttributeName()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(QualifiedName, voiceAttr, (nullAtom, "voice", nullAtom));
</del><ins>+ static NeverDestroyed<QualifiedName> voiceAttr(nullAtom, "voice", nullAtom);
</ins><span class="cx"> return voiceAttr;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static const QualifiedName& langAttributeName()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(QualifiedName, voiceAttr, (nullAtom, "lang", nullAtom));
</del><ins>+ static NeverDestroyed<QualifiedName> voiceAttr(nullAtom, "lang", 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& 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, ("Region", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> regionHeaderName("Region", AtomicString::ConstructFromLiteral);
</ins><span class="cx">
</span><span class="cx"> // Step 12.4 If line contains the character ":" (A U+003A COLON), then set metadata's
</span><span class="cx"> // name to the substring of line before the first ":" 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& pseudoClassArray)
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(String, active, (ASCIILiteral("active")));
- DEPRECATED_DEFINE_STATIC_LOCAL(String, hover, (ASCIILiteral("hover")));
- DEPRECATED_DEFINE_STATIC_LOCAL(String, focus, (ASCIILiteral("focus")));
- DEPRECATED_DEFINE_STATIC_LOCAL(String, visited, (ASCIILiteral("visited")));
</del><ins>+ static NeverDestroyed<String> active(ASCIILiteral("active"));
+ static NeverDestroyed<String> hover(ASCIILiteral("hover"));
+ static NeverDestroyed<String> focus(ASCIILiteral("focus"));
+ static NeverDestroyed<String> visited(ASCIILiteral("visited"));
</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("SourceMap")));
- DEPRECATED_DEFINE_STATIC_LOCAL(String, sourceMapHTTPHeaderDeprecated, (ASCIILiteral("X-SourceMap")));
</del><ins>+ static NeverDestroyed<String> sourceMapHTTPHeader(ASCIILiteral("SourceMap"));
+ static NeverDestroyed<String> sourceMapHTTPHeaderDeprecated(ASCIILiteral("X-SourceMap"));
</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<Inspector::Protocol::Array<Inspector::Protocol::CSS::CSSSelector>> selectorsFromSource(const CSSRuleSourceData* sourceData, const String& sheetText, const CSSSelectorList& selectorList, Element* element)
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(JSC::Yarr::RegularExpression, comment, ("/\\*[^]*?\\*/", TextCaseSensitive, JSC::Yarr::MultilineEnabled));
</del><ins>+ static NeverDestroyed<JSC::Yarr::RegularExpression> comment("/\\*[^]*?\\*/", TextCaseSensitive, JSC::Yarr::MultilineEnabled);
</ins><span class="cx">
</span><span class="cx"> auto result = Inspector::Protocol::Array<Inspector::Protocol::CSS::CSSSelector>::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 <inspector/ScriptCallStack.h>
</span><span class="cx"> #include <inspector/ScriptCallStackFactory.h>
</span><span class="cx"> #include <profiler/Profile.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</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& script)
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(String, sourceMapHTTPHeader, (ASCIILiteral("SourceMap")));
- DEPRECATED_DEFINE_STATIC_LOCAL(String, sourceMapHTTPHeaderDeprecated, (ASCIILiteral("X-SourceMap")));
</del><ins>+ static NeverDestroyed<String> sourceMapHTTPHeader(ASCIILiteral("SourceMap"));
+ static NeverDestroyed<String> sourceMapHTTPHeaderDeprecated(ASCIILiteral("X-SourceMap"));
</ins><span class="cx">
</span><span class="cx"> if (!script.url.isEmpty()) {
</span><span class="cx"> CachedResource* resource = m_pageAgent->cachedResource(&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("Cross-origin image load denied by Cross-Origin Resource Sharing policy.")));
</del><ins>+ static NeverDestroyed<String> consoleMessage(ASCIILiteral("Cross-origin image load denied by Cross-Origin Resource Sharing policy."));
</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("Cross-origin text track load denied by Cross-Origin Resource Sharing policy.")));
</del><ins>+ static NeverDestroyed<String> consoleMessage(ASCIILiteral("Cross-origin text track load denied by Cross-Origin Resource Sharing policy."));
</ins><span class="cx"> Document* document = downcast<Document>(m_scriptExecutionContext);
</span><span class="cx"> document->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 "CachedResourceLoader.h"
</span><span class="cx"> #include "Document.h"
</span><span class="cx"> #include "Element.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</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, ("resource", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> defaultName("resource", 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 "SuddenTermination.h"
</span><span class="cx"> #include <wtf/AutodrainedPool.h>
</span><span class="cx"> #include <wtf/MainThread.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/StdLibExtras.h>
</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("WebpageIcons.db")));
- return defaultDatabaseFilename.isolatedCopy();
</del><ins>+ static NeverDestroyed<String> defaultDatabaseFilename(ASCIILiteral("WebpageIcons.db"));
+ 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 "interested in import"
</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 "UserStyleSheetTypes.h"
</span><span class="cx"> #include <runtime/JSCellInlines.h>
</span><span class="cx"> #include <runtime/StructureInlines.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</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, "user-captions-override:01F6AF12-C3B0-4F70-AF5E-A3E00234DC23"));
</del><ins>+ static NeverDestroyed<URL> captionsStyleSheetURL(ParsedURLString, "user-captions-override:01F6AF12-C3B0-4F70-AF5E-A3E00234DC23");
</ins><span class="cx">
</span><span class="cx"> auto& pages = m_pageGroup.pages();
</span><span class="cx"> for (auto& 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 "TextTrackList.h"
</span><span class="cx"> #include "UserStyleSheetTypes.h"
</span><span class="cx"> #include "VTTCue.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/RetainPtr.h>
</span><span class="cx"> #include <wtf/text/CString.h>
</span><span class="cx"> #include <wtf/text/StringBuilder.h>
</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<Color> 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, (" -.05em -.05em 0 ", String::ConstructFromLiteral));
- DEPRECATED_DEFINE_STATIC_LOCAL(const String, edgeStyleDepressed, (" .05em .05em 0 ", String::ConstructFromLiteral));
- DEPRECATED_DEFINE_STATIC_LOCAL(const String, edgeStyleDropShadow, (" .075em .075em 0 ", String::ConstructFromLiteral));
- DEPRECATED_DEFINE_STATIC_LOCAL(const String, edgeStyleUniform, (" .03em ", String::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const String> edgeStyleRaised(ASCIILiteral(" -.05em -.05em 0 "));
+ static NeverDestroyed<const String> edgeStyleDepressed(ASCIILiteral(" .05em .05em 0 "));
+ static NeverDestroyed<const String> edgeStyleDropShadow(ASCIILiteral(" .075em .075em 0 "));
+ static NeverDestroyed<const String> edgeStyleUniform(ASCIILiteral(" .03em "));
</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 <inspector/ScriptCallStack.h>
</span><span class="cx"> #include <inspector/ScriptCallStackFactory.h>
</span><span class="cx"> #include <wtf/HashSet.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/text/TextPosition.h>
</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& contextURL, const WTF::OrdinalNumber& contextLine, ContentSecurityPolicy::ReportingStatus reportingStatus) const
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral("Refused to execute JavaScript URL because it violates the following Content Security Policy directive: ")));
</del><ins>+ static NeverDestroyed<String> consoleMessage(ASCIILiteral("Refused to execute JavaScript URL because it violates the following Content Security Policy directive: "));
</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& contextURL, const WTF::OrdinalNumber& contextLine, ContentSecurityPolicy::ReportingStatus reportingStatus) const
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral("Refused to execute inline event handler because it violates the following Content Security Policy directive: ")));
</del><ins>+ static NeverDestroyed<String> consoleMessage(ASCIILiteral("Refused to execute inline event handler because it violates the following Content Security Policy directive: "));
</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& contextURL, const WTF::OrdinalNumber& contextLine, ContentSecurityPolicy::ReportingStatus reportingStatus) const
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral("Refused to execute inline script because it violates the following Content Security Policy directive: ")));
</del><ins>+ static NeverDestroyed<String> consoleMessage(ASCIILiteral("Refused to execute inline script because it violates the following Content Security Policy directive: "));
</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& contextURL, const WTF::OrdinalNumber& contextLine, ContentSecurityPolicy::ReportingStatus reportingStatus) const
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral("Refused to apply inline style because it violates the following Content Security Policy directive: ")));
</del><ins>+ static NeverDestroyed<String> consoleMessage(ASCIILiteral("Refused to apply inline style because it violates the following Content Security Policy directive: "));
</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("Refused to evaluate script because it violates the following Content Security Policy directive: ")));
</del><ins>+ static NeverDestroyed<String> consoleMessage(ASCIILiteral("Refused to evaluate script because it violates the following Content Security Policy directive: "));
</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& name) const
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(String, allow, (ASCIILiteral("allow")));
- DEPRECATED_DEFINE_STATIC_LOCAL(String, options, (ASCIILiteral("options")));
- DEPRECATED_DEFINE_STATIC_LOCAL(String, policyURI, (ASCIILiteral("policy-uri")));
- DEPRECATED_DEFINE_STATIC_LOCAL(String, allowMessage, (ASCIILiteral("The 'allow' directive has been replaced with 'default-src'. Please use that directive instead, as 'allow' has no effect.")));
- DEPRECATED_DEFINE_STATIC_LOCAL(String, optionsMessage, (ASCIILiteral("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.")));
- DEPRECATED_DEFINE_STATIC_LOCAL(String, policyURIMessage, (ASCIILiteral("The 'policy-uri' directive has been removed from the specification. Please specify a complete policy via the Content-Security-Policy header.")));
</del><ins>+ static NeverDestroyed<String> allow(ASCIILiteral("allow"));
+ static NeverDestroyed<String> options(ASCIILiteral("options"));
+ static NeverDestroyed<String> policyURI(ASCIILiteral("policy-uri"));
+ static NeverDestroyed<String> allowMessage(ASCIILiteral("The 'allow' directive has been replaced with 'default-src'. Please use that directive instead, as 'allow' has no effect."));
+ static NeverDestroyed<String> optionsMessage(ASCIILiteral("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."));
+ static NeverDestroyed<String> policyURIMessage(ASCIILiteral("The 'policy-uri' directive has been removed from the specification. Please specify a complete policy via the Content-Security-Policy header."));
</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 <wtf/CurrentTime.h>
</span><span class="cx"> #include <wtf/MainThread.h>
</span><span class="cx"> #include <wtf/MathExtras.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/Ref.h>
</span><span class="cx"> #include <wtf/text/Base64.h>
</span><span class="cx"> #include <wtf/text/WTFString.h>
</span><span class="lines">@@ -185,13 +186,13 @@
</span><span class="cx">
</span><span class="cx"> static DOMWindowSet& windowsWithUnloadEventListeners()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(DOMWindowSet, windowsWithUnloadEventListeners, ());
</del><ins>+ static NeverDestroyed<DOMWindowSet> windowsWithUnloadEventListeners;
</ins><span class="cx"> return windowsWithUnloadEventListeners;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static DOMWindowSet& windowsWithBeforeUnloadEventListeners()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(DOMWindowSet, windowsWithBeforeUnloadEventListeners, ());
</del><ins>+ static NeverDestroyed<DOMWindowSet> 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 "WindowsKeyboardCodes.h"
</span><span class="cx"> #include <wtf/Assertions.h>
</span><span class="cx"> #include <wtf/CurrentTime.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/StdLibExtras.h>
</span><span class="cx"> #include <wtf/TemporaryChange.h>
</span><span class="cx"> #include <wtf/WeakPtr.h>
</span><span class="lines">@@ -401,7 +402,7 @@
</span><span class="cx"> #if ENABLE(DRAG_SUPPORT)
</span><span class="cx"> DragState& EventHandler::dragState()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(DragState, state, ());
</del><ins>+ static NeverDestroyed<DragState> 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& keyIdentifier)
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, Down, ("Down", AtomicString::ConstructFromLiteral));
- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, Up, ("Up", AtomicString::ConstructFromLiteral));
- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, Left, ("Left", AtomicString::ConstructFromLiteral));
- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, Right, ("Right", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> Down("Down", AtomicString::ConstructFromLiteral);
+ static NeverDestroyed<AtomicString> Up("Up", AtomicString::ConstructFromLiteral);
+ static NeverDestroyed<AtomicString> Left("Left", AtomicString::ConstructFromLiteral);
+ static NeverDestroyed<AtomicString> Right("Right", 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, ("\\w", TextCaseSensitive));
</del><ins>+ static NeverDestroyed<JSC::Yarr::RegularExpression> wordRegExp("\\w", 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)) >= 0;
- endsWithWordChar = wordRegExp.match(label.substring(label.length() - 1, 1)) >= 0;
</del><ins>+ startsWithWordChar = wordRegExp.get().match(label.substring(0, 1)) >= 0;
+ endsWithWordChar = wordRegExp.get().match(label.substring(label.length() - 1, 1)) >= 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 "NavigatorBase.h"
</span><span class="cx">
</span><span class="cx"> #include "NetworkStateNotifier.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/text/WTFString.h>
</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(&osname) >= 0 ? String(osname.sysname) + String(" ") + String(osname.machine) : emptyString()));
</del><ins>+ static NeverDestroyed<String> platformName(uname(&osname) >= 0 ? String(osname.sysname) + String(" ") + 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 "config.h"
</span><span class="cx"> #include "PageVisibilityState.h"
</span><span class="cx">
</span><ins>+#include <wtf/NeverDestroyed.h>
</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("visible")));
- DEPRECATED_DEFINE_STATIC_LOCAL(const String, hidden, (ASCIILiteral("hidden")));
- DEPRECATED_DEFINE_STATIC_LOCAL(const String, prerender, (ASCIILiteral("prerender")));
</del><ins>+ static NeverDestroyed<const String> visible(ASCIILiteral("visible"));
+ static NeverDestroyed<const String> hidden(ASCIILiteral("hidden"));
+ static NeverDestroyed<const String> prerender(ASCIILiteral("prerender"));
</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 "OriginAccessEntry.h"
</span><span class="cx"> #include "SecurityOrigin.h"
</span><span class="cx"> #include <memory>
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/text/StringHash.h>
</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& originAccessMap()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(OriginAccessMap, originAccessMap, ());
</del><ins>+ static NeverDestroyed<OriginAccessMap> 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 "UserContentURLPattern.h"
</span><span class="cx">
</span><span class="cx"> #include "URL.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/StdLibExtras.h>
</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& pattern)
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const String, schemeSeparator, (ASCIILiteral("://")));
</del><ins>+ static NeverDestroyed<const String> schemeSeparator(ASCIILiteral("://"));
</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 >= 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 <algorithm>
</span><span class="cx"> #include <memory>
</span><span class="cx"> #include <wtf/MathExtras.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/Noncopyable.h>
</span><span class="cx"> #include <wtf/PointerComparison.h>
</span><span class="cx"> #include <wtf/RefCounted.h>
</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<ShadowData> defaultShadowData(IntPoint(), 0, 0, Normal, false, Color::transparent);
+ static NeverDestroyed<ShadowData> defaultInsetShadowData(IntPoint(), 0, 0, Inset, false, Color::transparent);
+ static NeverDestroyed<ShadowData> defaultWebKitBoxShadowData(IntPoint(), 0, 0, Normal, true, Color::transparent);
+ static NeverDestroyed<ShadowData> 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->style() == Inset)
</span><del>- return otherShadow->isWebkitBoxShadow() ? &defaultInsetWebKitBoxShadowData : &defaultInsetShadowData;
</del><ins>+ return otherShadow->isWebkitBoxShadow() ? &defaultInsetWebKitBoxShadowData.get() : &defaultInsetShadowData.get();
</ins><span class="cx">
</span><del>- return otherShadow->isWebkitBoxShadow() ? &defaultWebKitBoxShadowData : &defaultShadowData;
</del><ins>+ return otherShadow->isWebkitBoxShadow() ? &defaultWebKitBoxShadowData.get() : &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 "Logging.h"
</span><span class="cx"> #include "RenderElement.h"
</span><span class="cx"> #include "RenderStyle.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/text/CString.h>
</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, ("none", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> none("none", 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->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 "Image.h"
</span><span class="cx"> #include "IntRect.h"
</span><span class="cx"> #include <wtf/Assertions.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</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& pointerCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::Pointer));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::Pointer);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& crossCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::Cross));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::Cross);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& handCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::Hand));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::Hand);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& moveCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::Move));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::Move);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& verticalTextCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::VerticalText));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::VerticalText);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& cellCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::Cell));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::Cell);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& contextMenuCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::ContextMenu));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::ContextMenu);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& aliasCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::Alias));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::Alias);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& zoomInCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::ZoomIn));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::ZoomIn);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& zoomOutCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::ZoomOut));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::ZoomOut);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& copyCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::Copy));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::Copy);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& noneCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::None));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::None);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& progressCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::Progress));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::Progress);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& noDropCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::NoDrop));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::NoDrop);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& notAllowedCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::NotAllowed));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::NotAllowed);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& iBeamCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::IBeam));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::IBeam);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& waitCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::Wait));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::Wait);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& helpCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::Help));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::Help);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& eastResizeCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::EastResize));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::EastResize);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& northResizeCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::NorthResize));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::NorthResize);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& northEastResizeCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::NorthEastResize));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::NorthEastResize);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& northWestResizeCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::NorthWestResize));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::NorthWestResize);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& southResizeCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::SouthResize));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::SouthResize);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& southEastResizeCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::SouthEastResize));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::SouthEastResize);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& southWestResizeCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::SouthWestResize));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::SouthWestResize);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& westResizeCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::WestResize));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::WestResize);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& northSouthResizeCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::NorthSouthResize));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::NorthSouthResize);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& eastWestResizeCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::EastWestResize));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::EastWestResize);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& northEastSouthWestResizeCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::NorthEastSouthWestResize));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::NorthEastSouthWestResize);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& northWestSouthEastResizeCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::NorthWestSouthEastResize));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::NorthWestSouthEastResize);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& columnResizeCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::ColumnResize));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::ColumnResize);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& rowResizeCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::RowResize));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::RowResize);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& middlePanningCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::MiddlePanning));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::MiddlePanning);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& eastPanningCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::EastPanning));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::EastPanning);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& northPanningCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::NorthPanning));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::NorthPanning);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& northEastPanningCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::NorthEastPanning));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::NorthEastPanning);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& northWestPanningCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::NorthWestPanning));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::NorthWestPanning);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& southPanningCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::SouthPanning));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::SouthPanning);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& southEastPanningCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::SouthEastPanning));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::SouthEastPanning);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& southWestPanningCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::SouthWestPanning));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::SouthWestPanning);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& westPanningCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::WestPanning));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::WestPanning);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& grabCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::Grab));
</del><ins>+ static NeverDestroyed<Cursor> c(Cursor::Grab);
</ins><span class="cx"> return c;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Cursor& grabbingCursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Cursor, c, (Cursor::Grabbing));
</del><ins>+ static NeverDestroyed<Cursor> 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<String>& preferredLanguagesOverride()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Vector<String>, override, ());
</del><ins>+ static NeverDestroyed<Vector<String>> 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 "NotImplemented.h"
</span><span class="cx"> #include "TextBreakIterator.h"
</span><span class="cx"> #include <wtf/MathExtras.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/unicode/CharacterNames.h>
</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, (&horizontalEllipsis, 1));
</del><ins>+ static NeverDestroyed<String> ellipsis(&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 <wtf/HashMap.h>
</span><span class="cx"> #include <wtf/HashSet.h>
</span><span class="cx"> #include <wtf/MainThread.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/StdLibExtras.h>
</span><span class="cx"> #include <wtf/text/StringHash.h>
</span><span class="cx">
</span><span class="lines">@@ -352,16 +353,16 @@
</span><span class="cx">
</span><span class="cx"> static MediaMIMETypeMap& mediaMIMETypeMap()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(MediaMIMETypeMap, mediaMIMETypeForExtensionMap, ());
</del><ins>+ static NeverDestroyed<MediaMIMETypeMap> 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 < numPairs; ++ndx) {
</span><span class="cx">
</span><del>- if (mediaMIMETypeForExtensionMap.contains(commonMediaTypes[ndx].extension))
- mediaMIMETypeForExtensionMap.get(commonMediaTypes[ndx].extension)->append(commonMediaTypes[ndx].type);
</del><ins>+ if (mediaMIMETypeForExtensionMap.get().contains(commonMediaTypes[ndx].extension))
+ mediaMIMETypeForExtensionMap.get().get(commonMediaTypes[ndx].extension)->append(commonMediaTypes[ndx].type);
</ins><span class="cx"> else {
</span><span class="cx"> Vector<String>* synonyms = new Vector<String>;
</span><span class="cx">
</span><span class="lines">@@ -371,7 +372,7 @@
</span><span class="cx"> if (!systemType.isEmpty() && commonMediaTypes[ndx].type != systemType)
</span><span class="cx"> synonyms->append(systemType);
</span><span class="cx"> synonyms->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& defaultMIMEType()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const String, defaultMIMEType, (ASCIILiteral("application/octet-stream")));
</del><ins>+ static NeverDestroyed<const String> defaultMIMEType(ASCIILiteral("application/octet-stream"));
</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& localURLSchemes()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(URLSchemesMap, localSchemes, ());
</del><ins>+ static NeverDestroyed<URLSchemesMap> localSchemes;
</ins><span class="cx">
</span><del>- if (localSchemes.isEmpty()) {
- localSchemes.add("file");
</del><ins>+ if (localSchemes.get().isEmpty()) {
+ localSchemes.get().add("file");
</ins><span class="cx"> #if PLATFORM(COCOA)
</span><del>- localSchemes.add("applewebdata");
</del><ins>+ localSchemes.get().add("applewebdata");
</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& displayIsolatedURLSchemes()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(URLSchemesMap, displayIsolatedSchemes, ());
</del><ins>+ static NeverDestroyed<URLSchemesMap> displayIsolatedSchemes;
</ins><span class="cx"> return displayIsolatedSchemes;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static URLSchemesMap& secureSchemes()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(URLSchemesMap, secureSchemes, ());
</del><ins>+ static NeverDestroyed<URLSchemesMap> secureSchemes;
</ins><span class="cx">
</span><del>- if (secureSchemes.isEmpty()) {
- secureSchemes.add("https");
- secureSchemes.add("about");
- secureSchemes.add("data");
- secureSchemes.add("wss");
</del><ins>+ if (secureSchemes.get().isEmpty()) {
+ secureSchemes.get().add("https");
+ secureSchemes.get().add("about");
+ secureSchemes.get().add("data");
+ secureSchemes.get().add("wss");
</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& schemesWithUniqueOrigins()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(URLSchemesMap, schemesWithUniqueOrigins, ());
</del><ins>+ static NeverDestroyed<URLSchemesMap> schemesWithUniqueOrigins;
</ins><span class="cx">
</span><del>- if (schemesWithUniqueOrigins.isEmpty()) {
- schemesWithUniqueOrigins.add("about");
- schemesWithUniqueOrigins.add("javascript");
</del><ins>+ if (schemesWithUniqueOrigins.get().isEmpty()) {
+ schemesWithUniqueOrigins.get().add("about");
+ schemesWithUniqueOrigins.get().add("javascript");
</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("data");
</del><ins>+ schemesWithUniqueOrigins.get().add("data");
</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& emptyDocumentSchemes()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(URLSchemesMap, emptyDocumentSchemes, ());
</del><ins>+ static NeverDestroyed<URLSchemesMap> emptyDocumentSchemes;
</ins><span class="cx">
</span><del>- if (emptyDocumentSchemes.isEmpty())
- emptyDocumentSchemes.add("about");
</del><ins>+ if (emptyDocumentSchemes.get().isEmpty())
+ emptyDocumentSchemes.get().add("about");
</ins><span class="cx">
</span><span class="cx"> return emptyDocumentSchemes;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static HashSet<String>& schemesForbiddenFromDomainRelaxation()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(HashSet<String>, schemes, ());
</del><ins>+ static NeverDestroyed<HashSet<String>> schemes;
</ins><span class="cx"> return schemes;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static URLSchemesMap& canDisplayOnlyIfCanRequestSchemes()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(URLSchemesMap, canDisplayOnlyIfCanRequestSchemes, ());
</del><ins>+ static NeverDestroyed<URLSchemesMap> canDisplayOnlyIfCanRequestSchemes;
</ins><span class="cx">
</span><del>- if (canDisplayOnlyIfCanRequestSchemes.isEmpty()) {
- canDisplayOnlyIfCanRequestSchemes.add("blob");
</del><ins>+ if (canDisplayOnlyIfCanRequestSchemes.get().isEmpty()) {
+ canDisplayOnlyIfCanRequestSchemes.get().add("blob");
</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& notAllowingJavascriptURLsSchemes()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(URLSchemesMap, notAllowingJavascriptURLsSchemes, ());
</del><ins>+ static NeverDestroyed<URLSchemesMap> 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& schemesAllowingLocalStorageAccessInPrivateBrowsing()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(URLSchemesMap, schemesAllowingLocalStorageAccessInPrivateBrowsing, ());
</del><ins>+ static NeverDestroyed<URLSchemesMap> schemesAllowingLocalStorageAccessInPrivateBrowsing;
</ins><span class="cx"> return schemesAllowingLocalStorageAccessInPrivateBrowsing;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static URLSchemesMap& schemesAllowingDatabaseAccessInPrivateBrowsing()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(URLSchemesMap, schemesAllowingDatabaseAccessInPrivateBrowsing, ());
</del><ins>+ static NeverDestroyed<URLSchemesMap> schemesAllowingDatabaseAccessInPrivateBrowsing;
</ins><span class="cx"> return schemesAllowingDatabaseAccessInPrivateBrowsing;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static URLSchemesMap& 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<URLSchemesMap> CORSEnabledSchemes;
</ins><span class="cx">
</span><del>- if (CORSEnabledSchemes.isEmpty()) {
- CORSEnabledSchemes.add("http");
- CORSEnabledSchemes.add("https");
</del><ins>+ if (CORSEnabledSchemes.get().isEmpty()) {
+ CORSEnabledSchemes.get().add("http");
+ CORSEnabledSchemes.get().add("https");
</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& ContentSecurityPolicyBypassingSchemes()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(URLSchemesMap, schemes, ());
</del><ins>+ static NeverDestroyed<URLSchemesMap> 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 "ScrollbarThemeMock.h"
</span><span class="cx"> #include "Settings.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><span class="cx"> ScrollbarTheme& 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<ScrollbarThemeMock> 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& blankURL()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(URL, staticBlankURL, (ParsedURLString, "about:blank"));
</del><ins>+ static NeverDestroyed<URL> staticBlankURL(ParsedURLString, "about:blank");
</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 "config.h"
</span><span class="cx"> #include "Animation.h"
</span><span class="cx">
</span><ins>+#include <wtf/NeverDestroyed.h>
+
</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& Animation::initialName()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(String, initialValue, (ASCIILiteral("none")));
</del><ins>+ static NeverDestroyed<String> initialValue(ASCIILiteral("none"));
</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 "NotImplemented.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><span class="cx"> AudioSession& AudioSession::sharedSession()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AudioSession, session, ());
</del><ins>+ static NeverDestroyed<AudioSession> 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 <memory>
</span><span class="cx"> #include <wtf/HashSet.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/Noncopyable.h>
</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<AudioSession>;
</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 "HRTFPanner.h"
</span><span class="cx"> #include <algorithm>
</span><span class="cx"> #include <math.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</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& subjectName)
</span><span class="cx"> {
</span><span class="cx"> typedef HashMap<String, AudioBus*> AudioBusMap;
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AudioBusMap, audioBusMap, ());
</del><ins>+ static NeverDestroyed<AudioBusMap> 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<AudioBus> 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->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 <AudioToolbox/AudioServices.h>
</span><span class="cx"> #include <WebCore/RuntimeApplicationChecksIOS.h>
</span><span class="cx"> #include <wtf/HashSet.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</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<AudioDestinationIOS*> AudioDestinationSet;
</span><span class="cx"> static AudioDestinationSet& audioDestinations()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AudioDestinationSet, audioDestinationSet, ());
</del><ins>+ static NeverDestroyed<AudioDestinationSet> 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 "RotateTransformOperation.h"
</span><span class="cx"> #include "TextStream.h"
</span><span class="cx"> #include <wtf/HashMap.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/text/CString.h>
</span><span class="cx"> #include <wtf/text/StringBuilder.h>
</span><span class="cx"> #include <wtf/text/WTFString.h>
</span><span class="lines">@@ -47,7 +48,7 @@
</span><span class="cx"> typedef HashMap<const GraphicsLayer*, Vector<FloatRect>> RepaintMap;
</span><span class="cx"> static RepaintMap& repaintRectMap()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(RepaintMap, map, ());
</del><ins>+ static NeverDestroyed<RepaintMap> 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 "GraphicsContext.h"
</span><span class="cx"> #include "IntRect.h"
</span><span class="cx"> #include <wtf/MathExtras.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</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<int>, deviceRgbLUT, ());
- DEPRECATED_DEFINE_STATIC_LOCAL(Vector<int>, linearRgbLUT, ());
</del><ins>+ static NeverDestroyed<Vector<int>> deviceRgbLUT;
+ static NeverDestroyed<Vector<int>> 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 < 256; i++) {
</span><span class="cx"> float color = i / 255.0f;
</span><span class="cx"> color = (color <= 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<int>(round(color * 255)));
</del><ins>+ linearRgbLUT.get().append(static_cast<int>(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 < 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<int>(round(color * 255)));
</del><ins>+ deviceRgbLUT.get().append(static_cast<int>(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& applicationOctetStream()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, applicationOctetStream, ("application/octet-stream", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> applicationOctetStream("application/octet-stream", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return applicationOctetStream;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static const AtomicString& textPlain()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, textPlain, ("text/plain", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> textPlain("text/plain", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return textPlain;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static const AtomicString& codecs()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, codecs, ("codecs", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> codecs("codecs", 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 "ImageBuffer.h"
</span><span class="cx"> #include "Timer.h"
</span><span class="cx"> #include <wtf/MathExtras.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/Noncopyable.h>
</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& ScratchBuffer::singleton()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(ScratchBuffer, scratchBuffer, ());
</del><ins>+ static NeverDestroyed<ScratchBuffer> 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<MediaPlayer*, MediaPlayerPrivateAVFoundationObjC*> PlayerToPrivateMapType;
</span><span class="cx"> static PlayerToPrivateMapType& playerToPrivateMap()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(PlayerToPrivateMapType, map, ());
</del><ins>+ static NeverDestroyed<PlayerToPrivateMapType> 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 "Filter.h"
</span><span class="cx"> #include "GraphicsContext.h"
</span><span class="cx"> #include "TextStream.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/StdLibExtras.h>
</span><span class="cx"> #include <wtf/text/WTFString.h>
</span><span class="cx">
</span><span class="lines">@@ -36,7 +37,7 @@
</span><span class="cx">
</span><span class="cx"> const AtomicString& SourceAlpha::effectName()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, s_effectName, ("SourceAlpha", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> s_effectName("SourceAlpha", 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 "Filter.h"
</span><span class="cx"> #include "GraphicsContext.h"
</span><span class="cx"> #include "TextStream.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/StdLibExtras.h>
</span><span class="cx"> #include <wtf/text/WTFString.h>
</span><span class="cx">
</span><span class="lines">@@ -35,7 +36,7 @@
</span><span class="cx">
</span><span class="cx"> const AtomicString& SourceGraphic::effectName()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, s_effectName, ("SourceGraphic", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> s_effectName("SourceGraphic", 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 "WebCoreSystemInterface.h"
</span><span class="cx"> #import <QTKit/QTKit.h>
</span><span class="cx"> #import <objc/runtime.h>
</span><ins>+#import <wtf/NeverDestroyed.h>
</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<String> mimeCommonTypesCache()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(HashSet<String>, cache, ());
</del><ins>+ static NeverDestroyed<HashSet<String>> 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<String> mimeModernTypesCache()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(HashSet<String>, cache, ());
</del><ins>+ static NeverDestroyed<HashSet<String>> 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 "config.h"
</span><span class="cx"> #include "Cursor.h"
</span><span class="cx">
</span><ins>+#include <wtf/NeverDestroyed.h>
+
</ins><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><span class="cx"> static const Cursor& cursor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const Cursor, cursor, ());
</del><ins>+ static NeverDestroyed<const Cursor> 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 "WAKWindow.h"
</span><span class="cx"> #include <algorithm>
</span><span class="cx"> #include <functional>
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx">
</span><span class="cx"> #if __has_include(<WebKitAdditions/LayerBackingStoreAdditions.mm>)
</span><span class="cx"> #import <WebKitAdditions/LayerBackingStoreAdditions.mm>
</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 "MemoryPressureHandler.h"
</span><span class="cx"> #include "TileController.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</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& tileControllerMemoryHandler()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(TileControllerMemoryHandler, staticTileControllerMemoryHandler, ());
</del><ins>+ static NeverDestroyed<TileControllerMemoryHandler> 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 <wtf/ListHashSet.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</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& tileControllerMemoryHandler();
</span><ins>+ friend class NeverDestroyed<TileControllerMemoryHandler>;
</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 <CoreLocation/CoreLocation.h>
</span><span class="cx"> #import <objc/objc-runtime.h>
</span><span class="cx"> #import <wtf/MathExtras.h>
</span><ins>+#import <wtf/NeverDestroyed.h>
</ins><span class="cx"> #import <wtf/PassRefPtr.h>
</span><span class="cx"> #import <wtf/RetainPtr.h>
</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<WebCoreMotionManager>, sharedMotionManager, ([[WebCoreMotionManager alloc] init]));
- return sharedMotionManager.get();
</del><ins>+ static NeverDestroyed<RetainPtr<WebCoreMotionManager>> 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->mediaControlsHost()) {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(String, airplay, (ASCIILiteral("airplay")));
- DEPRECATED_DEFINE_STATIC_LOCAL(String, tvout, (ASCIILiteral("tvout")));
</del><ins>+ static NeverDestroyed<String> airplay(ASCIILiteral("airplay"));
+ static NeverDestroyed<String> tvout(ASCIILiteral("tvout"));
</ins><span class="cx">
</span><span class="cx"> String type = m_videoElement->mediaControlsHost()->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 "JSDOMBinding.h"
</span><span class="cx"> #include "WebCoreThread.h"
</span><span class="cx"> #include <wtf/HashMap.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</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<void *, void *> VoidVoidMap;
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(VoidVoidMap, observedContentModifiers, ());
- return &observedContentModifiers;
</del><ins>+ static NeverDestroyed<VoidVoidMap> observedContentModifiers;
+ return &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 "ResourceResponse.h"
</span><span class="cx"> #import "StringTruncator.h"
</span><span class="cx"> #import "TextRun.h"
</span><ins>+#import <wtf/NeverDestroyed.h>
</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& 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<FontCascade> 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 "ScrollView.h"
</span><span class="cx"> #import "WebCoreSystemInterface.h"
</span><span class="cx"> #import <Carbon/Carbon.h>
</span><ins>+#import <wtf/NeverDestroyed.h>
</ins><span class="cx"> #import <wtf/StdLibExtras.h>
</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 &themeMac;
</del><ins>+ static NeverDestroyed<ThemeMac> themeMac;
+ return &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 "ThreadCheck.h"
</span><span class="cx">
</span><span class="cx"> #import <wtf/HashSet.h>
</span><ins>+#import <wtf/NeverDestroyed.h>
</ins><span class="cx"> #import <wtf/StdLibExtras.h>
</span><span class="cx"> #include <wtf/text/StringHash.h>
</span><span class="cx">
</span><span class="lines">@@ -98,12 +99,12 @@
</span><span class="cx"> if (round >= MaximumThreadViolationRound)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(HashSet<String>, loggedFunctions, ());
</del><ins>+ static NeverDestroyed<HashSet<String>> 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(@"WebKit Threading Violation - %s called from secondary thread", function);
</span><span class="cx"> NSLog(@"Additional threading violations for this function will not be logged.");
</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 "MediaStreamTrackSourcesRequestClient.h"
</span><span class="cx"> #include "RealtimeMediaSource.h"
</span><span class="cx"> #include "RealtimeMediaSourceSupportedConstraints.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/RetainPtr.h>
</span><span class="cx"> #include <wtf/text/WTFString.h>
</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<AVCaptureDeviceManager>;
</ins><span class="cx"> public:
</span><span class="cx"> virtual Vector<CaptureDeviceInfo>& 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& AVCaptureDeviceManager::singleton()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AVCaptureDeviceManager, manager, ());
</del><ins>+ static NeverDestroyed<AVCaptureDeviceManager> 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& RealtimeMediaSourceCenter::platformCenter()
</span><span class="cx"> {
</span><span class="cx"> ASSERT(isMainThread());
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(RealtimeMediaSourceCenterMac, center, ());
</del><ins>+ static NeverDestroyed<RealtimeMediaSourceCenterMac> 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 <runtime/ArrayBuffer.h>
</span><span class="cx"> #include <runtime/DataView.h>
</span><span class="cx"> #include <runtime/Int8Array.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/text/StringBuilder.h>
</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& MockTrackBox::type()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(String, trak, (ASCIILiteral("trak")));
</del><ins>+ static NeverDestroyed<String> trak(ASCIILiteral("trak"));
</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& MockInitializationBox::type()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(String, init, (ASCIILiteral("init")));
</del><ins>+ static NeverDestroyed<String> init(ASCIILiteral("init"));
</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& MockSampleBox::type()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(String, smpl, (ASCIILiteral("smpl")));
</del><ins>+ static NeverDestroyed<String> smpl(ASCIILiteral("smpl"));
</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 "ContentSecurityPolicy.h"
</span><span class="cx"> #include <wtf/DateMath.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/text/CString.h>
</span><span class="cx"> #include <wtf/text/StringBuilder.h>
</span><span class="cx"> #include <wtf/text/WTFString.h>
</span><span class="lines">@@ -365,14 +366,14 @@
</span><span class="cx">
</span><span class="cx"> ContentSecurityPolicy::ReflectedXSSDisposition parseXSSProtectionHeader(const String& header, String& failureReason, unsigned& failurePosition, String& reportURL)
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(String, failureReasonInvalidToggle, (ASCIILiteral("expected 0 or 1")));
- DEPRECATED_DEFINE_STATIC_LOCAL(String, failureReasonInvalidSeparator, (ASCIILiteral("expected semicolon")));
- DEPRECATED_DEFINE_STATIC_LOCAL(String, failureReasonInvalidEquals, (ASCIILiteral("expected equals sign")));
- DEPRECATED_DEFINE_STATIC_LOCAL(String, failureReasonInvalidMode, (ASCIILiteral("invalid mode directive")));
- DEPRECATED_DEFINE_STATIC_LOCAL(String, failureReasonInvalidReport, (ASCIILiteral("invalid report directive")));
- DEPRECATED_DEFINE_STATIC_LOCAL(String, failureReasonDuplicateMode, (ASCIILiteral("duplicate mode directive")));
- DEPRECATED_DEFINE_STATIC_LOCAL(String, failureReasonDuplicateReport, (ASCIILiteral("duplicate report directive")));
- DEPRECATED_DEFINE_STATIC_LOCAL(String, failureReasonInvalidDirective, (ASCIILiteral("unrecognized directive")));
</del><ins>+ static NeverDestroyed<String> failureReasonInvalidToggle(ASCIILiteral("expected 0 or 1"));
+ static NeverDestroyed<String> failureReasonInvalidSeparator(ASCIILiteral("expected semicolon"));
+ static NeverDestroyed<String> failureReasonInvalidEquals(ASCIILiteral("expected equals sign"));
+ static NeverDestroyed<String> failureReasonInvalidMode(ASCIILiteral("invalid mode directive"));
+ static NeverDestroyed<String> failureReasonInvalidReport(ASCIILiteral("invalid report directive"));
+ static NeverDestroyed<String> failureReasonDuplicateMode(ASCIILiteral("duplicate mode directive"));
+ static NeverDestroyed<String> failureReasonDuplicateReport(ASCIILiteral("duplicate report directive"));
+ static NeverDestroyed<String> failureReasonInvalidDirective(ASCIILiteral("unrecognized directive"));
</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 "Timer.h"
</span><span class="cx"> #include <algorithm>
</span><span class="cx"> #include <wtf/MainThread.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/text/CString.h>
</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<BuiltinResourceHandleConstructorMap> 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& builtinResourceHandleSynchronousLoaderMap()
</span><span class="cx"> {
</span><span class="cx"> ASSERT(isMainThread());
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(BuiltinResourceHandleSynchronousLoaderMap, map, ());
</del><ins>+ static NeverDestroyed<BuiltinResourceHandleSynchronousLoaderMap> 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 <sys/stat.h>
</span><span class="cx"> #include <sys/types.h>
</span><span class="cx"> #include <wtf/HashMap.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/Ref.h>
</span><span class="cx"> #include <wtf/Threading.h>
</span><span class="cx"> #include <wtf/text/Base64.h>
</span><span class="lines">@@ -83,14 +84,14 @@
</span><span class="cx">
</span><span class="cx"> static HashSet<String>& allowsAnyHTTPSCertificateHosts()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(HashSet<String>, hosts, ());
</del><ins>+ static NeverDestroyed<HashSet<String>> hosts;
</ins><span class="cx"> return hosts;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static HashMap<String, RetainPtr<CFDataRef>>& clientCerts()
</span><span class="cx"> {
</span><span class="cx"> typedef HashMap<String, RetainPtr<CFDataRef>> CertsMap;
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(CertsMap, certs, ());
</del><ins>+ static NeverDestroyed<CertsMap> 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 <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/text/AtomicString.h>
</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& 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<T> 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<RetainPtr<CFLocaleRef>>& cfLocaleCache()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicStringKeyedMRUCache<RetainPtr<CFLocaleRef>>, cache, ());
</del><ins>+ static NeverDestroyed<AtomicStringKeyedMRUCache<RetainPtr<CFLocaleRef>>> 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 &table;
</del><ins>+ static NeverDestroyed<ContinuationOutlineTableMap> table;
+ return &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& counterMaps()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(CounterMaps, staticCounterMaps, ());
</del><ins>+ static NeverDestroyed<CounterMaps> 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, (&horizontalEllipsis, 1));
</del><ins>+ static NeverDestroyed<AtomicString> ellipsisAndSpaceStr(ellipsisAndSpace, 2);
+ static NeverDestroyed<AtomicString> ellipsisStr(&horizontalEllipsis, 1);
</ins><span class="cx"> const RenderStyle& lineStyle = numVisibleLines == 1 ? firstLineStyle() : style();
</span><span class="cx"> const FontCascade& 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<Image> resizeCornerImage;
</span><span class="cx"> FloatSize cornerResizerSize;
</span><span class="cx"> if (renderer().document().deviceScaleFactor() >= 2) {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Image*, resizeCornerImageHiRes, (Image::loadPlatformResource("textAreaResizeCorner@2x").leakRef()));
</del><ins>+ static NeverDestroyed<Image*> resizeCornerImageHiRes(Image::loadPlatformResource("textAreaResizeCorner@2x").leakRef());
</ins><span class="cx"> resizeCornerImage = resizeCornerImageHiRes;
</span><span class="cx"> cornerResizerSize = resizeCornerImage->size();
</span><span class="cx"> cornerResizerSize.scale(0.5f);
</span><span class="cx"> } else {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Image*, resizeCornerImageLoRes, (Image::loadPlatformResource("textAreaResizeCorner").leakRef()));
</del><ins>+ static NeverDestroyed<Image*> resizeCornerImageLoRes(Image::loadPlatformResource("textAreaResizeCorner").leakRef());
</ins><span class="cx"> resizeCornerImage = resizeCornerImageLoRes;
</span><span class="cx"> cornerResizerSize = resizeCornerImage->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 "config.h"
</span><span class="cx"> #include "RenderScrollbarTheme.h"
</span><span class="cx"> #include "RenderScrollbar.h"
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/StdLibExtras.h>
</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 &theme;
</del><ins>+ static NeverDestroyed<RenderScrollbarTheme> theme;
+ return &theme.get();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void RenderScrollbarTheme::buttonSizesAlongTrackAxis(Scrollbar& scrollbar, int& beforeSize, int& 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& customFocusRingColor()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Color, color, ());
</del><ins>+ static NeverDestroyed<Color> 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& WidgetHierarchyUpdatesSuspensionScope::widgetNewParentMap()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(WidgetToParentMap, map, ());
</del><ins>+ static NeverDestroyed<WidgetToParentMap> 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 "LayoutSize.h"
</span><span class="cx"> #include "Shape.h"
</span><span class="cx"> #include <wtf/HashMap.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</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<const RenderBox*, std::unique_ptr<ShapeOutsideInfo>> InfoMap;
</span><span class="cx"> static InfoMap& infoMap()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(InfoMap, staticInfoMap, ());
</del><ins>+ static NeverDestroyed<InfoMap> 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, (&hyphenMinus, 1));
- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, hyphenString, (&hyphen, 1));
</del><ins>+ static NeverDestroyed<AtomicString> hyphenMinusString(&hyphenMinus, 1);
+ static NeverDestroyed<AtomicString> hyphenString(&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, (&bullet, 1));
- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, openDotString, (&whiteBullet, 1));
</del><ins>+ static NeverDestroyed<AtomicString> filledDotString(&bullet, 1);
+ static NeverDestroyed<AtomicString> openDotString(&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, (&blackCircle, 1));
- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, openCircleString, (&whiteCircle, 1));
</del><ins>+ static NeverDestroyed<AtomicString> filledCircleString(&blackCircle, 1);
+ static NeverDestroyed<AtomicString> openCircleString(&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, (&fisheye, 1));
- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, openDoubleCircleString, (&bullseye, 1));
</del><ins>+ static NeverDestroyed<AtomicString> filledDoubleCircleString(&fisheye, 1);
+ static NeverDestroyed<AtomicString> openDoubleCircleString(&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, (&blackUpPointingTriangle, 1));
- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, openTriangleString, (&whiteUpPointingTriangle, 1));
</del><ins>+ static NeverDestroyed<AtomicString> filledTriangleString(&blackUpPointingTriangle, 1);
+ static NeverDestroyed<AtomicString> openTriangleString(&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, (&sesameDot, 1));
- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, openSesameString, (&whiteSesameDot, 1));
</del><ins>+ static NeverDestroyed<AtomicString> filledSesameString(&sesameDot, 1);
+ static NeverDestroyed<AtomicString> openSesameString(&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<StyleDashboardRegion>& RenderStyle::initialDashboardRegions()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Vector<StyleDashboardRegion>, emptyList, ());
</del><ins>+ static NeverDestroyed<Vector<StyleDashboardRegion>> emptyList;
</ins><span class="cx"> return emptyList;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const Vector<StyleDashboardRegion>& RenderStyle::noneDashboardRegions()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Vector<StyleDashboardRegion>, noneList, ());
</del><ins>+ static NeverDestroyed<Vector<StyleDashboardRegion>> 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 "UnicodeBidi.h"
</span><span class="cx"> #include <memory>
</span><span class="cx"> #include <wtf/Forward.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/RefCounted.h>
</span><span class="cx"> #include <wtf/StdLibExtras.h>
</span><span class="cx"> #include <wtf/Vector.h>
</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& initialTransform() { DEPRECATED_DEFINE_STATIC_LOCAL(TransformOperations, ops, ()); return ops; }
</del><ins>+ static const TransformOperations& initialTransform() { static NeverDestroyed<TransformOperations> 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<StyleDashboardRegion>& initialDashboardRegions();
</span><span class="cx"> static const Vector<StyleDashboardRegion>& noneDashboardRegions();
</span><span class="cx"> #endif
</span><del>- static const FilterOperations& initialFilter() { DEPRECATED_DEFINE_STATIC_LOCAL(FilterOperations, ops, ()); return ops; }
</del><ins>+ static const FilterOperations& initialFilter() { static NeverDestroyed<FilterOperations> ops; return ops; }
</ins><span class="cx"> #if ENABLE(FILTERS_LEVEL_2)
</span><del>- static const FilterOperations& initialBackdropFilter() { DEPRECATED_DEFINE_STATIC_LOCAL(FilterOperations, ops, ()); return ops; }
</del><ins>+ static const FilterOperations& initialBackdropFilter() { static NeverDestroyed<FilterOperations> 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& linecapPosition) const
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Path, tempPath, ());
</del><ins>+ static NeverDestroyed<Path> 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->strokeWidth()));
</del><ins>+ tempPath.get().addRect(zeroLengthSubpathRect(linecapPosition, this->strokeWidth()));
</ins><span class="cx"> else
</span><del>- tempPath.addEllipse(zeroLengthSubpathRect(linecapPosition, this->strokeWidth()));
</del><ins>+ tempPath.get().addEllipse(zeroLengthSubpathRect(linecapPosition, this->strokeWidth()));
</ins><span class="cx">
</span><del>- return &tempPath;
</del><ins>+ return &tempPath.get();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> FloatRect RenderSVGPath::zeroLengthSubpathRect(const FloatPoint& 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& strokeTransform) const
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(Path, tempPath, ());
</del><ins>+ static NeverDestroyed<Path> 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 &tempPath;
</del><ins>+ return &tempPath.get();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool RenderSVGShape::setupNonScalingStrokeContext(AffineTransform& strokeTransform, GraphicsContextStateSaver& 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& currentContentTransformation()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AffineTransform, s_currentContentTransformation, ());
</del><ins>+ static NeverDestroyed<AffineTransform> 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<AtomicString>& clipperFilterMaskerTags()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(HashSet<AtomicString>, s_tagList, ());
- if (s_tagList.isEmpty()) {
</del><ins>+ static NeverDestroyed<HashSet<AtomicString>> s_tagList;
+ if (s_tagList.get().isEmpty()) {
</ins><span class="cx"> // "container elements": http://www.w3.org/TR/SVG11/intro.html#TermContainerElement
</span><span class="cx"> // "graphics elements" : 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 "clipPath" element or any of its children can specify property "clip-path".
</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<AtomicString>& markerTags()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(HashSet<AtomicString>, 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<HashSet<AtomicString>> 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<AtomicString>& fillAndStrokeTags()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(HashSet<AtomicString>, 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<HashSet<AtomicString>> 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<AtomicString>& chainableResourceTags()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(HashSet<AtomicString>, 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<HashSet<AtomicString>> 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 "ExceptionCode.h"
</span><span class="cx"> #include "SVGParserUtilities.h"
</span><span class="cx"> #include <wtf/MathExtras.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/text/StringView.h>
</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("deg")));
- return String::number(m_valueInSpecifiedUnits) + degString;
</del><ins>+ static NeverDestroyed<String> degString(ASCIILiteral("deg"));
+ 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("rad")));
- return String::number(m_valueInSpecifiedUnits) + radString;
</del><ins>+ static NeverDestroyed<String> radString(ASCIILiteral("rad"));
+ 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("grad")));
- return String::number(m_valueInSpecifiedUnits) + gradString;
</del><ins>+ static NeverDestroyed<String> gradString(ASCIILiteral("grad"));
+ 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& value)
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, currentColor, ("currentColor", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> currentColor("currentColor", 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, ("auto", AtomicString::ConstructFromLiteral));
- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, autoReverse, ("auto-reverse", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> autoVal("auto", AtomicString::ConstructFromLiteral);
+ static NeverDestroyed<const AtomicString> autoReverse("auto-reverse", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> const AtomicString& 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& calcMode)
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, discrete, ("discrete", AtomicString::ConstructFromLiteral));
- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, linear, ("linear", AtomicString::ConstructFromLiteral));
- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, paced, ("paced", AtomicString::ConstructFromLiteral));
- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, spline, ("spline", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> discrete("discrete", AtomicString::ConstructFromLiteral);
+ static NeverDestroyed<const AtomicString> linear("linear", AtomicString::ConstructFromLiteral);
+ static NeverDestroyed<const AtomicString> paced("paced", AtomicString::ConstructFromLiteral);
+ static NeverDestroyed<const AtomicString> spline("spline", 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& attributeType)
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, css, ("CSS", AtomicString::ConstructFromLiteral));
- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, xml, ("XML", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> css("CSS", AtomicString::ConstructFromLiteral);
+ static NeverDestroyed<const AtomicString> xml("XML", 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, ("sum", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> sum("sum", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> const AtomicString& 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, ("sum", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> sum("sum", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> const AtomicString& value = fastGetAttribute(SVGNames::accumulateAttr);
</span><span class="cx"> return value == sum && 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& attributeName, const String& value)
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, inherit, ("inherit", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> inherit("inherit", 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& SVGFEConvolveMatrixElement::kernelUnitLengthXIdentifier()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, ("SVGKernelUnitLengthX", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> s_identifier("SVGKernelUnitLengthX", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return s_identifier;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& SVGFEConvolveMatrixElement::kernelUnitLengthYIdentifier()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, ("SVGKernelUnitLengthY", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> s_identifier("SVGKernelUnitLengthY", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return s_identifier;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& SVGFEConvolveMatrixElement::orderXIdentifier()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, ("SVGOrderX", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> s_identifier("SVGOrderX", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return s_identifier;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& SVGFEConvolveMatrixElement::orderYIdentifier()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, ("SVGOrderY", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> s_identifier("SVGOrderY", 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& SVGFEDiffuseLightingElement::kernelUnitLengthXIdentifier()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, ("SVGKernelUnitLengthX", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> s_identifier("SVGKernelUnitLengthX", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return s_identifier;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& SVGFEDiffuseLightingElement::kernelUnitLengthYIdentifier()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, ("SVGKernelUnitLengthY", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> s_identifier("SVGKernelUnitLengthY", 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& SVGFEDropShadowElement::stdDeviationXIdentifier()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, ("SVGStdDeviationX", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> s_identifier("SVGStdDeviationX", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return s_identifier;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& SVGFEDropShadowElement::stdDeviationYIdentifier()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, ("SVGStdDeviationY", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> s_identifier("SVGStdDeviationY", 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& SVGFEGaussianBlurElement::stdDeviationXIdentifier()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, ("SVGStdDeviationX", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> s_identifier("SVGStdDeviationX", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return s_identifier;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& SVGFEGaussianBlurElement::stdDeviationYIdentifier()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, ("SVGStdDeviationY", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> s_identifier("SVGStdDeviationY", 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& SVGFEMorphologyElement::radiusXIdentifier()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, ("SVGRadiusX", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> s_identifier("SVGRadiusX", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return s_identifier;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& SVGFEMorphologyElement::radiusYIdentifier()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, ("SVGRadiusY", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> s_identifier("SVGRadiusY", 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& SVGFESpecularLightingElement::kernelUnitLengthXIdentifier()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, ("SVGKernelUnitLengthX", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> s_identifier("SVGKernelUnitLengthX", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return s_identifier;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& SVGFESpecularLightingElement::kernelUnitLengthYIdentifier()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, ("SVGKernelUnitLengthY", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> s_identifier("SVGKernelUnitLengthY", 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& SVGFETurbulenceElement::baseFrequencyXIdentifier()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, ("SVGBaseFrequencyX", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> s_identifier("SVGBaseFrequencyX", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return s_identifier;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& SVGFETurbulenceElement::baseFrequencyYIdentifier()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, ("SVGBaseFrequencyY", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> s_identifier("SVGBaseFrequencyY", 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& SVGFilterElement::filterResXIdentifier()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, ("SVGFilterResX", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> s_identifier("SVGFilterResX", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return s_identifier;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& SVGFilterElement::filterResYIdentifier()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, ("SVGFilterResY", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> s_identifier("SVGFilterResY", 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& svgGlyphForGlyph(Glyph glyph) const
</span><span class="cx"> {
</span><span class="cx"> if (!glyph || glyph > m_glyphTable.size()) {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(SVGGlyph, defaultGlyph, ());
</del><ins>+ static NeverDestroyed<SVGGlyph> 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& SVGLangSpace::xmlspace() const
</span><span class="cx"> {
</span><span class="cx"> if (!m_space) {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, defaultString, ("default", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> defaultString("default", 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<QualifiedName>& supportedAttributes)
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, xmlPrefix, ("xml", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> xmlPrefix("xml", 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& SVGMarkerElement::orientTypeIdentifier()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, ("SVGOrientType", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> s_identifier("SVGOrientType", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return s_identifier;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& SVGMarkerElement::orientAngleIdentifier()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, ("SVGOrientAngle", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> s_identifier("SVGOrientAngle", 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, ("auto", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> autoString("auto", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> ownerType.m_orientType.synchronize(&ownerType, orientTypePropertyInfo()->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& SVGStyleElement::type() const
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, defaultValue, ("text/css", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> defaultValue("text/css", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> const AtomicString& 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& type, ExceptionCode&)
</span><span class="lines">@@ -74,9 +74,9 @@
</span><span class="cx">
</span><span class="cx"> const AtomicString& SVGStyleElement::media() const
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, defaultValue, ("all", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> defaultValue("all", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> const AtomicString& 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& media, ExceptionCode&)
</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 "FloatSize.h"
</span><span class="cx"> #include "SVGAngle.h"
</span><span class="cx"> #include <wtf/MathExtras.h>
</span><ins>+#include <wtf/NeverDestroyed.h>
</ins><span class="cx"> #include <wtf/text/StringBuilder.h>
</span><span class="cx"> #include <wtf/text/WTFString.h>
</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("matrix(")));
</del><ins>+ static NeverDestroyed<String> matrixString(ASCIILiteral("matrix("));
</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("translate(")));
</del><ins>+ static NeverDestroyed<String> translateString(ASCIILiteral("translate("));
</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("scale(")));
</del><ins>+ static NeverDestroyed<String> scaleString(ASCIILiteral("scale("));
</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("rotate(")));
</del><ins>+ static NeverDestroyed<String> rotateString(ASCIILiteral("rotate("));
</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("skewX(")));
</del><ins>+ static NeverDestroyed<String> skewXString(ASCIILiteral("skewX("));
</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("skewY(")));
</del><ins>+ static NeverDestroyed<String> skewYString(ASCIILiteral("skewY("));
</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& SVGViewSpec::viewBoxIdentifier()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, ("SVGViewSpecViewBoxAttribute", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> s_identifier("SVGViewSpecViewBoxAttribute", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return s_identifier;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& SVGViewSpec::preserveAspectRatioIdentifier()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, ("SVGViewSpecPreserveAspectRatioAttribute", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> s_identifier("SVGViewSpecPreserveAspectRatioAttribute", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> return s_identifier;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& SVGViewSpec::transformIdentifier()
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(AtomicString, s_identifier, ("SVGViewSpecTransformAttribute", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<AtomicString> s_identifier("SVGViewSpecTransformAttribute", 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, ("indefinite", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> indefiniteValue("indefinite", 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& attrName)
</span><span class="cx"> {
</span><del>- DEPRECATED_DEFINE_STATIC_LOCAL(HashSet<QualifiedName>, 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<HashSet<QualifiedName>> 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<SVGAttributeHashTranslator>(attrName);
</del><ins>+ return supportedAttributes.get().contains<SVGAttributeHashTranslator>(attrName);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void SVGSMILElement::parseAttribute(const QualifiedName& name, const AtomicString& 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, ("never", AtomicString::ConstructFromLiteral));
- DEPRECATED_DEFINE_STATIC_LOCAL(const AtomicString, whenNotActive, ("whenNotActive", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> never("never", AtomicString::ConstructFromLiteral);
+ static NeverDestroyed<const AtomicString> whenNotActive("whenNotActive", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> const AtomicString& 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, ("freeze", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> freeze("freeze", AtomicString::ConstructFromLiteral);
</ins><span class="cx"> const AtomicString& 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, ("indefinite", AtomicString::ConstructFromLiteral));
</del><ins>+ static NeverDestroyed<const AtomicString> indefiniteValue("indefinite", 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<SVGSMILElement*>, loopBreaker, ());
- if (loopBreaker.contains(this))
</del><ins>+ static NeverDestroyed<HashSet<SVGSMILElement*>> 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& dependent : m_timeDependents) {
</span><span class="cx"> dependent->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>