<!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>[200361] 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/200361">200361</a></dd>
<dt>Author</dt> <dd>darin@apple.com</dd>
<dt>Date</dt> <dd>2016-05-02 22:47:34 -0700 (Mon, 02 May 2016)</dd>
</dl>
<h3>Log Message</h3>
<pre>Change IDL enumerations to be nested in their C++ class instead of at WebCore namespace level
https://bugs.webkit.org/show_bug.cgi?id=157257
Reviewed by Chris Dumez.
Source/WebCore:
Chris and Alex requested this alternate style, where the enum class for each enumeration
goes inside the class for the interface the enumeration is used in. Also made a rule that
keeps the names short and not redundant with the class name they are nested in.
* Modules/fetch/FetchOptions.h: Moved all the enum class types into the struct.
* Modules/fetch/FetchRequest.cpp:
(WebCore::setReferrerPolicy): Updated.
(WebCore::setMode): Ditto.
(WebCore::setCredentials): Ditto.
(WebCore::setCache): Ditto.
(WebCore::setRedirect): Ditto.
(WebCore::buildOptions): Ditto.
(WebCore::buildHeaders): Ditto.
(WebCore::FetchRequest::create): Ditto.
* Modules/fetch/FetchRequest.h: Used "using" to repeat the types from FetchOptions
here in FetchRequest. That way the generated bindings can find the types, and we don't
need to do any trick like [ImplementedAs] in thd IDL to make it work.
* Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::error): Updated.
(WebCore::FetchResponse::redirect): Ditto.
(WebCore::FetchResponse::FetchResponse): Ditto.
(WebCore::FetchResponse::startFetching): Ditto.
* Modules/fetch/FetchResponse.h: Moved enum class into the class.
* Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::externalDeviceType): Updated.
* Modules/mediacontrols/MediaControlsHost.h: Moved enum classs into the class.
* Modules/mediasession/MediaSession.cpp:
(WebCore::MediaSession::MediaSession): Updated.
* Modules/mediasession/MediaSession.h: Moved enum classs into the class.
* Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::addSourceBuffer): Updated.
(WebCore::MediaSource::removeSourceBuffer): Ditto.
* Modules/mediasource/MediaSource.h: Moved enum class into the class.
* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveRenderingError): Updated.
(WebCore::SourceBuffer::appendError): Ditto.
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Ditto.
(WebCore::SourceBuffer::textTrackModeChanged): Ditto.
* Modules/mediasource/SourceBuffer.h: Removed incorrect forward declaration
of EndOfStreamError that also now seems to be unneeded. Moved enum class into
the class.
* Modules/mediastream/MediaDeviceInfo.cpp:
(WebCore::MediaDeviceInfo::MediaDeviceInfo): Updated.
(WebCore::MediaDeviceInfo::create): Ditto.
* Modules/mediastream/MediaDeviceInfo.h: Moved enum class into the class.
* Modules/mediastream/MediaDevicesRequest.cpp:
(WebCore::MediaDevicesRequest::didCompleteTrackSourceInfoRequest): Updated.
* Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::readyState): Updated.
* Modules/mediastream/MediaStreamTrack.h: Moved enum class into the class.
* Modules/mediastream/RTCConfiguration.h: Moved enum classes into the class.
* Modules/webaudio/AudioContext.h: Moved enum class into the class.
* Modules/webaudio/WaveShaperNode.cpp:
(WebCore::processorType): Updated.
(WebCore::WaveShaperNode::oversample): Ditto.
* Modules/webaudio/WaveShaperNode.h: Moved enum class into the class.
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::response): Updated.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateGetOwnPropertySlotBody): Removed unneeded $interfaceName argument.
(GetAttributeGetterName): Ditto.
(GetAttributeSetterName): Ditto.
(GetFunctionName): Tweaked style.
(AttributeShouldBeOnInstanceForCompatibility): Deleted. Was a function that
always returned 0.
(AttributeShouldBeOnInstance): Removed the call to the function above.
(IsClassNameWordBoundary): Added. Helper for function below.
(IsPrefixRemovable): Ditto.
(GetEnumerationClassName): Added an $interface argument and changed this
so it creates a nested name inside the class rather than a top level name
for use at the WebCore namespace level.
(GetEnumerationClassIdentifier): Added. Calls GetEnumerationClassName and
makes a flattened name without "::" that can be used in an identifier.
(GenerateEnumerationImplementationContent): Renamed from GetXXX. Added an
$interface argument, so it can pass that along to the functions above.
(GenerateHeader): Updated to not pass $interfaceName.
(GeneratePropertiesHashTable): Ditto.
(GenerateOverloadedFunction): Removed unneeded $interfaceName argument.
(GenerateImplementation): Updated for changes above. Tweaked formatting.
(GenerateFunctionCastedThis): Removed unneeded $interfaceName argument.
(GenerateParametersCheck): Ditto. Also streamlined implementation a bit
and made the IsEnumType section call the new functions.
(GenerateCallbackImplementation): Ditto.
(JSValueToNative): Added an $interface argument and pass it along when
dealing with enumerations.
(GeneratePrototypeDeclaration): Removed unneeded $interfaceName argument.
(GenerateConstructorDeclaration): Ditto.
(GenerateConstructorDefinitions): Ditto.
(GenerateConstructorDefinition): Ditto.
(GenerateConstructorHelperMethods): Ditto.
* bindings/scripts/test/JS/JSTestObj.cpp: Regenerated.
* bindings/scripts/test/TestObj.idl: Added some new enums that test some
of the logic above.
* crypto/CryptoKey.cpp:
(WebCore::CryptoKey::CryptoKey): Updated.
(WebCore::CryptoKey::usages): Ditto.
* crypto/CryptoKey.h: Moved enum class types inside the CryptoKey class.
Added comments about the two similar but distinct types named
CryptoKeyUsage and CryptoKey::Usage.
* css/FontFace.cpp:
(WebCore::FontFace::status): Updated.
* css/FontFace.h: Moved enum class into the class.
* css/FontFaceSet.cpp:
(WebCore::FontFaceSet::status): Updated.
* css/FontFaceSet.h: Moved enum class into the class.
* dom/Document.cpp:
(WebCore::Document::Document): Updated for the name change back from
ReferrerHeaderPolicy to ReferrerPolicy.
(WebCore::Document::processReferrerPolicy): Ditto.
(WebCore::Document::applyContentDispositionAttachmentSandbox): Ditto.
* dom/Document.h: More of the same.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::loadInternal): Updated.
(WebCore::HTMLMediaElement::textTrackModeChanged): Ditto.
(WebCore::HTMLMediaElement::textTrackKindChanged): Ditto.
(WebCore::HTMLMediaElement::textTrackAddCues): Ditto.
(WebCore::HTMLMediaElement::textTrackAddCue): Ditto.
(WebCore::HTMLMediaElement::addTextTrack): Ditto.
(WebCore::HTMLMediaElement::configureTextTrackGroup): Ditto.
(WebCore::HTMLMediaElement::setSelectedTextTrack): Ditto.
(WebCore::HTMLMediaElement::configureTextTracks): Ditto.
(WebCore::HTMLMediaElement::hasClosedCaptions): Ditto.
(WebCore::HTMLMediaElement::configureTextTrackDisplay): Ditto.
(WebCore::HTMLMediaElement::markCaptionAndSubtitleTracksAsUnconfigured): Ditto.
(WebCore::toPlatform): Ditto.
(WebCore::HTMLMediaElement::outOfBandTrackSources): Ditto.
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::scheduleLoad): Ditto.
* html/HTMLVideoElement.h: Moved enum class into class.
* html/HTMLVideoElement.idl: Added the missing conditional on
VideoPresentationMode, and also moved it to the bottom of the file
to work around what is apparently a bug in the IDL parser.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::toWindRule): Updated.
(WebCore::CanvasRenderingContext2D::fill): Ditto.
(WebCore::CanvasRenderingContext2D::clip): Ditto.
(WebCore::CanvasRenderingContext2D::fillInternal): Ditto.
(WebCore::CanvasRenderingContext2D::clipInternal): Ditto.
(WebCore::CanvasRenderingContext2D::isPointInPath): Ditto.
(WebCore::CanvasRenderingContext2D::isPointInPathInternal): Ditto.
(WebCore::smoothingToInterpolationQuality): Ditto.
* html/canvas/CanvasRenderingContext2D.h: Moved enum class types into the class.
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay): Updated.
(WebCore::MediaControlTextTrackContainerElement::updateDisplay): Ditto.
* html/track/InbandTextTrack.cpp:
(WebCore::InbandTextTrack::setMode): Updated.
(WebCore::toPrivate): Ditto.
(WebCore::InbandTextTrack::setModeInternal): Ditto.
(WebCore::InbandTextTrack::updateKindFromPrivate): Ditto.
* html/track/InbandTextTrack.h: Ditto.
* html/track/TextTrack.cpp:
(WebCore::TextTrack::TextTrack): Ditto.
(WebCore::TextTrack::enabled): Ditto.
(WebCore::TextTrack::kindKeyword): Ditto.
(WebCore::TextTrack::setKind): Ditto.
(WebCore::TextTrack::setKindKeywordIgnoringASCIICase): Ditto.
(WebCore::TextTrack::setMode): Ditto.
(WebCore::TextTrack::cues): Ditto.
(WebCore::TextTrack::activeCues): Ditto.
(WebCore::TextTrack::addCue): Ditto.
(WebCore::TextTrack::regions): Ditto.
(WebCore::TextTrack::isRendered): Ditto.
(WebCore::TextTrack::isMainProgramContent): Ditto.
(WebCore::TextTrack::containsOnlyForcedSubtitles): Ditto.
* html/track/TextTrack.h: Moved enum class types into the class.
* html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::dispatchEvent): Updated.
(WebCore::TextTrackCue::isActive): Ditto.
* loader/FrameNetworkingContext.h: Ditto.
* page/CaptionUserPreferences.cpp:
(WebCore::CaptionUserPreferences::sortedTrackListForMenu): Ditto.
(WebCore::CaptionUserPreferences::textTrackSelectionScore): Ditto.
* page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::textTrackSelectionScore): Ditto.
(WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu): Ditto.
* page/SecurityPolicy.cpp:
(WebCore::SecurityPolicy::generateReferrerHeader): Updated since we
changed ReferrerHeaderPolicy back to ReferrerPolicy.
* page/SecurityPolicy.h: Ditto.
* platform/ReferrerPolicy.h: Changed ReferrerHeaderPolicy name back
to ReferrerPolicy now that nesting inside a class eliminated the conflict;
still should merge them and that FIXME remains.
* platform/cocoa/WebPlaybackSessionModelMediaElement.mm:
(WebPlaybackSessionModelMediaElement::updateForEventName): Updated.
(WebPlaybackSessionModelMediaElement::updateLegibleOptions): Ditto.
* testing/Internals.cpp:
(WebCore::toResourceRequestCachePolicy): Updated.
(WebCore::Internals::setOverrideCachePolicy): Ditto.
(WebCore::toResourceLoadPriority): Ditto.
(WebCore::Internals::setOverrideResourceLoadPriority): Ditto.
(WebCore::toAutoFillButtonType): Ditto.
(WebCore::Internals::setShowAutoFillButton): Ditto.
* testing/Internals.h: Moved enum class types into class.
* testing/Internals.idl: Removed the "Internals" prefixes we added
to resolve ambiguity before. Nesting these in the class now takes care
of the ambiguity instead.
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::responseText): Updated.
(WebCore::XMLHttpRequest::didCacheResponseJSON): Ditto.
(WebCore::XMLHttpRequest::responseXML): Ditto.
(WebCore::XMLHttpRequest::responseBlob): Ditto.
(WebCore::XMLHttpRequest::responseArrayBuffer): Ditto.
(WebCore::XMLHttpRequest::setResponseType): Ditto.
(WebCore::XMLHttpRequest::open): Ditto.
(WebCore::shouldDecodeResponse): Ditto.
* xml/XMLHttpRequest.h: Moved the enum class into the class.
Source/WebKit2:
* WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::loadResource): Updated since we changed
ReferrerHeaderPolicy back to ReferrerPolicy.
(WebKit::WebLoaderStrategy::schedulePluginStreamLoad): Ditto.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulesfetchFetchOptionsh">trunk/Source/WebCore/Modules/fetch/FetchOptions.h</a></li>
<li><a href="#trunkSourceWebCoreModulesfetchFetchRequestcpp">trunk/Source/WebCore/Modules/fetch/FetchRequest.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesfetchFetchRequesth">trunk/Source/WebCore/Modules/fetch/FetchRequest.h</a></li>
<li><a href="#trunkSourceWebCoreModulesfetchFetchResponsecpp">trunk/Source/WebCore/Modules/fetch/FetchResponse.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesfetchFetchResponseh">trunk/Source/WebCore/Modules/fetch/FetchResponse.h</a></li>
<li><a href="#trunkSourceWebCoreModulesmediacontrolsMediaControlsHostcpp">trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediacontrolsMediaControlsHosth">trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.h</a></li>
<li><a href="#trunkSourceWebCoreModulesmediasessionMediaSessioncpp">trunk/Source/WebCore/Modules/mediasession/MediaSession.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediasessionMediaSessionh">trunk/Source/WebCore/Modules/mediasession/MediaSession.h</a></li>
<li><a href="#trunkSourceWebCoreModulesmediasourceMediaSourcecpp">trunk/Source/WebCore/Modules/mediasource/MediaSource.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediasourceMediaSourceh">trunk/Source/WebCore/Modules/mediasource/MediaSource.h</a></li>
<li><a href="#trunkSourceWebCoreModulesmediasourceSourceBuffercpp">trunk/Source/WebCore/Modules/mediasource/SourceBuffer.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediasourceSourceBufferh">trunk/Source/WebCore/Modules/mediasource/SourceBuffer.h</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamMediaDeviceInfocpp">trunk/Source/WebCore/Modules/mediastream/MediaDeviceInfo.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamMediaDeviceInfoh">trunk/Source/WebCore/Modules/mediastream/MediaDeviceInfo.h</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamMediaDevicesRequestcpp">trunk/Source/WebCore/Modules/mediastream/MediaDevicesRequest.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamMediaStreamTrackcpp">trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamMediaStreamTrackh">trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.h</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCConfigurationcpp">trunk/Source/WebCore/Modules/mediastream/RTCConfiguration.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCConfigurationh">trunk/Source/WebCore/Modules/mediastream/RTCConfiguration.h</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioAudioContexth">trunk/Source/WebCore/Modules/webaudio/AudioContext.h</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioWaveShaperNodecpp">trunk/Source/WebCore/Modules/webaudio/WaveShaperNode.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioWaveShaperNodeh">trunk/Source/WebCore/Modules/webaudio/WaveShaperNode.h</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSXMLHttpRequestCustomcpp">trunk/Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm">trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestObjcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestTestObjidl">trunk/Source/WebCore/bindings/scripts/test/TestObj.idl</a></li>
<li><a href="#trunkSourceWebCorecryptoCryptoKeycpp">trunk/Source/WebCore/crypto/CryptoKey.cpp</a></li>
<li><a href="#trunkSourceWebCorecryptoCryptoKeyh">trunk/Source/WebCore/crypto/CryptoKey.h</a></li>
<li><a href="#trunkSourceWebCorecssFontFacecpp">trunk/Source/WebCore/css/FontFace.cpp</a></li>
<li><a href="#trunkSourceWebCorecssFontFaceh">trunk/Source/WebCore/css/FontFace.h</a></li>
<li><a href="#trunkSourceWebCorecssFontFaceSetcpp">trunk/Source/WebCore/css/FontFaceSet.cpp</a></li>
<li><a href="#trunkSourceWebCorecssFontFaceSeth">trunk/Source/WebCore/css/FontFaceSet.h</a></li>
<li><a href="#trunkSourceWebCoredomDocumentcpp">trunk/Source/WebCore/dom/Document.cpp</a></li>
<li><a href="#trunkSourceWebCoredomDocumenth">trunk/Source/WebCore/dom/Document.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLMediaElementcpp">trunk/Source/WebCore/html/HTMLMediaElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTrackElementcpp">trunk/Source/WebCore/html/HTMLTrackElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLVideoElementcpp">trunk/Source/WebCore/html/HTMLVideoElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLVideoElementh">trunk/Source/WebCore/html/HTMLVideoElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLVideoElementidl">trunk/Source/WebCore/html/HTMLVideoElement.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasCanvasRenderingContext2Dcpp">trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasCanvasRenderingContext2Dh">trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.h</a></li>
<li><a href="#trunkSourceWebCorehtmlshadowMediaControlElementscpp">trunk/Source/WebCore/html/shadow/MediaControlElements.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmltrackInbandTextTrackcpp">trunk/Source/WebCore/html/track/InbandTextTrack.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmltrackInbandTextTrackh">trunk/Source/WebCore/html/track/InbandTextTrack.h</a></li>
<li><a href="#trunkSourceWebCorehtmltrackTextTrackcpp">trunk/Source/WebCore/html/track/TextTrack.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmltrackTextTrackh">trunk/Source/WebCore/html/track/TextTrack.h</a></li>
<li><a href="#trunkSourceWebCorehtmltrackTextTrackCuecpp">trunk/Source/WebCore/html/track/TextTrackCue.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderFrameNetworkingContexth">trunk/Source/WebCore/loader/FrameNetworkingContext.h</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="#trunkSourceWebCorepageSecurityPolicycpp">trunk/Source/WebCore/page/SecurityPolicy.cpp</a></li>
<li><a href="#trunkSourceWebCorepageSecurityPolicyh">trunk/Source/WebCore/page/SecurityPolicy.h</a></li>
<li><a href="#trunkSourceWebCoreplatformReferrerPolicyh">trunk/Source/WebCore/platform/ReferrerPolicy.h</a></li>
<li><a href="#trunkSourceWebCoreplatformcocoaWebPlaybackSessionModelMediaElementmm">trunk/Source/WebCore/platform/cocoa/WebPlaybackSessionModelMediaElement.mm</a></li>
<li><a href="#trunkSourceWebCoretestingInternalscpp">trunk/Source/WebCore/testing/Internals.cpp</a></li>
<li><a href="#trunkSourceWebCoretestingInternalsh">trunk/Source/WebCore/testing/Internals.h</a></li>
<li><a href="#trunkSourceWebCoretestingInternalsidl">trunk/Source/WebCore/testing/Internals.idl</a></li>
<li><a href="#trunkSourceWebCorexmlXMLHttpRequestcpp">trunk/Source/WebCore/xml/XMLHttpRequest.cpp</a></li>
<li><a href="#trunkSourceWebCorexmlXMLHttpRequesth">trunk/Source/WebCore/xml/XMLHttpRequest.h</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2WebProcessNetworkWebLoaderStrategycpp">trunk/Source/WebKit2/WebProcess/Network/WebLoaderStrategy.cpp</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/ChangeLog        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -1,3 +1,257 @@
</span><ins>+2016-05-02 Darin Adler <darin@apple.com>
+
+ Change IDL enumerations to be nested in their C++ class instead of at WebCore namespace level
+ https://bugs.webkit.org/show_bug.cgi?id=157257
+
+ Reviewed by Chris Dumez.
+
+ Chris and Alex requested this alternate style, where the enum class for each enumeration
+ goes inside the class for the interface the enumeration is used in. Also made a rule that
+ keeps the names short and not redundant with the class name they are nested in.
+
+ * Modules/fetch/FetchOptions.h: Moved all the enum class types into the struct.
+
+ * Modules/fetch/FetchRequest.cpp:
+ (WebCore::setReferrerPolicy): Updated.
+ (WebCore::setMode): Ditto.
+ (WebCore::setCredentials): Ditto.
+ (WebCore::setCache): Ditto.
+ (WebCore::setRedirect): Ditto.
+ (WebCore::buildOptions): Ditto.
+ (WebCore::buildHeaders): Ditto.
+ (WebCore::FetchRequest::create): Ditto.
+ * Modules/fetch/FetchRequest.h: Used "using" to repeat the types from FetchOptions
+ here in FetchRequest. That way the generated bindings can find the types, and we don't
+ need to do any trick like [ImplementedAs] in thd IDL to make it work.
+
+ * Modules/fetch/FetchResponse.cpp:
+ (WebCore::FetchResponse::error): Updated.
+ (WebCore::FetchResponse::redirect): Ditto.
+ (WebCore::FetchResponse::FetchResponse): Ditto.
+ (WebCore::FetchResponse::startFetching): Ditto.
+ * Modules/fetch/FetchResponse.h: Moved enum class into the class.
+
+ * Modules/mediacontrols/MediaControlsHost.cpp:
+ (WebCore::MediaControlsHost::externalDeviceType): Updated.
+ * Modules/mediacontrols/MediaControlsHost.h: Moved enum classs into the class.
+
+ * Modules/mediasession/MediaSession.cpp:
+ (WebCore::MediaSession::MediaSession): Updated.
+ * Modules/mediasession/MediaSession.h: Moved enum classs into the class.
+
+ * Modules/mediasource/MediaSource.cpp:
+ (WebCore::MediaSource::addSourceBuffer): Updated.
+ (WebCore::MediaSource::removeSourceBuffer): Ditto.
+
+ * Modules/mediasource/MediaSource.h: Moved enum class into the class.
+
+ * Modules/mediasource/SourceBuffer.cpp:
+ (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveRenderingError): Updated.
+ (WebCore::SourceBuffer::appendError): Ditto.
+ (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Ditto.
+ (WebCore::SourceBuffer::textTrackModeChanged): Ditto.
+
+ * Modules/mediasource/SourceBuffer.h: Removed incorrect forward declaration
+ of EndOfStreamError that also now seems to be unneeded. Moved enum class into
+ the class.
+
+ * Modules/mediastream/MediaDeviceInfo.cpp:
+ (WebCore::MediaDeviceInfo::MediaDeviceInfo): Updated.
+ (WebCore::MediaDeviceInfo::create): Ditto.
+ * Modules/mediastream/MediaDeviceInfo.h: Moved enum class into the class.
+
+ * Modules/mediastream/MediaDevicesRequest.cpp:
+ (WebCore::MediaDevicesRequest::didCompleteTrackSourceInfoRequest): Updated.
+ * Modules/mediastream/MediaStreamTrack.cpp:
+ (WebCore::MediaStreamTrack::readyState): Updated.
+
+ * Modules/mediastream/MediaStreamTrack.h: Moved enum class into the class.
+
+ * Modules/mediastream/RTCConfiguration.h: Moved enum classes into the class.
+
+ * Modules/webaudio/AudioContext.h: Moved enum class into the class.
+
+ * Modules/webaudio/WaveShaperNode.cpp:
+ (WebCore::processorType): Updated.
+ (WebCore::WaveShaperNode::oversample): Ditto.
+ * Modules/webaudio/WaveShaperNode.h: Moved enum class into the class.
+
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore::JSXMLHttpRequest::response): Updated.
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GenerateGetOwnPropertySlotBody): Removed unneeded $interfaceName argument.
+ (GetAttributeGetterName): Ditto.
+ (GetAttributeSetterName): Ditto.
+ (GetFunctionName): Tweaked style.
+ (AttributeShouldBeOnInstanceForCompatibility): Deleted. Was a function that
+ always returned 0.
+ (AttributeShouldBeOnInstance): Removed the call to the function above.
+ (IsClassNameWordBoundary): Added. Helper for function below.
+ (IsPrefixRemovable): Ditto.
+ (GetEnumerationClassName): Added an $interface argument and changed this
+ so it creates a nested name inside the class rather than a top level name
+ for use at the WebCore namespace level.
+ (GetEnumerationClassIdentifier): Added. Calls GetEnumerationClassName and
+ makes a flattened name without "::" that can be used in an identifier.
+ (GenerateEnumerationImplementationContent): Renamed from GetXXX. Added an
+ $interface argument, so it can pass that along to the functions above.
+ (GenerateHeader): Updated to not pass $interfaceName.
+ (GeneratePropertiesHashTable): Ditto.
+ (GenerateOverloadedFunction): Removed unneeded $interfaceName argument.
+ (GenerateImplementation): Updated for changes above. Tweaked formatting.
+ (GenerateFunctionCastedThis): Removed unneeded $interfaceName argument.
+ (GenerateParametersCheck): Ditto. Also streamlined implementation a bit
+ and made the IsEnumType section call the new functions.
+ (GenerateCallbackImplementation): Ditto.
+ (JSValueToNative): Added an $interface argument and pass it along when
+ dealing with enumerations.
+ (GeneratePrototypeDeclaration): Removed unneeded $interfaceName argument.
+ (GenerateConstructorDeclaration): Ditto.
+ (GenerateConstructorDefinitions): Ditto.
+ (GenerateConstructorDefinition): Ditto.
+ (GenerateConstructorHelperMethods): Ditto.
+
+ * bindings/scripts/test/JS/JSTestObj.cpp: Regenerated.
+
+ * bindings/scripts/test/TestObj.idl: Added some new enums that test some
+ of the logic above.
+
+ * crypto/CryptoKey.cpp:
+ (WebCore::CryptoKey::CryptoKey): Updated.
+ (WebCore::CryptoKey::usages): Ditto.
+ * crypto/CryptoKey.h: Moved enum class types inside the CryptoKey class.
+ Added comments about the two similar but distinct types named
+ CryptoKeyUsage and CryptoKey::Usage.
+
+ * css/FontFace.cpp:
+ (WebCore::FontFace::status): Updated.
+ * css/FontFace.h: Moved enum class into the class.
+
+ * css/FontFaceSet.cpp:
+ (WebCore::FontFaceSet::status): Updated.
+ * css/FontFaceSet.h: Moved enum class into the class.
+
+ * dom/Document.cpp:
+ (WebCore::Document::Document): Updated for the name change back from
+ ReferrerHeaderPolicy to ReferrerPolicy.
+ (WebCore::Document::processReferrerPolicy): Ditto.
+ (WebCore::Document::applyContentDispositionAttachmentSandbox): Ditto.
+ * dom/Document.h: More of the same.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::loadInternal): Updated.
+ (WebCore::HTMLMediaElement::textTrackModeChanged): Ditto.
+ (WebCore::HTMLMediaElement::textTrackKindChanged): Ditto.
+ (WebCore::HTMLMediaElement::textTrackAddCues): Ditto.
+ (WebCore::HTMLMediaElement::textTrackAddCue): Ditto.
+ (WebCore::HTMLMediaElement::addTextTrack): Ditto.
+ (WebCore::HTMLMediaElement::configureTextTrackGroup): Ditto.
+ (WebCore::HTMLMediaElement::setSelectedTextTrack): Ditto.
+ (WebCore::HTMLMediaElement::configureTextTracks): Ditto.
+ (WebCore::HTMLMediaElement::hasClosedCaptions): Ditto.
+ (WebCore::HTMLMediaElement::configureTextTrackDisplay): Ditto.
+ (WebCore::HTMLMediaElement::markCaptionAndSubtitleTracksAsUnconfigured): Ditto.
+ (WebCore::toPlatform): Ditto.
+ (WebCore::HTMLMediaElement::outOfBandTrackSources): Ditto.
+ * html/HTMLTrackElement.cpp:
+ (WebCore::HTMLTrackElement::scheduleLoad): Ditto.
+
+ * html/HTMLVideoElement.h: Moved enum class into class.
+
+ * html/HTMLVideoElement.idl: Added the missing conditional on
+ VideoPresentationMode, and also moved it to the bottom of the file
+ to work around what is apparently a bug in the IDL parser.
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::toWindRule): Updated.
+ (WebCore::CanvasRenderingContext2D::fill): Ditto.
+ (WebCore::CanvasRenderingContext2D::clip): Ditto.
+ (WebCore::CanvasRenderingContext2D::fillInternal): Ditto.
+ (WebCore::CanvasRenderingContext2D::clipInternal): Ditto.
+ (WebCore::CanvasRenderingContext2D::isPointInPath): Ditto.
+ (WebCore::CanvasRenderingContext2D::isPointInPathInternal): Ditto.
+ (WebCore::smoothingToInterpolationQuality): Ditto.
+
+ * html/canvas/CanvasRenderingContext2D.h: Moved enum class types into the class.
+
+ * html/shadow/MediaControlElements.cpp:
+ (WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay): Updated.
+ (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Ditto.
+
+ * html/track/InbandTextTrack.cpp:
+ (WebCore::InbandTextTrack::setMode): Updated.
+ (WebCore::toPrivate): Ditto.
+ (WebCore::InbandTextTrack::setModeInternal): Ditto.
+ (WebCore::InbandTextTrack::updateKindFromPrivate): Ditto.
+ * html/track/InbandTextTrack.h: Ditto.
+ * html/track/TextTrack.cpp:
+ (WebCore::TextTrack::TextTrack): Ditto.
+ (WebCore::TextTrack::enabled): Ditto.
+ (WebCore::TextTrack::kindKeyword): Ditto.
+ (WebCore::TextTrack::setKind): Ditto.
+ (WebCore::TextTrack::setKindKeywordIgnoringASCIICase): Ditto.
+ (WebCore::TextTrack::setMode): Ditto.
+ (WebCore::TextTrack::cues): Ditto.
+ (WebCore::TextTrack::activeCues): Ditto.
+ (WebCore::TextTrack::addCue): Ditto.
+ (WebCore::TextTrack::regions): Ditto.
+ (WebCore::TextTrack::isRendered): Ditto.
+ (WebCore::TextTrack::isMainProgramContent): Ditto.
+ (WebCore::TextTrack::containsOnlyForcedSubtitles): Ditto.
+
+ * html/track/TextTrack.h: Moved enum class types into the class.
+
+ * html/track/TextTrackCue.cpp:
+ (WebCore::TextTrackCue::dispatchEvent): Updated.
+ (WebCore::TextTrackCue::isActive): Ditto.
+ * loader/FrameNetworkingContext.h: Ditto.
+ * page/CaptionUserPreferences.cpp:
+ (WebCore::CaptionUserPreferences::sortedTrackListForMenu): Ditto.
+ (WebCore::CaptionUserPreferences::textTrackSelectionScore): Ditto.
+ * page/CaptionUserPreferencesMediaAF.cpp:
+ (WebCore::CaptionUserPreferencesMediaAF::textTrackSelectionScore): Ditto.
+ (WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu): Ditto.
+
+ * page/SecurityPolicy.cpp:
+ (WebCore::SecurityPolicy::generateReferrerHeader): Updated since we
+ changed ReferrerHeaderPolicy back to ReferrerPolicy.
+ * page/SecurityPolicy.h: Ditto.
+
+ * platform/ReferrerPolicy.h: Changed ReferrerHeaderPolicy name back
+ to ReferrerPolicy now that nesting inside a class eliminated the conflict;
+ still should merge them and that FIXME remains.
+
+ * platform/cocoa/WebPlaybackSessionModelMediaElement.mm:
+ (WebPlaybackSessionModelMediaElement::updateForEventName): Updated.
+ (WebPlaybackSessionModelMediaElement::updateLegibleOptions): Ditto.
+
+ * testing/Internals.cpp:
+ (WebCore::toResourceRequestCachePolicy): Updated.
+ (WebCore::Internals::setOverrideCachePolicy): Ditto.
+ (WebCore::toResourceLoadPriority): Ditto.
+ (WebCore::Internals::setOverrideResourceLoadPriority): Ditto.
+ (WebCore::toAutoFillButtonType): Ditto.
+ (WebCore::Internals::setShowAutoFillButton): Ditto.
+
+ * testing/Internals.h: Moved enum class types into class.
+
+ * testing/Internals.idl: Removed the "Internals" prefixes we added
+ to resolve ambiguity before. Nesting these in the class now takes care
+ of the ambiguity instead.
+
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::responseText): Updated.
+ (WebCore::XMLHttpRequest::didCacheResponseJSON): Ditto.
+ (WebCore::XMLHttpRequest::responseXML): Ditto.
+ (WebCore::XMLHttpRequest::responseBlob): Ditto.
+ (WebCore::XMLHttpRequest::responseArrayBuffer): Ditto.
+ (WebCore::XMLHttpRequest::setResponseType): Ditto.
+ (WebCore::XMLHttpRequest::open): Ditto.
+ (WebCore::shouldDecodeResponse): Ditto.
+
+ * xml/XMLHttpRequest.h: Moved the enum class into the class.
+
</ins><span class="cx"> 2016-05-02 Simon Fraser <simon.fraser@apple.com>
</span><span class="cx">
</span><span class="cx"> Don't run transitions to/from 'auto' values
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesfetchFetchOptionsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/fetch/FetchOptions.h (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/fetch/FetchOptions.h        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/Modules/fetch/FetchOptions.h        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -32,21 +32,26 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-enum class ReferrerPolicy { EmptyString, NoReferrer, NoReferrerWhenDowngrade, OriginOnly, OriginWhenCrossOrigin, UnsafeUrl };
-enum class RequestCache { Default, NoStore, Reload, NoCache, ForceCache };
-enum class RequestCredentials { Omit, SameOrigin, Include };
-enum class RequestDestination { EmptyString, Document, Sharedworker, Subresource, Unknown, Worker };
-enum class RequestMode { Navigate, SameOrigin, NoCors, Cors };
-enum class RequestRedirect { Follow, Error, Manual };
-enum class RequestType { EmptyString, Audio, Font, Image, Script, Style, Track, Video };
</del><ins>+struct FetchOptions {
+ enum class Type { EmptyString, Audio, Font, Image, Script, Style, Track, Video };
+ Type type { Type::EmptyString };
</ins><span class="cx">
</span><del>-struct FetchOptions {
- RequestType type { RequestType::EmptyString };
- RequestDestination destination { RequestDestination::EmptyString };
- RequestMode mode { RequestMode::NoCors };
- RequestCredentials credentials { RequestCredentials::Omit };
- RequestCache cache { RequestCache::Default };
- RequestRedirect redirect { RequestRedirect::Follow };
</del><ins>+ enum class Destination { EmptyString, Document, Sharedworker, Subresource, Unknown, Worker };
+ Destination destination { Destination::EmptyString };
+
+ enum class Mode { Navigate, SameOrigin, NoCors, Cors };
+ Mode mode { Mode::NoCors };
+
+ enum class Credentials { Omit, SameOrigin, Include };
+ Credentials credentials { Credentials::Omit };
+
+ enum class Cache { Default, NoStore, Reload, NoCache, ForceCache };
+ Cache cache { Cache::Default };
+
+ enum class Redirect { Follow, Error, Manual };
+ Redirect redirect { Redirect::Follow };
+
+ enum class ReferrerPolicy { EmptyString, NoReferrer, NoReferrerWhenDowngrade, OriginOnly, OriginWhenCrossOrigin, UnsafeUrl };
</ins><span class="cx"> ReferrerPolicy referrerPolicy { ReferrerPolicy::EmptyString };
</span><span class="cx"> };
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesfetchFetchRequestcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/fetch/FetchRequest.cpp (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/fetch/FetchRequest.cpp        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/Modules/fetch/FetchRequest.cpp        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -42,17 +42,17 @@
</span><span class="cx"> static bool setReferrerPolicy(FetchOptions& options, const String& referrerPolicy)
</span><span class="cx"> {
</span><span class="cx"> if (referrerPolicy.isEmpty())
</span><del>- options.referrerPolicy = ReferrerPolicy::EmptyString;
</del><ins>+ options.referrerPolicy = FetchOptions::ReferrerPolicy::EmptyString;
</ins><span class="cx"> else if (referrerPolicy == "no-referrer")
</span><del>- options.referrerPolicy = ReferrerPolicy::NoReferrer;
</del><ins>+ options.referrerPolicy = FetchOptions::ReferrerPolicy::NoReferrer;
</ins><span class="cx"> else if (referrerPolicy == "no-referrer-when-downgrade")
</span><del>- options.referrerPolicy = ReferrerPolicy::NoReferrerWhenDowngrade;
</del><ins>+ options.referrerPolicy = FetchOptions::ReferrerPolicy::NoReferrerWhenDowngrade;
</ins><span class="cx"> else if (referrerPolicy == "origin-only")
</span><del>- options.referrerPolicy = ReferrerPolicy::OriginOnly;
</del><ins>+ options.referrerPolicy = FetchOptions::ReferrerPolicy::OriginOnly;
</ins><span class="cx"> else if (referrerPolicy == "origin-when-cross-origin")
</span><del>- options.referrerPolicy = ReferrerPolicy::OriginWhenCrossOrigin;
</del><ins>+ options.referrerPolicy = FetchOptions::ReferrerPolicy::OriginWhenCrossOrigin;
</ins><span class="cx"> else if (referrerPolicy == "unsafe-url")
</span><del>- options.referrerPolicy = ReferrerPolicy::UnsafeUrl;
</del><ins>+ options.referrerPolicy = FetchOptions::ReferrerPolicy::UnsafeUrl;
</ins><span class="cx"> else
</span><span class="cx"> return false;
</span><span class="cx"> return true;
</span><span class="lines">@@ -61,13 +61,13 @@
</span><span class="cx"> static bool setMode(FetchOptions& options, const String& mode)
</span><span class="cx"> {
</span><span class="cx"> if (mode == "navigate")
</span><del>- options.mode = RequestMode::Navigate;
</del><ins>+ options.mode = FetchOptions::Mode::Navigate;
</ins><span class="cx"> else if (mode == "same-origin")
</span><del>- options.mode = RequestMode::SameOrigin;
</del><ins>+ options.mode = FetchOptions::Mode::SameOrigin;
</ins><span class="cx"> else if (mode == "no-cors")
</span><del>- options.mode = RequestMode::NoCors;
</del><ins>+ options.mode = FetchOptions::Mode::NoCors;
</ins><span class="cx"> else if (mode == "cors")
</span><del>- options.mode = RequestMode::Cors;
</del><ins>+ options.mode = FetchOptions::Mode::Cors;
</ins><span class="cx"> else
</span><span class="cx"> return false;
</span><span class="cx"> return true;
</span><span class="lines">@@ -76,11 +76,11 @@
</span><span class="cx"> static bool setCredentials(FetchOptions& options, const String& credentials)
</span><span class="cx"> {
</span><span class="cx"> if (credentials == "omit")
</span><del>- options.credentials = RequestCredentials::Omit;
</del><ins>+ options.credentials = FetchOptions::Credentials::Omit;
</ins><span class="cx"> else if (credentials == "same-origin")
</span><del>- options.credentials = RequestCredentials::SameOrigin;
</del><ins>+ options.credentials = FetchOptions::Credentials::SameOrigin;
</ins><span class="cx"> else if (credentials == "include")
</span><del>- options.credentials = RequestCredentials::Include;
</del><ins>+ options.credentials = FetchOptions::Credentials::Include;
</ins><span class="cx"> else
</span><span class="cx"> return false;
</span><span class="cx"> return true;
</span><span class="lines">@@ -89,15 +89,15 @@
</span><span class="cx"> static bool setCache(FetchOptions& options, const String& cache)
</span><span class="cx"> {
</span><span class="cx"> if (cache == "default")
</span><del>- options.cache = RequestCache::Default;
</del><ins>+ options.cache = FetchOptions::Cache::Default;
</ins><span class="cx"> else if (cache == "no-store")
</span><del>- options.cache = RequestCache::NoStore;
</del><ins>+ options.cache = FetchOptions::Cache::NoStore;
</ins><span class="cx"> else if (cache == "reload")
</span><del>- options.cache = RequestCache::Reload;
</del><ins>+ options.cache = FetchOptions::Cache::Reload;
</ins><span class="cx"> else if (cache == "no-cache")
</span><del>- options.cache = RequestCache::NoCache;
</del><ins>+ options.cache = FetchOptions::Cache::NoCache;
</ins><span class="cx"> else if (cache == "force-cache")
</span><del>- options.cache = RequestCache::ForceCache;
</del><ins>+ options.cache = FetchOptions::Cache::ForceCache;
</ins><span class="cx"> else
</span><span class="cx"> return false;
</span><span class="cx"> return true;
</span><span class="lines">@@ -106,11 +106,11 @@
</span><span class="cx"> static bool setRedirect(FetchOptions& options, const String& redirect)
</span><span class="cx"> {
</span><span class="cx"> if (redirect == "follow")
</span><del>- options.redirect = RequestRedirect::Follow;
</del><ins>+ options.redirect = FetchOptions::Redirect::Follow;
</ins><span class="cx"> else if (redirect == "error")
</span><del>- options.redirect = RequestRedirect::Error;
</del><ins>+ options.redirect = FetchOptions::Redirect::Error;
</ins><span class="cx"> else if (redirect == "manual")
</span><del>- options.redirect = RequestRedirect::Manual;
</del><ins>+ options.redirect = FetchOptions::Redirect::Manual;
</ins><span class="cx"> else
</span><span class="cx"> return false;
</span><span class="cx"> return true;
</span><span class="lines">@@ -173,7 +173,7 @@
</span><span class="cx">
</span><span class="cx"> if (init.get("mode", value) && !setMode(request.options, value))
</span><span class="cx"> return false;
</span><del>- if (request.options.mode == RequestMode::Navigate)
</del><ins>+ if (request.options.mode == FetchOptions::Mode::Navigate)
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> if (init.get("credentials", value) && !setCredentials(request.options, value))
</span><span class="lines">@@ -196,7 +196,7 @@
</span><span class="cx"> static RefPtr<FetchHeaders> buildHeaders(const Dictionary& init, const FetchRequest::InternalRequest& request, const FetchHeaders* inputHeaders = nullptr)
</span><span class="cx"> {
</span><span class="cx"> FetchHeaders::Guard guard = FetchHeaders::Guard::Request;
</span><del>- if (request.options.mode == RequestMode::NoCors) {
</del><ins>+ if (request.options.mode == FetchOptions::Mode::NoCors) {
</ins><span class="cx"> const String& method = request.request.httpMethod();
</span><span class="cx"> if (method != "GET" && method != "POST" && method != "HEAD")
</span><span class="cx"> return nullptr;
</span><span class="lines">@@ -244,8 +244,8 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> FetchRequest::InternalRequest internalRequest;
</span><del>- internalRequest.options.mode = RequestMode::Cors;
- internalRequest.options.credentials = RequestCredentials::Omit;
</del><ins>+ internalRequest.options.mode = Mode::Cors;
+ internalRequest.options.credentials = Credentials::Omit;
</ins><span class="cx"> internalRequest.referrer = ASCIILiteral("client");
</span><span class="cx"> internalRequest.request.setURL(requestURL);
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesfetchFetchRequesth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/fetch/FetchRequest.h (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/fetch/FetchRequest.h        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/Modules/fetch/FetchRequest.h        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -52,14 +52,29 @@
</span><span class="cx"> const String& url() const { return m_internalRequest.request.url().string(); }
</span><span class="cx"> FetchHeaders& headers() { return m_headers.get(); }
</span><span class="cx">
</span><del>- RequestType type() const;
- RequestDestination destination() const;
</del><ins>+ using Type = FetchOptions::Type;
+ Type type() const;
+
+ using Destination = FetchOptions::Destination;
+ Destination destination() const;
+
</ins><span class="cx"> String referrer() const;
</span><ins>+
+ using ReferrerPolicy = FetchOptions::ReferrerPolicy;
</ins><span class="cx"> ReferrerPolicy referrerPolicy() const;
</span><del>- RequestMode mode() const;
- RequestCredentials credentials() const;
- RequestCache cache() const;
- RequestRedirect redirect() const;
</del><ins>+
+ using Mode = FetchOptions::Mode;
+ Mode mode() const;
+
+ using Credentials = FetchOptions::Credentials;
+ Credentials credentials() const;
+
+ using Cache = FetchOptions::Cache;
+ Cache cache() const;
+
+ using Redirect = FetchOptions::Redirect;
+ Redirect redirect() const;
+
</ins><span class="cx"> const String& integrity() const { return m_internalRequest.integrity; }
</span><span class="cx">
</span><span class="cx"> RefPtr<FetchRequest> clone(ScriptExecutionContext&, ExceptionCode&);
</span><span class="lines">@@ -92,37 +107,37 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx">
</span><del>-inline RequestCache FetchRequest::cache() const
</del><ins>+inline auto FetchRequest::cache() const -> Cache
</ins><span class="cx"> {
</span><span class="cx"> return m_internalRequest.options.cache;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-inline RequestCredentials FetchRequest::credentials() const
</del><ins>+inline auto FetchRequest::credentials() const -> Credentials
</ins><span class="cx"> {
</span><span class="cx"> return m_internalRequest.options.credentials;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-inline RequestDestination FetchRequest::destination() const
</del><ins>+inline auto FetchRequest::destination() const -> Destination
</ins><span class="cx"> {
</span><span class="cx"> return m_internalRequest.options.destination;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-inline RequestMode FetchRequest::mode() const
</del><ins>+inline auto FetchRequest::mode() const -> Mode
</ins><span class="cx"> {
</span><span class="cx"> return m_internalRequest.options.mode;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-inline RequestRedirect FetchRequest::redirect() const
</del><ins>+inline auto FetchRequest::redirect() const -> Redirect
</ins><span class="cx"> {
</span><span class="cx"> return m_internalRequest.options.redirect;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-inline ReferrerPolicy FetchRequest::referrerPolicy() const
</del><ins>+inline auto FetchRequest::referrerPolicy() const -> ReferrerPolicy
</ins><span class="cx"> {
</span><span class="cx"> return m_internalRequest.options.referrerPolicy;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-inline RequestType FetchRequest::type() const
</del><ins>+inline auto FetchRequest::type() const -> Type
</ins><span class="cx"> {
</span><span class="cx"> return m_internalRequest.options.type;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesfetchFetchResponsecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/fetch/FetchResponse.cpp (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/fetch/FetchResponse.cpp        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/Modules/fetch/FetchResponse.cpp        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -51,7 +51,7 @@
</span><span class="cx">
</span><span class="cx"> Ref<FetchResponse> FetchResponse::error(ScriptExecutionContext& context)
</span><span class="cx"> {
</span><del>- return adoptRef(*new FetchResponse(context, ResponseType::Error, { }, FetchHeaders::create(FetchHeaders::Guard::Immutable), { }));
</del><ins>+ return adoptRef(*new FetchResponse(context, Type::Error, { }, FetchHeaders::create(FetchHeaders::Guard::Immutable), { }));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> RefPtr<FetchResponse> FetchResponse::redirect(ScriptExecutionContext& context, const String& url, int status, ExceptionCode& ec)
</span><span class="lines">@@ -66,7 +66,7 @@
</span><span class="cx"> ec = TypeError;
</span><span class="cx"> return nullptr;
</span><span class="cx"> }
</span><del>- auto redirectResponse = adoptRef(*new FetchResponse(context, ResponseType::Default, { }, FetchHeaders::create(FetchHeaders::Guard::Immutable), { }));
</del><ins>+ auto redirectResponse = adoptRef(*new FetchResponse(context, Type::Default, { }, FetchHeaders::create(FetchHeaders::Guard::Immutable), { }));
</ins><span class="cx"> redirectResponse->m_response.setHTTPStatusCode(status);
</span><span class="cx"> redirectResponse->m_headers->fastSet(HTTPHeaderName::Location, requestURL.string());
</span><span class="cx"> return WTFMove(redirectResponse);
</span><span class="lines">@@ -109,7 +109,7 @@
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>-FetchResponse::FetchResponse(ScriptExecutionContext& context, ResponseType type, FetchBody&& body, Ref<FetchHeaders>&& headers, ResourceResponse&& response)
</del><ins>+FetchResponse::FetchResponse(ScriptExecutionContext& context, Type type, FetchBody&& body, Ref<FetchHeaders>&& headers, ResourceResponse&& response)
</ins><span class="cx"> : FetchBodyOwner(context, WTFMove(body))
</span><span class="cx"> , m_type(type)
</span><span class="cx"> , m_response(WTFMove(response))
</span><span class="lines">@@ -130,7 +130,7 @@
</span><span class="cx">
</span><span class="cx"> void FetchResponse::startFetching(ScriptExecutionContext& context, const FetchRequest& request, FetchPromise&& promise)
</span><span class="cx"> {
</span><del>- auto response = adoptRef(*new FetchResponse(context, ResponseType::Basic, FetchBody::loadingBody(), FetchHeaders::create(FetchHeaders::Guard::Immutable), ResourceResponse()));
</del><ins>+ auto response = adoptRef(*new FetchResponse(context, Type::Basic, FetchBody::loadingBody(), FetchHeaders::create(FetchHeaders::Guard::Immutable), ResourceResponse()));
</ins><span class="cx">
</span><span class="cx"> // Setting pending activity until BodyLoader didFail or didSucceed callback is called.
</span><span class="cx"> response->setPendingActivity(response.ptr());
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesfetchFetchResponseh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/fetch/FetchResponse.h (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/fetch/FetchResponse.h        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/Modules/fetch/FetchResponse.h        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -46,11 +46,11 @@
</span><span class="cx">
</span><span class="cx"> typedef int ExceptionCode;
</span><span class="cx">
</span><del>-enum class ResponseType { Basic, Cors, Default, Error, Opaque, Opaqueredirect };
-
</del><span class="cx"> class FetchResponse final : public FetchBodyOwner {
</span><span class="cx"> public:
</span><del>- static Ref<FetchResponse> create(ScriptExecutionContext& context) { return adoptRef(*new FetchResponse(context, ResponseType::Default, { }, FetchHeaders::create(FetchHeaders::Guard::Response), ResourceResponse())); }
</del><ins>+ enum class Type { Basic, Cors, Default, Error, Opaque, Opaqueredirect };
+
+ static Ref<FetchResponse> create(ScriptExecutionContext& context) { return adoptRef(*new FetchResponse(context, Type::Default, { }, FetchHeaders::create(FetchHeaders::Guard::Response), ResourceResponse())); }
</ins><span class="cx"> static Ref<FetchResponse> error(ScriptExecutionContext&);
</span><span class="cx"> static RefPtr<FetchResponse> redirect(ScriptExecutionContext&, const String&, int, ExceptionCode&);
</span><span class="cx">
</span><span class="lines">@@ -60,7 +60,7 @@
</span><span class="cx">
</span><span class="cx"> void initializeWith(const Dictionary&, ExceptionCode&);
</span><span class="cx">
</span><del>- ResponseType type() const;
</del><ins>+ Type type() const;
</ins><span class="cx"> const String& url() const { return m_response.url().string(); }
</span><span class="cx"> bool redirected() const { return m_isRedirected; }
</span><span class="cx"> int status() const { return m_response.httpStatusCode(); }
</span><span class="lines">@@ -76,7 +76,7 @@
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> private:
</span><del>- FetchResponse(ScriptExecutionContext&, ResponseType, FetchBody&&, Ref<FetchHeaders>&&, ResourceResponse&&);
</del><ins>+ FetchResponse(ScriptExecutionContext&, Type, FetchBody&&, Ref<FetchHeaders>&&, ResourceResponse&&);
</ins><span class="cx">
</span><span class="cx"> static void startFetching(ScriptExecutionContext&, const FetchRequest&, FetchPromise&&);
</span><span class="cx">
</span><span class="lines">@@ -109,14 +109,14 @@
</span><span class="cx"> std::unique_ptr<FetchLoader> m_loader;
</span><span class="cx"> };
</span><span class="cx">
</span><del>- ResponseType m_type;
</del><ins>+ Type m_type;
</ins><span class="cx"> ResourceResponse m_response;
</span><span class="cx"> Ref<FetchHeaders> m_headers;
</span><span class="cx"> bool m_isRedirected = false;
</span><span class="cx"> Optional<BodyLoader> m_bodyLoader;
</span><span class="cx"> };
</span><span class="cx">
</span><del>-inline ResponseType FetchResponse::type() const
</del><ins>+inline auto FetchResponse::type() const -> Type
</ins><span class="cx"> {
</span><span class="cx"> return m_type;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediacontrolsMediaControlsHostcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.cpp (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.cpp        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.cpp        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -233,7 +233,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">
</span><del>-DeviceType MediaControlsHost::externalDeviceType() const
</del><ins>+auto MediaControlsHost::externalDeviceType() const -> DeviceType
</ins><span class="cx"> {
</span><span class="cx"> #if !ENABLE(WIRELESS_PLAYBACK_TARGET)
</span><span class="cx"> return DeviceType::None;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediacontrolsMediaControlsHosth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.h (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.h        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.h        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -42,8 +42,6 @@
</span><span class="cx"> class TextTrack;
</span><span class="cx"> class TextTrackList;
</span><span class="cx">
</span><del>-enum class DeviceType { None, Airplay, Tvout };
-
</del><span class="cx"> class MediaControlsHost : public RefCounted<MediaControlsHost> {
</span><span class="cx"> public:
</span><span class="cx"> static Ref<MediaControlsHost> create(HTMLMediaElement*);
</span><span class="lines">@@ -73,6 +71,8 @@
</span><span class="cx"> void exitedFullscreen();
</span><span class="cx">
</span><span class="cx"> String externalDeviceDisplayName() const;
</span><ins>+
+ enum class DeviceType { None, Airplay, Tvout };
</ins><span class="cx"> DeviceType externalDeviceType() const;
</span><span class="cx">
</span><span class="cx"> bool controlsDependOnPageScaleFactor() const;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediasessionMediaSessioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediasession/MediaSession.cpp (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediasession/MediaSession.cpp        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/Modules/mediasession/MediaSession.cpp        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-MediaSession::MediaSession(ScriptExecutionContext& context, MediaSessionKind kind)
</del><ins>+MediaSession::MediaSession(ScriptExecutionContext& context, Kind kind)
</ins><span class="cx"> : m_document(downcast<Document>(context))
</span><span class="cx"> , m_kind(kind)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediasessionMediaSessionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediasession/MediaSession.h (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediasession/MediaSession.h        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/Modules/mediasession/MediaSession.h        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -36,20 +36,19 @@
</span><span class="cx"> class Document;
</span><span class="cx"> class HTMLMediaElement;
</span><span class="cx">
</span><del>-enum class MediaSessionKind { Content, Transient, TransientSolo, Ambient };
-
</del><span class="cx"> class MediaSession final : public RefCounted<MediaSession> {
</span><span class="cx"> public:
</span><ins>+ enum class Kind { Content, Transient, TransientSolo, Ambient };
</ins><span class="cx"> enum class State { Idle, Active, Interrupted };
</span><span class="cx">
</span><del>- static Ref<MediaSession> create(ScriptExecutionContext& context, MediaSessionKind kind)
</del><ins>+ static Ref<MediaSession> create(ScriptExecutionContext& context, Kind kind)
</ins><span class="cx"> {
</span><span class="cx"> return adoptRef(*new MediaSession(context, kind));
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> ~MediaSession();
</span><span class="cx">
</span><del>- MediaSessionKind kind() const { return m_kind; }
</del><ins>+ Kind kind() const { return m_kind; }
</ins><span class="cx"> MediaRemoteControls* controls();
</span><span class="cx">
</span><span class="cx"> WEBCORE_EXPORT State currentState() const { return m_currentState; }
</span><span class="lines">@@ -95,7 +94,7 @@
</span><span class="cx"> HashSet<HTMLMediaElement*>* m_iteratedActiveParticipatingElements { nullptr };
</span><span class="cx">
</span><span class="cx"> Document& m_document;
</span><del>- const MediaSessionKind m_kind;
</del><ins>+ const Kind m_kind;
</ins><span class="cx"> RefPtr<MediaRemoteControls> m_controls;
</span><span class="cx"> MediaSessionMetadata m_metadata;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediasourceMediaSourcecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediasource/MediaSource.cpp (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediasource/MediaSource.cpp        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/Modules/mediasource/MediaSource.cpp        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -545,7 +545,7 @@
</span><span class="cx"> // ↳ Set the mode attribute on the new object to "sequence".
</span><span class="cx"> // Otherwise:
</span><span class="cx"> // ↳ Set the mode attribute on the new object to "segments".
</span><del>- buffer->setMode(shouldGenerateTimestamps ? AppendMode::Sequence : AppendMode::Segments, IGNORE_EXCEPTION);
</del><ins>+ buffer->setMode(shouldGenerateTimestamps ? SourceBuffer::AppendMode::Sequence : SourceBuffer::AppendMode::Segments, IGNORE_EXCEPTION);
</ins><span class="cx">
</span><span class="cx"> SourceBuffer* result = buffer.ptr();
</span><span class="cx">
</span><span class="lines">@@ -671,7 +671,7 @@
</span><span class="cx">
</span><span class="cx"> // 9.3.2 If the mode attribute on the TextTrack object is set to "showing" or "hidden", then
</span><span class="cx"> // set the removed enabled text track flag to true.
</span><del>- if (track->mode() == TextTrackMode::Showing || track->mode() == TextTrackMode::Hidden)
</del><ins>+ if (track->mode() == TextTrack::Mode::Showing || track->mode() == TextTrack::Mode::Hidden)
</ins><span class="cx"> removedEnabledTextTrack = true;
</span><span class="cx">
</span><span class="cx"> // 9.3.3 Remove the TextTrack object from the HTMLMediaElement textTracks list.
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediasourceMediaSourceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediasource/MediaSource.h (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediasource/MediaSource.h        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/Modules/mediasource/MediaSource.h        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -48,8 +48,6 @@
</span><span class="cx">
</span><span class="cx"> class GenericEventQueue;
</span><span class="cx">
</span><del>-enum class EndOfStreamError { Network, Decode };
-
</del><span class="cx"> class MediaSource : public MediaSourcePrivateClient, public ActiveDOMObject, public EventTargetWithInlineData, public URLRegistrable {
</span><span class="cx"> public:
</span><span class="cx"> static void setRegistry(URLRegistry*);
</span><span class="lines">@@ -69,6 +67,8 @@
</span><span class="cx"> bool isClosed() const;
</span><span class="cx"> bool isEnded() const;
</span><span class="cx"> void sourceBufferDidChangeActiveState(SourceBuffer&, bool);
</span><ins>+
+ enum class EndOfStreamError { Network, Decode };
</ins><span class="cx"> void streamEndedWithError(Optional<EndOfStreamError>);
</span><span class="cx">
</span><span class="cx"> // MediaSourcePrivateClient
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediasourceSourceBuffercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediasource/SourceBuffer.cpp (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediasource/SourceBuffer.cpp        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/Modules/mediasource/SourceBuffer.cpp        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -643,7 +643,7 @@
</span><span class="cx"> LOG(MediaSource, "SourceBuffer::sourceBufferPrivateDidReceiveRenderingError(%p) - result = %i", this, error);
</span><span class="cx">
</span><span class="cx"> if (!isRemoved())
</span><del>- m_source->streamEndedWithError(EndOfStreamError::Decode);
</del><ins>+ m_source->streamEndedWithError(MediaSource::EndOfStreamError::Decode);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static bool decodeTimeComparator(const PresentationOrderSampleMap::MapType::value_type& a, const PresentationOrderSampleMap::MapType::value_type& b)
</span><span class="lines">@@ -1270,7 +1270,7 @@
</span><span class="cx">
</span><span class="cx"> // 5. If decode error is true, then run the end of stream algorithm with the error parameter set to "decode".
</span><span class="cx"> if (decodeErrorParam)
</span><del>- m_source->streamEndedWithError(EndOfStreamError::Decode);
</del><ins>+ m_source->streamEndedWithError(MediaSource::EndOfStreamError::Decode);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void SourceBuffer::sourceBufferPrivateDidReceiveSample(SourceBufferPrivate*, PassRefPtr<MediaSample> prpSample)
</span><span class="lines">@@ -1421,7 +1421,7 @@
</span><span class="cx"> MediaTime presentationStartTime = MediaTime::zeroTime();
</span><span class="cx"> if (presentationTimestamp < presentationStartTime) {
</span><span class="cx"> LOG(MediaSource, "SourceBuffer::sourceBufferPrivateDidReceiveSample(%p) - failing because presentationTimestamp < presentationStartTime", this);
</span><del>- m_source->streamEndedWithError(EndOfStreamError::Decode);
</del><ins>+ m_source->streamEndedWithError(MediaSource::EndOfStreamError::Decode);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -1674,7 +1674,7 @@
</span><span class="cx"> // 2.4.5 Changes to selected/enabled track state
</span><span class="cx"> // If a text track mode becomes "disabled" and the SourceBuffer associated with this track is not
</span><span class="cx"> // associated with any other enabled or selected track, then run the following steps:
</span><del>- if (track->mode() == TextTrackMode::Disabled
</del><ins>+ if (track->mode() == TextTrack::Mode::Disabled
</ins><span class="cx"> && (!m_videoTracks || !m_videoTracks->isAnyTrackEnabled())
</span><span class="cx"> && (!m_audioTracks || !m_audioTracks->isAnyTrackEnabled())
</span><span class="cx"> && (!m_textTracks || !m_textTracks->isAnyTrackEnabled())) {
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediasourceSourceBufferh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediasource/SourceBuffer.h (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediasource/SourceBuffer.h        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/Modules/mediasource/SourceBuffer.h        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -58,10 +58,6 @@
</span><span class="cx"> class TimeRanges;
</span><span class="cx"> class VideoTrackList;
</span><span class="cx">
</span><del>-enum class EndOfStreamError;
-
-enum class AppendMode { Segments, Sequence };
-
</del><span class="cx"> class SourceBuffer final : public RefCounted<SourceBuffer>, public ActiveDOMObject, public EventTargetWithInlineData, public SourceBufferPrivateClient, public AudioTrackClient, public VideoTrackClient, public TextTrackClient {
</span><span class="cx"> public:
</span><span class="cx"> static Ref<SourceBuffer> create(Ref<SourceBufferPrivate>&&, MediaSource*);
</span><span class="lines">@@ -117,6 +113,7 @@
</span><span class="cx">
</span><span class="cx"> Document& document() const;
</span><span class="cx">
</span><ins>+ enum class AppendMode { Segments, Sequence };
</ins><span class="cx"> AppendMode mode() const { return m_mode; }
</span><span class="cx"> void setMode(AppendMode, ExceptionCode&);
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamMediaDeviceInfocpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/MediaDeviceInfo.cpp (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/MediaDeviceInfo.cpp        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/Modules/mediastream/MediaDeviceInfo.cpp        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-inline MediaDeviceInfo::MediaDeviceInfo(ScriptExecutionContext* context, const String& label, const String& deviceId, const String& groupId, MediaDeviceKind kind)
</del><ins>+inline MediaDeviceInfo::MediaDeviceInfo(ScriptExecutionContext* context, const String& label, const String& deviceId, const String& groupId, Kind kind)
</ins><span class="cx"> : ContextDestructionObserver(context)
</span><span class="cx"> , m_label(label)
</span><span class="cx"> , m_deviceId(deviceId)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx">
</span><del>-Ref<MediaDeviceInfo> MediaDeviceInfo::create(ScriptExecutionContext* context, const String& label, const String& deviceId, const String& groupId, MediaDeviceKind kind)
</del><ins>+Ref<MediaDeviceInfo> MediaDeviceInfo::create(ScriptExecutionContext* context, const String& label, const String& deviceId, const String& groupId, Kind kind)
</ins><span class="cx"> {
</span><span class="cx"> return adoptRef(*new MediaDeviceInfo(context, label, deviceId, groupId, kind));
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamMediaDeviceInfoh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/MediaDeviceInfo.h (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/MediaDeviceInfo.h        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/Modules/mediastream/MediaDeviceInfo.h        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -33,24 +33,24 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-enum class MediaDeviceKind { Audioinput, Audiooutput, Videoinput };
-
</del><span class="cx"> class MediaDeviceInfo : public RefCounted<MediaDeviceInfo>, public ScriptWrappable, private ContextDestructionObserver {
</span><span class="cx"> public:
</span><del>- static Ref<MediaDeviceInfo> create(ScriptExecutionContext*, const String&, const String&, const String&, MediaDeviceKind);
</del><ins>+ enum class Kind { Audioinput, Audiooutput, Videoinput };
</ins><span class="cx">
</span><ins>+ static Ref<MediaDeviceInfo> create(ScriptExecutionContext*, const String&, const String&, const String&, Kind);
+
</ins><span class="cx"> const String& label() const { return m_label; }
</span><span class="cx"> const String& deviceId() const { return m_deviceId; }
</span><span class="cx"> const String& groupId() const { return m_groupId; }
</span><del>- MediaDeviceKind kind() const { return m_kind; }
</del><ins>+ Kind kind() const { return m_kind; }
</ins><span class="cx">
</span><span class="cx"> private:
</span><del>- MediaDeviceInfo(ScriptExecutionContext*, const String&, const String&, const String&, MediaDeviceKind);
</del><ins>+ MediaDeviceInfo(ScriptExecutionContext*, const String&, const String&, const String&, Kind);
</ins><span class="cx">
</span><span class="cx"> const String m_label;
</span><span class="cx"> const String m_deviceId;
</span><span class="cx"> const String m_groupId;
</span><del>- const MediaDeviceKind m_kind;
</del><ins>+ const Kind m_kind;
</ins><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> typedef Vector<RefPtr<MediaDeviceInfo>> MediaDeviceInfoVector;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamMediaDevicesRequestcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/MediaDevicesRequest.cpp (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/MediaDevicesRequest.cpp        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/Modules/mediastream/MediaDevicesRequest.cpp        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -155,7 +155,7 @@
</span><span class="cx">
</span><span class="cx"> String groupId = hashID(deviceInfo->groupId());
</span><span class="cx">
</span><del>- auto deviceType = deviceInfo->kind() == TrackSourceInfo::SourceKind::Audio ? MediaDeviceKind::Audioinput : MediaDeviceKind::Videoinput;
</del><ins>+ auto deviceType = deviceInfo->kind() == TrackSourceInfo::SourceKind::Audio ? MediaDeviceInfo::Kind::Audioinput : MediaDeviceInfo::Kind::Videoinput;
</ins><span class="cx">
</span><span class="cx"> devices.append(MediaDeviceInfo::create(scriptExecutionContext(), label, id, groupId, deviceType));
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamMediaStreamTrackcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -111,9 +111,9 @@
</span><span class="cx"> return m_private->remote();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-MediaStreamTrackState MediaStreamTrack::readyState() const
</del><ins>+auto MediaStreamTrack::readyState() const -> State
</ins><span class="cx"> {
</span><del>- return ended() ? MediaStreamTrackState::Ended : MediaStreamTrackState::Live;
</del><ins>+ return ended() ? State::Ended : State::Live;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool MediaStreamTrack::ended() const
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamMediaStreamTrackh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.h (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.h        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.h        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -46,8 +46,6 @@
</span><span class="cx"> class MediaSourceSettings;
</span><span class="cx"> class MediaTrackConstraints;
</span><span class="cx">
</span><del>-enum class MediaStreamTrackState { New, Live, Ended };
-
</del><span class="cx"> class MediaStreamTrack final : public RefCounted<MediaStreamTrack>, public ActiveDOMObject, public EventTargetWithInlineData, private MediaStreamTrackPrivate::Observer {
</span><span class="cx"> public:
</span><span class="cx"> class Observer {
</span><span class="lines">@@ -70,7 +68,8 @@
</span><span class="cx"> bool readonly() const;
</span><span class="cx"> bool remote() const;
</span><span class="cx">
</span><del>- MediaStreamTrackState readyState() const;
</del><ins>+ enum class State { New, Live, Ended };
+ State readyState() const;
</ins><span class="cx">
</span><span class="cx"> bool ended() const;
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCConfigurationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/RTCConfiguration.cpp (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCConfiguration.cpp        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/Modules/mediastream/RTCConfiguration.cpp        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -142,11 +142,11 @@
</span><span class="cx"> String iceTransportPolicy;
</span><span class="cx"> if (configuration.get("iceTransportPolicy", iceTransportPolicy)) {
</span><span class="cx"> if (iceTransportPolicy == "public")
</span><del>- m_iceTransportPolicy = RTCIceTransportPolicy::Public;
</del><ins>+ m_iceTransportPolicy = IceTransportPolicy::Public;
</ins><span class="cx"> else if (iceTransportPolicy == "relay")
</span><del>- m_iceTransportPolicy = RTCIceTransportPolicy::Relay;
</del><ins>+ m_iceTransportPolicy = IceTransportPolicy::Relay;
</ins><span class="cx"> else if (iceTransportPolicy == "all")
</span><del>- m_iceTransportPolicy = RTCIceTransportPolicy::All;
</del><ins>+ m_iceTransportPolicy = IceTransportPolicy::All;
</ins><span class="cx"> else {
</span><span class="cx"> ec = TypeError;
</span><span class="cx"> return;
</span><span class="lines">@@ -156,11 +156,11 @@
</span><span class="cx"> String bundlePolicy;
</span><span class="cx"> if (configuration.get("bundlePolicy", bundlePolicy)) {
</span><span class="cx"> if (bundlePolicy == "balanced")
</span><del>- m_bundlePolicy = RTCBundlePolicy::Balanced;
</del><ins>+ m_bundlePolicy = BundlePolicy::Balanced;
</ins><span class="cx"> else if (bundlePolicy == "max-compat")
</span><del>- m_bundlePolicy = RTCBundlePolicy::MaxCompat;
</del><ins>+ m_bundlePolicy = BundlePolicy::MaxCompat;
</ins><span class="cx"> else if (bundlePolicy == "max-bundle")
</span><del>- m_bundlePolicy = RTCBundlePolicy::MaxBundle;
</del><ins>+ m_bundlePolicy = BundlePolicy::MaxBundle;
</ins><span class="cx"> else
</span><span class="cx"> ec = TypeError;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCConfigurationh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/RTCConfiguration.h (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCConfiguration.h        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/Modules/mediastream/RTCConfiguration.h        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -45,16 +45,17 @@
</span><span class="cx">
</span><span class="cx"> typedef int ExceptionCode;
</span><span class="cx">
</span><del>-enum class RTCBundlePolicy { Balanced, MaxCompat, MaxBundle };
-enum class RTCIceTransportPolicy { Public, Relay, All };
-
</del><span class="cx"> class RTCConfiguration : public RefCounted<RTCConfiguration> {
</span><span class="cx"> public:
</span><span class="cx"> static RefPtr<RTCConfiguration> create(const Dictionary& configuration, ExceptionCode&);
</span><span class="cx"> virtual ~RTCConfiguration() { }
</span><span class="cx">
</span><del>- RTCIceTransportPolicy iceTransportPolicy() const { return m_iceTransportPolicy; }
- RTCBundlePolicy bundlePolicy() const { return m_bundlePolicy; }
</del><ins>+ enum class IceTransportPolicy { Public, Relay, All };
+ IceTransportPolicy iceTransportPolicy() const { return m_iceTransportPolicy; }
+
+ enum class BundlePolicy { Balanced, MaxCompat, MaxBundle };
+ BundlePolicy bundlePolicy() const { return m_bundlePolicy; }
+
</ins><span class="cx"> Vector<RefPtr<RTCIceServer>> iceServers() const { return m_iceServers; }
</span><span class="cx">
</span><span class="cx"> private:
</span><span class="lines">@@ -63,8 +64,8 @@
</span><span class="cx"> void initialize(const Dictionary& configuration, ExceptionCode&);
</span><span class="cx">
</span><span class="cx"> Vector<RefPtr<RTCIceServer>> m_iceServers;
</span><del>- RTCIceTransportPolicy m_iceTransportPolicy { RTCIceTransportPolicy::All };
- RTCBundlePolicy m_bundlePolicy { RTCBundlePolicy::Balanced };
</del><ins>+ IceTransportPolicy m_iceTransportPolicy { IceTransportPolicy::All };
+ BundlePolicy m_bundlePolicy { BundlePolicy::Balanced };
</ins><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioAudioContexth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/AudioContext.h (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/AudioContext.h        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/Modules/webaudio/AudioContext.h        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -71,8 +71,6 @@
</span><span class="cx"> class ScriptProcessorNode;
</span><span class="cx"> class WaveShaperNode;
</span><span class="cx">
</span><del>-enum class AudioContextState { Suspended, Running, Interrupted, Closed };
-
</del><span class="cx"> // AudioContext is the cornerstone of the web audio API and all AudioNodes are created from it.
</span><span class="cx"> // For thread safety between the audio thread and the main thread, it has a rendering graph locking mechanism.
</span><span class="cx">
</span><span class="lines">@@ -117,7 +115,7 @@
</span><span class="cx"> void resume(Promise&&);
</span><span class="cx"> void close(Promise&&);
</span><span class="cx">
</span><del>- using State = AudioContextState;
</del><ins>+ enum class State { Suspended, Running, Interrupted, Closed };
</ins><span class="cx"> State state() const;
</span><span class="cx">
</span><span class="cx"> // The AudioNode create methods are called on the main thread (from JavaScript).
</span><span class="lines">@@ -405,7 +403,7 @@
</span><span class="cx"> return &lhs != &rhs;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-inline AudioContextState AudioContext::state() const
</del><ins>+inline AudioContext::State AudioContext::state() const
</ins><span class="cx"> {
</span><span class="cx"> return m_state;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioWaveShaperNodecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/WaveShaperNode.cpp (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/WaveShaperNode.cpp        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/Modules/webaudio/WaveShaperNode.cpp        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -54,14 +54,14 @@
</span><span class="cx"> return waveShaperProcessor()->curve();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static inline WaveShaperProcessor::OverSampleType processorType(OverSampleType type)
</del><ins>+static inline WaveShaperProcessor::OverSampleType processorType(WaveShaperNode::OverSampleType type)
</ins><span class="cx"> {
</span><span class="cx"> switch (type) {
</span><del>- case OverSampleType::None:
</del><ins>+ case WaveShaperNode::OverSampleType::None:
</ins><span class="cx"> return WaveShaperProcessor::OverSampleNone;
</span><del>- case OverSampleType::_2x:
</del><ins>+ case WaveShaperNode::OverSampleType::_2x:
</ins><span class="cx"> return WaveShaperProcessor::OverSample2x;
</span><del>- case OverSampleType::_4x:
</del><ins>+ case WaveShaperNode::OverSampleType::_4x:
</ins><span class="cx"> return WaveShaperProcessor::OverSample4x;
</span><span class="cx"> }
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><span class="lines">@@ -77,7 +77,7 @@
</span><span class="cx"> waveShaperProcessor()->setOversample(processorType(type));
</span><span class="cx"> }
</span><span class="cx">
</span><del>-OverSampleType WaveShaperNode::oversample() const
</del><ins>+auto WaveShaperNode::oversample() const -> OverSampleType
</ins><span class="cx"> {
</span><span class="cx"> switch (const_cast<WaveShaperNode*>(this)->waveShaperProcessor()->oversample()) {
</span><span class="cx"> case WaveShaperProcessor::OverSampleNone:
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioWaveShaperNodeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/WaveShaperNode.h (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/WaveShaperNode.h        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/Modules/webaudio/WaveShaperNode.h        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -30,8 +30,6 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-enum class OverSampleType { None, _2x, _4x };
-
</del><span class="cx"> class WaveShaperNode final : public AudioBasicProcessorNode {
</span><span class="cx"> public:
</span><span class="cx"> static Ref<WaveShaperNode> create(AudioContext& context)
</span><span class="lines">@@ -43,6 +41,7 @@
</span><span class="cx"> void setCurve(Float32Array*);
</span><span class="cx"> Float32Array* curve();
</span><span class="cx">
</span><ins>+ enum class OverSampleType { None, _2x, _4x };
</ins><span class="cx"> void setOversample(OverSampleType);
</span><span class="cx"> OverSampleType oversample() const;
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSXMLHttpRequestCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -189,8 +189,8 @@
</span><span class="cx"> auto type = wrapped().responseType();
</span><span class="cx">
</span><span class="cx"> switch (type) {
</span><del>- case XMLHttpRequestResponseType::EmptyString:
- case XMLHttpRequestResponseType::Text:
</del><ins>+ case XMLHttpRequest::ResponseType::EmptyString:
+ case XMLHttpRequest::ResponseType::Text:
</ins><span class="cx"> return responseText(state);
</span><span class="cx"> default:
</span><span class="cx"> break;
</span><span class="lines">@@ -200,12 +200,12 @@
</span><span class="cx"> return jsNull();
</span><span class="cx">
</span><span class="cx"> switch (type) {
</span><del>- case XMLHttpRequestResponseType::EmptyString:
- case XMLHttpRequestResponseType::Text:
</del><ins>+ case XMLHttpRequest::ResponseType::EmptyString:
+ case XMLHttpRequest::ResponseType::Text:
</ins><span class="cx"> ASSERT_NOT_REACHED();
</span><span class="cx"> break;
</span><span class="cx">
</span><del>- case XMLHttpRequestResponseType::Json:
</del><ins>+ case XMLHttpRequest::ResponseType::Json:
</ins><span class="cx"> {
</span><span class="cx"> JSValue value = JSONParse(&state, wrapped().responseTextIgnoringResponseType());
</span><span class="cx"> if (!value)
</span><span class="lines">@@ -215,7 +215,7 @@
</span><span class="cx"> return value;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- case XMLHttpRequestResponseType::Document:
</del><ins>+ case XMLHttpRequest::ResponseType::Document:
</ins><span class="cx"> {
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="cx"> Document* document = wrapped().responseXML(ec);
</span><span class="lines">@@ -226,10 +226,10 @@
</span><span class="cx"> return toJS(&state, globalObject(), document);
</span><span class="cx"> }
</span><span class="cx">
</span><del>- case XMLHttpRequestResponseType::Blob:
</del><ins>+ case XMLHttpRequest::ResponseType::Blob:
</ins><span class="cx"> return toJS(&state, globalObject(), wrapped().responseBlob());
</span><span class="cx">
</span><del>- case XMLHttpRequestResponseType::Arraybuffer:
</del><ins>+ case XMLHttpRequest::ResponseType::Arraybuffer:
</ins><span class="cx"> return toJS(&state, globalObject(), wrapped().responseArrayBuffer());
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -321,7 +321,7 @@
</span><span class="cx">
</span><span class="cx"> sub GenerateGetOwnPropertySlotBody
</span><span class="cx"> {
</span><del>- my ($interface, $interfaceName, $className, $hasInstanceProperties, $inlined) = @_;
</del><ins>+ my ($interface, $className, $hasInstanceProperties, $inlined) = @_;
</ins><span class="cx">
</span><span class="cx"> my $namespaceMaybe = ($inlined ? "JSC::" : "");
</span><span class="cx"> my $namedGetterFunction = GetNamedGetterFunction($interface);
</span><span class="lines">@@ -511,35 +511,27 @@
</span><span class="cx">
</span><span class="cx"> sub GetAttributeGetterName
</span><span class="cx"> {
</span><del>- my ($interfaceName, $className, $interface, $attribute) = @_;
- if ($attribute->isStatic) {
- return $codeGenerator->WK_lcfirst($className) . "Constructor" . $codeGenerator->WK_ucfirst($attribute->signature->name);
- }
- if (IsJSBuiltin($interface, $attribute)) {
- return GetJSBuiltinFunctionName($className, $attribute);
- }
- return "js" . $interfaceName . $codeGenerator->WK_ucfirst($attribute->signature->name) . ($attribute->signature->type =~ /Constructor$/ ? "Constructor" : "");
</del><ins>+ my ($interface, $className, $attribute) = @_;
+
+ return $codeGenerator->WK_lcfirst($className) . "Constructor" . $codeGenerator->WK_ucfirst($attribute->signature->name) if $attribute->isStatic;
+ return GetJSBuiltinFunctionName($className, $attribute) if IsJSBuiltin($interface, $attribute);
+ return "js" . $interface->name . $codeGenerator->WK_ucfirst($attribute->signature->name) . ($attribute->signature->type =~ /Constructor$/ ? "Constructor" : "");
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> sub GetAttributeSetterName
</span><span class="cx"> {
</span><del>- my ($interfaceName, $className, $interface, $attribute) = @_;
- if ($attribute->isStatic) {
- return "set" . $codeGenerator->WK_ucfirst($className) . "Constructor" . $codeGenerator->WK_ucfirst($attribute->signature->name);
- }
- if (IsJSBuiltin($interface, $attribute)) {
- return "set" . $codeGenerator->WK_ucfirst(GetJSBuiltinFunctionName($className, $attribute));
- }
- return "setJS" . $interfaceName . $codeGenerator->WK_ucfirst($attribute->signature->name) . ($attribute->signature->type =~ /Constructor$/ ? "Constructor" : "");
</del><ins>+ my ($interface, $className, $attribute) = @_;
+
+ return "set" . $codeGenerator->WK_ucfirst($className) . "Constructor" . $codeGenerator->WK_ucfirst($attribute->signature->name) if $attribute->isStatic;
+ return "set" . $codeGenerator->WK_ucfirst(GetJSBuiltinFunctionName($className, $attribute)) if IsJSBuiltin($interface, $attribute);
+ return "setJS" . $interface->name . $codeGenerator->WK_ucfirst($attribute->signature->name) . ($attribute->signature->type =~ /Constructor$/ ? "Constructor" : "");
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> sub GetFunctionName
</span><span class="cx"> {
</span><span class="cx"> my ($interface, $className, $function) = @_;
</span><span class="cx">
</span><del>- if (IsJSBuiltin($interface, $function)) {
- return GetJSBuiltinFunctionName($className, $function);
- }
</del><ins>+ return GetJSBuiltinFunctionName($className, $function) if IsJSBuiltin($interface, $function);
</ins><span class="cx">
</span><span class="cx"> my $functionName = $function->signature->name;
</span><span class="cx"> $functionName = "SymbolIterator" if $functionName eq "[Symbol.Iterator]";
</span><span class="lines">@@ -619,14 +611,6 @@
</span><span class="cx"> return 0;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-sub AttributeShouldBeOnInstanceForCompatibility
-{
- my $interface = shift;
- my $attribute = shift;
- my $interfaceName = $interface->name;
- return 0;
-}
-
</del><span class="cx"> sub AttributeShouldBeOnInstance
</span><span class="cx"> {
</span><span class="cx"> my $interface = shift;
</span><span class="lines">@@ -642,8 +626,6 @@
</span><span class="cx"> # https://heycam.github.io/webidl/#Unforgeable
</span><span class="cx"> return 1 if IsUnforgeable($interface, $attribute);
</span><span class="cx">
</span><del>- return 1 if AttributeShouldBeOnInstanceForCompatibility($interface, $attribute);
-
</del><span class="cx"> if ($interface->extendedAttributes->{"CheckSecurity"}) {
</span><span class="cx"> if ($attribute->signature->extendedAttributes->{"DoNotCheckSecurity"} or
</span><span class="cx"> $attribute->signature->extendedAttributes->{"DoNotCheckSecurityOnGetter"}) {
</span><span class="lines">@@ -813,33 +795,85 @@
</span><span class="cx"> return $name;
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+sub IsClassNameWordBoundary
+{
+ my ($name, $i) = @_;
+
+ # Interpret negative numbers as distance from end of string, just as the substr function does.
+ $i += length($name) if $i < 0;
+
+ return 0 if $i < 0;
+ return 1 if $i == 0;
+ return 1 if $i == length($name);
+ return 0 if $i > length($name);
+
+ my $checkString = substr($name, $i - 1);
+ return $checkString =~ /^[^A-Z][A-Z]/ || $checkString =~ /^[A-Z][A-Z][^A-Z]/;
+}
+
+sub IsPrefixRemovable
+{
+ my ($class, $name, $i) = @_;
+
+ return IsClassNameWordBoundary($name, $i)
+ && (IsClassNameWordBoundary($class, $i) && substr($class, 0, $i) eq substr($name, 0, $i)
+ || IsClassNameWordBoundary($class, -$i) && substr($class, -$i) eq substr($name, 0, $i));
+}
+
</ins><span class="cx"> sub GetEnumerationClassName
</span><span class="cx"> {
</span><del>- my ($name) = @_;
- return $codeGenerator->WK_ucfirst($name);
-};
</del><ins>+ my ($interface, $name) = @_;
</ins><span class="cx">
</span><ins>+ my $class = GetImplClassName($interface->name);
+ my $enum = $codeGenerator->WK_ucfirst($name);
+
+ # Since the enumeration name will be nested in the class name's namespace, remove any words
+ # that happen to match the start or end of the class name. If an enumeration is named TrackType or
+ # TextTrackType, and the class is named TextTrack, then we will get a name like TextTrack::Type.
+ my $enumLength = length($enum);
+ my $longestPrefixLength = 0;
+ if ($enum =~ /^[A-Z]./) {
+ for (my $i = 2; $i < $enumLength - 1; $i++) {
+ $longestPrefixLength = $i if IsPrefixRemovable($class, $enum, $i);
+ }
+ }
+ $enum = substr($enum, $longestPrefixLength);
+
+ return "${class}::$enum";
+}
+
+sub GetEnumerationClassIdentifier
+{
+ my ($interface, $name) = @_;
+
+ my $identifier = GetEnumerationClassName($interface, $name);
+ $identifier =~ s/:://;
+ return $identifier;
+}
+
</ins><span class="cx"> sub GetEnumerationValueName
</span><span class="cx"> {
</span><span class="cx"> my ($name) = @_;
</span><ins>+
</ins><span class="cx"> return "EmptyString" if $name eq "";
</span><span class="cx"> $name = join("", map { $codeGenerator->WK_ucfirst($_) } split("-", $name));
</span><span class="cx"> $name = "_$name" if $name =~ /^\d/;
</span><span class="cx"> return $name;
</span><del>-};
</del><ins>+}
</ins><span class="cx">
</span><del>-sub GetEnumerationImplementationContent
</del><ins>+sub GenerateEnumerationImplementationContent
</ins><span class="cx"> {
</span><del>- my ($enumerations) = @_;
</del><ins>+ my ($interface, $enumerations) = @_;
</ins><span class="cx">
</span><del>- # FIXME: Could optimize this to only generate things that are used, which would require
- # iterating over everything in the interface.
</del><ins>+ # FIXME: Could optimize this to only generate the parts of each enumeration that are actually
+ # used, which would require iterating over everything in the interface.
</ins><span class="cx">
</span><span class="cx"> my $result = "";
</span><span class="cx"> foreach my $enumeration (@$enumerations) {
</span><span class="cx"> my $name = $enumeration->name;
</span><span class="cx">
</span><del>- my $className = GetEnumerationClassName($name);
</del><ins>+ my $className = GetEnumerationClassName($interface, $name);
+ my $classIdentifier = GetEnumerationClassIdentifier($interface, $name);
</ins><span class="cx">
</span><span class="cx"> # FIXME: A little ugly to have this be a side effect instead of a return value.
</span><span class="cx"> AddToImplIncludes("<runtime/JSString.h>");
</span><span class="lines">@@ -850,8 +884,8 @@
</span><span class="cx"> # Declare these instead of using "static" because these may be unused and we don't
</span><span class="cx"> # want to get warnings about them.
</span><span class="cx"> $result .= "JSString* jsStringWithCache(ExecState*, $className);\n";
</span><del>- $result .= "Optional<$className> parse$className(ExecState&, JSValue);\n";
- $result .= "extern const char expectedEnumerationValues${className}[];\n\n";
</del><ins>+ $result .= "Optional<$className> parse$classIdentifier(ExecState&, JSValue);\n";
+ $result .= "extern const char expectedEnumerationValues${classIdentifier}[];\n\n";
</ins><span class="cx">
</span><span class="cx"> # Take an ExecState* instead of an ExecState& to match the jsStringWithCache from JSString.h.
</span><span class="cx"> # FIXME: Change to take VM& instead of ExecState*.
</span><span class="lines">@@ -885,7 +919,7 @@
</span><span class="cx"> # FIXME: Change to take VM& instead of ExecState&.
</span><span class="cx"> # FIXME: Consider using toStringOrNull to make exception checking faster.
</span><span class="cx"> # FIXME: Consider finding a more efficient way to match against all the strings quickly.
</span><del>- $result .= "Optional<$className> parse$className(ExecState& state, JSValue value)\n";
</del><ins>+ $result .= "Optional<$className> parse$classIdentifier(ExecState& state, JSValue value)\n";
</ins><span class="cx"> $result .= "{\n";
</span><span class="cx"> $result .= " auto stringValue = value.toWTFString(&state);\n";
</span><span class="cx"> foreach my $value (@{$enumeration->values}) {
</span><span class="lines">@@ -900,7 +934,7 @@
</span><span class="cx"> $result .= " return Nullopt;\n";
</span><span class="cx"> $result .= "}\n\n";
</span><span class="cx">
</span><del>- $result .= "const char expectedEnumerationValues${className}[] = \"\\\"" . join ("\\\", \\\"", @{$enumeration->values}) . "\\\"\";\n\n";
</del><ins>+ $result .= "const char expectedEnumerationValues${classIdentifier}[] = \"\\\"" . join ("\\\", \\\"", @{$enumeration->values}) . "\\\"\";\n\n";
</ins><span class="cx">
</span><span class="cx"> $result .= "#endif\n\n" if $conditionalString;
</span><span class="cx"> }
</span><span class="lines">@@ -1348,10 +1382,7 @@
</span><span class="cx">
</span><span class="cx"> push(@headerContent, "\n");
</span><span class="cx">
</span><del>- # Add prototype declaration.
- if (HeaderNeedsPrototypeDeclaration($interface)) {
- GeneratePrototypeDeclaration(\@headerContent, $className, $interface, $interfaceName);
- }
</del><ins>+ GeneratePrototypeDeclaration(\@headerContent, $className, $interface) if HeaderNeedsPrototypeDeclaration($interface);
</ins><span class="cx">
</span><span class="cx"> if ($hasForwardDeclaringFunctions) {
</span><span class="cx"> my $inAppleCopyright = 0;
</span><span class="lines">@@ -1389,10 +1420,10 @@
</span><span class="cx">
</span><span class="cx"> my $conditionalString = $codeGenerator->GenerateConditionalString($attribute->signature);
</span><span class="cx"> push(@headerContent, "#if ${conditionalString}\n") if $conditionalString;
</span><del>- my $getter = GetAttributeGetterName($interfaceName, $className, $interface, $attribute);
</del><ins>+ my $getter = GetAttributeGetterName($interface, $className, $attribute);
</ins><span class="cx"> push(@headerContent, "JSC::EncodedJSValue ${getter}(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);\n");
</span><span class="cx"> if (!IsReadonly($attribute)) {
</span><del>- my $setter = GetAttributeSetterName($interfaceName, $className, $interface, $attribute);
</del><ins>+ my $setter = GetAttributeSetterName($interface, $className, $attribute);
</ins><span class="cx"> push(@headerContent, "bool ${setter}(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);\n");
</span><span class="cx"> }
</span><span class="cx"> push(@headerContent, "#endif\n") if $conditionalString;
</span><span class="lines">@@ -1458,13 +1489,13 @@
</span><span class="cx"> my $special = GetJSCAttributesForAttribute($interface, $attribute);
</span><span class="cx"> push(@$hashSpecials, $special);
</span><span class="cx">
</span><del>- my $getter = GetAttributeGetterName($interfaceName, $className, $interface, $attribute);
</del><ins>+ my $getter = GetAttributeGetterName($interface, $className, $attribute);
</ins><span class="cx"> push(@$hashValue1, $getter);
</span><span class="cx">
</span><span class="cx"> if (IsReadonly($attribute)) {
</span><span class="cx"> push(@$hashValue2, "0");
</span><span class="cx"> } else {
</span><del>- my $setter = GetAttributeSetterName($interfaceName, $className, $interface, $attribute);
</del><ins>+ my $setter = GetAttributeSetterName($interface, $className, $attribute);
</ins><span class="cx"> push(@$hashValue2, $setter);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -1641,9 +1672,7 @@
</span><span class="cx">
</span><span class="cx"> sub GenerateOverloadedFunction
</span><span class="cx"> {
</span><del>- my $function = shift;
- my $interface = shift;
- my $interfaceName = shift;
</del><ins>+ my ($function, $interface) = @_;
</ins><span class="cx">
</span><span class="cx"> # Generate code for choosing the correct overload to call. Overloads are
</span><span class="cx"> # chosen based on the total number of arguments passed and the type of
</span><span class="lines">@@ -1652,6 +1681,7 @@
</span><span class="cx"> # declaration in the IDL.
</span><span class="cx">
</span><span class="cx"> my $kind = $function->isStatic ? "Constructor" : (OperationShouldBeOnInstance($interface, $function) ? "Instance" : "Prototype");
</span><ins>+ my $interfaceName = $interface->name;
</ins><span class="cx"> my $functionName = "js${interfaceName}${kind}Function" . $codeGenerator->WK_ucfirst($function->signature->name);
</span><span class="cx">
</span><span class="cx"> # FIXME: Implement support for overloaded functions with variadic arguments.
</span><span class="lines">@@ -1901,7 +1931,7 @@
</span><span class="cx"> push(@implContent, "\nusing namespace JSC;\n\n");
</span><span class="cx"> push(@implContent, "namespace WebCore {\n\n");
</span><span class="cx">
</span><del>- push(@implContent, GetEnumerationImplementationContent($enumerations));
</del><ins>+ push(@implContent, GenerateEnumerationImplementationContent($interface, $enumerations));
</ins><span class="cx">
</span><span class="cx"> my @functions = @{$interface->functions};
</span><span class="cx"> push(@functions, @{$interface->iterable->functions}) if $interface->iterable;
</span><span class="lines">@@ -1949,10 +1979,10 @@
</span><span class="cx">
</span><span class="cx"> my $conditionalString = $codeGenerator->GenerateConditionalString($attribute->signature);
</span><span class="cx"> push(@implContent, "#if ${conditionalString}\n") if $conditionalString;
</span><del>- my $getter = GetAttributeGetterName($interfaceName, $className, $interface, $attribute);
</del><ins>+ my $getter = GetAttributeGetterName($interface, $className, $attribute);
</ins><span class="cx"> push(@implContent, "JSC::EncodedJSValue ${getter}(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);\n");
</span><span class="cx"> if (!IsReadonly($attribute)) {
</span><del>- my $setter = GetAttributeSetterName($interfaceName, $className, $interface, $attribute);
</del><ins>+ my $setter = GetAttributeSetterName($interface, $className, $attribute);
</ins><span class="cx"> push(@implContent, "bool ${setter}(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);\n");
</span><span class="cx"> }
</span><span class="cx"> push(@implContent, "#endif\n") if $conditionalString;
</span><span class="lines">@@ -1969,17 +1999,10 @@
</span><span class="cx"> push(@implContent, "\n");
</span><span class="cx"> }
</span><span class="cx">
</span><del>- # Add prototype declaration.
- if (!HeaderNeedsPrototypeDeclaration($interface)) {
- GeneratePrototypeDeclaration(\@implContent, $className, $interface, $interfaceName);
- }
</del><ins>+ GeneratePrototypeDeclaration(\@implContent, $className, $interface) if !HeaderNeedsPrototypeDeclaration($interface);
</ins><span class="cx">
</span><del>- # Add constructor declaration
- if (NeedsConstructorProperty($interface)) {
- GenerateConstructorDeclaration(\@implContent, $className, $interface, $interfaceName);
- }
</del><ins>+ GenerateConstructorDeclaration(\@implContent, $className, $interface) if NeedsConstructorProperty($interface);
</ins><span class="cx">
</span><del>-
</del><span class="cx"> my @hashKeys = ();
</span><span class="cx"> my @hashValue1 = ();
</span><span class="cx"> my @hashValue2 = ();
</span><span class="lines">@@ -2043,13 +2066,13 @@
</span><span class="cx"> my $special = (@specials > 0) ? join(" | ", @specials) : "0";
</span><span class="cx"> push(@hashSpecials, $special);
</span><span class="cx">
</span><del>- my $getter = GetAttributeGetterName($interfaceName, $className, $interface, $attribute);
</del><ins>+ my $getter = GetAttributeGetterName($interface, $className, $attribute);
</ins><span class="cx"> push(@hashValue1, $getter);
</span><span class="cx">
</span><span class="cx"> if (IsReadonly($attribute)) {
</span><span class="cx"> push(@hashValue2, "0");
</span><span class="cx"> } else {
</span><del>- my $setter = GetAttributeSetterName($interfaceName, $className, $interface, $attribute);
</del><ins>+ my $setter = GetAttributeSetterName($interface, $className, $attribute);
</ins><span class="cx"> push(@hashValue2, $setter);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -2091,9 +2114,9 @@
</span><span class="cx"> push(@implContent, $codeGenerator->GenerateCompileTimeCheckForEnumsIfNeeded($interface));
</span><span class="cx">
</span><span class="cx"> my $protoClassName = "${className}Prototype";
</span><del>- GenerateConstructorDefinitions(\@implContent, $className, $protoClassName, $interfaceName, $visibleInterfaceName, $interface);
</del><ins>+ GenerateConstructorDefinitions(\@implContent, $className, $protoClassName, $visibleInterfaceName, $interface);
</ins><span class="cx"> if ($interface->extendedAttributes->{"NamedConstructor"}) {
</span><del>- GenerateConstructorDefinitions(\@implContent, $className, $protoClassName, $interfaceName, $interface->extendedAttributes->{"NamedConstructor"}, $interface, "GeneratingNamedConstructor");
</del><ins>+ GenerateConstructorDefinitions(\@implContent, $className, $protoClassName, $interface->extendedAttributes->{"NamedConstructor"}, $interface, "GeneratingNamedConstructor");
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -2280,8 +2303,8 @@
</span><span class="cx"> my $enable_function = GetRuntimeEnableFunctionName($attribute->signature);
</span><span class="cx"> my $attributeName = $attribute->signature->name;
</span><span class="cx"> push(@implContent, " if (${enable_function}()) {\n");
</span><del>- my $getter = GetAttributeGetterName($interfaceName, $className, $interface, $attribute);
- my $setter = IsReadonly($attribute) ? "nullptr" : GetAttributeSetterName($interfaceName, $className, $interface, $attribute);
</del><ins>+ my $getter = GetAttributeGetterName($interface, $className, $attribute);
+ my $setter = IsReadonly($attribute) ? "nullptr" : GetAttributeSetterName($interface, $className, $attribute);
</ins><span class="cx"> push(@implContent, " auto* customGetterSetter = CustomGetterSetter::create(vm, $getter, $setter);\n");
</span><span class="cx"> my $jscAttributes = GetJSCAttributesForAttribute($interface, $attribute);
</span><span class="cx"> push(@implContent, " putDirectCustomAccessor(vm, vm.propertyNames->$attributeName, customGetterSetter, attributesForStructure($jscAttributes));\n");
</span><span class="lines">@@ -2340,7 +2363,7 @@
</span><span class="cx"> push(@implContent, "{\n");
</span><span class="cx"> push(@implContent, " auto* thisObject = jsCast<${className}*>(object);\n");
</span><span class="cx"> push(@implContent, " ASSERT_GC_OBJECT_INHERITS(thisObject, info());\n");
</span><del>- push(@implContent, GenerateGetOwnPropertySlotBody($interface, $interfaceName, $className, $numInstanceProperties > 0, 0));
</del><ins>+ push(@implContent, GenerateGetOwnPropertySlotBody($interface, $className, $numInstanceProperties > 0, 0));
</ins><span class="cx"> push(@implContent, "}\n\n");
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -2415,7 +2438,7 @@
</span><span class="cx"> my $name = $attribute->signature->name;
</span><span class="cx"> my $type = $attribute->signature->type;
</span><span class="cx"> $codeGenerator->AssertNotSequenceType($type);
</span><del>- my $getFunctionName = GetAttributeGetterName($interfaceName, $className, $interface, $attribute);
</del><ins>+ my $getFunctionName = GetAttributeGetterName($interface, $className, $attribute);
</ins><span class="cx"> my $implGetterFunctionName = $codeGenerator->WK_lcfirst($attribute->signature->extendedAttributes->{"ImplementedAs"} || $name);
</span><span class="cx"> my $getterExceptionsWithMessage = $attribute->signature->extendedAttributes->{"GetterRaisesExceptionWithMessage"};
</span><span class="cx"> my $getterExceptions = $attribute->signature->extendedAttributes->{"GetterRaisesException"} || $getterExceptionsWithMessage;
</span><span class="lines">@@ -2720,7 +2743,7 @@
</span><span class="cx">
</span><span class="cx"> my $name = $attribute->signature->name;
</span><span class="cx"> my $type = $attribute->signature->type;
</span><del>- my $putFunctionName = GetAttributeSetterName($interfaceName, $className, $interface, $attribute);
</del><ins>+ my $putFunctionName = GetAttributeSetterName($interface, $className, $attribute);
</ins><span class="cx"> my $implSetterFunctionName = $codeGenerator->WK_ucfirst($name);
</span><span class="cx"> my $setterRaisesExceptionWithMessage = $attribute->signature->extendedAttributes->{"SetterRaisesExceptionWithMessage"};
</span><span class="cx"> my $setterRaisesException = $attribute->signature->extendedAttributes->{"SetterRaisesException"} || $setterRaisesExceptionWithMessage;
</span><span class="lines">@@ -2840,7 +2863,7 @@
</span><span class="cx"> push(@implContent, " };\n");
</span><span class="cx"> }
</span><span class="cx">
</span><del>- push(@implContent, " " . GetNativeTypeFromSignature($attribute->signature) . " nativeValue = " . JSValueToNative($attribute->signature, "value", $attribute->signature->extendedAttributes->{"Conditional"}) . ";\n");
</del><ins>+ push(@implContent, " " . GetNativeTypeFromSignature($attribute->signature) . " nativeValue = " . JSValueToNative($interface, $attribute->signature, "value", $attribute->signature->extendedAttributes->{"Conditional"}) . ";\n");
</ins><span class="cx"> push(@implContent, " if (UNLIKELY(state->hadException()))\n");
</span><span class="cx"> push(@implContent, " return false;\n");
</span><span class="cx">
</span><span class="lines">@@ -3048,11 +3071,11 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> my $numParameters = @{$function->parameters};
</span><del>- my ($functionString, $dummy) = GenerateParametersCheck(\@implContent, $function, $interface, $numParameters, $interfaceName, $functionImplementationName, $svgPropertyType, $svgPropertyOrListPropertyType, $svgListPropertyType);
</del><ins>+ my ($functionString, $dummy) = GenerateParametersCheck(\@implContent, $function, $interface, $numParameters, $functionImplementationName, $svgPropertyType, $svgPropertyOrListPropertyType, $svgListPropertyType);
</ins><span class="cx"> GenerateImplementationFunctionCall($function, $functionString, " ", $svgPropertyType, $interfaceName);
</span><span class="cx"> }
</span><span class="cx"> } else {
</span><del>- GenerateFunctionCastedThis($interface, $interfaceName, $className, $function);
</del><ins>+ GenerateFunctionCastedThis($interface, $className, $function);
</ins><span class="cx">
</span><span class="cx"> if ($interface->extendedAttributes->{"CheckSecurity"} and
</span><span class="cx"> !$function->signature->extendedAttributes->{"DoNotCheckSecurity"}) {
</span><span class="lines">@@ -3102,7 +3125,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> my $numParameters = @{$function->parameters};
</span><del>- my ($functionString, $dummy) = GenerateParametersCheck(\@implContent, $function, $interface, $numParameters, $interfaceName, $functionImplementationName, $svgPropertyType, $svgPropertyOrListPropertyType, $svgListPropertyType);
</del><ins>+ my ($functionString, $dummy) = GenerateParametersCheck(\@implContent, $function, $interface, $numParameters, $functionImplementationName, $svgPropertyType, $svgPropertyOrListPropertyType, $svgListPropertyType);
</ins><span class="cx"> GenerateImplementationFunctionCall($function, $functionString, " ", $svgPropertyType, $interfaceName);
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="lines">@@ -3111,11 +3134,8 @@
</span><span class="cx"> push(@implContent, "}\n\n");
</span><span class="cx"> push(@implContent, "#endif\n\n") if $conditional;
</span><span class="cx">
</span><del>- if (!$isCustom && $isOverloaded && $function->{overloadIndex} == @{$function->{overloads}}) {
- # Generate a function dispatching call to the rest of the overloads.
- GenerateOverloadedFunction($function, $interface, $interfaceName);
- }
-
</del><ins>+ # Generate a function dispatching call to the rest of the overloads.
+ GenerateOverloadedFunction($function, $interface) if !$isCustom && $isOverloaded && $function->{overloadIndex} == @{$function->{overloads}};
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> push(@implContent, $endAppleCopyright) if $inAppleCopyright;
</span><span class="lines">@@ -3361,10 +3381,8 @@
</span><span class="cx">
</span><span class="cx"> sub GenerateFunctionCastedThis
</span><span class="cx"> {
</span><del>- my $interface = shift;
- my $interfaceName = shift;
- my $className = shift;
- my $function = shift;
</del><ins>+ my ($interface, $className, $function) = @_;
+
</ins><span class="cx"> if ($interface->extendedAttributes->{"CustomProxyToJSObject"}) {
</span><span class="cx"> push(@implContent, " $className* castedThis = to${className}(state->thisValue().toThis(state, NotStrictMode));\n");
</span><span class="cx"> push(@implContent, " if (UNLIKELY(!castedThis))\n");
</span><span class="lines">@@ -3372,6 +3390,7 @@
</span><span class="cx"> } else {
</span><span class="cx"> push(@implContent, " JSValue thisValue = state->thisValue();\n");
</span><span class="cx"> my $castingHelper = GetCastingHelperForThisObject($interface);
</span><ins>+ my $interfaceName = $interface->name;
</ins><span class="cx"> if ($interfaceName eq "EventTarget") {
</span><span class="cx"> # We allow calling the EventTarget API without an explicit 'this' value and fall back to using the global object instead.
</span><span class="cx"> # As of early 2016, this matches Firefox and Chrome's behavior.
</span><span class="lines">@@ -3384,7 +3403,7 @@
</span><span class="cx"> push(@implContent, " return throwThisTypeError(*state, \"$interfaceName\", \"$domFunctionName\");\n");
</span><span class="cx"> }
</span><span class="cx">
</span><del>- push(@implContent, " ASSERT_GC_OBJECT_INHERITS(castedThis, ${className}::info());\n") unless $interfaceName eq "EventTarget";
</del><ins>+ push(@implContent, " ASSERT_GC_OBJECT_INHERITS(castedThis, ${className}::info());\n") unless $interface->name eq "EventTarget";
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> sub GenerateCallWith
</span><span class="lines">@@ -3493,20 +3512,9 @@
</span><span class="cx">
</span><span class="cx"> sub GenerateParametersCheck
</span><span class="cx"> {
</span><del>- my $outputArray = shift;
- my $function = shift;
- my $interface = shift;
- my $numParameters = shift;
- my $interfaceName = shift;
- my $functionImplementationName = shift;
- my $svgPropertyType = shift;
- my $svgPropertyOrListPropertyType = shift;
- my $svgListPropertyType = shift;
</del><ins>+ my ($outputArray, $function, $interface, $numParameters, $functionImplementationName, $svgPropertyType, $svgPropertyOrListPropertyType, $svgListPropertyType) = @_;
</ins><span class="cx">
</span><del>- my $argsIndex = 0;
- my $hasOptionalArguments = 0;
-
- my $className = $interface->name;
</del><ins>+ my $interfaceName = $interface->name;
</ins><span class="cx"> my @arguments;
</span><span class="cx"> my $functionName;
</span><span class="cx"> my $implementedBy = $function->signature->extendedAttributes->{"ImplementedBy"};
</span><span class="lines">@@ -3533,6 +3541,8 @@
</span><span class="cx">
</span><span class="cx"> $implIncludes{"ExceptionCode.h"} = 1;
</span><span class="cx"> $implIncludes{"JSDOMBinding.h"} = 1;
</span><ins>+
+ my $argsIndex = 0;
</ins><span class="cx"> foreach my $parameter (@{$function->parameters}) {
</span><span class="cx"> my $argType = $parameter->type;
</span><span class="cx"> my $optional = $parameter->isOptional;
</span><span class="lines">@@ -3625,7 +3635,9 @@
</span><span class="cx"> push(@$outputArray, " return JSValue::encode(jsUndefined());\n");
</span><span class="cx"> }
</span><span class="cx"> } elsif ($codeGenerator->IsEnumType($argType)) {
</span><del>- my $className = GetEnumerationClassName($argType);
</del><ins>+ my $className = GetEnumerationClassName($interface, $argType);
+ my $classIdentifier = GetEnumerationClassIdentifier($interface, $argType);
+
</ins><span class="cx"> $implIncludes{"<runtime/Error.h>"} = 1;
</span><span class="cx">
</span><span class="cx"> my $nativeType = $className;
</span><span class="lines">@@ -3652,11 +3664,11 @@
</span><span class="cx"> $indent = " ";
</span><span class="cx"> }
</span><span class="cx">
</span><del>- push(@$outputArray, "$indent $defineOptionalValue = parse$className(*state, ${name}Value);\n");
</del><ins>+ push(@$outputArray, "$indent $defineOptionalValue = parse$classIdentifier(*state, ${name}Value);\n");
</ins><span class="cx"> push(@$outputArray, "$indent if (UNLIKELY(state->hadException()))\n");
</span><span class="cx"> push(@$outputArray, "$indent return JSValue::encode(jsUndefined());\n");
</span><span class="cx"> push(@$outputArray, "$indent if (UNLIKELY(!$optionalValue))\n");
</span><del>- push(@$outputArray, "$indent return throwArgumentMustBeEnumError(*state, $argsIndex, \"$name\", \"$interfaceName\", $quotedFunctionName, expectedEnumerationValues$className);\n");
</del><ins>+ push(@$outputArray, "$indent return throwArgumentMustBeEnumError(*state, $argsIndex, \"$name\", \"$interfaceName\", $quotedFunctionName, expectedEnumerationValues$classIdentifier);\n");
</ins><span class="cx"> push(@$outputArray, "$indent $name = optionalValue.value();\n") if $optionalValue ne $name;
</span><span class="cx">
</span><span class="cx"> push(@$outputArray, " }\n") if $indent ne "";
</span><span class="lines">@@ -3719,7 +3731,7 @@
</span><span class="cx"> $outer = "";
</span><span class="cx"> $inner = "state->argument($argsIndex)";
</span><span class="cx"> }
</span><del>- push(@$outputArray, " $nativeType $name = $outer" . JSValueToNative($parameter, $inner, $function->signature->extendedAttributes->{"Conditional"}) . ";\n");
</del><ins>+ push(@$outputArray, " $nativeType $name = $outer" . JSValueToNative($interface, $parameter, $inner, $function->signature->extendedAttributes->{"Conditional"}) . ";\n");
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> # Check if the type conversion succeeded.
</span><span class="lines">@@ -3862,7 +3874,7 @@
</span><span class="cx"> push(@implContent, "\nusing namespace JSC;\n\n");
</span><span class="cx"> push(@implContent, "namespace WebCore {\n\n");
</span><span class="cx">
</span><del>- push(@implContent, GetEnumerationImplementationContent($enumerations));
</del><ins>+ push(@implContent, GenerateEnumerationImplementationContent($interface, $enumerations));
</ins><span class="cx">
</span><span class="cx"> # Constructor
</span><span class="cx"> push(@implContent, "${className}::${className}(JSObject* callback, JSDOMGlobalObject* globalObject)\n");
</span><span class="lines">@@ -3939,7 +3951,7 @@
</span><span class="cx">
</span><span class="cx"> push(@implContent, $codeGenerator->GenerateCompileTimeCheckForEnumsIfNeeded($interface));
</span><span class="cx">
</span><del>- GenerateConstructorDefinitions(\@implContent, $className, "", $interfaceName, $visibleInterfaceName, $interface);
</del><ins>+ GenerateConstructorDefinitions(\@implContent, $className, "", $visibleInterfaceName, $interface);
</ins><span class="cx">
</span><span class="cx"> push(@implContent, "JSValue ${className}::getConstructor(VM& vm, const JSGlobalObject* globalObject)\n{\n");
</span><span class="cx"> push(@implContent, " return getDOMConstructor<${className}Constructor>(vm, *jsCast<const JSDOMGlobalObject*>(globalObject));\n");
</span><span class="lines">@@ -4317,9 +4329,7 @@
</span><span class="cx">
</span><span class="cx"> sub JSValueToNative
</span><span class="cx"> {
</span><del>- my $signature = shift;
- my $value = shift;
- my $conditional = shift;
</del><ins>+ my ($interface, $signature, $value, $conditional) = @_;
</ins><span class="cx">
</span><span class="cx"> my $type = $signature->type;
</span><span class="cx">
</span><span class="lines">@@ -4368,7 +4378,7 @@
</span><span class="cx"> return "valueToDate(state, $value)" if $type eq "Date";
</span><span class="cx">
</span><span class="cx"> return "to$type($value)" if $codeGenerator->IsTypedArrayType($type);
</span><del>- return "parse" . GetEnumerationClassName($type) . "(*state, $value)" if $codeGenerator->IsEnumType($type);
</del><ins>+ return "parse" . GetEnumerationClassIdentifier($interface, $type) . "(*state, $value)" if $codeGenerator->IsEnumType($type);
</ins><span class="cx">
</span><span class="cx"> AddToImplIncludes("JS$type.h", $conditional);
</span><span class="cx">
</span><span class="lines">@@ -4747,10 +4757,7 @@
</span><span class="cx">
</span><span class="cx"> sub GeneratePrototypeDeclaration
</span><span class="cx"> {
</span><del>- my $outputArray = shift;
- my $className = shift;
- my $interface = shift;
- my $interfaceName = shift;
</del><ins>+ my ($outputArray, $className, $interface) = @_;
</ins><span class="cx">
</span><span class="cx"> my $prototypeClassName = "${className}Prototype";
</span><span class="cx">
</span><span class="lines">@@ -4826,11 +4833,9 @@
</span><span class="cx">
</span><span class="cx"> sub GenerateConstructorDeclaration
</span><span class="cx"> {
</span><del>- my $outputArray = shift;
- my $className = shift;
- my $interface = shift;
- my $interfaceName = shift;
</del><ins>+ my ($outputArray, $className, $interface) = @_;
</ins><span class="cx">
</span><ins>+ my $interfaceName = $interface->name;
</ins><span class="cx"> my $constructorClassName = "${className}Constructor";
</span><span class="cx"> my $templateClassName = GetConstructorTemplateClassName($interface);
</span><span class="cx">
</span><span class="lines">@@ -4843,29 +4848,23 @@
</span><span class="cx">
</span><span class="cx"> sub GenerateConstructorDefinitions
</span><span class="cx"> {
</span><del>- my $outputArray = shift;
- my $className = shift;
- my $protoClassName = shift;
- my $interfaceName = shift;
- my $visibleInterfaceName = shift;
- my $interface = shift;
- my $generatingNamedConstructor = shift;
</del><ins>+ my ($outputArray, $className, $protoClassName, $visibleInterfaceName, $interface, $generatingNamedConstructor) = @_;
</ins><span class="cx">
</span><span class="cx"> if (IsConstructable($interface)) {
</span><span class="cx"> my @constructors = @{$interface->constructors};
</span><span class="cx"> if (@constructors > 1) {
</span><span class="cx"> foreach my $constructor (@constructors) {
</span><del>- GenerateConstructorDefinition($outputArray, $className, $protoClassName, $interfaceName, $visibleInterfaceName, $interface, $generatingNamedConstructor, $constructor);
</del><ins>+ GenerateConstructorDefinition($outputArray, $className, $protoClassName, $visibleInterfaceName, $interface, $generatingNamedConstructor, $constructor);
</ins><span class="cx"> }
</span><span class="cx"> GenerateOverloadedConstructorDefinition($outputArray, $className, $interface);
</span><span class="cx"> } elsif (@constructors == 1) {
</span><del>- GenerateConstructorDefinition($outputArray, $className, $protoClassName, $interfaceName, $visibleInterfaceName, $interface, $generatingNamedConstructor, $constructors[0]);
</del><ins>+ GenerateConstructorDefinition($outputArray, $className, $protoClassName, $visibleInterfaceName, $interface, $generatingNamedConstructor, $constructors[0]);
</ins><span class="cx"> } else {
</span><del>- GenerateConstructorDefinition($outputArray, $className, $protoClassName, $interfaceName, $visibleInterfaceName, $interface, $generatingNamedConstructor);
</del><ins>+ GenerateConstructorDefinition($outputArray, $className, $protoClassName, $visibleInterfaceName, $interface, $generatingNamedConstructor);
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>- GenerateConstructorHelperMethods($outputArray, $className, $protoClassName, $interfaceName, $visibleInterfaceName, $interface, $generatingNamedConstructor);
</del><ins>+ GenerateConstructorHelperMethods($outputArray, $className, $protoClassName, $visibleInterfaceName, $interface, $generatingNamedConstructor);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> sub GenerateOverloadedConstructorDefinition
</span><span class="lines">@@ -4915,19 +4914,11 @@
</span><span class="cx">
</span><span class="cx"> sub GenerateConstructorDefinition
</span><span class="cx"> {
</span><del>- my $outputArray = shift;
- my $className = shift;
- my $protoClassName = shift;
- my $interfaceName = shift;
- my $visibleInterfaceName = shift;
- my $interface = shift;
- my $generatingNamedConstructor = shift;
- my $function = shift;
</del><ins>+ my ($outputArray, $className, $protoClassName, $visibleInterfaceName, $interface, $generatingNamedConstructor, $function) = @_;
</ins><span class="cx">
</span><del>- if (IsJSBuiltinConstructor($interface)) {
- return;
- }
</del><ins>+ return if IsJSBuiltinConstructor($interface);
</ins><span class="cx">
</span><ins>+ my $interfaceName = $interface->name;
</ins><span class="cx"> my $constructorClassName = $generatingNamedConstructor ? "${className}NamedConstructor" : "${className}Constructor";
</span><span class="cx">
</span><span class="cx"> if (IsConstructable($interface)) {
</span><span class="lines">@@ -5040,7 +5031,7 @@
</span><span class="cx"> # FIXME: For now, we do not support SVG constructors.
</span><span class="cx"> # FIXME: Currently [Constructor(...)] does not yet support optional arguments without [Default=...]
</span><span class="cx"> my $numParameters = @{$function->parameters};
</span><del>- my ($dummy, $paramIndex) = GenerateParametersCheck($outputArray, $function, $interface, $numParameters, $interfaceName, "constructorCallback", undef, undef, undef);
</del><ins>+ my ($dummy, $paramIndex) = GenerateParametersCheck($outputArray, $function, $interface, $numParameters, "constructorCallback", undef, undef, undef);
</ins><span class="cx">
</span><span class="cx"> if ($codeGenerator->ExtendedAttributeContains($interface->extendedAttributes->{"ConstructorCallWith"}, "ScriptState")) {
</span><span class="cx"> push(@constructorArgList, "*state");
</span><span class="lines">@@ -5126,13 +5117,7 @@
</span><span class="cx">
</span><span class="cx"> sub GenerateConstructorHelperMethods
</span><span class="cx"> {
</span><del>- my $outputArray = shift;
- my $className = shift;
- my $protoClassName = shift;
- my $interfaceName = shift;
- my $visibleInterfaceName = shift;
- my $interface = shift;
- my $generatingNamedConstructor = shift;
</del><ins>+ my ($outputArray, $className, $protoClassName, $visibleInterfaceName, $interface, $generatingNamedConstructor) = @_;
</ins><span class="cx">
</span><span class="cx"> my $constructorClassName = $generatingNamedConstructor ? "${className}NamedConstructor" : "${className}Constructor";
</span><span class="cx"> my $leastConstructorLength = 0;
</span><span class="lines">@@ -5183,15 +5168,9 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> push(@$outputArray, " putDirect(vm, vm.propertyNames->name, jsNontrivialString(&vm, String(ASCIILiteral(\"$visibleInterfaceName\"))), ReadOnly | DontEnum);\n");
</span><ins>+ push(@$outputArray, " putDirect(vm, vm.propertyNames->length, jsNumber(${leastConstructorLength}), ReadOnly | DontEnum);\n") if defined $leastConstructorLength;
+ push(@$outputArray, " reifyStaticProperties(vm, ${className}ConstructorTableValues, *this);\n") if ConstructorHasProperties($interface);
</ins><span class="cx">
</span><del>- if (defined $leastConstructorLength) {
- push(@$outputArray, " putDirect(vm, vm.propertyNames->length, jsNumber(${leastConstructorLength}), ReadOnly | DontEnum);\n");
- }
-
- if (ConstructorHasProperties($interface)) {
- push(@$outputArray, " reifyStaticProperties(vm, ${className}ConstructorTableValues, *this);\n");
- }
-
</del><span class="cx"> push(@$outputArray, "}\n\n");
</span><span class="cx">
</span><span class="cx"> my $conditionalString = $codeGenerator->GenerateConstructorConditionalString($interface);
</span><span class="lines">@@ -5212,7 +5191,7 @@
</span><span class="cx"> if (IsJSBuiltinConstructor($interface)) {
</span><span class="cx"> push(@$outputArray, "template<> FunctionExecutable* ${constructorClassName}::initializeExecutable(VM& vm)\n");
</span><span class="cx"> push(@$outputArray, "{\n");
</span><del>- push(@$outputArray, " return " . GetJSBuiltinFunctionNameFromString($interfaceName, "initialize" . $interfaceName) . "(vm);\n");
</del><ins>+ push(@$outputArray, " return " . GetJSBuiltinFunctionNameFromString($interface->name, "initialize" . $interface->name) . "(vm);\n");
</ins><span class="cx"> push(@$outputArray, "}\n");
</span><span class="cx"> push(@$outputArray, "\n");
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestObjcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -87,11 +87,11 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-JSString* jsStringWithCache(ExecState*, TestEnumType);
-Optional<TestEnumType> parseTestEnumType(ExecState&, JSValue);
-extern const char expectedEnumerationValuesTestEnumType[];
</del><ins>+JSString* jsStringWithCache(ExecState*, TestObj::EnumType);
+Optional<TestObj::EnumType> parseTestObjEnumType(ExecState&, JSValue);
+extern const char expectedEnumerationValuesTestObjEnumType[];
</ins><span class="cx">
</span><del>-JSString* jsStringWithCache(ExecState* state, TestEnumType enumerationValue)
</del><ins>+JSString* jsStringWithCache(ExecState* state, TestObj::EnumType enumerationValue)
</ins><span class="cx"> {
</span><span class="cx"> static NeverDestroyed<const String> values[] = {
</span><span class="cx"> emptyString(),
</span><span class="lines">@@ -99,39 +99,39 @@
</span><span class="cx"> ASCIILiteral("EnumValue2"),
</span><span class="cx"> ASCIILiteral("EnumValue3"),
</span><span class="cx"> };
</span><del>- static_assert(static_cast<size_t>(TestEnumType::EmptyString) == 0, "TestEnumType::EmptyString is not 0 as expected");
- static_assert(static_cast<size_t>(TestEnumType::EnumValue1) == 1, "TestEnumType::EnumValue1 is not 1 as expected");
- static_assert(static_cast<size_t>(TestEnumType::EnumValue2) == 2, "TestEnumType::EnumValue2 is not 2 as expected");
- static_assert(static_cast<size_t>(TestEnumType::EnumValue3) == 3, "TestEnumType::EnumValue3 is not 3 as expected");
</del><ins>+ static_assert(static_cast<size_t>(TestObj::EnumType::EmptyString) == 0, "TestObj::EnumType::EmptyString is not 0 as expected");
+ static_assert(static_cast<size_t>(TestObj::EnumType::EnumValue1) == 1, "TestObj::EnumType::EnumValue1 is not 1 as expected");
+ static_assert(static_cast<size_t>(TestObj::EnumType::EnumValue2) == 2, "TestObj::EnumType::EnumValue2 is not 2 as expected");
+ static_assert(static_cast<size_t>(TestObj::EnumType::EnumValue3) == 3, "TestObj::EnumType::EnumValue3 is not 3 as expected");
</ins><span class="cx"> ASSERT(static_cast<size_t>(enumerationValue) < WTF_ARRAY_LENGTH(values));
</span><span class="cx"> return jsStringWithCache(state, values[static_cast<size_t>(enumerationValue)]);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-template<> struct JSValueTraits<TestEnumType> {
- static JSString* arrayJSValue(ExecState* state, JSDOMGlobalObject*, TestEnumType value) { return jsStringWithCache(state, value); }
</del><ins>+template<> struct JSValueTraits<TestObj::EnumType> {
+ static JSString* arrayJSValue(ExecState* state, JSDOMGlobalObject*, TestObj::EnumType value) { return jsStringWithCache(state, value); }
</ins><span class="cx"> };
</span><span class="cx">
</span><del>-Optional<TestEnumType> parseTestEnumType(ExecState& state, JSValue value)
</del><ins>+Optional<TestObj::EnumType> parseTestObjEnumType(ExecState& state, JSValue value)
</ins><span class="cx"> {
</span><span class="cx"> auto stringValue = value.toWTFString(&state);
</span><span class="cx"> if (stringValue.isEmpty())
</span><del>- return TestEnumType::EmptyString;
</del><ins>+ return TestObj::EnumType::EmptyString;
</ins><span class="cx"> if (stringValue == "EnumValue1")
</span><del>- return TestEnumType::EnumValue1;
</del><ins>+ return TestObj::EnumType::EnumValue1;
</ins><span class="cx"> if (stringValue == "EnumValue2")
</span><del>- return TestEnumType::EnumValue2;
</del><ins>+ return TestObj::EnumType::EnumValue2;
</ins><span class="cx"> if (stringValue == "EnumValue3")
</span><del>- return TestEnumType::EnumValue3;
</del><ins>+ return TestObj::EnumType::EnumValue3;
</ins><span class="cx"> return Nullopt;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-const char expectedEnumerationValuesTestEnumType[] = "\"\", \"EnumValue1\", \"EnumValue2\", \"EnumValue3\"";
</del><ins>+const char expectedEnumerationValuesTestObjEnumType[] = "\"\", \"EnumValue1\", \"EnumValue2\", \"EnumValue3\"";
</ins><span class="cx">
</span><del>-JSString* jsStringWithCache(ExecState*, Optional);
-Optional<Optional> parseOptional(ExecState&, JSValue);
-extern const char expectedEnumerationValuesOptional[];
</del><ins>+JSString* jsStringWithCache(ExecState*, TestObj::Optional);
+Optional<TestObj::Optional> parseTestObjOptional(ExecState&, JSValue);
+extern const char expectedEnumerationValuesTestObjOptional[];
</ins><span class="cx">
</span><del>-JSString* jsStringWithCache(ExecState* state, Optional enumerationValue)
</del><ins>+JSString* jsStringWithCache(ExecState* state, TestObj::Optional enumerationValue)
</ins><span class="cx"> {
</span><span class="cx"> static NeverDestroyed<const String> values[] = {
</span><span class="cx"> emptyString(),
</span><span class="lines">@@ -139,130 +139,226 @@
</span><span class="cx"> ASCIILiteral("OptionalValue2"),
</span><span class="cx"> ASCIILiteral("OptionalValue3"),
</span><span class="cx"> };
</span><del>- static_assert(static_cast<size_t>(Optional::EmptyString) == 0, "Optional::EmptyString is not 0 as expected");
- static_assert(static_cast<size_t>(Optional::OptionalValue1) == 1, "Optional::OptionalValue1 is not 1 as expected");
- static_assert(static_cast<size_t>(Optional::OptionalValue2) == 2, "Optional::OptionalValue2 is not 2 as expected");
- static_assert(static_cast<size_t>(Optional::OptionalValue3) == 3, "Optional::OptionalValue3 is not 3 as expected");
</del><ins>+ static_assert(static_cast<size_t>(TestObj::Optional::EmptyString) == 0, "TestObj::Optional::EmptyString is not 0 as expected");
+ static_assert(static_cast<size_t>(TestObj::Optional::OptionalValue1) == 1, "TestObj::Optional::OptionalValue1 is not 1 as expected");
+ static_assert(static_cast<size_t>(TestObj::Optional::OptionalValue2) == 2, "TestObj::Optional::OptionalValue2 is not 2 as expected");
+ static_assert(static_cast<size_t>(TestObj::Optional::OptionalValue3) == 3, "TestObj::Optional::OptionalValue3 is not 3 as expected");
</ins><span class="cx"> ASSERT(static_cast<size_t>(enumerationValue) < WTF_ARRAY_LENGTH(values));
</span><span class="cx"> return jsStringWithCache(state, values[static_cast<size_t>(enumerationValue)]);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-template<> struct JSValueTraits<Optional> {
- static JSString* arrayJSValue(ExecState* state, JSDOMGlobalObject*, Optional value) { return jsStringWithCache(state, value); }
</del><ins>+template<> struct JSValueTraits<TestObj::Optional> {
+ static JSString* arrayJSValue(ExecState* state, JSDOMGlobalObject*, TestObj::Optional value) { return jsStringWithCache(state, value); }
</ins><span class="cx"> };
</span><span class="cx">
</span><del>-Optional<Optional> parseOptional(ExecState& state, JSValue value)
</del><ins>+Optional<TestObj::Optional> parseTestObjOptional(ExecState& state, JSValue value)
</ins><span class="cx"> {
</span><span class="cx"> auto stringValue = value.toWTFString(&state);
</span><span class="cx"> if (stringValue.isEmpty())
</span><del>- return Optional::EmptyString;
</del><ins>+ return TestObj::Optional::EmptyString;
</ins><span class="cx"> if (stringValue == "OptionalValue1")
</span><del>- return Optional::OptionalValue1;
</del><ins>+ return TestObj::Optional::OptionalValue1;
</ins><span class="cx"> if (stringValue == "OptionalValue2")
</span><del>- return Optional::OptionalValue2;
</del><ins>+ return TestObj::Optional::OptionalValue2;
</ins><span class="cx"> if (stringValue == "OptionalValue3")
</span><del>- return Optional::OptionalValue3;
</del><ins>+ return TestObj::Optional::OptionalValue3;
</ins><span class="cx"> return Nullopt;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-const char expectedEnumerationValuesOptional[] = "\"\", \"OptionalValue1\", \"OptionalValue2\", \"OptionalValue3\"";
</del><ins>+const char expectedEnumerationValuesTestObjOptional[] = "\"\", \"OptionalValue1\", \"OptionalValue2\", \"OptionalValue3\"";
</ins><span class="cx">
</span><span class="cx"> #if ENABLE(Condition1)
</span><span class="cx">
</span><del>-JSString* jsStringWithCache(ExecState*, TestEnumA);
-Optional<TestEnumA> parseTestEnumA(ExecState&, JSValue);
-extern const char expectedEnumerationValuesTestEnumA[];
</del><ins>+JSString* jsStringWithCache(ExecState*, TestObj::EnumA);
+Optional<TestObj::EnumA> parseTestObjEnumA(ExecState&, JSValue);
+extern const char expectedEnumerationValuesTestObjEnumA[];
</ins><span class="cx">
</span><del>-JSString* jsStringWithCache(ExecState* state, TestEnumA enumerationValue)
</del><ins>+JSString* jsStringWithCache(ExecState* state, TestObj::EnumA enumerationValue)
</ins><span class="cx"> {
</span><span class="cx"> static NeverDestroyed<const String> values[] = {
</span><span class="cx"> ASCIILiteral("A"),
</span><span class="cx"> };
</span><del>- static_assert(static_cast<size_t>(TestEnumA::A) == 0, "TestEnumA::A is not 0 as expected");
</del><ins>+ static_assert(static_cast<size_t>(TestObj::EnumA::A) == 0, "TestObj::EnumA::A is not 0 as expected");
</ins><span class="cx"> ASSERT(static_cast<size_t>(enumerationValue) < WTF_ARRAY_LENGTH(values));
</span><span class="cx"> return jsStringWithCache(state, values[static_cast<size_t>(enumerationValue)]);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-template<> struct JSValueTraits<TestEnumA> {
- static JSString* arrayJSValue(ExecState* state, JSDOMGlobalObject*, TestEnumA value) { return jsStringWithCache(state, value); }
</del><ins>+template<> struct JSValueTraits<TestObj::EnumA> {
+ static JSString* arrayJSValue(ExecState* state, JSDOMGlobalObject*, TestObj::EnumA value) { return jsStringWithCache(state, value); }
</ins><span class="cx"> };
</span><span class="cx">
</span><del>-Optional<TestEnumA> parseTestEnumA(ExecState& state, JSValue value)
</del><ins>+Optional<TestObj::EnumA> parseTestObjEnumA(ExecState& state, JSValue value)
</ins><span class="cx"> {
</span><span class="cx"> auto stringValue = value.toWTFString(&state);
</span><span class="cx"> if (stringValue == "A")
</span><del>- return TestEnumA::A;
</del><ins>+ return TestObj::EnumA::A;
</ins><span class="cx"> return Nullopt;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-const char expectedEnumerationValuesTestEnumA[] = "\"A\"";
</del><ins>+const char expectedEnumerationValuesTestObjEnumA[] = "\"A\"";
</ins><span class="cx">
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> #if ENABLE(Condition1) && ENABLE(Condition2)
</span><span class="cx">
</span><del>-JSString* jsStringWithCache(ExecState*, TestEnumB);
-Optional<TestEnumB> parseTestEnumB(ExecState&, JSValue);
-extern const char expectedEnumerationValuesTestEnumB[];
</del><ins>+JSString* jsStringWithCache(ExecState*, TestObj::EnumB);
+Optional<TestObj::EnumB> parseTestObjEnumB(ExecState&, JSValue);
+extern const char expectedEnumerationValuesTestObjEnumB[];
</ins><span class="cx">
</span><del>-JSString* jsStringWithCache(ExecState* state, TestEnumB enumerationValue)
</del><ins>+JSString* jsStringWithCache(ExecState* state, TestObj::EnumB enumerationValue)
</ins><span class="cx"> {
</span><span class="cx"> static NeverDestroyed<const String> values[] = {
</span><span class="cx"> ASCIILiteral("B"),
</span><span class="cx"> };
</span><del>- static_assert(static_cast<size_t>(TestEnumB::B) == 0, "TestEnumB::B is not 0 as expected");
</del><ins>+ static_assert(static_cast<size_t>(TestObj::EnumB::B) == 0, "TestObj::EnumB::B is not 0 as expected");
</ins><span class="cx"> ASSERT(static_cast<size_t>(enumerationValue) < WTF_ARRAY_LENGTH(values));
</span><span class="cx"> return jsStringWithCache(state, values[static_cast<size_t>(enumerationValue)]);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-template<> struct JSValueTraits<TestEnumB> {
- static JSString* arrayJSValue(ExecState* state, JSDOMGlobalObject*, TestEnumB value) { return jsStringWithCache(state, value); }
</del><ins>+template<> struct JSValueTraits<TestObj::EnumB> {
+ static JSString* arrayJSValue(ExecState* state, JSDOMGlobalObject*, TestObj::EnumB value) { return jsStringWithCache(state, value); }
</ins><span class="cx"> };
</span><span class="cx">
</span><del>-Optional<TestEnumB> parseTestEnumB(ExecState& state, JSValue value)
</del><ins>+Optional<TestObj::EnumB> parseTestObjEnumB(ExecState& state, JSValue value)
</ins><span class="cx"> {
</span><span class="cx"> auto stringValue = value.toWTFString(&state);
</span><span class="cx"> if (stringValue == "B")
</span><del>- return TestEnumB::B;
</del><ins>+ return TestObj::EnumB::B;
</ins><span class="cx"> return Nullopt;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-const char expectedEnumerationValuesTestEnumB[] = "\"B\"";
</del><ins>+const char expectedEnumerationValuesTestObjEnumB[] = "\"B\"";
</ins><span class="cx">
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> #if ENABLE(Condition1) || ENABLE(Condition2)
</span><span class="cx">
</span><del>-JSString* jsStringWithCache(ExecState*, TestEnumC);
-Optional<TestEnumC> parseTestEnumC(ExecState&, JSValue);
-extern const char expectedEnumerationValuesTestEnumC[];
</del><ins>+JSString* jsStringWithCache(ExecState*, TestObj::EnumC);
+Optional<TestObj::EnumC> parseTestObjEnumC(ExecState&, JSValue);
+extern const char expectedEnumerationValuesTestObjEnumC[];
</ins><span class="cx">
</span><del>-JSString* jsStringWithCache(ExecState* state, TestEnumC enumerationValue)
</del><ins>+JSString* jsStringWithCache(ExecState* state, TestObj::EnumC enumerationValue)
</ins><span class="cx"> {
</span><span class="cx"> static NeverDestroyed<const String> values[] = {
</span><span class="cx"> ASCIILiteral("C"),
</span><span class="cx"> };
</span><del>- static_assert(static_cast<size_t>(TestEnumC::C) == 0, "TestEnumC::C is not 0 as expected");
</del><ins>+ static_assert(static_cast<size_t>(TestObj::EnumC::C) == 0, "TestObj::EnumC::C is not 0 as expected");
</ins><span class="cx"> ASSERT(static_cast<size_t>(enumerationValue) < WTF_ARRAY_LENGTH(values));
</span><span class="cx"> return jsStringWithCache(state, values[static_cast<size_t>(enumerationValue)]);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-template<> struct JSValueTraits<TestEnumC> {
- static JSString* arrayJSValue(ExecState* state, JSDOMGlobalObject*, TestEnumC value) { return jsStringWithCache(state, value); }
</del><ins>+template<> struct JSValueTraits<TestObj::EnumC> {
+ static JSString* arrayJSValue(ExecState* state, JSDOMGlobalObject*, TestObj::EnumC value) { return jsStringWithCache(state, value); }
</ins><span class="cx"> };
</span><span class="cx">
</span><del>-Optional<TestEnumC> parseTestEnumC(ExecState& state, JSValue value)
</del><ins>+Optional<TestObj::EnumC> parseTestObjEnumC(ExecState& state, JSValue value)
</ins><span class="cx"> {
</span><span class="cx"> auto stringValue = value.toWTFString(&state);
</span><span class="cx"> if (stringValue == "C")
</span><del>- return TestEnumC::C;
</del><ins>+ return TestObj::EnumC::C;
</ins><span class="cx"> return Nullopt;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-const char expectedEnumerationValuesTestEnumC[] = "\"C\"";
</del><ins>+const char expectedEnumerationValuesTestObjEnumC[] = "\"C\"";
</ins><span class="cx">
</span><span class="cx"> #endif
</span><span class="cx">
</span><ins>+JSString* jsStringWithCache(ExecState*, TestObj::Kind);
+Optional<TestObj::Kind> parseTestObjKind(ExecState&, JSValue);
+extern const char expectedEnumerationValuesTestObjKind[];
+
+JSString* jsStringWithCache(ExecState* state, TestObj::Kind enumerationValue)
+{
+ static NeverDestroyed<const String> values[] = {
+ ASCIILiteral("quick"),
+ ASCIILiteral("dead"),
+ };
+ static_assert(static_cast<size_t>(TestObj::Kind::Quick) == 0, "TestObj::Kind::Quick is not 0 as expected");
+ static_assert(static_cast<size_t>(TestObj::Kind::Dead) == 1, "TestObj::Kind::Dead is not 1 as expected");
+ ASSERT(static_cast<size_t>(enumerationValue) < WTF_ARRAY_LENGTH(values));
+ return jsStringWithCache(state, values[static_cast<size_t>(enumerationValue)]);
+}
+
+template<> struct JSValueTraits<TestObj::Kind> {
+ static JSString* arrayJSValue(ExecState* state, JSDOMGlobalObject*, TestObj::Kind value) { return jsStringWithCache(state, value); }
+};
+
+Optional<TestObj::Kind> parseTestObjKind(ExecState& state, JSValue value)
+{
+ auto stringValue = value.toWTFString(&state);
+ if (stringValue == "quick")
+ return TestObj::Kind::Quick;
+ if (stringValue == "dead")
+ return TestObj::Kind::Dead;
+ return Nullopt;
+}
+
+const char expectedEnumerationValuesTestObjKind[] = "\"quick\", \"dead\"";
+
+JSString* jsStringWithCache(ExecState*, TestObj::Size);
+Optional<TestObj::Size> parseTestObjSize(ExecState&, JSValue);
+extern const char expectedEnumerationValuesTestObjSize[];
+
+JSString* jsStringWithCache(ExecState* state, TestObj::Size enumerationValue)
+{
+ static NeverDestroyed<const String> values[] = {
+ ASCIILiteral("small"),
+ ASCIILiteral("much-much-larger"),
+ };
+ static_assert(static_cast<size_t>(TestObj::Size::Small) == 0, "TestObj::Size::Small is not 0 as expected");
+ static_assert(static_cast<size_t>(TestObj::Size::MuchMuchLarger) == 1, "TestObj::Size::MuchMuchLarger is not 1 as expected");
+ ASSERT(static_cast<size_t>(enumerationValue) < WTF_ARRAY_LENGTH(values));
+ return jsStringWithCache(state, values[static_cast<size_t>(enumerationValue)]);
+}
+
+template<> struct JSValueTraits<TestObj::Size> {
+ static JSString* arrayJSValue(ExecState* state, JSDOMGlobalObject*, TestObj::Size value) { return jsStringWithCache(state, value); }
+};
+
+Optional<TestObj::Size> parseTestObjSize(ExecState& state, JSValue value)
+{
+ auto stringValue = value.toWTFString(&state);
+ if (stringValue == "small")
+ return TestObj::Size::Small;
+ if (stringValue == "much-much-larger")
+ return TestObj::Size::MuchMuchLarger;
+ return Nullopt;
+}
+
+const char expectedEnumerationValuesTestObjSize[] = "\"small\", \"much-much-larger\"";
+
+JSString* jsStringWithCache(ExecState*, TestObj::Confidence);
+Optional<TestObj::Confidence> parseTestObjConfidence(ExecState&, JSValue);
+extern const char expectedEnumerationValuesTestObjConfidence[];
+
+JSString* jsStringWithCache(ExecState* state, TestObj::Confidence enumerationValue)
+{
+ static NeverDestroyed<const String> values[] = {
+ ASCIILiteral("high"),
+ ASCIILiteral("kinda-low"),
+ };
+ static_assert(static_cast<size_t>(TestObj::Confidence::High) == 0, "TestObj::Confidence::High is not 0 as expected");
+ static_assert(static_cast<size_t>(TestObj::Confidence::KindaLow) == 1, "TestObj::Confidence::KindaLow is not 1 as expected");
+ ASSERT(static_cast<size_t>(enumerationValue) < WTF_ARRAY_LENGTH(values));
+ return jsStringWithCache(state, values[static_cast<size_t>(enumerationValue)]);
+}
+
+template<> struct JSValueTraits<TestObj::Confidence> {
+ static JSString* arrayJSValue(ExecState* state, JSDOMGlobalObject*, TestObj::Confidence value) { return jsStringWithCache(state, value); }
+};
+
+Optional<TestObj::Confidence> parseTestObjConfidence(ExecState& state, JSValue value)
+{
+ auto stringValue = value.toWTFString(&state);
+ if (stringValue == "high")
+ return TestObj::Confidence::High;
+ if (stringValue == "kinda-low")
+ return TestObj::Confidence::KindaLow;
+ return Nullopt;
+}
+
+const char expectedEnumerationValuesTestObjConfidence[] = "\"high\", \"kinda-low\"";
+
</ins><span class="cx"> // Functions
</span><span class="cx">
</span><span class="cx"> #if ENABLE(TEST_FEATURE)
</span><span class="lines">@@ -2398,7 +2494,7 @@
</span><span class="cx"> return throwSetterTypeError(*state, "TestObj", "enumAttr");
</span><span class="cx"> }
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><del>- auto nativeValue = parseTestEnumType(*state, value);
</del><ins>+ auto nativeValue = parseTestObjEnumType(*state, value);
</ins><span class="cx"> if (UNLIKELY(state->hadException()))
</span><span class="cx"> return false;
</span><span class="cx"> if (UNLIKELY(!nativeValue))
</span><span class="lines">@@ -3530,7 +3626,7 @@
</span><span class="cx"> return throwSetterTypeError(*state, "TestObj", "attributeWithReservedEnumType");
</span><span class="cx"> }
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><del>- auto nativeValue = parseOptional(*state, value);
</del><ins>+ auto nativeValue = parseTestObjOptional(*state, value);
</ins><span class="cx"> if (UNLIKELY(state->hadException()))
</span><span class="cx"> return false;
</span><span class="cx"> if (UNLIKELY(!nativeValue))
</span><span class="lines">@@ -3944,12 +4040,12 @@
</span><span class="cx"> if (UNLIKELY(state->argumentCount() < 1))
</span><span class="cx"> return throwVMError(state, createNotEnoughArgumentsError(state));
</span><span class="cx"> auto enumArgValue = state->argument(0);
</span><del>- TestEnumType enumArg;
- auto optionalValue = parseTestEnumType(*state, enumArgValue);
</del><ins>+ TestObj::EnumType enumArg;
+ auto optionalValue = parseTestObjEnumType(*state, enumArgValue);
</ins><span class="cx"> if (UNLIKELY(state->hadException()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> if (UNLIKELY(!optionalValue))
</span><del>- return throwArgumentMustBeEnumError(*state, 0, "enumArg", "TestObj", "methodWithEnumArg", expectedEnumerationValuesTestEnumType);
</del><ins>+ return throwArgumentMustBeEnumError(*state, 0, "enumArg", "TestObj", "methodWithEnumArg", expectedEnumerationValuesTestObjEnumType);
</ins><span class="cx"> enumArg = optionalValue.value();
</span><span class="cx"> impl.methodWithEnumArg(enumArg);
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="lines">@@ -3964,15 +4060,15 @@
</span><span class="cx"> ASSERT_GC_OBJECT_INHERITS(castedThis, JSTestObj::info());
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><span class="cx"> auto enumArgValue = state->argument(0);
</span><del>- TestEnumType enumArg;
</del><ins>+ TestObj::EnumType enumArg;
</ins><span class="cx"> if (enumArgValue.isUndefined()) {
</span><del>- enumArg = TestEnumType::EnumValue1;
</del><ins>+ enumArg = TestObj::EnumType::EnumValue1;
</ins><span class="cx"> } else {
</span><del>- auto optionalValue = parseTestEnumType(*state, enumArgValue);
</del><ins>+ auto optionalValue = parseTestObjEnumType(*state, enumArgValue);
</ins><span class="cx"> if (UNLIKELY(state->hadException()))
</span><span class="cx"> return JSValue::encode(jsUndefined());
</span><span class="cx"> if (UNLIKELY(!optionalValue))
</span><del>- return throwArgumentMustBeEnumError(*state, 0, "enumArg", "TestObj", "methodWithOptionalEnumArgAndDefaultValue", expectedEnumerationValuesTestEnumType);
</del><ins>+ return throwArgumentMustBeEnumError(*state, 0, "enumArg", "TestObj", "methodWithOptionalEnumArgAndDefaultValue", expectedEnumerationValuesTestObjEnumType);
</ins><span class="cx"> enumArg = optionalValue.value();
</span><span class="cx"> }
</span><span class="cx"> impl.methodWithOptionalEnumArgAndDefaultValue(enumArg);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestTestObjidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/TestObj.idl (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/TestObj.idl        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/bindings/scripts/test/TestObj.idl        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -39,6 +39,10 @@
</span><span class="cx"> [Conditional=Condition1&Condition2] enum TestEnumB { "B" };
</span><span class="cx"> [Conditional=Condition1|Condition2] enum TestEnumC { "C" };
</span><span class="cx">
</span><ins>+enum TestObjKind { "quick", "dead" };
+enum ObjSize { "small", "much-much-larger" };
+enum TestConfidence { "high", "kinda-low" };
+
</ins><span class="cx"> [
</span><span class="cx"> Constructor(TestCallback testCallback, TestCallbackFunction testCallbackFunction),
</span><span class="cx"> InterfaceName=TestObject
</span></span></pre></div>
<a id="trunkSourceWebCorecryptoCryptoKeycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/crypto/CryptoKey.cpp (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/crypto/CryptoKey.cpp        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/crypto/CryptoKey.cpp        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-CryptoKey::CryptoKey(CryptoAlgorithmIdentifier algorithm, CryptoKeyType type, bool extractable, CryptoKeyUsage usages)
</del><ins>+CryptoKey::CryptoKey(CryptoAlgorithmIdentifier algorithm, Type type, bool extractable, CryptoKeyUsage usages)
</ins><span class="cx"> : m_algorithm(algorithm)
</span><span class="cx"> , m_type(type)
</span><span class="cx"> , m_extractable(extractable)
</span><span class="lines">@@ -53,26 +53,26 @@
</span><span class="cx"> // Subclasses will add other keys.
</span><span class="cx"> }
</span><span class="cx">
</span><del>-Vector<KeyUsage> CryptoKey::usages() const
</del><ins>+auto CryptoKey::usages() const -> Vector<Usage>
</ins><span class="cx"> {
</span><span class="cx"> // The result is ordered alphabetically.
</span><del>- Vector<KeyUsage> result;
</del><ins>+ Vector<Usage> result;
</ins><span class="cx"> if (m_usages & CryptoKeyUsageDecrypt)
</span><del>- result.append(KeyUsage::Decrypt);
</del><ins>+ result.append(Usage::Decrypt);
</ins><span class="cx"> if (m_usages & CryptoKeyUsageDeriveBits)
</span><del>- result.append(KeyUsage::DeriveBits);
</del><ins>+ result.append(Usage::DeriveBits);
</ins><span class="cx"> if (m_usages & CryptoKeyUsageDeriveKey)
</span><del>- result.append(KeyUsage::DeriveKey);
</del><ins>+ result.append(Usage::DeriveKey);
</ins><span class="cx"> if (m_usages & CryptoKeyUsageEncrypt)
</span><del>- result.append(KeyUsage::Encrypt);
</del><ins>+ result.append(Usage::Encrypt);
</ins><span class="cx"> if (m_usages & CryptoKeyUsageSign)
</span><del>- result.append(KeyUsage::Sign);
</del><ins>+ result.append(Usage::Sign);
</ins><span class="cx"> if (m_usages & CryptoKeyUsageUnwrapKey)
</span><del>- result.append(KeyUsage::UnwrapKey);
</del><ins>+ result.append(Usage::UnwrapKey);
</ins><span class="cx"> if (m_usages & CryptoKeyUsageVerify)
</span><del>- result.append(KeyUsage::Verify);
</del><ins>+ result.append(Usage::Verify);
</ins><span class="cx"> if (m_usages & CryptoKeyUsageWrapKey)
</span><del>- result.append(KeyUsage::WrapKey);
</del><ins>+ result.append(Usage::WrapKey);
</ins><span class="cx"> return result;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -84,6 +84,7 @@
</span><span class="cx"> return result;
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><ins>+
</ins><span class="cx"> } // namespace WebCore
</span><span class="cx">
</span><span class="cx"> #endif // ENABLE(SUBTLE_CRYPTO)
</span></span></pre></div>
<a id="trunkSourceWebCorecryptoCryptoKeyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/crypto/CryptoKey.h (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/crypto/CryptoKey.h        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/crypto/CryptoKey.h        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -47,22 +47,24 @@
</span><span class="cx"> RSA
</span><span class="cx"> };
</span><span class="cx">
</span><del>-enum class KeyUsage { Encrypt, Decrypt, Sign, Verify, DeriveKey, DeriveBits, WrapKey, UnwrapKey };
-
-using KeyType = CryptoKeyType;
-
</del><span class="cx"> class CryptoKey : public RefCounted<CryptoKey> {
</span><span class="cx"> public:
</span><del>- CryptoKey(CryptoAlgorithmIdentifier, CryptoKeyType, bool extractable, CryptoKeyUsage);
</del><ins>+ using Type = CryptoKeyType;
+ CryptoKey(CryptoAlgorithmIdentifier, Type, bool extractable, CryptoKeyUsage);
</ins><span class="cx"> virtual ~CryptoKey();
</span><span class="cx">
</span><span class="cx"> virtual CryptoKeyClass keyClass() const = 0;
</span><span class="cx">
</span><del>- CryptoKeyType type() const;
</del><ins>+ Type type() const;
</ins><span class="cx"> bool extractable() const { return m_extractable; }
</span><span class="cx"> virtual void buildAlgorithmDescription(CryptoAlgorithmDescriptionBuilder&) const;
</span><del>- Vector<KeyUsage> usages() const;
</del><span class="cx">
</span><ins>+ // FIXME: Confusing to have CryptoKeyUsage and CryptoKey::Usage named almost the same, but be slightly different.
+ // CryptoKeyUsage values are bit masks so they can be combined with "or", while this is a normal enum that must
+ // match what is defined in the IDL. Maybe we can rename CryptoKeyUsage to CryptoKey::UsagesBitmap?
+ enum class Usage { Encrypt, Decrypt, Sign, Verify, DeriveKey, DeriveBits, WrapKey, UnwrapKey };
+ Vector<Usage> usages() const;
+
</ins><span class="cx"> CryptoAlgorithmIdentifier algorithmIdentifier() const { return m_algorithm; }
</span><span class="cx"> CryptoKeyUsage usagesBitmap() const { return m_usages; }
</span><span class="cx"> bool allows(CryptoKeyUsage usage) const { return usage == (m_usages & usage); }
</span><span class="lines">@@ -73,12 +75,12 @@
</span><span class="cx">
</span><span class="cx"> private:
</span><span class="cx"> CryptoAlgorithmIdentifier m_algorithm;
</span><del>- CryptoKeyType m_type;
</del><ins>+ Type m_type;
</ins><span class="cx"> bool m_extractable;
</span><span class="cx"> CryptoKeyUsage m_usages;
</span><span class="cx"> };
</span><span class="cx">
</span><del>-inline CryptoKeyType CryptoKey::type() const
</del><ins>+inline auto CryptoKey::type() const -> Type
</ins><span class="cx"> {
</span><span class="cx"> return m_type;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorecssFontFacecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/FontFace.cpp (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/FontFace.cpp        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/css/FontFace.cpp        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -317,22 +317,22 @@
</span><span class="cx"> return list->cssText();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-FontFaceLoadStatus FontFace::status() const
</del><ins>+auto FontFace::status() const -> LoadStatus
</ins><span class="cx"> {
</span><span class="cx"> switch (m_backing->status()) {
</span><span class="cx"> case CSSFontFace::Status::Pending:
</span><del>- return FontFaceLoadStatus::Unloaded;
</del><ins>+ return LoadStatus::Unloaded;
</ins><span class="cx"> case CSSFontFace::Status::Loading:
</span><del>- return FontFaceLoadStatus::Loading;
</del><ins>+ return LoadStatus::Loading;
</ins><span class="cx"> case CSSFontFace::Status::TimedOut:
</span><del>- return FontFaceLoadStatus::Error;
</del><ins>+ return LoadStatus::Error;
</ins><span class="cx"> case CSSFontFace::Status::Success:
</span><del>- return FontFaceLoadStatus::Loaded;
</del><ins>+ return LoadStatus::Loaded;
</ins><span class="cx"> case CSSFontFace::Status::Failure:
</span><del>- return FontFaceLoadStatus::Error;
</del><ins>+ return LoadStatus::Error;
</ins><span class="cx"> }
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><del>- return FontFaceLoadStatus::Error;
</del><ins>+ return LoadStatus::Error;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void FontFace::fontStateChanged(CSSFontFace& face, CSSFontFace::Status, CSSFontFace::Status newState)
</span></span></pre></div>
<a id="trunkSourceWebCorecssFontFaceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/FontFace.h (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/FontFace.h        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/css/FontFace.h        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -42,8 +42,6 @@
</span><span class="cx"> class CSSValue;
</span><span class="cx"> class Dictionary;
</span><span class="cx">
</span><del>-enum class FontFaceLoadStatus { Unloaded, Loading, Loaded, Error };
-
</del><span class="cx"> class FontFace final : public RefCounted<FontFace>, public CSSFontFace::Client {
</span><span class="cx"> public:
</span><span class="cx"> static RefPtr<FontFace> create(JSC::ExecState&, ScriptExecutionContext&, const String& family, JSC::JSValue source, const Dictionary& descriptors, ExceptionCode&);
</span><span class="lines">@@ -65,8 +63,10 @@
</span><span class="cx"> String unicodeRange() const;
</span><span class="cx"> String variant() const;
</span><span class="cx"> String featureSettings() const;
</span><del>- FontFaceLoadStatus status() const;
</del><span class="cx">
</span><ins>+ enum class LoadStatus { Unloaded, Loading, Loaded, Error };
+ LoadStatus status() const;
+
</ins><span class="cx"> typedef DOMPromise<FontFace&, DOMCoreException&> Promise;
</span><span class="cx"> Promise& promise() { return m_promise; }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorecssFontFaceSetcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/FontFaceSet.cpp (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/FontFaceSet.cpp        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/css/FontFaceSet.cpp        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -182,16 +182,16 @@
</span><span class="cx"> return m_promise.value();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-FontFaceSetLoadStatus FontFaceSet::status() const
</del><ins>+auto FontFaceSet::status() const -> LoadStatus
</ins><span class="cx"> {
</span><span class="cx"> switch (m_backing->status()) {
</span><span class="cx"> case CSSFontFaceSet::Status::Loading:
</span><del>- return FontFaceSetLoadStatus::Loading;
</del><ins>+ return LoadStatus::Loading;
</ins><span class="cx"> case CSSFontFaceSet::Status::Loaded:
</span><del>- return FontFaceSetLoadStatus::Loaded;
</del><ins>+ return LoadStatus::Loaded;
</ins><span class="cx"> }
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><del>- return FontFaceSetLoadStatus::Loaded;
</del><ins>+ return LoadStatus::Loaded;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool FontFaceSet::canSuspendForDocumentSuspension() const
</span></span></pre></div>
<a id="trunkSourceWebCorecssFontFaceSeth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/FontFaceSet.h (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/FontFaceSet.h        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/css/FontFaceSet.h        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -35,8 +35,6 @@
</span><span class="cx">
</span><span class="cx"> class DOMCoreException;
</span><span class="cx">
</span><del>-enum class FontFaceSetLoadStatus { Loading, Loaded };
-
</del><span class="cx"> class FontFaceSet final : public RefCounted<FontFaceSet>, private CSSFontFaceSetClient, public EventTargetWithInlineData, private ActiveDOMObject {
</span><span class="cx"> public:
</span><span class="cx"> static Ref<FontFaceSet> create(Document&, const Vector<RefPtr<FontFace>>& initialFaces);
</span><span class="lines">@@ -52,7 +50,8 @@
</span><span class="cx"> void load(JSC::ExecState&, const String& font, const String& text, DeferredWrapper&& promise, ExceptionCode&);
</span><span class="cx"> bool check(const String& font, const String& text, ExceptionCode&);
</span><span class="cx">
</span><del>- FontFaceSetLoadStatus status() const;
</del><ins>+ enum class LoadStatus { Loading, Loaded };
+ LoadStatus status() const;
</ins><span class="cx">
</span><span class="cx"> typedef DOMPromise<FontFaceSet&, DOMCoreException&> Promise;
</span><span class="cx"> Promise& promise(JSC::ExecState&);
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.cpp (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.cpp        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/dom/Document.cpp        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -521,7 +521,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> , m_loadEventDelayCount(0)
</span><span class="cx"> , m_loadEventDelayTimer(*this, &Document::loadEventDelayTimerFired)
</span><del>- , m_referrerPolicy(ReferrerHeaderPolicy::Default)
</del><ins>+ , m_referrerPolicy(ReferrerPolicy::Default)
</ins><span class="cx"> , m_writeRecursionIsTooDeep(false)
</span><span class="cx"> , m_writeRecursionDepth(0)
</span><span class="cx"> , m_lastHandledUserGestureTimestamp(0)
</span><span class="lines">@@ -3360,16 +3360,16 @@
</span><span class="cx"> // Note that we're supporting both the standard and legacy keywords for referrer
</span><span class="cx"> // policies, as defined by http://www.w3.org/TR/referrer-policy/#referrer-policy-delivery-meta
</span><span class="cx"> if (equalLettersIgnoringASCIICase(policy, "no-referrer") || equalLettersIgnoringASCIICase(policy, "never"))
</span><del>- setReferrerPolicy(ReferrerHeaderPolicy::Never);
</del><ins>+ setReferrerPolicy(ReferrerPolicy::Never);
</ins><span class="cx"> else if (equalLettersIgnoringASCIICase(policy, "unsafe-url") || equalLettersIgnoringASCIICase(policy, "always"))
</span><del>- setReferrerPolicy(ReferrerHeaderPolicy::Always);
</del><ins>+ setReferrerPolicy(ReferrerPolicy::Always);
</ins><span class="cx"> else if (equalLettersIgnoringASCIICase(policy, "origin"))
</span><del>- setReferrerPolicy(ReferrerHeaderPolicy::Origin);
</del><ins>+ setReferrerPolicy(ReferrerPolicy::Origin);
</ins><span class="cx"> else if (equalLettersIgnoringASCIICase(policy, "no-referrer-when-downgrade") || equalLettersIgnoringASCIICase(policy, "default"))
</span><del>- setReferrerPolicy(ReferrerHeaderPolicy::Default);
</del><ins>+ setReferrerPolicy(ReferrerPolicy::Default);
</ins><span class="cx"> else {
</span><span class="cx"> addConsoleMessage(MessageSource::Rendering, MessageLevel::Error, "Failed to set referrer policy: The value '" + policy + "' is not one of 'no-referrer', 'origin', 'no-referrer-when-downgrade', or 'unsafe-url'. Defaulting to 'no-referrer'.");
</span><del>- setReferrerPolicy(ReferrerHeaderPolicy::Never);
</del><ins>+ setReferrerPolicy(ReferrerPolicy::Never);
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -6937,7 +6937,7 @@
</span><span class="cx"> {
</span><span class="cx"> ASSERT(shouldEnforceContentDispositionAttachmentSandbox());
</span><span class="cx">
</span><del>- setReferrerPolicy(ReferrerHeaderPolicy::Never);
</del><ins>+ setReferrerPolicy(ReferrerPolicy::Never);
</ins><span class="cx"> if (!isMediaDocument())
</span><span class="cx"> enforceSandboxFlags(SandboxAll);
</span><span class="cx"> else
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.h (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.h        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/dom/Document.h        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -361,8 +361,8 @@
</span><span class="cx"> bool didDispatchViewportPropertiesChanged() const { return m_didDispatchViewportPropertiesChanged; }
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>- void setReferrerPolicy(ReferrerHeaderPolicy referrerPolicy) { m_referrerPolicy = referrerPolicy; }
- ReferrerHeaderPolicy referrerPolicy() const { return m_referrerPolicy; }
</del><ins>+ void setReferrerPolicy(ReferrerPolicy referrerPolicy) { m_referrerPolicy = referrerPolicy; }
+ ReferrerPolicy referrerPolicy() const { return m_referrerPolicy; }
</ins><span class="cx">
</span><span class="cx"> DocumentType* doctype() const;
</span><span class="cx">
</span><span class="lines">@@ -1640,7 +1640,7 @@
</span><span class="cx">
</span><span class="cx"> ViewportArguments m_viewportArguments;
</span><span class="cx">
</span><del>- ReferrerHeaderPolicy m_referrerPolicy;
</del><ins>+ ReferrerPolicy m_referrerPolicy;
</ins><span class="cx">
</span><span class="cx"> #if ENABLE(WEB_TIMING)
</span><span class="cx"> DocumentTiming m_documentTiming;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLMediaElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLMediaElement.cpp        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -1174,7 +1174,7 @@
</span><span class="cx"> if (m_textTracks) {
</span><span class="cx"> for (unsigned i = 0; i < m_textTracks->length(); ++i) {
</span><span class="cx"> TextTrack* track = m_textTracks->item(i);
</span><del>- if (track->mode() != TextTrackMode::Disabled)
</del><ins>+ if (track->mode() != TextTrack::Mode::Disabled)
</ins><span class="cx"> m_textTracksWhenResourceSelectionBegan.append(track);
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="lines">@@ -1731,7 +1731,7 @@
</span><span class="cx"> // Mark this track as "configured" so configureTextTracks won't change the mode again.
</span><span class="cx"> track->setHasBeenConfigured(true);
</span><span class="cx">
</span><del>- if (track->mode() != TextTrackMode::Disabled && trackIsLoaded)
</del><ins>+ if (track->mode() != TextTrack::Mode::Disabled && trackIsLoaded)
</ins><span class="cx"> textTrackAddCues(track, track->cues());
</span><span class="cx">
</span><span class="cx"> configureTextTrackDisplay(AssumeTextTrackVisibilityChanged);
</span><span class="lines">@@ -1755,8 +1755,8 @@
</span><span class="cx">
</span><span class="cx"> void HTMLMediaElement::textTrackKindChanged(TextTrack* track)
</span><span class="cx"> {
</span><del>- if (track->kind() != TextTrackKind::Captions && track->kind() != TextTrackKind::Subtitles && track->mode() == TextTrackMode::Showing)
- track->setMode(TextTrackMode::Hidden);
</del><ins>+ if (track->kind() != TextTrack::Kind::Captions && track->kind() != TextTrack::Kind::Subtitles && track->mode() == TextTrack::Mode::Showing)
+ track->setMode(TextTrack::Mode::Hidden);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void HTMLMediaElement::beginIgnoringTrackDisplayUpdateRequests()
</span><span class="lines">@@ -1774,7 +1774,7 @@
</span><span class="cx">
</span><span class="cx"> void HTMLMediaElement::textTrackAddCues(TextTrack* track, const TextTrackCueList* cues)
</span><span class="cx"> {
</span><del>- if (track->mode() == TextTrackMode::Disabled)
</del><ins>+ if (track->mode() == TextTrack::Mode::Disabled)
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> TrackDisplayUpdateScope scope(this);
</span><span class="lines">@@ -1791,7 +1791,7 @@
</span><span class="cx">
</span><span class="cx"> void HTMLMediaElement::textTrackAddCue(TextTrack* track, PassRefPtr<TextTrackCue> prpCue)
</span><span class="cx"> {
</span><del>- if (track->mode() == TextTrackMode::Disabled)
</del><ins>+ if (track->mode() == TextTrack::Mode::Disabled)
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> RefPtr<TextTrackCue> cue = prpCue;
</span><span class="lines">@@ -3664,7 +3664,7 @@
</span><span class="cx"> textTrack->setReadinessState(TextTrack::Loaded);
</span><span class="cx">
</span><span class="cx"> // ... its text track mode to the text track hidden mode, and its text track list of cues to an empty list ...
</span><del>- textTrack->setMode(TextTrackMode::Hidden);
</del><ins>+ textTrack->setMode(TextTrack::Mode::Hidden);
</ins><span class="cx">
</span><span class="cx"> return textTrack.release();
</span><span class="cx"> }
</span><span class="lines">@@ -3792,7 +3792,7 @@
</span><span class="cx"> for (size_t i = 0; i < group.tracks.size(); ++i) {
</span><span class="cx"> RefPtr<TextTrack> textTrack = group.tracks[i];
</span><span class="cx">
</span><del>- if (m_processingPreferenceChange && textTrack->mode() == TextTrackMode::Showing)
</del><ins>+ if (m_processingPreferenceChange && textTrack->mode() == TextTrack::Mode::Showing)
</ins><span class="cx"> currentlyEnabledTracks.append(textTrack);
</span><span class="cx">
</span><span class="cx"> int trackScore = captionPreferences ? captionPreferences->textTrackSelectionScore(textTrack.get(), this) : 0;
</span><span class="lines">@@ -3861,12 +3861,12 @@
</span><span class="cx"> for (size_t i = 0; i < currentlyEnabledTracks.size(); ++i) {
</span><span class="cx"> RefPtr<TextTrack> textTrack = currentlyEnabledTracks[i];
</span><span class="cx"> if (textTrack != trackToEnable)
</span><del>- textTrack->setMode(TextTrackMode::Disabled);
</del><ins>+ textTrack->setMode(TextTrack::Mode::Disabled);
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if (trackToEnable) {
</span><del>- trackToEnable->setMode(TextTrackMode::Showing);
</del><ins>+ trackToEnable->setMode(TextTrack::Mode::Showing);
</ins><span class="cx">
</span><span class="cx"> // If user preferences indicate we should always display captions, make sure we reflect the
</span><span class="cx"> // proper status via the webkitClosedCaptionsVisible API call:
</span><span class="lines">@@ -3996,13 +3996,13 @@
</span><span class="cx"> for (int i = 0, length = trackList->length(); i < length; ++i) {
</span><span class="cx"> TextTrack* track = trackList->item(i);
</span><span class="cx"> if (!trackToSelect || track != trackToSelect)
</span><del>- track->setMode(TextTrackMode::Disabled);
</del><ins>+ track->setMode(TextTrack::Mode::Disabled);
</ins><span class="cx"> else
</span><del>- track->setMode(TextTrackMode::Showing);
</del><ins>+ track->setMode(TextTrack::Mode::Showing);
</ins><span class="cx"> }
</span><span class="cx"> } else if (trackToSelect == TextTrack::captionMenuOffItem()) {
</span><span class="cx"> for (int i = 0, length = trackList->length(); i < length; ++i)
</span><del>- trackList->item(i)->setMode(TextTrackMode::Disabled);
</del><ins>+ trackList->item(i)->setMode(TextTrack::Mode::Disabled);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if (!document().page())
</span><span class="lines">@@ -4041,18 +4041,18 @@
</span><span class="cx">
</span><span class="cx"> auto kind = textTrack->kind();
</span><span class="cx"> TrackGroup* currentGroup;
</span><del>- if (kind == TextTrackKind::Subtitles || kind == TextTrackKind::Captions || kind == TextTrackKind::Forced)
</del><ins>+ if (kind == TextTrack::Kind::Subtitles || kind == TextTrack::Kind::Captions || kind == TextTrack::Kind::Forced)
</ins><span class="cx"> currentGroup = &captionAndSubtitleTracks;
</span><del>- else if (kind == TextTrackKind::Descriptions)
</del><ins>+ else if (kind == TextTrack::Kind::Descriptions)
</ins><span class="cx"> currentGroup = &descriptionTracks;
</span><del>- else if (kind == TextTrackKind::Chapters)
</del><ins>+ else if (kind == TextTrack::Kind::Chapters)
</ins><span class="cx"> currentGroup = &chapterTracks;
</span><del>- else if (kind == TextTrackKind::Metadata)
</del><ins>+ else if (kind == TextTrack::Kind::Metadata)
</ins><span class="cx"> currentGroup = &metadataTracks;
</span><span class="cx"> else
</span><span class="cx"> currentGroup = &otherTracks;
</span><span class="cx">
</span><del>- if (!currentGroup->visibleTrack && textTrack->mode() == TextTrackMode::Showing)
</del><ins>+ if (!currentGroup->visibleTrack && textTrack->mode() == TextTrack::Mode::Showing)
</ins><span class="cx"> currentGroup->visibleTrack = textTrack;
</span><span class="cx"> if (!currentGroup->defaultTrack && textTrack->isDefault())
</span><span class="cx"> currentGroup->defaultTrack = textTrack;
</span><span class="lines">@@ -5491,7 +5491,7 @@
</span><span class="cx"> auto& track = *m_textTracks->item(i);
</span><span class="cx"> if (track.readinessState() == TextTrack::FailedToLoad)
</span><span class="cx"> continue;
</span><del>- if (track.kind() == TextTrackKind::Captions || track.kind() == TextTrackKind::Subtitles)
</del><ins>+ if (track.kind() == TextTrack::Kind::Captions || track.kind() == TextTrack::Kind::Subtitles)
</ins><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="lines">@@ -5758,7 +5758,7 @@
</span><span class="cx">
</span><span class="cx"> bool haveVisibleTextTrack = false;
</span><span class="cx"> for (unsigned i = 0; i < m_textTracks->length(); ++i) {
</span><del>- if (m_textTracks->item(i)->mode() == TextTrackMode::Showing) {
</del><ins>+ if (m_textTracks->item(i)->mode() == TextTrack::Mode::Showing) {
</ins><span class="cx"> haveVisibleTextTrack = true;
</span><span class="cx"> break;
</span><span class="cx"> }
</span><span class="lines">@@ -5834,7 +5834,7 @@
</span><span class="cx"> for (unsigned i = 0; i < m_textTracks->length(); ++i) {
</span><span class="cx"> auto& track = *m_textTracks->item(i);
</span><span class="cx"> auto kind = track.kind();
</span><del>- if (kind == TextTrackKind::Subtitles || kind == TextTrackKind::Captions)
</del><ins>+ if (kind == TextTrack::Kind::Subtitles || kind == TextTrack::Kind::Captions)
</ins><span class="cx"> track.setHasBeenConfigured(false);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -6080,34 +6080,34 @@
</span><span class="cx">
</span><span class="cx"> #if ENABLE(AVF_CAPTIONS)
</span><span class="cx">
</span><del>-static inline PlatformTextTrack::TrackKind toPlatform(TextTrackKind kind)
</del><ins>+static inline PlatformTextTrack::TrackKind toPlatform(TextTrack::Kind kind)
</ins><span class="cx"> {
</span><span class="cx"> switch (kind) {
</span><del>- case TextTrackKind::Captions:
</del><ins>+ case TextTrack::Kind::Captions:
</ins><span class="cx"> return PlatformTextTrack::Caption;
</span><del>- case TextTrackKind::Chapters:
</del><ins>+ case TextTrack::Kind::Chapters:
</ins><span class="cx"> return PlatformTextTrack::Chapter;
</span><del>- case TextTrackKind::Descriptions:
</del><ins>+ case TextTrack::Kind::Descriptions:
</ins><span class="cx"> return PlatformTextTrack::Description;
</span><del>- case TextTrackKind::Forced:
</del><ins>+ case TextTrack::Kind::Forced:
</ins><span class="cx"> return PlatformTextTrack::Forced;
</span><del>- case TextTrackKind::Metadata:
</del><ins>+ case TextTrack::Kind::Metadata:
</ins><span class="cx"> return PlatformTextTrack::MetaData;
</span><del>- case TextTrackKind::Subtitles:
</del><ins>+ case TextTrack::Kind::Subtitles:
</ins><span class="cx"> return PlatformTextTrack::Subtitle;
</span><span class="cx"> }
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><span class="cx"> return PlatformTextTrack::Caption;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static inline PlatformTextTrack::TrackMode toPlatform(TextTrackMode mode)
</del><ins>+static inline PlatformTextTrack::TrackMode toPlatform(TextTrack::Mode mode)
</ins><span class="cx"> {
</span><span class="cx"> switch (mode) {
</span><del>- case TextTrackMode::Disabled:
</del><ins>+ case TextTrack::Mode::Disabled:
</ins><span class="cx"> return PlatformTextTrack::Disabled;
</span><del>- case TextTrackMode::Hidden:
</del><ins>+ case TextTrack::Mode::Hidden:
</ins><span class="cx"> return PlatformTextTrack::Hidden;
</span><del>- case TextTrackMode::Showing:
</del><ins>+ case TextTrack::Mode::Showing:
</ins><span class="cx"> return PlatformTextTrack::Showing;
</span><span class="cx"> }
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><span class="lines">@@ -6131,13 +6131,13 @@
</span><span class="cx"> // FIXME: The switch statement below preserves existing behavior where we ignore chapters and metadata tracks.
</span><span class="cx"> // If we confirm this behavior is valuable, we should remove this comment. Otherwise, remove both comment and switch.
</span><span class="cx"> switch (kind) {
</span><del>- case TextTrackKind::Captions:
- case TextTrackKind::Descriptions:
- case TextTrackKind::Forced:
- case TextTrackKind::Subtitles:
</del><ins>+ case TextTrack::Kind::Captions:
+ case TextTrack::Kind::Descriptions:
+ case TextTrack::Kind::Forced:
+ case TextTrack::Kind::Subtitles:
</ins><span class="cx"> break;
</span><del>- case TextTrackKind::Chapters:
- case TextTrackKind::Metadata:
</del><ins>+ case TextTrack::Kind::Chapters:
+ case TextTrack::Kind::Metadata:
</ins><span class="cx"> continue;
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTrackElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTrackElement.cpp (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTrackElement.cpp        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/html/HTMLTrackElement.cpp        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -174,7 +174,7 @@
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> // 2. If the text track's text track mode is not set to one of hidden or showing, abort these steps.
</span><del>- if (ensureTrack().mode() != TextTrackMode::Hidden && ensureTrack().mode() != TextTrackMode::Showing)
</del><ins>+ if (ensureTrack().mode() != TextTrack::Mode::Hidden && ensureTrack().mode() != TextTrack::Mode::Showing)
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> // 3. If the text track's track element does not have a media element as a parent, abort these steps.
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLVideoElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLVideoElement.cpp (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLVideoElement.cpp        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/html/HTMLVideoElement.cpp        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -401,14 +401,14 @@
</span><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static inline HTMLMediaElementEnums::VideoFullscreenMode toFullscreenMode(VideoPresentationMode mode)
</del><ins>+static inline HTMLMediaElementEnums::VideoFullscreenMode toFullscreenMode(HTMLVideoElement::VideoPresentationMode mode)
</ins><span class="cx"> {
</span><span class="cx"> switch (mode) {
</span><del>- case VideoPresentationMode::Fullscreen:
</del><ins>+ case HTMLVideoElement::VideoPresentationMode::Fullscreen:
</ins><span class="cx"> return HTMLMediaElementEnums::VideoFullscreenModeStandard;
</span><del>- case VideoPresentationMode::PictureInPicture:
</del><ins>+ case HTMLVideoElement::VideoPresentationMode::PictureInPicture:
</ins><span class="cx"> return HTMLMediaElementEnums::VideoFullscreenModePictureInPicture;
</span><del>- case VideoPresentationMode::Inline:
</del><ins>+ case HTMLVideoElement::VideoPresentationMode::Inline:
</ins><span class="cx"> return HTMLMediaElementEnums::VideoFullscreenModeNone;
</span><span class="cx"> }
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><span class="lines">@@ -433,22 +433,22 @@
</span><span class="cx"> enterFullscreen(mode);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static VideoPresentationMode toPresentationMode(HTMLMediaElement::VideoFullscreenMode mode)
</del><ins>+static HTMLVideoElement::VideoPresentationMode toPresentationMode(HTMLMediaElementEnums::VideoFullscreenMode mode)
</ins><span class="cx"> {
</span><span class="cx"> if (mode == HTMLMediaElementEnums::VideoFullscreenModeStandard)
</span><del>- return VideoPresentationMode::Fullscreen;
</del><ins>+ return HTMLVideoElement::VideoPresentationMode::Fullscreen;
</ins><span class="cx">
</span><span class="cx"> if (mode & HTMLMediaElementEnums::VideoFullscreenModePictureInPicture)
</span><del>- return VideoPresentationMode::PictureInPicture;
</del><ins>+ return HTMLVideoElement::VideoPresentationMode::PictureInPicture;
</ins><span class="cx">
</span><span class="cx"> if (mode == HTMLMediaElementEnums::VideoFullscreenModeNone)
</span><del>- return VideoPresentationMode::Inline;
</del><ins>+ return HTMLVideoElement::VideoPresentationMode::Inline;
</ins><span class="cx">
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><del>- return VideoPresentationMode::Inline;
</del><ins>+ return HTMLVideoElement::VideoPresentationMode::Inline;
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-VideoPresentationMode HTMLVideoElement::webkitPresentationMode() const
</del><ins>+auto HTMLVideoElement::webkitPresentationMode() const -> VideoPresentationMode
</ins><span class="cx"> {
</span><span class="cx"> return toPresentationMode(fullscreenMode());
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLVideoElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLVideoElement.h (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLVideoElement.h        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/html/HTMLVideoElement.h        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -34,8 +34,6 @@
</span><span class="cx">
</span><span class="cx"> class HTMLImageLoader;
</span><span class="cx">
</span><del>-enum class VideoPresentationMode { Fullscreen, PictureInPicture, Inline };
-
</del><span class="cx"> class HTMLVideoElement final : public HTMLMediaElement {
</span><span class="cx"> public:
</span><span class="cx"> static Ref<HTMLVideoElement> create(const QualifiedName&, Document&, bool);
</span><span class="lines">@@ -43,7 +41,6 @@
</span><span class="cx"> WEBCORE_EXPORT unsigned videoWidth() const;
</span><span class="cx"> WEBCORE_EXPORT unsigned videoHeight() const;
</span><span class="cx">
</span><del>- // Fullscreen
</del><span class="cx"> void webkitEnterFullscreen(ExceptionCode&);
</span><span class="cx"> void webkitExitFullscreen();
</span><span class="cx"> bool webkitSupportsFullscreen();
</span><span class="lines">@@ -62,7 +59,6 @@
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> #if ENABLE(MEDIA_STATISTICS)
</span><del>- // Statistics
</del><span class="cx"> unsigned webkitDecodedFrameCount() const;
</span><span class="cx"> unsigned webkitDroppedFrameCount() const;
</span><span class="cx"> #endif
</span><span class="lines">@@ -82,6 +78,7 @@
</span><span class="cx"> RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) override;
</span><span class="cx">
</span><span class="cx"> #if ENABLE(VIDEO_PRESENTATION_MODE)
</span><ins>+ enum class VideoPresentationMode { Fullscreen, PictureInPicture, Inline };
</ins><span class="cx"> bool webkitSupportsPresentationMode(VideoPresentationMode) const;
</span><span class="cx"> void webkitSetPresentationMode(VideoPresentationMode);
</span><span class="cx"> VideoPresentationMode webkitPresentationMode() const;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLVideoElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLVideoElement.idl (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLVideoElement.idl        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/html/HTMLVideoElement.idl        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -23,9 +23,6 @@
</span><span class="cx"> * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx"> */
</span><span class="cx">
</span><del>-// FIXME: This should be Conditional=VIDEO_PRESENTATION_MODE.
-enum VideoPresentationMode { "fullscreen", "picture-in-picture", "inline" };
-
</del><span class="cx"> [
</span><span class="cx"> Conditional=VIDEO,
</span><span class="cx"> JSGenerateToNativeObject,
</span><span class="lines">@@ -63,3 +60,5 @@
</span><span class="cx"> [Conditional=VIDEO_PRESENTATION_MODE] void webkitSetPresentationMode(VideoPresentationMode mode);
</span><span class="cx"> #endif
</span><span class="cx"> };
</span><ins>+
+[Conditional=VIDEO_PRESENTATION_MODE] enum VideoPresentationMode { "fullscreen", "picture-in-picture", "inline" };
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasCanvasRenderingContext2Dcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -76,9 +76,9 @@
</span><span class="cx"> using namespace HTMLNames;
</span><span class="cx">
</span><span class="cx"> #if USE(CG)
</span><del>-const ImageSmoothingQuality defaultSmoothingQuality = ImageSmoothingQuality::Low;
</del><ins>+const CanvasRenderingContext2D::ImageSmoothingQuality defaultSmoothingQuality = CanvasRenderingContext2D::ImageSmoothingQuality::Low;
</ins><span class="cx"> #else
</span><del>-const ImageSmoothingQuality defaultSmoothingQuality = ImageSmoothingQuality::Medium;
</del><ins>+const CanvasRenderingContext2D::ImageSmoothingQuality defaultSmoothingQuality = CanvasRenderingContext2D::ImageSmoothingQuality::Medium;
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> static const int defaultFontSize = 10;
</span><span class="lines">@@ -930,12 +930,12 @@
</span><span class="cx"> return op == CompositeSourceIn || op == CompositeSourceOut || op == CompositeDestinationIn || op == CompositeDestinationAtop;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static WindRule toWindRule(CanvasWindingRule rule)
</del><ins>+static WindRule toWindRule(CanvasRenderingContext2D::WindingRule rule)
</ins><span class="cx"> {
</span><del>- return rule == CanvasWindingRule::Nonzero ? RULE_NONZERO : RULE_EVENODD;
</del><ins>+ return rule == CanvasRenderingContext2D::WindingRule::Nonzero ? RULE_NONZERO : RULE_EVENODD;
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void CanvasRenderingContext2D::fill(CanvasWindingRule windingRule)
</del><ins>+void CanvasRenderingContext2D::fill(WindingRule windingRule)
</ins><span class="cx"> {
</span><span class="cx"> fillInternal(m_path, windingRule);
</span><span class="cx">
</span><span class="lines">@@ -953,7 +953,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void CanvasRenderingContext2D::clip(CanvasWindingRule windingRule)
</del><ins>+void CanvasRenderingContext2D::clip(WindingRule windingRule)
</ins><span class="cx"> {
</span><span class="cx"> clipInternal(m_path, windingRule);
</span><span class="cx">
</span><span class="lines">@@ -962,7 +962,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void CanvasRenderingContext2D::fill(DOMPath& path, CanvasWindingRule windingRule)
</del><ins>+void CanvasRenderingContext2D::fill(DOMPath& path, WindingRule windingRule)
</ins><span class="cx"> {
</span><span class="cx"> fillInternal(path.path(), windingRule);
</span><span class="cx"> }
</span><span class="lines">@@ -972,12 +972,12 @@
</span><span class="cx"> strokeInternal(path.path());
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void CanvasRenderingContext2D::clip(DOMPath& path, CanvasWindingRule windingRule)
</del><ins>+void CanvasRenderingContext2D::clip(DOMPath& path, WindingRule windingRule)
</ins><span class="cx"> {
</span><span class="cx"> clipInternal(path.path(), windingRule);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void CanvasRenderingContext2D::fillInternal(const Path& path, CanvasWindingRule windingRule)
</del><ins>+void CanvasRenderingContext2D::fillInternal(const Path& path, WindingRule windingRule)
</ins><span class="cx"> {
</span><span class="cx"> GraphicsContext* c = drawingContext();
</span><span class="cx"> if (!c)
</span><span class="lines">@@ -1044,7 +1044,7 @@
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void CanvasRenderingContext2D::clipInternal(const Path& path, CanvasWindingRule windingRule)
</del><ins>+void CanvasRenderingContext2D::clipInternal(const Path& path, WindingRule windingRule)
</ins><span class="cx"> {
</span><span class="cx"> GraphicsContext* c = drawingContext();
</span><span class="cx"> if (!c)
</span><span class="lines">@@ -1070,7 +1070,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool CanvasRenderingContext2D::isPointInPath(float x, float y, CanvasWindingRule windingRule)
</del><ins>+bool CanvasRenderingContext2D::isPointInPath(float x, float y, WindingRule windingRule)
</ins><span class="cx"> {
</span><span class="cx"> return isPointInPathInternal(m_path, x, y, windingRule);
</span><span class="cx"> }
</span><span class="lines">@@ -1080,7 +1080,7 @@
</span><span class="cx"> return isPointInStrokeInternal(m_path, x, y);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool CanvasRenderingContext2D::isPointInPath(DOMPath& path, float x, float y, CanvasWindingRule windingRule)
</del><ins>+bool CanvasRenderingContext2D::isPointInPath(DOMPath& path, float x, float y, WindingRule windingRule)
</ins><span class="cx"> {
</span><span class="cx"> return isPointInPathInternal(path.path(), x, y, windingRule);
</span><span class="cx"> }
</span><span class="lines">@@ -1090,7 +1090,7 @@
</span><span class="cx"> return isPointInStrokeInternal(path.path(), x, y);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool CanvasRenderingContext2D::isPointInPathInternal(const Path& path, float x, float y, CanvasWindingRule windingRule)
</del><ins>+bool CanvasRenderingContext2D::isPointInPathInternal(const Path& path, float x, float y, WindingRule windingRule)
</ins><span class="cx"> {
</span><span class="cx"> GraphicsContext* c = drawingContext();
</span><span class="cx"> if (!c)
</span><span class="lines">@@ -2537,14 +2537,14 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>-static InterpolationQuality smoothingToInterpolationQuality(ImageSmoothingQuality quality)
</del><ins>+static InterpolationQuality smoothingToInterpolationQuality(CanvasRenderingContext2D::ImageSmoothingQuality quality)
</ins><span class="cx"> {
</span><span class="cx"> switch (quality) {
</span><del>- case ImageSmoothingQuality::Low:
</del><ins>+ case CanvasRenderingContext2D::ImageSmoothingQuality::Low:
</ins><span class="cx"> return InterpolationLow;
</span><del>- case ImageSmoothingQuality::Medium:
</del><ins>+ case CanvasRenderingContext2D::ImageSmoothingQuality::Medium:
</ins><span class="cx"> return InterpolationMedium;
</span><del>- case ImageSmoothingQuality::High:
</del><ins>+ case CanvasRenderingContext2D::ImageSmoothingQuality::High:
</ins><span class="cx"> return InterpolationHigh;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -2552,7 +2552,7 @@
</span><span class="cx"> return InterpolationLow;
</span><span class="cx"> };
</span><span class="cx">
</span><del>-ImageSmoothingQuality CanvasRenderingContext2D::imageSmoothingQuality() const
</del><ins>+auto CanvasRenderingContext2D::imageSmoothingQuality() const -> ImageSmoothingQuality
</ins><span class="cx"> {
</span><span class="cx"> return state().imageSmoothingQuality;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasCanvasRenderingContext2Dh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.h (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.h        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.h        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -57,9 +57,6 @@
</span><span class="cx">
</span><span class="cx"> typedef int ExceptionCode;
</span><span class="cx">
</span><del>-enum class CanvasWindingRule { Nonzero, Evenodd };
-enum class ImageSmoothingQuality { Low, Medium, High };
-
</del><span class="cx"> class CanvasRenderingContext2D final : public CanvasRenderingContext, public CanvasPathMethods {
</span><span class="cx"> public:
</span><span class="cx"> CanvasRenderingContext2D(HTMLCanvasElement*, bool usesCSSCompatibilityParseMode, bool usesDashboardCompatibilityMode);
</span><span class="lines">@@ -131,18 +128,20 @@
</span><span class="cx">
</span><span class="cx"> void beginPath();
</span><span class="cx">
</span><del>- void fill(CanvasWindingRule = CanvasWindingRule::Nonzero);
</del><ins>+ enum class WindingRule { Nonzero, Evenodd };
+
+ void fill(WindingRule = WindingRule::Nonzero);
</ins><span class="cx"> void stroke();
</span><del>- void clip(CanvasWindingRule = CanvasWindingRule::Nonzero);
</del><ins>+ void clip(WindingRule = WindingRule::Nonzero);
</ins><span class="cx">
</span><del>- void fill(DOMPath&, CanvasWindingRule = CanvasWindingRule::Nonzero);
</del><ins>+ void fill(DOMPath&, WindingRule = WindingRule::Nonzero);
</ins><span class="cx"> void stroke(DOMPath&);
</span><del>- void clip(DOMPath&, CanvasWindingRule = CanvasWindingRule::Nonzero);
</del><ins>+ void clip(DOMPath&, WindingRule = WindingRule::Nonzero);
</ins><span class="cx">
</span><del>- bool isPointInPath(float x, float y, CanvasWindingRule = CanvasWindingRule::Nonzero);
</del><ins>+ bool isPointInPath(float x, float y, WindingRule = WindingRule::Nonzero);
</ins><span class="cx"> bool isPointInStroke(float x, float y);
</span><span class="cx">
</span><del>- bool isPointInPath(DOMPath&, float x, float y, CanvasWindingRule = CanvasWindingRule::Nonzero);
</del><ins>+ bool isPointInPath(DOMPath&, float x, float y, WindingRule = WindingRule::Nonzero);
</ins><span class="cx"> bool isPointInStroke(DOMPath&, float x, float y);
</span><span class="cx">
</span><span class="cx"> void clearRect(float x, float y, float width, float height);
</span><span class="lines">@@ -222,6 +221,7 @@
</span><span class="cx"> bool imageSmoothingEnabled() const;
</span><span class="cx"> void setImageSmoothingEnabled(bool);
</span><span class="cx">
</span><ins>+ enum class ImageSmoothingQuality { Low, Medium, High };
</ins><span class="cx"> ImageSmoothingQuality imageSmoothingQuality() const;
</span><span class="cx"> void setImageSmoothingQuality(ImageSmoothingQuality);
</span><span class="cx">
</span><span class="lines">@@ -345,11 +345,11 @@
</span><span class="cx"> void beginCompositeLayer();
</span><span class="cx"> void endCompositeLayer();
</span><span class="cx">
</span><del>- void fillInternal(const Path&, CanvasWindingRule);
</del><ins>+ void fillInternal(const Path&, WindingRule);
</ins><span class="cx"> void strokeInternal(const Path&);
</span><del>- void clipInternal(const Path&, CanvasWindingRule);
</del><ins>+ void clipInternal(const Path&, WindingRule);
</ins><span class="cx">
</span><del>- bool isPointInPathInternal(const Path&, float x, float y, CanvasWindingRule);
</del><ins>+ bool isPointInPathInternal(const Path&, float x, float y, WindingRule);
</ins><span class="cx"> bool isPointInStrokeInternal(const Path&, float x, float y);
</span><span class="cx">
</span><span class="cx"> void drawFocusIfNeededInternal(const Path&, Element*);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlshadowMediaControlElementscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/shadow/MediaControlElements.cpp (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/shadow/MediaControlElements.cpp        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/html/shadow/MediaControlElements.cpp        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -765,7 +765,7 @@
</span><span class="cx"> continue;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (displayMode != CaptionUserPreferences::Automatic && textTrack->mode() == TextTrackMode::Showing) {
</del><ins>+ if (displayMode != CaptionUserPreferences::Automatic && textTrack->mode() == TextTrack::Mode::Showing) {
</ins><span class="cx"> trackMenuItemSelected = true;
</span><span class="cx"> trackItem->classList().add(selectedClassValue, ASSERT_NO_EXCEPTION);
</span><span class="cx"> } else
</span><span class="lines">@@ -1173,7 +1173,7 @@
</span><span class="cx"> LOG(Media, "MediaControlTextTrackContainerElement::updateDisplay(%p) - adding and positioning cue #%zu: \"%s\", start=%.2f, end=%.2f, line=%.2f", this, i, cue->text().utf8().data(), cue->startTime(), cue->endTime(), cue->line());
</span><span class="cx">
</span><span class="cx"> RefPtr<VTTCueBox> displayBox = cue->getDisplayTree(m_videoDisplaySize.size(), m_fontSize);
</span><del>- if (cue->track()->mode() == TextTrackMode::Disabled)
</del><ins>+ if (cue->track()->mode() == TextTrack::Mode::Disabled)
</ins><span class="cx"> continue;
</span><span class="cx">
</span><span class="cx"> VTTRegion* region = cue->track()->regions()->getRegionById(cue->regionId());
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackInbandTextTrackcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/InbandTextTrack.cpp (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/InbandTextTrack.cpp        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/html/track/InbandTextTrack.cpp        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -89,27 +89,27 @@
</span><span class="cx"> updateKindFromPrivate();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void InbandTextTrack::setMode(TextTrackMode mode)
</del><ins>+void InbandTextTrack::setMode(Mode mode)
</ins><span class="cx"> {
</span><span class="cx"> TextTrack::setMode(mode);
</span><span class="cx"> setModeInternal(mode);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static inline InbandTextTrackPrivate::Mode toPrivate(TextTrackMode mode)
</del><ins>+static inline InbandTextTrackPrivate::Mode toPrivate(TextTrack::Mode mode)
</ins><span class="cx"> {
</span><span class="cx"> switch (mode) {
</span><del>- case TextTrackMode::Disabled:
</del><ins>+ case TextTrack::Mode::Disabled:
</ins><span class="cx"> return InbandTextTrackPrivate::Disabled;
</span><del>- case TextTrackMode::Hidden:
</del><ins>+ case TextTrack::Mode::Hidden:
</ins><span class="cx"> return InbandTextTrackPrivate::Hidden;
</span><del>- case TextTrackMode::Showing:
</del><ins>+ case TextTrack::Mode::Showing:
</ins><span class="cx"> return InbandTextTrackPrivate::Showing;
</span><span class="cx"> }
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><span class="cx"> return InbandTextTrackPrivate::Disabled;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void InbandTextTrack::setModeInternal(TextTrackMode mode)
</del><ins>+void InbandTextTrack::setModeInternal(Mode mode)
</ins><span class="cx"> {
</span><span class="cx"> m_private->setMode(toPrivate(mode));
</span><span class="cx"> }
</span><span class="lines">@@ -196,22 +196,22 @@
</span><span class="cx"> {
</span><span class="cx"> switch (m_private->kind()) {
</span><span class="cx"> case InbandTextTrackPrivate::Subtitles:
</span><del>- setKind(TextTrackKind::Subtitles);
</del><ins>+ setKind(Kind::Subtitles);
</ins><span class="cx"> break;
</span><span class="cx"> case InbandTextTrackPrivate::Captions:
</span><del>- setKind(TextTrackKind::Captions);
</del><ins>+ setKind(Kind::Captions);
</ins><span class="cx"> break;
</span><span class="cx"> case InbandTextTrackPrivate::Descriptions:
</span><del>- setKind(TextTrackKind::Descriptions);
</del><ins>+ setKind(Kind::Descriptions);
</ins><span class="cx"> break;
</span><span class="cx"> case InbandTextTrackPrivate::Chapters:
</span><del>- setKind(TextTrackKind::Chapters);
</del><ins>+ setKind(Kind::Chapters);
</ins><span class="cx"> break;
</span><span class="cx"> case InbandTextTrackPrivate::Metadata:
</span><del>- setKind(TextTrackKind::Metadata);
</del><ins>+ setKind(Kind::Metadata);
</ins><span class="cx"> break;
</span><span class="cx"> case InbandTextTrackPrivate::Forced:
</span><del>- setKind(TextTrackKind::Forced);
</del><ins>+ setKind(Kind::Forced);
</ins><span class="cx"> break;
</span><span class="cx"> case InbandTextTrackPrivate::None:
</span><span class="cx"> default:
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackInbandTextTrackh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/InbandTextTrack.h (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/InbandTextTrack.h        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/html/track/InbandTextTrack.h        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -45,7 +45,7 @@
</span><span class="cx"> bool containsOnlyForcedSubtitles() const override;
</span><span class="cx"> bool isMainProgramContent() const override;
</span><span class="cx"> bool isEasyToRead() const override;
</span><del>- void setMode(TextTrackMode) override;
</del><ins>+ void setMode(Mode) override;
</ins><span class="cx"> size_t inbandTrackIndex();
</span><span class="cx">
</span><span class="cx"> AtomicString inBandMetadataTrackDispatchType() const override;
</span><span class="lines">@@ -55,7 +55,7 @@
</span><span class="cx"> protected:
</span><span class="cx"> InbandTextTrack(ScriptExecutionContext*, TextTrackClient*, PassRefPtr<InbandTextTrackPrivate>);
</span><span class="cx">
</span><del>- void setModeInternal(TextTrackMode);
</del><ins>+ void setModeInternal(Mode);
</ins><span class="cx"> void updateKindFromPrivate();
</span><span class="cx">
</span><span class="cx"> RefPtr<InbandTextTrackPrivate> m_private;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackTextTrackcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/TextTrack.cpp (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/TextTrack.cpp        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/html/track/TextTrack.cpp        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -104,15 +104,15 @@
</span><span class="cx"> , m_renderedTrackIndex(invalidTrackIndex)
</span><span class="cx"> {
</span><span class="cx"> if (kind == captionsKeyword())
</span><del>- m_kind = TextTrackKind::Captions;
</del><ins>+ m_kind = Kind::Captions;
</ins><span class="cx"> else if (kind == chaptersKeyword())
</span><del>- m_kind = TextTrackKind::Chapters;
</del><ins>+ m_kind = Kind::Chapters;
</ins><span class="cx"> else if (kind == descriptionsKeyword())
</span><del>- m_kind = TextTrackKind::Descriptions;
</del><ins>+ m_kind = Kind::Descriptions;
</ins><span class="cx"> else if (kind == forcedKeyword())
</span><del>- m_kind = TextTrackKind::Forced;
</del><ins>+ m_kind = Kind::Forced;
</ins><span class="cx"> else if (kind == metadataKeyword())
</span><del>- m_kind = TextTrackKind::Metadata;
</del><ins>+ m_kind = Kind::Metadata;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> TextTrack::~TextTrack()
</span><span class="lines">@@ -132,7 +132,7 @@
</span><span class="cx">
</span><span class="cx"> bool TextTrack::enabled() const
</span><span class="cx"> {
</span><del>- return m_mode != TextTrackMode::Disabled;
</del><ins>+ return m_mode != Mode::Disabled;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool TextTrack::isValidKindKeyword(const AtomicString& value)
</span><span class="lines">@@ -156,24 +156,24 @@
</span><span class="cx"> const AtomicString& TextTrack::kindKeyword() const
</span><span class="cx"> {
</span><span class="cx"> switch (m_kind) {
</span><del>- case TextTrackKind::Captions:
</del><ins>+ case Kind::Captions:
</ins><span class="cx"> return captionsKeyword();
</span><del>- case TextTrackKind::Chapters:
</del><ins>+ case Kind::Chapters:
</ins><span class="cx"> return chaptersKeyword();
</span><del>- case TextTrackKind::Descriptions:
</del><ins>+ case Kind::Descriptions:
</ins><span class="cx"> return descriptionsKeyword();
</span><del>- case TextTrackKind::Forced:
</del><ins>+ case Kind::Forced:
</ins><span class="cx"> return forcedKeyword();
</span><del>- case TextTrackKind::Metadata:
</del><ins>+ case Kind::Metadata:
</ins><span class="cx"> return metadataKeyword();
</span><del>- case TextTrackKind::Subtitles:
</del><ins>+ case Kind::Subtitles:
</ins><span class="cx"> return subtitlesKeyword();
</span><span class="cx"> }
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><span class="cx"> return subtitlesKeyword();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void TextTrack::setKind(TextTrackKind newKind)
</del><ins>+void TextTrack::setKind(Kind newKind)
</ins><span class="cx"> {
</span><span class="cx"> auto oldKind = m_kind;
</span><span class="cx">
</span><span class="lines">@@ -203,28 +203,28 @@
</span><span class="cx"> void TextTrack::setKindKeywordIgnoringASCIICase(StringView keyword)
</span><span class="cx"> {
</span><span class="cx"> if (equalLettersIgnoringASCIICase(keyword, "captions"))
</span><del>- setKind(TextTrackKind::Captions);
</del><ins>+ setKind(Kind::Captions);
</ins><span class="cx"> else if (equalLettersIgnoringASCIICase(keyword, "chapters"))
</span><del>- setKind(TextTrackKind::Chapters);
</del><ins>+ setKind(Kind::Chapters);
</ins><span class="cx"> else if (equalLettersIgnoringASCIICase(keyword, "descriptions"))
</span><del>- setKind(TextTrackKind::Descriptions);
</del><ins>+ setKind(Kind::Descriptions);
</ins><span class="cx"> else if (equalLettersIgnoringASCIICase(keyword, "forced"))
</span><del>- setKind(TextTrackKind::Forced);
</del><ins>+ setKind(Kind::Forced);
</ins><span class="cx"> else if (equalLettersIgnoringASCIICase(keyword, "metadata"))
</span><del>- setKind(TextTrackKind::Metadata);
</del><ins>+ setKind(Kind::Metadata);
</ins><span class="cx"> else if (equalLettersIgnoringASCIICase(keyword, "subtitles"))
</span><del>- setKind(TextTrackKind::Subtitles);
</del><ins>+ setKind(Kind::Subtitles);
</ins><span class="cx"> #if !ENABLE(MEDIA_SOURCE)
</span><span class="cx"> // FIXME: This preserves the behavior of an older version of this code before refactoring.
</span><span class="cx"> // !ENABLE(MEDIA_SOURCE): unknown keywords all get turned into Subtitles.
</span><span class="cx"> // ENABLE(MEDIA_SOURCE): unknown keywords leave the old value for kind untouched.
</span><span class="cx"> // I am not sure that either of those is the correct behavior; should test and fix.
</span><span class="cx"> else
</span><del>- setKind(TextTrackKind::Subtitles);
</del><ins>+ setKind(Kind::Subtitles);
</ins><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void TextTrack::setMode(TextTrackMode mode)
</del><ins>+void TextTrack::setMode(Mode mode)
</ins><span class="cx"> {
</span><span class="cx"> // On setting, if the new value isn't equal to what the attribute would currently
</span><span class="cx"> // return, the new value must be processed as follows ...
</span><span class="lines">@@ -233,10 +233,10 @@
</span><span class="cx">
</span><span class="cx"> // If mode changes to disabled, remove this track's cues from the client
</span><span class="cx"> // because they will no longer be accessible from the cues() function.
</span><del>- if (mode == TextTrackMode::Disabled && m_client && m_cues)
</del><ins>+ if (mode == Mode::Disabled && m_client && m_cues)
</ins><span class="cx"> m_client->textTrackRemoveCues(this, m_cues.get());
</span><span class="cx">
</span><del>- if (mode != TextTrackMode::Showing && m_cues) {
</del><ins>+ if (mode != Mode::Showing && m_cues) {
</ins><span class="cx"> for (size_t i = 0; i < m_cues->length(); ++i) {
</span><span class="cx"> TextTrackCue* cue = m_cues->item(i);
</span><span class="cx"> if (cue->isRenderable())
</span><span class="lines">@@ -257,7 +257,7 @@
</span><span class="cx"> // Otherwise, it must return null. When an object is returned, the
</span><span class="cx"> // same object must be returned each time.
</span><span class="cx"> // http://www.whatwg.org/specs/web-apps/current-work/#dom-texttrack-cues
</span><del>- if (m_mode == TextTrackMode::Disabled)
</del><ins>+ if (m_mode == Mode::Disabled)
</ins><span class="cx"> return nullptr;
</span><span class="cx"> return &ensureTextTrackCueList();
</span><span class="cx"> }
</span><span class="lines">@@ -284,7 +284,7 @@
</span><span class="cx"> // order. Otherwise, it must return null. When an object is returned, the
</span><span class="cx"> // same object must be returned each time.
</span><span class="cx"> // http://www.whatwg.org/specs/web-apps/current-work/#dom-texttrack-activecues
</span><del>- if (!m_cues || m_mode == TextTrackMode::Disabled)
</del><ins>+ if (!m_cues || m_mode == Mode::Disabled)
</ins><span class="cx"> return nullptr;
</span><span class="cx"> return m_cues->activeCues();
</span><span class="cx"> }
</span><span class="lines">@@ -302,7 +302,7 @@
</span><span class="cx"> // If a DataCue is added to a TextTrack via the addCue() method but the text track does not have its text
</span><span class="cx"> // track kind set to metadata, throw a InvalidNodeTypeError exception and don't add the cue to the TextTrackList
</span><span class="cx"> // of the TextTrack.
</span><del>- if (cue->cueType() == TextTrackCue::Data && m_kind != TextTrackKind::Metadata) {
</del><ins>+ if (cue->cueType() == TextTrackCue::Data && m_kind != Kind::Metadata) {
</ins><span class="cx"> ec = INVALID_NODE_TYPE_ERR;
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="lines">@@ -372,7 +372,7 @@
</span><span class="cx"> // the text track list of regions of the text track. Otherwise, it must
</span><span class="cx"> // return null. When an object is returned, the same object must be returned
</span><span class="cx"> // each time.
</span><del>- if (m_mode == TextTrackMode::Disabled)
</del><ins>+ if (m_mode == Mode::Disabled)
</ins><span class="cx"> return nullptr;
</span><span class="cx"> return &ensureVTTRegionList();
</span><span class="cx"> }
</span><span class="lines">@@ -467,8 +467,8 @@
</span><span class="cx">
</span><span class="cx"> bool TextTrack::isRendered()
</span><span class="cx"> {
</span><del>- return (m_kind == TextTrackKind::Captions || m_kind == TextTrackKind::Subtitles || m_kind == TextTrackKind::Forced)
- && m_mode == TextTrackMode::Showing;
</del><ins>+ return (m_kind == Kind::Captions || m_kind == Kind::Subtitles || m_kind == Kind::Forced)
+ && m_mode == Mode::Showing;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> TextTrackCueList& TextTrack::ensureTextTrackCueList()
</span><span class="lines">@@ -553,12 +553,12 @@
</span><span class="cx"> // directors commentary is not "main program" because it is not essential for the presentation. HTML5 doesn't have
</span><span class="cx"> // a way to express this in a machine-reable form, it is typically done with the track label, so we assume that caption
</span><span class="cx"> // tracks are main content and all other track types are not.
</span><del>- return m_kind == TextTrackKind::Captions;
</del><ins>+ return m_kind == Kind::Captions;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool TextTrack::containsOnlyForcedSubtitles() const
</span><span class="cx"> {
</span><del>- return m_kind == TextTrackKind::Forced;
</del><ins>+ return m_kind == Kind::Forced;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if ENABLE(MEDIA_SOURCE)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackTextTrackh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/TextTrack.h (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/TextTrack.h        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/html/track/TextTrack.h        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -42,9 +42,6 @@
</span><span class="cx"> class VTTRegion;
</span><span class="cx"> class VTTRegionList;
</span><span class="cx">
</span><del>-enum class TextTrackKind { Subtitles, Captions, Descriptions, Chapters, Metadata, Forced };
-enum class TextTrackMode { Disabled, Hidden, Showing };
-
</del><span class="cx"> class TextTrackClient {
</span><span class="cx"> public:
</span><span class="cx"> virtual ~TextTrackClient() { }
</span><span class="lines">@@ -77,19 +74,21 @@
</span><span class="cx"> static const AtomicString& hiddenKeyword();
</span><span class="cx"> static const AtomicString& showingKeyword();
</span><span class="cx">
</span><del>- TextTrackKind kind() const;
- void setKind(TextTrackKind);
</del><ins>+ enum class Kind { Subtitles, Captions, Descriptions, Chapters, Metadata, Forced };
+ Kind kind() const;
+ void setKind(Kind);
</ins><span class="cx">
</span><del>- TextTrackKind kindForBindings() const;
- void setKindForBindings(TextTrackKind);
</del><ins>+ Kind kindForBindings() const;
+ void setKindForBindings(Kind);
</ins><span class="cx">
</span><span class="cx"> const AtomicString& kindKeyword() const;
</span><span class="cx"> void setKindKeywordIgnoringASCIICase(StringView);
</span><span class="cx">
</span><span class="cx"> virtual AtomicString inBandMetadataTrackDispatchType() const { return emptyString(); }
</span><span class="cx">
</span><del>- TextTrackMode mode() const;
- virtual void setMode(TextTrackMode);
</del><ins>+ enum class Mode { Disabled, Hidden, Showing };
+ Mode mode() const;
+ virtual void setMode(Mode);
</ins><span class="cx">
</span><span class="cx"> enum ReadinessState { NotLoaded = 0, Loading = 1, Loaded = 2, FailedToLoad = 3 };
</span><span class="cx"> ReadinessState readinessState() const { return m_readinessState; }
</span><span class="lines">@@ -164,8 +163,8 @@
</span><span class="cx"> TextTrackCueList& ensureTextTrackCueList();
</span><span class="cx">
</span><span class="cx"> ScriptExecutionContext* m_scriptExecutionContext;
</span><del>- TextTrackMode m_mode { TextTrackMode::Disabled };
- TextTrackKind m_kind { TextTrackKind::Subtitles };
</del><ins>+ Mode m_mode { Mode::Disabled };
+ Kind m_kind { Kind::Subtitles };
</ins><span class="cx"> TextTrackClient* m_client;
</span><span class="cx"> TextTrackType m_trackType;
</span><span class="cx"> ReadinessState m_readinessState { NotLoaded };
</span><span class="lines">@@ -180,24 +179,24 @@
</span><span class="cx"> return static_cast<TextTrack*>(track);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-inline TextTrackMode TextTrack::mode() const
</del><ins>+inline auto TextTrack::mode() const -> Mode
</ins><span class="cx"> {
</span><span class="cx"> return m_mode;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-inline TextTrackKind TextTrack::kind() const
</del><ins>+inline auto TextTrack::kind() const -> Kind
</ins><span class="cx"> {
</span><span class="cx"> return m_kind;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-inline TextTrackKind TextTrack::kindForBindings() const
</del><ins>+inline auto TextTrack::kindForBindings() const -> Kind
</ins><span class="cx"> {
</span><span class="cx"> return kind();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if !ENABLE(MEDIA_SOURCE)
</span><span class="cx">
</span><del>-inline void TextTrack::setKindForBindings(TextTrackKind)
</del><ins>+inline void TextTrack::setKindForBindings(Kind)
</ins><span class="cx"> {
</span><span class="cx"> // FIXME: We are using kindForBindings only to implement this empty function, preserving the
</span><span class="cx"> // behavior of doing nothing when trying to set the kind, originally implemented in a custom setter.
</span><span class="lines">@@ -206,7 +205,7 @@
</span><span class="cx">
</span><span class="cx"> #else
</span><span class="cx">
</span><del>-inline void TextTrack::setKindForBindings(TextTrackKind kind)
</del><ins>+inline void TextTrack::setKindForBindings(Kind kind)
</ins><span class="cx"> {
</span><span class="cx"> setKind(kind);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackTextTrackCuecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/TextTrackCue.cpp (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/TextTrackCue.cpp        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/html/track/TextTrackCue.cpp        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -193,7 +193,7 @@
</span><span class="cx"> bool TextTrackCue::dispatchEvent(Event& event)
</span><span class="cx"> {
</span><span class="cx"> // When a TextTrack's mode is disabled: no cues are active, no events fired.
</span><del>- if (!track() || track()->mode() == TextTrackMode::Disabled)
</del><ins>+ if (!track() || track()->mode() == TextTrack::Mode::Disabled)
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> return EventTarget::dispatchEvent(event);
</span><span class="lines">@@ -201,7 +201,7 @@
</span><span class="cx">
</span><span class="cx"> bool TextTrackCue::isActive()
</span><span class="cx"> {
</span><del>- return m_isActive && track() && track()->mode() != TextTrackMode::Disabled;
</del><ins>+ return m_isActive && track() && track()->mode() != TextTrack::Mode::Disabled;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void TextTrackCue::setIsActive(bool active)
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderFrameNetworkingContexth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/FrameNetworkingContext.h (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/FrameNetworkingContext.h        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/loader/FrameNetworkingContext.h        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx"> if (!m_frame)
</span><span class="cx"> return true;
</span><span class="cx">
</span><del>- return m_frame->document()->referrerPolicy() == ReferrerHeaderPolicy::Default;
</del><ins>+ return m_frame->document()->referrerPolicy() == ReferrerPolicy::Default;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> protected:
</span></span></pre></div>
<a id="trunkSourceWebCorepageCaptionUserPreferencescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/CaptionUserPreferences.cpp (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/CaptionUserPreferences.cpp        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/page/CaptionUserPreferences.cpp        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -217,7 +217,7 @@
</span><span class="cx"> for (unsigned i = 0, length = trackList->length(); i < length; ++i) {
</span><span class="cx"> TextTrack* track = trackList->item(i);
</span><span class="cx"> auto kind = track->kind();
</span><del>- if (kind == TextTrackKind::Captions || kind == TextTrackKind::Descriptions || kind == TextTrackKind::Subtitles)
</del><ins>+ if (kind == TextTrack::Kind::Captions || kind == TextTrack::Kind::Descriptions || kind == TextTrack::Kind::Subtitles)
</ins><span class="cx"> tracksForMenu.append(track);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -265,7 +265,7 @@
</span><span class="cx">
</span><span class="cx"> int CaptionUserPreferences::textTrackSelectionScore(TextTrack* track, HTMLMediaElement*) const
</span><span class="cx"> {
</span><del>- if (track->kind() != TextTrackKind::Captions && track->kind() != TextTrackKind::Subtitles)
</del><ins>+ if (track->kind() != TextTrack::Kind::Captions && track->kind() != TextTrack::Kind::Subtitles)
</ins><span class="cx"> return 0;
</span><span class="cx">
</span><span class="cx"> if (!userPrefersSubtitles() && !userPrefersCaptions())
</span></span></pre></div>
<a id="trunkSourceWebCorepageCaptionUserPreferencesMediaAFcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/CaptionUserPreferencesMediaAF.cpp (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/CaptionUserPreferencesMediaAF.cpp        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/page/CaptionUserPreferencesMediaAF.cpp        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -710,7 +710,7 @@
</span><span class="cx"> bool legacyOverride = mediaElement->webkitClosedCaptionsVisible();
</span><span class="cx"> if (displayMode == AlwaysOn && (!userPrefersSubtitles() && !userPrefersCaptions() && !legacyOverride))
</span><span class="cx"> return 0;
</span><del>- if (track->kind() != TextTrackKind::Captions && track->kind() != TextTrackKind::Subtitles && track->kind() != TextTrackKind::Forced)
</del><ins>+ if (track->kind() != TextTrack::Kind::Captions && track->kind() != TextTrack::Kind::Subtitles && track->kind() != TextTrack::Kind::Forced)
</ins><span class="cx"> return 0;
</span><span class="cx"> if (!track->isMainProgramContent())
</span><span class="cx"> return 0;
</span><span class="lines">@@ -771,7 +771,7 @@
</span><span class="cx">
</span><span class="cx"> if (userPrefersCaptions()) {
</span><span class="cx"> // When the user prefers accessibility tracks, rank is SDH, then CC, then subtitles.
</span><del>- if (track->kind() == TextTrackKind::Subtitles)
</del><ins>+ if (track->kind() == TextTrack::Kind::Subtitles)
</ins><span class="cx"> trackScore = 1;
</span><span class="cx"> else if (track->isClosedCaptions())
</span><span class="cx"> trackScore = 2;
</span><span class="lines">@@ -779,7 +779,7 @@
</span><span class="cx"> trackScore = 3;
</span><span class="cx"> } else {
</span><span class="cx"> // When the user prefers translation tracks, rank is subtitles, then SDH, then CC tracks.
</span><del>- if (track->kind() == TextTrackKind::Subtitles)
</del><ins>+ if (track->kind() == TextTrack::Kind::Subtitles)
</ins><span class="cx"> trackScore = 3;
</span><span class="cx"> else if (!track->isClosedCaptions())
</span><span class="cx"> trackScore = 2;
</span><span class="lines">@@ -865,7 +865,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> auto kind = track->kind();
</span><del>- if (kind != TextTrackKind::Captions && kind != TextTrackKind::Descriptions && kind != TextTrackKind::Subtitles)
</del><ins>+ if (kind != TextTrack::Kind::Captions && kind != TextTrack::Kind::Descriptions && kind != TextTrack::Kind::Subtitles)
</ins><span class="cx"> continue;
</span><span class="cx">
</span><span class="cx"> if (track->containsOnlyForcedSubtitles()) {
</span><span class="lines">@@ -881,7 +881,7 @@
</span><span class="cx"> continue;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (track->mode() == TextTrackMode::Showing) {
</del><ins>+ if (track->mode() == TextTrack::Mode::Showing) {
</ins><span class="cx"> LOG(Media, "CaptionUserPreferencesMediaAF::sortedTrackListForMenu - adding '%s' track with language '%s' because it is already visible", track->kindKeyword().string().utf8().data(), language.utf8().data());
</span><span class="cx"> if (!language.isEmpty())
</span><span class="cx"> languagesIncluded.add(language);
</span><span class="lines">@@ -890,7 +890,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if (!language.isEmpty() && track->isMainProgramContent()) {
</span><del>- bool isAccessibilityTrack = track->kind() == TextTrackKind::Captions;
</del><ins>+ bool isAccessibilityTrack = track->kind() == TextTrack::Kind::Captions;
</ins><span class="cx"> if (prefersAccessibilityTracks) {
</span><span class="cx"> // In the first pass, include only caption tracks if the user prefers accessibility tracks.
</span><span class="cx"> if (!isAccessibilityTrack && filterTrackList) {
</span><span class="lines">@@ -926,7 +926,7 @@
</span><span class="cx"> continue;
</span><span class="cx">
</span><span class="cx"> auto kind = track->kind();
</span><del>- if (kind != TextTrackKind::Captions && kind != TextTrackKind::Descriptions && kind != TextTrackKind::Subtitles)
</del><ins>+ if (kind != TextTrack::Kind::Captions && kind != TextTrack::Kind::Descriptions && kind != TextTrack::Kind::Subtitles)
</ins><span class="cx"> continue;
</span><span class="cx">
</span><span class="cx"> // All candidates with no languge were added the first time through.
</span></span></pre></div>
<a id="trunkSourceWebCorepageSecurityPolicycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/SecurityPolicy.cpp (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/SecurityPolicy.cpp        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/page/SecurityPolicy.cpp        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -66,7 +66,7 @@
</span><span class="cx"> return !URLIsSecureURL;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-String SecurityPolicy::generateReferrerHeader(ReferrerHeaderPolicy referrerPolicy, const URL& url, const String& referrer)
</del><ins>+String SecurityPolicy::generateReferrerHeader(ReferrerPolicy referrerPolicy, const URL& url, const String& referrer)
</ins><span class="cx"> {
</span><span class="cx"> if (referrer.isEmpty())
</span><span class="cx"> return String();
</span><span class="lines">@@ -75,11 +75,11 @@
</span><span class="cx"> return String();
</span><span class="cx">
</span><span class="cx"> switch (referrerPolicy) {
</span><del>- case ReferrerHeaderPolicy::Never:
</del><ins>+ case ReferrerPolicy::Never:
</ins><span class="cx"> return String();
</span><del>- case ReferrerHeaderPolicy::Always:
</del><ins>+ case ReferrerPolicy::Always:
</ins><span class="cx"> return referrer;
</span><del>- case ReferrerHeaderPolicy::Origin: {
</del><ins>+ case ReferrerPolicy::Origin: {
</ins><span class="cx"> String origin = SecurityOrigin::createFromString(referrer)->toString();
</span><span class="cx"> if (origin == "null")
</span><span class="cx"> return String();
</span><span class="lines">@@ -87,7 +87,7 @@
</span><span class="cx"> // to turn it into a canonical URL we can use as referrer.
</span><span class="cx"> return origin + "/";
</span><span class="cx"> }
</span><del>- case ReferrerHeaderPolicy::Default:
</del><ins>+ case ReferrerPolicy::Default:
</ins><span class="cx"> break;
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorepageSecurityPolicyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/SecurityPolicy.h (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/SecurityPolicy.h        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/page/SecurityPolicy.h        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -38,14 +38,14 @@
</span><span class="cx">
</span><span class="cx"> class SecurityPolicy {
</span><span class="cx"> public:
</span><del>- // True if the referrer should be omitted according to ReferrerHeaderPolicy::Default.
</del><ins>+ // True if the referrer should be omitted according to ReferrerPolicy::Default.
</ins><span class="cx"> // If you intend to send a referrer header, you should use generateReferrerHeader instead.
</span><span class="cx"> WEBCORE_EXPORT static bool shouldHideReferrer(const URL&, const String& referrer);
</span><span class="cx">
</span><span class="cx"> // Returns the referrer modified according to the referrer policy for a
</span><span class="cx"> // navigation to a given URL. If the referrer returned is empty, the
</span><span class="cx"> // referrer header should be omitted.
</span><del>- WEBCORE_EXPORT static String generateReferrerHeader(ReferrerHeaderPolicy, const URL&, const String& referrer);
</del><ins>+ WEBCORE_EXPORT static String generateReferrerHeader(ReferrerPolicy, const URL&, const String& referrer);
</ins><span class="cx">
</span><span class="cx"> enum LocalLoadPolicy {
</span><span class="cx"> AllowLocalLoadsForAll, // No restriction on local loads.
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformReferrerPolicyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ReferrerPolicy.h (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ReferrerPolicy.h        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/platform/ReferrerPolicy.h        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -37,9 +37,8 @@
</span><span class="cx"> // FIXME: Move this workaround to a global location, perhaps config.h; maybe a GTK-specific location.
</span><span class="cx"> #undef Always
</span><span class="cx">
</span><del>-// FIXME: Merge this with the ReferrerPolicy defined in the Fetch specification.
-// FIXME: Rename back to ReferrerPolicy even before that, if we find a way.
-enum class ReferrerHeaderPolicy {
</del><ins>+// FIXME: Merge this with FetchOptions::ReferrerPolicy, which is the one defined in the Fetch specification.
+enum class ReferrerPolicy {
</ins><span class="cx"> Always,
</span><span class="cx"> Default,
</span><span class="cx"> Never,
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformcocoaWebPlaybackSessionModelMediaElementmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/cocoa/WebPlaybackSessionModelMediaElement.mm (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/cocoa/WebPlaybackSessionModelMediaElement.mm        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/platform/cocoa/WebPlaybackSessionModelMediaElement.mm        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -158,9 +158,9 @@
</span><span class="cx">
</span><span class="cx"> if (m_mediaElement->mediaControlsHost()) {
</span><span class="cx"> auto type = m_mediaElement->mediaControlsHost()->externalDeviceType();
</span><del>- if (type == DeviceType::Airplay)
</del><ins>+ if (type == MediaControlsHost::DeviceType::Airplay)
</ins><span class="cx"> targetType = WebPlaybackSessionInterface::TargetTypeAirPlay;
</span><del>- else if (type == DeviceType::Tvout)
</del><ins>+ else if (type == MediaControlsHost::DeviceType::Tvout)
</ins><span class="cx"> targetType = WebPlaybackSessionInterface::TargetTypeTVOut;
</span><span class="cx"> localizedDeviceName = m_mediaElement->mediaControlsHost()->externalDeviceDisplayName();
</span><span class="cx"> }
</span><span class="lines">@@ -303,7 +303,7 @@
</span><span class="cx"> trackMenuItemSelected = true;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (displayMode != MediaControlsHost::automaticKeyword() && track->mode() == TextTrackMode::Showing) {
</del><ins>+ if (displayMode != MediaControlsHost::automaticKeyword() && track->mode() == TextTrack::Mode::Showing) {
</ins><span class="cx"> selectedIndex = index;
</span><span class="cx"> trackMenuItemSelected = true;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/Internals.cpp (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/Internals.cpp        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/testing/Internals.cpp        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -563,23 +563,23 @@
</span><span class="cx"> return link.sheet() && link.sheet()->contents().isLoadingSubresources();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static ResourceRequestCachePolicy toResourceRequestCachePolicy(InternalsCachePolicy policy)
</del><ins>+static ResourceRequestCachePolicy toResourceRequestCachePolicy(Internals::CachePolicy policy)
</ins><span class="cx"> {
</span><span class="cx"> switch (policy) {
</span><del>- case InternalsCachePolicy::UseProtocolCachePolicy:
</del><ins>+ case Internals::CachePolicy::UseProtocolCachePolicy:
</ins><span class="cx"> return UseProtocolCachePolicy;
</span><del>- case InternalsCachePolicy::ReloadIgnoringCacheData:
</del><ins>+ case Internals::CachePolicy::ReloadIgnoringCacheData:
</ins><span class="cx"> return ReloadIgnoringCacheData;
</span><del>- case InternalsCachePolicy::ReturnCacheDataElseLoad:
</del><ins>+ case Internals::CachePolicy::ReturnCacheDataElseLoad:
</ins><span class="cx"> return ReturnCacheDataElseLoad;
</span><del>- case InternalsCachePolicy::ReturnCacheDataDontLoad:
</del><ins>+ case Internals::CachePolicy::ReturnCacheDataDontLoad:
</ins><span class="cx"> return ReturnCacheDataDontLoad;
</span><span class="cx"> }
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><span class="cx"> return UseProtocolCachePolicy;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::setOverrideCachePolicy(InternalsCachePolicy policy)
</del><ins>+void Internals::setOverrideCachePolicy(CachePolicy policy)
</ins><span class="cx"> {
</span><span class="cx"> frame()->loader().setOverrideCachePolicyForTesting(toResourceRequestCachePolicy(policy));
</span><span class="cx"> }
</span><span class="lines">@@ -594,25 +594,25 @@
</span><span class="cx"> contextDocument()->domWindow()->setCanShowModalDialogOverride(allow);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static ResourceLoadPriority toResourceLoadPriority(InternalsResourceLoadPriority priority)
</del><ins>+static ResourceLoadPriority toResourceLoadPriority(Internals::ResourceLoadPriority priority)
</ins><span class="cx"> {
</span><span class="cx"> switch (priority) {
</span><del>- case InternalsResourceLoadPriority::ResourceLoadPriorityVeryLow:
</del><ins>+ case Internals::ResourceLoadPriority::ResourceLoadPriorityVeryLow:
</ins><span class="cx"> return ResourceLoadPriority::VeryLow;
</span><del>- case InternalsResourceLoadPriority::ResourceLoadPriorityLow:
</del><ins>+ case Internals::ResourceLoadPriority::ResourceLoadPriorityLow:
</ins><span class="cx"> return ResourceLoadPriority::Low;
</span><del>- case InternalsResourceLoadPriority::ResourceLoadPriorityMedium:
</del><ins>+ case Internals::ResourceLoadPriority::ResourceLoadPriorityMedium:
</ins><span class="cx"> return ResourceLoadPriority::Medium;
</span><del>- case InternalsResourceLoadPriority::ResourceLoadPriorityHigh:
</del><ins>+ case Internals::ResourceLoadPriority::ResourceLoadPriorityHigh:
</ins><span class="cx"> return ResourceLoadPriority::High;
</span><del>- case InternalsResourceLoadPriority::ResourceLoadPriorityVeryHigh:
</del><ins>+ case Internals::ResourceLoadPriority::ResourceLoadPriorityVeryHigh:
</ins><span class="cx"> return ResourceLoadPriority::VeryHigh;
</span><span class="cx"> }
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><span class="cx"> return ResourceLoadPriority::Low;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::setOverrideResourceLoadPriority(InternalsResourceLoadPriority priority)
</del><ins>+void Internals::setOverrideResourceLoadPriority(ResourceLoadPriority priority)
</ins><span class="cx"> {
</span><span class="cx"> frame()->loader().setOverrideResourceLoadPriorityForTesting(toResourceLoadPriority(priority));
</span><span class="cx"> }
</span><span class="lines">@@ -1218,21 +1218,21 @@
</span><span class="cx"> element.setAutoFilled(enabled);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static AutoFillButtonType toAutoFillButtonType(InternalsAutoFillButtonType type)
</del><ins>+static AutoFillButtonType toAutoFillButtonType(Internals::AutoFillButtonType type)
</ins><span class="cx"> {
</span><span class="cx"> switch (type) {
</span><del>- case InternalsAutoFillButtonType::AutoFillButtonTypeNone:
</del><ins>+ case Internals::AutoFillButtonType::AutoFillButtonTypeNone:
</ins><span class="cx"> return AutoFillButtonType::None;
</span><del>- case InternalsAutoFillButtonType::AutoFillButtonTypeCredentials:
</del><ins>+ case Internals::AutoFillButtonType::AutoFillButtonTypeCredentials:
</ins><span class="cx"> return AutoFillButtonType::Credentials;
</span><del>- case InternalsAutoFillButtonType::AutoFillButtonTypeContacts:
</del><ins>+ case Internals::AutoFillButtonType::AutoFillButtonTypeContacts:
</ins><span class="cx"> return AutoFillButtonType::Contacts;
</span><span class="cx"> }
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><span class="cx"> return AutoFillButtonType::None;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::setShowAutoFillButton(HTMLInputElement& element, InternalsAutoFillButtonType type)
</del><ins>+void Internals::setShowAutoFillButton(HTMLInputElement& element, AutoFillButtonType type)
</ins><span class="cx"> {
</span><span class="cx"> element.setShowAutoFillButton(toAutoFillButtonType(type));
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/Internals.h (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/Internals.h        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/testing/Internals.h        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -70,12 +70,6 @@
</span><span class="cx">
</span><span class="cx"> typedef int ExceptionCode;
</span><span class="cx">
</span><del>-enum class InternalsAutoFillButtonType { AutoFillButtonTypeNone, AutoFillButtonTypeContacts, AutoFillButtonTypeCredentials };
-enum class InternalsCachePolicy { UseProtocolCachePolicy, ReloadIgnoringCacheData, ReturnCacheDataElseLoad, ReturnCacheDataDontLoad };
-enum class InternalsResourceLoadPriority { ResourceLoadPriorityVeryLow, ResourceLoadPriorityLow, ResourceLoadPriorityMedium, ResourceLoadPriorityHigh, ResourceLoadPriorityVeryHigh };
-enum class MediaControlEvent { PlayPause, NextTrack, PreviousTrack };
-enum class PageOverlayType { View, Document };
-
</del><span class="cx"> class Internals final : public RefCounted<Internals>, private ContextDestructionObserver {
</span><span class="cx"> public:
</span><span class="cx"> static Ref<Internals> create(Document&);
</span><span class="lines">@@ -96,9 +90,11 @@
</span><span class="cx"> String xhrResponseSource(XMLHttpRequest&);
</span><span class="cx"> bool isSharingStyleSheetContents(HTMLLinkElement&, HTMLLinkElement&);
</span><span class="cx"> bool isStyleSheetLoadingSubresources(HTMLLinkElement&);
</span><del>- void setOverrideCachePolicy(InternalsCachePolicy);
</del><ins>+ enum class CachePolicy { UseProtocolCachePolicy, ReloadIgnoringCacheData, ReturnCacheDataElseLoad, ReturnCacheDataDontLoad };
+ void setOverrideCachePolicy(CachePolicy);
</ins><span class="cx"> void setCanShowModalDialogOverride(bool allow, ExceptionCode&);
</span><del>- void setOverrideResourceLoadPriority(InternalsResourceLoadPriority);
</del><ins>+ enum class ResourceLoadPriority { ResourceLoadPriorityVeryLow, ResourceLoadPriorityLow, ResourceLoadPriorityMedium, ResourceLoadPriorityHigh, ResourceLoadPriorityVeryHigh };
+ void setOverrideResourceLoadPriority(ResourceLoadPriority);
</ins><span class="cx"> void setStrictRawResourceValidationPolicyDisabled(bool);
</span><span class="cx">
</span><span class="cx"> void clearMemoryCache();
</span><span class="lines">@@ -175,7 +171,8 @@
</span><span class="cx"> bool elementShouldAutoComplete(HTMLInputElement&);
</span><span class="cx"> void setEditingValue(HTMLInputElement&, const String&);
</span><span class="cx"> void setAutofilled(HTMLInputElement&, bool enabled);
</span><del>- void setShowAutoFillButton(HTMLInputElement&, InternalsAutoFillButtonType);
</del><ins>+ enum class AutoFillButtonType { AutoFillButtonTypeNone, AutoFillButtonTypeContacts, AutoFillButtonTypeCredentials };
+ void setShowAutoFillButton(HTMLInputElement&, AutoFillButtonType);
</ins><span class="cx"> void scrollElementToRect(Element&, int x, int y, int w, int h, ExceptionCode&);
</span><span class="cx">
</span><span class="cx"> String autofillFieldName(Element&, ExceptionCode&);
</span><span class="lines">@@ -420,6 +417,7 @@
</span><span class="cx"> void sendMediaSessionEndOfInterruptionNotification(MediaSessionInterruptingCategory);
</span><span class="cx"> String mediaSessionCurrentState(MediaSession&) const;
</span><span class="cx"> double mediaElementPlayerVolume(HTMLMediaElement&) const;
</span><ins>+ enum class MediaControlEvent { PlayPause, NextTrack, PreviousTrack };
</ins><span class="cx"> void sendMediaControlEvent(MediaControlEvent);
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="lines">@@ -435,6 +433,7 @@
</span><span class="cx"> void simulateSystemSleep() const;
</span><span class="cx"> void simulateSystemWake() const;
</span><span class="cx">
</span><ins>+ enum class PageOverlayType { View, Document };
</ins><span class="cx"> RefPtr<MockPageOverlay> installMockPageOverlay(PageOverlayType, ExceptionCode&);
</span><span class="cx"> String pageOverlayLayerTreeAsText(ExceptionCode&) const;
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalsidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/Internals.idl (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/Internals.idl        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/testing/Internals.idl        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> // These map to ResourceRequestCachePolicy.
</span><del>-enum InternalsCachePolicy {
</del><ins>+enum CachePolicy {
</ins><span class="cx"> "UseProtocolCachePolicy",
</span><span class="cx"> "ReloadIgnoringCacheData",
</span><span class="cx"> "ReturnCacheDataElseLoad",
</span><span class="lines">@@ -38,7 +38,7 @@
</span><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> // FIXME: Strings in an enum should not have the name of the enum as a prefix.
</span><del>-enum InternalsResourceLoadPriority {
</del><ins>+enum ResourceLoadPriority {
</ins><span class="cx"> "ResourceLoadPriorityVeryLow",
</span><span class="cx"> "ResourceLoadPriorityLow",
</span><span class="cx"> "ResourceLoadPriorityMedium",
</span><span class="lines">@@ -59,7 +59,7 @@
</span><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> // FIXME: Strings in an enum should not have the name of the enum as a prefix.
</span><del>-enum InternalsAutoFillButtonType {
</del><ins>+enum AutoFillButtonType {
</ins><span class="cx"> "AutoFillButtonTypeNone",
</span><span class="cx"> "AutoFillButtonTypeContacts",
</span><span class="cx"> "AutoFillButtonTypeCredentials"
</span><span class="lines">@@ -86,8 +86,8 @@
</span><span class="cx"> void clearMemoryCache();
</span><span class="cx"> void pruneMemoryCacheToSize(long size);
</span><span class="cx"> long memoryCacheSize();
</span><del>- void setOverrideCachePolicy(InternalsCachePolicy policy);
- void setOverrideResourceLoadPriority(InternalsResourceLoadPriority priority);
</del><ins>+ void setOverrideCachePolicy(CachePolicy policy);
+ void setOverrideResourceLoadPriority(ResourceLoadPriority priority);
</ins><span class="cx"> void setStrictRawResourceValidationPolicyDisabled(boolean disabled);
</span><span class="cx">
</span><span class="cx"> void clearPageCache();
</span><span class="lines">@@ -159,7 +159,7 @@
</span><span class="cx"> boolean elementShouldAutoComplete(HTMLInputElement inputElement);
</span><span class="cx"> void setEditingValue(HTMLInputElement inputElement, DOMString value);
</span><span class="cx"> void setAutofilled(HTMLInputElement inputElement, boolean enabled);
</span><del>- void setShowAutoFillButton(HTMLInputElement inputElement, InternalsAutoFillButtonType autoFillButtonType);
</del><ins>+ void setShowAutoFillButton(HTMLInputElement inputElement, AutoFillButtonType autoFillButtonType);
</ins><span class="cx"> [RaisesException] unsigned long countMatchesForText(DOMString text, unsigned long findOptions, DOMString markMatches);
</span><span class="cx">
</span><span class="cx"> [RaisesException] DOMString autofillFieldName(Element formControlElement);
</span></span></pre></div>
<a id="trunkSourceWebCorexmlXMLHttpRequestcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/XMLHttpRequest.cpp (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/XMLHttpRequest.cpp        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/xml/XMLHttpRequest.cpp        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -163,7 +163,7 @@
</span><span class="cx">
</span><span class="cx"> String XMLHttpRequest::responseText(ExceptionCode& ec)
</span><span class="cx"> {
</span><del>- if (m_responseType != XMLHttpRequestResponseType::EmptyString && m_responseType != XMLHttpRequestResponseType::Text) {
</del><ins>+ if (m_responseType != ResponseType::EmptyString && m_responseType != ResponseType::Text) {
</ins><span class="cx"> ec = INVALID_STATE_ERR;
</span><span class="cx"> return { };
</span><span class="cx"> }
</span><span class="lines">@@ -172,7 +172,7 @@
</span><span class="cx">
</span><span class="cx"> void XMLHttpRequest::didCacheResponseJSON()
</span><span class="cx"> {
</span><del>- ASSERT(m_responseType == XMLHttpRequestResponseType::Json);
</del><ins>+ ASSERT(m_responseType == ResponseType::Json);
</ins><span class="cx"> ASSERT(doneWithoutErrors());
</span><span class="cx"> m_responseCacheIsValid = true;
</span><span class="cx"> m_responseBuilder.clear();
</span><span class="lines">@@ -180,7 +180,7 @@
</span><span class="cx">
</span><span class="cx"> Document* XMLHttpRequest::responseXML(ExceptionCode& ec)
</span><span class="cx"> {
</span><del>- if (m_responseType != XMLHttpRequestResponseType::EmptyString && m_responseType != XMLHttpRequestResponseType::Document) {
</del><ins>+ if (m_responseType != ResponseType::EmptyString && m_responseType != ResponseType::Document) {
</ins><span class="cx"> ec = INVALID_STATE_ERR;
</span><span class="cx"> return nullptr;
</span><span class="cx"> }
</span><span class="lines">@@ -195,7 +195,7 @@
</span><span class="cx"> // The W3C spec requires the final MIME type to be some valid XML type, or text/html.
</span><span class="cx"> // If it is text/html, then the responseType of "document" must have been supplied explicitly.
</span><span class="cx"> if ((m_response.isHTTP() && !responseIsXML() && !isHTML)
</span><del>- || (isHTML && m_responseType == XMLHttpRequestResponseType::EmptyString)
</del><ins>+ || (isHTML && m_responseType == ResponseType::EmptyString)
</ins><span class="cx"> || scriptExecutionContext()->isWorkerGlobalScope()) {
</span><span class="cx"> m_responseDocument = nullptr;
</span><span class="cx"> } else {
</span><span class="lines">@@ -219,7 +219,7 @@
</span><span class="cx">
</span><span class="cx"> Blob* XMLHttpRequest::responseBlob()
</span><span class="cx"> {
</span><del>- ASSERT(m_responseType == XMLHttpRequestResponseType::Blob);
</del><ins>+ ASSERT(m_responseType == ResponseType::Blob);
</ins><span class="cx"> ASSERT(doneWithoutErrors());
</span><span class="cx">
</span><span class="cx"> if (!m_responseBlob) {
</span><span class="lines">@@ -241,7 +241,7 @@
</span><span class="cx">
</span><span class="cx"> ArrayBuffer* XMLHttpRequest::responseArrayBuffer()
</span><span class="cx"> {
</span><del>- ASSERT(m_responseType == XMLHttpRequestResponseType::Arraybuffer);
</del><ins>+ ASSERT(m_responseType == ResponseType::Arraybuffer);
</ins><span class="cx"> ASSERT(doneWithoutErrors());
</span><span class="cx">
</span><span class="cx"> if (!m_responseArrayBuffer) {
</span><span class="lines">@@ -273,7 +273,7 @@
</span><span class="cx"> m_timeoutTimer.startOneShot(std::max(0.0, interval.count()));
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void XMLHttpRequest::setResponseType(XMLHttpRequestResponseType type, ExceptionCode& ec)
</del><ins>+void XMLHttpRequest::setResponseType(ResponseType type, ExceptionCode& ec)
</ins><span class="cx"> {
</span><span class="cx"> if (m_state >= LOADING) {
</span><span class="cx"> ec = INVALID_STATE_ERR;
</span><span class="lines">@@ -463,7 +463,7 @@
</span><span class="cx"> // attempt to discourage synchronous XHR use. responseType is one such piece of functionality.
</span><span class="cx"> // We'll only disable this functionality for HTTP(S) requests since sync requests for local protocols
</span><span class="cx"> // such as file: and data: still make sense to allow.
</span><del>- if (url.protocolIsInHTTPFamily() && m_responseType != XMLHttpRequestResponseType::EmptyString) {
</del><ins>+ if (url.protocolIsInHTTPFamily() && m_responseType != ResponseType::EmptyString) {
</ins><span class="cx"> logConsoleError(scriptExecutionContext(), "Synchronous HTTP(S) requests made from the window context cannot have XMLHttpRequest.responseType set.");
</span><span class="cx"> ec = INVALID_ACCESS_ERR;
</span><span class="cx"> return;
</span><span class="lines">@@ -1095,16 +1095,16 @@
</span><span class="cx"> m_response.setHTTPHeaderField(HTTPHeaderName::ContentType, m_mimeTypeOverride);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static inline bool shouldDecodeResponse(XMLHttpRequestResponseType type)
</del><ins>+static inline bool shouldDecodeResponse(XMLHttpRequest::ResponseType type)
</ins><span class="cx"> {
</span><span class="cx"> switch (type) {
</span><del>- case XMLHttpRequestResponseType::EmptyString:
- case XMLHttpRequestResponseType::Document:
- case XMLHttpRequestResponseType::Json:
- case XMLHttpRequestResponseType::Text:
</del><ins>+ case XMLHttpRequest::ResponseType::EmptyString:
+ case XMLHttpRequest::ResponseType::Document:
+ case XMLHttpRequest::ResponseType::Json:
+ case XMLHttpRequest::ResponseType::Text:
</ins><span class="cx"> return true;
</span><del>- case XMLHttpRequestResponseType::Arraybuffer:
- case XMLHttpRequestResponseType::Blob:
</del><ins>+ case XMLHttpRequest::ResponseType::Arraybuffer:
+ case XMLHttpRequest::ResponseType::Blob:
</ins><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx"> ASSERT_NOT_REACHED();
</span></span></pre></div>
<a id="trunkSourceWebCorexmlXMLHttpRequesth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/XMLHttpRequest.h (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/XMLHttpRequest.h        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebCore/xml/XMLHttpRequest.h        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -44,8 +44,6 @@
</span><span class="cx"> class TextResourceDecoder;
</span><span class="cx"> class ThreadableLoader;
</span><span class="cx">
</span><del>-enum class XMLHttpRequestResponseType { EmptyString, Arraybuffer, Blob, Document, Json, Text };
-
</del><span class="cx"> class XMLHttpRequest final : public RefCounted<XMLHttpRequest>, public XMLHttpRequestEventTarget, private ThreadableLoaderClient, public ActiveDOMObject {
</span><span class="cx"> WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><span class="lines">@@ -106,8 +104,9 @@
</span><span class="cx"> static String uppercaseKnownHTTPMethod(const String&);
</span><span class="cx"> static bool isAllowedHTTPHeader(const String&);
</span><span class="cx">
</span><del>- void setResponseType(XMLHttpRequestResponseType, ExceptionCode&);
- XMLHttpRequestResponseType responseType() const;
</del><ins>+ enum class ResponseType { EmptyString, Arraybuffer, Blob, Document, Json, Text };
+ void setResponseType(ResponseType, ExceptionCode&);
+ ResponseType responseType() const;
</ins><span class="cx">
</span><span class="cx"> String responseURL() const;
</span><span class="cx">
</span><span class="lines">@@ -225,7 +224,7 @@
</span><span class="cx">
</span><span class="cx"> XMLHttpRequestProgressEventThrottle m_progressEventThrottle;
</span><span class="cx">
</span><del>- XMLHttpRequestResponseType m_responseType { XMLHttpRequestResponseType::EmptyString };
</del><ins>+ ResponseType m_responseType { ResponseType::EmptyString };
</ins><span class="cx"> bool m_responseCacheIsValid { false };
</span><span class="cx">
</span><span class="cx"> Timer m_resumeTimer;
</span><span class="lines">@@ -239,7 +238,7 @@
</span><span class="cx"> Timer m_timeoutTimer;
</span><span class="cx"> };
</span><span class="cx">
</span><del>-inline XMLHttpRequestResponseType XMLHttpRequest::responseType() const
</del><ins>+inline auto XMLHttpRequest::responseType() const -> ResponseType
</ins><span class="cx"> {
</span><span class="cx"> return m_responseType;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebKit2/ChangeLog        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -1,3 +1,15 @@
</span><ins>+2016-05-02 Darin Adler <darin@apple.com>
+
+ Change IDL enumerations to be nested in their C++ class instead of at WebCore namespace level
+ https://bugs.webkit.org/show_bug.cgi?id=157257
+
+ Reviewed by Chris Dumez.
+
+ * WebProcess/Network/WebLoaderStrategy.cpp:
+ (WebKit::WebLoaderStrategy::loadResource): Updated since we changed
+ ReferrerHeaderPolicy back to ReferrerPolicy.
+ (WebKit::WebLoaderStrategy::schedulePluginStreamLoad): Ditto.
+
</ins><span class="cx"> 2016-05-02 Brady Eidson <beidson@apple.com>
</span><span class="cx">
</span><span class="cx"> Const-ify some IDB code.
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessNetworkWebLoaderStrategycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/Network/WebLoaderStrategy.cpp (200360 => 200361)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/Network/WebLoaderStrategy.cpp        2016-05-03 03:39:51 UTC (rev 200360)
+++ trunk/Source/WebKit2/WebProcess/Network/WebLoaderStrategy.cpp        2016-05-03 05:47:34 UTC (rev 200361)
</span><span class="lines">@@ -75,7 +75,7 @@
</span><span class="cx"> {
</span><span class="cx"> RefPtr<SubresourceLoader> loader = SubresourceLoader::create(frame, resource, request, options);
</span><span class="cx"> if (loader)
</span><del>- scheduleLoad(loader.get(), resource, frame->document()->referrerPolicy() == ReferrerHeaderPolicy::Default);
</del><ins>+ scheduleLoad(loader.get(), resource, frame->document()->referrerPolicy() == ReferrerPolicy::Default);
</ins><span class="cx"> return loader;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -83,7 +83,7 @@
</span><span class="cx"> {
</span><span class="cx"> RefPtr<NetscapePlugInStreamLoader> loader = NetscapePlugInStreamLoader::create(frame, client, request);
</span><span class="cx"> if (loader)
</span><del>- scheduleLoad(loader.get(), 0, frame->document()->referrerPolicy() == ReferrerHeaderPolicy::Default);
</del><ins>+ scheduleLoad(loader.get(), 0, frame->document()->referrerPolicy() == ReferrerPolicy::Default);
</ins><span class="cx"> return loader;
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre>
</div>
</div>
</body>
</html>