<!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>[211964] trunk/Source/WebCore</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/211964">211964</a></dd>
<dt>Author</dt> <dd>akling@apple.com</dd>
<dt>Date</dt> <dd>2017-02-09 09:47:33 -0800 (Thu, 09 Feb 2017)</dd>
</dl>
<h3>Log Message</h3>
<pre>Document should always have a Settings.
<https://webkit.org/b/120172>
Reviewed by Antti Koivisto.
Since a Document can't move between Frames, and it's either frameless
or partnered with a Frame provided at construction time, we know that
it will never need to switch between different Settings objects either.
Give Document a Ref<Settings> that contains either the Frame's Settings
or a default-constructed Settings object if frameless.
Document::settings() is promoted to a reference getter.
The bulk of this patch is removing now-unnecessary null checks.
* Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp:
(WebCore::WebKitMediaKeySession::mediaKeysStorageDirectory):
* Modules/plugins/PluginReplacement.h:
(WebCore::ReplacementPlugin::isEnabledBySettings):
* Modules/plugins/QuickTimePluginReplacement.h:
* Modules/plugins/QuickTimePluginReplacement.mm:
(WebCore::QuickTimePluginReplacement::isEnabledBySettings):
* Modules/plugins/YouTubePluginReplacement.cpp:
(WebCore::YouTubePluginReplacement::isEnabledBySettings):
* Modules/plugins/YouTubePluginReplacement.h:
* Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::constructCommon):
* bindings/js/CachedScriptFetcher.cpp:
(WebCore::CachedScriptFetcher::requestScriptWithCache):
* css/CSSFontFace.cpp:
(WebCore::CSSFontFace::appendSources):
(WebCore::CSSFontFace::webFontsShouldAlwaysFallBack):
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::fallbackFontCount):
(WebCore::CSSFontSelector::fallbackFontAt):
* css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertResize):
* css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyValueFontFamily):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::defaultStyleForElement):
(WebCore::StyleResolver::adjustRenderStyle):
(WebCore::StyleResolver::checkForGenericFamilyChange):
(WebCore::StyleResolver::initializeFontStyle):
* css/StyleResolver.h:
(WebCore::StyleResolver::settings):
(WebCore::StyleResolver::documentSettings): Deleted.
* css/parser/CSSParser.cpp:
(WebCore::CSSParserContext::CSSParserContext):
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::setReadyState):
(WebCore::Document::setVisualUpdatesAllowed):
(WebCore::Document::defaultCharsetForLegacyBindings):
(WebCore::Document::recalcStyle):
(WebCore::Document::implicitClose):
(WebCore::Document::minimumLayoutDelay):
(WebCore::Document::setDomain):
(WebCore::Document::audioPlaybackRequiresUserGesture):
(WebCore::Document::videoPlaybackRequiresUserGesture):
(WebCore::Document::storageBlockingStateDidChange):
(WebCore::Document::isTelephoneNumberParsingEnabled):
(WebCore::Document::initSecurityContext):
(WebCore::Document::initDNSPrefetch):
(WebCore::Document::getCachedLocale):
(WebCore::Document::shouldEnforceContentDispositionAttachmentSandbox):
(WebCore::Document::settings): Deleted.
* dom/Document.h:
(WebCore::Document::settings):
* dom/Element.cpp:
(WebCore::subpixelMetricsEnabled):
* dom/ExtensionStyleSheets.cpp:
(WebCore::ExtensionStyleSheets::pageUserSheet):
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::dispatchErrorEvent):
* dom/ScriptableDocumentParser.cpp:
(WebCore::ScriptableDocumentParser::ScriptableDocumentParser):
* dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::requestAnimationFrameEnabled):
* dom/make_names.pl:
(printConstructorInterior):
* editing/Editor.cpp:
* editing/markup.cpp:
(WebCore::createMarkupInternal):
* html/FTPDirectoryDocument.cpp:
(WebCore::createTemplateDocumentData):
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::setActive):
(WebCore::HTMLAnchorElement::sendPings):
(WebCore::HTMLAnchorElement::treatLinkAsLiveForEventType):
* html/HTMLAppletElement.cpp:
(WebCore::HTMLAppletElement::canEmbedJava):
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::getContext2d):
(WebCore::shouldEnableWebGL):
(WebCore::HTMLCanvasElement::shouldAccelerate):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::submitImplicitly):
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::setLocation):
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::updateImageControls):
* html/HTMLImageLoader.cpp:
(WebCore::HTMLImageLoader::sourceURI):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setupDateTimeChooserParameters):
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::process):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::mediaPlayerMediaKeysStorageDirectory):
(WebCore::HTMLMediaElement::mediaPlayerAcceleratedCompositingEnabled):
(WebCore::HTMLMediaElement::enterFullscreen):
(WebCore::HTMLMediaElement::exitFullscreen):
(WebCore::HTMLMediaElement::mediaPlayerNeedsSiteSpecificHacks):
(WebCore::HTMLMediaElement::mediaPlayerNetworkInterfaceName):
(WebCore::HTMLMediaElement::setMediaControlsDependOnPageScaleFactor):
(WebCore::HTMLMediaElement::doesHaveAttribute):
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::HTMLVideoElement):
* html/MediaElementSession.cpp:
(WebCore::MediaElementSession::wirelessVideoPlaybackDisabled):
(WebCore::MediaElementSession::requiresFullscreenForVideoPlayback):
(WebCore::MediaElementSession::allowsAutomaticMediaDataLoading):
(WebCore::MediaElementSession::allowsPictureInPicture):
(WebCore::MediaElementSession::maximumMediaSourceBufferSize):
* html/parser/HTMLParserOptions.cpp:
(WebCore::HTMLParserOptions::HTMLParserOptions):
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
* loader/LinkLoader.cpp:
(WebCore::LinkLoader::loadLink):
* page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::allowContentSecurityPolicySourceStarToMatchAnyProtocol):
* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::toggleSimpleLineLayout):
* style/StyleFontSizeFunctions.cpp:
(WebCore::Style::computedFontSizeFromSpecifiedSize):
(WebCore::Style::fontSizeForKeyword):
(WebCore::Style::legacyFontSizeForPixelSize):
* style/StyleScope.cpp:
(WebCore::Style::Scope::collectActiveStyleSheets):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::usesDashboardBackwardCompatibilityMode):</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulesencryptedmedialegacyWebKitMediaKeySessioncpp">trunk/Source/WebCore/Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulespluginsPluginReplacementh">trunk/Source/WebCore/Modules/plugins/PluginReplacement.h</a></li>
<li><a href="#trunkSourceWebCoreModulespluginsQuickTimePluginReplacementh">trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.h</a></li>
<li><a href="#trunkSourceWebCoreModulespluginsQuickTimePluginReplacementmm">trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.mm</a></li>
<li><a href="#trunkSourceWebCoreModulespluginsYouTubePluginReplacementcpp">trunk/Source/WebCore/Modules/plugins/YouTubePluginReplacement.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulespluginsYouTubePluginReplacementh">trunk/Source/WebCore/Modules/plugins/YouTubePluginReplacement.h</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioAudioContextcpp">trunk/Source/WebCore/Modules/webaudio/AudioContext.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsCachedScriptFetchercpp">trunk/Source/WebCore/bindings/js/CachedScriptFetcher.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSFontFacecpp">trunk/Source/WebCore/css/CSSFontFace.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSFontSelectorcpp">trunk/Source/WebCore/css/CSSFontSelector.cpp</a></li>
<li><a href="#trunkSourceWebCorecssStyleBuilderConverterh">trunk/Source/WebCore/css/StyleBuilderConverter.h</a></li>
<li><a href="#trunkSourceWebCorecssStyleBuilderCustomh">trunk/Source/WebCore/css/StyleBuilderCustom.h</a></li>
<li><a href="#trunkSourceWebCorecssStyleResolvercpp">trunk/Source/WebCore/css/StyleResolver.cpp</a></li>
<li><a href="#trunkSourceWebCorecssStyleResolverh">trunk/Source/WebCore/css/StyleResolver.h</a></li>
<li><a href="#trunkSourceWebCorecssparserCSSParsercpp">trunk/Source/WebCore/css/parser/CSSParser.cpp</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="#trunkSourceWebCoredomElementcpp">trunk/Source/WebCore/dom/Element.cpp</a></li>
<li><a href="#trunkSourceWebCoredomExtensionStyleSheetscpp">trunk/Source/WebCore/dom/ExtensionStyleSheets.cpp</a></li>
<li><a href="#trunkSourceWebCoredomScriptExecutionContextcpp">trunk/Source/WebCore/dom/ScriptExecutionContext.cpp</a></li>
<li><a href="#trunkSourceWebCoredomScriptableDocumentParsercpp">trunk/Source/WebCore/dom/ScriptableDocumentParser.cpp</a></li>
<li><a href="#trunkSourceWebCoredomScriptedAnimationControllercpp">trunk/Source/WebCore/dom/ScriptedAnimationController.cpp</a></li>
<li><a href="#trunkSourceWebCoredommake_namespl">trunk/Source/WebCore/dom/make_names.pl</a></li>
<li><a href="#trunkSourceWebCoreeditingEditorcpp">trunk/Source/WebCore/editing/Editor.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingmarkupcpp">trunk/Source/WebCore/editing/markup.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlFTPDirectoryDocumentcpp">trunk/Source/WebCore/html/FTPDirectoryDocument.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLAnchorElementcpp">trunk/Source/WebCore/html/HTMLAnchorElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLAppletElementcpp">trunk/Source/WebCore/html/HTMLAppletElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLCanvasElementcpp">trunk/Source/WebCore/html/HTMLCanvasElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLFormElementcpp">trunk/Source/WebCore/html/HTMLFormElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLFrameElementBasecpp">trunk/Source/WebCore/html/HTMLFrameElementBase.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLImageElementcpp">trunk/Source/WebCore/html/HTMLImageElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLImageLoadercpp">trunk/Source/WebCore/html/HTMLImageLoader.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLInputElementcpp">trunk/Source/WebCore/html/HTMLInputElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLLinkElementcpp">trunk/Source/WebCore/html/HTMLLinkElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLMediaElementcpp">trunk/Source/WebCore/html/HTMLMediaElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLVideoElementcpp">trunk/Source/WebCore/html/HTMLVideoElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlMediaElementSessioncpp">trunk/Source/WebCore/html/MediaElementSession.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlparserHTMLParserOptionscpp">trunk/Source/WebCore/html/parser/HTMLParserOptions.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlshadowMediaControlElementscpp">trunk/Source/WebCore/html/shadow/MediaControlElements.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderLinkLoadercpp">trunk/Source/WebCore/loader/LinkLoader.cpp</a></li>
<li><a href="#trunkSourceWebCorepagecspContentSecurityPolicycpp">trunk/Source/WebCore/page/csp/ContentSecurityPolicy.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingSimpleLineLayoutcpp">trunk/Source/WebCore/rendering/SimpleLineLayout.cpp</a></li>
<li><a href="#trunkSourceWebCorestyleStyleFontSizeFunctionscpp">trunk/Source/WebCore/style/StyleFontSizeFunctions.cpp</a></li>
<li><a href="#trunkSourceWebCorestyleStyleScopecpp">trunk/Source/WebCore/style/StyleScope.cpp</a></li>
<li><a href="#trunkSourceWebCorexmlXMLHttpRequestcpp">trunk/Source/WebCore/xml/XMLHttpRequest.cpp</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/ChangeLog        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -1,3 +1,151 @@
</span><ins>+2017-02-09 Andreas Kling <akling@apple.com>
+
+ Document should always have a Settings.
+ <https://webkit.org/b/120172>
+
+ Reviewed by Antti Koivisto.
+
+ Since a Document can't move between Frames, and it's either frameless
+ or partnered with a Frame provided at construction time, we know that
+ it will never need to switch between different Settings objects either.
+
+ Give Document a Ref<Settings> that contains either the Frame's Settings
+ or a default-constructed Settings object if frameless.
+ Document::settings() is promoted to a reference getter.
+
+ The bulk of this patch is removing now-unnecessary null checks.
+
+ * Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp:
+ (WebCore::WebKitMediaKeySession::mediaKeysStorageDirectory):
+ * Modules/plugins/PluginReplacement.h:
+ (WebCore::ReplacementPlugin::isEnabledBySettings):
+ * Modules/plugins/QuickTimePluginReplacement.h:
+ * Modules/plugins/QuickTimePluginReplacement.mm:
+ (WebCore::QuickTimePluginReplacement::isEnabledBySettings):
+ * Modules/plugins/YouTubePluginReplacement.cpp:
+ (WebCore::YouTubePluginReplacement::isEnabledBySettings):
+ * Modules/plugins/YouTubePluginReplacement.h:
+ * Modules/webaudio/AudioContext.cpp:
+ (WebCore::AudioContext::constructCommon):
+ * bindings/js/CachedScriptFetcher.cpp:
+ (WebCore::CachedScriptFetcher::requestScriptWithCache):
+ * css/CSSFontFace.cpp:
+ (WebCore::CSSFontFace::appendSources):
+ (WebCore::CSSFontFace::webFontsShouldAlwaysFallBack):
+ * css/CSSFontSelector.cpp:
+ (WebCore::CSSFontSelector::fallbackFontCount):
+ (WebCore::CSSFontSelector::fallbackFontAt):
+ * css/StyleBuilderConverter.h:
+ (WebCore::StyleBuilderConverter::convertResize):
+ * css/StyleBuilderCustom.h:
+ (WebCore::StyleBuilderCustom::applyValueFontFamily):
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::StyleResolver):
+ (WebCore::StyleResolver::defaultStyleForElement):
+ (WebCore::StyleResolver::adjustRenderStyle):
+ (WebCore::StyleResolver::checkForGenericFamilyChange):
+ (WebCore::StyleResolver::initializeFontStyle):
+ * css/StyleResolver.h:
+ (WebCore::StyleResolver::settings):
+ (WebCore::StyleResolver::documentSettings): Deleted.
+ * css/parser/CSSParser.cpp:
+ (WebCore::CSSParserContext::CSSParserContext):
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ (WebCore::Document::setReadyState):
+ (WebCore::Document::setVisualUpdatesAllowed):
+ (WebCore::Document::defaultCharsetForLegacyBindings):
+ (WebCore::Document::recalcStyle):
+ (WebCore::Document::implicitClose):
+ (WebCore::Document::minimumLayoutDelay):
+ (WebCore::Document::setDomain):
+ (WebCore::Document::audioPlaybackRequiresUserGesture):
+ (WebCore::Document::videoPlaybackRequiresUserGesture):
+ (WebCore::Document::storageBlockingStateDidChange):
+ (WebCore::Document::isTelephoneNumberParsingEnabled):
+ (WebCore::Document::initSecurityContext):
+ (WebCore::Document::initDNSPrefetch):
+ (WebCore::Document::getCachedLocale):
+ (WebCore::Document::shouldEnforceContentDispositionAttachmentSandbox):
+ (WebCore::Document::settings): Deleted.
+ * dom/Document.h:
+ (WebCore::Document::settings):
+ * dom/Element.cpp:
+ (WebCore::subpixelMetricsEnabled):
+ * dom/ExtensionStyleSheets.cpp:
+ (WebCore::ExtensionStyleSheets::pageUserSheet):
+ * dom/ScriptExecutionContext.cpp:
+ (WebCore::ScriptExecutionContext::dispatchErrorEvent):
+ * dom/ScriptableDocumentParser.cpp:
+ (WebCore::ScriptableDocumentParser::ScriptableDocumentParser):
+ * dom/ScriptedAnimationController.cpp:
+ (WebCore::ScriptedAnimationController::requestAnimationFrameEnabled):
+ * dom/make_names.pl:
+ (printConstructorInterior):
+ * editing/Editor.cpp:
+ * editing/markup.cpp:
+ (WebCore::createMarkupInternal):
+ * html/FTPDirectoryDocument.cpp:
+ (WebCore::createTemplateDocumentData):
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::HTMLAnchorElement::setActive):
+ (WebCore::HTMLAnchorElement::sendPings):
+ (WebCore::HTMLAnchorElement::treatLinkAsLiveForEventType):
+ * html/HTMLAppletElement.cpp:
+ (WebCore::HTMLAppletElement::canEmbedJava):
+ * html/HTMLCanvasElement.cpp:
+ (WebCore::HTMLCanvasElement::getContext2d):
+ (WebCore::shouldEnableWebGL):
+ (WebCore::HTMLCanvasElement::shouldAccelerate):
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::submitImplicitly):
+ * html/HTMLFrameElementBase.cpp:
+ (WebCore::HTMLFrameElementBase::setLocation):
+ * html/HTMLImageElement.cpp:
+ (WebCore::HTMLImageElement::updateImageControls):
+ * html/HTMLImageLoader.cpp:
+ (WebCore::HTMLImageLoader::sourceURI):
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::setupDateTimeChooserParameters):
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::process):
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::HTMLMediaElement):
+ (WebCore::HTMLMediaElement::mediaPlayerMediaKeysStorageDirectory):
+ (WebCore::HTMLMediaElement::mediaPlayerAcceleratedCompositingEnabled):
+ (WebCore::HTMLMediaElement::enterFullscreen):
+ (WebCore::HTMLMediaElement::exitFullscreen):
+ (WebCore::HTMLMediaElement::mediaPlayerNeedsSiteSpecificHacks):
+ (WebCore::HTMLMediaElement::mediaPlayerNetworkInterfaceName):
+ (WebCore::HTMLMediaElement::setMediaControlsDependOnPageScaleFactor):
+ (WebCore::HTMLMediaElement::doesHaveAttribute):
+ * html/HTMLVideoElement.cpp:
+ (WebCore::HTMLVideoElement::HTMLVideoElement):
+ * html/MediaElementSession.cpp:
+ (WebCore::MediaElementSession::wirelessVideoPlaybackDisabled):
+ (WebCore::MediaElementSession::requiresFullscreenForVideoPlayback):
+ (WebCore::MediaElementSession::allowsAutomaticMediaDataLoading):
+ (WebCore::MediaElementSession::allowsPictureInPicture):
+ (WebCore::MediaElementSession::maximumMediaSourceBufferSize):
+ * html/parser/HTMLParserOptions.cpp:
+ (WebCore::HTMLParserOptions::HTMLParserOptions):
+ * html/shadow/MediaControlElements.cpp:
+ (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
+ * loader/LinkLoader.cpp:
+ (WebCore::LinkLoader::loadLink):
+ * page/csp/ContentSecurityPolicy.cpp:
+ (WebCore::ContentSecurityPolicy::allowContentSecurityPolicySourceStarToMatchAnyProtocol):
+ * rendering/SimpleLineLayout.cpp:
+ (WebCore::SimpleLineLayout::toggleSimpleLineLayout):
+ * style/StyleFontSizeFunctions.cpp:
+ (WebCore::Style::computedFontSizeFromSpecifiedSize):
+ (WebCore::Style::fontSizeForKeyword):
+ (WebCore::Style::legacyFontSizeForPixelSize):
+ * style/StyleScope.cpp:
+ (WebCore::Style::Scope::collectActiveStyleSheets):
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::usesDashboardBackwardCompatibilityMode):
+
</ins><span class="cx"> 2017-02-09 Antti Koivisto <antti@apple.com>
</span><span class="cx">
</span><span class="cx"> Use all cacheable speculatively loaded responses
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesencryptedmedialegacyWebKitMediaKeySessioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -223,11 +223,7 @@
</span><span class="cx"> if (!document)
</span><span class="cx"> return emptyString();
</span><span class="cx">
</span><del>- auto* settings = document->settings();
- if (!settings)
- return emptyString();
-
- auto storageDirectory = settings->mediaKeysStorageDirectory();
</del><ins>+ auto storageDirectory = document->settings().mediaKeysStorageDirectory();
</ins><span class="cx"> if (storageDirectory.isEmpty())
</span><span class="cx"> return emptyString();
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreModulespluginsPluginReplacementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/plugins/PluginReplacement.h (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/plugins/PluginReplacement.h        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/Modules/plugins/PluginReplacement.h        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -57,7 +57,7 @@
</span><span class="cx"> typedef bool (*PluginReplacementSupportsType)(const String&);
</span><span class="cx"> typedef bool (*PluginReplacementSupportsFileExtension)(const String&);
</span><span class="cx"> typedef bool (*PluginReplacementSupportsURL)(const URL&);
</span><del>-typedef bool (*PluginReplacementEnabledForSettings)(const Settings*);
</del><ins>+typedef bool (*PluginReplacementEnabledForSettings)(const Settings&);
</ins><span class="cx">
</span><span class="cx"> class ReplacementPlugin {
</span><span class="cx"> public:
</span><span class="lines">@@ -83,7 +83,7 @@
</span><span class="cx"> bool supportsType(const String& mimeType) const { return m_supportsType(mimeType); }
</span><span class="cx"> bool supportsFileExtension(const String& extension) const { return m_supportsFileExtension(extension); }
</span><span class="cx"> bool supportsURL(const URL& url) const { return m_supportsURL(url); }
</span><del>- bool isEnabledBySettings(const Settings* settings) const { return m_isEnabledBySettings(settings); };
</del><ins>+ bool isEnabledBySettings(const Settings& settings) const { return m_isEnabledBySettings(settings); };
</ins><span class="cx">
</span><span class="cx"> private:
</span><span class="cx"> CreatePluginReplacement m_constructor;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulespluginsQuickTimePluginReplacementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.h (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.h        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.h        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -49,7 +49,7 @@
</span><span class="cx"> static bool supportsMimeType(const String&);
</span><span class="cx"> static bool supportsFileExtension(const String&);
</span><span class="cx"> static bool supportsURL(const URL&) { return true; }
</span><del>- static bool isEnabledBySettings(const Settings*);
</del><ins>+ static bool isEnabledBySettings(const Settings&);
</ins><span class="cx">
</span><span class="cx"> bool installReplacement(ShadowRoot&) final;
</span><span class="cx"> JSC::JSObject* scriptObject() final { return m_scriptObject; }
</span></span></pre></div>
<a id="trunkSourceWebCoreModulespluginsQuickTimePluginReplacementmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.mm (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.mm        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/Modules/plugins/QuickTimePluginReplacement.mm        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -115,9 +115,9 @@
</span><span class="cx"> return extensionSet.get().contains(extension);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool QuickTimePluginReplacement::isEnabledBySettings(const Settings* settings)
</del><ins>+bool QuickTimePluginReplacement::isEnabledBySettings(const Settings& settings)
</ins><span class="cx"> {
</span><del>- return settings->quickTimePluginReplacementEnabled();
</del><ins>+ return settings.quickTimePluginReplacementEnabled();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> QuickTimePluginReplacement::QuickTimePluginReplacement(HTMLPlugInElement& plugin, const Vector<String>& paramNames, const Vector<String>& paramValues)
</span></span></pre></div>
<a id="trunkSourceWebCoreModulespluginsYouTubePluginReplacementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/plugins/YouTubePluginReplacement.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/plugins/YouTubePluginReplacement.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/Modules/plugins/YouTubePluginReplacement.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -346,9 +346,9 @@
</span><span class="cx"> return isYouTubeURL(url);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool YouTubePluginReplacement::isEnabledBySettings(const Settings* settings)
</del><ins>+bool YouTubePluginReplacement::isEnabledBySettings(const Settings& settings)
</ins><span class="cx"> {
</span><del>- return settings->youTubeFlashPluginReplacementEnabled();
</del><ins>+ return settings.youTubeFlashPluginReplacementEnabled();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreModulespluginsYouTubePluginReplacementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/plugins/YouTubePluginReplacement.h (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/plugins/YouTubePluginReplacement.h        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/Modules/plugins/YouTubePluginReplacement.h        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx"> static bool supportsMimeType(const String&);
</span><span class="cx"> static bool supportsFileExtension(const String&);
</span><span class="cx"> static bool supportsURL(const URL&);
</span><del>- static bool isEnabledBySettings(const Settings*);
</del><ins>+ static bool isEnabledBySettings(const Settings&);
</ins><span class="cx">
</span><span class="cx"> bool installReplacement(ShadowRoot&) final;
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioAudioContextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/AudioContext.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/AudioContext.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/Modules/webaudio/AudioContext.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -172,7 +172,7 @@
</span><span class="cx"> m_listener = AudioListener::create();
</span><span class="cx">
</span><span class="cx"> #if PLATFORM(IOS)
</span><del>- if (!document()->settings() || document()->settings()->audioPlaybackRequiresUserGesture())
</del><ins>+ if (document()->settings().audioPlaybackRequiresUserGesture())
</ins><span class="cx"> addBehaviorRestriction(RequireUserGestureForAudioStartRestriction);
</span><span class="cx"> else
</span><span class="cx"> m_restrictions = NoRestrictions;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsCachedScriptFetchercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/CachedScriptFetcher.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/CachedScriptFetcher.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/bindings/js/CachedScriptFetcher.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -46,8 +46,7 @@
</span><span class="cx">
</span><span class="cx"> CachedResourceHandle<CachedScript> CachedScriptFetcher::requestScriptWithCache(Document& document, const URL& sourceURL, const String& crossOriginMode) const
</span><span class="cx"> {
</span><del>- auto* settings = document.settings();
- if (settings && !settings->isScriptEnabled())
</del><ins>+ if (!document.settings().isScriptEnabled())
</ins><span class="cx"> return nullptr;
</span><span class="cx">
</span><span class="cx"> ASSERT(document.contentSecurityPolicy());
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSFontFacecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSFontFace.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSFontFace.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/css/CSSFontFace.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -73,7 +73,7 @@
</span><span class="cx"> fontFaceElement = item.svgFontFaceElement();
</span><span class="cx"> #endif
</span><span class="cx"> if (!item.isLocal()) {
</span><del>- Settings* settings = document ? document->settings() : nullptr;
</del><ins>+ Settings* settings = document ? &document->settings() : nullptr;
</ins><span class="cx"> bool allowDownloading = foundSVGFont || (settings && settings->downloadableBinaryFontsEnabled());
</span><span class="cx"> if (allowDownloading && item.isSupportedFormat() && document) {
</span><span class="cx"> if (CachedFont* cachedFont = item.cachedFont(document, foundSVGFont, isInitiatingElementInUserAgentShadowTree))
</span><span class="lines">@@ -517,7 +517,7 @@
</span><span class="cx">
</span><span class="cx"> bool CSSFontFace::webFontsShouldAlwaysFallBack() const
</span><span class="cx"> {
</span><del>- return m_fontSelector && m_fontSelector->document() && m_fontSelector->document()->settings() && m_fontSelector->document()->settings()->webFontsAlwaysFallBack();
</del><ins>+ return m_fontSelector && m_fontSelector->document() && m_fontSelector->document()->settings().webFontsAlwaysFallBack();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> size_t CSSFontFace::pump()
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSFontSelectorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSFontSelector.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSFontSelector.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/css/CSSFontSelector.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -369,10 +369,7 @@
</span><span class="cx"> if (!m_document)
</span><span class="cx"> return 0;
</span><span class="cx">
</span><del>- if (Settings* settings = m_document->settings())
- return settings->fontFallbackPrefersPictographs() ? 1 : 0;
-
- return 0;
</del><ins>+ return m_document->settings().fontFallbackPrefersPictographs() ? 1 : 0;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> RefPtr<Font> CSSFontSelector::fallbackFontAt(const FontDescription& fontDescription, size_t index)
</span><span class="lines">@@ -382,11 +379,10 @@
</span><span class="cx"> if (!m_document)
</span><span class="cx"> return nullptr;
</span><span class="cx">
</span><del>- Settings* settings = m_document->settings();
- if (!settings || !settings->fontFallbackPrefersPictographs())
</del><ins>+ if (!m_document->settings().fontFallbackPrefersPictographs())
</ins><span class="cx"> return nullptr;
</span><span class="cx">
</span><del>- return FontCache::singleton().fontForFamily(fontDescription, settings->pictographFontFamily());
</del><ins>+ return FontCache::singleton().fontForFamily(fontDescription, m_document->settings().pictographFontFamily());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorecssStyleBuilderConverterh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/StyleBuilderConverter.h (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/StyleBuilderConverter.h        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/css/StyleBuilderConverter.h        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -558,10 +558,9 @@
</span><span class="cx"> auto& primitiveValue = downcast<CSSPrimitiveValue>(value);
</span><span class="cx">
</span><span class="cx"> EResize resize = RESIZE_NONE;
</span><del>- if (primitiveValue.valueID() == CSSValueAuto) {
- if (Settings* settings = styleResolver.document().settings())
- resize = settings->textAreasAreResizable() ? RESIZE_BOTH : RESIZE_NONE;
- } else
</del><ins>+ if (primitiveValue.valueID() == CSSValueAuto)
+ resize = styleResolver.settings().textAreasAreResizable() ? RESIZE_BOTH : RESIZE_NONE;
+ else
</ins><span class="cx"> resize = primitiveValue;
</span><span class="cx">
</span><span class="cx"> return resize;
</span></span></pre></div>
<a id="trunkSourceWebCorecssStyleBuilderCustomh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/StyleBuilderCustom.h (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/StyleBuilderCustom.h        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/css/StyleBuilderCustom.h        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -878,8 +878,7 @@
</span><span class="cx"> } else {
</span><span class="cx"> switch (contentValue.valueID()) {
</span><span class="cx"> case CSSValueWebkitBody:
</span><del>- if (Settings* settings = styleResolver.document().settings())
- family = settings->standardFontFamily();
</del><ins>+ family = styleResolver.settings().standardFontFamily();
</ins><span class="cx"> break;
</span><span class="cx"> case CSSValueSerif:
</span><span class="cx"> family = serifFamily;
</span></span></pre></div>
<a id="trunkSourceWebCorecssStyleResolvercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/StyleResolver.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/StyleResolver.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/css/StyleResolver.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -232,7 +232,7 @@
</span><span class="cx"> : m_matchedPropertiesCacheAdditionsSinceLastSweep(0)
</span><span class="cx"> , m_matchedPropertiesCacheSweepTimer(*this, &StyleResolver::sweepMatchedPropertiesCache)
</span><span class="cx"> , m_document(document)
</span><del>- , m_matchAuthorAndUserStyles(m_document.settings() ? m_document.settings()->authorAndUserStylesEnabled() : true)
</del><ins>+ , m_matchAuthorAndUserStyles(m_document.settings().authorAndUserStylesEnabled())
</ins><span class="cx"> #if ENABLE(CSS_DEVICE_ADAPTATION)
</span><span class="cx"> , m_viewportStyleResolver(ViewportStyleResolver::create(&document))
</span><span class="cx"> #endif
</span><span class="lines">@@ -682,12 +682,8 @@
</span><span class="cx"> {
</span><span class="cx"> m_state.setStyle(RenderStyle::createPtr());
</span><span class="cx"> // Make sure our fonts are initialized if we don't inherit them from our parent style.
</span><del>- initializeFontStyle(documentSettings());
- if (documentSettings())
- m_state.style()->fontCascade().update(&document().fontSelector());
- else
- m_state.style()->fontCascade().update(nullptr);
-
</del><ins>+ initializeFontStyle();
+ m_state.style()->fontCascade().update(&document().fontSelector());
</ins><span class="cx"> return m_state.takeStyle();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -921,7 +917,7 @@
</span><span class="cx"> || style.hasBlendMode()
</span><span class="cx"> || style.hasIsolation()
</span><span class="cx"> || style.position() == StickyPosition
</span><del>- || (style.position() == FixedPosition && documentSettings() && documentSettings()->fixedPositionCreatesStackingContext())
</del><ins>+ || (style.position() == FixedPosition && settings().fixedPositionCreatesStackingContext())
</ins><span class="cx"> || style.hasFlowFrom()
</span><span class="cx"> || style.willChangeCreatesStackingContext())
</span><span class="cx"> style.setZIndex(0);
</span><span class="lines">@@ -1742,9 +1738,8 @@
</span><span class="cx"> if (CSSValueID sizeIdentifier = childFont.keywordSizeAsIdentifier())
</span><span class="cx"> size = Style::fontSizeForKeyword(sizeIdentifier, childFont.useFixedDefaultSize(), document());
</span><span class="cx"> else {
</span><del>- Settings* settings = documentSettings();
- float fixedScaleFactor = (settings && settings->defaultFixedFontSize() && settings->defaultFontSize())
- ? static_cast<float>(settings->defaultFixedFontSize()) / settings->defaultFontSize()
</del><ins>+ float fixedScaleFactor = (settings().defaultFixedFontSize() && settings().defaultFontSize())
+ ? static_cast<float>(settings().defaultFixedFontSize()) / settings().defaultFontSize()
</ins><span class="cx"> : 1;
</span><span class="cx"> size = parentFont.useFixedDefaultSize() ?
</span><span class="cx"> childFont.specifiedSize() / fixedScaleFactor :
</span><span class="lines">@@ -1756,11 +1751,10 @@
</span><span class="cx"> style->setFontDescription(newFontDescription);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void StyleResolver::initializeFontStyle(Settings* settings)
</del><ins>+void StyleResolver::initializeFontStyle()
</ins><span class="cx"> {
</span><span class="cx"> FontCascadeDescription fontDescription;
</span><del>- if (settings)
- fontDescription.setRenderingMode(settings->fontRenderingMode());
</del><ins>+ fontDescription.setRenderingMode(settings().fontRenderingMode());
</ins><span class="cx"> fontDescription.setOneFamily(standardFamily);
</span><span class="cx"> fontDescription.setKeywordSizeFromIdentifier(CSSValueMedium);
</span><span class="cx"> setFontSize(fontDescription, Style::fontSizeForKeyword(CSSValueMedium, false, document()));
</span></span></pre></div>
<a id="trunkSourceWebCorecssStyleResolverh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/StyleResolver.h (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/StyleResolver.h        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/css/StyleResolver.h        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -150,7 +150,7 @@
</span><span class="cx"> const Element* element() { return m_state.element(); }
</span><span class="cx"> Document& document() { return m_document; }
</span><span class="cx"> const Document& document() const { return m_document; }
</span><del>- Settings* documentSettings() { return m_document.settings(); }
</del><ins>+ Settings& settings() { return m_document.settings(); }
</ins><span class="cx">
</span><span class="cx"> void appendAuthorStyleSheets(const Vector<RefPtr<CSSStyleSheet>>&);
</span><span class="cx">
</span><span class="lines">@@ -184,7 +184,7 @@
</span><span class="cx"> void applyPropertyToCurrentStyle(CSSPropertyID, CSSValue*);
</span><span class="cx">
</span><span class="cx"> void updateFont();
</span><del>- void initializeFontStyle(Settings*);
</del><ins>+ void initializeFontStyle();
</ins><span class="cx">
</span><span class="cx"> void setFontSize(FontCascadeDescription&, float size);
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorecssparserCSSParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/parser/CSSParser.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/parser/CSSParser.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/css/parser/CSSParser.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -84,16 +84,14 @@
</span><span class="cx"> , cssGridLayoutEnabled(document.isCSSGridLayoutEnabled())
</span><span class="cx"> #endif
</span><span class="cx"> {
</span><del>- if (Settings* settings = document.settings()) {
- needsSiteSpecificQuirks = settings->needsSiteSpecificQuirks();
- enforcesCSSMIMETypeInNoQuirksMode = settings->enforceCSSMIMETypeInNoQuirksMode();
- useLegacyBackgroundSizeShorthandBehavior = settings->useLegacyBackgroundSizeShorthandBehavior();
</del><ins>+ needsSiteSpecificQuirks = document.settings().needsSiteSpecificQuirks();
+ enforcesCSSMIMETypeInNoQuirksMode = document.settings().enforceCSSMIMETypeInNoQuirksMode();
+ useLegacyBackgroundSizeShorthandBehavior = document.settings().useLegacyBackgroundSizeShorthandBehavior();
</ins><span class="cx"> #if ENABLE(TEXT_AUTOSIZING)
</span><del>- textAutosizingEnabled = settings->textAutosizingEnabled();
</del><ins>+ textAutosizingEnabled = document.settings().textAutosizingEnabled();
</ins><span class="cx"> #endif
</span><del>- springTimingFunctionEnabled = settings->springTimingFunctionEnabled();
- deferredCSSParserEnabled = settings->deferredCSSParserEnabled();
- }
</del><ins>+ springTimingFunctionEnabled = document.settings().springTimingFunctionEnabled();
+ deferredCSSParserEnabled = document.settings().deferredCSSParserEnabled();
</ins><span class="cx">
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx"> // FIXME: Force the site specific quirk below to work on iOS. Investigating other site specific quirks
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/dom/Document.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -440,6 +440,7 @@
</span><span class="cx"> , m_touchEventsChangedTimer(*this, &Document::touchEventsChangedTimerFired)
</span><span class="cx"> #endif
</span><span class="cx"> , m_referencingNodeCount(0)
</span><ins>+ , m_settings(frame ? Ref<Settings>(frame->settings()) : Settings::create(nullptr))
</ins><span class="cx"> , m_hasNodesWithPlaceholderStyle(false)
</span><span class="cx"> , m_needsNotifyRemoveAllPendingStylesheet(false)
</span><span class="cx"> , m_ignorePendingStylesheets(false)
</span><span class="lines">@@ -1235,13 +1236,13 @@
</span><span class="cx"> m_readyState = readyState;
</span><span class="cx"> dispatchEvent(Event::create(eventNames().readystatechangeEvent, false, false));
</span><span class="cx">
</span><del>- if (settings() && settings()->suppressesIncrementalRendering())
</del><ins>+ if (settings().suppressesIncrementalRendering())
</ins><span class="cx"> setVisualUpdatesAllowed(readyState);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void Document::setVisualUpdatesAllowed(ReadyState readyState)
</span><span class="cx"> {
</span><del>- ASSERT(settings() && settings()->suppressesIncrementalRendering());
</del><ins>+ ASSERT(settings().suppressesIncrementalRendering());
</ins><span class="cx"> switch (readyState) {
</span><span class="cx"> case Loading:
</span><span class="cx"> ASSERT(!m_visualUpdatesSuppressionTimer.isActive());
</span><span class="lines">@@ -1275,7 +1276,7 @@
</span><span class="cx"> if (visualUpdatesAllowed)
</span><span class="cx"> m_visualUpdatesSuppressionTimer.stop();
</span><span class="cx"> else
</span><del>- m_visualUpdatesSuppressionTimer.startOneShot(settings()->incrementalRenderingSuppressionTimeoutInSeconds());
</del><ins>+ m_visualUpdatesSuppressionTimer.startOneShot(settings().incrementalRenderingSuppressionTimeoutInSeconds());
</ins><span class="cx">
</span><span class="cx"> if (!visualUpdatesAllowed)
</span><span class="cx"> return;
</span><span class="lines">@@ -1334,9 +1335,9 @@
</span><span class="cx">
</span><span class="cx"> String Document::defaultCharsetForLegacyBindings() const
</span><span class="cx"> {
</span><del>- if (Settings* settings = this->settings())
- return settings->defaultTextEncodingName();
- return UTF8Encoding().domName();
</del><ins>+ if (!frame())
+ UTF8Encoding().domName();
+ return settings().defaultTextEncodingName();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void Document::setCharset(const String& charset)
</span><span class="lines">@@ -1699,11 +1700,6 @@
</span><span class="cx"> return m_frame ? m_frame->page() : nullptr;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-Settings* Document::settings() const
-{
- return m_frame ? &m_frame->settings() : nullptr;
-}
-
</del><span class="cx"> Ref<Range> Document::createRange()
</span><span class="cx"> {
</span><span class="cx"> return Range::create(*this);
</span><span class="lines">@@ -1811,10 +1807,8 @@
</span><span class="cx">
</span><span class="cx"> // Inserting the pictograph font at the end of the font fallback list is done by the
</span><span class="cx"> // font selector, so set a font selector if needed.
</span><del>- if (Settings* settings = this->settings()) {
- if (settings->fontFallbackPrefersPictographs())
- documentStyle.fontCascade().update(&fontSelector());
- }
</del><ins>+ if (settings().fontFallbackPrefersPictographs())
+ documentStyle.fontCascade().update(&fontSelector());
</ins><span class="cx">
</span><span class="cx"> auto documentChange = Style::determineChange(documentStyle, m_renderView->style());
</span><span class="cx"> if (documentChange != Style::NoChange)
</span><span class="lines">@@ -2704,7 +2698,7 @@
</span><span class="cx"> // fires. This will improve onload scores, and other browsers do it.
</span><span class="cx"> // If they wanna cheat, we can too. -dwh
</span><span class="cx">
</span><del>- if (frame()->navigationScheduler().locationChangePending() && timeSinceDocumentCreation() < settings()->layoutInterval()) {
</del><ins>+ if (frame()->navigationScheduler().locationChangePending() && timeSinceDocumentCreation() < settings().layoutInterval()) {
</ins><span class="cx"> // Just bail out. Before or during the onload we were shifted to another page.
</span><span class="cx"> // The old i-Bench suite does this. When this happens don't bother painting or laying out.
</span><span class="cx"> m_processingLoadEvent = false;
</span><span class="lines">@@ -2787,10 +2781,10 @@
</span><span class="cx"> return 0_s;
</span><span class="cx">
</span><span class="cx"> auto elapsed = timeSinceDocumentCreation();
</span><del>- m_overMinimumLayoutThreshold = elapsed > settings()->layoutInterval();
</del><ins>+ m_overMinimumLayoutThreshold = elapsed > settings().layoutInterval();
</ins><span class="cx">
</span><span class="cx"> // We'll want to schedule the timer to fire at the minimum layout threshold.
</span><del>- return std::max(0_s, settings()->layoutInterval() - elapsed);
</del><ins>+ return std::max(0_s, settings().layoutInterval() - elapsed);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> Seconds Document::timeSinceDocumentCreation() const
</span><span class="lines">@@ -4332,7 +4326,7 @@
</span><span class="cx"> if (newLength >= oldLength)
</span><span class="cx"> return Exception { SECURITY_ERR };
</span><span class="cx">
</span><del>- auto ipAddressSetting = settings() && settings()->treatIPAddressAsDomain() ? OriginAccessEntry::TreatIPAddressAsDomain : OriginAccessEntry::TreatIPAddressAsIPAddress;
</del><ins>+ auto ipAddressSetting = settings().treatIPAddressAsDomain() ? OriginAccessEntry::TreatIPAddressAsDomain : OriginAccessEntry::TreatIPAddressAsIPAddress;
</ins><span class="cx"> OriginAccessEntry accessEntry { securityOrigin().protocol(), newDomain, OriginAccessEntry::AllowSubdomains, ipAddressSetting };
</span><span class="cx"> if (!accessEntry.matchesOrigin(securityOrigin()))
</span><span class="cx"> return Exception { SECURITY_ERR };
</span><span class="lines">@@ -4674,8 +4668,7 @@
</span><span class="cx"> return policy == AutoplayPolicy::AllowWithoutSound || policy == AutoplayPolicy::Deny;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- Settings* settings = this->settings();
- return settings && settings->audioPlaybackRequiresUserGesture();
</del><ins>+ return settings().audioPlaybackRequiresUserGesture();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool Document::videoPlaybackRequiresUserGesture() const
</span><span class="lines">@@ -4687,14 +4680,12 @@
</span><span class="cx"> return policy == AutoplayPolicy::Deny;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- Settings* settings = this->settings();
- return settings && settings->videoPlaybackRequiresUserGesture();
</del><ins>+ return settings().videoPlaybackRequiresUserGesture();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void Document::storageBlockingStateDidChange()
</span><span class="cx"> {
</span><del>- if (Settings* settings = this->settings())
- securityOrigin().setStorageBlockingPolicy(settings->storageBlockingPolicy());
</del><ins>+ securityOrigin().setStorageBlockingPolicy(settings().storageBlockingPolicy());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void Document::privateBrowsingStateDidChange()
</span><span class="lines">@@ -5078,8 +5069,7 @@
</span><span class="cx">
</span><span class="cx"> bool Document::isTelephoneNumberParsingEnabled() const
</span><span class="cx"> {
</span><del>- Settings* settings = this->settings();
- return settings && settings->telephoneNumberParsingEnabled() && m_isTelephoneNumberParsingAllowed;
</del><ins>+ return settings().telephoneNumberParsingEnabled() && m_isTelephoneNumberParsingAllowed;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void Document::setIsTelephoneNumberParsingAllowed(bool isTelephoneNumberParsingAllowed)
</span><span class="lines">@@ -5171,26 +5161,24 @@
</span><span class="cx"> enforceSandboxFlags(SandboxScripts | SandboxPlugins);
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (Settings* settings = this->settings()) {
- if (settings->needsStorageAccessFromFileURLsQuirk())
- securityOrigin().grantStorageAccessFromFileURLsQuirk();
- if (!settings->webSecurityEnabled()) {
- // Web security is turned off. We should let this document access every other document. This is used primary by testing
- // harnesses for web sites.
</del><ins>+ if (settings().needsStorageAccessFromFileURLsQuirk())
+ securityOrigin().grantStorageAccessFromFileURLsQuirk();
+ if (!settings().webSecurityEnabled()) {
+ // Web security is turned off. We should let this document access every other document. This is used primary by testing
+ // harnesses for web sites.
+ securityOrigin().grantUniversalAccess();
+ } else if (securityOrigin().isLocal()) {
+ if (settings().allowUniversalAccessFromFileURLs() || m_frame->loader().client().shouldForceUniversalAccessFromLocalURL(m_url)) {
+ // Some clients want local URLs to have universal access, but that setting is dangerous for other clients.
</ins><span class="cx"> securityOrigin().grantUniversalAccess();
</span><del>- } else if (securityOrigin().isLocal()) {
- if (settings->allowUniversalAccessFromFileURLs() || m_frame->loader().client().shouldForceUniversalAccessFromLocalURL(m_url)) {
- // Some clients want local URLs to have universal access, but that setting is dangerous for other clients.
- securityOrigin().grantUniversalAccess();
- } else if (!settings->allowFileAccessFromFileURLs()) {
- // Some clients want local URLs to have even tighter restrictions by default, and not be able to access other local files.
- // FIXME 81578: The naming of this is confusing. Files with restricted access to other local files
- // still can have other privileges that can be remembered, thereby not making them unique origins.
- securityOrigin().enforceFilePathSeparation();
- }
</del><ins>+ } else if (!settings().allowFileAccessFromFileURLs()) {
+ // Some clients want local URLs to have even tighter restrictions by default, and not be able to access other local files.
+ // FIXME 81578: The naming of this is confusing. Files with restricted access to other local files
+ // still can have other privileges that can be remembered, thereby not making them unique origins.
+ securityOrigin().enforceFilePathSeparation();
</ins><span class="cx"> }
</span><del>- securityOrigin().setStorageBlockingPolicy(settings->storageBlockingPolicy());
</del><span class="cx"> }
</span><ins>+ securityOrigin().setStorageBlockingPolicy(settings().storageBlockingPolicy());
</ins><span class="cx">
</span><span class="cx"> Document* parentDocument = ownerElement() ? &ownerElement()->document() : nullptr;
</span><span class="cx"> if (parentDocument && m_frame->loader().shouldTreatURLAsSrcdocDocument(url())) {
</span><span class="lines">@@ -5369,10 +5357,8 @@
</span><span class="cx">
</span><span class="cx"> void Document::initDNSPrefetch()
</span><span class="cx"> {
</span><del>- Settings* settings = this->settings();
-
</del><span class="cx"> m_haveExplicitlyDisabledDNSPrefetch = false;
</span><del>- m_isDNSPrefetchEnabled = settings && settings->dnsPrefetchingEnabled() && securityOrigin().protocol() == "http";
</del><ins>+ m_isDNSPrefetchEnabled = settings().dnsPrefetchingEnabled() && securityOrigin().protocol() == "http";
</ins><span class="cx">
</span><span class="cx"> // Inherit DNS prefetch opt-out from parent frame
</span><span class="cx"> if (Document* parent = parentDocument()) {
</span><span class="lines">@@ -6623,7 +6609,7 @@
</span><span class="cx"> Locale& Document::getCachedLocale(const AtomicString& locale)
</span><span class="cx"> {
</span><span class="cx"> AtomicString localeKey = locale;
</span><del>- if (locale.isEmpty() || !settings() || !settings()->langAttributeAwareFormControlUIEnabled())
</del><ins>+ if (locale.isEmpty() || !settings().langAttributeAwareFormControlUIEnabled())
</ins><span class="cx"> localeKey = defaultLanguage();
</span><span class="cx"> LocaleIdentifierToLocaleMap::AddResult result = m_localeCache.add(localeKey, nullptr);
</span><span class="cx"> if (result.isNewEntry)
</span><span class="lines">@@ -6917,7 +6903,7 @@
</span><span class="cx"> if (m_isSynthesized)
</span><span class="cx"> return false;
</span><span class="cx">
</span><del>- bool contentDispositionAttachmentSandboxEnabled = settings() && settings()->contentDispositionAttachmentSandboxEnabled();
</del><ins>+ bool contentDispositionAttachmentSandboxEnabled = settings().contentDispositionAttachmentSandboxEnabled();
</ins><span class="cx"> bool responseIsAttachment = false;
</span><span class="cx"> if (DocumentLoader* documentLoader = m_frame ? m_frame->loader().activeDocumentLoader() : nullptr)
</span><span class="cx"> responseIsAttachment = documentLoader->response().isAttachment();
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.h (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.h        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/dom/Document.h        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -510,7 +510,7 @@
</span><span class="cx">
</span><span class="cx"> WEBCORE_EXPORT FrameView* view() const; // can be NULL
</span><span class="cx"> WEBCORE_EXPORT Page* page() const; // can be NULL
</span><del>- WEBCORE_EXPORT Settings* settings() const; // can be NULL
</del><ins>+ Settings& settings() const { return m_settings.get(); }
</ins><span class="cx">
</span><span class="cx"> float deviceScaleFactor() const;
</span><span class="cx">
</span><span class="lines">@@ -1383,6 +1383,8 @@
</span><span class="cx">
</span><span class="cx"> unsigned m_referencingNodeCount;
</span><span class="cx">
</span><ins>+ const Ref<Settings> m_settings;
+
</ins><span class="cx"> std::unique_ptr<StyleResolver> m_userAgentShadowTreeStyleResolver;
</span><span class="cx"> bool m_hasNodesWithPlaceholderStyle;
</span><span class="cx"> bool m_needsNotifyRemoveAllPendingStylesheet;
</span></span></pre></div>
<a id="trunkSourceWebCoredomElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Element.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Element.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/dom/Element.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -795,7 +795,7 @@
</span><span class="cx">
</span><span class="cx"> static bool subpixelMetricsEnabled(const Document& document)
</span><span class="cx"> {
</span><del>- return document.settings() && document.settings()->subpixelCSSOMElementMetricsEnabled();
</del><ins>+ return document.settings().subpixelCSSOMElementMetricsEnabled();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static double convertToNonSubpixelValueIfNeeded(double value, const Document& document, LegacyCSSOMElementMetricsRoundingStrategy roundStrategy = Round)
</span></span></pre></div>
<a id="trunkSourceWebCoredomExtensionStyleSheetscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ExtensionStyleSheets.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ExtensionStyleSheets.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/dom/ExtensionStyleSheets.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -79,7 +79,7 @@
</span><span class="cx"> if (userSheetText.isEmpty())
</span><span class="cx"> return 0;
</span><span class="cx">
</span><del>- m_pageUserSheet = createExtensionsStyleSheet(m_document, m_document.settings()->userStyleSheetLocation(), userSheetText, UserStyleUserLevel);
</del><ins>+ m_pageUserSheet = createExtensionsStyleSheet(m_document, m_document.settings().userStyleSheetLocation(), userSheetText, UserStyleUserLevel);
</ins><span class="cx">
</span><span class="cx"> return m_pageUserSheet.get();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoredomScriptExecutionContextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ScriptExecutionContext.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ScriptExecutionContext.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/dom/ScriptExecutionContext.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -392,8 +392,7 @@
</span><span class="cx">
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx"> if (target->toDOMWindow() && is<Document>(*this)) {
</span><del>- Settings* settings = downcast<Document>(*this).settings();
- if (settings && !settings->shouldDispatchJavaScriptWindowOnErrorEvents())
</del><ins>+ if (!downcast<Document>(*this).settings().shouldDispatchJavaScriptWindowOnErrorEvents())
</ins><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCoredomScriptableDocumentParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ScriptableDocumentParser.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ScriptableDocumentParser.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/dom/ScriptableDocumentParser.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx"> if (!pluginContentIsAllowed(m_parserContentPolicy))
</span><span class="cx"> m_parserContentPolicy = allowPluginContent(m_parserContentPolicy);
</span><span class="cx">
</span><del>- if (scriptingContentIsAllowed(m_parserContentPolicy) && (document.settings() && !document.settings()->scriptMarkupEnabled()))
</del><ins>+ if (scriptingContentIsAllowed(m_parserContentPolicy) && !document.settings().scriptMarkupEnabled())
</ins><span class="cx"> m_parserContentPolicy = disallowScriptingContent(m_parserContentPolicy);
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoredomScriptedAnimationControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ScriptedAnimationController.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ScriptedAnimationController.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/dom/ScriptedAnimationController.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -67,7 +67,7 @@
</span><span class="cx">
</span><span class="cx"> bool ScriptedAnimationController::requestAnimationFrameEnabled() const
</span><span class="cx"> {
</span><del>- return m_document && (!m_document->settings() || m_document->settings()->requestAnimationFrameEnabled());
</del><ins>+ return m_document && m_document->settings().requestAnimationFrameEnabled();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void ScriptedAnimationController::suspend()
</span></span></pre></div>
<a id="trunkSourceWebCoredommake_namespl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/make_names.pl (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/make_names.pl        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/dom/make_names.pl        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -415,8 +415,7 @@
</span><span class="cx"> # instead of having all the support for this here in this script?
</span><span class="cx"> if ($enabledTags{$tagName}{wrapperOnlyIfMediaIsAvailable}) {
</span><span class="cx"> print F <<END
</span><del>- Settings* settings = document.settings();
- if (!MediaPlayer::isAvailable() || (settings && !settings->mediaEnabled()))
</del><ins>+ if (!MediaPlayer::isAvailable() || !document.settings().mediaEnabled())
</ins><span class="cx"> return $parameters{fallbackInterfaceName}::create($constructorTagName, document);
</span><span class="cx">
</span><span class="cx"> END
</span><span class="lines">@@ -435,8 +434,7 @@
</span><span class="cx"> my $settingsConditional = $enabledTags{$tagName}{settingsConditional};
</span><span class="cx"> if ($settingsConditional) {
</span><span class="cx"> print F <<END
</span><del>- Settings* settings = document.settings();
- if (!settings || !settings->${settingsConditional}())
</del><ins>+ if (!document.settings().${settingsConditional}())
</ins><span class="cx"> return $parameters{fallbackInterfaceName}::create($constructorTagName, document);
</span><span class="cx"> END
</span><span class="cx"> ;
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingEditorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/Editor.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/Editor.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/editing/Editor.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -107,8 +107,7 @@
</span><span class="cx">
</span><span class="cx"> static bool dispatchBeforeInputEvent(Element& element, const AtomicString& inputType, const String& data = { }, RefPtr<DataTransfer>&& dataTransfer = nullptr, const Vector<RefPtr<StaticRange>>& targetRanges = { }, bool cancelable = true)
</span><span class="cx"> {
</span><del>- auto* settings = element.document().settings();
- if (!settings || !settings->inputEventsEnabled())
</del><ins>+ if (!element.document().settings().inputEventsEnabled())
</ins><span class="cx"> return true;
</span><span class="cx">
</span><span class="cx"> return element.dispatchEvent(InputEvent::create(eventNames().beforeinputEvent, inputType, true, cancelable, element.document().defaultView(), data, WTFMove(dataTransfer), targetRanges, 0));
</span><span class="lines">@@ -116,8 +115,7 @@
</span><span class="cx">
</span><span class="cx"> static void dispatchInputEvent(Element& element, const AtomicString& inputType, const String& data = { }, RefPtr<DataTransfer>&& dataTransfer = nullptr, const Vector<RefPtr<StaticRange>>& targetRanges = { })
</span><span class="cx"> {
</span><del>- auto* settings = element.document().settings();
- if (settings && settings->inputEventsEnabled()) {
</del><ins>+ if (element.document().settings().inputEventsEnabled()) {
</ins><span class="cx"> // FIXME: We should not be dispatching to the scoped queue here. Normally, input events are dispatched in CompositeEditCommand::apply after the end of the scope,
</span><span class="cx"> // but TypingCommands are special in that existing TypingCommands that are applied again fire input events *from within* the scope by calling typingAddedToOpenCommand.
</span><span class="cx"> // Instead, TypingCommands should always dispatch events synchronously after the end of the scoped queue in CompositeEditCommand::apply. To work around this for the
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingmarkupcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/markup.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/markup.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/editing/markup.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -598,7 +598,7 @@
</span><span class="cx"> Node* specialCommonAncestor = highestAncestorToWrapMarkup(&range, shouldAnnotate);
</span><span class="cx">
</span><span class="cx"> bool needsPositionStyleConversion = body && fullySelectedRoot == body
</span><del>- && document.settings() && document.settings()->shouldConvertPositionStyleOnCopy();
</del><ins>+ && document.settings().shouldConvertPositionStyleOnCopy();
</ins><span class="cx"> StyledMarkupAccumulator accumulator(nodes, shouldResolveURLs, shouldAnnotate, &range, needsPositionStyleConversion, specialCommonAncestor);
</span><span class="cx"> Node* pastEnd = range.pastLastNode();
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlFTPDirectoryDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/FTPDirectoryDocument.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/FTPDirectoryDocument.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/html/FTPDirectoryDocument.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -276,11 +276,9 @@
</span><span class="cx"> appendEntry(filename, processFilesizeString(result.fileSize, result.type == FTPDirectoryEntry), processFileDateString(result.modifiedTime), result.type == FTPDirectoryEntry);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static inline RefPtr<SharedBuffer> createTemplateDocumentData(Settings* settings)
</del><ins>+static inline RefPtr<SharedBuffer> createTemplateDocumentData(Settings& settings)
</ins><span class="cx"> {
</span><del>- RefPtr<SharedBuffer> buffer;
- if (settings)
- buffer = SharedBuffer::createWithContentsOfFile(settings->ftpDirectoryTemplatePath());
</del><ins>+ RefPtr<SharedBuffer> buffer = SharedBuffer::createWithContentsOfFile(settings.ftpDirectoryTemplatePath());
</ins><span class="cx"> if (buffer)
</span><span class="cx"> LOG(FTP, "Loaded FTPDirectoryTemplate of length %i\n", buffer->size());
</span><span class="cx"> return buffer;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLAnchorElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLAnchorElement.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLAnchorElement.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/html/HTMLAnchorElement.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -201,9 +201,7 @@
</span><span class="cx"> void HTMLAnchorElement::setActive(bool down, bool pause)
</span><span class="cx"> {
</span><span class="cx"> if (hasEditableStyle()) {
</span><del>- EditableLinkBehavior editableLinkBehavior = EditableLinkDefaultBehavior;
- if (Settings* settings = document().settings())
- editableLinkBehavior = settings->editableLinkBehavior();
</del><ins>+ EditableLinkBehavior editableLinkBehavior = document().settings().editableLinkBehavior();
</ins><span class="cx">
</span><span class="cx"> switch (editableLinkBehavior) {
</span><span class="cx"> default:
</span><span class="lines">@@ -353,9 +351,12 @@
</span><span class="cx">
</span><span class="cx"> void HTMLAnchorElement::sendPings(const URL& destinationURL)
</span><span class="cx"> {
</span><del>- if (!hasAttributeWithoutSynchronization(pingAttr) || !document().settings() || !document().settings()->hyperlinkAuditingEnabled())
</del><ins>+ if (!document().frame())
</ins><span class="cx"> return;
</span><span class="cx">
</span><ins>+ if (!hasAttributeWithoutSynchronization(pingAttr) || !document().settings().hyperlinkAuditingEnabled())
+ return;
+
</ins><span class="cx"> SpaceSplitString pingURLs(attributeWithoutSynchronization(pingAttr), false);
</span><span class="cx"> for (unsigned i = 0; i < pingURLs.size(); i++)
</span><span class="cx"> PingLoader::sendPing(*document().frame(), document().completeURL(pingURLs[i]), destinationURL);
</span><span class="lines">@@ -405,11 +406,7 @@
</span><span class="cx"> if (!hasEditableStyle())
</span><span class="cx"> return true;
</span><span class="cx">
</span><del>- Settings* settings = document().settings();
- if (!settings)
- return true;
-
- switch (settings->editableLinkBehavior()) {
</del><ins>+ switch (document().settings().editableLinkBehavior()) {
</ins><span class="cx"> case EditableLinkDefaultBehavior:
</span><span class="cx"> case EditableLinkAlwaysLive:
</span><span class="cx"> return true;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLAppletElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLAppletElement.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLAppletElement.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/html/HTMLAppletElement.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -181,16 +181,12 @@
</span><span class="cx"> if (document().isSandboxed(SandboxPlugins))
</span><span class="cx"> return false;
</span><span class="cx">
</span><del>- Settings* settings = document().settings();
- if (!settings)
</del><ins>+ if (!document().settings().isJavaEnabled())
</ins><span class="cx"> return false;
</span><span class="cx">
</span><del>- if (!settings->isJavaEnabled())
</del><ins>+ if (document().securityOrigin().isLocal() && !document().settings().isJavaEnabledForLocalFiles())
</ins><span class="cx"> return false;
</span><span class="cx">
</span><del>- if (document().securityOrigin().isLocal() && !settings->isJavaEnabledForLocalFiles())
- return false;
-
</del><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLCanvasElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLCanvasElement.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLCanvasElement.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/html/HTMLCanvasElement.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -204,8 +204,7 @@
</span><span class="cx"> if (!m_context) {
</span><span class="cx"> bool usesDashboardCompatibilityMode = false;
</span><span class="cx"> #if ENABLE(DASHBOARD_SUPPORT)
</span><del>- if (Settings* settings = document().settings())
- usesDashboardCompatibilityMode = settings->usesDashboardBackwardCompatibilityMode();
</del><ins>+ usesDashboardCompatibilityMode = document().settings().usesDashboardBackwardCompatibilityMode();
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> // Make sure we don't use more pixel memory than the system can support.
</span><span class="lines">@@ -243,18 +242,15 @@
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> }
</span><del>-static bool shouldEnableWebGL(Settings* settings)
</del><ins>+static bool shouldEnableWebGL(Settings& settings)
</ins><span class="cx"> {
</span><del>- if (!settings)
</del><ins>+ if (!settings.webGLEnabled())
</ins><span class="cx"> return false;
</span><span class="cx">
</span><del>- if (!settings->webGLEnabled())
- return false;
-
</del><span class="cx"> if (!requiresAcceleratedCompositingForWebGL())
</span><span class="cx"> return true;
</span><span class="cx">
</span><del>- return settings->acceleratedCompositingEnabled();
</del><ins>+ return settings.acceleratedCompositingEnabled();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool HTMLCanvasElement::is3dType(const String& type)
</span><span class="lines">@@ -540,9 +536,7 @@
</span><span class="cx">
</span><span class="cx"> bool HTMLCanvasElement::shouldAccelerate(const IntSize& size) const
</span><span class="cx"> {
</span><del>- if (!document().settings())
- return false;
- auto& settings = *document().settings();
</del><ins>+ auto& settings = document().settings();
</ins><span class="cx">
</span><span class="cx"> auto area = size.area<RecordOverflow>();
</span><span class="cx"> if (area.hasOverflowed())
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLFormElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLFormElement.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLFormElement.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/html/HTMLFormElement.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -214,8 +214,7 @@
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> // Older iOS apps using WebViews expect the behavior of auto submitting multi-input forms.
</span><del>- Settings* settings = document().settings();
- if (fromImplicitSubmissionTrigger && (submissionTriggerCount == 1 || (settings && settings->allowMultiElementImplicitSubmission())))
</del><ins>+ if (fromImplicitSubmissionTrigger && (submissionTriggerCount == 1 || document().settings().allowMultiElementImplicitSubmission()))
</ins><span class="cx"> prepareForSubmission(event);
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLFrameElementBasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLFrameElementBase.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLFrameElementBase.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/html/HTMLFrameElementBase.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -174,8 +174,7 @@
</span><span class="cx">
</span><span class="cx"> void HTMLFrameElementBase::setLocation(const String& str)
</span><span class="cx"> {
</span><del>- Settings* settings = document().settings();
- if (settings && settings->needsAcrobatFrameReloadingQuirk() && m_URL == str)
</del><ins>+ if (document().settings().needsAcrobatFrameReloadingQuirk() && m_URL == str)
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> m_URL = AtomicString(str);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLImageElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLImageElement.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLImageElement.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/html/HTMLImageElement.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -582,8 +582,7 @@
</span><span class="cx"> if (isInShadowTree())
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- Settings* settings = document().settings();
- if (!settings || !settings->imageControlsEnabled())
</del><ins>+ if (!document().settings().imageControlsEnabled())
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> bool hasControls = hasImageControls();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLImageLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLImageLoader.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLImageLoader.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/html/HTMLImageLoader.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -66,8 +66,7 @@
</span><span class="cx"> String HTMLImageLoader::sourceURI(const AtomicString& attr) const
</span><span class="cx"> {
</span><span class="cx"> #if ENABLE(DASHBOARD_SUPPORT)
</span><del>- Settings* settings = element().document().settings();
- if (settings && settings->usesDashboardBackwardCompatibilityMode() && attr.length() > 7 && attr.startsWith("url(\"") && attr.endsWith("\")"))
</del><ins>+ if (element().document().settings().usesDashboardBackwardCompatibilityMode() && attr.length() > 7 && attr.startsWith("url(\"") && attr.endsWith("\")"))
</ins><span class="cx"> return attr.string().substring(5, attr.length() - 7);
</span><span class="cx"> #endif
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLInputElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLInputElement.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLInputElement.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/html/HTMLInputElement.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -2035,8 +2035,7 @@
</span><span class="cx"> parameters.maximum = maximum();
</span><span class="cx"> parameters.required = isRequired();
</span><span class="cx">
</span><del>- Settings* settings = document().settings();
- if (!settings || !settings->langAttributeAwareFormControlUIEnabled())
</del><ins>+ if (!document().settings().langAttributeAwareFormControlUIEnabled())
</ins><span class="cx"> parameters.locale = defaultLanguage();
</span><span class="cx"> else {
</span><span class="cx"> AtomicString computedLocale = computeInheritedLanguage();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLLinkElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLLinkElement.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLLinkElement.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/html/HTMLLinkElement.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -230,7 +230,7 @@
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> bool treatAsStyleSheet = m_relAttribute.isStyleSheet
</span><del>- || (document().settings() && document().settings()->treatsAnyTextCSSLinkAsStylesheet() && m_type.containsIgnoringASCIICase("text/css"));
</del><ins>+ || (document().settings().treatsAnyTextCSSLinkAsStylesheet() && m_type.containsIgnoringASCIICase("text/css"));
</ins><span class="cx">
</span><span class="cx"> if (m_disabledState != Disabled && treatAsStyleSheet && document().frame() && url.isValid()) {
</span><span class="cx"> String charset = attributeWithoutSynchronization(charsetAttr);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLMediaElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLMediaElement.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -452,12 +452,11 @@
</span><span class="cx"> m_mediaSession->addBehaviorRestriction(MediaElementSession::RequireUserGestureToControlControlsManager);
</span><span class="cx"> m_mediaSession->addBehaviorRestriction(MediaElementSession::RequirePlaybackToControlControlsManager);
</span><span class="cx">
</span><del>- Settings* settings = document.settings();
</del><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx"> m_sendProgressEvents = false;
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>- if (settings && settings->invisibleAutoplayNotPermitted())
</del><ins>+ if (document.settings().invisibleAutoplayNotPermitted())
</ins><span class="cx"> m_mediaSession->addBehaviorRestriction(MediaElementSession::InvisibleAutoplayNotPermitted);
</span><span class="cx">
</span><span class="cx"> if (document.ownerElement() || !document.isMediaDocument()) {
</span><span class="lines">@@ -466,7 +465,7 @@
</span><span class="cx">
</span><span class="cx"> if (shouldVideoPlaybackRequireUserGesture) {
</span><span class="cx"> m_mediaSession->addBehaviorRestriction(MediaElementSession::RequireUserGestureForVideoRateChange);
</span><del>- if (settings && settings->requiresUserGestureToLoadVideo())
</del><ins>+ if (document.settings().requiresUserGestureToLoadVideo())
</ins><span class="cx"> m_mediaSession->addBehaviorRestriction(MediaElementSession::RequireUserGestureForLoad);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -478,15 +477,15 @@
</span><span class="cx"> m_mediaSession->addBehaviorRestriction(MediaElementSession::RequireUserGestureToShowPlaybackTargetPicker);
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>- if (!settings || !settings->mediaDataLoadsAutomatically())
</del><ins>+ if (!document.settings().mediaDataLoadsAutomatically())
</ins><span class="cx"> m_mediaSession->addBehaviorRestriction(MediaElementSession::AutoPreloadingNotPermitted);
</span><span class="cx">
</span><del>- if (settings && settings->mainContentUserGestureOverrideEnabled())
</del><ins>+ if (document.settings().mainContentUserGestureOverrideEnabled())
</ins><span class="cx"> m_mediaSession->addBehaviorRestriction(MediaElementSession::OverrideUserGestureRequirementForMainContent);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if PLATFORM(IOS)
</span><del>- if (settings && !settings->videoPlaybackRequiresUserGesture() && !settings->audioPlaybackRequiresUserGesture()) {
</del><ins>+ if (!document.settings().videoPlaybackRequiresUserGesture() && !document.settings().audioPlaybackRequiresUserGesture()) {
</ins><span class="cx"> // Relax RequireUserGestureForFullscreen when videoPlaybackRequiresUserGesture and audioPlaybackRequiresUserGesture is not set:
</span><span class="cx"> m_mediaSession->removeBehaviorRestriction(MediaElementSession::RequireUserGestureForFullscreen);
</span><span class="cx"> }
</span><span class="lines">@@ -2438,11 +2437,7 @@
</span><span class="cx">
</span><span class="cx"> String HTMLMediaElement::mediaPlayerMediaKeysStorageDirectory() const
</span><span class="cx"> {
</span><del>- Settings* settings = document().settings();
- if (!settings)
- return emptyString();
-
- String storageDirectory = settings->mediaKeysStorageDirectory();
</del><ins>+ String storageDirectory = document().settings().mediaKeysStorageDirectory();
</ins><span class="cx"> if (storageDirectory.isEmpty())
</span><span class="cx"> return emptyString();
</span><span class="cx">
</span><span class="lines">@@ -4578,7 +4573,7 @@
</span><span class="cx">
</span><span class="cx"> bool HTMLMediaElement::mediaPlayerAcceleratedCompositingEnabled()
</span><span class="cx"> {
</span><del>- return document().settings() && document().settings()->acceleratedCompositingEnabled();
</del><ins>+ return document().settings().acceleratedCompositingEnabled();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if PLATFORM(WIN) && USE(AVFOUNDATION)
</span><span class="lines">@@ -5431,7 +5426,7 @@
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> #if ENABLE(FULLSCREEN_API)
</span><del>- if (document().settings()->fullScreenEnabled()) {
</del><ins>+ if (document().settings().fullScreenEnabled()) {
</ins><span class="cx"> if (mode == VideoFullscreenModeStandard) {
</span><span class="cx"> document().requestFullScreenForElement(this, Document::ExemptIFrameAllowFullScreenRequirement);
</span><span class="cx"> return;
</span><span class="lines">@@ -5470,7 +5465,7 @@
</span><span class="cx"> LOG(Media, "HTMLMediaElement::exitFullscreen(%p)", this);
</span><span class="cx">
</span><span class="cx"> #if ENABLE(FULLSCREEN_API)
</span><del>- if (document().settings() && document().settings()->fullScreenEnabled() && document().webkitCurrentFullScreenElement() == this) {
</del><ins>+ if (document().settings().fullScreenEnabled() && document().webkitCurrentFullScreenElement() == this) {
</ins><span class="cx"> if (document().webkitIsFullScreen())
</span><span class="cx"> document().webkitCancelFullScreen();
</span><span class="cx"> return;
</span><span class="lines">@@ -5490,7 +5485,7 @@
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> if (!paused() && m_mediaSession->requiresFullscreenForVideoPlayback(*this)) {
</span><del>- if (!document().settings() || !document().settings()->allowsInlineMediaPlaybackAfterFullscreen() || isVideoTooSmallForInlinePlayback())
</del><ins>+ if (!document().settings().allowsInlineMediaPlaybackAfterFullscreen() || isVideoTooSmallForInlinePlayback())
</ins><span class="cx"> pauseInternal();
</span><span class="cx"> else {
</span><span class="cx"> // Allow inline playback, but set 'playsinline' so pausing and starting again (e.g. when scrubbing) won't go back to fullscreen.
</span><span class="lines">@@ -6310,8 +6305,7 @@
</span><span class="cx">
</span><span class="cx"> bool HTMLMediaElement::mediaPlayerNeedsSiteSpecificHacks() const
</span><span class="cx"> {
</span><del>- Settings* settings = document().settings();
- return settings && settings->needsSiteSpecificQuirks();
</del><ins>+ return document().settings().needsSiteSpecificQuirks();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> String HTMLMediaElement::mediaPlayerDocumentHost() const
</span><span class="lines">@@ -6453,11 +6447,7 @@
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx"> String HTMLMediaElement::mediaPlayerNetworkInterfaceName() const
</span><span class="cx"> {
</span><del>- Settings* settings = document().settings();
- if (!settings)
- return emptyString();
-
- return settings->networkInterfaceName();
</del><ins>+ return document().settings().networkInterfaceName();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool HTMLMediaElement::mediaPlayerGetRawCookies(const URL& url, Vector<Cookie>& cookies) const
</span><span class="lines">@@ -6702,8 +6692,7 @@
</span><span class="cx"> {
</span><span class="cx"> LOG(Media, "MediaElement::setMediaControlsDependPageScaleFactor(%p) = %s", this, boolString(dependsOnPageScale));
</span><span class="cx">
</span><del>- Settings* settings = document().settings();
- if (settings && settings->mediaControlsScaleWithPageZoom()) {
</del><ins>+ if (document().settings().mediaControlsScaleWithPageZoom()) {
</ins><span class="cx"> LOG(Media, "MediaElement::setMediaControlsDependPageScaleFactor(%p) forced to false by Settings value", this);
</span><span class="cx"> m_mediaControlsDependOnPageScaleFactor = false;
</span><span class="cx"> return;
</span><span class="lines">@@ -7055,10 +7044,8 @@
</span><span class="cx"> if (elementValue.isNull())
</span><span class="cx"> return false;
</span><span class="cx">
</span><del>- if (Settings* settings = document().settings()) {
- if (attributeName == HTMLNames::x_itunes_inherit_uri_query_componentAttr && !settings->enableInheritURIQueryComponent())
- return false;
- }
</del><ins>+ if (attributeName == HTMLNames::x_itunes_inherit_uri_query_componentAttr && !document().settings().enableInheritURIQueryComponent())
+ return false;
</ins><span class="cx">
</span><span class="cx"> if (value)
</span><span class="cx"> *value = elementValue;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLVideoElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLVideoElement.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLVideoElement.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/html/HTMLVideoElement.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -60,8 +60,7 @@
</span><span class="cx"> {
</span><span class="cx"> ASSERT(hasTagName(videoTag));
</span><span class="cx"> setHasCustomStyleResolveCallbacks();
</span><del>- if (document.settings())
- m_defaultPosterURL = document.settings()->defaultVideoPosterURL();
</del><ins>+ m_defaultPosterURL = document.settings().defaultVideoPosterURL();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> Ref<HTMLVideoElement> HTMLVideoElement::create(const QualifiedName& tagName, Document& document, bool createdByParser)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlMediaElementSessioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/MediaElementSession.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/MediaElementSession.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/html/MediaElementSession.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -398,8 +398,7 @@
</span><span class="cx">
</span><span class="cx"> bool MediaElementSession::wirelessVideoPlaybackDisabled(const HTMLMediaElement& element) const
</span><span class="cx"> {
</span><del>- Settings* settings = element.document().settings();
- if (!settings || !settings->allowsAirPlayForMediaPlayback()) {
</del><ins>+ if (!element.document().settings().allowsAirPlayForMediaPlayback()) {
</ins><span class="cx"> LOG(Media, "MediaElementSession::wirelessVideoPlaybackDisabled - returning TRUE because of settings");
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="lines">@@ -541,11 +540,10 @@
</span><span class="cx"> if (is<HTMLAudioElement>(element))
</span><span class="cx"> return false;
</span><span class="cx">
</span><del>- Settings* settings = element.document().settings();
- if (!settings || !settings->allowsInlineMediaPlayback())
</del><ins>+ if (!element.document().settings().allowsInlineMediaPlayback())
</ins><span class="cx"> return true;
</span><span class="cx">
</span><del>- if (!settings->inlineMediaPlaybackRequiresPlaysInlineAttribute())
</del><ins>+ if (!element.document().settings().inlineMediaPlaybackRequiresPlaysInlineAttribute())
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="lines">@@ -562,8 +560,7 @@
</span><span class="cx"> if (pageExplicitlyAllowsElementToAutoplayInline(element))
</span><span class="cx"> return true;
</span><span class="cx">
</span><del>- Settings* settings = element.document().settings();
- if (settings && settings->mediaDataLoadsAutomatically())
</del><ins>+ if (element.document().settings().mediaDataLoadsAutomatically())
</ins><span class="cx"> return true;
</span><span class="cx">
</span><span class="cx"> return false;
</span><span class="lines">@@ -594,8 +591,7 @@
</span><span class="cx">
</span><span class="cx"> bool MediaElementSession::allowsPictureInPicture(const HTMLMediaElement& element) const
</span><span class="cx"> {
</span><del>- Settings* settings = element.document().settings();
- return settings && settings->allowsPictureInPictureMediaPlayback() && !element.webkitCurrentPlaybackTargetIsWireless();
</del><ins>+ return element.document().settings().allowsPictureInPictureMediaPlayback() && !element.webkitCurrentPlaybackTargetIsWireless();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="lines">@@ -606,9 +602,6 @@
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> #if ENABLE(MEDIA_SOURCE)
</span><del>-const unsigned fiveMinutesOf1080PVideo = 290 * 1024 * 1024; // 290 MB is approximately 5 minutes of 8Mbps (1080p) content.
-const unsigned fiveMinutesStereoAudio = 14 * 1024 * 1024; // 14 MB is approximately 5 minutes of 384kbps content.
-
</del><span class="cx"> size_t MediaElementSession::maximumMediaSourceBufferSize(const SourceBuffer& buffer) const
</span><span class="cx"> {
</span><span class="cx"> // A good quality 1080p video uses 8,000 kbps and stereo audio uses 384 kbps, so assume 95% for video and 5% for audio.
</span><span class="lines">@@ -615,12 +608,7 @@
</span><span class="cx"> const float bufferBudgetPercentageForVideo = .95;
</span><span class="cx"> const float bufferBudgetPercentageForAudio = .05;
</span><span class="cx">
</span><del>- size_t maximum;
- Settings* settings = buffer.document().settings();
- if (settings)
- maximum = settings->maximumSourceBufferSize();
- else
- maximum = fiveMinutesOf1080PVideo + fiveMinutesStereoAudio;
</del><ins>+ size_t maximum = buffer.document().settings().maximumSourceBufferSize();
</ins><span class="cx">
</span><span class="cx"> // Allow a SourceBuffer to buffer as though it is audio-only even if it doesn't have any active tracks (yet).
</span><span class="cx"> size_t bufferSize = static_cast<size_t>(maximum * bufferBudgetPercentageForAudio);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLParserOptionscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/HTMLParserOptions.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLParserOptions.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/html/parser/HTMLParserOptions.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -49,9 +49,8 @@
</span><span class="cx"> scriptEnabled = frame && frame->script().canExecuteScripts(NotAboutToExecuteScript);
</span><span class="cx"> pluginsEnabled = frame && frame->loader().subframeLoader().allowPlugins();
</span><span class="cx">
</span><del>- Settings* settings = document.settings();
- usePreHTML5ParserQuirks = settings && settings->usePreHTML5ParserQuirks();
- maximumDOMTreeDepth = settings ? settings->maximumHTMLParserDOMTreeDepth() : Settings::defaultMaximumHTMLParserDOMTreeDepth;
</del><ins>+ usePreHTML5ParserQuirks = document.settings().usePreHTML5ParserQuirks();
+ maximumDOMTreeDepth = document.settings().maximumHTMLParserDOMTreeDepth();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlshadowMediaControlElementscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/shadow/MediaControlElements.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/shadow/MediaControlElements.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/html/shadow/MediaControlElements.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -953,7 +953,7 @@
</span><span class="cx"> // allows apps which embed a WebView to retain the existing full screen
</span><span class="cx"> // video implementation without requiring them to implement their own full
</span><span class="cx"> // screen behavior.
</span><del>- if (document().settings() && document().settings()->fullScreenEnabled()) {
</del><ins>+ if (document().settings().fullScreenEnabled()) {
</ins><span class="cx"> if (document().webkitIsFullScreen() && document().webkitCurrentFullScreenElement() == parentMediaElement(this))
</span><span class="cx"> document().webkitCancelFullScreen();
</span><span class="cx"> else
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderLinkLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/LinkLoader.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/LinkLoader.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/loader/LinkLoader.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -199,10 +199,9 @@
</span><span class="cx"> bool LinkLoader::loadLink(const LinkRelAttribute& relAttribute, const URL& href, const String& as, const String& crossOrigin, Document& document)
</span><span class="cx"> {
</span><span class="cx"> if (relAttribute.isDNSPrefetch) {
</span><del>- Settings* settings = document.settings();
</del><span class="cx"> // FIXME: The href attribute of the link element can be in "//hostname" form, and we shouldn't attempt
</span><span class="cx"> // to complete that as URL <https://bugs.webkit.org/show_bug.cgi?id=48857>.
</span><del>- if (settings && settings->dnsPrefetchingEnabled() && href.isValid() && !href.isEmpty() && document.frame())
</del><ins>+ if (document.settings().dnsPrefetchingEnabled() && href.isValid() && !href.isEmpty() && document.frame())
</ins><span class="cx"> document.frame()->loader().client().prefetchDNS(href.host());
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorepagecspContentSecurityPolicycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/csp/ContentSecurityPolicy.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/csp/ContentSecurityPolicy.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/page/csp/ContentSecurityPolicy.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -256,7 +256,7 @@
</span><span class="cx">
</span><span class="cx"> bool ContentSecurityPolicy::allowContentSecurityPolicySourceStarToMatchAnyProtocol() const
</span><span class="cx"> {
</span><del>- if (Settings* settings = is<Document>(m_scriptExecutionContext) ? downcast<Document>(*m_scriptExecutionContext).settings() : nullptr)
</del><ins>+ if (Settings* settings = is<Document>(m_scriptExecutionContext) ? &downcast<Document>(*m_scriptExecutionContext).settings() : nullptr)
</ins><span class="cx"> return settings->allowContentSecurityPolicySourceStarToMatchAnyProtocol();
</span><span class="cx"> return false;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingSimpleLineLayoutcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/SimpleLineLayout.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/SimpleLineLayout.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/rendering/SimpleLineLayout.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -1179,10 +1179,8 @@
</span><span class="cx"> void toggleSimpleLineLayout()
</span><span class="cx"> {
</span><span class="cx"> for (const auto* document : Document::allDocuments()) {
</span><del>- auto* settings = document->settings();
- if (!settings)
- continue;
- settings->setSimpleLineLayoutEnabled(!settings->simpleLineLayoutEnabled());
</del><ins>+ auto& settings = document->settings();
+ settings.setSimpleLineLayoutEnabled(!settings.simpleLineLayoutEnabled());
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorestyleStyleFontSizeFunctionscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/style/StyleFontSizeFunctions.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/style/StyleFontSizeFunctions.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/style/StyleFontSizeFunctions.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -45,7 +45,7 @@
</span><span class="cx"> UseSmartMinimumForFontFize
</span><span class="cx"> };
</span><span class="cx">
</span><del>-static float computedFontSizeFromSpecifiedSize(float specifiedSize, bool isAbsoluteSize, float zoomFactor, MinimumFontSizeRule minimumSizeRule, const Settings* settings)
</del><ins>+static float computedFontSizeFromSpecifiedSize(float specifiedSize, bool isAbsoluteSize, float zoomFactor, MinimumFontSizeRule minimumSizeRule, const Settings& settings)
</ins><span class="cx"> {
</span><span class="cx"> // Text with a 0px font size should not be visible and therefore needs to be
</span><span class="cx"> // exempt from minimum font size rules. Acid3 relies on this for pixel-perfect
</span><span class="lines">@@ -64,14 +64,11 @@
</span><span class="cx"> // However we always allow the page to set an explicit pixel size that is smaller,
</span><span class="cx"> // since sites will mis-render otherwise (e.g., http://www.gamespot.com with a 9px minimum).
</span><span class="cx">
</span><del>- if (!settings)
- return 1.0f;
-
</del><span class="cx"> if (minimumSizeRule == DoNotApplyMinimumFontSize)
</span><span class="cx"> return specifiedSize;
</span><span class="cx">
</span><del>- int minSize = settings->minimumFontSize();
- int minLogicalSize = settings->minimumLogicalFontSize();
</del><ins>+ int minSize = settings.minimumFontSize();
+ int minLogicalSize = settings.minimumLogicalFontSize();
</ins><span class="cx"> float zoomedSize = specifiedSize * zoomFactor;
</span><span class="cx">
</span><span class="cx"> // Apply the hard minimum first. We only apply the hard minimum if after zooming we're still too small.
</span><span class="lines">@@ -151,12 +148,8 @@
</span><span class="cx">
</span><span class="cx"> float fontSizeForKeyword(unsigned keywordID, bool shouldUseFixedDefaultSize, const Document& document)
</span><span class="cx"> {
</span><del>- Settings* settings = document.settings();
- if (!settings)
- return 1.0f;
-
</del><span class="cx"> bool quirksMode = document.inQuirksMode();
</span><del>- int mediumSize = shouldUseFixedDefaultSize ? settings->defaultFixedFontSize() : settings->defaultFontSize();
</del><ins>+ int mediumSize = shouldUseFixedDefaultSize ? document.settings().defaultFixedFontSize() : document.settings().defaultFontSize();
</ins><span class="cx"> if (mediumSize >= fontSizeTableMin && mediumSize <= fontSizeTableMax) {
</span><span class="cx"> // Look up the entry in the table.
</span><span class="cx"> int row = mediumSize - fontSizeTableMin;
</span><span class="lines">@@ -165,7 +158,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // Value is outside the range of the table. Apply the scale factor instead.
</span><del>- float minLogicalSize = std::max(settings->minimumLogicalFontSize(), 1);
</del><ins>+ float minLogicalSize = std::max(document.settings().minimumLogicalFontSize(), 1);
</ins><span class="cx"> return std::max(fontSizeFactors[keywordID - CSSValueXxSmall] * mediumSize, minLogicalSize);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -182,12 +175,8 @@
</span><span class="cx">
</span><span class="cx"> int legacyFontSizeForPixelSize(int pixelFontSize, bool shouldUseFixedDefaultSize, const Document& document)
</span><span class="cx"> {
</span><del>- Settings* settings = document.settings();
- if (!settings)
- return 1;
-
</del><span class="cx"> bool quirksMode = document.inQuirksMode();
</span><del>- int mediumSize = shouldUseFixedDefaultSize ? settings->defaultFixedFontSize() : settings->defaultFontSize();
</del><ins>+ int mediumSize = shouldUseFixedDefaultSize ? document.settings().defaultFixedFontSize() : document.settings().defaultFontSize();
</ins><span class="cx"> if (mediumSize >= fontSizeTableMin && mediumSize <= fontSizeTableMax) {
</span><span class="cx"> int row = mediumSize - fontSizeTableMin;
</span><span class="cx"> return findNearestLegacyFontSize<int>(pixelFontSize, quirksMode ? quirksFontSizeTable[row] : strictFontSizeTable[row], 1);
</span></span></pre></div>
<a id="trunkSourceWebCorestyleStyleScopecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/style/StyleScope.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/style/StyleScope.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/style/StyleScope.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -231,7 +231,7 @@
</span><span class="cx">
</span><span class="cx"> void Scope::collectActiveStyleSheets(Vector<RefPtr<StyleSheet>>& sheets)
</span><span class="cx"> {
</span><del>- if (m_document.settings() && !m_document.settings()->authorAndUserStylesEnabled())
</del><ins>+ if (!m_document.settings().authorAndUserStylesEnabled())
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> for (auto& node : m_styleSheetCandidateNodes) {
</span></span></pre></div>
<a id="trunkSourceWebCorexmlXMLHttpRequestcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/XMLHttpRequest.cpp (211963 => 211964)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/XMLHttpRequest.cpp        2017-02-09 17:36:58 UTC (rev 211963)
+++ trunk/Source/WebCore/xml/XMLHttpRequest.cpp        2017-02-09 17:47:33 UTC (rev 211964)
</span><span class="lines">@@ -145,8 +145,7 @@
</span><span class="cx"> {
</span><span class="cx"> if (scriptExecutionContext()->isWorkerGlobalScope())
</span><span class="cx"> return false;
</span><del>- Settings* settings = document()->settings();
- return settings && settings->usesDashboardBackwardCompatibilityMode();
</del><ins>+ return document()->settings().usesDashboardBackwardCompatibilityMode();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #endif
</span></span></pre>
</div>
</div>
</body>
</html>