WebKit-https.git
11 months agoUnreviewed, rolling out r237280.
ryanhaddad@apple.com [Tue, 23 Oct 2018 18:17:11 +0000 (18:17 +0000)]
Unreviewed, rolling out r237280.

Causes fast/box-shadow/box-shadow-with-zero-radius.html to
fail on iOS Simulator.

Reverted changeset:

"[CG] Adopt CG SPI for non-even cornered rounded rects"
https://bugs.webkit.org/show_bug.cgi?id=190155
https://trac.webkit.org/changeset/237280

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237359 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months agotopPrivatelyControlledDomain is slow
antti@apple.com [Tue, 23 Oct 2018 18:02:32 +0000 (18:02 +0000)]
topPrivatelyControlledDomain is slow
https://bugs.webkit.org/show_bug.cgi?id=190792

Reviewed by Alex Christensen.

It calls into some slowish CFNetwork code and ends up showing up in profiles.

* platform/mac/PublicSuffixMac.mm:
(WebCore::topPrivatelyControlledDomain):

Add a cache that avoids calls into frameworks.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237357 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months ago[macOS Debug WK1] Layout Test inspector/codemirror/prettyprinting-css.html is a flaky...
ryanhaddad@apple.com [Tue, 23 Oct 2018 17:54:57 +0000 (17:54 +0000)]
[macOS Debug WK1] Layout Test inspector/codemirror/prettyprinting-css.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=190833

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations: Mark test as slow.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237356 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months ago[PSON] Add support for cross-site client-side redirects
cdumez@apple.com [Tue, 23 Oct 2018 17:54:34 +0000 (17:54 +0000)]
[PSON] Add support for cross-site client-side redirects
https://bugs.webkit.org/show_bug.cgi?id=190806
<rdar://problem/45047344>

Reviewed by Geoffrey Garen.

Source/WebCore:

Add support for cross-site client-side redirects so that it swaps process and so that the back
forward list looks as expected. To support this, the following changes had to be done:
- The NavigationAction now provides additional information so that the WebProcess can communicate
  things about the client-side redirect to the UIProcess: lockHistory / lockBackForwardList and
  clientRedirectSourceForHistory.
- If the UIProcess decides to process-swap on a client-side redirect, we pass the client-side
  redirect information to the new WebContent process via LoadRequest struct. WebCore then takes
  care of setting things up using this information so that it recognizes that it is continuing
  a load that is a client side redirect.
- We also need to pass the current BackForwardListItem / HistoryItem to the new WebContent
  process so that the new process can truly lock history and keep updating the *current*
  HistoryItem, instead of creating a new HistoryItem.
- After a process swap, when we re-construct the WebFrameProxy for the main frame in the new
  process, we now set the frame's URL in the UIProcess to the URL it had before we swapped.
  Clients such as Safari, rely on the main frame's URL being the expected value (the last
  committed load URL) until the next load is committed when receiving didPerformRedirect
  calls. Because we are destroying the main frame on process-swapping, we were losing the
  last committed URL and Safari would hit assertions.

With this model, the willPerformClientRedirect IPC is still sent from the previous WebProcess
and the didPerformClientRedirect IPC is now sent by the new WebProcess. No change should be
observable from the client's point of view.

* loader/FrameLoadRequest.h:
(WebCore::FrameLoadRequest::setLockHistory):
(WebCore::FrameLoadRequest::setlockBackForwardList):
(WebCore::FrameLoadRequest::clientRedirectSourceForHistory const):
(WebCore::FrameLoadRequest::setClientRedirectSourceForHistory):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::load):
* loader/HistoryController.cpp:
(WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
* loader/HistoryController.h:
* loader/NavigationAction.h:
(WebCore::NavigationAction::lockHistory const):
(WebCore::NavigationAction::setLockHistory):
(WebCore::NavigationAction::lockBackForwardList const):
(WebCore::NavigationAction::setLockBackForwardList):

Source/WebKit:

* Shared/LoadParameters.cpp:
(WebKit::LoadParameters::encode const):
(WebKit::LoadParameters::decode):
* Shared/LoadParameters.h:
* Shared/NavigationActionData.cpp:
(WebKit::NavigationActionData::encode const):
(WebKit::NavigationActionData::decode):
* Shared/NavigationActionData.h:
* Shared/WebBackForwardListItem.cpp:
(WebKit::WebBackForwardListItem::setSuspendedPage):
* UIProcess/API/APINavigation.h:
(API::Navigation::setLockHistory):
(API::Navigation::lockHistory const):
(API::Navigation::setLockBackForwardList):
(API::Navigation::lockBackForwardList const):
(API::Navigation::setClientRedirectSourceForHistory):
(API::Navigation::clientRedirectSourceForHistory const):
* UIProcess/API/APINavigationClient.h:
(API::NavigationClient::willPerformClientRedirect):
(API::NavigationClient::didPerformClientRedirect):
* UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
* UIProcess/Cocoa/NavigationState.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::setNavigationDelegate):
(WebKit::NavigationState::NavigationClient::didPerformClientRedirect):
* UIProcess/FrameLoadState.h:
(WebKit::FrameLoadState::setURL):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadRequestWithNavigation):
(WebKit::WebPageProxy::continueNavigationInNewProcess):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::didPerformClientRedirect):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadRequest):
(WebKit::WebPage::setCurrentHistoryItemForReattach):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

Tools:

Add API test coverage.

* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
(-[PSONNavigationDelegate _webView:willPerformClientRedirectToURL:delay:]):
(-[PSONNavigationDelegate _webView:didPerformClientRedirectFromURL:toURL:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237355 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months ago[ MacOS Debug WK1 ] Layout Test fast/forms/state-restore-to-non-edited-controls.html...
tsavell@apple.com [Tue, 23 Oct 2018 17:26:55 +0000 (17:26 +0000)]
[ MacOS Debug WK1 ] Layout Test fast/forms/state-restore-to-non-edited-controls.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=190832

Unreviewed Test Gardening.

* platform/mac-wk1/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237354 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months agoLayout Test imported/w3c/web-platform-tests/html/semantics/embedded-content/media...
ryanhaddad@apple.com [Tue, 23 Oct 2018 17:22:43 +0000 (17:22 +0000)]
Layout Test imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/autoplay-with-slow-text-tracks.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=176929

Unreviewed test gardening.

* platform/mac/TestExpectations: Mark test as flaky.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237353 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months agoREGRESSION (r236501?): Layout Test compositing/geometry/limit-layer-bounds-opacity...
ryanhaddad@apple.com [Tue, 23 Oct 2018 16:58:40 +0000 (16:58 +0000)]
REGRESSION (r236501?): Layout Test compositing/geometry/limit-layer-bounds-opacity-transition.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=190210

Unreviewed test gardening.

* platform/mac/TestExpectations: Mark test as flaky.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237352 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months ago[WPE][GTK] Pass full certificate chain in CertificateInfo coder
csaavedra@igalia.com [Tue, 23 Oct 2018 15:52:11 +0000 (15:52 +0000)]
[WPE][GTK] Pass full certificate chain in CertificateInfo coder
https://bugs.webkit.org/show_bug.cgi?id=190789

Reviewed by Michael Catanzaro.

When the network process serializes certificate data to other
processes through the argument coders, the certificate chain, if
present, is lost. In practice this means that applications using
the public API to process certificate info have no details on the
certificate chain, other than the very basics included in the
certificate. Serialize the entire chain if available in the
certificate.

Source/WebKit:

* Shared/soup/WebCoreArgumentCodersSoup.cpp:
(IPC::ArgumentCoder<CertificateInfo>::encode): Encode the
certificate chain if present.
(IPC::ArgumentCoder<CertificateInfo>::decode): Decode the
entire certificate chain and rebuild it.

Tools:

* TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp:
(testSSL): Test that the self-signed certificate has no bogus
issuer certificate.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237351 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months agoUse WeakPtr and GenericTaskQueue within ObjC classes used by MediaPlayerPrivateAVFoun...
jer.noble@apple.com [Tue, 23 Oct 2018 14:40:58 +0000 (14:40 +0000)]
Use WeakPtr and GenericTaskQueue within ObjC classes used by MediaPlayerPrivateAVFoundationObjC
https://bugs.webkit.org/show_bug.cgi?id=190790

Reviewed by Alex Christensen.

Move towards using WeakPtr callbacks instead of raw pointers within the utility objects used by
MediaPlayerPrivateAVFoundationObjC. Additionally, accessing WeakPtr off the thread which created
the pointer is not allowed, so use a GenericTaskQueue to schedule callbacks instead. Make
GenericTaskQueue<Timer> thread-safe by locking around access to m_pendingTasks, and by making
incrementing the pending task count atomic.

* platform/GenericTaskQueue.cpp:
(WebCore::TaskDispatcher<Timer>::postTask):
(WebCore::TaskDispatcher<Timer>::sharedLock):
(WebCore::TaskDispatcher<Timer>::sharedTimerFired):
(WebCore::TaskDispatcher<Timer>::dispatchOneTask):
(WebCore::TaskDispatcher<Timer>::pendingDispatchers):
* platform/GenericTaskQueue.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
(WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC):
(-[WebCoreAVFMovieObserver initWithPlayer:]):
(-[WebCoreAVFMovieObserver disconnect]):
(-[WebCoreAVFMovieObserver metadataLoaded]):
(-[WebCoreAVFMovieObserver didEnd:]):
(-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
(-[WebCoreAVFMovieObserver legibleOutput:didOutputAttributedStrings:nativeSampleBuffers:forItemTime:]):
(-[WebCoreAVFMovieObserver outputSequenceWasFlushed:]):
(-[WebCoreAVFLoaderDelegate initWithPlayer:]):
(-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]):
(-[WebCoreAVFLoaderDelegate resourceLoader:didCancelLoadingRequest:]):
(-[WebCoreAVFPullDelegate initWithPlayer:]):
(-[WebCoreAVFPullDelegate outputMediaDataWillChange:]):
(-[WebCoreAVFMovieObserver initWithCallback:]): Deleted.
(-[WebCoreAVFLoaderDelegate initWithCallback:]): Deleted.
(-[WebCoreAVFLoaderDelegate setCallback:]): Deleted.
(-[WebCoreAVFPullDelegate initWithCallback:]): Deleted.
(-[WebCoreAVFPullDelegate setCallback:]): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237350 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months agoUncaught Exception: TypeError: null is not an object (evaluating 'mouseBlock.addEvent...
drousso@apple.com [Tue, 23 Oct 2018 09:52:54 +0000 (09:52 +0000)]
Uncaught Exception: TypeError: null is not an object (evaluating 'mouseBlock.addEventListener')
https://bugs.webkit.org/show_bug.cgi?id=190766

Reviewed by Brian Burg.

* UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView.prototype._populateWaterfallGraph):
When creating the `mouseBlock`, if the `startTimestamp` and `endTimestamp` are equal, we
don't create an element. If this is true for the total range of the `WI.Resouce` (meaning
its `startTime` and `responseEnd`), don't even try to create blocks.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237349 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months agoWeb Inspector: "Queued NaNms" in Network tab
drousso@apple.com [Tue, 23 Oct 2018 09:50:14 +0000 (09:50 +0000)]
Web Inspector: "Queued NaNms" in Network tab
https://bugs.webkit.org/show_bug.cgi?id=190767
<rdar://problem/45420859>

Reviewed by Brian Burg.

* UserInterface/Models/ResourceTimingData.js:
(WI.ResourceTimingData.prototype.get fetchStart):
If the `WI.ResourceTimingData` has no `fetchStart` use the associated `WI.Resource`'s
`requestSentTimestamp` (just like `startTime`).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237348 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months agoRegistered custom properties should support syntax parameter for <length> and *
commit-queue@webkit.org [Tue, 23 Oct 2018 06:10:59 +0000 (06:10 +0000)]
Registered custom properties should support syntax parameter for <length> and *
https://bugs.webkit.org/show_bug.cgi?id=190039

Patch by Justin Michaud <justin_michaud@apple.com> on 2018-10-22
Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Update WPT test results to fail in a new way.

* web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing-expected.txt:
* web-platform-tests/css/css-properties-values-api/registered-properties-inheritance-expected.txt:
* web-platform-tests/css/css-properties-values-api/registered-property-cssom-expected.txt:
* web-platform-tests/css/css-properties-values-api/typedom.tentative-expected.txt:
* web-platform-tests/css/css-properties-values-api/var-reference-registered-properties-cycles-expected.txt:
* web-platform-tests/css/css-properties-values-api/var-reference-registered-properties-expected.txt:

Source/WebCore:

Refactor code so that:
- All properties applied in StyleResolver::applyMatchedProperties are only applied once.
- Custom properties are only resolved once, in StyleResolver, when they are applied to the RenderStyle. They were previously resolved
  every time they were referenced, and again in RenderStyle.
- The font-size property is applied after its variable references, but before custom properties that depend on it.
- Cycles are detected at the same time as resolution.
- MutableStyleProperties' custom properties cannot be set from Javascript or WebKitLegacy if they do not parse for the property's type.
  If they contain var(--...) references, however, then they can be set because we cannot check if the references are valid from setProperty.
  This behaviour matches chrome, but is not documented in the spec.
- Custom property values have more explicit resolved/unresolved state.
- RenderStyle only ever holds resolved custom properties, and StyleResolver::CascadedProperties only holds unresolved properties.

Tests: css-custom-properties-api/crash.html
       css-custom-properties-api/cycles.html
       css-custom-properties-api/inline.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::customPropertyValue):
* css/CSSCustomPropertyValue.cpp:
(WebCore::CSSCustomPropertyValue::equals const):
(WebCore::CSSCustomPropertyValue::customCSSText const):
(WebCore::CSSCustomPropertyValue::tokens const):
(WebCore::CSSCustomPropertyValue::checkVariablesForCycles const): Deleted.
(WebCore::CSSCustomPropertyValue::resolveVariableReferences const): Deleted.
(WebCore::CSSCustomPropertyValue::setResolvedTypedValue): Deleted.
* css/CSSCustomPropertyValue.h:
* css/CSSRegisteredCustomProperty.cpp:
(WebCore::CSSRegisteredCustomProperty::CSSRegisteredCustomProperty):
* css/CSSRegisteredCustomProperty.h:
* css/CSSStyleSheet.h:
* css/CSSVariableData.cpp:
(WebCore::CSSVariableData::CSSVariableData):
(WebCore::CSSVariableData::consumeAndUpdateTokens): Deleted.
(WebCore::CSSVariableData::checkVariablesForCycles const): Deleted.
(WebCore::CSSVariableData::checkVariablesForCyclesWithRange const): Deleted.
(WebCore::CSSVariableData::resolveVariableFallback const): Deleted.
(WebCore::CSSVariableData::resolveVariableReference const): Deleted.
(WebCore::CSSVariableData::resolveVariableReferences const): Deleted.
(WebCore::CSSVariableData::resolveTokenRange const): Deleted.
* css/CSSVariableData.h:
(WebCore::CSSVariableData::create):
(WebCore::CSSVariableData::createResolved): Deleted.
(WebCore::CSSVariableData::needsVariableResolution const): Deleted.
(WebCore::CSSVariableData::CSSVariableData): Deleted.
* css/CSSVariableReferenceValue.cpp:
(WebCore::resolveVariableFallback):
(WebCore::resolveVariableReference):
(WebCore::resolveTokenRange):
(WebCore::CSSVariableReferenceValue::resolveVariableReferences const):
(WebCore::CSSVariableReferenceValue::checkVariablesForCycles const): Deleted.
* css/CSSVariableReferenceValue.h:
(WebCore::CSSVariableReferenceValue::create):
(WebCore::CSSVariableReferenceValue::equals const):
(WebCore::CSSVariableReferenceValue::variableDataValue const): Deleted.
* css/DOMCSSRegisterCustomProperty.cpp:
(WebCore::DOMCSSRegisterCustomProperty::registerProperty):
* css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::setProperty):
* css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyInitialCustomProperty):
(WebCore::StyleBuilderCustom::applyValueCustomProperty):
* css/StyleProperties.cpp:
(WebCore::MutableStyleProperties::setCustomProperty):
* css/StyleProperties.h:
* css/StyleResolver.cpp:
(WebCore::StyleResolver::State::setStyle):
(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::applyMatchedProperties):
(WebCore::StyleResolver::applyPropertyToCurrentStyle):
(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::resolvedVariableValue const):
(WebCore::StyleResolver::CascadedProperties::applyDeferredProperties):
(WebCore::StyleResolver::CascadedProperties::Property::apply):
(WebCore::StyleResolver::applyCascadedCustomProperty):
(WebCore::StyleResolver::applyCascadedProperties):
* css/StyleResolver.h:
* css/parser/CSSParser.cpp:
(WebCore::CSSParser::parseValueWithVariableReferences):
* css/parser/CSSParser.h:
* css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::CSSPropertyParser):
(WebCore::CSSPropertyParser::canParseTypedCustomPropertyValue):
(WebCore::CSSPropertyParser::parseTypedCustomPropertyValue):
(WebCore::CSSPropertyParser::collectParsedCustomPropertyValueDependencies):
(WebCore::CSSPropertyParser::parseValueStart):
(WebCore::CSSPropertyParser::parseSingleValue):
* css/parser/CSSPropertyParser.h:
* css/parser/CSSVariableParser.cpp:
(WebCore::CSSVariableParser::parseDeclarationValue):
* dom/ConstantPropertyMap.cpp:
(WebCore::ConstantPropertyMap::setValueForProperty):
(WebCore::variableDataForPositivePixelLength):
(WebCore::variableDataForPositiveDuration):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::checkVariablesInCustomProperties): Deleted.
* rendering/style/RenderStyle.h:
(WebCore::RenderStyle::setInheritedCustomPropertyValue):
(WebCore::RenderStyle::setNonInheritedCustomPropertyValue):
* rendering/style/StyleCustomPropertyData.h:
(WebCore::StyleCustomPropertyData::operator== const):
(WebCore::StyleCustomPropertyData::setCustomPropertyValue):
(WebCore::StyleCustomPropertyData::StyleCustomPropertyData):
(): Deleted.

LayoutTests:

Add tests for inline styles, font-size cycles with custom properties, and a crash that was reported.

* css-custom-properties-api/crash-expected.txt: Added.
* css-custom-properties-api/crash.html: Added.
* css-custom-properties-api/cycles-expected.txt: Added.
* css-custom-properties-api/cycles.html: Added.
* css-custom-properties-api/inline-expected.txt: Added.
* css-custom-properties-api/inline.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237347 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months agoREGRESSION (r237331): InteractionDeadlockAfterCrash API test fails
timothy_horton@apple.com [Tue, 23 Oct 2018 01:52:04 +0000 (01:52 +0000)]
REGRESSION (r237331): InteractionDeadlockAfterCrash API test fails
https://bugs.webkit.org/show_bug.cgi?id=190801
<rdar://problem/43674361>

* TestWebKitAPI/Tests/WebKitCocoa/InteractionDeadlockAfterCrash.mm:
(TEST):
Use a parented WKWebView for this test, otherwise none of the assertions
about gesture recognizers work anymore.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237346 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months agoREGRESSION: [iOS] Layout Test media/media-fullscreen-pause-inline.html is a flaky...
ryanhaddad@apple.com [Tue, 23 Oct 2018 00:52:37 +0000 (00:52 +0000)]
REGRESSION: [iOS] Layout Test media/media-fullscreen-pause-inline.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=187618

Unreviewed test gardening.

* platform/ios/TestExpectations: Mark test as flaky.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237345 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months agoCSS Paint API should give a 2d rendering context
commit-queue@webkit.org [Tue, 23 Oct 2018 00:46:14 +0000 (00:46 +0000)]
CSS Paint API should give a 2d rendering context
https://bugs.webkit.org/show_bug.cgi?id=190762

Patch by Justin Michaud <justin_michaud@apple.com> on 2018-10-22
Reviewed by Dean Jackson.

Source/WebCore:

Add a new type of canvas and 2d rendering context to support the CSS Painting API.
Make many of the methods from HTMLCanvasElement virtual functions on CanvasBase, and
remove many of the downcasts in CanvasRenderingContext2DBase as a result.

* CMakeLists.txt:
* DerivedSources.make:
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSPaintRenderingContext2DCustom.cpp: Copied from Source/WebCore/css/CSSPaintCallback.h.
(WebCore::root):
(WebCore::JSPaintRenderingContext2DOwner::isReachableFromOpaqueRoots):
(WebCore::JSPaintRenderingContext2D::visitAdditionalChildren):
* bindings/js/WebCoreBuiltinNames.h:
* css/CSSPaintCallback.h:
* css/CSSPaintCallback.idl:
* html/CanvasBase.cpp:
(WebCore::CanvasBase::~CanvasBase):
* html/CanvasBase.h:
(WebCore::CanvasBase::isCustomPaintCanvas const):
* html/CustomPaintCanvas.cpp: Added.
(WebCore::CustomPaintCanvas::create):
(WebCore::CustomPaintCanvas::CustomPaintCanvas):
(WebCore::CustomPaintCanvas::~CustomPaintCanvas):
(WebCore::CustomPaintCanvas::width const):
(WebCore::CustomPaintCanvas::setWidth):
(WebCore::CustomPaintCanvas::height const):
(WebCore::CustomPaintCanvas::setHeight):
(WebCore::CustomPaintCanvas::size const):
(WebCore::CustomPaintCanvas::setSize):
(WebCore::CustomPaintCanvas::getContext):
(WebCore::CustomPaintCanvas::copiedImage const):
(WebCore::CustomPaintCanvas::drawingContext const):
(WebCore::CustomPaintCanvas::existingDrawingContext const):
(WebCore::CustomPaintCanvas::makeRenderingResultsAvailable):
* html/CustomPaintCanvas.h: Copied from Source/WebCore/html/OffscreenCanvas.h.
* html/HTMLCanvasElement.h:
* html/OffscreenCanvas.h:
* html/canvas/CanvasRenderingContext.cpp:
(WebCore::CanvasRenderingContext::wouldTaintOrigin):
* html/canvas/CanvasRenderingContext.h:
(WebCore::CanvasRenderingContext::isPaint const):
* html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::DisplayListDrawingContext::DisplayListDrawingContext):
(WebCore::CanvasRenderingContext2DBase::unwindStateStack):
(WebCore::CanvasRenderingContext2DBase::isAccelerated const):
(WebCore::CanvasRenderingContext2DBase::setStrokeStyle):
(WebCore::CanvasRenderingContext2DBase::setFillStyle):
(WebCore::CanvasRenderingContext2DBase::resetTransform):
(WebCore::CanvasRenderingContext2DBase::clearCanvas):
(WebCore::CanvasRenderingContext2DBase::transformAreaToDevice const):
(WebCore::CanvasRenderingContext2DBase::rectContainsCanvas const):
(WebCore::CanvasRenderingContext2DBase::calculateCompositingBufferRect):
(WebCore::CanvasRenderingContext2DBase::compositeBuffer):
(WebCore::CanvasRenderingContext2DBase::createPattern):
(WebCore::CanvasRenderingContext2DBase::didDrawEntireCanvas):
(WebCore::CanvasRenderingContext2DBase::didDraw):
(WebCore::CanvasRenderingContext2DBase::paintRenderingResultsToCanvas):
(WebCore::CanvasRenderingContext2DBase::drawingContext const):
* html/canvas/CanvasRenderingContext2DBase.h:
* html/canvas/PaintRenderingContext2D.cpp: Copied from Source/WebCore/css/CSSPaintCallback.h.
(WebCore::PaintRenderingContext2D::create):
(WebCore::PaintRenderingContext2D::PaintRenderingContext2D):
* html/canvas/PaintRenderingContext2D.h: Copied from Source/WebCore/css/CSSPaintCallback.h.
* html/canvas/PaintRenderingContext2D.idl: Copied from Source/WebCore/css/CSSPaintCallback.idl.
* html/canvas/WebMetalRenderPassAttachmentDescriptor.h:
* platform/graphics/CustomPaintImage.cpp:
(WebCore::CustomPaintImage::doCustomPaint):

LayoutTests:

* fast/css-custom-paint/basic.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237344 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months agoUnreviewed, update TestExpectations for imported/w3c/web-platform-tests/fetch/nosniff...
ryanhaddad@apple.com [Tue, 23 Oct 2018 00:21:30 +0000 (00:21 +0000)]
Unreviewed, update TestExpectations for imported/w3c/web-platform-tests/fetch/nosniff/importscripts.html.
https://bugs.webkit.org/show_bug.cgi?id=157068

* TestExpectations: Mark test as a flaky failure for release builds.
* platform/mac-wk1/TestExpectations: Remove duplicate expectation.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237342 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months agoUpdate web-platform-tests/resource-timing
jiewen_tan@apple.com [Tue, 23 Oct 2018 00:15:40 +0000 (00:15 +0000)]
Update web-platform-tests/resource-timing
https://bugs.webkit.org/show_bug.cgi?id=190550

Reviewed by Youenn Fablet.

* resources/import-expectations.json:
* web-platform-tests/resource-timing/resource_initiator_types-expected.txt:
* web-platform-tests/resource-timing/resource_subframe_self_navigation-expected.txt:
* web-platform-tests/resource-timing/resource_timing_buffer_full_eventually.html:
* web-platform-tests/resource-timing/resources/TAOResponse.py:
(main):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237341 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months agoUse Location = "Relative to Build Products" rather than "Relative to Group"
krollin@apple.com [Mon, 22 Oct 2018 23:58:49 +0000 (23:58 +0000)]
Use Location = "Relative to Build Products" rather than "Relative to Group"
https://bugs.webkit.org/show_bug.cgi?id=190781

Reviewed by Alexey Proskuryakov.

Almost all Derived Files are included in Xcode projects with the
Location attribute set to "Relative to Group". While this currently
works, the Derived Files can no longer be found when enabling XCBuild
(which has stricter requirements). Fix this by setting the Location
attribute to "Relative to Build Products".

Source/JavaScriptCore:

* JavaScriptCore.xcodeproj/project.pbxproj:

Source/WebCore:

No new tests -- no changed functionality.

* WebCore.xcodeproj/project.pbxproj:

Source/WebKit:

* WebKit.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237340 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months agoREGRESSION (r234330): [mac-wk1] Layout Test fast/repaint/animation-after-layer-scroll...
realdawei@apple.com [Mon, 22 Oct 2018 23:56:06 +0000 (23:56 +0000)]
REGRESSION (r234330): [mac-wk1] Layout Test fast/repaint/animation-after-layer-scroll.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=188421

Unreviewed test gardening.

Patch by Dawei Fenton <realdawei@apple.com> on 2018-10-22

* platform/mac-wk1/TestExpectations: Mark test as flaky.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237339 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months ago[ Mojave WK1 ] Layout Test storage/indexeddb/database-odd-names.html is failing
ryanhaddad@apple.com [Mon, 22 Oct 2018 23:17:22 +0000 (23:17 +0000)]
[ Mojave WK1 ] Layout Test storage/indexeddb/database-odd-names.html is failing
https://bugs.webkit.org/show_bug.cgi?id=190350

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations: Mark test as failing.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237338 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months ago[macOS WK1] Layout Test http/tests/security/cross-origin-xsl-redirect-BLOCKED.html...
ryanhaddad@apple.com [Mon, 22 Oct 2018 23:05:55 +0000 (23:05 +0000)]
[macOS WK1] Layout Test http/tests/security/cross-origin-xsl-redirect-BLOCKED.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=189723

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations: Mark test as flaky.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237337 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months agoREGRESSION (r234081): TestWebKitAPI.VideoControlsManager.VideoControlsManagerAudioEle...
ryanhaddad@apple.com [Mon, 22 Oct 2018 23:05:52 +0000 (23:05 +0000)]
REGRESSION (r234081): TestWebKitAPI.VideoControlsManager.VideoControlsManagerAudioElementFollowingUserInteraction is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=187972

Unreviewed test gardening.

* TestWebKitAPI/Tests/WebKitCocoa/VideoControlsManager.mm:
(TestWebKitAPI::TEST): Disable the flaky test.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237336 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months agoLayout Test imported/w3c/web-platform-tests/intersection-observer/containing-block...
ajuma@chromium.org [Mon, 22 Oct 2018 22:02:46 +0000 (22:02 +0000)]
Layout Test imported/w3c/web-platform-tests/intersection-observer/containing-block.html is a flaky failure on Debug builds
https://bugs.webkit.org/show_bug.cgi?id=190808

Unreviewed test gardening.

* TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237334 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months agoSome WK1 repaint tests are flaky on Mojave
realdawei@apple.com [Mon, 22 Oct 2018 22:02:09 +0000 (22:02 +0000)]
Some WK1 repaint tests are flaky on Mojave
https://bugs.webkit.org/show_bug.cgi?id=190627

Unreviewed, marked tests as flaky.

Patch by Dawei Fenton <realdawei@apple.com> on 2018-10-22

* platform/mac-wk1/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237333 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months agoDon't waste time under -setupInteraction under -initWithFrame for unparented WKWebViews
timothy_horton@apple.com [Mon, 22 Oct 2018 21:22:36 +0000 (21:22 +0000)]
Don't waste time under -setupInteraction under -initWithFrame for unparented WKWebViews
https://bugs.webkit.org/show_bug.cgi?id=190801
<rdar://problem/43674361>

Reviewed by Megan Gardner.

* UIProcess/ios/WKContentView.mm:
(-[WKContentView _commonInitializationWithProcessPool:configuration:]):
(-[WKContentView didMoveToWindow]):
Defer the first call to WKContentViewInteraction's -setupInteraction
until the view is parented. This avoids a few milliseconds of unnecessary
work for views that are never parented.

* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setupInteraction]):
(-[WKContentView cleanupInteraction]):
Keep track of the current state of WKContentViewInteraction's gestures.
Use this to make it OK to call -setupInteraction multiple times.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237331 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months agoRegression (r232410): StorageTracker.db file gets unlinked while in use
sihui_liu@apple.com [Mon, 22 Oct 2018 21:05:20 +0000 (21:05 +0000)]
Regression (r232410): StorageTracker.db file gets unlinked while in use
https://bugs.webkit.org/show_bug.cgi?id=190795

Reviewed by Chris Dumez.

WK2 stopped using StorageTracker.db file in r232410 and would delete
the file for safety.
It turned out WK1 could use the same file path, so WK2 may delete the
file while WK1 is using it.

* Storage/StorageTracker.cpp:
(WebKit::StorageTracker::trackerDatabasePath):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237330 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months agoDeque's contains() and findIf() should be const
cdumez@apple.com [Mon, 22 Oct 2018 21:05:02 +0000 (21:05 +0000)]
Deque's contains() and findIf() should be const
https://bugs.webkit.org/show_bug.cgi?id=190796

Reviewed by Antti Koivisto.

Source/WebKit:

Mark method as const now that Deque's implementation allows it to be.

* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::hasSuspendedPageProxyFor const):
(WebKit::WebProcessPool::hasSuspendedPageProxyFor): Deleted.
* UIProcess/WebProcessPool.h:

Source/WTF:

Deque's contains() and findIf() should be const as they do not modify the container.

* wtf/Deque.h:
(WTF::inlineCapacity>::findIf):
(WTF::inlineCapacity>::findIf const):
(WTF::inlineCapacity>::contains const):
(WTF::inlineCapacity>::contains): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237329 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months ago[iOS] [Datalist] fast/forms/datalist/datalist-show-hide.html fails
wenson_hsieh@apple.com [Mon, 22 Oct 2018 20:12:07 +0000 (20:12 +0000)]
[iOS] [Datalist] fast/forms/datalist/datalist-show-hide.html fails
https://bugs.webkit.org/show_bug.cgi?id=190777

Reviewed by Tim Horton.

Tools:

Implement isShowingDataListSuggestions on iOS. See below for more details.

* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::isShowingDataListSuggestions const):

Add a stub implementation for DumpRenderTree.

* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::isShowingDataListSuggestions const):

Move this stub implementation to !PLATFORM(COCOA).

* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::forEachViewInHierarchy):

Add a helper function to apply a given function to a UIView and each of its subviews, recursively.

(WTR::UIScriptController::isShowingDataListSuggestions const):

For iOS, return whether the UIRemoteKeyboardWindow contains a subview of type WKDataListSuggestionsPickerView.

LayoutTests:

Refactor this test such that it passes on both iOS and macOS. This test verifies that datalist suggestions menu
UI can be shown and hidden. On macOS, we focus and then blur the input field; on iOS, we tap in the datalist
button to show the suggestions UI, and then tap in the text field to bring back the regular keyboard.

* fast/forms/datalist/datalist-show-hide-expected.txt:
* fast/forms/datalist/datalist-show-hide.html:
* platform/ios/TestExpectations:

Unskip the layout test on iOS.

* resources/ui-helper.js:
(window.UIHelper.isShowingDataListSuggestions):

Tweak this helper function to resolve with either true or false (Boolean types), instead of the strings "true"
and "false".

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237328 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months agoWeb Inspector: Open Quickly dialog doesn't show named scripts that appear in the...
commit-queue@webkit.org [Mon, 22 Oct 2018 19:24:04 +0000 (19:24 +0000)]
Web Inspector: Open Quickly dialog doesn't show named scripts that appear in the debugger sidebar
https://bugs.webkit.org/show_bug.cgi?id=190649

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2018-10-22
Reviewed by Devin Rousso.

* UserInterface/Views/OpenResourceDialog.js:
(WI.OpenResourceDialog.prototype.didPresentDialog):
(WI.OpenResourceDialog.prototype._addResourcesForTarget):
(WI.OpenResourceDialog.prototype._addScriptsForTarget):
Include non-resource named scripts from the main target in
the open quickly dialog.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237327 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months agoDFGAbstractValue::m_arrayModes expects IndexingMode values, not IndexingType.
mark.lam@apple.com [Mon, 22 Oct 2018 19:07:37 +0000 (19:07 +0000)]
DFGAbstractValue::m_arrayModes expects IndexingMode values, not IndexingType.
https://bugs.webkit.org/show_bug.cgi?id=190515
<rdar://problem/45222379>

Rubber-stamped by Saam Barati.

Adding another test.

* stress/regress-190515-2.js: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237326 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months agoDFGAbstractValue::m_arrayModes expects IndexingMode values, not IndexingType.
mark.lam@apple.com [Mon, 22 Oct 2018 17:18:13 +0000 (17:18 +0000)]
DFGAbstractValue::m_arrayModes expects IndexingMode values, not IndexingType.
https://bugs.webkit.org/show_bug.cgi?id=190515
<rdar://problem/45222379>

Reviewed by Saam Barati.

JSTests:

* stress/regress-190515.js: Added.

Source/JavaScriptCore:

1. Fixes calls to asArrayModes() to take a structure's IndexingMode instead of
   IndexingType.

2. DFG's compileNewArrayBuffer()'s HaveABadTime case was previously using the
   node's indexingType (instead of indexingMode) to choose the array structure
   to use for creating an array buffer with.  This turns out to not be an issue
   because when the VM is in having a bad time, all the
   arrayStructureForIndexingTypeDuringAllocation structure pointers will point to
   the SlowPutArrayStorage structure anyway.  However, to be strictly correct,
   we'll fix it to use the structure for the node's indexingMode.

* dfg/DFGAbstractValue.cpp:
(JSC::DFG::AbstractValue::set):
(JSC::DFG::AbstractValue::mergeOSREntryValue):
* dfg/DFGAbstractValue.h:
(JSC::DFG::AbstractValue::validate const):
* dfg/DFGOSRExit.cpp:
(JSC::DFG::OSRExit::executeOSRExit):
* dfg/DFGRegisteredStructureSet.cpp:
(JSC::DFG::RegisteredStructureSet::arrayModesFromStructures const):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileNewArrayBuffer):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237325 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months ago[LFC][IFC] Add justify text-align support.
zalan@apple.com [Mon, 22 Oct 2018 16:27:32 +0000 (16:27 +0000)]
[LFC][IFC] Add justify text-align support.
https://bugs.webkit.org/show_bug.cgi?id=190779

Reviewed by Antti Koivisto.

Collect expansion opportunities and adjust runs accordingly.

* layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::layoutInlineContent const):
* layout/inlineformatting/InlineFormattingContext.h:
* layout/inlineformatting/InlineRun.h:
(WebCore::Layout::InlineRun::expansionOpportunity):
(WebCore::Layout::InlineRun::TextContext::setStart):
(WebCore::Layout::InlineRun::TextContext::setLength):
(WebCore::Layout::InlineRun::setTextContext):
(WebCore::Layout::InlineRun::createRun): Deleted.
(WebCore::Layout::InlineRun::createTextRun): Deleted.
* layout/inlineformatting/Line.cpp:
(WebCore::Layout::InlineFormattingContext::Line::Line):
(WebCore::Layout::InlineFormattingContext::Line::init):
(WebCore::Layout::InlineFormattingContext::Line::computeExpansionOpportunities):
(WebCore::Layout::InlineFormattingContext::Line::appendContent):
(WebCore::Layout::InlineFormattingContext::Line::justifyRuns):
(WebCore::Layout::InlineFormattingContext::Line::close):
(WebCore::Layout::isNonCollapsedText): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237324 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months ago[LFC][IFC] Add (right, center)text-align support.
zalan@apple.com [Mon, 22 Oct 2018 16:02:48 +0000 (16:02 +0000)]
[LFC][IFC] Add (right, center)text-align support.
https://bugs.webkit.org/show_bug.cgi?id=190745

Reviewed by Antti Koivisto.

Adjust the logical left of each run while closing the line.

* layout/Verification.cpp:
(WebCore::Layout::outputMismatchingSimpleLineInformationIfNeeded):
(WebCore::Layout::outputMismatchingComplexLineInformationIfNeeded):
* layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::trimLeadingRun):
(WebCore::Layout::InlineFormattingContext::layoutInlineContent const):
* layout/inlineformatting/InlineFormattingContext.h:
(WebCore::Layout::InlineFormattingContext::Line::hasContent const):
(WebCore::Layout::InlineFormattingContext::Line::contentLogicalLeft const): Deleted.
* layout/inlineformatting/InlineLineBreaker.cpp:
(WebCore::Layout::InlineLineBreaker::nextRun):
(WebCore::Layout::InlineLineBreaker::splitRun):
* layout/inlineformatting/InlineLineBreaker.h:
* layout/inlineformatting/InlineRun.h:
(WebCore::Layout::InlineRun::setLogicalLeft):
(WebCore::Layout::InlineRun::TextContext::start const):
(WebCore::Layout::InlineRun::createRun):
(WebCore::Layout::InlineRun::createTextRun):
(WebCore::Layout::InlineRun::InlineRun):
(WebCore::Layout::InlineRun::TextContext::TextContext):
(WebCore::Layout::InlineRun::TextContext::position const): Deleted.
* layout/inlineformatting/Line.cpp:
(WebCore::Layout::InlineFormattingContext::Line::Line):
(WebCore::Layout::InlineFormattingContext::Line::init):
(WebCore::Layout::adjustedLineLogicalLeft):
(WebCore::Layout::InlineFormattingContext::Line::contentLogicalRight):
(WebCore::Layout::InlineFormattingContext::Line::appendContent):
(WebCore::Layout::InlineFormattingContext::Line::close):
(WebCore::Layout::InlineFormattingContext::Line::setConstraints): Deleted.
* layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::outputInlineRuns):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237323 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months ago[ MacOS WK1 ] Layout Test platform/mac/media/audio-session-category-video-paused...
tsavell@apple.com [Mon, 22 Oct 2018 15:48:29 +0000 (15:48 +0000)]
[ MacOS WK1 ] Layout Test platform/mac/media/audio-session-category-video-paused.html is flaky Timeout
https://bugs.webkit.org/show_bug.cgi?id=189680

Unreviewed Test Gardening

* platform/mac-wk1/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237322 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months ago[LFC][IFC] Implement Replaced helper class.
zalan@apple.com [Mon, 22 Oct 2018 15:42:44 +0000 (15:42 +0000)]
[LFC][IFC] Implement Replaced helper class.
https://bugs.webkit.org/show_bug.cgi?id=190719

Reviewed by Antti Koivisto.

* layout/layouttree/LayoutBox.cpp:
(WebCore::Layout::Box::Box):
* layout/layouttree/LayoutBox.h:
(WebCore::Layout::Box::replaced const):
* layout/layouttree/LayoutReplaced.cpp:
(WebCore::Layout::Replaced::Replaced):
(WebCore::Layout::Replaced::hasIntrinsicWidth const):
(WebCore::Layout::Replaced::hasIntrinsicHeight const):
(WebCore::Layout::Replaced::hasIntrinsicRatio const):
(WebCore::Layout::Replaced::intrinsicWidth const):
(WebCore::Layout::Replaced::intrinsicHeight const):
(WebCore::Layout::Replaced::intrinsicRatio const):
* layout/layouttree/LayoutReplaced.h:
(WebCore::Layout::Replaced::hasIntrinsicWidth const): Deleted.
(WebCore::Layout::Replaced::hasIntrinsicHeight const): Deleted.
(WebCore::Layout::Replaced::hasIntrinsicRatio const): Deleted.
(WebCore::Layout::Replaced::intrinsicWidth const): Deleted.
(WebCore::Layout::Replaced::intrinsicHeight const): Deleted.
(WebCore::Layout::Replaced::intrinsicRatio const): Deleted.
* layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::TreeBuilder::createSubTree):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237321 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months ago[LFC][IFC] Block formatting context roots avoid floats.
zalan@apple.com [Mon, 22 Oct 2018 15:21:59 +0000 (15:21 +0000)]
[LFC][IFC] Block formatting context roots avoid floats.
https://bugs.webkit.org/show_bug.cgi?id=190723

Reviewed by Antti Koivisto.

Inline formatting context roots don't avoid floats (unless they also establish block formatting context).

* layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::layoutFormattingContextRoot const):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237320 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months ago[Win][Clang] WebView.h: warning: 'QueryInterface' overrides a member function but...
Hironori.Fujii@sony.com [Mon, 22 Oct 2018 02:06:22 +0000 (02:06 +0000)]
[Win][Clang] WebView.h: warning: 'QueryInterface' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
https://bugs.webkit.org/show_bug.cgi?id=190744

Reviewed by Alex Christensen.

clang-cl reports compilation warnings for inconsistent 'override'
keyword usage.

WebView::flushPendingGraphicsLayerChanges is used only if USE(CA).
This can't be marked 'override' if !USE(CA).

* WebView.cpp:
(WebView::flushPendingGraphicsLayerChanges): Define flushPendingGraphicsLayerChanges only if USE(CA).
* WebView.h: Marked all overriding member function declarations of WebView 'override'.
Declare flushPendingGraphicsLayerChanges only if USE(CA).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237313 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months agoUnskip test fast/writing-mode/english-rl-text-with-spelling-marker.html in iOS WebKit2
dbates@webkit.org [Sat, 20 Oct 2018 21:07:48 +0000 (21:07 +0000)]
Unskip test fast/writing-mode/english-rl-text-with-spelling-marker.html in iOS WebKit2

Following r235149 we mark spelling errors in iOS WebKit2.

* platform/ios-wk1/TestExpectations: Skip in legacy WebKit until we fix <https://webkit.org/b/188762>.
* platform/ios/TestExpectations: Unskip test.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237312 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11 months agoMediaRecorder should fire a stop event when all tracks are ended
commit-queue@webkit.org [Sat, 20 Oct 2018 13:15:27 +0000 (13:15 +0000)]
MediaRecorder should fire a stop event when all tracks are ended
https://bugs.webkit.org/show_bug.cgi?id=190642

Patch by YUHAN WU <yuhan_wu@apple.com> on 2018-10-20
Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

* web-platform-tests/mediacapture-record/MediaRecorder-stop-expected.txt: Added.
* web-platform-tests/mediacapture-record/MediaRecorder-stop.html: Added.

Source/WebCore:

This patch only implements to fire the stop event when all tracks are ended.
We will need to fire a dataavailable event when all tracks are ended.

Test: imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-stop.html

* Modules/mediarecorder/MediaRecorder.cpp:
(WebCore::MediaRecorder::MediaRecorder):
(WebCore::MediaRecorder::~MediaRecorder):
(WebCore::MediaRecorder::trackEnded):
* Modules/mediarecorder/MediaRecorder.h:
* Modules/mediarecorder/MediaRecorder.idl:
* WebCore.xcodeproj/project.pbxproj:
* dom/EventNames.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237311 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months ago[macOS] MiniBrowser has an unused injected bundle
mitz@apple.com [Sat, 20 Oct 2018 07:00:09 +0000 (07:00 +0000)]
[macOS] MiniBrowser has an unused injected bundle
https://bugs.webkit.org/show_bug.cgi?id=190770

Reviewed by Tim Horton.

* MiniBrowser/Configurations/MiniBrowserBundle.xcconfig: Removed.
* MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: Removed the MiniBrowserBundle target,
  the Copy Bundle build phase in the MiniBrowser target, and references to removed files.
* MiniBrowser/MiniBrowserWebProcessPlugIn.h: Removed.
* MiniBrowser/MiniBrowserWebProcessPlugIn.m: Removed.
* MiniBrowser/mac/Bundle: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237310 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months agoAllow WebContent process to check some file system features
bfulgham@apple.com [Sat, 20 Oct 2018 02:57:41 +0000 (02:57 +0000)]
Allow WebContent process to check some file system features
https://bugs.webkit.org/show_bug.cgi?id=190768
<rdar://problem/45377609>

Reviewed by Alexey Proskuryakov.

This patch unblocks some IOKit properties that are needed by lower level frameworks to make decisions
about how to efficiently use the file system.

* WebProcess/com.apple.WebProcess.sb.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237309 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months ago[WinCairo] Search terms are not saved for <input type="search">
stephan.szabo@sony.com [Sat, 20 Oct 2018 00:03:21 +0000 (00:03 +0000)]
[WinCairo] Search terms are not saved for <input type="search">
https://bugs.webkit.org/show_bug.cgi?id=188174

Reviewed by Fujii Hironori.

Source/WebCore:

No new tests, should be covered by existing tests of search
inputs.

Add support for saving the search terms for <input
type="search"> to a SQLite database, replacing the
CF-based implementation for Windows and adding support
for non-legacy WebKit.

* PlatformWin.cmake:
* platform/win/SearchPopupMenuDB.cpp: Added.
(WebCore::SearchPopupMenuDB::singleton):
(WebCore::SearchPopupMenuDB::SearchPopupMenuDB):
(WebCore::SearchPopupMenuDB::~SearchPopupMenuDB):
(WebCore::SearchPopupMenuDB::saveRecentSearches):
(WebCore::SearchPopupMenuDB::loadRecentSearches):
(WebCore::SearchPopupMenuDB::checkDatabaseValidity): Use
quick_check pragma to test database status.
(WebCore::SearchPopupMenuDB::deleteAllDatabaseFiles):
(WebCore::SearchPopupMenuDB::openDatabase):
(WebCore::SearchPopupMenuDB::closeDatabase):
(WebCore::SearchPopupMenuDB::verifySchemaVersion): Check
schema version and update for schema changes.
(WebCore::SearchPopupMenuDB::checkSQLiteReturnCode): Check
for error codes that indicate database errors and remove and
recreate the database.
(WebCore::SearchPopupMenuDB::executeSimpleSql):
(WebCore::SearchPopupMenuDB::createPreparedStatement):
* platform/win/SearchPopupMenuDB.h: Added.
* platform/win/SearchPopupMenuWin.cpp:
(WebCore::SearchPopupMenuWin::enabled): Always enable support
for search term popup
(WebCore::SearchPopupMenuWin::saveRecentSearches): Switch from
CF implementation to SQLite database implementation
(WebCore::SearchPopupMenuWin::loadRecentSearches): Switch from
CF implementation to SQLite database implementation
(WebCore::autosaveKey): Deleted.

Source/WebKit:

Add support for saving the search terms for <input
type="search"> to a SQLite database, replacing the
CF-based implementation for Windows and adding support
for non-legacy WebKit.

* UIProcess/win/WebPageProxyWin.cpp:
(WebKit::WebPageProxy::saveRecentSearches): Use SQLite database
implementation in WebCore::SearchPopupMenuDB to save search
terms
(WebKit::WebPageProxy::loadRecentSearches): Use SQLite database
implementation in WebCore::SearchPopupMenuDB to load search
terms

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237308 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months agoWebDataListSuggestionsDropdown should use a WeakPtr
achristensen@apple.com [Fri, 19 Oct 2018 23:15:27 +0000 (23:15 +0000)]
WebDataListSuggestionsDropdown should use a WeakPtr
https://bugs.webkit.org/show_bug.cgi?id=190763
<rdar://problem/45417449>

Reviewed by Tim Horton.

Nothing suspicious here. It's just good practice to not keep raw pointers that aren't reset when the object they point to are destroyed.

* UIProcess/WebDataListSuggestionsDropdown.cpp:
(WebKit::WebDataListSuggestionsDropdown::WebDataListSuggestionsDropdown):
(WebKit::WebDataListSuggestionsDropdown::close):
* UIProcess/WebDataListSuggestionsDropdown.h:
(WebKit::WebDataListSuggestionsDropdown::Client::~Client): Deleted.
* UIProcess/WebPageProxy.h:
* UIProcess/ios/WebDataListSuggestionsDropdownIOS.h:
* UIProcess/ios/WebDataListSuggestionsDropdownIOS.mm:
(WebKit::WebDataListSuggestionsDropdownIOS::create):
(WebKit::WebDataListSuggestionsDropdownIOS::WebDataListSuggestionsDropdownIOS):
(WebKit::WebDataListSuggestionsDropdownIOS::close):
(WebKit::WebDataListSuggestionsDropdownIOS::didSelectOption):
* UIProcess/mac/WebDataListSuggestionsDropdownMac.h:
* UIProcess/mac/WebDataListSuggestionsDropdownMac.mm:
(WebKit::WebDataListSuggestionsDropdownMac::create):
(WebKit::WebDataListSuggestionsDropdownMac::WebDataListSuggestionsDropdownMac):
(WebKit::WebDataListSuggestionsDropdownMac::didSelectOption):
(WebKit::WebDataListSuggestionsDropdownMac::selectOption):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237307 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months ago[WebGPU] Add stubs for WebGPUSwapChain and WebGPURenderingContext
justin_fan@apple.com [Fri, 19 Oct 2018 22:19:12 +0000 (22:19 +0000)]
[WebGPU] Add stubs for WebGPUSwapChain and WebGPURenderingContext
https://bugs.webkit.org/show_bug.cgi?id=190742

Reviewed by Dean Jackson.

Source/WebCore:

Test: updated webgpu-enabled.html to check for WebGPURenderingContext.

Implement support for creating a "webgpu" context from an HTML canvas.

* CMakeLists.txt:
* DerivedSources.make:
* Modules/webgpu/WebGPURenderingContext.cpp: Added.
(WebCore::WebGPURenderingContext::create):
(WebCore::WebGPURenderingContext::WebGPURenderingContext):
* Modules/webgpu/WebGPURenderingContext.h: Added.
* Modules/webgpu/WebGPURenderingContext.idl: Added.
* Modules/webgpu/WebGPUSwapChain.cpp: Added.
(WebCore::WebGPUSwapChain::configure):
(WebCore::WebGPUSwapChain::present):
(WebCore::WebGPUSwapChain::reshape):
(WebCore::WebGPUSwapChain::markLayerComposited):
* Modules/webgpu/WebGPUSwapChain.h: Added.
(WebCore::WebGPUSwapChain::WebGPUSwapChain):
* Modules/webgpu/WebGPUSwapChain.idl: Added.
* Modules/webgpu/WebGPUSwapChainDescriptor.h: Added.
* Modules/webgpu/WebGPUSwapChainDescriptor.idl: Added.
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/WebCoreBuiltinNames.h:
* dom/Document.cpp:
(WebCore::Document::getCSSCanvasContext):
* dom/Document.h:
* dom/Document.idl:
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::getContext):
(WebCore::HTMLCanvasElement::isWebGPUType):
(WebCore::HTMLCanvasElement::createContextWebGPU):
(WebCore::HTMLCanvasElement::getContextWebGPU):
* html/HTMLCanvasElement.h:
* html/HTMLCanvasElement.idl:
* html/canvas/CanvasRenderingContext.h:
(WebCore::CanvasRenderingContext::isWebGPU const):

LayoutTests:

Updated basic webgpu feature detection test to check for WebGPURenderingContext.

* webgpu/webgpu-enabled-expected.txt:
* webgpu/webgpu-enabled.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237306 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months ago[iOS] [Datalist] Can't pick datalist suggestions in a stock WKWebView
wenson_hsieh@apple.com [Fri, 19 Oct 2018 22:00:32 +0000 (22:00 +0000)]
[iOS] [Datalist] Can't pick datalist suggestions in a stock WKWebView
https://bugs.webkit.org/show_bug.cgi?id=190621
<rdar://problem/45310649>

Reviewed by Tim Horton.

Source/WebKit:

Fixes the bug by refactoring datalist suggestion information on iOS; currently, we override text suggestions on
_WKFormInputSession. This only works for a few internal clients (including Safari) that set a _WKInputDelegate
and also implement either -_webView:willStartInputSession: or -_webView:didStartInputSession:, which is
necessary in order to ensure that WebKit creates and maintains a form input session.

The two pieces of information that datalist code needs to vend to WKContentView are a list of UITextSuggestions
and a custom input view, which are both currently properties of _WKFormInputSession. This patch lifts these out
of the input session and makes them properties of WKContentView, which are used in
WebDataListSuggestionsDropdownIOS.

Test: fast/forms/datalist/datalist-textinput-suggestions-order.html

* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:

Add new properties to WKContentView: an input view for datalist suggestions, and a list of text suggestions.

(-[WKFormInputSession setSuggestions:]):
(-[WKContentView setupInteraction]):
(-[WKContentView cleanupInteraction]):
(-[WKContentView _endEditing]):

Pull out common logic when resigning first responder or tabbing to the next or previous text field into a new
helper. This helper notifies `_inputPeripheral`, `_formInputSession`, and `_dataListTextSuggestionsInputView`
when editing has ended; the input peripheral and suggestions input view use this chance to send the value of the
form control to the web process.

(-[WKContentView resignFirstResponderForWebView]):
(-[WKContentView inputView]):

If a custom input view is not set but we have an input view for a datalist's text suggestions, use the datalist
input view.

(-[WKContentView accessoryTab:]):
(-[WKContentView _stopAssistingNode]):

Clear datalist state on WKContentView.

(-[WKContentView dataListTextSuggestionsInputView]):
(-[WKContentView dataListTextSuggestions]):
(-[WKContentView setDataListTextSuggestionsInputView:]):
(-[WKContentView setDataListTextSuggestions:]):
(-[WKContentView updateTextSuggestionsForInputDelegate]):

Pull out logic for setting suggestions on UIKit's `inputDelegate` (i.e. UIKeyboardImpl). We now first consult
internally-vended text suggestions from _WKFormInputSession; if an internal client has not overridden our text
suggestions, then we simply use suggestions from the current datalist (if present).

* UIProcess/ios/WebDataListSuggestionsDropdownIOS.mm:
(-[WKDataListSuggestionsPicker updateWithInformation:]):
(-[WKDataListSuggestionsPicker showSuggestionsDropdown:activationType:]):
(-[WKDataListSuggestionsPicker invalidate]):
(-[WKDataListSuggestionsPopover updateWithInformation:]):
(-[WKDataListSuggestionsPopover showSuggestionsDropdown:activationType:]):
(-[WKDataListSuggestionsPopover didSelectOptionAtIndex:]):

Change all the places that currently manipulate WKContentView's form input session to directly set text
suggestions and the text suggestion input view on the content view instead.

Tools:

Add a UIScriptController hook to resign first responder on WKWebView. See LayoutTests/ChangeLog for more detail.

* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::resignFirstResponder):
* DumpRenderTree/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::resignFirstResponder):
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::resignFirstResponder):
* TestRunnerShared/UIScriptContext/UIScriptController.h:
* WebKitTestRunner/UIScriptControllerCocoa.mm:
(WTR::UIScriptController::resignFirstResponder):
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::makeWebViewFirstResponder):

Implement this method stub on iOS, to ensure that TestController::resetStateToConsistentValues restores first
responder on the WKWebView when running iOS layout tests.

* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):

After resigning first responder to dismiss any on-screen keyboard, ensure that we restore first responder.

LayoutTests:

Refactor an existing layout test to run on both iOS and macOS. On both platforms, it checks that the top
suggestion respects option element order in the document, as well as the current contents of the text field.
On macOS, we use arrow keys and hit return to select a suggestion; on iOS, we tap the suggestions button and
simulate hitting the done button on the input view to dismiss the keyboard.

* fast/forms/datalist/datalist-textinput-suggestions-order-expected.txt:
* fast/forms/datalist/datalist-textinput-suggestions-order.html:
* platform/ios/TestExpectations:

Enable this test on iOS.

* resources/ui-helper.js:
(window.UIHelper.resignFirstResponder):
(window.UIHelper):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237305 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months agoOnly cap lifetime of persistent cookies created client-side through document.cookie...
wilander@apple.com [Fri, 19 Oct 2018 21:37:54 +0000 (21:37 +0000)]
Only cap lifetime of persistent cookies created client-side through document.cookie when resource load statistics is enabled
https://bugs.webkit.org/show_bug.cgi?id=190687
<rdar://problem/45349024>

Reviewed by Alex Christensen.

Source/WebCore:

Test: http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js.html

NetworkStorageSession::setCookiesFromDOM() now consults the new
m_shouldCapLifetimeForClientSideCookies member variable before
capping the lifetime of cookies.

* loader/ResourceLoadStatistics.cpp:
(WebCore::ResourceLoadStatistics::toString const):
(WebCore::ResourceLoadStatistics::merge):
    Removal of the isMarkedForCookieBlocking member.
* loader/ResourceLoadStatistics.h:
    Removal of the isMarkedForCookieBlocking member.
* platform/network/NetworkStorageSession.h:
* platform/network/cf/NetworkStorageSessionCFNet.cpp:
(WebCore::NetworkStorageSession::setShouldCapLifetimeForClientSideCookies):
(WebCore::NetworkStorageSession::setPrevalentDomainsToBlockCookiesFor):
    No longer takes the boolean clearFirst parameter and now always clears first.
* platform/network/cocoa/NetworkStorageSessionCocoa.mm:
(WebCore::filterCookies):
(WebCore::NetworkStorageSession::setCookiesFromDOM const):

Source/WebKit:

This patch adds the following:
- The WebProcessPool now tells the WebsiteDataStore when a network process has
    been created.
- The WebsiteDataStore in turn tells the WebResourceLoadStatisticsStore when
    a network process has been created.
- The WebResourceLoadStatisticsStore makes sure to update the network processes
    with its cookie policy when it's notified that a network process has been
    created.

In addition, this patch changes the following:
- The ResourceLoadStatisticsMemoryStore no longer keeps track of which domains
    it has told the network process to block cookies for. The reason is that
    we cannot assume that there is only one network process so we should
    always send complete blocking data.
- The ResourceLoadStatisticsMemoryStore's functions for communicating cookie
    blocking state to the network process no longer take and forward the
    "clear first" parameter. This is because complete data is sent every time
    and thus the network process' set is always cleared on an update.
- Removes WebsiteDataStore::networkProcessDidCrash() and
    WebResourceLoadStatisticsStore::scheduleCookieBlockingStateReset() since
    the call site---WebProcessPool::ensureNetworkProcess()---now calls
    WebsiteDataStore::didCreateNetworkProcess() after a network process
    crash and the state sync for cookie blocking is triggered.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::updatePrevalentDomainsToBlockCookiesFor):
(WebKit::NetworkProcess::setShouldCapLifetimeForClientSideCookies):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::updatePrevalentDomainsToBlockCookiesFor):
(WebKit::NetworkProcessProxy::setShouldCapLifetimeForClientSideCookies):
(WebKit::NetworkProcessProxy::didSetShouldCapLifetimeForClientSideCookies):
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/Network/NetworkProcessProxy.messages.in:
* UIProcess/ResourceLoadStatisticsMemoryStore.cpp:
(WebKit::ResourceLoadStatisticsMemoryStore::clear):
(WebKit::ResourceLoadStatisticsMemoryStore::updateCookieBlocking):
(WebKit::ResourceLoadStatisticsMemoryStore::updateCookieBlockingForDomains):
(WebKit::ResourceLoadStatisticsMemoryStore::clearBlockingStateForDomains):
(WebKit::ResourceLoadStatisticsMemoryStore::resetCookieBlockingState): Deleted.
* UIProcess/ResourceLoadStatisticsMemoryStore.h:
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::ensureNetworkProcess):
* UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::didCreateNetworkProcess):
(WebKit::WebResourceLoadStatisticsStore::scheduleCookieBlockingUpdateForDomains):
(WebKit::WebResourceLoadStatisticsStore::scheduleClearInMemoryAndPersistent):
(WebKit::WebResourceLoadStatisticsStore::callUpdatePrevalentDomainsToBlockCookiesForHandler):
(WebKit::WebResourceLoadStatisticsStore::scheduleCookieBlockingStateReset): Deleted.
* UIProcess/WebResourceLoadStatisticsStore.h:
* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::updatePrevalentDomainsToBlockCookiesFor):
(WebKit::WebsiteDataStore::setShouldCapLifetimeForClientSideCookies):
(WebKit::WebsiteDataStore::didCreateNetworkProcess):
(WebKit::WebsiteDataStore::networkProcessDidCrash): Deleted.
* UIProcess/WebsiteData/WebsiteDataStore.h:

LayoutTests:

The test case now makes use of internals.setResourceLoadStatisticsEnabled()
and was thus moved to http/tests/resourceLoadStatistics/.

* TestExpectations:
    Removed skip of previous test location.
* http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-expected.txt: Renamed from LayoutTests/http/tests/cookies/capped-lifetime-for-cookie-set-in-js-expected.txt.
* http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js.html: Renamed from LayoutTests/http/tests/cookies/capped-lifetime-for-cookie-set-in-js.html.
* http/tests/webAPIStatistics/canvas-read-and-write-data-collection-expected.txt:
    Removed line containing "isMarkedForCookieBlocking: No."
* http/tests/webAPIStatistics/font-load-data-collection-expected.txt:
    Removed line containing "isMarkedForCookieBlocking: No."
* http/tests/webAPIStatistics/navigator-functions-accessed-data-collection-expected.txt:
    Removed line containing "isMarkedForCookieBlocking: No."
* http/tests/webAPIStatistics/screen-functions-accessed-data-collection-expected.txt:
    Removed line containing "isMarkedForCookieBlocking: No."
* platform/ios/TestExpectations:
    Removed pass of previous test location. The whole http/tests/resourceLoadStatistics/ is marked pass for relevant platforms.
* platform/mac-wk2/TestExpectations:
    Removed pass of previous test location. The whole http/tests/resourceLoadStatistics/ is marked pass for relevant platforms.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237304 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months agoRebase python tests.
achristensen@apple.com [Fri, 19 Oct 2018 21:29:13 +0000 (21:29 +0000)]
Rebase python tests.

* Scripts/webkit/messages_unittest.py:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237303 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months agoRebase python tests.
achristensen@apple.com [Fri, 19 Oct 2018 21:17:57 +0000 (21:17 +0000)]
Rebase python tests.

* Scripts/Makefile:
* Scripts/webkit/MessageReceiver-expected.cpp:
* Scripts/webkit/Messages-expected.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237302 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months agoASSERTION FAILED: !frame().animation().hasAnimations() in WebCore::FrameView::didDest...
dino@apple.com [Fri, 19 Oct 2018 21:17:19 +0000 (21:17 +0000)]
ASSERTION FAILED: !frame().animation().hasAnimations() in WebCore::FrameView::didDestroyRenderTree()
https://bugs.webkit.org/show_bug.cgi?id=186946
<rdar://problem/41724248>

Reviewed by Antoine Quint.

If the incoming test has different enableWebAnimationsCSSIntegration options,
then we need to create a new WebView.

* DumpRenderTree/TestOptions.cpp:
(TestOptions::webViewIsCompatibleWithOptions const):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237301 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months agoMark LegacySync IPC messages
achristensen@apple.com [Fri, 19 Oct 2018 21:12:24 +0000 (21:12 +0000)]
Mark LegacySync IPC messages
https://bugs.webkit.org/show_bug.cgi?id=190759

Reviewed by Tim Horton.

* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* NetworkProcess/NetworkProcess.messages.in:
* NetworkProcess/ServiceWorker/WebSWServerConnection.messages.in:
* Platform/IPC/HandleMessage.h:
(IPC::handleMessageLegacySync):
* PluginProcess/PluginControllerProxy.messages.in:
* Scripts/webkit/messages.py:
* Shared/Plugins/NPObjectMessageReceiver.messages.in:
* UIProcess/ApplePay/WebPaymentCoordinatorProxy.messages.in:
* UIProcess/Cocoa/UserMediaCaptureManagerProxy.messages.in:
* UIProcess/Plugins/PluginProcessProxy.messages.in:
* UIProcess/WebFullScreenManagerProxy.messages.in:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/WebPasteboardProxy.messages.in:
* UIProcess/WebProcessPool.messages.in:
* UIProcess/WebProcessProxy.messages.in:
* UIProcess/WebStorage/StorageManager.messages.in:
* UIProcess/mac/SecItemShimProxy.messages.in:
* WebProcess/Plugins/PluginProcessConnection.messages.in:
* WebProcess/Plugins/PluginProxy.messages.in:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebProcess.messages.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237300 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months agoUnreviewed, rolling out r237254.
commit-queue@webkit.org [Fri, 19 Oct 2018 20:38:11 +0000 (20:38 +0000)]
Unreviewed, rolling out r237254.
https://bugs.webkit.org/show_bug.cgi?id=190760

"It regresses JetStream 2 by 5% on some iOS devices"
(Requested by saamyjoon on #webkit).

Reverted changeset:

"[JSC] JSC should have "parseFunction" to optimize Function
constructor"
https://bugs.webkit.org/show_bug.cgi?id=190340
https://trac.webkit.org/changeset/237254

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237299 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months agoUpdate and add python tests after r237294
achristensen@apple.com [Fri, 19 Oct 2018 20:18:28 +0000 (20:18 +0000)]
Update and add python tests after r237294
https://bugs.webkit.org/show_bug.cgi?id=190746

* Scripts/Makefile: Added to help updating expectations.
* Scripts/webkit/LegacyMessageReceiver-expected.cpp:
* Scripts/webkit/MessageReceiverSuperclass-expected.cpp:
(Messages::WebPage::TestAsyncMessage::callReply):
(Messages::WebPage::TestAsyncMessage::cancelReply):
(Messages::WebPage::TestAsyncMessage::send):
(WebKit::WebPage::didReceiveMessage):
* Scripts/webkit/MessagesSuperclass-expected.h:
(Messages::WebPage::TestAsyncMessage::receiverName):
(Messages::WebPage::TestAsyncMessage::name):
(Messages::WebPage::TestAsyncMessage::asyncMessageReplyName):
(Messages::WebPage::TestAsyncMessage::TestAsyncMessage):
(Messages::WebPage::TestAsyncMessage::arguments const):
* Scripts/webkit/test-superclass-messages.in:
Adding the extra newline made python tests fail.
I also added more tests for the new functionality introduced in r237924.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237298 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months agovmCall should check if we exit before emitting an OSR exit due to exceptions
sbarati@apple.com [Fri, 19 Oct 2018 20:03:54 +0000 (20:03 +0000)]
vmCall should check if we exit before emitting an OSR exit due to exceptions
https://bugs.webkit.org/show_bug.cgi?id=190740
<rdar://problem/45220139>

Reviewed by Mark Lam.

JSTests:

* stress/dont-emit-osr-exits-for-every-call-ftl.js: Added.
(foo):

Source/JavaScriptCore:

The bug we were seeing is the MovHint removal phase would
eliminate a superfluous MovHint. This left a certain range
of nodes in a state where they would not be able to reconstruct
values for an OSR exit. This is OK, since this phase proved those
nodes don't exit. However, some of these nodes may use the vmCall
construct in FTLLower. vmCall used to unconditionally emit an
exception check after each call. However, if such a call happens
in the range of nodes where we can't exit, we would end up generating
an invalid exit (and running with validateFTLOSRExitLiveness flag
would find this issue).

This patch makes vmCall check to see if the node can exit before
emitting an exception check. A node not being able to exit implies
that it can't exit for exceptions, therefore, by definition, it can't
throw an exception.

* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::vmCall):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237297 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months ago[ESNext][BigInt] Implement support for "^"
ticaiolima@gmail.com [Fri, 19 Oct 2018 19:31:37 +0000 (19:31 +0000)]
[ESNext][BigInt] Implement support for "^"
https://bugs.webkit.org/show_bug.cgi?id=186235

Reviewed by Yusuke Suzuki.

JSTests:

* stress/big-int-bitwise-xor-general.js: Added.
* stress/big-int-bitwise-xor-to-primitive-precedence.js: Added.
* stress/big-int-bitwise-xor-type-error.js: Added.
* stress/big-int-bitwise-xor-wrapped-value.js: Added.

Source/JavaScriptCore:

This patch is introducing support for BigInt into bitwise xor
operation. We are including only support into LLInt and Baseline.

* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
* runtime/JSBigInt.cpp:
(JSC::JSBigInt::bitwiseXor):
(JSC::JSBigInt::absoluteXor):
* runtime/JSBigInt.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237296 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months agoWeb Inspector: Remove unused member variable of DebuggerSidebarPanel
commit-queue@webkit.org [Fri, 19 Oct 2018 18:01:48 +0000 (18:01 +0000)]
Web Inspector: Remove unused member variable of DebuggerSidebarPanel
https://bugs.webkit.org/show_bug.cgi?id=190743

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2018-10-19
Reviewed by Devin Rousso.

* UserInterface/Views/DebuggerSidebarPanel.js:
(WI.DebuggerSidebarPanel):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237295 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months agoIntroduce CompletionHandler-based Async IPC messages with replies
achristensen@apple.com [Fri, 19 Oct 2018 17:40:20 +0000 (17:40 +0000)]
Introduce CompletionHandler-based Async IPC messages with replies
https://bugs.webkit.org/show_bug.cgi?id=190746

Reviewed by Tim Horton.

Before this patch, to make an asynchronous IPC message with a reply you had to find two objects that
can talk to each other, make two new message types, send a generated identifier, keep track of that
identifier, make a HashMap somewhere to store the object waiting for the response, and hook it all up.
What a mess.  No wonder people take shortcuts and make strange design decisions.

Now, you can just use a CompletionHandler and mark the reply as Async in *.messages.in.
I've adopted this with a message whose behavior is covered by the storage/indexeddb/modern/blob-cursor.html
layout test and many others.  I intent to refine and further adopt this incrementally.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::getSandboxExtensionsForBlobFiles):
(WebKit::NetworkProcess::didGetSandboxExtensionsForBlobFiles): Deleted.
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:
This is representative of how code will be simplified with greater adoption.
* NetworkProcess/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::decode):
Modernize HandleArray decoding.
* Platform/IPC/Connection.cpp:
(IPC::Connection::dispatchMessage):
(IPC::nextAsyncReplyHandlerID):
(IPC::asyncReplyHandlerMap):
Handle async replies when looking at incoming messages from the sending process.
* Platform/IPC/Connection.h:
(IPC::Connection::sendWithAsyncReply):
Send a message with an async reply and prepare the reply receiver.
* Platform/IPC/Encoder.h:
Make the uint64_t encoder public so we can use it when encoding the listenerID.
* Platform/IPC/HandleMessage.h:
(IPC::handleMessageAsync):
Handle an asynchronous message with a reply from the receiving process.
This is similar to how DelayedReply messages are handled, but the listenerID is automatically captured and sent back.
* Scripts/webkit/messages.py:
Generate code for async message replies.
* Shared/Databases/IndexedDB/WebIDBResult.cpp:
(WebKit::WebIDBResult::decode):
* Shared/SandboxExtension.h:
(WebKit::SandboxExtension::HandleArray::at):
(WebKit::SandboxExtension::HandleArray::decode):
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::decode):
* Shared/mac/SandboxExtensionMac.mm:
(WebKit::SandboxExtension::HandleArray::decode):
Modernize the decoding of HandleArray to work with generated decoding.
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::getSandboxExtensionsForBlobFiles):
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/Network/NetworkProcessProxy.messages.in:
This is also representative of how code will be simplified with greater adoption.
* WebProcess/MediaStream/MediaDeviceSandboxExtensions.cpp:
(WebKit::MediaDeviceSandboxExtensions::decode):
Modernize HandleArray decoding.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237294 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months ago[LFC][IFC] RenderReplaced renderer should create InlineBox
zalan@apple.com [Fri, 19 Oct 2018 17:28:13 +0000 (17:28 +0000)]
[LFC][IFC] RenderReplaced renderer should create InlineBox
https://bugs.webkit.org/show_bug.cgi?id=190720

Reviewed by Antti Koivisto.

* layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::TreeBuilder::createSubTree):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237293 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months ago[EME] Fix crash during tracing in gst_qtdemux_request_protection_context
cturner@igalia.com [Fri, 19 Oct 2018 17:25:38 +0000 (17:25 +0000)]
[EME] Fix crash during tracing in  gst_qtdemux_request_protection_context
https://bugs.webkit.org/show_bug.cgi?id=190738

Reviewed by Xabier Rodriguez-Calvar.

LayoutTests/imported/w3c:

Add new passing baselines for some ClearKey tests, now that the
GStreamer crash fix allows us the generate them.

* web-platform-tests/encrypted-media/clearkey-mp4-playback-destroy-persistent-license.https-expected.txt: Added.
* web-platform-tests/encrypted-media/clearkey-mp4-playback-persistent-license.https-expected.txt: Added.
* web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-destroy-persistent-license.https-expected.txt: Added.
* web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-persistent-license.https-expected.txt: Added.
* web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-clear-encrypted.https-expected.txt: Added.
* web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-sources.https-expected.txt: Added.
* web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey.https-expected.txt: Added.
* web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multisession.https-expected.txt: Added.
* web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-update.https-expected.txt: Added.
* web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-immediately.https-expected.txt: Added.
* web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-onencrypted.https-expected.txt: Added.
* web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-two-videos.https-expected.txt: Added.
* web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-waitingforkey.https-expected.txt: Added.
* web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary.https-expected.txt: Added.
* web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-playback.https-expected.txt: Added.
* web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-resetting-src.https-expected.txt: Added.
* web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-multiple-times-with-different-mediakeys.https-expected.txt: Added.

Tools:

Add a GStreamer patch to avoid crashing when the run-time logging
level is TRACE. There was a missing null check which caused many
tests to crash.

* gstreamer/patches/gst-plugins-good-0013-Avoid-warning-when-reporting-about-decryptors.patch: Added.

LayoutTests:

Add failing test expectations for the GTK port. These tests are
not mirrored in the top-level TestExpectations file, since there
are no passing baselines for these tests there. The testing
infrastructure will report them as unexpected passing when they
are marked as [ Failure ] there, since their output matches the
failing output in this directory, and if you don't have an
expected test, then they fail as [ Missing ], and putting failing
baselines in the top-level cross-platform directory also seem
wrong...

The following two tests produce a dumpRenderTree output for
unknown reasons, and so they have been marked as Missing for now.

platform/gtk/imported/w3c/web-platform-tests/encrypted-media/resources/clearkey-retrieve-destroy-persistent-license.html
platform/gtk/imported/w3c/web-platform-tests/encrypted-media/resources/clearkey-retrieve-persistent-license.html

* platform/gtk/TestExpectations: Update expectations.
* platform/gtk/imported/w3c/web-platform-tests/encrypted-media/clearKey-encrypted-webm-event-mse-actual.txt: Added.
* platform/gtk/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-persistent-license-events.https-expected.txt: Added.
* platform/gtk/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-persistent-usage-record-events.https-expected.txt: Added.
* platform/gtk/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-persistent-usage-record.https-expected.txt: Added.
* platform/gtk/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-persistent-usage-record.https-expected.txt: Added.
* platform/gtk/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear.https-expected.txt: Added.
* platform/gtk/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-events.https-expected.txt: Added.
* platform/gtk/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-readyState.https-expected.txt: Added.
* platform/gtk/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential.https-expected.txt: Added.
* platform/gtk/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-src.https-expected.txt: Added.
* platform/gtk/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-requestmediakeysystemaccess.https-expected.txt: Added.
* platform/gtk/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-reset-src-after-setmediakeys.https-expected.txt: Added.
* platform/gtk/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-syntax-mediakeys.https-expected.txt: Added.
* platform/gtk/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-unique-origin.https-expected.txt: Added.
* platform/gtk/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-update-disallowed-input.https-expected.txt: Added.
* platform/gtk/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-waiting-for-a-key.https-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237292 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months ago[LFC][IFC] Inline replaced width should default to 300px only if width is auto.
zalan@apple.com [Fri, 19 Oct 2018 17:00:12 +0000 (17:00 +0000)]
[LFC][IFC] Inline replaced width should default to 300px only if width is auto.
https://bugs.webkit.org/show_bug.cgi?id=190722

Reviewed by Antti Koivisto.

See #5

// 5. Otherwise, if 'width' has a computed value of 'auto', but none of the conditions above are met, then the used value of 'width' becomes 300px.

* layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237291 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months ago[LFC][IFC] Add inline runs to showLayoutTree
zalan@apple.com [Fri, 19 Oct 2018 16:58:05 +0000 (16:58 +0000)]
[LFC][IFC] Add inline runs to showLayoutTree
https://bugs.webkit.org/show_bug.cgi?id=190718

Reviewed by Antti Koivisto.

* layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::outputInlineRuns):
(WebCore::Layout::outputLayoutBox):
(WebCore::Layout::outputLayoutTree):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237290 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months ago[LFC][IFC] Remove the previous version of inline content handling.
zalan@apple.com [Fri, 19 Oct 2018 16:51:44 +0000 (16:51 +0000)]
[LFC][IFC] Remove the previous version of inline content handling.
https://bugs.webkit.org/show_bug.cgi?id=190716

Reviewed by Antti Koivisto.

* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* layout/Verification.cpp:
(WebCore::Layout::areEssentiallyEqual):
(WebCore::Layout::outputMismatchingSimpleLineInformationIfNeeded):
(WebCore::Layout::outputMismatchingComplexLineInformationIfNeeded):
* layout/inlineformatting/InlineFormattingState.h:
(WebCore::Layout::InlineFormattingState::inlineContent):
(WebCore::Layout::InlineFormattingState::addLayoutRuns): Deleted.
(WebCore::Layout::InlineFormattingState::layoutRuns const): Deleted.
* layout/inlineformatting/text/TextUtil.cpp: Renamed from Source/WebCore/layout/inlineformatting/textlayout/TextUtil.cpp.
(WebCore::Layout::TextUtil::TextUtil):
(WebCore::Layout::TextUtil::width const):
(WebCore::Layout::TextUtil::hyphenPositionBefore const):
(WebCore::Layout::TextUtil::textWidth const):
(WebCore::Layout::TextUtil::fixedPitchWidth const):
* layout/inlineformatting/text/TextUtil.h: Renamed from Source/WebCore/layout/inlineformatting/textlayout/TextUtil.h.
* layout/inlineformatting/textlayout/Runs.h: Removed.
* layout/inlineformatting/textlayout/TextContentProvider.cpp: Removed.
* layout/inlineformatting/textlayout/TextContentProvider.h: Removed.
* layout/inlineformatting/textlayout/simple/SimpleLineBreaker.cpp: Removed.
* layout/inlineformatting/textlayout/simple/SimpleLineBreaker.h: Removed.
* layout/inlineformatting/textlayout/simple/SimpleTextRunGenerator.cpp: Removed.
* layout/inlineformatting/textlayout/simple/SimpleTextRunGenerator.h: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237289 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months ago[LFC][IFC] Add generic inline content handling.
zalan@apple.com [Fri, 19 Oct 2018 16:41:58 +0000 (16:41 +0000)]
[LFC][IFC] Add generic inline content handling.
https://bugs.webkit.org/show_bug.cgi?id=190713

Reviewed by Antti Koivisto.

layoutInlineContent turns InlineLineBreaker::Run objects into final inline runs by
resolving heading/trailing whitespace, aligment, expansion opportunities etc.
These inline runs are input to the display tree construction.

* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* layout/displaytree/DisplayBox.h:
* layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::layout const):
(WebCore::Layout::trimLeadingRun):
(WebCore::Layout::InlineFormattingContext::layoutInlineContent const):
(WebCore::Layout::InlineFormattingContext::computeWidthAndHeight const):
* layout/inlineformatting/InlineFormattingContext.h:
(WebCore::Layout::InlineFormattingContext::Line::hasContent const):
(WebCore::Layout::InlineFormattingContext::Line::contentLogicalLeft const):
(WebCore::Layout::InlineFormattingContext::Line::availableWidth const):
* layout/inlineformatting/InlineFormattingState.h:
(WebCore::Layout::InlineFormattingState::inlineRuns):
(WebCore::Layout::InlineFormattingState::appendInlineRun):
* layout/inlineformatting/InlineLineBreaker.cpp:
(WebCore::Layout::InlineLineBreaker::nextRun):
(WebCore::Layout::InlineLineBreaker::nextLayoutRun): Deleted.
* layout/inlineformatting/InlineLineBreaker.h:
* layout/inlineformatting/InlineRun.h: Added.
(WebCore::Layout::InlineRun::logicalLeft const):
(WebCore::Layout::InlineRun::logicalRight const):
(WebCore::Layout::InlineRun::width const):
(WebCore::Layout::InlineRun::setWidth):
(WebCore::Layout::InlineRun::setLogicalRight):
(WebCore::Layout::InlineRun::TextContext::position const):
(WebCore::Layout::InlineRun::TextContext::length const):
(WebCore::Layout::InlineRun::TextContext::setLength):
(WebCore::Layout::InlineRun::textContext):
(WebCore::Layout::InlineRun::inlineItem const):
(WebCore::Layout::InlineRun::InlineRun):
(WebCore::Layout::InlineRun::TextContext::TextContext):
* layout/inlineformatting/Line.cpp: Added.
(WebCore::Layout::InlineFormattingContext::Line::Line):
(WebCore::Layout::InlineFormattingContext::Line::setConstraints):
(WebCore::Layout::isNonCollapsedText):
(WebCore::Layout::isTrimmableContent):
(WebCore::Layout::InlineFormattingContext::Line::appendContent):
(WebCore::Layout::InlineFormattingContext::Line::close):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237288 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months ago[LFC][IFC] Add generic inline line breaker
zalan@apple.com [Fri, 19 Oct 2018 16:31:19 +0000 (16:31 +0000)]
[LFC][IFC] Add generic inline line breaker
https://bugs.webkit.org/show_bug.cgi?id=190698

Reviewed by Antti Koivisto.

InlineLineBreaker takes the inline runs and applies the appropriate line breaking rules on them.
InlineRunProvider::Run objects ->

    <foobar><image box><hello>< ><world>

InlineLineBreaker::Run ->

    <foobar><image box><hello world>

InlineLineBreaker::Run also contains information whether the run is at the beginning or at the end of the line.

* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* layout/LayoutContext.h:
(WebCore::Layout::LayoutContext::hasDisplayBox const):
* layout/inlineformatting/InlineLineBreaker.cpp: Added.
(WebCore::Layout::InlineLineBreaker::InlineLineBreaker):
(WebCore::Layout::InlineLineBreaker::nextLayoutRun):
(WebCore::Layout::InlineLineBreaker::isAtContentEnd const):
(WebCore::Layout::InlineLineBreaker::lineBreakingBehavior):
(WebCore::Layout::InlineLineBreaker::runWidth const):
(WebCore::Layout::InlineLineBreaker::splitRun):
(WebCore::Layout::InlineLineBreaker::adjustSplitPositionWithHyphenation const):
* layout/inlineformatting/InlineLineBreaker.h: Added.
* layout/inlineformatting/textlayout/TextUtil.cpp: Added.
(WebCore::Layout::TextUtil::TextUtil):
(WebCore::Layout::TextUtil::width const):
(WebCore::Layout::TextUtil::hyphenPositionBefore const):
(WebCore::Layout::TextUtil::textWidth const):
(WebCore::Layout::TextUtil::fixedPitchWidth const):
* layout/inlineformatting/textlayout/TextUtil.h: Added.
* layout/layouttree/LayoutBox.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237287 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months ago[LFC][IFC] Add generic inline run generator.
zalan@apple.com [Fri, 19 Oct 2018 15:52:08 +0000 (15:52 +0000)]
[LFC][IFC] Add generic inline run generator.
https://bugs.webkit.org/show_bug.cgi?id=190696

Reviewed by Antti Koivisto.

InlineRunProvider turns the following inline content ->

    <span>foo<span>bar</span></span>
    <img src="broken.jpg"><span>hello world</span>

into a set of runs ->

    <foobar><image box><hello>< ><world>

Note that a text run can overlap multiple inline elements. InlineRunProvider::Run only stores a reference to
the first inline element (continuous content can be accessed by iterating through the InlineContent ListHashSet).
These runs are the input to the line breaking algoritm.

* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::layout const):
* layout/inlineformatting/InlineFormattingState.h:
(WebCore::Layout::InlineFormattingState::inlineContent):
* layout/inlineformatting/InlineItem.h: Added.
(WebCore::Layout::InlineItem::layoutBox const):
(WebCore::Layout::InlineItem::style const):
(WebCore::Layout::InlineItemHashFunctions::hash):
(WebCore::Layout::InlineItemHashFunctions::equal):
(WebCore::Layout::InlineItemHashTranslator::hash):
(WebCore::Layout::InlineItemHashTranslator::equal):
(WebCore::Layout::InlineItem::InlineItem):
(WebCore::Layout::InlineItem::type const):
(WebCore::Layout::InlineItem::textContent const):
* layout/inlineformatting/InlineRunProvider.cpp: Added.
(WebCore::Layout::InlineRunProvider::InlineRunProvider):
(WebCore::Layout::InlineRunProvider::append):
(WebCore::Layout::InlineRunProvider::insertBefore):
(WebCore::Layout::InlineRunProvider::remove):
(WebCore::Layout::isWhitespace):
(WebCore::Layout::isSoftLineBreak):
(WebCore::Layout::InlineRunProvider::isContinousContent):
(WebCore::Layout::InlineRunProvider::processInlineTextItem):
(WebCore::Layout::InlineRunProvider::moveToNextNonWhitespacePosition):
(WebCore::Layout::InlineRunProvider::moveToNextBreakablePosition):
* layout/inlineformatting/InlineRunProvider.h: Added.
(WebCore::Layout::InlineRunProvider::Run::type const):
(WebCore::Layout::InlineRunProvider::Run::isText const):
(WebCore::Layout::InlineRunProvider::Run::isWhitespace const):
(WebCore::Layout::InlineRunProvider::Run::isNonWhitespace const):
(WebCore::Layout::InlineRunProvider::Run::isLineBreak const):
(WebCore::Layout::InlineRunProvider::Run::isBox const):
(WebCore::Layout::InlineRunProvider::Run::isFloat const):
(WebCore::Layout::InlineRunProvider::Run::TextContext::start const):
(WebCore::Layout::InlineRunProvider::Run::TextContext::length const):
(WebCore::Layout::InlineRunProvider::Run::TextContext::isCollapsed const):
(WebCore::Layout::InlineRunProvider::Run::TextContext::setStart):
(WebCore::Layout::InlineRunProvider::Run::TextContext::setLength):
(WebCore::Layout::InlineRunProvider::Run::textContext const):
(WebCore::Layout::InlineRunProvider::Run::style const):
(WebCore::Layout::InlineRunProvider::Run::inlineItem const):
(WebCore::Layout::InlineRunProvider::runs const):
(WebCore::Layout::InlineRunProvider::Run::createBoxRun):
(WebCore::Layout::InlineRunProvider::Run::createFloatRun):
(WebCore::Layout::InlineRunProvider::Run::createSoftLineBreakRun):
(WebCore::Layout::InlineRunProvider::Run::createHardLineBreakRun):
(WebCore::Layout::InlineRunProvider::Run::createWhitespaceRun):
(WebCore::Layout::InlineRunProvider::Run::createNonWhitespaceRun):
(WebCore::Layout::InlineRunProvider::Run::Run):
(WebCore::Layout::InlineRunProvider::Run::TextContext::TextContext):
* layout/layouttree/LayoutBox.h:
(WebCore::Layout::Box::isLineBreakBox const):
* layout/layouttree/LayoutInlineBox.cpp:
(WebCore::Layout::InlineBox::InlineBox):
* layout/layouttree/LayoutInlineBox.h:
(WebCore::Layout::InlineBox::hasTextContent const):
(WebCore::Layout::InlineBox::textContent const):
* layout/layouttree/LayoutLineBreakBox.cpp: Copied from Source/WebCore/layout/layouttree/LayoutInlineBox.cpp.
(WebCore::Layout::LineBreakBox::LineBreakBox):
* layout/layouttree/LayoutLineBreakBox.h: Copied from Source/WebCore/layout/layouttree/LayoutInlineBox.cpp.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237286 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months ago[BigInt] Add ValueSub into DFG
ticaiolima@gmail.com [Fri, 19 Oct 2018 13:55:32 +0000 (13:55 +0000)]
[BigInt] Add ValueSub into DFG
https://bugs.webkit.org/show_bug.cgi?id=186176

Reviewed by Yusuke Suzuki.

JSTests:

* stress/big-int-subtraction-jit.js:
* stress/value-sub-big-int-prediction-propagation.js: Added.
* stress/value-sub-big-int-untyped.js: Added.
* stress/value-sub-spec-none-case.js: Added.

Source/JavaScriptCore:

We are introducing in this patch a new node called ValueSub. This node
is necessary due to introduction of BigInt, making subtraction
operations result in non-Number values in some cases. In such case, ValueSub is
responsible to handle Untyped and BigInt operations.
In addition, we are also creating a speculative path when both
operands are BigInt. According to a simple BigInt subtraction microbenchmark,
this represents a speedup of ~1.2x faster.

big-int-simple-sub    14.6427+-0.5652    ^    11.9559+-0.6485   ^   definitely 1.2247x faster

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::addSpeculationMode):
* dfg/DFGNodeType.h:
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGPredictionPropagationPhase.cpp:
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileValueSub):
(JSC::DFG::SpeculativeJIT::compileArithSub):
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGValidate.cpp:
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileValueAdd):
(JSC::FTL::DFG::LowerDFGToB3::compileValueSub):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237285 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months ago[IntersectionObserver] Handle zero-area intersections
ajuma@chromium.org [Fri, 19 Oct 2018 13:47:25 +0000 (13:47 +0000)]
[IntersectionObserver] Handle zero-area intersections
https://bugs.webkit.org/show_bug.cgi?id=189624

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

Rebaseline expectations for tests that now pass.

* web-platform-tests/intersection-observer/edge-inclusive-intersection-expected.txt:
* web-platform-tests/intersection-observer/isIntersecting-change-events-expected.txt:
* web-platform-tests/intersection-observer/same-document-zero-size-target-expected.txt:
* web-platform-tests/intersection-observer/text-target-expected.txt:
* web-platform-tests/intersection-observer/zero-area-element-visible-expected.txt:

Source/WebCore:

Use edge-inclusive intersection when applying clips and intersecting with the
root, so that two rects that touch each other are considered intersecting even
if the area of their intersection is 0.

Covered by rebased tests in imported/w3c/web-platform-tests/intersection-observer.

* dom/Document.cpp:
(WebCore::computeIntersectionState):
(WebCore::Document::updateIntersectionObservations):
(WebCore::computeIntersectionRects): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237284 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months ago[PSON] WebPageProxy::didCompletePageTransition() may interact with a SuspendedPagePro...
cdumez@apple.com [Fri, 19 Oct 2018 13:39:32 +0000 (13:39 +0000)]
[PSON] WebPageProxy::didCompletePageTransition() may interact with a SuspendedPageProxy from a previous navigation
https://bugs.webkit.org/show_bug.cgi?id=190717

Reviewed by Antti Koivisto.

WebPageProxy::didCompletePageTransition() may interact with a SuspendedPageProxy from a previous navigation. We need
to reset m_lastSuspendedPage whenever the page starts a new navigation as m_lastSuspendedPage is only updated when
we process-swap otherwise.

Also rename the data member to m_pageSuspendedDueToCurrentNavigation for clarity.

In a follow-up, I will see if I can get rid of this data member entirely or maybe move it to the Navigation
object.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::suspendCurrentPageIfPossible):
(WebKit::WebPageProxy::receivedNavigationPolicyDecision):
(WebKit::WebPageProxy::didCompletePageTransition):
(WebKit::WebPageProxy::enterAcceleratedCompositingMode):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237283 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months ago[Win][Clang] Do not give -Wall to clang-cl because it is treated as -Weverything
Hironori.Fujii@sony.com [Fri, 19 Oct 2018 06:43:47 +0000 (06:43 +0000)]
[Win][Clang] Do not give -Wall to clang-cl because it is treated as -Weverything
https://bugs.webkit.org/show_bug.cgi?id=190514

Reviewed by Michael Catanzaro.

clang-cl maps /Wall and -Wall to -Weverything which reports tons
of compilation warnings. Do not give -Wall option to clang-cl.

Clang processes -Wall and -Wextra options differently than GCC.
Clang processes all warning options in left-to-right order, while
GCC processes -Wall and -Wextra options first. In order to get the
same effect in both compilers, -Wall and -Wextra should be
speficied before all -Wno-* options.

* Source/cmake/WebKitCompilerFlags.cmake: Put -Wall and -Wextra
options before all -Wno-* options.
* Source/cmake/OptionsMSVC.cmake: Prepend /W4 option, instead of
just replacing /W3 option.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237282 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months ago[MediaStream] Allow ports to optionally do screen capture in the UI process
eric.carlson@apple.com [Fri, 19 Oct 2018 05:22:15 +0000 (05:22 +0000)]
[MediaStream] Allow ports to optionally do screen capture in the UI process
https://bugs.webkit.org/show_bug.cgi?id=190728
<rdar://problem/45376824>

Reviewed by Jer Noble and Tim Horton.

Source/WebCore:

No new tests, covered by existing tests.

* Sources.txt: Add RemoteVideoSample.cpp.
* WebCore.xcodeproj/project.pbxproj: Ditto.

* platform/MediaSample.h:
(WebCore::MediaSample::videoPixelFormat const):

* platform/graphics/RemoteVideoSample.cpp: Added.
(WebCore::RemoteVideoSample::~RemoteVideoSample):
(WebCore::RemoteVideoSample::create):
(WebCore::RemoteVideoSample::RemoteVideoSample):
(WebCore::RemoteVideoSample::surface):
* platform/graphics/RemoteVideoSample.h: Added.
(WebCore::RemoteVideoSample::time const):
(WebCore::RemoteVideoSample::videoFormat const):
(WebCore::RemoteVideoSample::size const):
(WebCore::RemoteVideoSample::encode const):
(WebCore::RemoteVideoSample::decode):
* platform/graphics/avfoundation/objc/MediaSampleAVFObjC.h:
* platform/graphics/cv/ImageTransferSessionVT.h:

* platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::remoteVideoSampleAvailable): Call observers.
* platform/mediastream/RealtimeMediaSource.h:

* platform/mediastream/RealtimeVideoSource.cpp:
(WebCore::RealtimeVideoSource::dispatchMediaSampleToObservers): Dispatch remote samples without
resizing, resize local samples if necessary.
* platform/mediastream/RealtimeVideoSource.h:

* platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::captureOutputDidOutputSampleBufferFromConnection): Don't resize
samples, it will be done in the base class if necessary.

* platform/mediastream/mac/DisplayCaptureSourceCocoa.cpp:
(WebCore::DisplayCaptureSourceCocoa::emitFrame): Don't resize samples when running in the UI
process, it will be done in the web process.

* platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.cpp: Remove unneeded include.

Source/WebKit:

* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const): Encode shouldCaptureDisplayInUIProcess.
(WebKit::WebProcessCreationParameters::decode): Decode shouldCaptureDisplayInUIProcess.
* Shared/WebProcessCreationParameters.h:

* UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::copy): Copy shouldCaptureDisplayInUIProcess.
* UIProcess/API/APIProcessPoolConfiguration.h:

* UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
(WebKit::UserMediaCaptureManagerProxy::SourceProxy::remoteVideoSampleAvailable):
(WebKit::UserMediaCaptureManagerProxy::createMediaSourceForCaptureDeviceWithConstraints): Remove
RealtimeMediaSource::Type parameter, CaptureDevice has the same information. Deal with display
capture "devices".
* UIProcess/Cocoa/UserMediaCaptureManagerProxy.h:
* UIProcess/Cocoa/UserMediaCaptureManagerProxy.messages.in:

* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::initializeNewWebProcess): Copy shouldCaptureDisplayInUIProcess.

* WebProcess/cocoa/UserMediaCaptureManager.cpp:
(WebKit::UserMediaCaptureManager::Source::Source): Only allocate a ring buffer for Audio sources.
(WebKit::UserMediaCaptureManager::Source::~Source): Same for deallocate.
(WebKit::UserMediaCaptureManager::Source::storage): m_ringBuffer is a pointer.
(WebKit::UserMediaCaptureManager::Source::setStorage): Ditto.
(WebKit::UserMediaCaptureManager::Source::setRingBufferFrameBounds): Ditto.
(WebKit::UserMediaCaptureManager::Source::audioSamplesAvailable): Ditto.
(WebKit::UserMediaCaptureManager::Source::remoteVideoSampleAvailable): Create a
PixelBuffer-backed media sample and call videoSampleAvailable.
(WebKit::UserMediaCaptureManager::~UserMediaCaptureManager): Clear the audio and display capture
factory overrides.
(WebKit::UserMediaCaptureManager::initialize): Set the audio and display capture factory overrides.
(WebKit::UserMediaCaptureManager::createCaptureSource):
(WebKit::UserMediaCaptureManager::remoteVideoSampleAvailable):
* WebProcess/cocoa/UserMediaCaptureManager.h:
* WebProcess/cocoa/UserMediaCaptureManager.messages.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237281 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months ago[CG] Adopt CG SPI for non-even cornered rounded rects
commit-queue@webkit.org [Fri, 19 Oct 2018 04:39:30 +0000 (04:39 +0000)]
[CG] Adopt CG SPI for non-even cornered rounded rects
https://bugs.webkit.org/show_bug.cgi?id=190155

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2018-10-18
Reviewed by Simon Fraser.

Source/WebCore:

Instead of creating bezier curves for the non-even corners of the rounded
rects, we should use the optimized SPI provided by CG.

* platform/graphics/cg/PathCG.cpp:
(WebCore::Path::platformAddPathForRoundedRect):

Source/WebCore/PAL:

* pal/spi/cg/CoreGraphicsSPI.h:

LayoutTests:

This test fails on iOS simulator because of just one pixel difference.
I think it happens because of anti aliasing the color at the border of
the black shadow. Since this test is testing the radius attribute of the
CSS box-shadow and this should not be affected by whether the shadow has
non-even rounded corners or not, I am going to change it to have even
rounded corners.

* fast/box-shadow/box-shadow-with-zero-radius-expected.html:
* fast/box-shadow/box-shadow-with-zero-radius.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237280 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months agoAdd test expectations for webgpu-enabled.html
justin_fan@apple.com [Fri, 19 Oct 2018 03:54:51 +0000 (03:54 +0000)]
Add test expectations for webgpu-enabled.html
https://bugs.webkit.org/show_bug.cgi?id=190739

Unreviewed test gardening.

Added forgotten expectations for webgpu-enabled, and updated some expectations
to match the WebGPU -> WebMetal naming and new WebGPU tests.

* platform/ios/TestExpectations:
* platform/mac-wk1/TestExpectations:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:
* platform/wpe/TestExpectations:
* webgpu/webgpu-enabled-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237279 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months ago[Media] Use nanoseconds as MaximumTimeScale
aboya@igalia.com [Fri, 19 Oct 2018 02:48:59 +0000 (02:48 +0000)]
[Media] Use nanoseconds as MaximumTimeScale
https://bugs.webkit.org/show_bug.cgi?id=190631

Source/WTF:

1e9 is a much more useful timescale than the previous one 2^31-1.
Unlike 2^31-1, which is a prime number, nanosecond scale is pretty
common among some formats like WebM and frameworks like GStreamer
where base 10 timescale is common... and it's those big timescales the
ones that are usually scaled up to MaximumTimeScale.

Reviewed by Jer Noble.

* wtf/MediaTime.cpp:

Tools:

Rebased MediaTime tests covering timescales over the maximum.

Reviewed by Jer Noble.

* TestWebKitAPI/Tests/WTF/MediaTime.cpp:
(TestWebKitAPI::TEST):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237278 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months agoRemove PLATFORM(IOS) for now
ap@apple.com [Fri, 19 Oct 2018 00:55:08 +0000 (00:55 +0000)]
Remove PLATFORM(IOS) for now
https://bugs.webkit.org/show_bug.cgi?id=190737

Reviewed by Tim Horton.

* wtf/Platform.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237277 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months agoAdd new image type for CSS painting API
commit-queue@webkit.org [Thu, 18 Oct 2018 23:59:49 +0000 (23:59 +0000)]
Add new image type for CSS painting API
https://bugs.webkit.org/show_bug.cgi?id=190697

Patch by Justin Michaud <justin_michaud@apple.com> on 2018-10-18
Reviewed by Dean Jackson.

Source/WebCore:

Add a new image type for the CSS painting API, and hook it up so it can be drawn.
For now, it uses a WebGL rendering context from OfflineCanvas because that was
easy to hook up. The spec actually calls for a RenderingContext2D, which can be
handled in another patch.

* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::image):
(WebCore::CSSImageGeneratorValue::isFixedSize const):
(WebCore::CSSImageGeneratorValue::fixedSize):
(WebCore::CSSImageGeneratorValue::isPending const):
(WebCore::CSSImageGeneratorValue::knownToBeOpaque const):
(WebCore::CSSImageGeneratorValue::loadSubimages):
* css/CSSPaintCallback.h:
* css/CSSPaintCallback.idl:
* css/CSSPaintImageValue.cpp:
(WebCore::CSSPaintImageValue::image):
* css/CSSPaintImageValue.h:
* platform/graphics/CustomPaintImage.cpp: Added.
(WebCore::CustomPaintImage::CustomPaintImage):
(WebCore::CustomPaintImage::doCustomPaint):
(WebCore::CustomPaintImage::draw):
(WebCore::CustomPaintImage::drawPattern):
* platform/graphics/CustomPaintImage.h: Copied from Source/WebCore/css/CSSPaintCallback.h.
* platform/graphics/Image.h:
(WebCore::Image::isCustomPaintImage const):
* platform/graphics/ImageBuffer.h:
* platform/graphics/cairo/CairoOperations.cpp:

LayoutTests:

* fast/css-custom-paint/basic-expected.txt:
* fast/css-custom-paint/basic.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237276 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months agoUnreviewed, rolling out r237272.
tsavell@apple.com [Thu, 18 Oct 2018 23:44:01 +0000 (23:44 +0000)]
Unreviewed, rolling out r237272.

Broke on device iOS builds and Windows builds

Reverted changeset:

"[MediaStream] Allow ports to optionally do screen capture in
the UI process"
https://bugs.webkit.org/show_bug.cgi?id=190728
https://trac.webkit.org/changeset/237272

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237275 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months ago[MSE] timestampOffset can introduce floating-point rounding errors to incoming samples
jer.noble@apple.com [Thu, 18 Oct 2018 23:02:15 +0000 (23:02 +0000)]
[MSE] timestampOffset can introduce floating-point rounding errors to incoming samples
https://bugs.webkit.org/show_bug.cgi?id=190590
<rdar://problem/45275626>

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/media-source/media-source-timestampoffset-rounding-error.html

SourceBuffer.timestampOffset is a double property, which, when added to a MediaTime will
result in a double-backed MediaTime as PTS & DTS. This can introduce rounding errors when
these samples are appended as overlapping existing samples. Rather than converting a MediaTime
to double-backed when adding the timestampOffset, convert the offset to a multiple of the
sample's timeBase.

* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::setTimestampOffset):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):

LayoutTests:

* media/media-source/media-source-sequence-timestamps-expected.txt:
* media/media-source/media-source-timestampoffset-rounding-error-expected.txt: Added.
* media/media-source/media-source-timestampoffset-rounding-error.html: Added.
* media/media-source/mock-media-source.js:
(makeASample):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237274 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months agoEnable WKPreferences._lowPowerVideoAudioBufferSizeEnabled by default
jer.noble@apple.com [Thu, 18 Oct 2018 23:01:42 +0000 (23:01 +0000)]
Enable WKPreferences._lowPowerVideoAudioBufferSizeEnabled by default
https://bugs.webkit.org/show_bug.cgi?id=190315
Source/WebKit:

Reviewed by Eric Carlson.

This preference is disabled for WebKitLegacy because it can interact poorly with clients' own use of audio.
It can be enabled for WebKit since it will only affect the WebProcess and not the client process.

* Shared/WebPreferences.yaml:

LayoutTests:

<rdar://problem/45047807>

Reviewed by Eric Carlson.

* media/audio-controls-timeline-in-media-document-expected.txt:
* media/audio-controls-timeline-in-media-document.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237273 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months ago[MediaStream] Allow ports to optionally do screen capture in the UI process
eric.carlson@apple.com [Thu, 18 Oct 2018 22:52:15 +0000 (22:52 +0000)]
[MediaStream] Allow ports to optionally do screen capture in the UI process
https://bugs.webkit.org/show_bug.cgi?id=190728
<rdar://problem/45376824>

Reviewed by Jer Noble and Tim Horton.

Source/WebCore:

No new tests, covered by existing tests.

* Sources.txt: Add RemoteVideoSample.cpp.
* WebCore.xcodeproj/project.pbxproj: Ditto.

* platform/MediaSample.h:
(WebCore::MediaSample::videoPixelFormat const):

* platform/graphics/RemoteVideoSample.cpp: Added.
(WebCore::RemoteVideoSample::~RemoteVideoSample):
(WebCore::RemoteVideoSample::create):
(WebCore::RemoteVideoSample::RemoteVideoSample):
(WebCore::RemoteVideoSample::surface):
* platform/graphics/RemoteVideoSample.h: Added.
(WebCore::RemoteVideoSample::time const):
(WebCore::RemoteVideoSample::videoFormat const):
(WebCore::RemoteVideoSample::size const):
(WebCore::RemoteVideoSample::encode const):
(WebCore::RemoteVideoSample::decode):
* platform/graphics/avfoundation/objc/MediaSampleAVFObjC.h:
* platform/graphics/cv/ImageTransferSessionVT.h:

* platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::remoteVideoSampleAvailable): Call observers.
* platform/mediastream/RealtimeMediaSource.h:

* platform/mediastream/RealtimeVideoSource.cpp:
(WebCore::RealtimeVideoSource::dispatchMediaSampleToObservers): Dispatch remote samples without
resizing, resize local samples if necessary.
* platform/mediastream/RealtimeVideoSource.h:

* platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::captureOutputDidOutputSampleBufferFromConnection): Don't resize
samples, it will be done in the base class if necessary.

* platform/mediastream/mac/DisplayCaptureSourceCocoa.cpp:
(WebCore::DisplayCaptureSourceCocoa::emitFrame): Don't resize samples when running in the UI
process, it will be done in the web process.

* platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.cpp: Remove unneeded include.

Source/WebKit:

* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const): Encode shouldCaptureDisplayInUIProcess.
(WebKit::WebProcessCreationParameters::decode): Decode shouldCaptureDisplayInUIProcess.
* Shared/WebProcessCreationParameters.h:

* UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::copy): Copy shouldCaptureDisplayInUIProcess.
* UIProcess/API/APIProcessPoolConfiguration.h:

* UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
(WebKit::UserMediaCaptureManagerProxy::SourceProxy::remoteVideoSampleAvailable):
(WebKit::UserMediaCaptureManagerProxy::createMediaSourceForCaptureDeviceWithConstraints): Remove
RealtimeMediaSource::Type parameter, CaptureDevice has the same information. Deal with display
capture "devices".
* UIProcess/Cocoa/UserMediaCaptureManagerProxy.h:
* UIProcess/Cocoa/UserMediaCaptureManagerProxy.messages.in:

* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::initializeNewWebProcess): Copy shouldCaptureDisplayInUIProcess.

* WebProcess/cocoa/UserMediaCaptureManager.cpp:
(WebKit::UserMediaCaptureManager::Source::Source): Only allocate a ring buffer for Audio sources.
(WebKit::UserMediaCaptureManager::Source::~Source): Same for deallocate.
(WebKit::UserMediaCaptureManager::Source::storage): m_ringBuffer is a pointer.
(WebKit::UserMediaCaptureManager::Source::setStorage): Ditto.
(WebKit::UserMediaCaptureManager::Source::setRingBufferFrameBounds): Ditto.
(WebKit::UserMediaCaptureManager::Source::audioSamplesAvailable): Ditto.
(WebKit::UserMediaCaptureManager::Source::remoteVideoSampleAvailable): Create a
PixelBuffer-backed media sample and call videoSampleAvailable.
(WebKit::UserMediaCaptureManager::~UserMediaCaptureManager): Clear the audio and display capture
factory overrides.
(WebKit::UserMediaCaptureManager::initialize): Set the audio and display capture factory overrides.
(WebKit::UserMediaCaptureManager::createCaptureSource):
(WebKit::UserMediaCaptureManager::remoteVideoSampleAvailable):
* WebProcess/cocoa/UserMediaCaptureManager.h:
* WebProcess/cocoa/UserMediaCaptureManager.messages.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237272 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months agoSafari is not able to adapt between H264 streams with EditList and without EditList
jer.noble@apple.com [Thu, 18 Oct 2018 22:48:29 +0000 (22:48 +0000)]
Safari is not able to adapt between H264 streams with EditList and without EditList
https://bugs.webkit.org/show_bug.cgi?id=190638
<rdar://problem/45342208>

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/media-source/media-source-append-overlapping-dts.html

The MSE frame replacement algorithm does not take decode timestamps into account; this can
lead to situations where the replacement algorithm may leave in place frames where the
presentationTimestamp is less than the replacement frame, but whose decodeTimestamp is
after the replacement frame. When re-enqueuing these frames, they may cause a decode error
if they break the group-of-pictures sequence of the replaced range.

* Modules/mediasource/SampleMap.cpp:
(WebCore::DecodeOrderSampleMap::findSamplesBetweenDecodeKeys):
* Modules/mediasource/SampleMap.h:
* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):

LayoutTests:

* media/media-source/media-source-append-overlapping-dts-expected.txt: Added.
* media/media-source/media-source-append-overlapping-dts.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237271 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months ago[WebVTT] Region parameter and value should be separated by ':'
pvollan@apple.com [Thu, 18 Oct 2018 22:32:13 +0000 (22:32 +0000)]
[WebVTT] Region parameter and value should be separated by ':'
https://bugs.webkit.org/show_bug.cgi?id=190735

Reviewed by Eric Carlson.

Source/WebCore:

This is specified in https://w3c.github.io/webvtt/#region-settings.

No new tests. Modified existing tests.

* html/track/VTTRegion.cpp:
(WebCore::VTTRegion::setRegionSettings):

LayoutTests:

* media/track/captions-webvtt/captions-regions.vtt:
* media/track/captions-webvtt/header-regions.vtt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237270 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months agoclean-webkit pulls in many unnecessary dependencies in webkitpy
commit-queue@webkit.org [Thu, 18 Oct 2018 22:14:52 +0000 (22:14 +0000)]
clean-webkit pulls in many unnecessary dependencies in webkitpy
https://bugs.webkit.org/show_bug.cgi?id=190732

Patch by Dean Johnson <dean_johnson@apple.com> on 2018-10-18
Reviewed by Alexey Proskuryakov.

* Scripts/webkitpy/common/host.py:
(Host.__init__): Split out 'bugs', 'bugzilla', and 'web' to only be created when used.
(Host):
(Host.bugs):
(Host.bugzilla):
(Host.web):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237269 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months agoAdd support for MediaKeyEncryptionScheme
jer.noble@apple.com [Thu, 18 Oct 2018 21:44:24 +0000 (21:44 +0000)]
Add support for MediaKeyEncryptionScheme
https://bugs.webkit.org/show_bug.cgi?id=190173

Reviewed by Eric Carlson.

Source/WebCore:

Added sub-tests to: media/encrypted-media/mock-navigator-requestMediaKeySystemAccess.html

Add support for the MediaKeyEncryptionScheme extension to EME, as detailed here:
<https://github.com/WICG/encrypted-media-encryption-scheme/blob/master/explainer.md>

As the strings "cenc" and "cbcs" are explicitly lower-case, add support to the bindings generator to keep
those strings as lower-case when converting from IDL.

* CMakeLists.txt:
* DerivedSources.make:
* Modules/encryptedmedia/MediaKeyEncryptionScheme.h:
* Modules/encryptedmedia/MediaKeyEncryptionScheme.idl:
* Modules/encryptedmedia/MediaKeySystemMediaCapability.h:
* Modules/encryptedmedia/MediaKeySystemMediaCapability.idl:
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* bindings/scripts/CodeGenerator.pm:
(WK_ucfirst):
* platform/encryptedmedia/CDMEncryptionScheme.h: Copied from Source/WebCore/testing/MockCDMFactory.idl.
* platform/encryptedmedia/CDMMediaCapability.h:
* platform/graphics/avfoundation/CDMFairPlayStreaming.cpp:
(WebCore::CDMPrivateFairPlayStreaming::supportsConfiguration const):
* platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:
* platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::supportsMediaCapability):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::initializeWithConfiguration):
* testing/MockCDMFactory.cpp:
(WebCore::m_supportedEncryptionSchemes):
(WebCore::MockCDM::supportsConfiguration const):
* testing/MockCDMFactory.h:
(WebCore::MockCDMFactory::supportedEncryptionSchemes const):
(WebCore::MockCDMFactory::setSupportedEncryptionSchemes):
* testing/MockCDMFactory.idl:

LayoutTests:

* media/encrypted-media/mock-navigator-requestMediaKeySystemAccess-expected.txt:
* media/encrypted-media/mock-navigator-requestMediaKeySystemAccess.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237268 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months ago[PSON] SuspendedPages do not report meaningful domains in Activity Monitor
cdumez@apple.com [Thu, 18 Oct 2018 21:41:41 +0000 (21:41 +0000)]
[PSON] SuspendedPages do not report meaningful domains in Activity Monitor
https://bugs.webkit.org/show_bug.cgi?id=190721
<rdar://problem/45059699>

Reviewed by Alex Christensen.

Source/WebKit:

SuspendedPages do not report meaningful domains in Activity Monitor, which makes
debugging harder.

* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::origin):
(WebKit::WebProcess::updateActivePages):

Tools:

Add API test coverage.

* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237267 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months agoSwitch from PLATFORM(IOS) to PLATFORM(IOS_FAMILY)
ap@apple.com [Thu, 18 Oct 2018 21:38:50 +0000 (21:38 +0000)]
Switch from PLATFORM(IOS) to PLATFORM(IOS_FAMILY)
https://bugs.webkit.org/show_bug.cgi?id=190729

Reviewed by Tim Horton.

Source/JavaScriptCore:

* API/JSBase.cpp:
* API/JSWrapperMap.mm:
* assembler/ARM64Assembler.h:
(JSC::ARM64Assembler::cacheFlush):
* assembler/ARMv7Assembler.h:
(JSC::ARMv7Assembler::cacheFlush):
* assembler/AssemblerCommon.h:
(JSC::isIOS):
* heap/FullGCActivityCallback.cpp:
(JSC::FullGCActivityCallback::doCollection):
* heap/Heap.cpp:
(JSC::Heap::overCriticalMemoryThreshold):
(JSC::Heap::updateAllocationLimits):
(JSC::Heap::collectIfNecessaryOrDefer):
* heap/Heap.h:
* inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm:
(Inspector::RemoteConnectionToTarget::dispatchAsyncOnTarget):
* jit/ExecutableAllocator.cpp:
(JSC::allowJIT):
* jit/ExecutableAllocator.h:
* jit/RegisterSet.cpp:
(JSC::RegisterSet::reservedHardwareRegisters):
(JSC::RegisterSet::calleeSaveRegisters):
* jit/ThunkGenerators.cpp:
* jsc.cpp:
(main):
* runtime/MathCommon.cpp:
* runtime/Options.cpp:
(JSC::overrideDefaults):
(JSC::recomputeDependentOptions):
* runtime/Options.h:

Source/WebCore:

* DerivedSources.make:
* Modules/applepay/cocoa/PaymentContactCocoa.mm:
(WebCore::subLocality):
(WebCore::setSubLocality):
(WebCore::subAdministrativeArea):
(WebCore::setSubAdministrativeArea):
* Modules/encryptedmedia/legacy/LegacyCDMPrivateMediaPlayer.cpp:
* Modules/geolocation/Geolocation.cpp:
(WebCore::isRequestFromIBooks):
* Modules/geolocation/GeolocationPosition.h:
* Modules/geolocation/NavigatorGeolocation.cpp:
* Modules/geolocation/NavigatorGeolocation.h:
* Modules/geolocation/ios/GeolocationPositionIOS.mm:
* Modules/mediasession/WebMediaSessionManager.cpp:
* Modules/mediasession/WebMediaSessionManager.h:
* Modules/mediastream/MediaDevicesRequest.cpp:
(WebCore::MediaDevicesRequest::filterDeviceList):
* Modules/plugins/QuickTimePluginReplacement.mm:
(WebCore::JSQuickTimePluginReplacement::timedMetaData const):
(WebCore::JSQuickTimePluginReplacement::accessLog const):
(WebCore::JSQuickTimePluginReplacement::errorLog const):
* Modules/speech/SpeechSynthesis.cpp:
(WebCore::SpeechSynthesis::SpeechSynthesis):
(WebCore::SpeechSynthesis::speak):
* Modules/speech/SpeechSynthesis.h:
* Modules/webaudio/AudioContext.cpp:
* Modules/webaudio/AudioScheduledSourceNode.cpp:
* Modules/webdatabase/Database.cpp:
(WebCore::Database::performOpenAndVerify):
* Modules/webdatabase/DatabaseContext.h:
* Modules/webdatabase/DatabaseManagerClient.h:
* Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::deleteDatabaseFile):
* Modules/webdatabase/DatabaseTracker.h:
* WebCorePrefix.h:
* accessibility/AXObjectCache.cpp:
(WebCore::createFromRenderer):
* accessibility/AccessibilityMediaObject.cpp:
* accessibility/AccessibilityMediaObject.h:
* accessibility/AccessibilityMenuList.cpp:
(WebCore::AccessibilityMenuList::press):
(WebCore::AccessibilityMenuList::isCollapsed const):
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isAccessibilityObjectSearchMatchAtIndex):
(WebCore::AccessibilityObject::press):
(WebCore::AccessibilityObject::actionVerb const):
* accessibility/AccessibilityObject.h:
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::stringValue const):
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
(WebCore::AccessibilityRenderObject::actionVerb const):
* accessibility/AccessibilityTableColumn.cpp:
(WebCore::AccessibilityTableColumn::computeAccessibilityIsIgnored const):
* accessibility/AccessibilityTableHeaderContainer.cpp:
(WebCore::AccessibilityTableHeaderContainer::computeAccessibilityIsIgnored const):
* accessibility/ios/AXObjectCacheIOS.mm:
* accessibility/ios/AccessibilityObjectIOS.mm:
* accessibility/ios/WebAccessibilityObjectWrapperIOS.h:
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
* bindings/js/CommonVM.cpp:
(WebCore::commonVMSlow):
* bindings/js/JSCallbackData.h:
(WebCore::JSCallbackData::~JSCallbackData):
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::shouldInterruptScriptBeforeTimeout):
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::initializeThreading):
* bridge/objc/objc_class.mm:
(JSC::Bindings::ObjcClass::fieldNamed const):
* crypto/CommonCryptoUtilities.h:
* crypto/mac/CryptoKeyRSAMac.cpp:
* crypto/mac/SerializedCryptoKeyWrapMac.mm:
(WebCore::masterKeyAccountNameForCurrentApplication):
(WebCore::createAndStoreMasterKey):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::valueForPropertyinStyle):
* css/CSSProperties.json:
* css/CSSStyleDeclaration.cpp:
* css/CSSValueKeywords.in:
* css/MediaQueryEvaluator.cpp:
(WebCore::prefersReducedMotionEvaluate):
* css/StyleBuilderConverter.h:
* css/html.css:
(video):
(input, textarea, keygen, select, button):
(#if defined(WTF_PLATFORM_IOS_FAMILY) && WTF_PLATFORM_IOS_FAMILY):
(#if defined(ENABLE_INPUT_TYPE_DATE) && ENABLE_INPUT_TYPE_DATE):
(#endif):
(#if defined(ENABLE_DATALIST_ELEMENT) && ENABLE_DATALIST_ELEMENT):
(textarea):
(input:matches([type="radio"], [type="checkbox"])):
(input:matches([type="button"], [type="submit"], [type="reset"]), input[type="file"]::-webkit-file-upload-button, button):
(input[type="range"]::-webkit-slider-thumb, input[type="range"]::-webkit-media-slider-thumb):
(#if !(defined(WTF_PLATFORM_IOS_FAMILY) && WTF_PLATFORM_IOS_FAMILY)):
(input[type="checkbox"]):
(#endif // defined(ENABLE_INPUT_TYPE_COLOR) && ENABLE_INPUT_TYPE_COLOR):
(#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS): Deleted.
(#if !(defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS)): Deleted.
* css/parser/CSSParserContext.cpp:
(WebCore::CSSParserContext::CSSParserContext):
* css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
(WebCore::CSSParserFastPaths::isKeywordPropertyID):
* css/parser/CSSPropertyParser.cpp:
(WebCore::cssPropertyID):
(WebCore::CSSPropertyParser::parseSingleValue):
* css/parser/CSSPropertyParser.h:
* css/svg.css:
(#if defined(WTF_PLATFORM_IOS_FAMILY) && WTF_PLATFORM_IOS_FAMILY):
(#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS): Deleted.
* dom/DeviceMotionController.cpp:
* dom/DeviceMotionController.h:
* dom/DeviceOrientationController.cpp:
(WebCore::DeviceOrientationController::DeviceOrientationController):
* dom/DeviceOrientationController.h:
* dom/DeviceOrientationData.cpp:
* dom/DeviceOrientationData.h:
* dom/DeviceOrientationEvent.cpp:
* dom/DeviceOrientationEvent.h:
* dom/DeviceOrientationEvent.idl:
* dom/Document.cpp:
(WebCore::Document::~Document):
(WebCore::Document::suspendDeviceMotionAndOrientationUpdates):
(WebCore::Document::resumeDeviceMotionAndOrientationUpdates):
(WebCore::Document::platformSuspendOrStopActiveDOMObjects):
* dom/Document.h:
* dom/DocumentMarker.h:
(WebCore::DocumentMarker::allMarkers):
* dom/DocumentMarkerController.cpp:
(WebCore::shouldInsertAsSeparateMarker):
(WebCore::DocumentMarkerController::shiftMarkers):
* dom/DocumentMarkerController.h:
* dom/Element.cpp:
(WebCore::Element::focus):
* dom/Node.cpp:
(WebCore::Node::~Node):
(WebCore::Node::willBeDeletedFrom):
(WebCore::Node::moveNodeToNewDocument):
(WebCore::tryAddEventListener):
(WebCore::tryRemoveEventListener):
(WebCore::Node::defaultEventHandler):
(WebCore::Node::willRespondToMouseMoveEvents):
(WebCore::Node::willRespondToMouseClickEvents):
* dom/Range.cpp:
* dom/Range.h:
* dom/TreeScope.cpp:
(WebCore::absolutePointIfNotClipped):
* dom/ViewportArguments.cpp:
(WebCore::setViewportFeature):
* dom/ViewportArguments.h:
* editing/CompositeEditCommand.cpp:
(WebCore::EditCommandComposition::unapply):
(WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
(WebCore::CompositeEditCommand::moveParagraphs):
* editing/Editor.cpp:
(WebCore::TemporarySelectionChange::TemporarySelectionChange):
(WebCore::TemporarySelectionChange::~TemporarySelectionChange):
(WebCore::Editor::handleTextEvent):
(WebCore::Editor::Editor):
(WebCore::Editor::clear):
(WebCore::Editor::insertTextWithoutSendingTextEvent):
(WebCore::Editor::setBaseWritingDirection):
(WebCore::Editor::setComposition):
(WebCore::Editor::showSpellingGuessPanel):
(WebCore::Editor::markMisspellingsAfterTypingToWord):
(WebCore::Editor::markMisspellingsOrBadGrammar):
(WebCore::Editor::changeBackToReplacedString):
(WebCore::Editor::updateMarkersForWordsAffectedByEditing):
(WebCore::Editor::revealSelectionAfterEditingOperation):
(WebCore::Editor::setIgnoreSelectionChanges):
(WebCore::Editor::changeSelectionAfterCommand):
(WebCore::Editor::shouldChangeSelection const):
(WebCore::Editor::respondToChangedSelection):
(WebCore::Editor::editorUIUpdateTimerFired):
(WebCore::Editor::resolveTextCheckingTypeMask):
* editing/Editor.h:
* editing/FontAttributes.h:
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::FrameSelection):
(WebCore::FrameSelection::updateDataDetectorsForSelection):
(WebCore::FrameSelection::setSelectedRange):
(WebCore::FrameSelection::updateAppearance):
(WebCore::FrameSelection::shouldDeleteSelection const):
(WebCore::FrameSelection::revealSelection):
(WebCore::FrameSelection::setSelectionFromNone):
(WebCore::FrameSelection::shouldChangeSelection const):
* editing/FrameSelection.h:
* editing/InsertIntoTextNodeCommand.cpp:
* editing/InsertIntoTextNodeCommand.h:
* editing/TypingCommand.cpp:
(WebCore::TypingCommand::markMisspellingsAfterTyping):
(WebCore::TypingCommand::deleteKeyPressed):
(WebCore::TypingCommand::forwardDeleteKeyPressed):
* editing/TypingCommand.h:
* editing/cocoa/DataDetection.h:
* editing/cocoa/DataDetection.mm:
* editing/cocoa/FontAttributesCocoa.mm:
* editing/cocoa/FontShadowCocoa.mm:
(WebCore::FontShadow::createShadow const):
* editing/cocoa/HTMLConverter.h:
* editing/cocoa/HTMLConverter.mm:
(_fontForNameAndSize):
(_shadowForShadowStyle):
(HTMLConverter::computedAttributesForElement):
(HTMLConverter::_addAttachmentForElement):
(HTMLConverter::_processMetaElementWithName):
(HTMLConverter::_processElement):
* editing/cocoa/WebContentReaderCocoa.mm:
(WebCore::attributesForAttributedStringConversion):
(WebCore::WebContentReader::readURL):
* editing/ios/DictationCommandIOS.cpp:
* editing/ios/DictationCommandIOS.h:
* editing/ios/EditorIOS.mm:
* editing/mac/FrameSelectionMac.mm:
(WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
* fileapi/FileCocoa.mm:
* history/CachedFrame.cpp:
(WebCore::CachedFrameBase::restore):
(WebCore::CachedFrame::CachedFrame):
* history/CachedPage.cpp:
(WebCore::CachedPage::restore):
* history/HistoryItem.cpp:
(WebCore::HistoryItem::HistoryItem):
* history/HistoryItem.h:
* history/PageCache.cpp:
(WebCore::canCachePage):
* html/BaseDateAndTimeInputType.cpp:
* html/BaseDateAndTimeInputType.h:
* html/ColorInputType.cpp:
(WebCore::ColorInputType::isKeyboardFocusable const):
* html/HTMLAppletElement.cpp:
(WebCore::HTMLAppletElement::updateWidget):
* html/HTMLAttachmentElement.h:
* html/HTMLCanvasElement.cpp:
(WebCore::maxActivePixelMemory):
* html/HTMLElement.cpp:
(WebCore::HTMLElement::collectStyleForPresentationAttribute):
* html/HTMLIFrameElement.h:
* html/HTMLImageElement.cpp:
* html/HTMLImageElement.h:
* html/HTMLInputElement.cpp:
* html/HTMLInputElement.h:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::finishInitialization):
(WebCore::HTMLMediaElement::registerWithDocument):
(WebCore::HTMLMediaElement::unregisterWithDocument):
(WebCore::HTMLMediaElement::setVolume):
(WebCore::HTMLMediaElement::nextScanRate):
(WebCore::HTMLMediaElement::sourceWasAdded):
(WebCore::HTMLMediaElement::mediaEngineWasUpdated):
(WebCore::HTMLMediaElement::updateVolume):
(WebCore::HTMLMediaElement::userCancelledLoad):
(WebCore::HTMLMediaElement::mediaSessionTitle const):
(WebCore::HTMLMediaElement::purgeBufferedDataIfPossible):
* html/HTMLMediaElement.h:
* html/HTMLMetaElement.cpp:
(WebCore::HTMLMetaElement::process):
* html/HTMLObjectElement.cpp:
* html/HTMLPlugInElement.h:
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::usesMenuList const):
(WebCore::HTMLSelectElement::createElementRenderer):
(WebCore::HTMLSelectElement::childShouldCreateRenderer const):
(WebCore::HTMLSelectElement::willRespondToMouseClickEvents):
(WebCore::HTMLSelectElement::updateListBoxSelection):
(WebCore::HTMLSelectElement::scrollToSelection):
(WebCore::HTMLSelectElement::setOptionsChangedOnRenderer):
(WebCore::HTMLSelectElement::menuListDefaultEventHandler):
(WebCore::HTMLSelectElement::defaultEventHandler):
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::createInnerTextStyle):
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::select):
(WebCore::HTMLTextFormControlElement::adjustInnerTextStyle const):
* html/HTMLTextFormControlElement.h:
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::parseAttribute):
(WebCore::HTMLVideoElement::supportsFullscreen const):
* html/HTMLVideoElement.h:
* html/ImageDocument.cpp:
(WebCore::ImageDocument::ImageDocument):
(WebCore::ImageDocument::createDocumentStructure):
(WebCore::ImageDocument::imageUpdated):
* html/ImageDocument.h:
* html/InputType.cpp:
* html/InputType.h:
* html/MediaDocument.cpp:
(WebCore::MediaDocumentParser::createDocumentStructure):
* html/MediaElementSession.cpp:
(WebCore::MediaElementSession::clientDataBufferingTimerFired):
(WebCore::MediaElementSession::showPlaybackTargetPicker):
(WebCore::MediaElementSession::wirelessVideoPlaybackDisabled const):
(WebCore::MediaElementSession::setHasPlaybackTargetAvailabilityListeners):
(WebCore::MediaElementSession::isPlayingToWirelessPlaybackTarget const):
(WebCore::MediaElementSession::requiresFullscreenForVideoPlayback const):
* html/MediaElementSession.h:
* html/PluginDocument.cpp:
(WebCore::PluginDocumentParser::createDocumentStructure):
* html/RangeInputType.cpp:
(WebCore::RangeInputType::handleTouchEvent):
* html/RangeInputType.h:
* html/SearchInputType.cpp:
(WebCore::SearchInputType::addSearchResult):
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::isKeyboardFocusable const):
(WebCore::TextFieldInputType::handleFocusEvent):
(WebCore::TextFieldInputType::handleBlurEvent):
(WebCore::TextFieldInputType::didSetValueByUserEdit):
(WebCore::TextFieldInputType::listAttributeTargetChanged):
* html/parser/HTMLParserScheduler.h:
(WebCore::HTMLParserScheduler::shouldYieldBeforeToken):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processCharacterBufferForInBody):
* html/parser/HTMLTreeBuilder.h:
* html/shadow/MediaControlElements.cpp:
* html/shadow/MediaControlElements.h:
* html/shadow/MediaControls.h:
* html/shadow/SliderThumbElement.cpp:
(WebCore::SliderThumbElement::dragFrom):
* html/shadow/SliderThumbElement.h:
* html/shadow/TextControlInnerElements.cpp:
(WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
(WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
* html/shadow/TextControlInnerElements.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::setIndicating):
* inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::platform):
* inspector/PageScriptDebugServer.cpp:
(WebCore::PageScriptDebugServer::runEventLoopWhilePaused):
* inspector/agents/InspectorTimelineAgent.cpp:
(WebCore::currentRunLoop):
* loader/DocumentLoader.cpp:
* loader/DocumentLoader.h:
* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequest):
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::createDocument):
* loader/EmptyClients.cpp:
* loader/EmptyClients.h:
* loader/EmptyFrameLoaderClient.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkCompleted):
(WebCore::FrameLoader::willLoadMediaElementURL):
(WebCore::FrameLoader::stopForUserCancel):
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::didFirstLayout):
(WebCore::createWindow):
* loader/FrameLoader.h:
* loader/FrameLoaderClient.h:
* loader/HistoryController.cpp:
(WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
(WebCore::HistoryController::restoreScrollPositionAndViewState):
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::init):
(WebCore::ResourceLoader::willSendRequestInternal):
* loader/ResourceLoader.h:
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::loadPlugin):
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::create):
(WebCore::SubresourceLoader::willCancel):
(WebCore::SubresourceLoader::notifyDone):
(WebCore::SubresourceLoader::releaseResources):
* loader/SubresourceLoader.h:
* loader/cache/CachedImage.cpp:
* page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::userCaptionPreferencesChangedNotificationCallback):
* page/Chrome.cpp:
(WebCore::Chrome::createColorChooser):
(WebCore::Chrome::dispatchViewportPropertiesDidChange const):
(WebCore::Chrome::didReceiveDocType):
* page/Chrome.h:
* page/ChromeClient.h:
* page/DOMTimer.cpp:
(WebCore::DOMTimer::install):
(WebCore::DOMTimer::fired):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::outerHeight const):
(WebCore::DOMWindow::outerWidth const):
(WebCore::DOMWindow::clearTimeout):
(WebCore::DOMWindow::addEventListener):
(WebCore::DOMWindow::resetAllGeolocationPermission):
(WebCore::DOMWindow::removeEventListener):
(WebCore::DOMWindow::removeAllEventListeners):
* page/DOMWindow.h:
* page/DeprecatedGlobalSettings.cpp:
(WebCore::DeprecatedGlobalSettings::globalConstRedeclarationShouldThrow):
* page/DeprecatedGlobalSettings.h:
* page/DragController.cpp:
* page/EditorClient.h:
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEventSingleClick):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::startPanScrolling):
(WebCore::EventHandler::handleMouseMoveEvent):
* page/EventHandler.h:
* page/Frame.cpp:
(WebCore::Frame::Frame):
(WebCore::Frame::willDetachPage):
* page/Frame.h:
* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
(WebCore::FrameView::clear):
(WebCore::FrameView::effectiveFrameFlattening const):
(WebCore::FrameView::flushCompositingStateForThisFrame):
(WebCore::FrameView::scrollPositionRespectingCustomFixedPosition const):
(WebCore::FrameView::viewportConstrainedVisibleContentRect const):
(WebCore::FrameView::updateContentsSize):
(WebCore::FrameView::computeScrollability const):
(WebCore::FrameView::adjustTiledBackingCoverage):
(WebCore::FrameView::calculateExtendedBackgroundMode const):
(WebCore::FrameView::performPostLayoutTasks):
(WebCore::FrameView::sizeForResizeEvent const):
(WebCore::FrameView::sendResizeEventIfNeeded):
* page/FrameView.h:
* page/FrameViewLayoutContext.cpp:
(WebCore::FrameViewLayoutContext::layout):
* page/MemoryRelease.cpp:
(WebCore::releaseCriticalMemory):
(WebCore::releaseMemory):
* page/Navigator.cpp:
* page/Navigator.h:
* page/NavigatorBase.cpp:
* page/Page.cpp:
(WebCore::Page::setIsVisibleInternal):
(WebCore::Page::showPlaybackTargetPicker):
* page/Page.h:
* page/PerformanceMonitor.cpp:
(WebCore::PerformanceMonitor::measurePostLoadMemoryUsage):
* page/ResourceUsageOverlay.cpp:
(WebCore::ResourceUsageOverlay::initialize):
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::canDisplay const):
* page/SettingsBase.cpp:
* page/SettingsBase.h:
* page/SettingsDefaultValues.h:
(WebCore::editingBehaviorTypeForPlatform):
* page/TextIndicator.cpp:
(WebCore::TextIndicator::createWithRange):
(WebCore::initializeIndicator):
* page/ViewportConfiguration.cpp:
(WebCore::ViewportConfiguration::textDocumentParameters):
* page/cocoa/MemoryReleaseCocoa.mm:
(WebCore::platformReleaseMemory):
(WebCore::jettisonExpensiveObjectsOnTopLevelNavigation):
* page/cocoa/ResourceUsageOverlayCocoa.mm:
(WebCore::showText):
* page/cocoa/ResourceUsageThreadCocoa.mm:
(WebCore::vmPageSize):
* page/cocoa/SettingsBaseCocoa.mm:
* page/ios/EventHandlerIOS.mm:
* page/ios/FrameIOS.mm:
* page/mac/ChromeMac.mm:
* page/mac/PageMac.mm:
(WebCore::Page::platformInitialize):
* page/mac/WebCoreFrameView.h:
* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::reconcileScrollingState):
* page/scrolling/ScrollingTree.h:
* page/scrolling/ScrollingTreeScrollingNode.h:
* page/scrolling/ScrollingTreeScrollingNodeDelegate.cpp:
* page/scrolling/ScrollingTreeScrollingNodeDelegate.h:
* page/scrolling/ios/ScrollingCoordinatorIOS.h:
* page/scrolling/ios/ScrollingCoordinatorIOS.mm:
* page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.h:
* page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.mm:
* page/scrolling/ios/ScrollingTreeIOS.cpp:
* page/scrolling/ios/ScrollingTreeIOS.h:
* platform/ContentFilterUnblockHandler.h:
* platform/Cursor.cpp:
* platform/Cursor.h:
* platform/DragImage.cpp:
* platform/DragImage.h:
* platform/FileChooser.cpp:
* platform/FileChooser.h:
* platform/HostWindow.h:
* platform/LocalizedStrings.cpp:
* platform/LocalizedStrings.h:
* platform/LowPowerModeNotifier.cpp:
* platform/LowPowerModeNotifier.h:
* platform/MIMETypeRegistry.cpp:
(WebCore::initializeSupportedImageMIMETypes):
(WebCore::initializeSupportedNonImageMimeTypes):
(WebCore::initializeUnsupportedTextMIMETypes):
* platform/Pasteboard.h:
* platform/PasteboardStrategy.h:
* platform/PlatformKeyboardEvent.h:
* platform/PlatformPasteboard.h:
* platform/PlatformScreen.h:
* platform/RemoteCommandListener.cpp:
* platform/RuntimeApplicationChecks.h:
* platform/ScrollAnimator.cpp:
* platform/ScrollView.cpp:
(WebCore::ScrollView::contentsScrollPosition const):
(WebCore::ScrollView::setContentsScrollPosition):
(WebCore::ScrollView::visibleContentRectInternal const):
* platform/ScrollView.h:
* platform/ScrollableArea.cpp:
* platform/ScrollableArea.h:
* platform/Scrollbar.cpp:
* platform/Scrollbar.h:
* platform/ThreadTimers.cpp:
* platform/Timer.cpp:
(WebCore::shouldSuppressThreadSafetyCheck):
* platform/Timer.h:
(WebCore::TimerBase::isActive const):
* platform/ValidationBubble.h:
* platform/Widget.h:
* platform/audio/AudioHardwareListener.cpp:
(WebCore::AudioHardwareListener::AudioHardwareListener):
* platform/audio/PlatformMediaSession.h:
* platform/audio/PlatformMediaSessionManager.h:
* platform/audio/ios/AudioDestinationIOS.cpp:
* platform/audio/ios/AudioDestinationIOS.h:
* platform/audio/ios/AudioFileReaderIOS.cpp:
* platform/audio/ios/AudioFileReaderIOS.h:
* platform/audio/ios/AudioSessionIOS.mm:
(WebCore::AudioSession::setCategory):
(WebCore::AudioSession::routingContextUID const):
* platform/audio/ios/MediaSessionManagerIOS.h:
* platform/audio/ios/MediaSessionManagerIOS.mm:
* platform/cf/MainThreadSharedTimerCF.cpp:
(WebCore::setupPowerObserver):
(WebCore::MainThreadSharedTimer::setFireInterval):
* platform/cf/URLCF.cpp:
* platform/cocoa/ContentFilterUnblockHandlerCocoa.mm:
(WebCore::ContentFilterUnblockHandler::wrapWithDecisionHandler):
(WebCore::ContentFilterUnblockHandler::needsUIProcess const):
(WebCore::ContentFilterUnblockHandler::encode const):
(WebCore::ContentFilterUnblockHandler::decode):
(WebCore::ContentFilterUnblockHandler::canHandleRequest const):
(WebCore::dispatchToMainThread):
(WebCore::ContentFilterUnblockHandler::requestUnblockAsync const):
* platform/cocoa/DataDetectorsCoreSoftLink.h:
* platform/cocoa/DataDetectorsCoreSoftLink.mm:
* platform/cocoa/KeyEventCocoa.mm:
* platform/cocoa/LocalizedStringsCocoa.mm:
(WebCore::localizedNSString):
* platform/cocoa/NetworkExtensionContentFilter.mm:
(WebCore::NetworkExtensionContentFilter::initialize):
* platform/cocoa/ParentalControlsContentFilter.mm:
(WebCore::ParentalControlsContentFilter::unblockHandler const):
* platform/cocoa/PasteboardCocoa.mm:
(WebCore::Pasteboard::fileContentState):
* platform/cocoa/PlatformView.h:
* platform/cocoa/PlaybackSessionInterface.h:
* platform/cocoa/PlaybackSessionModel.h:
* platform/cocoa/PlaybackSessionModelMediaElement.h:
* platform/cocoa/PlaybackSessionModelMediaElement.mm:
* platform/cocoa/RuntimeApplicationChecksCocoa.mm:
* platform/cocoa/SystemVersion.mm:
(WebCore::createSystemMarketingVersion):
* platform/cocoa/VideoFullscreenChangeObserver.h:
* platform/cocoa/VideoFullscreenModel.h:
* platform/cocoa/VideoFullscreenModelVideoElement.h:
* platform/cocoa/VideoFullscreenModelVideoElement.mm:
* platform/gamepad/cocoa/GameControllerGamepad.h:
* platform/gamepad/cocoa/GameControllerGamepad.mm:
* platform/gamepad/cocoa/GameControllerGamepadProvider.h:
* platform/gamepad/cocoa/GameControllerGamepadProvider.mm:
* platform/graphics/BitmapImage.h:
* platform/graphics/Color.h:
* platform/graphics/ComplexTextController.cpp:
* platform/graphics/DisplayRefreshMonitor.cpp:
(WebCore::DisplayRefreshMonitor::createDefaultDisplayRefreshMonitor):
* platform/graphics/FloatSize.h:
* platform/graphics/Font.cpp:
(WebCore::Font::Font):
(WebCore::createAndFillGlyphPage):
* platform/graphics/Font.h:
* platform/graphics/FontCache.cpp:
(WebCore::FontCache::getCachedFontPlatformData):
(WebCore::FontCache::fontForPlatformData):
(WebCore::FontCache::purgeInactiveFontData):
(WebCore::FontCache::inactiveFontCount):
* platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::FontCascade):
* platform/graphics/FontCascadeFonts.h:
* platform/graphics/FontDescription.h:
* platform/graphics/FontPlatformData.h:
(WebCore::FontPlatformData::isEmoji const):
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawImage):
* platform/graphics/GraphicsContext3D.h:
* platform/graphics/GraphicsLayer.h:
* platform/graphics/Icon.h:
* platform/graphics/Image.cpp:
(WebCore::Image::drawTiled):
(WebCore::Image::computeIntrinsicDimensions):
* platform/graphics/Image.h:
* platform/graphics/IntPoint.h:
* platform/graphics/IntRect.h:
* platform/graphics/IntSize.h:
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::isAvailable):
(WebCore::MediaPlayer::volumeChanged):
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
* platform/graphics/NamedImageGeneratedImage.cpp:
(WebCore::NamedImageGeneratedImage::draw):
* platform/graphics/StringTruncator.cpp:
(WebCore::centerTruncateToBuffer):
(WebCore::rightTruncateToBuffer):
(WebCore::rightClipToWordBuffer):
* platform/graphics/TextTrackRepresentation.cpp:
* platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.cpp:
* platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
* platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
* platform/graphics/avfoundation/MediaPlaybackTargetMac.mm:
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::supportsFullscreen const):
(WebCore::MediaPlayerPrivateAVFoundation::rateChanged):
* platform/graphics/avfoundation/WebMediaSessionManagerMac.cpp:
* platform/graphics/avfoundation/WebMediaSessionManagerMac.h:
* platform/graphics/avfoundation/cf/InbandTextTrackPrivateLegacyAVCF.cpp:
* platform/graphics/avfoundation/cf/InbandTextTrackPrivateLegacyAVCF.h:
* platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::supportsPersistentKeys):
* platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.h:
* platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm:
* platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h:
* platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenMode):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVolume):
(WebCore::MediaPlayerPrivateAVFoundationObjC::seekableTimeRangesLastModifiedTime const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::liveUpdateInterval const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::maximumDurationToCacheMediaTime const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::didPassCORSAccessCheck const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::wouldTaintOrigin const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::isCurrentPlaybackTargetWireless const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::wirelessPlaybackTargetType const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::wirelessPlaybackTargetName const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateDisableExternalPlayback):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldDisableSleep):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::supportsPictureInPicture const):
* platform/graphics/avfoundation/objc/OutOfBandTextTrackPrivateAVF.h:
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::flushCompositingState):
(WebCore::GraphicsLayerCA::computeVisibleAndCoverageRect const):
(WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
* platform/graphics/ca/GraphicsLayerCA.h:
* platform/graphics/ca/PlatformCALayer.h:
* platform/graphics/ca/TileController.cpp:
(WebCore::TileController::~TileController):
(WebCore::TileController::adjustTileCoverageRect const):
* platform/graphics/ca/TileController.h:
* platform/graphics/ca/TileGrid.cpp:
(WebCore::TileGrid::startedNewCohort):
(WebCore::TileGrid::platformCALayerPaintContents):
* platform/graphics/ca/TileGrid.h:
* platform/graphics/ca/cocoa/LayerFlushSchedulerMac.cpp:
(WebCore::currentRunLoop):
* platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
(-[WebAnimationDelegate animationDidStart:]):
(-[WebAnimationDelegate animationDidStop:finished:]):
(WebCore::PlatformCALayerCocoa::setContentsScale):
(WebCore::layerContentsFormat):
(WebCore::PlatformCALayer::drawLayerContents):
(WebCore::PlatformCALayerCocoa::backingStoreBytesPerPixel const):
* platform/graphics/cg/GradientCG.cpp:
(WebCore::Gradient::paint):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::displayP3ColorSpaceRef):
(WebCore::GraphicsContext::drawNativeImage):
(WebCore::drawPatternCallback):
(WebCore::GraphicsContext::drawPattern):
(WebCore::GraphicsContext::drawLine):
(WebCore::applyShadowOffsetWorkaroundIfNeeded):
(WebCore::GraphicsContext::setURLForRect):
* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::jpegUTI):
* platform/graphics/cg/ImageBufferDataCG.cpp:
* platform/graphics/cg/ImageDecoderCG.cpp:
(WebCore::ImageDecoderCG::createFrameImageAtIndex):
* platform/graphics/cg/ImageSourceCGMac.mm:
* platform/graphics/cg/PDFDocumentImage.cpp:
* platform/graphics/cocoa/ColorCocoa.h:
* platform/graphics/cocoa/ColorCocoa.mm:
* platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::FontCache::similarFont):
(WebCore::computeNecessarySynthesis):
(WebCore::FontDatabase::fontForPostScriptName):
(WebCore::variationCapabilitiesForFontDescriptor):
(WebCore::lookupFallbackFont):
(WebCore::FontCache::systemFallbackForCharacters):
(WebCore::FontCache::lastResortFallbackFont):
* platform/graphics/cocoa/FontCascadeCocoa.mm:
(WebCore::FontCascade::drawGlyphs):
(WebCore::FontCascade::fontForCombiningCharacterSequence const):
* platform/graphics/cocoa/FontCocoa.mm:
(WebCore::Font::platformInit):
(WebCore::Font::variantCapsSupportsCharacterForSynthesis const):
(WebCore::Font::determinePitch):
* platform/graphics/cocoa/FontDescriptionCocoa.cpp:
(WebCore::FontCascadeDescription::effectiveFamilyCount const):
(WebCore::FontCascadeDescription::effectiveFamilyAt const):
* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::cascadeToLastResortAndVariationsFontDescriptor):
* platform/graphics/cocoa/GraphicsContext3DCocoa.mm:
(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::texImageIOSurface2D):
* platform/graphics/cocoa/GraphicsContextCocoa.mm:
* platform/graphics/cocoa/IOSurface.mm:
(WebCore::optionsForBiplanarSurface):
(WebCore::optionsFor32BitSurface):
(WebCore::IOSurface::maximumSize):
(WebCore::IOSurface::surfaceID const):
* platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp:
(WebCore::SystemFontDatabaseCoreText::cascadeList):
* platform/graphics/cocoa/TextTrackRepresentationCocoa.h:
* platform/graphics/cocoa/TextTrackRepresentationCocoa.mm:
(-[WebCoreTextTrackRepresentationCocoaHelper observeValueForKeyPath:ofObject:change:context:]):
* platform/graphics/cocoa/WebMetalLayer.h:
* platform/graphics/cv/ImageTransferSessionVT.mm:
(WebCore::cvPixelFormatOpenGLKey):
(WebCore::ImageTransferSessionVT::ImageTransferSessionVT):
* platform/graphics/cv/VideoTextureCopierCV.h:
* platform/graphics/ios/DisplayRefreshMonitorIOS.h:
* platform/graphics/ios/DisplayRefreshMonitorIOS.mm:
* platform/graphics/ios/FontAntialiasingStateSaver.h:
(WebCore::FontAntialiasingStateSaver::FontAntialiasingStateSaver):
(WebCore::FontAntialiasingStateSaver::setup):
(WebCore::FontAntialiasingStateSaver::restore):
* platform/graphics/ios/FontCacheIOS.mm:
* platform/graphics/ios/IconIOS.mm:
* platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
* platform/graphics/mac/FloatPointMac.mm:
* platform/graphics/mac/FloatRectMac.mm:
* platform/graphics/mac/FloatSizeMac.mm:
* platform/graphics/mac/FontCustomPlatformData.cpp:
(WebCore::createFontCustomPlatformData):
* platform/graphics/mac/ImageMac.mm:
* platform/graphics/mac/IntPointMac.mm:
* platform/graphics/mac/IntRectMac.mm:
* platform/graphics/mac/IntSizeMac.mm:
* platform/graphics/mac/WebKitNSImageExtras.h:
* platform/graphics/mac/WebKitNSImageExtras.mm:
* platform/graphics/mac/WebLayer.mm:
(-[WebSimpleLayer display]):
(-[WebSimpleLayer drawInContext:]):
* platform/graphics/opengl/Extensions3DOpenGL.cpp:
(WebCore::Extensions3DOpenGL::supportsExtension):
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
* platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
* platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::TransformationMatrix::multiply):
* platform/graphics/transforms/TransformationMatrix.h:
* platform/ios/CursorIOS.cpp:
* platform/ios/Device.cpp:
* platform/ios/Device.h:
* platform/ios/DeviceMotionClientIOS.h:
* platform/ios/DeviceMotionClientIOS.mm:
(WebCore::DeviceMotionClientIOS::motionChanged):
* platform/ios/DeviceOrientationClientIOS.h:
* platform/ios/DeviceOrientationClientIOS.mm:
(WebCore::DeviceOrientationClientIOS::orientationChanged):
* platform/ios/DragImageIOS.mm:
* platform/ios/EventLoopIOS.mm:
* platform/ios/KeyEventIOS.mm:
* platform/ios/LegacyTileCache.h:
* platform/ios/LegacyTileCache.mm:
* platform/ios/LegacyTileGrid.h:
* platform/ios/LegacyTileGrid.mm:
* platform/ios/LegacyTileGridTile.h:
* platform/ios/LegacyTileGridTile.mm:
* platform/ios/LegacyTileLayer.h:
* platform/ios/LegacyTileLayer.mm:
* platform/ios/LegacyTileLayerPool.h:
* platform/ios/LegacyTileLayerPool.mm:
* platform/ios/LowPowerModeNotifierIOS.mm:
* platform/ios/PasteboardIOS.mm:
* platform/ios/PlatformEventFactoryIOS.h:
* platform/ios/PlatformEventFactoryIOS.mm:
* platform/ios/PlatformPasteboardIOS.mm:
* platform/ios/PlatformScreenIOS.mm:
* platform/ios/PlatformSpeechSynthesizerIOS.mm:
* platform/ios/PlaybackSessionInterfaceAVKit.h:
* platform/ios/PlaybackSessionInterfaceAVKit.mm:
* platform/ios/RemoteCommandListenerIOS.h:
* platform/ios/RemoteCommandListenerIOS.mm:
* platform/ios/SSLKeyGeneratorIOS.cpp:
* platform/ios/ScrollAnimatorIOS.h:
* platform/ios/ScrollAnimatorIOS.mm:
* platform/ios/ScrollViewIOS.mm:
(WebCore::ScrollView::platformSetContentsSize):
* platform/ios/ScrollbarThemeIOS.h:
* platform/ios/ScrollbarThemeIOS.mm:
* platform/ios/SystemMemoryIOS.cpp:
(WebCore::systemMemoryLevel):
* platform/ios/ThemeIOS.h:
* platform/ios/ThemeIOS.mm:
* platform/ios/TileControllerMemoryHandlerIOS.cpp:
* platform/ios/TileControllerMemoryHandlerIOS.h:
* platform/ios/UserAgentIOS.mm:
(WebCore::deviceNameForUserAgent):
* platform/ios/ValidationBubbleIOS.mm:
* platform/ios/VideoFullscreenInterfaceAVKit.h:
* platform/ios/VideoFullscreenInterfaceAVKit.mm:
(WebCore::supportsPictureInPicture):
* platform/ios/WebAVPlayerController.h:
* platform/ios/WebAVPlayerController.mm:
* platform/ios/WebBackgroundTaskController.h:
* platform/ios/WebBackgroundTaskController.mm:
* platform/ios/WebCoreMotionManager.h:
* platform/ios/WebCoreMotionManager.mm:
* platform/ios/WebEvent.h:
* platform/ios/WebEvent.mm:
* platform/ios/WebSQLiteDatabaseTrackerClient.h:
* platform/ios/WebSQLiteDatabaseTrackerClient.mm:
* platform/ios/WebVideoFullscreenControllerAVKit.h:
* platform/ios/WebVideoFullscreenControllerAVKit.mm:
(VideoFullscreenControllerContext::requestUpdateInlineRect):
(VideoFullscreenControllerContext::requestVideoContentLayer):
(VideoFullscreenControllerContext::returnVideoContentLayer):
(VideoFullscreenControllerContext::didSetupFullscreen):
(VideoFullscreenControllerContext::didExitFullscreen):
* platform/ios/WidgetIOS.mm:
* platform/ios/wak/FloatingPointEnvironment.cpp:
* platform/ios/wak/FloatingPointEnvironment.h:
* platform/ios/wak/WAKAppKitStubs.m:
* platform/ios/wak/WAKClipView.m:
* platform/ios/wak/WAKResponder.m:
* platform/ios/wak/WAKScrollView.mm:
* platform/ios/wak/WAKView.mm:
* platform/ios/wak/WAKWindow.mm:
* platform/ios/wak/WKContentObservation.cpp:
* platform/ios/wak/WKGraphics.mm:
* platform/ios/wak/WKUtilities.c:
* platform/ios/wak/WKView.mm:
* platform/ios/wak/WebCoreThread.mm:
* platform/ios/wak/WebCoreThreadRun.cpp:
* platform/ios/wak/WebCoreThreadSystemInterface.cpp:
* platform/mac/DragDataMac.mm:
(WebCore::rtfPasteboardType):
(WebCore::rtfdPasteboardType):
(WebCore::stringPasteboardType):
(WebCore::urlPasteboardType):
(WebCore::htmlPasteboardType):
(WebCore::colorPasteboardType):
(WebCore::pdfPasteboardType):
(WebCore::tiffPasteboardType):
(WebCore::DragData::containsURL const):
* platform/mac/MediaRemoteSoftLink.cpp:
* platform/mac/MediaRemoteSoftLink.h:
* platform/mac/SuddenTermination.mm:
* platform/mac/WebCoreFullScreenPlaceholderView.mm:
* platform/mac/WebCoreFullScreenWarningView.h:
* platform/mac/WebCoreFullScreenWarningView.mm:
* platform/mac/WebCoreFullScreenWindow.h:
* platform/mac/WebCoreFullScreenWindow.mm:
* platform/mac/WebNSAttributedStringExtras.mm:
* platform/mediastream/RealtimeMediaSourceFactory.h:
* platform/mediastream/RealtimeVideoSource.cpp:
(WebCore::RealtimeVideoSource::~RealtimeVideoSource):
(WebCore::RealtimeVideoSource::prepareToProduceData):
* platform/mediastream/ios/AVAudioSessionCaptureDevice.h:
* platform/mediastream/ios/AVAudioSessionCaptureDevice.mm:
* platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.h:
* platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.mm:
* platform/mediastream/ios/CoreAudioCaptureSourceIOS.h:
* platform/mediastream/ios/CoreAudioCaptureSourceIOS.mm:
* platform/mediastream/libwebrtc/LibWebRTCMacros.h:
* platform/mediastream/mac/AVCaptureDeviceManager.mm:
(WebCore::deviceIsAvailable):
* platform/mediastream/mac/AVMediaCaptureSource.mm:
(WebCore::AVMediaCaptureSource::AVMediaCaptureSource):
(WebCore::AVMediaCaptureSource::stopProducingData):
(-[WebCoreAVMediaCaptureSourceObserver addNotificationObservers]):
(-[WebCoreAVMediaCaptureSourceObserver removeNotificationObservers]):
* platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::AVVideoCaptureSource):
(WebCore::AVVideoCaptureSource::~AVVideoCaptureSource):
(WebCore::AVVideoCaptureSource::stopProducingData):
(WebCore::AVVideoCaptureSource::prefersPreset):
(WebCore::sensorOrientation):
(WebCore::AVVideoCaptureSource::setupCaptureSession):
(WebCore::AVVideoCaptureSource::monitorOrientation):
(-[WebCoreAVVideoCaptureSourceObserver addNotificationObservers]):
(-[WebCoreAVVideoCaptureSourceObserver removeNotificationObservers]):
* platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.cpp:
(WebCore::AudioTrackPrivateMediaStreamCocoa::createAudioUnit):
* platform/mediastream/mac/CoreAudioCaptureSource.cpp:
(WebCore::CoreAudioSharedUnit::setupAudioUnit):
(WebCore::CoreAudioCaptureSource::create):
(WebCore::CoreAudioCaptureSource::CoreAudioCaptureSource):
(WebCore::CoreAudioCaptureSource::~CoreAudioCaptureSource):
(WebCore::CoreAudioCaptureSource::startProducingData):
* platform/mediastream/mac/CoreAudioCaptureSource.h:
* platform/mediastream/mac/DisplayCaptureSourceCocoa.cpp:
(WebCore::DisplayCaptureSourceCocoa::~DisplayCaptureSourceCocoa):
(WebCore::DisplayCaptureSourceCocoa::startProducingData):
* platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm:
(WebCore::RealtimeIncomingVideoSourceCocoa::pixelBufferPool):
* platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
* platform/mock/MediaPlaybackTargetMock.cpp:
* platform/mock/MediaPlaybackTargetMock.h:
* platform/mock/MediaPlaybackTargetPickerMock.cpp:
* platform/mock/MediaPlaybackTargetPickerMock.h:
* platform/mock/MockRealtimeAudioSource.cpp:
(WebCore::MockRealtimeAudioSource::~MockRealtimeAudioSource):
(WebCore::MockRealtimeAudioSource::startProducingData):
* platform/mock/MockRealtimeMediaSourceCenter.cpp:
* platform/mock/MockRealtimeVideoSource.cpp:
* platform/network/CredentialStorage.cpp:
* platform/network/NetworkStateNotifier.h:
* platform/network/ResourceHandle.cpp:
(WebCore::builtinResourceHandleConstructorMap):
* platform/network/ResourceHandle.h:
* platform/network/ResourceHandleClient.h:
* platform/network/ResourceRequestBase.cpp:
* platform/network/ResourceRequestBase.h:
* platform/network/cf/DNSResolveQueueCFNet.cpp:
* platform/network/cf/ProxyServerCFNet.cpp:
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::createCFURLConnection):
* platform/network/cf/ResourceRequest.h:
(WebCore::ResourceRequest::resourcePrioritiesEnabled):
* platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::ResourceRequest::doUpdatePlatformRequest):
(WebCore::ResourceRequest::doUpdateResourceRequest):
* platform/network/cf/SocketStreamHandleImplCFNet.cpp:
(WebCore::callbacksRunLoop):
(WebCore::copyCONNECTProxyResponse):
* platform/network/cocoa/CookieCocoa.mm:
(WebCore::Cookie::operator NSHTTPCookie * _Nullable  const):
* platform/network/cocoa/NetworkStorageSessionCocoa.mm:
(WebCore::cookiesForURL):
(WebCore::setHTTPCookiesForURL):
* platform/network/cocoa/ResourceRequestCocoa.mm:
(WebCore::ResourceRequest::doUpdateResourceRequest):
(WebCore::ResourceRequest::doUpdatePlatformRequest):
* platform/network/ios/NetworkStateNotifierIOS.mm:
* platform/network/ios/WebCoreURLResponseIOS.h:
* platform/network/ios/WebCoreURLResponseIOS.mm:
* platform/network/mac/ResourceErrorMac.mm:
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::createNSURLConnection):
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::platformLoadResourceSynchronously):
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
* platform/network/mac/UTIUtilities.mm:
* platform/sql/SQLiteDatabase.h:
(WebCore::SQLiteDatabase::sqlite3Handle const):
* platform/sql/SQLiteFileSystem.cpp:
* platform/sql/SQLiteFileSystem.h:
* platform/sql/SQLiteTransaction.cpp:
(WebCore::SQLiteTransaction::begin):
(WebCore::SQLiteTransaction::commit):
(WebCore::SQLiteTransaction::rollback):
(WebCore::SQLiteTransaction::stop):
* platform/text/PlatformLocale.cpp:
* platform/text/PlatformLocale.h:
* platform/text/ios/LocalizedDateCache.h:
* platform/text/ios/LocalizedDateCache.mm:
* platform/text/ios/TextEncodingRegistryIOS.mm:
* platform/text/mac/LocaleMac.h:
* platform/text/mac/LocaleMac.mm:
* plugins/PluginViewBase.h:
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintPlatformDocumentMarker):
(WebCore::InlineTextBox::resolveStyleForMarkedText):
(WebCore::InlineTextBox::collectMarkedTextsForDocumentMarkers):
* rendering/MarkedText.h:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paint):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintBoxDecorations):
(WebCore::allowMinMaxPercentagesInAutoHeightBlocksQuirk):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::decodingModeForImageDraw const):
* rendering/RenderButton.cpp:
* rendering/RenderButton.h:
* rendering/RenderElement.cpp:
(WebCore::RenderElement::styleWillChange):
(WebCore::RenderElement::styleDidChange):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing const):
(WebCore::RenderEmbeddedObject::setPluginUnavailabilityReason):
(WebCore::RenderEmbeddedObject::setPluginUnavailabilityReasonWithDescription):
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::maxFilenameWidth const):
(WebCore::RenderFileUploadControl::paintObject):
* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::positionFrames):
* rendering/RenderIFrame.h:
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paintAreaElementFocusRing):
* rendering/RenderImage.h:
* rendering/RenderInline.cpp:
* rendering/RenderInline.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer):
(WebCore::canCreateStackingContext):
(WebCore::RenderLayer::canUseAcceleratedTouchScrolling const):
(WebCore::RenderLayer::scrollTo):
(WebCore::RenderLayer::scrollRectToVisible):
(WebCore::RenderLayer::updateScrollInfoAfterLayout):
(WebCore::RenderLayer::showsOverflowControls const):
(WebCore::RenderLayer::calculateClipRects const):
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
(WebCore::RenderLayerBacking::shouldClipCompositedBounds const):
(WebCore::RenderLayerBacking::updateConfiguration):
(WebCore::RenderLayerBacking::computeParentGraphicsLayerRect const):
(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::paintsIntoWindow const):
(WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
(WebCore::RenderLayerBacking::paintIntoLayer):
* rendering/RenderLayerBacking.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::visibleRectForLayerFlushing const):
(WebCore::RenderLayerCompositor::flushPendingLayerChanges):
(WebCore::RenderLayerCompositor::updateCustomLayersAfterFlush):
(WebCore::RenderLayerCompositor::didFlushChangesForLayer):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::setIsInWindow):
(WebCore::RenderLayerCompositor::requiresCompositingForScrollableFrame const):
(WebCore::RenderLayerCompositor::isAsyncScrollableStickyLayer const):
(WebCore::RenderLayerCompositor::requiresCompositingForOverflowScrolling const):
(WebCore::RenderLayerCompositor::contentsScaleMultiplierForNewTiles const):
(WebCore::RenderLayerCompositor::ensureRootLayer):
(WebCore::RenderLayerCompositor::computeStickyViewportConstraints const):
(WebCore::RenderLayerCompositor::willRemoveScrollingLayerWithBacking):
(WebCore::RenderLayerCompositor::didAddScrollingLayer):
* rendering/RenderLayerCompositor.h:
* rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::shouldPlaceBlockDirectionScrollbarOnLeft const):
* rendering/RenderLineBreak.cpp:
* rendering/RenderLineBreak.h:
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::RenderMenuList):
(WebCore::RenderMenuList::willBeDestroyed):
(WebCore::RenderMenuList::adjustInnerStyle):
(RenderMenuList::updateFromElement):
(RenderMenuList::setTextFromOption):
(RenderMenuList::hidePopup):
(RenderMenuList::popupDidHide):
* rendering/RenderMenuList.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::shouldApplyCompositedContainerScrollsForRepaint):
(WebCore::RenderObject::destroy):
* rendering/RenderObject.h:
* rendering/RenderSearchField.cpp:
(WebCore::RenderSearchField::itemText const):
* rendering/RenderText.cpp:
(WebCore::RenderText::setRenderedText):
* rendering/RenderText.h:
* rendering/RenderTextControl.cpp:
* rendering/RenderTextControl.h:
* rendering/RenderTextControlMultiLine.cpp:
(WebCore::RenderTextControlMultiLine::getAverageCharWidth):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::layout):
(WebCore::RenderTextControlSingleLine::getAverageCharWidth):
(WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth const):
* rendering/RenderTextLineBoxes.cpp:
(WebCore::lineDirectionPointFitsInBox):
(WebCore::RenderTextLineBoxes::positionForPoint const):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paintBorderOnly):
* rendering/RenderThemeIOS.h:
* rendering/RenderThemeIOS.mm:
(WebCore::arKitBundle):
* rendering/RenderView.cpp:
(WebCore::RenderView::availableLogicalHeight const):
(WebCore::RenderView::clientLogicalWidthForFixedPosition const):
(WebCore::RenderView::clientLogicalHeightForFixedPosition const):
(WebCore::RenderView::repaintViewRectangle const):
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::willBeDestroyed):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::selectionTop const):
(WebCore::RootInlineBox::selectionBottom const):
* rendering/style/RenderStyle.h:
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator== const):
* rendering/style/StyleRareInheritedData.h:
* rendering/updating/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::updateElementRenderer):
* style/StyleResolveForDocument.cpp:
(WebCore::Style::resolveForDocument):
* testing/Internals.cpp:
(WebCore::Internals::getCurrentCursorInfo):
(WebCore::Internals::isSelectPopupVisible):
(WebCore::Internals::setQuickLookPassword):
* testing/Internals.mm:
(WebCore::Internals::userPrefersReducedMotion const):
* testing/js/WebCoreTestSupportPrefix.h:
* workers/WorkerThread.cpp:
(WebCore::WorkerThread::workerThread):

