Timeline



Mar 26, 2019:

6:05 PM Changeset in webkit [243532] by Said Abou-Hallawa
  • 2 edits in trunk/Source/WebCore

Unreviewed Windows build fix
https://bugs.webkit.org/show_bug.cgi?id=196083
<rdar://problem/49121836>

  • svg/SVGAnimatorFactory.h:

(WebCore::SVGAnimatorFactory::isSupportedAttributeType):

5:55 PM Changeset in webkit [243531] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[macOS] Correct kerberos-related sandbox violations
https://bugs.webkit.org/show_bug.cgi?id=196279
<rdar://problem/48622502>

Reviewed by Per Arne Vollan.

We need to allow communications with a Kerberos-related service on macOS
until <rdar://problem/35542803> is fixed.

  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
5:08 PM Changeset in webkit [243530] by sbarati@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

FTL: Emit code to validate AI's state when running the compiled code
https://bugs.webkit.org/show_bug.cgi?id=195924
<rdar://problem/49003422>

Reviewed by Filip Pizlo.

This patch adds code that between the execution of each node that validates
the types that AI proves. This option is too expensive to turn on for our
regression testing, but we think it will be valuable in other types of running
modes, such as when running with a fuzzer.

This patch also adds options to only probabilistically run this validation
after the execution of each node. As the probability is lowered, there is
less of a perf hit.

This patch just adds this validation in the FTL. A follow-up patch will land
it in the DFG too: https://bugs.webkit.org/show_bug.cgi?id=196219

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::LowerDFGToB3):
(JSC::FTL::DFG::LowerDFGToB3::compileBlock):
(JSC::FTL::DFG::LowerDFGToB3::validateAIState):
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::lowJSValue):

  • runtime/Options.h:
5:02 PM Changeset in webkit [243529] by dinfuehr@igalia.com
  • 2 edits in trunk/JSTests

Skip WebAssembly test on 32-bit systems
https://bugs.webkit.org/show_bug.cgi?id=196206

Reviewed by Saam Barati.

Invoking runDefault executes test immediately even though
that test should be skipped due to missing WASM support.
Therefore remove runDefault.

  • wasm/regress/web-assembly-link-error-exception-check.js:
4:54 PM Changeset in webkit [243528] by Chris Dumez
  • 5 edits in trunk/Source/WebKit

[macOS] The network process is not exiting reliably when the WebProcessPool is destroyed
https://bugs.webkit.org/show_bug.cgi?id=196277
<rdar://problem/49127581>

Reviewed by Alex Christensen.

When, an AuxiliaryProcess receives the AuxiliaryProcess::Terminate IPC, it calls stopRunLoop()
to exit. WebProcess overrides AuxiliaryProcess::stopRunLoop() to call exit(0) on the main
thread. Other auxiliary processes such as the NetworkProcess would end up calling
platformStopRunLoop(). On iOS and iOSMac, platformStopRunLoop() calls XPCServiceExit(), which
makes sense since auxiliary processes run their run loop by calling xpc_main(). However, on
macOS, platformStopRunLoop() was calling RunLoop::main().stop() to exit instead, which was
unreliable as demonstrated by the test app attached to the radar.

Updating platformStopRunLoop() to call XPCServiceExit() on macOS fixes the problem and I now
see the NetworkProcess exiting reliably there. This is the approach I have chosen in this
patch since it appears to be reliable and it makes the code consistent on all Cocoa platforms.

  • Shared/AuxiliaryProcess.cpp:
  • Shared/Cocoa/AuxiliaryProcessCocoa.mm:

(WebKit::AuxiliaryProcess::platformStopRunLoop):

  • Shared/ios/AuxiliaryProcessIOS.mm:

(WebKit::AuxiliaryProcess::platformStopRunLoop): Deleted.

  • Shared/mac/AuxiliaryProcessMac.mm:

(WebKit::AuxiliaryProcess::platformStopRunLoop): Deleted.

4:51 PM Changeset in webkit [243527] by Keith Rollin
  • 2 edits in trunk/Tools

Update the way generate-xcfilelists returns strings from functions
https://bugs.webkit.org/show_bug.cgi?id=195975
<rdar://problem/49040807>

Reviewed by Dean Jackson.

There are places where generate-xcfilelists executes assignments with
statements like:

FOO=$(some_function)

where "some_function" return a string by echoing it. E.g.

some_function()
{

echo "Hello, World"

}

This is a common idiom, but it has a problem if "some_function" needs
to call "exit" in an attempt to halt the entire script right then and
there. Since "some_function" is called inside of $(), it's being
executed in a sub-shell. Calling exit in that sub-shell simply exits
that shell; it doesn't not exit the outer shell in which the main part
of the script is still running. As such, the main script keeps
executing when the intent was for the script to halt.

The solution to this is to use a different idiom for returning
strings. The one we now is to pass in the name of the variable to
receive the string result:

some_function()
{

variable_name=$1
eval $variable_name ="Hello, World"

}

The call site now looks like

some_function FOO

Because there's no invocation of a sub-shell, some_function can now
call "exit" if it wants to, and the entire script will exit at that
point.

  • Scripts/generate-xcfilelists:
4:50 PM Changeset in webkit [243526] by Jon Davis
  • 3 edits
    2 adds in trunk/Websites/browserbench.org

Update BrowserBench for JetStream2.
https://bugs.webkit.org/show_bug.cgi?id=196273

Reviewed by Saam Barati.

(.benchmark:hover img): Improved hover effect for the JetStream2 logo.

4:41 PM Changeset in webkit [243525] by Wenson Hsieh
  • 4 edits in trunk/Source/WebCore

[Cocoa] Refactor some helper functions for building UserAgent strings
https://bugs.webkit.org/show_bug.cgi?id=195990

Reviewed by Brent Fulgham.

Add an optional argument to standardUserAgentWithApplicationName to request the desktop version of the user
agent in Cocoa platforms. Work towards refactoring some codepaths to make the implementation of the "Request
Desktop Site" feature in Safari a bit more straightforward.

No change in behavior.

  • platform/UserAgent.h:
  • platform/ios/UserAgentIOS.mm:

(WebCore::standardUserAgentWithApplicationName):

The corresponding macOS version is currently hard-coded — the followup bug webkit.org/b/196275 tracks making
this dynamically fetch the paired macOS version when building for iOS.

  • platform/mac/UserAgentMac.mm:

(WebCore::standardUserAgentWithApplicationName):

4:29 PM Changeset in webkit [243524] by Keith Rollin
  • 4 edits in trunk/Source

Inhibit CFNetwork logging in private sessions
https://bugs.webkit.org/show_bug.cgi?id=196268
<rdar://problem/48210793>

Reviewed by Alex Christensen.

Before performing any logging, the NetworkProcess checks to see if
it's performing an operation associated with a private (ephemeral)
browsing session. If so, it skips the logging. However, networking
layers below the NetworkProcess don't know about private browsing, so
they would still perform their own logging. CFNetwork now has a flag
that lets us control that, so set it to False if private browsing.

Source/WebKit:

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::configurationForSessionID):

Source/WTF:

  • wtf/Platform.h:
4:24 PM Changeset in webkit [243523] by Chris Dumez
  • 17 edits
    2 adds in trunk

Add basic layout test coverage for File Picker on iOS
https://bugs.webkit.org/show_bug.cgi?id=196265

Reviewed by Wenson Hsieh.

Source/WebKit:

Add layout test infrastructure to test the file picker on iOS.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _dismissFilePicker]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView dismissFilePicker]):
(-[WKContentView _contentsOfUserInterfaceItem:]):

  • UIProcess/ios/forms/WKFileUploadPanel.h:
  • UIProcess/ios/forms/WKFileUploadPanel.mm:

(-[WKFileUploadPanel currentAvailableActionTitles]):

Tools:

Add layout test infrastructure to test the file picker on iOS.

  • DumpRenderTree/ios/UIScriptControllerIOS.mm:

(WTR::UIScriptController::dismissFilePicker):

  • TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
  • TestRunnerShared/UIScriptContext/UIScriptController.cpp:

(WTR::UIScriptController::dismissFilePicker):

  • TestRunnerShared/UIScriptContext/UIScriptController.h:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::createWebViewWithOptions):
(WTR::updateTestOptionsFromTestHeader):

  • WebKitTestRunner/TestOptions.h:

(WTR::TestOptions::hasSameInitializationOptions const):

  • WebKitTestRunner/ios/TestControllerIOS.mm:

(overridePresentViewController):
(WTR::TestController::platformInitialize):

  • WebKitTestRunner/ios/UIScriptControllerIOS.mm:

(WTR::UIScriptController::dismissFilePicker):

LayoutTests:

Add new layout test.

  • fast/forms/ios/file-upload-panel-expected.txt: Added.
  • fast/forms/ios/file-upload-panel.html: Added.
3:59 PM Changeset in webkit [243522] by Shawn Roberts
  • 2 edits in trunk/LayoutTests

Layout tests editing/deleting/delete-emoji-1.html
editing/deleting/delete-emoji-9.html
editing/deleting/delete-emoji.html are failing
webkit.org/b/191709

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations: Updating test expectations waiting for rebaseline
3:13 PM Changeset in webkit [243521] by Shawn Roberts
  • 3 edits in trunk/LayoutTests

imported/w3c/web-platform-tests/xhr/send-redirect-post-upload.htm is a flaky crash and a failing test
https://bugs.webkit.org/show_bug.cgi?id=196274

Unreviewed test gardening.

  • TestExpectations:
  • platform/mac/TestExpectations: Updating test expectaion for flaky crash
3:08 PM Changeset in webkit [243520] by dbates@webkit.org
  • 2 edits in trunk/Source/WebKit

[iOS][WK2] Use a better concept to describe the reason we defer zooming a focused element: selectabiltiy
https://bugs.webkit.org/show_bug.cgi?id=196264

Reviewed by Wenson Hsieh.

Rename shouldDeferZoomingToSelectionWhenRevealingFocusedElement() to mayContainSelectableText() to describe
the criterion that we will use to decide whether to defer zooming or not. We defer zooming only for elements
that may support text selection on initial focus because we do not have an up-to-date selection rect at that
time. For element, like <select>, that do not support text selection, we can zoom them immediately when focused.

  • UIProcess/ios/WKContentViewInteraction.mm:

(mayContainSelectableText): Renamed from shouldDeferZoomingToSelectionWhenRevealingFocusedElement.
List all the input types in the switch block and remove the default case to force the compiler to check that we
covered all cases. This will prevent unforseen keyboard issues (why isn't the keyboard shown? or why is the keyboard shown?)
for future input types that we may add.
(rectToRevealWhenZoomingToFocusedElement): Update for renaming.
(-[WKContentView _elementDidFocus:userIsInteracting:blurPreviousNode:changingActivityState:userObject:]): Add a
comment to explain why we may need to defer the zoom: the focused element supports text selection and we need
to wait for the web process to call back to provide an up-to-date selection rect for us to zoom and reveal.
(-[WKContentView _didReceiveEditorStateUpdateAfterFocus]): Update for renaming.
(shouldDeferZoomingToSelectionWhenRevealingFocusedElement): Deleted.

2:15 PM Changeset in webkit [243519] by Wenson Hsieh
  • 7 edits in trunk

Implement async paste method on UIWKInteractionViewProtocol
https://bugs.webkit.org/show_bug.cgi?id=196267
<rdar://problem/49236346>

Reviewed by Tim Horton.

Source/WebKit:

Implement a new UIWKInteractionViewProtocol hook to perform a paste command, and invoke the given completion
handler when pasting is finished.

Test: UIPasteboardTests.PasteWithCompletionHandler

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView pasteWithCompletionHandler:]):

Tools:

Add a new test to exercise the new SPI. Additionally, add staging forward declarations for
-pasteWithCompletionHandler:, and remove some old existing staging declarations for other bits of UIKit SPI that
are now a part of all iOS 12 internal SDKs.

  • TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:

While we're here, also change a few iOS 11.3 checks to just be about PLATFORM(IOS) (since we don't build for iOS
prior to 12, these version checks are effectively only about iOS vs. tvOS or watchOS).

  • TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
  • TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:

(-[DragAndDropSimulator _sendQueuedAdditionalItemRequest]):

  • TestWebKitAPI/ios/UIKitSPI.h:
2:04 PM Changeset in webkit [243518] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews-build] Use PostgreSQL for ews.webkit.org database
https://bugs.webkit.org/show_bug.cgi?id=196270

Reviewed by Lucas Forschler.

  • BuildSlaveSupport/ews-app/ews-app/settings.py:
1:42 PM Changeset in webkit [243517] by Shawn Roberts
  • 3 edits in trunk/LayoutTests

Layout tests http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-fragment-from-prevalent-resource.html
http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-query-and-fragment-from-prevalent-resource.html
http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-query-from-prevalent-resource.html
http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-without-link-decoration-from-prevalent-resource.html are flaky time outs
https://bugs.webkit.org/show_bug.cgi?id=196269

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations: Updating test expectations for flaky tests
  • platform/ios-wk2/TestExpectations: Updatiting test expectations for flaky tests
1:41 PM Changeset in webkit [243516] by Jonathan Bedard
  • 2 edits in trunk/Tools

[ews] Reset simctl states on reboot
https://bugs.webkit.org/show_bug.cgi?id=196260

Rubber-stamped by Aakash Jain.

  • EWSTools/start-queue-mac.sh:
1:14 PM Changeset in webkit [243515] by Said Abou-Hallawa
  • 78 edits
    4 copies
    6 deletes in trunk

Remove the SVG tear off objects for SVGLength, SVGLengthList and SVGAnimatedLengthList
https://bugs.webkit.org/show_bug.cgi?id=196083

Reviewed by Simon Fraser.

Source/WebCore:

-- SVGLength will be a superclass of SVGValueProperty<SVGLengthValue>. It

is a wrapper of SVGLengthValue. It will be provide the DOM methods. It
can setValueAsString() and return valueAsString().

-- SVGLengthList will be a superclass of SVGValuePropertyList<SVGLength>.

The base class will provide all the DOM methods. SVGLengthList will be
responsible for parsing a String to a SVGLength items. It can also
build a string representing the stored items.

-- SVGAnimatedLengthList will be defined as SVGAnimatedPropertyList<SVGLengthList>.

Like SVGAnimatedPointList, all the required methods and attributes
will be handled by SVGAnimatedPropertyList.

-- SVGAnimatedLengthAccessor and SVGAnimatedLengthListAccessor will be

added to access the members of types SVGAnimatedLength and
SVGAnimatedLengthList.

-- SVGAnimatedLengthAnimator and SVGAnimatedLengthListAnimator will be

created by the the new accessors to animate attributes of types
SVGAnimatedLength and SVGAnimatedLengthList.

-- SVGAnimationLengthFunction and SVGAnimationLengthListFunction will be

responsible for progressing the animVal() of attributes of types
SVGAnimatedLength and SVGAnimatedLengthList.

-- SVGValuePropertyAnimator is a new template class which can animate a

none reflecting attribute which should be backed by a value property,
e.g. SVGLength.

-- SVGValuePropertyListAnimator is a new template class which can animate a

none reflecting attribute which should be backed by a value property
list, e.g. SVGLengthList.

Notes:

-- SVGElement::isAnimatedStyleAttribute() will return true if the

attribute is known by SVGPropertyAnimatorFactory. Or it's has
a reflecting SVGAnimatedPropertyLength property and its name is
one of the names listed in isAnimatedStylePropertyAttribute() of
the propertyRegistry() of the SVGElement.

-- SVGElement::commitPropertyChange() has to handle the attributes

for which isAnimatedStylePropertyAttribute() returns true different
from the other ones. styleReclac() needs updated attributes since
it does not access the reflecting properties in the SVGELement.

-- SVGTextContentElement does not need a customized SVGAnimatedLength.

All SVGTextContentElement::textLengthAnimated() needs to know is
whether m_textLength->baseVal() holds an empty SVGLength. If it
does, it sets its value to getComputedTextLength().

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/svg/SVGTextLayoutAttributesBuilder.cpp:

(WebCore::updateCharacterData):
(WebCore::SVGTextLayoutAttributesBuilder::fillCharacterDataMap):

  • svg/SVGAnimateElementBase.cpp:

(WebCore::SVGAnimateElementBase::hasValidAttributeType const):

  • svg/SVGAnimatedLength.cpp: Removed.
  • svg/SVGAnimatedLength.h: Removed.
  • svg/SVGAnimatedLengthList.cpp: Removed.
  • svg/SVGAnimatedLengthList.h: Removed.
  • svg/SVGAnimatedType.h:

(WebCore::SVGAnimatedType::type const):

  • svg/SVGAnimationElement.cpp:

(WebCore::SVGAnimationElement::isTargetAttributeCSSProperty):
(WebCore::inheritsFromProperty):

  • svg/SVGAnimatorFactory.h:

(WebCore::SVGAnimatorFactory::isSupportedAttribute):
(WebCore::SVGAnimatorFactory::create):
These changes were required because some of the tests were trying to
animated unsupported attributes. To differentiate between between the
these two cases:

1) the attribute is animate-able by the legacy controller.
2) animating the attribute or the attribute itself is not supported

by the element.

We want SVGAnimatorFactory tell us whether it can create an animator for
a given attribute or not.

  • svg/SVGCircleElement.cpp:

(WebCore::SVGCircleElement::SVGCircleElement):
(WebCore::SVGCircleElement::parseAttribute):
(WebCore::SVGCircleElement::svgAttributeChanged):
(WebCore::SVGCircleElement::registerAttributes): Deleted.

  • svg/SVGCircleElement.h:
  • svg/SVGCursorElement.cpp:

(WebCore::SVGCursorElement::SVGCursorElement):
(WebCore::SVGCursorElement::parseAttribute):
(WebCore::SVGCursorElement::svgAttributeChanged):
(WebCore::SVGCursorElement::registerAttributes): Deleted.

  • svg/SVGCursorElement.h:
  • svg/SVGElement.cpp:

(WebCore::SVGElement::commitPropertyChange):
(WebCore::SVGElement::isAnimatedStyleAttribute const):

  • svg/SVGElement.h:
  • svg/SVGEllipseElement.cpp:

(WebCore::SVGEllipseElement::SVGEllipseElement):
(WebCore::SVGEllipseElement::parseAttribute):
(WebCore::SVGEllipseElement::svgAttributeChanged):
(WebCore::SVGEllipseElement::registerAttributes): Deleted.

  • svg/SVGEllipseElement.h:
  • svg/SVGFilterElement.cpp:

(WebCore::SVGFilterElement::SVGFilterElement):
(WebCore::SVGFilterElement::registerAttributes):
(WebCore::SVGFilterElement::parseAttribute):

  • svg/SVGFilterElement.h:
  • svg/SVGFilterPrimitiveStandardAttributes.cpp:

(WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
(WebCore::SVGFilterPrimitiveStandardAttributes::parseAttribute):
(WebCore::SVGFilterPrimitiveStandardAttributes::registerAttributes): Deleted.

  • svg/SVGFilterPrimitiveStandardAttributes.h:

(WebCore::SVGFilterPrimitiveStandardAttributes::x const):
(WebCore::SVGFilterPrimitiveStandardAttributes::y const):
(WebCore::SVGFilterPrimitiveStandardAttributes::width const):
(WebCore::SVGFilterPrimitiveStandardAttributes::height const):
(WebCore::SVGFilterPrimitiveStandardAttributes::xAnimated):
(WebCore::SVGFilterPrimitiveStandardAttributes::yAnimated):
(WebCore::SVGFilterPrimitiveStandardAttributes::widthAnimated):
(WebCore::SVGFilterPrimitiveStandardAttributes::heightAnimated):
(WebCore::SVGFilterPrimitiveStandardAttributes::isKnownAttribute): Deleted.

  • svg/SVGForeignObjectElement.cpp:

(WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
(WebCore::SVGForeignObjectElement::parseAttribute):
(WebCore::SVGForeignObjectElement::registerAttributes): Deleted.

  • svg/SVGForeignObjectElement.h:
  • svg/SVGImageElement.cpp:

(WebCore::SVGImageElement::SVGImageElement):
(WebCore::SVGImageElement::parseAttribute):
(WebCore::SVGImageElement::registerAttributes): Deleted.

  • svg/SVGImageElement.h:
  • svg/SVGLength.h:

(WebCore::SVGLength::create):
(WebCore::SVGLength::clone const):
(WebCore::SVGLength::unitType):
(WebCore::SVGLength::valueForBindings):
(WebCore::SVGLength::setValueForBindings):
(WebCore::SVGLength::valueInSpecifiedUnits):
(WebCore::SVGLength::setValueInSpecifiedUnits):
(WebCore::SVGLength::setValueAsString):
(WebCore::SVGLength::newValueSpecifiedUnits):
(WebCore::SVGLength::convertToSpecifiedUnits):
(WebCore::SVGLength::valueAsString): Deleted.
(WebCore::SVGLength::SVGLength): Deleted.

  • svg/SVGLengthList.h:

(WebCore::SVGLengthList::create):
(WebCore::SVGLengthList::lengthMode const):
(WebCore::SVGLengthList::parse):
(WebCore::SVGLengthList::SVGLengthList):

  • svg/SVGLengthListValues.cpp: Removed.
  • svg/SVGLengthListValues.h: Removed.
  • svg/SVGLineElement.cpp:

(WebCore::SVGLineElement::SVGLineElement):
(WebCore::SVGLineElement::parseAttribute):
(WebCore::SVGLineElement::svgAttributeChanged):
(WebCore::SVGLineElement::registerAttributes): Deleted.

  • svg/SVGLineElement.h:
  • svg/SVGLinearGradientElement.cpp:

(WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
(WebCore::SVGLinearGradientElement::parseAttribute):
(WebCore::SVGLinearGradientElement::svgAttributeChanged):
(WebCore::SVGLinearGradientElement::registerAttributes): Deleted.

  • svg/SVGLinearGradientElement.h:
  • svg/SVGMarkerElement.cpp:

(WebCore::SVGMarkerElement::SVGMarkerElement):
(WebCore::SVGMarkerElement::registerAttributes):
(WebCore::SVGMarkerElement::parseAttribute):

  • svg/SVGMarkerElement.h:
  • svg/SVGMaskElement.cpp:

(WebCore::SVGMaskElement::SVGMaskElement):
(WebCore::SVGMaskElement::registerAttributes):
(WebCore::SVGMaskElement::parseAttribute):
(WebCore::SVGMaskElement::svgAttributeChanged):

  • svg/SVGMaskElement.h:
  • svg/SVGPatternElement.cpp:

(WebCore::SVGPatternElement::SVGPatternElement):
(WebCore::SVGPatternElement::registerAttributes):
(WebCore::SVGPatternElement::parseAttribute):

  • svg/SVGPatternElement.h:
  • svg/SVGPoint.h:
  • svg/SVGRadialGradientElement.cpp:

(WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
(WebCore::SVGRadialGradientElement::parseAttribute):
(WebCore::SVGRadialGradientElement::svgAttributeChanged):
(WebCore::SVGRadialGradientElement::registerAttributes): Deleted.

  • svg/SVGRadialGradientElement.h:
  • svg/SVGRectElement.cpp:

(WebCore::SVGRectElement::SVGRectElement):
(WebCore::SVGRectElement::parseAttribute):
(WebCore::SVGRectElement::svgAttributeChanged):
(WebCore::SVGRectElement::registerAttributes): Deleted.

  • svg/SVGRectElement.h:
  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::SVGSVGElement):
(WebCore::SVGSVGElement::parseAttribute):
(WebCore::SVGSVGElement::svgAttributeChanged):
(WebCore::SVGSVGElement::registerAttributes): Deleted.

  • svg/SVGSVGElement.h:
  • svg/SVGTextContentElement.cpp:

(WebCore::SVGTextContentElement::SVGTextContentElement):
(WebCore::SVGTextContentElement::registerAttributes):
(WebCore::SVGTextContentElement::parseAttribute):
(WebCore::SVGTextContentElement::svgAttributeChanged):
(WebCore::SVGTextContentElement::textLengthAnimated):

  • svg/SVGTextContentElement.h:

(WebCore::SVGTextContentElement::specifiedTextLength const):
(WebCore::SVGTextContentElement::textLength const):
(WebCore::SVGTextContentElement::specifiedTextLength): Deleted.
(WebCore::SVGTextContentElement::textLengthAnimated): Deleted.
(WebCore::SVGTextContentElement::SVGAnimatedCustomLengthAttribute::SVGAnimatedCustomLengthAttribute): Deleted.
(WebCore::SVGTextContentElement::SVGAnimatedCustomLengthAttribute::synchronize): Deleted.
(WebCore::SVGTextContentElement::SVGAnimatedCustomLengthAttribute::animatedProperty): Deleted.

  • svg/SVGTextPathElement.cpp:

(WebCore::SVGTextPathElement::SVGTextPathElement):
(WebCore::SVGTextPathElement::registerAttributes):
(WebCore::SVGTextPathElement::parseAttribute):

  • svg/SVGTextPathElement.h:
  • svg/SVGTextPositioningElement.cpp:

(WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
(WebCore::SVGTextPositioningElement::parseAttribute):
(WebCore::SVGTextPositioningElement::svgAttributeChanged):
(WebCore::SVGTextPositioningElement::registerAttributes): Deleted.

  • svg/SVGTextPositioningElement.h:

(WebCore::SVGTextPositioningElement::x const):
(WebCore::SVGTextPositioningElement::y const):
(WebCore::SVGTextPositioningElement::dx const):
(WebCore::SVGTextPositioningElement::dy const):
(WebCore::SVGTextPositioningElement::xAnimated):
(WebCore::SVGTextPositioningElement::yAnimated):
(WebCore::SVGTextPositioningElement::dxAnimated):
(WebCore::SVGTextPositioningElement::dyAnimated):
(WebCore::SVGTextPositioningElement::isKnownAttribute): Deleted.

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::SVGUseElement):
(WebCore::SVGUseElement::parseAttribute):
(WebCore::SVGUseElement::svgAttributeChanged):
(WebCore::SVGUseElement::registerAttributes): Deleted.

  • svg/SVGUseElement.h:
  • svg/SVGValue.h:
  • svg/properties/SVGAnimatedPropertyAccessorImpl.h:
  • svg/properties/SVGAnimatedPropertyAnimator.h:
  • svg/properties/SVGAnimatedPropertyAnimatorImpl.h:
  • svg/properties/SVGAnimatedPropertyImpl.h:
  • svg/properties/SVGAnimationAdditiveListFunctionImpl.h:

(WebCore::SVGAnimationLengthListFunction::SVGAnimationLengthListFunction):
(WebCore::SVGAnimationLengthListFunction::progress):
(WebCore::SVGAnimationNumberListFunction::progress):
(WebCore::SVGAnimationPointListFunction::progress):

  • svg/properties/SVGAnimationAdditiveValueFunctionImpl.h:

(WebCore::SVGAnimationLengthFunction::SVGAnimationLengthFunction):
(WebCore::SVGAnimationLengthFunction::progress):

  • svg/properties/SVGAttributeAnimator.cpp:

(WebCore::SVGAttributeAnimator::isAnimatedStylePropertyAniamtor const):

  • svg/properties/SVGAttributeAnimator.h:
  • svg/properties/SVGAttributeRegistry.h:
  • svg/properties/SVGPropertyAnimatorFactory.h:

(WebCore::SVGPropertyAnimatorFactory::createLengthAnimator):
(WebCore::SVGPropertyAnimatorFactory::createLengthListAnimator):
(WebCore::SVGPropertyAnimatorFactory::attributeAnimatorCreator):

  • svg/properties/SVGPropertyOwnerRegistry.h:

(WebCore::SVGPropertyOwnerRegistry::registerProperty):
(WebCore::SVGPropertyOwnerRegistry::isAnimatedLengthAttribute):

  • svg/properties/SVGPropertyRegistry.h:
  • svg/properties/SVGValuePropertyAnimator.h: Added.

(WebCore::SVGValuePropertyAnimator::SVGValuePropertyAnimator):

  • svg/properties/SVGValuePropertyAnimatorImpl.h: Added.
  • svg/properties/SVGValuePropertyListAnimator.h: Added.

(WebCore::SVGValuePropertyListAnimator::SVGValuePropertyListAnimator):

  • svg/properties/SVGValuePropertyListAnimatorImpl.h: Added.

LayoutTests:

  • platform/win/TestExpectations:
  • svg/animations/svglength-element-removed-crash.svg:
  • svg/dom/SVGLengthList-appendItem-expected.txt:
  • svg/dom/SVGLengthList-appendItem.xhtml:
  • svg/dom/SVGLengthList-basics-expected.txt:
  • svg/dom/SVGLengthList-basics.xhtml:
  • svg/dom/SVGLengthList-initialize-expected.txt:
  • svg/dom/SVGLengthList-initialize.xhtml:
  • svg/dom/SVGLengthList-insertItemBefore-expected.txt:
  • svg/dom/SVGLengthList-insertItemBefore.xhtml:
  • svg/dom/SVGLengthList-removeItem-expected.txt:
  • svg/dom/SVGLengthList-removeItem.xhtml:
  • svg/dom/SVGLengthList-replaceItem-expected.txt:
  • svg/dom/SVGLengthList-replaceItem.xhtml:

This changes are required because SVGLengthList will be following the SVG2
specs regarding adding new items to the list.

See https://www.w3.org/TR/SVG/types.html#TermListInterface.

12:29 PM Changeset in webkit [243514] by Tadeu Zagallo
  • 7 edits in trunk

WebAssembly: Fix f32.min, f64.min and f64.max operations on NaN
https://bugs.webkit.org/show_bug.cgi?id=196217

Reviewed by Saam Barati.

JSTests:

Re-enable all NaN tests for f32.min, f64.min and f64.max.

  • wasm/spec-tests/f32.wast.js:
  • wasm/spec-tests/f64.wast.js:
  • wasm/wasm.json:

Source/JavaScriptCore:

Generalize the fix for f32.max to properly handle NaN by doing an extra GreatherThan
comparison in r243446 to all min and max float operations.

  • wasm/WasmAirIRGenerator.cpp:

(JSC::Wasm::AirIRGenerator::addOp<OpType::F32Min>):
(JSC::Wasm::AirIRGenerator::addFloatingPointMinOrMax):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F32Max>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F64Min>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F64Max>):

  • wasm/wasm.json:
12:23 PM Changeset in webkit [243513] by Simon Fraser
  • 5 edits
    1 copy
    3 adds in trunk

[iOS WK2] position:fixed inside oveflow:scroll is jumpy
https://bugs.webkit.org/show_bug.cgi?id=196238

Reviewed by Antti Koivisto.
Source/WebCore:

We were inadvertently making Positioned nodes for position:fixed, which is unnecessary because
Fixed nodes handle them, and harmful because they introduced unwanted layer movement.

Tests: scrollingcoordinator/ios/fixed-in-overflow-scroll-scrolling-tree.html

scrollingcoordinator/ios/fixed-in-overflow-scroll.html

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::computeCoordinatedPositioningForLayer const):

LayoutTests:

fixed-in-overflow-scroll-scrolling-tree.html actually tests the fix.
For some reason fixed-in-overflow-scroll.html doesn't show the jumpiness, but it's
a good test to have nonetheless.

Other minor cleanup.

  • resources/ui-helper.js:

(window.UIHelper.immediateScrollElementAtContentPointToOffset):

  • scrollingcoordinator/ios/fixed-in-overflow-scroll-expected.html: Added.
  • scrollingcoordinator/ios/fixed-in-overflow-scroll-scrolling-tree-expected.txt: Added.
  • scrollingcoordinator/ios/fixed-in-overflow-scroll-scrolling-tree.html: Copied from LayoutTests/scrollingcoordinator/ios/ui-scrolling-tree.html.
  • scrollingcoordinator/ios/fixed-in-overflow-scroll.html: Added.
  • scrollingcoordinator/ios/ui-scrolling-tree.html:
12:20 PM WebKitGTK/2.24.x edited by Adrian Perez de Castro
(diff)
12:20 PM WebKitGTK/2.24.x edited by Adrian Perez de Castro
(diff)
12:18 PM Changeset in webkit [243512] by andy@vanwagoner.family
  • 5 edits in trunk

Intl.DateTimeFormat should obey 2-digit hour
https://bugs.webkit.org/show_bug.cgi?id=195974

Reviewed by Keith Miller.

Source/JavaScriptCore:

  • runtime/IntlDateTimeFormat.cpp:

(JSC::IntlDateTimeFormat::initializeDateTimeFormat):

LayoutTests:

  • js/intl-datetimeformat-expected.txt:
  • js/script-tests/intl-datetimeformat.js:
12:15 PM Changeset in webkit [243511] by pvollan@apple.com
  • 3 edits in trunk/Source/WebKit

[macOS] Fix sandbox violations
https://bugs.webkit.org/show_bug.cgi?id=196262
<rdar://problem/47738015>

Reviewed by Brent Fulgham.

Fix various observed sandbox violations.

  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  • WebProcess/com.apple.WebProcess.sb.in:
12:04 PM Changeset in webkit [243510] by Dewei Zhu
  • 3 edits in trunk/Websites/perf.webkit.org

Primary cluster of measurement set should always contain latest point.
https://bugs.webkit.org/show_bug.cgi?id=196243

Reviewed by Ryosuke Niwa.

Fix a bug in measurement-set api that primary cluster may not contain latest data point as
'carry_over' row may not be updated.

  • public/api/measurement-set.php: Should always keep 'carry_over' data points up to date.
  • server-tests/api-measurement-set-tests.js: Added an unit test for this change.

Fixed a typo.

11:20 AM Changeset in webkit [243509] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews-build] Use PostgreSQL for ews-build database
https://bugs.webkit.org/show_bug.cgi?id=196229

Reviewed by Lucas Forschler.

  • BuildSlaveSupport/ews-build/master.cfg:
11:13 AM Changeset in webkit [243508] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews-build] Get master_hostname dynamically in master.cfg
https://bugs.webkit.org/show_bug.cgi?id=196255

Reviewed by Lucas Forschler.

  • BuildSlaveSupport/ews-build/master.cfg: Get hostname dynamically. Also do not

send events data in test mode.

11:12 AM Changeset in webkit [243507] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Sources: fix typo in CSS selector to always show add breakpoint button
https://bugs.webkit.org/show_bug.cgi?id=196241

Reviewed by Matt Baker.

  • UserInterface/Views/SourcesNavigationSidebarPanel.css:

(.sidebar > .panel.navigation.sources > .content > .details-section:matches(.paused-reason, .breakpoints).collapsed > .header > .options,):
(.sidebar > .panel.navigation.sources > .content > .details-section:matches(.paused-reason, .breakpoins).collapsed > .header > .options,): Deleted.

11:00 AM Changeset in webkit [243506] by dino@apple.com
  • 3 edits
    2 adds in trunk

vertexAttribPointer must restrict offset parameter
https://bugs.webkit.org/show_bug.cgi?id=196261
<rdar://problem/48458086>

Reviewed by Antoine Quint.

Source/WebCore:

This WebGL function should fail if the offset parameter is
not within [0, max 32-bit int].

Test: fast/canvas/webgl/vertexAttribPointer-with-bad-offset.html

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::vertexAttribPointer):

LayoutTests:

Add a test where the offset parameter is out of bounds.

  • fast/canvas/webgl/vertexAttribPointer-with-bad-offset-expected.txt: Added.
  • fast/canvas/webgl/vertexAttribPointer-with-bad-offset.html: Added.
10:57 AM Changeset in webkit [243505] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit

Assertion failure !isInAcceleratedCompositingMode() in DrawingAreaProxyCoordinatedGraphics::incorporateUpdate when forceCompositingMode is turned on
https://bugs.webkit.org/show_bug.cgi?id=195879

Patch by Tomoki Imai <Tomoki Imai> on 2019-03-26
Reviewed by Carlos Garcia Campos.

The root cause is that DrawingAreaProxyCoordinatedGraphics::isInAcceleratedCompositingMode checks both of alwaysUseCompositing() and !m_layerTreeContext.isEmpty().
alwaysUseCompositing() refers preferences, which is written by the application (UIProcess).
On the other hand, m_layerTreeContext is changed when it receives enterAcceleratedCompositingMode/exitAcceleratedCompositingMode from WebProcess.

It results when we set forceCompositingMode and acceleratedCompositingEnabled to true, WebProcess and UIProcess is out of sync until WebProcess sends enterAcceleratedCompositingMode message.
In such situation, WebProcess sends incorporateUpdate to UIProcess because WebProcess is in non-AC mode, but isInAcceleratedCompositingMode becomes true in UIProcess side.

  • UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp:

(WebKit::DrawingAreaProxyCoordinatedGraphics::~DrawingAreaProxyCoordinatedGraphics): Should call exitAcceleratedCompositingMode even when alwaysUseCompositing is true.
(WebKit::DrawingAreaProxyCoordinatedGraphics::enterAcceleratedCompositingMode): enterAcceleratedCompositingMode should check enterAcceleratedCompositingMode is not called twice.

  • UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.h: Remove alwaysUseCompositing from isInAcceleratedCompositingMode
10:29 AM Changeset in webkit [243504] by graouts@webkit.org
  • 4 edits in trunk/Source/WebCore

Remove mousemoveEventHandlingPreventsDefault internal setting and quirk
https://bugs.webkit.org/show_bug.cgi?id=196254
<rdar://problem/49124334>

Unreviewed. Fix build broken by previous commit.

  • dom/Event.cpp:
  • dom/Event.h:

(WebCore::Event::hasEncounteredListener const): Deleted.
(WebCore::Event::setHasEncounteredListener): Deleted.

  • dom/EventTarget.cpp:

(WebCore::EventTarget::innerInvokeEventListeners):

10:27 AM Changeset in webkit [243503] by Alan Bujtas
  • 3 edits
    2 adds in trunk

[ContentChangeObserver] Skip anonymous renderers when checking for "willRespondToMouseClickEvents"
https://bugs.webkit.org/show_bug.cgi?id=196259
<rdar://problem/49240029>

Reviewed by Dean Jackson.

Source/WebCore:

Anonymous renderers don't have associated DOM nodes so they can't have event listeners either. Let's skip them.

Test: fast/events/touch/ios/content-observation/crash-on-anonymous-renderer.html

  • page/ios/ContentChangeObserver.cpp:

(WebCore::ContentChangeObserver::StyleChangeScope::isConsideredClickable const):

LayoutTests:

  • fast/events/touch/ios/content-observation/crash-on-anonymous-renderer-expected.txt: Added.
  • fast/events/touch/ios/content-observation/crash-on-anonymous-renderer.html: Added.
10:13 AM Changeset in webkit [243502] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

[ews-app] Set db_constraint to False for Foreign Keys
https://bugs.webkit.org/show_bug.cgi?id=196252

Reviewed by Lucas Forschler.

  • BuildSlaveSupport/ews-app/ews/models/build.py:
  • BuildSlaveSupport/ews-app/ews/models/step.py:
10:12 AM Changeset in webkit [243501] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews-build] is_test_mode_enabled should default to True
https://bugs.webkit.org/show_bug.cgi?id=196248

Reviewed by Lucas Forschler.

  • BuildSlaveSupport/ews-build/master.cfg: Reverse the environment variable used to decide is_test_mode_enabled.
10:08 AM Changeset in webkit [243500] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews-app] Add webkitperl to ENABLED_QUEUES
https://bugs.webkit.org/show_bug.cgi?id=196253

Reviewed by Lucas Forschler.

  • BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
9:57 AM Changeset in webkit [243499] by graouts@webkit.org
  • 6 edits in trunk/Source

Remove mousemoveEventHandlingPreventsDefault internal setting and quirk
https://bugs.webkit.org/show_bug.cgi?id=196254
<rdar://problem/49124334>

Reviewed by Dean Jackson.

Source/WebCore:

  • page/Quirks.cpp:

(WebCore::Quirks::shouldMousemoveEventHandlingPreventDefault const): Deleted.

  • page/Quirks.h:
  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setMouseEventsSimulationEnabled):
(WebCore::RuntimeEnabledFeatures::mousemoveEventHandlingPreventsDefaultEnabled const): Deleted.
(WebCore::RuntimeEnabledFeatures::setMousemoveEventHandlingPreventsDefaultEnabled): Deleted.

Source/WebKit:

  • Shared/WebPreferences.yaml:
9:39 AM Changeset in webkit [243498] by Shawn Roberts
  • 2 edits in trunk/LayoutTests

Layout tests fast/events/wheel-event-destroys-overflow.html
fast/events/wheelevent-mousewheel-interaction.html
fast/events/wheel-event-destroys-frame.html
fast/events/wheelevent-basic.html
fast/events/wheelevent-in-text-node.html are a flaky timeouts
https://bugs.webkit.org/show_bug.cgi?id=195719

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations: Marking tests as flaky
9:36 AM Changeset in webkit [243497] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r243493.
https://bugs.webkit.org/show_bug.cgi?id=196257

broke the non-gst-gl build (Requested by philn on #webkit).

Reverted changeset:

"Build failure with gstreamer 1.12.5 if USE_GSTREAMER_GL is
enabled"
https://bugs.webkit.org/show_bug.cgi?id=196178
https://trac.webkit.org/changeset/243493

9:30 AM WebKitGTK/2.24.x edited by Philippe Normand
(diff)
8:58 AM Changeset in webkit [243496] by ap@apple.com
  • 5 edits in trunk/Tools

Address NSWindow sometimes using WebKitTestRunnerEvent too early
https://bugs.webkit.org/show_bug.cgi?id=196211
rdar://problem/49110552

Reviewed by Tim Horton.

  • WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize):

Make sure that EventSenderProxy always exists when running tests. We used to create
it when resetting before the first test, which is a bit too late.

  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::TestController::platformCreateWebView):
(WTR::TestController::platformCreateOtherPage):
(WTR::TestController::finishCreatingPlatformWebView):

  • WebKitTestRunner/mac/PlatformWebViewMac.mm:

(WTR::PlatformWebView::PlatformWebView):
Moved some code that made NSWindow use NSEvent during web view creation. We may
need to move more if some other case us found, but this is enough for now.

7:50 AM Changeset in webkit [243495] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Layout Test js/math-clz32.html is failing
https://bugs.webkit.org/show_bug.cgi?id=196209

Unreviewed test gardening.

  • platform/win/TestExpectations:
6:22 AM Changeset in webkit [243494] by Diego Pino Garcia
  • 2 edits
    3 adds in trunk/LayoutTests

[GTK] Unreviewed gardening, update test expectations and baselines

  • platform/gtk/TestExpectations:
  • platform/gtk/compositing/overflow/textarea-scroll-touch-expected.txt:

New expected results after r243031.

  • platform/gtk/http/tests/inspector/network/har/har-page-expected.txt:

New expected results after r243347.

6:19 AM WebKitGTK/2.24.x edited by Philippe Normand
(diff)
6:11 AM Changeset in webkit [243493] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Build failure with gstreamer 1.12.5 if USE_GSTREAMER_GL is enabled
https://bugs.webkit.org/show_bug.cgi?id=196178

Patch by Mike Gorse <mgorse@alum.wpi.edu> on 2019-03-26
Reviewed by Philippe Normand.

No new tests (build fix).

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

Include gst/gl/gl.h before including GraphicsContext3D.h.

5:19 AM WebKitGTK/2.24.x edited by Adrian Perez de Castro
(diff)
5:16 AM WebKitGTK/2.24.x edited by Philippe Normand
(diff)
5:09 AM Changeset in webkit [243492] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

[WPE][Qt] Uninitialized racy ViewBackend
https://bugs.webkit.org/show_bug.cgi?id=196247

Patch by Philippe Normand <pnormand@igalia.com> on 2019-03-26
Reviewed by Carlos Garcia Campos.

  • UIProcess/API/wpe/qt/WPEQtView.h: Initialize the backend pointer to nullptr.
4:18 AM Changeset in webkit [243491] by Carlos Garcia Campos
  • 8 edits in trunk

Unreviewed. Fix typo in GLib geolocation API after r243285.

gelocation -> geolocation.

Source/WebKit:

  • UIProcess/API/glib/WebKitGeolocationManager.cpp:

(webkit_geolocation_manager_class_init):
(webkit_geolocation_manager_update_position):
(webkit_geolocation_manager_failed):
(webkit_gelocation_manager_update_position): Deleted.
(webkit_gelocation_manager_failed): Deleted.

  • UIProcess/API/gtk/WebKitGeolocationManager.h:
  • UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
  • UIProcess/API/wpe/WebKitGeolocationManager.h:
  • UIProcess/API/wpe/docs/wpe-1.0-sections.txt:

Tools:

  • TestWebKitAPI/Tests/WebKitGLib/TestGeolocationManager.cpp:

(testGeolocationManagerWatchPosition):

3:16 AM Changeset in webkit [243490] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

[GTK][WPE] Disable process warming
https://bugs.webkit.org/show_bug.cgi?id=196208

Patch by Patrick Griffis <Patrick Griffis> on 2019-03-26
Reviewed by Chris Dumez.

Fixes crash caused by r243384.

Process warming is incompatible with our launcher as it expects a valid
WebsiteDataStore at initialization time for sandbox permissions.

  • UIProcess/glib/WebProcessPoolGLib.cpp:

(WebKit::WebProcessPool::platformInitialize):

2:34 AM Changeset in webkit [243489] by Philippe Normand
  • 7 edits in trunk

[GStreamer] Sound loop with Google Hangouts and WhatsApp notifications
https://bugs.webkit.org/show_bug.cgi?id=189471

Reviewed by Xabier Rodriguez-Calvar.

Source/WebCore:

The media duration is now cached (again). The loop issue was
triggered by the previous version of the code returning positive
infinite duration in didEnd(), followed by the timeupdate event
propagation that would trick the HTMLMediaElement into a new call
to play(). Now the cached duration is updated to current position
at EOS (for forward playback direction only), so the media element
no longer triggers a new play call for those cases.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::loadFull):
(WebCore::MediaPlayerPrivateGStreamer::playbackPosition const):
(WebCore::MediaPlayerPrivateGStreamer::platformDuration const):
(WebCore::MediaPlayerPrivateGStreamer::durationMediaTime const):
(WebCore::MediaPlayerPrivateGStreamer::currentMediaTime const):
(WebCore::MediaPlayerPrivateGStreamer::didEnd):
(WebCore::MediaPlayerPrivateGStreamer::durationChanged):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:

(WebCore::MediaPlayerPrivateGStreamerMSE::currentMediaTime const):

LayoutTests:

  • platform/gtk/TestExpectations:
  • platform/gtk/media/video-playing-and-pause-expected.txt:
12:12 AM Changeset in webkit [243488] by Antti Koivisto
  • 7 edits in trunk

Hit-testing on layers overlapping scrollers should hit-test on text boxes
https://bugs.webkit.org/show_bug.cgi?id=195373
<rdar://problem/48649865>

Reviewed by Simon Fraser.

Source/WebCore:

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::paint):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paint):

Collect event region for overflowing line boxes.

  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::paintFlow):

Collect event region for overflowing simple lines.

LayoutTests:

  • fast/scrolling/ios/overflow-scroll-overlap-3.html:

Mar 25, 2019:

11:12 PM Changeset in webkit [243487] by commit-queue@webkit.org
  • 4 edits
    1 add in trunk

Do not terminate the NetworkProcess if a third party application sends a NSCredential with a SecIdentityRef
https://bugs.webkit.org/show_bug.cgi?id=196213

Patch by Alex Christensen <achristensen@webkit.org> on 2019-03-25
Reviewed by Geoff Garen.

Source/WebKit:

A release assertion added in r230225 was reachable. I reached it in a unit test that responds to a challenge
with a SecIdentityRef wrapped in an NSCredential.

  • Shared/cf/ArgumentCodersCF.cpp:

(IPC::decode):

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm: Added.

(credentialWithIdentityAndKeychainPath):
(-[ChallengeDelegate webView:didFinishNavigation:]):
(-[ChallengeDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]):
(TestWebKitAPI::TEST):

10:53 PM Changeset in webkit [243486] by commit-queue@webkit.org
  • 7 edits in trunk

Expected shouldn't assume its contained types are copyable
https://bugs.webkit.org/show_bug.cgi?id=195986

Patch by Alex Christensen <achristensen@webkit.org> on 2019-03-25
Reviewed by JF Bastien.

Source/WebCore:

  • contentextensions/ContentExtensionParser.cpp:

(WebCore::ContentExtensions::loadAction):

Source/WTF:

  • wtf/Expected.h:

(std::experimental::fundamentals_v3::expected_detail::constexpr_base::constexpr_base):
(std::experimental::fundamentals_v3::operator==):
(std::experimental::fundamentals_v3::operator!=):

  • wtf/Unexpected.h:

(std::experimental::fundamentals_v3::unexpected::unexpected):

Tools:

  • TestWebKitAPI/Tests/WTF/Expected.cpp:

(TestWebKitAPI::NonCopyable::operator== const):
(TestWebKitAPI::NonCopyable::operator!= const):
(TestWebKitAPI::TEST):

10:48 PM Changeset in webkit [243485] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Regression(r242369) Trying to change profile picture on linked in shows file picker, not the image picker
https://bugs.webkit.org/show_bug.cgi?id=196205
<rdar://problem/49083324>

Reviewed by Geoffrey Garen.

Update our FileUploadPanel code on iOS to properly deal with the MIME types containing
wild cards (e.g. "image/*") that are defined in the HTML specification:

Previously, we would fail to convert those to UTIs.

  • UIProcess/ios/forms/WKFileUploadPanel.mm:
9:45 PM Changeset in webkit [243484] by timothy_horton@apple.com
  • 4 edits in trunk

Remove some now-unnecessary dynamic class lookup
https://bugs.webkit.org/show_bug.cgi?id=196237

Reviewed by Simon Fraser.

Source/WebKit:

  • Shared/DocumentEditingContext.mm:

(WebKit::DocumentEditingContext::toPlatformContext):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:

(makeRequest):
(TEST):

8:34 PM Changeset in webkit [243483] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebCore

Leak of SVGFontFaceElement when RenderStyle holds onto a FontRances which uses it
https://bugs.webkit.org/show_bug.cgi?id=196059

Reviewed by Zalan Bujtas.

SVGFontFaceElement keeps its RenderStyle alive via ElementRareData but RenderStyle can hold onto FontRanges
and therefore CSSFontSource, which in turn keeps SVGFontFaceElement alive, making a reference cycle.

More precisely, there are two reference cycles:
SVGFontFaceElement (1) -> ElementRareData -> StyleInheritedData -> FontCascade -> FontCascadeFonts (2)
FontCascadeFonts (2) -> FontRanges (3)
FontCascadeFonts (2) -> CSSFontSelector -> CSSFontFaceSet -> CSSSegmentedFontFace -> FontRanges (3)
FontRanges (3) -> CSSFontAccessor > CSSFontFace > CSSFontSource -> SVGFontFaceElement (1)

