Timeline
Feb 18, 2021:
- 10:36 PM Changeset in webkit [273129] by
-
- 3 edits1 add in trunk
Scrolling on https://www.apple.com/ipad-air/ can jitter on certain sections
https://bugs.webkit.org/show_bug.cgi?id=222136
rdar://71881767
Reviewed by Zalan Bujtas.
Source/WebCore:
On macOS computers with 16MB of memory, https://www.apple.com/ipad-air/ can trigger the
"conservative" compositing mode where RenderLayerCompositor tries to reduce the number of
composited layers.
On this particular page, a "will-change: transform" element with an overflow:hidden ancestor
triggers some bad compositing bounds geometry computation (webkit.org/b/222092,
webkit.org/b/222124) which has the end result of changing the composited bounds of the
"position:sticky" layer on every scroll. This results in layer contents temporarily
appearing stretched or in the wrong place (webkit.org/b/222132).
For now, do a conservative fix to avoid this problem, which is to continue to allow
"will-change: transform" to trigger compositing on macOS in conservative mode. This
actually reduces memory use on this page, because webkit.org/b/222092 was triggering
excessively large backing store.
Tested by compositing/layer-creation/compositing-policy.html
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForWillChange const):
LayoutTests:
- platform/mac/compositing/layer-creation/compositing-policy-expected.txt: Added.
- 10:12 PM Changeset in webkit [273128] by
-
- 20 edits in trunk/Source
Reduce explicit usage of [objC autorelease] in WebKit
https://bugs.webkit.org/show_bug.cgi?id=221932
<rdar://problem/74410900>
Reviewed by Darin Adler.
Follow-up to r272936 in order to address post-landing review comments.
Source/JavaScriptCore:
- API/JSContext.mm:
(-[JSContext init]):
- API/JSWrapperMap.mm:
(-[JSWrapperMap classInfoForClass:]):
Source/WebCore:
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper _stringFromStartMarker:toEndMarker:attributed:]):
- editing/cocoa/WebContentReaderCocoa.mm:
(WebCore::attributesForAttributedStringConversion):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
- platform/ios/WebAVPlayerController.mm:
(-[WebAVPlayerController init]):
- platform/ios/wak/WAKView.mm:
(-[WAKView dealloc]):
- platform/network/cocoa/WebCoreNSURLSession.mm:
(-[WebCoreNSURLSessionDataTask initWithSession:identifier:request:]):
- platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::createNSURLConnection):
Source/WebKit:
- UIProcess/API/Cocoa/NSAttributedString.mm:
(+[NSAttributedString _loadFromHTMLWithOptions:contentLoader:completionHandler:]):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView findString:withConfiguration:completionHandler:]):
(-[WKWebView _frames:]):
(-[WKWebView _getContentsAsAttributedStringWithCompletionHandler:]):
- UIProcess/API/Cocoa/_WKAutomationSession.mm:
(-[_WKAutomationSession init]):
- UIProcess/API/Cocoa/_WKInspector.mm:
(-[_WKInspector registerExtensionWithID:displayName:completionHandler:]):
- UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.mm:
(-[_WKRemoteWebInspectorViewController registerExtensionWithID:displayName:completionHandler:]):
- UIProcess/API/Cocoa/_WKUserContentExtensionStore.mm:
(-[_WKUserContentExtensionStore compileContentExtensionForIdentifier:encodedContentExtension:completionHandler:]):
(-[_WKUserContentExtensionStore lookupContentExtensionForIdentifier:completionHandler:]):
- UIProcess/Automation/ios/WebAutomationSessionIOS.mm:
(WebKit::WebAutomationSession::platformSimulateKeyboardInteraction):
- UIProcess/Cocoa/WKContactPicker.mm:
(-[WKContactPicker _contactsFromJSContacts:]):
- 9:51 PM Changeset in webkit [273127] by
-
- 8 edits2 adds in trunk
Add experimental support for CSS Color 5 Relative Color Syntax
https://bugs.webkit.org/show_bug.cgi?id=221880
Reviewed by Darin Adler.
Source/WebCore:
Adds initial support for CSS Color 5 Relative Color Syntax - https://drafts.csswg.org/css-color-5/#relative-colors
This feature is off by default and can be enabled via the CSSRelativeColorSyntaxEnabled
experimental preference flag.
As this is the initial commit for this functionality, it is not yet complete.
This adds basic parsing and resolution for relative rgb(), hsl(), hwb(), lab()
and lch(), but does not yet implement support for calc() functions that can operate
on the channel keywords nor does it support using system keyword colors as the
origin of the relative colors.
Some additional caveats about this initial implementation that need further
clarification from the spec editors:
- Currently, we only allow using the channel corresponding to to the position of that channel
in the replacement syntax. This means you can't do:
rgb(from red g r b)
to permute the channels.
- For rgb(), which allows r, g, and b to be all numbers or all percentages,
we currently don't assume either number or percentage, and wait until some
constant value is provided to set the type. That means that:
rgb(from red r g 10)
will treat r, ang g as numbers, but:
rgb(from red r g 10%)
will treat r and g as percentages. This is not currently observable other than
that we reject something that mixes the two, such as
rgb(from red r 10 10%)
but will be fully observable once processing the channels via calc() is supported.
Test: fast/css/parsing-relative-color-syntax.html
- css/CSSValueKeywords.in:
- css/parser/CSSParserContext.cpp:
(WebCore::operator==):
- css/parser/CSSParserContext.h:
(WebCore::CSSParserContextHash::hash):
- css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::consumeOriginColor):
(WebCore::CSSPropertyParserHelpers::consumeOptionalAlphaOrIdent):
(WebCore::CSSPropertyParserHelpers::consumeHueOrIdent):
(WebCore::CSSPropertyParserHelpers::consumeNumberOrIdent):
(WebCore::CSSPropertyParserHelpers::consumePercentOrIdent):
(WebCore::CSSPropertyParserHelpers::extractChannelValue):
(WebCore::CSSPropertyParserHelpers::resolveRelativeColorChannel):
(WebCore::CSSPropertyParserHelpers::consumeRelativeRGBComponent):
(WebCore::CSSPropertyParserHelpers::parseRelativeRGBParameters):
(WebCore::CSSPropertyParserHelpers::parseRGBParameters):
(WebCore::CSSPropertyParserHelpers::parseRelativeHSLParameters):
(WebCore::CSSPropertyParserHelpers::parseHSLParameters):
(WebCore::CSSPropertyParserHelpers::normalizeWhitenessBlackness):
(WebCore::CSSPropertyParserHelpers::parseRelativeHWBParameters):
(WebCore::CSSPropertyParserHelpers::parseHWBParameters):
(WebCore::CSSPropertyParserHelpers::parseRelativeLabParameters):
(WebCore::CSSPropertyParserHelpers::parseLabParameters):
(WebCore::CSSPropertyParserHelpers::parseRelativeLCHParameters):
(WebCore::CSSPropertyParserHelpers::parseLCHParameters):
(WebCore::CSSPropertyParserHelpers::parseColorFunction):
Source/WTF:
- Scripts/Preferences/WebPreferencesExperimental.yaml:
Add new experimental preference for CSS Color 5 Relative Color Syntax
which is off by default.
LayoutTests:
- fast/css/parsing-relative-color-syntax-expected.txt: Added.
- fast/css/parsing-relative-color-syntax.html: Added.
Add basic parsing and computed style computation tests for relative color syntax.
- 9:44 PM Changeset in webkit [273126] by
-
- 4 edits in trunk/Source/WebKit
[ MacOS Wk2 Debug ] http/tests/misc/copy-resolves-urls.html is a flakey crash in RemoteMediaPlayerProxy
https://bugs.webkit.org/show_bug.cgi?id=222080
Reviewed by Eric Carlson.
No new tests, this will fix some crashing macOS tests.
- GPUProcess/media/RemoteMediaResource.cpp:
(WebKit::RemoteMediaResource::RemoteMediaResource):
(WebKit::RemoteMediaResource::~RemoteMediaResource):
- GPUProcess/media/RemoteMediaResource.h:
- GPUProcess/media/RemoteMediaResourceManager.h:
- 8:39 PM Changeset in webkit [273125] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Enable private methods
https://bugs.webkit.org/show_bug.cgi?id=222137
Reviewed by Tadeu Zagallo.
- runtime/OptionsList.h:
- 8:25 PM Changeset in webkit [273124] by
-
- 4 edits in trunk
[GLIB] Gardening debug OffscreenCanvas crashes
Unreviewed test gardening.
Tools:
- TestWebKitAPI/glib/TestExpectations.json: Update bug number after
last gardening.
LayoutTests:
- platform/glib/TestExpectations:
- 7:35 PM Changeset in webkit [273123] by
-
- 2 edits in trunk/Tools
MotionMark scores are super sensitive to a single long frame
https://bugs.webkit.org/show_bug.cgi?id=220847
<rdar://problem/74152743>
Unreviewed.
Upgrade motionmark1.1.plan to r273122.
- Scripts/webkitpy/benchmark_runner/data/plans/motionmark1.1.plan:
- 7:29 PM Changeset in webkit [273122] by
-
- 2 edits in trunk/PerformanceTests
MotionMark scores are super sensitive to a single long frame
https://bugs.webkit.org/show_bug.cgi?id=220847
<rdar://problem/74152743>
Reviewed by Maciej Stachowiak and Jon Lee.
Currently, "ramp" tests have three phases. The middle phase is where they try to determine a maximum reasonable
complexity, and the third one is where they try various complexities between 0 and the maximum. The calculation
of this maximum reasonable complexity is currently very sensitive to outlier frame times. If there is a single
outlier frame time, the failure mode is to assume that the maximum complexity is ~10. So, the solution is to
ignore outlier frame times during this first phase, and to ensure that there are at least 9 frames measured that
have non-outlier times.
- MotionMark/tests/resources/main.js:
(filterOutOutliers):
(_measureAndResetInterval):
(update):
(registerFrameTime):
(intervalHasConcluded):
(start):
(didFinishInterval):
- 7:25 PM Changeset in webkit [273121] by
-
- 9 edits7 adds in trunk
[GPU Process] Temporarily disable drawing OT-SVG glyphs in the GPU process until it can be implemented properly
https://bugs.webkit.org/show_bug.cgi?id=221744
Source/WebCore:
<rdar://problem/74222334>
Reviewed by Simon Fraser.
Link with the system OTSVG framework to determine if glyphs will be rendered using that infrastructure.
Filter out glyphs which would be rendered using that infrastructure in the web process, and RELEASE_ASSERT()
in the GPU process that it won't be using that infrastructure.
This is just a temporary plug of a security hole, until we can properly transcode OT-SVG glyphs into WebKit's
display list infrastructure. This patch explicitly breaks drawing OT-SVG glyphs using the GPU process (which,
right now, only means it will be broken in canvas drawing, since regular DOM drawing doesn't use the GPU
process yet.)
Test: fast/text/otsvg-spacing.html
- platform/graphics/Font.h:
- platform/graphics/coretext/FontCascadeCoreText.cpp:
(WebCore::FontCascade::drawGlyphs):
- platform/graphics/coretext/FontCoreText.cpp:
(WebCore::Font::findOTSVGGlyphs const):
- platform/graphics/displaylists/DisplayListDrawGlyphsRecorderCoreText.cpp:
(WebCore::DisplayList::filterOutOTSVGGlyphs):
(WebCore::DisplayList::DrawGlyphsRecorder::drawGlyphs):
Source/WebCore/PAL:
Reviewed by Simon Fraser.
This patch soft-links the OTSVG framework because it's a private framework that doesn't exist on watchOS.
- PAL.xcodeproj/project.pbxproj:
- pal/cf/CoreTextSoftLink.cpp: Added.
- pal/cf/CoreTextSoftLink.h: Added.
- pal/cf/OTSVGTable.cpp: Added.
(PAL::OTSVGTable::OTSVGTable):
(PAL::OTSVGTable::~OTSVGTable):
(PAL::OTSVGTable::operator=):
- pal/cf/OTSVGTable.h: Added.
- pal/spi/cf/CoreTextSPI.h:
LayoutTests:
<rdar://problem/74222334>
Reviewed by Simon Fraser.
Create an OTSVG font for testing.
The A glyph is a green rectangle.
The B glyph is an image.
The C glyph is another image, with a different EXIF orientation than the B glyph.
This test makes sure that two glyphs with an OTSVG glyph between them don't get smooshed together in canvas.
I'm explicitly not testing the behavior of OTSVG itself in canvas, because this test explicitly disables
that behavior. I think it's wrong to create tests that make sure some functionality is broken, because the
functionality, philosophically, shouldn't be broken.
- fast/text/otsvg-spacing-expected.html: Added.
- fast/text/otsvg-spacing.html: Added.
- fast/text/resources/Ahem-SVG.ttf: Added.
- 6:53 PM Changeset in webkit [273120] by
-
- 5 edits in trunk/Source/WebKit
[iOS] Remove access to AppleJPEGDriverUserClient
https://bugs.webkit.org/show_bug.cgi?id=221458
<rdar://problem/73518481>
Reviewed by Brent Fulgham.
Remove access to AppleJPEGDriverUserClient in the WebContent process' sandbox on iOS.
- Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb:
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- UIProcess/WebPageProxy.cpp:
(WebKit::gpuIOKitClasses):
- 6:16 PM Changeset in webkit [273119] by
-
- 3 edits in trunk/Source/WebKit
Correctly retain properties in _WKAppHighlight
https://bugs.webkit.org/show_bug.cgi?id=222151
Reviewed by Wenson Hsieh.
- UIProcess/API/Cocoa/_WKAppHighlight.h:
- UIProcess/API/Cocoa/_WKAppHighlight.mm:
(-[_WKAppHighlight initWithHighlight:text:image:]):
(-[_WKAppHighlight highlight]):
(-[_WKAppHighlight text]):
(-[_WKAppHighlight image]):
- 6:10 PM Changeset in webkit [273118] by
-
- 6 edits in trunk/Websites/perf.webkit.org
Fix a bug that a syncing script may try to reuse a delete root.
https://bugs.webkit.org/show_bug.cgi?id=222144
Reviewed by Ryosuke Niwa.
UploadedFile.deletedAt is not returned by API which makes UploadedFile instance always claims
the file it not deleted.
Fix a logical bug in CommitSet.areAllRootsAvailable.
- public/include/uploaded-file-helpers.php: Include 'deletedAt' filed in the API response.
- public/v3/models/commit-set.js:
(CommitSet.prototype.areAllRootsAvailable): Fixed an syntax error and a logical bug.
- server-tests/api-build-requests-tests.js: Added check on 'deletedAt' to be set on deleted files.
- unit-tests/commit-set-tests.js: Added unit tests for CommitSet.areAllRootsAvailable.
- unit-tests/resources/mock-v3-models.js: Cleared static map for UploadedFile.
- 5:57 PM Changeset in webkit [273117] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Do not create the line with negative width when negative letter spacing is present
https://bugs.webkit.org/show_bug.cgi?id=222119
Reviewed by Antti Koivisto.
We already handle the case of individual runs. This patch fixes the case when we merge runs together.
see fast/text/text-letter-spacing.html.
- layout/inlineformatting/InlineLine.cpp:
(WebCore::Layout::Line::appendTextContent):
- 5:16 PM Changeset in webkit [273116] by
-
- 3 edits2 adds in trunk
Crash in IPC::decode(Decoder& decoder, RetainPtr<SecKeychainItemRef>& result)
https://bugs.webkit.org/show_bug.cgi?id=222084
Patch by Julian Gonzalez <julian_a_gonzalez@apple.com> on 2021-02-18
Reviewed by Ryosuke Niwa.
Source/WebKit:
Add a check for a CFDataRef of 0 length so that we do not pass those
to SecKeychainItemCopyFromPersistentReference(), which crashes with them.
Test: ipc/argument-coders-crash.html
- Shared/cf/ArgumentCodersCF.cpp:
(IPC::decode):
LayoutTests:
Add the test provided by Nils Sommer that catches this crash.
- ipc/argument-coders-crash-expected.txt: Added.
- ipc/argument-coders-crash.html: Added.
- 4:58 PM Changeset in webkit [273115] by
-
- 5 edits in trunk
Unconditionally return information in _autofillContext SPI when a field is focused
https://bugs.webkit.org/show_bug.cgi?id=221828
rdar://74211237
Patch by Ricky Mondello <Ricky Mondello> on 2021-02-18
Reviewed by Darin Adler.
Source/WebKit:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _autofillContext]): Change the contract of _autofillContext to return information for any focused
text field. Add a "version" key. Explicitly indicate whether we're in a login context. This SPI remains stringly
typed for flexibility.
Tools:
Tests updated by Wenson Hsieh.
Rebaseline tests.
- TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
(-[AutoFillTestView acceptsAutoFillLoginCredentials]): Renamed in line with the Password AutoFill-related
contract these tests are about.
- 4:47 PM Changeset in webkit [273114] by
-
- 2 edits in trunk/Source/WebKit
[macOS] Re-add fsctl support for marking files as potentially 'hot'
https://bugs.webkit.org/show_bug.cgi?id=222120
<rdar://problem/74387453>
Reviewed by Per Arne Vollan.
Rolled out r271959.
- WebProcess/com.apple.WebProcess.sb.in:
- 4:37 PM Changeset in webkit [273113] by
-
- 35 edits2 copies6 adds in trunk
[Payment Request] add an
object datatoPaymentItemso that data specific to Apple Pay can be provided
https://bugs.webkit.org/show_bug.cgi?id=221970
<rdar://problem/69806999>
Reviewed by Alex Christensen.
Source/WebCore:
- Modules/paymentrequest/PaymentItem.idl:
- Modules/paymentrequest/PaymentItem.h:
- Modules/applepay/ApplePayLineItem.idl:
- Modules/applepay/ApplePayLineItem.h:
(WebCore::ApplePayLineItem::encode const): Added.
(WebCore::ApplePayLineItem::decode): Added.
- Modules/applepay/ApplePayLineItemData.idl: Added.
- Modules/applepay/ApplePayLineItemData.h: Added.
(WebCore::ApplePayLineItemData::encode const):
(WebCore::ApplePayLineItemData::decode):
(WebCore::ApplePayLineItemData::decodeData):
- Modules/paymentrequest/PaymentRequest.cpp:
(WebCore::checkAndCanonicalizeData): Added.
(WebCore::checkAndCanonicalizePaymentItem): Added.
(WebCore::checkAndCanonicalizeTotal):
(WebCore::checkAndCanonicalizeDetails):
(WebCore::PaymentRequest::create):
(WebCore::PaymentRequest::settleDetailsPromise):
Add IPC support and extend fromApplePayLineItemDatawhich is used to pull values out of
theobject datafromPaymentItem. This way, both Apple Pay JS and PaymentRequest can be
given the same data (albeit in slightly different places) and have the same capabilities.
- Modules/applepay/ApplePaySession.cpp:
(WebCore::convertAndValidateTotal):
(WebCore::convertAndValidate):
- Modules/applepay/ApplePaySessionPaymentRequest.h:
(WebCore::ApplePaySessionPaymentRequest::lineItems const):
(WebCore::ApplePaySessionPaymentRequest::setLineItems):
(WebCore::ApplePaySessionPaymentRequest::total const):
(WebCore::ApplePaySessionPaymentRequest::setTotal):
- Modules/applepay/PaymentMethodUpdate.h:
- Modules/applepay/PaymentRequestValidator.h:
- Modules/applepay/PaymentRequestValidator.mm:
(WebCore::PaymentRequestValidator::validateTotal):
- Modules/applepay/PaymentSummaryItems.h:
- Modules/applepay/cocoa/PaymentMethodUpdateCocoa.mm:
(WebCore::PaymentMethodUpdate::PaymentMethodUpdate):
- Modules/applepay/cocoa/PaymentSummaryItemsCocoa.mm:
(WebCore::toPKPaymentSummaryItemType):
(WebCore::toPKPaymentSummaryItem):
(WebCore::platformSummaryItems):
- Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:
(WebCore::merge): Added.
(WebCore::convertAndValidate):
(WebCore::ApplePayPaymentHandler::show):
(WebCore::ApplePayPaymentHandler::computeTotalAndLineItems const):
- testing/MockPaymentCoordinator.cpp:
(WebCore::MockPaymentCoordinator::updateTotalAndLineItems):
Just useApplePayLineIteminstead of duplicating its structure in another object (ApplePaySessionPaymentRequest::LineItem).
- inspector/WebInjectedScriptHost.cpp:
(WebCore::objectForPaymentDetailsModifier):
Drive-by: Don't always setmodifier.totalormodifier.additionalDisplayItemssince they
might not have been provided.
Drive-by: Don't bother settingmodifier.datasince it's cleared during validation.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateDictionaryImplementationContent):
- bindings/scripts/test/SupplementalDependencies.dep:
- bindings/scripts/test/TestDictionaryWithOnlyConditionalMembers.idl: Added.
- bindings/scripts/test/JS/JSTestDictionaryWithOnlyConditionalMembers.h: Added.
- bindings/scripts/test/JS/JSTestDictionaryWithOnlyConditionalMembers.cpp: Added.
(WebCore::convertDictionary<TestDictionaryWithOnlyConditionalMembers>):
(WebCore::convertDictionaryToJS):
- bindings/scripts/test/TestEmptyDictionary.idl: Added.
- bindings/scripts/test/JS/JSTestEmptyDictionary.h: Added.
- bindings/scripts/test/JS/JSTestEmptyDictionary.cpp: Added.
(WebCore::convertDictionary<TestEmptyDictionary>):
(WebCore::convertDictionaryToJS):
Modify the IDL code generator to be able to handle empty IDL dictionaries.
- platform/cocoa/WebCoreAdditions.mm:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- PlatformMac.cmake:
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
Source/WebCore/PAL:
- pal/cocoa/PassKitSoftLink.h:
- pal/cocoa/PassKitSoftLink.mm:
- pal/spi/cocoa/PassKitSPI.h:
Source/WebKit:
- Shared/WebCoreArgumentCoders.h:
- Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
(IPC::ArgumentCoder<ApplePaySessionPaymentRequest>::decode):
(IPC::ArgumentCoder<ApplePaySessionPaymentRequest::TotalAndLineItems>::decode):
(IPC::ArgumentCoder<ApplePaySessionPaymentRequest::LineItem>::encode): Deleted.
(IPC::ArgumentCoder<ApplePaySessionPaymentRequest::LineItem>::decode): Deleted.
Just useApplePayLineIteminstead of duplicating its structure in another object (ApplePaySessionPaymentRequest::LineItem).
LayoutTests:
- http/tests/inspector/paymentrequest/payment-request-internal-properties.https-expected.txt:
- 4:19 PM Changeset in webkit [273112] by
-
- 2 edits in trunk/LayoutTests
[ macOS Wk2 ]inspector/indexeddb/clearObjectStore.html is a flakey timeout
https://bugs.webkit.org/show_bug.cgi?id=222140
Unreviewed test gardening.
Patch by Robert Jenner <Robert Jenner> on 2021-02-18
- platform/mac-wk2/TestExpectations:
- 4:15 PM Changeset in webkit [273111] by
-
- 4 edits in trunk
Add null check in _getMainResourceDataWithCompletionHandler
https://bugs.webkit.org/show_bug.cgi?id=222139
<rdar://problem/74449438>
Reviewed by Tim Horton.
Source/WebKit:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _getMainResourceDataWithCompletionHandler:]):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/GetResourceData.mm:
(TEST):
- 4:15 PM Changeset in webkit [273110] by
-
- 2 edits in trunk/LayoutTests
ASSERTION FAILED: m_state == State::Committed in WebKit::FrameLoadState::didFailLoad()
https://bugs.webkit.org/show_bug.cgi?id=221783
<rdar://problem/74257153>
Skip the test temporarily on debug bots while we figure out how to fix it.
- platform/wk2/TestExpectations:
- 4:07 PM Changeset in webkit [273109] by
-
- 12 edits in trunk/Source/WebKit
[Cocoa] Web Inspector: add support for using custom process pool and page group identifier
https://bugs.webkit.org/show_bug.cgi?id=222046
<rdar://74180162>
Reviewed by Timothy Hatcher.
These additions are necessary for clients to inject Web Extensions API into the tabs created
using _WKInspectorExtension.
Currently, Web Inspector pages use a private process pool that is separate from page content.
Since there is no way to set the pool's injected bundle path prior to opening Web Inspector,
we need to allow clients to explicitly configure and set a process pool to be used for
WebInspectorUI and any iframe tabs created using _WKInspectorExtension.
- UIProcess/API/APIInspectorConfiguration.cpp:
(API::InspectorConfiguration::processPool):
(API::InspectorConfiguration::setProcessPool):
- UIProcess/API/APIInspectorConfiguration.h:
- UIProcess/API/Cocoa/_WKInspectorConfiguration.h:
- UIProcess/API/Cocoa/_WKInspectorConfiguration.mm:
(-[_WKInspectorConfiguration setProcessPool:]):
(-[_WKInspectorConfiguration processPool]):
(-[_WKInspectorConfiguration applyToWebViewConfiguration:]):
(-[_WKInspectorConfiguration copyWithZone:]):
Add some plumbing for the new properties.
- UIProcess/Inspector/WebInspectorUtilities.h:
- UIProcess/Inspector/WebInspectorUtilities.cpp:
(WebKit::defaultInspectorPageGroupIdentifierForPage): Renamed.
(WebKit::defaultInspectorProcessPool): Renamed.
(WebKit::allInspectorProcessPools): Move to using a WeakHashSet since there could
be a number of pools specified by the client for different inspector instances.
(WebKit::prepareProcessPoolForInspector): Added.
(WebKit::isInspectorProcessPool): Turn this into a set lookup.
- UIProcess/Inspector/mac/WKInspectorViewController.mm:
(-[WKInspectorViewController webViewConfiguration]):
Add logic to use a custom process pool or a default process pool (existing behavior).
Add logic to use a custom page group identifier or a default value (existing behavior).
- UIProcess/Inspector/gtk/RemoteWebInspectorProxyGtk.cpp:
(WebKit::RemoteWebInspectorProxy::platformCreateFrontendPageAndWindow):
- UIProcess/Inspector/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformCreateFrontendPage):
- UIProcess/Inspector/win/RemoteWebInspectorProxyWin.cpp:
(WebKit::RemoteWebInspectorProxy::platformCreateFrontendPageAndWindow):
- UIProcess/Inspector/win/WebInspectorProxyWin.cpp:
(WebKit::WebInspectorProxy::platformCreateFrontendPage):
Adapt to renames.
- 4:01 PM Changeset in webkit [273108] by
-
- 24 edits in trunk/Source
Plumb an Optional<PageIdentifier> through WebPasteboardProxy
https://bugs.webkit.org/show_bug.cgi?id=222071
Reviewed by Tim Horton.
Source/WebCore:
Update various
PasteboardStrategymethods to additionally take aconst PasteboardContext*; additionally
update call sites ofPasteboardStrategymethods to pass in a context (e.g.Pasteboard::context(), in the
vast majority of cases below).
- editing/cocoa/EditorCocoa.mm:
(WebCore::Editor::takeFindStringFromSelection):
- page/mac/DragControllerMac.mm:
(WebCore::DragController::updateSupportedTypeIdentifiersForDragHandlingMethod const):
- platform/Pasteboard.cpp:
(WebCore::Pasteboard::allPasteboardItemInfo const):
(WebCore::Pasteboard::pasteboardItemInfo const):
(WebCore::Pasteboard::readString):
(WebCore::Pasteboard::readBuffer):
(WebCore::Pasteboard::readURL):
- platform/PasteboardStrategy.h:
- platform/cocoa/DragDataCocoa.mm:
(WebCore::DragData::containsURLTypeIdentifier const):
(WebCore::DragData::containsColor const):
(WebCore::DragData::numberOfFiles const):
(WebCore::DragData::asFilenames const):
(WebCore::DragData::containsPlainText const):
(WebCore::DragData::asColor const):
(WebCore::DragData::containsCompatibleContent const):
(WebCore::DragData::containsPromise const):
(WebCore::DragData::containsURL const):
(WebCore::DragData::asURL const):
- platform/cocoa/PasteboardCocoa.mm:
(WebCore::Pasteboard::fileContentState):
(WebCore::Pasteboard::typesSafeForBindings):
(WebCore::Pasteboard::writeCustomData):
(WebCore::Pasteboard::changeCount const):
(WebCore::Pasteboard::readTypesWithSecurityCheck):
(WebCore::Pasteboard::readBufferForTypeWithSecurityCheck):
- platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::typesSafeForBindings):
(WebCore::Pasteboard::writeCustomData):
- platform/ios/PasteboardIOS.mm:
(WebCore::Pasteboard::Pasteboard):
(WebCore::changeCountForPasteboard):
(WebCore::Pasteboard::write):
(WebCore::Pasteboard::writePlainText):
(WebCore::Pasteboard::read):
(WebCore::Pasteboard::readPasteboardWebContentDataForType):
(WebCore::readURLAlongsideAttachmentIfNecessary):
(WebCore::Pasteboard::readRespectingUTIFidelities):
(WebCore::Pasteboard::hasData):
(WebCore::Pasteboard::clear):
(WebCore::Pasteboard::readPlatformValuesAsStrings):
(WebCore::Pasteboard::writeString):
(WebCore::Pasteboard::readFilePaths):
- platform/libwpe/PasteboardLibWPE.cpp:
(WebCore::Pasteboard::readString):
(WebCore::Pasteboard::read):
- platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::Pasteboard):
(WebCore::Pasteboard::clear):
(WebCore::Pasteboard::write):
(WebCore::Pasteboard::writePlainText):
(WebCore::writeURLForTypes):
(WebCore::Pasteboard::writeTrustworthyWebURLsPboardType):
(WebCore::writeFileWrapperAsRTFDAttachment):
(WebCore::Pasteboard::canSmartReplace):
(WebCore::readStringAtPreferredItemIndex):
(WebCore::readBufferAtPreferredItemIndex):
(WebCore::Pasteboard::read):
(WebCore::Pasteboard::hasData):
(WebCore::Pasteboard::readPlatformValuesAsStrings):
(WebCore::Pasteboard::writeString):
(WebCore::Pasteboard::readFilePaths):
(WebCore::Pasteboard::setDragImage):
Source/WebKit:
Add
const PasteboardContext*arguments to thePasteboardStrategymethods onWebPlatformStrategies, convert
them toPageIdentifiers, and send them over to the UI process viaWebPasteboardProxymethods.
While currently unused inside
WebPasteboardProxy, the next patch will attempt to use these page identifiers to
retrieve a data owner type from the correspondingWebPageProxy, and then forward this data owner type to the
PlatformPasteboard.
- UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:
(WebKit::WebPasteboardProxy::getPasteboardTypes):
(WebKit::WebPasteboardProxy::getPasteboardPathnamesForType):
(WebKit::WebPasteboardProxy::getPasteboardStringForType):
(WebKit::WebPasteboardProxy::getPasteboardStringsForType):
(WebKit::WebPasteboardProxy::getPasteboardBufferForType):
(WebKit::WebPasteboardProxy::getPasteboardChangeCount):
(WebKit::WebPasteboardProxy::getPasteboardColor):
(WebKit::WebPasteboardProxy::getPasteboardURL):
(WebKit::WebPasteboardProxy::addPasteboardTypes):
(WebKit::WebPasteboardProxy::setPasteboardTypes):
(WebKit::WebPasteboardProxy::setPasteboardURL):
(WebKit::WebPasteboardProxy::setPasteboardColor):
(WebKit::WebPasteboardProxy::setPasteboardStringForType):
(WebKit::WebPasteboardProxy::containsURLStringSuitableForLoading):
(WebKit::WebPasteboardProxy::urlStringSuitableForLoading):
(WebKit::WebPasteboardProxy::setPasteboardBufferForType):
(WebKit::WebPasteboardProxy::getNumberOfFiles):
(WebKit::WebPasteboardProxy::typesSafeForDOMToReadAndWrite):
(WebKit::WebPasteboardProxy::writeCustomData):
(WebKit::WebPasteboardProxy::allPasteboardItemInfo):
(WebKit::WebPasteboardProxy::informationForItemAtIndex):
(WebKit::WebPasteboardProxy::getPasteboardItemsCount):
(WebKit::WebPasteboardProxy::readStringFromPasteboard):
(WebKit::WebPasteboardProxy::readURLFromPasteboard):
(WebKit::WebPasteboardProxy::readBufferFromPasteboard):
(WebKit::WebPasteboardProxy::containsStringSafeForDOMToReadForType):
(WebKit::WebPasteboardProxy::writeURLToPasteboard):
(WebKit::WebPasteboardProxy::writeWebContentToPasteboard):
(WebKit::WebPasteboardProxy::writeImageToPasteboard):
(WebKit::WebPasteboardProxy::writeStringToPasteboard):
(WebKit::WebPasteboardProxy::updateSupportedTypeIdentifiers):
- UIProcess/WebPasteboardProxy.cpp:
(WebKit::WebPasteboardProxy::typesSafeForDOMToReadAndWrite):
(WebKit::WebPasteboardProxy::writeCustomData):
(WebKit::WebPasteboardProxy::allPasteboardItemInfo):
(WebKit::WebPasteboardProxy::informationForItemAtIndex):
(WebKit::WebPasteboardProxy::getPasteboardItemsCount):
(WebKit::WebPasteboardProxy::readURLFromPasteboard):
(WebKit::WebPasteboardProxy::readBufferFromPasteboard):
(WebKit::WebPasteboardProxy::readStringFromPasteboard):
(WebKit::WebPasteboardProxy::containsStringSafeForDOMToReadForType):
(WebKit::WebPasteboardProxy::containsURLStringSuitableForLoading):
(WebKit::WebPasteboardProxy::urlStringSuitableForLoading):
- UIProcess/WebPasteboardProxy.h:
- UIProcess/WebPasteboardProxy.messages.in:
- UIProcess/gtk/WebPasteboardProxyGtk.cpp:
(WebKit::WebPasteboardProxy::typesSafeForDOMToReadAndWrite):
(WebKit::WebPasteboardProxy::writeCustomData):
- UIProcess/libwpe/WebPasteboardProxyLibWPE.cpp:
(WebKit::WebPasteboardProxy::readStringFromPasteboard):
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::writeItemsToPasteboard):
- WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::pageIdentifier):
(WebKit::WebPlatformStrategies::getTypes):
(WebKit::WebPlatformStrategies::bufferForType):
(WebKit::WebPlatformStrategies::getPathnamesForType):
(WebKit::WebPlatformStrategies::stringForType):
(WebKit::WebPlatformStrategies::allStringsForType):
(WebKit::WebPlatformStrategies::changeCount):
(WebKit::WebPlatformStrategies::color):
(WebKit::WebPlatformStrategies::url):
(WebKit::WebPlatformStrategies::addTypes):
(WebKit::WebPlatformStrategies::setTypes):
(WebKit::WebPlatformStrategies::setBufferForType):
(WebKit::WebPlatformStrategies::setURL):
(WebKit::WebPlatformStrategies::setColor):
(WebKit::WebPlatformStrategies::setStringForType):
(WebKit::WebPlatformStrategies::getNumberOfFiles):
(WebKit::WebPlatformStrategies::containsURLStringSuitableForLoading):
(WebKit::WebPlatformStrategies::urlStringSuitableForLoading):
(WebKit::WebPlatformStrategies::writeToPasteboard):
(WebKit::WebPlatformStrategies::updateSupportedTypeIdentifiers):
(WebKit::WebPlatformStrategies::typesSafeForDOMToReadAndWrite):
(WebKit::WebPlatformStrategies::writeCustomData):
(WebKit::WebPlatformStrategies::containsStringSafeForDOMToReadForType):
(WebKit::WebPlatformStrategies::getPasteboardItemsCount):
(WebKit::WebPlatformStrategies::allPasteboardItemInfo):
(WebKit::WebPlatformStrategies::informationForItemAtIndex):
(WebKit::WebPlatformStrategies::readBufferFromPasteboard):
(WebKit::WebPlatformStrategies::readURLFromPasteboard):
(WebKit::WebPlatformStrategies::readStringFromPasteboard):
- WebProcess/WebCoreSupport/WebPlatformStrategies.h:
Source/WebKitLegacy/mac:
Add
const PasteboardContext*arguments to thePasteboardStrategymethods onWebPlatformStrategies.
- WebCoreSupport/WebPlatformStrategies.h:
- WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::getTypes):
(WebPlatformStrategies::bufferForType):
(WebPlatformStrategies::getPathnamesForType):
(WebPlatformStrategies::allStringsForType):
(WebPlatformStrategies::stringForType):
(WebPlatformStrategies::changeCount):
(WebPlatformStrategies::color):
(WebPlatformStrategies::url):
(WebPlatformStrategies::addTypes):
(WebPlatformStrategies::setTypes):
(WebPlatformStrategies::setBufferForType):
(WebPlatformStrategies::setURL):
(WebPlatformStrategies::setColor):
(WebPlatformStrategies::setStringForType):
(WebPlatformStrategies::getNumberOfFiles):
(WebPlatformStrategies::typesSafeForDOMToReadAndWrite):
(WebPlatformStrategies::writeCustomData):
(WebPlatformStrategies::containsStringSafeForDOMToReadForType):
(WebPlatformStrategies::informationForItemAtIndex):
(WebPlatformStrategies::allPasteboardItemInfo):
(WebPlatformStrategies::getPasteboardItemsCount):
(WebPlatformStrategies::readBufferFromPasteboard):
(WebPlatformStrategies::readURLFromPasteboard):
(WebPlatformStrategies::readStringFromPasteboard):
(WebPlatformStrategies::containsURLStringSuitableForLoading):
(WebPlatformStrategies::urlStringSuitableForLoading):
(WebPlatformStrategies::writeToPasteboard):
(WebPlatformStrategies::updateSupportedTypeIdentifiers):
- 3:48 PM Changeset in webkit [273107] by
-
- 12 edits6 adds in trunk
[JSC] Implement private static method
https://bugs.webkit.org/show_bug.cgi?id=219181
Reviewed by Yusuke Suzuki.
JSTests:
- stress/class-private-method-access.js: Added.
- stress/private-accessor-static-non-static.js: Added.
- stress/private-getter-inner-class.js:
- stress/static-private-methods-and-accessor-inner-class.js: Added.
- stress/static-private-methods-and-accessor-multiple-evaluation.js: Added.
- stress/static-private-methods-and-accessors-postfix-node.js: Added.
- stress/static-private-methods-and-accessors-prefix-node.js: Added.
- test262/config.yaml:
Source/JavaScriptCore:
This patch is implementing static private methods and accessors
proposal based on https://github.com/tc39/proposal-static-class-features.
This implementation diverge a bit from private methods&accessors on the
brand check, because we are using a simpler way to perform static
brand checks. Since only the class constructor is allowed to access
its private methods and accessors, we save it on@privateClassBrand
on class lexical scope and compare it with the receiver of the static
private method (and accessors) using===operation.
While this genenrates more bytecodes thancheck_private_brand, we
don't need to perform a Structure transition to install a brand,
and avoid allocation of a private symbol. Since each evaluation of a
class generates a different constructor object, we preserve the semantics
that private methods are lexically scoped.
- builtins/BuiltinNames.h:
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitCreatePrivateBrand):
(JSC::BytecodeGenerator::emitInstallPrivateBrand):
(JSC::BytecodeGenerator::emitInstallPrivateClassBrand):
(JSC::BytecodeGenerator::emitGetPrivateBrand):
(JSC::BytecodeGenerator::emitCheckPrivateBrand):
- bytecompiler/BytecodeGenerator.h:
- bytecompiler/NodesCodegen.cpp:
(JSC::BaseDotNode::emitGetPropertyValue):
(JSC::BaseDotNode::emitPutProperty):
(JSC::PostfixNode::emitDot):
(JSC::PrefixNode::emitDot):
(JSC::ClassExprNode::emitBytecode):
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseClass):
(JSC::Parser<LexerType>::parseGetterSetter):
- parser/Parser.h:
(JSC::Scope::declarePrivateMethod):
(JSC::Scope::declarePrivateAccessor):
(JSC::Scope::declarePrivateSetter):
(JSC::Scope::declarePrivateGetter):
- parser/VariableEnvironment.cpp:
(JSC::VariableEnvironment::declarePrivateAccessor):
(JSC::VariableEnvironment::declarePrivateSetter):
(JSC::VariableEnvironment::declarePrivateGetter):
(JSC::VariableEnvironment::declarePrivateMethod):
- parser/VariableEnvironment.h:
(JSC::PrivateNameEntry::isStatic const):
(JSC::VariableEnvironment::isEmpty const):
(JSC::VariableEnvironment::declareStaticPrivateMethod):
(JSC::VariableEnvironment::declarePrivateSetter):
(JSC::VariableEnvironment::declareStaticPrivateSetter):
(JSC::VariableEnvironment::declarePrivateGetter):
(JSC::VariableEnvironment::declareStaticPrivateGetter):
(JSC::VariableEnvironment::hasStaticPrivateMethodOrAccessor const):
(JSC::VariableEnvironment::hasInstancePrivateMethodOrAccessor const):
(JSC::VariableEnvironment::hasPrivateMethodOrAccessor const): Deleted.
- 3:37 PM Changeset in webkit [273106] by
-
- 1 copy in tags/Safari-612.1.4
Tag Safari-612.1.4.
- 3:28 PM Changeset in webkit [273105] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r273004): [ macOS ] media/modern-media-controls/volume-support/volume-support-drag.html is a flakey text failure
https://bugs.webkit.org/show_bug.cgi?id=222117
Unreviewed test gardening.
Patch by Robert Jenner <Robert Jenner> on 2021-02-18
- platform/mac/TestExpectations:
- 3:20 PM Changeset in webkit [273104] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Fix segfaults on 32-bit big endian systems
https://bugs.webkit.org/show_bug.cgi?id=221710
Patch by Daniel Kolesa <Daniel Kolesa> on 2021-02-18
Reviewed by Yusuke Suzuki.
In these cases, we are loading values from memory into registers.
Seemingly, these values are present at an offset on 32-bit big
endian targets; therefore, add PayloadOffset, which is 4 on BE
and 0 on LE (same behavior as right now) and is already present
in other similar accesses in the file.
- llint/LowLevelInterpreter32_64.asm:
- 3:14 PM Changeset in webkit [273103] by
-
- 4 edits in trunk
Fix null dereferencing in RangeResponseGenerator::giveResponseToTasksWithFinishedRanges
https://bugs.webkit.org/show_bug.cgi?id=222126
Reviewed by Darin Adler.
Source/WebCore:
Setting the resource to nullptr can delete the resource, which deletes the client, which is this.
When we go to read m_generator from this, we get a nullptr crash. Let's not crash.
- platform/network/cocoa/RangeResponseGenerator.mm:
(WebCore::RangeResponseGenerator::willSynthesizeRangeResponses):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm:
(TestWebKitAPI::TEST):
- 1:22 PM Changeset in webkit [273102] by
-
- 29 edits in trunk
Add support for non app-bound requests
https://bugs.webkit.org/show_bug.cgi?id=221909
<rdar://problem/73512988>
Source/WebCore:
Reviewed by Brent Fulgham.
Store whether the last navigation was app-bound in the DocumentLoader
so we can pass it to all sub resource loads. See WebKit changelog for more details.
- loader/DocumentLoader.h:
(WebCore::DocumentLoader::lastNavigationWasAppBound const):
(WebCore::DocumentLoader::setlastNavigationWasAppBound):
- platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::setAsIsolatedCopy):
- platform/network/ResourceRequestBase.h:
(WebCore::ResourceRequestBase::isAppBound const):
(WebCore::ResourceRequestBase::setIsAppBound):
(WebCore::ResourceRequestBase::ResourceRequestBase):
(WebCore::ResourceRequestBase::encodeBase const):
(WebCore::ResourceRequestBase::decodeBase):
Source/WebKit:
Reviewed by Brent Fulgham.
Add a new parameter to the ResourceRequest class specifying app
bound requests and populate subresource loads, redirects, and
preconnect tasks with this value.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::preconnectTo):
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::continueWillSendRedirectedRequest):
- Scripts/webkit/messages.py:
- Shared/NavigatingToAppBoundDomain.h:
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
- Shared/mac/WebCoreArgumentCodersMac.mm:
(IPC::ArgumentCoder<WebCore::ResourceRequest>::encodePlatformData):
(IPC::ArgumentCoder<WebCore::ResourceRequest>::decodePlatformData):
- UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
- UIProcess/API/Cocoa/WKWebViewTesting.mm:
(-[WKWebView _lastNavigationWasAppBound:]):
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::setLastNavigationWasAppBound):
(WebKit::WebPageProxy::lastNavigationWasAppBound):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::preconnectTo):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadRequest):
(WebKit::WebPageProxy::preconnectTo):
(WebKit::WebPageProxy::creationParameters):
- UIProcess/WebPageProxy.h:
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::loadResource):
For the case of a main resource load without a navigation, like from about:blank,
the main resource load uses the original document loader which was created before
WebPage::loadRequest sets the value of m_lastNavigationWasAppBound. For this reason,
we should not check the document loader value for the main resource and
know that the resource request has the correct value.
(WebKit::WebLoaderStrategy::preconnectTo):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_lastNavigationWasAppBound):
(WebKit::WebPage::loadRequest):
(WebKit::WebPage::createDocumentLoader):
We should store lastNavigationWasAppBound in the document loader
instead of the page so we don't affect previous loads while initiating
the navigation to the next site.
(WebKit::WebPage::lastNavigationWasAppBound):
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::setLastNavigationWasAppBound):
- WebProcess/WebPage/WebPage.messages.in:
Tools:
API test coverage.
Reviewed by Brent Fulgham.
- TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
- TestWebKitAPI/cocoa/TestWKWebView.h:
- TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[WKWebView lastNavigationWasAppBound:]):
- 1:17 PM Changeset in webkit [273101] by
-
- 3 edits in trunk/Tools
Undeprecate some webkit-patch commands
https://bugs.webkit.org/show_bug.cgi?id=222106
Patch by Sam Sneddon <Sam Sneddon> on 2021-02-18
Reviewed by Jonathan Bedard.
This removes the deprecated decorator from the webkit-patch commands we quickly heard are
actually used: apply-watchlist-local, check-style, clean, create-revert, prepare-revert,
and validate-changelog.
- Scripts/webkitpy/tool/commands/applywatchlistlocal.py:
- Scripts/webkitpy/tool/commands/download.py:
- 1:04 PM Changeset in webkit [273100] by
-
- 2 edits in trunk/Source/WebCore
[iOS][FCR] Adjust button colors and fonts to match new specification
https://bugs.webkit.org/show_bug.cgi?id=222123
<rdar://problem/74485781>
Reviewed by Wenson Hsieh.
- css/formControlsIOS.css:
(input:matches([type="button"], [type="submit"], [type="reset"]), input[type="file"]::file-selector-button, button):
(input:matches([type="button"], [type="reset"]), input[type="file"]::file-selector-button, button):
Use a blue on gray color scheme, rather than dark blue on light blue.
(input[type="submit"]):
Submit buttons have a bold font by default.
- 1:02 PM Changeset in webkit [273099] by
-
- 2 edits in trunk/Source/WebKit
[macOS] Remove unused IPC shared memory reads in WebContent process
https://bugs.webkit.org/show_bug.cgi?id=222083
<rdar://problem/73509623>
Reviewed by Per Arne Vollan.
- WebProcess/com.apple.WebProcess.sb.in:
- 12:58 PM Changeset in webkit [273098] by
-
- 2 edits in trunk/Source/WebCore
Web Inspector: Implement Grid Overlay "Show track sizes" drawing
https://bugs.webkit.org/show_bug.cgi?id=222007
Reviewed by BJ Burg.
Show computed and authored track sizes in the grid overlay. Authored sizes are determined from the original
CSSValue, not from the GridTrackSize as the later loses the exact authored syntax (e.g.14vwis already
resolved to an absolute pixel value).
When the authored size is in
pxand is identical to the computed size, the value is only shown once for the
track.
- inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::drawLayoutLabel):
- Use the system-ui font for layout labels and reduce the font size to improve information density.
- Drive-by further adjustment to label text positioning to be more accurate.
(WebCore::authoredGridTrackSizes):
- Get the authored sizes for each track in a sizing direction (row-wise or column-wise).
(WebCore::InspectorOverlay::drawGridOverlay):
- Draw labels for track sizes with their computed and, if different from the computed, authored values.
- Drive-by to have area name label backgrounds share a common constant color with track size label backgrounds.
- 12:51 PM Changeset in webkit [273097] by
-
- 6 edits1 add in trunk/Source/WebInspectorUI
Web Inspector: Elements: show badges for CSS Grid container elements
https://bugs.webkit.org/show_bug.cgi?id=221370
Reviewed by BJ Burg.
Clicking "grid" CSS badge shows/hides the grid overlay for the corresponding element.
- UserInterface/Base/Setting.js:
- UserInterface/Controllers/OverlayManager.js:
(WI.OverlayManager.prototype.isGridOverlayVisible):
(WI.OverlayManager.prototype.toggleGridOverlay):
- UserInterface/Main.html:
- UserInterface/Views/DOMTreeElement.css: Added.
(.tree-outline.dom .badge-css-grid):
(.tree-outline.dom .badge-css-grid.activated):
(.tree-outline.dom li.selected .badge-css-grid):
(.tree-outline.dom li.selected .badge-css-grid.activated):
(body:not(.window-inactive, .window-docked-inactive) .tree-outline.dom:focus-within li.selected .badge-css-grid):
(body:not(.window-inactive, .window-docked-inactive) .tree-outline.dom:focus-within li.selected .badge-css-grid.activated):
(@media (prefers-color-scheme: dark) .tree-outline.dom .badge-css-grid):
- UserInterface/Views/DOMTreeElement.js:
(WI.DOMTreeElement):
(WI.DOMTreeElement.prototype.onattach):
(WI.DOMTreeElement.prototype.ondetach):
(WI.DOMTreeElement.prototype.updateTitle):
(WI.DOMTreeElement.prototype._updateGridBadge):
(WI.DOMTreeElement.prototype._gridBadgeClicked):
(WI.DOMTreeElement.prototype._gridBadgeDoubleClicked):
(WI.DOMTreeElement.prototype._updateGridBadgeStatus):
(WI.DOMTreeElement.prototype._handleLayoutContextTypeChanged):
- UserInterface/Views/SettingsTabContentView.js:
(WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
- 12:46 PM Changeset in webkit [273096] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Update .eslintrc to account for ECMAScript 2021
https://bugs.webkit.org/show_bug.cgi?id=222107
Patch by Razvan Caliman <Razvan Caliman> on 2021-02-18
Reviewed by BJ Burg.
Add ES2021 parser option so ESLint-based linters don't throw errors
for newer JavaScript features, like logical assignment operators (??=, &&=, ) Note: The linter in an editor must support ESLint v7.8.0 or newer to understand ES2021.
- .eslintrc:
- 12:46 PM Changeset in webkit [273095] by
-
- 3 edits in trunk/Source/WebKit
Unreviewed, reverting r273063.
GTK port layout tests are timint out.
Reverted changeset:
"[CoordinatedGraphics] The whole content is unnecessarily
repainted by animations in non-AC mode pages"
https://bugs.webkit.org/show_bug.cgi?id=221391
https://commits.webkit.org/r273063
- 12:38 PM Changeset in webkit [273094] by
-
- 10 edits in trunk/Source/WebCore
Unreviewed, reverting r272849.
https://bugs.webkit.org/show_bug.cgi?id=222121
Increased page load time
Reverted changeset:
"CSSFontFace should not need its m_fontSelector data member"
https://bugs.webkit.org/show_bug.cgi?id=208351
https://trac.webkit.org/changeset/272849
- 12:36 PM Changeset in webkit [273093] by
-
- 2 edits in trunk/Source/WebKit
[macOS] Remove access to audio IOKit
https://bugs.webkit.org/show_bug.cgi?id=222062
<rdar://problem/70496648>
Reviewed by Brent Fulgham.
Remove access to audio IOKit in the WebContent process on macOS when GPUP is enabled.
- WebProcess/com.apple.WebProcess.sb.in:
- 12:15 PM Changeset in webkit [273092] by
-
- 2 edits in trunk/Tools
Skip platform specific Python tests
https://bugs.webkit.org/show_bug.cgi?id=222066
Reviewed by Jonathan Bedard.
Catalog platform specific tests based on operating system. Skip those tests that don't
apply to the platform. Mac should continue to run all tests since it runs the webkitpy
tests in EWS.
- Scripts/webkitpy/test/main.py:
- 12:14 PM Changeset in webkit [273091] by
-
- 2 edits in trunk/LayoutTests
[BigSur] imported/w3c/web-platform-tests/css/css-counter-styles/tibetan/css3-counter-styles-156.html is consistently failing
https://bugs.webkit.org/show_bug.cgi?id=222118
Unreviewed test gardening.
Patch by Amir Mark Jr <Amir Mark Jr.> on 2021-02-18
- platform/mac/TestExpectations:
- 12:08 PM Changeset in webkit [273090] by
-
- 3 edits in trunk/Tools
[ews] Ensure that uat instance doesn't comment on bugs
https://bugs.webkit.org/show_bug.cgi?id=222035
Reviewed by Jonathan Bedard.
- CISupport/ews-build/steps.py:
(SetCommitQueueMinusFlagOnPatch.getResultSummary):
(SetCommitQueueMinusFlagOnPatch.doStepIf):
(CommentOnBug.getResultSummary):
(CommentOnBug.doStepIf):
(PushCommitToWebKitRepo.doStepIf):
- CISupport/ews-build/steps_unittest.py: Updated unit-test accordingly.
- 12:04 PM Changeset in webkit [273089] by
-
- 5 edits in trunk/Source
libwebrtc installs some files into incorrect locations in /usr/local/include
https://bugs.webkit.org/show_bug.cgi?id=221534
<rdar://problem/74333613>
Reviewed by Eric Carlson.
Source/ThirdParty/libwebrtc:
- libwebrtc.xcodeproj/project.pbxproj:
Mark optional.h as project instead of private.
Move vp9 header copying from common to webm.
Source/WebCore:
No change of behavior.
- platform/graphics/cocoa/SourceBufferParserWebM.h:
- platform/graphics/cocoa/VP9UtilitiesCocoa.mm:
Update according new vp9 header code path.
- 11:44 AM Changeset in webkit [273088] by
-
- 35 edits2 copies3 adds in trunk
PCM: Request signature for unlinkable token using attributionSourceNonce
https://bugs.webkit.org/show_bug.cgi?id=222076
<rdar://73581651>
Reviewed by Chris Dumez.
Source/WebCore:
Test: http/tests/privateClickMeasurement/store-private-click-measurement-with-source-nonce.html
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::handleClick):
Adoption of renamed function PrivateClickMeasurement::attributionReportURL().
- loader/PrivateClickMeasurement.cpp:
(WebCore::PrivateClickMeasurement::tokenSignatureURL const):
(WebCore::PrivateClickMeasurement::tokenSignatureJSON const):
New functions to facilitate the request for a token signature.
(WebCore::PrivateClickMeasurement::attributionReportURL const):
(WebCore::PrivateClickMeasurement::attributionReportJSON const):
Renamed functions to make them distinct from their token signing peers.
(WebCore::PrivateClickMeasurement::reportURL const): Deleted.
(WebCore::PrivateClickMeasurement::json const): Deleted.
- loader/PrivateClickMeasurement.h:
(WebCore::PrivateClickMeasurement::encode const):
(WebCore::PrivateClickMeasurement::decode):
(WebCore::PrivateClickMeasurement::EphemeralSourceNonce::encode const):
(WebCore::PrivateClickMeasurement::EphemeralSourceNonce::decode):
Encode and decode to facilitate transfer over IPC.
Source/WebKit:
This patch makes PrivateClickMeasurementManager::storeUnattributed() look
for incoming source nonces and if found, call the new function
PrivateClickMeasurementManager::getSignedUnlinkableToken().
A new static function generateNetworkResourceLoadParameters() was added
to reuse code between PrivateClickMeasurementManager::getSignedUnlinkableToken()
and the existing PrivateClickMeasurementManager::fireConversionRequest().
To enable testing, there is a new function called
NetworkSession::setPrivateClickMeasurementTokenSignatureURLForTesting() and
function setPrivateClickMeasurementConversionURLForTesting() was renamed
setPrivateClickMeasurementAttributionReportURLForTesting() in NetworkProcess,
NetworkSession, WKPagePrivate, WKWebViewPrivateForTesting, and
PrivateClickMeasurementManager to align with the naming used in other places.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::setPrivateClickMeasurementTokenSignatureURLForTesting):
(WebKit::NetworkProcess::setPrivateClickMeasurementAttributionReportURLForTesting):
(WebKit::NetworkProcess::setPrivateClickMeasurementConversionURLForTesting): Deleted.
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::setPrivateClickMeasurementTokenSignatureURLForTesting):
(WebKit::NetworkSession::setPrivateClickMeasurementAttributionReportURLForTesting):
(WebKit::NetworkSession::setPrivateClickMeasurementConversionURLForTesting): Deleted.
- NetworkProcess/NetworkSession.h:
- NetworkProcess/PrivateClickMeasurementManager.cpp:
(WebKit::PrivateClickMeasurementManager::storeUnattributed):
(WebKit::generateNetworkResourceLoadParameters):
(WebKit::PrivateClickMeasurementManager::getSignedUnlinkableToken):
(WebKit::PrivateClickMeasurementManager::fireConversionRequest):
(WebKit::PrivateClickMeasurementManager::setTokenSignatureURLForTesting):
(WebKit::PrivateClickMeasurementManager::setAttributionReportURLForTesting):
(WebKit::PrivateClickMeasurementManager::setConversionURLForTesting): Deleted.
- NetworkProcess/PrivateClickMeasurementManager.h:
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPrivateClickMeasurementTokenSignatureURLForTesting):
(WKPageSetPrivateClickMeasurementAttributionReportURLForTesting):
(WKPageSetPrivateClickMeasurementConversionURLForTesting): Deleted.
- UIProcess/API/C/WKPagePrivate.h:
- UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
- UIProcess/API/Cocoa/WKWebViewTesting.mm:
(-[WKWebView _setPrivateClickMeasurementAttributionReportURLForTesting:completionHandler:]):
(-[WKWebView _setPrivateClickMeasurementConversionURLForTesting:completionHandler:]): Deleted.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setPrivateClickMeasurementTokenSignatureURLForTesting):
(WebKit::WebPageProxy::setPrivateClickMeasurementAttributionReportURLForTesting):
(WebKit::WebPageProxy::setPrivateClickMeasurementConversionURLForTesting): Deleted.
- UIProcess/WebPageProxy.h:
Tools:
The changes to the TestRunner are:
- Rename setPrivateClickMeasurementConversionURLForTesting() to
setPrivateClickMeasurementAttributionReportURLForTesting() to align with other
naming and make it clear that it does.
- Add the new setPrivateClickMeasurementTokenSignatureURLForTesting() used for
testing the token signing request.
The changes to API tests are to adopt renamed functions in
WebCore::PrivateClickMeasurement:
- reportURL() renamed attributionReportURL().
- json() renamed attributionReportJSON().
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebCore/PrivateClickMeasurement.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
(TestWebKitAPI::TEST):
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setPrivateClickMeasurementTokenSignatureURLForTesting):
(WTR::TestRunner::setPrivateClickMeasurementAttributionReportURLForTesting):
(WTR::TestRunner::setPrivateClickMeasurementConversionURLForTesting): Deleted.
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::setPrivateClickMeasurementTokenSignatureURLForTesting):
(WTR::TestController::setPrivateClickMeasurementAttributionReportURLForTesting):
(WTR::TestController::setPrivateClickMeasurementConversionURLForTesting): Deleted.
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
LayoutTests:
- http/tests/contentextensions/block-private-click-measurement.html:
Adoption of renamed TestRunner function setPrivateClickMeasurementAttributionReportURLForTesting().
- http/tests/privateClickMeasurement/conversion-disabled-in-ephemeral-session.html:
Adoption of renamed TestRunner function setPrivateClickMeasurementAttributionReportURLForTesting().
- http/tests/privateClickMeasurement/expired-attribution-report-gets-sent-on-session-start.html:
Adoption of renamed TestRunner function setPrivateClickMeasurementAttributionReportURLForTesting().
- http/tests/privateClickMeasurement/resources/getConversionData.php:
Adoption of renamed TestRunner function setPrivateClickMeasurementAttributionReportURLForTesting().
- http/tests/privateClickMeasurement/resources/getTokenSigningData.php: Added.
- http/tests/privateClickMeasurement/resources/signToken.php: Added.
- http/tests/privateClickMeasurement/resources/tokenSigningFilePath.php: Added.
- http/tests/privateClickMeasurement/resources/util.js:
(tearDownAndFinish):
Adoption of renamed TestRunner function setPrivateClickMeasurementAttributionReportURLForTesting().
Now also calls setPrivateClickMeasurementTokenSignatureURLForTesting().
- http/tests/privateClickMeasurement/send-attribution-conversion-request.html:
Adoption of renamed TestRunner function setPrivateClickMeasurementAttributionReportURLForTesting().
- http/tests/privateClickMeasurement/store-private-click-measurement-with-source-nonce-expected.txt: Added.
- http/tests/privateClickMeasurement/store-private-click-measurement-with-source-nonce.html: Added.
- 11:40 AM Changeset in webkit [273087] by
-
- 2 edits in trunk/Source/WebKit
[WPE][GTK] Avoid another child setup function in process launcher code
https://bugs.webkit.org/show_bug.cgi?id=222049
Patch by Michael Catanzaro <Michael Catanzaro> on 2021-02-18
Reviewed by Carlos Garcia Campos.
Avoiding child setup functions is desirable because it could allow GSubprocess to use
posix_spawn() instead of fork() in the future. That's not possible to do if we have code
that needs to run between fork() and exec().
In this case, the child setup is used only to unset CLOEXEC. We could simply not set it in
the first place. This only fails if a secondary thread decides to launch a subprocess before
XDGDBusProxyLauncher::launch returns. That window already exists in many other places (e.g.
anywhere else setCloseOnExec is called, such as for IPC::Connection objects). Threads should
not do that.
This also fixes a bug where unsetting CLOEXEC would fail if we get unlucky and receive
EINTR. A loop is required here. WTF::setCloseOnExec handles that for us.
- UIProcess/Launcher/glib/BubblewrapLauncher.cpp:
(WebKit::XDGDBusProxyLauncher::launch):
(WebKit::XDGDBusProxyLauncher::childSetupFunc): Deleted.
- 11:14 AM Changeset in webkit [273086] by
-
- 24 edits in trunk
[JSC] Implement RegExp Match Indices proposal
https://bugs.webkit.org/show_bug.cgi?id=202475
Reviewed by Yusuke Suzuki.
JSTests:
Updated tests.
- es6/Proxy_internal_get_calls_RegExp.prototype.flags.js:
- stress/static-getter-in-names.js:
- test262/config.yaml:
Source/JavaScriptCore:
This implements the latest version of the RegExp match indices proposal (https://github.com/tc39/proposal-regexp-match-indices).
It includes a new 'd' flag to RegExp's to trigger the population of the 'indices' property tree in a Matches result from
RegExp.exec() and related methods. This change is performance neutral on JetStream2.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::handleNode):
- runtime/CommonIdentifiers.h:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::fireWatchpointAndMakeAllArrayStructuresSlowPut):
(JSC::JSGlobalObject::visitChildren):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::regExpMatchesArrayWithIndicesStructure const):
(JSC::JSGlobalObject::regExpMatchesIndicesArrayStructure const):
- runtime/RegExp.cpp:
(JSC::RegExpFunctionalTestCollector::outputOneTest):
(JSC::regexpToSourceString):
- runtime/RegExp.h:
- runtime/RegExpMatchesArray.cpp:
(JSC::createEmptyRegExpMatchesArray):
(JSC::createStructureWithIndicesImpl):
(JSC::createIndicesStructureImpl):
(JSC::createRegExpMatchesArrayWithIndicesStructure):
(JSC::createRegExpMatchesIndicesArrayStructure):
(JSC::createRegExpMatchesArrayWithIndicesSlowPutStructure):
(JSC::createRegExpMatchesIndicesArraySlowPutStructure):
- runtime/RegExpMatchesArray.h:
(JSC::createRegExpMatchesArray):
- runtime/RegExpPrototype.cpp:
(JSC::RegExpPrototype::finishCreation):
(JSC::flagsString):
(JSC::JSC_DEFINE_HOST_FUNCTION):
- yarr/YarrFlags.cpp:
(JSC::Yarr::parseFlags):
- yarr/YarrFlags.h:
- yarr/YarrInterpreter.h:
(JSC::Yarr::BytecodePattern::hasIndices const):
- yarr/YarrPattern.h:
(JSC::Yarr::YarrPattern::hasIndices const):
LayoutTests:
Updated tests.
- js/Object-getOwnPropertyNames-expected.txt:
- js/regexp-named-capture-groups-expected.txt:
- js/script-tests/Object-getOwnPropertyNames.js:
- js/script-tests/regexp-named-capture-groups.js:
- 11:12 AM Changeset in webkit [273085] by
-
- 7 edits in trunk
Set ENABLE_VP9 to 1 on IOS
https://bugs.webkit.org/show_bug.cgi?id=222042
<rdar://problem/74433523>
Reviewed by Eric Carlson.
Source/WebKit:
No change of behavior.
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetVP9DecoderEnabled):
(WKPreferencesGetVP9DecoderEnabled):
- UIProcess/API/C/WKPreferencesRef.h:
Source/WTF:
- wtf/PlatformEnableCocoa.h:
Tools:
- WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetPreferencesToConsistentValues):
Disable VP9Decoder in ios simulator since there is no support for it through VTB.
- 10:58 AM Changeset in webkit [273084] by
-
- 5 edits in trunk
[GTK] Remove all Google user agent quirks except for Google Docs
https://bugs.webkit.org/show_bug.cgi?id=222039
Patch by Michael Catanzaro <Michael Catanzaro> on 2021-02-18
Reviewed by Carlos Garcia Campos.
Source/WebCore:
The Google user agent quirks have a very long and complex history, detailed across over a
dozen different bug reports. But Google seems to have improved its practices, and they are
no longer needed except on Google Docs, at least for now. This is a historic moment!
- platform/UserAgentQuirks.cpp:
(WebCore::UserAgentQuirks::quirksForURL):
(WebCore::UserAgentQuirks::stringForQuirk):
(WebCore::urlRequiresLinuxDesktopPlatform): Deleted.
- platform/glib/UserAgentGLib.cpp:
(WebCore::buildUserAgentString):
Tools:
- TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::assertUserAgentForURLHasLinuxPlatformQuirk): Deleted.
- 10:38 AM Changeset in webkit [273083] by
-
- 11 edits in trunk/Source
Experiment with using the theme-color as the scroll area background if provided
https://bugs.webkit.org/show_bug.cgi?id=222078
<rdar://problem/74158818>
Reviewed by Tim Horton.
Source/WebCore:
- rendering/RenderLayerCompositor.h:
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateLayerForOverhangAreasBackgroundColor): Added.
(WebCore::RenderLayerCompositor::rootBackgroundColorOrTransparencyChanged):
- dom/Document.cpp:
(WebCore::Document::processThemeColor):
Notify theRenderLayerCompositorwhen<meta name="theme-color" content="...">changes.
Source/WebKit:
- UIProcess/API/ios/WKWebViewIOS.mm:
(baseScrollViewBackgroundColor):
- UIProcess/ViewSnapshotStore.cpp:
(WebKit::ViewSnapshotStore::recordSnapshot):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.cpp:
(WebPageProxy::scrollAreaBackgroundColor): Added.
Source/WTF:
- Scripts/Preferences/WebPreferencesInternal.yaml:
- 10:18 AM Changeset in webkit [273082] by
-
- 12 edits in trunk/Source
[macOS] Observe system sleep events in the UI process
https://bugs.webkit.org/show_bug.cgi?id=221996
<rdar://problem/74406570>
Reviewed by Chris Dumez.
Source/WebCore:
System sleep events should be observed in the UI process, which should notify the WebContent process.
- platform/audio/PlatformMediaSessionManager.h:
- platform/audio/cocoa/MediaSessionManagerCocoa.h:
- platform/audio/cocoa/MediaSessionManagerCocoa.mm:
(WebCore::MediaSessionManagerCocoa::MediaSessionManagerCocoa):
Source/WebCore/PAL:
Export symbols, since the system sleep listener will be instantiated in the UI process.
- pal/system/SystemSleepListener.h:
Source/WebKit:
System sleep events should be observed in the UI process, which should notify the WebContent process.
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::registerNotificationObservers):
(WebKit::WebProcessPool::unregisterNotificationObservers):
(WebKit::WebProcessPool::systemWillSleep):
(WebKit::WebProcessPool::systemDidWake):
- UIProcess/WebProcessPool.h:
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::systemWillSleep):
(WebKit::WebProcess::systemDidWake):
- 9:52 AM Changeset in webkit [273081] by
-
- 4 edits in trunk
Disable RangeResponseGenerator again.
https://bugs.webkit.org/show_bug.cgi?id=221072
Source/WebCore:
It seems to be causing GPU process crashes. Needs more investigating.
- platform/network/cocoa/RangeResponseGenerator.mm:
(WebCore::RangeResponseGenerator::willSynthesizeRangeResponses):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm:
(TestWebKitAPI::TEST):
- 9:46 AM Changeset in webkit [273080] by
-
- 30 edits in trunk
WebGL contexts do not work as source for Context2D drawImage calls in GPU process
https://bugs.webkit.org/show_bug.cgi?id=221811
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-02-18
Reviewed by Darin Adler.
Source/WebCore:
Implements rudimentary support for reading the WebGL context and transfering
it to a ImageBuffer.
Fixes many tests that are removed from gpu-process/TestExpectations.
- html/OffscreenCanvas.cpp:
(WebCore::OffscreenCanvas::transferToImageBitmap):
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::paintRenderingResultsToCanvas):
- platform/graphics/GraphicsContextGL.h:
Make paintRenderingResultsToCanvas and paintCompositedResultsToCanvas
take ImageBuffer& instead of ImageBuffer*, since the buffer always
exists.
- platform/graphics/cairo/GraphicsContextGLCairo.cpp:
(WebCore::GraphicsContextGLOpenGL::paintToCanvas):
- platform/graphics/cg/GraphicsContextGLCG.cpp:
(WebCore::GraphicsContextGLOpenGL::paintToCanvas):
Change the function signature so that it can be called from
other thread and without GraphicsContextGL instance.
It is not really a GraphicsContextGLOpenGL related function..
- platform/graphics/cocoa/GraphicsContextGLIOSurfaceSwapChain.cpp:
(WebCore::GraphicsContextGLIOSurfaceSwapChain::displayBuffer const):
(WebCore::GraphicsContextGLIOSurfaceSwapChain::recycleBuffer):
(WebCore::GraphicsContextGLIOSurfaceSwapChain::detachClient):
(WebCore::GraphicsContextGLIOSurfaceSwapChain::present):
- platform/graphics/cocoa/GraphicsContextGLIOSurfaceSwapChain.h:
- platform/graphics/cocoa/WebGLLayer.mm:
(WebGLLayerSwapChain::present):
Move the triple buffering implementation to the base class.
The implementation is now also used in GPU process side,
since the GPU process needs to be able to read the composited
results.
Previously the same logic was split between Web process and GPU process.
- platform/graphics/opengl/GraphicsContextGLOpenGL.cpp:
(WebCore::GraphicsContextGLOpenGL::paintRenderingResultsToCanvas):
(WebCore::GraphicsContextGLOpenGL::paintCompositedResultsToCanvas):
(WebCore::GraphicsContextGLOpenGL::paintRenderingResultsToImageData):
(WebCore::GraphicsContextGLOpenGL::readRenderingResultsForPainting):
(WebCore::GraphicsContextGLOpenGL::readCompositedResultsForPainting):
- platform/graphics/opengl/GraphicsContextGLOpenGL.h:
Expose public functions to get ImageData out of drawing buffer and
display buffer.
Source/WebKit:
Implements rudimentary support for reading the WebGL context and transfering
it to a ImageBuffer.
Fixes many tests that are removed from gpu-process/TestExpectations.
- GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::GPUConnectionToWebProcess::createGraphicsContextGL):
- GPUProcess/GPUConnectionToWebProcess.h:
(WebKit::GPUConnectionToWebProcess::RemoteRenderingBackendWrapper::get const):
- GPUProcess/GPUConnectionToWebProcess.messages.in:
- GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
(WebKit::RemoteGraphicsContextGL::create):
(WebKit::RemoteGraphicsContextGL::RemoteGraphicsContextGL):
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createGraphicsContextGL const):
- GPUProcess/graphics/RemoteGraphicsContextGLCocoa.cpp:
(WebKit::RemoteGraphicsContextGL::create):
(WebKit::RemoteGraphicsContextGLCocoa::RemoteGraphicsContextGLCocoa):
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
(WebKit::RemoteRenderingBackendProxy::renderingBackendIdentifier const):
RemoteGraphicsContextGL takes a ref of the respective RemoteRenderingBackend.
RemoteRenderingBackend is the one that can handle ImageBuffers.
(WebKit::RemoteGraphicsContextGL::paintRenderingResultsToCanvas):
(WebKit::RemoteGraphicsContextGL::paintCompositedResultsToCanvas):
(WebKit::RemoteGraphicsContextGL::paintImageDataToImageBuffer):
- GPUProcess/graphics/RemoteGraphicsContextGL.h:
- GPUProcess/graphics/RemoteGraphicsContextGL.messages.in:
Implement the functions by:
1) Wait for the pending changes to the ImageBuffer
2) Send a synchronous message from Web process to GPU process WebGL sequence
3) Reading the buffer, post the task to RenderingBackend sequence
4) Paint the results to the ImageBuffer
5) Return the synchronous message result
(WebKit::RemoteGraphicsContextGLCocoa::prepareForDisplay):
RemoteGraphicsContextGL now retains the reference to display buffer.
Before, just sent the display buffer to Web process and forgot
about it.
- GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::dispatch):
- GPUProcess/graphics/RemoteRenderingBackend.h:
Add function to dispatch work to rendering backend sequence.
- WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:
(WebKit::RemoteGraphicsContextGLProxy::create):
(WebKit::RemoteGraphicsContextGLProxy::RemoteGraphicsContextGLProxy):
(WebKit::RemoteGraphicsContextGLProxy::paintRenderingResultsToCanvas):
(WebKit::RemoteGraphicsContextGLProxy::paintCompositedResultsToCanvas):
- WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:
Send the messages.
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::connectToGPUProcess):
Use IPC::SendOption::DispatchMessageEvenWhenWaitingForSyncReply to
send CreateRenderingBackend. It must be dispatched in order compared to other
messages such as CreateRemoteGraphicsContextGL.
Tools:
Update two signatures for manually implemented messages.
- Scripts/generate-gpup-webgl:
LayoutTests:
Remove now passing tests from the expectations.
- gpu-process/TestExpectations:
- 9:42 AM Changeset in webkit [273079] by
-
- 2 edits in trunk/Source/WTF
Unreviewed tiny cleanup after r273056.
- wtf/Forward.h:
- 9:02 AM Changeset in webkit [273078] by
-
- 10 edits in trunk
lch() colors should serialize as lch(), not lab()
https://bugs.webkit.org/show_bug.cgi?id=222085
Reviewed by Darin Adler.
Source/WebCore:
Updates fast/css/parsing-lab-colors.html
The spec was updated to require lch() to serialize to itself.
Store LCHA colors in Color to allow serialization. This just moves
the conversion to Lab from parse time to CGColor creation time (it
happens implicitly in the conversion to extended sRGB).
- css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::parseLCHParameters):
- platform/graphics/ColorSerialization.cpp:
(WebCore::serialization):
(WebCore::serializationForCSS):
(WebCore::serializationForHTML):
(WebCore::serializationForRenderTreeAsText):
- platform/graphics/ColorSpace.cpp:
(WebCore::operator<<):
- platform/graphics/ColorSpace.h:
(WebCore::callWithColorType):
- platform/graphics/ColorUtilities.h:
(WebCore::isBlack):
(WebCore::isWhite):
- platform/graphics/cg/ColorSpaceCG.h:
(WebCore::cachedNullableCGColorSpace):
LayoutTests:
The spec was updated to require lch() to serialize to itself.
- fast/css/parsing-lab-colors-expected.txt:
- fast/css/parsing-lab-colors.html:
Update test to reflect new serialization of lch().
- 8:56 AM Changeset in webkit [273077] by
-
- 34 edits2 adds in trunk/Source
Plumb an Optional<PageIdentifier> through Pasteboard-related codepaths
https://bugs.webkit.org/show_bug.cgi?id=221987
Reviewed by Tim Horton.
Source/WebCore:
In order to facilitate tagging pasteboard reads and writes with a data owner type on iOS sourced from
WKContentView, we add infrastructure to (indirectly) tagPasteboardwith an optionalPageIdentifierto
indicate which page is triggering the pasteboard operation.
However, since the
Pasteboardclass should only be responsible for interfacing with platform-dependent
strategies for reading or writing data, we can't directly add aPageIdentifiermember toPasteboard.
Instead, we introduce a separatePasteboardContextobject, and letPasteboardhold a unique pointer to this
context (which is set during construction).PasteboardContextis then subclassed byPagePasteboardContext,
which holds aPageIdentifierand is created from call sites of thePasteboardconstructor that have access
to page identifiers (e.g.Editor,Clipboard,EventHandler).
In a future patch, this opaque
PasteboardContextwill be converted back to aPagePasteboardContextin order
to retrieve the page identifier in the WebKit client layer.
- Headers.cmake:
- Modules/async-clipboard/Clipboard.cpp:
(WebCore::Clipboard::readText):
(WebCore::Clipboard::writeText):
(WebCore::Clipboard::read):
(WebCore::Clipboard::ItemWriter::ItemWriter):
Here (and in many places below), create
PagePasteboardContextobjects and use them to createPasteboards,
passing them in as opaquePasteboardContexts.
- WebCore.xcodeproj/project.pbxproj:
- dom/DataTransfer.cpp:
(WebCore::DataTransfer::createForDrag):
- dom/DataTransfer.h:
- editing/Editor.cpp:
(WebCore::createDataTransferForClipboardEvent):
(WebCore::dispatchClipboardEvent):
(WebCore::Editor::pasteAsPlainTextBypassingDHTML):
(WebCore::Editor::performCutOrCopy):
(WebCore::Editor::paste):
(WebCore::Editor::pasteAsPlainText):
(WebCore::Editor::pasteAsQuotation):
(WebCore::Editor::copyURL):
(WebCore::Editor::copyImage):
- editing/EditorCommand.cpp:
(WebCore::executePasteGlobalSelection):
- editing/mac/EditorMac.mm:
(WebCore::Editor::readSelectionFromPasteboard):
(WebCore::Editor::replaceNodeFromPasteboard):
- inspector/CommandLineAPIHost.cpp:
(WebCore::CommandLineAPIHost::copyText):
- inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::copyText):
- page/DragController.cpp:
(WebCore::documentFragmentFromDragData):
(WebCore::DragController::dragExited):
(WebCore::DragController::performDragOperation):
(WebCore::DragController::tryDHTMLDrag):
(WebCore::DragController::tryToUpdateDroppedImagePlaceholders):
- page/EventHandler.cpp:
(WebCore::EventHandler::handleDrag):
- page/PagePasteboardContext.h: Added.
Add
PagePasteboardContext, aPasteboardContextsubclass that contains aPageIdentifierindicating which
Pageis requesting pasteboard access.
(isType):
- platform/DragData.cpp:
(WebCore::DragData::DragData):
(WebCore::DragData::createPasteboardContext const):
Also plumb a
PageIdentifierthroughDragData, and use it to implement a helper method that returns a context
object forPasteboard.
- platform/DragData.h:
Additionally make
operator=platform-agnostic, instead of limited to GTK. (It isn't clear why this needs to be
limited to the GTK port).
(WebCore::DragData::DragData):
(WebCore::DragData::pageID const):
- platform/Pasteboard.h:
Augment
Pasteboard's (numerous) platform-specific constructors to take in aPasteboardContextunique
pointer as well, and store it inm_context.
(WebCore::Pasteboard::Pasteboard):
(WebCore::Pasteboard::context const):
- platform/PasteboardContext.h: Added.
Add
PasteboardContext, which provides additional context for an arbitrary pasteboard operation in an opaque
fashion. SeePagePasteboardContextabove.
(WebCore::PasteboardContext::isPagePasteboardContext const):
- platform/StaticPasteboard.cpp:
(WebCore::StaticPasteboard::StaticPasteboard):
- platform/cocoa/DragDataCocoa.mm:
(WebCore::DragData::DragData):
(WebCore::DragData::canSmartReplace const):
(WebCore::DragData::asPlainText const):
- platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::createForCopyAndPaste):
(WebCore::Pasteboard::createForGlobalSelection):
(WebCore::Pasteboard::createForDragAndDrop):
(WebCore::Pasteboard::create):
(WebCore::Pasteboard::Pasteboard):
- platform/ios/PasteboardIOS.mm:
(WebCore::Pasteboard::Pasteboard):
(WebCore::Pasteboard::createForDragAndDrop):
(WebCore::Pasteboard::create):
(WebCore::Pasteboard::createForCopyAndPaste):
- platform/libwpe/PasteboardLibWPE.cpp:
(WebCore::Pasteboard::createForCopyAndPaste):
(WebCore::Pasteboard::Pasteboard):
- platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::Pasteboard):
(WebCore::Pasteboard::createForCopyAndPaste):
(WebCore::Pasteboard::createForDragAndDrop):
(WebCore::Pasteboard::create):
- platform/win/DragDataWin.cpp:
(WebCore::DragData::DragData):
- platform/win/PasteboardWin.cpp:
(WebCore::Pasteboard::createForCopyAndPaste):
(WebCore::Pasteboard::createForDragAndDrop):
(WebCore::Pasteboard::create):
(WebCore::Pasteboard::Pasteboard):
Source/WebKit:
Update more
DragDataandPasteboardinitialization sites by passing in aPageIdentifieror
PasteboardContext, respectively. See WebCore ChangeLog for more details.
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<DragData>::encode):
(IPC::ArgumentCoder<DragData>::decode):
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::draggingEntered):
(WebKit::WebViewImpl::draggingUpdated):
(WebKit::WebViewImpl::draggingExited):
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView dragDataForDropSession:dragDestinationAction:]):
- WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
(WebKit::WebEditorClient::updateGlobalSelection):
- WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
(WebKit::WebDragClient::declareAndWriteDragImage):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::performDragControllerAction):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::performActionOnElement):
Source/WebKitLegacy/mac:
Create and pass in a
PasteboardContextwhen creating aPasteboard. See WebCore ChangeLog for more details.
- WebCoreSupport/WebDragClient.mm:
(WebDragClient::declareAndWriteDragImage):
- 8:52 AM Changeset in webkit [273076] by
-
- 2 edits in trunk/Source/WTF
Enable separated graphics layer experiments on internal variant
https://bugs.webkit.org/show_bug.cgi?id=222088
Reviewed by Dean Jackson.
- wtf/PlatformEnableCocoa.h:
- 8:06 AM Changeset in webkit [273075] by
-
- 27 edits1 add in trunk
Add SPI for getting size of PDF document during printing
https://bugs.webkit.org/show_bug.cgi?id=222064
<rdar://problem/74370891>
Reviewed by Geoff Garen and Tim Horton.
Source/WebKit:
When printing a PDF, we want to know its page size. If the print is initiated by the web process (such as when window.print is called
or if the PDF contains JavaScript that tells the browser to print it) then we would like that information with the print request so we
don't have to ask the web process, which is hung waiting for a synchronous message reply. If the print is initiated by the UI process
(such as if the user prints from a menu or keyboard shortcut) then we need a way to ask what the size of a PDF is.
I reused the SPI in WKUIDelegatePrivate because it was only briefly adopted before we knew we needed this and then reverted.
I'm also adding an SPI way to get from a WKPageRef to a WKWebView so this can be adopted without redoing all of Safari.
Covered by API tests.
- UIProcess/API/APIUIClient.h:
(API::UIClient::printFrame):
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
- UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _getPDFFirstPageSizeInFrame:completionHandler:]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/Cocoa/UIDelegate.h:
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::printFrame):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::printFrame):
(WebKit::WebPageProxy::getPDFFirstPageSize):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/Plugins/PDF/PDFPlugin.h:
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::pdfDocumentSizeForPrinting const):
- WebProcess/Plugins/Plugin.cpp:
(WebKit::Plugin::pdfDocumentSizeForPrinting const):
- WebProcess/Plugins/Plugin.h:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::print):
- WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::getPDFFirstPageSize):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::getPDFFirstPageSize):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit/test_print.pdf: Added.
- TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm:
(-[PrintUIDelegate _webView:printFrame:pdfFirstPageSize:completionHandler:]):
(-[PrintUIDelegate waitForPageSize]):
(-[PrintUIDelegate lastPrintedFrame]):
(TEST):
- 7:59 AM Changeset in webkit [273074] by
-
- 15 edits in trunk/Source/WebKit
ThreadMessageReceiverRefCounted subclasses are accessed in non-thread-safe way
https://bugs.webkit.org/show_bug.cgi?id=221891
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-02-18
Reviewed by Chris Dumez.
For each ThreadMessageReceiverRefCounted subclass, remove calls
to Connection::addThreadMessageReceiver() from the constructor.
The calls pass 'this' as the ThreadMessageReceiver*. If the
connection tries to dispatch a message during the constructor, this
results in some or all of below:
- non-thread-safe read of mutated virtual function pointer
- call to incorrect member function, mostly to MessageReceiver::didReceiveMessage
- an assert from above
- skipped message
For each ThreadMessageReceiverRefCounted subclass, remove calls
to Connection::removeThreadMessageReceiver() from the destructor.
The message receive destination is still active during destructor,
so Connection might dispatch new message tasks during that time.
This causes ref of the instance already being destroyed, which
then causes the tasks to use deleted instance and then later
deleting it again.
Does not try to fix any other potential thread-related issues in
the modified areas.
- GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.cpp:
(WebKit::RemoteAudioMediaStreamTrackRendererManager::RemoteAudioMediaStreamTrackRendererManager):
(WebKit::RemoteAudioMediaStreamTrackRendererManager::startListeningForIPC):
(WebKit::RemoteAudioMediaStreamTrackRendererManager::close):
- GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.h:
- GPUProcess/webrtc/RemoteSampleBufferDisplayLayerManager.cpp:
(WebKit::RemoteSampleBufferDisplayLayerManager::RemoteSampleBufferDisplayLayerManager):
(WebKit::RemoteSampleBufferDisplayLayerManager::startListeningForIPC):
(WebKit::RemoteSampleBufferDisplayLayerManager::close):
- GPUProcess/webrtc/RemoteSampleBufferDisplayLayerManager.h:
- NetworkProcess/webrtc/NetworkRTCProvider.cpp:
(WebKit::NetworkRTCProvider::NetworkRTCProvider):
(WebKit::NetworkRTCProvider::startListeningForIPC):
- NetworkProcess/webrtc/NetworkRTCProvider.h:
(WebKit::NetworkRTCProvider::create):
- WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:
(WebKit::LibWebRTCCodecs::LibWebRTCCodecs):
(WebKit::LibWebRTCCodecs::startListeningForIPC):
(WebKit::LibWebRTCCodecs::~LibWebRTCCodecs):
(WebKit::LibWebRTCCodecs::gpuProcessConnectionDidClose):
- WebProcess/GPU/webrtc/LibWebRTCCodecs.h:
(WebKit::LibWebRTCCodecs::create):
- WebProcess/Network/webrtc/LibWebRTCNetwork.cpp:
(WebKit::LibWebRTCNetwork::~LibWebRTCNetwork):
- WebProcess/Network/webrtc/LibWebRTCNetwork.h:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::libWebRTCCodecs):
- WebProcess/cocoa/RemoteCaptureSampleManager.cpp:
(WebKit::RemoteCaptureSampleManager::~RemoteCaptureSampleManager):
(WebKit::RemoteCaptureSampleManager::stopListeningForIPC):
- WebProcess/cocoa/RemoteCaptureSampleManager.h:
- WebProcess/cocoa/UserMediaCaptureManager.cpp:
(WebKit::UserMediaCaptureManager::~UserMediaCaptureManager):
- WebProcess/glib/UserMediaCaptureManager.cpp:
(WebKit::UserMediaCaptureManager::~UserMediaCaptureManager):
- 4:02 AM Changeset in webkit [273073] by
-
- 7 edits1 delete in trunk
LayoutTests/imported/w3c:
Root scroll snapping broken overflow:scroll is set on the <body>
https://bugs.webkit.org/show_bug.cgi?id=221407
Patch by Martin Robinson <mrobinson@igalia.com> on 2021-02-18
Reviewed by Simon Fraser.
- web-platform-tests/css/css-scroll-snap/scrollTo-scrollBy-snaps-expected.txt:
Source/WebCore:
Root scroll snapping broken overflow:scroll is set on the <body>
https://bugs.webkit.org/show_bug.cgi?id=221407
Patch by Martin Robinson <mrobinson@igalia.com> on 2021-02-18
Reviewed by Simon Fraser.
No new tests. This change fixes the WPT test:
imported/w3c/web-platform-tests/css/css-scroll-snap/scrollTo-scrollBy-snaps.html
Instead of walking up the render tree to find the containing element, be sure to
walk up the containing block chain. This will prevent WebKit from using the wrong
scrolling container for positioned elements that snap.
- rendering/RenderBox.cpp:
(WebCore::RenderBox::findEnclosingScrollableContainerForSnapping const): Deleted.
- rendering/RenderBox.h: Remove method definition.
- rendering/RenderObject.cpp:
(WebCore::RenderObject::enclosingScrollableContainerForSnapping const): Find the
scrolling container respecting the containing block chain. Never consider the
RenderView as a containing block. Although this element has a scroll area
and looks scrollable, it's a historical artifact and the real scroll container
is the FrameView.
LayoutTests:
Root scroll snapping broken when overflow:scroll is set on the <body>
https://bugs.webkit.org/show_bug.cgi?id=221407
Patch by Martin Robinson <mrobinson@igalia.com> on 2021-02-18
Reviewed by Simon Fraser.
- platform/ios-wk2/imported/w3c/web-platform-tests/css/css-scroll-snap/scrollTo-scrollBy-snaps-expected.txt: Removed.
This baseline no longer differs between platforms.
- 1:58 AM Changeset in webkit [273072] by
-
- 12 edits in trunk
[css-flex] Implement section 9.8 Definite and Indefinite Sizes case 1
https://bugs.webkit.org/show_bug.cgi?id=219538
<rdar://problem/72136484>
Reviewed by Manuel Rego Casasnovas.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-013-expected.txt: Replaced FAIL by PASS expectations.
- web-platform-tests/css/css-flexbox/image-as-flexitem-size-003-expected.txt: Ditto.
- web-platform-tests/css/css-flexbox/image-as-flexitem-size-003v-expected.txt: Ditto.
- web-platform-tests/css/css-flexbox/image-as-flexitem-size-004-expected.txt: Ditto.
- web-platform-tests/css/css-flexbox/image-as-flexitem-size-004v-expected.txt: Ditto.
- web-platform-tests/css/css-sizing/percentage-height-in-flexbox.html: Updated expectation. Still failing.
Source/WebCore:
If a single-line flex container has a definite cross size, the automatic preferred outer cross size
of any stretched flex items is the flex container's inner cross size (clamped to the flex item's
min and max cross size) and is considered definite. Before that we were considering all automatic
sizes as indefinite (see https://drafts.csswg.org/css-flexbox/#definite-sizes).
This patch does not consider all the cases where the container cross size is definite but just when
that size is fixed. Support for additional cases should be added in followup patches.
This change unveiled an implementation mistake when computing content sizes for the min-size:auto case.
In those cases we were always calling computeMainAxisExtentForChild() but that does not take into
account the aspect ratio, that's why we added an additional code path which computes the content
size using computeMainSizeFromAspectRatioUsing() instead.
This fixes 8 full tests plus 24 subtests in some other flexbox aspect ratio tests from the WPT suite.
- rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::useChildAspectRatio const): Use ternary operator to simplify code.
(WebCore::RenderFlexibleBox::computeMainSizeFromAspectRatioUsing const): Resolve child size to container's
size if childCrossSizeShouldUseContainerCrossSize().
(WebCore::RenderFlexibleBox::childCrossSizeShouldUseContainerCrossSize const): New method implementing
section 9.8.1 of the specs.
(WebCore::RenderFlexibleBox::childCrossSizeIsDefinite const):
(WebCore::RenderFlexibleBox::computeInnerFlexBaseSizeForChild): Use aspect ratio to compute cross size
also if childCrossSizeShouldUseContainerCrossSize().
(WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax): Use aspect ratio specific code to compute
content size if aspect ratio should be used for child.
(WebCore::RenderFlexibleBox::adjustChildSizeForAspectRatioCrossAxisMinAndMax):
- rendering/RenderFlexibleBox.h:
LayoutTests:
- TestExpectations: Unskipped 8 tests that are passing now.
- 12:53 AM Changeset in webkit [273071] by
-
- 5 edits in trunk
[GPUP] Test webrtc/audio-video-element-playing.html fails when media in GPU Process is enabled
https://bugs.webkit.org/show_bug.cgi?id=221844
<rdar://problem/74388532>
Reviewed by Eric Carlson.
Source/WebCore:
Move from Clock to MonotonicTime since we do not need high precision anyway for MediaPlayerPrivateMediaStreamAVFObjC.
This allows not requiring access to the underlying coreaudio clock.
Covered by updated test.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::MediaPlayerPrivateMediaStreamAVFObjC):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::play):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::currentMediaTime const):
LayoutTests:
- webrtc/audio-video-element-playing.html:
- 12:49 AM Changeset in webkit [273070] by
-
- 12 edits in trunk
[GTK][WPE] Implement support for CSS Scroll Snap
https://bugs.webkit.org/show_bug.cgi?id=203684
Patch by Martin Robinson <mrobinson@igalia.com> on 2021-02-18
Reviewed by Carlos Garcia Campos.
.:
Add initial support for css-scroll-snap on WebKitGTK+ and WebKitWPE. This
adds support for all types of scroll snapping that WebKit supports apart
from mouse wheel snapping. Support for that will be added in a followup
change.
- Source/cmake/OptionsGTK.cmake: Enable scroll snapping when experimental features
are enabled.
- Source/cmake/OptionsWPE.cmake: Ditto.
Source/WebCore:
No new tests. This change unskips all cross-platform scroll-snap tests
on both platforms.
- Headers.cmake: Add headers to header list.
- page/scrolling/ScrollSnapOffsetsInfo.cpp:
(WebCore::findFirstSnapStopOffsetBetweenOriginAndDestination): Fix a compilation
warning that now shows up on my system.
- platform/generic/ScrollAnimatorGeneric.cpp:
(WebCore::ScrollAnimatorGeneric::scroll): Pass the 'behavior' parameter to
the superclass call.
(WebCore::ScrollAnimatorGeneric::scrollToOffsetWithoutAnimation): Call into the super
class to update the position instead of using the special method in the subclass.
(WebCore::ScrollAnimatorGeneric::updatePosition): Also update the current snap index.
This is necessary so that changes to the scroll position also modify the currently
target snap index.
LayoutTests:
- css3/scroll-snap/scroll-padding-mainframe-paging.html: Since the GTK+ port has
animated scrolling, we need to modify this test to support a scroll operation
that does not happen immediately.
- platform/gtk/TestExpectations: Unskip scroll snap tests.
- platform/wpe/TestExpectations: Ditto.
- resources/ui-helper.js:
(window.UIHelper.waitForTargetScrollAnimationToSettle): Added a new helper that
uses rAF to detect when an animated scroll operation has finished. This is the
same strategy that the WPT tests use to detect this.
- 12:43 AM Changeset in webkit [273069] by
-
- 2 edits in trunk/Source/WebCore
Backgrounding a page that is playing and capturing audio will stop audio playing
https://bugs.webkit.org/show_bug.cgi?id=222032
<rdar://problem/74389497>
Reviewed by Eric Carlson.
When a page gets backgrounded while capturing, it will continue doing capture, as can be seen with the red status bar.
In that case, for video conferencing, it makes sense that audio being played continues playing, at least for MediaStreamTrack.
The red status bar is an indication that the call is continuing.
Also, for MediaStreamTrack, audio and video content are not buffered: they are played or discarded.
The media player, whenever not visible, will stop processing video but will continue processing audio if not interrupted.
This makes it working for websites using video elements for both audio and video, which is more common than websites using video elements for video and audio elements for audio.
Manually tested.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::shouldOverrideBackgroundPlaybackRestriction const):
- 12:38 AM Changeset in webkit [273068] by
-
- 5 edits in trunk
Treat <ratio> that ends with forward slash as invalid
https://bugs.webkit.org/show_bug.cgi?id=221978
Patch by Rob Buis <rbuis@igalia.com> on 2021-02-18
Reviewed by Manuel Rego Casasnovas.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-sizing/aspect-ratio/parsing/aspect-ratio-invalid-expected.txt:
- web-platform-tests/css/css-sizing/aspect-ratio/parsing/aspect-ratio-invalid.html:
Source/WebCore:
Treat <ratio> that ends with forward slash as invalid:
https://drafts.csswg.org/css-values-4/#ratio-value
Test: imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/parsing/aspect-ratio-invalid.html
- css/parser/CSSPropertyParser.cpp:
(WebCore::consumeAspectRatio):
- 12:04 AM Changeset in webkit [273067] by
-
- 8 edits1 add in trunk
Page updates and rAF callbacks should run at a frequency close to 60Hz on high refresh-rate displays
https://bugs.webkit.org/show_bug.cgi?id=221673
<rdar://problem/72398605>
Reviewed by Simon Fraser.
Source/WebCore:
Up to now, page rendering updates, which can, for instance, be triggered by registering a requestAnimationFrame()
callback or having CSS Animations, CSS Transitions or Web Animations running non-accelerated, would be triggered
at the current display's refresh rate on macOS, and 60fps on iOS.
For instance, this meant that plugging in a 144Hz display on a Mac would attempt to update the page rendering at
144fps. We think it's better, for Web compatibility reasons, to try to use a page rendering update cadence that
is as close to 60fps as possible while matching a display update. This means finding the whole multiple for which
the interval between frames would be as close to that for 60Hz.
Using the 144Hz case again, this means we would shoot for 72fps, since the refresh interval for 72fps is nearest
that at 60fps than that at 48fps (another multiple of 144).
In the case where the internal preference to control whether the refresh rate for page rendering updates is
forced to 60fps, which defaults to false, we pass in the page's "nominal refresh rate" to preferredFrameInterval().
If that rate is 60fps, we use the same rate and intervals as we always have. If that rate is less than 60fps, we
use that rate as-is.
- dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::preferredScriptedAnimationInterval const):
- page/Page.cpp:
(WebCore::Page::preferredRenderingUpdateInterval const):
- platform/graphics/AnimationFrameRate.h:
(WebCore::framesPerSecondNearestFullSpeed):
(WebCore::preferredFrameInterval):
(WebCore::preferredFramesPerSecond):
Source/WTF:
Add a new internal preference to force the refresh rate for page rendering updates to 60fps
rather than use the display's refresh rate. This setting defaults to false.
- Scripts/Preferences/WebPreferencesInternal.yaml:
Tools:
Add API tests for the methods in AnimationFrameRate.h.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebCore/AnimationFrameRate.cpp: Added.
Feb 17, 2021:
- 11:59 PM Changeset in webkit [273066] by
-
- 2 edits in trunk/Source/WebKit
Return correct target for App Highlight menus.
https://bugs.webkit.org/show_bug.cgi?id=222089
Reviewed by Tim Horton.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView targetForAction:withSender:]):
- 11:08 PM Changeset in webkit [273065] by
-
- 6 edits463 adds in trunk/LayoutTests
Import CSS @counter-style WPTs
https://bugs.webkit.org/show_bug.cgi?id=222024
Patch by Tyler Wilcock <Tyler Wilcock> on 2021-02-17
Reviewed by Fujii Hironori.
LayoutTests/imported/w3c:
Import css-counter-style WPTs via
Tools/Scripts/import-w3c-tests -t web-platform-tests/css/css-counter-styles
and add expectations.
- resources/import-expectations.json:
- web-platform-tests/css/css-counter-styles/META.yml: Added.
- web-platform-tests/css/css-counter-styles/README: Added.
- web-platform-tests/css/css-counter-styles/arabic-indic/css3-counter-styles-101-expected.html: Added.
- web-platform-tests/css/css-counter-styles/arabic-indic/css3-counter-styles-101.html: Added.
- web-platform-tests/css/css-counter-styles/arabic-indic/css3-counter-styles-102-expected.html: Added.
- web-platform-tests/css/css-counter-styles/arabic-indic/css3-counter-styles-102.html: Added.
- web-platform-tests/css/css-counter-styles/arabic-indic/css3-counter-styles-103-expected.html: Added.
- web-platform-tests/css/css-counter-styles/arabic-indic/css3-counter-styles-103.html: Added.
- web-platform-tests/css/css-counter-styles/arabic-indic/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/armenian/css3-counter-styles-006-expected.html: Added.
- web-platform-tests/css/css-counter-styles/armenian/css3-counter-styles-006.html: Added.
- web-platform-tests/css/css-counter-styles/armenian/css3-counter-styles-007-expected.html: Added.
- web-platform-tests/css/css-counter-styles/armenian/css3-counter-styles-007.html: Added.
- web-platform-tests/css/css-counter-styles/armenian/css3-counter-styles-008-expected.html: Added.
- web-platform-tests/css/css-counter-styles/armenian/css3-counter-styles-008.html: Added.
- web-platform-tests/css/css-counter-styles/armenian/css3-counter-styles-009-expected.html: Added.
- web-platform-tests/css/css-counter-styles/armenian/css3-counter-styles-009.html: Added.
- web-platform-tests/css/css-counter-styles/armenian/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/bengali/css3-counter-styles-116-expected.html: Added.
- web-platform-tests/css/css-counter-styles/bengali/css3-counter-styles-116.html: Added.
- web-platform-tests/css/css-counter-styles/bengali/css3-counter-styles-117-expected.html: Added.
- web-platform-tests/css/css-counter-styles/bengali/css3-counter-styles-117.html: Added.
- web-platform-tests/css/css-counter-styles/bengali/css3-counter-styles-118-expected.html: Added.
- web-platform-tests/css/css-counter-styles/bengali/css3-counter-styles-118.html: Added.
- web-platform-tests/css/css-counter-styles/bengali/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/broken-symbols-expected.htm: Added.
- web-platform-tests/css/css-counter-styles/broken-symbols.htm: Added.
- web-platform-tests/css/css-counter-styles/cambodian/css3-counter-styles-158-expected.html: Added.
- web-platform-tests/css/css-counter-styles/cambodian/css3-counter-styles-158.html: Added.
- web-platform-tests/css/css-counter-styles/cambodian/css3-counter-styles-159-expected.html: Added.
- web-platform-tests/css/css-counter-styles/cambodian/css3-counter-styles-159.html: Added.
- web-platform-tests/css/css-counter-styles/cambodian/css3-counter-styles-160-expected.html: Added.
- web-platform-tests/css/css-counter-styles/cambodian/css3-counter-styles-160.html: Added.
- web-platform-tests/css/css-counter-styles/cambodian/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/cjk-decimal/css3-counter-styles-001-expected.html: Added.
- web-platform-tests/css/css-counter-styles/cjk-decimal/css3-counter-styles-001.html: Added.
- web-platform-tests/css/css-counter-styles/cjk-decimal/css3-counter-styles-004-expected.html: Added.
- web-platform-tests/css/css-counter-styles/cjk-decimal/css3-counter-styles-004.html: Added.
- web-platform-tests/css/css-counter-styles/cjk-decimal/css3-counter-styles-005-expected.html: Added.
- web-platform-tests/css/css-counter-styles/cjk-decimal/css3-counter-styles-005.html: Added.
- web-platform-tests/css/css-counter-styles/cjk-decimal/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/cjk-earthly-branch/css3-counter-styles-201-expected.html: Added.
- web-platform-tests/css/css-counter-styles/cjk-earthly-branch/css3-counter-styles-201.html: Added.
- web-platform-tests/css/css-counter-styles/cjk-earthly-branch/css3-counter-styles-202-expected.html: Added.
- web-platform-tests/css/css-counter-styles/cjk-earthly-branch/css3-counter-styles-202.html: Added.
- web-platform-tests/css/css-counter-styles/cjk-earthly-branch/css3-counter-styles-203-expected.html: Added.
- web-platform-tests/css/css-counter-styles/cjk-earthly-branch/css3-counter-styles-203.html: Added.
- web-platform-tests/css/css-counter-styles/cjk-earthly-branch/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/cjk-heavenly-stem/css3-counter-styles-204-expected.html: Added.
- web-platform-tests/css/css-counter-styles/cjk-heavenly-stem/css3-counter-styles-204.html: Added.
- web-platform-tests/css/css-counter-styles/cjk-heavenly-stem/css3-counter-styles-205-expected.html: Added.
- web-platform-tests/css/css-counter-styles/cjk-heavenly-stem/css3-counter-styles-205.html: Added.
- web-platform-tests/css/css-counter-styles/cjk-heavenly-stem/css3-counter-styles-206-expected.html: Added.
- web-platform-tests/css/css-counter-styles/cjk-heavenly-stem/css3-counter-styles-206.html: Added.
- web-platform-tests/css/css-counter-styles/cjk-heavenly-stem/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/counter-style-additive-symbols-syntax-expected.txt: Added.
- web-platform-tests/css/css-counter-styles/counter-style-additive-symbols-syntax.html: Added.
- web-platform-tests/css/css-counter-styles/counter-style-fallback-expected.txt: Added.
- web-platform-tests/css/css-counter-styles/counter-style-fallback.html: Added.
- web-platform-tests/css/css-counter-styles/counter-style-name-syntax-expected.txt: Added.
- web-platform-tests/css/css-counter-styles/counter-style-name-syntax.html: Added.
- web-platform-tests/css/css-counter-styles/counter-style-negative-syntax-expected.txt: Added.
- web-platform-tests/css/css-counter-styles/counter-style-negative-syntax.html: Added.
- web-platform-tests/css/css-counter-styles/counter-style-pad-syntax-expected.txt: Added.
- web-platform-tests/css/css-counter-styles/counter-style-pad-syntax.html: Added.
- web-platform-tests/css/css-counter-styles/counter-style-prefix-suffix-syntax-expected.txt: Added.
- web-platform-tests/css/css-counter-styles/counter-style-prefix-suffix-syntax.html: Added.
- web-platform-tests/css/css-counter-styles/counter-style-range-syntax-expected.txt: Added.
- web-platform-tests/css/css-counter-styles/counter-style-range-syntax.html: Added.
- web-platform-tests/css/css-counter-styles/counter-style-speak-as-syntax-expected.txt: Added.
- web-platform-tests/css/css-counter-styles/counter-style-speak-as-syntax.html: Added.
- web-platform-tests/css/css-counter-styles/counter-style-symbols-syntax-expected.txt: Added.
- web-platform-tests/css/css-counter-styles/counter-style-symbols-syntax.html: Added.
- web-platform-tests/css/css-counter-styles/counter-style-system-syntax-expected.txt: Added.
- web-platform-tests/css/css-counter-styles/counter-style-system-syntax.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-additive-symbols-setter-expected.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-additive-symbols-setter-invalid-expected.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-additive-symbols-setter-invalid.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-additive-symbols-setter.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-fallback-setter-expected.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-fallback-setter-invalid-expected.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-fallback-setter-invalid.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-fallback-setter.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-name-setter-expected.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-name-setter-invalid-expected.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-name-setter-invalid.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-name-setter.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-negative-setter-expected.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-negative-setter-invalid-expected.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-negative-setter-invalid.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-negative-setter.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-pad-setter-expected.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-pad-setter-invalid-expected.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-pad-setter-invalid.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-pad-setter.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-prefix-suffix-setter-expected.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-prefix-suffix-setter-invalid-expected.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-prefix-suffix-setter-invalid.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-prefix-suffix-setter.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-range-setter-expected.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-range-setter-invalid-expected.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-range-setter-invalid.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-range-setter.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-symbols-setter-expected.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-symbols-setter-invalid-expected.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-symbols-setter-invalid.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-symbols-setter.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-system-setter-1-expected.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-system-setter-1.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-system-setter-2-expected.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-system-setter-2.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-system-setter-invalid-expected.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/cssom-system-setter-invalid.html: Added.
- web-platform-tests/css/css-counter-styles/cssom/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/devanagari/css3-counter-styles-119-expected.html: Added.
- web-platform-tests/css/css-counter-styles/devanagari/css3-counter-styles-119.html: Added.
- web-platform-tests/css/css-counter-styles/devanagari/css3-counter-styles-120-expected.html: Added.
- web-platform-tests/css/css-counter-styles/devanagari/css3-counter-styles-120.html: Added.
- web-platform-tests/css/css-counter-styles/devanagari/css3-counter-styles-121-expected.html: Added.
- web-platform-tests/css/css-counter-styles/devanagari/css3-counter-styles-121.html: Added.
- web-platform-tests/css/css-counter-styles/devanagari/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/georgian/css3-counter-styles-010-expected.html: Added.
- web-platform-tests/css/css-counter-styles/georgian/css3-counter-styles-010.html: Added.
- web-platform-tests/css/css-counter-styles/georgian/css3-counter-styles-011-expected.html: Added.
- web-platform-tests/css/css-counter-styles/georgian/css3-counter-styles-011.html: Added.
- web-platform-tests/css/css-counter-styles/georgian/css3-counter-styles-012-expected.html: Added.
- web-platform-tests/css/css-counter-styles/georgian/css3-counter-styles-012.html: Added.
- web-platform-tests/css/css-counter-styles/georgian/css3-counter-styles-014-expected.html: Added.
- web-platform-tests/css/css-counter-styles/georgian/css3-counter-styles-014.html: Added.
- web-platform-tests/css/css-counter-styles/georgian/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/gujarati/css3-counter-styles-122-expected.html: Added.
- web-platform-tests/css/css-counter-styles/gujarati/css3-counter-styles-122.html: Added.
- web-platform-tests/css/css-counter-styles/gujarati/css3-counter-styles-123-expected.html: Added.
- web-platform-tests/css/css-counter-styles/gujarati/css3-counter-styles-123.html: Added.
- web-platform-tests/css/css-counter-styles/gujarati/css3-counter-styles-124-expected.html: Added.
- web-platform-tests/css/css-counter-styles/gujarati/css3-counter-styles-124.html: Added.
- web-platform-tests/css/css-counter-styles/gujarati/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/gurmukhi/css3-counter-styles-125-expected.html: Added.
- web-platform-tests/css/css-counter-styles/gurmukhi/css3-counter-styles-125.html: Added.
- web-platform-tests/css/css-counter-styles/gurmukhi/css3-counter-styles-126-expected.html: Added.
- web-platform-tests/css/css-counter-styles/gurmukhi/css3-counter-styles-126.html: Added.
- web-platform-tests/css/css-counter-styles/gurmukhi/css3-counter-styles-127-expected.html: Added.
- web-platform-tests/css/css-counter-styles/gurmukhi/css3-counter-styles-127.html: Added.
- web-platform-tests/css/css-counter-styles/gurmukhi/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/hebrew/css3-counter-styles-015-expected.html: Added.
- web-platform-tests/css/css-counter-styles/hebrew/css3-counter-styles-015.html: Added.
- web-platform-tests/css/css-counter-styles/hebrew/css3-counter-styles-016-expected.html: Added.
- web-platform-tests/css/css-counter-styles/hebrew/css3-counter-styles-016.html: Added.
- web-platform-tests/css/css-counter-styles/hebrew/css3-counter-styles-016a-expected.html: Added.
- web-platform-tests/css/css-counter-styles/hebrew/css3-counter-styles-016a.html: Added.
- web-platform-tests/css/css-counter-styles/hebrew/css3-counter-styles-017-expected.html: Added.
- web-platform-tests/css/css-counter-styles/hebrew/css3-counter-styles-017.html: Added.
- web-platform-tests/css/css-counter-styles/hebrew/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/hiragana-iroha/css3-counter-styles-033-expected.html: Added.
- web-platform-tests/css/css-counter-styles/hiragana-iroha/css3-counter-styles-033.html: Added.
- web-platform-tests/css/css-counter-styles/hiragana-iroha/css3-counter-styles-034-expected.html: Added.
- web-platform-tests/css/css-counter-styles/hiragana-iroha/css3-counter-styles-034.html: Added.
- web-platform-tests/css/css-counter-styles/hiragana-iroha/css3-counter-styles-035-expected.html: Added.
- web-platform-tests/css/css-counter-styles/hiragana-iroha/css3-counter-styles-035.html: Added.
- web-platform-tests/css/css-counter-styles/hiragana-iroha/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/hiragana/css3-counter-styles-030-expected.html: Added.
- web-platform-tests/css/css-counter-styles/hiragana/css3-counter-styles-030.html: Added.
- web-platform-tests/css/css-counter-styles/hiragana/css3-counter-styles-031-expected.html: Added.
- web-platform-tests/css/css-counter-styles/hiragana/css3-counter-styles-031.html: Added.
- web-platform-tests/css/css-counter-styles/hiragana/css3-counter-styles-032-expected.html: Added.
- web-platform-tests/css/css-counter-styles/hiragana/css3-counter-styles-032.html: Added.
- web-platform-tests/css/css-counter-styles/hiragana/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/idlharness-expected.txt: Added.
- web-platform-tests/css/css-counter-styles/idlharness.html: Added.
- web-platform-tests/css/css-counter-styles/japanese-formal/css3-counter-styles-047-expected.html: Added.
- web-platform-tests/css/css-counter-styles/japanese-formal/css3-counter-styles-047.html: Added.
- web-platform-tests/css/css-counter-styles/japanese-formal/css3-counter-styles-048-expected.html: Added.
- web-platform-tests/css/css-counter-styles/japanese-formal/css3-counter-styles-048.html: Added.
- web-platform-tests/css/css-counter-styles/japanese-formal/css3-counter-styles-049-expected.html: Added.
- web-platform-tests/css/css-counter-styles/japanese-formal/css3-counter-styles-049.html: Added.
- web-platform-tests/css/css-counter-styles/japanese-formal/css3-counter-styles-050-expected.html: Added.
- web-platform-tests/css/css-counter-styles/japanese-formal/css3-counter-styles-050.html: Added.
- web-platform-tests/css/css-counter-styles/japanese-formal/css3-counter-styles-051-expected.html: Added.
- web-platform-tests/css/css-counter-styles/japanese-formal/css3-counter-styles-051.html: Added.
- web-platform-tests/css/css-counter-styles/japanese-formal/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/japanese-informal/css3-counter-styles-042-expected.html: Added.
- web-platform-tests/css/css-counter-styles/japanese-informal/css3-counter-styles-042.html: Added.
- web-platform-tests/css/css-counter-styles/japanese-informal/css3-counter-styles-043-expected.html: Added.
- web-platform-tests/css/css-counter-styles/japanese-informal/css3-counter-styles-043.html: Added.
- web-platform-tests/css/css-counter-styles/japanese-informal/css3-counter-styles-044-expected.html: Added.
- web-platform-tests/css/css-counter-styles/japanese-informal/css3-counter-styles-044.html: Added.
- web-platform-tests/css/css-counter-styles/japanese-informal/css3-counter-styles-045-expected.html: Added.
- web-platform-tests/css/css-counter-styles/japanese-informal/css3-counter-styles-045.html: Added.
- web-platform-tests/css/css-counter-styles/japanese-informal/css3-counter-styles-046-expected.html: Added.
- web-platform-tests/css/css-counter-styles/japanese-informal/css3-counter-styles-046.html: Added.
- web-platform-tests/css/css-counter-styles/japanese-informal/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/kannada/css3-counter-styles-128-expected.html: Added.
- web-platform-tests/css/css-counter-styles/kannada/css3-counter-styles-128.html: Added.
- web-platform-tests/css/css-counter-styles/kannada/css3-counter-styles-129-expected.html: Added.
- web-platform-tests/css/css-counter-styles/kannada/css3-counter-styles-129.html: Added.
- web-platform-tests/css/css-counter-styles/kannada/css3-counter-styles-130-expected.html: Added.
- web-platform-tests/css/css-counter-styles/kannada/css3-counter-styles-130.html: Added.
- web-platform-tests/css/css-counter-styles/kannada/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/katakana-iroha/css3-counter-styles-039-expected.html: Added.
- web-platform-tests/css/css-counter-styles/katakana-iroha/css3-counter-styles-039.html: Added.
- web-platform-tests/css/css-counter-styles/katakana-iroha/css3-counter-styles-040-expected.html: Added.
- web-platform-tests/css/css-counter-styles/katakana-iroha/css3-counter-styles-040.html: Added.
- web-platform-tests/css/css-counter-styles/katakana-iroha/css3-counter-styles-041-expected.html: Added.
- web-platform-tests/css/css-counter-styles/katakana-iroha/css3-counter-styles-041.html: Added.
- web-platform-tests/css/css-counter-styles/katakana-iroha/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/katakana/css3-counter-styles-036-expected.html: Added.
- web-platform-tests/css/css-counter-styles/katakana/css3-counter-styles-036.html: Added.
- web-platform-tests/css/css-counter-styles/katakana/css3-counter-styles-037-expected.html: Added.
- web-platform-tests/css/css-counter-styles/katakana/css3-counter-styles-037.html: Added.
- web-platform-tests/css/css-counter-styles/katakana/css3-counter-styles-038-expected.html: Added.
- web-platform-tests/css/css-counter-styles/katakana/css3-counter-styles-038.html: Added.
- web-platform-tests/css/css-counter-styles/katakana/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/khmer/css3-counter-styles-161-expected.html: Added.
- web-platform-tests/css/css-counter-styles/khmer/css3-counter-styles-161.html: Added.
- web-platform-tests/css/css-counter-styles/khmer/css3-counter-styles-162-expected.html: Added.
- web-platform-tests/css/css-counter-styles/khmer/css3-counter-styles-162.html: Added.
- web-platform-tests/css/css-counter-styles/khmer/css3-counter-styles-163-expected.html: Added.
- web-platform-tests/css/css-counter-styles/khmer/css3-counter-styles-163.html: Added.
- web-platform-tests/css/css-counter-styles/khmer/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/korean-hangul-formal/css3-counter-styles-052-expected.html: Added.
- web-platform-tests/css/css-counter-styles/korean-hangul-formal/css3-counter-styles-052.html: Added.
- web-platform-tests/css/css-counter-styles/korean-hangul-formal/css3-counter-styles-053-expected.html: Added.
- web-platform-tests/css/css-counter-styles/korean-hangul-formal/css3-counter-styles-053.html: Added.
- web-platform-tests/css/css-counter-styles/korean-hangul-formal/css3-counter-styles-054-expected.html: Added.
- web-platform-tests/css/css-counter-styles/korean-hangul-formal/css3-counter-styles-054.html: Added.
- web-platform-tests/css/css-counter-styles/korean-hangul-formal/css3-counter-styles-055-expected.html: Added.
- web-platform-tests/css/css-counter-styles/korean-hangul-formal/css3-counter-styles-055.html: Added.
- web-platform-tests/css/css-counter-styles/korean-hangul-formal/css3-counter-styles-056-expected.html: Added.
- web-platform-tests/css/css-counter-styles/korean-hangul-formal/css3-counter-styles-056.html: Added.
- web-platform-tests/css/css-counter-styles/korean-hangul-formal/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/korean-hanja-formal/css3-counter-styles-062-expected.html: Added.
- web-platform-tests/css/css-counter-styles/korean-hanja-formal/css3-counter-styles-062.html: Added.
- web-platform-tests/css/css-counter-styles/korean-hanja-formal/css3-counter-styles-063-expected.html: Added.
- web-platform-tests/css/css-counter-styles/korean-hanja-formal/css3-counter-styles-063.html: Added.
- web-platform-tests/css/css-counter-styles/korean-hanja-formal/css3-counter-styles-064-expected.html: Added.
- web-platform-tests/css/css-counter-styles/korean-hanja-formal/css3-counter-styles-064.html: Added.
- web-platform-tests/css/css-counter-styles/korean-hanja-formal/css3-counter-styles-065-expected.html: Added.
- web-platform-tests/css/css-counter-styles/korean-hanja-formal/css3-counter-styles-065.html: Added.
- web-platform-tests/css/css-counter-styles/korean-hanja-formal/css3-counter-styles-066-expected.html: Added.
- web-platform-tests/css/css-counter-styles/korean-hanja-formal/css3-counter-styles-066.html: Added.
- web-platform-tests/css/css-counter-styles/korean-hanja-formal/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/korean-hanja-informal/css3-counter-styles-057-expected.html: Added.
- web-platform-tests/css/css-counter-styles/korean-hanja-informal/css3-counter-styles-057.html: Added.
- web-platform-tests/css/css-counter-styles/korean-hanja-informal/css3-counter-styles-058-expected.html: Added.
- web-platform-tests/css/css-counter-styles/korean-hanja-informal/css3-counter-styles-058.html: Added.
- web-platform-tests/css/css-counter-styles/korean-hanja-informal/css3-counter-styles-059-expected.html: Added.
- web-platform-tests/css/css-counter-styles/korean-hanja-informal/css3-counter-styles-059.html: Added.
- web-platform-tests/css/css-counter-styles/korean-hanja-informal/css3-counter-styles-060-expected.html: Added.
- web-platform-tests/css/css-counter-styles/korean-hanja-informal/css3-counter-styles-060.html: Added.
- web-platform-tests/css/css-counter-styles/korean-hanja-informal/css3-counter-styles-061-expected.html: Added.
- web-platform-tests/css/css-counter-styles/korean-hanja-informal/css3-counter-styles-061.html: Added.
- web-platform-tests/css/css-counter-styles/korean-hanja-informal/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/lao/css3-counter-styles-131-expected.html: Added.
- web-platform-tests/css/css-counter-styles/lao/css3-counter-styles-131.html: Added.
- web-platform-tests/css/css-counter-styles/lao/css3-counter-styles-132-expected.html: Added.
- web-platform-tests/css/css-counter-styles/lao/css3-counter-styles-132.html: Added.
- web-platform-tests/css/css-counter-styles/lao/css3-counter-styles-133-expected.html: Added.
- web-platform-tests/css/css-counter-styles/lao/css3-counter-styles-133.html: Added.
- web-platform-tests/css/css-counter-styles/lao/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/lower-armenian/css3-counter-styles-111-expected.html: Added.
- web-platform-tests/css/css-counter-styles/lower-armenian/css3-counter-styles-111.html: Added.
- web-platform-tests/css/css-counter-styles/lower-armenian/css3-counter-styles-112-expected.html: Added.
- web-platform-tests/css/css-counter-styles/lower-armenian/css3-counter-styles-112.html: Added.
- web-platform-tests/css/css-counter-styles/lower-armenian/css3-counter-styles-114-expected.html: Added.
- web-platform-tests/css/css-counter-styles/lower-armenian/css3-counter-styles-114.html: Added.
- web-platform-tests/css/css-counter-styles/lower-armenian/css3-counter-styles-115-expected.html: Added.
- web-platform-tests/css/css-counter-styles/lower-armenian/css3-counter-styles-115.html: Added.
- web-platform-tests/css/css-counter-styles/lower-armenian/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/lower-greek/css3-counter-styles-027-expected.html: Added.
- web-platform-tests/css/css-counter-styles/lower-greek/css3-counter-styles-027.html: Added.
- web-platform-tests/css/css-counter-styles/lower-greek/css3-counter-styles-028-expected.html: Added.
- web-platform-tests/css/css-counter-styles/lower-greek/css3-counter-styles-028.html: Added.
- web-platform-tests/css/css-counter-styles/lower-greek/css3-counter-styles-029-expected.html: Added.
- web-platform-tests/css/css-counter-styles/lower-greek/css3-counter-styles-029.html: Added.
- web-platform-tests/css/css-counter-styles/lower-greek/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/lower-roman/css3-counter-styles-019-expected.html: Added.
- web-platform-tests/css/css-counter-styles/lower-roman/css3-counter-styles-019.html: Added.
- web-platform-tests/css/css-counter-styles/lower-roman/css3-counter-styles-020-expected.html: Added.
- web-platform-tests/css/css-counter-styles/lower-roman/css3-counter-styles-020.html: Added.
- web-platform-tests/css/css-counter-styles/lower-roman/css3-counter-styles-020a-expected.html: Added.
- web-platform-tests/css/css-counter-styles/lower-roman/css3-counter-styles-020a.html: Added.
- web-platform-tests/css/css-counter-styles/lower-roman/css3-counter-styles-020b-expected.html: Added.
- web-platform-tests/css/css-counter-styles/lower-roman/css3-counter-styles-020b.html: Added.
- web-platform-tests/css/css-counter-styles/lower-roman/css3-counter-styles-021-expected.html: Added.
- web-platform-tests/css/css-counter-styles/lower-roman/css3-counter-styles-021.html: Added.
- web-platform-tests/css/css-counter-styles/lower-roman/css3-counter-styles-022-expected.html: Added.
- web-platform-tests/css/css-counter-styles/lower-roman/css3-counter-styles-022.html: Added.
- web-platform-tests/css/css-counter-styles/lower-roman/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/malayalam/css3-counter-styles-134-expected.html: Added.
- web-platform-tests/css/css-counter-styles/malayalam/css3-counter-styles-134.html: Added.
- web-platform-tests/css/css-counter-styles/malayalam/css3-counter-styles-135-expected.html: Added.
- web-platform-tests/css/css-counter-styles/malayalam/css3-counter-styles-135.html: Added.
- web-platform-tests/css/css-counter-styles/malayalam/css3-counter-styles-136-expected.html: Added.
- web-platform-tests/css/css-counter-styles/malayalam/css3-counter-styles-136.html: Added.
- web-platform-tests/css/css-counter-styles/malayalam/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/mongolian/css3-counter-styles-137-expected.html: Added.
- web-platform-tests/css/css-counter-styles/mongolian/css3-counter-styles-137.html: Added.
- web-platform-tests/css/css-counter-styles/mongolian/css3-counter-styles-138-expected.html: Added.
- web-platform-tests/css/css-counter-styles/mongolian/css3-counter-styles-138.html: Added.
- web-platform-tests/css/css-counter-styles/mongolian/css3-counter-styles-139-expected.html: Added.
- web-platform-tests/css/css-counter-styles/mongolian/css3-counter-styles-139.html: Added.
- web-platform-tests/css/css-counter-styles/mongolian/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/myanmar/css3-counter-styles-140-expected.html: Added.
- web-platform-tests/css/css-counter-styles/myanmar/css3-counter-styles-140.html: Added.
- web-platform-tests/css/css-counter-styles/myanmar/css3-counter-styles-141-expected.html: Added.
- web-platform-tests/css/css-counter-styles/myanmar/css3-counter-styles-141.html: Added.
- web-platform-tests/css/css-counter-styles/myanmar/css3-counter-styles-142-expected.html: Added.
- web-platform-tests/css/css-counter-styles/myanmar/css3-counter-styles-142.html: Added.
- web-platform-tests/css/css-counter-styles/myanmar/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/oriya/css3-counter-styles-143-expected.html: Added.
- web-platform-tests/css/css-counter-styles/oriya/css3-counter-styles-143.html: Added.
- web-platform-tests/css/css-counter-styles/oriya/css3-counter-styles-144-expected.html: Added.
- web-platform-tests/css/css-counter-styles/oriya/css3-counter-styles-144.html: Added.
- web-platform-tests/css/css-counter-styles/oriya/css3-counter-styles-145-expected.html: Added.
- web-platform-tests/css/css-counter-styles/oriya/css3-counter-styles-145.html: Added.
- web-platform-tests/css/css-counter-styles/oriya/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/persian/css3-counter-styles-104-expected.html: Added.
- web-platform-tests/css/css-counter-styles/persian/css3-counter-styles-104.html: Added.
- web-platform-tests/css/css-counter-styles/persian/css3-counter-styles-105-expected.html: Added.
- web-platform-tests/css/css-counter-styles/persian/css3-counter-styles-105.html: Added.
- web-platform-tests/css/css-counter-styles/persian/css3-counter-styles-106-expected.html: Added.
- web-platform-tests/css/css-counter-styles/persian/css3-counter-styles-106.html: Added.
- web-platform-tests/css/css-counter-styles/persian/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/simp-chinese-formal/css3-counter-styles-076-expected.html: Added.
- web-platform-tests/css/css-counter-styles/simp-chinese-formal/css3-counter-styles-076.html: Added.
- web-platform-tests/css/css-counter-styles/simp-chinese-formal/css3-counter-styles-077-expected.html: Added.
- web-platform-tests/css/css-counter-styles/simp-chinese-formal/css3-counter-styles-077.html: Added.
- web-platform-tests/css/css-counter-styles/simp-chinese-formal/css3-counter-styles-078-expected.html: Added.
- web-platform-tests/css/css-counter-styles/simp-chinese-formal/css3-counter-styles-078.html: Added.
- web-platform-tests/css/css-counter-styles/simp-chinese-formal/css3-counter-styles-079-expected.html: Added.
- web-platform-tests/css/css-counter-styles/simp-chinese-formal/css3-counter-styles-079.html: Added.
- web-platform-tests/css/css-counter-styles/simp-chinese-formal/css3-counter-styles-080-expected.html: Added.
- web-platform-tests/css/css-counter-styles/simp-chinese-formal/css3-counter-styles-080.html: Added.
- web-platform-tests/css/css-counter-styles/simp-chinese-formal/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/simp-chinese-informal/css3-counter-styles-071-expected.html: Added.
- web-platform-tests/css/css-counter-styles/simp-chinese-informal/css3-counter-styles-071.html: Added.
- web-platform-tests/css/css-counter-styles/simp-chinese-informal/css3-counter-styles-072-expected.html: Added.
- web-platform-tests/css/css-counter-styles/simp-chinese-informal/css3-counter-styles-072.html: Added.
- web-platform-tests/css/css-counter-styles/simp-chinese-informal/css3-counter-styles-073-expected.html: Added.
- web-platform-tests/css/css-counter-styles/simp-chinese-informal/css3-counter-styles-073.html: Added.
- web-platform-tests/css/css-counter-styles/simp-chinese-informal/css3-counter-styles-074-expected.html: Added.
- web-platform-tests/css/css-counter-styles/simp-chinese-informal/css3-counter-styles-074.html: Added.
- web-platform-tests/css/css-counter-styles/simp-chinese-informal/css3-counter-styles-075-expected.html: Added.
- web-platform-tests/css/css-counter-styles/simp-chinese-informal/css3-counter-styles-075.html: Added.
- web-platform-tests/css/css-counter-styles/simp-chinese-informal/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/support/counter-style-testcommon.js: Added.
(test_counter_style_descriptor):
(test_valid_counter_style_descriptor):
(test_invalid_counter_style_descriptor):
(test_counter_style_name):
(test_valid_name):
(test_invalid_name):
- web-platform-tests/css/css-counter-styles/support/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/tamil/css3-counter-styles-146-expected.html: Added.
- web-platform-tests/css/css-counter-styles/tamil/css3-counter-styles-146.html: Added.
- web-platform-tests/css/css-counter-styles/tamil/css3-counter-styles-147-expected.html: Added.
- web-platform-tests/css/css-counter-styles/tamil/css3-counter-styles-147.html: Added.
- web-platform-tests/css/css-counter-styles/tamil/css3-counter-styles-148-expected.html: Added.
- web-platform-tests/css/css-counter-styles/tamil/css3-counter-styles-148.html: Added.
- web-platform-tests/css/css-counter-styles/tamil/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/telugu/css3-counter-styles-149-expected.html: Added.
- web-platform-tests/css/css-counter-styles/telugu/css3-counter-styles-149.html: Added.
- web-platform-tests/css/css-counter-styles/telugu/css3-counter-styles-150-expected.html: Added.
- web-platform-tests/css/css-counter-styles/telugu/css3-counter-styles-150.html: Added.
- web-platform-tests/css/css-counter-styles/telugu/css3-counter-styles-151-expected.html: Added.
- web-platform-tests/css/css-counter-styles/telugu/css3-counter-styles-151.html: Added.
- web-platform-tests/css/css-counter-styles/telugu/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/thai/css3-counter-styles-152-expected.html: Added.
- web-platform-tests/css/css-counter-styles/thai/css3-counter-styles-152.html: Added.
- web-platform-tests/css/css-counter-styles/thai/css3-counter-styles-153-expected.html: Added.
- web-platform-tests/css/css-counter-styles/thai/css3-counter-styles-153.html: Added.
- web-platform-tests/css/css-counter-styles/thai/css3-counter-styles-154-expected.html: Added.
- web-platform-tests/css/css-counter-styles/thai/css3-counter-styles-154.html: Added.
- web-platform-tests/css/css-counter-styles/thai/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/tibetan/css3-counter-styles-155-expected.html: Added.
- web-platform-tests/css/css-counter-styles/tibetan/css3-counter-styles-155.html: Added.
- web-platform-tests/css/css-counter-styles/tibetan/css3-counter-styles-156-expected.html: Added.
- web-platform-tests/css/css-counter-styles/tibetan/css3-counter-styles-156.html: Added.
- web-platform-tests/css/css-counter-styles/tibetan/css3-counter-styles-157-expected.html: Added.
- web-platform-tests/css/css-counter-styles/tibetan/css3-counter-styles-157.html: Added.
- web-platform-tests/css/css-counter-styles/tibetan/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/trad-chinese-formal/css3-counter-styles-086-expected.html: Added.
- web-platform-tests/css/css-counter-styles/trad-chinese-formal/css3-counter-styles-086.html: Added.
- web-platform-tests/css/css-counter-styles/trad-chinese-formal/css3-counter-styles-087-expected.html: Added.
- web-platform-tests/css/css-counter-styles/trad-chinese-formal/css3-counter-styles-087.html: Added.
- web-platform-tests/css/css-counter-styles/trad-chinese-formal/css3-counter-styles-088-expected.html: Added.
- web-platform-tests/css/css-counter-styles/trad-chinese-formal/css3-counter-styles-088.html: Added.
- web-platform-tests/css/css-counter-styles/trad-chinese-formal/css3-counter-styles-089-expected.html: Added.
- web-platform-tests/css/css-counter-styles/trad-chinese-formal/css3-counter-styles-089.html: Added.
- web-platform-tests/css/css-counter-styles/trad-chinese-formal/css3-counter-styles-090-expected.html: Added.
- web-platform-tests/css/css-counter-styles/trad-chinese-formal/css3-counter-styles-090.html: Added.
- web-platform-tests/css/css-counter-styles/trad-chinese-formal/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/trad-chinese-informal/css3-counter-styles-081-expected.html: Added.
- web-platform-tests/css/css-counter-styles/trad-chinese-informal/css3-counter-styles-081.html: Added.
- web-platform-tests/css/css-counter-styles/trad-chinese-informal/css3-counter-styles-082-expected.html: Added.
- web-platform-tests/css/css-counter-styles/trad-chinese-informal/css3-counter-styles-082.html: Added.
- web-platform-tests/css/css-counter-styles/trad-chinese-informal/css3-counter-styles-083-expected.html: Added.
- web-platform-tests/css/css-counter-styles/trad-chinese-informal/css3-counter-styles-083.html: Added.
- web-platform-tests/css/css-counter-styles/trad-chinese-informal/css3-counter-styles-084-expected.html: Added.
- web-platform-tests/css/css-counter-styles/trad-chinese-informal/css3-counter-styles-084.html: Added.
- web-platform-tests/css/css-counter-styles/trad-chinese-informal/css3-counter-styles-085-expected.html: Added.
- web-platform-tests/css/css-counter-styles/trad-chinese-informal/css3-counter-styles-085.html: Added.
- web-platform-tests/css/css-counter-styles/trad-chinese-informal/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/upper-armenian/css3-counter-styles-107-expected.html: Added.
- web-platform-tests/css/css-counter-styles/upper-armenian/css3-counter-styles-107.html: Added.
- web-platform-tests/css/css-counter-styles/upper-armenian/css3-counter-styles-108-expected.html: Added.
- web-platform-tests/css/css-counter-styles/upper-armenian/css3-counter-styles-108.html: Added.
- web-platform-tests/css/css-counter-styles/upper-armenian/css3-counter-styles-109-expected.html: Added.
- web-platform-tests/css/css-counter-styles/upper-armenian/css3-counter-styles-109.html: Added.
- web-platform-tests/css/css-counter-styles/upper-armenian/css3-counter-styles-110-expected.html: Added.
- web-platform-tests/css/css-counter-styles/upper-armenian/css3-counter-styles-110.html: Added.
- web-platform-tests/css/css-counter-styles/upper-armenian/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/upper-roman/css3-counter-styles-023-expected.html: Added.
- web-platform-tests/css/css-counter-styles/upper-roman/css3-counter-styles-023.html: Added.
- web-platform-tests/css/css-counter-styles/upper-roman/css3-counter-styles-024-expected.html: Added.
- web-platform-tests/css/css-counter-styles/upper-roman/css3-counter-styles-024.html: Added.
- web-platform-tests/css/css-counter-styles/upper-roman/css3-counter-styles-024a-expected.html: Added.
- web-platform-tests/css/css-counter-styles/upper-roman/css3-counter-styles-024a.html: Added.
- web-platform-tests/css/css-counter-styles/upper-roman/css3-counter-styles-025-expected.html: Added.
- web-platform-tests/css/css-counter-styles/upper-roman/css3-counter-styles-025.html: Added.
- web-platform-tests/css/css-counter-styles/upper-roman/css3-counter-styles-026-expected.html: Added.
- web-platform-tests/css/css-counter-styles/upper-roman/css3-counter-styles-026.html: Added.
- web-platform-tests/css/css-counter-styles/upper-roman/w3c-import.log: Added.
- web-platform-tests/css/css-counter-styles/w3c-import.log: Added.
LayoutTests:
- TestExpectations: Update test expectations to reflect newly imported
css-counter-style WPTs.
- 10:53 PM Changeset in webkit [273064] by
-
- 2 edits in trunk/Source/WebKit
[GPUP] Remove RemoteLegacyCDMSessionProxy and RemoteLegacyCDMSessionProxy from the message receiver map in the destructor of RemoteLegacyCDMFactoryProxy
https://bugs.webkit.org/show_bug.cgi?id=222079
Reviewed by Jer Noble.
Fix a GPU process crash when running http/tests/navigation/parsed-iframe-dynamic-form-back-entry.html.
- GPUProcess/media/RemoteLegacyCDMFactoryProxy.cpp:
(WebKit::RemoteLegacyCDMFactoryProxy::~RemoteLegacyCDMFactoryProxy):
- 9:48 PM Changeset in webkit [273063] by
-
- 3 edits in trunk/Source/WebKit
[CoordinatedGraphics] The whole content is unnecessarily repainted by animations in non-AC mode pages
https://bugs.webkit.org/show_bug.cgi?id=221391
Reviewed by Carlos Garcia Campos.
When triggerRenderingUpdate was called back, it added the whole
view area into the dirty region to repaint in non-AC mode pages.
This caused a problem that the whole content was unnecessarily
repainted by animations in non-AC mode pages.
Call scheduleDisplay instead of setNeedsDisplay in
triggerRenderingUpdate.
However, if the dirty region is empty, display() exited early. If
triggerRenderingUpdate is called back,
DrawingAreaCoordinatedGraphics::display should be called to ensure
WebPage::updateRendering() called even if m_dirtyRegion is empty.
Added a new flag m_scheduledWhileWaitingForDidUpdate.
- WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:
(WebKit::DrawingAreaCoordinatedGraphics::triggerRenderingUpdate):
Call scheduleDisplay() instead of setNeedsDisplay().
(WebKit::DrawingAreaCoordinatedGraphics::didUpdate):
(WebKit::DrawingAreaCoordinatedGraphics::scheduleDisplay): Don't
return early even if m_dirtyRegion is empty.
(WebKit::DrawingAreaCoordinatedGraphics::display()): Ditto.
(WebKit::DrawingAreaCoordinatedGraphics::display(UpdateInfo&)):
Return early if m_dirtyRegion is empty.
- WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.h:
Added m_scheduledWhileWaitingForDidUpdate.
- 9:06 PM Changeset in webkit [273062] by
-
- 176 edits in trunk
Reduce explicit usage of [objC autorelease] in WebKit even further
https://bugs.webkit.org/show_bug.cgi?id=222060
Reviewed by Darin Adler.
Reduce explicit usage of [objC autorelease] in WebKit further by using RetainPtr.
Source/WebKit:
- UIProcess/Cocoa/SafeBrowsingWarningCocoa.mm:
(WebKit::safeBrowsingDetailsText):
- UIProcess/WebAuthentication/Mock/MockNfcService.mm:
(WebKit::MockNfcService::transceive):
- UIProcess/ios/DragDropInteractionState.mm:
(WebKit::DragDropInteractionState::updatePreviewsForActiveDragSources):
- UIProcess/ios/ViewGestureControllerIOS.mm:
(-[WKSwipeTransitionController gestureRecognizerForInteractiveTransition:WithTarget:action:]):
- UIProcess/ios/WKActionSheetAssistant.mm:
(appLinkForURL):
- UIProcess/ios/WKContentViewInteraction.mm:
(ensureLocalDragSessionContext):
(-[WKContentView insertTextPlaceholderWithSize:completionHandler:]):
(-[WKContentView continueContextMenuInteraction:]):
(-[WKContentView _dataForPreviewItemController:atPosition:type:]):
(-[WKContentView _presentedViewControllerForPreviewItemController:]):
(-[WKContentView _presentationSnapshotForPreviewItemController:]):
(+[WKTextRange textRangeWithState:isRange:isEditable:startRect:endRect:selectionRects:selectedTextLength:]):
(+[WKTextPosition textPositionWithRect:]):
- UIProcess/ios/WKTextPlaceholder.mm:
(-[WKTextPlaceholder rects]):
- UIProcess/ios/WKWebEvent.mm:
(-[WKWebEvent initWithEvent:]):
- UIProcess/ios/WebDataListSuggestionsDropdownIOS.mm:
(-[WKDataListSuggestionsPopover showSuggestionsDropdown:activationType:]):
(-[WKDataListSuggestionsViewController tableView:cellForRowAtIndexPath:]):
- UIProcess/ios/forms/WKDatePickerViewController.mm:
(-[WKDatePickerViewController _dateComponentForDay:month:year:era:]):
- UIProcess/ios/forms/WKFormSelectPicker.mm:
(-[WKOptionPickerCell initWithOptionItem:]):
(-[WKOptionGroupPickerCell initWithOptionItem:]):
(-[WKMultipleSelectPicker pickerView:viewForRow:forComponent:reusingView:]):
(-[WKSelectSinglePicker pickerView:attributedTitleForRow:forComponent:]):
(-[WKSelectPickerTableViewController tableView:viewForHeaderInSection:]):
(-[WKSelectPickerTableViewController tableView:cellForRowAtIndexPath:]):
- UIProcess/ios/forms/WKFormSelectPopover.mm:
(-[WKSelectTableViewController tableView:cellForRowAtIndexPath:]):
(-[WKSelectPopover initWithView:hasGroups:]):
- UIProcess/ios/forms/WKNumberPadView.mm:
(-[WKNumberPadView _buttonForPosition:]):
- UIProcess/ios/forms/WKNumberPadViewController.mm:
(-[WKNumberPadViewController _handleKeyPress:]):
- UIProcess/ios/forms/WKQuickboardListViewController.mm:
(-[WKQuickboardListViewController actionController]):
- UIProcess/ios/forms/WKTextInputListViewController.mm:
(-[WKTextInputListViewController enterText:]):
- UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
(-[WKFullScreenWindowController enterFullScreen]):
- UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController _defaultAnimationController]):
- UIProcess/mac/WKTextInputWindowController.mm:
(-[WKTextInputPanel _interpretKeyEvent:usingLegacyCocoaTextInput:string:]):
- UIProcess/mac/WKViewLayoutStrategy.mm:
(+[WKViewLayoutStrategy layoutStrategyWithPage:view:viewImpl:mode:]):
- UIProcess/mac/WebColorPickerMac.mm:
(-[WKColorPopoverMac setAndShowPicker:withColor:suggestions:]):
- UIProcess/mac/WebDataListSuggestionsDropdownMac.mm:
(-[WKDataListSuggestionsController tableView:rowViewForRow:]):
(-[WKDataListSuggestionsController tableView:viewForTableColumn:row:]):
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
(-[WKWebProcessPlugInFrame _certificateChain]):
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:
(-[WKWebProcessPlugInNodeHandle renderedImageWithOptions:width:]):
- WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm:
(-[WKDOMDocument parserYieldToken]):
- WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
(WebKit::toWKDOMType):
- WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
(-[WKDOMRange rangeByExpandingToWordBoundaryByCharacters:inDirection:]):
- WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(-[WKWebProcessPlugInBrowserContextController handle]):
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::platformInitialize):
Source/WebKitLegacy/ios:
- WebCoreSupport/WebSelectionRect.m:
(+[WebSelectionRect selectionRect]):
- WebCoreSupport/WebVisiblePosition.mm:
- WebView/WebPDFViewIOS.mm:
(-[WebPDFView _checkPDFTitle]):
Source/WebKitLegacy/mac:
- DOM/DOM.mm:
(kit):
- DOM/DOMAbstractView.mm:
(kit):
- DOM/DOMBlob.mm:
(kit):
- DOM/DOMCSSRule.mm:
(kit):
- DOM/DOMCSSRuleList.mm:
(kit):
- DOM/DOMCSSStyleDeclaration.mm:
(kit):
- DOM/DOMCSSValue.mm:
(kit):
- DOM/DOMCounter.mm:
(kit):
- DOM/DOMEvent.mm:
(kit):
- DOM/DOMFileList.mm:
(kit):
- DOM/DOMHTMLCollection.mm:
(kit):
- DOM/DOMHTMLOptionsCollection.mm:
(kit):
- DOM/DOMImplementation.mm:
(kit):
- DOM/DOMMediaError.mm:
(kit):
- DOM/DOMMediaList.mm:
(kit):
- DOM/DOMNamedNodeMap.mm:
(kit):
- DOM/DOMNode.mm:
(kit):
- DOM/DOMNodeIterator.mm:
(kit):
- DOM/DOMNodeList.mm:
(kit):
- DOM/DOMRGBColor.mm:
(kit):
- DOM/DOMRange.mm:
(kit):
- DOM/DOMRect.mm:
(kit):
- DOM/DOMStyleSheet.mm:
(kit):
- DOM/DOMStyleSheetList.mm:
(kit):
- DOM/DOMTimeRanges.mm:
(kit):
- DOM/DOMTokenList.mm:
(kit):
- DOM/DOMTreeWalker.mm:
(kit):
- DOM/DOMXPath.mm:
(kit):
- DOM/DOMXPathExpression.mm:
(kit):
- DOM/DOMXPathResult.mm:
(kit):
- DOM/WebDOMOperations.mm:
(-[DOMNode webArchive]):
(-[DOMNode webArchiveByFilteringSubframes:]):
(-[DOMRange webArchive]):
- DefaultDelegates/WebDefaultContextMenuDelegate.mm:
(-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):
- History/WebBackForwardList.mm:
(kit):
(-[WebBackForwardList addItem:]):
(-[WebBackForwardList backItem]):
(-[WebBackForwardList currentItem]):
(-[WebBackForwardList forwardItem]):
(-[WebBackForwardList itemAtIndex:]):
- History/WebHistory.mm:
(-[WebHistoryPrivate data]):
- History/WebHistoryItem.mm:
(kit):
(+[WebHistoryItem entryWithURL:]):
- Misc/WebKitNSStringExtras.mm:
(-[NSString _webkit_stringByTrimmingWhitespace]):
- Misc/WebNSDataExtras.mm:
(-[NSData _webkit_parseRFC822HeaderFields]):
- Misc/WebNSObjectExtras.mm:
(-[WebMainThreadInvoker forwardInvocation:]):
(-[WebMainThreadInvoker handleException:]):
(+[NSObject _webkit_invokeOnMainThread]):
(-[NSObject _webkit_invokeOnMainThread]):
- Misc/WebNSURLExtras.mm:
(-[NSURL _web_originalDataAsString]):
(-[NSURL _web_hostString]):
- Plugins/Hosted/HostedNetscapePluginStream.mm:
(WebKit::HostedNetscapePluginStream::pluginCancelledConnectionError const):
- Plugins/WebBasePluginPackage.mm:
(+[WebBasePluginPackage pluginWithPath:]):
- Plugins/WebNetscapePluginStream.mm:
(WebNetscapePluginStream::pluginCancelledConnectionError const):
- Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView sendEvent:isDrawRect:]):
- Plugins/WebPluginContainerCheck.mm:
(+[WebPluginContainerCheck checkWithRequest:target:resultObject:selector:controller:contextInfo:]):
- Plugins/WebPluginDatabase.mm:
(-[WebPluginDatabase _plugInPaths]):
- WebCoreSupport/WebEditorClient.mm:
(+[WebUndoStep stepWithUndoStep:]):
- WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::convertMainResourceLoadToDownload):
(makeFormFieldValuesDictionary):
(WebFrameLoaderClient::pluginWillHandleLoadError const):
(WebFrameLoaderClient::createPlugin):
- WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController webView:contextMenuItemsForElement:defaultMenuItems:]):
- WebCoreSupport/WebSecurityOrigin.mm:
- WebView/WebArchive.mm:
(-[WebArchive data]):
- WebView/WebDataSource.mm:
(-[WebDataSource _fileWrapperForURL:]):
(-[WebDataSource webArchive]):
(-[WebDataSource mainResource]):
(-[WebDataSource subresourceForURL:]):
- WebView/WebDeviceOrientationProviderMock.mm:
(-[WebDeviceOrientationProviderMockInternal lastOrientation]):
- WebView/WebFrame.mm:
(-[WebFrame elementAtPoint:]):
(-[WebFrame parentFrame]):
- WebView/WebFrameView.mm:
(-[WebFrameView initWithFrame:]):
(-[WebFrameView _setCustomScrollViewClass:]):
- WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation documentSource]):
(-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]):
- WebView/WebHTMLView.mm:
(+[WebHTMLView _excludedElementsForAttributedStringConversion]):
(-[WebHTMLView _plainTextFromPasteboard:]):
(-[WebHTMLView view:stringForToolTip:point:userData:]):
(-[WebHTMLView rightMouseUp:]):
(-[WebHTMLView menuForEvent:]):
(-[WebHTMLView scrollWheel:]):
(-[WebHTMLView acceptsFirstMouse:]):
(-[WebHTMLView shouldDelayWindowOrderingForEvent:]):
(-[WebHTMLView mouseDown:]):
(-[WebHTMLView mouseDragged:]):
(-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
(-[WebHTMLView mouseUp:]):
(-[WebHTMLView keyDown:]):
(-[WebHTMLView keyUp:]):
(-[WebHTMLView flagsChanged:]):
(-[WebHTMLView _fontAttributesFromFontPasteboard]):
(-[WebHTMLView performKeyEquivalent:]):
(-[WebHTMLView textStorage]):
(-[WebHTMLView pasteboardTypesForSelection]):
(-[WebHTMLView _legacyAttributedStringFrom:offset:to:offset:]):
(-[WebHTMLView attributedString]):
(-[WebHTMLView selectedAttributedString]):
(-[WebHTMLView elementAtPoint:allowShadowContent:]):
- WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _defaultAnimationController]):
- WebView/WebNotification.mm:
(-[WebNotification origin]):
- WebView/WebPDFView.mm:
(-[WebPDFView selectionImageForcingBlackText:]):
(-[WebPDFView _scaledAttributedString:]):
- WebView/WebResource.mm:
(-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]):
(-[WebResource _fileWrapperRepresentation]):
(-[WebResource _response]):
- WebView/WebScriptWorld.mm:
(+[WebScriptWorld world]):
(+[WebScriptWorld findOrCreateWorld:]):
- WebView/WebVideoFullscreenController.mm:
(-[WebVideoFullscreenController init]):
- WebView/WebView.mm:
(-[WebView _menuForElement:defaultItems:]):
(+[WebView _registerViewClass:representationClass:forURLScheme:]):
(-[WebView _displayURL]):
(-[WebView textIteratorForRect:]):
(+[WebView MIMETypesShownAsHTML]):
Tools:
- DumpRenderTree/ios/DumpRenderTreeBrowserView.mm:
(-[DumpRenderTreeWebScrollView initWithFrame:]):
- DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(createJSStringRef):
- DumpRenderTree/mac/DumpRenderTree.mm:
(createWebViewAndOffscreenWindow):
(dumpFramesAsText):
(dump):
- DumpRenderTree/mac/DumpRenderTreeWindow.mm:
- DumpRenderTree/mac/EventSendingController.mm:
(+[SyntheticTouch touchWithLocation:phase:identifier:]):
(-[EventSendingController beginDragWithFiles:]):
(+[EventSendingController replaySavedEvents]):
- DumpRenderTree/mac/PolicyDelegate.mm:
(dispositionTypeFromContentDispositionHeader):
- DumpRenderTree/mac/ResourceLoadDelegate.mm:
(-[ResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]):
- DumpRenderTree/mac/UIDelegate.mm:
(-[UIDelegate webView:createWebViewWithRequest:]):
- TestRunnerShared/EventSerialization/mac/EventSerializerMac.mm:
(+[EventSerializer dictionaryForEvent:relativeToTime:]):
- TestRunnerShared/cocoa/LayoutTestSpellChecker.mm:
(-[LayoutTestSpellChecker setResultsFromJSValue:inContext:]):
- TestWebKitAPI/Tests/JavaScriptCore/JSRunLoopTimer.mm:
(TestWebKitAPI::triggerGC):
- TestWebKitAPI/Tests/WebCore/cocoa/WebCoreNSURLSession.mm:
(TestWebKitAPI::WebCoreNSURLSessionTest::SetUp):
- TestWebKitAPI/Tests/WebKit/GetUserMediaNavigation.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKit/mac/ContextMenuImgWithVideo.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/BundleEditingDelegate.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/BundleFormDelegatePlugIn.mm:
(-[BundleFormDelegatePlugIn _webProcessPlugInBrowserContextController:willBeginInputSessionForElement:inFrame:userIsInteracting:]):
- TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
(TEST):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/ClipboardTests.mm:
(readMarkupFromPasteboard):
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/ContentRuleListNotification.mm:
(-[ContentRuleListNotificationDelegate webView:startURLSchemeTask:]):
- TestWebKitAPI/Tests/WebKitCocoa/ContextMenus.mm:
(-[TestContextMenuUIDelegate webView:contextMenuConfigurationForElement:completionHandler:]):
(-[TestContextMenuAPIBeforeSPIUIDelegate webView:contextMenuConfigurationForElement:completionHandler:]):
(-[TestContextMenuSuggestedActionsUIDelegate webView:contextMenuConfigurationForElement:completionHandler:]):
- TestWebKitAPI/Tests/WebKitCocoa/CopyHTML.mm:
(readHTMLStringFromPasteboard):
- TestWebKitAPI/Tests/WebKitCocoa/DeviceManagementRestrictions.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/DisplayName.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(TestWebKitAPI::webViewWithDownloadMonitorSpeedMultiplier):
(TestWebKitAPI::mutateFile):
- TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(-[InAppBrowserSchemeHandler webView:startURLSchemeTask:]):
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDBMultiProcess.mm:
(getNextMessage):
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDBStructuredCloneBackwardCompatibility.mm:
(getNextMessage):
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDBTempFileSize.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/JITEnabled.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/LocalStorageDatabaseTracker.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/NavigationAction.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/NetworkProcessCrashNonPersistentDataStore.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/Preferences.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
- TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/ReparentWebViewTimeout.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm:
- TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(TEST):
(-[ResourceLoadStatisticsSchemeHandler webView:startURLSchemeTask:]):
- TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
(+[TestServiceLookupResult resultWithProvider:phishing:malware:unwantedSoftware:]):
(+[TestLookupResult resultWithResults:]):
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
(-[SWCustomUserAgentDelegate _webView:decidePolicyForNavigationAction:preferences:userInfo:decisionHandler:]):
- TestWebKitAPI/Tests/WebKitCocoa/StorageQuota.mm:
- TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
(TestWebKitAPI::makeWebViewWith):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(TEST):
(-[UITestDelegate webView:startURLSchemeTask:]):
(-[ModalDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
- TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm:
(webViewForScriptMessageHandlerMultipleHandlerRemovalTest):
(TEST):
(-[AsyncScriptMessageHandler userContentController:didReceiveScriptMessage:replyHandler:]):
- TestWebKitAPI/Tests/WebKitCocoa/UserContentWorld.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(platformCopyRichTextWithImage):
(platformImageWithData):
- TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/WKInspectorDelegate.mm:
(-[UIDelegate _webView:configurationForLocalInspector:]):
- TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
(-[TaskSchemeHandler webView:startURLSchemeTask:]):
(-[SyncErrorScheme webView:startURLSchemeTask:]):
(-[FrameSchemeHandler webView:startURLSchemeTask:]):
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewConfiguration.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEvaluateJavaScript.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/WebGLPolicy.mm:
(-[WebGLTestDelegate webView:startURLSchemeTask:]):
- TestWebKitAPI/Tests/WebKitCocoa/WebProcessKillIDBCleanup.mm:
(getNextMessage):
- TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(getNextMessage):
(runWebsiteDataStoreCustomPaths):
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(-[ContentBlockingWebsitePoliciesDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
(-[AutoplayPoliciesDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
(-[AsyncAutoplayPoliciesDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
(TEST):
(-[TestSchemeHandler webView:startURLSchemeTask:]):
(respond):
(-[CustomHeaderFieldsDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
(-[CustomUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
(-[CustomJavaScriptUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
(-[CustomNavigatorPlatformDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
(-[WebsitePoliciesDeviceOrientationDelegate _webView:decidePolicyForNavigationAction:preferences:userInfo:decisionHandler:]):
(-[PopUpPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
(-[WebsitePoliciesWebsiteDataStoreDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
- TestWebKitAPI/Tests/WebKitCocoa/iOSMouseSupport.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitLegacy/ios/DateTimeInputsAccessoryViewTests.mm:
(cellForRowAtIndexPath):
- TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
(TestWebKitAPI::swizzledResizableSnapshotViewFromRect):
- TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/mac/InspectorBar.mm:
(-[InspectorBarController convertAttributes:]):
- TestWebKitAPI/Tests/mac/JavascriptURLNavigation.mm:
(-[JavascriptURLNavigationDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
- TestWebKitAPI/Tests/mac/LegacyDragAndDropTests.mm:
(+[FrameLoadCompletionListener listenerWithCompletionBlock:]):
(TestWebKitAPI::getTestImage):
- TestWebKitAPI/Tests/mac/MemoryPressureHandler.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/mac/WKWebViewMacEditingTests.mm:
(TEST):
- TestWebKitAPI/Tests/mac/WebViewIconLoading.mm:
(imageFromData):
- TestWebKitAPI/cocoa/TestProtocol.mm:
(additionalResponseHeaders):
(+[TestProtocol additionalResponseHeaders]):
(+[TestProtocol setAdditionalResponseHeaders:]):
(-[TestProtocol startLoading]):
- TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[WKWebView objectByCallingAsyncFunction:withArguments:error:]):
(-[TestWKWebView initWithFrame:]):
(-[TestWKWebView initWithFrame:configuration:processPoolConfiguration:]):
- TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
(-[MockDropSession initWithProviders:location:window:allowMove:]):
(-[DragAndDropSimulator initWithWebViewFrame:configuration:]):
(-[DragAndDropSimulator _webView:willUpdateDropProposalToProposal:forSession:]):
- TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
(defaultExternalDragImage):
(-[DragAndDropSimulator initWithWebViewFrame:configuration:]):
(-[DragAndDropSimulator runFrom:to:]):
- WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::createJSStringRef):
- WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformInitializeDataStore):
(WTR::TestController::platformCreateOtherPage):
- WebKitTestRunner/ios/HIDEventGenerator.mm:
(-[HIDEventGenerator sendEventStream:completionBlock:]):
- 8:33 PM Changeset in webkit [273061] by
-
- 7 edits in trunk
Fix a few issues with RangeResponseGenerator
https://bugs.webkit.org/show_bug.cgi?id=222087
Reviewed by Jer Noble.
Source/WebCore:
When it was enabled from r272908 to r273033 serveral issues were found and it was disabled until I fixed them.
The first was that RangeResponseGenerator was owned direclty by the WebCoreNSURLSession which is often deallocated on a non-main thread,
which caused all kinds of problems with the Strings and AtomStrings that are owned by its structures.
This was fixed by using WTF::DestructionThread::Main and I added assertions in the constructor and destructor.
The second was that WebCoreNSURLSessionDataTask's dealloc is casting _resource->client() to a WebCoreNSURLSessionDataTaskClient* and calling clearTask on it,
which writes null to that memory. Before r272908 it was a good assumption that the client was always a WebCoreNSURLSessionDataTaskClient, so there was no problem.
Since then, though, it could be a MediaResourceClient. The frustrating thing is that those two clients have the same size (32 bytes) so there was no out-of-bounds
memory writes, so ASAN wasn't seeing anything wrong. I was just seeing 0's written randomly to my client's data. I solved this by setting _resource to null when
the RangeResponseGenerator adopts the resource and client, so WebCoreNSURLSessionDataTask's dealloc won't do anything with it any more.
The third was that when the media stack calls WebCoreNSURLSessionDataTask's cancel, we were not removing the task from the RangeResponseGenerator's structures.
I noticed that when looking at logs, and added a call to removeTask.
Before fixing these three things, about 2/3 of the time I couldn't watch a real video on the real internet successfully. Now, I can about 95% of the time with my
test video, which responds with an HTTP 503 about 5% of the time, and there's nothing I can do about that. There were also some flaky tests that exercised these paths,
which have passed for me locally almost 2000 times without any failures.
- platform/network/cocoa/RangeResponseGenerator.h:
(WebCore::RangeResponseGenerator::create):
- platform/network/cocoa/RangeResponseGenerator.mm:
(WebCore::RangeResponseGenerator::RangeResponseGenerator):
(WebCore::RangeResponseGenerator::~RangeResponseGenerator):
(WebCore::RangeResponseGenerator::removeTask):
(WebCore::RangeResponseGenerator::giveResponseToTaskIfBytesInRangeReceived):
(WebCore::RangeResponseGenerator::willSynthesizeRangeResponses):
- platform/network/cocoa/WebCoreNSURLSession.h:
- platform/network/cocoa/WebCoreNSURLSession.mm:
(-[WebCoreNSURLSession initWithResourceLoader:delegate:delegateQueue:]):
(-[WebCoreNSURLSession rangeResponseGenerator]):
(-[WebCoreNSURLSessionDataTask _cancel]):
(-[WebCoreNSURLSessionDataTask resource:receivedResponse:completionHandler:]):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm:
(TestWebKitAPI::TEST):
- 8:27 PM Changeset in webkit [273060] by
-
- 2 edits in trunk/Tools
[GTK] Gardening most common EWS flakiness
Unreviewed test gardening.
Flakiness happening mostly on a single bot. Marking them temporarily
as flaky until investigation is performed.
- TestWebKitAPI/glib/TestExpectations.json:
- 7:02 PM Changeset in webkit [273059] by
-
- 2 edits in trunk/Tools
[Python-3] Child process environment on Windows can only contain strings
https://bugs.webkit.org/show_bug.cgi?id=222012
<rdar://problem/74437205>
Unreviewed test runner fix.
Use old Python 2 behavior of encoding when running with that version.
- Scripts/webkitpy/common/system/executive.py:
(Executive.popen):
- 6:48 PM Changeset in webkit [273058] by
-
- 4 edits in trunk/Source
Build fix for Debug builds using --force-opt=O3.
Not reviewed.
#include a needed Inlines.h.
Source/WebCore:
- editing/markup.cpp:
Source/WebKit:
- Platform/IPC/JSIPCBinding.cpp:
- 6:33 PM Changeset in webkit [273057] by
-
- 3 edits in trunk/Tools
_W3CTestConverter tests don't run on Windows
https://bugs.webkit.org/show_bug.cgi?id=221855
Reviewed by Jonathan Bedard.
In _W3CTestConverter it retrieves a relative path and then uses that to populate a
regular expression. On Windows the path separator is\which causes a re.error due to
a bad escape. Normalize the path to use/in this code.
- Scripts/webkitpy/w3c/test_converter.py:
(_W3CTestConverter.init):
- Scripts/webkitpy/w3c/test_converter_unittest.py:
(W3CTestConverterTest.verify_test_harness_paths):
- 6:26 PM Changeset in webkit [273056] by
-
- 2 edits in trunk/Source/WTF
Unreviewed, address post-landing review comments from Darin Adler for r273046.
- wtf/Forward.h:
- 5:57 PM Changeset in webkit [273055] by
-
- 4 edits in trunk/Source/WebKit
Add additions to LocalConnection.mm
https://bugs.webkit.org/show_bug.cgi?id=222029
<rdar://problem/69031303>
Reviewed by Jiewen Tan.
- UIProcess/WebAuthentication/Cocoa/AuthenticationServicesCoreSoftLink.h:
- UIProcess/WebAuthentication/Cocoa/AuthenticationServicesCoreSoftLink.mm:
- UIProcess/WebAuthentication/Cocoa/LocalConnection.mm:
(WebKit::LocalConnection::createCredentialPrivateKey const):
- 5:46 PM Changeset in webkit [273054] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, reverting r273019.
GTK port layout tests are timint out.
Reverted changeset:
"[CoordinatedGraphics] The whole content is unnecessarily
repainted by animations in non-AC mode pages"
https://bugs.webkit.org/show_bug.cgi?id=221391
https://commits.webkit.org/r273019
- 5:24 PM Changeset in webkit [273053] by
-
- 1 copy in tags/Safari-611.1.19
Tag Safari-611.1.19.
- 5:21 PM Changeset in webkit [273052] by
-
- 8 edits in branches/safari-611-branch/Source
Versioning.
WebKit-7611.1.20
- 5:19 PM Changeset in webkit [273051] by
-
- 46 edits in branches/safari-611-branch
Cherry-pick r272345. rdar://problem/74195248
[WebAuthn] Allow one user gesture free prompt for each navigation
https://bugs.webkit.org/show_bug.cgi?id=220897
<rdar://problem/73541303>
Reviewed by Brent Fulgham.
Source/WebCore:
- Modules/webauthn/AuthenticatorCoordinator.cpp: (WebCore::AuthenticatorCoordinator::resetUserGestureRequirement):
- Modules/webauthn/AuthenticatorCoordinator.h:
- Modules/webauthn/AuthenticatorCoordinatorClient.h:
- page/Quirks.cpp:
- page/Quirks.cpp.h:
- replay/UserInputBridge.cpp: (WebCore::UserInputBridge::loadRequest): (WebCore::UserInputBridge::reloadFrame): Adds the ability to reset the user gesture requirement flag for user initiated reloads and quirks.
Source/WebKit:
This is a quirk that only allows certain websites.
Covered by existing tests.
- UIProcess/WebAuthentication/AuthenticatorManager.cpp: (WebKit::AuthenticatorManager::filterTransports const): (WebKit::AuthenticatorManager::runPanel): (WebKit::AuthenticatorManager::runPresenter): Cancel the whole WebAuthn operation if no user gesture is indicated.
- WebProcess/WebAuthentication/WebAuthenticatorCoordinator.cpp: (WebKit::WebAuthenticatorCoordinator::makeCredential): (WebKit::WebAuthenticatorCoordinator::getAssertion):
- WebProcess/WebAuthentication/WebAuthenticatorCoordinator.h: Set a boolean to indicate a free coupon for each navigation.
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm: (TestWebKitAPI::TEST):
LayoutTests:
- http/wpt/webauthn/ctap-hid-failure.https-expected.txt:
- http/wpt/webauthn/ctap-hid-success.https-expected.txt:
- http/wpt/webauthn/ctap-nfc-failure.https-expected.txt:
- http/wpt/webauthn/idl.https-expected.txt:
- http/wpt/webauthn/public-key-credential-create-failure-hid-silent.https-expected.txt:
- http/wpt/webauthn/public-key-credential-create-failure-hid.https-expected.txt:
- http/wpt/webauthn/public-key-credential-create-failure-local-silent.https-expected.txt:
- http/wpt/webauthn/public-key-credential-create-failure-local.https-expected.txt:
- http/wpt/webauthn/public-key-credential-create-failure-nfc.https-expected.txt:
- http/wpt/webauthn/public-key-credential-create-failure-u2f-silent.https-expected.txt:
- http/wpt/webauthn/public-key-credential-create-failure-u2f.https-expected.txt:
- http/wpt/webauthn/public-key-credential-create-failure.https-expected.txt:
- http/wpt/webauthn/public-key-credential-create-success-hid.https-expected.txt:
- http/wpt/webauthn/public-key-credential-create-success-local.https-expected.txt:
- http/wpt/webauthn/public-key-credential-create-success-nfc.https-expected.txt:
- http/wpt/webauthn/public-key-credential-create-success-u2f.https-expected.txt:
- http/wpt/webauthn/public-key-credential-get-failure-hid-silent.https-expected.txt:
- http/wpt/webauthn/public-key-credential-get-failure-hid.https-expected.txt:
- http/wpt/webauthn/public-key-credential-get-failure-local-silent.https-expected.txt:
- http/wpt/webauthn/public-key-credential-get-failure-local.https-expected.txt:
- http/wpt/webauthn/public-key-credential-get-failure-nfc.https-expected.txt:
- http/wpt/webauthn/public-key-credential-get-failure-u2f-silent.https-expected.txt:
- http/wpt/webauthn/public-key-credential-get-failure-u2f.https-expected.txt:
- http/wpt/webauthn/public-key-credential-get-failure.https-expected.txt:
- http/wpt/webauthn/public-key-credential-get-success-hid.https-expected.txt:
- http/wpt/webauthn/public-key-credential-get-success-local.https-expected.txt:
- http/wpt/webauthn/public-key-credential-get-success-nfc.https-expected.txt:
- http/wpt/webauthn/public-key-credential-get-success-u2f.https-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@272345 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:13 PM Changeset in webkit [273050] by
-
- 2 edits in trunk/LayoutTests
media/track/track-in-band-style.html needs to be rebaselined after changes in r272055
https://bugs.webkit.org/show_bug.cgi?id=221835
Unreviewed test gardening.
Patch by Robert Jenner <Robert Jenner> on 2021-02-17
- media/track/track-in-band-style-expected.txt: rebaseline
- 5:10 PM Changeset in webkit [273049] by
-
- 22 edits5 adds in trunk
[iOS][FCR] Add new datalist dropdown for text inputs
https://bugs.webkit.org/show_bug.cgi?id=222008
<rdar://problem/74410513>
Reviewed by Wenson Hsieh.
Source/WebCore:
- WebCore.xcodeproj/project.pbxproj:
Add missing file to project.
- css/formControlsIOS.css:
(input::-webkit-list-button):
Slightly reduce the size of the button.
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::isFocusingWithDataListDropdown const):
- html/HTMLInputElement.h:
- html/InputType.h:
(WebCore::InputType::isFocusingWithDataListDropdown const):
- html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::shouldOnlyShowDataListDropdownButtonWhenFocusedOrEdited const):
The new datalist appearance always has the dropdown button visible.
(WebCore::TextFieldInputType::dataListButtonElementWasClicked):
Ensure clicking the datalist button sets the selection to end of the
input. Set the isFocusingWithDataListDropdown flag so that the keyboard
view can be suppressed when showing the dropdown.
(WebCore::TextFieldInputType::isFocusingWithDataListDropdown const):
- html/TextFieldInputType.h:
Source/WebKit:
The new datalist dropdown appears as a popover on both iPhones and iPads.
Previously, iPhones displayed a UIPickerView when tapping on the datalist
button, while iPads displayed a popover. Furthermore, the datalist button
was only visible after focusing the field. Now, the button can be used at
any time.
If the dropdown is presented while the software keyboard is visible, the
keyboard will be dismissed to create space for the dropdown. On devices
with a hardware keyboard, the dropdown is updated as characters are typed.
Tests: fast/forms/ios/form-control-refresh/datalist/datalist-show-hide.html
fast/forms/ios/form-control-refresh/datalist/datalist-textinput-suggestions-order.html
- Platform/spi/ios/UIKitSPI.h:
Added SPI declarations to configure the presentation of the presented
dropdown and to check whether the keyboard is visible.
- Shared/FocusedElementInformation.cpp:
(WebKit::FocusedElementInformation::encode const):
(WebKit::FocusedElementInformation::decode):
- Shared/FocusedElementInformation.h:
Added the isFocusingWithDataListDropdown member to control the presentation
of the keyboard when presenting a datalist dropdown.
- UIProcess/API/ios/WKWebViewPrivateForTestingIOS.h:
- UIProcess/API/ios/WKWebViewTestingIOS.mm:
(-[WKWebView _selectDataListOption:]):
Added a testing hook to select an option from the presented dropdown.
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView shouldShowAutomaticKeyboardUI]):
Do not show the keyboard when a datalist dropdown is visible, unless a
hardware keyboard is attached.
(-[WKContentView updateFocusedElementFocusedWithDataListDropdown:]):
Toggle keyboard visibility depending on the visibility of the dropdown.
(-[WKContentView _selectDataListOption:]):
(-[WKContentView _setDataListSuggestionsControl:]):
- UIProcess/ios/WebDataListSuggestionsDropdownIOS.h:
- UIProcess/ios/WebDataListSuggestionsDropdownIOS.mm:
(WebKit::WebDataListSuggestionsDropdownIOS::show):
(-[WKDataListSuggestionsControl initWithInformation:inView:]):
(-[WKDataListSuggestionsViewController reloadData]):
(-[WKDataListSuggestionsDropdown initWithInformation:inView:]):
(-[WKDataListSuggestionsDropdown updateWithInformation:]):
(-[WKDataListSuggestionsDropdown showSuggestionsDropdown:activationType:]):
(-[WKDataListSuggestionsDropdown invalidate]):
(-[WKDataListSuggestionsDropdown didSelectOptionAtIndex:]):
(-[WKDataListSuggestionsDropdown dealloc]):
(-[WKDataListSuggestionsDropdown _displayWithActivationType:]):
(-[WKDataListSuggestionsDropdown _showSuggestions]):
(-[WKDataListSuggestionsDropdown _presentSuggestionsViewController]):
(-[WKDataListSuggestionsDropdown _updateTextSuggestions]):
(-[WKDataListSuggestionsDropdown _removeKeyboardDismissalObserver]):
(-[WKDataListSuggestionsDropdown presentationControllerDidDismiss:]):
(-[WKDataListSuggestionsDropdown adaptivePresentationStyleForPresentationController:traitCollection:]):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getFocusedElementInformation):
Tools:
- WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::activateDataListSuggestion):
Implemented this method to enable testing selection of datalist options
on iOS.
(WTR::UIScriptControllerIOS::isShowingDataListSuggestions const):
The new appearance does not use a UIPickerView, check for the presence
of the new view controller instead.
LayoutTests:
Modified two tests from fast/forms/datalist to work with the new
dropdown. These tests will replace the old ones once the form control
refresh is enabled by default.
- fast/forms/ios/form-control-refresh/datalist/datalist-show-hide-expected.txt: Added.
- fast/forms/ios/form-control-refresh/datalist/datalist-show-hide.html: Added.
- fast/forms/ios/form-control-refresh/datalist/datalist-textinput-suggestions-order-expected.txt: Added.
- fast/forms/ios/form-control-refresh/datalist/datalist-textinput-suggestions-order.html: Added.
- 4:40 PM Changeset in webkit [273048] by
-
- 4 edits in trunk
Follow-up fix after r273023.
https://bugs.webkit.org/show_bug.cgi?id=221641
<rdar://problem/74166568>
Reviewed by Chris Dumez.
Source/WebKit:
Tested by TestWebKitAPI.
Resource loading expects the passed ResourceResponse to have a certificateInfo object.
This patch ensures that one exists.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadSimulatedRequest): Ensure certificate info is included.
Tools:
Correct the string comparison for the back/forward list test.
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewLoadAPIs.mm:
- 4:32 PM Changeset in webkit [273047] by
-
- 2 edits in trunk/LayoutTests
[Mac] imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-channel-count.https.html flakey text failure
https://bugs.webkit.org/show_bug.cgi?id=221100
Unreviewed test gardening.
Patch by Robert Jenner <Robert Jenner> on 2021-02-17
- platform/mac/TestExpectations:
- 4:24 PM Changeset in webkit [273046] by
-
- 6 edits in trunk
DumpRenderTree's createWebViewAndOffscreenWindow() should return a RetainPtr
https://bugs.webkit.org/show_bug.cgi?id=222068
Reviewed by Sam Weinig.
Source/WTF:
- wtf/Forward.h:
Tools:
- DumpRenderTree/mac/DumpRenderTree.mm:
(createWebViewAndOffscreenWindow):
(createGlobalWebViewAndOffscreenWindow):
- DumpRenderTree/mac/DumpRenderTreeMac.h:
- DumpRenderTree/mac/UIDelegate.mm:
(-[UIDelegate webView:createWebViewWithRequest:]):
- 4:22 PM Changeset in webkit [273045] by
-
- 2 edits in trunk/LayoutTests
[ BigSur ] imported/w3c/web-platform-tests/media-source/mediasource-config-change-webm-v-framesize.html is flakey failing
https://bugs.webkit.org/show_bug.cgi?id=221218
Unreviewed test gardening.
Patch by Robert Jenner <Robert Jenner> on 2021-02-17
- platform/mac/TestExpectations:
- 4:19 PM Changeset in webkit [273044] by
-
- 2 edits in trunk/Source/WebCore
Use a smart pointer for s_exception in objc_instance.mm
https://bugs.webkit.org/show_bug.cgi?id=222070
Reviewed by Geoffrey Garen.
- bridge/objc/objc_instance.mm:
(globalException):
(ObjcInstance::setGlobalException):
(ObjcInstance::moveGlobalExceptionToExecState):
- 4:03 PM Changeset in webkit [273043] by
-
- 2 edits in trunk/LayoutTests
[ BigSur WK1] media/video-multiple-concurrent-playback.html is flakey text failing
https://bugs.webkit.org/show_bug.cgi?id=221368
Unreviewed test gardening.
Patch by Robert Jenner <Robert Jenner> on 2021-02-17
- platform/mac-wk1/TestExpectations:
- 3:54 PM Changeset in webkit [273042] by
-
- 2 edits in trunk/LayoutTests
[ MacOS Wk2 ] inspector/model/remote-object/array-large.html is a flakey timeout
https://bugs.webkit.org/show_bug.cgi?id=221849
Unreviewed test gardening.
Patch by Robert Jenner <Robert Jenner> on 2021-02-17
- platform/mac-wk2/TestExpectations:
- 3:43 PM Changeset in webkit [273041] by
-
- 2 edits in trunk/LayoutTests
[ MacOS Wk2 ] inspector/debugger/stepping/stepInto.html is a flakey timeout
https://bugs.webkit.org/show_bug.cgi?id=221853
Unreviewed test gardneing.
Patch by Robert Jenner <Robert Jenner> on 2021-02-17
- platform/mac-wk2/TestExpectations:
- 3:42 PM Changeset in webkit [273040] by
-
- 3 edits in trunk/Source/WebKit
Add SPI to allow apps to initiate highlight creation.
https://bugs.webkit.org/show_bug.cgi?id=222063
Reviewed by Tim Horton.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _addAppHighlight]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- 3:31 PM Changeset in webkit [273039] by
-
- 2 edits in trunk/Source/WebCore
Use VTIsHardwareDecodeSupported to test VP9 decoder availability on IOS
https://bugs.webkit.org/show_bug.cgi?id=222040
Reviewed by Eric Carlson.
VTIsHardwareDecodeSupported is simpler to use than VTSelectAndCreateVideoDecoderInstance
and we want to restrict decoding for regular streaming to hardware anyway.
Manually tested.
- platform/graphics/cocoa/VP9UtilitiesCocoa.mm:
(WebCore::isVP9DecoderAvailable):
- 3:31 PM Changeset in webkit [273038] by
-
- 2 edits in trunk/LayoutTests
[ macOS ] media/webaudio-background-playback.html is a flakey text failure
https://bugs.webkit.org/show_bug.cgi?id=221935
Ureviewed test gardening.
Patch by Robert Jenner <Robert Jenner> on 2021-02-17
- platform/mac/TestExpectations:
- 3:30 PM Changeset in webkit [273037] by
-
- 2 edits in trunk/Source/WebCore
[PlayStation] Fix build break after r272948
https://bugs.webkit.org/show_bug.cgi?id=222061
Reviewed by Don Olmstead.
- inspector/InspectorOverlay.cpp:
- 3:14 PM Changeset in webkit [273036] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Remove access to the IOKIt class AGXDeviceUserClient in the WebContent process
https://bugs.webkit.org/show_bug.cgi?id=219733
<rdar://problem/70628137>
Reviewed by Brent Fulgham.
Remove access to the IOKIt class AGXDeviceUserClient in the WebContent process on iOS when the GPU process is enabled, since this is
not needed when allowing access to IOGPU. The IOGPU class is the superclass of AGXDeviceUserClient, and is the preferred IOKit
reference to use according to the Sandbox team.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- 3:04 PM Changeset in webkit [273035] by
-
- 2 edits in trunk/LayoutTests
[ macOS Wk2 ] fast/selectors/text-field-selection-window-inactive-text-shadow.html is a flakey image failure
https://bugs.webkit.org/show_bug.cgi?id=221857
Unreviewed test gardening.
Patch by Robert Jenner <Robert Jenner> on 2021-02-17
- platform/mac-wk2/TestExpectations:
- 2:58 PM Changeset in webkit [273034] by
-
- 6 edits in trunk/Source
[JSC] Rename entitlements for JITCage
https://bugs.webkit.org/show_bug.cgi?id=222077
<rdar://problem/74451093>
Reviewed by Mark Lam.
- Scripts/process-entitlements.sh:
Source/JavaScriptCore:
- entitlements.plist:
- runtime/Options.cpp:
(JSC::canUseJITCage):
- 2:44 PM Changeset in webkit [273033] by
-
- 4 edits in trunk
Effectively revert r272908
https://bugs.webkit.org/show_bug.cgi?id=221072
Source/WebCore:
That revision has some issues, causing bug 222067 among others.
This effectively reverts it without pulling out all the infrastructure changes from that patch.
This will make it easier to see what changes when I fix it.
- platform/network/cocoa/RangeResponseGenerator.mm:
(WebCore::RangeResponseGenerator::willSynthesizeRangeResponses):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm:
(TestWebKitAPI::runVideoTest):
(TestWebKitAPI::TEST):
- 2:41 PM Changeset in webkit [273032] by
-
- 2 edits in trunk/Source/ThirdParty/ANGLE
Metal-Angle on IOS fails in ValidateCreatePbufferFromClientBuffer
https://bugs.webkit.org/show_bug.cgi?id=222069
Reviewed by Simon Fraser.
Due to the differences between OpenGL and OpenGLES, WebCore
binds its IOSurfaces to a different texture target on macOS and iOS.
This isn't really needed with the Metal-ANGLE backend, but while we're
still supporting the OpenGL backend it is easier to have the Metal backend
use both targets.
- src/libANGLE/renderer/metal/DisplayMtl.mm:
(rx::DisplayMtl::generateConfigs): Look for EGL_TEXTURE_2D on iOS. Note
we don't have to worry about the weird "iOS App on macOS" situation since
that only applies to using OpenGLES on macOS. Yay for Metal!
- 2:38 PM Changeset in webkit [273031] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r272842): [ BigSur Wk2 ] imported/w3c/web-platform-tests/media-source/mediasource-seekable.html is a flakey text failure
https://bugs.webkit.org/show_bug.cgi?id=221965
Unreviewed test gardening.
Patch by Robert Jenner <Robert Jenner> on 2021-02-17
- platform/mac-wk2/TestExpectations:
- 1:53 PM Changeset in webkit [273030] by
-
- 22 edits1 copy in trunk/Tools
Add deprecation notices to believed-unused commands in webkit-patch
https://bugs.webkit.org/show_bug.cgi?id=222058
Patch by Sam Sneddon <Sam Sneddon> on 2021-02-17
Reviewed by Jonathan Bedard.
This only adds notices, asking any users of the commands to comment on
https://bugs.webkit.org/show_bug.cgi?id=221991; it doesn't in any way break the commands,
and the deprecation is easily undone.
- Scripts/webkitpy/tool/commands/adduserstogroups.py:
- Scripts/webkitpy/tool/commands/analyzechangelog.py:
- Scripts/webkitpy/tool/commands/applywatchlistlocal.py:
- Scripts/webkitpy/tool/commands/bugfortest.py:
- Scripts/webkitpy/tool/commands/bugsearch.py:
- Scripts/webkitpy/tool/commands/commandtest.py:
(CommandsTest.assert_execute_outputs): Strip the warnings from unittest output to avoid changing every test
(CommandsTest._remove_deprecated_warning):
- Scripts/webkitpy/tool/commands/deprecatedcommand.py: Added. Class decorator for Commands output notice.
- Scripts/webkitpy/tool/commands/download.py:
- Scripts/webkitpy/tool/commands/earlywarningsystem.py:
- Scripts/webkitpy/tool/commands/findusers.py:
- Scripts/webkitpy/tool/commands/gardenomatic.py:
- Scripts/webkitpy/tool/commands/openbugs.py:
- Scripts/webkitpy/tool/commands/queries.py:
- Scripts/webkitpy/tool/commands/rebaseline.py:
- Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
- Scripts/webkitpy/tool/commands/rebaselineserver.py:
- Scripts/webkitpy/tool/commands/setupgitclone.py:
- Scripts/webkitpy/tool/commands/suggestnominations.py:
- Scripts/webkitpy/tool/commands/upload.py:
- Scripts/webkitpy/tool/steps/runtests.py:
(RunTests.run): Deprecate running tests through webkit-patch, even indirectly.
- Scripts/webkitpy/tool/steps/runtests_unittest.py:
(RunTestsTest.test_webkit_run_unit_tests):
- Scripts/webkitpy/tool/steps/steps_unittest.py:
(StepsTest.test_runtests_args):
- 1:51 PM Changeset in webkit [273029] by
-
- 15 edits in trunk/Source/WebKit
Unreviewed, reverting r272905.
caused
TestWebKitAPI.WebKit2.CrashGPUProcessWhileCapturingAndCalling
to timeout
Reverted changeset:
"ThreadMessageReceiverRefCounted subclasses are accessed in
non-thread-safe way"
https://bugs.webkit.org/show_bug.cgi?id=221891
https://commits.webkit.org/r272905
- 1:47 PM Changeset in webkit [273028] by
-
- 2 edits1 add1 delete in trunk/LayoutTests
[LayoutTests] Convert http/tests/preconnect convert PHP to Python
https://bugs.webkit.org/show_bug.cgi?id=221980
<rdar://problem/74399549>
Patch by Chris Gambrell <Chris Gambrell> on 2021-02-17
Reviewed by Jonathan Bedard.
- http/tests/preconnect/link-header-rel-preconnect-http.html:
- http/tests/preconnect/resources/header-preconnect.php: Removed.
- http/tests/preconnect/resources/header-preconnect.py: Added.
- 1:46 PM Changeset in webkit [273027] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed attempt to fix GTK build after r273023.
- UIProcess/API/APINavigation.cpp:
- 1:39 PM Changeset in webkit [273026] by
-
- 9 edits1 delete in trunk/Source/WebCore
[iOS] update media controls to use new SF Symbols
https://bugs.webkit.org/show_bug.cgi?id=222023
Reviewed by Eric Carlson.
- Modules/modern-media-controls/images/iOS/Airplay.svg:
- Modules/modern-media-controls/images/iOS/EnterFullscreen.svg:
- Modules/modern-media-controls/images/iOS/MediaSelector.svg:
- Modules/modern-media-controls/images/iOS/MiniPipIn.svg: Removed.
- Modules/modern-media-controls/images/iOS/Pause.svg:
- Modules/modern-media-controls/images/iOS/PipIn.svg:
- Modules/modern-media-controls/images/iOS/Play.svg:
- Modules/modern-media-controls/images/iOS/SkipBack15.svg:
- Modules/modern-media-controls/images/iOS/SkipForward15.svg:
- 1:38 PM Changeset in webkit [273025] by
-
- 2 edits in trunk/Source/WebKit
Remove missing files from WebKit Xcode project
<https://webkit.org/b/222054>
Reviewed by Youenn Fablet.
Found using tidy-Xcode-project-file --missing (see Bug
188754).
- WebKit.xcodeproj/project.pbxproj:
(ConcreteShareableImageBuffer.h):
- Remove references to this missing file. This regressed in r270470 when the file was removed.
(ImageDataReference.h):
- Remove references to this missing file. This regressed in r272786 when the file was removed.
(NetworkCacheFileSystemCocoa.mm):
- Remove references to this missing file. This regressed in r244921 when the file was removed.
(Recovered References):
- Remove "Recovered References" folder and missing com.apple.WebKit.GPU.sb file that regressed in r253098. The file was added back separately in r253131.
(WebRTCSocket.h):
(WebRTCSocket.cpp):
(WebRTCNetwork.messages.in):
- Remove references to these missing files. This apparently regressed in r261163 when the files were renamed to have a "Lib" prefix, but the old references were not removed.
- 1:36 PM Changeset in webkit [273024] by
-
- 7 edits in trunk/Source/WebCore
[iOS] the tracks button should be emphasized while the media controls context menu is showing
https://bugs.webkit.org/show_bug.cgi?id=221938
Reviewed by Eric Carlson.
- Modules/mediacontrols/MediaControlsHost.idl:
- Modules/mediacontrols/MediaControlsHost.h:
- Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::~MediaControlsHost): Added.
(WebCore::MediaControlsHost::showMediaControlsContextMenu):
ModifyMediaControlsHost::showMediaControlsContextMenuto return aboolindicating
whether the media controls contextmenu was able to be shown and also accept aVoidCallback
that's invoked when the media controls contextmenu is dismissed. Also keep track of whether
a media controls contextmenu is already showing so that the media controls don't attempt to
show another media controls contextmenu until the existing one has been dismissed.
- Modules/modern-media-controls/media/media-controller.js:
(MediaController.prototype.get canShowMediaControlsContextMenu): Added.
(MediaController.prototype.showMediaControlsContextMenu): Added.
Add helper functions for querying whether the media controls contextmenu can be shown and
for actually showing the media controls contextmenu (based on the givenButton'selement
andcontextMenuOptions) which will emphasize (.on = true) if showing the media controls
contextmenu was successful and de-emphasize (.on = false) once the media controls
contextmenu is dismissed.
- Modules/modern-media-controls/media/overflow-support.js:
(OverflowSupport.prototype.buttonWasPressed):
(OverflowSupport.prototype.syncControl):
- Modules/modern-media-controls/media/tracks-support.js:
(TracksSupport.prototype.buttonWasPressed):
(TracksSupport.prototype.syncControl):
Use theMediaControllerhelper functions instead of queryingMediaControlsHostdirectly.
- 1:26 PM Changeset in webkit [273023] by
-
- 13 edits in trunk
Expand stubs to thread actual NSURLRequest/NSURLResponse for the new simulated-request API
https://bugs.webkit.org/show_bug.cgi?id=221641
<rdar://problem/74166568>
Reviewed by Chris Dumez.
Source/WebKit:
Tested by new API Test LoadSimulatedRequestUpdatesBackForwardList.
This bug builds on the stubs created in Bug 221430 to use actual Request and
Response objects for simulated loads:
- Thread the NSURLRequest and NSURLResponse objects to the loading layer when handling loads for HTML strings and data.
- Loads via the simulated request API should cause entries to be added to the back/forward list.
- Create a new API Test to confirm the back/forward list works as expected.
- UIProcess/API/APINavigation.cpp:
(API::SubstituteData::SubstituteData): New convenience constructor accepting a ResourceResponse.
(API::Navigation::Navigation): Ditto.
- UIProcess/API/APINavigation.h:
(API::Navigation::create): Added.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView loadSimulatedRequest:withResponse:responseData:]): Switch from using the plain 'loadData'
method to the new 'loadSimulatedRequest' implementation.
- UIProcess/WebNavigationState.cpp:
(WebKit::WebNavigationState::createSimulatedLoadWithDataNavigation): Added.
- UIProcess/WebNavigationState.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadSimulatedRequest): New method to support the loadSimulatedRequest WKWebView API.
- UIProcess/WebPageProxy.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadSimulatedRequestAndResponse): Added message handler to perform a simulated load using
ResourceRequest and ResourceResponse objects.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in: Added LoadSimulatedRequestAndResponse IPC message.
Tools:
Add a new test to confirm that simulated loads work and are properly added to the
back-forward list.
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewLoadAPIs.mm:
(TEST):
- 1:15 PM Changeset in webkit [273022] by
-
- 3 edits in trunk/Tools
Use smart pointer for WebView ownership in DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=222009
Reviewed by Geoffrey Garen.
- DumpRenderTree/mac/DumpRenderTree.mm:
(globalWebView):
(createWebViewAndOffscreenWindow):
(destroyGlobalWebViewAndOffscreenWindow):
(createGlobalWebViewAndOffscreenWindow):
(dumpRenderTree):
(runTest):
(destroyWebViewAndOffscreenWindow): Deleted.
- DumpRenderTree/mac/UIDelegate.mm:
(-[UIDelegate webView:createWebViewWithRequest:]):
- 12:33 PM Changeset in webkit [273021] by
-
- 2 edits in trunk/Tools
[Python-3] UnicodeDecodeError when checking for an interpreter on Windows
https://bugs.webkit.org/show_bug.cgi?id=222059
Reviewed by Jonathan Bedard.
When calling open to determine which interpreter should be used Python 3 was throwing a
UnicodeDecodeError. On Python 3 an encoding of cp437 is specified since all characters are
defined in it. Python 2 does not have this problem and throws with a TypeError if an
encoding argument is passed.
- Scripts/webkitpy/common/system/executive.py:
(Executive.popen):
- 12:31 PM Changeset in webkit [273020] by
-
- 2 edits in trunk/Source/WTF
Use element fullscreen for video on some configurations
https://bugs.webkit.org/show_bug.cgi?id=222048
<rdar://problem/74439214>
Reviewed by Sam Weinig.
- wtf/PlatformEnableCocoa.h:
- 12:11 PM Changeset in webkit [273019] by
-
- 4 edits in trunk
[CoordinatedGraphics] The whole content is unnecessarily repainted by animations in non-AC mode pages
https://bugs.webkit.org/show_bug.cgi?id=221391
Source/WebKit:
Reviewed by Carlos Garcia Campos.
When triggerRenderingUpdate was called back, it added the whole
view area into the dirty region to repaint in non-AC mode pages.
This caused a problem that the whole content was unnecessarily
repainted by animations in non-AC mode pages
If triggerRenderingUpdate is called back,
DrawingAreaCoordinatedGraphics::display should be called to ensure
WebPage::updateRendering() called even if m_dirtyRegion is empty.
- WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:
(WebKit::DrawingAreaCoordinatedGraphics::triggerRenderingUpdate):
Call scheduleDisplay() instead of setNeedsDisplay().
(WebKit::DrawingAreaCoordinatedGraphics::didUpdate):
(WebKit::DrawingAreaCoordinatedGraphics::scheduleDisplay): Don't
return early even if m_dirtyRegion is empty.
(WebKit::DrawingAreaCoordinatedGraphics::display()): Ditto.
(WebKit::DrawingAreaCoordinatedGraphics::display(UpdateInfo&)):
Return early if m_dirtyRegion is empty.
LayoutTests:
<rdar://problem/74207093>
Reviewed by Carlos Garcia Campos.
- platform/gtk/TestExpectations: Unmarked tests for Bug 222026.
- 11:57 AM Changeset in webkit [273018] by
-
- 2 edits in trunk/Websites/webkit.org
WebKit nighly archives page not working for Big Sur
https://bugs.webkit.org/show_bug.cgi?id=222016
<rdar://problem/74037376>
Reviewed by Alexey Proskuryakov.
- wp-content/themes/webkit/build-archives.php:
- 11:55 AM Changeset in webkit [273017] by
-
- 2 edits in trunk/Tools
[Python-3] Catch winerror.ERROR_INVALID_FUNCTION in ServerProcess
https://bugs.webkit.org/show_bug.cgi?id=222047
Reviewed by Jonathan Bedard.
The catch statement in _non_blocking_read_win32 throws a TypeError because the 'error'
object is not subscriptable. The block assumed a pywintypes.error so it was modified
to catch that exception. Using the proper type stopped that occurance but surfaced
additional issues.
When shutting down the server process the call to win32pipe.PeekNamedPipe can throw a
winerror.ERROR_INVALID_FUNCTION. There isn't really any documentation on MSDN pointing to
why this error would be thrown. ERROR_INVALID_FUNCTION seems to be around device driver
issues so the best guess is that the handle is no longer valid at this point of execution.
- Scripts/webkitpy/port/server_process.py:
(ServerProcess._non_blocking_read_win32):
- 11:23 AM Changeset in webkit [273016] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION (r272625): Fix missing headers in Xcode project
<https://webkit.org/b/222052>
Reviewed by Eric Carlson.
- WebKit.xcodeproj/project.pbxproj:
- Manually reconstruct missing PBXBuildFile entries for Xcode project.
- 11:09 AM Changeset in webkit [273015] by
-
- 2 edits in trunk/Tools
[git-webkit] Failure to retrieve commit in EWS (Investigation)
https://bugs.webkit.org/show_bug.cgi?id=222050
<rdar://problem/74439957>
Reviewed by Aakash Jain.
- Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub.request): Increase logging.
- 11:01 AM Changeset in webkit [273014] by
-
- 3 edits in trunk/Source/WebCore
[iOS][FCR] Add new look for input type=date
https://bugs.webkit.org/show_bug.cgi?id=222013
<rdar://problem/74415329>
Reviewed by Wenson Hsieh.
The new appearance is based on UIDatePicker.
- css/formControlsIOS.css:
(input:matches([type="date"], [type="time"], [type="datetime-local"], [type="month"], [type="week"])):
(input::-webkit-date-and-time-value):
- rendering/RenderThemeIOS.mm:
(WebCore::adjustInputElementButtonStyle):
No additional padding is neccessary for the new appearance.
(WebCore::RenderThemeIOS::paintMenuListButtonDecorationsWithFormControlRefresh):
Do not paint any additional glyphs.
- 10:38 AM Changeset in webkit [273013] by
-
- 11 edits3 copies in trunk/Source
Change App Highlight delegate to pass more information about the highlight for display.
https://bugs.webkit.org/show_bug.cgi?id=222014
Reviewed by Tim Horton.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _storeAppHighlight:]):
- UIProcess/API/Cocoa/_WKAppHighlightDelegate.h:
- WebKit.xcodeproj/project.pbxproj:
- 10:22 AM Changeset in webkit [273012] by
-
- 2 edits in trunk/LayoutTests
[ BigSur ] platform/mac-bigsur/media/media-webm-no-duration.html is constantly text failing
https://bugs.webkit.org/show_bug.cgi?id=221973
Unreviewed test gardening.
Patch by Robert Jenner <Robert Jenner> on 2021-02-17
- platform/mac/TestExpectations:
- 9:58 AM Changeset in webkit [273011] by
-
- 1 edit2 adds in trunk/LayoutTests
Add a test to exercise CSS scroll snap in an independently scrollable body
https://bugs.webkit.org/show_bug.cgi?id=222031
Patch by Martin Robinson <mrobinson@igalia.com> on 2021-02-17
Reviewed by Simon Fraser.
- css3/scroll-snap/scroll-snap-on-independently-scrollable-body-expected.txt: Added.
- css3/scroll-snap/scroll-snap-on-independently-scrollable-body.html: Added.
- 9:53 AM Changeset in webkit [273010] by
-
- 1 copy in tags/Safari-611.1.18
Tag Safari-611.1.18.
- 9:50 AM Changeset in webkit [273009] by
-
- 8 edits in branches/safari-611-branch/Source
Versioning.
WebKit-7611.1.19
- 9:39 AM Changeset in webkit [273008] by
-
- 3 edits in trunk/Tools
[Python-3] Child process environment on Windows can only contain strings
https://bugs.webkit.org/show_bug.cgi?id=222012
Reviewed by Jonathan Bedard.
When running Python 3 on Windows a 'TypeError: environment can only contain strings' is
thrown during execution of run-webkit-tests. If the Executive is running on native Windows
it converts the keys and values of the environment dictionary into strings and passes them
into the popen call.
In ServerProcess it was modifying the environment as well. This code was removed so
Executive is the only place that handles this issue.
- Scripts/webkitpy/common/system/executive.py:
(Executive.popen):
- Scripts/webkitpy/port/server_process.py:
(ServerProcess.init):
- 9:36 AM Changeset in webkit [273007] by
-
- 3 edits in trunk/Source/WebKit
[iOS] Add support for additional accessibility image extraction contextmenu actions
https://bugs.webkit.org/show_bug.cgi?id=222022
<rdar://problem/74157750>
Reviewed by Tim Horton.
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView continueContextMenuInteraction:]):
(-[WKContentView contextMenuInteraction:willEndForConfiguration:animator:]):
- 9:35 AM Changeset in webkit [273006] by
-
- 6 edits in trunk
[iOS] don't "promote" media controls contextmenu items if they are the only item being shown
https://bugs.webkit.org/show_bug.cgi?id=221939
Reviewed by Eric Carlson.
Source/WebKit:
- UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant showMediaControlsContextMenu:items:completionHandler:]):
LayoutTests:
- media/modern-media-controls/tracks-support/ios/tracks-support-click-track-in-contextmenu.html:
- media/modern-media-controls/tracks-support/ios/tracks-support-text-track-selected-via-media-api.html:
- media/modern-media-controls/tracks-support/ios/tracks-support-text-track-selected-via-media-api-expected.txt:
- 9:33 AM Changeset in webkit [273005] by
-
- 4 edits in trunk/Tools
[git-webkit] Support unicode when printing changelogs
https://bugs.webkit.org/show_bug.cgi?id=222044
<rdar://problem/74435276>
Reviewed by Aakash Jain.
- Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Scripts/libraries/webkitscmpy/webkitscmpy/program/find.py:
(Find.main): Explicitly print unicode.
- 9:32 AM Changeset in webkit [273004] by
-
- 22 edits1 copy3 adds in trunk
[iOS] Add an overflow button that's shown when controls are dropped so that it's still possible to trigger the dropped button's actions
https://bugs.webkit.org/show_bug.cgi?id=221937
<rdar://problem/20968078>
Reviewed by Eric Carlson.
Source/WebCore:
- Modules/mediacontrols/MediaControlsHost.idl:
- Modules/mediacontrols/MediaControlsHost.cpp:
- Modules/mediacontrols/MediaControlsHost.h:
(WebCore::MediaControlsHost::showMediaControlsContextMenu):
Use a JSONoptionsargument instead of a defineddictionaryso that it's easier to add
new values and is more flexible with the types of values.
- Modules/modern-media-controls/controls/overflow-button.js: Added.
(OverflowButton):
(OverflowButton.prototype.get visible):
(OverflowButton.prototype.set visible):
(OverflowButton.prototype.get contextMenuOptions):
(OverflowButton.prototype.addContextMenuOptions):
(OverflowButton.prototype.clearContextMenuOptions):
(OverflowButton.prototype.set defaultContextMenuOptions):
- Modules/modern-media-controls/media/overflow-support.js: Copied from Source/WebCore/Modules/modern-media-controls/controls/tracks-button.js.
(OverflowSupport.prototype.get mediaEvents):
(OverflowSupport.prototype.get control):
(OverflowSupport.prototype.buttonWasPressed):
(OverflowSupport.prototype.syncControl):
- Modules/modern-media-controls/controls/inline-media-controls.js:
(InlineMediaControls.prototype.layout):
(InlineMediaControls.prototype._rightContainerButtons):
(InlineMediaControls.prototype._droppableButtons):
Create anOverflowButtonthat mainains a JSON object ofcontextMenuOptionswhich are
passed toMediaControlsHost::showMediaControlsContextMenu. Whenever aButtonis dropped,
add itsget contextMenuOptionsto theOverflowButton'scontextMenuOptionsso that when
theOverflowButtonis pressed it shows a contextmenu with actions for all dropped buttons.
- Modules/modern-media-controls/controls/button.js:
(Button.prototype.get contextMenuOptions): Added.
- Modules/modern-media-controls/controls/tracks-button.js:
(TracksButton.prototype.get contextMenuOptions): Added.
- Modules/modern-media-controls/media/tracks-support.js:
(TracksSupport.prototype.buttonWasPressed):
Add aget contextMenuOptionsto the baseButtonclass so that all buttons are able to
be merged intoOverflowButton.
- Modules/modern-media-controls/controls/media-controls.js:
(MediaControls):
- Modules/modern-media-controls/media/media-controller.js:
(MediaController.prototype._supportingObjectClasses):
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::mediaControlsScript):
- en.lproj/modern-media-controls-localized-strings.js:
- Modules/modern-media-controls/controls/icon-service.js:
- Modules/modern-media-controls/images/iOS/Overflow.svg: Added.
- Modules/modern-media-controls/images/macOS/Overflow.svg: Added.
- Modules/modern-media-controls/js-files:
- WebCore.xcodeproj/project.pbxproj:
Add new files, icons, and text.
LayoutTests:
- media/modern-media-controls/audio/audio-controls-buttons.html:
- media/modern-media-controls/audio/audio-controls-buttons-expected.txt:
- media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-layout.html:
- media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-layout-expected.txt:
- media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-layout.html:
- media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-layout-expected.txt:
- 9:27 AM Changeset in webkit [273003] by
-
- 5 edits2 adds in trunk
Animated keyframe style needs to go through full style adjuster
https://bugs.webkit.org/show_bug.cgi?id=222036
rdar://72421747
Reviewed by Zalan Bujtas.
Source/WebCore:
We can create unadjusted styles via keyframe animations and those may cause problems in rendering.
Test: fast/animation/animation-position-crash.html
- style/StyleAdjuster.cpp:
(WebCore::Style::Adjuster::adjustAnimatedStyle):
Make this a member function and invoke Adjuster::adjust.
Simplify the z-index adjustment since it is mostly handled by adjust.
- style/StyleAdjuster.h:
- style/StyleTreeResolver.cpp:
Always use style adjuster for keyframe animation.
(WebCore::Style::TreeResolver::createAnimatedElementUpdate):
LayoutTests:
- fast/animation/animation-position-crash-expected.html: Added.
- fast/animation/animation-position-crash.html: Added.
- 9:10 AM Changeset in webkit [273002] by
-
- 3 edits in trunk/LayoutTests
Unreviewed, GLib/GTK test expectations gardening
- platform/glib/TestExpectations: These tests are expected to fail with GPU process and on
Mac, but pass on GTK and WPE
- platform/gtk/TestExpectations: Unflag
http/tests/inspector/network/intercept-request-properties.html passing since r272582.
- 8:50 AM Changeset in webkit [273001] by
-
- 17 edits in trunk
CSS properties that disallow negative values should not animate to negative values
https://bugs.webkit.org/show_bug.cgi?id=222034
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
Mark WPT progressions.
- web-platform-tests/css/css-box/animation/padding-bottom-composition-expected.txt:
- web-platform-tests/css/css-box/animation/padding-interpolation-expected.txt:
- web-platform-tests/css/css-box/animation/padding-left-composition-expected.txt:
- web-platform-tests/css/css-box/animation/padding-right-composition-expected.txt:
- web-platform-tests/css/css-box/animation/padding-top-composition-expected.txt:
- web-platform-tests/css/css-shapes/animation/shape-margin-composition-expected.txt:
- web-platform-tests/css/css-shapes/animation/shape-margin-interpolation-expected.txt:
- web-platform-tests/css/css-sizing/animation/min-height-composition-expected.txt:
- web-platform-tests/css/css-sizing/animation/min-height-interpolation-expected.txt:
- web-platform-tests/css/css-sizing/animation/min-width-composition-expected.txt:
- web-platform-tests/css/css-sizing/animation/min-width-interpolation-expected.txt:
Source/WebCore:
Some CSS properties disallow negative values, but the blending code used for animations allows them.
We now add a new animation wrapper for those values, NonNegativeLengthPropertyWrapper, which will clamp
the blended value to 0 if negative. This new wrapper is used for the padding properties, width, height,
min-width, min-height and shape-margin.
- animation/CSSPropertyAnimation.cpp:
(WebCore::NonNegativeLengthPropertyWrapper::NonNegativeLengthPropertyWrapper):
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
LayoutTests:
Mark WPT output changes for a couple tests with platform-specific results.
- platform/ios-wk2/imported/w3c/web-platform-tests/css/css-box/animation/padding-bottom-composition-expected.txt:
- platform/ios-wk2/imported/w3c/web-platform-tests/css/css-box/animation/padding-top-composition-expected.txt:
- 8:23 AM Changeset in webkit [273000] by
-
- 3 edits in trunk/Tools
commit-queue should retry when it fails to commit
https://bugs.webkit.org/show_bug.cgi?id=222038
Reviewed by Jonathan Bedard.
- CISupport/ews-build/steps.py:
(PushCommitToWebKitRepo):
(PushCommitToWebKitRepo.evaluateCommand):
- CISupport/ews-build/steps_unittest.py:
- 8:16 AM Changeset in webkit [272999] by
-
- 11 edits in trunk/Source
[macOS] Deny mach-lookup to the fonts service
https://bugs.webkit.org/show_bug.cgi?id=221610
<rdar://problem/69168609>
Reviewed by Brent Fulgham.
Source/WebCore:
Disable global font prewarming when the platform has a static font registry. Font prewarming will attempt to communicate with the font daemon. Since this usually
will take place before the first page load where the decision about using the static registry is made, and this change by default blocks access to the font daemon,
the system will automatically choose to use the static registry. This might be the wrong choice, and it is currently not possible to switch to not use the static
registry at a later point.
No new tests, covered by existing tests.
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::FontCache::prewarmGlobally):
Source/WebKit:
This change will by default block access to the font daemon when the platform has support for a static font registry. When the client prefers
to allow user installed fonts, or Safari Reader configuration has been customized, access to the font daemon will still be allowed by issuing
an extension to the font daemon.
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::customizedReaderConfiguration):
(WebKit::WebPageProxy::creationParameters):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_limitsNavigationsToAppBoundDomains):
(WebKit::WebPage::~WebPage):
- WebProcess/WebPage/WebPage.h:
- WebProcess/com.apple.WebProcess.sb.in:
Source/WTF:
Add HAVE define for platform static font registry.
- wtf/PlatformHave.h:
- 7:56 AM Changeset in webkit [272998] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, silence -Wimplicit-fallthrough warning
https://bugs.webkit.org/show_bug.cgi?id=222010
<rdar://problem/74422474>
Normally I use RELEASE_ASSERT_NOT_REACHED() for this, but in this massive switch we have
previously used ASSERT_NOT_REACHED() plus return nullptr, so let's do that instead.
Patch by Michael Catanzaro <Michael Catanzaro> on 2021-02-17
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
- 7:49 AM Changeset in webkit [272997] by
-
- 24 edits in trunk
[macOS] Introduce a new context menu item to preview images
https://bugs.webkit.org/show_bug.cgi?id=221917
<rdar://problem/74363578>
Reviewed by Darin Adler and Tim Horton.
Source/WebCore:
Add plumbing for a new context menu tag,
ContextMenuItemTagRevealImage, which will be used to invoke a special
type of QuickLook preview for extracted images when the relevant accessibility features are enabled.
- page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected):
(WebCore::ContextMenuController::populate):
(WebCore::ContextMenuController::checkOrEnableIfNeeded const):
- platform/ContextMenuItem.cpp:
(WebCore::isValidContextMenuAction):
- platform/ContextMenuItem.h:
- platform/LocalizedStrings.h:
- platform/cocoa/LocalizedStringsCocoa.mm:
(WebCore::contextMenuItemTagRevealImage):
Source/WebKit:
Add plumbing to support the
ContextMenuItemTagRevealImageaction, as well as some WebKitAdditions extension
points. See below for more details. This patch was mostly written by Devin Rousso, with some adjustments from
me.
- Configurations/WebKit.xcconfig:
Link against UniformTypeIdentifiers.
- Shared/API/c/WKContextMenuItemTypes.h:
- Shared/API/c/WKSharedAPICast.h:
(WebKit::toAPI):
(WebKit::toImpl):
Add
kWKContextMenuItemTagRevealImage, and add helpers to convert fromWebCore::ContextMenuItemTagRevealImage
tokWKContextMenuItemTagRevealImageand vice versa.
- Shared/ContextMenuContextData.h:
(WebKit::ContextMenuContextData::webHitTestResultData):
Add a non-const version of
webHitTestResultData(), so that we can generate aCGImageusing
WebHitTestResultData's bitmap data.
- UIProcess/API/Cocoa/WKMenuItemIdentifiers.mm:
- UIProcess/API/Cocoa/WKMenuItemIdentifiersPrivate.h:
- UIProcess/API/Cocoa/_WKElementAction.mm:
(+[_WKElementAction _elementActionWithType:customTitle:assistant:]):
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::handleContextMenuRevealImage):
Add a helper method,
handleContextMenuRevealImage, to handle the new context menu action; additionally,
introduce another helper method,revealExtractedImageInPreviewPanel, to handle the Mac-specific
QLPreviewPanellogic when invoking the new item. See WebKitAdditions changes for more detail.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::contextMenuItemSelected):
- UIProcess/WebPageProxy.h:
- UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::menuItemIdentifier):
Source/WebKitLegacy/mac:
Legacy WebKit won't be supporting this new context menu action; see other ChangeLog entries for more details.
- WebView/WebHTMLView.mm:
(toTag):
Source/WTF:
Add a new soft-linking macro to optionally link against an umbrella framework.
- wtf/cocoa/SoftLinking.h:
Tools:
Rebaseline an existing API test, since
ContextMenuItemTagRevealImageis now the last valid enum.
- TestWebKitAPI/Tests/WebCore/ContextMenuAction.cpp:
(TestWebKitAPI::TEST):
- 6:16 AM Changeset in webkit [272996] by
-
- 2 edits in trunk/Tools
[Flatpak SDK] Script 'webkit-flatpak-run-nightly' expects different format for a built product name
https://bugs.webkit.org/show_bug.cgi?id=221950
Reviewed by Philippe Normand.
The name format for uploaded built products for WPE and GTK has
changed. Now the format is: '[release|debug]_rXXXXXX.zip'. The script
is still expecting the former name format, so it needs to be updated.
- Scripts/webkit-flatpak-run-nightly:
- 5:53 AM Changeset in webkit [272995] by
-
- 2 edits in trunk/Source/WebKit
[macOS] Deny access to unused IOKit classes
https://bugs.webkit.org/show_bug.cgi?id=221969
<rdar://problem/74395400>
Reviewed by Brent Fulgham.
Deny access to the IOKit classes AppleIntelMEUserClient and AppleSNBFBUserClient when the GPU process is enabled.
- WebProcess/com.apple.WebProcess.sb.in:
- 5:52 AM Changeset in webkit [272994] by
-
- 2 edits in trunk/Source/WebKit
RemoteMediaPlayerManager does not need to support media stream code path
https://bugs.webkit.org/show_bug.cgi?id=221956
Reviewed by Eric Carlson.
RemoteMediaPlayerManager does not support isMediaStream code path so it is simpler to return IsNotSupported instead of MaybeSupported.
- WebProcess/GPU/media/RemoteMediaPlayerManager.cpp:
(WebKit::RemoteMediaPlayerManager::supportsTypeAndCodecs):
- 5:00 AM Changeset in webkit [272993] by
-
- 15 edits2 adds in trunk
Support aria-errormessage on iOS.
https://bugs.webkit.org/show_bug.cgi?id=221975
<rdar://problem/74397704>
Reviewed by Chris Fleizach.
Source/WebCore:
Test: accessibility/aria-errormessage.html
- Added the method accessibilityErrorMessageElements to the WebAccessibilityObjectWrapper
interface on iOS.
- Some code cleanup.
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::elementsFromAttribute const): Minor code cleanup.
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityErrorMessageElements]): Added.
- accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(convertToNSArray): Minor code cleanup.
Tools:
- Added AccessibilityUIElement::errorMessageElements on iOS and MacOS,
which is used in the new test.
- For completion, added implementation for ariaErrorMessageElementAtIndex
on iOS, which is not in use at the moment.
- WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::errorMessageElements const):
- WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
- WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
- WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::errorMessageElements const): Added.
(WTR::AccessibilityUIElement::ariaDetailsElementAtIndex): Added.
(WTR::AccessibilityUIElement::ariaErrorMessageElementAtIndex): Added.
- WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::errorMessageElements const): Added.
LayoutTests:
- accessibility/aria-errormessage-expected.txt: Added.
- accessibility/aria-errormessage.html: Added.
- platform/gtk/TestExpectations: Skip.
- platform/ios/TestExpectations: Pass.
- platform/mac-wk1/TestExpectations: Skip.
- platform/win/TestExpectations: Skip.
- 2:37 AM Changeset in webkit [272992] by
-
- 4 edits in trunk
Improve percentage height in shouldComputeLogicalWidthFromAspectRatio
https://bugs.webkit.org/show_bug.cgi?id=221405
Patch by Rob Buis <rbuis@igalia.com> on 2021-02-17
Reviewed by Simon Fraser.
Source/WebCore:
When checking whether the percentage logical height can be used to
calculate the logical width, we need to also check that it is resolvable.
- rendering/RenderBox.cpp:
(WebCore::RenderBox::shouldComputeLogicalWidthFromAspectRatio const):
LayoutTests:
Enable some tests that pass now.
- 2:20 AM Changeset in webkit [272991] by
-
- 9 edits in trunk
REGRESSION(r272636) [GTK] Crash and failures in API test /WebKit2Gtk/TestResources
https://bugs.webkit.org/show_bug.cgi?id=221672
Reviewed by Michael Catanzaro.
Source/WebKit:
Since r272636 it's no longer possible to differentiate between async reply being cancelled or data just being
empty for WebPageProxy data completion handlers. Use Optional to indicate that the reply was canlled when its
data is nullopt, and ensure we always provide a valid API::Data object when data is not nullopt.
- Scripts/webkit/messages.py: Handle the special case of SharedBufferDataReference as Optional.
- UIProcess/API/glib/WebKitWebResource.cpp:
(resourceDataCallback): Bring back the cancellation error handling.
- UIProcess/WebPageProxy.cpp:
(WebKit::CompletionHandler<void):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::getSelectionAsWebArchiveData):
(WebKit::WebPage::getMainResourceDataOfFrame):
(WebKit::WebPage::getResourceDataFromFrame):
(WebKit::WebPage::getWebArchiveOfFrame):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Tools:
- TestWebKitAPI/glib/TestExpectations.json:
- 1:38 AM Changeset in webkit [272990] by
-
- 4 edits in trunk/Source/WebKit
Regression(r268097): Calling processDidTerminate delegate asynchronously is risky compatibility-wise
https://bugs.webkit.org/show_bug.cgi?id=222011
Reviewed by Carlos Garcia Campos.
Calling processDidTerminate delegate asynchronously like we did in r268097 is risky compatibility-wise.
This caused breakage in at least 2 client applications. While this can be dealt with on the client side,
it would be better to fix what r268097 was trying to fix without making the delegate call asynchronous.
The reason calling the delegate asynchronously is risky is because some view state may have time to get
reset by the time the client gets notified on the crash, potentially confusing the crash handling logic
in the client.
No new tests, covered by WKNavigation.ReloadRelatedViewsInProcessDidTerminate API test that is
still passing even though the delegate call is no longer asynchronous.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::commitProvisionalPage):
(WebKit::WebPageProxy::resetStateAfterProcessTermination):
(WebKit::WebPageProxy::dispatchProcessDidTerminate):
- UIProcess/WebPageProxy.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::processDidTerminateOrFailedToLaunch):
(WebKit::WebProcessProxy::requestTermination):
- 1:22 AM Changeset in webkit [272989] by
-
- 2 edits in trunk/Source/WebKit
Build fix for non MEDIA_STREAM enabled ports after r272858
https://bugs.webkit.org/show_bug.cgi?id=222030
Unreviewed.
- WebProcess/GPU/webrtc/MediaRecorderProvider.h:
(WebKit::MediaRecorderProvider::MediaRecorderProvider):
Do not declare m_webPage in configs that do not use it.