Source/WebCore/PAL:

* pal/cf/CoreMediaSoftLink.cpp:
* pal/cf/CoreMediaSoftLink.h:
* pal/ios/UIKitSoftLink.h:
* pal/ios/UIKitSoftLink.mm:
* pal/spi/cf/CFNetworkSPI.h:
* pal/spi/cocoa/AVKitSPI.h:
* pal/spi/cocoa/CFNSURLConnectionSPI.h:
* pal/spi/cocoa/CoreTextSPI.h:
* pal/spi/cocoa/DataDetectorsCoreSPI.h:
* pal/spi/cocoa/IOSurfaceSPI.h:
* pal/spi/cocoa/LaunchServicesSPI.h:
* pal/spi/cocoa/NEFilterSourceSPI.h:
* pal/spi/cocoa/NSAttributedStringSPI.h:
* pal/spi/cocoa/NSKeyedArchiverSPI.h:
* pal/spi/cocoa/PassKitSPI.h:
* pal/spi/cocoa/QuartzCoreSPI.h:
* pal/spi/ios/DataDetectorsUISPI.h:
* pal/spi/ios/GraphicsServicesSPI.h:
* pal/spi/ios/MediaPlayerSPI.h:
* pal/spi/ios/MobileGestaltSPI.h:
* pal/spi/mac/AVFoundationSPI.h:
* pal/system/mac/ClockCM.mm:
(ClockCM::ClockCM):

Source/WebKit:

* DerivedSources.make:
* NetworkProcess/Downloads/cocoa/DownloadCocoa.mm:
(WebKit::Download::resume):
* NetworkProcess/NetworkActivityTracker.h:
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
* NetworkProcess/NetworkProcessCreationParameters.h:
* NetworkProcess/cache/NetworkCacheFileSystem.cpp:
(WebKit::NetworkCache::isSafeToUseMemoryMapForPath):
* NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::updateTaskWithFirstPartyForSameSiteCookies):
* NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
(WebKit::NetworkProcess::sourceApplicationAuditData const):
(WebKit::NetworkProcess::platformSyncAllCookies):
* NetworkProcess/cocoa/NetworkSessionCocoa.h:
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:didFinishCollectingMetrics:]):
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
* NetworkProcess/ios/NetworkProcessIOS.mm:
* Platform/IPC/mac/ConnectionMac.mm:
(IPC::ConnectionTerminationWatchdog::ConnectionTerminationWatchdog):
(IPC::Connection::receiveSourceEventHandler):
(IPC::AccessibilityProcessSuspendedNotification):
* Platform/ios/AccessibilityIOS.mm:
* Platform/mac/LayerHostingContext.mm:
(WebKit::LayerHostingContext::createForExternalHostingProcess):
* Platform/spi/Cocoa/DeviceIdentitySPI.h:
* Platform/spi/ios/CelestialSPI.h:
* Platform/spi/ios/FrontBoardServicesSPI.h:
* PluginProcess/mac/PluginProcessShim.mm:
* Shared/API/Cocoa/WKDataDetectorTypesInternal.h:
* Shared/API/Cocoa/WebKit.m:
* Shared/AssistedNodeInformation.cpp:
* Shared/AssistedNodeInformation.h:
* Shared/CacheModel.cpp:
(WebKit::calculateURLCacheSizes):
* Shared/ChildProcess.cpp:
* Shared/Cocoa/APIObject.mm:
(API::Object::newObject):
* Shared/Cocoa/WebKit2InitializeCocoa.mm:
(WebKit::runInitializationCode):
* Shared/DrawingAreaInfo.h:
* Shared/EditorState.cpp:
(WebKit::EditorState::encode const):
(WebKit::EditorState::decode):
(WebKit::EditorState::PostLayoutData::encode const):
(WebKit::EditorState::PostLayoutData::decode):
(WebKit::operator<<):
* Shared/EditorState.h:
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:
(WebKit::XPCServiceInitializerDelegate::checkEntitlements):
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
(WebKit::XPCServiceMain):
* Shared/NativeWebKeyboardEvent.h:
* Shared/NativeWebMouseEvent.h:
* Shared/NativeWebTouchEvent.h:
* Shared/PrintInfo.cpp:
(WebKit::PrintInfo::encode const):
(WebKit::PrintInfo::decode):
* Shared/PrintInfo.h:
* Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.h:
* Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm:
(WebKit::RemoteLayerTreePropertyApplier::applyProperties):
* Shared/SessionState.cpp:
(WebKit::FrameState::encode const):
(WebKit::FrameState::decode):
* Shared/SessionState.h:
* Shared/WebCoreArgumentCoders.cpp:
* Shared/WebCoreArgumentCoders.h:
* Shared/WebEvent.h:
* Shared/WebEventConversion.cpp:
(WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
* Shared/WebKeyboardEvent.cpp:
* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h:
* Shared/WebPlatformTouchPoint.cpp:
* Shared/WebPreferences.yaml:
* Shared/WebPreferencesDefaultValues.cpp:
(defaultPassiveTouchListenersAsDefaultOnDocument):
(defaultCustomPasteboardDataEnabled):
* Shared/WebPreferencesDefaultValues.h:
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
* Shared/WebTouchEvent.cpp:
* Shared/cf/ArgumentCodersCF.cpp:
(IPC::encode):
(IPC::decode):
* Shared/cf/ArgumentCodersCF.h:
* Shared/ios/ChildProcessIOS.mm:
* Shared/ios/InteractionInformationAtPosition.h:
* Shared/ios/InteractionInformationAtPosition.mm:
* Shared/ios/InteractionInformationRequest.cpp:
* Shared/ios/InteractionInformationRequest.h:
* Shared/ios/NativeWebKeyboardEventIOS.mm:
* Shared/ios/NativeWebMouseEventIOS.mm:
* Shared/ios/NativeWebTouchEventIOS.mm:
* Shared/ios/WebIOSEventFactory.h:
* Shared/ios/WebIOSEventFactory.mm:
* Shared/ios/WebIconUtilities.h:
* Shared/ios/WebIconUtilities.mm:
* Shared/mac/ArgumentCodersMac.h:
* Shared/mac/ArgumentCodersMac.mm:
* Shared/mac/SandboxExtensionMac.mm:
* Shared/mac/SecItemShim.cpp:
(WebKit::initializeSecItemShim):
* UIProcess/API/APIPageConfiguration.cpp:
(API::PageConfiguration::copy const):
* UIProcess/API/APIPageConfiguration.h:
* UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::copy):
* UIProcess/API/APIProcessPoolConfiguration.h:
* UIProcess/API/APIUIClient.h:
* UIProcess/API/C/WKInspector.cpp:
* UIProcess/API/C/WKPage.cpp:
(WKPageSetIgnoresViewportScaleLimits):
* UIProcess/API/C/mac/WKContextPrivateMac.mm:
(WKContextIsPlugInUpdateAvailable):
* UIProcess/API/Cocoa/APIAttachmentCocoa.mm:
* UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm:
(API::WebsiteDataStore::defaultApplicationCacheDirectory):
(API::WebsiteDataStore::legacyDefaultApplicationCacheDirectory):
(API::WebsiteDataStore::legacyDefaultJavaScriptConfigurationDirectory):
* UIProcess/API/Cocoa/WKNavigationAction.mm:
(-[WKNavigationAction description]):
* UIProcess/API/Cocoa/WKPreviewActionItemIdentifiers.mm:
* UIProcess/API/Cocoa/WKPreviewElementInfo.mm:
* UIProcess/API/Cocoa/WKProcessGroup.mm:
(IGNORE_WARNINGS_BEGIN):
* UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _pluginProcessCount]):
* UIProcess/API/Cocoa/WKWebView.mm:
(shouldRequireUserGestureToLoadVideo):
(validate):
(-[WKWebView _initializeWithConfiguration:]):
(-[WKWebView _setUpSQLiteDatabaseTrackerClient]):
(-[WKWebView dealloc]):
(-[WKWebView allowsLinkPreview]):
(-[WKWebView setAllowsLinkPreview:]):
(-[WKWebView _countStringMatches:options:maxCount:]):
(-[WKWebView _findString:options:maxCount:]):
(-[WKWebView _hideFindUI]):
(-[WKWebView _scrollPerformanceData]):
(-[WKWebView _allowsMediaDocumentInlinePlayback]):
(-[WKWebView _setAllowsMediaDocumentInlinePlayback:]):
(-[WKWebView _contentsOfUserInterfaceItem:]):
(-[WKWebView _internalDoAfterNextPresentationUpdate:withoutWaitingForPainting:withoutWaitingForAnimatedResize:]):
(-[WKWebView _doAfterNextVisibleContentRectUpdate:]):
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]):
(-[WKWebViewConfiguration encodeWithCoder:]):
(-[WKWebViewConfiguration initWithCoder:]):
(-[WKWebViewConfiguration copyWithZone:]):
(defaultApplicationNameForUserAgent):
* UIProcess/API/Cocoa/WKWebViewConfigurationInternal.h:
* UIProcess/API/Cocoa/WKWebViewInternal.h:
* UIProcess/API/Cocoa/_WKActivatedElementInfo.mm:
(-[_WKActivatedElementInfo _initWithType:URL:location:title:ID:rect:image:userInfo:]):
* UIProcess/API/Cocoa/_WKActivatedElementInfoInternal.h:
* UIProcess/API/Cocoa/_WKAttachment.mm:
* UIProcess/API/Cocoa/_WKContextMenuElementInfo.mm:
* UIProcess/API/Cocoa/_WKElementAction.mm:
* UIProcess/API/Cocoa/_WKElementActionInternal.h:
* UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
* UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.h:
* UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
(-[WKPaymentAuthorizationViewControllerDelegate invalidate]):
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didAuthorizePayment:handler:]):
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectPaymentMethod:handler:]):
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectShippingMethod:handler:]):
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectShippingContact:handler:]):
(WebKit::WebPaymentCoordinatorProxy::platformCanMakePaymentsWithActiveCard):
(WebKit::toPKPaymentRequest):
(WebKit::WebPaymentCoordinatorProxy::platformCompletePaymentSession):
(WebKit::WebPaymentCoordinatorProxy::platformCompleteShippingMethodSelection):
(WebKit::WebPaymentCoordinatorProxy::platformCompleteShippingContactSelection):
(WebKit::WebPaymentCoordinatorProxy::platformCompletePaymentMethodSelection):
* UIProcess/ApplePay/ios/WebPaymentCoordinatorProxyIOS.mm:
* UIProcess/ApplicationStateTracker.h:
* UIProcess/ApplicationStateTracker.mm:
* UIProcess/Automation/cocoa/WebAutomationSessionCocoa.mm:
* UIProcess/Automation/ios/WebAutomationSessionIOS.mm:
* UIProcess/BackgroundProcessResponsivenessTimer.cpp:
(WebKit::BackgroundProcessResponsivenessTimer::shouldBeActive const):
* UIProcess/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::shutDownProcess):
* UIProcess/Cocoa/DownloadClient.h:
* UIProcess/Cocoa/DownloadClient.mm:
(WebKit::DownloadClient::takeActivityToken):
(WebKit::DownloadClient::releaseActivityTokenIfNecessary):
* UIProcess/Cocoa/LayerRepresentation.h:
* UIProcess/Cocoa/NavigationState.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::NavigationState):
(WebKit::NavigationState::didChangeIsLoading):
* UIProcess/Cocoa/PlaybackSessionManagerProxy.h:
* UIProcess/Cocoa/PlaybackSessionManagerProxy.messages.in:
* UIProcess/Cocoa/PlaybackSessionManagerProxy.mm:
* UIProcess/Cocoa/UIDelegate.h:
* UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::decidePolicyForUserMediaPermissionRequest):
* UIProcess/Cocoa/VersionChecks.h:
* UIProcess/Cocoa/VersionChecks.mm:
(WebKit::linkedOnOrAfter):
* UIProcess/Cocoa/VideoFullscreenManagerProxy.h:
* UIProcess/Cocoa/VideoFullscreenManagerProxy.messages.in:
* UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:
(WebKit::VideoFullscreenManagerProxy::setupFullscreenWithID):
(WebKit::VideoFullscreenManagerProxy::exitFullscreen):
(WebKit::VideoFullscreenManagerProxy::preparedToReturnToInline):
(WebKit::VideoFullscreenManagerProxy::setVideoLayerFrame):
* UIProcess/Cocoa/ViewGestureController.h:
* UIProcess/Cocoa/WKShareSheet.mm:
(-[WKShareSheet presentWithParameters:completionHandler:]):
* UIProcess/Cocoa/WKWebViewContentProvider.h:
* UIProcess/Cocoa/WKWebViewContentProviderRegistry.h:
* UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm:
* UIProcess/Cocoa/WebPageProxyCocoa.mm:
* UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformResolvePathsForSandboxExtensions):
(WebKit::WebProcessPool::platformInitializeWebProcess):
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
(WebKit::WebProcessPool::registerNotificationObservers):
(WebKit::WebProcessPool::unregisterNotificationObservers):
* UIProcess/Gamepad/cocoa/UIGamepadProviderCocoa.mm:
(WebKit::UIGamepadProvider::platformSetDefaultGamepadProvider):
* UIProcess/Gamepad/ios/UIGamepadProviderIOS.mm:
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::shouldLeakBoost):
(WebKit::systemDirectoryPath):
(WebKit::ProcessLauncher::launchProcess):
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didFinishLaunching):
* UIProcess/PageClient.h:
* UIProcess/ProcessAssertion.cpp:
* UIProcess/ProcessAssertion.h:
* UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h:
* UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::~RemoteLayerTreeDrawingAreaProxy):
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
(WebKit::RemoteLayerTreeDrawingAreaProxy::indicatorLocation const):
(WebKit::RemoteLayerTreeDrawingAreaProxy::updateDebugIndicator):
(WebKit::RemoteLayerTreeDrawingAreaProxy::didRefreshDisplay):
(WebKit::RemoteLayerTreeDrawingAreaProxy::waitForDidUpdateActivityState):
* UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::clearLayers):
(WebKit::RemoteLayerTreeHost::detachRootLayer):
* UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeDidScroll):
* UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h:
* UIProcess/RemoteLayerTree/RemoteScrollingTree.cpp:
(WebKit::RemoteScrollingTree::createScrollingTreeNode):
* UIProcess/RemoteLayerTree/RemoteScrollingTree.h:
* UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm:
* UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.mm:
* UIProcess/RemoteLayerTree/ios/ScrollingTreeOverflowScrollingNodeIOS.h:
* UIProcess/RemoteLayerTree/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
* UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.h:
* UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm:
* UIProcess/ResourceLoadStatisticsPersistentStorage.cpp:
* UIProcess/WKImagePreviewViewController.h:
* UIProcess/WKImagePreviewViewController.mm:
* UIProcess/WKInspectorHighlightView.h:
* UIProcess/WKInspectorHighlightView.mm:
* UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:
(WebKit::LocalAuthenticatorInternal::buildAuthData):
(WebKit::LocalAuthenticator::makeCredential):
(WebKit::LocalAuthenticator::continueMakeCredentialAfterUserConsented):
(WebKit::LocalAuthenticator::continueMakeCredentialAfterAttested):
(WebKit::LocalAuthenticator::getAssertion):
(WebKit::LocalAuthenticator::continueGetAssertionAfterUserConsented):
* UIProcess/WebAuthentication/Cocoa/LocalConnection.mm:
(WebKit::LocalConnection::getUserConsent const):
(WebKit::LocalConnection::getAttestation const):
* UIProcess/WebAuthentication/Cocoa/LocalService.mm:
(WebKit::LocalService::isAvailable):
* UIProcess/WebFullScreenManagerProxy.cpp:
(WebKit::WebFullScreenManagerProxy::supportsFullScreen):
* UIProcess/WebGeolocationManagerProxy.cpp:
* UIProcess/WebGeolocationManagerProxy.h:
* UIProcess/WebInspectorProxy.cpp:
* UIProcess/WebOpenPanelResultListenerProxy.cpp:
* UIProcess/WebOpenPanelResultListenerProxy.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::m_resetRecentCrashCountTimer):
(WebKit::WebPageProxy::finishAttachingToWebProcess):
(WebKit::WebPageProxy::initializeWebPage):
(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::viewDidLeaveWindow):
(WebKit::WebPageProxy::updateThrottleState):
(WebKit::WebPageProxy::waitForDidUpdateActivityState):
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::exitFullscreenImmediately):
(WebKit::WebPageProxy::runJavaScriptAlert):
(WebKit::WebPageProxy::runJavaScriptConfirm):
(WebKit::WebPageProxy::runJavaScriptPrompt):
(WebKit::WebPageProxy::pageDidScroll):
(WebKit::WebPageProxy::processDidTerminate):
(WebKit::WebPageProxy::resetState):
(WebKit::WebPageProxy::resetStateAfterProcessExited):
(WebKit::WebPageProxy::creationParameters):
(WebKit::WebPageProxy::requestGeolocationPermissionForFrame):
(WebKit::WebPageProxy::hasActiveVideoForControlsManager const):
(WebKit::WebPageProxy::requestControlledElementID const):
(WebKit::WebPageProxy::isPlayingVideoInEnhancedFullscreen const):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/WebPasteboardProxy.h:
* UIProcess/WebPasteboardProxy.messages.in:
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::ensureNetworkProcess):
(WebKit::WebProcessPool::initializeNewWebProcess):
(WebKit::WebProcessPool::updateProcessAssertions):
(WebKit::WebProcessPool::reinstateNetworkProcessAssertionState):
* UIProcess/WebProcessPool.h:
* UIProcess/WebProcessProxy.cpp:
(WebKit::isMainThreadOrCheckDisabled):
(WebKit::WebProcessProxy::didFinishLaunching):
(WebKit::WebProcessProxy::didSetAssertionState):
* UIProcess/WebProcessProxy.h:
* UIProcess/WebStorage/LocalStorageDatabaseTracker.cpp:
(WebKit::LocalStorageDatabaseTracker::databasePath const):
* UIProcess/WebStorage/LocalStorageDatabaseTracker.h:
* UIProcess/WebStorage/ios/LocalStorageDatabaseTrackerIOS.mm:
* UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
* UIProcess/_WKWebViewPrintFormatter.mm:
* UIProcess/_WKWebViewPrintFormatterInternal.h:
* UIProcess/ios/DragDropInteractionState.h:
* UIProcess/ios/DragDropInteractionState.mm:
* UIProcess/ios/InputViewUpdateDeferrer.h:
* UIProcess/ios/InputViewUpdateDeferrer.mm:
* UIProcess/ios/LayerRepresentation.mm:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
* UIProcess/ios/ProcessAssertionIOS.mm:
* UIProcess/ios/ResourceLoadStatisticsPersistentStorageIOS.mm:
* UIProcess/ios/SmartMagnificationController.h:
* UIProcess/ios/SmartMagnificationController.messages.in:
* UIProcess/ios/SmartMagnificationController.mm:
* UIProcess/ios/TextCheckerIOS.mm:
* UIProcess/ios/ViewGestureControllerIOS.mm:
* UIProcess/ios/WKActionSheet.h:
* UIProcess/ios/WKActionSheet.mm:
* UIProcess/ios/WKActionSheetAssistant.h:
* UIProcess/ios/WKActionSheetAssistant.mm:
* UIProcess/ios/WKApplicationStateTrackingView.h:
* UIProcess/ios/WKApplicationStateTrackingView.mm:
* UIProcess/ios/WKContentView.mm:
* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
* UIProcess/ios/WKGeolocationProviderIOS.h:
* UIProcess/ios/WKGeolocationProviderIOS.mm:
* UIProcess/ios/WKGeolocationProviderIOSObjCSecurityOrigin.mm:
* UIProcess/ios/WKInspectorNodeSearchGestureRecognizer.h:
* UIProcess/ios/WKInspectorNodeSearchGestureRecognizer.mm:
* UIProcess/ios/WKKeyboardScrollingAnimator.h:
* UIProcess/ios/WKKeyboardScrollingAnimator.mm:
* UIProcess/ios/WKPDFPageNumberIndicator.h:
* UIProcess/ios/WKPDFPageNumberIndicator.mm:
* UIProcess/ios/WKPasswordView.h:
* UIProcess/ios/WKPasswordView.mm:
* UIProcess/ios/WKScrollView.h:
* UIProcess/ios/WKScrollView.mm:
* UIProcess/ios/WKSyntheticClickTapGestureRecognizer.h:
* UIProcess/ios/WKSyntheticClickTapGestureRecognizer.m:
* UIProcess/ios/WKWebEvent.h:
* UIProcess/ios/WKWebEvent.mm:
* UIProcess/ios/WebDataListSuggestionsDropdownIOS.h:
* UIProcess/ios/WebDataListSuggestionsDropdownIOS.mm:
* UIProcess/ios/WebPageProxyIOS.mm:
* UIProcess/ios/WebProcessProxyIOS.mm:
* UIProcess/ios/forms/WKAirPlayRoutePicker.h:
* UIProcess/ios/forms/WKAirPlayRoutePicker.mm:
* UIProcess/ios/forms/WKFileUploadPanel.h:
* UIProcess/ios/forms/WKFileUploadPanel.mm:
* UIProcess/ios/forms/WKFormColorControl.h:
* UIProcess/ios/forms/WKFormColorControl.mm:
* UIProcess/ios/forms/WKFormColorPicker.h:
* UIProcess/ios/forms/WKFormColorPicker.mm:
* UIProcess/ios/forms/WKFormInputControl.h:
* UIProcess/ios/forms/WKFormInputControl.mm:
* UIProcess/ios/forms/WKFormPopover.h:
* UIProcess/ios/forms/WKFormPopover.mm:
* UIProcess/ios/forms/WKFormSelectControl.h:
* UIProcess/ios/forms/WKFormSelectControl.mm:
* UIProcess/ios/forms/WKFormSelectPicker.h:
* UIProcess/ios/forms/WKFormSelectPicker.mm:
* UIProcess/ios/forms/WKFormSelectPopover.h:
* UIProcess/ios/forms/WKFormSelectPopover.mm:
* UIProcess/ios/fullscreen/FullscreenTouchSecheuristic.cpp:
* UIProcess/ios/fullscreen/FullscreenTouchSecheuristic.h:
* UIProcess/ios/fullscreen/WKFullScreenViewController.h:
* UIProcess/ios/fullscreen/WKFullScreenViewController.mm:
* UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.h:
* UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
* UIProcess/ios/fullscreen/WKFullscreenStackView.h:
* UIProcess/ios/fullscreen/WKFullscreenStackView.mm:
* UIProcess/mac/LegacySessionStateCoding.cpp:
(WebKit::encodeFrameStateNode):
(WebKit::decodeBackForwardTreeNode):
* UIProcess/mac/PageClientImplMac.h:
* UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
* UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
* UIProcess/mac/ViewSnapshotStore.mm:
* UIProcess/mac/WKFullScreenWindowController.mm:
* WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
(WebContentServiceInitializer):
* WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::WebFullScreenManager::videoControlsManagerDidChange):
(WebKit::WebFullScreenManager::willEnterFullScreen):
(WebKit::WebFullScreenManager::didEnterFullScreen):
(WebKit::WebFullScreenManager::willExitFullScreen):
* WebProcess/Geolocation/WebGeolocationManager.cpp:
* WebProcess/Geolocation/WebGeolocationManager.h:
* WebProcess/Geolocation/WebGeolocationManager.messages.in:
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:
* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
* WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm:
* WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(-[WKWebProcessPlugInBrowserContextController _setEditingDelegate:]):
* WebProcess/WebCoreSupport/SessionStateConversion.cpp:
(WebKit::toFrameState):
(WebKit::applyFrameState):
* WebProcess/WebCoreSupport/WebAlternativeTextClient.h:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::windowRect):
(WebKit::WebChromeClient::enterVideoFullscreenForVideoElement):
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
* WebProcess/WebCoreSupport/WebEditorClient.h:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidLayout):
(WebKit::WebFrameLoaderClient::saveViewStateToItem):
(WebKit::WebFrameLoaderClient::restoreViewState):
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
(WebKit::WebFrameLoaderClient::objectContentType):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
* WebProcess/WebCoreSupport/WebInspectorClient.cpp:
(WebKit::WebInspectorClient::highlight):
(WebKit::WebInspectorClient::hideHighlight):
* WebProcess/WebCoreSupport/WebInspectorClient.h:
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:
* WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
* WebProcess/WebCoreSupport/ios/WebEditorClientIOS.mm:
* WebProcess/WebCoreSupport/ios/WebFrameLoaderClientIOS.mm:
* WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
* WebProcess/WebPage/DrawingArea.cpp:
(WebKit::DrawingArea::create):
* WebProcess/WebPage/DrawingArea.h:
* WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::findString):
* WebProcess/WebPage/FindController.h:
* WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteCustom.mm:
(WebKit::PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
* WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h:
* WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
(WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect):
* WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
(WebKit::ViewGestureGeometryCollector::dispatchDidCollectGeometryForSmartMagnificationGesture):
(WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):
(WebKit::ViewGestureGeometryCollector::mainFrameDidLayout):
* WebProcess/WebPage/ViewGestureGeometryCollector.h:
* WebProcess/WebPage/ViewGestureGeometryCollector.messages.in:
* WebProcess/WebPage/ViewUpdateDispatcher.cpp:
* WebProcess/WebPage/WKAccessibilityWebPageObjectIOS.h:
* WebProcess/WebPage/WKAccessibilityWebPageObjectIOS.mm:
* WebProcess/WebPage/WebFrame.h:
* WebProcess/WebPage/WebOpenPanelResultListener.cpp:
* WebProcess/WebPage/WebOpenPanelResultListener.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::m_cpuLimit):
(WebKit::WebPage::~WebPage):
(WebKit::WebPage::scalePage):
(WebKit::WebPage::setUseFixedLayout):
(WebKit::WebPage::disabledAdaptationsDidChange):
(WebKit::WebPage::viewportPropertiesDidChange):
(WebKit::WebPage::pageDidScroll):
(WebKit::WebPage::mouseEvent):
(WebKit::WebPage::updatePreferences):
(WebKit::WebPage::willCommitLayerTree):
(WebKit::WebPage::didFlushLayerTreeAtTime):
(WebKit::WebPage::mainFrameDidLayout):
(WebKit::WebPage::resetAssistedNodeForFrame):
(WebKit::WebPage::elementDidFocus):
(WebKit::WebPage::elementDidBlur):
(WebKit::WebPage::willReplaceMultipartContent):
(WebKit::WebPage::didReplaceMultipartContent):
(WebKit::WebPage::didCommitLoad):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/ios/FindControllerIOS.mm:
* WebProcess/WebPage/ios/WebPageIOS.mm:
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect):
* WebProcess/WebPage/mac/WebPageMac.mm:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::initializeConnection):
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::actualPrepareToSuspend):
(WebKit::WebProcess::cancelPrepareToSuspend):
(WebKit::WebProcess::processDidResume):
* WebProcess/WebProcess.h:
* WebProcess/cocoa/PlaybackSessionManager.h:
* WebProcess/cocoa/PlaybackSessionManager.messages.in:
* WebProcess/cocoa/PlaybackSessionManager.mm:
* WebProcess/cocoa/VideoFullscreenManager.h:
* WebProcess/cocoa/VideoFullscreenManager.messages.in:
* WebProcess/cocoa/VideoFullscreenManager.mm:
(WebKit::VideoFullscreenManager::supportsVideoFullscreen const):
(WebKit::VideoFullscreenManager::supportsVideoFullscreenStandby const):
(WebKit::VideoFullscreenManager::didSetupFullscreen):
(WebKit::VideoFullscreenManager::didExitFullscreen):
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
(WebKit::WebProcess::initializeProcessName):
(WebKit::registerWithAccessibility):
(WebKit::WebProcess::sourceApplicationAuditData const):
(WebKit::WebProcess::initializeSandbox):
* WebProcess/mac/SecItemShimLibrary.mm:
* config.h:

Source/WebKitLegacy:

* Storage/StorageTracker.cpp:
(WebKit::StorageTracker::syncDeleteAllOrigins):
(WebKit::StorageTracker::syncDeleteOrigin):
* WebCoreSupport/WebResourceLoadScheduler.cpp:
(WebResourceLoadScheduler::loadResource):
(WebResourceLoadScheduler::scheduleLoad):
(WebResourceLoadScheduler::remove):
(WebResourceLoadScheduler::servePendingRequests):

Source/WebKitLegacy/ios:

* DefaultDelegates/WebDefaultFormDelegate.m:
* DefaultDelegates/WebDefaultFrameLoadDelegate.m:
* DefaultDelegates/WebDefaultResourceLoadDelegate.m:
* DefaultDelegates/WebDefaultUIKitDelegate.m:
* Misc/MemoryMeasure.mm:
* Misc/WebGeolocationCoreLocationProvider.mm:
* Misc/WebGeolocationProviderIOS.mm:
* Misc/WebNSStringExtrasIOS.m:
* Misc/WebUIKitSupport.mm:
(WebKitPlatformSystemRootDirectory):
* WebCoreSupport/PopupMenuIOS.mm:
* WebCoreSupport/SearchPopupMenuIOS.cpp:
* WebCoreSupport/WebChromeClientIOS.h:
* WebCoreSupport/WebChromeClientIOS.mm:
* WebCoreSupport/WebFixedPositionContent.mm:
* WebCoreSupport/WebFrameIOS.mm:
* WebCoreSupport/WebGeolocation.mm:
* WebCoreSupport/WebInspectorClientIOS.mm:
* WebCoreSupport/WebMIMETypeRegistry.mm:
* WebCoreSupport/WebSelectionRect.m:
* WebCoreSupport/WebVisiblePosition.mm:
* WebView/WebFrameViewWAKCompatibility.m:
* WebView/WebPDFViewIOS.mm:
* WebView/WebPDFViewPlaceholder.mm:
* WebView/WebPlainWhiteView.h:
* WebView/WebPlainWhiteView.mm:

Source/WebKitLegacy/mac:

* DOM/DOM.mm:
(-[DOMNode boundingBox]):
* DOM/DOMElement.mm:
* DOM/DOMHTML.mm:
* DOM/DOMInternal.mm:
* DOM/DOMUIKitExtensions.mm:
* DOM/WebDOMOperations.mm:
* DefaultDelegates/WebDefaultContextMenuDelegate.mm:
* DefaultDelegates/WebDefaultEditingDelegate.m:
* DefaultDelegates/WebDefaultPolicyDelegate.m:
(-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
* DefaultDelegates/WebDefaultUIDelegate.h:
* DefaultDelegates/WebDefaultUIDelegate.mm:
(-[WebDefaultUIDelegate webViewClose:]):
(-[WebDefaultUIDelegate webViewFocus:]):
(-[WebDefaultUIDelegate webViewUnfocus:]):
(-[WebDefaultUIDelegate webViewIsResizable:]):
(-[WebDefaultUIDelegate webView:setResizable:]):
(-[WebDefaultUIDelegate webView:setFrame:]):
(-[WebDefaultUIDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:]):
* History/BackForwardList.h:
* History/BackForwardList.mm:
* History/WebBackForwardList.mm:
(+[WebBackForwardList initialize]):
(bumperCarBackForwardHackNeeded):
* History/WebHistory.mm:
(-[WebHistoryPrivate addItem:discardDuplicate:]):
(-[WebHistory _sendNotification:entries:]):
(-[WebHistory loadFromURL:error:]):
(-[WebHistory saveToURL:error:]):
* History/WebHistoryItem.mm:
(WKNotifyHistoryItemChanged):
(+[WebHistoryItem initialize]):
(-[WebHistoryItem initFromDictionaryRepresentation:]):
* History/WebURLsWithTitles.m:
* Misc/WebCache.mm:
(+[WebCache initialize]):
* Misc/WebDownload.mm:
(-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]):
* Misc/WebElementDictionary.mm:
(+[WebElementDictionary initialize]):
(+[WebElementDictionary initializeLookupTable]):
* Misc/WebIconDatabase.mm:
* Misc/WebKitNSStringExtras.mm:
(+[NSString _webkit_localCacheDirectoryWithBundleIdentifier:]):
* Misc/WebKitVersionChecks.h:
* Misc/WebKitVersionChecks.mm:
(WebKitLinkedOnOrAfter):
(WebKitLinkTimeVersion):
* Misc/WebLocalizableStrings.mm:
* Misc/WebNSControlExtras.h:
* Misc/WebNSControlExtras.m:
* Misc/WebNSEventExtras.m:
* Misc/WebNSFileManagerExtras.mm:
* Misc/WebNSImageExtras.h:
* Misc/WebNSImageExtras.m:
* Misc/WebNSPasteboardExtras.mm:
* Misc/WebNSPrintOperationExtras.h:
* Misc/WebNSPrintOperationExtras.m:
* Misc/WebNSViewExtras.m:
* Misc/WebNSWindowExtras.m:
* Panels/WebAuthenticationPanel.h:
* Panels/WebAuthenticationPanel.m:
* Panels/WebPanelAuthenticationHandler.m:
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(+[WebHostedNetscapePluginView initialize]):
* Plugins/WebBasePluginPackage.h:
* Plugins/WebBasePluginPackage.mm:
* Plugins/WebJavaPlugIn.h:
* Plugins/WebPluginContainerCheck.mm:
* Plugins/WebPluginController.h:
* Plugins/WebPluginController.mm:
(-[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
(-[WebPluginController addPlugin:]):
(-[WebPluginController destroyPlugin:]):
(-[WebPluginController destroyAllPlugins]):
* Plugins/WebPluginDatabase.mm:
(+[WebPluginDatabase _defaultPlugInPaths]):
* Plugins/WebPluginPackage.mm:
(-[WebPluginPackage initWithPath:]):
* Storage/WebDatabaseManager.mm:
(-[WebDatabaseManager deleteAllDatabases]):
* Storage/WebDatabaseManagerClient.h:
* Storage/WebDatabaseManagerClient.mm:
(WebDatabaseManagerClient::WebDatabaseManagerClient):
(WebDatabaseManagerClient::~WebDatabaseManagerClient):
* Storage/WebStorageManager.mm:
(-[WebStorageManager deleteAllOrigins]):
(WebKitInitializeStorageIfNecessary):
* WebCoreSupport/WebAlternativeTextClient.h:
* WebCoreSupport/WebApplicationCache.mm:
(applicationCacheBundleIdentifier):
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::setWindowRect):
(WebChromeClient::windowRect):
(WebChromeClient::takeFocus):
(WebChromeClient::addMessageToConsole):
(WebChromeClient::enableSuddenTermination):
(WebChromeClient::disableSuddenTermination):
(WebChromeClient::createPopupMenu const):
(WebChromeClient::createSearchPopupMenu const):
(WebChromeClient::shouldPaintEntireContents const):
(WebChromeClient::supportsVideoFullscreen):
(WebChromeClient::supportsFullScreenForElement):
(WebChromeClient::enterFullScreenForElement):
(WebChromeClient::exitFullScreenForElement):
* WebCoreSupport/WebContextMenuClient.mm:
* WebCoreSupport/WebDragClient.mm:
* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(+[WebUndoStep initialize]):
(updateFontPanel):
(WebEditorClient::didBeginEditing):
(WebEditorClient::respondToChangedContents):
(WebEditorClient::respondToChangedSelection):
(WebEditorClient::canceledComposition):
(WebEditorClient::didEndEditing):
(WebEditorClient::didWriteSelectionToPasteboard):
(attributesForAttributedStringConversion):
(WebEditorClient::setInsertionPasteboard):
(WebEditorClient::registerUndoOrRedoStep):
(WebEditorClient::handleKeyboardEvent):
(WebEditorClient::handleInputMethodKeydown):
(WebEditorClient::textDidChangeInTextField):
(WebEditorClient::requestCheckingOfString):
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::detachedFromParent2):
(WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
(WebFrameLoaderClient::assignIdentifierToInitialRequest):
(WebFrameLoaderClient::dispatchWillSendRequest):
(WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
(WebFrameLoaderClient::dispatchDidReceiveResponse):
(WebFrameLoaderClient::willCacheResponse const):
(WebFrameLoaderClient::dispatchDidReceiveContentLength):
(WebFrameLoaderClient::dispatchDidFinishLoading):
(WebFrameLoaderClient::dispatchDidFailLoading):
(WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
(WebFrameLoaderClient::dispatchWillClose):
(WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
(WebFrameLoaderClient::dispatchDidCommitLoad):
(WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
(WebFrameLoaderClient::dispatchDidFailLoad):
(WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
(WebFrameLoaderClient::dispatchDidFinishLoad):
(WebFrameLoaderClient::dispatchDidReachLayoutMilestone):
(WebFrameLoaderClient::willChangeTitle):
(WebFrameLoaderClient::didChangeTitle):
(WebFrameLoaderClient::didReplaceMultipartContent):
(WebFrameLoaderClient::updateGlobalHistory):
(WebFrameLoaderClient::saveViewStateToItem):
(WebFrameLoaderClient::restoreViewState):
(WebFrameLoaderClient::provisionalLoadStarted):
(WebFrameLoaderClient::prepareForDataSourceReplacement):
(WebFrameLoaderClient::setTitle):
(WebFrameLoaderClient::savePlatformDataToCachedFrame):
(WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
(WebFrameLoaderClient::transitionToCommittedForNewPage):
(WebFrameLoaderClient::didRestoreFromPageCache):
(WebFrameLoaderClient::actionDictionary const):
(WebFrameLoaderClient::createPlugin):
(WebFrameLoaderClient::getLoadDecisionForIcons):
(WebFrameLoaderClient::finishedLoadingIcon):
(+[WebFramePolicyListener initialize]):
* WebCoreSupport/WebFrameNetworkingContext.mm:
* WebCoreSupport/WebGeolocationClient.h:
* WebCoreSupport/WebGeolocationClient.mm:
(WebGeolocationClient::requestPermission):
* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebJavaScriptTextInputPanel.m:
* WebCoreSupport/WebNotificationClient.mm:
* WebCoreSupport/WebOpenPanelResultListener.mm:
* WebCoreSupport/WebPlatformStrategies.h:
* WebCoreSupport/WebPlatformStrategies.mm:
* WebCoreSupport/WebProgressTrackerClient.h:
* WebCoreSupport/WebProgressTrackerClient.mm:
(WebProgressTrackerClient::progressStarted):
(WebProgressTrackerClient::progressEstimateChanged):
(WebProgressTrackerClient::progressFinished):
* WebCoreSupport/WebSecurityOrigin.mm:
* WebInspector/WebNodeHighlight.h:
* WebInspector/WebNodeHighlight.mm:
(-[WebNodeHighlight initWithTargetView:inspectorController:]):
(-[WebNodeHighlight dealloc]):
(-[WebNodeHighlight attach]):
* WebInspector/WebNodeHighlightView.h:
* WebInspector/WebNodeHighlightView.mm:
(-[WebNodeHighlightView initWithWebNodeHighlight:]):
(-[WebNodeHighlightView dealloc]):
* WebInspector/WebNodeHighlighter.mm:
(-[WebNodeHighlighter highlight]):
* WebView/WebArchive.mm:
(+[WebArchivePrivate initialize]):
* WebView/WebClipView.h:
* WebView/WebDataSource.mm:
(WebDataSourcePrivate::WebDataSourcePrivate):
(+[WebDataSource initialize]):
(+[WebDataSource _repTypesAllowImageTypeOmission:]):
(-[WebDataSource _makeRepresentation]):
* WebView/WebDelegateImplementationCaching.h:
* WebView/WebDelegateImplementationCaching.mm:
(CallDelegate):
(CallDelegateReturningFloat):
(CallDelegateReturningBoolean):
(CallUIDelegate):
(CallUIDelegateReturningFloat):
(CallUIDelegateReturningBoolean):
(CallFrameLoadDelegate):
(CallFrameLoadDelegateReturningBoolean):
(CallResourceLoadDelegate):
(CallScriptDebugDelegate):
(CallFormDelegate):
(CallFormDelegateReturningBoolean):
* WebView/WebDeviceOrientation.mm:
(-[WebDeviceOrientation initWithCanProvideAlpha:alpha:canProvideBeta:beta:canProvideGamma:gamma:]):
* WebView/WebDocumentInternal.h:
* WebView/WebDocumentLoaderMac.mm:
(needsDataLoadWorkaround):
* WebView/WebDynamicScrollBarsViewInternal.h:
* WebView/WebFormDelegate.m:
* WebView/WebFrame.mm:
(-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]):
(-[WebFrame _unmarkAllMisspellings]):
(-[WebFrame _paintBehaviorForDestinationContext:]):
(-[WebFrame _drawRect:contentsOnly:]):
(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
(-[WebFrame _scrollDOMRangeToVisible:]):
(-[WebFrame _bodyBackgroundColor]):
(-[WebFrame accessibilityRoot]):
(needsMicrosoftMessengerDOMDocumentWorkaround):
* WebView/WebFrameInternal.h:
* WebView/WebFrameView.mm:
(-[WebFrameView _setDocumentView:]):
(+[WebFrameView _viewTypesAllowImageTypeOmission:]):
(-[WebFrameView _viewClassForMIMEType:]):
(-[WebFrameView initWithFrame:]):
(-[WebFrameView drawRect:]):
(-[WebFrameView _firstResponderIsFormControl]):
(-[WebFrameView keyDown:keyDown:]):
(-[WebFrameView _isScrollable]):
* WebView/WebFullScreenController.h:
* WebView/WebFullScreenController.mm:
* WebView/WebHTMLRepresentation.mm:
* WebView/WebHTMLView.mm:
(-[WebHTMLView hitTest:]):
(-[WebHTMLView initWithFrame:]):
(-[WebHTMLView dealloc]):
(-[WebHTMLView addSubview:]):
(-[WebHTMLView mouseDown:]):
(-[WebHTMLView mouseUp:]):
(-[WebHTMLView resignFirstResponder]):
(-[WebHTMLView accessibilityHitTest:]):
(-[WebHTMLView selectionImageForcingBlackText:selectionImageForcingBlackText:]):
* WebView/WebHTMLViewInternal.h:
* WebView/WebIndicateLayer.h:
* WebView/WebIndicateLayer.mm:
* WebView/WebMediaPlaybackTargetPicker.h:
* WebView/WebMediaPlaybackTargetPicker.mm:
* WebView/WebPDFDocumentExtras.h:
* WebView/WebPDFDocumentExtras.mm:
* WebView/WebPDFRepresentation.h:
* WebView/WebPDFRepresentation.mm:
* WebView/WebPDFView.h:
* WebView/WebPreferences.mm:
(cacheModelForMainBundle):
(WebPreferencesPrivate::WebPreferencesPrivate):
(-[WebPreferences initWithIdentifier:sendChangeNotification:initWithIdentifier:]):
(-[WebPreferences encodeWithCoder:]):
(+[WebPreferences standardPreferences]):
(+[WebPreferences initialize]):
(-[WebPreferences _valueForKey:]):
(-[WebPreferences _setStringValue:forKey:]):
(-[WebPreferences _setIntegerValue:forKey:]):
(-[WebPreferences _setUnsignedIntValue:forKey:]):
(-[WebPreferences _setFloatValue:forKey:]):
(-[WebPreferences _setBoolValue:forKey:]):
(-[WebPreferences _setLongLongValue:forKey:]):
(-[WebPreferences _setUnsignedLongLongValue:forKey:]):
(-[WebPreferences _postCacheModelChangedNotification]):
(-[WebPreferences _postPreferencesChangedNotification]):
(+[WebPreferences _switchNetworkLoaderToNewTestingSession]):
(-[WebPreferences setStorageBlockingPolicy:]):
* WebView/WebResource.mm:
(+[WebResourcePrivate initialize]):
* WebView/WebTextCompletionController.h:
* WebView/WebTextIterator.mm:
(+[WebTextIteratorPrivate initialize]):
* WebView/WebView.mm:
(shouldEnableLoadDeferring):
(shouldRestrictWindowFocus):
(shouldRespectPriorityInCSSAttributeSetters):
(shouldUseLegacyBackgroundSizeShorthandBehavior):
(shouldAllowPictureInPictureMediaPlayback):
(shouldAllowContentSecurityPolicySourceStarToMatchAnyProtocol):
(shouldAllowWindowOpenWithoutUserGesture):
(shouldConvertInvalidURLsToBlank):
(shouldRequireUserGestureToLoadVideo):
(-[WebView _commonInitializationWithFrameName:groupName:]):
(+[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:]):
(-[WebView _viewClass:andRepresentationClass:forMIMEType:]):
(-[WebView _closePluginDatabases]):
(-[WebView _closeWithFastTeardown]):
(-[WebView _close]):
(+[WebView _MIMETypeForFile:]):
(-[WebView setShowingInspectorIndication:]):
(-[WebView _setFormDelegate:]):
(-[WebView _needsPreHTML5ParserQuirks]):
(-[WebView _preferencesChangedNotification:]):
(-[WebView _preferencesChanged:]):
(-[WebView _cacheResourceLoadDelegateImplementations]):
(-[WebView _cacheFrameLoadDelegateImplementations]):
(-[WebView _policyDelegateForwarder]):
(-[WebView _UIDelegateForwarder]):
(-[WebView _editingDelegateForwarder]):
(-[WebView _updateActiveState]):
(-[_WebSafeForwarder forwardInvocation:]):
(+[WebView initialize]):
(-[WebView _pluginForMIMEType:]):
(-[WebView _pluginForExtension:]):
(-[WebView _isMIMETypeRegisteredAsPlugin:]):
(+[WebView canShowMIMETypeAsHTML:]):
(-[WebView _initWithArguments:]):
(-[WebView initWithFrame:frameName:groupName:]):
(-[WebView dealloc]):
(-[WebView close]):
(-[WebView viewDidMoveToWindow]):
(-[WebView setUIDelegate:]):
(-[WebView setResourceLoadDelegate:]):
(-[WebView setPolicyDelegate:]):
(-[WebView setFrameLoadDelegate:]):
(-[WebView goBack]):
(-[WebView goForward]):
(-[WebView stringByEvaluatingJavaScriptFromString:]):
(-[WebView setHostWindow:]):
(-[WebView becomeFirstResponder]):
(+[WebView _cacheModelChangedNotification:]):
(-[WebView _frameViewAtWindowPoint:]):
(+[WebView _preflightSpellCheckerNow:]):
(+[WebView _preflightSpellChecker]):
(-[WebView canGoBack]):
(-[WebView canGoForward]):
(-[WebView stopLoading:]):
(-[WebView reload:]):
(-[WebView setMainFrameDocumentReady:]):
(-[WebView _shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
(-[WebView setContinuousSpellCheckingEnabled:]):
(-[WebView undoManager]):
(-[WebView isAutomaticQuoteSubstitutionEnabled]):
(-[WebView isAutomaticLinkDetectionEnabled]):
(-[WebView isAutomaticDashSubstitutionEnabled]):
(-[WebView isAutomaticTextReplacementEnabled]):
(-[WebView isAutomaticSpellingCorrectionEnabled]):
(+[WebView _setCacheModel:]):
(-[WebView _retrieveKeyboardUIModeFromPreferences:]):
(-[WebView _keyboardUIMode]):
(LayerFlushController::flushLayers):
(-[WebView _scheduleCompositingLayerFlush]):
(-[WebView _enterVideoFullscreenForVideoElement:mode:]):
(-[WebView fullScreenPlaceholderView]):
(WebInstallMemoryPressureHandler):
* WebView/WebViewData.h:
* WebView/WebViewData.mm:
(+[WebViewPrivate initialize]):
(-[WebViewPrivate init]):
(-[WebViewPrivate dealloc]):
* WebView/WebViewInternal.h:

Source/WTF:

* wtf/Assertions.h:
* wtf/FeatureDefines.h:
* wtf/InlineASM.h:
* wtf/MemoryPressureHandler.cpp:
(WTF::thresholdForPolicy):
* wtf/Platform.h:
* wtf/cocoa/MemoryPressureHandlerCocoa.mm:
(WTF::MemoryPressureHandler::install):
(WTF::MemoryPressureHandler::respondToMemoryPressure):
* wtf/spi/cocoa/NSMapTableSPI.h:
* wtf/spi/darwin/XPCSPI.h:
* wtf/text/StringCommon.h:
* wtf/text/TextBreakIterator.cpp:
* wtf/text/TextBreakIterator.h:
* wtf/unicode/icu/CollatorICU.cpp:
(WTF::copyDefaultLocale):

Tools:

* DumpRenderTree/AccessibilityController.h:
* DumpRenderTree/AccessibilityTextMarker.h:
* DumpRenderTree/AccessibilityUIElement.cpp:
(AccessibilityUIElement::getJSClass):
* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/DumpRenderTreeFileDraggingSource.h:
* DumpRenderTree/TestRunner.cpp:
(getSecureEventInputIsEnabledCallback):
(TestRunner::staticFunctions):
(TestRunner::callUIScriptCallback):
* DumpRenderTree/TestRunner.h:
* DumpRenderTree/cg/PixelDumpSupportCG.cpp:
* DumpRenderTree/ios/AccessibilityTextMarkerIOS.mm:
* DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
* DumpRenderTree/ios/DumpRenderTreeAppMain.mm:
* DumpRenderTree/ios/DumpRenderTreeBrowserView.mm:
* DumpRenderTree/ios/TextInputControllerIOS.m:
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
* DumpRenderTree/mac/AppleScriptController.m:
* DumpRenderTree/mac/DumpRenderTree.mm:
(createWebViewAndOffscreenWindow):
(destroyWebViewAndOffscreenWindow):
(resetWebPreferencesToConsistentValues):
(setDefaultsToConsistentValuesForTesting):
(allocateGlobalControllers):
(releaseGlobalControllers):
(addTestPluginsToPluginSearchPath):
(prepareConsistentTestingEnvironment):
(dumpRenderTree):
(DumpRenderTreeMain):
(dumpFrameAsPDF):
(dumpBackForwardListForAllWindows):
(updateDisplay):
(dump):
(resetWebViewToConsistentStateBeforeTesting):
(runTest):
(displayWebView):
(displayAndTrackRepaintsWebView):
* DumpRenderTree/mac/DumpRenderTreeDraggingInfo.h:
* DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm:
* DumpRenderTree/mac/DumpRenderTreeMac.h:
* DumpRenderTree/mac/DumpRenderTreePasteboard.h:
* DumpRenderTree/mac/DumpRenderTreeWindow.h:
* DumpRenderTree/mac/DumpRenderTreeWindow.mm:
(-[DumpRenderTreeWindow close]):
(-[DumpRenderTreeWindow webView]):
(-[DumpRenderTreeWindow webViewStartedAcceleratedCompositing:]):
* DumpRenderTree/mac/EventSendingController.h:
* DumpRenderTree/mac/EventSendingController.mm:
(+[EventSendingController isSelectorExcludedFromWebScript:]):
(+[EventSendingController webScriptNameForSelector:]):
(-[EventSendingController dealloc]):
(-[EventSendingController currentEventTime]):
(-[EventSendingController clearKillRing]):
(modifierFlags):
(-[EventSendingController mouseDown:withModifiers:]):
(-[EventSendingController scalePageBy:atX:andY:]):
(-[EventSendingController mouseUp:withModifiers:]):
(-[EventSendingController mouseMoveToX:Y:]):
(-[EventSendingController mouseScrollByX:andY:continuously:]):
(-[EventSendingController keyDown:withModifiers:withLocation:]):
* DumpRenderTree/mac/FrameLoadDelegate.mm:
(-[FrameLoadDelegate init]):
(-[FrameLoadDelegate dealloc]):
(-[FrameLoadDelegate processWork:]):
(-[FrameLoadDelegate webView:didStartProvisionalLoadForFrame:]):
(-[FrameLoadDelegate webView:didCommitLoadForFrame:]):
(-[FrameLoadDelegate didClearWindowObjectInStandardWorldForFrame:]):
* DumpRenderTree/mac/LayoutTestHelper.m:
* DumpRenderTree/mac/MockGeolocationProvider.mm:
(-[MockGeolocationProvider timerFired]):
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::setMainFrameIsFirstResponder):
(TestRunner::setAutomaticLinkDetectionEnabled):
(TestRunner::setUseDashboardCompatibilityMode):
(TestRunner::isCommandEnabled):
(TestRunner::inspectorTestStubURL):
(TestRunner::apiTestNewWindowDataLoadBaseURL):
(TestRunner::abortModal):
(TestRunner::setTextDirection):
(TestRunner::addChromeInputField):
(TestRunner::removeChromeInputField):
(TestRunner::focusWebView):
(TestRunner::setBackingScaleFactor):
(TestRunner::imageCountInGeneralPasteboard const):
* DumpRenderTree/mac/UIDelegate.h:
* DumpRenderTree/mac/UIDelegate.mm:
(-[UIDelegate modalWindowWillClose:]):
(-[UIDelegate webViewRunModal:]):
(-[UIDelegate webView:supportsFullScreenForElement:withKeyboard:]):
(-[UIDelegate dealloc]):
* Scripts/check-for-inappropriate-objc-class-names:
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
* TestRunnerShared/spi/UIKitTestSPI.h:
* TestWebKitAPI/Tests/WTF/darwin/WeakLinking.cpp:
* TestWebKitAPI/Tests/WebCore/MarkedText.cpp:
(WebCore::operator<<):
* TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/cocoa/WebCoreNSURLSession.mm:
(TestWebKitAPI::WebCoreNSURLSessionTest::SetUp):
* TestWebKitAPI/Tests/WebCore/ios/PreviewLoader.cpp:
* TestWebKitAPI/Tests/WebKit/NoHistoryItemScrollToFragment.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/WKPreferences.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/AdditionalReadAccessAllowedURLs.mm:
* TestWebKitAPI/Tests/WebKitCocoa/AnimatedResize.mm:
* TestWebKitAPI/Tests/WebKitCocoa/BundleEditingDelegate.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/BundleRangeHandle.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/BundleRangeHandlePlugIn.mm:
(-[BundleRangeHandlePlugIn webProcessPlugInBrowserContextController:didFinishDocumentLoadForFrame:]):
* TestWebKitAPI/Tests/WebKitCocoa/Coding.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/CopyHTML.mm:
* TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm:
(createWebViewWithCustomPasteboardDataEnabled):
* TestWebKitAPI/Tests/WebKitCocoa/Copying.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/DataDetection.mm:
* TestWebKitAPI/Tests/WebKitCocoa/DoAfterNextPresentationUpdateAfterCrash.mm:
* TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ExitFullscreenOnEnterPiP.mm:
* TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm:
* TestWebKitAPI/Tests/WebKitCocoa/FixedLayoutSize.mm:
* TestWebKitAPI/Tests/WebKitCocoa/FontAttributes.mm:
* TestWebKitAPI/Tests/WebKitCocoa/Geolocation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/InteractionDeadlockAfterCrash.mm:
* TestWebKitAPI/Tests/WebKitCocoa/LocalStorageClear.mm:
(defaultWebsiteCacheDirectory):
(defaultApplicationCacheDirectory):
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/NSFileManagerExtras.mm:
* TestWebKitAPI/Tests/WebKitCocoa/NowPlaying.mm:
* TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
* TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm:
* TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
* TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/PasteRTFD.mm:
* TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm:
* TestWebKitAPI/Tests/WebKitCocoa/RenderedImageWithOptions.mm:
(runTestWithWidth):
* TestWebKitAPI/Tests/WebKitCocoa/RenderedImageWithOptionsPlugIn.mm:
(-[RenderedImageWithOptionsPlugIn renderImageWithWidth:completionHandler:]):
* TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ShrinkToFit.mm:
* TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm:
* TestWebKitAPI/Tests/WebKitCocoa/VisibleContentRect.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(platformCopyRichTextWithMultipleAttachments):
(platformCopyRichTextWithImage):
(platformCopyPNG):
* TestWebKitAPI/Tests/WebKitCocoa/WKContentViewEditingActions.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKContentViewTargetForAction.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKPDFViewStablePresentationUpdateCallback.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKRequestActivatedElementInfo.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-leaks.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewSnapshot.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm:
* TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
* TestWebKitAPI/Tests/WebKitLegacy/ios/SnapshotViaRenderInContext.mm:
* TestWebKitAPI/Tests/WebKitLegacy/mac/AccessingPastedImage.mm:
* TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm:
* TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
* TestWebKitAPI/Tests/ios/FocusPreservationTests.mm:
* TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
* TestWebKitAPI/Tests/ios/RenderingProgressTests.mm:
* TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm:
* TestWebKitAPI/Tests/ios/SetTimeoutFunction.mm:
* TestWebKitAPI/Tests/ios/SynchronousTimeoutTests.mm:
* TestWebKitAPI/Tests/ios/TestInputDelegate.h:
* TestWebKitAPI/Tests/ios/TestInputDelegate.mm:
* TestWebKitAPI/Tests/ios/TextAutosizingBoost.mm:
* TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
* TestWebKitAPI/Tests/ios/WKScrollViewDelegate.mm:
* TestWebKitAPI/Tests/ios/WKScrollViewTests.mm:
* TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
* TestWebKitAPI/Tests/ios/WKWebViewEditActions.mm:
* TestWebKitAPI/cocoa/DragAndDropSimulator.h:
* TestWebKitAPI/cocoa/TestNavigationDelegate.mm:
(-[WKWebView _test_waitForDidFinishNavigation]):
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
* TestWebKitAPI/config.h:
* TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
* TestWebKitAPI/ios/TestWKWebViewController.h:
* TestWebKitAPI/ios/TestWKWebViewController.mm:
* TestWebKitAPI/ios/UIKitSPI.h:
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm:
(WTR::TestRunner::inspectorTestStubURL):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::webProcessName):
(WTR::TestController::networkProcessName):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::invoke):
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
* WebKitTestRunner/cg/TestInvocationCG.cpp:
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::initializeWebViewConfiguration):
(WTR::TestController::platformCreateWebView):
(WTR::TestController::imageCountInGeneralPasteboard const):
(WTR::TestController::addTestKeyToKeychain):
(WTR::TestController::cleanUpKeychain):
(WTR::TestController::keyExistsInKeychain):
* WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237266 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months ago[WebVTT] The TextTrackLoader parameter in TextTrackLoaderClient virtual methods shoul...
pvollan@apple.com [Thu, 18 Oct 2018 21:30:27 +0000 (21:30 +0000)]
[WebVTT] The TextTrackLoader parameter in TextTrackLoaderClient virtual methods should be a reference
https://bugs.webkit.org/show_bug.cgi?id=190730

Reviewed by Chris Dumez.

No new tests. No change in behavior.

* html/track/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::newCuesAvailable):
(WebCore::LoadableTextTrack::cueLoadingCompleted):
(WebCore::LoadableTextTrack::newRegionsAvailable):
* html/track/LoadableTextTrack.h:
* loader/TextTrackLoader.cpp:
(WebCore::TextTrackLoader::cueLoadTimerFired):
(WebCore::TextTrackLoader::newRegionsParsed):
* loader/TextTrackLoader.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237265 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months agoClean up FrameLoader two-state enums
achristensen@apple.com [Thu, 18 Oct 2018 21:16:52 +0000 (21:16 +0000)]
Clean up FrameLoader two-state enums
https://bugs.webkit.org/show_bug.cgi?id=190731

Reviewed by Chris Dumez.

Source/WebCore:

This patch does three things:
1. Add an overload to EnumTraits so we do not need to list out the valid values of boolean enum classes.
The valid values are always 0 and 1.  This is used when decoding from IPC.
2. Add a 2-state enum class for NewLoadInProgress instad of a bool so we can understand the code better.
3. Begin passing LockBackForwardList to the UIProcess.  We will need it soon for PSON.

* history/CachedFrame.h:
* loader/EmptyFrameLoaderClient.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::provisionalLoadStarted):
(WebCore::FrameLoader::loadWithDocumentLoader):
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::clientRedirectCancelledOrFinished):
(WebCore::FrameLoader::clientRedirected):
(WebCore::FrameLoader::receivedMainResourceError):
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
* loader/FrameLoader.h:
* loader/FrameLoaderClient.h:
* loader/FrameLoaderTypes.h:
* loader/NavigationScheduler.cpp:
(WebCore::ScheduledNavigation::didStopTimer):
(WebCore::NavigationScheduler::cancel):
* loader/NavigationScheduler.h:
* platform/network/StoredCredentialsPolicy.h:

Source/WebKit:

* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:
* Shared/WebCoreArgumentCoders.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::willPerformClientRedirectForFrame):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchWillPerformClientRedirect):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