No new tests. Unfortunately, writing a test proved to be intractable. The leak can be reproduced by running
svg/text/text-text-05-t.svg then svg/zoom/page/zoom-img-preserveAspectRatio-support-1.html consecutively.

  • css/CSSFontFaceSource.cpp:

(WebCore::CSSFontFaceSource::CSSFontFaceSource):
(WebCore::CSSFontFaceSource::load):
(WebCore::CSSFontFaceSource::font):
(WebCore::CSSFontFaceSource::isSVGFontFaceSource const):

  • css/CSSFontFaceSource.h:
8:30 PM Changeset in webkit [243482] by Fujii Hironori
  • 20 edits
    3 deletes in trunk

Unreviewed, rolling out r243450.

AppleWin and WinCairo port builds get broken.

Reverted changeset:

"Add test for fix of #196095"
https://bugs.webkit.org/show_bug.cgi?id=196097
https://trac.webkit.org/changeset/243450

7:18 PM Changeset in webkit [243481] by Adrian Perez de Castro
  • 3 edits in trunk

[WPE][GTK] Make building WebVR (w/OpenVR) not depend on ENABLE_EXPERIMENTAL_FEATURES
https://bugs.webkit.org/show_bug.cgi?id=196223

Reviewed by Michael Catanzaro.

Disentangle USE_OPENVR from ENABLE_EXPERIMENTAL_FEATURES, making it
unneeded to include ThirdParty/openvr/ in release tarballs.

  • Source/cmake/OptionsGTK.cmake: Set USE_OPENVR to OFF by default,

instead of making it use the value of ENABLE_EXPERIMENTAL_FEATURES.

  • Source/cmake/OptionsWPE.cmake: Ditto.
6:44 PM Changeset in webkit [243480] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit

Get rid of ENABLE(ANIMATED_KEYBOARD_SCROLLING)
https://bugs.webkit.org/show_bug.cgi?id=196224

Reviewed by Simon Fraser.

  • Platform/spi/ios/AccessibilitySupportSPI.h:
  • UIProcess/ios/WKKeyboardScrollingAnimator.mm:

(-[WKKeyboardScrollingAnimator invalidate]):
(perpendicularAbsoluteUnitVector):
(-[WKKeyboardScrollingAnimator beginWithEvent:]):
(-[WKKeyboardScrollingAnimator stopAnimatedScroll]):
(-[WKKeyboardScrollingAnimator willStartInteractiveScroll]):
(-[WKKeyboardScrollViewAnimator scrollToContentOffset:animated:]):
(-[WKKeyboardScrollViewAnimator scrollWithScrollToExtentAnimationTo:]):
(-[WKKeyboardScrollingAnimator startRepeatTimerIfNeeded]): Deleted.
(-[WKKeyboardScrollingAnimator stopRepeatTimer]): Deleted.
(-[WKKeyboardScrollingAnimator performDiscreteScroll]): Deleted.

6:36 PM Changeset in webkit [243479] by Fujii Hironori
  • 2 edits in trunk/Source/WebKit

Enable IPC sending and receiving non-default-constructible types
https://bugs.webkit.org/show_bug.cgi?id=196132
<rdar://problem/49229221>

Unreviewed build fix for WinCairo port.

error C2440: '=': cannot convert from 'int' to 'HANDLE'

  • Platform/win/SharedMemoryWin.cpp:

(WebKit::SharedMemory::Handle::Handle): std::exchange HANDLE with nullptr, not 0.
(WebKit::SharedMemory::Handle::operator=): Ditto.

6:26 PM Changeset in webkit [243478] by commit-queue@webkit.org
  • 59 edits
    3 copies
    1 add
    7 deletes in trunk

Remove the SVG tear off objects for SVGAngle, SVGAnimatedAngle and SVGAnimatedEnumeration
https://bugs.webkit.org/show_bug.cgi?id=196087

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2019-03-25
Reviewed by Simon Fraser.

Source/WebCore:

In this patch, the tear off objects for SVGAnimatedEnumeration will be
removed. Because the angle is paired with the orient type so its tear
off objects have to be removed as well. Here is what this patch does:

-- SVGAngle is now a superclass of SVGValueProperty<SVGAngleValue>. Its
relationship with its owner will be managed by the owner of its base
class SVGProperty.

-- SVGAnimatedAngle is now defined to be SVGAnimatedValueProperty<
SVGAngle>. All the DOM interfaces will be handled by the base class
given its baseVal and animVal are of type SVGAngle.

-- SVGAnimatedEnumeration is now defined to be
SVGAnimatedDecoratedProperty<SVGDecoratedEnumeration, unsigned>.
This can be read: SVGAnimatedEnumeration is an SVGAnimatedProperty which
decorates the "SVGDecoratedEnumeration" type to "unsigned". The reason
for this complication is the IDL of SVGAnimatedEnumeration defines the
baseVal and animVal are of type unsigned. However SVGAnimatedEnumeration
should be able to convert a string to its enum value and vice versa.

-- SVGAnimatedDecoratedProperty is a template class which maps from
DecoratedProperty to DecorationType. The DecoratedProperty is actually
a template class which exposes a property of type DecorationType.

-- SVGDecoratedProperty is an abstract class which manages setting and
getting a property in DecorationType regardless of how it is actually
stored.

-- SVGDecoratedPrimitive is a superclass of SVGDecoratedProperty which
stores a primitive property whose type is PropertyType but can decorate
it to the callers as DecorationType.

-- SVGDecoratedEnumeration is a superclass of SVGDecoratedPrimitive
which stores a primitive type DecorationType like "BlendMode" but
decorates it as "unsigned"

To get the mechanics of this change correct, new accessors, animators
and animation functions need to be added for SVGAnimatedAngle,
SVGAnimatedEnumeration and SVGAnimatedOrientType. But since angle and
the orient type are paired under a single attribute, a pair accessor and
animator are also needed for the pair { angle, orientType }.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • svg/SVGAngle.h:

(WebCore::SVGAngle::create):
(WebCore::SVGAngle::unitType):
(WebCore::SVGAngle::setValueForBindings):
(WebCore::SVGAngle::valueForBindings):
(WebCore::SVGAngle::setValueInSpecifiedUnits):
(WebCore::SVGAngle::valueInSpecifiedUnits):
(WebCore::SVGAngle::setValueAsString):
(WebCore::SVGAngle::newValueSpecifiedUnits):
(WebCore::SVGAngle::convertToSpecifiedUnits):
(WebCore::SVGAngle::valueAsString): Deleted.
(WebCore::SVGAngle::SVGAngle): Deleted.

  • svg/SVGAnimatedAngle.cpp: Removed.
  • svg/SVGAnimatedAngle.h: Removed.
  • svg/SVGAnimatedEnumeration.cpp: Removed.
  • svg/SVGAnimatedEnumeration.h: Removed.
  • svg/SVGAnimatedType.h:

(WebCore::SVGAnimatedType::type const):

  • svg/SVGAnimatorFactory.h:

(WebCore::SVGAnimatorFactory::create):

  • svg/SVGClipPathElement.cpp:

(WebCore::SVGClipPathElement::SVGClipPathElement):
(WebCore::SVGClipPathElement::parseAttribute):
(WebCore::SVGClipPathElement::svgAttributeChanged):
(WebCore::SVGClipPathElement::registerAttributes): Deleted.

  • svg/SVGClipPathElement.h:
  • svg/SVGComponentTransferFunctionElement.cpp:

(WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
(WebCore::SVGComponentTransferFunctionElement::parseAttribute):
(WebCore::SVGComponentTransferFunctionElement::registerAttributes): Deleted.

  • svg/SVGComponentTransferFunctionElement.h:

(WebCore::SVGComponentTransferFunctionElement::type const):
(WebCore::SVGComponentTransferFunctionElement::typeAnimated):
(WebCore::SVGComponentTransferFunctionElement::attributeRegistry): Deleted.
(WebCore::SVGComponentTransferFunctionElement::isKnownAttribute): Deleted.

  • svg/SVGElement.cpp:

(WebCore::SVGElement::commitPropertyChange):

  • svg/SVGFEBlendElement.cpp:

(WebCore::SVGFEBlendElement::SVGFEBlendElement):
(WebCore::SVGFEBlendElement::parseAttribute):
(WebCore::SVGFEBlendElement::registerAttributes): Deleted.

  • svg/SVGFEBlendElement.h:

(WebCore::SVGPropertyTraits<BlendMode>::fromString):

  • svg/SVGFEColorMatrixElement.cpp:

(WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
(WebCore::SVGFEColorMatrixElement::parseAttribute):
(WebCore::SVGFEColorMatrixElement::registerAttributes): Deleted.

  • svg/SVGFEColorMatrixElement.h:
  • svg/SVGFECompositeElement.cpp:

(WebCore::SVGFECompositeElement::SVGFECompositeElement):
(WebCore::SVGFECompositeElement::parseAttribute):
(WebCore::SVGFECompositeElement::registerAttributes): Deleted.

  • svg/SVGFECompositeElement.h:
  • svg/SVGFEConvolveMatrixElement.cpp:

(WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
(WebCore::SVGFEConvolveMatrixElement::parseAttribute):
(WebCore::SVGFEConvolveMatrixElement::registerAttributes): Deleted.

  • svg/SVGFEConvolveMatrixElement.h:
  • svg/SVGFEDisplacementMapElement.cpp:

(WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
(WebCore::SVGFEDisplacementMapElement::parseAttribute):
(WebCore::SVGFEDisplacementMapElement::registerAttributes): Deleted.

  • svg/SVGFEDisplacementMapElement.h:
  • svg/SVGFEGaussianBlurElement.cpp:

(WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
(WebCore::SVGFEGaussianBlurElement::parseAttribute):
(WebCore::SVGFEGaussianBlurElement::svgAttributeChanged):
(WebCore::SVGFEGaussianBlurElement::registerAttributes): Deleted.

  • svg/SVGFEGaussianBlurElement.h:
  • svg/SVGFEMorphologyElement.cpp:

(WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement):
(WebCore::SVGFEMorphologyElement::parseAttribute):
(WebCore::SVGFEMorphologyElement::registerAttributes): Deleted.

  • svg/SVGFEMorphologyElement.h:
  • svg/SVGFETurbulenceElement.cpp:

(WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
(WebCore::SVGFETurbulenceElement::parseAttribute):
(WebCore::SVGFETurbulenceElement::svgAttributeChanged):
(WebCore::SVGFETurbulenceElement::registerAttributes): Deleted.

  • svg/SVGFETurbulenceElement.h:
  • svg/SVGFilterElement.cpp:

(WebCore::SVGFilterElement::SVGFilterElement):
(WebCore::SVGFilterElement::registerAttributes):
(WebCore::SVGFilterElement::parseAttribute):

  • svg/SVGFilterElement.h:
  • svg/SVGGradientElement.cpp:

(WebCore::SVGGradientElement::SVGGradientElement):
(WebCore::SVGGradientElement::registerAttributes):
(WebCore::SVGGradientElement::parseAttribute):

  • svg/SVGGradientElement.h:

(WebCore::SVGGradientElement::spreadMethod const):
(WebCore::SVGGradientElement::gradientUnits const):
(WebCore::SVGGradientElement::spreadMethodAnimated):
(WebCore::SVGGradientElement::gradientUnitsAnimated):

  • svg/SVGMarkerElement.cpp:

(WebCore::SVGMarkerElement::SVGMarkerElement):
(WebCore::SVGMarkerElement::registerAttributes):
(WebCore::SVGMarkerElement::parseAttribute):
(WebCore::SVGMarkerElement::setOrient):
(WebCore::SVGMarkerElement::setOrientToAngle):
(WebCore::SVGMarkerElement::orientTypeIdentifier): Deleted.
(WebCore::SVGMarkerElement::orientAngleIdentifier): Deleted.

  • svg/SVGMarkerElement.h:
  • svg/SVGMarkerTypes.h:

(WebCore::SVGPropertyTraits<SVGMarkerOrientType>::autoString):
(WebCore::SVGPropertyTraits<SVGMarkerOrientType>::autoStartReverseString):
(WebCore::SVGPropertyTraits<SVGMarkerOrientType>::fromString):
(WebCore::SVGPropertyTraits<SVGMarkerOrientType>::toString):

  • svg/SVGMaskElement.cpp:

(WebCore::SVGMaskElement::SVGMaskElement):
(WebCore::SVGMaskElement::registerAttributes):
(WebCore::SVGMaskElement::parseAttribute):

  • svg/SVGMaskElement.h:
  • svg/SVGPatternElement.cpp:

(WebCore::SVGPatternElement::SVGPatternElement):
(WebCore::SVGPatternElement::registerAttributes):
(WebCore::SVGPatternElement::parseAttribute):

  • svg/SVGPatternElement.h:
  • svg/SVGSVGElement.cpp:
  • svg/SVGScriptElement.cpp:
  • svg/SVGTextContentElement.cpp:

(WebCore::SVGTextContentElement::SVGTextContentElement):
(WebCore::SVGTextContentElement::registerAttributes):
(WebCore::SVGTextContentElement::parseAttribute):

  • svg/SVGTextContentElement.h:

(WebCore::SVGTextContentElement::lengthAdjust const):
(WebCore::SVGTextContentElement::lengthAdjustAnimated):

  • svg/SVGTextPathElement.cpp:

(WebCore::SVGTextPathElement::SVGTextPathElement):
(WebCore::SVGTextPathElement::registerAttributes):
(WebCore::SVGTextPathElement::parseAttribute):

  • svg/SVGTextPathElement.h:
  • svg/SVGValue.h:
  • svg/properties/SVGAnimatedDecoratedProperty.h: Added.

(WebCore::SVGAnimatedDecoratedProperty::create):
(WebCore::SVGAnimatedDecoratedProperty::SVGAnimatedDecoratedProperty):
(WebCore::SVGAnimatedDecoratedProperty::setBaseVal):
(WebCore::SVGAnimatedDecoratedProperty::setBaseValInternal):
(WebCore::SVGAnimatedDecoratedProperty::baseVal const):
(WebCore::SVGAnimatedDecoratedProperty::setAnimVal):
(WebCore::SVGAnimatedDecoratedProperty::animVal const):
(WebCore::SVGAnimatedDecoratedProperty::currentValue const):

  • svg/properties/SVGAnimatedEnumerationPropertyTearOff.h: Removed.
  • svg/properties/SVGAnimatedPropertyAccessorImpl.h:
  • svg/properties/SVGAnimatedPropertyAnimatorImpl.h:
  • svg/properties/SVGAnimatedPropertyImpl.h:

(WebCore::SVGAnimatedOrientType::create):

  • svg/properties/SVGAnimatedPropertyPairAccessorImpl.h:
  • svg/properties/SVGAnimatedPropertyPairAnimator.h:

(WebCore::SVGAnimatedPropertyPairAnimator::appendAnimatedInstance):

  • svg/properties/SVGAnimatedPropertyPairAnimatorImpl.h:
  • svg/properties/SVGAnimatedStaticPropertyTearOff.h: Removed.
  • svg/properties/SVGAnimationAdditiveValueFunctionImpl.h:

(WebCore::SVGAnimationAngleFunction::progress):

  • svg/properties/SVGAnimationDiscreteFunctionImpl.h:
  • svg/properties/SVGAttributeRegistry.h:
  • svg/properties/SVGDecoratedEnumeration.h: Added.

(WebCore::SVGDecoratedEnumeration::create):

  • svg/properties/SVGDecoratedPrimitive.h: Added.

(WebCore::SVGDecoratedPrimitive::SVGDecoratedPrimitive):

  • svg/properties/SVGDecoratedProperty.h: Added.

(WebCore::SVGDecoratedProperty::setValue):
(WebCore::SVGDecoratedProperty::value const):

  • svg/properties/SVGPropertyOwnerRegistry.h:

(WebCore::SVGPropertyOwnerRegistry::registerProperty):
(WebCore::SVGPropertyOwnerRegistry::isAnimatedLengthAttribute):

  • svg/properties/SVGPropertyRegistry.h:
  • svg/properties/SVGStaticPropertyTearOff.h: Removed.

LayoutTests:

  • svg/dom/SVGAnimatedEnumeration-SVGMarkerElement-expected.txt:
  • svg/dom/SVGAnimatedEnumeration-SVGMarkerElement.html:

Fixes cases that the tear off objects could not handle correctly for the
paired { angle, orientType }. Also when setting the orient type to "auto"
or "auto-start-reverse", the orient angle should be reset to
SVG_ANGLETYPE_UNSPECIFIED and is not suppsed to keep its original value.

6:21 PM Changeset in webkit [243477] by Shawn Roberts
  • 2 edits in trunk/LayoutTests

fast/visual-viewport/ios/min-scale-greater-than-one.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=196236

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations: Changing expectations due to test being flaky
6:19 PM Changeset in webkit [243476] by Fujii Hironori
  • 2 edits in trunk/Source/WebCore

[iOS] Break a reference cycle between PreviewLoader and ResourceLoader
https://bugs.webkit.org/show_bug.cgi?id=194964

Unreviewed build fix for WinCairo port.

error C2504: 'CanMakeWeakPtr': base class undefined

  • loader/ResourceLoader.h: Added #include <wtf/WeakPtr.h>.
5:43 PM Changeset in webkit [243475] by Fujii Hironori
  • 2 edits in trunk/Source/WebKit

[Coordinated Graphics][WinCairo] ASSERTION FAILED: state.id == m_nicosia.state.id
https://bugs.webkit.org/show_bug.cgi?id=196190

Reviewed by Žan Doberšek.

This assertion assumes the pre-committed and the committed scenes
are identical. But, the pre-committed scene is updated in the main
thread. Removed the false assertion.

  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:

(WebKit::CoordinatedGraphicsScene::purgeGLResources): Remove the
assertion. Removed layers of committed scene, not pre-committed
scene.

5:24 PM Changeset in webkit [243474] by Shawn Roberts
  • 2 edits in trunk/LayoutTests

fast/viewport/ios/initial-scale-after-changing-view-scale.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=196233

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations: Changing expectations due to test being flaky
4:58 PM Changeset in webkit [243473] by Shawn Roberts
  • 3 edits in trunk/LayoutTests

http/tests/cache-storage/cache-clearing-origin.https.html
http/tests/cache-storage/cache-records-persistency.https.html are flaky failures
https://bugs.webkit.org/show_bug.cgi?id=196228

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations: Changing expectations due to flaky tests
4:50 PM Changeset in webkit [243472] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit

Add socket-delegate to another entitlements config
rdar://problem/48090350 and https://bugs.webkit.org/show_bug.cgi?id=196227

Reviewed by Geoffrey Garen.

  • Configurations/Network-iOSMac.entitlements:
4:30 PM Changeset in webkit [243471] by aestes@apple.com
  • 7 edits in trunk/Source

[iOS] Break a reference cycle between PreviewLoader and ResourceLoader
https://bugs.webkit.org/show_bug.cgi?id=194964
<rdar://problem/48279441>

Reviewed by Alex Christensen.

Source/WebCore:

When a document's QuickLook preview is loaded, a reference cycle is created between
WebPreviewLoader and ResourceLoader. Break the cycle by changing WebPreviewLoader to hold a
WeakPtr to its ResourceLoader ResourceLoader::releaseResources().

Fixes leaks detected by run-webkit-tests --leaks LayoutTests/quicklook. Also covered by
existing API tests.

  • loader/ResourceLoader.h:
  • loader/ios/PreviewLoader.mm:

(-[WebPreviewLoader initWithResourceLoader:resourceResponse:]):
(-[WebPreviewLoader _sendDidReceiveResponseIfNecessary]):
(-[WebPreviewLoader connection:didReceiveData:lengthReceived:]):
(-[WebPreviewLoader connectionDidFinishLoading:]):
(-[WebPreviewLoader connection:didFailWithError:]):

Source/WebKitLegacy/mac:

The WebDataSource._quickLookContent SPI accidentally relied on PreviewLoaders being leaked
to keep the temporary file referenced by WebQuickLookFileNameKey in existence. Since
PreviewLoaders are now being deleted properly, we teach WebDataSource to keep the
PreviewLoaderClient alive for its lifetime. This ensures that as long as
WebDataSource._quickLookContent can be called, the associated temp file will not be deleted
by WebKit.

  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::createPreviewLoaderClient):

  • WebView/WebDataSource.mm:

(-[WebDataSource _quickLookPreviewLoaderClient]):
(-[WebDataSource _setQuickLookPreviewLoaderClient:]):

  • WebView/WebDataSourceInternal.h:
4:18 PM Changeset in webkit [243470] by commit-queue@webkit.org
  • 4 edits
    1 delete in trunk

Unreviewed, rolling out r243465.
https://bugs.webkit.org/show_bug.cgi?id=196226

the test doesn't build (Requested by thorton on #webkit).

Reverted changeset:

"Do not terminate the NetworkProcess if a third party
application sends a NSCredential with a SecIdentityRef"
https://bugs.webkit.org/show_bug.cgi?id=196213
https://trac.webkit.org/changeset/243465

4:11 PM Changeset in webkit [243469] by Simon Fraser
  • 2 edits in trunk/Source/WebKit

REGRESSION (r242687): Flicker when pinch-zooming pages in macOS Safari
https://bugs.webkit.org/show_bug.cgi?id=196126
rdar://problem/49095791

Reviewed by Tim Horton.

I fumbled the commit after the enum rename. Make this actually work.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::flushLayers):

4:11 PM Changeset in webkit [243468] by Simon Fraser
  • 2 edits in trunk/Source/WebKit

Zoom on macOS is centered around a point lower than the cursor
https://bugs.webkit.org/show_bug.cgi?id=196225
rdar://problem/49213574

Reviewed by Tim Horton.

The origin handed to ViewGestureController::handleMagnificationGestureEvent is in WKWebView
coordinates, but we end up setting the transform on the RenderView's layer, so we need
to subtract the topContentInset.

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::handleMagnificationGestureEvent):

3:40 PM Changeset in webkit [243467] by ysuzuki@apple.com
  • 60 edits in trunk/Source/JavaScriptCore

Heap::isMarked and friends should be instance methods
https://bugs.webkit.org/show_bug.cgi?id=179988

Reviewed by Saam Barati.

Almost all the callers of Heap::isMarked have VM& reference. We should make Heap::isMarked instance function instead of static function
so that we do not need to look up Heap from the cell.

  • API/JSAPIWrapperObject.mm:

(JSAPIWrapperObjectHandleOwner::isReachableFromOpaqueRoots):

  • API/JSMarkingConstraintPrivate.cpp:

(JSC::isMarked):

  • API/glib/JSAPIWrapperObjectGLib.cpp:

(JSAPIWrapperObjectHandleOwner::isReachableFromOpaqueRoots):

  • builtins/BuiltinExecutables.cpp:

(JSC::BuiltinExecutables::finalizeUnconditionally):

  • bytecode/AccessCase.cpp:

(JSC::AccessCase::visitWeak const):
(JSC::AccessCase::propagateTransitions const):

  • bytecode/CallLinkInfo.cpp:

(JSC::CallLinkInfo::visitWeak):

  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::finalize):

  • bytecode/CallLinkStatus.h:
  • bytecode/CallVariant.cpp:

(JSC::CallVariant::finalize):

  • bytecode/CallVariant.h:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::shouldJettisonDueToWeakReference):
(JSC::CodeBlock::shouldJettisonDueToOldAge):
(JSC::shouldMarkTransition):
(JSC::CodeBlock::propagateTransitions):
(JSC::CodeBlock::determineLiveness):
(JSC::CodeBlock::finalizeLLIntInlineCaches):
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::jettison):

  • bytecode/CodeBlock.h:
  • bytecode/ExecutableToCodeBlockEdge.cpp:

(JSC::ExecutableToCodeBlockEdge::visitChildren):
(JSC::ExecutableToCodeBlockEdge::finalizeUnconditionally):
(JSC::ExecutableToCodeBlockEdge::runConstraint):

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::finalize):

  • bytecode/GetByIdStatus.h:
  • bytecode/GetByIdVariant.cpp:

(JSC::GetByIdVariant::finalize):

  • bytecode/GetByIdVariant.h:
  • bytecode/InByIdStatus.cpp:

(JSC::InByIdStatus::finalize):

  • bytecode/InByIdStatus.h:
  • bytecode/InByIdVariant.cpp:

(JSC::InByIdVariant::finalize):

  • bytecode/InByIdVariant.h:
  • bytecode/ObjectPropertyCondition.cpp:

(JSC::ObjectPropertyCondition::isStillLive const):

  • bytecode/ObjectPropertyCondition.h:
  • bytecode/ObjectPropertyConditionSet.cpp:

(JSC::ObjectPropertyConditionSet::areStillLive const):

  • bytecode/ObjectPropertyConditionSet.h:
  • bytecode/PolymorphicAccess.cpp:

(JSC::PolymorphicAccess::visitWeak const):

  • bytecode/PropertyCondition.cpp:

(JSC::PropertyCondition::isStillLive const):

  • bytecode/PropertyCondition.h:
  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::finalize):

  • bytecode/PutByIdStatus.h:
  • bytecode/PutByIdVariant.cpp:

(JSC::PutByIdVariant::finalize):

  • bytecode/PutByIdVariant.h:
  • bytecode/RecordedStatuses.cpp:

(JSC::RecordedStatuses::finalizeWithoutDeleting):
(JSC::RecordedStatuses::finalize):

  • bytecode/RecordedStatuses.h:
  • bytecode/StructureSet.cpp:

(JSC::StructureSet::isStillAlive const):

  • bytecode/StructureSet.h:
  • bytecode/StructureStubInfo.cpp:

(JSC::StructureStubInfo::visitWeakReferences):

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::finalizeInGC):
(JSC::DFG::Plan::isKnownToBeLiveDuringGC):

  • heap/GCIncomingRefCounted.h:
  • heap/GCIncomingRefCountedInlines.h:

(JSC::GCIncomingRefCounted<T>::filterIncomingReferences):

  • heap/GCIncomingRefCountedSet.h:
  • heap/GCIncomingRefCountedSetInlines.h:

(JSC::GCIncomingRefCountedSet<T>::lastChanceToFinalize):
(JSC::GCIncomingRefCountedSet<T>::sweep):
(JSC::GCIncomingRefCountedSet<T>::removeAll): Deleted.
(JSC::GCIncomingRefCountedSet<T>::removeDead): Deleted.

  • heap/Heap.cpp:

(JSC::Heap::addToRememberedSet):
(JSC::Heap::runEndPhase):
(JSC::Heap::sweepArrayBuffers):
(JSC::Heap::addCoreConstraints):

  • heap/Heap.h:
  • heap/HeapInlines.h:

(JSC::Heap::isMarked):

  • heap/HeapSnapshotBuilder.cpp:

(JSC::HeapSnapshotBuilder::appendNode):

  • heap/SlotVisitor.cpp:

(JSC::SlotVisitor::appendToMarkStack):
(JSC::SlotVisitor::visitChildren):

  • jit/PolymorphicCallStubRoutine.cpp:

(JSC::PolymorphicCallStubRoutine::visitWeak):

  • runtime/ErrorInstance.cpp:

(JSC::ErrorInstance::finalizeUnconditionally):

  • runtime/InferredValueInlines.h:

(JSC::InferredValue::finalizeUnconditionally):

  • runtime/StackFrame.h:

(JSC::StackFrame::isMarked const):

  • runtime/Structure.cpp:

(JSC::Structure::isCheapDuringGC):
(JSC::Structure::markIfCheap):

  • runtime/Structure.h:
  • runtime/TypeProfiler.cpp:

(JSC::TypeProfiler::invalidateTypeSetCache):

  • runtime/TypeProfiler.h:
  • runtime/TypeSet.cpp:

(JSC::TypeSet::invalidateCache):

  • runtime/TypeSet.h:
  • runtime/WeakMapImpl.cpp:

(JSC::WeakMapImpl<WeakMapBucket<WeakMapBucketDataKeyValue>>::visitOutputConstraints):

  • runtime/WeakMapImplInlines.h:

(JSC::WeakMapImpl<WeakMapBucket>::finalizeUnconditionally):

3:15 PM Changeset in webkit [243466] by Shawn Roberts
  • 2 edits in trunk/LayoutTests

performance-api/performance-observer-periodic.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=196218

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations: Changing expectations due to flaky test
3:10 PM Changeset in webkit [243465] by commit-queue@webkit.org
  • 4 edits
    1 add in trunk

Do not terminate the NetworkProcess if a third party application sends a NSCredential with a SecIdentityRef
https://bugs.webkit.org/show_bug.cgi?id=196213

Patch by Alex Christensen <achristensen@webkit.org> on 2019-03-25
Reviewed by Geoff Garen.

Source/WebKit:

A release assertion added in r230225 was reachable. I reached it in a unit test that responds to a challenge
with a SecIdentityRef wrapped in an NSCredential.

  • Shared/cf/ArgumentCodersCF.cpp:

(IPC::decode):

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm: Added.

(credentialWithIdentityAndKeychainPath):
(-[ChallengeDelegate webView:didFinishNavigation:]):
(-[ChallengeDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]):
(TestWebKitAPI::TEST):

3:04 PM Changeset in webkit [243464] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews-build] Gracefully handle missing patch_id in events
https://bugs.webkit.org/show_bug.cgi?id=196216

Reviewed by Lucas Forschler.

  • BuildSlaveSupport/ews-build/events.py:
3:03 PM Changeset in webkit [243463] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews-build] use lz4 compression for improving buildbot performance
https://bugs.webkit.org/show_bug.cgi?id=196155

Reviewed by Lucas Forschler.

  • BuildSlaveSupport/ews-build/master.cfg:
2:39 PM Changeset in webkit [243462] by Wenson Hsieh
  • 3 edits in trunk/Tools

Pull some API testing helper methods out of TestWKWebView
https://bugs.webkit.org/show_bug.cgi?id=196212

Reviewed by Tim Horton.

Refactor some more API testing utility methods, so that they can be used in
tests that do not use TestWKWebView.

  • TestWebKitAPI/cocoa/TestWKWebView.h:
  • TestWebKitAPI/cocoa/TestWKWebView.mm:

(-[WKWebView loadTestPageNamed:]):
(-[WKWebView synchronouslyLoadHTMLString:baseURL:]):
(-[WKWebView synchronouslyLoadHTMLString:]):
(-[WKWebView synchronouslyLoadTestPageNamed:]):
(-[TestWKWebView loadTestPageNamed:]): Deleted.
(-[TestWKWebView synchronouslyLoadHTMLString:baseURL:]): Deleted.
(-[TestWKWebView synchronouslyLoadHTMLString:]): Deleted.
(-[TestWKWebView synchronouslyLoadTestPageNamed:]): Deleted.

2:28 PM Changeset in webkit [243461] by Chris Dumez
  • 3 edits in trunk/Source/WebKit

Get rid of WebPage::m_shouldResetDrawingAreaAfterSuspend flag
https://bugs.webkit.org/show_bug.cgi?id=196210
<rdar://problem/48681326>

Reviewed by Geoffrey Garen.

Get rid of WebPage::m_shouldResetDrawingAreaAfterSuspend flag and use the drawing area identifier
instead to reset the DrawingArea in the WebProcess whenever the UIProcess did.

This is less error-prone and guarantees that the WebProcess and the UIProcess can reliably
communicate via DrawingArea IPC.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::reinitializeWebPage):
(WebKit::WebPage::setIsSuspended):

  • WebProcess/WebPage/WebPage.h:
2:23 PM Changeset in webkit [243460] by achristensen@apple.com
  • 33 edits in trunk/Source

Enable IPC sending and receiving non-default-constructible types
https://bugs.webkit.org/show_bug.cgi?id=196132

Reviewed by Geoff Garen.

Source/WebCore:

This basically just requires the decoding of std::tuple to return an Optional<std::tuple> instead of
constructing a std::tuple then decoding into it. I now decode synchronous replies into an Optional<std::tuple>
then move it into the tuple of references where the successfully decoded reply should go. This required
the synchronous reply types be move constructible and move assignable.

  • Modules/indexeddb/shared/IDBRequestData.h:
  • Modules/indexeddb/shared/IDBTransactionInfo.h:
  • platform/DragImage.h:
  • platform/PasteboardWriterData.h:
  • platform/audio/mac/CAAudioStreamDescription.h:
  • platform/graphics/RemoteVideoSample.h:

Source/WebKit:

  • Platform/IPC/ArgumentCoder.h:
  • Platform/IPC/ArgumentCoders.h:

(IPC::TupleEncoder::encode):
(IPC::tupleFromTupleAndObject):
(IPC::TupleDecoderImpl::decode):
(IPC::TupleDecoderImpl<Type>::decode):
(IPC::TupleDecoder::decode):
(IPC::TupleDecoder<0>::decode):
(IPC::TupleCoder::encode): Deleted.
(IPC::TupleCoder::decode): Deleted.

  • Platform/IPC/Connection.h:

(IPC::Connection::sendWithReply):
(IPC::TupleMover::move):
(IPC::moveTuple):
(IPC::Connection::sendSync):

  • Platform/IPC/Decoder.h:

(IPC::Decoder::decode):
(IPC::Decoder::operator>>):

  • Platform/IPC/HandleMessage.h:

(IPC::handleMessage):
(IPC::handleMessageSynchronous):
(IPC::handleMessageSynchronousWantsConnection):
(IPC::handleMessageAsync):

  • Platform/SharedMemory.h:
  • Scripts/webkit/LegacyMessages-expected.h:
  • Scripts/webkit/Messages-expected.h:
  • Scripts/webkit/MessagesSuperclass-expected.h:
  • Scripts/webkit/messages.py:
  • Shared/Databases/IndexedDB/WebIDBResult.h:
  • Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h:
  • Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm:
  • Shared/ShareableBitmap.h:
  • Shared/ShareableResource.h:
  • Shared/UpdateInfo.h:
  • Shared/WebEvent.h:
  • Shared/WebProcessCreationParameters.cpp:
  • Shared/WebProcessCreationParameters.h:
  • Shared/mac/SecItemResponseData.cpp:

(WebKit::SecItemResponseData::SecItemResponseData):
(WebKit::SecItemResponseData::decode):

  • Shared/mac/SecItemResponseData.h:
  • WebProcess/MediaStream/MediaDeviceSandboxExtensions.h:
2:21 PM Changeset in webkit [243459] by achristensen@apple.com
  • 20 edits in trunk/Source/WebCore

Stop storing raw pointers to Documents
https://bugs.webkit.org/show_bug.cgi?id=196042

Reviewed by Geoff Garen.

Use WeakPtr instead! This could change some UAF bugs into null dereference crashes.

  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::CSSFontSelector):
(WebCore::CSSFontSelector::addFontFaceRule):
(WebCore::CSSFontSelector::fontRangesForFamily):

  • css/CSSFontSelector.h:
  • css/MediaQueryMatcher.cpp:

(WebCore::MediaQueryMatcher::MediaQueryMatcher):
(WebCore::MediaQueryMatcher::matchMedia):

  • css/MediaQueryMatcher.h:
  • css/StyleSheetList.cpp:

(WebCore::StyleSheetList::StyleSheetList):
(WebCore::StyleSheetList::ownerNode const):

  • css/StyleSheetList.h:
  • css/ViewportStyleResolver.cpp:

(WebCore::ViewportStyleResolver::ViewportStyleResolver):

  • css/ViewportStyleResolver.h:
  • dom/Document.h:

(WebCore::Document::setTemplateDocumentHost):
(WebCore::Document::templateDocumentHost):

  • dom/DocumentParser.cpp:

(WebCore::DocumentParser::DocumentParser):

  • dom/DocumentParser.h:

(WebCore::DocumentParser::document const):

  • dom/ScriptedAnimationController.cpp:

(WebCore::ScriptedAnimationController::ScriptedAnimationController):

  • dom/ScriptedAnimationController.h:
  • html/parser/HTMLScriptRunner.cpp:

(WebCore::HTMLScriptRunner::HTMLScriptRunner):
(WebCore::HTMLScriptRunner::runScript):

  • html/parser/HTMLScriptRunner.h:
  • loader/MediaResourceLoader.cpp:

(WebCore::MediaResourceLoader::MediaResourceLoader):

  • loader/MediaResourceLoader.h:
  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::canRequestInContentDispositionAttachmentSandbox const):
(WebCore::CachedResourceLoader::loadDone):

  • loader/cache/CachedResourceLoader.h:

(WebCore::CachedResourceLoader::document const):
(WebCore::CachedResourceLoader::setDocument):

2:14 PM Changeset in webkit [243458] by sbarati@apple.com
  • 1 edit
    3 copies in trunk/Websites/browserbench.org

Update browserbench.org/JetStream2.0 to the latest version.

Rubber-stamped by Filip Pizlo.

  • JetStream2.0: Replaced with ../../PerformanceTests/JetStream2.
2:12 PM Changeset in webkit [243457] by Truitt Savell
  • 38 edits
    17 deletes in trunk

Unreviewed, rolling out r243419.

Caused Mac WK2 testers to crash and become unresponsive.

Reverted changeset:

"[Web GPU] Prototype compute pipeline with MSL"
https://bugs.webkit.org/show_bug.cgi?id=196107
https://trac.webkit.org/changeset/243419

2:10 PM Changeset in webkit [243456] by Truitt Savell
  • 28 edits
    1 copy in trunk

Unreviewed, rolling out r243438.

243319 Caused Mac WK2 testers to crash and become
unresponsive.

Reverted changeset:

"Update WebGPU class names based on sketch.idl"
https://bugs.webkit.org/show_bug.cgi?id=194260
https://trac.webkit.org/changeset/243438

2:03 PM Changeset in webkit [243455] by sbarati@apple.com
  • 3 edits in trunk/PerformanceTests

Update the blurb describing JetStream2 and fix a broken link in the in-depth page.

Rubber-stamped by Filip Pizlo.

  • JetStream2/in-depth.html:
  • JetStream2/index.html:
1:55 PM Changeset in webkit [243454] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebKit

Animated keyboard scrolling is extremely chaotic
https://bugs.webkit.org/show_bug.cgi?id=196164
<rdar://problem/48702444>

Reviewed by Simon Fraser.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _interpretKeyEvent:isCharEvent:]):
Consume keyboard events instead of interpreting them traditionally
if WKKeyboardScrollingAnimator is animating.

  • UIProcess/ios/WKKeyboardScrollingAnimator.h:
  • UIProcess/ios/WKKeyboardScrollingAnimator.mm:

(-[WKKeyboardScrollingAnimator beginWithEvent:]):
(-[WKKeyboardScrollingAnimator handleKeyEvent:]):
(-[WKKeyboardScrollingAnimator stopAnimatedScroll]):
(-[WKKeyboardScrollingAnimator scrollTriggeringKeyIsPressed]):
(-[WKKeyboardScrollingAnimator displayLinkFired:]):
(-[WKKeyboardScrollViewAnimator scrollTriggeringKeyIsPressed]):
Expose the current state of interactive scrolling, and rename the related member.

1:46 PM Changeset in webkit [243453] by Keith Rollin
  • 3 edits in trunk/Source/WebKit

Add WebKit logging for first paint and other interesting layout milestones
https://bugs.webkit.org/show_bug.cgi?id=196159
<rdar://problem/49128952>

Reviewed by Simon Fraser.

Add some logging to indicate what layout milestones have been reached.
This should help us determine if there's a client, rendering, layout,
or some other issue when page content does not appear in the client
window.

The logging is being added to
WebFrameLoaderClient::dispatchDidReachLayoutMilestone. This seems like
a nice central place to capture layout milestones. However, it will
only log notifications that are being sent to clients. It does not
indicate all milestones that have occurred. That is, it does not
report milestones that are filtered out due to client disinterest.
There doesn't seem to be a good central place to capture all
milestones, regardless of client interest.

  • Platform/Logging.h:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidReachLayoutMilestone):

1:45 PM Changeset in webkit [243452] by Joseph Pecoraro
  • 6 edits
    1 add in trunk

Web Inspector: Page Weight indicator clears on pages with zero length resources (macrumors.com)
https://bugs.webkit.org/show_bug.cgi?id=196170

Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

  • UserInterface/Models/DefaultDashboard.js:

(WI.DefaultDashboard.prototype._resourceSizeDidChange):
Catch NaN earlier.

  • UserInterface/Models/Resource.js:

(WI.Resource.prototype.updateWithMetrics):
When we receive exact metrics transition the estimated size to zero,
since we won't receive any more updates for the resource.

LayoutTests:

  • http/tests/inspector/network/resource-sizes-network.html:
  • http/tests/inspector/network/resources/empty.txt: Added.
  • platform/mac/http/tests/inspector/network/resource-sizes-network-expected.txt:
1:43 PM Changeset in webkit [243451] by eric.carlson@apple.com
  • 5 edits
    2 deletes in trunk

Delete MetadataPreloadingNotPermitted, it is unused
https://bugs.webkit.org/show_bug.cgi?id=196202
<rdar://problem/49213611>

Reviewed by Jer Noble.

Source/WebCore:

No new tests, the flat was unused except in an existing test that was removed.

  • html/MediaElementSession.cpp:

(WebCore::restrictionNames):
(WebCore::MediaElementSession::effectivePreloadForElement const):

  • html/MediaElementSession.h:
  • platform/graphics/cg/UTIRegistry.cpp:

(WebCore::defaultSupportedImageTypes):

  • testing/Internals.cpp:

(WebCore::Internals::setMediaElementRestrictions):

LayoutTests:

  • media/video-restricted-no-preload-metadata-expected.txt: Removed.
  • media/video-restricted-no-preload-metadata.html: Removed.
1:39 PM Changeset in webkit [243450] by jer.noble@apple.com
  • 20 edits
    3 adds in trunk

Source/WebCore:
Test for: 196095 Inband Text Track cues interspersed with Data cues can display out of order.
https://bugs.webkit.org/show_bug.cgi?id=196097

Reviewed by Eric Carlson.

Test: media/track/track-in-band-metadata-display-order.html

Add a method in Internals to create a TextTrackCueGeneric (which can normally only be created
by parsing an in-band media track). This requires adding IDL for TextTrackCueGeneric, and exporting
TextTrackCueGeneric for testing.

Drive-by fixes:

Add runtime logging to MediaControlTextTrackContainerElement. This necessitates modifying the
parentMediaElement() method to take a const Node*, and const_cast that constness away in order to return
a HTMLMediaElement*

TextTrackCue, VTTCue, TextTrackCueGeneric, and DataCue should all use the WTF TypeCasts macros to
enable use of is<> and downcast<>.

  • Source/WebCore/CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • html/shadow/MediaControlElementTypes.cpp:

(WebCore::parentMediaElement):

  • html/shadow/MediaControlElementTypes.h:
  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlTextTrackContainerElement::updateDisplay):
(WebCore::MediaControlTextTrackContainerElement::logger const):
(WebCore::MediaControlTextTrackContainerElement::logIdentifier const):
(WebCore::MediaControlTextTrackContainerElement::logChannel const):

  • html/shadow/MediaControlElements.h:
  • html/track/DataCue.h:

(isType):

  • html/track/TextTrackCueGeneric.h:

(isType):

  • html/track/TextTrackCueGeneric.idl: Added.
  • html/track/VTTCue.h:

(isType):

  • testing/Internals.cpp:

(WebCore::Internals::createGenericCue):

  • testing/Internals.h:
  • testing/Internals.idl:

Tools:
Test for: 196095 Inband Text Track cues interspersed with Data cues can display out of order.
https://bugs.webkit.org/show_bug.cgi?id=196097

Reviewed by Eric Carlson.

Drive-by bug fix: allow tests to play audio without a user gesture by default.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetWebPreferencesToConsistentValues):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetPreferencesToConsistentValues):

LayoutTests:
Add test for fix of #196095
https://bugs.webkit.org/show_bug.cgi?id=196097

Reviewed by Eric Carlson.

  • media/track/track-in-band-metadata-display-order-expected.txt: Added.
  • media/track/track-in-band-metadata-display-order.html: Added.
1:38 PM Changeset in webkit [243449] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit

[GTK][WPE] Remove network access from web process sandbox
https://bugs.webkit.org/show_bug.cgi?id=189967

Patch by Patrick Griffis <Patrick Griffis> on 2019-03-25
Reviewed by Michael Catanzaro.

  • UIProcess/Launcher/glib/BubblewrapLauncher.cpp:

(WebKit::createFlatpakInfo):
(WebKit::bubblewrapSpawn):

  • UIProcess/Launcher/glib/FlatpakLauncher.cpp:

(WebKit::flatpakSpawn):

1:29 PM Changeset in webkit [243448] by keith_miller@apple.com
  • 3 edits
    1 add in trunk

ASSERTION FAILED: m_op == CompareStrictEq in JSC::DFG::Node::convertToCompareEqPtr(JSC::DFG::FrozenValue *, JSC::DFG::Edge)
https://bugs.webkit.org/show_bug.cgi?id=196176

Reviewed by Saam Barati.

JSTests:

  • stress/object-is-fold-to-compare-eq-ptr.js: Added.

(main.v10):
(main):

Source/JavaScriptCore:

convertToCompareEqPtr should allow for either CompareStrictEq or
the SameValue DFG node. This fixes the old assertion that only
allowed CompareStrictEq.

  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToCompareEqPtr):

1:23 PM Changeset in webkit [243447] by aestes@apple.com
  • 5 edits in trunk/Source/WebKit

[Apple Pay] Call +canMakePayments on a work queue
https://bugs.webkit.org/show_bug.cgi?id=196179
<rdar://problem/45388749>

Reviewed by Brady Eidson.

Calling +canMakePayments on either PKPaymentAuthorizationController or
PKPaymentAuthorizationViewController results in synchronous IPC and is therefore very
expensive to call on the main thread. On iOS, these calls are made in the network process,
and on Mac in the UI process.

Call these methods on a work queue to avoid main thread spins.

  • Shared/ApplePay/WebPaymentCoordinatorProxy.cpp:

(WebKit::WebPaymentCoordinatorProxy::canMakePayments):

  • Shared/ApplePay/WebPaymentCoordinatorProxy.h:
  • Shared/ApplePay/ios/WebPaymentCoordinatorProxyIOS.mm:

(WebKit::WebPaymentCoordinatorProxy::platformCanMakePayments):

  • Shared/ApplePay/mac/WebPaymentCoordinatorProxyMac.mm:

(WebKit::WebPaymentCoordinatorProxy::platformCanMakePayments):

12:11 PM Changeset in webkit [243446] by Tadeu Zagallo
  • 6 edits in trunk

WebAssembly: f32.max with NaN generates incorrect result
https://bugs.webkit.org/show_bug.cgi?id=175691
<rdar://problem/33952228>

Reviewed by Saam Barati.

JSTests:

Enable all f32.max NaN tests

  • wasm/spec-tests/f32.wast.js:
  • wasm/wasm.json:

Source/JavaScriptCore:

Fix the B3 and Air compilation for f32.max. In order to handle the NaN
case, we need an extra GreaterThan comparison on top of the existing
Equal and LessThan ones.

  • wasm/WasmAirIRGenerator.cpp:

(JSC::Wasm::AirIRGenerator::addOp<OpType::F32Max>):

  • wasm/wasm.json:
12:09 PM Changeset in webkit [243445] by Wenson Hsieh
  • 3 edits
    1 add in trunk/Tools

Pull IPadUserInterfaceSwizzler out into a separate header file
https://bugs.webkit.org/show_bug.cgi?id=196193

Reviewed by Anders Carlsson.

Pull the IPadUserInterfaceSwizzler helper class out into a separate file, so that it may
be used in other API tests.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/ios/ActionSheetTests.mm:

(TestWebKitAPI::IPadUserInterfaceSwizzler::IPadUserInterfaceSwizzler): Deleted.
(TestWebKitAPI::IPadUserInterfaceSwizzler::padUserInterfaceIdiom): Deleted.

  • TestWebKitAPI/ios/IPadUserInterfaceSwizzler.h: Added.

(TestWebKitAPI::IPadUserInterfaceSwizzler::IPadUserInterfaceSwizzler):
(TestWebKitAPI::IPadUserInterfaceSwizzler::padUserInterfaceIdiom):

11:27 AM Changeset in webkit [243444] by Antti Koivisto
  • 3 edits
    2 adds in trunk

Toggling "display: contents" to "display: none" fails to hide the element
https://bugs.webkit.org/show_bug.cgi?id=188259
<rdar://problem/42886896>

Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/css/display-contents-to-none.html

  • style/StyleTreeResolver.cpp:

(WebCore::Style::affectsRenderedSubtree):

An element with 'display:contents' has a rendered subtree.

LayoutTests:

  • fast/css/display-contents-to-none-expected.html: Added.
  • fast/css/display-contents-to-none.html: Added.
11:26 AM Changeset in webkit [243443] by aestes@apple.com
  • 10 edits
    2 adds in trunk/Source/WebKit

[Apple Pay] Remove the AvailablePaymentNetworks synchronous message
https://bugs.webkit.org/show_bug.cgi?id=196180

Reviewed by Youenn Fablet.

Unlike many PassKit interactions, it's ok to call +[PKPaymentRequest availableNetworks]
without an entitlement. Therefore, we can call it from the web process directly rather than
synchronously messaging the entitled UI or networking process.

  • Shared/ApplePay/WebPaymentCoordinatorProxy.cpp:
  • Shared/ApplePay/WebPaymentCoordinatorProxy.h:
  • Shared/ApplePay/WebPaymentCoordinatorProxy.messages.in:
  • Shared/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
  • SourcesCocoa.txt:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/ApplePay/WebPaymentCoordinator.cpp:

(WebKit::WebPaymentCoordinator::availablePaymentNetworks):

  • WebProcess/ApplePay/WebPaymentCoordinator.h:
  • WebProcess/ApplePay/cocoa/WebPaymentCoordinatorCocoa.mm: Added.

(WebKit::WebPaymentCoordinator::platformAvailablePaymentNetworks const):

  • WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:

(-[WKAccessibilityWebPageObjectBase accessibilityRootObjectWrapper]):
(-[WKAccessibilityWebPageObjectBase setWebPage:]):

11:13 AM Changeset in webkit [243442] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, speculative fix for CLoop build on CPU(UNKNOWN)
https://bugs.webkit.org/show_bug.cgi?id=195982

  • jit/ExecutableAllocator.h:

(JSC::ExecutableAllocator::initializeUnderlyingAllocator):

11:05 AM WebKitGTK/2.24.x edited by Adrian Perez de Castro
(diff)
10:57 AM Changeset in webkit [243441] by commit-queue@webkit.org
  • 2 edits in trunk

[WTF] Fix typo when forcing WTF_CPU_X86
https://bugs.webkit.org/show_bug.cgi?id=196204

Patch by Xan López <Xan Lopez> on 2019-03-25
Reviewed by Michael Catanzaro.

Fix a typo when setting the WTF_CPU variable for X86.

  • CMakeLists.txt:
9:11 AM Changeset in webkit [243440] by Diego Pino Garcia
  • 1 edit
    3 adds in trunk/LayoutTests

[GTK] Gardening, update expected results for several smart-delete-paragraph tests

Unreviewed test gardening.

  • platform/gtk/editing/deleting/smart-delete-paragraph-001-expected.txt: Added.
  • platform/gtk/editing/deleting/smart-delete-paragraph-002-expected.txt: Added.
  • platform/gtk/editing/deleting/smart-delete-paragraph-004-expected.txt: Added.
8:37 AM Changeset in webkit [243439] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Unreviewed, tiny fix after r243388 to address API test failures on iOS

m_processType was properly initialized on macOS but not iOS.

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeProcess):

8:29 AM Changeset in webkit [243438] by Justin Fan
  • 28 edits
    1 delete in trunk

Update WebGPU class names based on sketch.idl
https://bugs.webkit.org/show_bug.cgi?id=194260

Reviewed by Dean Jackson.
Source/WebCore:

Update all exposed Web GPU interface names to GPU* prefix.

Existing Web GPU tests updated to expect new names.

  • Modules/webgpu/WebGPU.idl:
  • Modules/webgpu/WebGPUAdapter.idl:
  • Modules/webgpu/WebGPUBindGroup.idl:
  • Modules/webgpu/WebGPUBindGroupLayout.idl:
  • Modules/webgpu/WebGPUBuffer.idl:
  • Modules/webgpu/WebGPUDevice.idl:
  • Modules/webgpu/WebGPUInputStepMode.h: Removed.
  • Modules/webgpu/WebGPUPipelineLayout.idl:
  • Modules/webgpu/WebGPUProgrammablePassEncoder.idl:
  • Modules/webgpu/WebGPUQueue.idl:
  • Modules/webgpu/WebGPURenderPassEncoder.idl:
  • Modules/webgpu/WebGPURenderPipeline.idl:
  • Modules/webgpu/WebGPUSampler.idl:
  • Modules/webgpu/WebGPUTexture.idl:
  • Modules/webgpu/WebGPUTextureView.idl:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/WebCoreBuiltinNames.h:

LayoutTests:

Update all exposed Web GPU interface names to GPU* prefix.

  • webgpu/adapter-options.html:
  • webgpu/bind-groups.html:
  • webgpu/map-read-buffers.html:
  • webgpu/map-write-buffers.html:
  • webgpu/pipeline-layouts.html:
  • webgpu/queue-creation.html:
  • webgpu/render-command-encoding.html:
  • webgpu/render-pipelines.html:
  • webgpu/textures-textureviews.html:
  • webgpu/webgpu-enabled.html:
8:07 AM Changeset in webkit [243437] by jfernandez@igalia.com
  • 8 edits
    24 adds in trunk

A single leading space is not considered as a word break even when word-break: break-all is set
https://bugs.webkit.org/show_bug.cgi?id=195361

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Imported additonal WPT from the CSS Text Suite that verify the
change doesn't regress in any case, specially for the word-break:
break-word feature.

  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-007-expected.html: Added.
  • web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-007.html: Added.
  • web-platform-tests/css/css-text/overflow-wrap/w3c-import.log:
  • web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html: Added.
  • web-platform-tests/css/css-text/white-space/pre-wrap-008.html: Added.
  • web-platform-tests/css/css-text/white-space/w3c-import.log:
  • web-platform-tests/css/css-text/word-break/w3c-import.log:
  • web-platform-tests/css/css-text/word-break/word-break-break-all-015-expected.html: Added.
  • web-platform-tests/css/css-text/word-break/word-break-break-all-015.html: Added.

Source/WebCore:

We must consider leading white-spaces as potential soft-breaking
opportunities that may avoid breaking in the middle of the word.

However, 'break-word: break-all' [1] implies that we should ignore
previous opportunities and break at any character (among the ones
valid for 'break-all') that prevents the line to overflow. Note,
that these breakable characters are different from the ones
provided by 'line-break: anywhere' [2].

This change is covered by the already existent tests of the CSS
Text 3 suite of the Web Platform Tests.

The word-break-break-all-010.html was precisely designed to cover
the basic issue fixed with this change, verifying that the word is
indeed broken even if a single leading space constitutes a
previous soft-breaking opportunity.

There are other Web Platform Tests. which already pass before this
change, to verify that such leading white-space must be used
instead of breaking the word in any other case, including
overflow-wrap: break-word and even the deprecated word-break:
break-word.

  • white-space/pre-wrap-008.html
  • white-space/pre-wrap-015.html
  • white-space/pre-wrap-016.html
  • overflow-wrap/overflow-wrap-break-word-004.html
  • overflow-wrap/overflow-wrap-break-word-005.html
  • overflow-wrap/overflow-wrap-break-word-007.html
  • word-break/word-break-break-all-011.html
  • word-break/word-break-break-all-014.html

The reason why the word-break-break-all-010.html passes in Mac
platform is that for that case the SimpleLineLayout codepath is
executed instead, which doesn't have this bug, present in the old
line-breaking logic implemented in the BreakingContext class.

In order to verify the validity of this change, I've added several
tests under fast/text with the SimpleLineLayout disabled.

Tests: fast/text/overflow-wrap-break-word-004.html

fast/text/overflow-wrap-break-word-005.html
fast/text/overflow-wrap-break-word-007.html
fast/text/whitespace/pre-wrap-008.html
fast/text/whitespace/pre-wrap-015.html
fast/text/whitespace/pre-wrap-016.html
fast/text/word-break-break-all-010.html
fast/text/word-break-break-all-011.html
fast/text/word-break-break-all-015.html
imported/w3c/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-007.html
imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008.html
imported/w3c/web-platform-tests/css/css-text/word-break/word-break-break-all-015.html

  • rendering/line/BreakingContext.h:

(WebCore::BreakingContext::handleText):

LayoutTests:

Removed some entries from the GTK expectation file.
Added tests to verify the codepath with SimpleLineLayout disabled.

  • fast/text/overflow-wrap-break-word-004-expected.html: Added.
  • fast/text/overflow-wrap-break-word-004.html: Added.
  • fast/text/overflow-wrap-break-word-005-expected.html: Added.
  • fast/text/overflow-wrap-break-word-005.html: Added.
  • fast/text/overflow-wrap-break-word-007-expected.html: Added.
  • fast/text/overflow-wrap-break-word-007.html: Added.
  • fast/text/whitespace/pre-wrap-008-expected.html: Added.
  • fast/text/whitespace/pre-wrap-008.html: Added.
  • fast/text/whitespace/pre-wrap-015-expected.html: Added.
  • fast/text/whitespace/pre-wrap-015.html: Added.
  • fast/text/whitespace/pre-wrap-016-expected.html: Added.
  • fast/text/whitespace/pre-wrap-016.html: Added.
  • fast/text/word-break-break-all-010-expected.html: Added.
  • fast/text/word-break-break-all-010.html: Added.
  • fast/text/word-break-break-all-011-expected.html: Added.
  • fast/text/word-break-break-all-011.html: Added.
  • fast/text/word-break-break-all-015-expected.html: Added.
  • fast/text/word-break-break-all-015.html: Added.
  • platform/gtk/TestExpectations:
    • word-break-break-all-010.html passes now thanks to this change.
7:42 AM Changeset in webkit [243436] by Diego Pino Garcia
  • 3 edits
    1 delete in trunk/LayoutTests

[GTK][WPE] Gardening, update test expectations.

Unreviewed test gardening.

  • platform/gtk/TestExpectations:
  • platform/gtk/fast/text/ja-sans-serif-expected.png: Removed.

Test harnessing suggested to remove this file as it was not being used.

  • platform/wpe/TestExpectations:
3:30 AM Changeset in webkit [243435] by commit-queue@webkit.org
  • 6 edits
    3 adds in trunk

Reflect HTMLLinkElement.as according to the spec
https://bugs.webkit.org/show_bug.cgi?id=196189

Patch by Rob Buis <rbuis@igalia.com> on 2019-03-25
Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Update improved test result and import reflected-as-value.html.

  • web-platform-tests/html/dom/reflection-metadata-expected.txt:
  • web-platform-tests/preload/reflected-as-value-expected.txt: Added.
  • web-platform-tests/preload/reflected-as-value.html: Added.

Source/WebCore:

The 'as' attribute is an enumerated attribute [1] and should
reflect using a finite set of keywords, so lowercase the as getter
to match the defined set of destinations [2].

Test: imported/w3c/web-platform-tests/preload/reflected-as-value.html

[1] https://html.spec.whatwg.org/#enumerated-attribute
[2] https://fetch.spec.whatwg.org/#concept-request-destination

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::as const):

LayoutTests:

Update improved test result.

  • platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/reflection-metadata-expected.txt:
2:11 AM Changeset in webkit [243434] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit

[GTK][WPE] Do not allow changes in active URI before provisional load starts for non-API requests
https://bugs.webkit.org/show_bug.cgi?id=194208

Reviewed by Michael Catanzaro.

  • UIProcess/API/glib/WebKitWebView.cpp:

(webkitWebViewWillStartLoad): Block updates of active URL.
(webkitWebViewLoadChanged): Unblock updates of active URL on WEBKIT_LOAD_STARTED.

1:07 AM Changeset in webkit [243433] by Gyuyoung Kim
  • 24 edits
    3 deletes in trunk

Remove NavigatorContentUtils in WebCore/Modules
https://bugs.webkit.org/show_bug.cgi?id=196070

Reviewed by Alex Christensen.

NavigatorContentUtils was to support the custom scheme spec [1].
However, in WebKit side, no port has supported the feature in
WebKit layer after EFL port was removed. So there has been the
only IDL implementation of the NavigatorContentUtils in WebCore.
Source/JavaScriptCore:

So we don't need to keep the implementation in WebCore anymore.

[1] https://html.spec.whatwg.org/multipage/system-state.html#custom-handlers

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

So we don't need to keep the implementation in WebCore anymore.

[1] https://html.spec.whatwg.org/multipage/system-state.html#custom-handlers

No new tests because this patch is just to remove the feature.

  • CMakeLists.txt:
  • Modules/navigatorcontentutils/NavigatorContentUtils.cpp: Removed.
  • Modules/navigatorcontentutils/NavigatorContentUtils.h: Removed.
  • Modules/navigatorcontentutils/NavigatorContentUtils.idl: Removed.
  • Modules/navigatorcontentutils/NavigatorContentUtilsClient.h: Removed.
  • Sources.txt:

Source/WebCore/PAL:

So we don't need to keep the implementation in WebCore anymore.

[1] https://html.spec.whatwg.org/multipage/system-state.html#custom-handlers

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit:

So we don't need to keep the implementation in WebCore anymore.

[1] https://html.spec.whatwg.org/multipage/system-state.html#custom-handlers

  • Configurations/FeatureDefines.xcconfig:
  • WebProcess/WebCoreSupport/WebNavigatorContentUtilsClient.h: Removed.

Source/WebKitLegacy/mac:

So we don't need to keep the implementation in WebKit.

  • Configurations/FeatureDefines.xcconfig:

Tools:

So we don't need to keep the implementation in WebCore anymore.

[1] https://html.spec.whatwg.org/multipage/system-state.html#custom-handlers

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

LayoutTests:

So we don't need to keep the implementation in WebCore anymore.

[1] https://html.spec.whatwg.org/multipage/system-state.html#custom-handlers

  • fast/dom/NavigatorContentUtils/is-protocol-handler-registered-expected.txt: Removed.
  • fast/dom/NavigatorContentUtils/is-protocol-handler-registered.html: Removed.
  • fast/dom/NavigatorContentUtils/register-protocol-handler-expected.txt: Removed.
  • fast/dom/NavigatorContentUtils/register-protocol-handler.html: Removed.
  • fast/dom/NavigatorContentUtils/unregister-protocol-handler-expected.txt: Removed.
  • fast/dom/NavigatorContentUtils/unregister-protocol-handler.html: Removed.
  • platform/gtk/TestExpectations:
  • platform/ios/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/wincairo/TestExpectations:
  • platform/wpe/TestExpectations:
12:46 AM Changeset in webkit [243432] by Manuel Rego Casasnovas
  • 4 edits
    2 adds in trunk

[css-grid] Fix grid container baseline alignment for orthogonal items
https://bugs.webkit.org/show_bug.cgi?id=196141

Reviewed by Javier Fernandez.

LayoutTests/imported/w3c:

Imported test from WPT. This patch is making some of the test cases pass but not all.
Some are still failing in WebKit as it never uses the central baseline on vertical writing modes (bug #94410),
also "text-orientation" is not supported yet in WebKit (bug #196139),
even the prefixed version "-webkit-text-orientation" doesn't fix anything in this test case.

  • web-platform-tests/css/css-grid/alignment/grid-container-baseline-001-expected.txt: Added.
  • web-platform-tests/css/css-grid/alignment/grid-container-baseline-001.html: Added.
  • web-platform-tests/css/css-grid/alignment/w3c-import.log:

Source/WebCore:

Grid container baseline was wrongly computed when done in reference to an orthogonal item.

Test: imported/w3c/web-platform-tests/css/css-grid/alignment/grid-container-baseline-001.html

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::firstLineBaseline const): Simple change to use logicalTopForChild()
so it takes into account grid container and item writing modes.

Mar 24, 2019:

11:24 PM Changeset in webkit [243431] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit

Unreviewed WPE build fix.

  • UIProcess/wpe/WebPasteboardProxyWPE.cpp:

Add an explicit CompletionHandler.h include to avoid a trip-up in
unified builds.

10:09 PM Changeset in webkit [243430] by Fujii Hironori
  • 2 edits in trunk/Source/WebKit

[WinCairo] WebProcessDataStoreParameters.h(32): error C2653: 'SandboxExtension': is not a class or namespace name
https://bugs.webkit.org/show_bug.cgi?id=196192

Unreviewed for WinCairo port.

  • Shared/WebProcessDataStoreParameters.h: Added #include "SandboxExtension.h".
7:53 PM Changeset in webkit [243429] by keith_miller@apple.com
  • 2 edits in trunk/Source/WTF

Unreviewed, forgot to refactor variable name for windows build in
r243418.

  • wtf/MathExtras.h:

(WTF::clz):
(WTF::ctz):

5:41 PM Changeset in webkit [243428] by dinfuehr@igalia.com
  • 1 edit
    1 move in trunk/JSTests

[JSC] Move test into directory for WASM tests
https://bugs.webkit.org/show_bug.cgi?id=196187

Reviewed by Mark Lam.

Move Test into wasm-directory. Otherwise this test
is also executed on systems without WASM support.

  • wasm/regress/web-assembly-link-error-exception-check.js: Renamed from JSTests/stress/web-assembly-link-error-exception-check.js.
1:42 PM Changeset in webkit [243427] by aestes@apple.com
  • 20 edits
    1 delete in trunk

[watchOS] Remove unused Proximity Networking code
https://bugs.webkit.org/show_bug.cgi?id=196188

Reviewed by Tim Horton.

Source/WebKit:

  • Configurations/WebKit.xcconfig:
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::NetworkProcess):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):

  • NetworkProcess/NetworkProcessCreationParameters.h:
  • NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):

  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::platformPrepareToSuspend):
(WebKit::NetworkProcess::platformProcessDidResume):
(WebKit::NetworkProcess::platformProcessDidTransitionToBackground):
(WebKit::NetworkProcess::platformProcessDidTransitionToForeground):

  • NetworkProcess/watchos/NetworkProximityAssertion.h: Removed.
  • NetworkProcess/watchos/NetworkProximityAssertion.mm: Removed.
  • NetworkProcess/watchos/NetworkProximityManager.h: Removed.
  • NetworkProcess/watchos/NetworkProximityManager.mm: Removed.
  • SourcesCocoa.txt:
  • UIProcess/API/APIProcessPoolConfiguration.cpp:

(API::ProcessPoolConfiguration::copy):

  • UIProcess/API/APIProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:

(-[_WKProcessPoolConfiguration wirelessContextIdentifier]):
(-[_WKProcessPoolConfiguration setWirelessContextIdentifier:]):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeNetworkProcess):

  • WebKit.xcodeproj/project.pbxproj:

Source/WTF:

  • wtf/FeatureDefines.h:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm:

(TEST):

1:23 PM Changeset in webkit [243426] by Devin Rousso
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Canvas: WebGL action icon shouldn't invert when selected
https://bugs.webkit.org/show_bug.cgi?id=196135

Reviewed by Timothy Hatcher.

  • UserInterface/Views/RecordingActionTreeElement.js:

(WI.RecordingActionTreeElement._classNameForAction):
(WI.RecordingActionTreeElement._classNameForAction.classNameForActionName): Deleted.
Remove unnecessary logging and memoization.

  • UserInterface/Views/RecordingActionTreeElement.css:

(.tree-outline:focus .item.recording-action.selected:not(.invalid, .initial-state, .has-context-replacer, .name-unknown) > .icon): Added.
(@media (prefers-color-scheme: dark)):
(.item.recording-action:not(.invalid, .initial-state, .has-context-replacer, .name-unknown) > .icon): Added.
(.tree-outline:focus .item.recording-action.selected:not(.invalid, .initial-state, .has-context-replacer) > .icon): Deleted.
(.item.recording-action.has-context-replacer > .icon): Deleted.
(.item.recording-action:not(.invalid, .initial-state, .has-context-replacer) > .icon): Deleted.
Simplify styles between light and dark mode.

1:21 PM Changeset in webkit [243425] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: testCellRoleForRequiredChidren accessibility audit checks for rows in cells
https://bugs.webkit.org/show_bug.cgi?id=195988

Patch by Simon Welsh <simon@welsh-au.com> on 2019-03-24
Reviewed by Timothy Hatcher.

The audit now checks that rows contain cells, allowing any of the four
cell-based roles.

  • UserInterface/Controllers/AuditManager.js:

(WI.AuditManager.prototype.addDefaultTestsIfNeeded):
(WI.AuditManager):
(WI.AuditManager.prototype.addDefaultTestsIfNeeded.const.testCellRoleForRequiredChidren): Deleted.

1:21 PM Changeset in webkit [243424] by Devin Rousso
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Canvas: missing icons for WebGL2 contexts
https://bugs.webkit.org/show_bug.cgi?id=196136

Reviewed by Timothy Hatcher.

  • UserInterface/Views/CanvasSidebarPanel.css:

(.sidebar > .panel.navigation.canvas > .navigation-bar > .item.record-start-stop.disabled > .glyph): Added.
(.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.canvas:matches(.canvas-2d, .bitmaprenderer) .icon): Added.
(.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.canvas:matches(.webgl, .webgl2, .webgpu, .webmetal) .icon): Added.
(@media (prefers-color-scheme: dark)):
(.sidebar > .panel.navigation.canvas > .navigation-bar > .item.record-start-stop.disabled): Deleted.
(.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.canvas.canvas-2d .icon): Deleted.
(.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.casnvas.webgl .icon): Deleted.
Use the 2D icon for BitmapRenderer and the 3D icon for WebGL2, WebMetals, and WebGPU.
Drive-by: the start/stop button text was too dark when disabled in dark mode.

  • UserInterface/Models/Canvas.js:

Drive-by: "gpu" => "webgpu", to match the protocol string.

12:12 PM WebKitGTK/2.24.x edited by Michael Catanzaro
(diff)
11:13 AM Changeset in webkit [243423] by bshafiei@apple.com
  • 7 edits in tags/Safari-608.1.13.1/Source

Versioning.

11:11 AM Changeset in webkit [243422] by bshafiei@apple.com
  • 1 copy in tags/Safari-608.1.13.1

New tag.

10:20 AM WebKitGTK/MaintenanceTips edited by Michael Catanzaro
trac has RSS (diff)
10:17 AM Changeset in webkit [243421] by Michael Catanzaro
  • 2 edits in trunk/Source/WebCore

Unreviewed, fix -Wpessimizing-move warning
https://bugs.webkit.org/show_bug.cgi?id=195905
<rdar://problem/49121824>

  • svg/properties/SVGPropertyList.h:
10:16 AM WebKitGTK/MaintenanceTips edited by Michael Catanzaro
More tips (diff)

Mar 23, 2019:

9:15 PM Changeset in webkit [243420] by mark.lam@apple.com
  • 10 edits
    1 delete in trunk

Rolling out r243032 and r243071 because the fix is incorrect.
https://bugs.webkit.org/show_bug.cgi?id=195892
<rdar://problem/48981239>

Not reviewed.

JSTests:

  • stress/check-object-property-condition-liveness-before-accessing-it-when-watchpoints-fire.js: Removed.

Source/JavaScriptCore:

The fix is incorrect: it relies on being able to determine liveness of an object
in an ObjectPropertyCondition based on the state of the object's MarkedBit.
However, there's no guarantee that GC has run and that the MarkedBit is already
set even if the object is live. As a result, we may not re-install adaptive
watchpoints based on presumed dead objects which are actually live.

I'm rolling this out, and will implement a more comprehensive fix to handle
watchpoint liveness later.

  • bytecode/AdaptiveInferredPropertyValueWatchpointBase.cpp:

(JSC::AdaptiveInferredPropertyValueWatchpointBase::fire):

  • bytecode/LLIntPrototypeLoadAdaptiveStructureWatchpoint.cpp:

(JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint::fireInternal):

  • bytecode/ObjectPropertyCondition.cpp:

(JSC::ObjectPropertyCondition::dumpInContext const):

  • bytecode/StructureStubClearingWatchpoint.cpp:

(JSC::StructureStubClearingWatchpoint::fireInternal):

  • dfg/DFGAdaptiveStructureWatchpoint.cpp:

(JSC::DFG::AdaptiveStructureWatchpoint::fireInternal):

  • runtime/StructureRareData.cpp:

(JSC::ObjectToStringAdaptiveStructureWatchpoint::fireInternal):

LayoutTests:

  • platform/mac/TestExpectations:
6:35 PM Changeset in webkit [243419] by Justin Fan
  • 38 edits
    13 copies
    4 adds in trunk

[Web GPU] Prototype compute pipeline with MSL
https://bugs.webkit.org/show_bug.cgi?id=196107
<rdar://problem/46289650>

Reviewed by Myles Maxfield.

Source/WebCore:

Add GPUComputePassEncoder, GPUComputePipeline, and GPUComputePipelineDescriptor.
Implement everything needed to prototype a compute pipeline in Web GPU using Metal shaders and bound resources.

Test: webgpu/compute-squares.html

Add files and symbols:

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Sources.txt:
  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/WebCoreBuiltinNames.h:

Misc fixes:

  • Modules/webgpu/WHLSL/WHLSLNameResolver.h: Missing include.
  • Modules/webgpu/WHLSL/WHLSLSynthesizeConstructors.cpp: Missing include.
  • Modules/webgpu/WebGPUPipelineStageDescriptor.cpp: Added. Move pipeline stage validation logic here.

(WebCore::WebGPUPipelineStageDescriptor::tryCreateGPUPipelineStageDescriptor const):

  • Modules/webgpu/WebGPURenderPipeline.cpp: Remove unnecessary include.
  • Modules/webgpu/WebGPURenderPipeline.h:
  • Modules/webgpu/WebGPURenderPipelineDescriptor.cpp: Add missing inlcude.

(WebCore::WebGPUPipelineStageDescriptor::tryCreateGPUPipelineStageDescriptor const): Moved to WebGPUPipelineStageDescriptor.cpp.

  • platform/graphics/gpu/GPUPipelineDescriptorBase.h: Add missing include.
  • platform/graphics/gpu/cocoa/GPURenderPipelineMetal.mm: Add missing include.

(WebCore::GPURenderPipeline::GPURenderPipeline): Remove unecessary ref of GPUPipelineLayout.

  • platform/text/mac/TextEncodingRegistryMac.mm: Carbon.h was causing ambiguous reference build errors in this file.

Enable creating a GPUComputePassEncoder from a GPUCommandEncoder:

  • Modules/webgpu/WebGPUCommandEncoder.cpp:

(WebCore::WebGPUCommandEncoder::beginRenderPass): No longer passing this WebGPUCommandEncoder to pass encoders.
(WebCore::WebGPUCommandEncoder::beginComputePass): Added.

  • Modules/webgpu/WebGPUCommandEncoder.h:
  • Modules/webgpu/WebGPUCommandEncoder.idl:

Add GPUComputePassEncoder:

  • Modules/webgpu/WebGPUComputePassEncoder.cpp: Added.

(WebCore::WebGPUComputePassEncoder::create):
(WebCore::WebGPUComputePassEncoder::WebGPUComputePassEncoder):
(WebCore::WebGPUComputePassEncoder::setPipeline):
(WebCore::WebGPUComputePassEncoder::dispatch):
(WebCore::WebGPUComputePassEncoder::passEncoder):
(WebCore::WebGPUComputePassEncoder::passEncoder const):

  • Modules/webgpu/WebGPUComputePassEncoder.h: Added.
  • Modules/webgpu/WebGPUComputePassEncoder.idl: Added.
  • platform/graphics/gpu/GPUComputePassEncoder.h: Added.

(WebCore::GPUComputePassEncoder::~GPUComputePassEncoder):

  • platform/graphics/gpu/cocoa/GPUComputePassEncoderMetal.mm: Added.

