<!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>[207521] 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/207521">207521</a></dd>
<dt>Author</dt> <dd>darin@apple.com</dd>
<dt>Date</dt> <dd>2016-10-18 22:25:06 -0700 (Tue, 18 Oct 2016)</dd>
</dl>
<h3>Log Message</h3>
<pre>Move internal testing classes from ExceptionCode to Exception
https://bugs.webkit.org/show_bug.cgi?id=163553
Reviewed by Ryosuke Niwa.
* bindings/js/JSDOMBinding.h: Added toJSArray. Also exported a function that
is now needed in the testing library.
* bindings/scripts/CodeGeneratorJS.pm:
(NativeToJSValue): Added code to handle the jsArray case with an exception.
* css/parser/CSSPropertyParser.cpp: Fix #if to make code compile when
CSS_SCROLL_SNAP is not enabled.
* dom/Element.cpp:
(WebCore::Element::createShadowRoot): Changed return type to a raw pointer.
There is no reason it needs to be a RefPtr.
* dom/Element.h: Updated for above change.
* svg/SVGPathStringBuilder.h: Exported class and made more public so it can
be used in test code.
* svg/SVGPathUtilities.cpp:
(WebCore::pathIteratorForBuildingString): Deleted. Needed only for test code,
so moved into there.
(WebCore::buildStringFromPath): Deleted. Ditto.
* svg/SVGPathUtilities.h: Removed buildStringFromPath.
* testing/InternalSettings.cpp: Simplified the guard macro and used the all
capitals style that our style guide prescribes for non-function-like macros.
(WebCore::InternalSettings::create): Moved here, no longer inline Use m_page.
(WebCore::InternalSettings::resetToConsistentState): Updated since settings
returns a reference.
(WebCore::InternalSettings::settings): Changed to return a reference and
assert that m_page is not null; functions all check m_page for null first.
(WebCore::InternalSettings::setTouchEventEmulationEnabled): Updated to use
ExceptionOr, do an m_page check, and use settings that returns a reference.
(WebCore::InternalSettings::setStandardFontFamily): Ditto.
(WebCore::InternalSettings::setSerifFontFamily): Ditto.
(WebCore::InternalSettings::setSansSerifFontFamily): Ditto.
(WebCore::InternalSettings::setFixedFontFamily): Ditto.
(WebCore::InternalSettings::setCursiveFontFamily): Ditto.
(WebCore::InternalSettings::setFantasyFontFamily): Ditto.
(WebCore::InternalSettings::setPictographFontFamily): Ditto.
(WebCore::InternalSettings::setTextAutosizingEnabled): Ditto.
(WebCore::InternalSettings::setTextAutosizingWindowSizeOverride): Ditto.
(WebCore::InternalSettings::setMediaTypeOverride): Ditto.
(WebCore::InternalSettings::setCanStartMedia): Ditto.
(WebCore::InternalSettings::setAllowsAirPlayForMediaPlayback): Ditto.
(WebCore::InternalSettings::setEditingBehavior): Ditto.
(WebCore::InternalSettings::setShouldDisplayTrackKind): Ditto.
(WebCore::InternalSettings::shouldDisplayTrackKind): Ditto.
(WebCore::InternalSettings::setStorageBlockingPolicy): Ditto.
(WebCore::InternalSettings::setPreferMIMETypeForImages): Ditto.
(WebCore::InternalSettings::setImagesEnabled): Ditto.
(WebCore::InternalSettings::setPDFImageCachingPolicy): Ditto.
(WebCore::InternalSettings::setMinimumTimerInterval): Ditto.
(WebCore::InternalSettings::setDefaultVideoPosterURL): Ditto.
(WebCore::InternalSettings::setForcePendingWebGLPolicy): Ditto.
(WebCore::InternalSettings::setTimeWithoutMouseMovementBeforeHidingControls): Ditto.
(WebCore::InternalSettings::setUseLegacyBackgroundSizeShorthandBehavior): Ditto.
(WebCore::InternalSettings::setAutoscrollForDragAndDropEnabled): Ditto.
(WebCore::InternalSettings::setFontFallbackPrefersPictographs): Ditto.
(WebCore::InternalSettings::setWebFontsAlwaysFallBack): Ditto.
(WebCore::InternalSettings::setQuickTimePluginReplacementEnabled): Ditto.
(WebCore::InternalSettings::setYouTubeFlashPluginReplacementEnabled): Ditto.
(WebCore::InternalSettings::setBackgroundShouldExtendBeyondPage): Ditto.
(WebCore::InternalSettings::setShouldConvertPositionStyleOnCopy): Ditto.
(WebCore::InternalSettings::setScrollingTreeIncludesFrames): Ditto.
(WebCore::InternalSettings::setAllowsInlineMediaPlayback): Ditto.
(WebCore::InternalSettings::setAllowsInlineMediaPlaybackAfterFullscreen): Ditto.
(WebCore::InternalSettings::setInlineMediaPlaybackRequiresPlaysInlineAttribute): Ditto.
(WebCore::InternalSettings::setIndexedDBWorkersEnabled): Ditto.
(WebCore::InternalSettings::userInterfaceDirectionPolicy): Ditto.
(WebCore::InternalSettings::setUserInterfaceDirectionPolicy): Ditto.
(WebCore::InternalSettings::systemLayoutDirection): Ditto.
(WebCore::InternalSettings::setSystemLayoutDirection): Ditto.
(WebCore::InternalSettings::variationFontsEnabled): Ditto.
(WebCore::InternalSettings::setVariationFontsEnabled): Ditto.
(WebCore::InternalSettings::forcedPrefersReducedMotionValue): Ditto.
(WebCore::InternalSettings::setForcedPrefersReducedMotionValue): Ditto.
* testing/InternalSettings.h: Updated for above changes. Also moved Backup to make
it private instead of public.
* testing/InternalSettings.idl: Use non-legacy execption. Also removed unneeded
exception for setIndexedDBWorkersEnabled.
* testing/Internals.cpp: Marked InspectorStubFrontend final and made everything private.
(WebCore::Internals::setCanShowModalDialogOverride): Use ExceptionOr.
(WebCore::Internals::lastSpatialNavigationCandidateCount): Ditto.
(WebCore::Internals::animationsAreSuspended): Ditto.
(WebCore::Internals::suspendAnimations): Ditto.
(WebCore::Internals::resumeAnimations): Ditto.
(WebCore::Internals::pauseAnimationAtTimeOnElement): Ditto.
(WebCore::Internals::pauseAnimationAtTimeOnPseudoElement): Ditto.
(WebCore::Internals::pauseTransitionAtTimeOnElement): Ditto.
(WebCore::Internals::pauseTransitionAtTimeOnPseudoElement): Ditto.
(WebCore::Internals::elementRenderTreeAsText): Ditto.
(WebCore::Internals::ensureShadowRoot): Ditto.
(WebCore::Internals::createShadowRoot): Ditto.
(WebCore::Internals::shadowRootType): Ditto.
(WebCore::Internals::isTimerThrottled): Ditto.
(WebCore::Internals::formControlStateOfPreviousHistoryItem): Ditto.
(WebCore::Internals::setFormControlStateOfPreviousHistoryItem): Ditto.
(WebCore::Internals::absoluteCaretBounds): Ditto.
(WebCore::Internals::inspectorHighlightRects): Ditto.
(WebCore::Internals::inspectorHighlightObject): Ditto.
(WebCore::Internals::markerCountForNode): Ditto.
(WebCore::Internals::markerAt): Ditto.
(WebCore::Internals::markerRangeForNode): Ditto.
(WebCore::Internals::markerDescriptionForNode): Ditto.
(WebCore::Internals::dumpMarkerRects): Ditto.
(WebCore::Internals::setMarkedTextMatchesAreHighlighted): Ditto.
(WebCore::Internals::setScrollViewPosition): Ditto.
(WebCore::Internals::setViewBaseBackgroundColor): Ditto.
(WebCore::Internals::setPagination): Ditto.
(WebCore::Internals::setPaginationLineGridEnabled): Ditto.
(WebCore::Internals::configurationForViewport): Ditto.
(WebCore::Internals::wasLastChangeUserEdit): Ditto.
(WebCore::Internals::scrollElementToRect): Ditto.
(WebCore::Internals::autofillFieldName): Ditto.
(WebCore::Internals::paintControlTints): Ditto.
(WebCore::Internals::rangeForDictionaryLookupAtLocation): Ditto.
(WebCore::Internals::setDelegatesScrolling): Ditto.
(WebCore::Internals::lastSpellCheckRequestSequence): Ditto.
(WebCore::Internals::lastSpellCheckProcessedSequence): Ditto.
(WebCore::Internals::wheelEventHandlerCount): Ditto.
(WebCore::Internals::touchEventHandlerCount): Ditto.
(WebCore::Internals::nodesFromRect): Ditto.
(WebCore::Internals::setBatteryStatus): Ditto.
(WebCore::Internals::setDeviceProximity): Ditto.
(WebCore::Internals::hasSpellingMarker): Ditto.
(WebCore::Internals::hasAutocorrectedMarker): Ditto.
(WebCore::Internals::handleAcceptedCandidate): Ditto.
(WebCore::Internals::isOverwriteModeEnabled): Ditto.
(WebCore::Internals::toggleOverwriteModeEnabled): Ditto.
(WebCore::Internals::countMatchesForText): Ditto.
(WebCore::Internals::countFindMatches): Ditto.
(WebCore::Internals::setInspectorIsUnderTest): Ditto.
(WebCore::Internals::hasGrammarMarker): Ditto.
(WebCore::Internals::numberOfScrollableAreas): Ditto.
(WebCore::Internals::isPageBoxVisible): Ditto.
(WebCore::Internals::layerTreeAsText): Ditto.
(WebCore::Internals::repaintRectsAsText): Ditto.
(WebCore::Internals::scrollingStateTreeAsText): Ditto.
(WebCore::Internals::mainThreadScrollingReasons): Ditto.
(WebCore::Internals::nonFastScrollableRects): Ditto.
(WebCore::Internals::setElementUsesDisplayListDrawing): Ditto.
(WebCore::Internals::setElementTracksDisplayListReplay): Ditto.
(WebCore::Internals::displayListForElement): Ditto.
(WebCore::Internals::replayDisplayListForElement): Ditto.
(WebCore::Internals::garbageCollectDocumentResources): Ditto.
(WebCore::Internals::insertAuthorCSS): Ditto.
(WebCore::Internals::insertUserCSS): Ditto.
(WebCore::Internals::pageProperty): Ditto.
(WebCore::Internals::pageSizeAndMarginsInPixels): Ditto.
(WebCore::Internals::setPageScaleFactor): Ditto.
(WebCore::Internals::setPageZoomFactor): Ditto.
(WebCore::Internals::setTextZoomFactor): Ditto.
(WebCore::Internals::setUseFixedLayout): Ditto.
(WebCore::Internals::setFixedLayoutSize): Ditto.
(WebCore::Internals::setViewExposedRect): Ditto.
(WebCore::Internals::setHeaderHeight): Ditto.
(WebCore::Internals::setFooterHeight): Ditto.
(WebCore::Internals::setTopContentInset): Ditto.
(WebCore::Internals::setApplicationCacheOriginQuota): Ditto.
(WebCore::Internals::startTrackingRepaints): Ditto.
(WebCore::Internals::stopTrackingRepaints): Ditto.
(WebCore::Internals::startTrackingLayerFlushes): Ditto.
(WebCore::Internals::layerFlushCount): Ditto.
(WebCore::Internals::startTrackingStyleRecalcs): Ditto.
(WebCore::Internals::styleRecalcCount): Ditto.
(WebCore::Internals::startTrackingCompositingUpdates): Ditto.
(WebCore::Internals::compositingUpdateCount): Ditto.
(WebCore::Internals::updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks): Ditto.
(WebCore::Internals::getCurrentCursorInfo): Ditto.
(WebCore::Internals::mediaElementHasCharacteristic): Ditto.
(WebCore::Internals::captionsStyleSheetOverride): Ditto.
(WebCore::Internals::setCaptionsStyleSheetOverride): Ditto.
(WebCore::Internals::setPrimaryAudioTrackLanguageOverride): Ditto.
(WebCore::Internals::setCaptionDisplayMode): Ditto.
(WebCore::Internals::selectionBounds): Ditto.
(WebCore::Internals::isVibrating): Ditto.
(WebCore::Internals::isPluginUnavailabilityIndicatorObscured): Ditto.
(WebCore::Internals::beginMediaSessionInterruption): Ditto.
(WebCore::Internals::setMediaSessionRestrictions): Ditto.
(WebCore::Internals::postRemoteControlCommand): Ditto.
(WebCore::Internals::setMockMediaPlaybackTargetPickerState): Ditto.
(WebCore::Internals::installMockPageOverlay): Ditto.
(WebCore::Internals::pageOverlayLayerTreeAsText): Ditto.
(WebCore::Internals::scrollSnapOffsets): Ditto.
(WebCore::Internals::pathStringWithShrinkWrappedRects): Moved the code that builds
the path string in here for now since it's only used for this testing.
(WebCore::Internals::resourceLoadStatisticsForOrigin): Take a const String&.
* testing/Internals.h: Updated for above changes.
* testing/Internals.idl: Use non-legacy exceptions.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMBindingh">trunk/Source/WebCore/bindings/js/JSDOMBinding.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm">trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm</a></li>
<li><a href="#trunkSourceWebCorecssparserCSSPropertyParsercpp">trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp</a></li>
<li><a href="#trunkSourceWebCoredomElementcpp">trunk/Source/WebCore/dom/Element.cpp</a></li>
<li><a href="#trunkSourceWebCoredomElementh">trunk/Source/WebCore/dom/Element.h</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPathStringBuilderh">trunk/Source/WebCore/svg/SVGPathStringBuilder.h</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPathUtilitiescpp">trunk/Source/WebCore/svg/SVGPathUtilities.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPathUtilitiesh">trunk/Source/WebCore/svg/SVGPathUtilities.h</a></li>
<li><a href="#trunkSourceWebCoretestingInternalSettingscpp">trunk/Source/WebCore/testing/InternalSettings.cpp</a></li>
<li><a href="#trunkSourceWebCoretestingInternalSettingsh">trunk/Source/WebCore/testing/InternalSettings.h</a></li>
<li><a href="#trunkSourceWebCoretestingInternalSettingsidl">trunk/Source/WebCore/testing/InternalSettings.idl</a></li>
<li><a href="#trunkSourceWebCoretestingInternalscpp">trunk/Source/WebCore/testing/Internals.cpp</a></li>
<li><a href="#trunkSourceWebCoretestingInternalsh">trunk/Source/WebCore/testing/Internals.h</a></li>
<li><a href="#trunkSourceWebCoretestingInternalsidl">trunk/Source/WebCore/testing/Internals.idl</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (207520 => 207521)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-10-19 05:03:11 UTC (rev 207520)
+++ trunk/Source/WebCore/ChangeLog        2016-10-19 05:25:06 UTC (rev 207521)
</span><span class="lines">@@ -1,3 +1,201 @@
</span><ins>+2016-10-18 Darin Adler <darin@apple.com>
+
+ Move internal testing classes from ExceptionCode to Exception
+ https://bugs.webkit.org/show_bug.cgi?id=163553
+
+ Reviewed by Ryosuke Niwa.
+
+ * bindings/js/JSDOMBinding.h: Added toJSArray. Also exported a function that
+ is now needed in the testing library.
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (NativeToJSValue): Added code to handle the jsArray case with an exception.
+
+ * css/parser/CSSPropertyParser.cpp: Fix #if to make code compile when
+ CSS_SCROLL_SNAP is not enabled.
+
+ * dom/Element.cpp:
+ (WebCore::Element::createShadowRoot): Changed return type to a raw pointer.
+ There is no reason it needs to be a RefPtr.
+ * dom/Element.h: Updated for above change.
+
+ * svg/SVGPathStringBuilder.h: Exported class and made more public so it can
+ be used in test code.
+
+ * svg/SVGPathUtilities.cpp:
+ (WebCore::pathIteratorForBuildingString): Deleted. Needed only for test code,
+ so moved into there.
+ (WebCore::buildStringFromPath): Deleted. Ditto.
+ * svg/SVGPathUtilities.h: Removed buildStringFromPath.
+
+ * testing/InternalSettings.cpp: Simplified the guard macro and used the all
+ capitals style that our style guide prescribes for non-function-like macros.
+ (WebCore::InternalSettings::create): Moved here, no longer inline Use m_page.
+ (WebCore::InternalSettings::resetToConsistentState): Updated since settings
+ returns a reference.
+ (WebCore::InternalSettings::settings): Changed to return a reference and
+ assert that m_page is not null; functions all check m_page for null first.
+ (WebCore::InternalSettings::setTouchEventEmulationEnabled): Updated to use
+ ExceptionOr, do an m_page check, and use settings that returns a reference.
+ (WebCore::InternalSettings::setStandardFontFamily): Ditto.
+ (WebCore::InternalSettings::setSerifFontFamily): Ditto.
+ (WebCore::InternalSettings::setSansSerifFontFamily): Ditto.
+ (WebCore::InternalSettings::setFixedFontFamily): Ditto.
+ (WebCore::InternalSettings::setCursiveFontFamily): Ditto.
+ (WebCore::InternalSettings::setFantasyFontFamily): Ditto.
+ (WebCore::InternalSettings::setPictographFontFamily): Ditto.
+ (WebCore::InternalSettings::setTextAutosizingEnabled): Ditto.
+ (WebCore::InternalSettings::setTextAutosizingWindowSizeOverride): Ditto.
+ (WebCore::InternalSettings::setMediaTypeOverride): Ditto.
+ (WebCore::InternalSettings::setCanStartMedia): Ditto.
+ (WebCore::InternalSettings::setAllowsAirPlayForMediaPlayback): Ditto.
+ (WebCore::InternalSettings::setEditingBehavior): Ditto.
+ (WebCore::InternalSettings::setShouldDisplayTrackKind): Ditto.
+ (WebCore::InternalSettings::shouldDisplayTrackKind): Ditto.
+ (WebCore::InternalSettings::setStorageBlockingPolicy): Ditto.
+ (WebCore::InternalSettings::setPreferMIMETypeForImages): Ditto.
+ (WebCore::InternalSettings::setImagesEnabled): Ditto.
+ (WebCore::InternalSettings::setPDFImageCachingPolicy): Ditto.
+ (WebCore::InternalSettings::setMinimumTimerInterval): Ditto.
+ (WebCore::InternalSettings::setDefaultVideoPosterURL): Ditto.
+ (WebCore::InternalSettings::setForcePendingWebGLPolicy): Ditto.
+ (WebCore::InternalSettings::setTimeWithoutMouseMovementBeforeHidingControls): Ditto.
+ (WebCore::InternalSettings::setUseLegacyBackgroundSizeShorthandBehavior): Ditto.
+ (WebCore::InternalSettings::setAutoscrollForDragAndDropEnabled): Ditto.
+ (WebCore::InternalSettings::setFontFallbackPrefersPictographs): Ditto.
+ (WebCore::InternalSettings::setWebFontsAlwaysFallBack): Ditto.
+ (WebCore::InternalSettings::setQuickTimePluginReplacementEnabled): Ditto.
+ (WebCore::InternalSettings::setYouTubeFlashPluginReplacementEnabled): Ditto.
+ (WebCore::InternalSettings::setBackgroundShouldExtendBeyondPage): Ditto.
+ (WebCore::InternalSettings::setShouldConvertPositionStyleOnCopy): Ditto.
+ (WebCore::InternalSettings::setScrollingTreeIncludesFrames): Ditto.
+ (WebCore::InternalSettings::setAllowsInlineMediaPlayback): Ditto.
+ (WebCore::InternalSettings::setAllowsInlineMediaPlaybackAfterFullscreen): Ditto.
+ (WebCore::InternalSettings::setInlineMediaPlaybackRequiresPlaysInlineAttribute): Ditto.
+ (WebCore::InternalSettings::setIndexedDBWorkersEnabled): Ditto.
+ (WebCore::InternalSettings::userInterfaceDirectionPolicy): Ditto.
+ (WebCore::InternalSettings::setUserInterfaceDirectionPolicy): Ditto.
+ (WebCore::InternalSettings::systemLayoutDirection): Ditto.
+ (WebCore::InternalSettings::setSystemLayoutDirection): Ditto.
+ (WebCore::InternalSettings::variationFontsEnabled): Ditto.
+ (WebCore::InternalSettings::setVariationFontsEnabled): Ditto.
+ (WebCore::InternalSettings::forcedPrefersReducedMotionValue): Ditto.
+ (WebCore::InternalSettings::setForcedPrefersReducedMotionValue): Ditto.
+ * testing/InternalSettings.h: Updated for above changes. Also moved Backup to make
+ it private instead of public.
+ * testing/InternalSettings.idl: Use non-legacy execption. Also removed unneeded
+ exception for setIndexedDBWorkersEnabled.
+
+ * testing/Internals.cpp: Marked InspectorStubFrontend final and made everything private.
+ (WebCore::Internals::setCanShowModalDialogOverride): Use ExceptionOr.
+ (WebCore::Internals::lastSpatialNavigationCandidateCount): Ditto.
+ (WebCore::Internals::animationsAreSuspended): Ditto.
+ (WebCore::Internals::suspendAnimations): Ditto.
+ (WebCore::Internals::resumeAnimations): Ditto.
+ (WebCore::Internals::pauseAnimationAtTimeOnElement): Ditto.
+ (WebCore::Internals::pauseAnimationAtTimeOnPseudoElement): Ditto.
+ (WebCore::Internals::pauseTransitionAtTimeOnElement): Ditto.
+ (WebCore::Internals::pauseTransitionAtTimeOnPseudoElement): Ditto.
+ (WebCore::Internals::elementRenderTreeAsText): Ditto.
+ (WebCore::Internals::ensureShadowRoot): Ditto.
+ (WebCore::Internals::createShadowRoot): Ditto.
+ (WebCore::Internals::shadowRootType): Ditto.
+ (WebCore::Internals::isTimerThrottled): Ditto.
+ (WebCore::Internals::formControlStateOfPreviousHistoryItem): Ditto.
+ (WebCore::Internals::setFormControlStateOfPreviousHistoryItem): Ditto.
+ (WebCore::Internals::absoluteCaretBounds): Ditto.
+ (WebCore::Internals::inspectorHighlightRects): Ditto.
+ (WebCore::Internals::inspectorHighlightObject): Ditto.
+ (WebCore::Internals::markerCountForNode): Ditto.
+ (WebCore::Internals::markerAt): Ditto.
+ (WebCore::Internals::markerRangeForNode): Ditto.
+ (WebCore::Internals::markerDescriptionForNode): Ditto.
+ (WebCore::Internals::dumpMarkerRects): Ditto.
+ (WebCore::Internals::setMarkedTextMatchesAreHighlighted): Ditto.
+ (WebCore::Internals::setScrollViewPosition): Ditto.
+ (WebCore::Internals::setViewBaseBackgroundColor): Ditto.
+ (WebCore::Internals::setPagination): Ditto.
+ (WebCore::Internals::setPaginationLineGridEnabled): Ditto.
+ (WebCore::Internals::configurationForViewport): Ditto.
+ (WebCore::Internals::wasLastChangeUserEdit): Ditto.
+ (WebCore::Internals::scrollElementToRect): Ditto.
+ (WebCore::Internals::autofillFieldName): Ditto.
+ (WebCore::Internals::paintControlTints): Ditto.
+ (WebCore::Internals::rangeForDictionaryLookupAtLocation): Ditto.
+ (WebCore::Internals::setDelegatesScrolling): Ditto.
+ (WebCore::Internals::lastSpellCheckRequestSequence): Ditto.
+ (WebCore::Internals::lastSpellCheckProcessedSequence): Ditto.
+ (WebCore::Internals::wheelEventHandlerCount): Ditto.
+ (WebCore::Internals::touchEventHandlerCount): Ditto.
+ (WebCore::Internals::nodesFromRect): Ditto.
+ (WebCore::Internals::setBatteryStatus): Ditto.
+ (WebCore::Internals::setDeviceProximity): Ditto.
+ (WebCore::Internals::hasSpellingMarker): Ditto.
+ (WebCore::Internals::hasAutocorrectedMarker): Ditto.
+ (WebCore::Internals::handleAcceptedCandidate): Ditto.
+ (WebCore::Internals::isOverwriteModeEnabled): Ditto.
+ (WebCore::Internals::toggleOverwriteModeEnabled): Ditto.
+ (WebCore::Internals::countMatchesForText): Ditto.
+ (WebCore::Internals::countFindMatches): Ditto.
+ (WebCore::Internals::setInspectorIsUnderTest): Ditto.
+ (WebCore::Internals::hasGrammarMarker): Ditto.
+ (WebCore::Internals::numberOfScrollableAreas): Ditto.
+ (WebCore::Internals::isPageBoxVisible): Ditto.
+ (WebCore::Internals::layerTreeAsText): Ditto.
+ (WebCore::Internals::repaintRectsAsText): Ditto.
+ (WebCore::Internals::scrollingStateTreeAsText): Ditto.
+ (WebCore::Internals::mainThreadScrollingReasons): Ditto.
+ (WebCore::Internals::nonFastScrollableRects): Ditto.
+ (WebCore::Internals::setElementUsesDisplayListDrawing): Ditto.
+ (WebCore::Internals::setElementTracksDisplayListReplay): Ditto.
+ (WebCore::Internals::displayListForElement): Ditto.
+ (WebCore::Internals::replayDisplayListForElement): Ditto.
+ (WebCore::Internals::garbageCollectDocumentResources): Ditto.
+ (WebCore::Internals::insertAuthorCSS): Ditto.
+ (WebCore::Internals::insertUserCSS): Ditto.
+ (WebCore::Internals::pageProperty): Ditto.
+ (WebCore::Internals::pageSizeAndMarginsInPixels): Ditto.
+ (WebCore::Internals::setPageScaleFactor): Ditto.
+ (WebCore::Internals::setPageZoomFactor): Ditto.
+ (WebCore::Internals::setTextZoomFactor): Ditto.
+ (WebCore::Internals::setUseFixedLayout): Ditto.
+ (WebCore::Internals::setFixedLayoutSize): Ditto.
+ (WebCore::Internals::setViewExposedRect): Ditto.
+ (WebCore::Internals::setHeaderHeight): Ditto.
+ (WebCore::Internals::setFooterHeight): Ditto.
+ (WebCore::Internals::setTopContentInset): Ditto.
+ (WebCore::Internals::setApplicationCacheOriginQuota): Ditto.
+ (WebCore::Internals::startTrackingRepaints): Ditto.
+ (WebCore::Internals::stopTrackingRepaints): Ditto.
+ (WebCore::Internals::startTrackingLayerFlushes): Ditto.
+ (WebCore::Internals::layerFlushCount): Ditto.
+ (WebCore::Internals::startTrackingStyleRecalcs): Ditto.
+ (WebCore::Internals::styleRecalcCount): Ditto.
+ (WebCore::Internals::startTrackingCompositingUpdates): Ditto.
+ (WebCore::Internals::compositingUpdateCount): Ditto.
+ (WebCore::Internals::updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks): Ditto.
+ (WebCore::Internals::getCurrentCursorInfo): Ditto.
+ (WebCore::Internals::mediaElementHasCharacteristic): Ditto.
+ (WebCore::Internals::captionsStyleSheetOverride): Ditto.
+ (WebCore::Internals::setCaptionsStyleSheetOverride): Ditto.
+ (WebCore::Internals::setPrimaryAudioTrackLanguageOverride): Ditto.
+ (WebCore::Internals::setCaptionDisplayMode): Ditto.
+ (WebCore::Internals::selectionBounds): Ditto.
+ (WebCore::Internals::isVibrating): Ditto.
+ (WebCore::Internals::isPluginUnavailabilityIndicatorObscured): Ditto.
+ (WebCore::Internals::beginMediaSessionInterruption): Ditto.
+ (WebCore::Internals::setMediaSessionRestrictions): Ditto.
+ (WebCore::Internals::postRemoteControlCommand): Ditto.
+ (WebCore::Internals::setMockMediaPlaybackTargetPickerState): Ditto.
+ (WebCore::Internals::installMockPageOverlay): Ditto.
+ (WebCore::Internals::pageOverlayLayerTreeAsText): Ditto.
+ (WebCore::Internals::scrollSnapOffsets): Ditto.
+ (WebCore::Internals::pathStringWithShrinkWrappedRects): Moved the code that builds
+ the path string in here for now since it's only used for this testing.
+ (WebCore::Internals::resourceLoadStatisticsForOrigin): Take a const String&.
+
+ * testing/Internals.h: Updated for above changes.
+ * testing/Internals.idl: Use non-legacy exceptions.
+
</ins><span class="cx"> 2016-10-18 Chris Dumez <cdumez@apple.com>
</span><span class="cx">
</span><span class="cx"> [Web IDL] Drop webkit-specific extended attributes that are no longer useful
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMBindingh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMBinding.h (207520 => 207521)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMBinding.h        2016-10-19 05:03:11 UTC (rev 207520)
+++ trunk/Source/WebCore/bindings/js/JSDOMBinding.h        2016-10-19 05:25:06 UTC (rev 207521)
</span><span class="lines">@@ -196,7 +196,7 @@
</span><span class="cx"> WEBCORE_EXPORT void setDOMException(JSC::ExecState*, ExceptionCode);
</span><span class="cx">
</span><span class="cx"> // Implementation details of the above.
</span><del>-void propagateExceptionSlowPath(JSC::ExecState&, JSC::ThrowScope&, Exception&&);
</del><ins>+WEBCORE_EXPORT void propagateExceptionSlowPath(JSC::ExecState&, JSC::ThrowScope&, Exception&&);
</ins><span class="cx"> WEBCORE_EXPORT void setDOMExceptionSlow(JSC::ExecState*, JSC::ThrowScope&, ExceptionCode);
</span><span class="cx">
</span><span class="cx"> JSC::JSValue jsString(JSC::ExecState*, const URL&); // empty if the URL is null
</span><span class="lines">@@ -412,6 +412,7 @@
</span><span class="cx"> // ExceptionOr handling.
</span><span class="cx"> void propagateException(JSC::ExecState&, JSC::ThrowScope&, ExceptionOr<void>&&);
</span><span class="cx"> template<typename T> JSC::JSValue toJS(JSC::ExecState&, JSDOMGlobalObject&, JSC::ThrowScope&, ExceptionOr<T>&&);
</span><ins>+template<typename T> JSC::JSValue toJSArray(JSC::ExecState&, JSDOMGlobalObject&, JSC::ThrowScope&, ExceptionOr<T>&&);
</ins><span class="cx"> JSC::JSValue toJSBoolean(JSC::ExecState&, JSC::ThrowScope&, ExceptionOr<bool>&&);
</span><span class="cx"> JSC::JSValue toJSDate(JSC::ExecState&, JSC::ThrowScope&, ExceptionOr<double>&&);
</span><span class="cx"> JSC::JSValue toJSNullableDate(JSC::ExecState&, JSC::ThrowScope&, ExceptionOr<Optional<double>>&&);
</span><span class="lines">@@ -929,6 +930,15 @@
</span><span class="cx"> return toJS(&state, &globalObject, value.releaseReturnValue());
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+template<typename T> inline JSC::JSValue toJSArray(JSC::ExecState& state, JSDOMGlobalObject& globalObject, JSC::ThrowScope& throwScope, ExceptionOr<T>&& value)
+{
+ if (UNLIKELY(value.hasException())) {
+ propagateException(state, throwScope, value.releaseException());
+ return { };
+ }
+ return jsArray(&state, &globalObject, value.releaseReturnValue());
+}
+
</ins><span class="cx"> inline JSC::JSValue toJSBoolean(JSC::ExecState& state, JSC::ThrowScope& throwScope, ExceptionOr<bool>&& value)
</span><span class="cx"> {
</span><span class="cx"> if (UNLIKELY(value.hasException())) {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (207520 => 207521)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2016-10-19 05:03:11 UTC (rev 207520)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2016-10-19 05:25:06 UTC (rev 207521)
</span><span class="lines">@@ -5253,8 +5253,10 @@
</span><span class="cx"> if ($codeGenerator->IsSequenceOrFrozenArrayType($type)) {
</span><span class="cx"> my $innerType = $codeGenerator->GetSequenceOrFrozenArrayInnerType($type);
</span><span class="cx"> AddToImplIncludes("JS${innerType}.h", $conditional) if $codeGenerator->IsRefPtrType($innerType);
</span><del>- return "jsArray($statePointer, $globalObject, $value)" if $codeGenerator->IsSequenceType($type);
- return "jsFrozenArray($statePointer, $globalObject, $value)" if $codeGenerator->IsFrozenArrayType($type);
</del><ins>+ my $isSequence = $codeGenerator->IsSequenceType($type);
+ return "toJSArray($stateReference, *$globalObject, throwScope, $value)" if $isSequence && $mayThrowException;
+ return "jsArray($statePointer, $globalObject, $value)" if $isSequence;
+ return "jsFrozenArray($statePointer, $globalObject, $value)";;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if ($type eq "any") {
</span></span></pre></div>
<a id="trunkSourceWebCorecssparserCSSPropertyParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp (207520 => 207521)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp        2016-10-19 05:03:11 UTC (rev 207520)
+++ trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp        2016-10-19 05:25:06 UTC (rev 207521)
</span><span class="lines">@@ -1891,6 +1891,8 @@
</span><span class="cx"> return nullptr;
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+#if ENABLE(CSS_SCROLL_SNAP)
+
</ins><span class="cx"> static RefPtr<CSSValueList> consumePositionList(CSSParserTokenRange& range, CSSParserMode cssParserMode)
</span><span class="cx"> {
</span><span class="cx"> RefPtr<CSSValueList> positions = CSSValueList::createCommaSeparated();
</span><span class="lines">@@ -1903,7 +1905,6 @@
</span><span class="cx"> return positions;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-#if ENABLE(CSS_SCROLL_SNAP)
</del><span class="cx"> static RefPtr<CSSValue> consumeScrollSnapCoordinate(CSSParserTokenRange& range, CSSParserMode cssParserMode)
</span><span class="cx"> {
</span><span class="cx"> if (range.peek().id() == CSSValueNone)
</span><span class="lines">@@ -1926,6 +1927,7 @@
</span><span class="cx"> }
</span><span class="cx"> return nullptr;
</span><span class="cx"> }
</span><ins>+
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> static RefPtr<CSSValue> consumeBorderRadiusCorner(CSSParserTokenRange& range, CSSParserMode cssParserMode)
</span></span></pre></div>
<a id="trunkSourceWebCoredomElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Element.cpp (207520 => 207521)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Element.cpp        2016-10-19 05:03:11 UTC (rev 207520)
+++ trunk/Source/WebCore/dom/Element.cpp        2016-10-19 05:25:06 UTC (rev 207521)
</span><span class="lines">@@ -1800,10 +1800,10 @@
</span><span class="cx"> notifyChildNodeRemoved(*this, *oldRoot);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-RefPtr<ShadowRoot> Element::createShadowRoot(ExceptionCode& ec)
</del><ins>+ShadowRoot* Element::createShadowRoot(ExceptionCode& ec)
</ins><span class="cx"> {
</span><span class="cx"> if (alwaysCreateUserAgentShadowRoot())
</span><del>- ensureUserAgentShadowRoot();
</del><ins>+ return &ensureUserAgentShadowRoot();
</ins><span class="cx">
</span><span class="cx"> ec = HIERARCHY_REQUEST_ERR;
</span><span class="cx"> return nullptr;
</span></span></pre></div>
<a id="trunkSourceWebCoredomElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Element.h (207520 => 207521)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Element.h        2016-10-19 05:03:11 UTC (rev 207520)
+++ trunk/Source/WebCore/dom/Element.h        2016-10-19 05:25:06 UTC (rev 207521)
</span><span class="lines">@@ -267,7 +267,7 @@
</span><span class="cx"> virtual bool rendererIsNeeded(const RenderStyle&);
</span><span class="cx">
</span><span class="cx"> WEBCORE_EXPORT ShadowRoot* shadowRoot() const;
</span><del>- WEBCORE_EXPORT RefPtr<ShadowRoot> createShadowRoot(ExceptionCode&);
</del><ins>+ WEBCORE_EXPORT ShadowRoot* createShadowRoot(ExceptionCode&);
</ins><span class="cx">
</span><span class="cx"> enum class ShadowRootMode { Open, Closed };
</span><span class="cx"> struct ShadowRootInit {
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPathStringBuilderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPathStringBuilder.h (207520 => 207521)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPathStringBuilder.h        2016-10-19 05:03:11 UTC (rev 207520)
+++ trunk/Source/WebCore/svg/SVGPathStringBuilder.h        2016-10-19 05:25:06 UTC (rev 207521)
</span><span class="lines">@@ -18,8 +18,7 @@
</span><span class="cx"> * Boston, MA 02110-1301, USA.
</span><span class="cx"> */
</span><span class="cx">
</span><del>-#ifndef SVGPathStringBuilder_h
-#define SVGPathStringBuilder_h
</del><ins>+#pragma once
</ins><span class="cx">
</span><span class="cx"> #include "SVGPathConsumer.h"
</span><span class="cx"> #include <wtf/text/StringBuilder.h>
</span><span class="lines">@@ -28,32 +27,30 @@
</span><span class="cx">
</span><span class="cx"> class SVGPathStringBuilder final : public SVGPathConsumer {
</span><span class="cx"> public:
</span><del>- SVGPathStringBuilder();
- ~SVGPathStringBuilder();
</del><ins>+ WEBCORE_EXPORT SVGPathStringBuilder();
+ WEBCORE_EXPORT virtual ~SVGPathStringBuilder();
</ins><span class="cx">
</span><del>- String result();
</del><ins>+ WEBCORE_EXPORT String result();
</ins><span class="cx">
</span><del>-private:
- void incrementPathSegmentCount() override;
- bool continueConsuming() override;
</del><ins>+ void incrementPathSegmentCount() final;
+ bool continueConsuming() final;
</ins><span class="cx">
</span><span class="cx"> // Used in UnalteredParsing/NormalizedParsing modes.
</span><del>- void moveTo(const FloatPoint&, bool closed, PathCoordinateMode) override;
- void lineTo(const FloatPoint&, PathCoordinateMode) override;
- void curveToCubic(const FloatPoint&, const FloatPoint&, const FloatPoint&, PathCoordinateMode) override;
- void closePath() override;
</del><ins>+ WEBCORE_EXPORT void moveTo(const FloatPoint&, bool closed, PathCoordinateMode) final;
+ WEBCORE_EXPORT void lineTo(const FloatPoint&, PathCoordinateMode) final;
+ WEBCORE_EXPORT void curveToCubic(const FloatPoint&, const FloatPoint&, const FloatPoint&, PathCoordinateMode) final;
+ WEBCORE_EXPORT void closePath() final;
</ins><span class="cx">
</span><span class="cx"> // Only used in UnalteredParsing mode.
</span><del>- void lineToHorizontal(float, PathCoordinateMode) override;
- void lineToVertical(float, PathCoordinateMode) override;
- void curveToCubicSmooth(const FloatPoint&, const FloatPoint&, PathCoordinateMode) override;
- void curveToQuadratic(const FloatPoint&, const FloatPoint&, PathCoordinateMode) override;
- void curveToQuadraticSmooth(const FloatPoint&, PathCoordinateMode) override;
- void arcTo(float, float, float, bool largeArcFlag, bool sweepFlag, const FloatPoint&, PathCoordinateMode) override;
</del><ins>+ void lineToHorizontal(float, PathCoordinateMode) final;
+ void lineToVertical(float, PathCoordinateMode) final;
+ void curveToCubicSmooth(const FloatPoint&, const FloatPoint&, PathCoordinateMode) final;
+ WEBCORE_EXPORT void curveToQuadratic(const FloatPoint&, const FloatPoint&, PathCoordinateMode) final;
+ void curveToQuadraticSmooth(const FloatPoint&, PathCoordinateMode) final;
+ void arcTo(float, float, float, bool largeArcFlag, bool sweepFlag, const FloatPoint&, PathCoordinateMode) final;
</ins><span class="cx">
</span><ins>+private:
</ins><span class="cx"> StringBuilder m_stringBuilder;
</span><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span><del>-
-#endif // SVGPathStringBuilder_h
</del></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPathUtilitiescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPathUtilities.cpp (207520 => 207521)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPathUtilities.cpp        2016-10-19 05:03:11 UTC (rev 207520)
+++ trunk/Source/WebCore/svg/SVGPathUtilities.cpp        2016-10-19 05:25:06 UTC (rev 207521)
</span><span class="lines">@@ -207,43 +207,4 @@
</span><span class="cx"> return ok;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static void pathIteratorForBuildingString(SVGPathConsumer& consumer, const PathElement& pathElement)
-{
- switch (pathElement.type) {
- case PathElementMoveToPoint:
- consumer.moveTo(pathElement.points[0], false, AbsoluteCoordinates);
- break;
- case PathElementAddLineToPoint:
- consumer.lineTo(pathElement.points[0], AbsoluteCoordinates);
- break;
- case PathElementAddQuadCurveToPoint:
- consumer.curveToQuadratic(pathElement.points[0], pathElement.points[1], AbsoluteCoordinates);
- break;
- case PathElementAddCurveToPoint:
- consumer.curveToCubic(pathElement.points[0], pathElement.points[1], pathElement.points[2], AbsoluteCoordinates);
- break;
- case PathElementCloseSubpath:
- consumer.closePath();
- break;
-
- default:
- ASSERT_NOT_REACHED();
- break;
- }
</del><span class="cx"> }
</span><del>-
-bool buildStringFromPath(const Path& path, String& string)
-{
- // Ideally we would have a SVGPathPlatformPathSource, but it's not possible to manually iterate
- // a path, only apply a function to all path elements at once.
-
- SVGPathStringBuilder builder;
- path.apply([&builder](const PathElement& pathElement) {
- pathIteratorForBuildingString(builder, pathElement);
- });
- string = builder.result();
-
- return true;
-}
-
-}
</del></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPathUtilitiesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPathUtilities.h (207520 => 207521)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPathUtilities.h        2016-10-19 05:03:11 UTC (rev 207520)
+++ trunk/Source/WebCore/svg/SVGPathUtilities.h        2016-10-19 05:25:06 UTC (rev 207521)
</span><span class="lines">@@ -18,8 +18,7 @@
</span><span class="cx"> * Boston, MA 02110-1301, USA.
</span><span class="cx"> */
</span><span class="cx">
</span><del>-#ifndef SVGPathUtilities_h
-#define SVGPathUtilities_h
</del><ins>+#pragma once
</ins><span class="cx">
</span><span class="cx"> #include "SVGPathConsumer.h"
</span><span class="cx"> #include "SVGPoint.h"
</span><span class="lines">@@ -58,9 +57,4 @@
</span><span class="cx"> bool getTotalLengthOfSVGPathByteStream(const SVGPathByteStream&, float& totalLength);
</span><span class="cx"> bool getPointAtLengthOfSVGPathByteStream(const SVGPathByteStream&, float length, SVGPoint&);
</span><span class="cx">
</span><del>-// Path -> String
-WEBCORE_EXPORT bool buildStringFromPath(const Path&, String&);
-
</del><span class="cx"> } // namespace WebCore
</span><del>-
-#endif // SVGPathUtilities_h
</del></span></pre></div>
<a id="trunkSourceWebCoretestingInternalSettingscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/InternalSettings.cpp (207520 => 207521)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/InternalSettings.cpp        2016-10-19 05:03:11 UTC (rev 207520)
+++ trunk/Source/WebCore/testing/InternalSettings.cpp        2016-10-19 05:25:06 UTC (rev 207521)
</span><span class="lines">@@ -45,24 +45,6 @@
</span><span class="cx"> #include "ColorChooser.h"
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>-#define InternalSettingsGuardForSettingsReturn(returnValue) \
- if (!settings()) { \
- ec = INVALID_ACCESS_ERR; \
- return returnValue; \
- }
-
-#define InternalSettingsGuardForSettings() \
- if (!settings()) { \
- ec = INVALID_ACCESS_ERR; \
- return; \
- }
-
-#define InternalSettingsGuardForPage() \
- if (!page()) { \
- ec = INVALID_ACCESS_ERR; \
- return; \
- }
-
</del><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><span class="cx"> InternalSettings::Backup::Backup(Settings& settings)
</span><span class="lines">@@ -225,8 +207,9 @@
</span><span class="cx"> return static_cast<InternalSettingsWrapper*>(Supplement<Page>::from(page, supplementName()))->internalSettings();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-InternalSettings::~InternalSettings()
</del><ins>+void InternalSettings::hostDestroyed()
</ins><span class="cx"> {
</span><ins>+ m_page = nullptr;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> InternalSettings::InternalSettings(Page* page)
</span><span class="lines">@@ -239,178 +222,206 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+Ref<InternalSettings> InternalSettings::create(Page* page)
+{
+ return adoptRef(*new InternalSettings(page));
+}
+
</ins><span class="cx"> void InternalSettings::resetToConsistentState()
</span><span class="cx"> {
</span><del>- page()->setPageScaleFactor(1, { 0, 0 });
- page()->mainFrame().setPageAndTextZoomFactors(1, 1);
- page()->setCanStartMedia(true);
- page()->settings().setForcePendingWebGLPolicy(false);
</del><ins>+ m_page->setPageScaleFactor(1, { 0, 0 });
+ m_page->mainFrame().setPageAndTextZoomFactors(1, 1);
+ m_page->setCanStartMedia(true);
+
+ settings().setForcePendingWebGLPolicy(false);
</ins><span class="cx"> #if ENABLE(WIRELESS_PLAYBACK_TARGET)
</span><del>- setAllowsAirPlayForMediaPlayback(false);
</del><ins>+ settings().setAllowsAirPlayForMediaPlayback(false);
</ins><span class="cx"> #endif
</span><span class="cx">
</span><del>- m_backup.restoreTo(*settings());
- m_backup = Backup(*settings());
</del><ins>+ m_backup.restoreTo(settings());
+ m_backup = Backup { settings() };
</ins><span class="cx">
</span><span class="cx"> InternalSettingsGenerated::resetToConsistentState();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-Settings* InternalSettings::settings() const
</del><ins>+Settings& InternalSettings::settings() const
</ins><span class="cx"> {
</span><del>- if (!page())
- return 0;
- return &page()->settings();
</del><ins>+ ASSERT(m_page);
+ return m_page->settings();
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setTouchEventEmulationEnabled(bool enabled, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setTouchEventEmulationEnabled(bool enabled)
</ins><span class="cx"> {
</span><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> #if ENABLE(TOUCH_EVENTS)
</span><del>- InternalSettingsGuardForSettings();
- settings()->setTouchEventEmulationEnabled(enabled);
</del><ins>+ settings().setTouchEventEmulationEnabled(enabled);
</ins><span class="cx"> #else
</span><span class="cx"> UNUSED_PARAM(enabled);
</span><del>- UNUSED_PARAM(ec);
</del><span class="cx"> #endif
</span><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setStandardFontFamily(const String& family, const String& script, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setStandardFontFamily(const String& family, const String& script)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettings();
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> UScriptCode code = scriptNameToCode(script);
</span><span class="cx"> if (code == USCRIPT_INVALID_CODE)
</span><del>- return;
- m_backup.m_standardFontFamilies.add(code, settings()->standardFontFamily(code));
- settings()->setStandardFontFamily(family, code);
</del><ins>+ return { };
+ m_backup.m_standardFontFamilies.add(code, settings().standardFontFamily(code));
+ settings().setStandardFontFamily(family, code);
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setSerifFontFamily(const String& family, const String& script, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setSerifFontFamily(const String& family, const String& script)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettings();
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> UScriptCode code = scriptNameToCode(script);
</span><span class="cx"> if (code == USCRIPT_INVALID_CODE)
</span><del>- return;
- m_backup.m_serifFontFamilies.add(code, settings()->serifFontFamily(code));
- settings()->setSerifFontFamily(family, code);
</del><ins>+ return { };
+ m_backup.m_serifFontFamilies.add(code, settings().serifFontFamily(code));
+ settings().setSerifFontFamily(family, code);
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setSansSerifFontFamily(const String& family, const String& script, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setSansSerifFontFamily(const String& family, const String& script)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettings();
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> UScriptCode code = scriptNameToCode(script);
</span><span class="cx"> if (code == USCRIPT_INVALID_CODE)
</span><del>- return;
- m_backup.m_sansSerifFontFamilies.add(code, settings()->sansSerifFontFamily(code));
- settings()->setSansSerifFontFamily(family, code);
</del><ins>+ return { };
+ m_backup.m_sansSerifFontFamilies.add(code, settings().sansSerifFontFamily(code));
+ settings().setSansSerifFontFamily(family, code);
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setFixedFontFamily(const String& family, const String& script, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setFixedFontFamily(const String& family, const String& script)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettings();
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> UScriptCode code = scriptNameToCode(script);
</span><span class="cx"> if (code == USCRIPT_INVALID_CODE)
</span><del>- return;
- m_backup.m_fixedFontFamilies.add(code, settings()->fixedFontFamily(code));
- settings()->setFixedFontFamily(family, code);
</del><ins>+ return { };
+ m_backup.m_fixedFontFamilies.add(code, settings().fixedFontFamily(code));
+ settings().setFixedFontFamily(family, code);
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setCursiveFontFamily(const String& family, const String& script, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setCursiveFontFamily(const String& family, const String& script)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettings();
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> UScriptCode code = scriptNameToCode(script);
</span><span class="cx"> if (code == USCRIPT_INVALID_CODE)
</span><del>- return;
- m_backup.m_cursiveFontFamilies.add(code, settings()->cursiveFontFamily(code));
- settings()->setCursiveFontFamily(family, code);
</del><ins>+ return { };
+ m_backup.m_cursiveFontFamilies.add(code, settings().cursiveFontFamily(code));
+ settings().setCursiveFontFamily(family, code);
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setFantasyFontFamily(const String& family, const String& script, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setFantasyFontFamily(const String& family, const String& script)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettings();
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> UScriptCode code = scriptNameToCode(script);
</span><span class="cx"> if (code == USCRIPT_INVALID_CODE)
</span><del>- return;
- m_backup.m_fantasyFontFamilies.add(code, settings()->fantasyFontFamily(code));
- settings()->setFantasyFontFamily(family, code);
</del><ins>+ return { };
+ m_backup.m_fantasyFontFamilies.add(code, settings().fantasyFontFamily(code));
+ settings().setFantasyFontFamily(family, code);
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setPictographFontFamily(const String& family, const String& script, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setPictographFontFamily(const String& family, const String& script)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettings();
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> UScriptCode code = scriptNameToCode(script);
</span><span class="cx"> if (code == USCRIPT_INVALID_CODE)
</span><del>- return;
- m_backup.m_pictographFontFamilies.add(code, settings()->pictographFontFamily(code));
- settings()->setPictographFontFamily(family, code);
</del><ins>+ return { };
+ m_backup.m_pictographFontFamilies.add(code, settings().pictographFontFamily(code));
+ settings().setPictographFontFamily(family, code);
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setTextAutosizingEnabled(bool enabled, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setTextAutosizingEnabled(bool enabled)
</ins><span class="cx"> {
</span><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> #if ENABLE(TEXT_AUTOSIZING)
</span><del>- InternalSettingsGuardForSettings();
- settings()->setTextAutosizingEnabled(enabled);
</del><ins>+ settings().setTextAutosizingEnabled(enabled);
</ins><span class="cx"> #else
</span><span class="cx"> UNUSED_PARAM(enabled);
</span><del>- UNUSED_PARAM(ec);
</del><span class="cx"> #endif
</span><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setTextAutosizingWindowSizeOverride(int width, int height, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setTextAutosizingWindowSizeOverride(int width, int height)
</ins><span class="cx"> {
</span><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> #if ENABLE(TEXT_AUTOSIZING)
</span><del>- InternalSettingsGuardForSettings();
- settings()->setTextAutosizingWindowSizeOverride(IntSize(width, height));
</del><ins>+ settings().setTextAutosizingWindowSizeOverride(IntSize(width, height));
</ins><span class="cx"> #else
</span><span class="cx"> UNUSED_PARAM(width);
</span><span class="cx"> UNUSED_PARAM(height);
</span><del>- UNUSED_PARAM(ec);
</del><span class="cx"> #endif
</span><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setMediaTypeOverride(const String& mediaType, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setMediaTypeOverride(const String& mediaType)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettings();
- settings()->setMediaTypeOverride(mediaType);
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
+ settings().setMediaTypeOverride(mediaType);
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setCanStartMedia(bool enabled, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setCanStartMedia(bool enabled)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettings();
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> m_page->setCanStartMedia(enabled);
</span><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setAllowsAirPlayForMediaPlayback(bool allows)
</del><ins>+ExceptionOr<void> InternalSettings::setAllowsAirPlayForMediaPlayback(bool allows)
</ins><span class="cx"> {
</span><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> #if ENABLE(WIRELESS_PLAYBACK_TARGET)
</span><del>- m_page->settings().setAllowsAirPlayForMediaPlayback(allows);
</del><ins>+ settings().setAllowsAirPlayForMediaPlayback(allows);
</ins><span class="cx"> #else
</span><span class="cx"> UNUSED_PARAM(allows);
</span><span class="cx"> #endif
</span><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setEditingBehavior(const String& editingBehavior, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setEditingBehavior(const String& editingBehavior)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettings();
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> if (equalLettersIgnoringASCIICase(editingBehavior, "win"))
</span><del>- settings()->setEditingBehaviorType(EditingWindowsBehavior);
</del><ins>+ settings().setEditingBehaviorType(EditingWindowsBehavior);
</ins><span class="cx"> else if (equalLettersIgnoringASCIICase(editingBehavior, "mac"))
</span><del>- settings()->setEditingBehaviorType(EditingMacBehavior);
</del><ins>+ settings().setEditingBehaviorType(EditingMacBehavior);
</ins><span class="cx"> else if (equalLettersIgnoringASCIICase(editingBehavior, "unix"))
</span><del>- settings()->setEditingBehaviorType(EditingUnixBehavior);
</del><ins>+ settings().setEditingBehaviorType(EditingUnixBehavior);
</ins><span class="cx"> else if (equalLettersIgnoringASCIICase(editingBehavior, "ios"))
</span><del>- settings()->setEditingBehaviorType(EditingIOSBehavior);
</del><ins>+ settings().setEditingBehaviorType(EditingIOSBehavior);
</ins><span class="cx"> else
</span><del>- ec = SYNTAX_ERR;
</del><ins>+ return Exception { SYNTAX_ERR };
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setShouldDisplayTrackKind(const String& kind, bool enabled, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setShouldDisplayTrackKind(const String& kind, bool enabled)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettings();
-
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> #if ENABLE(VIDEO_TRACK)
</span><del>- if (!page())
- return;
-
- auto& captionPreferences = page()->group().captionPreferences();
</del><ins>+ auto& captionPreferences = m_page->group().captionPreferences();
</ins><span class="cx"> if (equalLettersIgnoringASCIICase(kind, "subtitles"))
</span><span class="cx"> captionPreferences.setUserPrefersSubtitles(enabled);
</span><span class="cx"> else if (equalLettersIgnoringASCIICase(kind, "captions"))
</span><span class="lines">@@ -418,22 +429,20 @@
</span><span class="cx"> else if (equalLettersIgnoringASCIICase(kind, "textdescriptions"))
</span><span class="cx"> captionPreferences.setUserPrefersTextDescriptions(enabled);
</span><span class="cx"> else
</span><del>- ec = SYNTAX_ERR;
</del><ins>+ return Exception { SYNTAX_ERR };
</ins><span class="cx"> #else
</span><span class="cx"> UNUSED_PARAM(kind);
</span><span class="cx"> UNUSED_PARAM(enabled);
</span><span class="cx"> #endif
</span><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-bool InternalSettings::shouldDisplayTrackKind(const String& kind, ExceptionCode& ec)
</del><ins>+ExceptionOr<bool> InternalSettings::shouldDisplayTrackKind(const String& kind)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettingsReturn(false);
-
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> #if ENABLE(VIDEO_TRACK)
</span><del>- if (!page())
- return false;
-
- auto& captionPreferences = page()->group().captionPreferences();
</del><ins>+ auto& captionPreferences = m_page->group().captionPreferences();
</ins><span class="cx"> if (equalLettersIgnoringASCIICase(kind, "subtitles"))
</span><span class="cx"> return captionPreferences.userPrefersSubtitles();
</span><span class="cx"> if (equalLettersIgnoringASCIICase(kind, "captions"))
</span><span class="lines">@@ -441,8 +450,7 @@
</span><span class="cx"> if (equalLettersIgnoringASCIICase(kind, "textdescriptions"))
</span><span class="cx"> return captionPreferences.userPrefersTextDescriptions();
</span><span class="cx">
</span><del>- ec = SYNTAX_ERR;
- return false;
</del><ins>+ return Exception { SYNTAX_ERR };
</ins><span class="cx"> #else
</span><span class="cx"> UNUSED_PARAM(kind);
</span><span class="cx"> return false;
</span><span class="lines">@@ -449,18 +457,19 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setStorageBlockingPolicy(const String& mode, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setStorageBlockingPolicy(const String& mode)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettings();
-
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> if (mode == "AllowAll")
</span><del>- settings()->setStorageBlockingPolicy(SecurityOrigin::AllowAllStorage);
</del><ins>+ settings().setStorageBlockingPolicy(SecurityOrigin::AllowAllStorage);
</ins><span class="cx"> else if (mode == "BlockThirdParty")
</span><del>- settings()->setStorageBlockingPolicy(SecurityOrigin::BlockThirdPartyStorage);
</del><ins>+ settings().setStorageBlockingPolicy(SecurityOrigin::BlockThirdPartyStorage);
</ins><span class="cx"> else if (mode == "BlockAll")
</span><del>- settings()->setStorageBlockingPolicy(SecurityOrigin::BlockAllStorage);
</del><ins>+ settings().setStorageBlockingPolicy(SecurityOrigin::BlockAllStorage);
</ins><span class="cx"> else
</span><del>- ec = SYNTAX_ERR;
</del><ins>+ return Exception { SYNTAX_ERR };
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InternalSettings::setLangAttributeAwareFormControlUIEnabled(bool enabled)
</span><span class="lines">@@ -468,130 +477,168 @@
</span><span class="cx"> RuntimeEnabledFeatures::sharedFeatures().setLangAttributeAwareFormControlUIEnabled(enabled);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setPreferMIMETypeForImages(bool preferMIMETypeForImages, ExceptionCode &ec)
</del><ins>+ExceptionOr<void> InternalSettings::setPreferMIMETypeForImages(bool preferMIMETypeForImages)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettings();
- settings()->setPreferMIMETypeForImages(preferMIMETypeForImages);
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
+ settings().setPreferMIMETypeForImages(preferMIMETypeForImages);
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setImagesEnabled(bool enabled, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setImagesEnabled(bool enabled)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettings();
- settings()->setImagesEnabled(enabled);
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
+ settings().setImagesEnabled(enabled);
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setPDFImageCachingPolicy(const String& policy, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setPDFImageCachingPolicy(const String& policy)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettings();
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> if (equalLettersIgnoringASCIICase(policy, "disabled"))
</span><del>- settings()->setPdfImageCachingPolicy(PDFImageCachingDisabled);
</del><ins>+ settings().setPdfImageCachingPolicy(PDFImageCachingDisabled);
</ins><span class="cx"> else if (equalLettersIgnoringASCIICase(policy, "belowmemorylimit"))
</span><del>- settings()->setPdfImageCachingPolicy(PDFImageCachingBelowMemoryLimit);
</del><ins>+ settings().setPdfImageCachingPolicy(PDFImageCachingBelowMemoryLimit);
</ins><span class="cx"> else if (equalLettersIgnoringASCIICase(policy, "clipboundsonly"))
</span><del>- settings()->setPdfImageCachingPolicy(PDFImageCachingClipBoundsOnly);
</del><ins>+ settings().setPdfImageCachingPolicy(PDFImageCachingClipBoundsOnly);
</ins><span class="cx"> else if (equalLettersIgnoringASCIICase(policy, "enabled"))
</span><del>- settings()->setPdfImageCachingPolicy(PDFImageCachingEnabled);
</del><ins>+ settings().setPdfImageCachingPolicy(PDFImageCachingEnabled);
</ins><span class="cx"> else
</span><del>- ec = SYNTAX_ERR;
</del><ins>+ return Exception { SYNTAX_ERR };
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setMinimumTimerInterval(double intervalInSeconds, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setMinimumTimerInterval(double intervalInSeconds)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettings();
- settings()->setMinimumDOMTimerInterval(std::chrono::milliseconds((std::chrono::milliseconds::rep)(intervalInSeconds * 1000)));
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
+ settings().setMinimumDOMTimerInterval(std::chrono::milliseconds((std::chrono::milliseconds::rep)(intervalInSeconds * 1000)));
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setDefaultVideoPosterURL(const String& url, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setDefaultVideoPosterURL(const String& url)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettings();
- settings()->setDefaultVideoPosterURL(url);
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
+ settings().setDefaultVideoPosterURL(url);
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setForcePendingWebGLPolicy(bool forced, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setForcePendingWebGLPolicy(bool forced)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettings();
- settings()->setForcePendingWebGLPolicy(forced);
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
+ settings().setForcePendingWebGLPolicy(forced);
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setTimeWithoutMouseMovementBeforeHidingControls(double time, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setTimeWithoutMouseMovementBeforeHidingControls(double time)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettings();
- settings()->setTimeWithoutMouseMovementBeforeHidingControls(time);
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
+ settings().setTimeWithoutMouseMovementBeforeHidingControls(time);
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setUseLegacyBackgroundSizeShorthandBehavior(bool enabled, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setUseLegacyBackgroundSizeShorthandBehavior(bool enabled)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettings();
- settings()->setUseLegacyBackgroundSizeShorthandBehavior(enabled);
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
+ settings().setUseLegacyBackgroundSizeShorthandBehavior(enabled);
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setAutoscrollForDragAndDropEnabled(bool enabled, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setAutoscrollForDragAndDropEnabled(bool enabled)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettings();
- settings()->setAutoscrollForDragAndDropEnabled(enabled);
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
+ settings().setAutoscrollForDragAndDropEnabled(enabled);
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setFontFallbackPrefersPictographs(bool preferPictographs, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setFontFallbackPrefersPictographs(bool preferPictographs)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettings();
- settings()->setFontFallbackPrefersPictographs(preferPictographs);
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
+ settings().setFontFallbackPrefersPictographs(preferPictographs);
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setWebFontsAlwaysFallBack(bool enable, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setWebFontsAlwaysFallBack(bool enable)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettings();
- settings()->setWebFontsAlwaysFallBack(enable);
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
+ settings().setWebFontsAlwaysFallBack(enable);
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setQuickTimePluginReplacementEnabled(bool enabled, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setQuickTimePluginReplacementEnabled(bool enabled)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettings();
- settings()->setQuickTimePluginReplacementEnabled(enabled);
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
+ settings().setQuickTimePluginReplacementEnabled(enabled);
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setYouTubeFlashPluginReplacementEnabled(bool enabled, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setYouTubeFlashPluginReplacementEnabled(bool enabled)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettings();
- settings()->setYouTubeFlashPluginReplacementEnabled(enabled);
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
+ settings().setYouTubeFlashPluginReplacementEnabled(enabled);
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setBackgroundShouldExtendBeyondPage(bool hasExtendedBackground, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setBackgroundShouldExtendBeyondPage(bool hasExtendedBackground)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettings();
- settings()->setBackgroundShouldExtendBeyondPage(hasExtendedBackground);
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
+ settings().setBackgroundShouldExtendBeyondPage(hasExtendedBackground);
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setShouldConvertPositionStyleOnCopy(bool convert, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setShouldConvertPositionStyleOnCopy(bool convert)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettings();
- settings()->setShouldConvertPositionStyleOnCopy(convert);
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
+ settings().setShouldConvertPositionStyleOnCopy(convert);
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setScrollingTreeIncludesFrames(bool enabled, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setScrollingTreeIncludesFrames(bool enabled)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettings();
- settings()->setScrollingTreeIncludesFrames(enabled);
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
+ settings().setScrollingTreeIncludesFrames(enabled);
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setAllowsInlineMediaPlayback(bool allows, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setAllowsInlineMediaPlayback(bool allows)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettings();
- settings()->setAllowsInlineMediaPlayback(allows);
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
+ settings().setAllowsInlineMediaPlayback(allows);
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setAllowsInlineMediaPlaybackAfterFullscreen(bool allows, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setAllowsInlineMediaPlaybackAfterFullscreen(bool allows)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettings();
- settings()->setAllowsInlineMediaPlaybackAfterFullscreen(allows);
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
+ settings().setAllowsInlineMediaPlaybackAfterFullscreen(allows);
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setInlineMediaPlaybackRequiresPlaysInlineAttribute(bool requires, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setInlineMediaPlaybackRequiresPlaysInlineAttribute(bool requires)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettings();
- settings()->setInlineMediaPlaybackRequiresPlaysInlineAttribute(requires);
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
+ settings().setInlineMediaPlaybackRequiresPlaysInlineAttribute(requires);
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setIndexedDBWorkersEnabled(bool enabled, ExceptionCode&)
</del><ins>+void InternalSettings::setIndexedDBWorkersEnabled(bool enabled)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE_IN_WORKERS)
</span><span class="cx"> RuntimeEnabledFeatures::sharedFeatures().setIndexedDBWorkersEnabled(enabled);
</span><span class="lines">@@ -600,58 +647,62 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">
</span><del>-String InternalSettings::userInterfaceDirectionPolicy(ExceptionCode& ec)
</del><ins>+ExceptionOr<String> InternalSettings::userInterfaceDirectionPolicy()
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettingsReturn("");
- switch (settings()->userInterfaceDirectionPolicy()) {
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
+ switch (settings().userInterfaceDirectionPolicy()) {
</ins><span class="cx"> case UserInterfaceDirectionPolicy::Content:
</span><del>- return ASCIILiteral("Content");
</del><ins>+ return String { ASCIILiteral { "Content" } };
</ins><span class="cx"> case UserInterfaceDirectionPolicy::System:
</span><del>- return ASCIILiteral("View");
</del><ins>+ return String { ASCIILiteral { "View" } };
</ins><span class="cx"> }
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><del>- return String();
</del><ins>+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setUserInterfaceDirectionPolicy(const String& policy, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setUserInterfaceDirectionPolicy(const String& policy)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettings();
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> if (equalLettersIgnoringASCIICase(policy, "content")) {
</span><del>- settings()->setUserInterfaceDirectionPolicy(UserInterfaceDirectionPolicy::Content);
- return;
</del><ins>+ settings().setUserInterfaceDirectionPolicy(UserInterfaceDirectionPolicy::Content);
+ return { };
</ins><span class="cx"> }
</span><span class="cx"> if (equalLettersIgnoringASCIICase(policy, "view")) {
</span><del>- settings()->setUserInterfaceDirectionPolicy(UserInterfaceDirectionPolicy::System);
- return;
</del><ins>+ settings().setUserInterfaceDirectionPolicy(UserInterfaceDirectionPolicy::System);
+ return { };
</ins><span class="cx"> }
</span><del>- ec = INVALID_ACCESS_ERR;
</del><ins>+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-String InternalSettings::systemLayoutDirection(ExceptionCode& ec)
</del><ins>+ExceptionOr<String> InternalSettings::systemLayoutDirection()
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettingsReturn("");
- switch (settings()->systemLayoutDirection()) {
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
+ switch (settings().systemLayoutDirection()) {
</ins><span class="cx"> case LTR:
</span><del>- return ASCIILiteral("LTR");
</del><ins>+ return String { ASCIILiteral { "LTR" } };
</ins><span class="cx"> case RTL:
</span><del>- return ASCIILiteral("RTL");
</del><ins>+ return String { ASCIILiteral { "RTL" } };
</ins><span class="cx"> }
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><del>- return String();
</del><ins>+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setSystemLayoutDirection(const String& direction, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setSystemLayoutDirection(const String& direction)
</ins><span class="cx"> {
</span><del>- InternalSettingsGuardForSettings();
</del><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> if (equalLettersIgnoringASCIICase(direction, "ltr")) {
</span><del>- settings()->setSystemLayoutDirection(LTR);
- return;
</del><ins>+ settings().setSystemLayoutDirection(LTR);
+ return { };
</ins><span class="cx"> }
</span><span class="cx"> if (equalLettersIgnoringASCIICase(direction, "rtl")) {
</span><del>- settings()->setSystemLayoutDirection(RTL);
- return;
</del><ins>+ settings().setSystemLayoutDirection(RTL);
+ return { };
</ins><span class="cx"> }
</span><del>- ec = INVALID_ACCESS_ERR;
</del><ins>+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InternalSettings::setAllowsAnySSLCertificate(bool allowsAnyCertificate)
</span><span class="lines">@@ -659,31 +710,32 @@
</span><span class="cx"> Settings::setAllowsAnySSLCertificate(allowsAnyCertificate);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool InternalSettings::variationFontsEnabled(ExceptionCode& ec)
</del><ins>+ExceptionOr<bool> InternalSettings::variationFontsEnabled()
</ins><span class="cx"> {
</span><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> #if ENABLE(VARIATION_FONTS)
</span><del>- InternalSettingsGuardForSettingsReturn(true);
- return settings()->variationFontsEnabled();
</del><ins>+ return settings().variationFontsEnabled();
</ins><span class="cx"> #else
</span><del>- UNUSED_PARAM(ec);
</del><span class="cx"> return false;
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void InternalSettings::setVariationFontsEnabled(bool enabled, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> InternalSettings::setVariationFontsEnabled(bool enabled)
</ins><span class="cx"> {
</span><ins>+ if (!m_page)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> #if ENABLE(VARIATION_FONTS)
</span><del>- InternalSettingsGuardForSettings();
- settings()->setVariationFontsEnabled(enabled);
</del><ins>+ settings().setVariationFontsEnabled(enabled);
</ins><span class="cx"> #else
</span><span class="cx"> UNUSED_PARAM(enabled);
</span><del>- UNUSED_PARAM(ec);
</del><span class="cx"> #endif
</span><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> InternalSettings::ForcedPrefersReducedMotionValue InternalSettings::forcedPrefersReducedMotionValue() const
</span><span class="cx"> {
</span><del>- switch (settings()->forcedPrefersReducedMotionValue()) {
</del><ins>+ switch (settings().forcedPrefersReducedMotionValue()) {
</ins><span class="cx"> case Settings::ForcedPrefersReducedMotionValue::System:
</span><span class="cx"> return InternalSettings::ForcedPrefersReducedMotionValue::System;
</span><span class="cx"> case Settings::ForcedPrefersReducedMotionValue::On:
</span><span class="lines">@@ -700,17 +752,19 @@
</span><span class="cx"> {
</span><span class="cx"> switch (value) {
</span><span class="cx"> case InternalSettings::ForcedPrefersReducedMotionValue::System:
</span><del>- settings()->setForcedPrefersReducedMotionValue(Settings::ForcedPrefersReducedMotionValue::System);
- break;
</del><ins>+ settings().setForcedPrefersReducedMotionValue(Settings::ForcedPrefersReducedMotionValue::System);
+ return;
</ins><span class="cx"> case InternalSettings::ForcedPrefersReducedMotionValue::On:
</span><del>- settings()->setForcedPrefersReducedMotionValue(Settings::ForcedPrefersReducedMotionValue::On);
- break;
</del><ins>+ settings().setForcedPrefersReducedMotionValue(Settings::ForcedPrefersReducedMotionValue::On);
+ return;
</ins><span class="cx"> case InternalSettings::ForcedPrefersReducedMotionValue::Off:
</span><del>- settings()->setForcedPrefersReducedMotionValue(Settings::ForcedPrefersReducedMotionValue::Off);
- break;
</del><ins>+ settings().setForcedPrefersReducedMotionValue(Settings::ForcedPrefersReducedMotionValue::Off);
+ return;
</ins><span class="cx"> }
</span><ins>+
+ ASSERT_NOT_REACHED();
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-// If you add to this list, make sure that you update the Backup class for test reproducability!
</del><ins>+// If you add to this class, make sure that you update the Backup class for test reproducability!
</ins><span class="cx">
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalSettingsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/InternalSettings.h (207520 => 207521)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/InternalSettings.h        2016-10-19 05:03:11 UTC (rev 207520)
+++ trunk/Source/WebCore/testing/InternalSettings.h        2016-10-19 05:25:06 UTC (rev 207521)
</span><span class="lines">@@ -30,6 +30,7 @@
</span><span class="cx"> #include <wtf/text/AtomicStringHash.h>
</span><span class="cx">
</span><span class="cx"> #include "EditingBehaviorTypes.h"
</span><ins>+#include "ExceptionOr.h"
</ins><span class="cx"> #include "FontGenericFamilies.h"
</span><span class="cx"> #include "IntSize.h"
</span><span class="cx"> #include "InternalSettingsGenerated.h"
</span><span class="lines">@@ -39,15 +40,75 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-typedef int ExceptionCode;
-
-class Frame;
-class Document;
</del><span class="cx"> class Page;
</span><span class="cx"> class Settings;
</span><span class="cx">
</span><span class="cx"> class InternalSettings : public InternalSettingsGenerated {
</span><span class="cx"> public:
</span><ins>+ static Ref<InternalSettings> create(Page*);
+ static InternalSettings* from(Page*);
+ void hostDestroyed();
+ void resetToConsistentState();
+
+ ExceptionOr<void> setUsesOverlayScrollbars(bool);
+ ExceptionOr<void> setTouchEventEmulationEnabled(bool);
+ ExceptionOr<void> setStandardFontFamily(const String& family, const String& script);
+ ExceptionOr<void> setSerifFontFamily(const String& family, const String& script);
+ ExceptionOr<void> setSansSerifFontFamily(const String& family, const String& script);
+ ExceptionOr<void> setFixedFontFamily(const String& family, const String& script);
+ ExceptionOr<void> setCursiveFontFamily(const String& family, const String& script);
+ ExceptionOr<void> setFantasyFontFamily(const String& family, const String& script);
+ ExceptionOr<void> setPictographFontFamily(const String& family, const String& script);
+ ExceptionOr<void> setTextAutosizingEnabled(bool);
+ ExceptionOr<void> setTextAutosizingWindowSizeOverride(int width, int height);
+ ExceptionOr<void> setTextAutosizingFontScaleFactor(float);
+ ExceptionOr<void> setMediaTypeOverride(const String&);
+ ExceptionOr<void> setCanStartMedia(bool);
+ ExceptionOr<void> setAllowsAirPlayForMediaPlayback(bool);
+ ExceptionOr<void> setEditingBehavior(const String&);
+ ExceptionOr<void> setPreferMIMETypeForImages(bool);
+ ExceptionOr<void> setPDFImageCachingPolicy(const String&);
+ ExceptionOr<void> setShouldDisplayTrackKind(const String& kind, bool enabled);
+ ExceptionOr<bool> shouldDisplayTrackKind(const String& kind);
+ ExceptionOr<void> setStorageBlockingPolicy(const String&);
+ static void setLangAttributeAwareFormControlUIEnabled(bool);
+ ExceptionOr<void> setImagesEnabled(bool);
+ ExceptionOr<void> setMinimumTimerInterval(double intervalInSeconds);
+ ExceptionOr<void> setDefaultVideoPosterURL(const String&);
+ ExceptionOr<void> setForcePendingWebGLPolicy(bool);
+ ExceptionOr<void> setTimeWithoutMouseMovementBeforeHidingControls(double);
+ ExceptionOr<void> setUseLegacyBackgroundSizeShorthandBehavior(bool);
+ ExceptionOr<void> setAutoscrollForDragAndDropEnabled(bool);
+ ExceptionOr<void> setFontFallbackPrefersPictographs(bool);
+ ExceptionOr<void> setWebFontsAlwaysFallBack(bool);
+ ExceptionOr<void> setQuickTimePluginReplacementEnabled(bool);
+ ExceptionOr<void> setYouTubeFlashPluginReplacementEnabled(bool);
+ ExceptionOr<void> setBackgroundShouldExtendBeyondPage(bool);
+ ExceptionOr<void> setShouldConvertPositionStyleOnCopy(bool);
+ ExceptionOr<void> setScrollingTreeIncludesFrames(bool);
+ ExceptionOr<void> setAllowsInlineMediaPlayback(bool);
+ ExceptionOr<void> setAllowsInlineMediaPlaybackAfterFullscreen(bool);
+ ExceptionOr<void> setInlineMediaPlaybackRequiresPlaysInlineAttribute(bool);
+ static void setIndexedDBWorkersEnabled(bool);
+ ExceptionOr<String> userInterfaceDirectionPolicy();
+ ExceptionOr<void> setUserInterfaceDirectionPolicy(const String&);
+ ExceptionOr<String> systemLayoutDirection();
+ ExceptionOr<void> setSystemLayoutDirection(const String&);
+ ExceptionOr<bool> variationFontsEnabled();
+ ExceptionOr<void> setVariationFontsEnabled(bool);
+
+ enum class ForcedPrefersReducedMotionValue { System, On, Off };
+ ForcedPrefersReducedMotionValue forcedPrefersReducedMotionValue() const;
+ void setForcedPrefersReducedMotionValue(ForcedPrefersReducedMotionValue);
+
+ static void setAllowsAnySSLCertificate(bool);
+
+private:
+ explicit InternalSettings(Page*);
+
+ Settings& settings() const;
+ static const char* supplementName();
+
</ins><span class="cx"> class Backup {
</span><span class="cx"> public:
</span><span class="cx"> explicit Backup(Settings&);
</span><span class="lines">@@ -118,76 +179,6 @@
</span><span class="cx"> Settings::ForcedPrefersReducedMotionValue m_forcedPrefersReducedMotionValue;
</span><span class="cx"> };
</span><span class="cx">
</span><del>- static Ref<InternalSettings> create(Page* page)
- {
- return adoptRef(*new InternalSettings(page));
- }
- static InternalSettings* from(Page*);
- void hostDestroyed() { m_page = 0; }
-
- virtual ~InternalSettings();
- void resetToConsistentState();
-
- void setUsesOverlayScrollbars(bool, ExceptionCode&);
- void setTouchEventEmulationEnabled(bool, ExceptionCode&);
- void setStandardFontFamily(const String& family, const String& script, ExceptionCode&);
- void setSerifFontFamily(const String& family, const String& script, ExceptionCode&);
- void setSansSerifFontFamily(const String& family, const String& script, ExceptionCode&);
- void setFixedFontFamily(const String& family, const String& script, ExceptionCode&);
- void setCursiveFontFamily(const String& family, const String& script, ExceptionCode&);
- void setFantasyFontFamily(const String& family, const String& script, ExceptionCode&);
- void setPictographFontFamily(const String& family, const String& script, ExceptionCode&);
- void setTextAutosizingEnabled(bool enabled, ExceptionCode&);
- void setTextAutosizingWindowSizeOverride(int width, int height, ExceptionCode&);
- void setTextAutosizingFontScaleFactor(float fontScaleFactor, ExceptionCode&);
- void setMediaTypeOverride(const String& mediaType, ExceptionCode&);
- void setCanStartMedia(bool, ExceptionCode&);
- void setAllowsAirPlayForMediaPlayback(bool);
- void setEditingBehavior(const String&, ExceptionCode&);
- void setPreferMIMETypeForImages(bool, ExceptionCode&);
- void setPDFImageCachingPolicy(const String&, ExceptionCode&);
- void setShouldDisplayTrackKind(const String& kind, bool enabled, ExceptionCode&);
- bool shouldDisplayTrackKind(const String& kind, ExceptionCode&);
- void setStorageBlockingPolicy(const String&, ExceptionCode&);
- void setLangAttributeAwareFormControlUIEnabled(bool);
- void setImagesEnabled(bool, ExceptionCode&);
- void setMinimumTimerInterval(double intervalInSeconds, ExceptionCode&);
- void setDefaultVideoPosterURL(const String& url, ExceptionCode&);
- void setForcePendingWebGLPolicy(bool, ExceptionCode&);
- void setTimeWithoutMouseMovementBeforeHidingControls(double time, ExceptionCode&);
- void setUseLegacyBackgroundSizeShorthandBehavior(bool, ExceptionCode&);
- void setAutoscrollForDragAndDropEnabled(bool, ExceptionCode&);
- void setFontFallbackPrefersPictographs(bool, ExceptionCode&);
- void setWebFontsAlwaysFallBack(bool, ExceptionCode&);
- void setQuickTimePluginReplacementEnabled(bool, ExceptionCode&);
- void setYouTubeFlashPluginReplacementEnabled(bool, ExceptionCode&);
- void setBackgroundShouldExtendBeyondPage(bool, ExceptionCode&);
- void setShouldConvertPositionStyleOnCopy(bool, ExceptionCode&);
- void setScrollingTreeIncludesFrames(bool, ExceptionCode&);
- void setAllowsInlineMediaPlayback(bool, ExceptionCode&);
- void setAllowsInlineMediaPlaybackAfterFullscreen(bool, ExceptionCode&);
- void setInlineMediaPlaybackRequiresPlaysInlineAttribute(bool, ExceptionCode&);
- void setIndexedDBWorkersEnabled(bool, ExceptionCode&);
- String userInterfaceDirectionPolicy(ExceptionCode&);
- void setUserInterfaceDirectionPolicy(const String& policy, ExceptionCode&);
- String systemLayoutDirection(ExceptionCode&);
- void setSystemLayoutDirection(const String& direction, ExceptionCode&);
- bool variationFontsEnabled(ExceptionCode&);
- void setVariationFontsEnabled(bool, ExceptionCode&);
-
- enum class ForcedPrefersReducedMotionValue { System, On, Off };
- ForcedPrefersReducedMotionValue forcedPrefersReducedMotionValue() const;
- void setForcedPrefersReducedMotionValue(ForcedPrefersReducedMotionValue);
-
- static void setAllowsAnySSLCertificate(bool);
-
-private:
- explicit InternalSettings(Page*);
-
- Settings* settings() const;
- Page* page() const { return m_page; }
- static const char* supplementName();
-
</del><span class="cx"> Page* m_page;
</span><span class="cx"> Backup m_backup;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalSettingsidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/InternalSettings.idl (207520 => 207521)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/InternalSettings.idl        2016-10-19 05:03:11 UTC (rev 207520)
+++ trunk/Source/WebCore/testing/InternalSettings.idl        2016-10-19 05:25:06 UTC (rev 207521)
</span><span class="lines">@@ -31,65 +31,65 @@
</span><span class="cx"> JSGenerateToJSObject,
</span><span class="cx"> ExportMacro=WEBCORE_TESTSUPPORT_EXPORT,
</span><span class="cx"> ] interface InternalSettings : InternalSettingsGenerated {
</span><del>- [MayThrowLegacyException] void setTouchEventEmulationEnabled(boolean enabled);
</del><ins>+ [MayThrowException] void setTouchEventEmulationEnabled(boolean enabled);
</ins><span class="cx">
</span><span class="cx"> // Fonts, text
</span><del>- [MayThrowLegacyException] void setStandardFontFamily(DOMString family, DOMString script);
- [MayThrowLegacyException] void setSerifFontFamily(DOMString family, DOMString script);
- [MayThrowLegacyException] void setSansSerifFontFamily(DOMString family, DOMString script);
- [MayThrowLegacyException] void setFixedFontFamily(DOMString family, DOMString script);
- [MayThrowLegacyException] void setCursiveFontFamily(DOMString family, DOMString script);
- [MayThrowLegacyException] void setFantasyFontFamily(DOMString family, DOMString script);
- [MayThrowLegacyException] void setPictographFontFamily(DOMString family, DOMString script);
- [MayThrowLegacyException] void setFontFallbackPrefersPictographs(boolean preferPictographs);
- [MayThrowLegacyException] void setWebFontsAlwaysFallBack(boolean enable);
</del><ins>+ [MayThrowException] void setStandardFontFamily(DOMString family, DOMString script);
+ [MayThrowException] void setSerifFontFamily(DOMString family, DOMString script);
+ [MayThrowException] void setSansSerifFontFamily(DOMString family, DOMString script);
+ [MayThrowException] void setFixedFontFamily(DOMString family, DOMString script);
+ [MayThrowException] void setCursiveFontFamily(DOMString family, DOMString script);
+ [MayThrowException] void setFantasyFontFamily(DOMString family, DOMString script);
+ [MayThrowException] void setPictographFontFamily(DOMString family, DOMString script);
+ [MayThrowException] void setFontFallbackPrefersPictographs(boolean preferPictographs);
+ [MayThrowException] void setWebFontsAlwaysFallBack(boolean enable);
</ins><span class="cx">
</span><del>- [MayThrowLegacyException] void setTextAutosizingEnabled(boolean enabled);
- [MayThrowLegacyException] void setTextAutosizingWindowSizeOverride(long width, long height);
</del><ins>+ [MayThrowException] void setTextAutosizingEnabled(boolean enabled);
+ [MayThrowException] void setTextAutosizingWindowSizeOverride(long width, long height);
</ins><span class="cx">
</span><span class="cx"> // Media
</span><del>- [MayThrowLegacyException] void setCanStartMedia(boolean enabled);
- [Conditional=VIDEO_TRACK, MayThrowLegacyException] void setShouldDisplayTrackKind(DOMString kind, boolean enabled);
- [Conditional=VIDEO_TRACK, MayThrowLegacyException] boolean shouldDisplayTrackKind(DOMString trackKind);
- [MayThrowLegacyException] void setDefaultVideoPosterURL(DOMString poster);
- [MayThrowLegacyException] void setTimeWithoutMouseMovementBeforeHidingControls(unrestricted double time);
- [MayThrowLegacyException] void setMediaTypeOverride(DOMString mediaTypeOverride);
</del><ins>+ [MayThrowException] void setCanStartMedia(boolean enabled);
+ [Conditional=VIDEO_TRACK, MayThrowException] void setShouldDisplayTrackKind(DOMString kind, boolean enabled);
+ [Conditional=VIDEO_TRACK, MayThrowException] boolean shouldDisplayTrackKind(DOMString trackKind);
+ [MayThrowException] void setDefaultVideoPosterURL(DOMString poster);
+ [MayThrowException] void setTimeWithoutMouseMovementBeforeHidingControls(unrestricted double time);
+ [MayThrowException] void setMediaTypeOverride(DOMString mediaTypeOverride);
</ins><span class="cx"> void setAllowsAirPlayForMediaPlayback(boolean available);
</span><span class="cx">
</span><del>- [MayThrowLegacyException] void setForcePendingWebGLPolicy(boolean forced);
</del><ins>+ [MayThrowException] void setForcePendingWebGLPolicy(boolean forced);
</ins><span class="cx">
</span><del>- [MayThrowLegacyException] void setQuickTimePluginReplacementEnabled(boolean enabled);
- [MayThrowLegacyException] void setYouTubeFlashPluginReplacementEnabled(boolean enabled);
</del><ins>+ [MayThrowException] void setQuickTimePluginReplacementEnabled(boolean enabled);
+ [MayThrowException] void setYouTubeFlashPluginReplacementEnabled(boolean enabled);
</ins><span class="cx">
</span><span class="cx"> // Editing, forms
</span><del>- [MayThrowLegacyException] void setEditingBehavior(DOMString behavior);
- [MayThrowLegacyException] void setShouldConvertPositionStyleOnCopy(boolean convertPosition);
</del><ins>+ [MayThrowException] void setEditingBehavior(DOMString behavior);
+ [MayThrowException] void setShouldConvertPositionStyleOnCopy(boolean convertPosition);
</ins><span class="cx"> void setLangAttributeAwareFormControlUIEnabled(boolean enabled);
</span><del>- [MayThrowLegacyException] void setPreferMIMETypeForImages(boolean preferMimeTypeForImage);
</del><ins>+ [MayThrowException] void setPreferMIMETypeForImages(boolean preferMimeTypeForImage);
</ins><span class="cx">
</span><span class="cx"> // Other switches
</span><del>- [MayThrowLegacyException] void setStorageBlockingPolicy(DOMString policy);
- [MayThrowLegacyException] void setImagesEnabled(boolean enabled);
- [MayThrowLegacyException] void setPDFImageCachingPolicy(DOMString policy);
- [MayThrowLegacyException] void setUseLegacyBackgroundSizeShorthandBehavior(boolean enabled);
- [MayThrowLegacyException] void setAutoscrollForDragAndDropEnabled(boolean enabled);
- [MayThrowLegacyException] void setBackgroundShouldExtendBeyondPage(boolean hasExtendedBackground);
- [MayThrowLegacyException] void setScrollingTreeIncludesFrames(boolean enabled);
</del><ins>+ [MayThrowException] void setStorageBlockingPolicy(DOMString policy);
+ [MayThrowException] void setImagesEnabled(boolean enabled);
+ [MayThrowException] void setPDFImageCachingPolicy(DOMString policy);
+ [MayThrowException] void setUseLegacyBackgroundSizeShorthandBehavior(boolean enabled);
+ [MayThrowException] void setAutoscrollForDragAndDropEnabled(boolean enabled);
+ [MayThrowException] void setBackgroundShouldExtendBeyondPage(boolean hasExtendedBackground);
+ [MayThrowException] void setScrollingTreeIncludesFrames(boolean enabled);
</ins><span class="cx">
</span><del>- [MayThrowLegacyException] void setMinimumTimerInterval(unrestricted double intervalInSeconds);
- [MayThrowLegacyException] void setAllowsInlineMediaPlayback(boolean allows);
- [MayThrowLegacyException] void setAllowsInlineMediaPlaybackAfterFullscreen(boolean allows);
- [MayThrowLegacyException] void setInlineMediaPlaybackRequiresPlaysInlineAttribute(boolean requires);
</del><ins>+ [MayThrowException] void setMinimumTimerInterval(unrestricted double intervalInSeconds);
+ [MayThrowException] void setAllowsInlineMediaPlayback(boolean allows);
+ [MayThrowException] void setAllowsInlineMediaPlaybackAfterFullscreen(boolean allows);
+ [MayThrowException] void setInlineMediaPlaybackRequiresPlaysInlineAttribute(boolean requires);
</ins><span class="cx">
</span><del>- [MayThrowLegacyException] void setIndexedDBWorkersEnabled(boolean requires);
</del><ins>+ void setIndexedDBWorkersEnabled(boolean requires);
</ins><span class="cx">
</span><del>- [MayThrowLegacyException] DOMString userInterfaceDirectionPolicy();
- [MayThrowLegacyException] void setUserInterfaceDirectionPolicy(DOMString policy);
- [MayThrowLegacyException] DOMString systemLayoutDirection();
- [MayThrowLegacyException] void setSystemLayoutDirection(DOMString direction);
</del><ins>+ [MayThrowException] DOMString userInterfaceDirectionPolicy();
+ [MayThrowException] void setUserInterfaceDirectionPolicy(DOMString policy);
+ [MayThrowException] DOMString systemLayoutDirection();
+ [MayThrowException] void setSystemLayoutDirection(DOMString direction);
</ins><span class="cx">
</span><del>- [MayThrowLegacyException] boolean variationFontsEnabled();
- [MayThrowLegacyException] void setVariationFontsEnabled(boolean enabled);
</del><ins>+ [MayThrowException] boolean variationFontsEnabled();
+ [MayThrowException] void setVariationFontsEnabled(boolean enabled);
</ins><span class="cx">
</span><span class="cx"> attribute ForcedPrefersReducedMotionValue forcedPrefersReducedMotionValue;
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/Internals.cpp (207520 => 207521)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/Internals.cpp        2016-10-19 05:03:11 UTC (rev 207520)
+++ trunk/Source/WebCore/testing/Internals.cpp        2016-10-19 05:25:06 UTC (rev 207521)
</span><span class="lines">@@ -108,6 +108,7 @@
</span><span class="cx"> #include "RenderedDocumentMarker.h"
</span><span class="cx"> #include "ResourceLoadObserver.h"
</span><span class="cx"> #include "RuntimeEnabledFeatures.h"
</span><ins>+#include "SVGPathStringBuilder.h"
</ins><span class="cx"> #include "SchemeRegistry.h"
</span><span class="cx"> #include "ScriptedAnimationController.h"
</span><span class="cx"> #include "ScrollingCoordinator.h"
</span><span class="lines">@@ -232,28 +233,24 @@
</span><span class="cx">
</span><span class="cx"> using namespace HTMLNames;
</span><span class="cx">
</span><del>-class InspectorStubFrontend : public InspectorFrontendClientLocal, public FrontendChannel {
</del><ins>+class InspectorStubFrontend final : public InspectorFrontendClientLocal, public FrontendChannel {
</ins><span class="cx"> public:
</span><span class="cx"> InspectorStubFrontend(Page& inspectedPage, RefPtr<DOMWindow>&& frontendWindow);
</span><span class="cx"> virtual ~InspectorStubFrontend();
</span><span class="cx">
</span><del>- // InspectorFrontendClient API
- void attachWindow(DockSide) override { }
- void detachWindow() override { }
- void closeWindow() override;
- void bringToFront() override { }
- String localizedStringsURL() override { return String(); }
- void inspectedURLChanged(const String&) override { }
-protected:
- void setAttachedWindowHeight(unsigned) override { }
- void setAttachedWindowWidth(unsigned) override { }
</del><ins>+private:
+ void attachWindow(DockSide) final { }
+ void detachWindow() final { }
+ void closeWindow() final;
+ void bringToFront() final { }
+ String localizedStringsURL() final { return String(); }
+ void inspectedURLChanged(const String&) final { }
+ void setAttachedWindowHeight(unsigned) final { }
+ void setAttachedWindowWidth(unsigned) final { }
</ins><span class="cx">
</span><del>-public:
- // Inspector::FrontendChannel API
- bool sendMessageToFrontend(const String& message) override;
- ConnectionType connectionType() const override { return ConnectionType::Local; }
</del><ins>+ bool sendMessageToFrontend(const String& message) final;
+ ConnectionType connectionType() const final { return ConnectionType::Local; }
</ins><span class="cx">
</span><del>-private:
</del><span class="cx"> Page* frontendPage() const
</span><span class="cx"> {
</span><span class="cx"> if (!m_frontendWindow || !m_frontendWindow->document())
</span><span class="lines">@@ -586,14 +583,13 @@
</span><span class="cx"> frame()->loader().setOverrideCachePolicyForTesting(toResourceRequestCachePolicy(policy));
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::setCanShowModalDialogOverride(bool allow, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::setCanShowModalDialogOverride(bool allow)
</ins><span class="cx"> {
</span><del>- if (!contextDocument() || !contextDocument()->domWindow()) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ if (!contextDocument() || !contextDocument()->domWindow())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> contextDocument()->domWindow()->setCanShowModalDialogOverride(allow);
</span><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static ResourceLoadPriority toResourceLoadPriority(Internals::ResourceLoadPriority priority)
</span><span class="lines">@@ -671,12 +667,10 @@
</span><span class="cx"> return parentTreeScope ? &parentTreeScope->rootNode() : nullptr;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-unsigned Internals::lastSpatialNavigationCandidateCount(ExceptionCode& ec) const
</del><ins>+ExceptionOr<unsigned> Internals::lastSpatialNavigationCandidateCount() const
</ins><span class="cx"> {
</span><del>- if (!contextDocument() || !contextDocument()->page()) {
- ec = INVALID_ACCESS_ERR;
- return 0;
- }
</del><ins>+ if (!contextDocument() || !contextDocument()->page())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> return contextDocument()->page()->lastSpatialNavigationCandidateCount();
</span><span class="cx"> }
</span><span class="lines">@@ -686,110 +680,88 @@
</span><span class="cx"> return frame()->animation().numberOfActiveAnimations(frame()->document());
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool Internals::animationsAreSuspended(ExceptionCode& ec) const
</del><ins>+ExceptionOr<bool> Internals::animationsAreSuspended() const
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->frame()) {
- ec = INVALID_ACCESS_ERR;
- return false;
- }
</del><ins>+ if (!document || !document->frame())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> return document->frame()->animation().isSuspended();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::suspendAnimations(ExceptionCode& ec) const
</del><ins>+ExceptionOr<void> Internals::suspendAnimations() const
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->frame()) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ if (!document || !document->frame())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> document->frame()->animation().suspendAnimations();
</span><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::resumeAnimations(ExceptionCode& ec) const
</del><ins>+ExceptionOr<void> Internals::resumeAnimations() const
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->frame()) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ if (!document || !document->frame())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> document->frame()->animation().resumeAnimations();
</span><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-bool Internals::pauseAnimationAtTimeOnElement(const String& animationName, double pauseTime, Element& element, ExceptionCode& ec)
</del><ins>+ExceptionOr<bool> Internals::pauseAnimationAtTimeOnElement(const String& animationName, double pauseTime, Element& element)
</ins><span class="cx"> {
</span><del>- if (pauseTime < 0) {
- ec = INVALID_ACCESS_ERR;
- return false;
- }
</del><ins>+ if (pauseTime < 0)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> return frame()->animation().pauseAnimationAtTime(element.renderer(), AtomicString(animationName), pauseTime);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool Internals::pauseAnimationAtTimeOnPseudoElement(const String& animationName, double pauseTime, Element& element, const String& pseudoId, ExceptionCode& ec)
</del><ins>+ExceptionOr<bool> Internals::pauseAnimationAtTimeOnPseudoElement(const String& animationName, double pauseTime, Element& element, const String& pseudoId)
</ins><span class="cx"> {
</span><del>- if (pauseTime < 0) {
- ec = INVALID_ACCESS_ERR;
- return false;
- }
</del><ins>+ if (pauseTime < 0)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><del>- if (pseudoId != "before" && pseudoId != "after") {
- ec = INVALID_ACCESS_ERR;
- return false;
- }
</del><ins>+ if (pseudoId != "before" && pseudoId != "after")
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> PseudoElement* pseudoElement = pseudoId == "before" ? element.beforePseudoElement() : element.afterPseudoElement();
</span><del>- if (!pseudoElement) {
- ec = INVALID_ACCESS_ERR;
- return false;
- }
</del><ins>+ if (!pseudoElement)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> return frame()->animation().pauseAnimationAtTime(pseudoElement->renderer(), AtomicString(animationName), pauseTime);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool Internals::pauseTransitionAtTimeOnElement(const String& propertyName, double pauseTime, Element& element, ExceptionCode& ec)
</del><ins>+ExceptionOr<bool> Internals::pauseTransitionAtTimeOnElement(const String& propertyName, double pauseTime, Element& element)
</ins><span class="cx"> {
</span><del>- if (pauseTime < 0) {
- ec = INVALID_ACCESS_ERR;
- return false;
- }
</del><ins>+ if (pauseTime < 0)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> return frame()->animation().pauseTransitionAtTime(element.renderer(), propertyName, pauseTime);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool Internals::pauseTransitionAtTimeOnPseudoElement(const String& property, double pauseTime, Element& element, const String& pseudoId, ExceptionCode& ec)
</del><ins>+ExceptionOr<bool> Internals::pauseTransitionAtTimeOnPseudoElement(const String& property, double pauseTime, Element& element, const String& pseudoId)
</ins><span class="cx"> {
</span><del>- if (pauseTime < 0) {
- ec = INVALID_ACCESS_ERR;
- return false;
- }
</del><ins>+ if (pauseTime < 0)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><del>- if (pseudoId != "before" && pseudoId != "after") {
- ec = INVALID_ACCESS_ERR;
- return false;
- }
</del><ins>+ if (pseudoId != "before" && pseudoId != "after")
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> PseudoElement* pseudoElement = pseudoId == "before" ? element.beforePseudoElement() : element.afterPseudoElement();
</span><del>- if (!pseudoElement) {
- ec = INVALID_ACCESS_ERR;
- return false;
- }
</del><ins>+ if (!pseudoElement)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> return frame()->animation().pauseTransitionAtTime(pseudoElement->renderer(), property, pauseTime);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-String Internals::elementRenderTreeAsText(Element& element, ExceptionCode& ec)
</del><ins>+ExceptionOr<String> Internals::elementRenderTreeAsText(Element& element)
</ins><span class="cx"> {
</span><span class="cx"> element.document().updateStyleIfNeeded();
</span><span class="cx">
</span><span class="cx"> String representation = externalRepresentation(&element);
</span><del>- if (representation.isEmpty()) {
- ec = INVALID_ACCESS_ERR;
- return String();
- }
</del><ins>+ if (representation.isEmpty())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><del>- return representation;
</del><ins>+ return WTFMove(representation);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool Internals::hasPausedImageAnimations(Element& element)
</span><span class="lines">@@ -803,12 +775,16 @@
</span><span class="cx"> return CSSComputedStyleDeclaration::create(element, allowVisitedStyle);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-Node* Internals::ensureShadowRoot(Element& host, ExceptionCode& ec)
</del><ins>+ExceptionOr<Node*> Internals::ensureShadowRoot(Element& host)
</ins><span class="cx"> {
</span><span class="cx"> if (ShadowRoot* shadowRoot = host.shadowRoot())
</span><span class="cx"> return shadowRoot;
</span><span class="cx">
</span><del>- return host.createShadowRoot(ec).get();
</del><ins>+ ExceptionCode ec = 0;
+ auto result = host.createShadowRoot(ec);
+ if (ec)
+ return Exception { ec };
+ return result;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> Node* Internals::ensureUserAgentShadowRoot(Element& host)
</span><span class="lines">@@ -816,9 +792,13 @@
</span><span class="cx"> return &host.ensureUserAgentShadowRoot();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-Node* Internals::createShadowRoot(Element& host, ExceptionCode& ec)
</del><ins>+ExceptionOr<Node*> Internals::createShadowRoot(Element& host)
</ins><span class="cx"> {
</span><del>- return host.createShadowRoot(ec).get();
</del><ins>+ ExceptionCode ec = 0;
+ auto result = host.createShadowRoot(ec);
+ if (ec)
+ return Exception { ec };
+ return result;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> Node* Internals::shadowRoot(Element& host)
</span><span class="lines">@@ -826,12 +806,10 @@
</span><span class="cx"> return host.shadowRoot();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-String Internals::shadowRootType(const Node& root, ExceptionCode& ec) const
</del><ins>+ExceptionOr<String> Internals::shadowRootType(const Node& root) const
</ins><span class="cx"> {
</span><del>- if (!is<ShadowRoot>(root)) {
- ec = INVALID_ACCESS_ERR;
- return String();
- }
</del><ins>+ if (!is<ShadowRoot>(root))
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> switch (downcast<ShadowRoot>(root).mode()) {
</span><span class="cx"> case ShadowRoot::Mode::UserAgent:
</span><span class="lines">@@ -856,13 +834,11 @@
</span><span class="cx"> return element.setPseudo(id);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool Internals::isTimerThrottled(int timeoutId, ExceptionCode& ec)
</del><ins>+ExceptionOr<bool> Internals::isTimerThrottled(int timeoutId)
</ins><span class="cx"> {
</span><span class="cx"> DOMTimer* timer = scriptExecutionContext()->findTimeout(timeoutId);
</span><del>- if (!timer) {
- ec = NOT_FOUND_ERR;
- return false;
- }
</del><ins>+ if (!timer)
+ return Exception { NOT_FOUND_ERR };
</ins><span class="cx"> return timer->m_throttleState == DOMTimer::ShouldThrottle;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -901,28 +877,22 @@
</span><span class="cx"> element.selectColor(Color(colorValue));
</span><span class="cx"> }
</span><span class="cx">
</span><del>-Vector<String> Internals::formControlStateOfPreviousHistoryItem(ExceptionCode& ec)
</del><ins>+ExceptionOr<Vector<String>> Internals::formControlStateOfPreviousHistoryItem()
</ins><span class="cx"> {
</span><span class="cx"> HistoryItem* mainItem = frame()->loader().history().previousItem();
</span><del>- if (!mainItem) {
- ec = INVALID_ACCESS_ERR;
- return Vector<String>();
- }
</del><ins>+ if (!mainItem)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> String uniqueName = frame()->tree().uniqueName();
</span><del>- if (mainItem->target() != uniqueName && !mainItem->childItemWithTarget(uniqueName)) {
- ec = INVALID_ACCESS_ERR;
- return Vector<String>();
- }
- return mainItem->target() == uniqueName ? mainItem->documentState() : mainItem->childItemWithTarget(uniqueName)->documentState();
</del><ins>+ if (mainItem->target() != uniqueName && !mainItem->childItemWithTarget(uniqueName))
+ return Exception { INVALID_ACCESS_ERR };
+ return Vector<String> { mainItem->target() == uniqueName ? mainItem->documentState() : mainItem->childItemWithTarget(uniqueName)->documentState() };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::setFormControlStateOfPreviousHistoryItem(const Vector<String>& state, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::setFormControlStateOfPreviousHistoryItem(const Vector<String>& state)
</ins><span class="cx"> {
</span><span class="cx"> HistoryItem* mainItem = frame()->loader().history().previousItem();
</span><del>- if (!mainItem) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ if (!mainItem)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> String uniqueName = frame()->tree().uniqueName();
</span><span class="cx"> if (mainItem->target() == uniqueName)
</span><span class="cx"> mainItem->setDocumentState(state);
</span><span class="lines">@@ -929,10 +899,12 @@
</span><span class="cx"> else if (HistoryItem* subItem = mainItem->childItemWithTarget(uniqueName))
</span><span class="cx"> subItem->setDocumentState(state);
</span><span class="cx"> else
</span><del>- ec = INVALID_ACCESS_ERR;
</del><ins>+ return Exception { INVALID_ACCESS_ERR };
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if ENABLE(SPEECH_SYNTHESIS)
</span><ins>+
</ins><span class="cx"> void Internals::enableMockSpeechSynthesizer()
</span><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><span class="lines">@@ -944,9 +916,11 @@
</span><span class="cx">
</span><span class="cx"> synthesis->setPlatformSynthesizer(std::make_unique<PlatformSpeechSynthesizerMock>(synthesis));
</span><span class="cx"> }
</span><ins>+
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> #if ENABLE(WEB_RTC)
</span><ins>+
</ins><span class="cx"> void Internals::enableMockMediaEndpoint()
</span><span class="cx"> {
</span><span class="cx"> MediaEndpoint::create = MockMediaEndpoint::create;
</span><span class="lines">@@ -961,22 +935,23 @@
</span><span class="cx"> {
</span><span class="cx"> connection.emulatePlatformEvent(action);
</span><span class="cx"> }
</span><ins>+
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> #if ENABLE(MEDIA_STREAM)
</span><ins>+
</ins><span class="cx"> void Internals::setMockMediaCaptureDevicesEnabled(bool enabled)
</span><span class="cx"> {
</span><span class="cx"> WebCore::Settings::setMockCaptureDevicesEnabled(enabled);
</span><span class="cx"> }
</span><ins>+
</ins><span class="cx"> #endif
</span><span class="cx">
</span><del>-Ref<ClientRect> Internals::absoluteCaretBounds(ExceptionCode& ec)
</del><ins>+ExceptionOr<Ref<ClientRect>> Internals::absoluteCaretBounds()
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->frame()) {
- ec = INVALID_ACCESS_ERR;
- return ClientRect::create();
- }
</del><ins>+ if (!document || !document->frame())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> return ClientRect::create(document->frame()->selection().absoluteCaretBounds());
</span><span class="cx"> }
</span><span class="lines">@@ -990,13 +965,11 @@
</span><span class="cx"> return ClientRect::create(renderer->absoluteBoundingBoxRectIgnoringTransforms());
</span><span class="cx"> }
</span><span class="cx">
</span><del>-Ref<ClientRectList> Internals::inspectorHighlightRects(ExceptionCode& ec)
</del><ins>+ExceptionOr<Ref<ClientRectList>> Internals::inspectorHighlightRects()
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->page()) {
- ec = INVALID_ACCESS_ERR;
- return ClientRectList::create();
- }
</del><ins>+ if (!document || !document->page())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> Highlight highlight;
</span><span class="cx"> document->page()->inspectorController().getHighlight(highlight, InspectorOverlay::CoordinateSystem::View);
</span><span class="lines">@@ -1003,38 +976,32 @@
</span><span class="cx"> return ClientRectList::create(highlight.quads);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-String Internals::inspectorHighlightObject(ExceptionCode& ec)
</del><ins>+ExceptionOr<String> Internals::inspectorHighlightObject()
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->page()) {
- ec = INVALID_ACCESS_ERR;
- return String();
- }
</del><ins>+ if (!document || !document->page())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> return document->page()->inspectorController().buildObjectForHighlightedNodes()->toJSONString();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-unsigned Internals::markerCountForNode(Node& node, const String& markerType, ExceptionCode& ec)
</del><ins>+ExceptionOr<unsigned> Internals::markerCountForNode(Node& node, const String& markerType)
</ins><span class="cx"> {
</span><span class="cx"> DocumentMarker::MarkerTypes markerTypes = 0;
</span><del>- if (!markerTypesFrom(markerType, markerTypes)) {
- ec = SYNTAX_ERR;
- return 0;
- }
</del><ins>+ if (!markerTypesFrom(markerType, markerTypes))
+ return Exception { SYNTAX_ERR };
</ins><span class="cx">
</span><span class="cx"> node.document().frame()->editor().updateEditorUINowIfScheduled();
</span><span class="cx"> return node.document().markers().markersFor(&node, markerTypes).size();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-RenderedDocumentMarker* Internals::markerAt(Node& node, const String& markerType, unsigned index, ExceptionCode& ec)
</del><ins>+ExceptionOr<RenderedDocumentMarker*> Internals::markerAt(Node& node, const String& markerType, unsigned index)
</ins><span class="cx"> {
</span><span class="cx"> node.document().updateLayoutIgnorePendingStylesheets();
</span><span class="cx">
</span><span class="cx"> DocumentMarker::MarkerTypes markerTypes = 0;
</span><del>- if (!markerTypesFrom(markerType, markerTypes)) {
- ec = SYNTAX_ERR;
- return nullptr;
- }
</del><ins>+ if (!markerTypesFrom(markerType, markerTypes))
+ return Exception { SYNTAX_ERR };
</ins><span class="cx">
</span><span class="cx"> node.document().frame()->editor().updateEditorUINowIfScheduled();
</span><span class="cx">
</span><span class="lines">@@ -1044,29 +1011,33 @@
</span><span class="cx"> return markers[index];
</span><span class="cx"> }
</span><span class="cx">
</span><del>-RefPtr<Range> Internals::markerRangeForNode(Node& node, const String& markerType, unsigned index, ExceptionCode& ec)
</del><ins>+ExceptionOr<RefPtr<Range>> Internals::markerRangeForNode(Node& node, const String& markerType, unsigned index)
</ins><span class="cx"> {
</span><del>- RenderedDocumentMarker* marker = markerAt(node, markerType, index, ec);
</del><ins>+ auto result = markerAt(node, markerType, index);
+ if (result.hasException())
+ return result.releaseException();
+ auto marker = result.releaseReturnValue();
</ins><span class="cx"> if (!marker)
</span><span class="cx"> return nullptr;
</span><del>- return Range::create(node.document(), &node, marker->startOffset(), &node, marker->endOffset());
</del><ins>+ return RefPtr<Range> { Range::create(node.document(), &node, marker->startOffset(), &node, marker->endOffset()) };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-String Internals::markerDescriptionForNode(Node& node, const String& markerType, unsigned index, ExceptionCode& ec)
</del><ins>+ExceptionOr<String> Internals::markerDescriptionForNode(Node& node, const String& markerType, unsigned index)
</ins><span class="cx"> {
</span><del>- RenderedDocumentMarker* marker = markerAt(node, markerType, index, ec);
</del><ins>+ auto result = markerAt(node, markerType, index);
+ if (result.hasException())
+ return result.releaseException();
+ auto marker = result.releaseReturnValue();
</ins><span class="cx"> if (!marker)
</span><span class="cx"> return String();
</span><del>- return marker->description();
</del><ins>+ return String { marker->description() };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-String Internals::dumpMarkerRects(const String& markerTypeString, ExceptionCode& ec)
</del><ins>+ExceptionOr<String> Internals::dumpMarkerRects(const String& markerTypeString)
</ins><span class="cx"> {
</span><span class="cx"> DocumentMarker::MarkerType markerType;
</span><del>- if (!markerTypeFrom(markerTypeString, markerType)) {
- ec = SYNTAX_ERR;
- return String();
- }
</del><ins>+ if (!markerTypeFrom(markerTypeString, markerType))
+ return Exception { SYNTAX_ERR };
</ins><span class="cx">
</span><span class="cx"> contextDocument()->markers().updateRectsForInvalidatedMarkersOfType(markerType);
</span><span class="cx"> auto rects = contextDocument()->markers().renderedRectsForMarkers(markerType);
</span><span class="lines">@@ -1093,14 +1064,13 @@
</span><span class="cx"> range.ownerDocument().markers().addTextMatchMarker(&range, isActive);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::setMarkedTextMatchesAreHighlighted(bool flag, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::setMarkedTextMatchesAreHighlighted(bool flag)
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->frame()) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ if (!document || !document->frame())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> document->frame()->editor().setMarkedTextMatchesAreHighlighted(flag);
</span><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void Internals::invalidateFontCache()
</span><span class="lines">@@ -1108,44 +1078,40 @@
</span><span class="cx"> FontCache::singleton().invalidate();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::setScrollViewPosition(int x, int y, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::setScrollViewPosition(int x, int y)
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->view()) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ if (!document || !document->view())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><del>- FrameView* frameView = document->view();
- bool constrainsScrollingToContentEdgeOldValue = frameView->constrainsScrollingToContentEdge();
- bool scrollbarsSuppressedOldValue = frameView->scrollbarsSuppressed();
</del><ins>+ auto& frameView = *document->view();
+ bool constrainsScrollingToContentEdgeOldValue = frameView.constrainsScrollingToContentEdge();
+ bool scrollbarsSuppressedOldValue = frameView.scrollbarsSuppressed();
</ins><span class="cx">
</span><del>- frameView->setConstrainsScrollingToContentEdge(false);
- frameView->setScrollbarsSuppressed(false);
- frameView->setScrollOffsetFromInternals({ x, y });
- frameView->setScrollbarsSuppressed(scrollbarsSuppressedOldValue);
- frameView->setConstrainsScrollingToContentEdge(constrainsScrollingToContentEdgeOldValue);
</del><ins>+ frameView.setConstrainsScrollingToContentEdge(false);
+ frameView.setScrollbarsSuppressed(false);
+ frameView.setScrollOffsetFromInternals({ x, y });
+ frameView.setScrollbarsSuppressed(scrollbarsSuppressedOldValue);
+ frameView.setConstrainsScrollingToContentEdge(constrainsScrollingToContentEdgeOldValue);
+
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::setViewBaseBackgroundColor(const String& colorValue, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::setViewBaseBackgroundColor(const String& colorValue)
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->view()) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ if (!document || !document->view())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> document->view()->setBaseBackgroundColor(Color(colorValue));
</span><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::setPagination(const String& mode, int gap, int pageLength, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::setPagination(const String& mode, int gap, int pageLength)
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->page()) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
- Page* page = document->page();
</del><ins>+ if (!document || !document->page())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> Pagination pagination;
</span><span class="cx"> if (mode == "Unpaginated")
</span><span class="lines">@@ -1158,47 +1124,42 @@
</span><span class="cx"> pagination.mode = Pagination::TopToBottomPaginated;
</span><span class="cx"> else if (mode == "BottomToTopPaginated")
</span><span class="cx"> pagination.mode = Pagination::BottomToTopPaginated;
</span><del>- else {
- ec = SYNTAX_ERR;
- return;
- }
</del><ins>+ else
+ return Exception { SYNTAX_ERR };
</ins><span class="cx">
</span><span class="cx"> pagination.gap = gap;
</span><span class="cx"> pagination.pageLength = pageLength;
</span><del>- page->setPagination(pagination);
</del><ins>+ document->page()->setPagination(pagination);
+
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::setPaginationLineGridEnabled(bool enabled, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::setPaginationLineGridEnabled(bool enabled)
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->page()) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
- Page* page = document->page();
- page->setPaginationLineGridEnabled(enabled);
</del><ins>+ if (!document || !document->page())
+ return Exception { INVALID_ACCESS_ERR };
+ document->page()->setPaginationLineGridEnabled(enabled);
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-String Internals::configurationForViewport(float devicePixelRatio, int deviceWidth, int deviceHeight, int availableWidth, int availableHeight, ExceptionCode& ec)
</del><ins>+ExceptionOr<String> Internals::configurationForViewport(float devicePixelRatio, int deviceWidth, int deviceHeight, int availableWidth, int availableHeight)
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->page()) {
- ec = INVALID_ACCESS_ERR;
- return String();
- }
- Page* page = document->page();
</del><ins>+ if (!document || !document->page())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> const int defaultLayoutWidthForNonMobilePages = 980;
</span><span class="cx">
</span><del>- ViewportArguments arguments = page->viewportArguments();
</del><ins>+ ViewportArguments arguments = document->page()->viewportArguments();
</ins><span class="cx"> ViewportAttributes attributes = computeViewportAttributes(arguments, defaultLayoutWidthForNonMobilePages, deviceWidth, deviceHeight, devicePixelRatio, IntSize(availableWidth, availableHeight));
</span><span class="cx"> restrictMinimumScaleFactorToViewportSize(attributes, IntSize(availableWidth, availableHeight), devicePixelRatio);
</span><span class="cx"> restrictScaleFactorToInitialScaleIfNotUserScalable(attributes);
</span><span class="cx">
</span><del>- return "viewport size " + String::number(attributes.layoutSize.width()) + "x" + String::number(attributes.layoutSize.height()) + " scale " + String::number(attributes.initialScale) + " with limits [" + String::number(attributes.minimumScale) + ", " + String::number(attributes.maximumScale) + "] and userScalable " + (attributes.userScalable ? "true" : "false");
</del><ins>+ return String { "viewport size " + String::number(attributes.layoutSize.width()) + "x" + String::number(attributes.layoutSize.height()) + " scale " + String::number(attributes.initialScale) + " with limits [" + String::number(attributes.minimumScale) + ", " + String::number(attributes.maximumScale) + "] and userScalable " + (attributes.userScalable ? "true" : "false") };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-bool Internals::wasLastChangeUserEdit(Element& textField, ExceptionCode& ec)
</del><ins>+ExceptionOr<bool> Internals::wasLastChangeUserEdit(Element& textField)
</ins><span class="cx"> {
</span><span class="cx"> if (is<HTMLInputElement>(textField))
</span><span class="cx"> return downcast<HTMLInputElement>(textField).lastChangeWasUserEdit();
</span><span class="lines">@@ -1206,8 +1167,7 @@
</span><span class="cx"> if (is<HTMLTextAreaElement>(textField))
</span><span class="cx"> return downcast<HTMLTextAreaElement>(textField).lastChangeWasUserEdit();
</span><span class="cx">
</span><del>- ec = INVALID_NODE_TYPE_ERR;
- return false;
</del><ins>+ return Exception { INVALID_NODE_TYPE_ERR };
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool Internals::elementShouldAutoComplete(HTMLInputElement& element)
</span><span class="lines">@@ -1244,36 +1204,31 @@
</span><span class="cx"> element.setShowAutoFillButton(toAutoFillButtonType(type));
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::scrollElementToRect(Element& element, int x, int y, int w, int h, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::scrollElementToRect(Element& element, int x, int y, int w, int h)
</ins><span class="cx"> {
</span><span class="cx"> FrameView* frameView = element.document().view();
</span><del>- if (!frameView) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ if (!frameView)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> frameView->scrollElementToRect(element, { x, y, w, h });
</span><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-String Internals::autofillFieldName(Element& element, ExceptionCode& ec)
</del><ins>+ExceptionOr<String> Internals::autofillFieldName(Element& element)
</ins><span class="cx"> {
</span><del>- if (!is<HTMLFormControlElement>(element)) {
- ec = INVALID_NODE_TYPE_ERR;
- return { };
- }
</del><ins>+ if (!is<HTMLFormControlElement>(element))
+ return Exception { INVALID_NODE_TYPE_ERR };
</ins><span class="cx">
</span><del>- return downcast<HTMLFormControlElement>(element).autofillData().fieldName;
</del><ins>+ return String { downcast<HTMLFormControlElement>(element).autofillData().fieldName };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::paintControlTints(ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::paintControlTints()
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->view()) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ if (!document || !document->view())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><del>- FrameView* frameView = document->view();
- frameView->paintControlTints();
</del><ins>+ document->view()->paintControlTints();
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> RefPtr<Range> Internals::rangeFromLocationAndLength(Element& scope, int rangeLocation, int rangeLength)
</span><span class="lines">@@ -1307,14 +1262,12 @@
</span><span class="cx"> return TextIterator::subrange(&range, rangeLocation, rangeLength);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-RefPtr<Range> Internals::rangeForDictionaryLookupAtLocation(int x, int y, ExceptionCode& ec)
</del><ins>+ExceptionOr<RefPtr<Range>> Internals::rangeForDictionaryLookupAtLocation(int x, int y)
</ins><span class="cx"> {
</span><span class="cx"> #if PLATFORM(MAC)
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->frame()) {
- ec = INVALID_ACCESS_ERR;
- return nullptr;
- }
</del><ins>+ if (!document || !document->frame())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> document->updateLayoutIgnorePendingStylesheets();
</span><span class="cx">
</span><span class="lines">@@ -1324,41 +1277,35 @@
</span><span class="cx"> #else
</span><span class="cx"> UNUSED_PARAM(x);
</span><span class="cx"> UNUSED_PARAM(y);
</span><del>- ec = INVALID_ACCESS_ERR;
- return nullptr;
</del><ins>+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::setDelegatesScrolling(bool enabled, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::setDelegatesScrolling(bool enabled)
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><span class="cx"> // Delegate scrolling is valid only on mainframe's view.
</span><del>- if (!document || !document->view() || !document->page() || &document->page()->mainFrame() != document->frame()) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ if (!document || !document->view() || !document->page() || &document->page()->mainFrame() != document->frame())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> document->view()->setDelegatesScrolling(enabled);
</span><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-int Internals::lastSpellCheckRequestSequence(ExceptionCode& ec)
</del><ins>+ExceptionOr<int> Internals::lastSpellCheckRequestSequence()
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->frame()) {
- ec = INVALID_ACCESS_ERR;
- return -1;
- }
</del><ins>+ if (!document || !document->frame())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> return document->frame()->editor().spellChecker().lastRequestSequence();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-int Internals::lastSpellCheckProcessedSequence(ExceptionCode& ec)
</del><ins>+ExceptionOr<int> Internals::lastSpellCheckProcessedSequence()
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->frame()) {
- ec = INVALID_ACCESS_ERR;
- return -1;
- }
</del><ins>+ if (!document || !document->frame())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> return document->frame()->editor().spellChecker().lastProcessedSequence();
</span><span class="cx"> }
</span><span class="lines">@@ -1397,24 +1344,20 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">
</span><del>-unsigned Internals::wheelEventHandlerCount(ExceptionCode& ec)
</del><ins>+ExceptionOr<unsigned> Internals::wheelEventHandlerCount()
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document) {
- ec = INVALID_ACCESS_ERR;
- return 0;
- }
</del><ins>+ if (!document)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> return document->wheelEventHandlerCount();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-unsigned Internals::touchEventHandlerCount(ExceptionCode& ec)
</del><ins>+ExceptionOr<unsigned> Internals::touchEventHandlerCount()
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document) {
- ec = INVALID_ACCESS_ERR;
- return 0;
- }
</del><ins>+ if (!document)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> return document->touchEventHandlerCount();
</span><span class="cx"> }
</span><span class="lines">@@ -1423,13 +1366,10 @@
</span><span class="cx"> // contextDocument(), with the exception of a few tests that pass a
</span><span class="cx"> // different document, and could just make the call through another Internals
</span><span class="cx"> // instance instead.
</span><del>-RefPtr<NodeList> Internals::nodesFromRect(Document& document, int centerX, int centerY, unsigned topPadding, unsigned rightPadding,
- unsigned bottomPadding, unsigned leftPadding, bool ignoreClipping, bool allowShadowContent, bool allowChildFrameContent, ExceptionCode& ec) const
</del><ins>+ExceptionOr<RefPtr<NodeList>> Internals::nodesFromRect(Document& document, int centerX, int centerY, unsigned topPadding, unsigned rightPadding, unsigned bottomPadding, unsigned leftPadding, bool ignoreClipping, bool allowShadowContent, bool allowChildFrameContent) const
</ins><span class="cx"> {
</span><del>- if (!document.frame() || !document.frame()->view()) {
- ec = INVALID_ACCESS_ERR;
- return nullptr;
- }
</del><ins>+ if (!document.frame() || !document.frame()->view())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> Frame* frame = document.frame();
</span><span class="cx"> FrameView* frameView = document.view();
</span><span class="lines">@@ -1475,7 +1415,7 @@
</span><span class="cx"> matches.uncheckedAppend(*node);
</span><span class="cx"> }
</span><span class="cx">
</span><del>- return StaticNodeList::create(WTFMove(matches));
</del><ins>+ return RefPtr<NodeList> { StaticNodeList::create(WTFMove(matches)) };
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> class GetCallerCodeBlockFunctor {
</span><span class="lines">@@ -1559,13 +1499,11 @@
</span><span class="cx"> return result.toString();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::setBatteryStatus(const String& eventType, bool charging, double chargingTime, double dischargingTime, double level, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::setBatteryStatus(const String& eventType, bool charging, double chargingTime, double dischargingTime, double level)
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->page()) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ if (!document || !document->page())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> #if ENABLE(BATTERY_STATUS)
</span><span class="cx"> BatteryController::from(document->page())->didChangeBatteryStatus(eventType, BatteryStatus::create(charging, chargingTime, dischargingTime, level));
</span><span class="lines">@@ -1576,24 +1514,23 @@
</span><span class="cx"> UNUSED_PARAM(dischargingTime);
</span><span class="cx"> UNUSED_PARAM(level);
</span><span class="cx"> #endif
</span><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::setDeviceProximity(const String& eventType, double value, double min, double max, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::setDeviceProximity(const String&, double value, double min, double max)
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->page()) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ if (!document || !document->page())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> #if ENABLE(PROXIMITY_EVENTS)
</span><span class="cx"> DeviceProximityController::from(document->page())->didChangeDeviceProximity(value, min, max);
</span><span class="cx"> #else
</span><del>- UNUSED_PARAM(eventType);
</del><span class="cx"> UNUSED_PARAM(value);
</span><span class="cx"> UNUSED_PARAM(min);
</span><span class="cx"> UNUSED_PARAM(max);
</span><span class="cx"> #endif
</span><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void Internals::updateEditorUINowIfScheduled()
</span><span class="lines">@@ -1604,7 +1541,7 @@
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool Internals::hasSpellingMarker(int from, int length, ExceptionCode&)
</del><ins>+bool Internals::hasSpellingMarker(int from, int length)
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><span class="cx"> if (!document || !document->frame())
</span><span class="lines">@@ -1615,7 +1552,7 @@
</span><span class="cx"> return document->frame()->editor().selectionStartHasMarkerFor(DocumentMarker::Spelling, from, length);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool Internals::hasAutocorrectedMarker(int from, int length, ExceptionCode&)
</del><ins>+bool Internals::hasAutocorrectedMarker(int from, int length)
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><span class="cx"> if (!document || !document->frame())
</span><span class="lines">@@ -1700,7 +1637,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::handleAcceptedCandidate(const String& candidate, unsigned location, unsigned length, ExceptionCode&)
</del><ins>+void Internals::handleAcceptedCandidate(const String& candidate, unsigned location, unsigned length)
</ins><span class="cx"> {
</span><span class="cx"> if (!contextDocument() || !contextDocument()->frame())
</span><span class="cx"> return;
</span><span class="lines">@@ -1713,7 +1650,7 @@
</span><span class="cx"> contextDocument()->frame()->editor().handleAcceptedCandidate(result);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool Internals::isOverwriteModeEnabled(ExceptionCode&)
</del><ins>+bool Internals::isOverwriteModeEnabled()
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><span class="cx"> if (!document || !document->frame())
</span><span class="lines">@@ -1722,7 +1659,7 @@
</span><span class="cx"> return document->frame()->editor().isOverwriteModeEnabled();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::toggleOverwriteModeEnabled(ExceptionCode&)
</del><ins>+void Internals::toggleOverwriteModeEnabled()
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><span class="cx"> if (!document || !document->frame())
</span><span class="lines">@@ -1731,7 +1668,7 @@
</span><span class="cx"> document->frame()->editor().toggleOverwriteModeEnabled();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-unsigned Internals::countMatchesForText(const String& text, unsigned findOptions, const String& markMatches, ExceptionCode&)
</del><ins>+unsigned Internals::countMatchesForText(const String& text, unsigned findOptions, const String& markMatches)
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><span class="cx"> if (!document || !document->frame())
</span><span class="lines">@@ -1741,7 +1678,7 @@
</span><span class="cx"> return document->frame()->editor().countMatchesForText(text, nullptr, findOptions, 1000, mark, nullptr);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-unsigned Internals::countFindMatches(const String& text, unsigned findOptions, ExceptionCode&)
</del><ins>+unsigned Internals::countFindMatches(const String& text, unsigned findOptions)
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><span class="cx"> if (!document || !document->page())
</span><span class="lines">@@ -1778,18 +1715,17 @@
</span><span class="cx"> m_inspectorFrontend = nullptr;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::setInspectorIsUnderTest(bool isUnderTest, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::setInspectorIsUnderTest(bool isUnderTest)
</ins><span class="cx"> {
</span><span class="cx"> Page* page = contextDocument()->frame()->page();
</span><del>- if (!page) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ if (!page)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> page->inspectorController().setIsUnderTest(isUnderTest);
</span><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-bool Internals::hasGrammarMarker(int from, int length, ExceptionCode&)
</del><ins>+bool Internals::hasGrammarMarker(int from, int length)
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><span class="cx"> if (!document || !document->frame())
</span><span class="lines">@@ -1798,7 +1734,7 @@
</span><span class="cx"> return document->frame()->editor().selectionStartHasMarkerFor(DocumentMarker::Grammar, from, length);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-unsigned Internals::numberOfScrollableAreas(ExceptionCode&)
</del><ins>+unsigned Internals::numberOfScrollableAreas()
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><span class="cx"> if (!document || !document->frame())
</span><span class="lines">@@ -1817,13 +1753,11 @@
</span><span class="cx"> return count;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool Internals::isPageBoxVisible(int pageNumber, ExceptionCode& ec)
</del><ins>+ExceptionOr<bool> Internals::isPageBoxVisible(int pageNumber)
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document) {
- ec = INVALID_ACCESS_ERR;
- return false;
- }
</del><ins>+ if (!document)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> return document->isPageBoxVisible(pageNumber);
</span><span class="cx"> }
</span><span class="lines">@@ -1832,12 +1766,10 @@
</span><span class="cx"> // contextDocument(), with the exception of a few tests that pass a
</span><span class="cx"> // different document, and could just make the call through another Internals
</span><span class="cx"> // instance instead.
</span><del>-String Internals::layerTreeAsText(Document& document, unsigned short flags, ExceptionCode& ec) const
</del><ins>+ExceptionOr<String> Internals::layerTreeAsText(Document& document, unsigned short flags) const
</ins><span class="cx"> {
</span><del>- if (!document.frame()) {
- ec = INVALID_ACCESS_ERR;
- return String();
- }
</del><ins>+ if (!document.frame())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> LayerTreeFlags layerTreeFlags = 0;
</span><span class="cx"> if (flags & LAYER_TREE_INCLUDES_VISIBLE_RECTS)
</span><span class="lines">@@ -1854,24 +1786,20 @@
</span><span class="cx"> return document.frame()->layerTreeAsText(layerTreeFlags);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-String Internals::repaintRectsAsText(ExceptionCode& ec) const
</del><ins>+ExceptionOr<String> Internals::repaintRectsAsText() const
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->frame()) {
- ec = INVALID_ACCESS_ERR;
- return String();
- }
</del><ins>+ if (!document || !document->frame())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> return document->frame()->trackedRepaintRectsAsText();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-String Internals::scrollingStateTreeAsText(ExceptionCode& ec) const
</del><ins>+ExceptionOr<String> Internals::scrollingStateTreeAsText() const
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->frame()) {
- ec = INVALID_ACCESS_ERR;
- return String();
- }
</del><ins>+ if (!document || !document->frame())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> Page* page = document->page();
</span><span class="cx"> if (!page)
</span><span class="lines">@@ -1880,13 +1808,11 @@
</span><span class="cx"> return page->scrollingStateTreeAsText();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-String Internals::mainThreadScrollingReasons(ExceptionCode& ec) const
</del><ins>+ExceptionOr<String> Internals::mainThreadScrollingReasons() const
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->frame()) {
- ec = INVALID_ACCESS_ERR;
- return String();
- }
</del><ins>+ if (!document || !document->frame())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> Page* page = document->page();
</span><span class="cx"> if (!page)
</span><span class="lines">@@ -1895,97 +1821,77 @@
</span><span class="cx"> return page->synchronousScrollingReasonsAsText();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-RefPtr<ClientRectList> Internals::nonFastScrollableRects(ExceptionCode& ec) const
</del><ins>+ExceptionOr<RefPtr<ClientRectList>> Internals::nonFastScrollableRects() const
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->frame()) {
- ec = INVALID_ACCESS_ERR;
- return nullptr;
- }
</del><ins>+ if (!document || !document->frame())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> Page* page = document->page();
</span><span class="cx"> if (!page)
</span><span class="cx"> return nullptr;
</span><span class="cx">
</span><del>- return page->nonFastScrollableRects();
</del><ins>+ return RefPtr<ClientRectList> { page->nonFastScrollableRects() };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::setElementUsesDisplayListDrawing(Element& element, bool usesDisplayListDrawing, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::setElementUsesDisplayListDrawing(Element& element, bool usesDisplayListDrawing)
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->renderView()) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ if (!document || !document->renderView())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><del>- if (!element.renderer()) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ if (!element.renderer())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> if (is<HTMLCanvasElement>(element)) {
</span><span class="cx"> downcast<HTMLCanvasElement>(element).setUsesDisplayListDrawing(usesDisplayListDrawing);
</span><del>- return;
</del><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>- if (!element.renderer()->hasLayer()) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ if (!element.renderer()->hasLayer())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> RenderLayer* layer = downcast<RenderLayerModelObject>(element.renderer())->layer();
</span><del>- if (!layer->isComposited()) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ if (!layer->isComposited())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> layer->backing()->setUsesDisplayListDrawing(usesDisplayListDrawing);
</span><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::setElementTracksDisplayListReplay(Element& element, bool isTrackingReplay, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::setElementTracksDisplayListReplay(Element& element, bool isTrackingReplay)
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->renderView()) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ if (!document || !document->renderView())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><del>- if (!element.renderer()) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ if (!element.renderer())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> if (is<HTMLCanvasElement>(element)) {
</span><span class="cx"> downcast<HTMLCanvasElement>(element).setTracksDisplayListReplay(isTrackingReplay);
</span><del>- return;
</del><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>- if (!element.renderer()->hasLayer()) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ if (!element.renderer()->hasLayer())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> RenderLayer* layer = downcast<RenderLayerModelObject>(element.renderer())->layer();
</span><del>- if (!layer->isComposited()) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ if (!layer->isComposited())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> layer->backing()->setIsTrackingDisplayListReplay(isTrackingReplay);
</span><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-String Internals::displayListForElement(Element& element, unsigned short flags, ExceptionCode& ec)
</del><ins>+ExceptionOr<String> Internals::displayListForElement(Element& element, unsigned short flags)
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->renderView()) {
- ec = INVALID_ACCESS_ERR;
- return String();
- }
</del><ins>+ if (!document || !document->renderView())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><del>- if (!element.renderer()) {
- ec = INVALID_ACCESS_ERR;
- return String();
- }
</del><ins>+ if (!element.renderer())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> DisplayList::AsTextFlags displayListFlags = 0;
</span><span class="cx"> if (flags & DISPLAY_LIST_INCLUDES_PLATFORM_OPERATIONS)
</span><span class="lines">@@ -1994,32 +1900,24 @@
</span><span class="cx"> if (is<HTMLCanvasElement>(element))
</span><span class="cx"> return downcast<HTMLCanvasElement>(element).displayListAsText(displayListFlags);
</span><span class="cx">
</span><del>- if (!element.renderer()->hasLayer()) {
- ec = INVALID_ACCESS_ERR;
- return String();
- }
</del><ins>+ if (!element.renderer()->hasLayer())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> RenderLayer* layer = downcast<RenderLayerModelObject>(element.renderer())->layer();
</span><del>- if (!layer->isComposited()) {
- ec = INVALID_ACCESS_ERR;
- return String();
- }
</del><ins>+ if (!layer->isComposited())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> return layer->backing()->displayListAsText(displayListFlags);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-String Internals::replayDisplayListForElement(Element& element, unsigned short flags, ExceptionCode& ec)
</del><ins>+ExceptionOr<String> Internals::replayDisplayListForElement(Element& element, unsigned short flags)
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->renderView()) {
- ec = INVALID_ACCESS_ERR;
- return String();
- }
</del><ins>+ if (!document || !document->renderView())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><del>- if (!element.renderer()) {
- ec = INVALID_ACCESS_ERR;
- return String();
- }
</del><ins>+ if (!element.renderer())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> DisplayList::AsTextFlags displayListFlags = 0;
</span><span class="cx"> if (flags & DISPLAY_LIST_INCLUDES_PLATFORM_OPERATIONS)
</span><span class="lines">@@ -2028,28 +1926,23 @@
</span><span class="cx"> if (is<HTMLCanvasElement>(element))
</span><span class="cx"> return downcast<HTMLCanvasElement>(element).replayDisplayListAsText(displayListFlags);
</span><span class="cx">
</span><del>- if (!element.renderer()->hasLayer()) {
- ec = INVALID_ACCESS_ERR;
- return String();
- }
</del><ins>+ if (!element.renderer()->hasLayer())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> RenderLayer* layer = downcast<RenderLayerModelObject>(element.renderer())->layer();
</span><del>- if (!layer->isComposited()) {
- ec = INVALID_ACCESS_ERR;
- return String();
- }
</del><ins>+ if (!layer->isComposited())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> return layer->backing()->replayDisplayListAsText(displayListFlags);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::garbageCollectDocumentResources(ExceptionCode& ec) const
</del><ins>+ExceptionOr<void> Internals::garbageCollectDocumentResources() const
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ if (!document)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> document->cachedResourceLoader().garbageCollectDocumentResources();
</span><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool Internals::isUnderMemoryPressure()
</span><span class="lines">@@ -2067,32 +1960,30 @@
</span><span class="cx"> MemoryPressureHandler::singleton().endSimulatedMemoryPressure();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::insertAuthorCSS(const String& css, ExceptionCode& ec) const
</del><ins>+ExceptionOr<void> Internals::insertAuthorCSS(const String& css) const
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ if (!document)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> auto parsedSheet = StyleSheetContents::create(*document);
</span><span class="cx"> parsedSheet.get().setIsUserStyleSheet(false);
</span><span class="cx"> parsedSheet.get().parseString(css);
</span><span class="cx"> document->extensionStyleSheets().addAuthorStyleSheetForTesting(WTFMove(parsedSheet));
</span><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::insertUserCSS(const String& css, ExceptionCode& ec) const
</del><ins>+ExceptionOr<void> Internals::insertUserCSS(const String& css) const
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ if (!document)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> auto parsedSheet = StyleSheetContents::create(*document);
</span><span class="cx"> parsedSheet.get().setIsUserStyleSheet(true);
</span><span class="cx"> parsedSheet.get().parseString(css);
</span><span class="cx"> document->extensionStyleSheets().addUserStyleSheet(WTFMove(parsedSheet));
</span><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> String Internals::counterValue(Element& element)
</span><span class="lines">@@ -2126,91 +2017,80 @@
</span><span class="cx"> return PrintContext::numberOfPages(*frame(), FloatSize(pageWidth, pageHeight));
</span><span class="cx"> }
</span><span class="cx">
</span><del>-String Internals::pageProperty(String propertyName, int pageNumber, ExceptionCode& ec) const
</del><ins>+ExceptionOr<String> Internals::pageProperty(const String& propertyName, int pageNumber) const
</ins><span class="cx"> {
</span><del>- if (!frame()) {
- ec = INVALID_ACCESS_ERR;
- return String();
- }
</del><ins>+ if (!frame())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> return PrintContext::pageProperty(frame(), propertyName.utf8().data(), pageNumber);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-String Internals::pageSizeAndMarginsInPixels(int pageNumber, int width, int height, int marginTop, int marginRight, int marginBottom, int marginLeft, ExceptionCode& ec) const
</del><ins>+ExceptionOr<String> Internals::pageSizeAndMarginsInPixels(int pageNumber, int width, int height, int marginTop, int marginRight, int marginBottom, int marginLeft) const
</ins><span class="cx"> {
</span><del>- if (!frame()) {
- ec = INVALID_ACCESS_ERR;
- return String();
- }
</del><ins>+ if (!frame())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> return PrintContext::pageSizeAndMarginsInPixels(frame(), pageNumber, width, height, marginTop, marginRight, marginBottom, marginLeft);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::setPageScaleFactor(float scaleFactor, int x, int y, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::setPageScaleFactor(float scaleFactor, int x, int y)
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->page()) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
- Page* page = document->page();
- page->setPageScaleFactor(scaleFactor, IntPoint(x, y));
</del><ins>+ if (!document || !document->page())
+ return Exception { INVALID_ACCESS_ERR };
+
+ document->page()->setPageScaleFactor(scaleFactor, IntPoint(x, y));
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::setPageZoomFactor(float zoomFactor, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::setPageZoomFactor(float zoomFactor)
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->frame()) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
- Frame* frame = document->frame();
- frame->setPageZoomFactor(zoomFactor);
</del><ins>+ if (!document || !document->frame())
+ return Exception { INVALID_ACCESS_ERR };
+
+ document->frame()->setPageZoomFactor(zoomFactor);
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::setTextZoomFactor(float zoomFactor, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::setTextZoomFactor(float zoomFactor)
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->frame()) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
- Frame* frame = document->frame();
- frame->setTextZoomFactor(zoomFactor);
</del><ins>+ if (!document || !document->frame())
+ return Exception { INVALID_ACCESS_ERR };
+
+ document->frame()->setTextZoomFactor(zoomFactor);
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::setUseFixedLayout(bool useFixedLayout, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::setUseFixedLayout(bool useFixedLayout)
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->view()) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
- FrameView* frameView = document->view();
- frameView->setUseFixedLayout(useFixedLayout);
</del><ins>+ if (!document || !document->view())
+ return Exception { INVALID_ACCESS_ERR };
+
+ document->view()->setUseFixedLayout(useFixedLayout);
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::setFixedLayoutSize(int width, int height, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::setFixedLayoutSize(int width, int height)
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->view()) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
- FrameView* frameView = document->view();
- frameView->setFixedLayoutSize(IntSize(width, height));
</del><ins>+ if (!document || !document->view())
+ return Exception { INVALID_ACCESS_ERR };
+
+ document->view()->setFixedLayoutSize(IntSize(width, height));
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::setViewExposedRect(float x, float y, float width, float height, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::setViewExposedRect(float x, float y, float width, float height)
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->view()) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ if (!document || !document->view())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><del>- FrameView* frameView = document->view();
- frameView->setViewExposedRect(FloatRect(x, y, width, height));
</del><ins>+ document->view()->setViewExposedRect(FloatRect(x, y, width, height));
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void Internals::setHeaderHeight(float height)
</span><span class="lines">@@ -2219,8 +2099,7 @@
</span><span class="cx"> if (!document || !document->view())
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- FrameView* frameView = document->view();
- frameView->setHeaderHeight(height);
</del><ins>+ document->view()->setHeaderHeight(height);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void Internals::setFooterHeight(float height)
</span><span class="lines">@@ -2229,21 +2108,20 @@
</span><span class="cx"> if (!document || !document->view())
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- FrameView* frameView = document->view();
- frameView->setFooterHeight(height);
</del><ins>+ document->view()->setFooterHeight(height);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void Internals::setTopContentInset(float contentInset)
</span><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document)
</del><ins>+ if (!document || !document->page())
</ins><span class="cx"> return;
</span><del>-
- Page* page = document->page();
- page->setTopContentInset(contentInset);
</del><ins>+
+ document->page()->setTopContentInset(contentInset);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if ENABLE(FULLSCREEN_API)
</span><ins>+
</ins><span class="cx"> void Internals::webkitWillEnterFullScreenForElement(Element& element)
</span><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><span class="lines">@@ -2275,12 +2153,13 @@
</span><span class="cx"> return;
</span><span class="cx"> document->webkitDidExitFullScreenForElement(&element);
</span><span class="cx"> }
</span><ins>+
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> void Internals::setApplicationCacheOriginQuota(unsigned long long quota)
</span><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document)
</del><ins>+ if (!document || !document->page())
</ins><span class="cx"> return;
</span><span class="cx"> document->page()->applicationCacheStorage().storeUpdatedQuotaForOrigin(document->securityOrigin(), quota);
</span><span class="cx"> }
</span><span class="lines">@@ -2316,69 +2195,60 @@
</span><span class="cx"> return FormController::getReferencedFilePaths(frame()->loader().history().currentItem()->documentState());
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::startTrackingRepaints(ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::startTrackingRepaints()
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->view()) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ if (!document || !document->view())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><del>- FrameView* frameView = document->view();
- frameView->setTracksRepaints(true);
</del><ins>+ document->view()->setTracksRepaints(true);
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::stopTrackingRepaints(ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::stopTrackingRepaints()
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->view()) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ if (!document || !document->view())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><del>- FrameView* frameView = document->view();
- frameView->setTracksRepaints(false);
</del><ins>+ document->view()->setTracksRepaints(false);
+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::startTrackingLayerFlushes(ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::startTrackingLayerFlushes()
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->renderView()) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ if (!document || !document->renderView())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> document->renderView()->compositor().startTrackingLayerFlushes();
</span><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-unsigned Internals::layerFlushCount(ExceptionCode& ec)
</del><ins>+ExceptionOr<unsigned> Internals::layerFlushCount()
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->renderView()) {
- ec = INVALID_ACCESS_ERR;
- return 0;
- }
</del><ins>+ if (!document || !document->renderView())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> return document->renderView()->compositor().layerFlushCount();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::startTrackingStyleRecalcs(ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::startTrackingStyleRecalcs()
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ if (!document)
+ return Exception { INVALID_ACCESS_ERR };
+
</ins><span class="cx"> document->startTrackingStyleRecalcs();
</span><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-unsigned Internals::styleRecalcCount(ExceptionCode& ec)
</del><ins>+ExceptionOr<unsigned> Internals::styleRecalcCount()
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document) {
- ec = INVALID_ACCESS_ERR;
- return 0;
- }
</del><ins>+ if (!document)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> return document->styleRecalcCount();
</span><span class="cx"> }
</span><span class="lines">@@ -2391,29 +2261,26 @@
</span><span class="cx"> return document->lastStyleUpdateSizeForTesting();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::startTrackingCompositingUpdates(ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::startTrackingCompositingUpdates()
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->renderView()) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ if (!document || !document->renderView())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> document->renderView()->compositor().startTrackingCompositingUpdates();
</span><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-unsigned Internals::compositingUpdateCount(ExceptionCode& ec)
</del><ins>+ExceptionOr<unsigned> Internals::compositingUpdateCount()
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->renderView()) {
- ec = INVALID_ACCESS_ERR;
- return 0;
- }
</del><ins>+ if (!document || !document->renderView())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> return document->renderView()->compositor().compositingUpdateCount();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks(Node* node, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks(Node* node)
</ins><span class="cx"> {
</span><span class="cx"> Document* document;
</span><span class="cx"> if (!node)
</span><span class="lines">@@ -2422,12 +2289,11 @@
</span><span class="cx"> document = downcast<Document>(node);
</span><span class="cx"> else if (is<HTMLIFrameElement>(*node))
</span><span class="cx"> document = downcast<HTMLIFrameElement>(*node).contentDocument();
</span><del>- else {
- ec = TypeError;
- return;
- }
</del><ins>+ else
+ return Exception { TypeError };
</ins><span class="cx">
</span><span class="cx"> document->updateLayoutIgnorePendingStylesheets(Document::RunPostLayoutTasks::Synchronously);
</span><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> unsigned Internals::layoutCount() const
</span><span class="lines">@@ -2493,13 +2359,11 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>-String Internals::getCurrentCursorInfo(ExceptionCode& ec)
</del><ins>+ExceptionOr<String> Internals::getCurrentCursorInfo()
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->frame()) {
- ec = INVALID_ACCESS_ERR;
- return String();
- }
</del><ins>+ if (!document || !document->frame())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> #if !PLATFORM(IOS)
</span><span class="cx"> Cursor cursor = document->frame()->eventHandler().currentMouseCursor();
</span><span class="lines">@@ -2527,7 +2391,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> return result.toString();
</span><span class="cx"> #else
</span><del>- return "FAIL: Cursor details not available on this platform.";
</del><ins>+ return String { "FAIL: Cursor details not available on this platform." };
</ins><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -2611,7 +2475,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool Internals::mediaElementHasCharacteristic(HTMLMediaElement& element, const String& characteristic, ExceptionCode& ec)
</del><ins>+ExceptionOr<bool> Internals::mediaElementHasCharacteristic(HTMLMediaElement& element, const String& characteristic)
</ins><span class="cx"> {
</span><span class="cx"> if (equalLettersIgnoringASCIICase(characteristic, "audible"))
</span><span class="cx"> return element.hasAudio();
</span><span class="lines">@@ -2620,9 +2484,9 @@
</span><span class="cx"> if (equalLettersIgnoringASCIICase(characteristic, "legible"))
</span><span class="cx"> return element.hasClosedCaptions();
</span><span class="cx">
</span><del>- ec = SYNTAX_ERR;
- return false;
</del><ins>+ return Exception { SYNTAX_ERR };
</ins><span class="cx"> }
</span><ins>+
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> bool Internals::isSelectPopupVisible(HTMLSelectElement& element)
</span><span class="lines">@@ -2639,13 +2503,11 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">
</span><del>-String Internals::captionsStyleSheetOverride(ExceptionCode& ec)
</del><ins>+ExceptionOr<String> Internals::captionsStyleSheetOverride()
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->page()) {
- ec = INVALID_ACCESS_ERR;
- return emptyString();
- }
</del><ins>+ if (!document || !document->page())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> #if ENABLE(VIDEO_TRACK)
</span><span class="cx"> return document->page()->group().captionPreferences().captionsStyleSheetOverride();
</span><span class="lines">@@ -2654,13 +2516,11 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::setCaptionsStyleSheetOverride(const String& override, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::setCaptionsStyleSheetOverride(const String& override)
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->page()) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ if (!document || !document->page())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> #if ENABLE(VIDEO_TRACK)
</span><span class="cx"> document->page()->group().captionPreferences().setCaptionsStyleSheetOverride(override);
</span><span class="lines">@@ -2667,15 +2527,14 @@
</span><span class="cx"> #else
</span><span class="cx"> UNUSED_PARAM(override);
</span><span class="cx"> #endif
</span><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::setPrimaryAudioTrackLanguageOverride(const String& language, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::setPrimaryAudioTrackLanguageOverride(const String& language)
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->page()) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ if (!document || !document->page())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> #if ENABLE(VIDEO_TRACK)
</span><span class="cx"> document->page()->group().captionPreferences().setPrimaryAudioTrackLanguageOverride(language);
</span><span class="lines">@@ -2682,15 +2541,14 @@
</span><span class="cx"> #else
</span><span class="cx"> UNUSED_PARAM(language);
</span><span class="cx"> #endif
</span><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::setCaptionDisplayMode(const String& mode, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::setCaptionDisplayMode(const String& mode)
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->page()) {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ if (!document || !document->page())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> #if ENABLE(VIDEO_TRACK)
</span><span class="cx"> auto& captionPreferences = document->page()->group().captionPreferences();
</span><span class="lines">@@ -2704,13 +2562,15 @@
</span><span class="cx"> else if (equalLettersIgnoringASCIICase(mode, "manual"))
</span><span class="cx"> captionPreferences.setCaptionDisplayMode(CaptionUserPreferences::Manual);
</span><span class="cx"> else
</span><del>- ec = SYNTAX_ERR;
</del><ins>+ return Exception { SYNTAX_ERR };
</ins><span class="cx"> #else
</span><span class="cx"> UNUSED_PARAM(mode);
</span><span class="cx"> #endif
</span><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if ENABLE(VIDEO)
</span><ins>+
</ins><span class="cx"> Ref<TimeRanges> Internals::createTimeRanges(Float32Array& startTimes, Float32Array& endTimes)
</span><span class="cx"> {
</span><span class="cx"> ASSERT(startTimes.length() == endTimes.length());
</span><span class="lines">@@ -2726,36 +2586,34 @@
</span><span class="cx"> {
</span><span class="cx"> return ranges.nearest(time);
</span><span class="cx"> }
</span><ins>+
</ins><span class="cx"> #endif
</span><span class="cx">
</span><del>-Ref<ClientRect> Internals::selectionBounds(ExceptionCode& ec)
</del><ins>+ExceptionOr<Ref<ClientRect>> Internals::selectionBounds()
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->frame()) {
- ec = INVALID_ACCESS_ERR;
- return ClientRect::create();
- }
</del><ins>+ if (!document || !document->frame())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> return ClientRect::create(document->frame()->selection().selectionBounds());
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if ENABLE(VIBRATION)
</span><ins>+
</ins><span class="cx"> bool Internals::isVibrating()
</span><span class="cx"> {
</span><del>- Page* page = contextDocument()->page();
- ASSERT(page);
</del><ins>+ auto* document = contextDocument();
+ auto* page = document ? document->page() : nullptr;
+ return page && Vibration::from(page)->isVibrating();
+}
</ins><span class="cx">
</span><del>- return Vibration::from(page)->isVibrating();
-}
</del><span class="cx"> #endif
</span><span class="cx">
</span><del>-bool Internals::isPluginUnavailabilityIndicatorObscured(Element& element, ExceptionCode& ec)
</del><ins>+ExceptionOr<bool> Internals::isPluginUnavailabilityIndicatorObscured(Element& element)
</ins><span class="cx"> {
</span><span class="cx"> auto* renderer = element.renderer();
</span><del>- if (!is<RenderEmbeddedObject>(renderer)) {
- ec = INVALID_ACCESS_ERR;
- return false;
- }
</del><ins>+ if (!is<RenderEmbeddedObject>(renderer))
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> return downcast<RenderEmbeddedObject>(*renderer).isReplacementObscured();
</span><span class="cx"> }
</span><span class="lines">@@ -2794,7 +2652,7 @@
</span><span class="cx">
</span><span class="cx"> #if ENABLE(VIDEO)
</span><span class="cx">
</span><del>-void Internals::beginMediaSessionInterruption(const String& interruptionString, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::beginMediaSessionInterruption(const String& interruptionString)
</ins><span class="cx"> {
</span><span class="cx"> PlatformMediaSession::InterruptionType interruption = PlatformMediaSession::SystemInterruption;
</span><span class="cx">
</span><span class="lines">@@ -2806,12 +2664,11 @@
</span><span class="cx"> interruption = PlatformMediaSession::EnteringBackground;
</span><span class="cx"> else if (equalLettersIgnoringASCIICase(interruptionString, "suspendedunderlock"))
</span><span class="cx"> interruption = PlatformMediaSession::SuspendedUnderLock;
</span><del>- else {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ else
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> PlatformMediaSessionManager::sharedManager().beginInterruption(interruption);
</span><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void Internals::endMediaSessionInterruption(const String& flagsString)
</span><span class="lines">@@ -2834,7 +2691,7 @@
</span><span class="cx"> PlatformMediaSessionManager::sharedManager().applicationWillEnterBackground();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::setMediaSessionRestrictions(const String& mediaTypeString, const String& restrictionsString, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::setMediaSessionRestrictions(const String& mediaTypeString, const String& restrictionsString)
</ins><span class="cx"> {
</span><span class="cx"> PlatformMediaSession::MediaType mediaType = PlatformMediaSession::None;
</span><span class="cx"> if (equalLettersIgnoringASCIICase(mediaTypeString, "video"))
</span><span class="lines">@@ -2843,10 +2700,8 @@
</span><span class="cx"> mediaType = PlatformMediaSession::Audio;
</span><span class="cx"> else if (equalLettersIgnoringASCIICase(mediaTypeString, "webaudio"))
</span><span class="cx"> mediaType = PlatformMediaSession::WebAudio;
</span><del>- else {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ else
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> PlatformMediaSessionManager::SessionRestrictions restrictions = PlatformMediaSessionManager::sharedManager().restrictions(mediaType);
</span><span class="cx"> PlatformMediaSessionManager::sharedManager().removeRestriction(mediaType, restrictions);
</span><span class="lines">@@ -2866,6 +2721,7 @@
</span><span class="cx"> restrictions |= PlatformMediaSessionManager::InterruptedPlaybackNotPermitted;
</span><span class="cx"> }
</span><span class="cx"> PlatformMediaSessionManager::sharedManager().addRestriction(mediaType, restrictions);
</span><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void Internals::setMediaElementRestrictions(HTMLMediaElement& element, const String& restrictionsString)
</span><span class="lines">@@ -2910,7 +2766,7 @@
</span><span class="cx"> element.mediaSession().addBehaviorRestriction(restrictions);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::postRemoteControlCommand(const String& commandString, float argument, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::postRemoteControlCommand(const String& commandString, float argument)
</ins><span class="cx"> {
</span><span class="cx"> PlatformMediaSession::RemoteControlCommandType command;
</span><span class="cx"> PlatformMediaSession::RemoteCommandArgument parameter { argument };
</span><span class="lines">@@ -2933,12 +2789,11 @@
</span><span class="cx"> command = PlatformMediaSession::EndSeekingForwardCommand;
</span><span class="cx"> else if (equalLettersIgnoringASCIICase(commandString, "seektoplaybackposition"))
</span><span class="cx"> command = PlatformMediaSession::SeekToPlaybackPositionCommand;
</span><del>- else {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ else
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> PlatformMediaSessionManager::sharedManager().didReceiveRemoteControlCommand(command, &parameter);
</span><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool Internals::elementIsBlockingDisplaySleep(HTMLMediaElement& element) const
</span><span class="lines">@@ -3044,7 +2899,7 @@
</span><span class="cx"> page->setMockMediaPlaybackTargetPickerEnabled(enabled);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void Internals::setMockMediaPlaybackTargetPickerState(const String& deviceName, const String& deviceState, ExceptionCode& ec)
</del><ins>+ExceptionOr<void> Internals::setMockMediaPlaybackTargetPickerState(const String& deviceName, const String& deviceState)
</ins><span class="cx"> {
</span><span class="cx"> Page* page = contextDocument()->frame()->page();
</span><span class="cx"> ASSERT(page);
</span><span class="lines">@@ -3057,34 +2912,29 @@
</span><span class="cx"> state = MediaPlaybackTargetContext::OutputDeviceUnavailable;
</span><span class="cx"> else if (equalLettersIgnoringASCIICase(deviceState, "unknown"))
</span><span class="cx"> state = MediaPlaybackTargetContext::Unknown;
</span><del>- else {
- ec = INVALID_ACCESS_ERR;
- return;
- }
</del><ins>+ else
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> page->setMockMediaPlaybackTargetPickerState(deviceName, state);
</span><ins>+ return { };
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>-RefPtr<MockPageOverlay> Internals::installMockPageOverlay(PageOverlayType type, ExceptionCode& ec)
</del><ins>+ExceptionOr<Ref<MockPageOverlay>> Internals::installMockPageOverlay(PageOverlayType type)
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->frame()) {
- ec = INVALID_ACCESS_ERR;
- return nullptr;
- }
</del><ins>+ if (!document || !document->frame())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> return MockPageOverlayClient::singleton().installOverlay(document->frame()->mainFrame(), type == PageOverlayType::View ? PageOverlay::OverlayType::View : PageOverlay::OverlayType::Document);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-String Internals::pageOverlayLayerTreeAsText(ExceptionCode& ec) const
</del><ins>+ExceptionOr<String> Internals::pageOverlayLayerTreeAsText() const
</ins><span class="cx"> {
</span><span class="cx"> Document* document = contextDocument();
</span><del>- if (!document || !document->frame()) {
- ec = INVALID_ACCESS_ERR;
- return String();
- }
</del><ins>+ if (!document || !document->frame())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> document->updateLayout();
</span><span class="cx">
</span><span class="lines">@@ -3172,7 +3022,7 @@
</span><span class="cx"> builder.appendLiteral(" }");
</span><span class="cx"> }
</span><span class="cx">
</span><del>-String Internals::scrollSnapOffsets(Element& element, ExceptionCode& ec)
</del><ins>+ExceptionOr<String> Internals::scrollSnapOffsets(Element& element)
</ins><span class="cx"> {
</span><span class="cx"> if (!element.renderBox())
</span><span class="cx"> return String();
</span><span class="lines">@@ -3182,17 +3032,13 @@
</span><span class="cx">
</span><span class="cx"> if (box.isBody()) {
</span><span class="cx"> FrameView* frameView = box.frame().mainFrame().view();
</span><del>- if (!frameView || !frameView->isScrollable()) {
- ec = INVALID_ACCESS_ERR;
- return String();
- }
</del><ins>+ if (!frameView || !frameView->isScrollable())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> scrollableArea = frameView;
</span><span class="cx">
</span><span class="cx"> } else {
</span><del>- if (!box.canBeScrolledAndHasScrollableArea()) {
- ec = INVALID_ACCESS_ERR;
- return String();
- }
</del><ins>+ if (!box.canBeScrolledAndHasScrollableArea())
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx"> scrollableArea = box.layer();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -3224,31 +3070,37 @@
</span><span class="cx"> return testPreloadScannerViewportSupport(contextDocument());
</span><span class="cx"> }
</span><span class="cx">
</span><del>-String Internals::pathStringWithShrinkWrappedRects(Vector<double> rectComponents, double radius, ExceptionCode& ec)
</del><ins>+ExceptionOr<String> Internals::pathStringWithShrinkWrappedRects(const Vector<double>& rectComponents, double radius)
</ins><span class="cx"> {
</span><del>- if (rectComponents.size() % 4) {
- ec = INVALID_ACCESS_ERR;
- return String();
- }
</del><ins>+ if (rectComponents.size() % 4)
+ return Exception { INVALID_ACCESS_ERR };
</ins><span class="cx">
</span><span class="cx"> Vector<FloatRect> rects;
</span><del>- while (!rectComponents.isEmpty()) {
- double height = rectComponents.takeLast();
- double width = rectComponents.takeLast();
- double y = rectComponents.takeLast();
- double x = rectComponents.takeLast();
</del><ins>+ for (unsigned i = 0; i < rectComponents.size(); i += 4)
+ rects.append(FloatRect(rectComponents[i], rectComponents[i + 1], rectComponents[i + 2], rectComponents[i + 3]));
</ins><span class="cx">
</span><del>- rects.append(FloatRect(x, y, width, height));
- }
-
- rects.reverse();
-
- Path path = PathUtilities::pathWithShrinkWrappedRects(rects, radius);
-
- String pathString;
- buildStringFromPath(path, pathString);
-
- return pathString;
</del><ins>+ SVGPathStringBuilder builder;
+ PathUtilities::pathWithShrinkWrappedRects(rects, radius).apply([&builder](const PathElement& element) {
+ switch (element.type) {
+ case PathElementMoveToPoint:
+ builder.moveTo(element.points[0], false, AbsoluteCoordinates);
+ return;
+ case PathElementAddLineToPoint:
+ builder.lineTo(element.points[0], AbsoluteCoordinates);
+ return;
+ case PathElementAddQuadCurveToPoint:
+ builder.curveToQuadratic(element.points[0], element.points[1], AbsoluteCoordinates);
+ return;
+ case PathElementAddCurveToPoint:
+ builder.curveToCubic(element.points[0], element.points[1], element.points[2], AbsoluteCoordinates);
+ return;
+ case PathElementCloseSubpath:
+ builder.closePath();
+ return;
+ }
+ ASSERT_NOT_REACHED();
+ });
+ return builder.result();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx">
</span><span class="lines">@@ -3312,7 +3164,7 @@
</span><span class="cx">
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>-String Internals::resourceLoadStatisticsForOrigin(String origin)
</del><ins>+String Internals::resourceLoadStatisticsForOrigin(const String& origin)
</ins><span class="cx"> {
</span><span class="cx"> return ResourceLoadObserver::sharedObserver().statisticsForOrigin(origin);
</span><span class="cx"> }
</span><span class="lines">@@ -3335,13 +3187,16 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if ENABLE(CSS_GRID_LAYOUT)
</span><ins>+
</ins><span class="cx"> void Internals::setCSSGridLayoutEnabled(bool enable)
</span><span class="cx"> {
</span><span class="cx"> RuntimeEnabledFeatures::sharedFeatures().setCSSGridLayoutEnabled(enable);
</span><span class="cx"> }
</span><ins>+
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> #if ENABLE(WEBGL2)
</span><ins>+
</ins><span class="cx"> bool Internals::webGL2Enabled() const
</span><span class="cx"> {
</span><span class="cx"> return RuntimeEnabledFeatures::sharedFeatures().webGL2Enabled();
</span><span class="lines">@@ -3351,6 +3206,7 @@
</span><span class="cx"> {
</span><span class="cx"> RuntimeEnabledFeatures::sharedFeatures().setWebGL2Enabled(enable);
</span><span class="cx"> }
</span><ins>+
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> void Internals::setResourceTimingSupport(bool enable)
</span><span class="lines">@@ -3385,10 +3241,12 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if !PLATFORM(COCOA)
</span><ins>+
</ins><span class="cx"> bool Internals::userPrefersReducedMotion() const
</span><span class="cx"> {
</span><span class="cx"> return false;
</span><span class="cx"> }
</span><ins>+
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/Internals.h (207520 => 207521)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/Internals.h        2016-10-19 05:03:11 UTC (rev 207520)
+++ trunk/Source/WebCore/testing/Internals.h        2016-10-19 05:25:06 UTC (rev 207521)
</span><span class="lines">@@ -1,6 +1,6 @@
</span><span class="cx"> /*
</span><span class="cx"> * Copyright (C) 2012 Google Inc. All rights reserved.
</span><del>- * Copyright (C) 2013-2015 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
</ins><span class="cx"> *
</span><span class="cx"> * Redistribution and use in source and binary forms, with or without
</span><span class="cx"> * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx">
</span><span class="cx"> #include "CSSComputedStyleDeclaration.h"
</span><span class="cx"> #include "ContextDestructionObserver.h"
</span><ins>+#include "ExceptionOr.h"
</ins><span class="cx"> #include "PageConsoleClient.h"
</span><span class="cx"> #include <runtime/Float32Array.h>
</span><span class="cx">
</span><span class="lines">@@ -70,8 +71,6 @@
</span><span class="cx"> class TypeConversions;
</span><span class="cx"> class XMLHttpRequest;
</span><span class="cx">
</span><del>-typedef int ExceptionCode;
-
</del><span class="cx"> class Internals final : public RefCounted<Internals>, private ContextDestructionObserver {
</span><span class="cx"> public:
</span><span class="cx"> static Ref<Internals> create(Document&);
</span><span class="lines">@@ -79,7 +78,7 @@
</span><span class="cx">
</span><span class="cx"> static void resetToConsistentState(Page&);
</span><span class="cx">
</span><del>- String elementRenderTreeAsText(Element&, ExceptionCode&);
</del><ins>+ ExceptionOr<String> elementRenderTreeAsText(Element&);
</ins><span class="cx"> bool hasPausedImageAnimations(Element&);
</span><span class="cx">
</span><span class="cx"> String address(Node&);
</span><span class="lines">@@ -94,7 +93,7 @@
</span><span class="cx"> bool isStyleSheetLoadingSubresources(HTMLLinkElement&);
</span><span class="cx"> enum class CachePolicy { UseProtocolCachePolicy, ReloadIgnoringCacheData, ReturnCacheDataElseLoad, ReturnCacheDataDontLoad };
</span><span class="cx"> void setOverrideCachePolicy(CachePolicy);
</span><del>- void setCanShowModalDialogOverride(bool allow, ExceptionCode&);
</del><ins>+ ExceptionOr<void> setCanShowModalDialogOverride(bool allow);
</ins><span class="cx"> enum class ResourceLoadPriority { ResourceLoadPriorityVeryLow, ResourceLoadPriorityLow, ResourceLoadPriorityMedium, ResourceLoadPriorityHigh, ResourceLoadPriorityVeryHigh };
</span><span class="cx"> void setOverrideResourceLoadPriority(ResourceLoadPriority);
</span><span class="cx"> void setStrictRawResourceValidationPolicyDisabled(bool);
</span><span class="lines">@@ -110,33 +109,33 @@
</span><span class="cx">
</span><span class="cx"> RefPtr<CSSComputedStyleDeclaration> computedStyleIncludingVisitedInfo(Element&) const;
</span><span class="cx">
</span><del>- Node* ensureShadowRoot(Element& host, ExceptionCode&);
</del><ins>+ ExceptionOr<Node*> ensureShadowRoot(Element& host);
</ins><span class="cx"> Node* ensureUserAgentShadowRoot(Element& host);
</span><del>- Node* createShadowRoot(Element& host, ExceptionCode&);
</del><ins>+ ExceptionOr<Node*> createShadowRoot(Element& host);
</ins><span class="cx"> Node* shadowRoot(Element& host);
</span><del>- String shadowRootType(const Node&, ExceptionCode&) const;
</del><ins>+ ExceptionOr<String> shadowRootType(const Node&) const;
</ins><span class="cx"> String shadowPseudoId(Element&);
</span><span class="cx"> void setShadowPseudoId(Element&, const String&);
</span><span class="cx">
</span><span class="cx"> // DOMTimers throttling testing.
</span><del>- bool isTimerThrottled(int timeoutId, ExceptionCode&);
</del><ins>+ ExceptionOr<bool> isTimerThrottled(int timeoutId);
</ins><span class="cx"> bool isRequestAnimationFrameThrottled() const;
</span><span class="cx"> bool areTimersThrottled() const;
</span><span class="cx">
</span><span class="cx"> // Spatial Navigation testing.
</span><del>- unsigned lastSpatialNavigationCandidateCount(ExceptionCode&) const;
</del><ins>+ ExceptionOr<unsigned> lastSpatialNavigationCandidateCount() const;
</ins><span class="cx">
</span><span class="cx"> // CSS Animation testing.
</span><span class="cx"> unsigned numberOfActiveAnimations() const;
</span><del>- bool animationsAreSuspended(ExceptionCode&) const;
- void suspendAnimations(ExceptionCode&) const;
- void resumeAnimations(ExceptionCode&) const;
- bool pauseAnimationAtTimeOnElement(const String& animationName, double pauseTime, Element&, ExceptionCode&);
- bool pauseAnimationAtTimeOnPseudoElement(const String& animationName, double pauseTime, Element&, const String& pseudoId, ExceptionCode&);
</del><ins>+ ExceptionOr<bool> animationsAreSuspended() const;
+ ExceptionOr<void> suspendAnimations() const;
+ ExceptionOr<void> resumeAnimations() const;
+ ExceptionOr<bool> pauseAnimationAtTimeOnElement(const String& animationName, double pauseTime, Element&);
+ ExceptionOr<bool> pauseAnimationAtTimeOnPseudoElement(const String& animationName, double pauseTime, Element&, const String& pseudoId);
</ins><span class="cx">
</span><span class="cx"> // CSS Transition testing.
</span><del>- bool pauseTransitionAtTimeOnElement(const String& propertyName, double pauseTime, Element&, ExceptionCode&);
- bool pauseTransitionAtTimeOnPseudoElement(const String& property, double pauseTime, Element&, const String& pseudoId, ExceptionCode&);
</del><ins>+ ExceptionOr<bool> pauseTransitionAtTimeOnElement(const String& propertyName, double pauseTime, Element&);
+ ExceptionOr<bool> pauseTransitionAtTimeOnPseudoElement(const String& property, double pauseTime, Element&, const String& pseudoId);
</ins><span class="cx">
</span><span class="cx"> Node* treeScopeRootNode(Node&);
</span><span class="cx"> Node* parentTreeScope(Node&);
</span><span class="lines">@@ -143,43 +142,43 @@
</span><span class="cx">
</span><span class="cx"> String visiblePlaceholder(Element&);
</span><span class="cx"> void selectColorInColorChooser(HTMLInputElement&, const String& colorValue);
</span><del>- Vector<String> formControlStateOfPreviousHistoryItem(ExceptionCode&);
- void setFormControlStateOfPreviousHistoryItem(const Vector<String>&, ExceptionCode&);
</del><ins>+ ExceptionOr<Vector<String>> formControlStateOfPreviousHistoryItem();
+ ExceptionOr<void> setFormControlStateOfPreviousHistoryItem(const Vector<String>&);
</ins><span class="cx">
</span><del>- Ref<ClientRect> absoluteCaretBounds(ExceptionCode&);
</del><ins>+ ExceptionOr<Ref<ClientRect>> absoluteCaretBounds();
</ins><span class="cx">
</span><span class="cx"> Ref<ClientRect> boundingBox(Element&);
</span><span class="cx">
</span><del>- Ref<ClientRectList> inspectorHighlightRects(ExceptionCode&);
- String inspectorHighlightObject(ExceptionCode&);
</del><ins>+ ExceptionOr<Ref<ClientRectList>> inspectorHighlightRects();
+ ExceptionOr<String> inspectorHighlightObject();
</ins><span class="cx">
</span><del>- unsigned markerCountForNode(Node&, const String&, ExceptionCode&);
- RefPtr<Range> markerRangeForNode(Node&, const String& markerType, unsigned index, ExceptionCode&);
- String markerDescriptionForNode(Node&, const String& markerType, unsigned index, ExceptionCode&);
- String dumpMarkerRects(const String& markerType, ExceptionCode&);
</del><ins>+ ExceptionOr<unsigned> markerCountForNode(Node&, const String&);
+ ExceptionOr<RefPtr<Range>> markerRangeForNode(Node&, const String& markerType, unsigned index);
+ ExceptionOr<String> markerDescriptionForNode(Node&, const String& markerType, unsigned index);
+ ExceptionOr<String> dumpMarkerRects(const String& markerType);
</ins><span class="cx"> void addTextMatchMarker(const Range&, bool isActive);
</span><del>- void setMarkedTextMatchesAreHighlighted(bool, ExceptionCode&);
</del><ins>+ ExceptionOr<void> setMarkedTextMatchesAreHighlighted(bool);
</ins><span class="cx">
</span><span class="cx"> void invalidateFontCache();
</span><span class="cx">
</span><del>- void setScrollViewPosition(int x, int y, ExceptionCode&);
- void setViewBaseBackgroundColor(const String& colorValue, ExceptionCode&);
</del><ins>+ ExceptionOr<void> setScrollViewPosition(int x, int y);
+ ExceptionOr<void> setViewBaseBackgroundColor(const String& colorValue);
</ins><span class="cx">
</span><del>- void setPagination(const String& mode, int gap, int pageLength, ExceptionCode&);
- void setPaginationLineGridEnabled(bool, ExceptionCode&);
- String configurationForViewport(float devicePixelRatio, int deviceWidth, int deviceHeight, int availableWidth, int availableHeight, ExceptionCode&);
</del><ins>+ ExceptionOr<void> setPagination(const String& mode, int gap, int pageLength);
+ ExceptionOr<void> setPaginationLineGridEnabled(bool);
+ ExceptionOr<String> configurationForViewport(float devicePixelRatio, int deviceWidth, int deviceHeight, int availableWidth, int availableHeight);
</ins><span class="cx">
</span><del>- bool wasLastChangeUserEdit(Element& textField, ExceptionCode&);
</del><ins>+ ExceptionOr<bool> wasLastChangeUserEdit(Element& textField);
</ins><span class="cx"> bool elementShouldAutoComplete(HTMLInputElement&);
</span><span class="cx"> void setEditingValue(HTMLInputElement&, const String&);
</span><span class="cx"> void setAutofilled(HTMLInputElement&, bool enabled);
</span><span class="cx"> enum class AutoFillButtonType { AutoFillButtonTypeNone, AutoFillButtonTypeContacts, AutoFillButtonTypeCredentials };
</span><span class="cx"> void setShowAutoFillButton(HTMLInputElement&, AutoFillButtonType);
</span><del>- void scrollElementToRect(Element&, int x, int y, int w, int h, ExceptionCode&);
</del><ins>+ ExceptionOr<void> scrollElementToRect(Element&, int x, int y, int w, int h);
</ins><span class="cx">
</span><del>- String autofillFieldName(Element&, ExceptionCode&);
</del><ins>+ ExceptionOr<String> autofillFieldName(Element&);
</ins><span class="cx">
</span><del>- void paintControlTints(ExceptionCode&);
</del><ins>+ ExceptionOr<void> paintControlTints();
</ins><span class="cx">
</span><span class="cx"> RefPtr<Range> rangeFromLocationAndLength(Element& scope, int rangeLocation, int rangeLength);
</span><span class="cx"> unsigned locationFromRange(Element& scope, const Range&);
</span><span class="lines">@@ -186,12 +185,12 @@
</span><span class="cx"> unsigned lengthFromRange(Element& scope, const Range&);
</span><span class="cx"> String rangeAsText(const Range&);
</span><span class="cx"> RefPtr<Range> subrange(Range&, int rangeLocation, int rangeLength);
</span><del>- RefPtr<Range> rangeForDictionaryLookupAtLocation(int x, int y, ExceptionCode&);
</del><ins>+ ExceptionOr<RefPtr<Range>> rangeForDictionaryLookupAtLocation(int x, int y);
</ins><span class="cx">
</span><del>- void setDelegatesScrolling(bool enabled, ExceptionCode&);
</del><ins>+ ExceptionOr<void> setDelegatesScrolling(bool enabled);
</ins><span class="cx">
</span><del>- int lastSpellCheckRequestSequence(ExceptionCode&);
- int lastSpellCheckProcessedSequence(ExceptionCode&);
</del><ins>+ ExceptionOr<int> lastSpellCheckRequestSequence();
+ ExceptionOr<int> lastSpellCheckProcessedSequence();
</ins><span class="cx">
</span><span class="cx"> Vector<String> userPreferredLanguages() const;
</span><span class="cx"> void setUserPreferredLanguages(const Vector<String>&);
</span><span class="lines">@@ -199,19 +198,18 @@
</span><span class="cx"> Vector<String> userPreferredAudioCharacteristics() const;
</span><span class="cx"> void setUserPreferredAudioCharacteristic(const String&);
</span><span class="cx">
</span><del>- unsigned wheelEventHandlerCount(ExceptionCode&);
- unsigned touchEventHandlerCount(ExceptionCode&);
</del><ins>+ ExceptionOr<unsigned> wheelEventHandlerCount();
+ ExceptionOr<unsigned> touchEventHandlerCount();
</ins><span class="cx">
</span><del>- RefPtr<NodeList> nodesFromRect(Document&, int x, int y, unsigned topPadding, unsigned rightPadding,
- unsigned bottomPadding, unsigned leftPadding, bool ignoreClipping, bool allowShadowContent, bool allowChildFrameContent, ExceptionCode&) const;
</del><ins>+ ExceptionOr<RefPtr<NodeList>> nodesFromRect(Document&, int x, int y, unsigned topPadding, unsigned rightPadding, unsigned bottomPadding, unsigned leftPadding, bool ignoreClipping, bool allowShadowContent, bool allowChildFrameContent) const;
</ins><span class="cx">
</span><span class="cx"> String parserMetaData(JSC::JSValue = JSC::JSValue::JSUndefined);
</span><span class="cx">
</span><span class="cx"> void updateEditorUINowIfScheduled();
</span><span class="cx">
</span><del>- bool hasSpellingMarker(int from, int length, ExceptionCode&);
- bool hasGrammarMarker(int from, int length, ExceptionCode&);
- bool hasAutocorrectedMarker(int from, int length, ExceptionCode&);
</del><ins>+ bool hasSpellingMarker(int from, int length);
+ bool hasGrammarMarker(int from, int length);
+ bool hasAutocorrectedMarker(int from, int length);
</ins><span class="cx"> void setContinuousSpellCheckingEnabled(bool);
</span><span class="cx"> void setAutomaticQuoteSubstitutionEnabled(bool);
</span><span class="cx"> void setAutomaticLinkDetectionEnabled(bool);
</span><span class="lines">@@ -219,17 +217,17 @@
</span><span class="cx"> void setAutomaticTextReplacementEnabled(bool);
</span><span class="cx"> void setAutomaticSpellingCorrectionEnabled(bool);
</span><span class="cx">
</span><del>- void handleAcceptedCandidate(const String& candidate, unsigned location, unsigned length, ExceptionCode&);
</del><ins>+ void handleAcceptedCandidate(const String& candidate, unsigned location, unsigned length);
</ins><span class="cx">
</span><del>- bool isOverwriteModeEnabled(ExceptionCode&);
- void toggleOverwriteModeEnabled(ExceptionCode&);
</del><ins>+ bool isOverwriteModeEnabled();
+ void toggleOverwriteModeEnabled();
</ins><span class="cx">
</span><del>- unsigned countMatchesForText(const String&, unsigned findOptions, const String& markMatches, ExceptionCode&);
- unsigned countFindMatches(const String&, unsigned findOptions, ExceptionCode&);
</del><ins>+ unsigned countMatchesForText(const String&, unsigned findOptions, const String& markMatches);
+ unsigned countFindMatches(const String&, unsigned findOptions);
</ins><span class="cx">
</span><del>- unsigned numberOfScrollableAreas(ExceptionCode&);
</del><ins>+ unsigned numberOfScrollableAreas();
</ins><span class="cx">
</span><del>- bool isPageBoxVisible(int pageNumber, ExceptionCode&);
</del><ins>+ ExceptionOr<bool> isPageBoxVisible(int pageNumber);
</ins><span class="cx">
</span><span class="cx"> static const char* internalsId;
</span><span class="cx">
</span><span class="lines">@@ -236,10 +234,9 @@
</span><span class="cx"> InternalSettings* settings() const;
</span><span class="cx"> unsigned workerThreadCount() const;
</span><span class="cx">
</span><del>- void setBatteryStatus(const String& eventType, bool charging, double chargingTime, double dischargingTime, double level, ExceptionCode&);
</del><ins>+ ExceptionOr<void> setBatteryStatus(const String& eventType, bool charging, double chargingTime, double dischargingTime, double level);
+ ExceptionOr<void> setDeviceProximity(const String& eventType, double value, double min, double max);
</ins><span class="cx">
</span><del>- void setDeviceProximity(const String& eventType, double value, double min, double max, ExceptionCode&);
-
</del><span class="cx"> enum {
</span><span class="cx"> // Values need to be kept in sync with Internals.idl.
</span><span class="cx"> LAYER_TREE_INCLUDES_VISIBLE_RECTS = 1,
</span><span class="lines">@@ -248,31 +245,30 @@
</span><span class="cx"> LAYER_TREE_INCLUDES_PAINTING_PHASES = 8,
</span><span class="cx"> LAYER_TREE_INCLUDES_CONTENT_LAYERS = 16
</span><span class="cx"> };
</span><del>- String layerTreeAsText(Document&, unsigned short flags, ExceptionCode&) const;
- String repaintRectsAsText(ExceptionCode&) const;
- String scrollingStateTreeAsText(ExceptionCode&) const;
- String mainThreadScrollingReasons(ExceptionCode&) const;
- RefPtr<ClientRectList> nonFastScrollableRects(ExceptionCode&) const;
</del><ins>+ ExceptionOr<String> layerTreeAsText(Document&, unsigned short flags) const;
+ ExceptionOr<String> repaintRectsAsText() const;
+ ExceptionOr<String> scrollingStateTreeAsText() const;
+ ExceptionOr<String> mainThreadScrollingReasons() const;
+ ExceptionOr<RefPtr<ClientRectList>> nonFastScrollableRects() const;
</ins><span class="cx">
</span><del>- void setElementUsesDisplayListDrawing(Element&, bool usesDisplayListDrawing, ExceptionCode&);
- void setElementTracksDisplayListReplay(Element&, bool isTrackingReplay, ExceptionCode&);
</del><ins>+ ExceptionOr<void> setElementUsesDisplayListDrawing(Element&, bool usesDisplayListDrawing);
+ ExceptionOr<void> setElementTracksDisplayListReplay(Element&, bool isTrackingReplay);
</ins><span class="cx">
</span><span class="cx"> enum {
</span><span class="cx"> // Values need to be kept in sync with Internals.idl.
</span><span class="cx"> DISPLAY_LIST_INCLUDES_PLATFORM_OPERATIONS = 1,
</span><span class="cx"> };
</span><del>- String displayListForElement(Element&, unsigned short flags, ExceptionCode&);
</del><ins>+ ExceptionOr<String> displayListForElement(Element&, unsigned short flags);
+ ExceptionOr<String> replayDisplayListForElement(Element&, unsigned short flags);
</ins><span class="cx">
</span><del>- String replayDisplayListForElement(Element&, unsigned short flags, ExceptionCode&);
</del><ins>+ ExceptionOr<void> garbageCollectDocumentResources() const;
</ins><span class="cx">
</span><del>- void garbageCollectDocumentResources(ExceptionCode&) const;
-
</del><span class="cx"> void beginSimulatedMemoryPressure();
</span><span class="cx"> void endSimulatedMemoryPressure();
</span><span class="cx"> bool isUnderMemoryPressure();
</span><span class="cx">
</span><del>- void insertAuthorCSS(const String&, ExceptionCode&) const;
- void insertUserCSS(const String&, ExceptionCode&) const;
</del><ins>+ ExceptionOr<void> insertAuthorCSS(const String&) const;
+ ExceptionOr<void> insertUserCSS(const String&) const;
</ins><span class="cx">
</span><span class="cx"> unsigned numberOfLiveNodes() const;
</span><span class="cx"> unsigned numberOfLiveDocuments() const;
</span><span class="lines">@@ -279,7 +275,7 @@
</span><span class="cx">
</span><span class="cx"> RefPtr<DOMWindow> openDummyInspectorFrontend(const String& url);
</span><span class="cx"> void closeDummyInspectorFrontend();
</span><del>- void setInspectorIsUnderTest(bool isUnderTest, ExceptionCode&);
</del><ins>+ ExceptionOr<void> setInspectorIsUnderTest(bool);
</ins><span class="cx">
</span><span class="cx"> String counterValue(Element&);
</span><span class="cx">
</span><span class="lines">@@ -287,16 +283,16 @@
</span><span class="cx"> Vector<String> shortcutIconURLs() const;
</span><span class="cx">
</span><span class="cx"> int numberOfPages(float pageWidthInPixels = 800, float pageHeightInPixels = 600);
</span><del>- String pageProperty(String, int, ExceptionCode&) const;
- String pageSizeAndMarginsInPixels(int, int, int, int, int, int, int, ExceptionCode&) const;
</del><ins>+ ExceptionOr<String> pageProperty(const String& propertyName, int pageNumber) const;
+ ExceptionOr<String> pageSizeAndMarginsInPixels(int pageNumber, int width, int height, int marginTop, int marginRight, int marginBottom, int marginLeft) const;
</ins><span class="cx">
</span><del>- void setPageScaleFactor(float scaleFactor, int x, int y, ExceptionCode&);
- void setPageZoomFactor(float zoomFactor, ExceptionCode&);
- void setTextZoomFactor(float zoomFactor, ExceptionCode&);
</del><ins>+ ExceptionOr<void> setPageScaleFactor(float scaleFactor, int x, int y);
+ ExceptionOr<void> setPageZoomFactor(float);
+ ExceptionOr<void> setTextZoomFactor(float);
</ins><span class="cx">
</span><del>- void setUseFixedLayout(bool useFixedLayout, ExceptionCode&);
- void setFixedLayoutSize(int width, int height, ExceptionCode&);
- void setViewExposedRect(float left, float top, float width, float height, ExceptionCode&);
</del><ins>+ ExceptionOr<void> setUseFixedLayout(bool);
+ ExceptionOr<void> setFixedLayoutSize(int width, int height);
+ ExceptionOr<void> setViewExposedRect(float left, float top, float width, float height);
</ins><span class="cx">
</span><span class="cx"> void setHeaderHeight(float);
</span><span class="cx"> void setFooterHeight(float);
</span><span class="lines">@@ -321,20 +317,20 @@
</span><span class="cx">
</span><span class="cx"> Vector<String> getReferencedFilePaths() const;
</span><span class="cx">
</span><del>- void startTrackingRepaints(ExceptionCode&);
- void stopTrackingRepaints(ExceptionCode&);
</del><ins>+ ExceptionOr<void> startTrackingRepaints();
+ ExceptionOr<void> stopTrackingRepaints();
</ins><span class="cx">
</span><del>- void startTrackingLayerFlushes(ExceptionCode&);
- unsigned layerFlushCount(ExceptionCode&);
</del><ins>+ ExceptionOr<void> startTrackingLayerFlushes();
+ ExceptionOr<unsigned> layerFlushCount();
</ins><span class="cx">
</span><del>- void startTrackingStyleRecalcs(ExceptionCode&);
- unsigned styleRecalcCount(ExceptionCode&);
</del><ins>+ ExceptionOr<void> startTrackingStyleRecalcs();
+ ExceptionOr<unsigned> styleRecalcCount();
</ins><span class="cx"> unsigned lastStyleUpdateSize() const;
</span><span class="cx">
</span><del>- void startTrackingCompositingUpdates(ExceptionCode&);
- unsigned compositingUpdateCount(ExceptionCode&);
</del><ins>+ ExceptionOr<void> startTrackingCompositingUpdates();
+ ExceptionOr<unsigned> compositingUpdateCount();
</ins><span class="cx">
</span><del>- void updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks(Node*, ExceptionCode&);
</del><ins>+ ExceptionOr<void> updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks(Node*);
</ins><span class="cx"> unsigned layoutCount() const;
</span><span class="cx">
</span><span class="cx"> RefPtr<ArrayBuffer> serializeObject(PassRefPtr<SerializedScriptValue>) const;
</span><span class="lines">@@ -345,7 +341,7 @@
</span><span class="cx"> void setUsesOverlayScrollbars(bool);
</span><span class="cx"> void setUsesMockScrollAnimator(bool);
</span><span class="cx">
</span><del>- String getCurrentCursorInfo(ExceptionCode&);
</del><ins>+ ExceptionOr<String> getCurrentCursorInfo();
</ins><span class="cx">
</span><span class="cx"> String markerTextForListItem(Element&);
</span><span class="cx">
</span><span class="lines">@@ -377,15 +373,15 @@
</span><span class="cx">
</span><span class="cx"> #if ENABLE(VIDEO)
</span><span class="cx"> void simulateAudioInterruption(HTMLMediaElement&);
</span><del>- bool mediaElementHasCharacteristic(HTMLMediaElement&, const String&, ExceptionCode&);
</del><ins>+ ExceptionOr<bool> mediaElementHasCharacteristic(HTMLMediaElement&, const String&);
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> bool isSelectPopupVisible(HTMLSelectElement&);
</span><span class="cx">
</span><del>- String captionsStyleSheetOverride(ExceptionCode&);
- void setCaptionsStyleSheetOverride(const String&, ExceptionCode&);
- void setPrimaryAudioTrackLanguageOverride(const String&, ExceptionCode&);
- void setCaptionDisplayMode(const String&, ExceptionCode&);
</del><ins>+ ExceptionOr<String> captionsStyleSheetOverride();
+ ExceptionOr<void> setCaptionsStyleSheetOverride(const String&);
+ ExceptionOr<void> setPrimaryAudioTrackLanguageOverride(const String&);
+ ExceptionOr<void> setCaptionDisplayMode(const String&);
</ins><span class="cx">
</span><span class="cx"> #if ENABLE(VIDEO)
</span><span class="cx"> Ref<TimeRanges> createTimeRanges(Float32Array& startTimes, Float32Array& endTimes);
</span><span class="lines">@@ -392,13 +388,13 @@
</span><span class="cx"> double closestTimeToTimeRanges(double time, TimeRanges&);
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>- Ref<ClientRect> selectionBounds(ExceptionCode&);
</del><ins>+ ExceptionOr<Ref<ClientRect>> selectionBounds();
</ins><span class="cx">
</span><span class="cx"> #if ENABLE(VIBRATION)
</span><span class="cx"> bool isVibrating();
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>- bool isPluginUnavailabilityIndicatorObscured(Element&, ExceptionCode&);
</del><ins>+ ExceptionOr<bool> isPluginUnavailabilityIndicatorObscured(Element&);
</ins><span class="cx"> bool isPluginSnapshotted(Element&);
</span><span class="cx">
</span><span class="cx"> #if ENABLE(MEDIA_SOURCE)
</span><span class="lines">@@ -409,13 +405,13 @@
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> #if ENABLE(VIDEO)
</span><del>- void beginMediaSessionInterruption(const String&, ExceptionCode&);
</del><ins>+ ExceptionOr<void> beginMediaSessionInterruption(const String&);
</ins><span class="cx"> void endMediaSessionInterruption(const String&);
</span><span class="cx"> void applicationDidEnterForeground() const;
</span><span class="cx"> void applicationWillEnterBackground() const;
</span><del>- void setMediaSessionRestrictions(const String& mediaType, const String& restrictions, ExceptionCode&);
</del><ins>+ ExceptionOr<void> setMediaSessionRestrictions(const String& mediaType, const String& restrictions);
</ins><span class="cx"> void setMediaElementRestrictions(HTMLMediaElement&, const String& restrictions);
</span><del>- void postRemoteControlCommand(const String&, float argument, ExceptionCode&);
</del><ins>+ ExceptionOr<void> postRemoteControlCommand(const String&, float argument);
</ins><span class="cx"> bool elementIsBlockingDisplaySleep(HTMLMediaElement&) const;
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="lines">@@ -430,7 +426,7 @@
</span><span class="cx">
</span><span class="cx"> #if ENABLE(WIRELESS_PLAYBACK_TARGET)
</span><span class="cx"> void setMockMediaPlaybackTargetPickerEnabled(bool);
</span><del>- void setMockMediaPlaybackTargetPickerState(const String& deviceName, const String& deviceState, ExceptionCode&);
</del><ins>+ ExceptionOr<void> setMockMediaPlaybackTargetPickerState(const String& deviceName, const String& deviceState);
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> #if ENABLE(WEB_AUDIO)
</span><span class="lines">@@ -441,8 +437,8 @@
</span><span class="cx"> void simulateSystemWake() const;
</span><span class="cx">
</span><span class="cx"> enum class PageOverlayType { View, Document };
</span><del>- RefPtr<MockPageOverlay> installMockPageOverlay(PageOverlayType, ExceptionCode&);
- String pageOverlayLayerTreeAsText(ExceptionCode&) const;
</del><ins>+ ExceptionOr<Ref<MockPageOverlay>> installMockPageOverlay(PageOverlayType);
+ ExceptionOr<String> pageOverlayLayerTreeAsText() const;
</ins><span class="cx">
</span><span class="cx"> void setPageMuted(bool);
</span><span class="cx"> bool isPagePlayingAudio();
</span><span class="lines">@@ -458,10 +454,10 @@
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> #if ENABLE(CSS_SCROLL_SNAP)
</span><del>- String scrollSnapOffsets(Element&, ExceptionCode&);
</del><ins>+ ExceptionOr<String> scrollSnapOffsets(Element&);
</ins><span class="cx"> #endif
</span><span class="cx">
</span><del>- String pathStringWithShrinkWrappedRects(Vector<double> rectComponents, double radius, ExceptionCode&);
</del><ins>+ ExceptionOr<String> pathStringWithShrinkWrappedRects(const Vector<double>& rectComponents, double radius);
</ins><span class="cx">
</span><span class="cx"> String getCurrentMediaControlsStatusForElement(HTMLMediaElement&);
</span><span class="cx">
</span><span class="lines">@@ -468,7 +464,7 @@
</span><span class="cx"> String userVisibleString(const DOMURL&);
</span><span class="cx"> void setShowAllPlugins(bool);
</span><span class="cx">
</span><del>- String resourceLoadStatisticsForOrigin(String origin);
</del><ins>+ String resourceLoadStatisticsForOrigin(const String& origin);
</ins><span class="cx"> void setResourceLoadStatisticsEnabled(bool);
</span><span class="cx">
</span><span class="cx"> #if ENABLE(READABLE_STREAM_API)
</span><span class="lines">@@ -503,7 +499,7 @@
</span><span class="cx"> Document* contextDocument() const;
</span><span class="cx"> Frame* frame() const;
</span><span class="cx">
</span><del>- RenderedDocumentMarker* markerAt(Node&, const String& markerType, unsigned index, ExceptionCode&);
</del><ins>+ ExceptionOr<RenderedDocumentMarker*> markerAt(Node&, const String& markerType, unsigned index);
</ins><span class="cx">
</span><span class="cx"> std::unique_ptr<InspectorStubFrontend> m_inspectorFrontend;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalsidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/Internals.idl (207520 => 207521)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/Internals.idl        2016-10-19 05:03:11 UTC (rev 207520)
+++ trunk/Source/WebCore/testing/Internals.idl        2016-10-19 05:25:06 UTC (rev 207521)
</span><span class="lines">@@ -82,7 +82,7 @@
</span><span class="cx"> // Animated image pausing testing.
</span><span class="cx"> boolean hasPausedImageAnimations(Element element);
</span><span class="cx">
</span><del>- [MayThrowLegacyException] DOMString elementRenderTreeAsText(Element element);
</del><ins>+ [MayThrowException] DOMString elementRenderTreeAsText(Element element);
</ins><span class="cx"> boolean isPreloaded(DOMString url);
</span><span class="cx"> boolean isLoadingFromMemoryCache(DOMString url);
</span><span class="cx"> DOMString xhrResponseSource(XMLHttpRequest xhr);
</span><span class="lines">@@ -100,12 +100,12 @@
</span><span class="cx">
</span><span class="cx"> CSSStyleDeclaration computedStyleIncludingVisitedInfo(Element element);
</span><span class="cx">
</span><del>- [MayThrowLegacyException] Node ensureShadowRoot(Element host);
</del><ins>+ [MayThrowException] Node ensureShadowRoot(Element host);
</ins><span class="cx"> Node ensureUserAgentShadowRoot(Element host);
</span><del>- [MayThrowLegacyException] Node createShadowRoot(Element host);
</del><ins>+ [MayThrowException] Node createShadowRoot(Element host);
</ins><span class="cx"> Node shadowRoot(Element host);
</span><span class="cx">
</span><del>- [MayThrowLegacyException] DOMString shadowRootType(Node root);
</del><ins>+ [MayThrowException] DOMString shadowRootType(Node root);
</ins><span class="cx"> DOMString shadowPseudoId(Element element);
</span><span class="cx"> void setShadowPseudoId(Element element, DOMString id);
</span><span class="cx"> Node treeScopeRootNode(Node node);
</span><span class="lines">@@ -112,63 +112,63 @@
</span><span class="cx"> Node parentTreeScope(Node node);
</span><span class="cx">
</span><span class="cx"> // Spatial Navigation testing
</span><del>- [MayThrowLegacyException] unsigned long lastSpatialNavigationCandidateCount();
</del><ins>+ [MayThrowException] unsigned long lastSpatialNavigationCandidateCount();
</ins><span class="cx">
</span><span class="cx"> // CSS Animation testing.
</span><span class="cx"> unsigned long numberOfActiveAnimations();
</span><del>- [MayThrowLegacyException] void suspendAnimations();
- [MayThrowLegacyException] void resumeAnimations();
- [MayThrowLegacyException] boolean animationsAreSuspended();
- [MayThrowLegacyException] boolean pauseAnimationAtTimeOnElement(DOMString animationName, unrestricted double pauseTime, Element element);
- [MayThrowLegacyException] boolean pauseAnimationAtTimeOnPseudoElement(DOMString animationName, unrestricted double pauseTime, Element element, DOMString pseudoId);
</del><ins>+ [MayThrowException] void suspendAnimations();
+ [MayThrowException] void resumeAnimations();
+ [MayThrowException] boolean animationsAreSuspended();
+ [MayThrowException] boolean pauseAnimationAtTimeOnElement(DOMString animationName, unrestricted double pauseTime, Element element);
+ [MayThrowException] boolean pauseAnimationAtTimeOnPseudoElement(DOMString animationName, unrestricted double pauseTime, Element element, DOMString pseudoId);
</ins><span class="cx">
</span><span class="cx"> // CSS Transition testing.
</span><del>- [MayThrowLegacyException] boolean pauseTransitionAtTimeOnElement(DOMString propertyName, unrestricted double pauseTime, Element element);
- [MayThrowLegacyException] boolean pauseTransitionAtTimeOnPseudoElement(DOMString property, unrestricted double pauseTime, Element element, DOMString pseudoId);
</del><ins>+ [MayThrowException] boolean pauseTransitionAtTimeOnElement(DOMString propertyName, unrestricted double pauseTime, Element element);
+ [MayThrowException] boolean pauseTransitionAtTimeOnPseudoElement(DOMString property, unrestricted double pauseTime, Element element, DOMString pseudoId);
</ins><span class="cx">
</span><span class="cx"> DOMString visiblePlaceholder(Element element);
</span><span class="cx"> void selectColorInColorChooser(HTMLInputElement element, DOMString colorValue);
</span><del>- [MayThrowLegacyException] sequence<DOMString> formControlStateOfPreviousHistoryItem();
- [MayThrowLegacyException] void setFormControlStateOfPreviousHistoryItem(sequence<DOMString> values);
</del><ins>+ [MayThrowException] sequence<DOMString> formControlStateOfPreviousHistoryItem();
+ [MayThrowException] void setFormControlStateOfPreviousHistoryItem(sequence<DOMString> values);
</ins><span class="cx">
</span><del>- [MayThrowLegacyException] ClientRect absoluteCaretBounds();
</del><ins>+ [MayThrowException] ClientRect absoluteCaretBounds();
</ins><span class="cx">
</span><span class="cx"> ClientRect boundingBox(Element element);
</span><span class="cx">
</span><del>- [MayThrowLegacyException] ClientRectList inspectorHighlightRects();
- [MayThrowLegacyException] DOMString inspectorHighlightObject();
</del><ins>+ [MayThrowException] ClientRectList inspectorHighlightRects();
+ [MayThrowException] DOMString inspectorHighlightObject();
</ins><span class="cx">
</span><del>- [MayThrowLegacyException] unsigned long markerCountForNode(Node node, DOMString markerType);
- [MayThrowLegacyException] Range markerRangeForNode(Node node, DOMString markerType, unsigned long index);
- [MayThrowLegacyException] DOMString markerDescriptionForNode(Node node, DOMString markerType, unsigned long index);
- [MayThrowLegacyException] DOMString dumpMarkerRects(DOMString markerType);
</del><ins>+ [MayThrowException] unsigned long markerCountForNode(Node node, DOMString markerType);
+ [MayThrowException] Range markerRangeForNode(Node node, DOMString markerType, unsigned long index);
+ [MayThrowException] DOMString markerDescriptionForNode(Node node, DOMString markerType, unsigned long index);
+ [MayThrowException] DOMString dumpMarkerRects(DOMString markerType);
</ins><span class="cx"> void addTextMatchMarker(Range range, boolean isActive);
</span><del>- [MayThrowLegacyException] void setMarkedTextMatchesAreHighlighted(boolean flag);
</del><ins>+ [MayThrowException] void setMarkedTextMatchesAreHighlighted(boolean flag);
</ins><span class="cx">
</span><span class="cx"> void invalidateFontCache();
</span><span class="cx">
</span><del>- [MayThrowLegacyException] void setScrollViewPosition(long x, long y);
</del><ins>+ [MayThrowException] void setScrollViewPosition(long x, long y);
</ins><span class="cx">
</span><del>- [MayThrowLegacyException] void setViewBaseBackgroundColor(DOMString colorValue);
</del><ins>+ [MayThrowException] void setViewBaseBackgroundColor(DOMString colorValue);
</ins><span class="cx">
</span><del>- [MayThrowLegacyException] void setPagination(DOMString mode, long gap, optional long pageLength = 0);
- [MayThrowLegacyException] void setPaginationLineGridEnabled(boolean enabled);
</del><ins>+ [MayThrowException] void setPagination(DOMString mode, long gap, optional long pageLength = 0);
+ [MayThrowException] void setPaginationLineGridEnabled(boolean enabled);
</ins><span class="cx">
</span><del>- [MayThrowLegacyException] DOMString configurationForViewport(unrestricted float devicePixelRatio, long deviceWidth, long deviceHeight, long availableWidth, long availableHeight);
</del><ins>+ [MayThrowException] DOMString configurationForViewport(unrestricted float devicePixelRatio, long deviceWidth, long deviceHeight, long availableWidth, long availableHeight);
</ins><span class="cx">
</span><del>- [MayThrowLegacyException] boolean wasLastChangeUserEdit(Element textField);
</del><ins>+ [MayThrowException] boolean wasLastChangeUserEdit(Element textField);
</ins><span class="cx"> boolean elementShouldAutoComplete(HTMLInputElement inputElement);
</span><span class="cx"> void setEditingValue(HTMLInputElement inputElement, DOMString value);
</span><span class="cx"> void setAutofilled(HTMLInputElement inputElement, boolean enabled);
</span><span class="cx"> void setShowAutoFillButton(HTMLInputElement inputElement, AutoFillButtonType autoFillButtonType);
</span><del>- [MayThrowLegacyException] unsigned long countMatchesForText(DOMString text, unsigned long findOptions, DOMString markMatches);
- [MayThrowLegacyException] unsigned long countFindMatches(DOMString text, unsigned long findOptions);
</del><ins>+ unsigned long countMatchesForText(DOMString text, unsigned long findOptions, DOMString markMatches);
+ unsigned long countFindMatches(DOMString text, unsigned long findOptions);
</ins><span class="cx">
</span><del>- [MayThrowLegacyException] DOMString autofillFieldName(Element formControlElement);
</del><ins>+ [MayThrowException] DOMString autofillFieldName(Element formControlElement);
</ins><span class="cx">
</span><del>- [MayThrowLegacyException] void paintControlTints();
</del><ins>+ [MayThrowException] void paintControlTints();
</ins><span class="cx">
</span><del>- [MayThrowLegacyException] void scrollElementToRect(Element element, long x, long y, long w, long h);
</del><ins>+ [MayThrowException] void scrollElementToRect(Element element, long x, long y, long w, long h);
</ins><span class="cx">
</span><span class="cx"> Range rangeFromLocationAndLength(Element scope, long rangeLocation, long rangeLength);
</span><span class="cx"> unsigned long locationFromRange(Element scope, Range range);
</span><span class="lines">@@ -175,12 +175,12 @@
</span><span class="cx"> unsigned long lengthFromRange(Element scope, Range range);
</span><span class="cx"> DOMString rangeAsText(Range range);
</span><span class="cx"> Range subrange(Range range, long rangeLocation, long rangeLength);
</span><del>- [MayThrowLegacyException] Range rangeForDictionaryLookupAtLocation(long x, long y);
</del><ins>+ [MayThrowException] Range rangeForDictionaryLookupAtLocation(long x, long y);
</ins><span class="cx">
</span><del>- [MayThrowLegacyException] void setDelegatesScrolling(boolean enabled);
</del><ins>+ [MayThrowException] void setDelegatesScrolling(boolean enabled);
</ins><span class="cx">
</span><del>- [MayThrowLegacyException] long lastSpellCheckRequestSequence();
- [MayThrowLegacyException] long lastSpellCheckProcessedSequence();
</del><ins>+ [MayThrowException] long lastSpellCheckRequestSequence();
+ [MayThrowException] long lastSpellCheckProcessedSequence();
</ins><span class="cx">
</span><span class="cx"> sequence<DOMString> userPreferredLanguages();
</span><span class="cx"> void setUserPreferredLanguages(sequence<DOMString> languages);
</span><span class="lines">@@ -188,10 +188,10 @@
</span><span class="cx"> sequence<DOMString> userPreferredAudioCharacteristics();
</span><span class="cx"> void setUserPreferredAudioCharacteristic(DOMString characteristic);
</span><span class="cx">
</span><del>- [MayThrowLegacyException] unsigned long wheelEventHandlerCount();
- [MayThrowLegacyException] unsigned long touchEventHandlerCount();
</del><ins>+ [MayThrowException] unsigned long wheelEventHandlerCount();
+ [MayThrowException] unsigned long touchEventHandlerCount();
</ins><span class="cx">
</span><del>- [MayThrowLegacyException] NodeList nodesFromRect(Document document, long x, long y,
</del><ins>+ [MayThrowException] NodeList nodesFromRect(Document document, long x, long y,
</ins><span class="cx"> unsigned long topPadding, unsigned long rightPadding, unsigned long bottomPadding, unsigned long leftPadding,
</span><span class="cx"> boolean ignoreClipping, boolean allowShadowContent, boolean allowChildFrameContent);
</span><span class="cx">
</span><span class="lines">@@ -200,9 +200,9 @@
</span><span class="cx">
</span><span class="cx"> void updateEditorUINowIfScheduled();
</span><span class="cx">
</span><del>- [MayThrowLegacyException] boolean hasSpellingMarker(long from, long length);
- [MayThrowLegacyException] boolean hasGrammarMarker(long from, long length);
- [MayThrowLegacyException] boolean hasAutocorrectedMarker(long from, long length);
</del><ins>+ boolean hasSpellingMarker(long from, long length);
+ boolean hasGrammarMarker(long from, long length);
+ boolean hasAutocorrectedMarker(long from, long length);
</ins><span class="cx"> void setContinuousSpellCheckingEnabled(boolean enabled);
</span><span class="cx"> void setAutomaticQuoteSubstitutionEnabled(boolean enabled);
</span><span class="cx"> void setAutomaticLinkDetectionEnabled(boolean enabled);
</span><span class="lines">@@ -210,14 +210,14 @@
</span><span class="cx"> void setAutomaticTextReplacementEnabled(boolean enabled);
</span><span class="cx"> void setAutomaticSpellingCorrectionEnabled(boolean enabled);
</span><span class="cx">
</span><del>- [MayThrowLegacyException] void handleAcceptedCandidate(DOMString candidate, unsigned long location, unsigned long length);
</del><ins>+ void handleAcceptedCandidate(DOMString candidate, unsigned long location, unsigned long length);
</ins><span class="cx">
</span><del>- [MayThrowLegacyException] boolean isOverwriteModeEnabled();
- [MayThrowLegacyException] void toggleOverwriteModeEnabled();
</del><ins>+ boolean isOverwriteModeEnabled();
+ void toggleOverwriteModeEnabled();
</ins><span class="cx">
</span><del>- [MayThrowLegacyException] unsigned long numberOfScrollableAreas();
</del><ins>+ unsigned long numberOfScrollableAreas();
</ins><span class="cx">
</span><del>- [MayThrowLegacyException] boolean isPageBoxVisible(long pageNumber);
</del><ins>+ [MayThrowException] boolean isPageBoxVisible(long pageNumber);
</ins><span class="cx">
</span><span class="cx"> unsigned long imageFrameIndex(HTMLImageElement element);
</span><span class="cx">
</span><span class="lines">@@ -230,29 +230,29 @@
</span><span class="cx"> const unsigned short LAYER_TREE_INCLUDES_REPAINT_RECTS = 4;
</span><span class="cx"> const unsigned short LAYER_TREE_INCLUDES_PAINTING_PHASES = 8;
</span><span class="cx"> const unsigned short LAYER_TREE_INCLUDES_CONTENT_LAYERS = 16;
</span><del>- [MayThrowLegacyException] DOMString layerTreeAsText(Document document, optional unsigned short flags = 0);
</del><ins>+ [MayThrowException] DOMString layerTreeAsText(Document document, optional unsigned short flags = 0);
</ins><span class="cx">
</span><del>- [MayThrowLegacyException] DOMString scrollingStateTreeAsText();
- [MayThrowLegacyException] DOMString mainThreadScrollingReasons(); // FIXME: rename to synchronousScrollingReasons().
- [MayThrowLegacyException] ClientRectList nonFastScrollableRects();
</del><ins>+ [MayThrowException] DOMString scrollingStateTreeAsText();
+ [MayThrowException] DOMString mainThreadScrollingReasons(); // FIXME: rename to synchronousScrollingReasons().
+ [MayThrowException] ClientRectList nonFastScrollableRects();
</ins><span class="cx">
</span><del>- [MayThrowLegacyException] DOMString repaintRectsAsText();
</del><ins>+ [MayThrowException] DOMString repaintRectsAsText();
</ins><span class="cx">
</span><span class="cx"> // These throw if the element does not have a compositing layer.
</span><del>- [MayThrowLegacyException] void setElementUsesDisplayListDrawing(Element element, boolean usesDisplayListDrawing);
- [MayThrowLegacyException] void setElementTracksDisplayListReplay(Element element, boolean trackReplay);
</del><ins>+ [MayThrowException] void setElementUsesDisplayListDrawing(Element element, boolean usesDisplayListDrawing);
+ [MayThrowException] void setElementTracksDisplayListReplay(Element element, boolean trackReplay);
</ins><span class="cx">
</span><span class="cx"> // Flags for displayListForElement.
</span><span class="cx"> const unsigned short DISPLAY_LIST_INCLUDES_PLATFORM_OPERATIONS = 1;
</span><span class="cx"> // Returns the recorded display list.
</span><del>- [MayThrowLegacyException] DOMString displayListForElement(Element element, optional unsigned short flags = 0);
</del><ins>+ [MayThrowException] DOMString displayListForElement(Element element, optional unsigned short flags = 0);
</ins><span class="cx"> // Returns the display list that was actually painted.
</span><del>- [MayThrowLegacyException] DOMString replayDisplayListForElement(Element element, optional unsigned short flags = 0);
</del><ins>+ [MayThrowException] DOMString replayDisplayListForElement(Element element, optional unsigned short flags = 0);
</ins><span class="cx">
</span><del>- [MayThrowLegacyException] void garbageCollectDocumentResources();
</del><ins>+ [MayThrowException] void garbageCollectDocumentResources();
</ins><span class="cx">
</span><del>- [MayThrowLegacyException] void insertAuthorCSS(DOMString css);
- [MayThrowLegacyException] void insertUserCSS(DOMString css);
</del><ins>+ [MayThrowException] void insertAuthorCSS(DOMString css);
+ [MayThrowException] void insertUserCSS(DOMString css);
</ins><span class="cx">
</span><span class="cx"> readonly attribute boolean isUnderMemoryPressure;
</span><span class="cx"> void beginSimulatedMemoryPressure();
</span><span class="lines">@@ -259,11 +259,11 @@
</span><span class="cx"> void endSimulatedMemoryPressure();
</span><span class="cx">
</span><span class="cx"> #if defined(ENABLE_BATTERY_STATUS) && ENABLE_BATTERY_STATUS
</span><del>- [MayThrowLegacyException] void setBatteryStatus(DOMString eventType, boolean charging, unrestricted double chargingTime, unrestricted double dischargingTime, unrestricted double level);
</del><ins>+ [MayThrowException] void setBatteryStatus(DOMString eventType, boolean charging, unrestricted double chargingTime, unrestricted double dischargingTime, unrestricted double level);
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> #if defined(ENABLE_PROXIMITY_EVENTS) && ENABLE_PROXIMITY_EVENTS
</span><del>- [MayThrowLegacyException] void setDeviceProximity(DOMString eventType, unrestricted double value, unrestricted double min, unrestricted double max);
</del><ins>+ [MayThrowException] void setDeviceProximity(DOMString eventType, unrestricted double value, unrestricted double min, unrestricted double max);
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> unsigned long numberOfLiveNodes();
</span><span class="lines">@@ -270,23 +270,23 @@
</span><span class="cx"> unsigned long numberOfLiveDocuments();
</span><span class="cx"> DOMWindow openDummyInspectorFrontend(DOMString url);
</span><span class="cx"> void closeDummyInspectorFrontend();
</span><del>- [MayThrowLegacyException] void setInspectorIsUnderTest(boolean isUnderTest);
</del><ins>+ [MayThrowException] void setInspectorIsUnderTest(boolean isUnderTest);
</ins><span class="cx">
</span><span class="cx"> DOMString counterValue(Element element);
</span><span class="cx"> long pageNumber(Element element, optional unrestricted float pageWidth = 800, optional unrestricted float pageHeight = 600);
</span><span class="cx"> sequence<DOMString> shortcutIconURLs();
</span><span class="cx"> long numberOfPages(optional unrestricted double pageWidthInPixels = 800, optional unrestricted double pageHeightInPixels = 600);
</span><del>- [MayThrowLegacyException] DOMString pageProperty(DOMString propertyName, long pageNumber);
- [MayThrowLegacyException] DOMString pageSizeAndMarginsInPixels(long pageIndex, long width, long height, long marginTop, long marginRight, long marginBottom, long marginLeft);
</del><ins>+ [MayThrowException] DOMString pageProperty(DOMString propertyName, long pageNumber);
+ [MayThrowException] DOMString pageSizeAndMarginsInPixels(long pageIndex, long width, long height, long marginTop, long marginRight, long marginBottom, long marginLeft);
</ins><span class="cx">
</span><del>- [MayThrowLegacyException] void setPageScaleFactor(unrestricted float scaleFactor, long x, long y);
- [MayThrowLegacyException] void setPageZoomFactor(unrestricted float zoomFactor);
- [MayThrowLegacyException] void setTextZoomFactor(unrestricted float zoomFactor);
</del><ins>+ [MayThrowException] void setPageScaleFactor(unrestricted float scaleFactor, long x, long y);
+ [MayThrowException] void setPageZoomFactor(unrestricted float zoomFactor);
+ [MayThrowException] void setTextZoomFactor(unrestricted float zoomFactor);
</ins><span class="cx">
</span><del>- [MayThrowLegacyException] void setUseFixedLayout(boolean useFixedLayout);
- [MayThrowLegacyException] void setFixedLayoutSize(long width, long height);
</del><ins>+ [MayThrowException] void setUseFixedLayout(boolean useFixedLayout);
+ [MayThrowException] void setFixedLayoutSize(long width, long height);
</ins><span class="cx">
</span><del>- [MayThrowLegacyException] void setViewExposedRect(unrestricted float x, unrestricted float y, unrestricted float width, unrestricted float height);
</del><ins>+ [MayThrowException] void setViewExposedRect(unrestricted float x, unrestricted float y, unrestricted float width, unrestricted float height);
</ins><span class="cx">
</span><span class="cx"> void setHeaderHeight(unrestricted float height);
</span><span class="cx"> void setFooterHeight(unrestricted float height);
</span><span class="lines">@@ -313,34 +313,34 @@
</span><span class="cx">
</span><span class="cx"> // These functions both reset the tracked repaint rects. They are intended to be used in the following order:
</span><span class="cx"> // startTrackingRepaints, repaintRectsAsText, stopTrackingRepaints.
</span><del>- [MayThrowLegacyException] void startTrackingRepaints();
- [MayThrowLegacyException] void stopTrackingRepaints();
</del><ins>+ [MayThrowException] void startTrackingRepaints();
+ [MayThrowException] void stopTrackingRepaints();
</ins><span class="cx">
</span><del>- [MayThrowLegacyException] void startTrackingLayerFlushes();
- [MayThrowLegacyException] unsigned long layerFlushCount();
</del><ins>+ [MayThrowException] void startTrackingLayerFlushes();
+ [MayThrowException] unsigned long layerFlushCount();
</ins><span class="cx">
</span><span class="cx"> // Query if a timer is currently throttled, to debug timer throttling.
</span><del>- [MayThrowLegacyException] boolean isTimerThrottled(long timerHandle);
</del><ins>+ [MayThrowException] boolean isTimerThrottled(long timerHandle);
</ins><span class="cx">
</span><span class="cx"> boolean isRequestAnimationFrameThrottled();
</span><span class="cx"> boolean areTimersThrottled();
</span><span class="cx">
</span><del>- [MayThrowLegacyException] void startTrackingStyleRecalcs();
- [MayThrowLegacyException] unsigned long styleRecalcCount();
</del><ins>+ [MayThrowException] void startTrackingStyleRecalcs();
+ [MayThrowException] unsigned long styleRecalcCount();
</ins><span class="cx"> readonly attribute unsigned long lastStyleUpdateSize;
</span><span class="cx">
</span><del>- [MayThrowLegacyException] void startTrackingCompositingUpdates();
- [MayThrowLegacyException] unsigned long compositingUpdateCount();
</del><ins>+ [MayThrowException] void startTrackingCompositingUpdates();
+ [MayThrowException] unsigned long compositingUpdateCount();
</ins><span class="cx">
</span><span class="cx"> // |node| should be Document, HTMLIFrameElement, or unspecified.
</span><span class="cx"> // If |node| is an HTMLIFrameElement, it assumes node.contentDocument is
</span><span class="cx"> // specified without security checks. Unspecified or null means this document.
</span><del>- [MayThrowLegacyException] void updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks(optional Node? node = null);
</del><ins>+ [MayThrowException] void updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks(optional Node? node = null);
</ins><span class="cx">
</span><span class="cx"> readonly attribute unsigned long layoutCount;
</span><span class="cx">
</span><span class="cx"> // Returns a string with information about the mouse cursor used at the specified client location.
</span><del>- [MayThrowLegacyException] DOMString getCurrentCursorInfo();
</del><ins>+ [MayThrowException] DOMString getCurrentCursorInfo();
</ins><span class="cx">
</span><span class="cx"> DOMString markerTextForListItem(Element element);
</span><span class="cx">
</span><span class="lines">@@ -359,7 +359,7 @@
</span><span class="cx"> void enableAutoSizeMode(boolean enabled, long minimumWidth, long minimumHeight, long maximumWidth, long maximumHeight);
</span><span class="cx">
</span><span class="cx"> [Conditional=VIDEO] void simulateAudioInterruption(HTMLMediaElement element);
</span><del>- [Conditional=VIDEO, MayThrowLegacyException] boolean mediaElementHasCharacteristic(HTMLMediaElement element, DOMString characteristic);
</del><ins>+ [Conditional=VIDEO, MayThrowException] boolean mediaElementHasCharacteristic(HTMLMediaElement element, DOMString characteristic);
</ins><span class="cx">
</span><span class="cx"> [Conditional=LEGACY_ENCRYPTED_MEDIA] void initializeMockCDM();
</span><span class="cx">
</span><span class="lines">@@ -367,10 +367,10 @@
</span><span class="cx">
</span><span class="cx"> DOMString getImageSourceURL(Element element);
</span><span class="cx">
</span><del>- [Conditional=VIDEO_TRACK, MayThrowLegacyException] DOMString captionsStyleSheetOverride();
- [Conditional=VIDEO_TRACK, MayThrowLegacyException] void setCaptionsStyleSheetOverride(DOMString override);
- [Conditional=VIDEO_TRACK, MayThrowLegacyException] void setPrimaryAudioTrackLanguageOverride(DOMString language);
- [Conditional=VIDEO_TRACK, MayThrowLegacyException] void setCaptionDisplayMode(DOMString mode);
</del><ins>+ [Conditional=VIDEO_TRACK, MayThrowException] DOMString captionsStyleSheetOverride();
+ [Conditional=VIDEO_TRACK, MayThrowException] void setCaptionsStyleSheetOverride(DOMString override);
+ [Conditional=VIDEO_TRACK, MayThrowException] void setPrimaryAudioTrackLanguageOverride(DOMString language);
+ [Conditional=VIDEO_TRACK, MayThrowException] void setCaptionDisplayMode(DOMString mode);
</ins><span class="cx">
</span><span class="cx"> [Conditional=VIDEO] TimeRanges createTimeRanges(Float32Array startTimes, Float32Array
</span><span class="cx"> endTimes);
</span><span class="lines">@@ -382,10 +382,10 @@
</span><span class="cx"> boolean isVibrating();
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>- [MayThrowLegacyException] boolean isPluginUnavailabilityIndicatorObscured(Element element);
</del><ins>+ [MayThrowException] boolean isPluginUnavailabilityIndicatorObscured(Element element);
</ins><span class="cx"> boolean isPluginSnapshotted(Element element);
</span><span class="cx">
</span><del>- [MayThrowLegacyException] ClientRect selectionBounds();
</del><ins>+ [MayThrowException] ClientRect selectionBounds();
</ins><span class="cx">
</span><span class="cx"> [Conditional=MEDIA_SOURCE] void initializeMockMediaSource();
</span><span class="cx"> [Conditional=MEDIA_SOURCE] sequence<DOMString> bufferedSamplesForTrackID(SourceBuffer buffer, DOMString trackID);
</span><span class="lines">@@ -392,7 +392,7 @@
</span><span class="cx"> [Conditional=MEDIA_SOURCE] sequence<DOMString> enqueuedSamplesForTrackID(SourceBuffer buffer, DOMString trackID);
</span><span class="cx"> [Conditional=MEDIA_SOURCE] void setShouldGenerateTimestamps(SourceBuffer buffer, boolean flag);
</span><span class="cx">
</span><del>- [Conditional=VIDEO, MayThrowLegacyException] void beginMediaSessionInterruption(DOMString interruptionType);
</del><ins>+ [Conditional=VIDEO, MayThrowException] void beginMediaSessionInterruption(DOMString interruptionType);
</ins><span class="cx"> [Conditional=VIDEO] void endMediaSessionInterruption(DOMString flags);
</span><span class="cx"> [Conditional=MEDIA_SESSION] void sendMediaSessionStartOfInterruptionNotification(MediaSessionInterruptingCategory category);
</span><span class="cx"> [Conditional=MEDIA_SESSION] void sendMediaSessionEndOfInterruptionNotification(MediaSessionInterruptingCategory category);
</span><span class="lines">@@ -401,12 +401,12 @@
</span><span class="cx"> [Conditional=MEDIA_SESSION] void sendMediaControlEvent(MediaControlEvent event);
</span><span class="cx"> [Conditional=VIDEO] void applicationDidEnterForeground();
</span><span class="cx"> [Conditional=VIDEO] void applicationWillEnterBackground();
</span><del>- [Conditional=VIDEO, MayThrowLegacyException] void setMediaSessionRestrictions(DOMString mediaType, DOMString restrictions);
</del><ins>+ [Conditional=VIDEO, MayThrowException] void setMediaSessionRestrictions(DOMString mediaType, DOMString restrictions);
</ins><span class="cx"> [Conditional=VIDEO] void setMediaElementRestrictions(HTMLMediaElement element, DOMString restrictions);
</span><span class="cx"> [Conditional=WEB_AUDIO] void setAudioContextRestrictions(AudioContext context, DOMString restrictions);
</span><del>- [Conditional=VIDEO, MayThrowLegacyException] void postRemoteControlCommand(DOMString command, optional unrestricted float argument = 0);
</del><ins>+ [Conditional=VIDEO, MayThrowException] void postRemoteControlCommand(DOMString command, optional unrestricted float argument = 0);
</ins><span class="cx"> [Conditional=WIRELESS_PLAYBACK_TARGET] void setMockMediaPlaybackTargetPickerEnabled(boolean enabled);
</span><del>- [Conditional=WIRELESS_PLAYBACK_TARGET, MayThrowLegacyException] void setMockMediaPlaybackTargetPickerState(DOMString deviceName, DOMString deviceState);
</del><ins>+ [Conditional=WIRELESS_PLAYBACK_TARGET, MayThrowException] void setMockMediaPlaybackTargetPickerState(DOMString deviceName, DOMString deviceState);
</ins><span class="cx"> [Conditional=MEDIA_STREAM] void setMockMediaCaptureDevicesEnabled(boolean enabled);
</span><span class="cx"> [Conditional=WEB_RTC] void emulateRTCPeerConnectionPlatformEvent(RTCPeerConnection connection, DOMString action);
</span><span class="cx">
</span><span class="lines">@@ -414,8 +414,8 @@
</span><span class="cx"> [Conditional=VIDEO] void simulateSystemWake();
</span><span class="cx"> [Conditional=VIDEO] boolean elementIsBlockingDisplaySleep(HTMLMediaElement element);
</span><span class="cx">
</span><del>- [MayThrowLegacyException] MockPageOverlay installMockPageOverlay(PageOverlayType type);
- [MayThrowLegacyException] DOMString pageOverlayLayerTreeAsText();
</del><ins>+ [MayThrowException] MockPageOverlay installMockPageOverlay(PageOverlayType type);
+ [MayThrowException] DOMString pageOverlayLayerTreeAsText();
</ins><span class="cx">
</span><span class="cx"> void setPageMuted(boolean muted);
</span><span class="cx"> boolean isPagePlayingAudio();
</span><span class="lines">@@ -429,10 +429,10 @@
</span><span class="cx"> [Conditional=CONTENT_FILTERING] readonly attribute MockContentFilterSettings mockContentFilterSettings;
</span><span class="cx">
</span><span class="cx"> #if defined(ENABLE_CSS_SCROLL_SNAP) && ENABLE_CSS_SCROLL_SNAP
</span><del>- [MayThrowLegacyException] DOMString scrollSnapOffsets(Element element);
</del><ins>+ [MayThrowException] DOMString scrollSnapOffsets(Element element);
</ins><span class="cx"> #endif
</span><span class="cx">
</span><del>- [MayThrowLegacyException] DOMString pathStringWithShrinkWrappedRects(sequence<double> rectComponents, double radius);
</del><ins>+ [MayThrowException] DOMString pathStringWithShrinkWrappedRects(sequence<double> rectComponents, double radius);
</ins><span class="cx">
</span><span class="cx"> [Conditional=VIDEO] DOMString getCurrentMediaControlsStatusForElement(HTMLMediaElement element);
</span><span class="cx">
</span><span class="lines">@@ -445,7 +445,7 @@
</span><span class="cx"> DOMString resourceLoadStatisticsForOrigin(DOMString domain);
</span><span class="cx"> void setResourceLoadStatisticsEnabled(boolean enable);
</span><span class="cx">
</span><del>- [MayThrowLegacyException] void setCanShowModalDialogOverride(boolean allow);
</del><ins>+ [MayThrowException] void setCanShowModalDialogOverride(boolean allow);
</ins><span class="cx">
</span><span class="cx"> DOMString composedTreeAsText(Node parent);
</span><span class="cx">
</span></span></pre>
</div>
</div>
</body>
</html>