Source/WebKitLegacy/mac:

* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchWillPerformClientRedirect):

Source/WebKitLegacy/win:

* WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::dispatchWillPerformClientRedirect):
* WebCoreSupport/WebFrameLoaderClient.h:

Source/WTF:

* wtf/EnumTraits.h:
(WTF::isValidEnum):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237264 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months agoMake JetStream 2
sbarati@apple.com [Thu, 18 Oct 2018 21:11:41 +0000 (21:11 +0000)]
Make JetStream 2
https://bugs.webkit.org/show_bug.cgi?id=187829

Rubber-stamped by Mark Lam.

This patch checks in the new JetStream 2 benchmark. JetStream 2 is
a new JavaScript and Web Assembly benchmark. JetStream 2's goal
is to measure the startup, worst case, and peak throughput performance
of the JavaScript engine. JetStream 2 incorporates these previous
benchmarks:
- JetStream
- ARES-6
- Kraken
- Web Tooling Benchmark
- WasmBench
- RexBench

JetStream 2 also adds some new benchmarks:
- Two tests emphasizing web worker performance.
- One test emphasizing Promise, async iteration, and DataView performance.
- Two new code load tests.
- WSL: a test measuring all kinds of things, especially emphasizing exception performance.

* JetStream2: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237263 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months ago[GTK] fast/css/pseudo-visited-background-color-on-input.html is failing since r237425
wenson_hsieh@apple.com [Thu, 18 Oct 2018 20:02:49 +0000 (20:02 +0000)]
[GTK] fast/css/pseudo-visited-background-color-on-input.html is failing since r237425
https://bugs.webkit.org/show_bug.cgi?id=190712

Reviewed by Tim Horton.

Ensure that color inputs are enabled by default on GTK, and that color inputs have a `-webkit-appearance` of
`color-well` by default. Fixes fast/css/pseudo-visited-background-color-on-input.html on GTK.

* page/RuntimeEnabledFeatures.cpp:
(WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::colorInputStyleSheet const):
* rendering/RenderTheme.h:
(WebCore::RenderTheme::platformUsesColorWellAppearance const):
(WebCore::RenderTheme::platformColorInputStyleSheet const): Deleted.

Replace this with a platform hook that determines whether we want to use `-webkit-appearance: color-well;` by
default for inputs of type color. For now, only iOS overrides this to return false; in the future, we should
support `-webkit-appearance: color-well;` on iOS, and remove this platform hook entirely.

* rendering/RenderThemeIOS.h:
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::platformColorInputStyleSheet const): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237262 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months agoHandle MDNS resolution of candidates through libwebrtc directly
youenn@apple.com [Thu, 18 Oct 2018 18:15:19 +0000 (18:15 +0000)]
Handle MDNS resolution of candidates through libwebrtc directly
https://bugs.webkit.org/show_bug.cgi?id=190681

Reviewed by Eric Carlson.

Source/ThirdParty/libwebrtc:

* Configurations/libwebrtc.iOS.exp:
* Configurations/libwebrtc.iOSsim.exp:
* Configurations/libwebrtc.mac.exp:

Source/WebCore:

Remove the previous MDNS resolution mechanism.
Instead, add support for the AsyncResolver mechanism added to libwebrtc.
Covered by current mdns webrtc test that is unflaked.

* Modules/mediastream/PeerConnectionBackend.cpp:
(WebCore::PeerConnectionBackend::addIceCandidate):
* platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
(WebCore::LibWebRTCProvider::createPeerConnection):
* platform/mediastream/libwebrtc/LibWebRTCProvider.h:
* testing/MockLibWebRTCPeerConnection.cpp:
(WebCore::MockLibWebRTCPeerConnectionFactory::CreatePeerConnection):
* testing/MockLibWebRTCPeerConnection.h:

Source/WebKit:

Add support for AsyncResolver to resolve MDNS.
This basically reuse the code path used to resolve STUN server addresses.
Removed MDNS specific resolution.
Use existing CFHost resolution mechanism to do the actual resolution.

* NetworkProcess/webrtc/NetworkMDNSRegister.cpp:
(WebKit::NetworkMDNSRegister::registerMDNSName):
* NetworkProcess/webrtc/NetworkMDNSRegister.messages.in:
* WebProcess/Network/webrtc/LibWebRTCProvider.cpp:
(WebKit::LibWebRTCProvider::createPeerConnection):
* WebProcess/Network/webrtc/LibWebRTCProvider.h:
* WebProcess/Network/webrtc/LibWebRTCSocketFactory.h:
* WebProcess/Network/webrtc/WebMDNSRegister.cpp:
* WebProcess/Network/webrtc/WebMDNSRegister.h:
* WebProcess/Network/webrtc/WebMDNSRegister.messages.in:

LayoutTests:

* TestExpectations:
Test should no longer be flaky as we no longer enforce a timer for resolving MDNS candidates.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237261 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months agoUnreviewed, rolling out r237137.
achristensen@apple.com [Thu, 18 Oct 2018 17:33:53 +0000 (17:33 +0000)]
Unreviewed, rolling out r237137.

SPI is actually used

Reverted changeset:

"Remove unused WebFrame._loadType"
https://bugs.webkit.org/show_bug.cgi?id=190583
https://trac.webkit.org/changeset/237137

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237260 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months agodelete expression should not throw without a reference
ross.kirsling@sony.com [Thu, 18 Oct 2018 17:31:21 +0000 (17:31 +0000)]
delete expression should not throw without a reference
https://bugs.webkit.org/show_bug.cgi?id=190637

Reviewed by Yusuke Suzuki.

Source/JavaScriptCore:

* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseUnaryExpression):
Eliminate non-spec-compliant switch case.

LayoutTests:

* js/basic-strict-mode-expected.txt:
* js/script-tests/basic-strict-mode.js:
Update test cases.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237259 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months ago[GTK] fast/selectors/read-only-read-write-input-basics.html failing since r237245
wenson_hsieh@apple.com [Thu, 18 Oct 2018 17:11:57 +0000 (17:11 +0000)]
[GTK] fast/selectors/read-only-read-write-input-basics.html failing since r237245
https://bugs.webkit.org/show_bug.cgi?id=190711

Unreviewed test gardening.

Adjust layout test baselines after r237245. Make fast/selectors/read-only-read-write-input-basics-expected.txt
contain PASS expectations for color inputs, and remove port-specific iOS/macOS WebKit2 expectations. Since color
inputs are disabled in legacy WebKit, move the layout test expectation in platform/mac to platform/mac-wk1.

* fast/selectors/read-only-read-write-input-basics-expected.txt:
* platform/ios-wk2/fast/selectors/read-only-read-write-input-basics-expected.txt: Removed.
* platform/mac-wk2/fast/selectors/read-only-read-write-input-basics-expected.txt: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237258 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months ago[PSON] Cap number of SuspendedPageProxy objects and allow a WebPageProxy to have...
cdumez@apple.com [Thu, 18 Oct 2018 15:33:54 +0000 (15:33 +0000)]
[PSON] Cap number of SuspendedPageProxy objects and allow a WebPageProxy to have more than one
https://bugs.webkit.org/show_bug.cgi?id=190688
<rdar://problem/45354095>

Reviewed by Antti Koivisto.

Source/WebKit:

Cap number of SuspendedPageProxy objects to 3 to avoid accumulating too many "suspended" processes.

Also allow a WebPageProxy to have more than one SuspendedPageProxy so that PageCache now works for
more than 1 history navigation (up to 3 with the suspended page limit in this patch).

The following cleanup / refactoring was made to support this:
- The SuspendedPageProxy objects are now owned by the WebProcessPool instead of the WebPageProxy.
  The WebProcessPool is in charge of limiting the number of SuspendedPageProxy objects by dropping
  the oldest one whenever a WebPageProxy tries to add a new one and we've already reached the limit.
- WebProcessProxy no longer needs to know anything about suspended pages, which simplifies the
  code quite a bit. Instead, the SuspendedPageProxy objects now register themselves as
  IPC::MessageReceivers with their WebProcessProxy. The SuspendedPageProxy also take care of
  calling maybeShutdown() on their WebProcessProxy when they get destroyed.

* UIProcess/SuspendedPageProxy.cpp:
(WebKit::SuspendedPageProxy::~SuspendedPageProxy):
(WebKit::SuspendedPageProxy::tearDownDrawingAreaInWebProcess):
(WebKit::SuspendedPageProxy::unsuspend):
(WebKit::SuspendedPageProxy::didFinishLoad):
(WebKit::SuspendedPageProxy::didReceiveSyncMessage):
* UIProcess/SuspendedPageProxy.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::suspendCurrentPageIfPossible):
(WebKit::WebPageProxy::swapToWebProcess):
(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::continueNavigationInNewProcess):
(WebKit::WebPageProxy::didCompletePageTransition):
(WebKit::WebPageProxy::enterAcceleratedCompositingMode):
* UIProcess/WebPageProxy.h:
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::disconnectProcess):
(WebKit::WebProcessPool::processForNavigationInternal):
(WebKit::WebProcessPool::addSuspendedPageProxy):
(WebKit::WebProcessPool::removeAllSuspendedPageProxiesForPage):
(WebKit::WebProcessPool::takeSuspendedPageProxy):
(WebKit::WebProcessPool::hasSuspendedPageProxyFor):
* UIProcess/WebProcessPool.h:
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didReceiveMessage):
(WebKit::WebProcessProxy::processDidTerminateOrFailedToLaunch):
(WebKit::WebProcessProxy::canTerminateChildProcess):
(WebKit::WebProcessProxy::requestTermination):
* UIProcess/WebProcessProxy.h:

Tools:

Extended API test coverage to confirm that:
- We do not accumulate more than 3 suspended processes.
- We can navigate back 3 times and use the page cache for each of these loads.

* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237257 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months agoUnreviewed GTK+ gardening after r237249.
magomez@igalia.com [Thu, 18 Oct 2018 15:19:10 +0000 (15:19 +0000)]
Unreviewed GTK+ gardening after r237249.

* platform/gtk/TestExpectations:
* platform/gtk/fast/forms/fieldset/fieldset-elements-htmlcollection-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237256 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months ago[IntersectionObserver] Factor out rect mapping and clipping logic from computeRectFor...
ajuma@chromium.org [Thu, 18 Oct 2018 13:50:55 +0000 (13:50 +0000)]
[IntersectionObserver] Factor out rect mapping and clipping logic from computeRectForRepaint
https://bugs.webkit.org/show_bug.cgi?id=189833

Reviewed by Simon Fraser.

Factor out the rect mapping and clipping logic from computeRectForRepaint to a new
computeVisibleRectInContainer method that computeRectForRepaint now calls. Make
computeVisibleRectInContainer take a VisibleRectContext with options to use
edge-inclusive intersection and to apply all clips and scrolls rather than only
the clips and scrolls that are currently applied by the repaint logic. These
options will be used by IntersectionObserver in a future patch.

No new tests, no change in behavior.

* platform/graphics/FloatRect.cpp:
(WebCore::FloatRect::edgeInclusiveIntersect):
* platform/graphics/FloatRect.h:
* platform/graphics/LayoutRect.cpp:
(WebCore::LayoutRect::edgeInclusiveIntersect):
* platform/graphics/LayoutRect.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::applyCachedClipAndScrollPosition const):
(WebCore::RenderBox::computeVisibleRectUsingPaintOffset const):
(WebCore::RenderBox::computeVisibleRectInContainer const):
(WebCore::RenderBox::applyCachedClipAndScrollPositionForRepaint const): Deleted.
(WebCore::RenderBox::shouldApplyClipAndScrollPositionForRepaint const): Deleted.
The iOS-specific logic in this method has moved to RenderObject::shouldApplyCompositedContainerScrollsForRepaint.
(WebCore::RenderBox::computeRectForRepaint const): Deleted.
* rendering/RenderBox.h:
(WebCore::RenderBox::computeRectForRepaint): Deleted.
* rendering/RenderInline.cpp:
(WebCore::RenderInline::clippedOverflowRectForRepaint const):
(WebCore::RenderInline::computeVisibleRectUsingPaintOffset const):
(WebCore::RenderInline::computeVisibleRectInContainer const):
(WebCore::RenderInline::computeRectForRepaint const): Deleted.
* rendering/RenderInline.h:
(WebCore::RenderInline::computeRectForRepaint): Deleted.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::shouldApplyCompositedContainerScrollsForRepaint):
(WebCore::RenderObject::visibleRectContextForRepaint):
(WebCore::RenderObject::computeRectForRepaint const):
(WebCore::RenderObject::computeFloatRectForRepaint const):
(WebCore::RenderObject::computeVisibleRectInContainer const):
(WebCore::RenderObject::computeFloatVisibleRectInContainer const):
* rendering/RenderObject.h:
(WebCore::RenderObject::computeAbsoluteRepaintRect const):
(WebCore::RenderObject::VisibleRectContext::VisibleRectContext):
(WebCore::RenderObject::RepaintContext::RepaintContext): Deleted.
(WebCore::RenderObject::computeRectForRepaint): Deleted.
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::computeVisibleRectInContainer const):
(WebCore::RenderTableCell::computeRectForRepaint const): Deleted.
* rendering/RenderTableCell.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::computeVisibleRectInContainer const):
(WebCore::RenderView::computeRectForRepaint const): Deleted.
* rendering/RenderView.h:
* rendering/svg/RenderSVGForeignObject.cpp:
(WebCore::RenderSVGForeignObject::computeFloatVisibleRectInContainer const):
(WebCore::RenderSVGForeignObject::computeVisibleRectInContainer const):
(WebCore::RenderSVGForeignObject::computeFloatRectForRepaint const): Deleted.
(WebCore::RenderSVGForeignObject::computeRectForRepaint const): Deleted.
* rendering/svg/RenderSVGForeignObject.h:
* rendering/svg/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::computeFloatVisibleRectInContainer const):
(WebCore::RenderSVGInline::computeFloatRectForRepaint const): Deleted.
* rendering/svg/RenderSVGInline.h:
* rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::computeFloatVisibleRectInContainer const):
(WebCore::RenderSVGModelObject::computeFloatRectForRepaint const): Deleted.
* rendering/svg/RenderSVGModelObject.h:
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::computeFloatVisibleRectInContainer const):
(WebCore::RenderSVGRoot::computeFloatRectForRepaint const): Deleted.
* rendering/svg/RenderSVGRoot.h:
* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::computeVisibleRectInContainer const):
(WebCore::RenderSVGText::computeFloatVisibleRectInContainer const):
(WebCore::RenderSVGText::computeRectForRepaint const): Deleted.
(WebCore::RenderSVGText::computeFloatRectForRepaint const): Deleted.
* rendering/svg/RenderSVGText.h:
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::clippedOverflowRectForRepaint):
(WebCore::SVGRenderSupport::computeFloatVisibleRectInContainer):
(WebCore::SVGRenderSupport::computeFloatRectForRepaint): Deleted.
* rendering/svg/SVGRenderSupport.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237255 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months ago[JSC] JSC should have "parseFunction" to optimize Function constructor
yusukesuzuki@slowstart.org [Thu, 18 Oct 2018 13:04:22 +0000 (13:04 +0000)]
[JSC] JSC should have "parseFunction" to optimize Function constructor
https://bugs.webkit.org/show_bug.cgi?id=190340

Reviewed by Mark Lam.

JSTests:

This patch fixes the line number of syntax errors raised by the Function constructor,
since we now parse the final code only once. And we no longer use block statement
for Function constructor's parsing.

* ChakraCore/test/Function/FuncBodyES5.baseline-jsc:
* stress/function-cache-with-parameters-end-position.js: Added.
(shouldBe):
(shouldThrow):
(i.anonymous):
* stress/function-constructor-name.js: Added.
(shouldBe):
(GeneratorFunction):
(AsyncFunction.async):
(AsyncGeneratorFunction.async):
(anonymous):
(async.anonymous):
* test262/expectations.yaml:

LayoutTests/imported/w3c:

* web-platform-tests/html/webappapis/scripting/events/inline-event-handler-ordering-expected.txt:
* web-platform-tests/html/webappapis/scripting/events/invalid-uncompiled-raw-handler-compiled-late-expected.txt:
* web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-attribute-expected.txt:
* web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-body-onerror-expected.txt:

Source/JavaScriptCore:

The current Function constructor is suboptimal. We parse the piece of the same code three times to meet
the spec requirement. (1) check parameters syntax, (2) check body syntax, and (3) parse the entire function.
And to parse 1-3 correctly, we create two strings, the parameters and the entire function. This operation
is really costly and ideally we should meet the above requirement by the one time parsing.

To meet the above requirement, we add a special function for Parser, parseSingleFunction. This function
takes `std::optional<int> functionConstructorParametersEndPosition` and check this end position is correct in the parser.
For example, if we run the code,

    Function('/*', '*/){')

According to the spec, this should produce '/*' parameter string and '*/){' body string. And parameter
string should be syntax-checked by the parser, and raise the error since it is incorrect. Instead of doing
that, in our implementation, we first create the entire string.

    function anonymous(/*) {
        */){
    }

And we parse it. At that time, we also pass the end position of the parameters to the parser. In the above case,
the position of the `function anonymous(/*)' <> is passed. And in the parser, we check that the last token
offset of the parameters is the given end position. This check allows us to raise the error correctly to the
above example while we parse the entire function only once. And we do not need to create two strings too.

This improves the performance of the Function constructor significantly. And web-tooling-benchmark/uglify-js is
significantly sped up (28.2%).

Before:
    uglify-js:  2.94 runs/s
After:
    uglify-js:  3.77 runs/s

* bytecode/UnlinkedFunctionExecutable.cpp:
(JSC::UnlinkedFunctionExecutable::fromGlobalCode):
* bytecode/UnlinkedFunctionExecutable.h:
* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseInner):
(JSC::Parser<LexerType>::parseSingleFunction):
(JSC::Parser<LexerType>::parseFunctionInfo):
(JSC::Parser<LexerType>::parseFunctionDeclaration):
(JSC::Parser<LexerType>::parseAsyncFunctionDeclaration):
* parser/Parser.h:
(JSC::Parser<LexerType>::parse):
(JSC::parse):
(JSC::parseFunctionForFunctionConstructor):
* parser/ParserModes.h:
* parser/ParserTokens.h:
(JSC::JSTextPosition::JSTextPosition):
(JSC::JSTokenLocation::JSTokenLocation): Deleted.
* parser/SourceCodeKey.h:
(JSC::SourceCodeKey::SourceCodeKey):
(JSC::SourceCodeKey::operator== const):
* runtime/CodeCache.cpp:
(JSC::CodeCache::getUnlinkedGlobalCodeBlock):
(JSC::CodeCache::getUnlinkedGlobalFunctionExecutable):
* runtime/CodeCache.h:
* runtime/FunctionConstructor.cpp:
(JSC::constructFunctionSkippingEvalEnabledCheck):
* runtime/FunctionExecutable.cpp:
(JSC::FunctionExecutable::fromGlobalCode):
* runtime/FunctionExecutable.h:

LayoutTests:

* fast/dom/attribute-event-listener-errors-expected.txt:
* fast/events/attribute-listener-deletion-crash-expected.txt:
* fast/events/window-onerror-syntax-error-in-attr-expected.txt:
* js/dom/invalid-syntax-for-function-expected.txt:
* js/dom/script-start-end-locations-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237254 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months agoUnreviewed, rolling out r237242.
commit-queue@webkit.org [Thu, 18 Oct 2018 11:22:51 +0000 (11:22 +0000)]
Unreviewed, rolling out r237242.
https://bugs.webkit.org/show_bug.cgi?id=190701

it breaks "stress/sampling-profiler-basic.js" (Requested by
caiolima on #webkit).

Reverted changeset:

"[BigInt] Add ValueSub into DFG"
https://bugs.webkit.org/show_bug.cgi?id=186176
https://trac.webkit.org/changeset/237242

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237253 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months agoMissing #pragma once in WasmOpcodeOrigin.h
commit-queue@webkit.org [Thu, 18 Oct 2018 08:25:00 +0000 (08:25 +0000)]
Missing #pragma once in WasmOpcodeOrigin.h
https://bugs.webkit.org/show_bug.cgi?id=190699

Patch by Takafumi Kubota <takafumi.kubota1012@sslab.ics.keio.ac.jp> on 2018-10-18
Reviewed by Yusuke Suzuki.

This patch add ''#pragma once'' into WasmOpcodeOrigin.h to avoid the
multiple inclusion that can happen in the unified build
configuration.

* wasm/WasmOpcodeOrigin.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237249 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months agoEnable the datalist element by default on iOS and macOS
wenson_hsieh@apple.com [Thu, 18 Oct 2018 03:48:10 +0000 (03:48 +0000)]
Enable the datalist element by default on iOS and macOS
https://bugs.webkit.org/show_bug.cgi?id=190594
<rdar://problem/45281159>

Reviewed by Ryosuke Niwa and Tim Horton.

LayoutTests/imported/w3c:

Rebaseline some web platform tests.

* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt:
* web-platform-tests/html/semantics/forms/the-datalist-element/datalistoptions-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/hidden-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/text-expected.txt:
* web-platform-tests/shadow-dom/input-element-list-expected.txt:

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Rebaselined existing layout tests.

* Configurations/FeatureDefines.xcconfig:
* bindings/js/WebCoreBuiltinNames.h:
* css/CSSDefaultStyleSheets.cpp:
(WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
* css/CSSDefaultStyleSheets.h:
* css/InspectorCSSOMWrappers.cpp:
(WebCore::InspectorCSSOMWrappers::collectDocumentWrappers):
* css/html.css:

Remove color input and datalist style rules from the default UA stylesheet.

(input[type="color"]::-webkit-color-swatch-wrapper): Deleted.
* html/HTMLDataListElement.idl:

Make HTMLDataListElement runtime-enabled.

* html/HTMLTagNames.in:
* html/RangeInputType.cpp:

Make a slight adjustment here so that inputs of type range respect the list attribute. Fixes a few layout tests
that add a datalist to an input of type range. See <https://bugs.webkit.org/show_bug.cgi?id=190613> for more
details.

(WebCore::RangeInputType::shouldRespectListAttribute):
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::shouldRespectListAttribute):
* page/RuntimeEnabledFeatures.h:

Add a runtime-enabled feature for the datalist element. Additionally, make the runtime-enabled feature for input
type color false by default, so that it's off in WebKitLegacy.

(WebCore::RuntimeEnabledFeatures::dataListElementEnabled const):
(WebCore::RuntimeEnabledFeatures::setDataListElementEnabled):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::colorInputStyleSheet const):

Add new style-sheet hooks for datalist and input type color, so that style rules for color inputs and datalists
can be added at runtime only if the feature is enabled. This ensures that in WebKitLegacy (or other ports where
either or both elements are disabled), we don't still apply rules for datalist and input[type="color"]. Notably,
this allows fallback content inside datalist elements to still work in WebKitLegacy (which would otherwise be
hidden when using the default stylesheet since `display: none` is applied to datalist by default). This also
prevents inputs of type color from having a smaller size, no outline, and the appearance of a color well on
macOS.

(WebCore::RenderTheme::dataListStyleSheet const):
* rendering/RenderTheme.h:
(WebCore::RenderTheme::platformColorInputStyleSheet const):
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::platformColorInputStyleSheet const):

Source/WebCore/PAL:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit:

* Configurations/FeatureDefines.xcconfig:
* Platform/spi/ios/UIKitSPI.h:

Add SPI to UITextSuggestion.

* Shared/WebPreferences.yaml:
* Shared/WebPreferencesDefaultValues.h:
* UIProcess/mac/WebDataListSuggestionsDropdownMac.mm:
(-[WKDataListSuggestionCell setText:]):
(-[WKDataListSuggestionTable initWithElementRect:]):

Fix the 32-bit macOS build with ENABLE(DATALIST_ELEMENT).

Source/WebKitLegacy/mac:

* Configurations/FeatureDefines.xcconfig:

Tools:

* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

LayoutTests:

* TestExpectations:

Mark a couple of datalist tests as failures, with corresponding Bugzilla links.

* fast/forms/datalist/datalist-fallback-content-expected.html:
* fast/forms/datalist/datalist-fallback-content.html:

Refactor this ref test. This was checking that a text input field with an associated datalist with fallback
content looks identical to an text input field without a datalist, but this simply isn't the case with our
current implementation due to the presence of the list button. Instead, add a div to cover the list button in
both cases, and further augment this test to check that inputs of type color behave the same.

* fast/forms/datalist/range-snap-to-datalist-expected.txt: Added.

Add missing expectations for this test that were never checked in. Since sliderTickSnappingThreshold simply
returns 0, this test behaves as expected, though behavior here may change when we add a make the "snapping
threshold" nonzero.

* fast/forms/datalist/validity-assertion-inserting-into-datalist-expected.txt: Renamed from LayoutTests/fast/forms/validity-assertion-inserting-into-datalist-expected.txt.
* fast/forms/datalist/validity-assertion-inserting-into-datalist.html: Renamed from LayoutTests/fast/forms/validity-assertion-inserting-into-datalist.html.
* fast/selectors/read-only-read-write-input-basics-expected.txt:
* platform/mac/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt:
* platform/ios-simulator/fast/forms/datalist/datalist-searchinput-appearance-expected.txt: Added.
* platform/ios-simulator/fast/forms/datalist/datalist-textinput-appearance-expected.txt: Added.

Add missing expectations.

* platform/ios-wk1/TestExpectations:

Don't run datalist tests in WebKitLegacy by marking them as [ WontFix ].

* platform/ios-wk2/accessibility/roles-exposed-expected.txt: Added.
* platform/ios-wk2/fast/borders/empty-outline-border-assert-expected.txt: Added.
* platform/ios-wk2/fast/dom/Window/window-lookup-precedence-expected.txt: Added.
* platform/ios-wk2/fast/forms/label/labelable-elements-expected.txt: Added.
* platform/ios-wk2/fast/forms/label/readwrite-readonly-expected.txt: Copied from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt.
* platform/ios-wk2/fast/selectors/read-only-read-write-input-basics-expected.txt: Copied from LayoutTests/fast/selectors/read-only-read-write-input-basics-expected.txt.
* platform/ios-wk2/imported/w3c/web-platform-tests/custom-elements/builtin-coverage-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/dom/nodes/Node-cloneNode-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-xhtml-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt: Copied from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt.
* platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt.
* platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt:
* platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt: Copied from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt.
* platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt:
* platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt: Copied from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt.
* platform/ios-wk2/imported/w3c/web-platform-tests/shadow-dom/input-element-list-expected.txt: Added.
* platform/ios-wk2/mathml/presentation/foreign-element-in-token-expected.txt: Added.

Add baselines for WebKit2, where we enable the datalist element and color inputs.

* platform/ios/TestExpectations:
* platform/mac-wk1/TestExpectations:

Don't run datalist tests in WebKitLegacy by marking them as [ WontFix ].

* platform/mac-wk2/accessibility/roles-exposed-expected.txt: Copied from LayoutTests/platform/mac/accessibility/roles-exposed-expected.txt.
* platform/mac-wk2/fast/borders/empty-outline-border-assert-expected.txt: Added.
* platform/mac-wk2/fast/dom/Window/window-lookup-precedence-expected.txt: Added.
* platform/mac-wk2/fast/forms/label/labelable-elements-expected.txt: Added.
* platform/mac-wk2/fast/forms/label/readwrite-readonly-expected.txt: Copied from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt.
* platform/mac-wk2/fast/selectors/read-only-read-write-input-basics-expected.txt: Copied from LayoutTests/fast/selectors/read-only-read-write-input-basics-expected.txt.
* platform/mac-wk2/imported/w3c/web-platform-tests/custom-elements/builtin-coverage-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/dom/nodes/Node-cloneNode-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-xhtml-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt: Renamed from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt.
* platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt: Renamed from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt.
* platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt: Copied from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt.
* platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt: Renamed from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt.
* platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt: Copied from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt.
* platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/valueMode-expected.txt: Copied from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/valueMode-expected.txt.
* platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt: Copied from LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt.
* platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt: Copied from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt.
* platform/mac-wk2/imported/w3c/web-platform-tests/shadow-dom/input-element-list-expected.txt: Added.
* platform/mac-wk2/mathml/presentation/foreign-element-in-token-expected.txt: Added.

Add baselines for WebKit2, where we enable the datalist element and color inputs.

* platform/mac/TestExpectations:
* platform/mac/accessibility/roles-exposed-expected.txt:
* platform/mac/fast/selectors/read-only-read-write-input-basics-expected.txt:
* platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt:
* platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt:
* platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/valueMode-expected.txt:
* platform/mac/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt:

Re-rebaseline test expectations that involve input type color, now that color inputs are off by default in WebKitLegacy.

* platform/win/TestExpectations:

Remove various datalist test skips and failures on macOS and iOS; ensure that the test failures that are still
present are tracked with links to Bugzilla.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237245 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months agoJSTests:
keith_miller@apple.com [Thu, 18 Oct 2018 03:18:08 +0000 (03:18 +0000)]
JSTests:
AI does not clear Phantom allocation nodes.
https://bugs.webkit.org/show_bug.cgi?id=190694

Reviewed by Saam Barati.

* stress/ftl-ai-filter-phantoms-should-clear-clear-value.js: Added.
(Day):
(DaysInYear):
(TimeInYear):
(TimeFromYear):
(DayFromYear):
(InLeapYear):
(YearFromTime):
(WeekDay):
(DaylightSavingTA):
(GetSecondSundayInMarch):
(TimeInMonth):

Source/JavaScriptCore:
[BigInt] Add ValueSub into DFG
https://bugs.webkit.org/show_bug.cgi?id=186176

Patch by Caio Lima <ticaiolima@gmail.com> on 2018-10-17
Reviewed by Yusuke Suzuki.

We are introducing in this patch a new node called ValueSub. This node
is necessary due to introduction of BigInt, making subtraction
operations result in non-Number values in some cases. In such case, ValueSub is
responsible to handle Untyped and BigInt operations.
In addition, we are also creating a speculative path when both
operands are BigInt. According to a simple BigInt subtraction microbenchmark,
this represents a speedup of ~1.2x faster.

big-int-simple-sub    14.6427+-0.5652    ^    11.9559+-0.6485   ^   definitely 1.2247x faster

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::addSpeculationMode):
* dfg/DFGNodeType.h:
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGPredictionPropagationPhase.cpp:
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileValueSub):
(JSC::DFG::SpeculativeJIT::compileArithSub):
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGValidate.cpp:
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileValueAdd):
(JSC::FTL::DFG::LowerDFGToB3::compileValueSub):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237244 268f45cc-cd09-0410-ab3c-d52691b4dbfc