Timeline
Jun 21, 2020:
- 11:51 PM Changeset in webkit [263341] by
-
- 3 edits in trunk/Source/WTF
[WTF] Ensure ASCIILiteral is ASCII characters at compile time
https://bugs.webkit.org/show_bug.cgi?id=213449
Reviewed by Ross Kirsling.
The purpose of ASCIILiteral is ensure that this is compile-time (do not need to consider about ownership) ASCII characters.
By usingisASCIIandASSERT_UNDER_CONSTEXPR_CONTEXT, we can make sure that this C string does not include non ASCII characters.
For example,
auto globalVariable = "ラーメン (Ramen in Japanese)"_s;
becomes compile error.
- wtf/ASCIICType.h:
(WTF::isASCII):
- wtf/text/ASCIILiteral.h:
(WTF::StringLiterals::operator _s):
- 11:50 PM Changeset in webkit [263340] by
-
- 5 edits in trunk
[WTF] URL should support dataLog
https://bugs.webkit.org/show_bug.cgi?id=213450
Reviewed by Mark Lam.
Source/WTF:
Add URL::dump(PrintStream&) to support
dataLog(url)which is extremely useful for WTF / JSC developers.
- wtf/URL.cpp:
(WTF::URL::dump const):
- wtf/URL.h:
Tools:
Add test for URL::dump.
- TestWebKitAPI/Tests/WTF/URL.cpp:
(TestWebKitAPI::TEST_F):
- 9:43 PM Changeset in webkit [263339] by
-
- 2 edits in trunk/WebDriverTests
[WebDriver][GTK] Some executing_async_javascript_tests.py tests are failing with TimeoutExceptions
https://bugs.webkit.org/show_bug.cgi?id=211496
Unreviewed test gardening.
The two tests started passing with the updated selenium imported
tests from r263264;
- TestExpectations.json:
- 9:41 PM Changeset in webkit [263338] by
-
- 2 edits in trunk/WebDriverTests
WebDriver: several tests in imported/selenium/py/test/selenium/webdriver/common/visibility_tests.py fail
https://bugs.webkit.org/show_bug.cgi?id=182334
Unreviewed test gardening.
The last two remaining tests from this bug started passing after the
imported selenium tests were updated in r263264.
- TestExpectations.json:
- 9:39 PM Changeset in webkit [263337] by
-
- 2 edits in trunk/WebDriverTests
WebDriver: two selenium alert tests are failing
https://bugs.webkit.org/show_bug.cgi?id=181727
Unreviewed test gardening.
These tests also have been passing since r262861.
- TestExpectations.json:
- 9:38 PM Changeset in webkit [263336] by
-
- 2 edits in trunk/WebDriverTests
[WebDriver][GTK] Gardening failures related to missing selenium files
Unreviewed test gardening.
The relative_by_tests require some JS fragments built by Bazel,
Selenium's build tool.
- TestExpectations.json:
- 3:58 PM Changeset in webkit [263335] by
-
- 2 edits in trunk/JSTests
Attempt to unskip stress test array-buffer-view-watchpoint-can-be-fired-really-add-in-dfg.js on most architectures
https://bugs.webkit.org/show_bug.cgi?id=213433
Patch by Michael Catanzaro <Michael Catanzaro> on 2020-06-21
Reviewed by Darin Adler.
- stress/array-buffer-view-watchpoint-can-be-fired-in-really-add-in-dfg.js:
- 3:47 PM Changeset in webkit [263334] by
-
- 43 edits in trunk/Source/WebCore
Convert much of the SVG string parsing code to use Optional based return values rather than out-parameters
https://bugs.webkit.org/show_bug.cgi?id=213416
Reviewed by Darin Adler.
Update SVG parsers to use Optional style return programming rather than out parameters.
To make things even nicer, SVGPathSource based parsers now have a type per-parse function,
which makes working with them much easier. In the future, we should consider exanding these
new types to be used by SVGPathConsumer family of classes as well.
- WebCore.xcodeproj/project.pbxproj:
Add SVGPathSegValue.h, which was missing from the Xcode project.
- svg/SVGAngleValue.cpp:
(WebCore::parseAngleType):
(WebCore::SVGAngleValue::setValueAsString):
Adopt updated parseNumber() function, and do a drive by removal of an easy to remove
upconvertedCharacters.
- svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::calculateToAtEndOfDurationValue):
(WebCore::SVGAnimateMotionElement::calculateFromAndToValues):
(WebCore::SVGAnimateMotionElement::calculateFromAndByValues):
(WebCore::SVGAnimateMotionElement::calculateDistance):
Now uses new parsePoint() function. Using Optional.valueOr() where
the old code would have had parsePoint() doing the clearing.
- svg/SVGAnimationElement.cpp:
(WebCore::parseKeySplines):
Now returns an Optional<Vector<UnitBezier>>.
(WebCore::SVGAnimationElement::parseAttribute):
Now uses new parseKeySplines, and does an explicit clear on parse failure (old code
did it implicitly in the parse function).
- svg/SVGFEConvolveMatrixElement.cpp:
(WebCore::SVGFEConvolveMatrixElement::parseAttribute):
- svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::parseAttribute):
- svg/SVGFEDropShadowElement.cpp:
(WebCore::SVGFEDropShadowElement::parseAttribute):
- svg/SVGFEGaussianBlurElement.cpp:
(WebCore::SVGFEGaussianBlurElement::parseAttribute):
- svg/SVGFEMorphologyElement.cpp:
(WebCore::SVGFEMorphologyElement::parseAttribute):
- svg/SVGFESpecularLightingElement.cpp:
(WebCore::SVGFESpecularLightingElement::parseAttribute):
- svg/SVGFETurbulenceElement.cpp:
(WebCore::SVGFETurbulenceElement::parseAttribute):
Adopt Optional based parseNumberOptionalNumber.
- svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::parseAttribute):
- svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::parseAttribute):
Simplify by using the SVGPreserveAspectRatioValue constructor
which calls parse. No need for three lines.
- svg/SVGFitToViewBox.cpp:
(WebCore::SVGFitToViewBox::parseAttribute):
Adopt new Optional based parseViewBox.
Simplify by using the SVGPreserveAspectRatioValue constructor
which calls parse. No need for three lines.
(WebCore::SVGFitToViewBox::parseViewBox):
Convert to be Optional based, and adopt new parseNumber functions.
- svg/SVGFitToViewBox.h:
Updated signatures for new Optional based functions.
- svg/SVGGlyphRefElement.cpp:
(WebCore::parseFloat):
Adopt Optional based parseNumber.
- svg/SVGHKernElement.cpp:
(WebCore::SVGHKernElement::buildHorizontalKerningPair const):
- svg/SVGHKernElement.h:
- svg/SVGVKernElement.cpp:
(WebCore::SVGVKernElement::buildVerticalKerningPair const):
- svg/SVGVKernElement.h:
Convert to be Optional based. Update a few callers to use makeString.
- svg/SVGToOTFFontConversion.cpp:
(WebCore::SVGToOTFFontConverter::addKerningPair const):
(WebCore::SVGToOTFFontConverter::appendKERNSubtable):
Adopt new Optional based kerning pair builders. Add some moves
to avoid some copies.
- svg/SVGLengthValue.cpp:
(WebCore::SVGLengthValue::setValueAsString):
Adopt Optional based parseNumber.
- svg/SVGNumberList.h:
(WebCore::SVGNumberList::parse):
Adopt Optional based parseNumber.
- svg/SVGParserUtilities.cpp:
(WebCore::genericParseNumber):
(WebCore::parseNumber):
(WebCore::genericParseArcFlag):
(WebCore::parseArcFlag):
(WebCore::parseNumberOptionalNumber):
(WebCore::parsePoint):
(WebCore::parseRect):
(WebCore::parseGlyphName):
(WebCore::parseUnicodeRange):
(WebCore::parseKerningUnicodeString):
(WebCore::genericParseFloatPoint):
(WebCore::parseFloatPoint):
(WebCore::parseSVGNumber): Deleted.
(WebCore::parseNumberFromString): Deleted.
(WebCore::parseDelimitedString): Deleted.
(WebCore::parseFloatPoint2): Deleted.
(WebCore::parseFloatPoint3): Deleted.
- svg/SVGParserUtilities.h:
(WebCore::isSVGSpace):
(WebCore::skipOptionalSVGSpaces):
(WebCore::skipOptionalSVGSpacesOrDelimiter):
- Converts parse* functions to return Optional values rather than using outparameters.
- Removes unused parseSVGNumber and parseDelimitedString.
- Removes parseFloatPoint2 and parseFloatPoint3. They weren't useful enough to keep around.
- Renames parseNumberFromString to parseNumber. The argument is a String, it's clear enough.
- Replace boolean skip parameters with new enum SuffixSkippingPolicy.
- Make parseFloatPoint have two overloads rather than being templatized to be consistent.
- svg/SVGPathBlender.cpp:
(WebCore::pullFromSources):
(WebCore::SVGPathBlender::blendMoveToSegment):
(WebCore::SVGPathBlender::blendLineToSegment):
(WebCore::SVGPathBlender::blendLineToHorizontalSegment):
(WebCore::SVGPathBlender::blendLineToVerticalSegment):
(WebCore::SVGPathBlender::blendCurveToCubicSegment):
(WebCore::SVGPathBlender::blendCurveToCubicSmoothSegment):
(WebCore::SVGPathBlender::blendCurveToQuadraticSegment):
(WebCore::SVGPathBlender::blendCurveToQuadraticSmoothSegment):
(WebCore::SVGPathBlender::blendArcToSegment):
(WebCore::SVGPathBlender::canBlendPaths):
(WebCore::SVGPathBlender::blendAnimatedPath):
Update to adopt new SVGPathSource interface. Added pullFromSources helper
which substantially simplifies pulling from both the from and to source at
the same time and is now possible due to all the SVGPathSource functions
returning the segment types rather than taking them as out parameters.
- svg/SVGPathByteStreamSource.cpp:
(WebCore::SVGPathByteStreamSource::nextCommand):
(WebCore::SVGPathByteStreamSource::parseSVGSegmentType):
(WebCore::SVGPathByteStreamSource::parseMoveToSegment):
(WebCore::SVGPathByteStreamSource::parseLineToSegment):
(WebCore::SVGPathByteStreamSource::parseLineToHorizontalSegment):
(WebCore::SVGPathByteStreamSource::parseLineToVerticalSegment):
(WebCore::SVGPathByteStreamSource::parseCurveToCubicSegment):
(WebCore::SVGPathByteStreamSource::parseCurveToCubicSmoothSegment):
(WebCore::SVGPathByteStreamSource::parseCurveToQuadraticSegment):
(WebCore::SVGPathByteStreamSource::parseCurveToQuadraticSmoothSegment):
(WebCore::SVGPathByteStreamSource::parseArcToSegment):
- svg/SVGPathByteStreamSource.h:
Adopt new SVGPathSource interface.
- svg/SVGPathParser.cpp:
(WebCore::SVGPathParser::parseMoveToSegment):
(WebCore::SVGPathParser::parseLineToSegment):
(WebCore::SVGPathParser::parseLineToHorizontalSegment):
(WebCore::SVGPathParser::parseLineToVerticalSegment):
(WebCore::SVGPathParser::parseCurveToCubicSegment):
(WebCore::SVGPathParser::parseCurveToCubicSmoothSegment):
(WebCore::SVGPathParser::parseCurveToQuadraticSegment):
(WebCore::SVGPathParser::parseCurveToQuadraticSmoothSegment):
(WebCore::SVGPathParser::parseArcToSegment):
(WebCore::SVGPathParser::parsePathData):
Adapt to new SVGPathSource interface. Code reads a bit nicer now
that we don't have a ton of local variables in each method. Could
be made nicer in the future by adopting Segment types in the path
consumer code.
- svg/SVGPathSegListSource.cpp:
(WebCore::SVGPathSegListSource::nextCommand):
(WebCore::SVGPathSegListSource::parseSVGSegmentType):
(WebCore::SVGPathSegListSource::parseMoveToSegment):
(WebCore::SVGPathSegListSource::parseLineToSegment):
(WebCore::SVGPathSegListSource::parseLineToHorizontalSegment):
(WebCore::SVGPathSegListSource::parseLineToVerticalSegment):
(WebCore::SVGPathSegListSource::parseCurveToCubicSegment):
(WebCore::SVGPathSegListSource::parseCurveToCubicSmoothSegment):
(WebCore::SVGPathSegListSource::parseCurveToQuadraticSegment):
(WebCore::SVGPathSegListSource::parseCurveToQuadraticSmoothSegment):
(WebCore::SVGPathSegListSource::parseArcToSegment):
- svg/SVGPathSegListSource.h:
Adopt new SVGPathSource interface.
- svg/SVGPathSource.h:
Update interface to return Optionals, with a specific type for
segment kind that be parsed.
- svg/SVGPathStringSource.cpp:
(WebCore::nextCommandHelper):
(WebCore::SVGPathStringSource::nextCommand):
(WebCore::parseSVGSegmentTypeHelper):
(WebCore::SVGPathStringSource::parseSVGSegmentType):
(WebCore::SVGPathStringSource::parseMoveToSegment):
(WebCore::SVGPathStringSource::parseLineToSegment):
(WebCore::SVGPathStringSource::parseLineToHorizontalSegment):
(WebCore::SVGPathStringSource::parseLineToVerticalSegment):
(WebCore::SVGPathStringSource::parseCurveToCubicSegment):
(WebCore::SVGPathStringSource::parseCurveToCubicSmoothSegment):
(WebCore::SVGPathStringSource::parseCurveToQuadraticSegment):
(WebCore::SVGPathStringSource::parseCurveToQuadraticSmoothSegment):
(WebCore::SVGPathStringSource::parseArcToSegment):
(WebCore::parseArcToSegmentHelper): Deleted.
- svg/SVGPathStringSource.h:
Adopt new SVGPathSource interface. Replace out of line helpers (or use of things
like parseFloatPoint2) with generic lambda helpers, helping to keep the code more
localized.
- svg/SVGPointList.h:
(WebCore::SVGPointList::parse):
Adopt Optional based parseNumber.
- svg/SVGTransformList.h:
- svg/SVGTransformable.cpp:
(WebCore::parseTransformParamList):
(WebCore::SVGTransformable::parseTransformValue):
(WebCore::SVGTransformable::parseAndSkipType):
(WebCore::SVGTransformable::parseTransformType):
- svg/SVGTransformable.h:
Convert parseTransformValue/parseAndSkipType to be Optional based.
- svg/SVGViewSpec.cpp:
(WebCore::SVGViewSpec::parseViewSpec):
Adopt Optional based parseViewBox.
- svg/properties/SVGAnimationAdditiveValueFunctionImpl.h:
Adopt Optional based parseNumber.
- svg/properties/SVGPropertyTraits.h:
(WebCore::SVGPropertyTraits<float>::fromString):
(WebCore::SVGPropertyTraits<float>::parse):
(WebCore::SVGPropertyTraits<FloatPoint>::fromString):
(WebCore::SVGPropertyTraits<FloatPoint>::parse):
(WebCore::SVGPropertyTraits<FloatRect>::fromString):
(WebCore::SVGPropertyTraits<FloatRect>::parse):
Adopt Optional based parsers.
- 1:33 PM Changeset in webkit [263333] by
-
- 2 edits in trunk/Tools
[Flatpak] Nightly runner fails to extract zip files
https://bugs.webkit.org/show_bug.cgi?id=213445
Patch by Philippe Normand <pnormand@igalia.com> on 2020-06-21
Reviewed by Darin Adler.
- Scripts/webkit-flatpak-run-nightly: Ensure the buffered zip data is written to disk before
extraction.
- 1:20 PM Changeset in webkit [263332] by
-
- 3 edits in trunk/LayoutTests
compositing/video/video-border-radius-clipping.html was a flaky failure after r263223
https://bugs.webkit.org/show_bug.cgi?id=213424
Reviewed by Darin Adler.
The last attempt to unflake this test was r253310. Let's try again.
I took a screen recording of a few hundred loads of this test @ r263222,
and it looks like it was always possible for canplaythrough and seeked
to fire before the video had rendered its first frame. So, this is a
test issue.
The screen recording seems to show that waiting for
requestAnimationFrame ensures that the video renders its first frame.
This might be for a principled system vsync reason, or just a lucky
delay. Either way, the test seems less flaky now.
This might mean that we can remove the previous seeked event workaround,
but I chose not to tempt fate, and left it in place.
- compositing/video/video-border-radius-clipping-expected.html:
- compositing/video/video-border-radius-clipping.html:
- media/video-test.js:
(_eventCallback):
(waitForEvent):
- 12:58 PM Changeset in webkit [263331] by
-
- 21 edits in trunk/Source/WebCore
Convert DateComponents parsing code to use Optional based return values rather than out-parameters
https://bugs.webkit.org/show_bug.cgi?id=213440
Reviewed by Darin Adler.
Rework DateComponents and Date/Time related InputTypes to use Optional based programming
for parsing results. Also take the opportunity to remove unicode upconversion from
DateComponent parsing and instead separate UChar and LChar variants via templates.
- html/BaseDateAndTimeInputType.cpp:
- html/BaseDateAndTimeInputType.h:
- html/DateInputType.cpp:
- html/DateInputType.h:
- html/DateTimeInputType.cpp:
- html/DateTimeInputType.h:
- html/DateTimeLocalInputType.cpp:
- html/DateTimeLocalInputType.h:
- html/HTMLInputElement.cpp:
- html/HTMLInputElement.h:
- html/InputType.cpp:
- html/InputType.h:
- html/MonthInputType.cpp:
- html/MonthInputType.h:
- html/TimeInputType.cpp:
- html/TimeInputType.h:
- html/WeekInputType.cpp:
- html/WeekInputType.h:
- Removes parseToDateComponentsInternal. No need it and parseToDateComponents.
- Makes parseToDateComponents pure virtual. The old code had a default implementations down in InputType, but it had no callers.
- Remove iOS vs. non-iOS difference for dateType(). It is now available on InputType on all platforms.
- Make setMillisecondToDateComponents and parseToDateComponents return an Optional.
- platform/DateComponents.cpp:
- platform/DateComponents.h:
- Replace member function based interfaces for parsing/setting explicit time offsets with new factory functions that return Optional<DateComponents>.
- These factories are implemented using the existing member functions, which are now private.
- Make max/min constants constexpr.
- Make parse* member functions templates to allow factory parse functions to call them without upconverting.
- Replace header guard with #pragma once.
- 11:43 AM Changeset in webkit [263330] by
-
- 1 edit3 adds in trunk/LayoutTests
fast/text/international/system-language/navigator-language/navigator-language tests are failing on Mojave
<rdar://problem/64468227>
Unreviewed test gardening.
- platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-en-US-expected.txt: Added.
- platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-es-ES-expected.txt: Added.
- platform/mac-mojave/fast/text/international/system-language/navigator-language/navigator-language-pt-BR-expected.txt: Added.
- 10:13 AM Changeset in webkit [263329] by
-
- 3 edits2 adds in trunk
[LFC] Add basic support for width: fit-content
https://bugs.webkit.org/show_bug.cgi?id=213444
Reviewed by Antti Koivisto.
Source/WebCore:
At this point this is just a shrink-to-fit sizing (missing the case when the available horizontal space is not specified).
Test: fast/layoutformattingcontext/fit-content-width-simple.html
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::computedWidthValue):
LayoutTests:
- fast/layoutformattingcontext/fit-content-width-simple-expected.html: Added.
- fast/layoutformattingcontext/fit-content-width-simple.html: Added.
- 8:34 AM Changeset in webkit [263328] by
-
- 14 edits1 add in trunk
WebKit fails to leave audio routing arbitration during navigation, closing.
https://bugs.webkit.org/show_bug.cgi?id=213426
<rdar://problem/64395051>
Reviewed by Eric Carlson.
Source/WebCore:
When setting the AudioSession category, make sure to leave routing arbitration before bailing out early. Also,
HTMLMediaElement::canProduceAudio() should returnfalsewhen the element's document is suspended or stopped.
Otherwise, the AudioSession will continue in theMediaPlaybackcategory indefinitely, and routing arbitration
will remain active.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::canProduceAudio const):
- platform/audio/mac/AudioSessionMac.mm:
(WebCore::AudioSession::setCategory):
Source/WebKit:
Add testing SPIs to verify whether a WebPage successfully entered or left audio routing
arbitration. Notify the Arbitration proxy when the page is shut down, which ensures arbitration
will end if the client closes the WKWebView.
- UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
- UIProcess/API/Cocoa/WKWebViewTesting.mm:
(-[WKWebView _audioRoutingArbitrationStatus]):
- UIProcess/API/mac/WKWebViewTestingMac.mm:
- UIProcess/Media/AudioSessionRoutingArbitratorProxy.h:
(WebKit::AudioSessionRoutingArbitratorProxy::arbitrationStatus const):
- UIProcess/Media/cocoa/AudioSessionRoutingArbitratorProxyCocoa.mm:
(WebKit::AudioSessionRoutingArbitratorProxy::processDidTerminate):
(WebKit::AudioSessionRoutingArbitratorProxy::beginRoutingArbitrationWithCategory):
(WebKit::AudioSessionRoutingArbitratorProxy::endRoutingArbitration):
- UIProcess/WebPageProxy.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::shutDown):
- UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::audioSessionRoutingArbitrator):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/AudioRoutingArbitration.mm: Added.
(AudioRoutingArbitration::statusShouldBecomeEqualTo):
(TEST_F):
- 6:51 AM Changeset in webkit [263327] by
-
- 6 edits2 adds in trunk
[LFC][TFC] Add support for percentage min/max-width
https://bugs.webkit.org/show_bug.cgi?id=213436
Reviewed by Antti Koivisto.
Source/WebCore:
- The table generates a principal block container box called the table wrapper box that contains the table box itself and any caption boxes.
- The table wrapper box establishes a block formatting context, and the table box establishes a table formatting context.
- The computed values of properties 'position', 'float', 'margin-*', 'top', 'right', 'bottom', and 'left' on the table element are used on the table wrapper box and not the table box; all other values of non-inheritable properties are used on the table box and not the table wrapper box.
- In a block formatting context, each box's left outer edge touches the left edge of the containing block. This is true even in the presence of floats, unless the box establishes a new block formatting context (in which case the box itself may become narrower due to the floats)
Now consider the following case:
<div style="display: block; width: 500px;">
<div style="float: left; width: 100px;"></div>
<div style="display: table; width: 10%;"></div>
</div>
- We create a table wrapper box to wrap the "display: table" block level box (#1).
- The table wrapper box's width property is set to auto (#3).
- Since it establishes a new block formatting context, the available horizontal space gets shrunk by the float (#4)
- The table wrapper box's used width computes to 500px - 100px -> 400px;
Now we are inside the BFC established by the table wrapper box and try to resolve the table's width -> %10.
According to the normal BFC rules, it should compute to 10% of the containing block's logical width: 400px -> 40px.
However in practice it computes to 50px (10% of 500px).
Similar setup with non-table content would resolve the inner block level box's width to 40px;
<div style="display: block; width: 500px">
<div style="float: left; width: 100px;"></div>
<div style="display: block; overflow: hidden;">
<div style="display: block; width: 10%"></div>
</div>
</div>
This needs clarification.
Test: fast/layoutformattingcontext/float-avoider-available-horizontal-space3.html
- layout/FormattingContext.h:
(WebCore::Layout::FormattingContext::isTableWrapperBlockFormattingContext const):
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::layoutInFlowContent):
- layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContext.cpp:
(WebCore::Layout::TableWrapperBlockFormattingContext::computeWidthAndMarginForTableBox):
- layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContext.h:
LayoutTests:
- fast/layoutformattingcontext/float-avoider-available-horizontal-space3-expected.html: Added.
- fast/layoutformattingcontext/float-avoider-available-horizontal-space3.html: Added.
- 2:13 AM Changeset in webkit [263326] by
-
- 2 edits in trunk/Source/WebKit
[WPE][GTK] Specify underlying storage type for InputMethodState::Hint
https://bugs.webkit.org/show_bug.cgi?id=213401
Patch by Michael Catanzaro <Michael Catanzaro> on 2020-06-21
Reviewed by Carlos Garcia Campos.
Using unsigned types for flags enums seems nice to do.
- Shared/glib/InputMethodState.h:
- 2:11 AM Changeset in webkit [263325] by
-
- 3 edits in trunk/Source/WebKit
[WPE][GTK] Add autocleanup for WebKitWebsitePolicies
https://bugs.webkit.org/show_bug.cgi?id=213399
Patch by Michael Catanzaro <Michael Catanzaro> on 2020-06-21
Reviewed by Carlos Garcia Campos.
Add missing autocleanups.
- UIProcess/API/gtk/WebKitAutocleanups.h:
- UIProcess/API/wpe/WebKitAutocleanups.h:
Jun 20, 2020:
- 11:10 PM Changeset in webkit [263324] by
-
- 2 edits in trunk/Source/WebKit
[AppSSO] Should do null check on m_page in dismissViewController()
https://bugs.webkit.org/show_bug.cgi?id=213415
<rdar://problem/59672418>
Reviewed by Alexey Proskuryakov.
- UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm:
(WebKit::SOAuthorizationSession::dismissViewController):
- 7:49 PM Changeset in webkit [263323] by
-
- 5 edits in trunk/Source
RecoveryOS: PAL::getAVPlayerLayerClass() will crash when AVFoundation is missing
https://bugs.webkit.org/show_bug.cgi?id=213437
<rdar://problem/64563064>
Reviewed by Eric Carlson.
Check PAL::isAVFoundationAvailable() before calling PAL::getAVPlayerLayerClass();
Source/WebCore:
- platform/graphics/avfoundation/objc/VideoLayerManagerObjC.mm:
(WebCore::VideoLayerManagerObjC::setVideoLayer):
- platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
(WebCore::PlatformCALayerCocoa::layerTypeForPlatformLayer):
(WebCore::PlatformCALayerCocoa::PlatformCALayerCocoa):
(WebCore::PlatformCALayerCocoa::clone const):
(WebCore::PlatformCALayerCocoa::avPlayerLayer const):
Source/WebKit:
- WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteCustom.mm:
(WebKit::PlatformCALayerRemoteCustom::clone const):
- 7:13 PM Changeset in webkit [263322] by
-
- 6 edits in trunk/Source/WebCore
Crash under ScrollController::startSnapRubberbandTimer() firing
https://bugs.webkit.org/show_bug.cgi?id=213439
<rdar://problem/63986013>
Reviewed by Tim Horton.
A wholesale destruction of the ScrollingTree (e.g. via ScrollingCoordinatorMac::pageDestroyed()) never
ran the code to stop CFRunLoopTimers in ScrollController, which could lead to this crash.
Fix by calling removeAllNodes() in ThreadedScrollingTree::invalidate().
Add an assertion in ScrollController's destructor that stopAllTimers() has been called, and have
ScrollAnimator's destructor call stopAllTimers() too.
- page/scrolling/ScrollingTree.h:
- page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::invalidate):
- platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::~ScrollAnimator):
- platform/cocoa/ScrollController.h:
- platform/cocoa/ScrollController.mm:
(WebCore::ScrollController::~ScrollController):
(WebCore::ScrollController::stopAllTimers):
- 6:13 PM Changeset in webkit [263321] by
-
- 4 edits in trunk
REGRESSION(r259219): Sleep assertion remains active if WKWebView is closed or WebContent process crashes
https://bugs.webkit.org/show_bug.cgi?id=213434
<rdar://problem/57541662>
Reviewed by Eric Carlson.
Source/WebKit:
Tests: TestWebKitAPI tests:
SleepDisabler.Basic
SleepDisabler.Pause
SleepDisabler.Mute
SleepDisabler.Unmute
SleepDisabler.DisableAudioTrack
SleepDisabler.Loop
SleepDisabler.ChangeSrc
SleepDisabler.Load
SleepDisabler.Unload
SleepDisabler.Navigate
SleepDisabler.NavigateBack
SleepDisabler.Reload
SleepDisabler.Close
SleepDisabler.Crash
Ensure the SleepDisablers are cleared when the WebProcess closes or crashes.
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::shutDown):
(WebKit::WebProcessProxy::processDidTerminateOrFailedToLaunch):
Tools:
- TestWebKitAPI/Tests/WebKit/SleepDisabler.mm:
(SleepDisabler::loadPlayingPage):
(SleepDisabler::hasSleepDisablerShouldBecomeEqualTo):
(TEST_F):
- 4:35 PM Changeset in webkit [263320] by
-
- 7 edits in trunk/Source/WebKit
[iOS, macOS] Allow access to the container manager to support Mail InjectedBundle
https://bugs.webkit.org/show_bug.cgi?id=213357
<rdar://problem/63837247>
Reviewed by Darin Adler.
The Mail Injected Bundle requires access to the container manager to support certain OS operations. We do not need
this access for web browsing, and should limit this access to this one case.
This patch creates a dynamic mach extension to the container manager for this single use case. It also denies the
non-extension access case with a backtrace so we can see if any other clients are hitting this.
- 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::platformInitializeWebProcess):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
- WebProcess/com.apple.WebProcess.sb.in:
- 4:16 PM Changeset in webkit [263319] by
-
- 2 edits in trunk/Tools
Bring up watchOS/tvOS on build.webkit.org (Follow-up fix x2)
https://bugs.webkit.org/show_bug.cgi?id=213402
<rdar://problem/64542588>
Unreviewed test fix.
- Scripts/webkitperl/webkitdirs_unittest/extractNonMacOSHostConfiguration.pl: Native Macs never
use 32 bit tool binaries.
- 8:24 AM Changeset in webkit [263318] by
-
- 9 edits1 copy4 adds in trunk
[LFC][TFC][Quirk] Table height needs quirk handling
https://bugs.webkit.org/show_bug.cgi?id=213430
Reviewed by Antti Koivisto.
Source/WebCore:
In quirks mode the used table height of an empty table is 0, while in standards mode
we take the specified value into account and size the table accordingly.
Tests: fast/layoutformattingcontext/empty-table-with-specified-height-quirk-simple.html
fast/layoutformattingcontext/empty-table-with-specified-height-standards-simple.html
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- layout/FormattingContext.h:
- layout/blockformatting/BlockFormattingContext.h:
(WebCore::Layout::BlockFormattingContext::Quirks::geometry const):
- layout/blockformatting/BlockFormattingContextQuirks.cpp:
(WebCore::Layout::BlockFormattingContext::Quirks::stretchedInFlowHeight):
- layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContext.cpp:
(WebCore::Layout::TableWrapperBlockFormattingContext::computeHeightAndMarginForTableBox):
- layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContext.h:
(WebCore::Layout::TableWrapperBlockFormattingContext::Quirks::Quirks):
- layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContextQuirks.cpp: Copied from Source/WebCore/layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContext.h.
(WebCore::Layout::TableWrapperBlockFormattingContext::Quirks::usedTableHeight const):
LayoutTests:
- fast/layoutformattingcontext/empty-table-with-specified-height-quirk-simple-expected.html: Added.
- fast/layoutformattingcontext/empty-table-with-specified-height-quirk-simple.html: Added.
- fast/layoutformattingcontext/empty-table-with-specified-height-standards-simple-expected.html: Added.
- fast/layoutformattingcontext/empty-table-with-specified-height-standards-simple.html: Added.
- 12:08 AM Changeset in webkit [263317] by
-
- 4 edits in trunk/LayoutTests
[Windows] fast/forms/search-field-buttons-do-not-have-focus-rings.html is failing
https://bugs.webkit.org/show_bug.cgi?id=213422
Reviewed by Tim Horton.
Refactor this test so that it doesn't attempt to hard-code the position and sizes of the search field buttons.
To do this, we use an internal helper to grab thedivelements that correspond to the results and cancel
buttons, and then use their bounding rects to place the opaquedivs to cover these buttons.
- fast/forms/search-field-buttons-do-not-have-focus-rings-expected.html:
- fast/forms/search-field-buttons-do-not-have-focus-rings.html:
- platform/win/TestExpectations: