⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Feb 13, 2021:

7:04 PM Changeset in webkit [272838] by Alexey Shvayka
  • 5 edits
    1 add in trunk

Proxy's GetOwnProperty should complete trap result descriptor before validation
https://bugs.webkit.org/show_bug.cgi?id=221772

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/proxy-get-own-property.js:
  • stress/proxy-returning-incomplete-property-descriptor-error.js: Added.

Source/JavaScriptCore:

This patch implements CompletePropertyDescriptor abstract op and utilizes it in
Proxy's GetOwnProperty, right before IsCompatiblePropertyDescriptor check
as per spec [1].

This change tightens trap result validation rules for properties that are
non-configurable on ProxyTarget, aligning JSC with V8 and SpiderMonkey.

It's impossible to prefill trap result descriptor: toPropertyDescriptor() throws
on malformed descriptors, thus it expects the argument to be an empty descriptor
(added an assert).

Property descriptors returned to userland are unaffected as they were implicitly
completed when filling PropertySlot (see PropertyDescriptor::defaultAttributes).

[1]: https://tc39.es/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-getownproperty-p (step 14)

  • runtime/ObjectConstructor.cpp:

(JSC::toPropertyDescriptor):

  • runtime/ProxyObject.cpp:

(JSC::completePropertyDescriptor):
(JSC::ProxyObject::performInternalMethodGetOwnProperty):

4:05 PM Changeset in webkit [272837] by weinig@apple.com
  • 5 edits in trunk/Source/WebCore

Reduce requirements for color types to only conversion to their reference color
https://bugs.webkit.org/show_bug.cgi?id=221868

Reviewed by Darin Adler.

We currently require every new color type to define a conversion to/from xyz and then perhaps
some more conversions to reference colors to avoid unnecessary trips through XYZ. For example,
if every conversion from HSL to sRGB went through XYZ it would be very silly and inefficient,
and the fact that we require the boiler plate for HSL -> XYZ, even though it's always going to
convert to SRGB first seems unfortunate. We can do better.

At first I thought we could model color conversion as DAG, with XYZ at the root, and each color
type declaring a "reference color" that would get them closer to XYZ. So, HSL would have a
"reference color" of sRGB, sRGB would have a "reference color" of linearSRGB, and linearSRGB
would have a "reference color" XYZ. Then, as long as there was a defined conversion to/from the
"reference color", we could do a least common ancestor graph search between the two color types
being converted between to find the optimal set of conversions needed.

That almost works, but the relationships between the four color types that make up each RGB type
(bounded-gamma-encoded, bounded-linear-encoded, extended-gamma-encoded, extended-linear-encoded)
make it not quite ideal, since a conversion from something like sRGB to ExtendedSRGB would wind
up going through XYZ (since the "reference color" for sRGB is LinearSRGB and the "reference color"
for ExtendedSRGB is LinearExtendedSRGB, and both either "reference colors" are XYZ).

Ultimately, the depth of the type graph is not all that large (though the ASCII art I made is
quite big, though I did remove A98RGB and Rec2020 as they are same as DisplayP3 here):

┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐

Matrix Conversions ┌───────────┐│┌───────────┐

│ │ XYZ (D50) │││ XYZ (D65) │ │

└─────▲─────┘│└─────▲─────┘

│ │ │ │ │

┌─────────────────────────┬───────────┘ │ └───────────┬───────────────────────────────┐
│ │ │ │ │ │ │
│ │ │ │ │
│ │ │ │ │ │ │
│ ProPhotoRGB───────────────────┐ │ SRGB──────────────────────────┐ DisplayP3─────────────────────┐
│ │ │┌────────┐ ┌────────────────┐│ │ │┌────────┐ ┌────────────────┐│ │┌────────┐ ┌────────────────┐│ │
│ ││ Linear │ │ LinearExtended ││ │ ││ Linear │ │ LinearExtended ││ ││ Linear │ │ LinearExtended ││
│ │ │└────────┘ └────────────────┘│ │ │└────────┘ └────────────────┘│ │└────────┘ └────────────────┘│ │
│ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│─ ─│─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│─

┌───────────┐ │┌────────┐ ┌────────────────┐│ │ │┌────────┐ ┌────────────────┐│ │┌────────┐ ┌────────────────┐│
│ Lab │ ││ Gamma │ │ GammaExtended ││ │ ││ Gamma │ │ GammaExtended ││ ││ Gamma │ │ GammaExtended ││
└─────▲─────┘ │└────────┘ └────────────────┘│ │ │└────▲───┘ └────────────────┘│ │└────────┘ └────────────────┘│

│ └─────────────────────────────┘ │ └─────┼───────────────────────┘ └─────────────────────────────┘
│ │ ┌──┴──────────┬─────────────┐
│ │ │ │ │

┌───────────┐ │┌───────────┐ ┌───────────┐┌─────────────┐
│ LCH │ ││ HSL │ │ HWB ││SRGB<uint8_t>│
└───────────┘ │└───────────┘ └───────────┘└─────────────┘

From this, it turns out you can handle all the cases in about 5 steps, with most peeling off a
conversion from the front or back or the path and using recursion to continue on. It ultimately
leaves a final step where only matrix conversions remain, which can potentially be further
optimized in another patch to concatenate the matrices at compile time.

  1. Handle the special case SRGBA<uint8_t> for Input and Output, and recursively call conversion.
  1. Handle all color types that are not IsRGBType<T> or IsXYZA<T> for Input and Output. For all these other color types, we can uncondtionally convert them to their "reference" color, as either they have already been handled by a ColorConversion specialization or this will get us closer to the final conversion, and recursively call conversion.
  1. Handle conversions within a RGBFamily (e.g. all have the same descriptor). This will conclude the conversion.
  1. Handle any gamma conversions for the Input and Output, recursively call conversion
  1. At this point, Input and Output are each either Linear-RGB types (of different familes) or XYZA and therefore all additional conversion can happen via matrix transformation. This will conclude the conversion.

With these steps, we group the color types into 3 distinct groups.

  1. RGB types.

These inherit from the RGBType struct and are defined in terms of their xyzToLinear / linearToXYZ
matrices, their transfer function, whether they are bounded or extended and their white point. New
RGB color types can be added without any new conversion code being required, as long as they specify
those properties.

  1. The XYZ type.

This is the root type, and only varies on its white point. If other white points beside D50 and D65
are ever needed, we will need to extend the ChromaticAdapation specializations to also have conversion
matrices between those.

  1. All other types.

All other types (e.g. Lab, LCHA, HSLA, HWBA (and SRGBA<uint8_t>, kind of, it's a special flower) are
the set currently) have their conversions defined in terms of single reference color and require
explicit specialization of the ColorConversion struct to work.

  • platform/graphics/ColorConversion.cpp:

(WebCore::Lab<float>>::convert):
(WebCore::WhitePoint::D50>>::convert):
(): Deleted.
(WebCore::WhitePoint::D65>>::convert): Deleted.
(WebCore::toLinear): Deleted.
(WebCore::toGammaEncoded): Deleted.
(WebCore::A98RGB<float>>::convert): Deleted.
(WebCore::LinearA98RGB<float>>::convert): Deleted.
(WebCore::DisplayP3<float>>::convert): Deleted.
(WebCore::LinearDisplayP3<float>>::convert): Deleted.
(WebCore::ExtendedSRGBA<float>>::convert): Deleted.
(WebCore::LinearExtendedSRGBA<float>>::convert): Deleted.
(WebCore::ProPhotoRGB<float>>::convert): Deleted.
(WebCore::LinearProPhotoRGB<float>>::convert): Deleted.
(WebCore::Rec2020<float>>::convert): Deleted.
(WebCore::LinearRec2020<float>>::convert): Deleted.
(WebCore::LinearSRGBA<float>>::convert): Deleted.
(WebCore::xyzToLinear): Deleted.
(WebCore::linearToXYZ): Deleted.
(WebCore::XYZFor<LinearA98RGB<float>>>::convert): Deleted.
(WebCore::XYZFor<LinearDisplayP3<float>>>::convert): Deleted.
(WebCore::XYZFor<LinearExtendedSRGBA<float>>>::convert): Deleted.
(WebCore::XYZFor<LinearProPhotoRGB<float>>>::convert): Deleted.
(WebCore::XYZFor<LinearRec2020<float>>>::convert): Deleted.
(WebCore::XYZFor<LinearSRGBA<float>>>::convert): Deleted.
(WebCore::XYZFor<Lab<float>>>::convert): Deleted.
(WebCore::XYZFor<A98RGB<float>>>::convert): Deleted.
(WebCore::XYZFor<DisplayP3<float>>>::convert): Deleted.
(WebCore::XYZFor<ExtendedSRGBA<float>>>::convert): Deleted.
(WebCore::XYZFor<HSLA<float>>>::convert): Deleted.
(WebCore::XYZFor<HWBA<float>>>::convert): Deleted.
(WebCore::XYZFor<LCHA<float>>>::convert): Deleted.
(WebCore::XYZFor<ProPhotoRGB<float>>>::convert): Deleted.
(WebCore::XYZFor<Rec2020<float>>>::convert): Deleted.
(WebCore::XYZFor<SRGBA<float>>>::convert): Deleted.

  • platform/graphics/ColorConversion.h:

(WebCore::ColorConversion::convert):
(WebCore::ColorConversion::toLinearEncoded):
(WebCore::ColorConversion::toGammaEncoded):
(WebCore::ColorConversion::toExtended):
(WebCore::ColorConversion::toBounded):
(WebCore::ColorConversion::handleRGBFamilyConversion):
(WebCore::ColorConversion::handleMatrixConversion):

  • platform/graphics/ColorMatrix.h:

(WebCore::operator==):
(WebCore::operator!=):
(WebCore::applyMatricesToColorComponents):

  • platform/graphics/ColorTypes.h:
12:35 PM Changeset in webkit [272836] by ap@apple.com
  • 2 edits in trunk/Source/WebKit

Unreviewed build fix.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView pointerInteraction:styleForRegion:]):

11:13 AM Changeset in webkit [272835] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Improve computed style handling in degenerate grid cases, sizes and lengths of zero
https://bugs.webkit.org/show_bug.cgi?id=221856

Reviewed by Anders Carlsson.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::valueForImageSliceSide): Handle "auto", which can come up with sizes of zero.
(WebCore::valueForNinePieceImage): Simplify by not putting Ref<> results into RefPtr<> locals.
(WebCore::valueForGridTrackList): Clamp insertion point to the actual size of the tracks,
since it can be set to an arbitrary larger value.

11:07 AM Changeset in webkit [272834] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

[LFC][Integration] Not every inline box contributes to line overflow
https://bugs.webkit.org/show_bug.cgi?id=221867

Reviewed by Antti Koivisto.

Consider the follow content:
<div style="font-size: 20px;">content<span style="font-size: 200px;"><img></span></div>

In quirks mode, the inline box (<span>) does not stretch the line box vertically. What it means in practice is
that the inline box's descent is ignored. While the inline box has a relatively large descent and
in theory it overflows the line (since it is larger than the root inline box's descent)
it should not be taken into account when computing the scrollable overflow.
However adding "padding: 1px" to the <span> will make the inline box stretch the line and now this "1px padding" will
contribute to the scrollable overflow.

  • layout/integration/LayoutIntegrationInlineContentBuilder.cpp:

(WebCore::LayoutIntegration::InlineContentBuilder::build const):
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayNonRootInlineBoxes const):

  • layout/integration/LayoutIntegrationInlineContentBuilder.h:
  • layout/integration/LayoutIntegrationLine.h:

(WebCore::LayoutIntegration::NonRootInlineBox::NonRootInlineBox):
(WebCore::LayoutIntegration::NonRootInlineBox::canContributeToLineOverflow const):

  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::constructContent):

10:18 AM Changeset in webkit [272833] by commit-queue@webkit.org
  • 2 edits in trunk/JSTests

JSC stress test stress/copy-data-properties-fast-path.js.default fails on s390x and ppc64le
https://bugs.webkit.org/show_bug.cgi?id=221557

Patch by Michael Catanzaro <Michael Catanzaro> on 2021-02-13
Reviewed by Saam Barati.

Skip the test on these architectures. I don't know what else to do with it.

  • stress/copy-data-properties-fast-path.js:
2:59 AM Changeset in webkit [272832] by ysuzuki@apple.com
  • 2 edits in trunk/JSTests

Unreviewed, fix stress/copy-data-properties-fast-path.js occasional failure

Wrap it with try-catch since stack-overflow RangeError in JS can happen.

  • stress/copy-data-properties-fast-path.js:
2:12 AM Changeset in webkit [272831] by ysuzuki@apple.com
  • 9 edits
    1 copy
    1 add
    2 deletes in trunk/Source

[JSC] Enable JITCage on macOS
https://bugs.webkit.org/show_bug.cgi?id=221805
<rdar://problem/74153806>

Reviewed by Mark Lam.

Source/JavaScriptCore:

