Timeline
Jul 11, 2020:
- 9:49 PM Changeset in webkit [264275] by
-
- 6 edits in trunk
Intl.Locale maximize, minimize should return Intl.Locale instead of String
https://bugs.webkit.org/show_bug.cgi?id=214223
<rdar://problem/65413620>
Reviewed by Ross Kirsling.
JSTests:
- stress/intl-locale.js:
(minimize.toString):
(shouldBe):
Source/JavaScriptCore:
Intl.Locale#{maximize,minimize} should return Intl.Locale object instead of generated locale string.
We also add some protection and use jsString instead of jsNontrivialString because it would be still
possible that ICU's locale recognition and our locale interpretation do not agree each other and ICU
failed to produce locale, and then the string becomes empty. Since this is a boundary between third-party
library and JSC, and we are not ensuring our invariant inside third-party library, taking safer path makes
it better.
We also change IntlLocale#{maximize,minimize} C++ function names to maximal and minimal to align them
to the sepc's definitions.
- runtime/IntlLocale.cpp:
(JSC::IntlLocale::maximal):
(JSC::IntlLocale::minimal):
(JSC::IntlLocale::maximize): Deleted.
(JSC::IntlLocale::minimize): Deleted.
- runtime/IntlLocale.h:
- runtime/IntlLocalePrototype.cpp:
(JSC::IntlLocalePrototypeFuncMaximize):
(JSC::IntlLocalePrototypeFuncMinimize):
(JSC::IntlLocalePrototypeFuncToString):
(JSC::IntlLocalePrototypeGetterBaseName):
(JSC::IntlLocalePrototypeGetterCalendar):
(JSC::IntlLocalePrototypeGetterCaseFirst):
(JSC::IntlLocalePrototypeGetterCollation):
(JSC::IntlLocalePrototypeGetterHourCycle):
(JSC::IntlLocalePrototypeGetterNumberingSystem):
(JSC::IntlLocalePrototypeGetterLanguage):
(JSC::IntlLocalePrototypeGetterScript):
(JSC::IntlLocalePrototypeGetterRegion):
- 9:39 PM Changeset in webkit [264274] by
-
- 6 edits in trunk
Unreviewed, reverting r264270.
https://bugs.webkit.org/show_bug.cgi?id=214228
Broke the build
Reverted changeset:
"Make hasher work with tuple-like classes"
https://bugs.webkit.org/show_bug.cgi?id=214224
https://trac.webkit.org/changeset/264270
- 7:51 PM Changeset in webkit [264273] by
-
- 6 edits in trunk
[WinCairo] Conic gradients support
https://bugs.webkit.org/show_bug.cgi?id=214216
Reviewed by Sam Weinig.
.:
- Source/cmake/OptionsWin.cmake: Turn ENABLE_CSS_CONIC_GRADIENTS on.
Source/WebCore:
- platform/graphics/cairo/GradientCairo.cpp:
(WebCore::addConicSector): Replaced M_PI with piDouble of WTF.
(WebCore::Gradient::createPlatformGradient): Don't use C++20 designated initializers.
LayoutTests:
- platform/wincairo/TestExpectations: Marked some conic-gradient tests Pass.
- 6:01 PM Changeset in webkit [264272] by
-
- 16 edits1 delete in trunk
Reduce surface area of the ExtendedColor class to a bare minimum
https://bugs.webkit.org/show_bug.cgi?id=214204
Reviewed by Darin Adler.
Source/WebCore:
- Add helper function to Color to operate on the underlying color type and reimplement a bunch of functionality using it, reducing the need for duplicate implementations in ExtendedColor.
- Add constructors to Color that take extended color types, replacing the makeExtendedColor helper function.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
Remove ExtenedColor.cpp
- css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::parseColorFunctionParameters):
Use new Color constructor taking ColorComponents and ColorSpace.
- platform/graphics/Color.cpp:
(WebCore::Color::colorWithAlpha const): Reimpliment using callOnUnderlyingType.
(WebCore::Color::invertedColorWithAlpha const): Reimpliment using callOnUnderlyingType.
- platform/graphics/Color.h:
(WebCore::Color::Color):
(WebCore::Color::hash const):
(WebCore::Color::callOnUnderlyingType const):
(WebCore::Color::toSRGBALossy const):
(WebCore::Color::setColor):
(WebCore::Color::isBlackColor):
(WebCore::Color::isWhiteColor):
- Add new constructors taking extended color types: SRGBA<float>, LinearSRGBA<float> and DiplayP3<float>.
- Add new function, callOnUnderlyingType, to make working with any underlying type more streamlined.
- platform/graphics/ColorConversion.h:
(WebCore::toSRGBA):
(WebCore::toLinearSRGBA):
(WebCore::toDisplayP3):
(WebCore::toLinearDisplayP3):
(WebCore::toHSLA):
Add identity conversion functions to make implementing generic functions like Color::toSRGBALossy more
straigtforward.
- platform/graphics/ColorSerialization.cpp:
(WebCore::serialization):
(WebCore::serializationForCSS):
(WebCore::serializationForHTML):
(WebCore::serializationForRenderTreeAsText):
- platform/graphics/ColorSerialization.h:
Replace serialization of the ExtendedColor type itself, with serialization for the underlying color
types. Use callOnUnderlyingType to dispatch to the right one.
- platform/graphics/ColorTypes.h:
- Adds ComponentTraits struct to get information like min/max value of the component types.
- Adds
using ComponentType = T;to each color type, to allow easy access to the type in deduced contexts. - Adds static constexpr ColorSpace to each color type that currently has a ColorSpace mapping.
- platform/graphics/ColorUtilities.h:
(WebCore::isBlack):
(WebCore::isWhite):
Add helpers to implement Color::isBlack/Color::isWhiteColor for each color type.
- platform/graphics/ExtendedColor.cpp: Removed.
- platform/graphics/ExtendedColor.h:
(WebCore::ExtendedColor::create):
(WebCore::ExtendedColor::ExtendedColor):
(WebCore::ExtendedColor::callOnUnderlyingType const):
(WebCore::ExtendedColor::toSRGBALossy const): Deleted.
Reduce down to just construction, member access and the callOnUnderlyingType helper.
In future revisions, ExtendedColor should be converted to an internal class of Color.
- platform/graphics/gtk/ColorGtk.cpp:
(WebCore::Color::Color):
- platform/graphics/win/ColorDirect2D.cpp:
(WebCore::Color::Color):
Update to use constructor delegation.
Tools:
- TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::makeColor):
Update using new Color constructor for extended colors.
- 3:38 PM Changeset in webkit [264271] by
-
- 21 edits in trunk/Source
Remove live ranges from AccessibilityObject.h, AccessibilityObjectInterface.h, AccessibilityRenderObject.h, AXIsolatedObject.h
https://bugs.webkit.org/show_bug.cgi?id=214215
Reviewed by Sam Weinig.
Source/WebCore:
Also use the IntPoint and LayoutPoint center() functions instead of rolling our own.
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::misspellingRange const): Return SimpleRange. Also
renamed from getMisspellingRange.
(WebCore::rangeClosestToRange): Take and return SimpleRange.
(WebCore::AccessibilityObject::rangeOfStringClosestToRangeInDirection const): Ditto.
(WebCore::AccessibilityObject::elementRange const): Return SimpleRange.
(WebCore::AccessibilityObject::findTextRange const): Take and return SimpleRange.
(WebCore::AccessibilityObject::findTextRanges const): Ditto.
(WebCore::AccessibilityObject::performTextOperation): Use SimpleRange.
(WebCore::AccessibilityObject::clickPoint): Use center().
(WebCore::AccessibilityObject::rangeForPlainTextRange const): Return SimpleRange.
(WebCore::AccessibilityObject::stringForRange const): Take SimpleRange.
(WebCore::AccessibilityObject::stringForVisiblePositionRange): Use SimpleRange.
(WebCore::AccessibilityObject::lengthForVisiblePositionRange const): Ditto.
(WebCore::AccessibilityObject::replaceTextInRange): Use SimpleRange.
- accessibility/AccessibilityObject.h: Update for above.
- accessibility/AccessibilityObjectInterface.h: Take and return SimpleRange.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::linkClickPoint): Use SimpleRange.
(WebCore::AccessibilityRenderObject::clickPoint): Ditto.
(WebCore::AccessibilityRenderObject::setSelectedTextRange): Ditto.
(WebCore::AccessibilityRenderObject::boundsForRange const): Take SimpleRange.
(WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange const):
Use SimpleRange.
(WebCore::AccessibilityRenderObject::doAXBoundsForRangeUsingCharacterOffset const):
Use SimpleRange.
- accessibility/AccessibilityRenderObject.h: Update for above.
- accessibility/atk/WebKitAccessibleInterfaceText.cpp: Include Range.h.
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper stringForTextMarkers:]): Use SimpleRange.
(-[WebAccessibilityObjectWrapper textMarkerRange]): Ditto.
(-[WebAccessibilityObjectWrapper stringForRange:]): Ditto.
(-[WebAccessibilityObjectWrapper misspellingTextMarkerRange:forward:]): Ditto.
(-[WebAccessibilityObjectWrapper frameForTextMarkers:]): Ditto.
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::stringForRange const): Take SimpleRange.
(WebCore::AXIsolatedObject::findTextRanges const): Return SimpleRange.
- accessibility/isolatedtree/AXIsolatedObject.h: Update for above.
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(accessibilityTextOperationForParameterizedAttribute): Use SimpleRange.
(-[WebAccessibilityObjectWrapper doAXAttributedStringForRange:]): Ditto.
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): Ditto.
- dom/Range.cpp:
(WebCore::makeSimpleRange): Added.
- dom/Range.h: Added makeSimpleRange so we can explicitly convert from
live ranges to simple ranges.
- editing/Editing.cpp:
(WebCore::indexForVisiblePosition): Use separate returns for start and end.
- editing/TextCheckingHelper.cpp:
(WebCore::TextCheckingParagraph::offsetTo const): Ditto.
(WebCore::TextCheckingParagraph::automaticReplacementStart const): Ditto.
- page/FocusController.cpp:
(WebCore::updateFocusCandidateIfNeeded): Use center().
Source/WebKit:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::requestDocumentEditingContext): Use nested if for start and end
so we don't do the work on end if the test fails on start.
Source/WTF:
- wtf/cocoa/VectorCocoa.h: Added a new makeVector that takes a function.
Also updated createNSArray to use std::invoke.
- 3:12 PM Changeset in webkit [264270] by
-
- 6 edits in trunk
Make hasher work with tuple-like classes
https://bugs.webkit.org/show_bug.cgi?id=214224
Reviewed by Darin Adler.
Source/WTF:
- wtf/Hasher.h:
(WTF::add):
(WTF::addTupleLikeHelper):
(WTF::TypeCheckHelper<decltype): Deleted.
(WTF::addTupleHelper): Deleted.
Add support for tuple-like classes. These are classes that:
- Have defined specializations of std::tuple_size<> and std::tuple_element<>.
- And have either a member function named get<> or there exists a function get<>() that takes the class as argument that can be looked up via ADL.
To avoid abiguity when hashing std::array, the add() overload enabled for containers
with a begin member functions also now checks that the container is not tuple-like.
The std::pair overload is no longer needed as it will use the tuple-like one now.
- wtf/OptionSet.h:
- wtf/StdLibExtras.h:
Move is_type_complete_v<> from OptionSet.h to StdLibExtras.h and rename to
adhere to WebKit style as IsTypeComplete<>.
Tools:
- TestWebKitAPI/Tests/WTF/Hasher.cpp:
Enable and extend tests for using computeHash() with user defined tuple-like classes, supporting
both the get function as a member and as a ADL-able free function.
- 10:55 AM Changeset in webkit [264269] by
-
- 7 edits2 adds in trunk
REGRESSION(r260276): Overflow scrolling layers misplaced inside SVG foreign object
https://bugs.webkit.org/show_bug.cgi?id=213788
<rdar://problem/65039637>
Reviewed by Zalan Bujtas.
Source/WebCore:
RenderLayers inside SVG <foreignObject> don't display correctly, so don't use
accelerated overflow scroll (which requires layers) inside <foreignObject>.
This reverts behavior to macOS Catalina behavior (i.e. as soon as the overflow
becomes scrollable, rendering problems appear), and to pre-iOS 13 behavior.
Test: fast/scrolling/overflow-inside-foreignobject.html
- dom/Document.h:
(WebCore::Document::mayHaveRenderedSVGForeignObjects const):
(WebCore::Document::setMayHaveRenderedSVGForeignObjects):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::addChild):
(WebCore::RenderLayer::updateAncestorDependentState):
(WebCore::RenderLayer::canUseCompositedScrolling const):
- rendering/RenderLayer.h:
- rendering/svg/RenderSVGForeignObject.h:
- svg/SVGForeignObjectElement.cpp:
(WebCore::SVGForeignObjectElement::createElementRenderer):
LayoutTests:
- fast/scrolling/overflow-inside-foreignobject-expected.html: Added.
- fast/scrolling/overflow-inside-foreignobject.html: Added.
- 10:21 AM Changeset in webkit [264268] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, mark imported/w3c/web-platform-tests/websockets/cookies/third-party-cookie-accepted.https.html as crashing on iOS WK2 Debug.
This test has been crashing consistently since import in r264145.
- platform/ios-wk2/TestExpectations:
- 8:45 AM Changeset in webkit [264267] by
-
- 4 edits2 adds in trunk
[LFC][BFC][Min-Max width] Add support for float avoiders
https://bugs.webkit.org/show_bug.cgi?id=214220
Reviewed by Antti Koivisto.
Source/WebCore:
Test: fast/layoutformattingcontext/min-max-content-width-with-floats-simple.html
Float avoiders (including the float boxes) with infinite constraint form a horizontal float stack.
(This does not yet support clear property/non-direct children.)
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::computedIntrinsicWidthConstraints):
- layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::intrinsicWidthConstraints):
LayoutTests:
- fast/layoutformattingcontext/min-max-content-width-with-floats-simple-expected.html: Added.
- fast/layoutformattingcontext/min-max-content-width-with-floats-simple.html: Added.
Jul 10, 2020:
- 11:30 PM Changeset in webkit [264266] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Prompt for requestStorageAccess is inverted in WKWebView
https://bugs.webkit.org/show_bug.cgi?id=214198
<rdar://problem/65369725>
Reviewed by Darin Adler.
The labels for "allow" and "deny" StorageAccess API were inverted in the WKWebView
implementation.
- UIProcess/Cocoa/WKStorageAccessAlert.mm:
(WebKit::presentStorageAccessAlert):
- 10:40 PM Changeset in webkit [264265] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, mark a couple of user-timing WPT tests as flaky since their import in r264255.
- 10:36 PM Changeset in webkit [264264] by
-
- 3 edits in trunk/LayoutTests
Unreviewed, silence console logging in a couple of payment request WPT tests to address flakiness
- TestExpectations:
- platform/mac-wk2/TestExpectations:
- 9:49 PM Changeset in webkit [264263] by
-
- 19 edits7 copies38 moves235 adds181 deletes in trunk/LayoutTests
Resync web-platform-tests/streams from upstream
https://bugs.webkit.org/show_bug.cgi?id=214207
Reviewed by Sam Weinig.
Resync web-platform-tests/streams from upstream 859527a3513029d2.
- resources/import-expectations.json:
- web-platform-tests/streams/*: Updated.
- 9:45 PM WebKitGTK/DependenciesPolicy edited by
- (diff)
- 9:35 PM Changeset in webkit [264262] by
-
- 10 edits1 delete in trunk
Unreviewed, reverting r264242.
Caused many crashes on iOS bots
Reverted changeset:
"JSRunLoopTimer should use WTF::RunLoop rather than custom CF
code"
https://bugs.webkit.org/show_bug.cgi?id=214102
https://trac.webkit.org/changeset/264242
- 9:32 PM Changeset in webkit [264261] by
-
- 2 edits in trunk/LayoutTests
[GTK][WPE] Unreviewed, garden failure and new passes
Payment request is not supported and a single test was being executed
Also pass 4 css-writing-modes tests that are passing since r263855.
- platform/glib/TestExpectations:
- 9:30 PM Changeset in webkit [264260] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, mark imported/w3c/web-platform-tests/user-timing/measure_associated_with_navigation_timing.html as flaky.
This has been flaky since import in r264255.
- 9:22 PM Changeset in webkit [264259] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, mark img-aspect-ratio-lazy.tentative.html WPT test as flaky since import in r264117.
- 8:44 PM Changeset in webkit [264258] by
-
- 2 edits in trunk/Source/WebCore
Cleanup GameController framework button binding with some constants
https://bugs.webkit.org/show_bug.cgi?id=214210
Reviewed by Darin Adler.
No new tests (No behavior change)
- platform/gamepad/cocoa/GameControllerGamepad.mm:
(WebCore::GameControllerGamepad::setupAsExtendedGamepad): Use named constants instead of magic numbers.
- 8:44 PM Changeset in webkit [264257] by
-
- 4 edits8 adds3 deletes in trunk/LayoutTests
Resync web-platform-tests/notifications from upstream
https://bugs.webkit.org/show_bug.cgi?id=214206
Reviewed by Geoff Garen.
Resync web-platform-tests/notifications from upstream 859527a3513029d2.
- web-platform-tests/notifications/META.yml: Added.
- web-platform-tests/notifications/OWNERS: Removed.
- web-platform-tests/notifications/constructor-invalid.html:
- web-platform-tests/notifications/idlharness.https.any-expected.txt: Added.
- web-platform-tests/notifications/idlharness.https.any.html: Added.
- web-platform-tests/notifications/idlharness.https.any.js: Added.
- web-platform-tests/notifications/idlharness.https.any.worker-expected.txt: Added.
- web-platform-tests/notifications/idlharness.https.any.worker.html: Added.
- web-platform-tests/notifications/interfaces-expected.txt: Removed.
- web-platform-tests/notifications/interfaces.html: Removed.
- web-platform-tests/notifications/resources/w3c-import.log:
- web-platform-tests/notifications/w3c-import.log:
- 8:35 PM Changeset in webkit [264256] by
-
- 2 edits in trunk/LayoutTests
Unreviewed gardening after WPT resync in r264239.
Mark one payment-request test as flaky and silence console logging for another one
to try and address flakiness.
- 8:23 PM Changeset in webkit [264255] by
-
- 17 edits68 adds5 deletes in trunk/LayoutTests/imported/w3c
Resync web-platform-tests/user-timing from upstream
https://bugs.webkit.org/show_bug.cgi?id=214208
Reviewed by Sam Weinig.
Resync web-platform-tests/user-timing from upstream 859527a3513029d2.
- web-platform-tests/user-timing/*: Updated.
- 8:02 PM Changeset in webkit [264254] by
-
- 4 edits1 move6 adds3 deletes in trunk/LayoutTests/imported/w3c
Resync web-platform-tests/touch-events from upstream
https://bugs.webkit.org/show_bug.cgi?id=214209
Reviewed by Darin Adler.
Resync web-platform-tests/touch-events from upstream 859527a3513029d2.
- web-platform-tests/touch-events/META.yml: Added.
- web-platform-tests/touch-events/OWNERS: Removed.
- web-platform-tests/touch-events/create-touch-touchlist-expected.txt: Removed.
- web-platform-tests/touch-events/create-touch-touchlist.html: Removed.
- web-platform-tests/touch-events/historical.html:
- web-platform-tests/touch-events/idlharness.window-expected.txt: Added.
- web-platform-tests/touch-events/idlharness.window.html: Added.
- web-platform-tests/touch-events/idlharness.window.js: Added.
- web-platform-tests/touch-events/support/touch.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/touch-events/touch-support.js.
- web-platform-tests/touch-events/support/w3c-import.log: Added.
- web-platform-tests/touch-events/touch-touchevent-constructor.html:
- web-platform-tests/touch-events/w3c-import.log:
- 7:37 PM Changeset in webkit [264253] by
-
- 2 edits in trunk/Tools
[TestWebKitAPI][Win] Remove WEBCORE_EXPORT and WEBCORE_TESTSUPPORT_EXPORT definitions in PlatformWin.cmake
https://bugs.webkit.org/show_bug.cgi?id=214212
Reviewed by Don Olmstead.
Those macros should be defined only by WebCore/platform/PlatformExportMacros.h.
- TestWebKitAPI/PlatformWin.cmake: Removed WEBCORE_EXPORT and WEBCORE_TESTSUPPORT_EXPORT.
Added STATICALLY_LINKED_WITH_WebCore=1 to TestWebCore_DEFINITIONS.
- 7:00 PM Changeset in webkit [264252] by
-
- 2 edits in trunk/Tools
Add tvOS and watchOS support to built-product-archive
https://bugs.webkit.org/show_bug.cgi?id=214214
Unreviewed infrastructure fix.
- BuildSlaveSupport/built-product-archive:
(archiveBuiltProduct):
(extractBuiltProduct):
- 6:24 PM Changeset in webkit [264251] by
-
- 2 edits in trunk/Source/WebCore
Fix build for PLATFORM(IOS_FAMILY) && !ENABLE(REVEAL), for example, tvOS
- editing/cocoa/DictionaryLookup.mm: Added include of "SimpleRange.h".
- 6:16 PM Changeset in webkit [264250] by
-
- 1 copy in tags/Safari-610.1.22
Tag Safari-610.1.22.
- 6:11 PM Changeset in webkit [264249] by
-
- 2 edits in trunk/Source/WebCore
Fix build for PLATFORM(IOS_FAMILY) && !ENABLE(REVEAL), for example tvOS
- editing/cocoa/DictionaryLookup.mm:
(WebCore::DictionaryLookup::rangeForSelection): Update to return SimpleRange.
(WebCore::DictionaryLookup::rangeAtHitTestResult): Ditto.
- 5:30 PM Changeset in webkit [264248] by
-
- 4 edits in trunk
[iOS] Prevent SPI clients from making the minimum layout height or width negative
https://bugs.webkit.org/show_bug.cgi?id=214199
<rdar://problem/64109242>
Reviewed by Tim Horton.
Source/WebKit:
It's an error in the embedding client to override the minimum layout size with a negative width or height (in
this case, Mail on iOS). This happens when double tapping on a contact pill in the "To:" line in Mail compose,
which causes the top content inset of the web view's scroll view to increase such that Mail's logic for
overriding layout width ends up passing a negative height.
After a recent change (<https://trac.webkit.org/r261874>), this now results in the web view immediately
scrolling to an incorrect content offset when rotating into landscape mode after double tapping a contact. Fix
this by clamping the overridden layout size to a minimum of (0, 0), to prevent SPI clients from triggering
subtle bugs like this in the future.
Test: WebKit.OverrideMinimumLayoutSizeWithNegativeHeight
- UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _overrideLayoutParametersWithMinimumLayoutSize:maximumUnobscuredSizeOverride:]):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/FixedLayoutSize.mm:
- 4:59 PM Changeset in webkit [264247] by
-
- 20 edits in trunk/Source
Remove live ranges from Document.h, AlternativeTextController.h, DictionaryLookup.h, and WebPage.h
https://bugs.webkit.org/show_bug.cgi?id=214109
Reviewed by Sam Weinig.
Source/WebCore:
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::characterOffsetForPoint): Updated to call
caretPositionFromPoint, internal function, instead of caretRangeFromPoint,
public DOM function.
- dom/Document.cpp:
(WebCore::Document::Document): Changed documentClasses argument to DocumentClassFlags.
(WebCore::Document::caretRangeFromPoint): Refactored so this calls createLiveRange,
since it's a DOM function that returns a live range.
(WebCore::Document::caretPositionFromPoint): Renamed so this is not just an overload
and changed to return a BoundaryPoint rather than a live range.
- dom/Document.h: Simplified forward declarations by getting rid of all the conditionals.
Tweaked a few typedef things. Updated for the changes above.
- editing/AlternativeTextController.cpp:
(WebCore::AlternativeTextController::startAlternativeTextUITimer): Updated since
m_rangeWithAlternative is an Optional<SimpleRange>.
(WebCore::AlternativeTextController::stopAlternativeTextUITimer): Ditto.
(WebCore::AlternativeTextController::applyPendingCorrection): Ditto.
(WebCore::AlternativeTextController::hasPendingCorrection const): Ditto.
(WebCore::AlternativeTextController::isSpellingMarkerAllowed const): Take SimpleRange.
(WebCore::AlternativeTextController::show): Ditto.
(WebCore::AlternativeTextController::applyAutocorrectionBeforeTypingIfAppropriate):
Updated since m_rangeWithAlternative is an Optional<SimpleRange>.
(WebCore::AlternativeTextController::timerFired): Ditto.
(WebCore::AlternativeTextController::handleAlternativeTextUIResult): Ditto.
(WebCore::AlternativeTextController::markReversed): Take SimpleRange.
(WebCore::AlternativeTextController::markCorrection): Ditto.
(WebCore::AlternativeTextController::recordSpellcheckerResponseForModifiedCorrection): Ditto.
(WebCore::AlternativeTextController::processMarkersOnTextToBeReplacedByResult): Ditto.
(WebCore::AlternativeTextController::respondToMarkerAtEndOfWord): Use SimpleRange
instead of a live range.
(WebCore::AlternativeTextController::applyAlternativeTextToRange): Take SimpleRange.
- editing/AlternativeTextController.h: Use SimpleRange instead of live ranges.
- editing/cocoa/DictionaryLookup.mm:
(WebCore::DictionaryLookup::rangeForSelection): Return SimpleRange.
(WebCore::DictionaryLookup::rangeAtHitTestResult): Ditto.
(WebCore::showPopupOrCreateAnimationController): Renamed type from RevealView to CocoaView.
(WebCore::DictionaryLookup::showPopup): Ditto.
- editing/mac/DictionaryLookup.h: Simplified header since it is included only from
Objective-C files. Use SimpleRange instead of live ranges.
- editing/mac/DictionaryLookupLegacy.mm:
(WebCore::DictionaryLookup::rangeForSelection): Return SimpleRange.
(WebCore::DictionaryLookup::rangeAtHitTestResult): Ditto.
- page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::selectClosestWordFromHitTestResultBasedOnLookup): Updated
since DictionaryLookup::rangeAtHitTestResult returns SimpleRange.
(WebCore::autoscrollAdjustmentFactorForScreenBoundaries): Use constexpr instead of
macros for constants.
- testing/Internals.mm:
(WebCore::Internals::rangeForDictionaryLookupAtLocation): Updated
since DictionaryLookup::rangeAtHitTestResult returns SimpleRange.
(WebCore::Internals::encodedPreferenceValue): Removed unneeded error local, and
fixed formatting.
Source/WebKit:
- WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(-[WKWebProcessPlugInBrowserContextController selectedRange]): Updated since
WebPage::currentSelectionAsRange returns SimpleRange.
- WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::performDictionaryLookupAtLocation): Updated since
DictionaryLookup::rangeAtHitTestResult returns SimpleRange.
(WebKit::WebPage::performDictionaryLookupForSelection): Updated since
DictionaryLookup::rangeForSelection returns SimpleRange.
(WebKit::WebPage::performDictionaryLookupForRange): Take SimpleRange.
(WebKit::WebPage::dictionaryPopupInfoForRange): Ditto.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::currentSelectionAsRange): Return SimpleRange.
- WebProcess/WebPage/WebPage.h: Use SimpleRange instead of live ranges.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::selectWithGesture): Updated since m_startingGestureRange
is SimpleRange.
(WebKit::WebPage::clearSelection): Ditto.
(WebKit::WebPage::rangeForGranularityAtPoint): Return SimpleRange.
(WebKit::WebPage::selectTextWithGranularityAtPoint): Update since
rangeForGranularityAtPoint returns SimpleRange.
(WebKit::WebPage::updateSelectionWithExtentPointAndBoundary): Use
SimpleRange.
(WebKit::WebPage::updateSelectionWithExtentPoint): Use auto.
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::performImmediateActionHitTestAtLocation): Update
since lookupTextAtLocation returns SimpleRange.
(WebKit::WebPage::lookupTextAtLocation): Return SimpleRange.
Source/WebKitLegacy/mac:
- WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _animationControllerForText]): Update since
DictionaryLookup::rangeAtHitTestResult returns SimpleRange.
- 4:34 PM Changeset in webkit [264246] by
-
- 6 edits in trunk/Source
GameController.framework gamepads should support Home buttons.
<rdar://problem/63500696> and https://bugs.webkit.org/show_bug.cgi?id=212933
Reviewed by Tim Horton.
Source/WebCore:
No new tests (Cannot yet drive GameController framework directly in tests)
- platform/gamepad/cocoa/GameControllerGamepad.mm:
(WebCore::homeButtonFromExtendedGamepad): Try a few different techniques of extracting the home button
from a GCExtendedGamepad.
(WebCore::GameControllerGamepad::setupAsExtendedGamepad): If there's a home button, put it at button index 16,
defined by the spec as "Center button in center cluster"
- platform/gamepad/cocoa/GameControllerSoftLink.h:
- platform/gamepad/cocoa/GameControllerSoftLink.mm:
Source/WTF:
- wtf/PlatformHave.h:
- 4:07 PM Changeset in webkit [264245] by
-
- 36 edits5 moves33 adds5 deletes in trunk/LayoutTests
Resync web-platform-tests/eventsource from upstream
https://bugs.webkit.org/show_bug.cgi?id=214203
Reviewed by Geoffrey Garen.
LayoutTests/imported/w3c:
Resync web-platform-tests/eventsource from upstream 859527a3513029d2.
- web-platform-tests/eventsource/*: Updated.
LayoutTests:
- TestExpectations:
- tests-options.json:
- 4:07 PM Changeset in webkit [264244] by
-
- 18 edits2 moves196 adds in trunk/LayoutTests/imported/w3c
Resync web-platform-tests/shadow-dom from upstream
https://bugs.webkit.org/show_bug.cgi?id=214201
Reviewed by Sam Weinig.
Resync web-platform-tests/shadow-dom from upstream 859527a3513029d2.
- web-platform-tests/shadow-dom/*: Updated.
- 3:42 PM Changeset in webkit [264243] by
-
- 2 edits in trunk/Source/WebCore
AX: Build failure for catalyst
https://bugs.webkit.org/show_bug.cgi?id=214202
<rdar://problem/65366125>
Reviewed by Zalan Bujtas.
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityIsInDescriptionListTerm]):
(-[WebAccessibilityObjectWrapper accessibilityIsInDescriptionListDefinition]):
- 3:00 PM Changeset in webkit [264242] by
-
- 10 edits1 add in trunk
Source/JavaScriptCore:
JSRunLoopTimer should use WTF::RunLoop rather than custom CF code
https://bugs.webkit.org/show_bug.cgi?id=214102
Reviewed by Darin Adler.
The generic RunLoop codepath was already mostly right. Just needed to
clarify the API to demonstrate that VMs do not hop from one RunLoop
to another.
- runtime/JSRunLoopTimer.cpp:
(JSC::epochTime): Removed the CF path.
(JSC::JSRunLoopTimer::Manager::PerVMData::PerVMData): Include a RunLoop
as a constructor argument so that the web thread can override it.
(JSC::JSRunLoopTimer::Manager::timerDidFireCallback): Removed the CF path.
(JSC::JSRunLoopTimer::Manager::PerVMData::~PerVMData): No need to
explicitly clear our RunLoop -- the RunLoop::Timer destructor will do
the job.
(JSC::JSRunLoopTimer::Manager::timerDidFire):
(JSC::JSRunLoopTimer::Manager::registerVM):
(JSC::JSRunLoopTimer::Manager::scheduleTimer):
(JSC::JSRunLoopTimer::Manager::cancelTimer): Removed the CF path.
(JSC::JSRunLoopTimer::Manager::PerVMData::setRunLoop): Deleted.
(JSC::JSRunLoopTimer::Manager::didChangeRunLoop): Deleted. Changing
RunLoops is not actually a feature we use.
- runtime/JSRunLoopTimer.h:
(JSC::JSRunLoopTimer::Manager::PerVMData::PerVMData): Deleted.
- runtime/PromiseTimer.cpp:
(JSC::PromiseTimer::doWork):
(JSC::PromiseTimer::runRunLoop): Removed the CF path.
- runtime/VM.cpp:
(JSC::VM::VM):
(JSC::VM::create):
(JSC::VM::setRunLoop): Deleted.
- runtime/VM.h:
(JSC::VM::runLoop const): Require a RunLoop in the VM constructor in
order to clarify that we always know our RunLoop and never change it.
Source/WebCore:
JSRunLoopTimer should use WTF::RunLoop rather than custom CF code
https://bugs.webkit.org/show_bug.cgi?id=214102
Reviewed by Darin Adler.
- bindings/js/CommonVM.cpp:
(WebCore::commonVMSlow): Supply a RunLoop at construction time since
JSC requires that now.
Tools:
Add some testing for JSRunLoopTimer
https://bugs.webkit.org/show_bug.cgi?id=214193
Reviewed by Darin Adler.
Add some test coverage to JSRunLoopTimer since I'm changing it.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/JavaScriptCore/JSRunLoopTimer.mm: Added.
(-[TestObject dealloc]):
(TestWebKitAPI::TEST):
- 2:57 PM Changeset in webkit [264241] by
-
- 2 edits in trunk/Source/WebCore
Removing usage of "using namespace WebCore" from TextTrackRepresentationCocoa.mm
https://bugs.webkit.org/show_bug.cgi?id=214196
Patch by Guowei Yang <guowei_yang@apple.com> on 2020-07-10
Reviewed by Tim Horton.
The line "using namespace WebCore" will cause problems
when compiling unified source. Removing this line and
replace it with WebCore::prefix and namespace WebCore{ }
to enclose C++ calls.
No new tests are requied as this is a code style fix
- platform/graphics/cocoa/TextTrackRepresentationCocoa.mm: removed usage of "using namespace WebCore" to avoid future errors while compiling
(-[WebCoreTextTrackRepresentationCocoaHelper initWithParent:]): added "WebCore::" prefix
(-[WebCoreTextTrackRepresentationCocoaHelper setParent:]): ditto
(-[WebCoreTextTrackRepresentationCocoaHelper parent]): ditto
(TextTrackRepresentation::create): enclosed inside namespace WebCore{ }
(TextTrackRepresentationCocoa::TextTrackRepresentationCocoa): Deleted.
enclosed inside namespace WebCore{ }
(TextTrackRepresentationCocoa::~TextTrackRepresentationCocoa): ditto
(TextTrackRepresentationCocoa::update): ditto
(TextTrackRepresentationCocoa::setContentScale): ditto
(TextTrackRepresentationCocoa::setHidden const): ditto
(TextTrackRepresentationCocoa::bounds const): ditto
(TextTrackRepresentationCocoa::boundsChanged): ditto
- 2:54 PM Changeset in webkit [264240] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, Mark WebRTC WPT test as flaky.
It has been flaky since import in r264202.
- 2:48 PM Changeset in webkit [264239] by
-
- 60 edits1 copy7 moves25 adds in trunk/LayoutTests
Resync web-platform-tests/payment-request from upstream
https://bugs.webkit.org/show_bug.cgi?id=214167
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
Resync web-platform-tests/payment-request from upstream cef93b58e7cf31f1d47c.
- resources/resource-files.json:
- web-platform-tests/payment-request/*: Updated.
LayoutTests:
- tests-options.json:
- 1:24 PM Changeset in webkit [264238] by
-
- 4 edits in trunk/Source/ThirdParty/ANGLE
Remove glBindFramebuffer flush workaround from ANGLE
https://bugs.webkit.org/show_bug.cgi?id=214104
Patch by Kenneth Russell <kbr@chromium.org> on 2020-07-10
Reviewed by Dean Jackson.
Remove this driver bug workaround, which very likely had no
effect, and which was never upstreamed to ANGLE.
- include/platform/FeaturesGL.h:
- src/libANGLE/renderer/gl/StateManagerGL.cpp:
(rx::StateManagerGL::bindFramebuffer):
- src/libANGLE/renderer/gl/renderergl_utils.cpp:
(rx::nativegl_gl::InitializeFeatures):
- 1:13 PM Changeset in webkit [264237] by
-
- 2 edits in trunk/Source/WebCore
MobileSafari rotates its scene to portrait upside down if it has a PiP on screen
https://bugs.webkit.org/show_bug.cgi?id=214169
Reviewed by Jer Noble.
The UIViewController for video fullscreen/picture-in-picture should not ignore
the App's supported orientations when the video element is in picture-in-picture.
- platform/ios/VideoFullscreenInterfaceAVKit.mm:
(VideoFullscreenInterfaceAVKit::doSetup):
- 1:04 PM Changeset in webkit [264236] by
-
- 6 edits in trunk
[WinCairo] WOFF2 font support
https://bugs.webkit.org/show_bug.cgi?id=214174
Reviewed by Per Arne Vollan.
.:
- Source/cmake/OptionsWinCairo.cmake: Unmarked fast/text/woff2-totalsfntsize.html and fast/text/woff2.html.
Source/WebCore:
- PlatformWinCairo.cmake: Added additional libraries for static WOFF2 library to WebCore_LIBRARIES.
- platform/graphics/win/FontCustomPlatformDataCairo.cpp:
(WebCore::FontCustomPlatformData::supportsFormat): Added woff2.
- 12:56 PM Changeset in webkit [264235] by
-
- 7 edits2 adds in trunk
AX: iOS VoiceOver should support definition lists
https://bugs.webkit.org/show_bug.cgi?id=210214
<rdar://problem/61478299>
Reviewed by Darin Adler.
Source/WebCore:
Expose bits to make definition lists accessibility on iOS.
Test: accessibility/ios-simulator/definition-list.html
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper _accessibilityDescriptionListAncestor]):
(-[WebAccessibilityObjectWrapper accessibilityIsInDescriptionListTerm]):
(-[WebAccessibilityObjectWrapper accessibilityIsInDescriptionListDefinition]):
LayoutTests:
- accessibility/ios-simulator/definition-list.html: Added.
- 12:25 PM Changeset in webkit [264234] by
-
- 1 edit in trunk/WebKit.xcworkspace/xcshareddata/xcschemes/All Source.xcscheme
Another attempt to fix the Xcode Workspace by ensuring that ANGLE builds the correct things.
- WebKit.xcworkspace/xcshareddata/xcschemes/All Source.xcscheme:
- 12:03 PM Changeset in webkit [264233] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, GTK/WPE debug crash gardening
- platform/glib/TestExpectations:
- 11:51 AM Changeset in webkit [264232] by
-
- 11 edits in trunk/Source
Limit MultiGamepadProvider to Catalina and Big Sur.
https://bugs.webkit.org/show_bug.cgi?id=214190
Unreviewed build fix.
Source/WebCore:
- platform/gamepad/cocoa/GameControllerSPI.h:
- platform/gamepad/cocoa/GameControllerSoftLink.h:
- platform/gamepad/cocoa/GameControllerSoftLink.mm:
- platform/gamepad/mac/HIDGamepadProvider.mm:
(WebCore::HIDGamepadProvider::deviceAdded):
- platform/gamepad/mac/MultiGamepadProvider.h:
- platform/gamepad/mac/MultiGamepadProvider.mm:
Source/WebKit:
- UIProcess/Gamepad/cocoa/UIGamepadProviderCocoa.mm:
(WebKit::UIGamepadProvider::platformSetDefaultGamepadProvider):
- 10:54 AM Changeset in webkit [264231] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, GTK/WPE gardening
- platform/glib/TestExpectations: Mark a few GStreamer-related tests as crashing on Debug.
- 10:36 AM Changeset in webkit [264230] by
-
- 13 edits in trunk/Source/WebCore
Part 4 of SimpleColor and SRGBA<uint8_t> are essentially the same - let's converge them
https://bugs.webkit.org/show_bug.cgi?id=214158
Reviewed by Darin Adler.
Removes SimpleColor!
Alas, makeSimpleColor() remains for now, seeking a new name in a follow up.
- platform/graphics/SimpleColor.h:
(WebCore::SimpleColor::SimpleColor): Deleted.
(WebCore::SimpleColor::alphaComponent const): Deleted.
(WebCore::SimpleColor::alphaComponentAsFloat const): Deleted.
(WebCore::SimpleColor::isOpaque const): Deleted.
(WebCore::SimpleColor::isVisible const): Deleted.
(WebCore::SimpleColor::colorWithAlpha const): Deleted.
(WebCore::SimpleColor::invertedColorWithAlpha const): Deleted.
(WebCore::SimpleColor::asSRGBA const): Deleted.
(WebCore::SimpleColor::get const): Deleted.
(): Deleted.
(WebCore::operator==): Deleted.
(WebCore::operator!=): Deleted.
Remove the SimpleColor class.
- platform/graphics/Color.cpp:
(WebCore::Color::operator=):
(WebCore::Color::lightened const):
(WebCore::Color::darkened const):
(WebCore::Color::colorWithAlpha const):
(WebCore::Color::invertedColorWithAlpha const):
(WebCore::Color::colorSpaceAndComponents const):
- platform/graphics/Color.h:
(WebCore::Color::isHashTableDeletedValue const):
(WebCore::Color::isValid const):
(WebCore::Color::isSemantic const):
(WebCore::Color::isOpaque const):
(WebCore::Color::isVisible const):
(WebCore::Color::alpha const):
(WebCore::Color::alphaAsFloat const):
(WebCore::Color::isExtended const):
(WebCore::Color::isInline const):
(WebCore::Color::tagAsSemantic):
(WebCore::Color::tagAsValid):
(WebCore::operator==):
(WebCore::equalIgnoringSemanticColor):
(WebCore::Color::Color):
(WebCore::Color::~Color):
(WebCore::Color::hash const):
(WebCore::Color::toSRGBALossy const):
(WebCore::Color::asInline const):
(WebCore::Color::setInlineColor):
(WebCore::Color::setExtendedColor):
(WebCore::Color::isBlackColor):
(WebCore::Color::isWhiteColor):
(WebCore::Color::encode const):
(WebCore::Color::isSimple const): Deleted.
(WebCore::Color::asSimple const): Deleted.
(WebCore::Color::setSimpleColor): Deleted.
- Rename existing uses of Simple with Inline, denoting the inline SRGBA<uint8_t>.
- Move multiline functions out of line in the header.
- Adds new constructor functions taking Optional<SRGBA<uint8_t>> to make Color(CGColorRef) constructors more straightforward.
- Replaces uses of SimpleColor's interface with use of ColorUtilities.h helpers. e.g. Color::invertedColorWithAlpha() now uses the new invertedColorWithOverridenAlpha() helper function. Use of these utilities will be expanded to ExtendedColor in a follow up, allowing us to have just one implementation of these algorithms.
- platform/graphics/ColorSerialization.cpp:
(WebCore::serializationForCSS):
(WebCore::serializationForHTML):
(WebCore::serializationForRenderTreeAsText):
- platform/graphics/ColorSerialization.h:
Replace serialization of SimpleColor with serialization of SRGBA<uint8_t>.
- platform/graphics/ColorTypes.h:
(WebCore::forEachNonAlphaComponent): Deleted.
Removed forEachNonAlphaComponent. Uses replaced by new colorByModifingEachNonAlphaComponent
function in ColorUtilities.h
- platform/graphics/ColorUtilities.h:
(WebCore::colorByModifingEachNonAlphaComponent):
(WebCore::convertComponentByteTo<uint8_t>):
(WebCore::convertComponentByteTo<float>):
(WebCore::convertComponentFloatTo<uint8_t>):
(WebCore::convertComponentFloatTo<float>):
(WebCore::colorWithOverridenAlpha):
(WebCore::invertComponent):
(WebCore::invertedColorWithOverridenAlpha):
Added heplers to implement color mutation behaviors.
- platform/graphics/cg/ColorCG.cpp:
(WebCore::makeSimpleColorFromCGColor):
(WebCore::Color::Color):
(WebCore::cachedCGColor):
Switch makeSimpleColorFromCGColor to return an Optional<SRGBA<uint8_t>> to streamline
the constructors. Update to use is/asInline functions.
- platform/graphics/mac/ColorMac.mm:
(WebCore::nsColor):
Update to use is/asInline functions.
- platform/graphics/filters/FilterOperation.cpp:
(WebCore::BasicComponentTransferFilterOperation::transformColor const):
Switch to using colorByModifingEachNonAlphaComponent().
- 10:21 AM Changeset in webkit [264229] by
-
- 3 edits in trunk/Tools
[EWS] layout-test results shouldn't be hosted on ews server
https://bugs.webkit.org/show_bug.cgi?id=201937
Rubber-stamped by Alexey Proskuryakov.
- BuildSlaveSupport/ews-build/steps.py:
(ExtractTestResults.resultDirectoryURL):
- BuildSlaveSupport/ews-build/steps_unittest.py:
- 10:16 AM Changeset in webkit [264228] by
-
- 1 copy in tags/Safari-610.1.21.0.3
Tag Safari-610.1.21.0.3.
- 10:07 AM Changeset in webkit [264227] by
-
- 8 edits in branches/safari-610.1.21.0-branch/Source
Versioning.
WebKit-610.1.21.0.3
- 9:59 AM Changeset in webkit [264226] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] Unreviewed, prospective API test bot fix...
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::setVolume): I suppose changing the audio volume to 0 wasn't intended :)
- 9:38 AM Changeset in webkit [264225] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, remove debug printf after r264219.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
- 9:36 AM Changeset in webkit [264224] by
-
- 2 edits in trunk/Source/WebKit
[IPC hardening] Use MESSAGE_CHECK in WebPageProxy::setColorPickerColor()
https://bugs.webkit.org/show_bug.cgi?id=214168
<rdar://problem/58632672>
Reviewed by David Kilzer.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setColorPickerColor): Replace ASSERT with
MESSAGE_CHECK.
- 9:15 AM Changeset in webkit [264223] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, skip imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-operations.https.html in Debug.
This test has been crashing in Debug since its import in r264202.
- 9:00 AM Changeset in webkit [264222] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, mark imported/w3c/web-platform-tests/webrtc/protocol/split.https.html as flaky.
It has been flaky since import in r264202.
- 8:44 AM Changeset in webkit [264221] by
-
- 2 edits in trunk/LayoutTests
Regression (r264202): imported/w3c/web-platform-tests/html/dom/usvstring-reflection.https.html is consistently failing on mac-wk1
https://bugs.webkit.org/show_bug.cgi?id=214183
<rdar://problem/65335357>
Unreviewed, rebaseline test on mac-wk1 after resync in r264202.
- platform/mac-wk1/imported/w3c/web-platform-tests/html/dom/usvstring-reflection.https-expected.txt:
- 8:39 AM Changeset in webkit [264220] by
-
- 3 edits2 adds in trunk
[LFC][Floats] Normal flow element that establishes a new block formatting context must not overlap the margin box of any floats
https://bugs.webkit.org/show_bug.cgi?id=214185
Reviewed by Antti Koivisto.
Source/WebCore:
BFCs in general should avoid floats. This code was confusing the cases where the block container box (not necessarily a BFC) establishes an IFC.
<div>The div establishes an IFC only. It should not avoid floats.</div>
<div style="overflow: hidden">The div establishes both a new BFC and an IFC. It should avoid floats.</div>
Test: fast/layoutformattingcontext/float-avoider-with-inline-content.html
- layout/layouttree/LayoutBox.cpp:
(WebCore::Layout::Box::isFloatAvoider const):
LayoutTests:
- fast/layoutformattingcontext/float-avoider-with-inline-content-expected.html: Added.
- fast/layoutformattingcontext/float-avoider-with-inline-content.html: Added.
- 7:57 AM Changeset in webkit [264219] by
-
- 33 edits5 copies7 adds in trunk
[GStreamer][EME][OpenCDM] Implement OpenCDM support
https://bugs.webkit.org/show_bug.cgi?id=213550
Reviewed by Philippe Normand.
.:
Added support to enable OpenCDM and find it it needed.
- Source/cmake/FindOpenCDM.cmake: Added.
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsWPE.cmake:
- Source/cmake/WebKitFeatures.cmake:
Source/WebCore:
Implemented the OpenCDM support in the CDMOpenCDM and
CDMProxyOpenCDM related classes. CDMOpenCDM classes check for
Widevine support in OpenCDM and glues the JavaScript API to the
OpenCDM/Thunder framework. Building this is optional and --opencdm
parameter needs to be passed to build-webkit to get it.
CDMProxy related needed changes because of several reasons. First
is that Key was considering only a Vector<uint8_t> as a type and
OpenCDM has session objects. Key is also renamed to KeyHandle as
this name reflects in a better way the purpose of the class. This
bleeds out to all CDMProxy related classes. CDMInstanceSessionProxy
gets support to remove itself from the CDMSessionProxy.
Regarding ClearKey, we adapt the changes to the CDMProxy classes
and de-cable protection system from the decryptors as the OpenCDM
decryptor could handle more than one system.
No new tests. YouTube TV 2019 tests are green.
- Headers.cmake:
- WebCore.xcodeproj/project.pbxproj:
- platform/GStreamer.cmake:
- platform/SharedBuffer.cpp:
(WebCore::SharedBuffer::dataAsUInt8Ptr const):
- platform/SharedBuffer.h:
- platform/encryptedmedia/CDMInstance.h:
- platform/encryptedmedia/CDMOpenCDMTypes.h: Copied from Source/WebCore/platform/graphics/gstreamer/eme/CDMFactoryGStreamer.cpp.
- platform/encryptedmedia/CDMProxy.cpp:
(WebCore::KeyHandle::idAsString const):
(WebCore::KeyHandle::takeValueIfDifferent):
(WebCore::KeyStore::containsKeyID const):
(WebCore::KeyStore::merge):
(WebCore::KeyStore::allKeysAs const):
(WebCore::KeyStore::addKeys):
(WebCore::KeyStore::add):
(WebCore::KeyStore::remove):
(WebCore::KeyStore::keyHandle const):
(WebCore::CDMProxy::keyHandle const):
(WebCore::CDMProxy::tryWaitForKeyHandle const):
(WebCore::CDMProxy::keyAvailableUnlocked const):
(WebCore::CDMProxy::keyAvailable const):
(WebCore::CDMProxy::getOrWaitForKeyHandle const):
(WebCore::CDMProxy::getOrWaitForKeyValue const):
(WebCore::CDMInstanceSessionProxy::CDMInstanceSessionProxy):
(WebCore::CDMInstanceSessionProxy::removeFromInstanceProxy):
- platform/encryptedmedia/CDMProxy.h:
(WebCore::KeyHandle::create):
(WebCore::KeyHandle::id const):
(WebCore::KeyHandle::value const):
(WebCore::KeyHandle::value):
(WebCore::KeyHandle::isStatusCurrentlyValid):
(WebCore::KeyHandle::operator==):
(WebCore::KeyHandle::operator<):
(WebCore::KeyHandle::KeyHandle):
(WebCore::KeyStore::isEmpty const):
(WebCore::CDMProxy::instance const):
(WebCore::CDMInstanceSessionProxy::releaseDecryptionResources):
(WebCore::CDMInstanceSessionProxy::cdmInstanceProxy const):
(WebCore::CDMInstanceProxy::proxy const):
(WebCore::CDMInstanceProxy::removeSession):
- platform/encryptedmedia/CDMUtilities.cpp: Copied from Source/WebCore/platform/graphics/gstreamer/eme/CDMFactoryGStreamer.cpp.
(WebCore::CDMUtilities::parseJSONObject):
- platform/encryptedmedia/CDMUtilities.h: Copied from Source/WebCore/platform/graphics/gstreamer/eme/CDMFactoryGStreamer.cpp.
- platform/encryptedmedia/clearkey/CDMClearKey.cpp:
(WebCore::parseLicenseFormat):
(WebCore::CDMPrivateClearKey::supportsInitData const):
(WebCore::CDMPrivateClearKey::sanitizeResponse const):
(WebCore::CDMInstanceSessionClearKey::updateLicense):
(WebCore::CDMInstanceSessionClearKey::removeSessionData):
(WebCore::CDMInstanceSessionClearKey::parentInstance const):
- platform/encryptedmedia/clearkey/CDMClearKey.h:
- platform/graphics/gstreamer/GStreamerCommon.cpp:
(WebCore::isOpenCDMRanked):
(WebCore::initializeGStreamerAndRegisterWebKitElements):
(WebCore::GstMappedBuffer::createVector):
- platform/graphics/gstreamer/GStreamerCommon.h:
(WebCore::GstMappedBuffer::create):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::waitForCDMAttachment):
- platform/graphics/gstreamer/eme/CDMFactoryGStreamer.cpp:
(WebCore::CDMFactory::platformRegisterFactories):
- platform/graphics/gstreamer/eme/CDMOpenCDM.cpp: Added.
(openCDMLicenseType):
(WebCore::initDataMD5):
(WebCore::sessionLoadFailureFromOpenCDM):
(WebCore::OpenCDM::destructOpenCDMSession):
(WebCore::OpenCDM::createSharedOpenCDMSession):
(WebCore::CDMFactoryOpenCDM::singleton):
(WebCore::CDMFactoryOpenCDM::createCDM):
(WebCore::CDMFactoryOpenCDM::createCDMProxy):
(WebCore::CDMFactoryOpenCDM::supportedKeySystems const):
(WebCore::CDMFactoryOpenCDM::supportsKeySystem):
(WebCore::CDMPrivateOpenCDM::supportedInitDataTypes const):
(WebCore::CDMPrivateOpenCDM::supportsConfiguration const):
(WebCore::CDMPrivateOpenCDM::supportedRobustnesses const):
(WebCore::CDMPrivateOpenCDM::distinctiveIdentifiersRequirement const):
(WebCore::CDMPrivateOpenCDM::persistentStateRequirement const):
(WebCore::CDMPrivateOpenCDM::distinctiveIdentifiersAreUniquePerOriginAndClearable const):
(WebCore::CDMPrivateOpenCDM::createInstance):
(WebCore::CDMPrivateOpenCDM::loadAndInitialize):
(WebCore::CDMPrivateOpenCDM::supportsServerCertificates const):
(WebCore::CDMPrivateOpenCDM::supportsSessions const):
(WebCore::CDMPrivateOpenCDM::supportsInitData const):
(WebCore::CDMPrivateOpenCDM::sanitizeResponse const):
(WebCore::CDMPrivateOpenCDM::sanitizeSessionId const):
(WebCore::CDMInstanceOpenCDM::CDMInstanceOpenCDM):
(WebCore::CDMInstanceOpenCDM::initializeWithConfiguration):
(WebCore::CDMInstanceOpenCDM::setServerCertificate):
(WebCore::CDMInstanceOpenCDM::setStorageDirectory):
(WebCore::CDMInstanceSessionOpenCDM::CDMInstanceSessionOpenCDM):
(WebCore::CDMInstanceOpenCDM::createSession):
(WebCore::ParsedResponseMessage::ParsedResponseMessage):
(WebCore::ParsedResponseMessage::hasPayload const):
(WebCore::ParsedResponseMessage::payload const):
(WebCore::ParsedResponseMessage::payload):
(WebCore::ParsedResponseMessage::hasType const):
(WebCore::ParsedResponseMessage::type const):
(WebCore::ParsedResponseMessage::typeOr const):
(WebCore::CDMInstanceSessionOpenCDM::challengeGeneratedCallback):
(WebCore::toString):
(WebCore::CDMInstanceSessionOpenCDM::status const):
(WebCore::CDMInstanceSessionOpenCDM::keyUpdatedCallback):
(WebCore::CDMInstanceSessionOpenCDM::keysUpdateDoneCallback):
(WebCore::CDMInstanceSessionOpenCDM::errorCallback):
(WebCore::CDMInstanceSessionOpenCDM::requestLicense):
(WebCore::CDMInstanceSessionOpenCDM::sessionFailure):
(WebCore::CDMInstanceSessionOpenCDM::updateLicense):
(WebCore::CDMInstanceSessionOpenCDM::loadSession):
(WebCore::CDMInstanceSessionOpenCDM::closeSession):
(WebCore::CDMInstanceSessionOpenCDM::removeSessionData):
(WebCore::CDMInstanceSessionOpenCDM::storeRecordOfKeyUsage):
(WebCore:: const):
- platform/graphics/gstreamer/eme/CDMOpenCDM.h: Added.
(WebCore::OpenCDM::OpenCDMSystemDeleter::operator() const):
(WebCore::OpenCDM::OpenCDMSessionDeleter::operator() const):
- platform/graphics/gstreamer/eme/CDMProxyClearKey.cpp:
(WebCore::CDMProxyClearKey::cencSetDecryptionKey):
- platform/graphics/gstreamer/eme/CDMProxyOpenCDM.cpp: Added.
(WebCore::CDMProxyOpenCDM::getDecryptionSession const):
(WebCore::CDMProxyOpenCDM::decrypt):
- platform/graphics/gstreamer/eme/CDMProxyOpenCDM.h: Copied from Source/WebCore/platform/graphics/gstreamer/eme/CDMFactoryGStreamer.cpp.
- platform/graphics/gstreamer/eme/GStreamerEMEUtilities.h:
(WebCore::InitData::InitData):
(WebCore::InitData::payload const):
(WebCore::GStreamerEMEUtilities::isWidevineKeySystem):
(WebCore::GStreamerEMEUtilities::keySystemToUuid):
- platform/graphics/gstreamer/eme/WebKitClearKeyDecryptorGStreamer.cpp:
(webkit_media_clear_key_decrypt_class_init):
(protectionSystemId):
- platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:
(transformCaps):
(transformInPlace):
- platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.h:
- platform/graphics/gstreamer/eme/WebKitOpenCDMDecryptorGStreamer.cpp: Added.
(webkit_media_opencdm_decrypt_class_init):
(webkit_media_opencdm_decrypt_init):
(finalize):
(protectionSystemId):
(cdmProxyAttached):
(decrypt):
- platform/graphics/gstreamer/eme/WebKitOpenCDMDecryptorGStreamer.h: Added.
Source/WTF:
- wtf/PlatformEnable.h: Disable OPENCDM by default.
Tools:
Added support to build OpenCDM and its dependencies. There is an
opt in env var to get JHBuild building Thunder its Widevine
dependencies. We also include a couple of GStreamer patches needed
to get key IDs in the decryptors.
Widevine is obviously proprietary and as you need to be licensed
to access it, you need credentials to build it.
- Scripts/webkitperl/FeatureList.pm:
- gstreamer/jhbuild.modules:
- gstreamer/patches/gst-plugins-bad-0006-mssdemux-parse-protection-data.patch: Added.
- gstreamer/patches/gst-plugins-good-0002-Check-if-an-upstream-demuxer-provided-a-default-kid.patch: Added.
- gtk/install-dependencies:
- jhbuild/jhbuildrc_common.py:
(init):
- wpe/install-dependencies:
- 7:01 AM Changeset in webkit [264218] by
-
- 2 edits in trunk/Source/WebCore
[LFC][TreeConstruction] Create block level container for unsupported renderer
https://bugs.webkit.org/show_bug.cgi?id=214182
Reviewed by Antti Koivisto.
It makes full LFC rendering on random pages less crashy.
- layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::TreeBuilder::createLayoutBox):
- 6:20 AM Changeset in webkit [264217] by
-
- 2 edits in trunk/Tools
[GTK] MiniBrowser: title of back-forward menu items needs to be truncated when it's too large
https://bugs.webkit.org/show_bug.cgi?id=214180
Reviewed by Adrian Perez de Castro.
The popover menu doesn't set ellipsize on the inner label, so we need to do it manually. In the case of GTK4 we
also need to markup escape it.
- MiniBrowser/gtk/BrowserWindow.c:
(browserWindowCreateBackForwardMenu):
- 5:47 AM Changeset in webkit [264216] by
-
- 2 edits in trunk/Source/WebKit
[GTK] Flush the cairo surface after painting when using software
https://bugs.webkit.org/show_bug.cgi?id=214177
Reviewed by Adrian Perez de Castro.
This is similar to bug #210636 but it happens under wayland when using GTK4. It's good idea to flush always
after painting in any case, so we do ity in case of GTK3 as well.
- UIProcess/gtk/AcceleratedBackingStoreWayland.cpp:
(WebKit::AcceleratedBackingStoreWayland::snapshot): Call cairo_surface_flush() after drawing.
(WebKit::AcceleratedBackingStoreWayland::paint): Ditto.
- 4:08 AM Changeset in webkit [264215] by
-
- 9 edits in trunk/Source/WebCore
[WebXR] Retrieve WebGL framebuffer resolution from XR devices
https://bugs.webkit.org/show_bug.cgi?id=213886
Reviewed by Carlos Garcia Campos.
The recommended WebGL framebuffer resolution should be retrieved from the actual XR device being used.
Implemented the OpenXR machinery to retrieve it from the XR system. We are also moving the methods that
call the platform code to the XRSession as specs define, instead of having them inside the XRWebGLLayer.
Finally this patch is also removing a unused definition in OpenXR plaform code and properly initializing
a OpenXR struct. The missing initialization was the source of errors when querying api layer properties.
The patch is also properly setting the SessionMode::Inline when XR_VIEW_CONFIGURATION_TYPE_PRIMARY_MONO
is found. It used to set SessionMode::ImmersiveAr instead, but that's wrong, we should only care about
ImmersiveAr session mode once the WebXR AR module is implemented.
- Modules/webxr/WebXRRenderState.cpp:
(WebCore::WebXRRenderState::outputCanvas const): Return render state's canvas.
- Modules/webxr/WebXRRenderState.h: Added a m_outputCanvas member with its getter.
- Modules/webxr/WebXRSession.cpp:
(WebCore::WebXRSession::nativeWebGLFramebufferResolution const): Moved from WebXRWebGLLayer and reimplemented.
(WebCore::WebXRSession::recommendedWebGLFramebufferResolution const): Ditto.
- Modules/webxr/WebXRSession.h:
- Modules/webxr/WebXRWebGLLayer.cpp:
(WebCore::WebXRWebGLLayer::WebXRWebGLLayer):
(WebCore::WebXRWebGLLayer::getNativeFramebufferScaleFactor): Call the session to get native and recommended
resolutions.
(WebCore::WebXRWebGLLayer::computeNativeWebGLFramebufferResolution): Deleted.
(WebCore::WebXRWebGLLayer::computeRecommendedWebGLFramebufferResolution): Ditto.
- platform/xr/PlatformXR.h:
(PlatformXR::Device::recommendedResolution): New virtual method with default implementation.
- platform/xr/openxr/PlatformXROpenXR.cpp:
(PlatformXR::Instance::Impl::enumerateApiLayerProperties const): Added initialization of the XrApiLayerProperties
objects. The call to xrEnumerateApiLayerProperties succeeds now.
(PlatformXR::OpenXRDevice::OpenXRDevice): Call enumerateConfigurationViews().
(PlatformXR::OpenXRDevice::collectSupportedSessionModes): Fill in the m_viewConfigurationProperties map.
(PlatformXR::OpenXRDevice::enumerateConfigurationViews): New method that retrieves the XR device views for each
supported configuration.
(PlatformXR::OpenXRDevice::recommendedResolution): Return the recommended resolution for a given SessionMode.
- platform/xr/openxr/PlatformXROpenXR.h: Added some new methods and attributes.
- 3:48 AM Changeset in webkit [264214] by
-
- 3 edits2 adds in trunk
[LFC][MarginCollapsing] Margins do not collapse through when the box has clearance.
https://bugs.webkit.org/show_bug.cgi?id=214172
Reviewed by Antti Koivisto.
Source/WebCore:
https://www.w3.org/TR/CSS22/box.html#collapsing-margins
"Two margins are adjoining if and only if: no line boxes, no clearance, no padding and no border separate them"
Only adjoining margins can collapse through.
Test: fast/layoutformattingcontext/empty-block-level-box-with-clearance.html
- layout/blockformatting/BlockMarginCollapse.cpp:
(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginsCollapseThrough const):
LayoutTests:
- fast/layoutformattingcontext/empty-block-level-box-with-clearance-expected.html: Added.
- fast/layoutformattingcontext/empty-block-level-box-with-clearance.html: Added.
- 2:16 AM Changeset in webkit [264213] by
-
- 5 edits2 adds in trunk/Source
[GTK][WPE] Use mobile user-agent on tablet
https://bugs.webkit.org/show_bug.cgi?id=149496
Patch by Jan-Michael Brummer <jan.brummer@tabos.org> on 2020-07-10
Reviewed by Carlos Garcia Campos.
- platform/UserAgentQuirks.cpp:
(WebCore::urlRequiresMacintoshPlatform):
(WebCore::urlRequiresLinuxDesktopPlatform):
(WebCore::UserAgentQuirks::quirksForURL):
- platform/UserAgentQuirks.h:
- platform/glib/UserAgentGLib.cpp:
(WebCore::getChassisType):
(WebCore::platformForUAString):
(WebCore::platformVersionForUAString):
(WebCore::buildUserAgentString):
(WebCore::standardUserAgent):
(WebCore::standardUserAgentForURL):
- 1:16 AM Changeset in webkit [264212] by
-
- 3 edits in trunk/Source/WebKit
Unreviewed. Fix GTK4 build
- UIProcess/API/gtk/WebKitWebViewGtk.cpp:
(fileChooserDialogResponseCallback):
(webkitWebViewRunFileChooser):
- UIProcess/gtk/AcceleratedBackingStoreWayland.cpp:
(WebKit::AcceleratedBackingStoreWayland::snapshot):
- 1:01 AM Changeset in webkit [264211] by
-
- 10 edits2 deletes in trunk/Source/WebCore
[MSE][GStreamer] Inline MediaSourceClientGStreamerMSE away
https://bugs.webkit.org/show_bug.cgi?id=214140
Reviewed by Xabier Rodriguez-Calvar.
MediaSourceClientGStreamerMSE is a superfluous class that adds
a layer of indirection and complexity to the GStreamer MSE codebase
for no gain. This patch gets rid of it.
This also gets rid of the friend access layer violations that
MediaSourceClientGStreamerMSE relied upon.
This patch is a refactor that doesn't introduce behavior changes and
it's covered by existing tests.
- platform/GStreamer.cmake:
- platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::AppendPipeline::AppendPipeline):
- platform/graphics/gstreamer/mse/AppendPipeline.h:
- platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:
(WebCore::MediaPlayerPrivateGStreamerMSE::durationChanged):
(WebCore::MediaPlayerPrivateGStreamerMSE::setMediaSourceClient): Deleted.
(WebCore::MediaPlayerPrivateGStreamerMSE::mediaSourceClient): Deleted.
- platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h:
(WebCore::MediaPlayerPrivateGStreamerMSE::playbackPipeline const):
- platform/graphics/gstreamer/mse/MediaSourceClientGStreamerMSE.cpp: Removed.
- platform/graphics/gstreamer/mse/MediaSourceClientGStreamerMSE.h: Removed.
- platform/graphics/gstreamer/mse/MediaSourcePrivateGStreamer.cpp:
(WebCore::MediaSourcePrivateGStreamer::MediaSourcePrivateGStreamer):
(WebCore::MediaSourcePrivateGStreamer::addSourceBuffer):
(WebCore::MediaSourcePrivateGStreamer::durationChanged):
(WebCore::MediaSourcePrivateGStreamer::markEndOfStream):
- platform/graphics/gstreamer/mse/MediaSourcePrivateGStreamer.h:
- platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.cpp:
(WebCore::SourceBufferPrivateGStreamer::create):
(WebCore::SourceBufferPrivateGStreamer::SourceBufferPrivateGStreamer):
(WebCore::SourceBufferPrivateGStreamer::finishCreation):
(WebCore::SourceBufferPrivateGStreamer::append):
(WebCore::SourceBufferPrivateGStreamer::abort):
(WebCore::SourceBufferPrivateGStreamer::resetParserState):
(WebCore::SourceBufferPrivateGStreamer::removedFromMediaSource):
(WebCore::SourceBufferPrivateGStreamer::flush):
(WebCore::SourceBufferPrivateGStreamer::enqueueSample):
(WebCore::SourceBufferPrivateGStreamer::allSamplesInTrackEnqueued):
- platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.h:
- 12:02 AM Changeset in webkit [264210] by
-
- 1 edit2 copies17 adds1 delete in trunk/Tools
Add Slack-aware WebKitBot implementation
https://bugs.webkit.org/show_bug.cgi?id=211707
Reviewed by Devin Rousso and Brian Burg.
This patch adds Slack-aware WebKitBot implementation which supports "ping", "revert", and the other commands.
I decided to implement this feature in chat-bot because of the following reasons.
- It is the previous way we are familiar with.
- Creating a revert-patch sometimes takes long time because it involves working-copy clean-up, creating a revert, generating a patch... So asynchronous request-response is better for developers who do not want to watch whether the patch is created until it is done. Chat-bot can tell us when it is ready.
- Requesting a revert-patch in public channel can easily tell the other developers that reverting is going on now.
We reuse python's
webkit-patch create-revertcommand as it was in the old webkitbot. We enhance WKR bot to support webkitbot feature.
Once webkitbot app is installed into a channel, it monitors messages in the channel and works when the mention to this bot's user happens.
We use Real Time Message Slack API instead of Event API, because Event API requires public facing HTTPS server which accepts incoming webhook.
Real Time Message Slack API just requires a server app which connects to Slack via WebSocket, so it is easier to deploy for now.
The implementation of webkitbot is client-server model inside one process. There is one AsyncTaskQueue, and there is one async main loop which
takes the task from the queue and replies when it is done. Every time we noticed the request, this request queues the task to this task queue.
This design ensures that only one task is using the working-copy WebKit repository at a time, this is required to make a revert-patch without
conflict.
- WKR/ReadMe.md: Removed.
- WKR/WKR.mjs: Removed.
- WKR/package-lock.json: Removed.
- WKR/package.json: Removed.
- WebKitBot/.eslintrc: Added.
- WebKitBot/.gitignore: Renamed from Tools/WKR/.gitignore.
- WebKitBot/ReadMe.md: Added.
- WebKitBot/data/.gitignore: Renamed from Tools/WKR/data/.gitignore.
- WebKitBot/package-lock.json: Added.
- WebKitBot/package.json: Added.
- WebKitBot/src/AsyncTaskQueue.mjs: Added.
- WebKitBot/src/Commit.mjs: Added.
- WebKitBot/src/Contributors.mjs: Added.
- WebKitBot/src/Utility.mjs: Added.
- WebKitBot/src/WKR.mjs: Added.
- WebKitBot/src/WebKitBot.mjs: Added.
- WebKitBot/src/index.mjs: Added.
- WebKitBot/tests/Commit.test.mjs: Added.
- WebKitBot/tests/WebKitBot.test.mjs: Added.
- WebKitBot/tests/resources/.gitattributes: Added.
- WebKitBot/tests/resources/HaveRadarAndBugzilla.json: Added.
- WebKitBot/tests/resources/HavingBugzilla.json: Added.
- WebKitBot/tests/resources/NoRadarAndBugzilla.json: Added.