Timeline
Aug 1, 2020:
- 11:21 PM Changeset in webkit [265185] by
-
- 3 edits in trunk/Source/WebCore
Remove superfluous ResourceTiming constructor overload
https://bugs.webkit.org/show_bug.cgi?id=215063
Patch by Rob Buis <rbuis@igalia.com> on 2020-08-01
Reviewed by Sam Weinig.
Remove superfluous ResourceTiming constructor overload, we
can just call another overload from ResourceTiming::fromLoad.
- loader/ResourceTiming.cpp:
(WebCore::ResourceTiming::fromLoad):
- loader/ResourceTiming.h:
- 8:19 PM Changeset in webkit [265184] by
-
- 2 edits in trunk/LayoutTests
Remove test expectation for a WPT test that was removed
https://bugs.webkit.org/show_bug.cgi?id=215066
rdar://42904780
Reviewed by Sam Weinig.
- platform/mac-wk1/TestExpectations: Removed failure expectation for
a WPT WebCryptoAPI test that no longer exists.
- 7:53 PM Changeset in webkit [265183] by
-
- 11 edits1 copy3 adds in trunk
Special HID mapping for the Logitech F310/F710 controllers.
https://bugs.webkit.org/show_bug.cgi?id=215050
Reviewed by Tim Horton.
Source/WebCore:
Covered by API test.
These two controllers match the standard mapping perfectly. Easy to support.
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/gamepad/KnownGamepads.h:
- platform/gamepad/mac/GamepadConstantsMac.h:
- platform/gamepad/mac/HIDGamepad.cpp:
(WebCore::HIDGamepad::create):
- platform/gamepad/mac/HIDGamepadElement.cpp:
(WebCore::HIDGamepadElement::HIDGamepadElement):
- platform/gamepad/mac/HIDGamepadElement.h:
(WebCore::HIDGamepadElement::isAxis const):
- platform/gamepad/mac/LogitechGamepad.cpp: Added.
(WebCore::LogitechGamepadHatswitch::gamepadValueChanged):
(WebCore::LogitechGamepad::LogitechGamepad):
- platform/gamepad/mac/LogitechGamepad.h:
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/mac/HIDGamepads.mm:
- TestWebKitAPI/mac/GamepadMappings/LogitechF310.mm: Added.
(TestWebKitAPI::publishReportCallback):
(TestWebKitAPI::VirtualGamepad::logitechF310Mapping):
- TestWebKitAPI/mac/GamepadMappings/LogitechF710.mm: Added.
(TestWebKitAPI::publishReportCallback):
(TestWebKitAPI::VirtualGamepad::logitechF710Mapping):
- TestWebKitAPI/mac/VirtualGamepad.h:
- 6:50 PM Changeset in webkit [265182] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed. Remove the build warnings below since r265150.
warning: unused parameter ‘foo’ [-Wunused-parameter]
No new tests, no new behaviors.
- workers/service/server/SWServerJobQueue.cpp:
(WebCore::doCertificatesMatch):
- 6:18 PM Changeset in webkit [265181] by
-
- 3 edits in trunk/Source/WebKit
Fix and further refine makefile rule for WebKit messages generated files
https://bugs.webkit.org/show_bug.cgi?id=215064
Reviewed by Sam Weinig.
- DerivedSources-output.xcfilelist: Updated for a file that was omitted
because of a typo in the makefile.
- DerivedSources.make: Fix "addsufix" typo and reorganized things a bit.
- 3:55 PM Changeset in webkit [265180] by
-
- 13 edits1 copy2 adds in trunk
Special HID mapping for the Google Stadia controller
https://bugs.webkit.org/show_bug.cgi?id=215061
Reviewed by Tim Horton.
Source/WebCore:
New API test coverage.
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/gamepad/GamepadConstants.h:
- platform/gamepad/KnownGamepads.h:
- platform/gamepad/mac/GamepadConstantsMac.h:
- platform/gamepad/mac/HIDGamepad.cpp:
(WebCore::HIDGamepad::create):
- platform/gamepad/mac/HIDGamepadElement.cpp:
(WebCore::HIDGamepadElement::HIDGamepadElement):
(WebCore::HIDGamepadHatswitch::gamepadValueChanged):
(WebCore::HIDGamepadHatswitch::normalizedValue):
- platform/gamepad/mac/HIDGamepadElement.h:
(WebCore::HIDGamepadElement::isAxis const):
(WebCore::HIDGamepadHatswitch::HIDGamepadHatswitch):
- platform/gamepad/mac/StadiaHIDGamepad.cpp: Added.
(WebCore::StadiaHIDGamepad::StadiaHIDGamepad):
- platform/gamepad/mac/StadiaHIDGamepad.h:
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/mac/HIDGamepads.mm:
- TestWebKitAPI/mac/GamepadMappings/GoogleStadia.mm: Added.
(TestWebKitAPI::publishReportCallback):
(TestWebKitAPI::VirtualGamepad::googleStadiaMapping):
- TestWebKitAPI/mac/VirtualGamepad.h:
- 2:48 PM Changeset in webkit [265179] by
-
- 7 edits in trunk/Source
Unreviewed, reverting r265097, r265113, and r265122.
https://bugs.webkit.org/show_bug.cgi?id=215065
Broke AppleSilicon Big Sur
Reverted changesets:
"Strip pointers instead of authing for byteOffset to not allow
for a possible way to guess data pac"
https://bugs.webkit.org/show_bug.cgi?id=214952
https://trac.webkit.org/changeset/265097
"Compute number of PAC bits from what the OS says its address
space is"
https://bugs.webkit.org/show_bug.cgi?id=214986
https://trac.webkit.org/changeset/265113
"Remove UB from nonPACBitsMask computation"
https://bugs.webkit.org/show_bug.cgi?id=214996
https://trac.webkit.org/changeset/265122
- 10:54 AM Changeset in webkit [265178] by
-
- 2 edits in trunk/Source/WebKit
Prevent multiple invocations of generate-message-receiver.py
https://bugs.webkit.org/show_bug.cgi?id=215054
Reviewed by Darin Adler.
WebKit/DerivedSources.make is written such that
generate-message-receiver.py can be invoked N times, where N is the
value passed to -j. This results in the N invocations of
generate-message-receiver.py trying trying to generate the same set of
files at the same time, possibly leading to their being corrupted. We
have reports of generated files starting with a 4K block of NULs, and
this contention may be causing it. Address this by using a "pattern
rule" in the makefile, which is documented in GNU make's documentation
as the approach to take when there is one build rule that creates
multiple outputs, as is the case here.
See also <https://bugs.webkit.org/show_bug.cgi?id=166814> and
<http://trac.webkit.org/changeset/210507>.
No new tests -- no new or changed functionality.
- DerivedSources.make:
- 10:51 AM Changeset in webkit [265177] by
-
- 3 edits in trunk/Source/WebCore
Convert LinkHeader to use StringParsingBuffer
https://bugs.webkit.org/show_bug.cgi?id=215017
Reviewed by Darin Adler.
Update LinkHeader parsing to use StringParsingBuffer and do some light cleanup.
- loader/LinkHeader.cpp:
(WebCore::isSpaceOrTab):
(WebCore::isNotURLTerminatingChar):
(WebCore::isValidParameterNameChar):
(WebCore::isParameterValueEnd):
(WebCore::isParameterValueChar):
(WebCore::findURLBoundaries):
(WebCore::invalidParameterDelimiter):
(WebCore::validFieldEnd):
(WebCore::parseParameterDelimiter):
(WebCore::paramterNameFromString):
(WebCore::parseParameterName):
(WebCore::skipQuotesIfNeeded):
(WebCore::parseParameterValue):
(WebCore::findNextHeader):
(WebCore::LinkHeader::LinkHeader):
(WebCore::LinkHeaderSet::LinkHeaderSet):
(WebCore::LinkHeaderSet::init): Deleted.
- loader/LinkHeader.h:
- 8:50 AM Changeset in webkit [265176] by
-
- 64 edits in trunk/Source
Remove Range::create and many more uses of live ranges
https://bugs.webkit.org/show_bug.cgi?id=215004
Reviewed by Sam Weinig.
Source/WebCore:
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange const):
Use makeSimpleRange.
- accessibility/atk/AXObjectCacheAtk.cpp:
(WebCore::AXObjectCache::nodeTextChangePlatformNotification): Use SimpleRange.
- accessibility/atk/WebKitAccessibleHyperlink.cpp:
(rangeLengthForObject): Take SimpleRange.
(webkitAccessibleHyperlinkGetStartIndex): Use makeSimpleRange.
(webkitAccessibleHyperlinkGetEndIndex): Ditto.
- accessibility/atk/WebKitAccessibleInterfaceText.cpp:
(getSelectionOffsetsForObject): Ditto.
- accessibility/atk/WebKitAccessibleUtil.cpp:
(objectFocusedAndCaretOffsetUnignored): Ditto.
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(+[WebAccessibilityTextMarker startOrEndTextMarkerForRange:isStart:cache:]):
Take SimpleRange.
(-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):
Use makeSimpleRange.
(-[WebAccessibilityObjectWrapper _convertToDOMRange:]): Return SimpleRange.
(-[WebAccessibilityObjectWrapper textMarkerRange]): Remove createLiveRange.
(-[WebAccessibilityObjectWrapper textMarkerForPosition:]): Use auto.
(-[WebAccessibilityObjectWrapper misspellingTextMarkerRange:forward:]):
Remove createLiveRange.
(-[WebAccessibilityObjectWrapper rangeFromMarkers:withText:]): Return SimpleRange.
(-[WebAccessibilityObjectWrapper textRectsFromMarkers:withText:]): Add createLiveRange.
(-[WebAccessibilityObjectWrapper rangeForTextMarkers:]): Return SimpleRange.
(-[WebAccessibilityObjectWrapper startOrEndTextMarkerForTextMarkers:isStart:]):
Use auto.
(-[WebAccessibilityObjectWrapper textMarkerRangeForMarkers:]): Get rid of local.
(-[WebAccessibilityObjectWrapper textMarkersForRange:]): Take SimpleRange.
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(accessibilityTextOperationForParameterizedAttribute): Remove makeSimpleRange.
(accessibilityMisspellingSearchCriteriaForParameterizedAttribute): Return SimpleRange.
(-[WebAccessibilityObjectWrapper textMarkerRangeFromRange:]): Take SimpleRange.
(textMarkerRangeFromRange): Ditto.
(-[WebAccessibilityObjectWrapper startOrEndTextMarkerForRange:isStart:]): Ditto.
(startOrEndTextmarkerForRange): Return SimpleRange.
(-[WebAccessibilityObjectWrapper rangeForTextMarkerRange:]): Ditto.
(-[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:spellCheck:]):
Use auto.
(-[WebAccessibilityObjectWrapper doAXAttributedStringForRange:]): Remove createLiveRange.
(-[WebAccessibilityObjectWrapper textMarkerRangeAtTextMarker:forUnit:]): Ditto.
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): Ditto.
- dom/DocumentMarkerController.cpp:
(WebCore::updateRenderedRectsForMarker): Use document marker range function.
(WebCore::range): Added.
- dom/DocumentMarkerController.h: Update for above.
- dom/Position.cpp: Removed unneeded Range.h include.
- dom/Range.cpp:
(WebCore::Range::Range): Removed unused overload that takes start/end.
(WebCore::Range::create): Removed overloads that take start/end.
(WebCore::Range::setStart): Removed overload that takes Position.
(WebCore::Range::setEnd): Ditto.
(WebCore::Range::cloneRange const): Rewrote to use setStart/End since
that's what the constructor used to do.
(WebCore::Range::contains const): Use SimpleRange/createLiveRange
instead of makeRange. Soon this function will be deleted.
(WebCore::rangeOfContents): Deleted.
(WebCore::createLiveRange): Rewrote to use setStart/End since that's
what the constructor used to do.
- dom/Range.h: Update for above removals.
- dom/SimpleRange.h: Export commonInclusiveAncestor for use outside WebCore.
- dom/StaticRange.cpp:
(WebCore::StaticRange::create): Added overload that copies the SimpleRange.
- dom/StaticRange.h: Update for above.
- editing/AlternativeTextController.cpp:
(WebCore::AlternativeTextController::respondToMarkerAtEndOfWord): Use document
marker range function.
- editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle): Use makeSimpleRange.
- editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::mergeParagraphs): Ditto.
(WebCore::DeleteSelectionCommand::originalStringForAutocorrectionAtBeginningOfSelection):
Ditto.
- editing/EditingStyle.cpp:
(WebCore::EditingStyle::textDirectionForSelection): Use makeSimpleRange and
intersectingNodes.
- editing/Editor.cpp:
(WebCore::Editor::replaceSelectionWithFragment): Use makeRangeSelectingNodeContents.
(WebCore::Editor::updateMarkersForWordsAffectedByEditing): Use makeSimpleRange.
(WebCore::Editor::transpose): Ditto.
(WebCore::Editor::rangeOfString): Use makeRangeSelectingNodeContents.
(WebCore::Editor::handleAcceptedCandidate): Update since rangeForTextCheckingResult
now returns an Optional<SimpleRange>.
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::selectRangeOnElement): Use SimpleRange.
- editing/ReplaceRangeWithTextCommand.cpp:
(WebCore::ReplaceRangeWithTextCommand::ReplaceRangeWithTextCommand): Take
SimpleRange.
(WebCore::ReplaceRangeWithTextCommand::willApplyCommand): Update since
m_rangeToBeReplaced is a SimpleRange.
(WebCore::ReplaceRangeWithTextCommand::doApply): Ditto.
(WebCore::ReplaceRangeWithTextCommand::targetRanges const): Ditto.
- editing/ReplaceRangeWithTextCommand.h: Update for above.
- editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::insertedContentRange const):
Return a SimpleRange.
- editing/ReplaceSelectionCommand.h: Update for above.
- editing/SpellingCorrectionCommand.cpp:
(WebCore::SpellingCorrectionCommand::SpellingCorrectionCommand):
Take a SimpleRange.
(WebCore::SpellingCorrectionCommand::create): Moved here from header.
- editing/SpellingCorrectionCommand.h: Update for above.
- editing/TextCheckingHelper.cpp:
(WebCore::TextCheckingHelper::findFirstMisspelledWordOrUngrammaticalPhrase const):
Use makeSimpleRange.
- editing/TypingCommand.cpp:
(WebCore::TypingCommand::markMisspellingsAfterTyping): Use makeSimpleRange.
(WebCore::TypingCommand::willAddTypingToOpenCommand): Take SimpleRange.
(WebCore::TypingCommand::deleteKeyPressed): Remove createLiveRange.
(WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
- editing/TypingCommand.h: Update for above.
- editing/VisiblePosition.cpp:
(WebCore::makeRange): Deleted.
(WebCore::startVisiblePosition): Deleted.
(WebCore::endVisiblePosition): Deleted.
(WebCore::setStart): Deleted.
(WebCore::setEnd): Deleted.
- editing/VisiblePosition.h: Update for above. Also export makeSimpleRange
for use outside WebCore.
- editing/VisibleUnits.cpp:
(WebCore::suffixLengthForRange): Take SimpleRange.
(WebCore::prefixLengthForRange): Ditto.
(WebCore::previousBoundary): Use makeSimpleRange.
(WebCore::nextBoundary): Ditto.
- editing/VisibleUnits.h: Update for above.
- editing/cocoa/DataDetection.mm:
(WebCore::buildQuery): Remove unused local variable.
- editing/ios/EditorIOS.mm:
(WebCore::Editor::setDictationPhrasesAsChildOfElement): Use makeRangeSelectingNodeContents.
- page/DOMSelection.cpp:
(WebCore::DOMSelection::getRangeAt): Use createLiveRange.
- page/DragController.cpp:
(WebCore::DragController::insertDroppedImagePlaceholdersAtCaret): Remove makeSimpleRange.
- page/Frame.cpp:
(WebCore::Frame::rangeForPoint): Return SimpleRange.
- page/Frame.h: Update for above.
- page/ios/FrameIOS.mm:
(WebCore::Frame::interpretationsForCurrentRoot const): Use makeRangeSelectingNodeContents,
intersectingNodes, and makeSimpleRange.
- testing/Internals.cpp:
(WebCore::Internals::markerRangeForNode): Use createLiveRange and the document
marker range function.
Source/WebKit:
- WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
(API::PageOverlayClientImpl::actionContextForResultAtPoint): Return a
structure that includes a SimpleRange.
- WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::InjectedBundleNodeHandle::visibleRange): Use makeSimpleRange.
- WebProcess/WebPage/Cocoa/TextCheckingControllerProxy.h: Use SimpleRange.
- WebProcess/WebPage/Cocoa/TextCheckingControllerProxy.mm:
(WebKit::TextCheckingControllerProxy::rangeAndOffsetRelativeToSelection): Use SimpleRange.
(WebKit::TextCheckingControllerProxy::replaceRelativeToSelection): Ditto.
(WebKit::TextCheckingControllerProxy::removeAnnotationRelativeToSelection): Ditto.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::characterIndexForPointAsync): Remove makeSimpleRange.
(WebKit::WebPage::deleteSurrounding): Use makeSimpleRange.
- WebProcess/WebPage/WebPageOverlay.cpp:
(WebKit::WebPageOverlay::actionContextForResultAtPoint): Use return value instead of out argument.
- WebProcess/WebPage/WebPageOverlay.h: Update for above.
- WebProcess/WebPage/glib/WebPageGLib.cpp:
(WebKit::WebPage::getPlatformEditorState const): Use makeSimpleRange.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::computeEditableRootHasContentAndPlainText): Use makeSimpleRange.
(WebKit::WebPage::getRectsForGranularityWithSelectionOffset): Removed unneeded null checks that
are already done by makeSimpleRange.
(WebKit::WebPage::getRectsAtSelectionOffsetWithText): Use makeSimpleRange.
(WebKit::WebPage::requestDictationContext): Ditto.
(WebKit::WebPage::autocorrectionContext): Ditto.
(WebKit::linkIndicatorPositionInformation): Use makeRangeSelectingNodeContents.
(WebKit::dataDetectorLinkPositionInformation): Ditto.
(WebKit::WebPage::requestDocumentEditingContext): Use makeSimpleRange.
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::performImmediateActionHitTestAtLocation): Update for change to the
actionContextForResultAtPoint return value.
Source/WebKitLegacy/ios:
- WebCoreSupport/WebFrameIOS.mm:
(-[WebFrame wordAtPoint:]): Use makeSimpleRange.
- WebCoreSupport/WebVisiblePosition.mm:
(-[WebVisiblePosition enclosingRangeWithDictationPhraseAlternatives:]): Use document
marker range function.
(-[WebVisiblePosition enclosingRangeWithCorrectionIndicator]): Ditto.
(+[DOMRange rangeForFirstPosition:second:]): Use makeSimpleRange.
Source/WebKitLegacy/mac:
- DOM/DOMUIKitExtensions.mm:
(-[DOMNode rangeOfContainingParagraph]): Use makeSimpleRange.
- WebView/WebFrame.mm:
(-[WebFrame _characterRangeAtPoint:]): Update since rangeAtPoint takes a SimpleRange.
(-[WebFrame getDictationResultRanges:andMetadatas:]): Use document marker range function.
- WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _defaultAnimationController]): Use makeRangeSelectingNodeContents.
(-[WebImmediateActionController _animationControllerForDataDetectedLink]): Ditto.
Source/WebKitLegacy/win:
- AccessibleTextImpl.cpp:
(AccessibleText::scrollSubstringTo): Use makeSimpleRange.
- 6:40 AM Changeset in webkit [265175] by
-
- 11 edits in trunk/Source/WebKit
Unreviewed, reverting r265171.
https://bugs.webkit.org/show_bug.cgi?id=215060
broke 2 mac api tests
Reverted changeset:
"[Mac] Add Experimental Feature preference for SW VP9"
https://bugs.webkit.org/show_bug.cgi?id=215043
https://trac.webkit.org/changeset/265171
- 1:02 AM Changeset in webkit [265174] by
-
- 2 edits in trunk/Source/WebKit
Unable to select multiple lines of vertical text correctly
https://bugs.webkit.org/show_bug.cgi?id=213671
<rdar://problem/53753636>
Reviewed by Darin Adler.
In order to make for a better text selection experience, we pulled the selection position
down to be on the last line selectable, rather than snap the selection to a single position.
This made for a better selection experience on small text, but we failed to take
vertical text into account, and a user is locked into only selecting vertical text that ends below the
other anchor point of the selection. We should have the same behavior for vertical text, but correctly
calculated for X instead of Y.
This does not fix all cases, but it fixes the most glaring cases.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::rangeForPointInRootViewCoordinates):
Jul 31, 2020:
- 11:09 PM Changeset in webkit [265173] by
-
- 2 edits in trunk/Source/WebCore
[Mac] AudioSessionRoutingArbitrator causes a launch time regression checking for CoreAudio muted state
https://bugs.webkit.org/show_bug.cgi?id=214993
Reviewed by Eric Carlson.
The initial query of isMuted() is only there to tell whether, when we get a notification that the mute state
changed, whether our internal state is dirty and we need to fire a notification. Instead, replace the bool member
with an Optional<bool>, so we know we need to fire a changed notification whenever the first mute state change
comes in.
- platform/audio/mac/AudioSessionMac.mm:
(WebCore::AudioSession::AudioSession):
(WebCore::AudioSession::handleMutedStateChange):
(WebCore::AudioSessionPrivate::AudioSessionPrivate): Deleted.
- 10:57 PM Changeset in webkit [265172] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed Windows build fix after r265167; add some missing includes.
- page/Screen.cpp:
- 6:29 PM Changeset in webkit [265171] by
-
- 11 edits in trunk/Source/WebKit
[Mac] Add Experimental Feature preference for SW VP9
https://bugs.webkit.org/show_bug.cgi?id=215043
<rdar://problem/66400034>
Reviewed by Beth Dakin.
- FeatureFlags/WebKit.plist:
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
- Shared/WebPageCreationParameters.h:
- Shared/WebPreferences.yaml:
- Shared/WebPreferencesDefaultValues.cpp:
(WebKit::defaultVP9SWDecoderEnabledOnBattery):
- Shared/WebPreferencesDefaultValues.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_limitsNavigationsToAppBoundDomains):
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::enableVP9Decoder):
(WebKit::WebProcess::enableVP9SWDecoder):
- WebProcess/WebProcess.h:
- 5:36 PM Changeset in webkit [265170] by
-
- 9 edits in trunk/Source/WebCore
Clean up text layout code a bit
https://bugs.webkit.org/show_bug.cgi?id=215013
Reviewed by Zalan Bujtas.
This is in preparation for https://bugs.webkit.org/show_bug.cgi?id=214769.
See file-specific ChangeLog entries for more information.
No tests because there is no behavior change.
- platform/graphics/Font.h: Remove unnecessary declaration.
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::layoutText const): Rename glyphBufferForTextRun() to layoutText().
Also, make it return a GlyphBuffer instead of taking a GlyphBuffer as an out param.
Its previous return, the initial advance, is now returned in GlyphBuffer::initialAdvance.
(WebCore::FontCascade::drawText const): Update to new signature of layoutText().
(WebCore::FontCascade::drawEmphasisMarks const): Inline drawEmphasisMarksForSimpleText()
and drawEmphasisMarksForComplexText(), since they're nearly identical. Update to the new
signature of layoutText().
(WebCore::FontCascade::displayListForTextRun const): Update to the new signature of
layoutText().
(WebCore::FontCascade::layoutSimpleText const): Make this return a new GlyphBuffer, instead
of taking one as an out param. Also, use accessors of WidthIterator instead of reaching
into its guts. The previous return value is now returned in GlyphBuffer::initialAdvance.
(WebCore::FontCascade::layoutComplexText const): Ditto.
(WebCore::FontCascade::floatWidthForSimpleText const): Use accessors of WidthIterator
instead of reaching into its guts.
(WebCore::FontCascade::adjustSelectionRectForSimpleText const): Ditto.
(WebCore::FontCascade::offsetForPositionForSimpleText const): Ditto.
(WebCore::FontCascade::dashesForIntersectionsWithRect const): Same as
FontCascade::drawEmphasisMarks() above.
(WebCore::FontCascade::glyphBufferForTextRun const): Renamed to layoutText().
(WebCore::FontCascade::getGlyphsAndAdvancesForSimpleText const): Renamed to
layoutSimpleText().
(WebCore::FontCascade::getGlyphsAndAdvancesForComplexText const): Renamed to
layoutComplexText().
(WebCore::FontCascade::drawEmphasisMarksForSimpleText const): Inlined into
drawEmphasisMarks().
(WebCore::FontCascade::drawEmphasisMarksForComplexText const): Ditto.
- platform/graphics/FontCascade.h:
- platform/graphics/GlyphBuffer.h:
(WebCore::GlyphBufferAdvance::GlyphBufferAdvance):
(WebCore::GlyphBufferAdvance::operator FloatSize):
- platform/graphics/TextRun.h: Remove unnecessary declaration.
- platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::WidthIterator): Update for changes to WidthIterator.h
- platform/graphics/WidthIterator.h: Rearrange the class members to sort them by size,
to get better packing. Also, make all member variables private, and initialize them
all with { } syntax.
(WebCore::WidthIterator::finalRoundingWidth const):
(WebCore::WidthIterator::currentCharacter const):
- rendering/svg/SVGTextMetrics.cpp: Remove unnecessary include.
- 5:30 PM Changeset in webkit [265169] by
-
- 22 edits20 moves in trunk
Use more inclusive terminology in Tools
https://bugs.webkit.org/show_bug.cgi?id=214971
Patch by Alex Christensen <achristensen@webkit.org> on 2020-07-31
Reviewed by Sam Weinig.
Source/WebKitLegacy/win:
- Interfaces/IWebViewPrivate.idl:
Rename some test-only API. This should not affect binary compatibility because everything is in the same locations, and the changed API is only used for tests.
- WebView.h:
- WebView.cpp:
Tools:
- DumpRenderTree/TestRunner.cpp:
(addOriginAccessAllowListEntryCallback):
(removeOriginAccessAllowListEntryCallback):
(TestRunner::staticFunctions):
(addOriginAccessWhitelistEntryCallback): Deleted.
(removeOriginAccessWhitelistEntryCallback): Deleted.
- DumpRenderTree/TestRunner.h:
- DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::addOriginAccessAllowListEntry):
(TestRunner::removeOriginAccessAllowListEntry):
(TestRunner::addOriginAccessWhitelistEntry): Deleted.
(TestRunner::removeOriginAccessWhitelistEntry): Deleted.
- DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebViewToConsistentStateBeforeTesting):
- DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::addOriginAccessAllowListEntry):
(TestRunner::removeOriginAccessAllowListEntry):
(TestRunner::addOriginAccessWhitelistEntry): Deleted.
(TestRunner::removeOriginAccessWhitelistEntry): Deleted.
- TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp:
(removeOldInjectedContentAndResetLists):
(testUserContentManagerInjectedStyleSheet):
(testUserContentManagerInjectedScript):
(testUserContentManagerContentFilter):
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::addOriginAccessAllowListEntry):
(WTR::TestRunner::removeOriginAccessAllowListEntry):
(WTR::TestRunner::addOriginAccessWhitelistEntry): Deleted.
(WTR::TestRunner::removeOriginAccessWhitelistEntry): Deleted.
- WebKitTestRunner/InjectedBundle/TestRunner.h:
LayoutTests:
- http/tests/security/contentSecurityPolicy/report-blocked-file-uri.php:
- http/tests/security/contentSecurityPolicy/xsl-redirect-allowed.html:
- http/tests/security/contentSecurityPolicy/xsl-redirect-allowed2.html:
- http/tests/security/contentSecurityPolicy/xsl-redirect-blocked.html:
- http/tests/security/isolatedWorld/cross-origin-xhr.html:
- http/tests/security/local-image-from-remote-allow-list-expected.txt: Copied from http/tests/security/local-image-from-remote-whitelisted-expected.txt.
- http/tests/security/local-image-from-remote-allow-list.html: Copied from http/tests/security/local-image-from-remote-whitelisted.html.
- http/tests/security/local-image-from-remote-whitelisted-expected.txt: Removed.
- http/tests/security/local-image-from-remote-whitelisted.html: Removed.
- http/tests/xmlhttprequest/access-control-basic-allow-list-request-headers-expected.txt: Copied from http/tests/xmlhttprequest/access-control-basic-whitelist-request-headers-expected.txt.
- http/tests/xmlhttprequest/access-control-basic-allow-list-request-headers.html: Copied from http/tests/xmlhttprequest/access-control-basic-whitelist-request-headers.html.
- http/tests/xmlhttprequest/access-control-basic-allow-list-response-headers-expected.txt: Copied from http/tests/xmlhttprequest/access-control-basic-whitelist-response-headers-expected.txt.
- http/tests/xmlhttprequest/access-control-basic-allow-list-response-headers.html: Copied from http/tests/xmlhttprequest/access-control-basic-whitelist-response-headers.html.
- http/tests/xmlhttprequest/access-control-basic-whitelist-request-headers-expected.txt: Removed.
- http/tests/xmlhttprequest/access-control-basic-whitelist-request-headers.html: Removed.
- http/tests/xmlhttprequest/access-control-basic-whitelist-response-headers-expected.txt: Removed.
- http/tests/xmlhttprequest/access-control-basic-whitelist-response-headers.html: Removed.
- http/tests/xmlhttprequest/origin-allow-list-all-expected.txt: Copied from http/tests/xmlhttprequest/origin-whitelisting-all-expected.txt.
- http/tests/xmlhttprequest/origin-allow-list-all.html: Copied from http/tests/xmlhttprequest/origin-whitelisting-all.html.
- http/tests/xmlhttprequest/origin-allow-list-exact-match-expected.txt: Copied from http/tests/xmlhttprequest/origin-whitelisting-exact-match-expected.txt.
- http/tests/xmlhttprequest/origin-allow-list-exact-match.html: Copied from http/tests/xmlhttprequest/origin-whitelisting-exact-match.html.
- http/tests/xmlhttprequest/origin-allow-list-https-expected.txt: Copied from http/tests/xmlhttprequest/origin-whitelisting-https-expected.txt.
- http/tests/xmlhttprequest/origin-allow-list-https.html: Copied from http/tests/xmlhttprequest/origin-whitelisting-https.html.
- http/tests/xmlhttprequest/origin-allow-list-ip-addresses-expected.txt: Copied from http/tests/xmlhttprequest/origin-whitelisting-ip-addresses-expected.txt.
- http/tests/xmlhttprequest/origin-allow-list-ip-addresses-with-subdomains-expected.txt: Copied from http/tests/xmlhttprequest/origin-whitelisting-ip-addresses-with-subdomains-expected.txt.
- http/tests/xmlhttprequest/origin-allow-list-ip-addresses-with-subdomains.html: Copied from http/tests/xmlhttprequest/origin-whitelisting-ip-addresses-with-subdomains.html.
- http/tests/xmlhttprequest/origin-allow-list-ip-addresses.html: Copied from http/tests/xmlhttprequest/origin-whitelisting-ip-addresses.html.
- http/tests/xmlhttprequest/origin-allow-list-removal-expected.txt: Copied from http/tests/xmlhttprequest/origin-whitelisting-removal-expected.txt.
- http/tests/xmlhttprequest/origin-allow-list-removal.html: Copied from http/tests/xmlhttprequest/origin-whitelisting-removal.html.
- http/tests/xmlhttprequest/origin-allow-list-subdomains-expected.txt: Copied from http/tests/xmlhttprequest/origin-whitelisting-subdomains-expected.txt.
- http/tests/xmlhttprequest/origin-allow-list-subdomains.html: Copied from http/tests/xmlhttprequest/origin-whitelisting-subdomains.html.
- http/tests/xmlhttprequest/origin-whitelisting-all-expected.txt: Removed.
- http/tests/xmlhttprequest/origin-whitelisting-all.html: Removed.
- http/tests/xmlhttprequest/origin-whitelisting-exact-match-expected.txt: Removed.
- http/tests/xmlhttprequest/origin-whitelisting-exact-match.html: Removed.
- http/tests/xmlhttprequest/origin-whitelisting-https-expected.txt: Removed.
- http/tests/xmlhttprequest/origin-whitelisting-https.html: Removed.
- http/tests/xmlhttprequest/origin-whitelisting-ip-addresses-expected.txt: Removed.
- http/tests/xmlhttprequest/origin-whitelisting-ip-addresses-with-subdomains-expected.txt: Removed.
- http/tests/xmlhttprequest/origin-whitelisting-ip-addresses-with-subdomains.html: Removed.
- http/tests/xmlhttprequest/origin-whitelisting-ip-addresses.html: Removed.
- http/tests/xmlhttprequest/origin-whitelisting-removal-expected.txt: Removed.
- http/tests/xmlhttprequest/origin-whitelisting-removal.html: Removed.
- http/tests/xmlhttprequest/origin-whitelisting-subdomains-expected.txt: Removed.
- http/tests/xmlhttprequest/origin-whitelisting-subdomains.html: Removed.
- platform/win/TestExpectations:
- platform/wk2/TestExpectations:
- 4:41 PM Changeset in webkit [265168] by
-
- 14 edits2 copies2 adds in trunk
Add OfflineAudioCompletionEvent constructor
https://bugs.webkit.org/show_bug.cgi?id=214994
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
Rebaseline WPT test now that more checks are passing.
- web-platform-tests/webaudio/idlharness.https.window-expected.txt:
Source/WebCore:
Add OfflineAudioCompletionEvent constructor, as per:
Test: webaudio/OfflineAudioCompletionEvent-constructor.html
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Modules/webaudio/BaseAudioContext.cpp:
(WebCore::BaseAudioContext::finishedRendering):
- Modules/webaudio/OfflineAudioCompletionEvent.cpp:
(WebCore::OfflineAudioCompletionEvent::create):
(WebCore::OfflineAudioCompletionEvent::OfflineAudioCompletionEvent):
- Modules/webaudio/OfflineAudioCompletionEvent.h:
- Modules/webaudio/OfflineAudioCompletionEvent.idl:
- Modules/webaudio/OfflineAudioCompletionEventInit.h: Copied from Source/WebCore/Modules/webaudio/OfflineAudioCompletionEvent.idl.
- Modules/webaudio/OfflineAudioCompletionEventInit.idl: Copied from Source/WebCore/Modules/webaudio/OfflineAudioCompletionEvent.idl.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
LayoutTests:
Add layout test coverage.
- webaudio/OfflineAudioCompletionEvent-constructor-expected.txt: Added.
- webaudio/OfflineAudioCompletionEvent-constructor.html: Added.
- 4:40 PM Changeset in webkit [265167] by
-
- 13 edits2 adds in trunk
[Mac] YouTube does not offer HDR variants to devices which support HDR
https://bugs.webkit.org/show_bug.cgi?id=215022
Reviewed by Eric Carlson.
Source/WebCore:
Test: platform/mac/media/media-source/is-type-supported-vp9-codec-check.html
There are three separate issues which block YouTube from offering HDR:
1) YouTube checks both valid and invalid VP9 strings through MediaSource.isTypeSupported(), and UAs
which answer
trueto even invalid VP9 strings are blocked from HDR. To solve this, we will now
send isTypeSupported() through the same code path as Media Capabilities.
2) YouTube's standard valid and invalid VP9 strings do not include the fullRangeVideoFlag field, which
would normally be tossed as invalid. We shouldn't relax our requirements globally, so we will
add a Quirk which relaxes the requriement that VP9 strings contain a fullRangeVideoFlag.
3) YouTube's HDR query checks that window.screen.pixelDepth is > 24. We obviously don't want to change
the value of this field globally, so we will add separate Quirk which sets window.screen.pixelDepth
to 25 (a totally nonsensical value) when HDR is available.
Each of these Quirks has a path towards removal for YouTube. The fullRangeVideoFlag field involves
YouTube updating their compatibility check to inculde the fullRangeVideoFlag. The pixelDepth check
can be replaced by thedynamic-range:highMedia Query.
- Modules/mediasource/MediaSource.cpp:
(WebCore::addVP9FullRangeVideoFlagToContentType):
(WebCore::MediaSource::addSourceBuffer):
(WebCore::MediaSource::removeSourceBuffer):
(WebCore::MediaSource::isTypeSupported):
(WebCore::MediaSource::onReadyStateChange):
(WebCore::MediaSource::activeRanges const):
- Modules/mediasource/MediaSource.h:
- page/Quirks.cpp:
(WebCore::Quirks::needsVP9FullRangeFlagQuirk const):
(WebCore::Quirks::needsHDRPixelDepthQuirk const):
- page/Quirks.h:
- page/Screen.cpp:
(WebCore::Screen::pixelDepth const):
- platform/graphics/cocoa/SourceBufferParserWebM.cpp:
(WebCore::SourceBufferParserWebM::isContentTypeSupported):
- platform/graphics/cocoa/VP9UtilitiesCocoa.h:
- platform/graphics/cocoa/VP9UtilitiesCocoa.mm:
(WebCore::isVPCodecConfigurationRecordSupported):
(WebCore::validateVPParameters):
LayoutTests:
- platform/mac/media/media-source/is-type-supported-vp9-codec-check-expected.txt: Added.
- platform/mac/media/media-source/is-type-supported-vp9-codec-check.html: Added.
- platform/mac/media/mediacapabilities/vp9-decodingInfo-sw-expected.txt:
- platform/mac/media/mediacapabilities/vp9-decodingInfo-sw.html:
- 4:36 PM Changeset in webkit [265166] by
-
- 3 edits in trunk/Tools
[test-webkitpy] Have CI use verbose logging
https://bugs.webkit.org/show_bug.cgi?id=215019
<rdar://problem/66383986>
Reviewed by Aakash Jain.
- BuildSlaveSupport/ews-build/steps.py:
(RunWebKitPyPython2Tests): Add --verbose flag.
(RunWebKitPyPython3Tests): Ditto.
- BuildSlaveSupport/ews-build/steps_unittest.py:
(test_success): Add --verbose flag to test-webkitpy command.
(test_unexpected_failure): Ditto.
(test_failure): Ditto.
(test_errors): Ditto.
- 3:56 PM Changeset in webkit [265165] by
-
- 5 edits in trunk/Source
Add linked-on-after check to keep WebSQL working in UIWebView until apps are rebuilt with iOS 14 SDK
https://bugs.webkit.org/show_bug.cgi?id=215035
<rdar://problem/65003342>
Reviewed by Tim Horton.
Source/WebCore:
- platform/RuntimeApplicationChecks.h:
- platform/cocoa/RuntimeApplicationChecksCocoa.mm:
(WebCore::IOSApplication::isJesusCalling): Deleted.
(WebCore::IOSApplication::isFudget): Deleted.
(WebCore::IOSApplication::isFamilyHealthApp): Deleted.
Drop code that is no longer needed.
Source/WebKitLegacy/mac:
Add linked-on-after check to keep WebSQL working in UIWebView until apps are rebuilt with iOS 14 SDK.
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
- 3:50 PM Changeset in webkit [265164] by
-
- 2 edits in trunk/LayoutTests
[ macOS ] imported/w3c/web-platform-tests/css/css-scoping/css-scoping-shadow-dynamic-remove-style-detached.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=215039
Unreviewed test gardening.
Patch by Hector Lopez <Hector Lopez> on 2020-07-31
- platform/mac/TestExpectations:
- 3:23 PM Changeset in webkit [265163] by
-
- 6 edits in trunk/Source/WebKit
Launch time regression due to EndowmentStateTracker initialization in WebPageProxy constructor
https://bugs.webkit.org/show_bug.cgi?id=215029
<rdar://problem/66362333>
Reviewed by Geoffrey Garen.
EndowmentStateTracker was expensive and in a critical code path during MobileSafari app launch. Since
this code is new, this was a net app launch time regression. To address the regression, the following
changes were made:
- We only need the EndowmentStateTracker to monitor if the app is user-facing or not, so that we can suspend / resume media playback as needed. As a result, it is unnecessary to start monitoring user-facing state changes as soon as the WebPageProxy is constructed. Instead, we now wait until media plays on the page for the first time.
- It turns out that over 70% of CPU time in the EndowmentStateTracker constructor was spent getting the current endownment for the process. As a result, I updated the code to lazy populate those until they are requested for the first time.
- The remaining 30% of CPU time in the EndowmentStateTracker constructor was spent constructing the RBSProcessMonitor. I moved the initialization of the RBSProcessMonitor from the constructor to EndowmentStateTracker::addClient() so that we only construct a monitor when we actually have our first client.
- All this code was actually only useful for Catalyst app and was therefore doing work on iOS for no reason. I properly #ifdef'd out this code so that it now only applies to Catalyst apps.
- UIProcess/EndowmentStateTracker.h:
(WebKit::EndowmentStateTracker::isVisible const):
(WebKit::EndowmentStateTracker::isUserFacing const):
- UIProcess/EndowmentStateTracker.mm:
(WebKit::EndowmentStateTracker::stateFromEndowments):
(WebKit::EndowmentStateTracker::registerMonitorIfNecessary):
(WebKit::EndowmentStateTracker::addClient):
(WebKit::EndowmentStateTracker::ensureState const const):
(WebKit::EndowmentStateTracker::setState):
(WebKit::EndowmentStateTracker::EndowmentStateTracker): Deleted.
(WebKit::EndowmentStateTracker::setIsUserFacing): Deleted.
(WebKit::EndowmentStateTracker::setIsVisible): Deleted.
- UIProcess/WebPageProxy.cpp:
(WebKit::m_transcodingQueue):
(WebKit::WebPageProxy::updatePlayingMediaDidChange):
- UIProcess/WebPageProxy.h:
- 3:23 PM Changeset in webkit [265162] by
-
- 6 edits in trunk/Source/WebKit
Drop ProcessAssertion::Client and replace with a simple invalidation handler
https://bugs.webkit.org/show_bug.cgi?id=214976
Reviewed by Brady Eidson.
ProcessAssertion had a Client class with 2 functions:
(1) one to indicate that the assertion was invalidated
(2) one to indicate that the UI assertion is about to expire
While ProcessAssertion is used in several places, only the ProcessThrottler
ever sets itself as a client. The reason is that other call sites use
assertion types that do not expire. Also, (2) only makes sense for
ProcessAndUIAssertion, not for ProcessAssertion. Only the ProcessThrottler
is using a ProcessAndUIAssertion.
I think a better design is to have a simple invalidation handler on
the ProcessAssertion, that the call site can set if they are interested
in invalidation.
Similarly, I added a UIAssertion expiration handler on ProcessAndUIAssertion
so that the ProcessThrottler can know if the UIAssertion is about to expire.
This new design also matches more closely the system process assertion API
that ProcessAssertion / ProcessAndUIAssertion are wrapping.
This patch also fixes a bug found by Youenn Fablet where the ProcessThrottler
would only set its invalidation handler in didConnectToProcess(), instead of
doing it every time a new ProcessAssertion is created in setAssertionType().
The assertion type can change (e.g. from foreground to background) after the
process has launched.
- UIProcess/ProcessAssertion.h:
(WebKit::ProcessAssertion::setInvalidationHandler):
(WebKit::ProcessAssertion::Client::~Client): Deleted.
(WebKit::ProcessAssertion::setClient): Deleted.
(WebKit::ProcessAssertion::client): Deleted.
- UIProcess/ProcessThrottler.cpp:
(WebKit::ProcessThrottler::setAssertionType):
(WebKit::ProcessThrottler::didConnectToProcess):
- UIProcess/ProcessThrottler.h:
- UIProcess/ios/ProcessAssertionIOS.mm:
(WebKit::ProcessAssertion::processAssertionWasInvalidated):
(WebKit::ProcessAndUIAssertion::uiAssertionWillExpireImminently):
- 3:22 PM Changeset in webkit [265161] by
-
- 3 edits in trunk/LayoutTests
[ macOS wk1 iOS wk2 Release ] imported/w3c/web-platform-tests/websockets/cookies/third-party-cookie-accepted.https.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=215033
Unreviewed test gardening.
Patch by Hector Lopez <Hector Lopez> on 2020-07-31
- platform/ios-simulator-wk2/TestExpectations:
- platform/mac-wk1/TestExpectations:
- 3:14 PM Changeset in webkit [265160] by
-
- 3 edits2 adds in trunk
Log a warning to the dev console when gamepads are accessed from an insecure context.
https://bugs.webkit.org/show_bug.cgi?id=214995
Reviewed by Tim Horton.
Source/WebCore:
Test: http/tests/misc/gamepads-insecure.html
- Modules/gamepad/NavigatorGamepad.cpp:
(WebCore::NavigatorGamepad::getGamepads): Insecure contexts should log that getGamepads() will
be going away in a future release. Just do it once, because getGamepads() is called frequently.
LayoutTests:
- http/tests/misc/gamepads-insecure-expected.txt: Added.
- http/tests/misc/gamepads-insecure.html: Added.
- 2:02 PM Changeset in webkit [265159] by
-
- 2 edits in trunk/Source/JavaScriptCore
Move Options setter to where we allow access to the Options object
https://bugs.webkit.org/show_bug.cgi?id=215028
Reviewed by Saam Barati.
Right now jsc CLI crashes when assertions are enabled on iOS.
- jsc.cpp:
(main):
(CommandLine::parseArguments):
- 1:39 PM Changeset in webkit [265158] by
-
- 2 edits in trunk/Source/WebKit
SOAuthorizationSession::dismissViewController could crash on calling WebPageProxy::platformWindow
https://bugs.webkit.org/show_bug.cgi?id=214816
<rdar://problem/65681530>
Reviewed by Youenn Fablet.
pageClient() called in WebPageProxy::platformWindow() could be null. Therefore, platformWindow()
needs to check m_pageClient instead.
- UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::platformWindow):
- 1:19 PM Changeset in webkit [265157] by
-
- 8 edits in trunk
[macOS] Date/time input types should have a textfield appearance
https://bugs.webkit.org/show_bug.cgi?id=214978
Reviewed by Wenson Hsieh.
Source/WebCore:
On iOS, date/time input types have a menulist-button appearance. However, this appearance
does not match the style of native date controls on macOS. The textfield appearance
with no focus ring brings us closer to a natively styled control.
- rendering/RenderTheme.h:
- rendering/RenderThemeMac.h:
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::dateInputStyleSheet const):
(WebCore::RenderThemeMac::dateTimeLocalInputStyleSheet const):
(WebCore::RenderThemeMac::monthInputStyleSheet const):
(WebCore::RenderThemeMac::timeInputStyleSheet const):
(WebCore::RenderThemeMac::weekInputStyleSheet const):
LayoutTests:
Rebaselined tests for updated appearance.
- platform/mac-wk2/fast/forms/date/date-input-rendering-basic-expected.txt:
- platform/mac-wk2/fast/forms/time/time-input-rendering-basic-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/rendering/widgets/appearance/default-styles-expected.txt:
- 12:50 PM Changeset in webkit [265156] by
-
- 16 edits5 copies2 adds in trunk
Special HID mapping for the Dualshock 3 controller
<rdar://problem/66255198> and https://bugs.webkit.org/show_bug.cgi?id=214911
Reviewed by Tim Horton.
Source/WebCore:
Covered by API tests.
- Move GamepadButtons into a GamepadConstants header
- Add a "KnownGamepads" header to hold all vendor/product pairs that WebKit knows about
- Add a Dualshock3 controller mapping based on its HID report
- Add a basic DS3 test based on the HID report
- Sources.txt:
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/gamepad/GamepadConstants.cpp: Copied from Source/WebCore/platform/gamepad/mac/GenericHIDGamepad.h.
(WebCore::standardGamepadMappingString):
- platform/gamepad/GamepadConstants.h: Added.
- platform/gamepad/KnownGamepads.h: Copied from Source/WebCore/platform/gamepad/mac/GenericHIDGamepad.h.
- platform/gamepad/cocoa/GameControllerGamepad.mm:
(WebCore::GameControllerGamepad::setupAsExtendedGamepad):
- platform/gamepad/mac/Dualshock3HIDGamepad.cpp: Added.
(WebCore::Dualshock3HIDGamepad::Dualshock3HIDGamepad):
- platform/gamepad/mac/Dualshock3HIDGamepad.h: Copied from Source/WebCore/platform/gamepad/mac/GenericHIDGamepad.h.
- platform/gamepad/mac/GenericHIDGamepad.cpp:
(WebCore::GenericHIDGamepad::GenericHIDGamepad):
(WebCore::GenericHIDGamepad::id): Deleted.
- platform/gamepad/mac/GenericHIDGamepad.h:
- platform/gamepad/mac/HIDGamepad.cpp:
(WebCore::HIDGamepad::create):
(WebCore::HIDGamepad::HIDGamepad):
(WebCore::HIDGamepad::initialize):
- platform/gamepad/mac/HIDGamepad.h:
- platform/mac/HIDDevice.h:
(WebCore::HIDDevice::fullProductIdentifier const):
- platform/mac/HIDElement.h:
(WebCore::HIDElement::fullUsage const):
Tools:
Add a virtual Dualshock3 and verify a few attributes about it.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/mac/HIDGamepads.mm:
- TestWebKitAPI/mac/GamepadMappings/SonyDualShock3.mm: Added.
(TestWebKitAPI::publishReportCallback):
(TestWebKitAPI::VirtualGamepad::sonyDualshock3Mapping):
- TestWebKitAPI/mac/VirtualGamepad.h:
- 12:39 PM Changeset in webkit [265155] by
-
- 3 edits in trunk/Source/WebCore
Fix Windows build.
https://bugs.webkit.org/show_bug.cgi?id=214988
- platform/network/cf/CertificateInfo.h:
- platform/network/cf/CertificateInfoCFNet.cpp:
- 12:24 PM Changeset in webkit [265154] by
-
- 3 edits in trunk/Source/JavaScriptCore
Re-enable NO_SMT on Catalina
https://bugs.webkit.org/show_bug.cgi?id=215024
Reviewed by Alexey Proskuryakov.
- runtime/Options.cpp:
(JSC::defaultTCSMValue):
- runtime/OptionsList.h:
- 11:57 AM Changeset in webkit [265153] by
-
- 2 edits in trunk/LayoutTests
REGRESSION: [ iOS wk2 Debug ] imported/w3c/web-platform-tests/webrtc/RTCSctpTransport-maxChannels.html is a constant crash
https://bugs.webkit.org/show_bug.cgi?id=215025
Unreviewed test gardening.
Patch by Hector Lopez <Hector Lopez> on 2020-07-31
- platform/ios-simulator-wk2/TestExpectations:
- 11:47 AM Changeset in webkit [265152] by
-
- 15 edits4 copies in trunk
Add constructor for WaveShaperNode
https://bugs.webkit.org/show_bug.cgi?id=214989
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
Rebaseline WPT tests now that more checks are passing.
- web-platform-tests/webaudio/idlharness.https.window-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-waveshapernode-interface/ctor-waveshaper-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-waveshapernode-interface/waveshaper-simple-expected.txt:
Source/WebCore:
Add constructor for WaveShaperNode:
No new tests, rebaselined existing tests.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Modules/webaudio/BaseAudioContext.cpp:
(WebCore::BaseAudioContext::createWaveShaper):
- Modules/webaudio/OverSampleType.h: Copied from Source/WebCore/Modules/webaudio/WaveShaperNode.idl.
- Modules/webaudio/OverSampleType.idl: Copied from Source/WebCore/Modules/webaudio/WaveShaperNode.idl.
- Modules/webaudio/WaveShaperNode.cpp:
(WebCore::WaveShaperNode::create):
(WebCore::WaveShaperNode::setCurve):
(WebCore::processorType):
- Modules/webaudio/WaveShaperNode.h:
(WTF::LogArgument<WebCore::OverSampleType>::toString):
- Modules/webaudio/WaveShaperNode.idl:
- Modules/webaudio/WaveShaperOptions.h: Copied from Source/WebCore/Modules/webaudio/WaveShaperNode.idl.
- Modules/webaudio/WaveShaperOptions.idl: Copied from Source/WebCore/Modules/webaudio/WaveShaperNode.idl.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- 11:46 AM Changeset in webkit [265151] by
-
- 16 edits in trunk/Source/JavaScriptCore
validate untagArrayPtr
https://bugs.webkit.org/show_bug.cgi?id=214953
Reviewed by Keith Miller.
This patch adds validation to untagArrayPtr along paths where we don't
immediately store/load from the result.
This patch also changes the removeArrayPtrTag macro assembler function to
use shifts instead of xpacd to strip the tag, because it's faster.
- assembler/MacroAssemblerARM64E.h:
(JSC::MacroAssemblerARM64E::untagArrayPtr):
(JSC::MacroAssemblerARM64E::removeArrayPtrTag):
- assembler/testmasm.cpp:
(JSC::testCagePreservesPACFailureBit):
- bytecode/AccessCase.cpp:
(JSC::AccessCase::generateWithGuard):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::cageTypedArrayStorage):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::untagArrayPtr):
(JSC::FTL::DFG::LowerDFGToB3::caged):
- jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::cageWithoutUntagging):
(JSC::AssemblyHelpers::cageConditionallyAndUntag):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::cageWithoutUntagging): Deleted.
(JSC::AssemblyHelpers::cageConditionally): Deleted.
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emitIntTypedArrayPutByVal):
(JSC::JIT::emitFloatTypedArrayPutByVal):
- wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::AirIRGenerator::restoreWebAssemblyGlobalState):
(JSC::Wasm::AirIRGenerator::addCallIndirect):
- wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::restoreWebAssemblyGlobalState):
(JSC::Wasm::B3IRGenerator::addCallIndirect):
- wasm/WasmBinding.cpp:
(JSC::Wasm::wasmToWasm):
- wasm/js/JSToWasm.cpp:
(JSC::Wasm::createJSToWasmWrapper):
- wasm/js/WebAssemblyFunction.cpp:
(JSC::WebAssemblyFunction::jsCallEntrypointSlow):
- 10:54 AM Changeset in webkit [265150] by
-
- 13 edits in trunk
Update service worker if certificate info does not match when soft updating
https://bugs.webkit.org/show_bug.cgi?id=214988
Reviewed by Alex Christensen.
Source/WebCore:
In case service worker certificate info does not match, treat it as if the script changed.
This is a convenient way to update the service worker and the stored registration database.
Covered by API test.
- platform/network/cf/CertificateInfo.h:
- platform/network/cf/CertificateInfoCFNet.cpp:
(WebCore::certificatesMatch):
- workers/service/server/SWServerJobQueue.cpp:
(WebCore::doCertificatesMatch):
(WebCore::SWServerJobQueue::scriptFetchFinished):
- workers/service/server/SWServerWorker.h:
(WebCore::SWServerWorker::certificateInfo const):
Source/WebKit:
Make sure service worker soft updater gathers certificate info.
- NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.cpp:
(WebKit::ServiceWorkerSoftUpdateLoader::loadFromNetwork):
(WebKit::ServiceWorkerSoftUpdateLoader::didReceiveResponse):
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::allowsSpecificHTTPSCertificateForHost):
Tools:
Update HTTPServer to pass two optional parameters:
- A port number to listen to if provided
- A custom server identity to use if provided
The API test is loading an URL on a first server.
This triggers registration of a service worker.
It then stops this server and launches a second server on the same port with a different certificate.
A second page is loaded on the same URL.
This triggers the case of updating a service worker certificate info.
- TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
(createTestIdentity):
(testIdentity):
(testIdentity2):
- TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
- TestWebKitAPI/cocoa/HTTPServer.h:
- TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::HTTPServer::listenerParameters):
(TestWebKitAPI::HTTPServer::HTTPServer):
- 10:44 AM Changeset in webkit [265149] by
-
- 10 edits in trunk
-[WKWebsiteDataStore _renameOrigin:] needs to support IndexedDB renames
https://bugs.webkit.org/show_bug.cgi?id=214905
<rdar://problem/66247978>
Patch by Sihui Liu <sihui_liu@appe.com> on 2020-07-31
Reviewed by Alex Christensen.
Source/WebCore:
To do the renaming, we close all existing databases whose top origin is old origin, and move all files in
directory of old origin to that of new origin.
API test: WebKit.WebsiteDataStoreRenameOriginForIndexedDatabase
- Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::closeDatabasesForOrigins):
(WebCore::IDBServer::IDBServer::closeAndDeleteDatabasesForOrigins):
(WebCore::IDBServer::IDBServer::renameOrigin):
- Modules/indexeddb/server/IDBServer.h:
Source/WebKit:
- NetworkProcess/IndexedDB/WebIDBServer.cpp:
(WebKit::WebIDBServer::renameOrigin):
- NetworkProcess/IndexedDB/WebIDBServer.h:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::renameOriginInWebsiteData):
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _renameOrigin:to:forDataOfTypes:completionHandler:]):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
- 10:27 AM Changeset in webkit [265148] by
-
- 2 edits in trunk/Source/WebCore
AX: Inteterminate progressbar reading as 50% with Voiceover
https://bugs.webkit.org/show_bug.cgi?id=214330
<rdar://problem/65570800>
Reviewed by Zalan Bujtas.
Expose indeterminate status to iOS API.
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityIsIndeterminate]):
(-[WebAccessibilityObjectWrapper accessibilityIsInDescriptionListTerm]):
(-[WebAccessibilityObjectWrapper accessibilityIsInDescriptionListDefinition]):
- Drive by style fix.
- 10:26 AM Changeset in webkit [265147] by
-
- 8 edits in trunk/Source
Versioning.
WebKit-610.1.25
- 10:21 AM Changeset in webkit [265146] by
-
- 1 copy in branches/safari-610.1.24-branch
New branch.
- 10:09 AM Changeset in webkit [265145] by
-
- 4 edits in trunk/Source/WebCore
PIP on netflix.com shows only a gray window and spinner
https://bugs.webkit.org/show_bug.cgi?id=214899
Reviewed by Jer Noble.
Use an empty "seekableRanges" instead of a special "duration" value (NaN) to indicate
that seeking is not supported. With this change, the "duration" will always have a meaningful
value, so that WebAVPlayerController can work properly in the picture-in-picture mode.
Related change: https://trac.webkit.org/changeset/217858.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::supportsSeeking const):
- platform/cocoa/PlaybackSessionModelMediaElement.mm:
(WebCore::PlaybackSessionModelMediaElement::duration const):
(WebCore::PlaybackSessionModelMediaElement::seekableRanges const):
- platform/mac/WebPlaybackControlsManager.mm:
(-[WebPlaybackControlsManager canBeginTouchBarScrubbing]):
- 9:27 AM Changeset in webkit [265144] by
-
- 3 edits in trunk/Source/WebKit
Unreviewed Catalyst build fix.
- WebProcess/WebPage/Cocoa/TextCheckingControllerProxy.h: I should have added the include here.
- WebProcess/WebPage/Cocoa/TextCheckingControllerProxy.mm:
- 9:10 AM Changeset in webkit [265143] by
-
- 3 edits in trunk/Tools
[webkitcorepy] Changes to Tools/Scripts/libraries should trigger EWS
https://bugs.webkit.org/show_bug.cgi?id=214998
<rdar://problem/66355658>
Reviewed by Aakash Jain.
- BuildSlaveSupport/ews-build/steps.py:
(CheckPatchRelevance): Add Tools/Scripts/libraries.
- BuildSlaveSupport/ews-build/steps_unittest.py:
(TestCheckPatchRelevance.test_relevant_webkitpy_patch):
(TestCheckPatchRelevance.test_relevant_libraries_patch):
- 9:00 AM Changeset in webkit [265142] by
-
- 13 edits in trunk/Source/JavaScriptCore
Reduce over include usage in JSC
https://bugs.webkit.org/show_bug.cgi?id=215010
Reviewed by Mark Lam.
My first attempt to fix
https://bugs.webkit.org/show_bug.cgi?id=215009 by making it so we
don't include FastJITPermissions.h in TestWebKitAPI, was
unsuccessful. Mostly because I gave up after several hours of
building... I figure it's still worth it to land the last working
version I was able to get building.
- assembler/MacroAssemblerCodeRef.h:
- bytecode/CodeBlock.cpp:
- bytecode/PolymorphicAccess.h:
- inspector/agents/InspectorRuntimeAgent.cpp:
- interpreter/CallFrame.h:
- jit/ThunkGenerators.cpp:
- llint/LLIntOffsetsExtractor.cpp:
- runtime/TypeLocationCache.cpp:
- runtime/VM.cpp:
(JSC::VM::getCTIStub):
- runtime/VM.h:
(JSC::VM::getCTIStub): Deleted.
- tools/JSDollarVM.cpp:
- 8:54 AM Changeset in webkit [265141] by
-
- 3 edits in trunk/Tools
Fix build around broken internal SDK for iOS 13
https://bugs.webkit.org/show_bug.cgi?id=215009
Reviewed by Mark Lam.
We need to manually include the private headers because the system tries to hide them from us even on internal builds...
- TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
- TestWebKitAPI/Configurations/TestWebKitAPILibrary.xcconfig:
- 8:36 AM Changeset in webkit [265140] by
-
- 2 edits in trunk/Tools
[ews] Add unit-tests for various builder factories
https://bugs.webkit.org/show_bug.cgi?id=214969
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/factories_unittest.py: Added unit-tests.
(TestBuildFactory.test_generic_build_factory):
(TestBuildFactory.test_gtk_build_factory):
(TestBuildFactory.test_wpe_factory):
(TestBuildFactory.test_wincairo_factory):
- 7:03 AM Changeset in webkit [265139] by
-
- 8 edits in trunk/Source
[iOS] Issue a temporary extension to the MobileGestalt daemon when the MobileGestalt cache is invalid
https://bugs.webkit.org/show_bug.cgi?id=214965
Reviewed by Geoffrey Garen.
Source/WebCore/PAL:
Declare MobileGestalt queestion identifier.
- pal/spi/ios/MobileGestaltSPI.h:
Source/WebKit:
When the MobileGestalt cache is invalid, some MG queries will fail in the WebContent process, since it has no access to the daemon.
This can be fixed by issuing a temporary extension to the daemon, and having the WebContent process query all relevant MG values
while holding the extension. This will bring the values into the in-memory cache, which will be valid after the extension to the
daemon has been revoked. We will still attempt to rebuild the MG cache if invalid, but since we now have a workaround for when the
cache is invalid, we can do this on a secondary thread to avoid blocking the main thread. We also only attempt to rebuild once now,
instead of every time a WebContent process is started. Additionally, add IOKit property read access to "platform-name", since that
is needed by a MG query.
No new tests, since testing this depends on having an invalid cache, which is rare, and non-trivial to enforce in the test
environment.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitialize):
(WebKit::WebProcessPool::platformInitializeWebProcess):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
- 3:57 AM Changeset in webkit [265138] by
-
- 11 edits1 delete in trunk/Source
[GTK] Mouse wheel events on horizontal scrollbar not correctly handled when AC mode is forced
https://bugs.webkit.org/show_bug.cgi?id=207113
Reviewed by Adrian Perez de Castro.
Source/WebCore:
Remove GTK specific code to invert scroll direction of wheel events.
- page/EventHandler.cpp:
(WebCore::EventHandler::handleWheelEvent):
(WebCore::EventHandler::shouldSwapScrollDirection const): Deleted.
- platform/SourcesGLib.txt:
- platform/glib/EventHandlerGLib.cpp: Removed.
Source/WebKit:
Move the direction swap to the UI process before passing the event to the web
process. WebHitTestResultData::isScrollbar is now an enum with values No, Verttical, Horizontal. When a wheel
event is received in the widget we check whether we should invert the direction or not.
- Shared/API/glib/WebKitHitTestResult.cpp:
(webkitHitTestResultCreate):
(webkitHitTestResultCompare):
- Shared/WebHitTestResultData.cpp:
(WebKit::WebHitTestResultData::WebHitTestResultData):
- Shared/WebHitTestResultData.h:
- UIProcess/API/APIHitTestResult.h:
(API::HitTestResult::isScrollbar const):
- UIProcess/API/glib/WebKitWebView.cpp:
(webkitWebViewMouseTargetChanged):
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(shouldInvertDirectionForScrollEvent):
(webkitWebViewBaseScrollEvent):
(webkitWebViewBaseScroll):
(webkitWebViewBaseSetMouseIsOverScrollbar):
- UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
- 2:00 AM Changeset in webkit [265137] by
-
- 4 edits in trunk/Source/WebCore
[WebXR] Retrieve supported reference spaces from actual XR systems
https://bugs.webkit.org/show_bug.cgi?id=214187
Reviewed by Carlos Garcia Campos.
Each XR system supports a set of reference spaces which are used by WebXR to stablish
a spatial relationship with user's physical environment. The list of supported reference
spaces determine whether or not a session request succeeds or not, as it will refuse to
start a session with an unsupported reference space.
So far, no reference spaces were retrieved from the actual devices. This patch adds the
required OpenXR machinery to retrieve them. In particular, we have to create a XrSession
(although we don't have to start it) in order to retrieve the reference spaces. Since we
don't need it to show content to the user we can create it in headless mode and then discard
it afterwards when no longer needed.
- Modules/webxr/WebXRSession.cpp:
(WebCore::WebXRSession::WebXRSession): Clarify a comment. Also s/TODO/FIXME/g.
- platform/xr/openxr/PlatformXROpenXR.cpp:
(PlatformXR::isExtensionSupported): New method to check whether a specific extension
is supported.
(PlatformXR::Instance::Impl::checkInstanceExtensionProperties const): renamed from
enumerateInstanceExtensionProperties(). Returns whether or not the call succeeded.
(PlatformXR::Instance::Impl::Impl): Pass the list of enabled extensions to the instance.
(PlatformXR::Instance::enumerateImmersiveXRDevices): Log the systems found.
(PlatformXR::OpenXRDevice::OpenXRDevice):
(PlatformXR::OpenXRDevice::enumerateReferenceSpaces const): New method to list the
supported reference spaces by the XR system.
(PlatformXR::OpenXRDevice::collectSupportedSessionModes): Store reference spaces as
enabled features for supported modes.
(PlatformXR::OpenXRDevice::collectConfigurationViews): Renamed from
enumerateConfigurationViews().
(PlatformXR::Instance::Impl::enumerateInstanceExtensionProperties const): Deleted.
(PlatformXR::OpenXRDevice::enumerateConfigurationViews): Deleted.
- platform/xr/openxr/PlatformXROpenXR.h:
- 12:45 AM Changeset in webkit [265136] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC] Follow-up changes after r265036
https://bugs.webkit.org/show_bug.cgi?id=214982
Reviewed by Darin Adler.
- dfg/DFGOSRExit.cpp:
(JSC::DFG::OSRExit::compileExit): Remove dupe definitions in OSRExit.
- jit/JITCall32_64.cpp:
(JSC::JIT::emit_op_iterator_open): We should use emitJumpSlowCaseIfNotJSCell(regT1).
- 12:15 AM Changeset in webkit [265135] by
-
- 2 edits in trunk/Source/WebCore
Add LibWebRTCAudioModule logging
https://bugs.webkit.org/show_bug.cgi?id=214987
Reviewed by Eric Carlson.
- platform/mediastream/libwebrtc/LibWebRTCAudioModule.cpp:
(WebCore::LibWebRTCAudioModule::RegisterAudioCallback):
(WebCore::LibWebRTCAudioModule::StartPlayout):
(WebCore::LibWebRTCAudioModule::StopPlayout):