We enable JITCage too on macOS if it is ARM64E.
We need to add this entitlement only when building it on macOS 120000 or higher version.
Otherwise, we cannot launch the process. This means that we need to dynamically generate entitlements file
because we must not attach this entitlement when building JSC for non 120000 macOS.

This patch follows r248164's way: we must not use CODE_SIGN_ENTITLEMENTS because XCode inserts implicit code-signing
and it breaks our pipeline. We need to disable this XCode's implicit behavior by setting CODE_SIGN_INJECT_BASE_ENTITLEMENTS.

And we also create TestAPI.xcconfig to apply generated entitlements only to testapi and jsc shell.

  • Configurations/Base.xcconfig:
  • Configurations/JSC.xcconfig:
  • Configurations/TestAPI.xcconfig: Copied from Source/JavaScriptCore/Configurations/ToolExecutable.xcconfig.
  • Configurations/ToolExecutable.xcconfig:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Scripts/process-entitlements.sh: Added.
  • allow-jit-macOS.entitlements: Removed.
  • testapi.entitlements: Removed.

Source/WebKit:

We need to add this entitlement only when building it on macOS 120000 or higher version.
Otherwise, we cannot launch the process. And we attach this entitlement only when building processes
with Apple Internal SDKs.

  • Scripts/process-entitlements.sh:

Source/WTF:

Enable JIT_CAGE when macOS is 120000 or higher with ARM64E.

  • wtf/PlatformEnable.h:

Feb 12, 2021:

9:30 PM Changeset in webkit [272830] by mark.lam@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

Rename slotVisitor variables to visitor.
https://bugs.webkit.org/show_bug.cgi?id=221866

Reviewed by Yusuke Suzuki.

In existing code, we sometimes name a SlotVisitor instance slotVisitor and
sometimes just visitor. This patch makes it so that we use visitor consistently
everywhere. This will also reduce the size of the GC verifier patch later.

Also fixed a few typos in comments.

This is a pure refactoring patch. There are no behavior changes.

  • API/JSMarkingConstraintPrivate.cpp:

(JSContextGroupAddMarkingConstraint):

  • bytecode/RecordedStatuses.cpp:

(JSC::RecordedStatuses::visitAggregate):
(JSC::RecordedStatuses::markIfCheap):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::blocksInPostOrder):

  • heap/Heap.cpp:

(JSC::Heap::runBeginPhase):
(JSC::Heap::runFixpointPhase):
(JSC::Heap::runConcurrentPhase):
(JSC::Heap::stopThePeriphery):
(JSC::Heap::resumeThePeriphery):
(JSC::Heap::addCoreConstraints):
(JSC::Heap::performIncrement):

  • heap/HeapInlines.h:

(JSC::Heap::forEachSlotVisitor):

  • runtime/JSSegmentedVariableObject.cpp:

(JSC::JSSegmentedVariableObject::visitChildren):

  • runtime/SamplingProfiler.cpp:

(JSC::SamplingProfiler::visit):

8:36 PM Changeset in webkit [272829] by jer.noble@apple.com
  • 7 edits
    2 adds in trunk

[Mac] Sound does not play on YouTube after switching back to foreground
https://bugs.webkit.org/show_bug.cgi?id=221858
<rdar://70602677>

Reviewed by Eric Carlson.

Source/WebCore:

Test: platform/mac/media/unmute-after-loading.html

Remove a stray, unnecessary reset of a cached muted state which kept mute
state from being changed the first time after loading.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):

  • testing/Internals.cpp:

(WebCore::Internals::privatePlayerMuted):

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

(WebCore::Internals::privatePlayerMuted):

LayoutTests:

  • platform/mac/media/unmute-after-loading-expected.txt: Added.
  • platform/mac/media/unmute-after-loading.html: Added.
6:16 PM Changeset in webkit [272828] by Chris Dumez
  • 42 edits in trunk

Reduce explicit usage of [objC release] in WebKit
https://bugs.webkit.org/show_bug.cgi?id=221780
<rdar://problem/74282389>

Reviewed by Darin Adler.

Apply review feedback from Darin Adler and Sam Weinig after r272789.

Source/WebCore:

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper ALLOW_DEPRECATED_IMPLEMENTATIONS_END]):
(if):

  • editing/cocoa/HTMLConverter.mm:

(HTMLConverter::_addLinkForElement):
(HTMLConverter::_processElement):
(HTMLConverter::_addMarkersToList):

  • platform/ios/WebCoreMotionManager.mm:

(-[WebCoreMotionManager initializeOnMainThread]):

  • platform/network/ios/NetworkStateNotifierIOS.mm:

Source/WebKit:

  • UIProcess/Inspector/ios/WKInspectorHighlightView.h:
  • UIProcess/ios/WKScrollView.mm:
  • UIProcess/mac/WebColorPickerMac.mm:

(+[WKPopoverColorWell _colorPopoverCreateIfNecessary:]):

  • WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:

(-[WKAccessibilityWebPageObjectBase setRemoteParent:]):

Source/WebKitLegacy/ios:

  • WebView/WebPDFViewPlaceholder.mm:

(-[WebPDFViewPlaceholder _updateTitleForDocumentIfAvailable]):

Source/WebKitLegacy/mac:

  • DOM/DOMUIKitExtensions.mm:

(-[DOMNode absoluteQuads]):
(-[DOMHTMLAreaElement absoluteQuadsWithOwner:]):

  • DOM/ExceptionHandlers.mm:

(raiseDOMErrorException):

  • DefaultDelegates/WebDefaultUIDelegate.mm:

(-[WebDefaultUIDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:]):

  • History/WebHistory.mm:

(-[WebHistoryPrivate visitedURL:withTitle:]):
(-[WebHistory _visitedURL:withTitle:method:wasFailure:]):

  • History/WebHistoryItem.mm:

(-[WebHistoryItem initFromDictionaryRepresentation:]):

  • Misc/WebNSDataExtras.mm:

(-[NSData _webkit_parseRFC822HeaderFields]):

  • Misc/WebNSPasteboardExtras.mm:

(-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):

  • Plugins/Hosted/NetscapePluginHostManager.mm:

(WebKit::NetscapePluginHostManager::spawnPluginHost):

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::performRequest):

  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::createWindow):
(WebChromeClient::addMessageToConsole):

  • WebCoreSupport/WebEditorClient.mm:

(attributesForAttributedStringConversion):

  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::actionDictionary const):
(WebFrameLoaderClient::createFrame):

  • WebCoreSupport/WebInspectorClient.mm:

(-[WebInspectorWindowController initWithInspectedWebView:isUnderTest:]):
(-[WebInspectorWindowController window]):

  • WebView/WebDataSource.mm:

(-[WebDataSource _documentFragmentWithArchive:]):
(-[WebDataSource _makeRepresentation]):

  • WebView/WebFrame.mm:
  • WebView/WebFrameView.mm:
  • WebView/WebHTMLView.mm:

(-[WebHTMLView _updateMouseoverWithEvent:]):

  • WebView/WebNavigationData.mm:
  • WebView/WebPDFRepresentation.mm:

(-[WebPDFRepresentation finishedLoadingWithDataSource:]):

  • WebView/WebPDFView.mm:

(-[WebPDFView _menuItemsFromPDFKitForEvent:]):

  • WebView/WebPolicyDelegate.mm:
  • WebView/WebScriptDebugger.mm:

(WebScriptDebugger::sourceParsed):

  • WebView/WebView.mm:

(-[WebView _openNewWindowWithRequest:]):

  • WebView/WebWindowAnimation.h:
  • WebView/WebWindowAnimation.mm:

(-[WebWindowScaleAnimation setSubAnimation:]):

Tools:

  • DumpRenderTree/mac/TestRunnerMac.mm:

(TestRunner::addChromeInputField):

  • WebKitTestRunner/mac/PlatformWebViewMac.mm:

(WTR::PlatformWebView::addChromeInputField):

5:48 PM Changeset in webkit [272827] by commit-queue@webkit.org
  • 10 edits
    5 adds
    5 deletes in trunk/LayoutTests

[LayoutTests] Convert http/tests/mime convert PHP to Python
https://bugs.webkit.org/show_bug.cgi?id=221737

<rdar://problem/74219024>

Patch by Chris Gambrell <Chris Gambrell> on 2021-02-12
Reviewed by Jonathan Bedard.

  • http/tests/mime/quoted-charset.php: Removed.
  • http/tests/mime/quoted-charset.py: Added.
  • http/tests/mime/resources/style-with-charset.php: Removed.
  • http/tests/mime/resources/style-with-charset.py: Added.
  • http/tests/mime/resources/style-with-text-css-and-invalid-type.php: Removed.
  • http/tests/mime/resources/style-with-text-css-and-invalid-type.py: Added.
  • http/tests/mime/resources/style-with-text-plain.php: Removed.
  • http/tests/mime/resources/style-with-text-plain.py: Added.
  • http/tests/mime/resources/uppercase-mime-type.php: Removed.
  • http/tests/mime/resources/uppercase-mime-type.py: Added.
  • http/tests/mime/standard-mode-does-not-load-stylesheet-with-text-plain-and-css-extension-expected.txt:
  • http/tests/mime/standard-mode-does-not-load-stylesheet-with-text-plain-and-css-extension.html:
  • http/tests/mime/standard-mode-does-not-load-stylesheet-with-text-plain-expected.txt:
  • http/tests/mime/standard-mode-does-not-load-stylesheet-with-text-plain.html:
  • http/tests/mime/standard-mode-loads-stylesheet-with-charset-and-css-extension.html:
  • http/tests/mime/standard-mode-loads-stylesheet-with-charset.html:
  • http/tests/mime/standard-mode-loads-stylesheet-with-text-css-and-invalid-type.html:
  • http/tests/mime/uppercase-mime-type-expected.txt:
  • http/tests/mime/uppercase-mime-type.html:
5:40 PM Changeset in webkit [272826] by jiewen_tan@apple.com
  • 6 edits in trunk

[WebAuthn] Provide SPI to query local credentials
https://bugs.webkit.org/show_bug.cgi?id=221743
<rdar://problem/65849832>

Reviewed by Brent Fulgham.

Source/WebKit:

Covered by API tests.

  • UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h:
  • UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:

(getAllLocalAuthenticatorCredentialsImpl):
(+[_WKWebAuthenticationPanel getAllLocalAuthenticatorCredentials]):
(+[_WKWebAuthenticationPanel getAllLocalAuthenticatorCredentialsWithAccessGroup:]):
(+[_WKWebAuthenticationPanel deleteLocalAuthenticatorCredentialWithID:]):

  • UIProcess/API/Cocoa/_WKWebAuthenticationPanelForTesting.h:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:

(TestWebKitAPI::TEST):

5:27 PM Changeset in webkit [272825] by mark.lam@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Remove some unused methods in MarkedBlock and PreciseAllocation.
https://bugs.webkit.org/show_bug.cgi?id=221864

Reviewed by Yusuke Suzuki.

  • heap/MarkedBlock.h:

(JSC::MarkedBlock::Handle::visitWeakSet): Deleted.
(JSC::MarkedBlock::Handle::reapWeakSet): Deleted.

  • heap/PreciseAllocation.cpp:

(JSC::PreciseAllocation::shrink): Deleted.
(JSC::PreciseAllocation::visitWeakSet): Deleted.
(JSC::PreciseAllocation::reapWeakSet): Deleted.

  • heap/PreciseAllocation.h:
4:32 PM Changeset in webkit [272824] by achristensen@apple.com
  • 3 edits in trunk/LayoutTests

REGRESSION (r272784): [macOS Release] fast/animation/request-animation-frame-throttling-lowPowerMode.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=221843

Reviewed by Chris Dumez.

Something about r272784 subtly changed timing, which caused there to be a little bit of a lag in RAF throttling.
I could reproduce it making the way this test measures frame rate go up to 35, but not 36.
This test is still good, though, because if you remove setLowPowerModeEnabled it spikes up to 60 or 61 frames per second.

  • fast/animation/request-animation-frame-throttling-lowPowerMode-expected.txt:
  • fast/animation/request-animation-frame-throttling-lowPowerMode.html:
4:32 PM Changeset in webkit [272823] by msaboff@apple.com
  • 10 edits
    1 add in trunk

[ARM64e] Harden Mach exception handling
https://bugs.webkit.org/show_bug.cgi?id=221841

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Split wasm_throw_from_fault_handler_trampoline into two trampolines to eliminate the
need to pass a register argument to signify if we are using FastTLS. With this change
we don't need to modify registers besides the PC when handling exceptions.
Added sanity checks to make sure handlers are being called for the exceptions they
were registered for.

  • bytecode/BytecodeList.rb:
  • llint/WebAssembly.asm:
  • runtime/VMTraps.cpp:
  • signal: Added.
  • tools/SigillCrashAnalyzer.cpp:

(JSC::installCrashHandler):

  • wasm/WasmFaultSignalHandler.cpp:

(JSC::Wasm::trapHandler):

Source/WTF:

For Darwin ARM64e platforms, we check to make sure that all thread state besides the PC hasn't
been modified by an exception handler.

  • wtf/threads/Signals.cpp:

(WTF::hashThreadState):

Tools:

Updated test to check that the exception type matches the one we registered for.

  • TestWebKitAPI/Tests/WTF/Signals.cpp:

(TEST):

4:29 PM Changeset in webkit [272822] by jer.noble@apple.com
  • 8 edits
    3 adds in trunk

[Mac] Unable to play WebM/Opus generated from Chrome MediaRecorder
https://bugs.webkit.org/show_bug.cgi?id=221808

Reviewed by Eric Carlson.

Source/WebCore:

Test: platform/mac-bigsur/media/media-webm-no-duration.html

In the absense of an explicit decode timestamp, CoreMedia convention is to use
the presentation timestamp instead.

All fields in the CoreAudioOpusHeader must be byte-swapped.

  • platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:

(WebCore::MediaSampleAVFObjC::decodeTime const):

  • platform/graphics/cocoa/WebMAudioUtilitiesCocoa.mm:

(WebCore::cookieFromOpusCodecPrivate):

Source/WebKit:

In the absense of an explicit duration parsed from the InitializationSegment,
rely instead on the maximum presentation timestamp available in any MediaTrackReader
to generate an explicit duration.

  • Shared/mac/MediaFormatReader/MediaFormatReader.cpp:

(WebKit::MediaFormatReader::finishParsing):
(WebKit::MediaFormatReader::copyProperty):

  • Shared/mac/MediaFormatReader/MediaTrackReader.cpp:

(WebKit::MediaTrackReader::greatestPresentationTime const):

  • Shared/mac/MediaFormatReader/MediaTrackReader.h:

LayoutTests:

  • platform/mac-bigsur/media/media-webm-no-duration-expected.txt: Added.
  • platform/mac-bigsur/media/media-webm-no-duration.html: Added.
3:52 PM Changeset in webkit [272821] by don.olmstead@sony.com
  • 3 edits in trunk/Tools

[Python-3] Use pathlib to generate file:// urls
https://bugs.webkit.org/show_bug.cgi?id=221850

Reviewed by Jonathan Bedard.

Use pathlib which can generate file:// urls for *nix and Windows. The previous logic
only worked on *nix.

Add the pathlib backport for 2.7.

  • Scripts/webkitpy/init.py:
  • Scripts/webkitpy/common/checkout/scm/scm_unittest.py:

(SVNTestRepository.setup):
(SVNTestRepository._setup_mock_repo):

3:49 PM Changeset in webkit [272820] by don.olmstead@sony.com
  • 2 edits in trunk/Tools

[Python-3] base64.encodestring is deprecated
https://bugs.webkit.org/show_bug.cgi?id=221842

Reviewed by Jonathan Bedard.

In Python 3.9 base64.encodestring was completely removed. Replacing with base64.b64encode
which works in Python 2/3 and is used by the code being tested.

  • Scripts/webkitpy/w3c/wpt_github_unittest.py:

(WPTGitHubTest.test_auth_token):

3:46 PM Changeset in webkit [272819] by don.olmstead@sony.com
  • 2 edits in trunk/Tools

Run additional webkitpy tests on Windows by default
https://bugs.webkit.org/show_bug.cgi?id=221851

Reviewed by Jonathan Bedard.

The tests in WebKit/Scripts and webkitpy.common.config pass on Windows.

The WebKit/Scripts tests are not run when using Cygwin. Without any port option its
the only way to differentiate WinCairo, which doesn't use Cygwin, and AppleWin, which
does.

  • Scripts/webkitpy/test/main.py:
3:35 PM Changeset in webkit [272818] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

[ Big Sur ] media/media-source/media-source-webm-init-inside-segment.html is failing
https://bugs.webkit.org/show_bug.cgi?id=220552

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations: Skip the test for WK1.
3:29 PM Changeset in webkit [272817] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

imported/w3c/web-platform-tests/html/dom/idlharness.worker.html is timing out on Catalina wk1 debug EWS
https://bugs.webkit.org/show_bug.cgi?id=206503

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations: Changed expectation from Mojave to Catalina to suppress failure.
3:06 PM Changeset in webkit [272816] by Ryan Haddad
  • 2 edits in trunk/Source/WebKit

Unreviewed, reverting r272799.

Caused debug WK2 tests to exit early with an assertion failure

Reverted changeset:

"Unexpected ASSERT when touch events are dispatched on the
main thread"
https://bugs.webkit.org/show_bug.cgi?id=221832
https://commits.webkit.org/r272799

3:05 PM Changeset in webkit [272815] by Ryan Haddad
  • 2 edits in trunk/Tools

REGRESSION (r268421): TestWebKitAPI.WebKit.PreferenceChanges* tests are flaky failures
https://bugs.webkit.org/show_bug.cgi?id=221848

Unreviewed test gardening.

TestWebKitAPI.WebKit.GlobalPreferenceChangesUsingDefaultsWrite is also flaky, so disable it for Big Sur.

  • TestWebKitAPI/Tests/WebKit/PreferenceChanges.mm:
3:03 PM Changeset in webkit [272814] by Dewei Zhu
  • 2 edits in trunk/Websites/perf.webkit.org

'sync-commits.py' should be able to limit reporting scope to a specific branch on a Git repository.
https://bugs.webkit.org/show_bug.cgi?id=221799

Reviewed by Ryosuke Niwa.

Fetching git commits with 'git log --all ...' may end up fetching commits from branches created for
pull requests. Add 'branch' variable to allow us to limit to a certain branch.

  • tools/sync-commits.py: Added 'branch' variable to GitRepository so that we can fetch from a specific branch.

If branch is not specified, it will still use '--all' to list commits.
(load_repository):
(GitRepository.init):
(GitRepository._fetch_all_hashes):

2:29 PM Changeset in webkit [272813] by commit-queue@webkit.org
  • 3 edits in trunk/Websites/perf.webkit.org

perf.webkit.org/tools/js/analysis-results-notifier.js should allow sending of completion emails regardless of test name
https://bugs.webkit.org/show_bug.cgi?id=221712

Patch by Roy Reapor <rreapor@apple.com> on 2021-02-12
Reviewed by Dewei Zhu.

Rule platforms and tests can be undefined, an empty array, or an array of strings. Undefined will match everything.
Empty array will match nothing. Array of strings will match items in the array.

Rule will not match if either tests or platforms is an empty array.

  • tools/js/analysis-results-notifier.js:

(AnalysisResultsNotifier._validateRules.isUnderfinedOrEmptyArrayOrArrayOfStrings):

  • platforms and tests can now be undefined or an empty array officially

(AnalysisResultsNotifier._validateRules):

  • switched to assert.ok(). console.assert() no longer throws since node v10 (https://github.com/facebook/jest/issues/5634)
  • both rule platforms and tests must pass isUnderfinedOrEmptyArrayOrArrayOfStrings(). previously, rules like {tests: [1, 3], platforms: ['speedometer']} passes validation.

(AnalysisResultsNotifier._applyUpdate):

(AnalysisResultsNotifier._validateRules.isNonemptyArrayOfStrings): Deleted.

  • unit-tests/analysis-results-notifier-tests.js:
  • added a bunch of unittests
  • specify the exact regex match for assert.throws() and assert.doesNotThrow() argument.
2:13 PM Changeset in webkit [272812] by commit-queue@webkit.org
  • 25 edits
    3 adds
    3 deletes in trunk/LayoutTests

[LayoutTests] Convert http/tests/storageAccess convert PHP to Python
https://bugs.webkit.org/show_bug.cgi?id=221720
<rdar://problem/74207513>

Patch by Chris Gambrell <Chris Gambrell> on 2021-02-12
Reviewed by Jonathan Bedard.

  • http/tests/storageAccess/aggregate-sorted-data-with-storage-access.html:
  • http/tests/storageAccess/deny-due-to-no-interaction-under-general-third-party-cookie-blocking-ephemeral.html:
  • http/tests/storageAccess/deny-due-to-no-interaction-under-general-third-party-cookie-blocking.html:
  • http/tests/storageAccess/deny-storage-access-under-opener-ephemeral.html:
  • http/tests/storageAccess/deny-storage-access-under-opener-if-auto-dismiss-ephemeral.html:
  • http/tests/storageAccess/deny-storage-access-under-opener-if-auto-dismiss.html:
  • http/tests/storageAccess/deny-storage-access-under-opener.html:
  • http/tests/storageAccess/grant-storage-access-under-opener-at-popup-user-gesture-ephemeral.html:
  • http/tests/storageAccess/grant-storage-access-under-opener-at-popup-user-gesture.html:
  • http/tests/storageAccess/grant-with-prompt-under-general-third-party-cookie-blocking.html:
  • http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-ephemeral.html:
  • http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies.html:
  • http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-with-cookie-ephemeral.html:
  • http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-with-cookie.html:
  • http/tests/storageAccess/request-and-grant-access-cross-origin-non-sandboxed-iframe-ephemeral.html:
  • http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-and-access-from-right-frame.html:
  • http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-but-access-from-wrong-frame.html:
  • http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-nested-iframe.html:
  • http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access.html:
  • http/tests/storageAccess/request-and-grant-access-then-navigate-cross-site-should-not-have-access.html:
  • http/tests/storageAccess/request-and-grant-access-then-navigate-same-site-should-have-access.html:
  • http/tests/storageAccess/request-and-grant-access-with-per-page-scope-access-from-another-frame.html:
  • http/tests/storageAccess/resources/echo-incoming-cookies-as-json.php: Removed.
  • http/tests/storageAccess/resources/echo-incoming-cookies-as-json.py: Added.
  • http/tests/storageAccess/resources/get-cookies.php: Removed.
  • http/tests/storageAccess/resources/get-cookies.py: Added.
  • http/tests/storageAccess/resources/has-storage-access-iframe.html:
  • http/tests/storageAccess/resources/request-storage-access-iframe.html:
  • http/tests/storageAccess/resources/set-cookie.php: Removed.
  • http/tests/storageAccess/resources/set-cookie.py: Added.
2:07 PM Changeset in webkit [272811] by stephan.szabo@sony.com
  • 2 edits in trunk/Source/WebCore

[PlayStation][Debug] Build fix after r272772
https://bugs.webkit.org/show_bug.cgi?id=221836

Unreviewed Build Fix

  • platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp:
2:01 PM Changeset in webkit [272810] by youenn@apple.com
  • 2 edits in trunk/Source/WebKit

Enable video capture in GPUProcess by default on MacOS
https://bugs.webkit.org/show_bug.cgi?id=221750

Reviewed by Eric Carlson.

Manually tested.

  • Shared/WebPreferencesDefaultValues.cpp:

(WebKit::defaultCaptureVideoInGPUProcessEnabled):

1:53 PM Changeset in webkit [272809] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][IFC] Multiline inline boxes have incorrect content box height/width values
https://bugs.webkit.org/show_bug.cgi?id=221827

Reviewed by Antti Koivisto.

Exclude padding and borders when computing the content box size for a multiline inline box.
(This is similar to r272724 but with inline boxes spanning multiple lines.)

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):

1:52 PM Changeset in webkit [272808] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebKit

[Mac] Update Opus setting after a preference change.
https://bugs.webkit.org/show_bug.cgi?id=221807

Reviewed by Eric Carlson.

Make the opusDecoderEnabled() setting dynamic by applying changes
to that setting after a preference update.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

1:49 PM Changeset in webkit [272807] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Fix Windows build again after r272772
https://bugs.webkit.org/show_bug.cgi?id=221765

Unreviewed.

No new tests because there is no behavior change.

  • platform/graphics/win/FontCGWin.cpp:

(WebCore::FontCascade::drawGlyphs):

1:35 PM Changeset in webkit [272806] by youenn@apple.com
  • 11 edits in trunk/Source/WebKit

Remote video capture samples should be processed in a background thread
https://bugs.webkit.org/show_bug.cgi?id=221201
<rdar://problem/73826816>

Reviewed by Eric Carlson.

Make RemoteRealtimeVideoSource register to RemoteCaptureSampleManager to get video samples from a background thread.
Make RemoteCaptureSampleManager able to handle incoming video samples in background thread like for audio.
Make UserMediaCaptureManagerProxy use RemoteCaptureSampleManager instead of UserMediaCaptureManager message.
Covered by existing tests.

  • UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
  • WebProcess/cocoa/RemoteCaptureSampleManager.cpp:

(WebKit::RemoteCaptureSampleManager::addSource):
(WebKit::RemoteCaptureSampleManager::removeSource):
(WebKit::RemoteCaptureSampleManager::audioStorageChanged):
(WebKit::RemoteCaptureSampleManager::audioSamplesAvailable):
(WebKit::RemoteCaptureSampleManager::videoSampleAvailable):
(WebKit::RemoteCaptureSampleManager::RemoteVideo::RemoteVideo):
(WebKit::RemoteCaptureSampleManager::RemoteVideo::videoSampleAvailable):

  • WebProcess/cocoa/RemoteCaptureSampleManager.h:
  • WebProcess/cocoa/RemoteCaptureSampleManager.messages.in:
  • WebProcess/cocoa/RemoteRealtimeVideoSource.cpp:

(WebKit::RemoteRealtimeVideoSource::create):
(WebKit::RemoteRealtimeVideoSource::videoSampleAvailable):
(WebKit::RemoteRealtimeVideoSource::remoteVideoSampleAvailable): Deleted.

  • WebProcess/cocoa/RemoteRealtimeVideoSource.h:
  • WebProcess/cocoa/UserMediaCaptureManager.cpp:

(WebKit::UserMediaCaptureManager::remoteVideoSampleAvailable): Deleted.

  • WebProcess/cocoa/UserMediaCaptureManager.h:
  • WebProcess/cocoa/UserMediaCaptureManager.messages.in:
1:31 PM Changeset in webkit [272805] by mmaxfield@apple.com
  • 75 edits in trunk/Source/WebCore

enum LengthType -> enum class LengthType
https://bugs.webkit.org/show_bug.cgi?id=221834

Reviewed by Sam Weinig and Simon Fraser.

iPhoneOS14.2.sdk/usr/include/MacTypes.h:193 has:

typedef SInt32 Fixed;

but we have:

enum LengthType {

... Fixed ...

}

This leads to: error: reference to 'Fixed' is ambiguous

Unfortunately, this error occurs in
/System/Library/Frameworks/CoreText.framework/Headers/SFNTLayoutTypes.h,
which means we can't modify the error site to qualify the name. Therefore,
the best solution is to turn enum LengthType into enum class LengthType.
This is in accordance with WebKit's style guide.

No new tests because there is no behavior change.

  • animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc):

  • css/BasicShapeFunctions.cpp:

(WebCore::convertToLengthSize):
(WebCore::convertToCenterCoordinate):

  • css/CSSBasicShapes.cpp:

(WebCore::buildSerializablePositionOffset):

  • css/CSSCalculationValue.cpp:

(WebCore::CSSCalcPrimitiveValueNode::createCalcExpression const):
(WebCore::createCSS):

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::init):
(WebCore::CSSPrimitiveValue::computeLength const):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::convertToLength const):

  • css/CSSToStyleMap.cpp:

(WebCore::CSSToStyleMap::mapNinePieceImageSlice):
(WebCore::CSSToStyleMap::mapNinePieceImageQuad):

  • css/LengthFunctions.cpp:

(WebCore::valueForLength):
(WebCore::floatValueForLength):

  • css/LengthFunctions.h:

(WebCore::minimumValueForLength):

  • css/TransformFunctions.cpp:

(WebCore::convertToFloatLength):
(WebCore::transformsForValue):
(WebCore::translateForValue):

  • display/css/DisplayFillLayerImageGeometry.cpp:

(WebCore::Display::calculateImageIntrinsicDimensions):

  • dom/Document.cpp:

(WebCore::Document::updateLayoutIfDimensionsOutOfDate):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::createInnerTextStyle):

  • html/shadow/DateTimeNumericFieldElement.cpp:

(WebCore::DateTimeNumericFieldElement::adjustMinWidth const):

  • html/shadow/DateTimeSymbolicFieldElement.cpp:

(WebCore::DateTimeSymbolicFieldElement::adjustMinWidth const):

  • html/shadow/TextControlInnerElements.cpp:

(WebCore::TextControlInnerElement::resolveCustomStyle):

  • layout/layouttree/LayoutTreeBuilder.cpp:

(WebCore::Layout::TreeBuilder::buildLayoutTree):
(WebCore::Layout::TreeBuilder::createLayoutBox):

  • page/FrameView.cpp:

(WebCore::FrameView::performFixedWidthAutoSize):

  • page/IntersectionObserver.cpp:

(WebCore::parseRootMargin):
(WebCore::IntersectionObserver::rootMargin const):

  • platform/Length.cpp:

(WebCore::parseLength):
(WebCore::Length::Length):
(WebCore::convertTo100PercentMinusLength):
(WebCore::blend):
(WebCore::operator<<):

  • platform/Length.h:

(WebCore::Length::Length):
(WebCore::Length::operator=):
(WebCore::Length::setValue):
(WebCore::Length::isAuto const):
(WebCore::Length::isFixed const):
(WebCore::Length::isMaxContent const):
(WebCore::Length::isMinContent const):
(WebCore::Length::isPercent const):
(WebCore::Length::isRelative const):
(WebCore::Length::isUndefined const):
(WebCore::Length::isCalculated const):
(WebCore::Length::isLegacyIntrinsic const):
(WebCore::Length::isIntrinsic const):
(WebCore::Length::isFillAvailable const):
(WebCore::Length::isFitContent const):
(WebCore::Length::isMinIntrinsic const):

  • platform/LengthBox.h:

(WebCore::LengthBox::LengthBox):

  • platform/Theme.cpp:

(WebCore::Theme::minimumControlSize const):

  • platform/graphics/Image.cpp:

(WebCore::Image::computeIntrinsicDimensions):

  • platform/graphics/transforms/PerspectiveTransformOperation.cpp:

(WebCore::PerspectiveTransformOperation::blend):

  • platform/graphics/transforms/TranslateTransformOperation.cpp:

(WebCore::TranslateTransformOperation::blend):

  • platform/graphics/transforms/TranslateTransformOperation.h:
  • platform/mac/ThemeMac.mm:

(WebCore::sizeFromNSControlSize):
(WebCore::ThemeMac::minimumControlSize const):

  • rendering/AutoTableLayout.cpp:

(WebCore::AutoTableLayout::recalcColumn):
(WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
(WebCore::AutoTableLayout::layout):

  • rendering/FixedTableLayout.cpp:

(WebCore::FixedTableLayout::calcWidthArray):

  • rendering/GridTrackSizingAlgorithm.cpp:

(WebCore::GridTrackSizingAlgorithm::calculateGridTrackSize const):

  • rendering/RenderBlockFlow.cpp:

(WebCore::isNonBlocksOrNonFixedHeightListItems):
(WebCore::getBPMWidth):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::constrainLogicalWidthInFragmentByMinMax const):
(WebCore::RenderBox::constrainLogicalHeightByMinMax const):
(WebCore::RenderBox::adjustBorderBoxLogicalWidthForBoxSizing const):
(WebCore::RenderBox::adjustContentBoxLogicalWidthForBoxSizing const):
(WebCore::RenderBox::computeLogicalWidthInFragment const):
(WebCore::RenderBox::computeIntrinsicLogicalWidthUsing const):
(WebCore::RenderBox::sizesLogicalWidthToFitContent const):
(WebCore::RenderBox::computeInlineDirectionMargins const):
(WebCore::RenderBox::computeLogicalHeight const):
(WebCore::RenderBox::computeReplacedLogicalWidthUsing const):
(WebCore::RenderBox::computeReplacedLogicalHeightUsing const):
(WebCore::computeInlineStaticDistance):
(WebCore::RenderBox::computePositionedLogicalWidth const):
(WebCore::RenderBox::computePositionedLogicalWidthUsing const):
(WebCore::computeBlockStaticDistance):
(WebCore::RenderBox::computePositionedLogicalHeightUsing const):
(WebCore::RenderBox::computePositionedLogicalWidthReplaced const):
(WebCore::RenderBox::computePositionedLogicalHeightReplaced const):
(WebCore::RenderBox::percentageLogicalHeightIsResolvable const):

  • rendering/RenderButton.cpp:

(WebCore::RenderButton::updateAnonymousChildStyle const):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex):

  • rendering/RenderElement.cpp:

(WebCore::includeNonFixedHeight):

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::computeMainAxisExtentForChild):
(WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax):
(WebCore::RenderFlexibleBox::mainSizeForPercentageResolution):

  • rendering/RenderFullScreen.cpp:

(WebCore::createFullScreenStyle):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::layoutShadowContent):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects const):

  • rendering/RenderLayerBacking.cpp:

(WebCore::hasNonZeroTransformOrigin):

  • rendering/RenderListMarker.cpp:

(WebCore::RenderListMarker::updateMargins):

  • rendering/RenderMenuList.cpp:

(WebCore::RenderMenuList::adjustInnerStyle):

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::logicalWidthFromColumns const):

  • rendering/RenderTableSection.cpp:

(WebCore::updateLogicalHeightForCell):

  • rendering/RenderTextControlMultiLine.cpp:

(WebCore::RenderTextControlMultiLine::layoutExcludedChildren):

  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::resetOverriddenHeight):
(WebCore::RenderTextControlSingleLine::layout):

  • rendering/RenderThemeCocoa.mm:

(WebCore::RenderThemeCocoa::adjustApplePayButtonStyle const):

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::setSizeFromFont const):
(WebCore::RenderThemeMac::adjustListButtonStyle const):
(WebCore::RenderThemeMac::adjustMenuListStyle const):
(WebCore::RenderThemeMac::adjustMenuListButtonStyle const):
(WebCore::RenderThemeMac::adjustSearchFieldStyle const):
(WebCore::RenderThemeMac::adjustSearchFieldCancelButtonStyle const):
(WebCore::RenderThemeMac::adjustSearchFieldDecorationPartStyle const):
(WebCore::RenderThemeMac::adjustSearchFieldResultsDecorationPartStyle const):
(WebCore::RenderThemeMac::adjustSearchFieldResultsButtonStyle const):
(WebCore::RenderThemeMac::adjustSliderThumbSize const):

  • rendering/TextAutoSizing.cpp:

(WebCore::TextAutoSizingValue::adjustTextNodeSizes):

  • rendering/style/BasicShapes.cpp:

(WebCore::BasicShapeCenterCoordinate::updateComputedLength):

  • rendering/style/BasicShapes.h:

(WebCore::BasicShapeRadius::BasicShapeRadius):

  • rendering/style/BorderData.h:

(WebCore::BorderData::BorderData):

  • rendering/style/FillLayer.h:

(WebCore::FillLayer::initialFillXPosition):
(WebCore::FillLayer::initialFillYPosition):

  • rendering/style/GridTrackSize.h:

(WebCore::GridTrackSize::GridTrackSize):

  • rendering/style/NinePieceImage.h:
  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::setPageScaleTransform):
(WebCore::RenderStyle::setWordSpacing):

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::resetMargin):
(WebCore::RenderStyle::initialShapeMargin):
(WebCore::RenderStyle::initialBorderRadius):
(WebCore::RenderStyle::initialObjectPosition):
(WebCore::RenderStyle::initialWordSpacing):
(WebCore::RenderStyle::initialMaxSize):
(WebCore::RenderStyle::initialMargin):
(WebCore::RenderStyle::initialPadding):
(WebCore::RenderStyle::initialTextIndent):
(WebCore::RenderStyle::initialZeroLength):
(WebCore::RenderStyle::initialOneLength):
(WebCore::RenderStyle::initialLineHeight):
(WebCore::RenderStyle::initialFlexBasis):
(WebCore::RenderStyle::initialMarqueeIncrement):
(WebCore::RenderStyle::initialTransformOriginX):
(WebCore::RenderStyle::initialTransformOriginY):
(WebCore::RenderStyle::initialPerspectiveOriginX):
(WebCore::RenderStyle::initialPerspectiveOriginY):
(WebCore::RenderStyle::initialSpecifiedLineHeight):
(WebCore::RenderStyle::initialScrollMargin):
(WebCore::RenderStyle::initialScrollPadding):
(WebCore::RenderStyle::initialGridAutoColumns):
(WebCore::RenderStyle::initialGridAutoRows):
(WebCore::RenderStyle::setBorderRadius):

  • rendering/style/StyleGeneratedImage.cpp:

(WebCore::StyleGeneratedImage::computeIntrinsicDimensions):

  • rendering/style/StyleRareNonInheritedData.h:
  • rendering/style/StyleReflection.h:

(WebCore::StyleReflection::StyleReflection):

  • rendering/style/StyleSurroundData.cpp:

(WebCore::StyleSurroundData::StyleSurroundData):

  • rendering/updating/RenderTreeBuilderFullScreen.cpp:

(WebCore::RenderTreeBuilder::FullScreen::createPlaceholder):

  • style/StyleAdjuster.cpp:

(WebCore::Style::addIntrinsicMargins):
(WebCore::Style::Adjuster::adjust const):
(WebCore::Style::Adjuster::adjustForTextAutosizing):

  • style/StyleBuilderConverter.h:

(WebCore::Style::BuilderConverter::convertLength):
(WebCore::Style::BuilderConverter::convertLengthOrAuto):
(WebCore::Style::BuilderConverter::convertLengthSizing):
(WebCore::Style::BuilderConverter::convertLengthMaxSizing):
(WebCore::Style::BuilderConverter::convertToRadiusLength):
(WebCore::Style::BuilderConverter::convertRadius):
(WebCore::Style::BuilderConverter::convertTo100PercentMinusLength):
(WebCore::Style::BuilderConverter::convertPositionComponent):
(WebCore::Style::BuilderConverter::createGridTrackBreadth):
(WebCore::Style::BuilderConverter::convertWordSpacing):
(WebCore::Style::BuilderConverter::convertLineHeight):

  • style/StyleBuilderCustom.h:

(WebCore::Style::ApplyPropertyBorderImageModifier::applyInitialValue):

  • style/StyleBuilderState.cpp:

(WebCore::Style::BuilderState::createFilterOperations):

  • style/StyleResolveForDocument.cpp:

(WebCore::Style::resolveForDocument):

  • style/StyleResolveForFontRaw.cpp:

(WebCore::Style::resolveForFontRaw):

  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::intrinsicWidth const):
(WebCore::SVGSVGElement::intrinsicHeight const):

1:26 PM Changeset in webkit [272804] by Aditya Keerthi
  • 3 edits in trunk/Source/WebKit

[tvOS] Fix build failure in WKFormSelectPicker
https://bugs.webkit.org/show_bug.cgi?id=221839
<rdar://problem/74287348>

Reviewed by Wenson Hsieh.

UITableViewStyleInsetGrouped is not available on tvOS. Rather than
have two separate codepaths, we can just use UITableViewStyleGrouped
with sectionContentInsetFollowsLayoutMargins set to YES.

  • Platform/spi/ios/UIKitSPI.h:
  • UIProcess/ios/forms/WKFormSelectPicker.mm:

(-[WKSelectPickerTableViewController initWithView:]):

1:22 PM Changeset in webkit [272803] by don.olmstead@sony.com
  • 2 edits in trunk/Tools

webkitpy.xcode only relevant for darwin platforms
https://bugs.webkit.org/show_bug.cgi?id=221837

Reviewed by Jonathan Bedard.

The tests in webkitpy.xcode are Darwin specific and should only run on that platform.

This issue was discovered when running the tests with Python 3 on Windows which failed
a number of tests in the suite. These tests may run successfully on *nix platforms but
aren't actually relevant.

  • Scripts/webkitpy/test/main.py:
1:10 PM Changeset in webkit [272802] by youenn@apple.com
  • 5 edits in trunk/Source/WebKit

Test landed flaky: [iOS] TestWebKitAPI.WebKit2.CrashGPUProcessWhileCapturing
https://bugs.webkit.org/show_bug.cgi?id=221331
<rdar://problem/73935129>

Reviewed by Eric Carlson.

Now that RemoteRealtimeVideoSource is a RealtimeVideoCaptureSource, we can register RemoteRealtimeVideoSource
to its factory so that it will be muted if another RemoteRealtimeVideoSource is created.
This is now possible as clones of the track will get the same underlying RemoteRealtimeVideoSource.
We can thus only recreate the active source when GPU process crashes.
Covered by test no longer flaky.

  • WebProcess/cocoa/RemoteRealtimeAudioSource.cpp:

(WebKit::RemoteRealtimeAudioSource::gpuProcessConnectionDidClose):

  • WebProcess/cocoa/RemoteRealtimeVideoSource.cpp:

(WebKit::RemoteRealtimeVideoSource::gpuProcessConnectionDidClose):

  • WebProcess/cocoa/UserMediaCaptureManager.cpp:

(WebKit::UserMediaCaptureManager::VideoFactory::setActiveSource): Deleted.

  • WebProcess/cocoa/UserMediaCaptureManager.h:
1:01 PM Changeset in webkit [272801] by Antti Koivisto
  • 3 edits in trunk/LayoutTests

[LFC][Integration] Make accessibility/aria-modal-in-aria-hidden.html more robust
https://bugs.webkit.org/show_bug.cgi?id=221812

Reviewed by Zalan Bujtas.

It is very dependent on exact interactions between the internal testing API and the DOM.
It also seems to be partially testing a wrong thing (probably as workaround for above).

  • accessibility/aria-modal-in-aria-hidden-expected.txt:
  • accessibility/aria-modal-in-aria-hidden.html:

Do rendering update between every mutation and check, not just the last one.
Fix the middle test to use isIgnored too.
(isValid() is not even a function, it is a property, so this relied on getting null to pass)

12:38 PM Changeset in webkit [272800] by Jonathan Bedard
  • 5 edits in trunk/Tools

[webkit-patch] Post both revision and identifier to bugzilla
https://bugs.webkit.org/show_bug.cgi?id=221829
<rdar://problem/74282619>

Reviewed by Aakash Jain.

  • Scripts/webkitpy/tool/commands/download_unittest.py:
  • Scripts/webkitpy/tool/commands/upload_unittest.py:
  • Scripts/webkitpy/tool/comments.py:

(bug_comment_from_svn_revision): Include subversion revision.

  • Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:

(CloseBugForLandDiffTest.test_empty_state):

12:25 PM Changeset in webkit [272799] by dino@apple.com
  • 2 edits in trunk/Source/WebKit

Unexpected ASSERT when touch events are dispatched on the main thread
https://bugs.webkit.org/show_bug.cgi?id=221832
<rdar://problem/74283856>

Reviewed by Sam Weinig.

The change in r272558 causes an ASSERT when running on iOS debug
builds. The touch event CompletionHandlers are created on the EventDispatcher
thread, but serviced on the main thread. We now need to state that this
is ok as we create the CompletionHandler.

This is covered by tests, but the EWS bots don't run iOS tests in
debug mode, and the internal bots hadn't caught up yet!

  • Platform/IPC/HandleMessage.h:

(IPC::handleMessageAsync): Pass a CompletionHandlerCallThread into the constructor.

11:43 AM Changeset in webkit [272798] by Truitt Savell
  • 2 edits in trunk/LayoutTests

REGRESSION (r272241) [MacOS wk1] imported/w3c/web-platform-tests/css/css-flexbox/overflow-auto-006.html is flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=221347

Unreviewed test gardening.

Patch by Amir Mark Jr <Amir Mark Jr.> on 2021-02-12

  • platform/mac-wk1/TestExpectations:
11:25 AM Changeset in webkit [272797] by mark.lam@apple.com
  • 11 edits
    1 add in trunk/Source

Move RootMarkReason out of SlotVisitor.
https://bugs.webkit.org/show_bug.cgi?id=221831

Reviewed by Tadeu Zagallo.

Source/JavaScriptCore:

This will lessen the amount of diff needed for the GC verifier later.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • heap/Heap.cpp:

(JSC::Heap::addCoreConstraints):

  • heap/HeapAnalyzer.h:
  • heap/HeapSnapshotBuilder.cpp:

(JSC::HeapSnapshotBuilder::analyzeEdge):
(JSC::rootTypeToString):

  • heap/HeapSnapshotBuilder.h:
  • heap/RootMarkReason.h: Added.
  • heap/SlotVisitor.h:

(JSC::SetRootMarkReasonScope::SetRootMarkReasonScope):

  • inspector/JSInjectedScriptHost.cpp:

Source/WebCore:

  • bindings/js/DOMGCOutputConstraint.cpp:

(WebCore::DOMGCOutputConstraint::executeImpl):

11:15 AM Changeset in webkit [272796] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[macOS] Limit mech-register to required services
https://bugs.webkit.org/show_bug.cgi?id=221768
<rdar://problem/70350150>

Reviewed by Per Arne Vollan.

Limit mach-register to the two cases identified by telemetry.

  • WebProcess/com.apple.WebProcess.sb.in:
11:10 AM Changeset in webkit [272795] by svillar@igalia.com
  • 8 edits
    7 adds
    2 deletes in trunk/LayoutTests

[css-flexbox] Another WPT test import
https://bugs.webkit.org/show_bug.cgi?id=221813

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-flexbox/flexbox-min-width-auto-005-expected.html: Added.
  • web-platform-tests/css/css-flexbox/flexbox-min-width-auto-005.html: Added.
  • web-platform-tests/css/css-flexbox/flexbox-min-width-auto-006-expected.html: Added.
  • web-platform-tests/css/css-flexbox/flexbox-min-width-auto-006.html: Added.
  • web-platform-tests/css/css-flexbox/percentage-descendant-of-anonymous-flex-item-expected.html: Added.
  • web-platform-tests/css/css-flexbox/percentage-descendant-of-anonymous-flex-item.html: Added.
  • web-platform-tests/css/css-flexbox/radiobutton-min-size-expected.txt: Updated expectations.
  • web-platform-tests/css/css-flexbox/radiobutton-min-size.html: Updated.
  • web-platform-tests/css/css-flexbox/support/40x20-green.png: Added.
  • web-platform-tests/css/css-flexbox/support/w3c-import.log:
  • web-platform-tests/css/css-flexbox/w3c-import.log:

LayoutTests:

Imported the most recent changes in flexbox WPT tests. This implies deleting a local test that
was upstreamed to WPT, so it does not make sense to have a duplicate.

  • TestExpectations: Removed a test that is currently passing. Adding a new expected failure.
  • css3/flexbox/percentage-descendants-of-skipped-flex-item-expected.html: Removed.
  • css3/flexbox/percentage-descendants-of-skipped-flex-item.html: Removed.
  • platform/ios-wk2/imported/w3c/web-platform-tests/css/css-flexbox/radiobutton-min-size-expected.txt:

Updated expectations.

11:08 AM Changeset in webkit [272794] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Crash in WebCore::RenderThemeMac::paintSearchFieldResultsDecorationPart() from large scale
https://bugs.webkit.org/show_bug.cgi?id=221635

Patch by Julian Gonzalez <julian_a_gonzalez@apple.com> on 2021-02-12
Reviewed by Darin Adler.

Source/WebCore:

Test: platform/mac/editing/style/large-scale-crash.html

paintSearchFieldResultsDecorationPart(), unlike other functions like
paintSearchField(), paintSearchFieldCancelButton(), etc. has been
calling [NSButton:drawWithFrame:inView] directly. When a very large
scale has been applied however, this can lead to an assertion below us.
First draw the cell to an ImageBuffer using
paintCellAndSetFocusedElementNeedsRepaintIfNecessary(), as other
functions are already doing (as of 213352).
Thanks to Aditya Keerthi for pointing out this difference
and help with the fix.

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintSearchFieldResultsDecorationPart):

LayoutTests:

Add a test with a very large value of scale that tests that
we do not trigger the assertion here.
Thanks to Ryosuke Niwa for help in cleaning up the test
and making it more reliable.

  • fast/rendering/searchfield-scale-crash-expected.txt: Added.
  • fast/rendering/searchfield-scale-crash.html: Added.
11:05 AM Changeset in webkit [272793] by Jonathan Bedard
  • 3 edits in trunk/Tools

[webkit-patch] Use identifiers when posting to bugzilla (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=221724
<rdar://problem/74209525>

Rubber-stamped by Aakash Jain.

  • Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/svn.py:

(Svn): Keep track of the set of mock remotes.

  • Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py:

(Svn._cache_path): Change the cache path if we detect the current host is being mocked.

11:03 AM Changeset in webkit [272792] by aakash_jain@apple.com
  • 1 edit
    1 delete in trunk/Tools

Delete old build.webkit.org templates
https://bugs.webkit.org/show_bug.cgi?id=221692

Reviewed by Jonathan Bedard.

  • CISupport/build-webkit-org/templates: Removed.
10:59 AM Changeset in webkit [272791] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

[build.webkit.org] Avoid hosting results on S3
https://bugs.webkit.org/show_bug.cgi?id=221822

Reviewed by Jonathan Bedard.

Reverts r271801, r272220 and r272399.

  • CISupport/build-webkit-org/public_html/dashboard/Scripts/WebKitBuildbot.js:
  • CISupport/build-webkit-org/steps.py:

(ExtractTestResults.init):
(ExtractTestResults.resultDirectoryURL):

10:50 AM Changeset in webkit [272790] by stephan.szabo@sony.com
  • 3 edits in trunk/Source/WebCore

[WinCairo][Debug] Build fix after r272772
https://bugs.webkit.org/show_bug.cgi?id=221814

Unreviewed build fix.

  • platform/graphics/cairo/FontCairo.cpp:
  • platform/graphics/cairo/GraphicsContextImplCairo.cpp:
10:40 AM Changeset in webkit [272789] by Chris Dumez
  • 92 edits in trunk

Reduce explicit usage of [objC release] in WebKit
https://bugs.webkit.org/show_bug.cgi?id=221780

Reviewed by Alex Christensen.

Reduce explicit usage of [objC release] in WebKit by using smart pointers.

Source/WebCore:

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):

  • accessibility/mac/AXObjectCacheMac.mm:

(WebCore::AXObjectCache::postTextStateChangePlatformNotification):
(WebCore::postUserInfoForChanges):
(WebCore::AXObjectCache::postTextReplacementPlatformNotification):
(WebCore::AXObjectCache::postTextReplacementPlatformNotificationForTextControl):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper ALLOW_DEPRECATED_IMPLEMENTATIONS_END]):

  • bridge/testbindings.mm:

(main):

  • editing/cocoa/HTMLConverter.mm:

(HTMLConverter::HTMLConverter):
(HTMLConverter::computedAttributesForElement):
(HTMLConverter::_addMarkersToList):
(fileWrapperForURL):

  • history/mac/HistoryItemMac.mm:

(WebCore::HistoryItem::setViewState):

  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::ScrollingTreeFrameScrollingNodeMac::exposedUnfilledArea const):

  • platform/ios/WebCoreMotionManager.h:
  • platform/ios/WebCoreMotionManager.mm:

(-[WebCoreMotionManager dealloc]):
(-[WebCoreMotionManager initializeOnMainThread]):
(-[WebCoreMotionManager checkClientStatus]):
(-[WebCoreMotionManager update]):

  • platform/ios/wak/WAKView.mm:

(-[WAKView dealloc]):
(-[WAKView _subviewReferences]):
(-[WAKView addSubview:]):
(-[WAKView removeFromSuperview]):

  • platform/ios/wak/WAKViewInternal.h:
  • platform/mac/PasteboardMac.mm:

(WebCore::writeFileWrapperAsRTFDAttachment):

  • platform/mac/PlatformSpeechSynthesizerMac.mm:

(WebCore::PlatformSpeechSynthesizer::initializeVoiceList):

  • platform/network/ios/NetworkStateNotifierIOS.mm:

(-[WebNetworkStateObserver initWithBlock:]):
(-[WebNetworkStateObserver dealloc]):

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::makeDelegate):

  • platform/text/mac/TextBoundaries.mm:

(WebCore::findWordBoundary):
(WebCore::findNextWordFromIndex):

Source/WebKit:

  • Shared/Cocoa/WKObject.mm:

(-[WKObject dealloc]):
(initializeTargetIfNeeded):
(-[WKObject forwardingTargetForSelector:]):
(-[WKObject forwardInvocation:]):

  • Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm:

(-[UIView _web_setSubviews:]):

  • UIProcess/API/ios/WKWebViewIOS.mm:

(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):

  • UIProcess/Cocoa/LegacyCustomProtocolManagerClient.mm:

(-[WKCustomProtocolLoader initWithLegacyCustomProtocolManagerProxy:customProtocolID:request:]):
(-[WKCustomProtocolLoader dealloc]):
(WebKit::LegacyCustomProtocolManagerClient::startLoading):

  • UIProcess/Inspector/ios/WKInspectorHighlightView.h:
  • UIProcess/Inspector/ios/WKInspectorHighlightView.mm:

(-[WKInspectorHighlightView initWithFrame:]):
(-[WKInspectorHighlightView dealloc]):
(-[WKInspectorHighlightView _removeAllLayers]):
(-[WKInspectorHighlightView _createLayers:]):

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _selectPositionAtPoint:stayingWithinFocusedElement:completionHandler:]):
(-[WKContentView selectPositionAtBoundary:inDirection:fromPoint:completionHandler:]):
(-[WKContentView moveSelectionAtBoundary:inDirection:completionHandler:]):
(-[WKContentView updateSelectionWithExtentPoint:withBoundary:completionHandler:]):

  • UIProcess/ios/WKScrollView.mm:

(-[WKScrollView _updateDelegate]):
(-[WKScrollView dealloc]):

  • UIProcess/ios/forms/WKFormSelectPopover.mm:

(-[WKSelectPopover initWithView:hasGroups:]):

  • UIProcess/mac/WKTextInputWindowController.mm:

(-[WKTextInputPanel dealloc]):
(-[WKTextInputPanel init]):

  • UIProcess/mac/WebColorPickerMac.mm:

(+[WKPopoverColorWell _colorPopoverCreateIfNecessary:]):

  • WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.h:
  • WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:

(-[WKAccessibilityWebPageObjectBase setRemoteParent:]):

  • WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm:

(-[WKAccessibilityWebPageObject dealloc]):
(-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):

Source/WebKitLegacy/ios:

  • WebCoreSupport/WebChromeClientIOS.mm:

(WebChromeClientIOS::runOpenPanel):

  • WebView/WebPDFViewIOS.mm:

(-[WebPDFView dealloc]):
(-[WebPDFView setDataSource:]):
(-[WebPDFView _checkPDFTitle]):
(-[WebPDFView title]):

  • WebView/WebPDFViewPlaceholder.mm:

(-[WebPDFViewPlaceholder _updateTitleForDocumentIfAvailable]):

Source/WebKitLegacy/mac:

  • DOM/DOMUIKitExtensions.mm:

(-[DOMNode absoluteQuads]):
(-[DOMHTMLAreaElement absoluteQuadsWithOwner:]):

  • DOM/ExceptionHandlers.mm:

(raiseDOMErrorException):

  • DefaultDelegates/WebDefaultUIDelegate.mm:

(-[WebDefaultUIDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:]):

  • History/WebHistory.mm:

(-[WebHistoryPrivate init]):
(-[WebHistoryPrivate dealloc]):
(-[WebHistoryPrivate removeItemFromDateCaches:]):
(-[WebHistoryPrivate addItemToDateCaches:]):
(-[WebHistoryPrivate visitedURL:withTitle:]):
(-[WebHistoryPrivate addItem:discardDuplicate:]):
(-[WebHistoryPrivate rebuildHistoryByDayIfNeeded:]):
(-[WebHistoryPrivate removeAllItems]):
(-[WebHistoryPrivate orderedLastVisitedDays]):
(-[WebHistoryPrivate loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):
(-[WebHistoryPrivate addVisitedLinksToVisitedLinkStore:]):
(-[WebHistory loadFromURL:error:]):
(-[WebHistory _visitedURL:withTitle:method:wasFailure:]):

  • History/WebHistoryItem.mm:

(-[WebHistoryItem initFromDictionaryRepresentation:]):

  • Misc/WebDownload.mm:

(-[WebDownloadInternal dealloc]):
(-[WebDownloadInternal setRealDelegate:]):
(-[WebDownloadInternal downloadDidBegin:]):
(-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]):
(-[WebDownloadInternal download:didReceiveResponse:]):
(-[WebDownloadInternal download:didReceiveDataOfLength:]):
(-[WebDownloadInternal download:decideDestinationWithSuggestedFilename:]):
(-[WebDownloadInternal download:didCreateDestination:]):
(-[WebDownloadInternal downloadDidFinish:]):
(-[WebDownloadInternal download:didFailWithError:]):

  • Misc/WebNSDataExtras.mm:

(-[NSData _webkit_parseRFC822HeaderFields]):

  • Misc/WebNSPasteboardExtras.mm:

(-[NSPasteboard _web_writeFileWrapperAsRTFDAttachment:]):
(-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):

  • Plugins/Hosted/NetscapePluginHostManager.mm:

(WebKit::NetscapePluginHostManager::spawnPluginHost):

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::performRequest):

  • Plugins/WebNetscapePluginStream.mm:

(WebNetscapePluginStream::didReceiveData):

  • Plugins/WebNetscapePluginView.mm:

(-[WebNetscapePluginView pluginView:receivedData:]):
(-[WebNetscapePluginView loadPluginRequest:]):
(-[WebNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):

  • Plugins/WebPluginController.mm:

(-[WebPluginController pluginView:receivedResponse:]):

  • Plugins/WebPluginDatabase.mm:

(-[WebPluginDatabase refresh]):
(-[WebPluginDatabase _removePlugin:]):
(-[WebPluginDatabase _scanForNewPlugins]):

  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::createWindow):
(WebChromeClient::addMessageToConsole):
(WebChromeClient::mouseDidMoveOverElement):
(WebChromeClient::exceededDatabaseQuota):
(WebChromeClient::reachedApplicationCacheOriginQuota):
(WebChromeClient::runOpenPanel):
(WebChromeClient::exitFullScreenForElement):

  • WebCoreSupport/WebEditorClient.mm:

(attributesForAttributedStringConversion):

  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::forceLayoutForNonHTML):
(WebFrameLoaderClient::dispatchCreatePage):
(WebFrameLoaderClient::committedLoad):
(WebFrameLoaderClient::prepareForDataSourceReplacement):
(WebFrameLoaderClient::createDocumentLoader):
(WebFrameLoaderClient::savePlatformDataToCachedFrame):
(WebFrameLoaderClient::transitionToCommittedForNewPage):
(WebFrameLoaderClient::actionDictionary const):
(WebFrameLoaderClient::createFrame):
(pluginView):
(WebFrameLoaderClient::createPlugin):

  • WebCoreSupport/WebGeolocationClient.mm:

(WebGeolocationClient::requestPermission):
(-[WebGeolocationProviderInitializationListener initializationAllowedWebView:]):

  • WebCoreSupport/WebInspectorClient.mm:

(-[WebInspectorWindowController init]):
(-[WebInspectorWindowController initWithInspectedWebView:isUnderTest:]):
(-[WebInspectorWindowController dealloc]):
(-[WebInspectorWindowController frontendWebView]):
(-[WebInspectorWindowController window]):
(-[WebInspectorWindowController showWindow:]):
(-[WebInspectorWindowController webView:runOpenPanelForFileButtonWithResultListener:allowMultipleFiles:]):

  • WebCoreSupport/WebNotificationClient.mm:

(WebNotificationClient::requestPermission):
(WebNotificationClient::checkPermission):

  • WebView/WebArchive.mm:

(-[WebArchivePrivate dealloc]):
(-[WebArchive initWithMainResource:subresources:subframeArchives:]):
(-[WebArchive mainResource]):
(-[WebArchive subresources]):
(-[WebArchive subframeArchives]):

  • WebView/WebDataSource.mm:

(-[WebDataSource _documentFragmentWithArchive:]):
(-[WebDataSource _makeRepresentation]):

  • WebView/WebFrame.mm:

(-[WebFramePrivate dealloc]):
(-[WebFramePrivate setWebFrameView:]):
(+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]):
(+[WebFrame _createMainFrameWithPage:frameName:frameView:]):
(+[WebFrame _createMainFrameWithSimpleHTMLDocumentWithPage:frameView:style:]):
(-[WebFrame getDictationResultRanges:andMetadatas:]):
(-[WebFrame frameView]):

  • WebView/WebFrameInternal.h:
  • WebView/WebFrameView.mm:

(-[WebFrameViewPrivate dealloc]):
(-[WebFrameView _scrollView]):
(-[WebFrameView _install]):
(-[WebFrameView initWithFrame:]):
(-[WebFrameView _setCustomScrollViewClass:]):

  • WebView/WebFullScreenController.mm:

(-[WebFullScreenController init]):

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _updateMouseoverWithEvent:]):

  • WebView/WebNavigationData.mm:

(-[WebNavigationDataPrivate dealloc]):
(-[WebNavigationData initWithURLString:title:originalRequest:response:hasSubstituteData:clientRedirectSource:]):
(-[WebNavigationData url]):
(-[WebNavigationData title]):
(-[WebNavigationData originalRequest]):
(-[WebNavigationData response]):
(-[WebNavigationData clientRedirectSource]):

  • WebView/WebPDFDocumentExtras.mm:

(allScriptsInPDFDocument):

  • WebView/WebPDFRepresentation.mm:

(-[WebPDFRepresentation finishedLoadingWithDataSource:]):

  • WebView/WebPDFView.mm:

(-[WebPDFView menuForEvent:]):
(-[WebPDFView countMatchesForText:inDOMRange:options:limit:markMatches:]):
(-[WebPDFView attributedString]):
(-[WebPDFView selectionImageForcingBlackText:]):
(-[WebPDFView _menuItemsFromPDFKitForEvent:]):
(-[WebPDFView _nextMatchFor:direction:caseSensitive:wrap:fromSelection:startInSelection:]):

  • WebView/WebPolicyDelegate.mm:

(-[WebPolicyDecisionListenerPrivate initWithTarget:action:]):
(-[WebPolicyDecisionListenerPrivate dealloc]):
(-[WebPolicyDecisionListener _usePolicy:]):
(-[WebPolicyDecisionListener _invalidate]):

  • WebView/WebPreferences.mm:

(+[WebPreferences _setIBCreatorID:]):

  • WebView/WebScriptDebugger.mm:

(WebScriptDebugger::sourceParsed):

  • WebView/WebTextCompletionController.mm:

(-[WebTextCompletionController _buildUI]):

  • WebView/WebVideoFullscreenController.mm:

(-[WebVideoFullscreenController init]):

  • WebView/WebView.mm:

(-[WebView _registerDraggedTypes]):
(-[WebView _commonInitializationWithFrameName:groupName:]):
(+[WebView _supportedFileExtensions]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
(-[WebView _downloadURL:]):
(-[WebView _openNewWindowWithRequest:]):
(-[WebView _didStartProvisionalLoadForFrame:]):
(-[WebView caretChanged]):
(-[WebView setBackgroundColor:]):
(+[WebView setMIMETypesShownAsHTML:]):
(-[WebView setPreferences:]):
(-[WebView setPreferencesIdentifier:]):
(-[WebView setCurrentNodeHighlight:]):
(-[WebView stopLoadingAndClear]):
(-[WebView _openFrameInNewWindowFromMenu:]):
(-[WebView _searchWithGoogleFromMenu:]):

  • WebView/WebWindowAnimation.mm:

(-[WebWindowScaleAnimation setSubAnimation:]):

Tools:

  • DumpRenderTree/ios/AccessibilityUIElementIOS.mm:

(AccessibilityUIElement::addNotificationListener):
(AccessibilityUIElement::removeNotificationListener):

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(AccessibilityUIElement::addNotificationListener):
(AccessibilityUIElement::removeNotificationListener):

  • DumpRenderTree/mac/DumpRenderTree.mm:

(createWebViewAndOffscreenWindow):
(destroyWebViewAndOffscreenWindow):
(dumpFrameAsPDF):
(dumpBackForwardListForWebView):

  • DumpRenderTree/mac/DumpRenderTreePasteboard.mm:

(+[DumpRenderTreePasteboard _pasteboardWithName:]):

  • DumpRenderTree/mac/EventSendingController.mm:

(-[EventSendingController mouseDown:withModifiers:]):
(-[EventSendingController mouseUp:withModifiers:]):
(-[EventSendingController mouseMoveToX:Y:]):
(-[EventSendingController keyDown:withModifiers:withLocation:]):
(-[EventSendingController sentTouchEventOfType:]):
(-[EventSendingController touchEnd]):
(-[EventSendingController touchCancel]):

  • DumpRenderTree/mac/ResourceLoadDelegate.mm:

(-[ResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]):

  • DumpRenderTree/mac/TestRunnerMac.mm:

(TestRunner::applicationCacheDiskUsageForOrigin):
(TestRunner::clearApplicationCacheForOrigin):
(TestRunner::clearBackForwardList):
(TestRunner::keepWebHistory):
(TestRunner::setDatabaseQuota):
(TestRunner::setMockDeviceOrientation):
(TestRunner::setMockGeolocationPosition):
(-[APITestDelegateIPhone initWithTestRunner:utf8Data:baseURL:]):
(-[APITestDelegateIPhone dealloc]):
(-[APITestDelegateIPhone run]):
(-[APITestDelegateIPhone _cleanUp]):
(TestRunner::apiTestNewWindowDataLoadBaseURL):
(-[SynchronousLoader dealloc]):
(-[SynchronousLoader connection:didReceiveAuthenticationChallenge:]):
(+[SynchronousLoader makeRequest:withUsername:password:]):
(TestRunner::addChromeInputField):

  • DumpRenderTree/mac/UIDelegate.h:
  • DumpRenderTree/mac/UIDelegate.mm:

(-[UIDelegate webView:decidePolicyForGeolocationRequestFromOrigin:frame:listener:]):
(-[UIDelegate timerFired]):
(-[UIDelegate dealloc]):

  • WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:

(WTR::AccessibilityUIElement::addNotificationListener):
(WTR::AccessibilityUIElement::removeNotificationListener):

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::AccessibilityUIElement::addNotificationListener):
(WTR::AccessibilityUIElement::removeNotificationListener):

  • WebKitTestRunner/ios/HIDEventGenerator.mm:

(-[HIDEventGenerator interpolatedEvents:]):

  • WebKitTestRunner/ios/PlatformWebViewIOS.mm:

(WTR::PlatformWebView::PlatformWebView):

  • WebKitTestRunner/mac/PlatformWebViewMac.mm:

(WTR::PlatformWebView::addChromeInputField):

  • WebKitTestRunner/mac/WebKitTestRunnerDraggingInfo.h:
  • WebKitTestRunner/mac/WebKitTestRunnerDraggingInfo.mm:

(-[WebKitTestRunnerDraggingInfo dealloc]):
(-[WebKitTestRunnerDraggingInfo draggedImage]):
(-[WebKitTestRunnerDraggingInfo draggingPasteboard]):
(-[WebKitTestRunnerDraggingInfo draggingSource]):

  • WebKitTestRunner/mac/WebKitTestRunnerPasteboard.mm:

(+[WebKitTestRunnerPasteboard _pasteboardWithName:]):
(-[LocalPasteboard _addTypesWithoutUpdatingChangeCount:owner:]):

10:37 AM Changeset in webkit [272788] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

[ macOS wk2 ] webgpu/whlsl/do-while-loop-break.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=215606

Unreviewed test gardening.

Patch by Robert Jenner <Robert Jenner> on 2021-02-12

  • platform/mac-wk2/TestExpectations: Switch expectation from Failure to ImageOnlyFailure.
10:36 AM Changeset in webkit [272787] by aakash_jain@apple.com
  • 1 edit
    1 delete in trunk/Tools

[build.webkit.org] Delete unused Makefile
https://bugs.webkit.org/show_bug.cgi?id=221721

Reviewed by Jonathan Bedard.

  • CISupport/build-webkit-org/Makefile: Removed.
10:20 AM Changeset in webkit [272786] by commit-queue@webkit.org
  • 18 edits
    4 adds
    1 delete in trunk

GPU process WebGL context toDataURL does not work for non-premultiplied contexts
https://bugs.webkit.org/show_bug.cgi?id=221748

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-02-12
Reviewed by Myles C. Maxfield.

Source/WebKit:

Implement GraphicsContextGL::paintRenderingResultsToImageData(). This
is used for Image.toDataURL() call, and returns something for
WebGL canvases that have non-premultiplied alpha.

No new tests, tested by currently failing WebGL conformance and ad hoc tests like
premultiplyalpha-test.html.
This does not make any failing test pass, as the tests test also premultiplied
case, which needs other currently unimplemented code.

  • GPUProcess/graphics/RemoteGraphicsContextGL.messages.in:
  • GPUProcess/graphics/RemoteGraphicsContextGLFunctionsGenerated.h:

(paintRenderingResultsToImageData):
Generated GPU process side implementation.

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::getImageData):

  • GPUProcess/graphics/RemoteRenderingBackend.h:
  • GPUProcess/graphics/RemoteRenderingBackend.messages.in:

Change ImageDataReference to RefPtr<ImageData>.

  • Platform/IPC/ImageDataReference.h: Removed.

This implementation is redundant. The messages could accept just
RefPtr<WebCore::ImageData>, which is exactly "reference to
Image Data", i.e. ImageDataReference.

RefPtr<WebCore::ImageData> encoder and decoder already exist.

  • Scripts/webkit/messages.py:
  • Scripts/webkit/messages_unittest.py:
  • Scripts/webkit/tests/Makefile:
  • Scripts/webkit/tests/MessageArgumentDescriptions.cpp:

(IPC::jsValueForArguments):
(IPC::messageArgumentDescriptions):

  • Scripts/webkit/tests/MessageNames.cpp:

(IPC::description):
(IPC::receiverName):
(IPC::isValidMessageName):

  • Scripts/webkit/tests/MessageNames.h:
  • Scripts/webkit/tests/TestWithImageData.messages.in: Added.
  • Scripts/webkit/tests/TestWithImageDataMessageReceiver.cpp: Added.

(WebKit::TestWithImageData::didReceiveMessage):
(WebKit::TestWithImageData::didReceiveSyncMessage):

  • Scripts/webkit/tests/TestWithImageDataMessages.h: Added.

(Messages::TestWithImageData::messageReceiverName):
(Messages::TestWithImageData::SendImageData::name):
(Messages::TestWithImageData::SendImageData::SendImageData):
(Messages::TestWithImageData::SendImageData::arguments const):
(Messages::TestWithImageData::ReceiveImageData::name):
(Messages::TestWithImageData::ReceiveImageData::arguments const):

  • Scripts/webkit/tests/TestWithImageDataMessagesReplies.h: Added.

Test using RefPtr<WebCore::ImageData> in messages.in.

  • WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:
  • WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:
  • WebProcess/GPU/graphics/RemoteGraphicsContextGLProxyFunctionsGenerated.cpp:

(WebKit::RemoteGraphicsContextGLProxy::paintRenderingResultsToImageData):

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:

(WebKit::RemoteRenderingBackendProxy::getImageData):
Generated Web process side implementation.

Tools:

Add support for generating IPC implementation for functions with RefPtr<>.

  • Scripts/generate-gpup-webgl:
10:06 AM Changeset in webkit [272785] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

[build.webkit.org] commit identifier should show main instead of trunk
https://bugs.webkit.org/show_bug.cgi?id=221798

Reviewed by Jonathan Bedard.

  • CISupport/build-webkit-org/steps.py:

(ShowIdentifier.init): Increased timeout to 10 minutes (since first run might take a while).
(ShowIdentifier.evaluateCommand):

  • CISupport/build-webkit-org/steps_unittest.py: Updated unit-tests.
9:50 AM Changeset in webkit [272784] by achristensen@apple.com
  • 28 edits in trunk/Source/WebKit

Stop using GenericCallback from WebPageProxy
https://bugs.webkit.org/show_bug.cgi?id=221653

Reviewed by Chris Dumez.

There are still two uses in the DrawingAreaProxy implementations, but those are quite tangled and deserve their own patch.

  • UIProcess/API/APIAttachment.cpp:

(API::Attachment::updateAttributes):

  • UIProcess/API/APIAttachment.h:
  • UIProcess/API/C/WKPage.cpp:

(CompletionHandler<void):
(WKPageRenderTreeExternalRepresentation):
(WKPageGetSourceForFrame):
(WKPageGetContentsAsString):
(WKPageGetBytecodeProfile):
(WKPageGetSamplingProfilerOutput):
(WTF::Function<void): Deleted.

  • UIProcess/API/Cocoa/APIAttachmentCocoa.mm:

(API::Attachment::updateFromSerializedRepresentation):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _insertAttachmentWithFileWrapper:contentType:completion:]):
(-[WKWebView _getContentsAsStringWithCompletionHandler:]):
(-[WKWebView _getContentsOfAllFramesAsStringWithCompletionHandler:]):

  • UIProcess/API/Cocoa/_WKAttachment.mm:

(-[_WKAttachment setFileWrapper:contentType:completion:]):

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::startSpeaking):

  • UIProcess/GenericCallback.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::dispatchActivityStateChange):
(WebKit::WebPageProxy::getRenderTreeExternalRepresentation):
(WebKit::WebPageProxy::getSourceForFrame):
(WebKit::WebPageProxy::getContentsAsString):
(WebKit::WebPageProxy::getBytecodeProfile):
(WebKit::WebPageProxy::getSamplingProfilerOutput):
(WebKit::WebPageProxy::getSelectionOrContentsAsString):
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::didFailLoadForFrame):
(WebKit::WebPageProxy::resetState):
(WebKit::WebPageProxy::installActivityStateChangeCompletionHandler):
(WebKit::WebPageProxy::insertAttachment):
(WebKit::WebPageProxy::updateAttachmentAttributes):
(WebKit::WebPageProxy::didInsertAttachmentWithIdentifier):
(WebKit::WebPageProxy::clearLoadDependentCallbacks): Deleted.
(WebKit::WebPageProxy::voidCallback): Deleted.
(WebKit::WebPageProxy::stringCallback): Deleted.
(WebKit::WebPageProxy::invalidateStringCallback): Deleted.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _shareForWebView:]):
(-[WKContentView _defineForWebView:]):
(-[WKContentView accessibilityRetrieveSpeakSelectionContent]):
(-[WKContentView applyAutocorrection:toString:withCompletionHandler:]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::applyAutocorrection):

  • UIProcess/mac/WKTextFinderClient.mm:

(-[WKTextFinderClient getSelectedText:]):

  • WebProcess/Notifications/NotificationPermissionRequestManager.h:
  • WebProcess/WebCoreSupport/WebNotificationClient.h:
  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::activityStateDidChange):

  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::activityStateDidChange):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::reinitializeWebPage):
(WebKit::WebPage::setActivityState):
(WebKit::WebPage::getContentsAsString):
(WebKit::WebPage::getRenderTreeExternalRepresentation):
(WebKit::WebPage::getSelectionOrContentsAsString):
(WebKit::WebPage::getSourceForFrame):
(WebKit::WebPage::getBytecodeProfile):
(WebKit::WebPage::getSamplingProfilerOutput):
(WebKit::WebPage::insertAttachment):
(WebKit::WebPage::updateAttachmentAttributes):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::applyAutocorrection):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::handleActivityStateChangeCallbacks):
(WebKit::TiledCoreAnimationDrawingArea::activityStateDidChange):

9:32 AM Changeset in webkit [272783] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Fix Windows build after r272772
https://bugs.webkit.org/show_bug.cgi?id=221765

Unreviewed.

No new tests because there is no behavior change.

  • platform/graphics/Font.cpp:
9:17 AM Changeset in webkit [272782] by Jonathan Bedard
  • 6 edits in trunk/Tools

[webkit-patch] Use identifiers when posting to bugzilla
https://bugs.webkit.org/show_bug.cgi?id=221724
<rdar://problem/74209525>

Rubber-stamped by Aakash Jain.

  • Scripts/webkitpy/common/config/urls.py:

(view_identifier_url): Return commits.webkit.org identifier link.

  • Scripts/webkitpy/tool/commands/download_unittest.py:

(DownloadCommandsTest.mock_svn_remote): Return a mock context for a remote Svn instance.

  • Scripts/webkitpy/tool/commands/upload_unittest.py:
  • Scripts/webkitpy/tool/comments.py:

(bug_comment_from_svn_revision): Query remote Subversion server to construct identifier link.

  • Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:

(CloseBugForLandDiffTest.test_empty_state): Mock context for a remote Svn instance.

  • Scripts/webkitpy/tool/steps/preparechangelogforrevert_unittest.py:
4:05 AM Changeset in webkit [272781] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC] Update the block box/container list
https://bugs.webkit.org/show_bug.cgi?id=221800
<rdar://problem/74178203>

Reviewed by Antti Koivisto.

Add DisplayType::FlowRoot to isBlockContainer/isBlockLevelBox and DisplayType::Grid to isBlockLevelBox.

  • layout/layouttree/LayoutBox.cpp:

(WebCore::Layout::Box::isBlockLevelBox const):
(WebCore::Layout::Box::isBlockContainer const):

3:51 AM Changeset in webkit [272780] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][IFC] LineLayout::enclosingBorderBoxRectFor reports content box size
https://bugs.webkit.org/show_bug.cgi?id=221778

Reviewed by Antti Koivisto.

Before 272724, inline boxes included their paddings and borders in the content box geometry.
Now we can just simply return the border box rect.

  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::enclosingBorderBoxRectFor const):

3:29 AM Changeset in webkit [272779] by svillar@igalia.com
  • 3 edits
    2 adds in trunk

Crash in InsertTextCommand::doApply
https://bugs.webkit.org/show_bug.cgi?id=213514

Reviewed by Ryosuke Niwa.

Source/WebCore:

The InsertTextCommand might delete the current selection before inserting the text. In that case and when
the selection was ending inside an empty row of a table the code was calling CompositeEditCommand::removeNode()
directly to delete the empty row. That method however does not properly update the m_endingPosition of
the CompositeEditCommand leaving the current selection in an inconsistent state. Replaced that call by
removeNodeUpdatingStates() which ends up calling removeNode() but only after updating the selection state.

Test: editing/deleting/insert-in-orphaned-selection-crash.html

  • editing/DeleteSelectionCommand.cpp:

(WebCore::DeleteSelectionCommand::removePreviouslySelectedEmptyTableRows): Replaced
CompositeEditCommand::removeNode() by removeNodeUpdatingStates().

LayoutTests:

  • editing/deleting/insert-in-orphaned-selection-crash-expected.txt: Added.
  • editing/deleting/insert-in-orphaned-selection-crash.html: Added.
2:54 AM Changeset in webkit [272778] by youenn@apple.com
  • 18 edits in trunk

Make RemoteRealtimeVideoSource a RealtimeVideoCaptureSource
https://bugs.webkit.org/show_bug.cgi?id=221747

Reviewed by Eric Carlson.

Source/WebCore:

Introduce isVideoSource to be able to get presets data from RealtimeVideoSource.
Expose presets in RealtimeVideoSource for GPUProcess to send it to WebProcess.
Remove no longer used m_defaultSize member.
Update RealtimeVideoSource to set some of its members when its capture source is ready,
including settings, size, frame rate and name.
Covered by existing tests.

  • platform/mediastream/RealtimeMediaSource.h:
  • platform/mediastream/RealtimeVideoCaptureSource.cpp:

(WebCore::RealtimeVideoCaptureSource::prepareToProduceData):
(WebCore::RealtimeVideoCaptureSource::presetsData):

  • platform/mediastream/RealtimeVideoCaptureSource.h:
  • platform/mediastream/RealtimeVideoSource.cpp:

(WebCore::RealtimeVideoSource::whenReady):

  • platform/mediastream/RealtimeVideoSource.h:

Source/WebKit:

All capture video sources are now deriving from RealtimeVideoCaptureSource.
This allows to expose a RealtimeVideoSource that can handle changes of resolution and frame rate in software as needed.
This also allows to better align audio and video sources on iOS: there will only be one running source at any given time.
Covered by existing tests.

  • Scripts/webkit/messages.py:
  • UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:

(WebKit::UserMediaCaptureManagerProxy::capabilities):
(WebKit::UserMediaCaptureManagerProxy::generatePresets):

  • UIProcess/Cocoa/UserMediaCaptureManagerProxy.h:
  • UIProcess/Cocoa/UserMediaCaptureManagerProxy.messages.in:
  • WebProcess/cocoa/RemoteRealtimeAudioSource.cpp:

(WebKit::RemoteRealtimeAudioSource::createRemoteMediaSource):
(WebKit::RemoteRealtimeAudioSource::setAsReady):

  • WebProcess/cocoa/RemoteRealtimeVideoSource.cpp:

(WebKit::RemoteRealtimeVideoSource::create):
(WebKit::RemoteRealtimeVideoSource::RemoteRealtimeVideoSource):
(WebKit::RemoteRealtimeVideoSource::createRemoteMediaSource):
(WebKit::RemoteRealtimeVideoSource::setAsReady):
(WebKit::RemoteRealtimeVideoSource::remoteVideoSampleAvailable):
(WebKit::RemoteRealtimeVideoSource::setFrameRateWithPreset):
(WebKit::RemoteRealtimeVideoSource::prefersPreset):
(WebKit::RemoteRealtimeVideoSource::gpuProcessConnectionDidClose):

  • WebProcess/cocoa/RemoteRealtimeVideoSource.h:
  • WebProcess/cocoa/UserMediaCaptureManager.cpp:

(WebKit::UserMediaCaptureManager::VideoFactory::createVideoCaptureSource):
(WebKit::UserMediaCaptureManager::DisplayFactory::createDisplayCaptureSource):

LayoutTests:

  • fast/mediastream/resources/getDisplayMedia-utils.js:

(async waitForHeight):
(async waitForWidth):
Updated to fail instead of timing out.

  • fast/mediastream/resources/getUserMedia-helper.js:

Removing no longer needed code that made it impossible to run the tests in browser.

1:38 AM Changeset in webkit [272777] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Nullopt crash in DOMSelection::getRangeAt
https://bugs.webkit.org/show_bug.cgi?id=221786

Reviewed by Darin Adler.

No new tests since we don't have any way to reproduce this crash.

  • page/DOMSelection.cpp:

(WebCore::DOMSelection::getRangeAt): Added a nullopt check with an assertion.

1:10 AM Changeset in webkit [272776] by Said Abou-Hallawa
  • 26 edits in trunk

Source/WebCore:
Make Pattern hold a NativeImage instead of an Image
https://bugs.webkit.org/show_bug.cgi?id=221637

Reviewed by Simon Fraser.

This will make caching the Pattern data in the GPUP straightforward since
all we need is to cache the NativeImage and encode the pattern data.

  • html/canvas/CanvasPattern.cpp:

(WebCore::CanvasPattern::create):
(WebCore::CanvasPattern::CanvasPattern):

  • html/canvas/CanvasPattern.h:
  • html/canvas/CanvasRenderingContext2DBase.cpp:

(WebCore::CanvasRenderingContext2DBase::createPattern):

  • inspector/InspectorCanvas.cpp:

(WebCore::InspectorCanvas::buildArrayForCanvasPattern):
Extract a NativeImage of an Image. The platform Patterns deal with
NativeImages only.

  • platform/graphics/Image.h:

Remove ImageHandle.

  • platform/graphics/Pattern.cpp:

(WebCore::Pattern::create):
(WebCore::Pattern::Pattern):
(WebCore::Pattern::setPatternSpaceTransform):

  • platform/graphics/Pattern.h:

(WebCore::Pattern::Parameters::encode const):
(WebCore::Pattern::Parameters::decode):
(WebCore::Pattern::encode const): Deleted.
(WebCore::Pattern::decode): Deleted.
Make the new struct 'Parameters' holds all the members other than the
NativeImage. This struct + RenderingResourceIdentifer of the NativeImage
will be recorded for the strokePattern and the fillPattern.

  • platform/graphics/cairo/CairoOperations.cpp:

(WebCore::Cairo::FillSource::FillSource):

  • platform/graphics/cairo/PatternCairo.cpp:

(WebCore::Pattern::createPlatformPattern const):

  • platform/graphics/cg/PatternCG.cpp:

(WebCore::Pattern::createPlatformPattern const):
The platform Pattern deals only with NativeImages.

  • platform/graphics/displaylists/DisplayList.cpp:

(WebCore::DisplayList::DisplayList::shouldDumpForFlags):
SetState::state() is renamed to SetStateItem::stateChange() since it
returns GraphicsContextStateChange.

  • platform/graphics/displaylists/DisplayListItemBuffer.cpp:

(WebCore::DisplayList::ItemHandle::apply):
SetState::apply() has to be a special case.

  • platform/graphics/displaylists/DisplayListItems.cpp:

(WebCore::DisplayList::SetState::SetState):
(WebCore::DisplayList::SetState::apply):
(WebCore::DisplayList::operator<<):
(WebCore::DisplayList::SetState::apply const): Deleted.
Add a new constructor for SetState to be used by the decoder. All the
members of GraphicsContextStateChange will be copied but strokePattern
and fillPattern will be created only when their NativeImages are resolved
in the SetState::apply().

  • platform/graphics/displaylists/DisplayListItems.h:

(WebCore::DisplayList::SetState::stateChange const):
(WebCore::DisplayList::SetState::strokePatternParameters const):
(WebCore::DisplayList::SetState::fillPatternParameters const):
(WebCore::DisplayList::SetState::strokePatternImageIdentifier const):
(WebCore::DisplayList::SetState::fillPatternImageIdentifier const):
(WebCore::DisplayList::SetState::encode const):
(WebCore::DisplayList::SetState::decode):
(WebCore::DisplayList::SetState::state const): Deleted.
Specialize the encode and the decoding of strokePattern and fillPattern
by using the Pattern::Parameters and the RenderingResourceIdentifer of
the NativeImage.

  • platform/graphics/displaylists/DisplayListRecorder.cpp:

(WebCore::DisplayList::Recorder::cacheNativeImage):
(WebCore::DisplayList::Recorder::appendStateChangeItem):
(WebCore::DisplayList::Recorder::drawNativeImage):
(WebCore::DisplayList::Recorder::drawPattern):

  • platform/graphics/displaylists/DisplayListRecorder.h:

Cache the NativeImages of strokePattern and fillPattern.

  • platform/graphics/displaylists/DisplayListReplayer.cpp:

(WebCore::DisplayList::applySetStateItem):
(WebCore::DisplayList::Replayer::applyItem):
Resolve the NativeImages of strokePattern and fillPattern from the cached
NativeImages.

  • platform/graphics/filters/FETile.cpp:

(WebCore::FETile::platformApplySoftware):

  • rendering/RenderLayerBacking.cpp:

(WebCore::patternForDescription):

  • rendering/svg/RenderSVGResourcePattern.cpp:

(WebCore::RenderSVGResourcePattern::buildPattern):
Patterns should be created with NativeImages.

Source/WebKit:
Make Pattern hold a NativeImage instead of an Image
https://bugs.webkit.org/show_bug.cgi?id=221637

Reviewed by Simon Fraser.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<ImageHandle>::encode): Deleted.
(IPC::ArgumentCoder<ImageHandle>::decode): Deleted.

  • Shared/WebCoreArgumentCoders.h:

Delete the encoding and decoding of Image since it is not used anymore

LayoutTests:
[GPU Process] Implement SetState DisplayList item
https://bugs.webkit.org/show_bug.cgi?id=219468

Reviewed by Simon Fraser.

  • gpu-process/TestExpectations:

Unmark tests that are no longer crash.

12:42 AM Changeset in webkit [272775] by Adrian Perez de Castro
  • 1 copy in releases/WPE WebKit/webkit-2.30.5

WPE WebKit 2.30.5

12:42 AM Changeset in webkit [272774] by Adrian Perez de Castro
  • 4 edits in releases/WebKitGTK/webkit-2.30

Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.30.5 release

.:

  • Source/cmake/OptionsWPE.cmake: Bump version numbers.

Source/WebKit:

  • wpe/NEWS: Add release notes for 2.30.5.
12:32 AM Changeset in webkit [272773] by Antti Koivisto
  • 7 edits in trunk/Source/WebKit

Increase network layout resource load priority for prioritized loads
https://bugs.webkit.org/show_bug.cgi?id=221751

Reviewed by Geoffrey Garen.

Currently visibility based prioritization only affects resource load scheduler.
We should increase the priority passed to the network layer and so the server too.

  • NetworkProcess/NetworkDataTask.h:

(WebKit::NetworkDataTask::setPriority):

  • NetworkProcess/NetworkLoad.cpp:

(WebKit::NetworkLoad::reprioritizeRequest):

  • NetworkProcess/NetworkLoad.h:
  • NetworkProcess/NetworkLoadScheduler.cpp:

(WebKit::NetworkLoadScheduler::HostContext::shouldDelayLowPriority const):
(WebKit::NetworkLoadScheduler::HostContext::schedule):
(WebKit::NetworkLoadScheduler::HostContext::unschedule):
(WebKit::NetworkLoadScheduler::HostContext::prioritize):

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

(WebKit::NetworkDataTaskCocoa::setPriority):

Note: See TracTimeline for information about the timeline view.