(WebCore::GPUComputePassEncoder::tryCreate):
(WebCore::GPUComputePassEncoder::GPUComputePassEncoder):
(WebCore::GPUComputePassEncoder::setPipeline):
(WebCore::GPUComputePassEncoder::dispatch): Use a default calculation for threadsPerThreadgroup while MSL is still an accepted shader format.
(WebCore::GPUComputePassEncoder::platformPassEncoder const):
(WebCore::GPUComputePassEncoder::useResource):
(WebCore::GPUComputePassEncoder::setComputeBuffer):

Add GPUComputePipeline:

  • Modules/webgpu/WebGPUComputePipeline.cpp: Added.

(WebCore::WebGPUComputePipeline::create):
(WebCore::WebGPUComputePipeline::WebGPUComputePipeline):

  • Modules/webgpu/WebGPUComputePipeline.h: Added.

(WebCore::WebGPUComputePipeline::computePipeline const):

  • Modules/webgpu/WebGPUComputePipeline.idl: Added.
  • Modules/webgpu/WebGPUComputePipelineDescriptor.cpp: Added.

(WebCore::WebGPUComputePipelineDescriptor::tryCreateGPUComputePipelineDescriptor const):

  • Modules/webgpu/WebGPUComputePipelineDescriptor.h: Added.
  • Modules/webgpu/WebGPUComputePipelineDescriptor.idl: Added.
  • platform/graphics/gpu/GPUComputePipeline.h: Added.

(WebCore::GPUComputePipeline::platformComputePipeline const):

  • platform/graphics/gpu/GPUComputePipelineDescriptor.h: Added.

(WebCore::GPUComputePipelineDescriptor::GPUComputePipelineDescriptor):

  • platform/graphics/gpu/cocoa/GPUComputePipelineMetal.mm: Added.

(WebCore::tryCreateMtlComputeFunction):
(WebCore::tryCreateMTLComputePipelineState):
(WebCore::GPUComputePipeline::tryCreate):
(WebCore::GPUComputePipeline::GPUComputePipeline):

Enable creating a GPUComputePipeline from a GPUDevice:

  • Modules/webgpu/WebGPUDevice.cpp:

(WebCore::WebGPUDevice::createComputePipeline const):

  • Modules/webgpu/WebGPUDevice.h:
  • Modules/webgpu/WebGPUDevice.idl:
  • platform/graphics/gpu/GPUDevice.cpp:

(WebCore::GPUDevice::tryCreateComputePipeline const):

  • platform/graphics/gpu/GPUDevice.h:

No longer unnecessarily ref the WebGPUCommandEncoder when creating pass encoder:

  • Modules/webgpu/WebGPUProgrammablePassEncoder.cpp:

(WebCore::WebGPUProgrammablePassEncoder::setBindGroup):
(WebCore::WebGPUProgrammablePassEncoder::WebGPUProgrammablePassEncoder): Deleted.
(WebCore::WebGPUProgrammablePassEncoder::setBindGroup const): Deleted.

  • Modules/webgpu/WebGPUProgrammablePassEncoder.h:
  • Modules/webgpu/WebGPURenderPassEncoder.cpp:

(WebCore::WebGPURenderPassEncoder::create):
(WebCore::WebGPURenderPassEncoder::WebGPURenderPassEncoder):
(WebCore::WebGPURenderPassEncoder::setPipeline):
(WebCore::WebGPURenderPassEncoder::passEncoder):
(WebCore::WebGPURenderPassEncoder::passEncoder const):

  • Modules/webgpu/WebGPURenderPassEncoder.h:

Updates to GPUBindGroup and *setBindGroup for compute function arguments:

  • platform/graphics/gpu/GPUBindGroup.h:

(WebCore::GPUBindGroup::vertexArgsBuffer const):
(WebCore::GPUBindGroup::fragmentArgsBuffer const):
(WebCore::GPUBindGroup::computeArgsBuffer const):
(WebCore::GPUBindGroup::vertexArgsBuffer): Deleted. Const-qualified.
(WebCore::GPUBindGroup::fragmentArgsBuffer): Ditto.

  • platform/graphics/gpu/cocoa/GPUBindGroupMetal.mm:

(WebCore::tryGetResourceAsMTLSamplerState): Now just returns the MTLSamplerState to reduce reference churning.
(WebCore::GPUBindGroup::tryCreate):
(WebCore::GPUBindGroup::GPUBindGroup):
(WebCore::tryGetResourceAsSampler): Renamed to tryGetResourceAsMTLSamplerState.

Updates to GPUProgrammablePassEncoder and GPURenderPassEncoder:

  • platform/graphics/gpu/GPUProgrammablePassEncoder.h:

(WebCore::GPUProgrammablePassEncoder::setVertexBuffer):
(WebCore::GPUProgrammablePassEncoder::setFragmentBuffer):
(WebCore::GPUProgrammablePassEncoder::setComputeBuffer): Added.

  • platform/graphics/gpu/GPURenderPassEncoder.h:

(WebCore::GPURenderPassEncoder::~GPURenderPassEncoder):

  • platform/graphics/gpu/GPURenderPipeline.h:
  • platform/graphics/gpu/cocoa/GPUProgrammablePassEncoderMetal.mm: Remove unecessary include.

(WebCore::GPUProgrammablePassEncoder::endPass): No longer virtual. Delegates shared behavior for derived classes.
(WebCore::GPUProgrammablePassEncoder::setBindGroup):

  • platform/graphics/gpu/cocoa/GPURenderPassEncoderMetal.mm:

(WebCore::GPURenderPassEncoder::platformPassEncoder const):
(WebCore::GPURenderPassEncoder::setPipeline):
(WebCore::GPURenderPassEncoder::draw):
(WebCore::GPURenderPassEncoder::useResource): These private overrides are called only by base after checking for encoder existence.
(WebCore::GPURenderPassEncoder::setVertexBuffer): Ditto.
(WebCore::GPURenderPassEncoder::setFragmentBuffer): Ditto.
(WebCore::GPURenderPassEncoder::endPass): Deleted. Now handled by base class.

LayoutTests:

Add a basic test to create, execute, and verify the results of a Web GPU compute pipeline.

  • webgpu/compute-squares-expected.txt: Added.
  • webgpu/compute-squares.html: Added.
  • webgpu/whlsl.html: Update some function names to match API changes.
6:32 PM Changeset in webkit [243418] by keith_miller@apple.com
  • 9 edits in trunk

Refactor clz/ctz and fix getLSBSet.
https://bugs.webkit.org/show_bug.cgi?id=196162

Reviewed by Saam Barati.

Source/JavaScriptCore:

Refactor references of clz32/64 and ctz32 to use clz and ctz,
respectively.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGOperations.cpp:
  • runtime/JSBigInt.cpp:

(JSC::JSBigInt::digitDiv):
(JSC::JSBigInt::absoluteDivWithBigIntDivisor):
(JSC::JSBigInt::calculateMaximumCharactersRequired):
(JSC::JSBigInt::toStringBasePowerOfTwo):
(JSC::JSBigInt::compareToDouble):

  • runtime/MathObject.cpp:

(JSC::mathProtoFuncClz32):

Source/WTF:

This patch makes clz32/64 and ctz32 generic so they work on any
numeric type. Since these methods work on any type we don't need
to have a separate implementation of getLSBSet, which also
happened to be getMSBSet. This patch also adds getMSBSet as there
may be users who want that in the future.

  • wtf/MathExtras.h:

(WTF::clz):
(WTF::ctz):
(WTF::getLSBSet):
(WTF::getMSBSet):
(getLSBSet): Deleted.
(WTF::clz32): Deleted.
(WTF::clz64): Deleted.
(WTF::ctz32): Deleted.

Tools:

Add tests for clz, ctz, getLSBSet, and getMSBSet.

  • TestWebKitAPI/Tests/WTF/MathExtras.cpp:

(TestWebKitAPI::TEST):

5:47 PM Changeset in webkit [243417] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Unreviewed, fix typo in comment added in r243379.

  • UIProcess/API/Cocoa/WKProcessGroup.mm:

(-[WKProcessGroup setDelegate:]):

3:00 PM Changeset in webkit [243416] by Simon Fraser
  • 17 edits
    1 delete in trunk

REGRESSION (iOS 8): Scrollbar can't be hidden when webkit-overflow-scrolling is set to touch
https://bugs.webkit.org/show_bug.cgi?id=137043
rdar://problem/16595330

Reviewed by Zalan Bujtas.

Source/WebCore:

Plumb horizontalScrollbarHiddenByStyle/verticalScrollbarHiddenByStyle through ScrollableAreaParameters
to the UI process, and use it to set UIScrollView indicators visible or not.

Tests: fast/scrolling/ios/scrollbar-hiding.html:

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::setScrollingNodeScrollableAreaGeometry):

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::operator<<):

  • page/scrolling/ScrollingCoordinatorTypes.h:
  • page/scrolling/ScrollingTreeNode.h:
  • page/scrolling/ScrollingTreeOverflowScrollingNode.cpp:

(WebCore::ScrollingTreeOverflowScrollingNode::dumpProperties const):

  • page/scrolling/ScrollingTreeScrollingNode.h:
  • platform/ScrollableArea.h:

(WebCore::ScrollableArea::horizontalScrollbarHiddenByStyle const):
(WebCore::ScrollableArea::verticalScrollbarHiddenByStyle const):

  • rendering/RenderLayer.cpp:

(WebCore::scrollbarHiddenByStyle):
(WebCore::RenderLayer::horizontalScrollbarHiddenByStyle const):
(WebCore::RenderLayer::verticalScrollbarHiddenByStyle const):

  • rendering/RenderLayer.h:

Source/WebKit:

Plumb horizontalScrollbarHiddenByStyle/verticalScrollbarHiddenByStyle through ScrollableAreaParameters
to the UI process, and use it to set UIScrollView indicators visible or not.

The scroll snap changes in ScrollingTreeScrollingNodeDelegateIOS::commitStateAfterChildren() fix a bug
where hasChangedProperty(HorizontalSnapOffsets) was nested inside another set of hasChangedProperty()
tests, so would never get called.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<ScrollableAreaParameters>::encode):
(IPC::ArgumentCoder<ScrollableAreaParameters>::decode):

  • UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm:

(WebKit::ScrollingTreeScrollingNodeDelegateIOS::commitStateAfterChildren):

LayoutTests:

Test that dumps the UI-side scrolling tree, showing e.g. "horizontal scrollbar hidden by style"
in the dump.

This test was previously a render tree dump, which did not test whether scrollbars were visible.

  • fast/scrolling/ios/scrollbar-hiding-expected.txt:
  • fast/scrolling/ios/scrollbar-hiding.html:
  • platform/ios/fast/scrolling/ios/scrollbar-hiding-expected.txt: Removed.
2:07 PM Changeset in webkit [243415] by Alan Bujtas
  • 3 edits
    4 adds in trunk

[ContentChangeObserver] Taping on a form control should always result in click.
https://bugs.webkit.org/show_bug.cgi?id=196177

Reviewed by Simon Fraser.

Source/WebKit:

This patch enures that we send a synthetic click when the traget node is a form control (button, edit field etc) even if
the mousemove brings up some hover content.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::handleSyntheticClick):

LayoutTests:

  • fast/events/touch/ios/content-observation/tap-on-input-type-button-element-expected.txt: Added.
  • fast/events/touch/ios/content-observation/tap-on-input-type-button-element.html: Added.
  • fast/events/touch/ios/content-observation/tap-on-input-type-text-element-expected.txt: Added.
  • fast/events/touch/ios/content-observation/tap-on-input-type-text-element.html: Added.
1:58 PM Changeset in webkit [243414] by Alan Bujtas
  • 4 edits
    10 adds in trunk

[ContentChangeObserver] Add support for observing opacity.
https://bugs.webkit.org/show_bug.cgi?id=196172

Reviewed by Simon Fraser.

Source/WebCore:

This patch adds support for observing opacity changes. At this point we only track one transition at a time.
if the page registers transition on both left and opacity, the first is getting observed only.

Tests: fast/events/touch/ios/content-observation/opacity-change-happens-on-mousemove-with-opacity-and-left.html

fast/events/touch/ios/content-observation/opacity-change-happens-on-mousemove-with-transition.html
fast/events/touch/ios/content-observation/opacity-change-happens-on-mousemove.html
fast/events/touch/ios/content-observation/opacity-change-happens-on-touchstart-with-transition.html
fast/events/touch/ios/content-observation/opacity-change-happens-on-touchstart.html

  • page/ios/ContentChangeObserver.cpp:

(WebCore::isConsideredHidden):
(WebCore::ContentChangeObserver::didAddTransition):

  • page/ios/ContentChangeObserver.h:

(WebCore::ContentChangeObserver::isObservedPropertyForTransition const):

LayoutTests:

  • fast/events/touch/ios/content-observation/opacity-change-happens-on-mousemove-expected.txt: Added.
  • fast/events/touch/ios/content-observation/opacity-change-happens-on-mousemove-with-opacity-and-left-expected.txt: Added.
  • fast/events/touch/ios/content-observation/opacity-change-happens-on-mousemove-with-opacity-and-left.html: Added.
  • fast/events/touch/ios/content-observation/opacity-change-happens-on-mousemove-with-transition-expected.txt: Added.
  • fast/events/touch/ios/content-observation/opacity-change-happens-on-mousemove-with-transition.html: Added.
  • fast/events/touch/ios/content-observation/opacity-change-happens-on-mousemove.html: Added.
  • fast/events/touch/ios/content-observation/opacity-change-happens-on-touchstart-expected.txt: Added.
  • fast/events/touch/ios/content-observation/opacity-change-happens-on-touchstart-with-transition-expected.txt: Added.
  • fast/events/touch/ios/content-observation/opacity-change-happens-on-touchstart-with-transition.html: Added.
  • fast/events/touch/ios/content-observation/opacity-change-happens-on-touchstart.html: Added.
1:47 PM Changeset in webkit [243413] by Alan Bujtas
  • 4 edits
    2 adds in trunk

[ContentChangeObserver] Check if the transitioned content is visible at onAnimationEnd
https://bugs.webkit.org/show_bug.cgi?id=196171

Reviewed by Simon Fraser.

Source/WebCore:

At onAnimationEnd we don't yet have the final computed style for the transitioned content.
However the current state (before computing the final style) might already be qualified to be visible.
Introduce "CompletedTransition" to indicate that the transition is all set as far observing is concerned
(as opposed to "EndedTransition" where we still need to observe the content for the final style change).

Test: fast/events/touch/ios/content-observation/10ms-delay-transition-on-touch-start-with-non-0px-end.html

  • page/ios/ContentChangeObserver.cpp:

(WebCore::ContentChangeObserver::didFinishTransition):
(WebCore::ContentChangeObserver::adjustObservedState):

  • page/ios/ContentChangeObserver.h:

LayoutTests:

  • fast/events/touch/ios/content-observation/10ms-delay-transition-on-touch-start-with-non-0px-end-expected.txt: Added.
  • fast/events/touch/ios/content-observation/10ms-delay-transition-on-touch-start-with-non-0px-end.html: Added.
9:39 AM Changeset in webkit [243412] by aestes@apple.com
  • 10 edits in trunk/Source

[Apple Pay] Stop calling PKPaymentAuthorizationViewController class methods on iOS
https://bugs.webkit.org/show_bug.cgi?id=196163
<rdar://problem/48787564>

Reviewed by Anders Carlsson.

Source/WebCore/PAL:

  • pal/spi/cocoa/PassKitSPI.h:

Source/WebKit:

Now that we've transitioned to PKPaymentAuthorizationController on iOS, we should stop
calling PKPaymentAuthorizationViewController class methods on iOS in favor of their
PKPaymentAuthorizationController alternatives.

While we're here, we should also transition to calling
+paymentServicesMerchantURLForAPIType:completion: on both
PKPaymentAuthorizationViewController and PKPaymentAuthorizationController.

  • Platform/cocoa/PaymentAuthorizationViewController.mm:

(-[WKPaymentAuthorizationViewControllerDelegate _paymentServicesMerchantURLForAPIType:completion:]):

  • Platform/cocoa/WKPaymentAuthorizationDelegate.h:
  • Platform/cocoa/WKPaymentAuthorizationDelegate.mm:

(-[WKPaymentAuthorizationDelegate _initWithRequest:presenter:]):
(-[WKPaymentAuthorizationDelegate _paymentServicesMerchantURLForAPIType:completion:]):

  • Platform/ios/PaymentAuthorizationController.mm:

(-[WKPaymentAuthorizationControllerDelegate _paymentServicesMerchantURLForAPIType:completion:]):

  • Shared/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:

(WebKit::WebPaymentCoordinatorProxy::platformCanMakePayments): Deleted.

  • Shared/ApplePay/ios/WebPaymentCoordinatorProxyIOS.mm:

(WebKit::WebPaymentCoordinatorProxy::platformCanMakePayments):

  • Shared/ApplePay/mac/WebPaymentCoordinatorProxyMac.mm:

(WebKit::WebPaymentCoordinatorProxy::platformCanMakePayments):

4:25 AM Changeset in webkit [243411] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

[GTK][WPE] check-webkit-style doesn't complain about identifiers with underscores in files under glib, gtk or wpe dirs
https://bugs.webkit.org/show_bug.cgi?id=196143

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2019-03-23
Reviewed by Michael Catanzaro.

Fix the check for the exception of identifiers starting with webkit_ in files under glib, gtk or wpe
directories.

  • Scripts/webkitpy/style/checkers/cpp.py:

(check_identifier_name_in_declaration):

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(WebKitStyleTest.test_names):

3:56 AM Changeset in webkit [243410] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit

Unreviewed. Fix GTK build after r243409.

Build failure is actually unrelated to r243409, it's yet another unified build failure that happens when source
file list changes.

  • UIProcess/gtk/WebInspectorProxyGtk.cpp:

(WebKit::WebInspectorProxy::platformShowCertificate): Use WebCore namespace for CertificateInfo parameter.

3:37 AM Changeset in webkit [243409] by Carlos Garcia Campos
  • 13 edits
    3 adds
    2 deletes in trunk

[GTK] Remove build time dependency on Geoclue2
https://bugs.webkit.org/show_bug.cgi?id=195994

Reviewed by Michael Catanzaro.

.:

Remove USE_GEOCLUE build option.

  • Source/cmake/FindGeoClue2.cmake: Removed.
  • Source/cmake/OptionsGTK.cmake:

Source/WebCore:

Remove old Geoclue implementation.

  • PlatformGTK.cmake:
  • SourcesGTK.txt:
  • platform/geoclue/GeolocationProviderGeoclue.cpp: Removed.
  • platform/geoclue/GeolocationProviderGeoclue.h: Removed.
  • platform/geoclue/GeolocationProviderGeoclueClient.h: Removed.

Source/WebCore/platform/gtk/po:

  • POTFILES.in: Add GeoclueGeolocationProvider.cpp.

Source/WebKit:

Add GeoclueGeolocationProvider class to provide geolocation position updates using Geoclue2 DBus service.

  • PlatformGTK.cmake:
  • PlatformWPE.cmake:
  • SourcesGTK.txt:
  • SourcesWPE.txt:
  • UIProcess/API/glib/WebKitGeolocationManager.cpp:

(_WebKitGeolocationPosition::_WebKitGeolocationPosition):
(webkitGeolocationManagerStop):
(webkitGeolocationManagerSetEnableHighAccuracy):
(webkitGeolocationManagerDispose):
(webkit_geolocation_manager_class_init):

  • UIProcess/geoclue/GeoclueGeolocationProvider.cpp: Added.

(WebKit::GeoclueGeolocationProvider::GeoclueGeolocationProvider):
(WebKit::GeoclueGeolocationProvider::~GeoclueGeolocationProvider):
(WebKit::GeoclueGeolocationProvider::start):
(WebKit::GeoclueGeolocationProvider::stop):
(WebKit::GeoclueGeolocationProvider::setEnableHighAccuracy):
(WebKit::GeoclueGeolocationProvider::destroyManagerLater):
(WebKit::GeoclueGeolocationProvider::destroyManager):
(WebKit::GeoclueGeolocationProvider::setupManager):
(WebKit::GeoclueGeolocationProvider::createClient):
(WebKit::GeoclueGeolocationProvider::setupClient):
(WebKit::GeoclueGeolocationProvider::startClient):
(WebKit::GeoclueGeolocationProvider::stopClient):
(WebKit::GeoclueGeolocationProvider::requestAccuracyLevel):
(WebKit::GeoclueGeolocationProvider::clientLocationUpdatedCallback):
(WebKit::GeoclueGeolocationProvider::createLocation):
(WebKit::GeoclueGeolocationProvider::locationUpdated):
(WebKit::GeoclueGeolocationProvider::didFail):

  • UIProcess/geoclue/GeoclueGeolocationProvider.h: Added.
12:58 AM Changeset in webkit [243408] by ysuzuki@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

[JSC] Shrink sizeof(RegExp)
https://bugs.webkit.org/show_bug.cgi?id=196133

Reviewed by Mark Lam.

Some applications have many RegExp cells. But RegExp cells are very large (144B).
This patch reduces the size from 144B to 48B by,

  1. Allocate Yarr::YarrCodeBlock in non-GC heap. We can avoid this allocation if JIT is disabled.
  2. m_captureGroupNames and m_namedGroupToParenIndex are moved to RareData. They are only used when RegExp has named capture groups.
  • runtime/RegExp.cpp:

(JSC::RegExp::finishCreation):
(JSC::RegExp::estimatedSize):
(JSC::RegExp::compile):
(JSC::RegExp::matchConcurrently):
(JSC::RegExp::compileMatchOnly):
(JSC::RegExp::deleteCode):
(JSC::RegExp::printTraceData):

  • runtime/RegExp.h:
  • runtime/RegExpInlines.h:

(JSC::RegExp::hasCodeFor):
(JSC::RegExp::matchInline):
(JSC::RegExp::hasMatchOnlyCodeFor):

Mar 22, 2019:

5:59 PM Changeset in webkit [243407] by Simon Fraser
  • 2 edits in trunk/Source/WebKit

Undo collision with r243390.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(stringForSSLProtocol):

5:56 PM Changeset in webkit [243406] by Simon Fraser
  • 2 edits in trunk/Source/WebKit

Fix internal builds.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(stringForSSLProtocol):

5:22 PM WebKitGTK/2.24.x edited by Adrian Perez de Castro
(diff)
4:34 PM Changeset in webkit [243405] by Devin Rousso
  • 16 edits in trunk/LayoutTests

Unreviewed, fix test failures after r243269.

In debug builds, it's possible that the Web Inspector frontend is told to stop a timeline
recording before all of the recorded records have had a chance to be completed/processed.

As an example
`

setTimeout(() => {

<stop recording>

});

`
it may happen that the "stop recording" event will be dispatched before the timeout has
finished executing, meaning that the event that contains the recorded data for that timeout
will be ignored by the frontend.

Rework the tests so that they don't dispatch the "stop recording" event until the expected
record is received by the frontend, rather than having the test code itself say when to stop.

  • inspector/timeline/resources/timeline-event-utilities.js:

(savePageData): Added.
(TestPage.registerInitializer.InspectorTest.TimelineEvent.captureTimelineWithScript):
(finishRecording): Deleted.

  • inspector/timeline/timeline-event-CancelAnimationFrame.html:
  • inspector/timeline/timeline-event-CancelAnimationFrame-expected.txt:
  • inspector/timeline/timeline-event-EventDispatch.html:
  • inspector/timeline/timeline-event-EventDispatch-expected.txt:
  • inspector/timeline/timeline-event-FireAnimationFrame.html:
  • inspector/timeline/timeline-event-FireAnimationFrame-expected.txt:
  • inspector/timeline/timeline-event-RequestAnimationFrame.html:
  • inspector/timeline/timeline-event-RequestAnimationFrame-expected.txt:
  • inspector/timeline/timeline-event-TimerFire.html:
  • inspector/timeline/timeline-event-TimerFire-expected.txt:
  • inspector/timeline/timeline-event-TimerInstall.html:
  • inspector/timeline/timeline-event-TimerInstall-expected.txt:
  • inspector/timeline/timeline-event-TimerRemove.html:
  • inspector/timeline/timeline-event-TimerRemove-expected.txt:
3:54 PM Changeset in webkit [243404] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

Flaky AVEncoderBitRateKey symbol not found crash on imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-constructor.html
https://bugs.webkit.org/show_bug.cgi?id=193724
<rdar://problem/47483831>

Reviewed by Jer Noble.

The soft link macros occasionally fail to load constants from AVFoundation.framework
which are actually in one of its sub-frameworks. While we investigate the cause
cause of the failure, ise the SOFT_LINK_CONSTANT_MAY_FAIL so we can detect the failure
and return a local copy of the string instead of crashing.

No new tests, this should prevent existing tests from crashing.

  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:

(WebCore::myAVFormatIDKey):
(WebCore::myAVNumberOfChannelsKey):
(WebCore::myAVSampleRateKey):
(WebCore::myAVEncoderBitRateKey):

3:19 PM Changeset in webkit [243403] by Devin Rousso
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Sources: "Reveal in Resources Tab" still shown when Sources tab is enabled
https://bugs.webkit.org/show_bug.cgi?id=196134

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/RecordingActionTreeElement.js:

(WI.RecordingActionTreeElement.prototype.populateContextMenu):
Drive-by: find the first call frame that has a source code location, rather than naively
always using the top call frame.

  • UserInterface/Views/SearchResultTreeElement.js:

(WI.SearchResultTreeElement.prototype.populateContextMenu):

3:12 PM Changeset in webkit [243402] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION: Flaky ASSERTION FAILED: !m_killed seen with http/tests/security/cross-origin-worker-indexeddb.html
https://bugs.webkit.org/show_bug.cgi?id=196024
<rdar://problem/49117272>

Reviewed by Alexey Proskuryakov.

Do not proceed with opening the database if it is being closed.
Speculative fix, this should stop making test crashing on bots.

  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::performCurrentOpenOperation):

3:11 PM Changeset in webkit [243401] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

storage/indexeddb/closed-cursor-private.html is crashing on debug
https://bugs.webkit.org/show_bug.cgi?id=196101

Reviewed by Alex Christensen.

In case of immediate close for user delete, the transaction might be deleted.
If the request for space is pending, it will be executed with an error as parameter.
In that case, the call to didCommitTransaction will not find any existing transaction.
Speculative fix, test should no longer crash.

  • Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:

(WebCore::IDBServer::UniqueIDBDatabaseConnection::didCommitTransaction):

3:03 PM Changeset in webkit [243400] by Devin Rousso
  • 16 edits in trunk

Web Inspector: Safari Canvas Inspector seems to show the canvas being rendered twice per frame.
https://bugs.webkit.org/show_bug.cgi?id=196082
<rdar://problem/49113496>

Reviewed by Dean Jackson.

Source/WebCore:

Tests: inspector/canvas/recording-2d.html

inspector/canvas/recording-bitmaprenderer.html
inspector/canvas/recording-html-2d.html
inspector/canvas/recording-webgl.html
inspector/canvas/setRecordingAutoCaptureFrameCount.html

WebGL <canvas> follow a different "rendering" path such that HTMLCanvasElement::paint
isn't called. Previously, there was a 0s timer that was started after the first action of a
frame was recorded (for the case that the <canvas> isn't attached to the DOM) that would
automatically stop the recording. It was possible that actions in two different "frame"s
were recorded as part of the same frame, because the WebGL <canvas> would instead fall
back to the timer to know when the "frame" had ended.

Now, there is additional instrumentation for the WebGL specific rendering path.
Additionally, replace the 0s timer with a microtask for more "immediate" calling.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::paint):
Ensure that the InspectorInstrumentation call is last. This matches what we expect, as
before we were instrumenting right before is it about to paint.

  • platform/graphics/GraphicsContext3D.h:

(WebCore::GraphicsContext3D::Client::~Client): Added.
(WebCore::GraphicsContext3D::addClient): Added.
(WebCore::GraphicsContext3D::removeClient): Added.
(WebCore::GraphicsContext3D::setWebGLContext): Deleted.

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::markLayerComposited):
(WebCore::GraphicsContext3D::forceContextLost):
(WebCore::GraphicsContext3D::recycleContext):
(WebCore::GraphicsContext3D::dispatchContextChangedNotification):

  • html/canvas/WebGLRenderingContextBase.h:
  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::WebGLRenderingContextBase):
(WebCore::WebGLRenderingContextBase::destroyGraphicsContext3D):
(WebCore::WebGLRenderingContextBase::didComposite): Added.
(WebCore::WebGLRenderingContextBase::forceContextLost):
(WebCore::WebGLRenderingContextBase::recycleContext):
(WebCore::WebGLRenderingContextBase::dispatchContextChangedNotification): Added.
(WebCore::WebGLRenderingContextBase::dispatchContextChangedEvent): Deleted.
Introduce a GraphicsContext3DClient abstract class, rather than passing the
WebGLRenderingContextBase directly to the GraphicsContext3D (layering violation).
Notify the client whenever the GraphicsContext3D composites, which will in turn notify the
InspectorCanvasAgent so that it knows that the "frame" is over.

  • inspector/agents/InspectorCanvasAgent.h:
  • inspector/agents/InspectorCanvasAgent.cpp:

(WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
(WebCore::InspectorCanvasAgent::requestNode):
(WebCore::InspectorCanvasAgent::requestContent):
(WebCore::InspectorCanvasAgent::requestCSSCanvasClientNodes):
(WebCore::InspectorCanvasAgent::resolveCanvasContext):
(WebCore::InspectorCanvasAgent::startRecording):
(WebCore::InspectorCanvasAgent::stopRecording):
(WebCore::InspectorCanvasAgent::requestShaderSource):
(WebCore::InspectorCanvasAgent::updateShader):
(WebCore::InspectorCanvasAgent::setShaderProgramDisabled):
(WebCore::InspectorCanvasAgent::setShaderProgramHighlighted):
(WebCore::InspectorCanvasAgent::didChangeCSSCanvasClientNodes):
(WebCore::InspectorCanvasAgent::didChangeCanvasMemory):
(WebCore::InspectorCanvasAgent::recordCanvasAction):
(WebCore::InspectorCanvasAgent::canvasDestroyed):
(WebCore::InspectorCanvasAgent::didFinishRecordingCanvasFrame):
(WebCore::InspectorCanvasAgent::consoleStartRecordingCanvas):
(WebCore::InspectorCanvasAgent::didEnableExtension):
(WebCore::InspectorCanvasAgent::didCreateProgram):
(WebCore::InspectorCanvasAgent::willDeleteProgram):
(WebCore::InspectorCanvasAgent::isShaderProgramDisabled):
(WebCore::InspectorCanvasAgent::isShaderProgramHighlighted):
(WebCore::InspectorCanvasAgent::clearCanvasData):
(WebCore::InspectorCanvasAgent::assertInspectorCanvas):
(WebCore::InspectorCanvasAgent::findInspectorCanvas):
(WebCore::InspectorCanvasAgent::assertInspectorProgram):
(WebCore::InspectorCanvasAgent::findInspectorProgram):
(WebCore::InspectorCanvasAgent::canvasRecordingTimerFired): Deleted.
Replace raw pointers with RefPtrs. This is primarily used so that the microtask (instead
of a timer) that is enqueued after the first action of each frame is recorded can access a
ref-counted instance of an InspectorCanvas, ensuring that it isn't destructed.

  • inspector/InspectorCanvas.h:
  • inspector/InspectorCanvas.cpp:

(WebCore::InspectorCanvas::canvasElement):
(WebCore::InspectorCanvas::recordAction):
(WebCore::InspectorCanvas::finalizeFrame):
(WebCore::InspectorCanvas::releaseObjectForRecording): Added.
(WebCore::InspectorCanvas::getCanvasContentAsDataURL):
(WebCore::InspectorCanvas::appendActionSnapshotIfNeeded):
(WebCore::InspectorCanvas::buildInitialState):
(WebCore::InspectorCanvas::releaseInitialState): Deleted.
(WebCore::InspectorCanvas::releaseFrames): Deleted.
(WebCore::InspectorCanvas::releaseData): Deleted.
Move the recording payload construction logic to InspectorCanvas so the actual data
doesn't need to leave that class.
Drive-by: unify the logic for getting the contents of a canvas from InspectorCanvasAgent.

LayoutTests:

  • inspector/canvas/recording-2d.html:
  • inspector/canvas/recording-bitmaprenderer.html:
  • inspector/canvas/recording-html-2d.html:
  • inspector/canvas/recording-webgl.html:
  • inspector/canvas/setRecordingAutoCaptureFrameCount.html:
2:23 PM Changeset in webkit [243399] by Alan Coon
  • 2 edits in tags/Safari-608.1.13/Source/WebKit

Cherry-pick r243392. rdar://problem/49123855

[macOS] Fix sandbox violation
https://bugs.webkit.org/show_bug.cgi?id=196153
<rdar://problem/49123855>

Reviewed by Brent Fulgham.

The sandbox on macOS is blocking the mach lookup.

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

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

1:50 PM Changeset in webkit [243398] by Alan Coon
  • 1 copy in tags/Safari-608.1.13

Tag Safari-608.1.13.

1:41 PM WebKitGTK/MaintenanceTips edited by Michael Catanzaro
(diff)
1:37 PM WebKitGTK/MaintenanceTips edited by Michael Catanzaro
(diff)
1:34 PM WebKitGTK/MaintenanceTips edited by Michael Catanzaro
(diff)
1:32 PM WebKitGTK/MaintenanceTips edited by Michael Catanzaro
(diff)
1:31 PM WebKitGTK/MaintenanceTips edited by Michael Catanzaro
(diff)
1:30 PM WebKitGTK/MaintenanceTips edited by Michael Catanzaro
(diff)
1:27 PM WebKitGTK edited by Michael Catanzaro
(diff)
1:26 PM WebKitGTK/MaintenanceTips created by Michael Catanzaro
12:07 PM Changeset in webkit [243397] by Alan Coon
  • 3 edits in tags/Safari-608.1.11.1/Source/JavaScriptCore

Cherry-pick r243311. rdar://problem/49113565

[JSC] Fix JSC build with newer ICU
https://bugs.webkit.org/show_bug.cgi?id=196098

Reviewed by Keith Miller.

IntlDateTimeFormat and IntlNumberFormat have switch statement over ICU's enums. However it lacks "default" clause so that
the compile error occurs when a new enum value is added in ICU side. We should have "default" clause which just fallbacks
"unknown"_s case. The behavior is not changed since we already have return "unknown"_s; statement anyway after the
switch statement. This patch just suppresses a compile error.

  • runtime/IntlDateTimeFormat.cpp: (JSC::IntlDateTimeFormat::partTypeString):
  • runtime/IntlNumberFormat.cpp: (JSC::IntlNumberFormat::partTypeString):

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

11:56 AM Changeset in webkit [243396] by Keith Rollin
  • 20 edits in trunk/Source

Enable ThinLTO support in Production builds
https://bugs.webkit.org/show_bug.cgi?id=190758
<rdar://problem/45413233>

Reviewed by Daniel Bates.

Source/bmalloc:

Enable building with Thin LTO in Production when using Xcode 10.2 or
later. This change results in a 1.45% progression in PLT5. Full
Production build times increase about 2-3%. Incremental build times
are more severely affected, and so LTO is not enabled for local
engineering builds.

LTO is enabled only on macOS for now, until rdar://problem/49013399,
which affects ARM builds, is fixed.

To change the LTO setting when building locally:

  • If building with make, specify WK_LTO_MODE={none,thin,full} on the command line.
  • If building with build-webkit, specify --lto-mode={none,thin,full} on the command line.
  • If building with build-root, specify --lto={none,thin,full} on the command line.
  • If building with Xcode, create a LocalOverrides.xcconfig file at the top level of your repository directory (if needed) and define WK_LTO_MODE to full, thin, or none.
  • Configurations/Base.xcconfig:

Source/JavaScriptCore:

Tweak JavaScriptCore's Base.xcconfig to be more in-line with other
.xcconfig files with regards to LTO settings. However, don't actually
enable LTO for JavaScriptCore. LTO is not enabled for JavaScriptCore
due to <rdar://problem/24543547>.

  • Configurations/Base.xcconfig:

Source/ThirdParty/ANGLE:

Enable building with Thin LTO in Production when using Xcode 10.2 or
later. This change results in a 1.45% progression in PLT5. Full
Production build times increase about 2-3%. Incremental build times
are more severely affected, and so LTO is not enabled for local
engineering builds.

LTO is enabled only on macOS for now, until rdar://problem/49013399,
which affects ARM builds, is fixed.

To change the LTO setting when building locally:

  • If building with make, specify WK_LTO_MODE={none,thin,full} on the command line.
  • If building with build-webkit, specify --lto-mode={none,thin,full} on the command line.
  • If building with build-root, specify --lto={none,thin,full} on the command line.
  • If building with Xcode, create a LocalOverrides.xcconfig file at the top level of your repository directory (if needed) and define WK_LTO_MODE to full, thin, or none.
  • Configurations/Base.xcconfig:

Source/ThirdParty/libwebrtc:

Enable building with Thin LTO in Production when using Xcode 10.2 or
later. This change results in a 1.45% progression in PLT5. Full
Production build times increase about 2-3%. Incremental build times
are more severely affected, and so LTO is not enabled for local
engineering builds.

LTO is enabled only on macOS for now, until rdar://problem/49013399,
which affects ARM builds, is fixed.

To change the LTO setting when building locally:

  • If building with make, specify WK_LTO_MODE={none,thin,full} on the command line.
  • If building with build-webkit, specify --lto-mode={none,thin,full} on the command line.
  • If building with build-root, specify --lto={none,thin,full} on the command line.
  • If building with Xcode, create a LocalOverrides.xcconfig file at the top level of your repository directory (if needed) and define WK_LTO_MODE to full, thin, or none.
  • Configurations/Base.xcconfig:

Source/WebCore:

Enable building with Thin LTO in Production when using Xcode 10.2 or
later. This change results in a 1.45% progression in PLT5. Full
Production build times increase about 2-3%. Incremental build times
are more severely affected, and so LTO is not enabled for local
engineering builds.

LTO is enabled only on macOS for now, until rdar://problem/49013399,
which affects ARM builds, is fixed.

Removed the conditionals that disabled LTO on 32-bit systems since we
no longer build for those.

To change the LTO setting when building locally:

  • If building with make, specify WK_LTO_MODE={none,thin,full} on the command line.
  • If building with build-webkit, specify --lto-mode={none,thin,full} on the command line.
  • If building with build-root, specify --lto={none,thin,full} on the command line.
  • If building with Xcode, create a LocalOverrides.xcconfig file at the top level of your repository directory (if needed) and define WK_LTO_MODE to full, thin, or none.

No new tests since there should be no observable behavior difference.

  • Configurations/Base.xcconfig:

Source/WebCore/PAL:

Enable building with Thin LTO in Production when using Xcode 10.2 or
later. This change results in a 1.45% progression in PLT5. Full
Production build times increase about 2-3%. Incremental build times
are more severely affected, and so LTO is not enabled for local
engineering builds.

LTO is enabled only on macOS for now, until rdar://problem/49013399,
which affects ARM builds, is fixed.

Removed the conditionals that disabled LTO on 32-bit systems since we
no longer build for those.

To change the LTO setting when building locally:

  • If building with make, specify WK_LTO_MODE={none,thin,full} on the command line.
  • If building with build-webkit, specify --lto-mode={none,thin,full} on the command line.
  • If building with build-root, specify --lto={none,thin,full} on the command line.
  • If building with Xcode, create a LocalOverrides.xcconfig file at the top level of your repository directory (if needed) and define WK_LTO_MODE to full, thin, or none.
  • Configurations/Base.xcconfig:

Source/WebInspectorUI:

Enable building with Thin LTO in Production when using Xcode 10.2 or
later. This change results in a 1.45% progression in PLT5. Full
Production build times increase about 2-3%. Incremental build times
are more severely affected, and so LTO is not enabled for local
engineering builds.

LTO is enabled only on macOS for now, until rdar://problem/49013399,
which affects ARM builds, is fixed.

To change the LTO setting when building locally:

  • If building with make, specify WK_LTO_MODE={none,thin,full} on the command line.
  • If building with build-webkit, specify --lto-mode={none,thin,full} on the command line.
  • If building with build-root, specify --lto={none,thin,full} on the command line.
  • If building with Xcode, create a LocalOverrides.xcconfig file at the top level of your repository directory (if needed) and define WK_LTO_MODE to full, thin, or none.
  • Configurations/Base.xcconfig:

Source/WebKit:

Enable building with Thin LTO in Production when using Xcode 10.2 or
later. This change results in a 1.45% progression in PLT5. Full
Production build times increase about 2-3%. Incremental build times
are more severely affected, and so LTO is not enabled for local
engineering builds.

LTO is enabled only on macOS for now, until rdar://problem/49013399,
which affects ARM builds, is fixed.

To change the LTO setting when building locally:

  • If building with make, specify WK_LTO_MODE={none,thin,full} on the command line.
  • If building with build-webkit, specify --lto-mode={none,thin,full} on the command line.
  • If building with build-root, specify --lto={none,thin,full} on the command line.
  • If building with Xcode, create a LocalOverrides.xcconfig file at the top level of your repository directory (if needed) and define WK_LTO_MODE to full, thin, or none.
  • Configurations/Base.xcconfig:

Source/WebKitLegacy/mac:

Enable building with Thin LTO in Production when using Xcode 10.2 or
later. This change results in a 1.45% progression in PLT5. Full
Production build times increase about 2-3%. Incremental build times
are more severely affected, and so LTO is not enabled for local
engineering builds.

LTO is enabled only on macOS for now, until rdar://problem/49013399,
which affects ARM builds, is fixed.

To change the LTO setting when building locally:

  • If building with make, specify WK_LTO_MODE={none,thin,full} on the command line.
  • If building with build-webkit, specify --lto-mode={none,thin,full} on the command line.
  • If building with build-root, specify --lto={none,thin,full} on the command line.
  • If building with Xcode, create a LocalOverrides.xcconfig file at the top level of your repository directory (if needed) and define WK_LTO_MODE to full, thin, or none.
  • Configurations/Base.xcconfig:

Source/WTF:

Enable building with Thin LTO in Production when using Xcode 10.2 or
later. This change results in a 1.45% progression in PLT5. Full
Production build times increase about 2-3%. Incremental build times
are more severely affected, and so LTO is not enabled for local
engineering builds.

LTO is enabled only on macOS for now, until rdar://problem/49013399,
which affects ARM builds, is fixed.

To change the LTO setting when building locally:

  • If building with make, specify WK_LTO_MODE={none,thin,full} on the command line.
  • If building with build-webkit, specify --lto-mode={none,thin,full} on the command line.
  • If building with build-root, specify --lto={none,thin,full} on the command line.
  • If building with Xcode, create a LocalOverrides.xcconfig file at the top level of your repository directory (if needed) and define WK_LTO_MODE to full, thin, or none.
  • Configurations/Base.xcconfig:
11:49 AM Changeset in webkit [243395] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Unreviewed build fix after r243388.

  • WebProcess/WebProcess.h:
11:19 AM Changeset in webkit [243394] by Alan Coon
  • 7 edits in tags/Safari-608.1.11.1/Source

Versioning.

11:14 AM Changeset in webkit [243393] by Alan Coon
  • 1 copy in tags/Safari-608.1.11.1

New tag.

11:12 AM Changeset in webkit [243392] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[macOS] Fix sandbox violation
https://bugs.webkit.org/show_bug.cgi?id=196153
<rdar://problem/49123855>

Reviewed by Brent Fulgham.

The sandbox on macOS is blocking the mach lookup.

  • WebProcess/com.apple.WebProcess.sb.in:
10:59 AM Changeset in webkit [243391] by mark.lam@apple.com
  • 4 edits
    1 add in trunk

Placate exception check validation in genericTypedArrayViewProtoFuncLastIndexOf().
https://bugs.webkit.org/show_bug.cgi?id=196154
<rdar://problem/49145307>

Reviewed by Filip Pizlo.

JSTests:

Also added @ runDefault constraint to web-assembly-link-error-exception-check.js.
There's no need to run this test on more than 1 test configuration.

  • stress/typed-array-lastIndexOf-exception-check.js: Added.
  • stress/web-assembly-link-error-exception-check.js:

Source/JavaScriptCore:

  • runtime/JSGenericTypedArrayViewPrototypeFunctions.h:

(JSC::genericTypedArrayViewProtoFuncLastIndexOf):

10:57 AM Changeset in webkit [243390] by Ryan Haddad
  • 2 edits in trunk/Source/WebKit

Unreviewed, fix the build with recent SDKs.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(stringForSSLProtocol):

10:43 AM Changeset in webkit [243389] by msaboff@apple.com
  • 3 edits in trunk/Source/bmalloc

[BMalloc] No need to delay deallocating chunks based on recent use
https://bugs.webkit.org/show_bug.cgi?id=196121

Reviewed by Mark Lam.

The "used since last scavenge" logic is not needed for small chunks since their memory isn't decommitted directly.
We can deallocate small chunks immediately as that adds them to the LargeRange free list. That free list employs the
"used since last scavenge" logic before the scavenger decommits the backing memory.

  • bmalloc/Chunk.h:

(bmalloc::Chunk::usedSinceLastScavenge): Deleted.
(bmalloc::Chunk::clearUsedSinceLastScavenge): Deleted.
(bmalloc::Chunk::setUsedSinceLastScavenge): Deleted.

  • bmalloc/Heap.cpp:

(bmalloc::Heap::scavenge):
(bmalloc::Heap::allocateSmallPage):

10:40 AM Changeset in webkit [243388] by Chris Dumez
  • 7 edits in trunk/Source/WebKit

Implement WebProcess freezer opt-in completely on WebContent process side
https://bugs.webkit.org/show_bug.cgi?id=196149

Reviewed by Brady Eidson.

Implement WebProcess freezer opt-in completely on WebContent process side, we do not need
to involve the UIProcess with this and rely on IPC which may be fragile.

In the future, we may want to set freezable state from the UIProcess when the API supports
it. We can move the logic to be fully on the UIProcess side then. In the mean time, it is
likely best not to rely on IPC and process coordination for this.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::globalPageMap):
(WebKit::WebProcessProxy::WebProcessProxy):
(WebKit::WebProcessProxy::setIsInProcessCache):
(WebKit::WebProcessProxy::markIsNoLongerInPrewarmedPool):
(WebKit::WebProcessProxy::didFinishLaunching):
(WebKit::WebProcessProxy::validateFreezerStatus): Deleted.

  • UIProcess/WebProcessProxy.h:

(WebKit::WebProcessProxy::removeProvisionalPageProxy):
(WebKit::WebProcessProxy::WebPageProxyMap::WebPageProxyMap): Deleted.
(WebKit::WebProcessProxy::WebPageProxyMap::size const): Deleted.
(WebKit::WebProcessProxy::WebPageProxyMap::values): Deleted.
(WebKit::WebProcessProxy::WebPageProxyMap::values const): Deleted.
(WebKit::WebProcessProxy::WebPageProxyMap::begin): Deleted.
(WebKit::WebProcessProxy::WebPageProxyMap::end): Deleted.
(WebKit::WebProcessProxy::WebPageProxyMap::get): Deleted.
(WebKit::WebProcessProxy::WebPageProxyMap::contains const): Deleted.
(WebKit::WebProcessProxy::WebPageProxyMap::isEmpty const): Deleted.
(WebKit::WebProcessProxy::WebPageProxyMap::set): Deleted.
(WebKit::WebProcessProxy::WebPageProxyMap::take): Deleted.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::setIsInProcessCache):
(WebKit::WebProcess::markIsNoLongerPrewarmed):
(WebKit::WebProcess::actualPrepareToSuspend):
(WebKit::WebProcess::setFreezable): Deleted.

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::updateProcessName):
(WebKit::WebProcess::shouldFreezeOnSuspension const):
(WebKit::WebProcess::updateFreezerStatus):

10:40 AM Changeset in webkit [243387] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[Flatpak] Manifest expanding fails for qt WPE extension
https://bugs.webkit.org/show_bug.cgi?id=196148

Patch by Philippe Normand <pnormand@igalia.com> on 2019-03-22
Reviewed by Alex Christensen.

  • flatpak/flatpakutils.py:

(expand_submodules_recurse): The last recurse manifest expand
iteration might lead to a single module so take it into account
and don't try to recurse further.

10:21 AM Changeset in webkit [243386] by mark.lam@apple.com
  • 3 edits
    1 add in trunk

Placate exception check validation in constructJSWebAssemblyLinkError().
https://bugs.webkit.org/show_bug.cgi?id=196152
<rdar://problem/49145257>

Reviewed by Michael Saboff.

JSTests:

  • stress/web-assembly-link-error-exception-check.js: Added.

Source/JavaScriptCore:

  • wasm/js/WebAssemblyLinkErrorConstructor.cpp:

(JSC::constructJSWebAssemblyLinkError):

10:02 AM Changeset in webkit [243385] by Chris Dumez
  • 2 edits in trunk/Tools

[ iOS Simulator] REGRESSION (r241821) Layout Test platform/ipad/fast/viewport/viewport-unchanged-by-minimum-effective-width-if-not-ignore-meta-viewport.html is a flaky failure on bots
https://bugs.webkit.org/show_bug.cgi?id=195348
<rdar://problem/48622090>

Reviewed by Alex Christensen.

Make sure webView.configuration.preferences._shouldIgnoreMetaViewport gets reset
to NO when test.options().shouldIgnoreMetaViewport is false.

  • WebKitTestRunner/ios/TestControllerIOS.mm:

(WTR::TestController::platformConfigureViewForTest):

10:01 AM Changeset in webkit [243384] by Chris Dumez
  • 23 edits
    1 add in trunk

Prewarmed processes should be usable with any website data store
https://bugs.webkit.org/show_bug.cgi?id=196104

Reviewed by Alex Christensen.

Source/WebKit:

Split WebsiteDataStore-specific data out of WebProcessCreationParameters and into a new
WebProcessDataStoreParameters struct so that we do not need a WebsiteDataStore in order
to lauch and initialize a WebProcess. When the process finally gets used and we thus
know which WebsiteDataStore they will be used for, we send the WebProcessDataStoreParameters
to the process to that it can do its data store-specific initialization.

This allows prewarmed processes not not have a WebsiteDataStore assocated with them. They
can then be used for any WebsiteDataStore when we need them.

This is also used by our dummy WebProcessProxy since it does not have a backing process and
thus has no associated WebsiteDataStore.

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • Shared/WebProcessDataStoreParameters.h: Added.

(WebKit::WebProcessDataStoreParameters::encode const):
(WebKit::WebProcessDataStoreParameters::decode):

  • UIProcess/API/C/WKContext.cpp:

(WKContextWarmInitialProcess):

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _warmInitialProcess]):

  • UIProcess/ServiceWorkerProcessProxy.cpp:

(WebKit::ServiceWorkerProcessProxy::ServiceWorkerProcessProxy):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::notifyProcessPoolToPrewarm):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::establishWorkerContextConnectionToNetworkProcess):
(WebKit::WebProcessPool::createNewWebProcess):
(WebKit::WebProcessPool::tryTakePrewarmedProcess):
(WebKit::WebProcessPool::sendWebProcessDataStoreParameters):
(WebKit::WebProcessPool::initializeNewWebProcess):
(WebKit::WebProcessPool::prewarmProcess):
(WebKit::WebProcessPool::processForRegistrableDomain):
(WebKit::WebProcessPool::createWebPage):
(WebKit::WebProcessPool::didReachGoodTimeToPrewarm):

  • UIProcess/WebProcessPool.h:

(WebKit::WebProcessPool::sendToOneProcess):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::create):
(WebKit::WebProcessProxy::WebProcessProxy):
(WebKit::WebProcessProxy::setWebsiteDataStore):
(WebKit::WebProcessProxy::addExistingWebPage):

  • UIProcess/WebProcessProxy.h:

(WebKit::WebProcessProxy::websiteDataStore const):

  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/MediaCache/WebMediaKeyStorageManager.cpp:

(WebKit::WebMediaKeyStorageManager::setWebsiteDataStore):

  • WebProcess/MediaCache/WebMediaKeyStorageManager.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::setWebsiteDataStoreParameters):

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
  • WebProcess/WebProcessSupplement.h:

(WebKit::WebProcessSupplement::initialize):
(WebKit::WebProcessSupplement::setWebsiteDataStore):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):
(WebKit::WebProcess::platformSetWebsiteDataStoreParameters):

  • WebProcess/win/WebProcessWin.cpp:

(WebKit::WebProcess::platformInitializeWebProcess):
(WebKit::WebProcess::platformSetWebsiteDataStoreParameters):

Tools:

Add API test coverage.

  • TestWebKitAPI/Tests/WebKitCocoa/ProcessPreWarming.mm:

(runInitialWarmedProcessUsedTest):
(TEST):

9:54 AM Changeset in webkit [243383] by Ryan Haddad
  • 16 edits in trunk

Unreviewed, rolling out r243356.

Causes assertion failures with WebGL layout tests on macOS and
iOS.

Reverted changeset:

"Web Inspector: Safari Canvas Inspector seems to show the
canvas being rendered twice per frame."
https://bugs.webkit.org/show_bug.cgi?id=196082
https://trac.webkit.org/changeset/243356

9:42 AM Changeset in webkit [243382] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WTF

Fix the build after r243354

  • wtf/Platform.h:
9:38 AM Changeset in webkit [243381] by Simon Fraser
  • 3 edits in trunk/Source/WebKit

REGRESSION (r242687): Flicker when pinch-zooming pages in macOS Safari
https://bugs.webkit.org/show_bug.cgi?id=196126
rdar://problem/49095791

Reviewed by Antti Koivisto.

The scrolling tree doesn't have an accurate picture of the main view's scroll position
during pinch-zooming, so don't have it apply layer positions if a transient zoom is
in progress.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
(WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage):

9:28 AM Changeset in webkit [243380] by Antti Koivisto
  • 12 edits
    2 adds in trunk

Handle UI side hit testing for ScrollPositioningBehavior::Stationary positioned nodes
https://bugs.webkit.org/show_bug.cgi?id=196100
<rdar://problem/49117933>

Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/scrolling/ios/overflow-scroll-overlap-6.html

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::commitTreeState):

  • page/scrolling/ScrollingTree.h:

(WebCore::ScrollingTree::positionedNodesWithRelatedOverflow):

Add a separate map of positioned node ids for easy access.

  • page/scrolling/cocoa/ScrollingTreePositionedNode.h:

(WebCore::ScrollingTreePositionedNode::scrollPositioningBehavior const):
(WebCore::ScrollingTreePositionedNode::relatedOverflowScrollingNodes const):

  • page/scrolling/cocoa/ScrollingTreePositionedNode.mm:

(WebCore::ScrollingTreePositionedNode::commitStateBeforeChildren):

Source/WebKit:

Test: fast/scrolling/ios/overflow-scroll-overlap-6.html

  • UIProcess/RemoteLayerTree/RemoteLayerTreeNode.h:

(WebKit::RemoteLayerTreeNode::relatedScrollContainerIDs const):
(WebKit::RemoteLayerTreeNode::relatedScrollContainerPositioningBehavior const):

Make more generic and save the associated positioning behavior.

(WebKit::RemoteLayerTreeNode::nonAncestorScrollContainerIDs const): Deleted.
(WebKit::RemoteLayerTreeNode::addNonAncestorScrollContainerID): Deleted.
(WebKit::RemoteLayerTreeNode::clearNonAncestorScrollContainerIDs): Deleted.

  • UIProcess/RemoteLayerTree/RemoteLayerTreeNode.mm:

(WebKit::RemoteLayerTreeNode::setRelatedScrollContainerBehaviorAndIDs):

  • UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h:
  • UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm:

(WebKit::isScrolledBy):

Stationary relationship means the layer won't scroll the scroller.

  • UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.mm:

(WebKit::RemoteScrollingCoordinatorProxy::establishLayerTreeScrollingRelations):

LayoutTests:

  • fast/scrolling/ios/overflow-scroll-overlap-6-expected.txt: Added.
  • fast/scrolling/ios/overflow-scroll-overlap-6.html: Added.
9:27 AM Changeset in webkit [243379] by Chris Dumez
  • 5 edits in trunk/Source/WebKit

REGRESSION (r243094): ePub files do not render or open in Books
https://bugs.webkit.org/show_bug.cgi?id=196119
<rdar://problem/49121686>

Reviewed by Brady Eidson.

Do not delay the WebProcess launch until a load when contructing a web view and the client
may observe when its injected bundle is loaded via WKProcessGroupDelegate's
didCreateConnectionToWebProcessPlugIn.

  • UIProcess/API/Cocoa/WKProcessGroup.mm:

(-[WKProcessGroup setDelegate:]):

  • UIProcess/WebInspectorUtilities.cpp:

(WebKit::inspectorProcessPool):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::createWebPage):

  • UIProcess/WebProcessPool.h:
9:03 AM Changeset in webkit [243378] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

REGRESSION(r243094): Automation: browser crash in WebAutomationSession::exitFullscreenWindowForPage()
https://bugs.webkit.org/show_bug.cgi?id=196140

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2019-03-22
Reviewed by Chris Dumez.

Since r243094, the WebPageProxy fullscreen manager is not created in the constructor, but once the page has a
process launched.

  • UIProcess/Automation/WebAutomationSession.cpp:

(WebKit::WebAutomationSession::exitFullscreenWindowForPage): Null check WebPageProxy::fullScreenManager() before
using it.

8:54 AM Changeset in webkit [243377] by Simon Fraser
  • 1 edit
    3 deletes in trunk/LayoutTests

Unreviewed test gardening of plugin tests
https://bugs.webkit.org/show_bug.cgi?id=196150

For reasons unknown, my machine and bots produce different results for these plug-in tests.
My machine behaves like the test plug-in does not exist.

  • platform/mac-wk1/compositing/plugins/composited-plugin-expected.txt: Removed.
  • platform/mac-wk1/compositing/plugins/no-backing-store-expected.txt: Removed.
  • platform/mac-wk1/compositing/plugins/small-to-large-composited-plugin-expected.txt: Removed.
8:45 AM Changeset in webkit [243376] by timothy@apple.com
  • 140 edits in trunk/Source

Change macosx() to macos() in WK_API... and JSC_API... macros.
https://bugs.webkit.org/show_bug.cgi?id=196106

Reviewed by Brian Burg.

Source/JavaScriptCore:

  • API/JSBasePrivate.h:
  • API/JSContext.h:
  • API/JSContextPrivate.h:
  • API/JSContextRef.h:
  • API/JSContextRefInternal.h:
  • API/JSContextRefPrivate.h:
  • API/JSManagedValue.h:
  • API/JSObjectRef.h:
  • API/JSObjectRefPrivate.h:
  • API/JSRemoteInspector.h:
  • API/JSScript.h:
  • API/JSTypedArray.h:
  • API/JSValue.h:
  • API/JSValuePrivate.h:
  • API/JSValueRef.h:
  • API/JSVirtualMachinePrivate.h:

Source/WebCore/PAL:

  • pal/spi/cocoa/NSTouchBarSPI.h:

Source/WebKit:

  • Shared/API/Cocoa/WKBrowsingContextHandle.h:
  • Shared/API/Cocoa/WKDragDestinationAction.h:
  • Shared/API/Cocoa/WKMain.h:
  • Shared/API/Cocoa/_WKFrameHandle.h:
  • Shared/API/Cocoa/_WKHitTestResult.h:
  • Shared/API/Cocoa/_WKNSWindowExtras.h:
  • Shared/API/Cocoa/_WKRemoteObjectInterface.h:
  • Shared/API/Cocoa/_WKRemoteObjectRegistry.h:
  • Shared/API/Cocoa/_WKRenderingProgressEvents.h:
  • Shared/API/Cocoa/_WKSameDocumentNavigationType.h:
  • UIProcess/API/C/WKPage.h:
  • UIProcess/API/Cocoa/NSAttributedString.h:
  • UIProcess/API/Cocoa/WKBackForwardList.h:
  • UIProcess/API/Cocoa/WKBackForwardListItem.h:
  • UIProcess/API/Cocoa/WKBackForwardListItemPrivate.h:
  • UIProcess/API/Cocoa/WKBrowsingContextLoadDelegate.h:
  • UIProcess/API/Cocoa/WKContentRuleList.h:
  • UIProcess/API/Cocoa/WKContentRuleListStore.h:
  • UIProcess/API/Cocoa/WKError.h:
  • UIProcess/API/Cocoa/WKErrorPrivate.h:
  • UIProcess/API/Cocoa/WKFrameInfo.h:
  • UIProcess/API/Cocoa/WKFrameInfoPrivate.h:
  • UIProcess/API/Cocoa/WKHTTPCookieStore.h:
  • UIProcess/API/Cocoa/WKMenuItemIdentifiersPrivate.h:
  • UIProcess/API/Cocoa/WKNavigation.h:
  • UIProcess/API/Cocoa/WKNavigationAction.h:
  • UIProcess/API/Cocoa/WKNavigationActionPrivate.h:
  • UIProcess/API/Cocoa/WKNavigationDelegate.h:
  • UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
  • UIProcess/API/Cocoa/WKNavigationResponse.h:
  • UIProcess/API/Cocoa/WKOpenPanelParameters.h:
  • UIProcess/API/Cocoa/WKOpenPanelParametersPrivate.h:
  • UIProcess/API/Cocoa/WKPreferences.h:
  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
  • UIProcess/API/Cocoa/WKProcessPool.h:
  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
  • UIProcess/API/Cocoa/WKScriptMessage.h:
  • UIProcess/API/Cocoa/WKSecurityOrigin.h:
  • UIProcess/API/Cocoa/WKSnapshotConfiguration.h:
  • UIProcess/API/Cocoa/WKUIDelegate.h:
  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
  • UIProcess/API/Cocoa/WKURLSchemeHandler.h:
  • UIProcess/API/Cocoa/WKURLSchemeTask.h:
  • UIProcess/API/Cocoa/WKURLSchemeTaskPrivate.h:
  • UIProcess/API/Cocoa/WKUserContentController.h:
  • UIProcess/API/Cocoa/WKUserContentControllerPrivate.h:
  • UIProcess/API/Cocoa/WKUserScript.h:
  • UIProcess/API/Cocoa/WKUserScriptPrivate.h:
  • UIProcess/API/Cocoa/WKViewPrivate.h:
  • UIProcess/API/Cocoa/WKWebView.h:
  • UIProcess/API/Cocoa/WKWebViewConfiguration.h:
  • UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/Cocoa/WKWebsiteDataRecord.h:
  • UIProcess/API/Cocoa/WKWebsiteDataRecordPrivate.h:
  • UIProcess/API/Cocoa/WKWebsiteDataStore.h:
  • UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
  • UIProcess/API/Cocoa/WKWindowFeatures.h:
  • UIProcess/API/Cocoa/WKWindowFeaturesPrivate.h:
  • UIProcess/API/Cocoa/_WKActivatedElementInfo.h:
  • UIProcess/API/Cocoa/_WKApplicationManifest.h:
  • UIProcess/API/Cocoa/_WKAttachment.h:
  • UIProcess/API/Cocoa/_WKAutomationDelegate.h:
  • UIProcess/API/Cocoa/_WKAutomationSession.h:
  • UIProcess/API/Cocoa/_WKAutomationSessionConfiguration.h:
  • UIProcess/API/Cocoa/_WKAutomationSessionDelegate.h:
  • UIProcess/API/Cocoa/_WKContextMenuElementInfo.h:
  • UIProcess/API/Cocoa/_WKDiagnosticLoggingDelegate.h:
  • UIProcess/API/Cocoa/_WKDownload.h:
  • UIProcess/API/Cocoa/_WKDownloadDelegate.h:
  • UIProcess/API/Cocoa/_WKElementAction.h:
  • UIProcess/API/Cocoa/_WKExperimentalFeature.h:
  • UIProcess/API/Cocoa/_WKFindOptions.h:
  • UIProcess/API/Cocoa/_WKFocusedElementInfo.h:
  • UIProcess/API/Cocoa/_WKFormInputSession.h:
  • UIProcess/API/Cocoa/_WKFullscreenDelegate.h:
  • UIProcess/API/Cocoa/_WKGeolocationCoreLocationProvider.h:
  • UIProcess/API/Cocoa/_WKInspector.h:
  • UIProcess/API/Cocoa/_WKInspectorWindow.h:
  • UIProcess/API/Cocoa/_WKInternalDebugFeature.h:
  • UIProcess/API/Cocoa/_WKLayoutMode.h:
  • UIProcess/API/Cocoa/_WKLinkIconParameters.h:
  • UIProcess/API/Cocoa/_WKOverlayScrollbarStyle.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.h:
  • UIProcess/API/Cocoa/_WKSessionState.h:
  • UIProcess/API/Cocoa/_WKTextInputContext.h:
  • UIProcess/API/Cocoa/_WKThumbnailView.h:
  • UIProcess/API/Cocoa/_WKUserContentExtensionStore.h:
  • UIProcess/API/Cocoa/_WKUserContentExtensionStorePrivate.h:
  • UIProcess/API/Cocoa/_WKUserContentFilter.h:
  • UIProcess/API/Cocoa/_WKUserContentFilterPrivate.h:
  • UIProcess/API/Cocoa/_WKUserContentWorld.h:
  • UIProcess/API/Cocoa/_WKUserInitiatedAction.h:
  • UIProcess/API/Cocoa/_WKUserStyleSheet.h:
  • UIProcess/API/Cocoa/_WKVisitedLinkStore.h:
  • UIProcess/API/Cocoa/_WKWebsiteDataSize.h:
  • UIProcess/API/Cocoa/_WKWebsiteDataStore.h:
  • UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h:
  • UIProcess/API/Cocoa/_WKWebsiteDataStoreDelegate.h:
  • UIProcess/API/Cocoa/_WKWebsitePolicies.h:
  • WebProcess/API/Cocoa/WKWebProcess.h:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInEditingDelegate.h:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.h:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInHitTestResult.h:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandlePrivate.h:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroup.h:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInRangeHandle.h:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.h:
  • WebProcess/InjectedBundle/API/mac/WKDOMDocument.h:
  • WebProcess/InjectedBundle/API/mac/WKDOMElement.h:
  • WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
  • WebProcess/InjectedBundle/API/mac/WKDOMRange.h:
  • WebProcess/InjectedBundle/API/mac/WKDOMText.h:
  • WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.h:
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h:
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
6:49 AM Changeset in webkit [243375] by yousuke.kimoto@sony.com
  • 2 edits in trunk/Source/WebKit

Unreviewed build fix.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:
6:46 AM Changeset in webkit [243374] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Web Animations] com.apple.WebKit.WebContent.Development at com.apple.WebCore: WebCore::WebAnimation::timeToNextTick const + 757
https://bugs.webkit.org/show_bug.cgi?id=196125
<rdar://problem/46520059>

Patch by Antoine Quint <Antoine Quint> on 2019-03-22
Reviewed by Dean Jackson.

Because of floating point math in playState() that wouldn't account for timeEpsilon, we would get into a state where the animation phase
was "after" but the play state was "running" when the current time was about a microsecond away from the active time boundary. This meant
that the early return statement in WebAnimation::timeToNextTick() would not be hit while we would not handle the possibility of being in
the "after" phase in the rest of the function, therefore eventually hitting the ASSERT_NOT_REACHED() at the end of the function.

We now account for timeEpsilon in playState() and correctly report we're in the "finished" play state when in the "after" phase also.

  • animation/WebAnimation.cpp:

(WebCore::WebAnimation::playState const):

5:56 AM Changeset in webkit [243373] by ddkilzer@apple.com
  • 8 edits in trunk/Tools

Back out local changes to Alex's Subversion working directory

They were accidentally committed.

  • Scripts/webkitpy/common/system/abstractexecutive.py:

(AbstractExecutive.wait_newest):

  • Scripts/webkitpy/common/system/executive.py:

(Executive.running_pids):

  • Scripts/webkitpy/common/system/executive_mock.py:

(MockExecutive.running_pids):

  • Scripts/webkitpy/common/system/executive_unittest.py:

(ExecutiveTest.serial_test_running_pids):

  • Scripts/webkitpy/port/darwin.py:

(DarwinPort.check_for_leaks):

  • Scripts/webkitpy/port/leakdetector.py:

(LeakDetector.check_for_leaks):

  • This was the hack attached to Bug 193772.
  • WebKitTestRunner/mac/WebKitTestRunnerEvent.mm:

(+[WebKitTestRunnerEvent mouseLocation]):

  • This works around a crash on an internal build.
5:22 AM Changeset in webkit [243372] by aboya@igalia.com
  • 5 edits
    6 adds in trunk

[MSE][GStreamer] Don't construct segments on PlaybackPipeline::flush
https://bugs.webkit.org/show_bug.cgi?id=195867

Reviewed by Xabier Rodriguez-Calvar.

LayoutTests/imported/w3c:

These tests check that video and audio are roughly in sync with each
other and with the reported player position during MSE playback.

  • web-platform-tests/media-source/mediasource-correct-frames-after-reappend-expected.txt: Added.
  • web-platform-tests/media-source/mediasource-correct-frames-after-reappend.html: Added.
  • web-platform-tests/media-source/mediasource-correct-frames-expected.txt: Added.
  • web-platform-tests/media-source/mediasource-correct-frames.html: Added.
  • web-platform-tests/media-source/mp4/test-boxes-audio.mp4: Added.
  • web-platform-tests/media-source/mp4/test-boxes-video.mp4: Added.

Source/WebCore:

The previous approach did not really work for flushes on only one
branch, as setting reset-time in FLUSH_STOP affects the running time
of the entire pipeline, causing timing issues in the other branch.

Since it's preferable not to interfere with the other branch if
possible, setting reset-time to FALSE fixes that problem.

Also, it's not necessary to fabricate a segment. Since we are not
seeking, only the base needs to be adjusted, and gstbasesrc already
handles this correctly by default.

This fixes an audio/video synchronization bug in YT when some
automatic quality changes occur.

Tests: imported/w3c/web-platform-tests/media-source/mediasource-correct-frames-after-reappend.html

imported/w3c/web-platform-tests/media-source/mediasource-correct-frames.html

  • platform/graphics/gstreamer/mse/PlaybackPipeline.cpp:

(WebCore::PlaybackPipeline::flush):

LayoutTests:

Drawing an MSE video in a canvas seems to be failing in Mac. That
functionality is necessary for the tests introduced with this patch,
therefore they fail there. Marking them as Skip.

  • platform/mac/TestExpectations:
3:03 AM Changeset in webkit [243371] by fred.wang@free.fr
  • 3 edits in trunk/Source/WebCore

Move implementation of mathsize to a single place
https://bugs.webkit.org/show_bug.cgi?id=196129

Patch by Frederic Wang <fwang@igalia.com> on 2019-03-22
Reviewed by Ryosuke Niwa.

Currently, mathsize is partially implemented in the MathML UA stylesheet and partially
implemented in the MathML DOM classes using addPropertyToPresentationAttributeStyle. This
patch moves the whole implementation to the latter place, so that it's easier to understand.
It will also allow to conditionally disable the mathsize values removed from MathML Core.

No new tests, already covered by existing tests.

  • css/mathml.css: Remove mathsize rules.
  • mathml/MathMLElement.cpp:

(WebCore::convertMathSizeIfNeeded): Convert "small", "normal" and "big" to the values that
used to be in the UA stylesheet. Also add a comment that we don't support all MathML lengths.
(WebCore::MathMLElement::collectStyleForPresentationAttribute): Don't skip "small", "normal"
or "big".
(WebCore::convertToPercentageIfNeeded): Renamed to convertMathSizeIfNeeded.

2:40 AM Changeset in webkit [243370] by timothy_horton@apple.com
  • 9 edits in trunk

Fix the build after r243354
https://bugs.webkit.org/show_bug.cgi?id=196138
<rdar://problem/49145951>

  • wtf/Platform.h:
  • TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:

(TEST):

  • TestWebKitAPI/ios/UIKitSPI.h:
  • Platform/spi/ios/UIKitSPI.h:
  • Shared/DocumentEditingContext.mm:

(WebKit::DocumentEditingContext::toPlatformContext):

  • UIProcess/ios/WKContentViewInteraction.mm:
12:54 AM Changeset in webkit [243369] by bshafiei@apple.com
  • 7 edits in trunk/Source

Versioning.

12:53 AM Changeset in webkit [243368] by bshafiei@apple.com
  • 1 copy in tags/Safari-608.1.12

Tag Safari-608.1.12.

12:39 AM Changeset in webkit [243367] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, build fix for Windows
https://bugs.webkit.org/show_bug.cgi?id=196122

  • runtime/FunctionExecutable.cpp:
12:28 AM Changeset in webkit [243366] by dinfuehr@igalia.com
  • 2 edits in trunk/JSTests

Skip tests running out of memory on ARM/MIPS
https://bugs.webkit.org/show_bug.cgi?id=196131

Unreviewed. Skip test if memory is limited.

  • microbenchmarks/put-by-val-direct-large-index.js:
12:14 AM Changeset in webkit [243365] by ysuzuki@apple.com
  • 16 edits
    2 copies in trunk/Source/JavaScriptCore

[JSC] Shrink sizeof(FunctionExecutable) by 16bytes
https://bugs.webkit.org/show_bug.cgi?id=196122

Reviewed by Saam Barati.

This patch reduces sizeof(FunctionExecutable) by 16 bytes.

  1. ScriptExecutable::m_numParametersForCall and ScriptExecutable::m_numParametersForConstruct are not used in a meaningful way. Removed them.
  2. ScriptExecutable::m_lastLine and ScriptExecutable::m_endColumn can be calculated from UnlinkedFunctionExecutable. So FunctionExecutable does not need to hold it. This patch adds GlobalExecutable, which are non-function ScriptExecutables, and move m_lastLine and m_endColumn to this class.
  3. FunctionExecutable still needs to have the feature overriding m_lastLine and m_endColumn. We move overridden data in FunctionExecutable::RareData.
  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • bytecode/UnlinkedFunctionExecutable.cpp:

(JSC::UnlinkedFunctionExecutable::link):

  • runtime/EvalExecutable.cpp:

(JSC::EvalExecutable::EvalExecutable):

  • runtime/EvalExecutable.h:
  • runtime/FunctionExecutable.cpp:

(JSC::FunctionExecutable::FunctionExecutable):
(JSC::FunctionExecutable::ensureRareDataSlow):
(JSC::FunctionExecutable::overrideInfo):

  • runtime/FunctionExecutable.h:
  • runtime/GlobalExecutable.cpp: Copied from Source/JavaScriptCore/tools/FunctionOverrides.h.
  • runtime/GlobalExecutable.h: Copied from Source/JavaScriptCore/tools/FunctionOverrides.h.

(JSC::GlobalExecutable::lastLine const):
(JSC::GlobalExecutable::endColumn const):
(JSC::GlobalExecutable::recordParse):
(JSC::GlobalExecutable::GlobalExecutable):

  • runtime/ModuleProgramExecutable.cpp:

(JSC::ModuleProgramExecutable::ModuleProgramExecutable):

  • runtime/ModuleProgramExecutable.h:
  • runtime/ProgramExecutable.cpp:

(JSC::ProgramExecutable::ProgramExecutable):

  • runtime/ProgramExecutable.h:
  • runtime/ScriptExecutable.cpp:

(JSC::ScriptExecutable::clearCode):
(JSC::ScriptExecutable::installCode):
(JSC::ScriptExecutable::hasClearableCode const):
(JSC::ScriptExecutable::newCodeBlockFor):
(JSC::ScriptExecutable::typeProfilingEndOffset const):
(JSC::ScriptExecutable::recordParse):
(JSC::ScriptExecutable::lastLine const):
(JSC::ScriptExecutable::endColumn const):

  • runtime/ScriptExecutable.h:

(JSC::ScriptExecutable::hasJITCodeForCall const):
(JSC::ScriptExecutable::hasJITCodeForConstruct const):
(JSC::ScriptExecutable::recordParse):
(JSC::ScriptExecutable::lastLine const): Deleted.
(JSC::ScriptExecutable::endColumn const): Deleted.

  • tools/FunctionOverrides.h:
Note: See TracTimeline for information about the timeline view.