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

Timeline



Mar 8, 2021:

11:57 PM Changeset in webkit [274139] by graouts@webkit.org
  • 5 edits in trunk/LayoutTests

Unreviewed. Update border-width interpolation test after WPT PR #27934.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-backgrounds/animations/border-width-interpolation-expected.txt:
  • web-platform-tests/css/css-backgrounds/animations/border-width-interpolation.html:

LayoutTests:

  • platform/ios/imported/w3c/web-platform-tests/css/css-backgrounds/animations/border-width-interpolation-expected.txt:
11:19 PM Changeset in webkit [274138] by youenn@apple.com
  • 3 edits in trunk/Source/WebKit

Allow access to more cmio services from Web/GPU processes
https://bugs.webkit.org/show_bug.cgi?id=222465

Reviewed by Per Arne Vollan.

These new services are used when getting camera access.
Manually tested.

  • GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
  • WebProcess/com.apple.WebProcess.sb.in:
9:57 PM Changeset in webkit [274137] by Simon Fraser
  • 4 edits
    2 adds in trunk

REGRESSION(r274025-r273811): Crash under RenderLayerBacking::updateGeometry()
https://bugs.webkit.org/show_bug.cgi?id=222021
rdar://74414963

Reviewed by Zalan Bujtas.

When a RenderLayer gains or loses its scrollable area, we have to set the dirty
bit on the RenderLayer to ensure that RenderLayerBacking::updateConfiguration() runs,
which updates compositing layers for scrolling.

Source/WebCore:

Also add to logging the scrollableArea if present.

Test: fast/layers/remove-scrollable-area-crash.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects const):
(WebCore::outputPaintOrderTreeRecursive):

  • rendering/RenderTreeAsText.cpp:

LayoutTests:

  • fast/layers/remove-scrollable-area-crash.html: Added.
9:41 PM Changeset in webkit [274136] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebCore

<model>'s inner compositing layer is re-created every time it moves
https://bugs.webkit.org/show_bug.cgi?id=222950

Reviewed by Simon Fraser.

No new tests, just a performance optimization.

  • Modules/model-element/HTMLModelElement.cpp:

(WebCore::HTMLModelElement::model const):
(WebCore::HTMLModelElement::notifyFinished):

  • Modules/model-element/HTMLModelElement.h:

It turns out that we need Model's identity to be stable in order to make
the early return in setContentsToModel (called every time the layer's properties
change from RenderLayerBacking::updateConfiguration) work, otherwise
we re-create the inner layer over and over again.

9:40 PM Changeset in webkit [274135] by stephan.szabo@sony.com
  • 5 edits in trunk/Tools

[PlayStation] Various small fixes for TestWTF/TestWebKit tests on PlayStation
https://bugs.webkit.org/show_bug.cgi?id=222931

Reviewed by Don Olmstead.

  • TestWebKitAPI/PlatformPlayStation.cmake: Link to API for process termination
  • TestWebKitAPI/Tests/WTF/DataMutex.cpp: Turn off test using ASSERT_DEATH
  • TestWebKitAPI/Tests/WebKit/ReloadPageAfterCrash.cpp: Use PlayStation api to kill webprocess for this test
  • TestWebKitAPI/playstation/PlatformWebViewPlayStation.cpp: Set size in resizeTo
9:24 PM Changeset in webkit [274134] by rniwa@webkit.org
  • 3 edits in trunk/Websites/perf.webkit.org

[perf dashboard] Use async/await in tests for TimeSeriesChart and InteractiveTimeSeriesChart
https://bugs.webkit.org/show_bug.cgi?id=222876

Reviewed by Sam Weinig.

Use async/await instead of chaining promises manually in the browser tests for
TimeSeriesChart and InteractiveTimeSeriesChart for better readability.

  • browser-tests/interactive-time-series-chart-tests.js:
  • browser-tests/time-series-chart-tests.js:
8:17 PM Changeset in webkit [274133] by Russell Epstein
  • 1 copy in tags/Safari-611.1.21.1.7

Tag Safari-611.1.21.1.7.

8:14 PM Changeset in webkit [274132] by Russell Epstein
  • 8 edits in branches/safari-611.1.21.1-branch/Source

Versioning.

WebKit-7611.1.21.1.7

7:41 PM Changeset in webkit [274131] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Crash in in ReplaceSelectionCommand::mergeEndIfNeeded()
https://bugs.webkit.org/show_bug.cgi?id=222941

Patch by Julian Gonzalez <julian_a_gonzalez@apple.com> on 2021-03-08
Reviewed by Ryosuke Niwa.

Make a copy of Ref<HTMLBRElement> when inserting before start of paragraph.

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::mergeEndIfNeeded):

7:40 PM Changeset in webkit [274130] by Chris Dumez
  • 4 edits in trunk/Source/WebKit

Simplify CallbackAggregator in WebsiteDataStore::fetchDataAndApply()
https://bugs.webkit.org/show_bug.cgi?id=222937

Reviewed by Darin Adler.

Simplify CallbackAggregator in WebsiteDataStore::fetchDataAndApply():

  1. Get rid of removePendingCallback() / addPendingCallback() / callIfNeeded() and instead rely on ref counting to determine when we need to call the apply function.
  2. Replaced removePendingCallback() with addWebsiteData() since it takes a WebsiteData as an object and make it so that it can be called on any thread for convenience.
  • Shared/WebsiteData/WebsiteData.cpp:

(WebKit::WebsiteData::isolatedCopy const):
(WebKit::WebsiteData::Entry::isolatedCopy const):

  • Shared/WebsiteData/WebsiteData.h:
  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::fetchDataAndApply):

7:07 PM Changeset in webkit [274129] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Regression(r273875): Potential over-release in WKRemoteObjectCoder's decodeObjCObject()
https://bugs.webkit.org/show_bug.cgi?id=222954
<rdar://75163359>

Reviewed by Darin Adler.

r273875 added an adoptNS() for the result of [allocation initWithCoder:decoder]. This would be
fine in general, except that we call awakeAfterUsingCoder on the result right after. As per the
awakeAfterUsingCoder documentation [1], it may return the receiver or a new object. When it
returns a new object, it takes care of releasing the receiver. This is an issue for us here since
we were holding the receiver in a smart pointer.

[1] https://developer.apple.com/documentation/objectivec/nsobject/1417074-awakeafterusingcoder

  • Shared/API/Cocoa/WKRemoteObjectCoder.mm:

(decodeObjCObject):

6:44 PM Changeset in webkit [274128] by stephan.szabo@sony.com
  • 3 edits in trunk/Tools

TestWebKitAPI WebKit.HitTestResultNodeHandle does not complete with ENABLE_CONTEXT_MENUS=OFF
https://bugs.webkit.org/show_bug.cgi?id=222938

Reviewed by Ross Kirsling.

Make the test only build with context menus are supported.

  • TestWebKitAPI/Tests/WebKit/HitTestResultNodeHandle.cpp:
  • TestWebKitAPI/Tests/WebKit/HitTestResultNodeHandle_Bundle.cpp:
6:10 PM Changeset in webkit [274127] by Jonathan Bedard
  • 5 edits in trunk/Tools

[webkitscmpy] Isolate dateutil imports
https://bugs.webkit.org/show_bug.cgi?id=222946
<rdar://problem/75191226>

Reviewed by Dewei Zhu.

  • Scripts/libraries/webkitscmpy/setup.py: Bump version.
  • Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
  • Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/svn.py:

(Svn.request): Isolate dateutil imports.

5:49 PM Changeset in webkit [274126] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (r274033): [ macOS/iOS ] model-element/model-element-ready-load-aborted.html is text failing
https://bugs.webkit.org/show_bug.cgi?id=222917
<rdar://problem/75173628>

Reviewed by Wenson Hsieh.

  • model-element/model-element-ready-load-aborted.html:

Fix this test; it could flakily fail if the load completed before unparenting the element,
which became more common after r274033 added a test that ran first and cached the resource.

Set the source just before unparenting to resolve this race.

5:12 PM Changeset in webkit [274125] by Alan Coon
  • 1 copy in tags/Safari-611.1.21.0.5

Tag Safari-611.1.21.0.5.

5:11 PM Changeset in webkit [274124] by Alan Coon
  • 1 delete in tags/Safari-611.1.21.0.5

Delete tag.

5:06 PM Changeset in webkit [274123] by Alan Coon
  • 1 copy in tags/Safari-611.1.21.1.6

Tag Safari-611.1.21.1.6.

4:55 PM Changeset in webkit [274122] by Andres Gonzalez
  • 6 edits in trunk

Enable accessibility/aria-invalid.html test on iOS.
https://bugs.webkit.org/show_bug.cgi?id=222942
<rdar://problem/75188832>

Reviewed by Chris Fleizach.

Tools:

Modified AccessibilityUIElement::stringAttributeValue to handle invalid
status, so that test JS can query for it.

  • WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:

(WTR::AccessibilityUIElement::stringAttributeValue):

LayoutTests:

Enabled this test on iOS.
Minor change in the order in which the invalid notification is logged.

  • accessibility/aria-invalid-expected.txt:
  • accessibility/aria-invalid.html:
  • platform/ios/TestExpectations:
4:45 PM Changeset in webkit [274121] by Alan Coon
  • 1 copy in tags/Safari-611.1.21.0.5

Create tag Safari-611.1.21.0.5.

4:33 PM Changeset in webkit [274120] by Adrian Perez de Castro
  • 11 edits in releases/WebKitGTK/webkit-2.32/Source

Unreviewed non-unified build fixes.

Source/JavaScriptCore:

  • wasm/WasmGlobal.h: Add missing SlotVisitorMacros.h header.
  • wasm/WasmTable.h: Ditto.

Source/WebCore:

  • CMakeLists.txt: Build ScrollingMomentumCalculator.cpp in the test support library.
  • dom/Event.cpp: Add missing TouchList.h header.
  • dom/EventContext.cpp: Add missing EventNames.h header.
  • page/scrolling/ScrollSnapOffsetsInfo.cpp: Add missing Logging.h header.
  • platform/network/soup/SoupNetworkSession.cpp: Add missing SoupVersioning.h header.
  • rendering/RenderLayerModelObject.cpp: Add missing RenderLayerScrollableArea.h header.
  • rendering/RenderModel.cpp: Move inclusion of "config.h" before ENABLE() check.
4:33 PM Changeset in webkit [274119] by Adrian Perez de Castro
  • 3 edits in releases/WebKitGTK/webkit-2.32/Source

Merge r272721 - Non unified build fixes for mid February 2021

https://bugs.webkit.org/show_bug.cgi?id=221749

Reviewed by Youenn Fablet.

Source/WebCore:

  • CMakeLists.txt:
  • Modules/mediastream/SFrameUtils.cpp:
  • Modules/mediastream/STUNMessageParsing.h:
  • bindings/js/WebCoreBuiltinNames.h:
  • dom/EventTargetFactory.in:
  • inspector/InspectorFrontendAPIDispatcher.cpp:

(WebCore::InspectorFrontendAPIDispatcher::evaluateOrQueueExpression):

  • workers/DedicatedWorkerGlobalScope.cpp:
  • workers/Worker.cpp:

Source/WebKit:

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:
  • GPUProcess/media/RemoteCDMInstanceProxy.cpp:
4:33 PM Changeset in webkit [274118] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.32/Tools

Merge r273551 - Unreviewed, WPE build fix after SDK r273544 deployment

  • TestWebKitAPI/PlatformWPE.cmake: GLib include path was missing in the TestJavaScriptCore

build.

4:15 PM Changeset in webkit [274117] by jer.noble@apple.com
  • 9 edits in trunk/Source/WebKit

[Cocoa][GPUP] Enable WebM/Vorbis/Opus in the GPU process
https://bugs.webkit.org/show_bug.cgi?id=222926

Reviewed by Eric Carlson.

The first time a GPUProcessProxy is created, and whenever a new WebPageProxy is created,
The GPUProcessProxy will query all existing WebPageGroups and their WebPreferences. If
any group enables "Media in the GPU Process", and also WebM, Vorbis, or Opus, those features
which are enabled will also be enabled inside the GPU process.

  • GPUProcess/GPUProcess.cpp:

(WebKit::GPUProcess::setWebMParserEnabled):
(WebKit::GPUProcess::setWebMFormatReaderEnabled):
(WebKit::GPUProcess::setOpusDecoderEnabled):
(WebKit::GPUProcess::setVorbisDecoderEnabled):

  • GPUProcess/GPUProcess.h:
  • GPUProcess/GPUProcess.messages.in:
  • UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::GPUProcessProxy::getOrCreate):
(WebKit::GPUProcessProxy::updatePreferences):

  • UIProcess/GPU/GPUProcessProxy.h:
  • UIProcess/WebPageGroup.cpp:

(WebKit::WebPageGroup::forEach):

  • UIProcess/WebPageGroup.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::createWebPage):

4:03 PM Changeset in webkit [274116] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests/imported/w3c

Unreviewed, reverting r274071.
https://bugs.webkit.org/show_bug.cgi?id=222951

Broke a test

Reverted changeset:

https://trac.webkit.org/changeset/274071

4:00 PM Changeset in webkit [274115] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Fix unified build due to missing header include.
https://bugs.webkit.org/show_bug.cgi?id=222782
<rdar://problem/75081020>

Patch by Jean-Yves Avenard <Jean-Yves Avenard> on 2021-03-08
Reviewed by Wenson Hsieh.

No change in functionality.

  • Modules/model-element/HTMLModelElement.cpp:

Add #include.

3:35 PM Changeset in webkit [274114] by weinig@apple.com
  • 2 edits in trunk/Source/WebCore

Make Color threadsafe
https://bugs.webkit.org/show_bug.cgi?id=222886

Reviewed by Darin Adler.

Color is mostly threadsafe already and can really be used as an immutable
value type in most cases. Let's make that completely true by making the out
of line component case ThreadSafeRefCounted.

  • platform/graphics/Color.h:
3:21 PM Changeset in webkit [274113] by mark.lam@apple.com
  • 2 edits in trunk/Tools

JSC stress tests' $testSpecificRequiredOptions should be appended last.
https://bugs.webkit.org/show_bug.cgi?id=222936

Reviewed by Keith Miller.

This allows each test to get the last say on what options it needs.

  • Scripts/run-jsc-stress-tests:
3:06 PM Changeset in webkit [274112] by Patrick Angle
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION (r267038): Inspector fails to show any details about animations/transitions in the timeline
https://bugs.webkit.org/show_bug.cgi?id=222921

Reviewed by Devin Rousso.

Timeline views should always be updated with the time from the overview, but r267038 erroneously prevented the
end time from being updated while recording was stopping and prevented the current time from being updated while
recording was stopping or inactive, which meant after a recording finished (Stopping -> Inactive) the timeline
views would not be updated with the current time. Because _updateTimelineViewTimes can be called when a
different content view is selected, it was incorrect to gate setting these values based on the recording state.
The check for not being in the inactive state was particularly problematic as it is quite common that a
developer would open a specific timelime view for the first time after recording finishes, at which point all
values should be populated regardless of recording state. The source of the time values continues to be handled
in such a way as to prevent values from continuously jumping around as a recording is stopped but data continues
to arrive.

  • UserInterface/Views/TimelineRecordingContentView.js:

(WI.TimelineRecordingContentView.prototype._updateTimes):

  • Drive-by spelling correction.

(WI.TimelineRecordingContentView.prototype._updateTimelineViewTimes):

  • Remove checks for the current recording state.
2:47 PM Changeset in webkit [274111] by weinig@apple.com
  • 6 edits in trunk

Add preference reseting to WebKitLegacy Windows to simplify testing reset
https://bugs.webkit.org/show_bug.cgi?id=222865

Reviewed by Brent Fulgham.

Source/WebKitLegacy/win:

Add resetForTesting() function to allow easy reseting of all preferences
for testing, matching functionality added to Cocoa WebKitLegacy.

  • Interfaces/IWebPreferencesPrivate.idl:
  • WebPreferences.cpp:

(WebPreferences::resetForTesting):

  • WebPreferences.h:

Tools:

  • DumpRenderTree/win/DumpRenderTree.cpp:

(resetWebPreferencesToConsistentValues):
Call the new resetForTesting() method to ensure all values are reset back
to defaults for each test without have to explicitly list them.

2:41 PM Changeset in webkit [274110] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION(r269359): TypeError: undefined is not an object (evaluating 'listenersForEventType')
https://bugs.webkit.org/show_bug.cgi?id=222940

Reviewed by BJ Burg.

  • UserInterface/Models/JavaScriptBreakpoint.js:

(WI.JavaScriptBreakpoint.prototype.get special):
The existing logic for get special checks if this is one of the specially saved objects
on WI.debuggerManager (e.g. assertionFailuresBreakpoint). When deleting a breakpoint,
WI.debuggerManager has already cleared out it's previously saved reference to that object,
so it won't match. Use the existing _isSpecial (which looks at the _sourceCodeLocation)
as a backup in case this doesn't directly match any of the saved objects.

2:39 PM Changeset in webkit [274109] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

REGRESSION (r273541): Payloads requiring NSURL in serialization fail
https://bugs.webkit.org/show_bug.cgi?id=222856
<rdar://problem/75036452>

Reviewed by Darin Adler.

In Bug 222145 I converted serialization of CFURLRequest to NSURLRequest. As part of that change,
I used a new encoder (WKSecureCodingURLWrapper) to wrap the NSURL to ensure proper handling of
encoded URLs.

The WKSecureCodingURLWrapper should have been declared as a subclass of NSURL, so that NSSecureCoding
would respect it as a valid way of serializing an NSURL.

This patch corrects that oversight.

  • Shared/Cocoa/ArgumentCodersCocoa.mm:
2:22 PM Changeset in webkit [274108] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

[ews] Remove old Python 2 related code
https://bugs.webkit.org/show_bug.cgi?id=222933

Reviewed by Dewei Zhu.

  • CISupport/ews-build/steps.py:
  • CISupport/build-webkit-org/steps.py:
2:19 PM Changeset in webkit [274107] by Alan Coon
  • 5 edits in branches/safari-611.1.21.1-branch

Cherry-pick r273997. rdar://problem/75180339

Regression(r268097): WKWebView.URL is nil in the processDidTerminate delegate
https://bugs.webkit.org/show_bug.cgi?id=222809

Reviewed by Michael Catanzaro.

Source/WebKit:

There was a PageLoadState::Transaction in resetStateAfterProcessTermination() that
was previously making sure we would not clear the WebView's URL before calling the
processDidTerminate client delegate. Now that we call the client delegate in a
separate function (WebPageProxy::dispatchProcessDidTerminate), we need to make move
the PageLoadState::Transaction to the caller in
WebProcessProxy::processDidTerminateOrFailedToLaunch(), so that its scope covers
both resetStateAfterProcessTermination() & dispatchProcessDidTerminate() calls.

  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::resetStateAfterProcessTermination):
  • UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::processDidTerminateOrFailedToLaunch):

Tools:

Add API test coverage.

  • TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm: (TEST):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273997 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2:10 PM Changeset in webkit [274106] by BJ Burg
  • 3 edits in trunk/Source/WebKit

[Cocoa] Changes in WebInspectorUI's appearance don't propagate to .effectiveAppearance while docked
https://bugs.webkit.org/show_bug.cgi?id=222925
<rdar://71201454>

Reviewed by Devin Rousso.

Update the appearance property for the underlying webView in addition to
setting it for the inspector NSWindow (undocked only).

This fix is needed for both local and remote inspector code paths.

  • UIProcess/Inspector/mac/RemoteWebInspectorProxyMac.mm:

(WebKit::RemoteWebInspectorProxy::platformSetForcedAppearance):

  • UIProcess/Inspector/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::applyForcedAppearance):

2:09 PM Changeset in webkit [274105] by Ruben Turcios
  • 5 edits in branches/safari-611.1.21.0-branch

Cherry-pick r273997. rdar://problem/75180327

Regression(r268097): WKWebView.URL is nil in the processDidTerminate delegate
https://bugs.webkit.org/show_bug.cgi?id=222809

Reviewed by Michael Catanzaro.

Source/WebKit:

There was a PageLoadState::Transaction in resetStateAfterProcessTermination() that
was previously making sure we would not clear the WebView's URL before calling the
processDidTerminate client delegate. Now that we call the client delegate in a
separate function (WebPageProxy::dispatchProcessDidTerminate), we need to make move
the PageLoadState::Transaction to the caller in
WebProcessProxy::processDidTerminateOrFailedToLaunch(), so that its scope covers
both resetStateAfterProcessTermination() & dispatchProcessDidTerminate() calls.

  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::resetStateAfterProcessTermination):
  • UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::processDidTerminateOrFailedToLaunch):

Tools:

Add API test coverage.

  • TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm: (TEST):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273997 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2:09 PM Changeset in webkit [274104] by Ruben Turcios
  • 2 edits in branches/safari-611.1.21.0-branch/Source/WebKit

Cherry-pick r274051. rdar://problem/75178467

[WebAuthn] Expand WebAuthn Process's sandbox profile on iOS
https://bugs.webkit.org/show_bug.cgi?id=222858
<rdar://problem/74772012>

Reviewed by Brent Fulgham.

Allows WebAuthn process to use AAA again.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@274051 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2:09 PM Changeset in webkit [274103] by Ruben Turcios
  • 2 edits in branches/safari-611.1.21.0-branch/Source/WebCore

Cherry-pick r273894. rdar://problem/75178487

AVAudioSessionCaptureDeviceManager::retrieveAudioSessionCaptureDevices is unnecessarily creating a NSArray twice
https://bugs.webkit.org/show_bug.cgi?id=222732

Reviewed by Eric Carlson.

Before the patch, [m_audioSession availableInputs] was called twice.
This creates two NSArray which is not create from a memory standpoint.
There is also the risk that the two NSArrays have two different size, in which case Vector::uncheckedAppend would fail.

Cannot be easily tested, no observable change expected.

  • platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.mm: (WebCore::AVAudioSessionCaptureDeviceManager::retrieveAudioSessionCaptureDevices const):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273894 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2:03 PM Changeset in webkit [274102] by sbarati@apple.com
  • 4 edits
    2 adds in trunk

Using an undeclared private field inside eval shouldn't crash
https://bugs.webkit.org/show_bug.cgi?id=222834
<rdar://75035388>

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/declared-private-field-in-eval.js: Added.
  • stress/undeclared-private-field-in-eval.js: Added.

Source/JavaScriptCore:

The private methods patch regressed our behavior when using undeclared private
fields or methods from an inner eval inside a class. That patch made us crash.
This patch aligns us with the spec to throw a Syntax Error during eval parsing.

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseInner):
(JSC::Parser<LexerType>::parseMemberExpression):

  • parser/Parser.h:

(JSC::Parser<LexerType>::parse):

1:47 PM Changeset in webkit [274101] by Darin Adler
  • 28 edits
    1 delete in trunk

Fix inspector viewing of canvas save/restore stack, and tighten and simplify CanvasRenderingContext2DBase
https://bugs.webkit.org/show_bug.cgi?id=222532

Reviewed by Sam Weinig.

Source/WebCore:

The inspector code is the only client that looks into the graphics context and gets at
saved states in the save/restore state stack. It was doing so in an inconsistent way, and
in may cases ignoring the state in the stack and simply using the current state. This fixes
almost everything to actually use the state stack.

Separately did some related refactoring. This includes a bit more inlining and removing a
class that was being used in the interface to Path where we can more simply use a Function<>.

  • WebCore.xcodeproj/project.pbxproj: Removed StrokeStyleApplier.h.
  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::setFont): Use a global AtomString for the default font
family name so we don't potentially create a new one every time we call this function.
Call usesCSSCompatibilityParseMode so we don't have to get at private member
m_usesCSSCompatibilityParseMode.
(WebCore::CanvasRenderingContext2D::measureText): Call defaultFontFamily(), which returns
an AtomString so we don't have to look it up every time this function is called.
(WebCore::CanvasRenderingContext2D::drawTextInternal): Removed unnecessary allocation of a
TextMetrics object, which we don't use and then deallocate. Update since normalizedSpaces
now uses a return value instead of an in/out argument. Also use && instead of ?: and
update for name change of canDrawTextWithParams.

  • html/canvas/CanvasRenderingContext2D.h: Removed unneeded header includes, unneeded

override of webkitBackingStorePixelRatio and made the override of is2d private, since
no one should need to call it on a CanvasRenderingContext2D.

  • html/canvas/CanvasRenderingContext2DBase.cpp: Use constexpr for a file-local constant.

(WebCore::CanvasStrokeStyleApplier::CanvasStrokeStyleApplier): Deleted this entire class,
since we now use a function instead of an object.
(WebCore::toCanvasLineCap): Moved these functions to the top of the file since they are
now used in the State class.
(WebCore::fromCanvasLineCap): Ditto.
(WebCore::toCanvasLineJoin): Ditto.
(WebCore::fromCanvasLineJoin): Ditto.
(WebCore::toCanvasTextAlign): Ditto.
(WebCore::fromCanvasTextAlign): Ditto.
(WebCore::toCanvasTextBaseline): Ditto.
(WebCore::fromCanvasTextBaseline): Ditto.
(WebCore::CanvasRenderingContext2DBase::State::operator=): Deleted the copy constructor
and assignment operator since they are the default ones.
(WebCore::CanvasRenderingContext2DBase::State::fontString const): Added. Moved the code
here from the function named font, making it possible to use this in the inspector code.
(WebCore::CanvasRenderingContext2DBase::State::canvasLineCap const): Ditto.
(WebCore::CanvasRenderingContext2DBase::State::canvasLineJoin const): Ditto.
(WebCore::CanvasRenderingContext2DBase::State::canvasTextAlign const): Ditto.
(WebCore::CanvasRenderingContext2DBase::State::canvasTextBaseline const): Ditto.
(WebCore::CanvasRenderingContext2DBase::State::globalCompositeOperationString const): Ditto.
(WebCore::CanvasRenderingContext2DBase::State::shadowColorString const): Ditto.
(WebCore::CanvasRenderingContext2DBase::lineWidth const): Moved to the header.
(WebCore::CanvasRenderingContext2DBase::lineCap const): Ditto.
(WebCore::CanvasRenderingContext2DBase::lineJoin const): Ditto.
(WebCore::CanvasRenderingContext2DBase::miterLimit const): Ditto.
(WebCore::CanvasRenderingContext2DBase::shadowOffsetX const): Ditto.
(WebCore::CanvasRenderingContext2DBase::shadowOffsetY const): Ditto.
(WebCore::CanvasRenderingContext2DBase::shadowBlur const): Ditto.
(WebCore::CanvasRenderingContext2DBase::shadowColor const): Ditto.
(WebCore::CanvasRenderingContext2DBase::getLineDash const): Ditto.
(WebCore::CanvasRenderingContext2DBase::lineDashOffset const): Ditto.
(WebCore::CanvasRenderingContext2DBase::globalAlpha const): Ditto.
(WebCore::CanvasRenderingContext2DBase::globalCompositeOperation const): Ditto.
(WebCore::isFullCanvasCompositeMode): Made this file local, no longer a member function.
(WebCore::CanvasRenderingContext2DBase::isPointInPathInternal): Tweak style to match
the following function.
(WebCore::CanvasRenderingContext2DBase::isPointInStrokeInternal): Use a lambda for the
stroke style applier so we don't need a class.
(WebCore::CanvasRenderingContext2DBase::didDrawEntireCanvas): Updated since didDraw
now takes an OptionSet.
(WebCore::CanvasRenderingContext2DBase::didDraw): Updated to take an OptionSet.
(WebCore::CanvasRenderingContext2DBase::getImageData const): Use a single makeString
instead of a StringBuilder for an error message.
(WebCore::CanvasRenderingContext2DBase::putImageData): Updated since didDraw now
takes an OptionSet.
(WebCore::CanvasRenderingContext2DBase::imageSmoothingQuality const): Moved to the header.
(WebCore::CanvasRenderingContext2DBase::imageSmoothingEnabled const): Ditto.
(WebCore::CanvasRenderingContext2DBase::font const): Ditto. The bulk of the function is
now in CanvasRenderingContext2DBase::State::fontString.
(WebCore::CanvasRenderingContext2DBase::textAlign const): Deleted.
(WebCore::CanvasRenderingContext2DBase::textBaseline const): Deleted.
(WebCore::CanvasRenderingContext2DBase::canDrawText): Renamed from canDrawTextWithParams,
since the fact that a function has parameters doesn't need to be part of its name.
(WebCore::CanvasRenderingContext2DBase::normalizeSpaces): Use a return value instead of
an in/out argument for better clarity. This also matches the needs of all the call sites.
(WebCore::CanvasRenderingContext2DBase::drawText): Updated for changes to canDrawText
and normalizeSpaces.
(WebCore::CanvasRenderingContext2DBase::measureTextInternal): Ditto.

  • html/canvas/CanvasRenderingContext2DBase.h: Removed unneeded forward declarations.

Made the constructor protected. Moved the code for many simple getters here so they
can be inlined. The main call site is the JavaScript bindings. Removed unused getLineCap
and getLineJoin functions. Made the webkitBackingStorePixelRatio function static and
constexpr. Removed unused usesDisplayListDrawing function. Marked the FontProxy
class final. Removed the explicit copy constructor and assignment operator from the State
struct: letting the compiler generate it is better for our purposes. Made the state
function protected. Made most formerly-protected members private instead, since there
is no need for derived classes to use them. Made the enumeration CanvasDidDrawOption
into an enum class named DidDrawOption and use it with OptionSet instead of passing it
as an unsigned. Marked hasInvertibleTransform final instead of override.

  • html/canvas/OffscreenCanvasRenderingContext2D.cpp:

(WebCore::OffscreenCanvasRenderingContext2D::setFont): Call usesCSSCompatibilityParseMode
so we don't have to get at private member m_usesCSSCompatibilityParseMode.

  • html/canvas/OffscreenCanvasRenderingContext2D.h: Made isOffscreen2d private.
  • html/canvas/PaintRenderingContext2D.h: Made isPaint private.
  • inspector/InspectorCanvas.cpp:

(WebCore::InspectorCanvas::buildInitialState): When iterating the state stack, do not
get anything directly from the context, since it will give the value for the current
state, not the stack element we are iterating. Added a FIXME for the one case where
this was not easy to fix, "setPath", and left it broken as before.

  • platform/graphics/ImageBufferBackend.cpp:

(WebCore::ImageBufferBackend::getImageData const): Removed unneeded null check for
the data. ImageData::create will return nullptr, not an object with nullptr for data.

  • platform/graphics/Path.h: Use Function<void(GraphicsContext&)> instead of

StrkeStyleApplier.

  • platform/graphics/StrokeStyleApplier.h: Removed.
  • platform/graphics/cairo/PathCairo.cpp:

(WebCore::Path::strokeBoundingRect const): Use Function<void(GraphicsContext&)>.
(WebCore::Path::strokeContains const): Ditto.

  • platform/graphics/cg/PathCG.cpp:

(WebCore::Path::strokeContains const): Ditto.
(WebCore::Path::strokeBoundingRect const): Ditto.

  • platform/graphics/win/PathDirect2D.cpp:

(WebCore::Path::strokeContains const): Ditto.
(WebCore::Path::strokeBoundingRect const): Ditto.

  • rendering/svg/RenderSVGResourceGradient.cpp:

(WebCore::RenderSVGResourceGradient::applyResource): Pass a reference to
SVGRenderSupport::applyStrokeStyleToContext instead of a pointer.

  • rendering/svg/RenderSVGResourcePattern.cpp:

(WebCore::RenderSVGResourcePattern::applyResource): Ditto.

  • rendering/svg/RenderSVGResourceSolidColor.cpp:

(WebCore::RenderSVGResourceSolidColor::applyResource): Ditto.

  • rendering/svg/RenderSVGShape.cpp:

(WebCore::RenderSVGShape::shapeDependentStrokeContains): Use a lambda instead of
a StrokeStyleApplier object when calling strokeContainer.
(WebCore::RenderSVGShape::calculateStrokeBoundingBox const): Use a lambda instead
of a StrokeStyleApplier object when calling strokeBoundingRect.

  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::SVGRenderSupport::applyStrokeStyleToContext): Take a reference rather
than a pointer.

  • rendering/svg/SVGRenderSupport.h: Updated for the above.

LayoutTests:

  • inspector/canvas/recording-2d-frameCount-expected.txt: Update since the state stack value of

the direction property is now correctly saved.

  • inspector/canvas/recording-2d-full-expected.txt: Ditto.
  • inspector/canvas/recording-2d-memoryLimit-expected.txt: Ditto.
  • inspector/canvas/recording-2d-saves-expected.txt: Updated.
  • inspector/canvas/recording-2d-saves.html: Added tests of setting all the properties

that the inspector canvas state machinery serializes, rather than just testing fillStyle.

  • inspector/canvas/resources/recording-2d.js:

(performSavePreActions.saveAndSet): Ditto.
(performSavePreActions): Ditto.

1:23 PM Changeset in webkit [274100] by Devin Rousso
  • 2 edits in trunk/Source/WebCore

[macCatalyst] Assertion Failed: this.visible in _pinchGestureRecognizerStateDidChange
https://bugs.webkit.org/show_bug.cgi?id=222927
<rdar://problem/75178415>

Reviewed by Eric Carlson.

  • Modules/modern-media-controls/controls/ios-inline-media-controls.js:

(IOSInlineMediaControls.prototype.gestureRecognizerStateDidChange):
(IOSInlineMediaControls.prototype._pinchGestureRecognizerStateDidChange): Drive-by: Rename for clarity.

1:12 PM Changeset in webkit [274099] by commit-queue@webkit.org
  • 5 edits
    6 adds in trunk

Fix replaced element definiteness as a grid-item
https://bugs.webkit.org/show_bug.cgi?id=221337

Patch by Ziran Sun <Ziran Sun> on 2021-03-08
Reviewed by Javier Fernandez.

LayoutTests/imported/w3c:

The test is imported from WPT.

  • web-platform-tests/css/css-grid/grid-items/percentage-size-indefinite-replaced-expected.html: Added.
  • web-platform-tests/css/css-grid/grid-items/percentage-size-indefinite-replaced.html: Added.
  • web-platform-tests/css/css-grid/grid-item-percentage-quirk-001-expected.html: Added.
  • web-platform-tests/css/css-grid/grid-item-percentage-quirk-001.html: Added.
  • web-platform-tests/css/css-grid/grid-item-percentage-quirk-002-expected.html: Added.
  • web-platform-tests/css/css-grid/grid-item-percentage-quirk-002.html: Added.

Source/WebCore:

When resolving indefinite percentage sizes against an intrinsic size for replaced grid item, if 'height'
has a computed value of 'auto', and the element has an intrinsic ratio then the used value of 'height'is:
(used width) / (intrinsic ratio) according to http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height
(10.6.2 Inline, replaced elements).

This changes makes RenderReplaced::hasReplacedLogicalHeight to return false when a replaced grid-item
has an indefinite containing-block override logical-height. This is to make sure
RenderReplaced::computeReplacedLogicalHeight() handles cases described correctly.

It is an import of chromium CL at https://chromium-review.googlesource.com/c/chromium/src/+/2562558
This change only picks parts that is applicable for WebKit from the chromium CL. It also fix test
css/css-grid/grid-item-percentage-quirk-001.html in WPT.

Test: imported/w3c/web-platform-tests/css/css-grid/grid-items/percentage-size-indefinite-replaced.html
Test: imported/w3c/web-platform-tests/css/css-grid/grid-item-percentage-quirk-001.html
Test: imported/w3c/web-platform-tests/css/css-grid/grid-item-percentage-quirk-002.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::hasAutoHeightOrContainingBlockWithAutoHeight const):

1:12 PM Changeset in webkit [274098] by Ryan Haddad
  • 12 edits in trunk/Source/WebCore

Unreviewed, reverting r274069.

Caused an assertion failure with
TestWebKitAPI.DocumentOrder.Positions

Reverted changeset:

"Allow creation of a CSSFontSelector with a non-Document
ScriptExecutionContext"
https://bugs.webkit.org/show_bug.cgi?id=222735
https://commits.webkit.org/r274069

1:09 PM Changeset in webkit [274097] by Ryan Haddad
  • 2 edits in trunk/Tools

Move WebGL test bot to Big Sur
https://bugs.webkit.org/show_bug.cgi?id=222501

Unreviewed infrastructure fix.

  • CISupport/build-webkit-org/config.json: Add missing architecture.
12:55 PM Changeset in webkit [274096] by Patrick Angle
  • 5 edits
    2 adds in trunk/Source/WebCore

Web Inspector: Grid overlay does not adjust for element transforms (rotation, scale, etc.)
https://bugs.webkit.org/show_bug.cgi?id=222565

Reviewed by BJ Burg & Devin Rousso.

Added support throughout the grid drawing code to support grids that have been translated/rotated/scaled by
passing all coordinates through the renderGrid's transform before drawing.

Relative directions/lengths throughout (e.g. left, width, and column) are expressed as if there was no
transform applied to the grid in order to help with readability and reasoning with the code in the future.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • inspector/InspectorOverlay.cpp:
  • Added variant that doesn't resize bounds as a side effect.

(WebCore::quadToPath):
(WebCore::InspectorOverlay::drawLayoutHatching):

  • Support drawing hatching in a FloatQuad instead of a FloatRect.

(WebCore::InspectorOverlay::drawGridOverlay):

  • Use the renderGrid to transform known points into drawing coordinates.
  • inspector/InspectorOverlay.h:
  • platform/graphics/FloatLine.cpp: Added.

(WebCore::FloatLine::pointAtAbsoluteDistance const):

  • Finds the point that is the given absolute distance from the start point. The distance may be less than 0 or

greater than the length of the line.
(WebCore::FloatLine::pointAtRelativeDistance const):

  • Finds the point that is the given relative distance from the start point, where 0 is the start point and 1.0

is the end point. The distance may be less than zero or greater than 1.
(WebCore::FloatLine::extendedToBounds const):

  • Creates a new FloatLine that at least covers the provided bounds such that the new line's points will either

be outside or on the bounds.
(WebCore::FloatLine::intersectionWith const):

  • Finds the FloatPoint at the intersection of this FloatLine and another FloatLine.
  • platform/graphics/FloatLine.h: Added.
  • Introduced FloatLine class to store two points that conceptually form a line.

(WebCore::FloatLine::FloatLine):
(WebCore::FloatLine::start const):
(WebCore::FloatLine::end const):
(WebCore::FloatLine::length const):

12:33 PM Changeset in webkit [274095] by Jonathan Bedard
  • 2 edits in trunk/Tools

[run-webkit-tests] Delete old results server code (Follow-up)
https://bugs.webkit.org/show_bug.cgi?id=222393
<rdar://problem/74722220>

Unreviewed follow-up fix.

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:

(parse_args): Re-add allowed-host.

12:33 PM Changeset in webkit [274094] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Make sure AudioDestination::hardwareSampleRate() returns a valid sample rate
https://bugs.webkit.org/show_bug.cgi?id=222915

Reviewed by Eric Carlson.

Make sure AudioDestination::hardwareSampleRate() returns a valid sample rate. Returning a sample
rate of 0 would end up doing bad things because WebAudio code sometimes needs to divide values
by the sample rate.

  • Modules/webaudio/DefaultAudioDestinationNode.cpp:

(WebCore::DefaultAudioDestinationNode::DefaultAudioDestinationNode):
Add assertion to make sure the hardware sample rate is valid.

  • platform/audio/mac/AudioSessionMac.mm:

(WebCore::AudioSession::sampleRate const):
Log an error message and return 44100 as sample rate in case of error, instead of 0.

12:29 PM Changeset in webkit [274093] by Devin Rousso
  • 2 edits in trunk/Source/WebCore

Don't override previously found IDL files in the bindings generator
https://bugs.webkit.org/show_bug.cgi?id=222922

Reviewed by Sam Weinig.

If the same IDL file exists in

  • $(BUILT_PRODUCTS_DIR)/usr/local/include/WebKitAdditions
  • $(SDKROOT)/usr/local/include/WebKitAdditions
  • $(WebCore)/*/*.idl

then IDLFileForInterface should return the first one found, not the last one found.

  • bindings/scripts/CodeGenerator.pm:

(IDLFileForInterface):

12:18 PM Changeset in webkit [274092] by Megan Gardner
  • 2 edits in trunk/Source/WebCore

Localizable.string.txt fix
https://bugs.webkit.org/show_bug.cgi?id=222025
rdar://74262934

Reviewed by Tim Horton.

  • DerivedSources.make:
12:16 PM Changeset in webkit [274091] by Simon Fraser
  • 7 edits
    2 adds in trunk

Trackpad scrolling in the web inspector timeline is broken
https://bugs.webkit.org/show_bug.cgi?id=222853
rdar://73509018

Reviewed by Sam Weinig.
Source/WebCore:

Commit r266333 or thereabouts broke trackpad scrolling in the inspector timeline.

This scrolling works via a wheel event handler on a non-scrollable element that
dispatches a copy of the wheel event to a proxy overflow:scroll in script. This
broke the default wheel event handling path.

Fix by having EventHandler::defaultWheelEventHandler() only respect latching and
m_currentWheelEventAllowsScrolling (which is set based on WheelEventProcessingSteps
from the scrolling thread) for user events, i.e. those with an underlying native event.

Also make Event loggable, and add some braces.

Test: fast/events/wheel/redispatched-wheel-event.html

  • dom/Event.cpp:

(WebCore::Event::debugDescription const):
(WebCore::operator<<):

  • dom/Event.h:
  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatchEvent):

  • dom/Node.cpp:

(WebCore::Node::defaultEventHandler): This clause needs braces.

  • page/EventHandler.cpp:

(WebCore::EventHandler::defaultWheelEventHandler):

LayoutTests:

  • fast/events/wheel/redispatched-wheel-event-expected.txt: Added.
  • fast/events/wheel/redispatched-wheel-event.html: Added.
12:10 PM Changeset in webkit [274090] by Ruben Turcios
  • 8 edits in branches/safari-611.1.21.1-branch/Source

Versioning.

WebKit-7611.1.21.1.6

12:09 PM Changeset in webkit [274089] by stephan.szabo@sony.com
  • 7 edits in trunk/Source

[WinCairo] Builds with ENABLE_CONTEXT_MENUS=OFF fail
https://bugs.webkit.org/show_bug.cgi?id=222771

Reviewed by Don Olmstead.

Build fix for turning off context menus adding ifdefs as necessary.

Source/WebKit:

  • UIProcess/win/PageClientImpl.h:
  • UIProcess/win/WebView.cpp:

Source/WebKitLegacy/win:

  • WebCoreSupport/WebContextMenuClient.cpp:
  • WebCoreSupport/WebContextMenuClient.h:
  • WebView.cpp:
11:55 AM Changeset in webkit [274088] by ChangSeok Oh
  • 2 edits in trunk/LayoutTests

[GTK] avif tests failing
https://bugs.webkit.org/show_bug.cgi?id=222882

Reviewed by Philippe Normand.

Skip avif related tests since the avif support is disabled as default.
We will enable them when activating the avif support as default.

  • platform/gtk/TestExpectations:
11:51 AM Changeset in webkit [274087] by wilander@apple.com
  • 29 edits
    1 move in trunk

PCM: Align fraud prevention token naming with issue 73 in the Privacy CG repo
https://bugs.webkit.org/show_bug.cgi?id=222838
<rdar://75115427>

Reviewed by Brent Fulgham.

This patch doesn't change functionality and only aligns naming to this W3C Privacy CG issue:
https://github.com/privacycg/private-click-measurement/issues/73

Source/WebCore:

Naming for PCM fraud prevention is updated like this:

/.well-known/private-click-measurement/sign-secret-token/ changed to
/.well-known/private-click-measurement/sign-unlinkable-token/

/.well-known/private-click-measurement/get-unlinkable-token-public-key/ changed to
/.well-known/private-click-measurement/get-token-public-key/

source_secret_token in requests for token signature changed to source_unlinkable_token

source_unlinkable_token in attribution reports changed to source_secret_token

Variable, member, and function names are being renamed similarly.

  • loader/PrivateClickMeasurement.cpp:

(WebCore::PrivateClickMeasurement::attributionReportJSON const):
(WebCore::PrivateClickMeasurement::tokenSignatureJSON const):
(WebCore::PrivateClickMeasurement::setSourceSecretToken):
(WebCore::PrivateClickMeasurement::SourceSecretToken::isValid const):
(WebCore::PrivateClickMeasurement::setSourceUnlinkableToken): Deleted.
(WebCore::PrivateClickMeasurement::SourceUnlinkableToken::isValid const): Deleted.

  • loader/PrivateClickMeasurement.h:

(WebCore::PrivateClickMeasurement::setSourceUnlinkableTokenValue):
(WebCore::PrivateClickMeasurement::sourceUnlinkableToken const):
(WebCore::PrivateClickMeasurement::setSourceSecretTokenValue): Deleted.

  • loader/cocoa/PrivateClickMeasurementCocoa.mm:

(WebCore::PrivateClickMeasurement::calculateAndUpdateSourceUnlinkableToken):
(WebCore::PrivateClickMeasurement::calculateAndUpdateSourceSecretToken):

Source/WebKit:

Naming for PCM fraud prevention is updated like this:

/.well-known/private-click-measurement/sign-secret-token/ changed to
/.well-known/private-click-measurement/sign-unlinkable-token/

/.well-known/private-click-measurement/get-unlinkable-token-public-key/ changed to
/.well-known/private-click-measurement/get-token-public-key/

source_secret_token in requests for token signature changed to source_unlinkable_token

source_unlinkable_token in attribution reports changed to source_secret_token

Variable, member, and function names are being renamed similarly.

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:

(WebKit::ResourceLoadStatisticsDatabaseStore::buildPrivateClickMeasurementFromDatabase):

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::setPCMFraudPreventionValuesForTesting):
(WebKit::NetworkProcess::setFraudPreventionValuesForTesting): Deleted.

Renamed setPCMFraudPreventionValuesForTesting() to make it more clear.

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • NetworkProcess/NetworkSession.cpp:

(WebKit::NetworkSession::setPCMFraudPreventionValuesForTesting):
(WebKit::NetworkSession::setFraudPreventionValuesForTesting): Deleted.

Renamed setPCMFraudPreventionValuesForTesting() to make it more clear.

  • NetworkProcess/NetworkSession.h:
  • NetworkProcess/PrivateClickMeasurementManager.cpp:

(WebKit::PrivateClickMeasurementManager::storeUnattributed):
(WebKit::PrivateClickMeasurementManager::getTokenPublicKey):
(WebKit::PrivateClickMeasurementManager::getSignedUnlinkableToken):
(WebKit::PrivateClickMeasurementManager::setPCMFraudPreventionValuesForTesting):
(WebKit::PrivateClickMeasurementManager::getSignedSecretToken): Deleted.
(WebKit::PrivateClickMeasurementManager::setFraudPreventionValuesForTesting): Deleted.

Renamed setPCMFraudPreventionValuesForTesting() to make it more clear.

  • NetworkProcess/PrivateClickMeasurementManager.h:
  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPCMFraudPreventionValuesForTesting):
(WKPageSetFraudPreventionValuesForTesting): Deleted.

Renamed WKPageSetPCMFraudPreventionValuesForTesting() to make it more clear.

  • UIProcess/API/C/WKPagePrivate.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setPCMFraudPreventionValuesForTesting):
(WebKit::WebPageProxy::setFraudPreventionValuesForTesting): Deleted.

Renamed setPCMFraudPreventionValuesForTesting() to make it more clear.

  • UIProcess/WebPageProxy.h:

Tools:

Naming for PCM fraud prevention is updated like this:

/.well-known/private-click-measurement/sign-secret-token/ changed to
/.well-known/private-click-measurement/sign-unlinkable-token/

/.well-known/private-click-measurement/get-unlinkable-token-public-key/ changed to
/.well-known/private-click-measurement/get-token-public-key/

source_secret_token in requests for token signature changed to source_unlinkable_token

source_unlinkable_token in attribution reports changed to source_secret_token

Variable, member, and function names are being renamed similarly.

  • TestWebKitAPI/Tests/WebCore/PrivateClickMeasurement.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebCore/cocoa/PrivateClickMeasurementCocoa.mm:

(TestWebKitAPI::TEST):

  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::setPrivateClickMeasurementFraudPreventionValuesForTesting):
(WTR::TestRunner::setFraudPreventionValuesForTesting): Deleted.

  • WebKitTestRunner/InjectedBundle/TestRunner.h:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::setPCMFraudPreventionValuesForTesting):
(WTR::TestController::setFraudPreventionValuesForTesting): Deleted.

  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):

LayoutTests:

  • http/tests/privateClickMeasurement/resources/fraudPreventionTestURL.php: Renamed from LayoutTests/http/tests/privateClickMeasurement/resources/signToken.php.

The way this PHP file is used goes beyond signing tokens so it now has a generic name.

  • http/tests/privateClickMeasurement/store-private-click-measurement-with-source-nonce-expected.txt:

Re-baselined to reflect the new naming.

  • http/tests/privateClickMeasurement/store-private-click-measurement-with-source-nonce.html:
11:36 AM Changeset in webkit [274086] by Ruben Turcios
  • 8 edits in branches/safari-611.1.21.0-branch/Source

Versioning.

WebKit-7611.1.21.0.5

11:12 AM Changeset in webkit [274085] by Aditya Keerthi
  • 2 edits in trunk/Source/WebKit

[iOS] <select multiple> group headers are illegible in dark mode
https://bugs.webkit.org/show_bug.cgi?id=222914
<rdar://problem/75020326>

Reviewed by Tim Horton.

  • UIProcess/ios/forms/WKFormSelectPicker.mm:

(-[WKSelectPickerTableViewController tableView:heightForHeaderInSection:]):

Do not specify a textColor for the header label. This ensures the default
semantic label color is used, which automatically adapts when dark mode
is enabled.

11:12 AM Changeset in webkit [274084] by Jonathan Bedard
  • 26 edits
    1 delete in trunk/Tools

[resultsdbpy] Adopt webkitscmpy
https://bugs.webkit.org/show_bug.cgi?id=222754
<rdar://problem/75049209>

Reviewed by Dewei Zhu.

Adopting webkitscmpy's remote repositories requires using the unit testing paradigms from
those objects, which requires considerable adjustment of testing code.

  • Scripts/libraries/resultsdbpy/resultsdbpy/init.py: Bump version, include webkitscmpy.
  • Scripts/libraries/resultsdbpy/resultsdbpy/controller/archive_controller_unittest.py:
  • Scripts/libraries/resultsdbpy/resultsdbpy/controller/ci_controller_unittest.py:
  • Scripts/libraries/resultsdbpy/resultsdbpy/controller/commit_controller.py:

(CommitController.register): Use webkitscmpy's exceptions.

  • Scripts/libraries/resultsdbpy/resultsdbpy/controller/commit_controller_unittest.py:

(CommitControllerTest.test_register_via_post): Deleted.

  • Scripts/libraries/resultsdbpy/resultsdbpy/controller/failure_controller_unittest.py:
  • Scripts/libraries/resultsdbpy/resultsdbpy/controller/suite_controller_unittest.py:
  • Scripts/libraries/resultsdbpy/resultsdbpy/controller/test_controller_unittest.py:
  • Scripts/libraries/resultsdbpy/resultsdbpy/controller/upload_controller_unittest.py:
  • Scripts/libraries/resultsdbpy/resultsdbpy/model/archive_context_unittest.py:
  • Scripts/libraries/resultsdbpy/resultsdbpy/model/ci_context_unittest.py:
  • Scripts/libraries/resultsdbpy/resultsdbpy/model/commit_context.py:

(CommitContext.branch_keys_for_commits):
(CommitContext.find_commits_by_id): default_branch is now an instance variable.
(CommitContext.find_commits_by_uuid): Ditto.
(CommitContext.find_commits_by_timestamp): Ditto.
(CommitContext.find_commits_in_range): Ditto.
(CommitContext.sibling_commits): Ditto.
(CommitContext.register_commit_with_repo_and_id): webkitscmpy repositories compute branch.

  • Scripts/libraries/resultsdbpy/resultsdbpy/model/commit_context_unittest.py:
  • Scripts/libraries/resultsdbpy/resultsdbpy/model/failure_context_unittest.py:
  • Scripts/libraries/resultsdbpy/resultsdbpy/model/mock_model_factory.py:

(MockModelFactory):
(MockModelFactory.safari): Use shared webkitscmpy mocks.
(MockModelFactory.webkit): Ditto.
(MockModelFactory.create): Timestamps in webkitscmpy are just integers.
(MockModelFactory.iterate_all_commits): webkitscmpy and resultsdbpy have slightly different
commit representations, so the mechanics of registering commits are different.

  • Scripts/libraries/resultsdbpy/resultsdbpy/model/mock_repository.py: Removed.
  • Scripts/libraries/resultsdbpy/resultsdbpy/model/model_unittest.py:
  • Scripts/libraries/resultsdbpy/resultsdbpy/model/repository.py:

(Repository):
(Repository.init): default_branch is now an instance variable.
(Repository.commit_for_id): webkitscmpy does not require the branch, given a hash or revision.
(StashRepository): Retrieve commit from webkitscmpy's remote BitBucket object.
(WebKitRepository): Hard-code WebKit's Subversion URL. This is temporary, since WebKit will shortly
become a GitHub repository.
(SCMException): Deleted.
(HTTPRepository): Deleted.
(SVNRepository): Deleted.
(WebKitRepository.commit_for_id.diff_changelogs): Deleted.

  • Scripts/libraries/resultsdbpy/resultsdbpy/model/repository_unittest.py:
  • Scripts/libraries/resultsdbpy/resultsdbpy/model/suite_context_unittest.py:
  • Scripts/libraries/resultsdbpy/resultsdbpy/model/test_context_unittest.py:
  • Scripts/libraries/resultsdbpy/resultsdbpy/model/upload_context_unittest.py:
  • Scripts/libraries/resultsdbpy/resultsdbpy/view/archive_view_unittest.py:
  • Scripts/libraries/resultsdbpy/resultsdbpy/view/commit_view_unittest.py:
  • Scripts/libraries/resultsdbpy/resultsdbpy/view/view_routes_unittest.py:
  • Scripts/libraries/resultsdbpy/setup.py: Bump version.
11:07 AM Changeset in webkit [274083] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

REGRESSION (r269627?): ASSERTION FAILED: &layoutState().establishedFormattingState(layoutBox.formattingContextRoot()) == this in WebCore::Layout::FormattingState::boxGeometry
https://bugs.webkit.org/show_bug.cgi?id=219905

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations: Skip the test.
11:07 AM Changeset in webkit [274082] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

REGRESSION (r272842): [iOS] security/contentSecurityPolicy/video-with-data-url-allowed-by-media-src-star.html is consistently failing
https://bugs.webkit.org/show_bug.cgi?id=222840

Unreviewed test gardening.

  • platform/ios/TestExpectations: Mark test as failing.
11:04 AM Changeset in webkit [274081] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Simplify CallbackAggregator in WebsiteDataStore::removeData()
https://bugs.webkit.org/show_bug.cgi?id=222837

Reviewed by Geoffrey Garen.

Simplify CallbackAggregator in WebsiteDataStore::removeData(). We don't need an explicit
counter data member or explicit calls to addPendingCallback() / removePendingCallback().
We can simply rely on the ref count of the CallbackAggregator.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::removeData):

10:09 AM Changeset in webkit [274080] by Jonathan Bedard
  • 14 edits in trunk/Tools

[webkitscmpy] Add repository_id
https://bugs.webkit.org/show_bug.cgi?id=222827
<rdar://problem/75111000>

Reviewed by Dewei Zhu.

  • Scripts/libraries/webkitscmpy/setup.py: Bump version.
  • Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
  • Scripts/libraries/webkitscmpy/webkitscmpy/commit.py:

(Commit.Encoder.default): Add repository_id.
(Commit.init): Ditto.

  • Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:

(Git.init): Allow caller to specify repository id.
(Git.commit): Pass repository id to commit.

  • Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:

(Scm.init): Allow caller to specify repository id.

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

(Svn.init): Allow caller to specify repository id.
(Svn.commit): Pass repository id to commit.

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

(BitBucket.init): Allow caller to specify repository id, infer from url.
(BitBucket.commit): Pass repository id to commit.

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

(GitHub.init): Allow caller to specify repository id, infer from url.
(GitHub.commit): Pass repository id to commit.

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

(Scm.init): Allow caller to specify repository id.

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

(Svn.init): Allow caller to specify repository id, infer from url.
(Svn.commit): Pass repository id to commit.

  • Scripts/libraries/webkitscmpy/webkitscmpy/scm_base.py:

(ScmBase.init): Allow caller to specify repository id.

  • Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:

(TestGitHub.test_id):
(TestBitBucket.test_id):

  • Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:

(TestRemoteSvn.test_id):

10:05 AM Changeset in webkit [274079] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

webkitbot should stop saying "<revision> broke the build" when we revert commits
https://bugs.webkit.org/show_bug.cgi?id=222906

Patch by Michael Catanzaro <Michael Catanzaro> on 2021-03-08
Reviewed by Jonathan Bedard.

Instead of saying the patch "broke the build," let's say it "introduced a regression." This
is more generic, since we revert patches for lots of reasons that are not build failures.
Build failures count as regressions.

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

(CreateRevert._prepare_state):

  • Scripts/webkitpy/tool/commands/download_unittest.py:
10:02 AM Changeset in webkit [274078] by graouts@webkit.org
  • 2 edits in trunk/LayoutTests

[Web Animations] imported/w3c/web-platform-tests/css/css-transitions/before-load-001.html is a failure
https://bugs.webkit.org/show_bug.cgi?id=203416

Unreviewed.

This test now passes reliably on iOS according to
https://results.webkit.org/?suite=layout-tests&test=imported%2Fw3c%2Fweb-platform-tests%2Fcss%2Fcss-transitions%2Fbefore-load-001.html

  • platform/ios/TestExpectations:
9:56 AM Changeset in webkit [274077] by graouts@webkit.org
  • 3 edits
    2 deletes in trunk/LayoutTests

Unreviewed. Remove a test supporting code that was removed from the WPT suite (see issue #27923).

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-transitions/properties-value-auto-001-expected.txt: Removed.
  • web-platform-tests/css/css-transitions/properties-value-auto-001.html: Removed.
  • web-platform-tests/css/css-transitions/support/properties.js:

(values.string_appeared_here):
(root.getAutoPropertyTests): Deleted.

LayoutTests:

  • platform/glib/TestExpectations:
  • platform/ios/TestExpectations:
9:51 AM Changeset in webkit [274076] by Peng Liu
  • 9 edits in trunk

[GPUP] Some media tests related to canvas fail when media in GPU Process is enabled
https://bugs.webkit.org/show_bug.cgi?id=221820

Reviewed by Jer Noble.

Source/WebCore:

When "GPU Process: Media" is enabled and "GPU Process: Canvas Rendering" is disabled,
MediaPlayerPrivateAVFoundationObjC::nativeImageForCurrentTime() will be called
to get native images (video frames) from a video player. This function will copy
pixel buffers from CoreVideo, and we may need to rotate the pixel buffers before
converting them to native images. The process to copy pixel buffers from CoreVideo
and rotate them is implemented in MediaPlayerPrivateAVFoundationObjC::updateLastPixelBuffer().
It rotates pixel buffers with an ImageRotationSessionVT object (m_imageRotationSession).

With the current implementation of ImageRotationSessionVT, we can rotate pixel buffers
with following two approaches:

  • Construct an uninitialized instance, and call `ImageRotationSessionVT::rotate(

MediaSample&, const RotationProperties&, IsCGImageCompatible). The rotate` function
will initialize the object if needed.

  • Construct an instance with given rotation properties, size, pixel buffer format,

and CGImage compatibility, then call ImageRotationSessionVT::rotate(CVPixelBufferRef).
When we call the rotate function, we need to make sure the pixel buffer's format
is consistent with the ImageRotationSessionVT instance. Otherwise, the rotation will
fail and the caller will get an empty pixel buffer (this bug).

In order to use the second approach in MediaPlayerPrivateAVFoundationObjC, we need to
figure out the pixel buffer format to construct an ImageRotationSessionVT instance.
But that can only be done after we get a pixel buffer from CoreVideo.

This patch refactors ImageRotationSessionVT to better support the aforementioned
second approach. MediaPlayerPrivateAVFoundationObjC constructs an ImageRotationSessionVT
instance without pixel buffer format, and the ImageRotationSessionVT instance
will figure out the pixel buffer format by itself and configures its CVPixelBufferPool
properly when we call rotate function.

No new tests. Fix a test failure:

  • media/video-orientation-canvas.html
  • platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm:

(WebCore::ImageDecoderAVFObjC::readTrackMetadata):

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::updateRotationSession):
(WebCore::MediaPlayerPrivateAVFoundationObjC::nativeImageForCurrentTime):
We have to update the image synchronously to ensure that the caller gets the correct image.

  • platform/graphics/cv/ImageRotationSessionVT.h:

Remove isMatching() because it is not defined/used.

  • platform/graphics/cv/ImageRotationSessionVT.mm:

(WebCore::ImageRotationSessionVT::ImageRotationSessionVT):
(WebCore::ImageRotationSessionVT::initialize):
(WebCore::ImageRotationSessionVT::rotate):

  • platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.mm:

(WebCore::RealtimeOutgoingVideoSourceCocoa::rotatePixelBuffer):

LayoutTests:

  • media/video-orientation-canvas.html:
  • platform/wk2/TestExpectations:
9:27 AM Changeset in webkit [274075] by Chris Gambrell
  • 2 edits in trunk/LayoutTests

REGRESSION: [iOS] http/tests/security/strip-referrer-to-origin-for-third-party-redirects-in-private-mode.html is failing
https://bugs.webkit.org/show_bug.cgi?id=222823
<rdar://problem/75133450>

Reviewed by Darin Adler.

  • http/tests/security/strip-referrer-to-origin-for-third-party-redirects-in-private-mode.html:
8:57 AM Changeset in webkit [274074] by weinig@apple.com
  • 14 edits in trunk/Source

Remove quirks for the no longer supported iAd Producer
https://bugs.webkit.org/show_bug.cgi?id=222894

Reviewed by Chris Dumez.

Source/WebCore:

Remove two quirks that were only for iAd Producer, which is no longer
supported on the latest macOS operating systems.

By removing one quirk, we can also remove some indirection in CSSStyleDeclaration.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateAttributeSetterBodyDefinition):

  • bindings/scripts/test/JS/JSTestCSSProperty.cpp:

(WebCore::setJSTestCSSProperty_propertySetter):

  • css/CSSStyleDeclaration.cpp:

(WebCore::CSSStyleDeclaration::setNamedItem):
(WebCore::CSSStyleDeclaration::setPropertyValueInternal): Deleted.

  • css/CSSStyleDeclaration.h:
  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::isLoadingInAPISense const):

  • page/DeprecatedGlobalSettings.cpp:

(WebCore::DeprecatedGlobalSettings::setShouldRespectPriorityInCSSAttributeSetters): Deleted.
(WebCore::DeprecatedGlobalSettings::shouldRespectPriorityInCSSAttributeSetters): Deleted.

  • page/DeprecatedGlobalSettings.h:

Source/WebKitLegacy/mac:

Remove two quirks that were only for iAd Producer, which is no longer
supported on the latest macOS operating systems.

  • WebView/WebPreferencesDefaultValues.h:
  • WebView/WebPreferencesDefaultValues.mm:

(WebKit::defaultNeedsIsLoadingInAPISenseQuirk): Deleted.

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(shouldRespectPriorityInCSSAttributeSetters): Deleted.

Source/WTF:

  • Scripts/Preferences/WebPreferences.yaml:

Remove NeedsIsLoadingInAPISenseQuirk preference which only existed to enable
a quirk for iAd Producer.

8:27 AM WebKitGTK/Debugging edited by Philippe Normand
(diff)
8:05 AM WebKitGTK/2.32.x edited by Michael Catanzaro
(diff)
8:01 AM Changeset in webkit [274073] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, reverting r273197.
https://bugs.webkit.org/show_bug.cgi?id=222909

Revert of r273084 broke building on Linux platforms

Reverted changeset:

"Remove unused isGoogle function"
https://bugs.webkit.org/show_bug.cgi?id=222227
https://trac.webkit.org/changeset/273197

7:28 AM Changeset in webkit [274072] by graouts@webkit.org
  • 4 edits in trunk/LayoutTests

[Web Animations] Some tests under web-animations/timing-model/animations are ImageOnlyFailure
https://bugs.webkit.org/show_bug.cgi?id=207260

Reviewed by Sam Weinig.

These three tests have been passing reliably on most plaforms for a while now and should no longer
be marked as ImageOnlyFailure:

  • imported/w3c/web-platform-tests/web-animations/timing-model/animations/reverse-running-animation.html
  • imported/w3c/web-platform-tests/web-animations/timing-model/animations/update-playback-rate-fast.html
  • imported/w3c/web-platform-tests/web-animations/timing-model/animations/update-playback-rate-slow.html

The first of those three tests is still an ImageOnlyFailure on GTK and WPE, so we add that expectation
to the platform-specific files.

  • TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
7:20 AM Changeset in webkit [274071] by graouts@webkit.org
  • 2 edits in trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/animations

Unreviewed. Update border-width interpolation test after WPT PR #27934.

  • web-platform-tests/css/css-backgrounds/animations/border-width-interpolation-expected.txt:
  • web-platform-tests/css/css-backgrounds/animations/border-width-interpolation.html:
6:45 AM WebKitGTK/2.32.x edited by Michael Catanzaro
(diff)
6:38 AM Changeset in webkit [274070] by commit-queue@webkit.org
  • 5 edits in trunk

Unreviewed, reverting r273084.
https://bugs.webkit.org/show_bug.cgi?id=222905

User agent quirks still needed after all

Reverted changeset:

"[GTK] Remove all Google user agent quirks except for Google
Docs"
https://bugs.webkit.org/show_bug.cgi?id=222039
https://trac.webkit.org/changeset/273084

5:53 AM Changeset in webkit [274069] by Chris Lord
  • 12 edits in trunk/Source/WebCore

Allow creation of a CSSFontSelector with a non-Document ScriptExecutionContext
https://bugs.webkit.org/show_bug.cgi?id=222735

Reviewed by Darin Adler.

Replace Document member of CSSFontSelector with a ScriptExecutionContext.
This also changes make_names.pl string header generation to allow for easier enumeration of font family strings.

No new tests as new behaviour is currently unused. Existing behaviour covered by existing tests.

  • bindings/scripts/StaticString.pm:

(GenerateStrings): Revert change from bug 222552

  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::CSSFontSelector):
(WebCore::m_version):
(WebCore::CSSFontSelector::fontFaceSet):
(WebCore::CSSFontSelector::addFontFaceRule):
(WebCore::CSSFontSelector::fontStyleUpdateNeeded):
(WebCore::CSSFontSelector::resolveGenericFamily):
(WebCore::CSSFontSelector::fontRangesForFamily):
(WebCore::CSSFontSelector::stopLoadingAndClearFonts):
(WebCore::CSSFontSelector::beginLoadingFontSoon):
(WebCore::CSSFontSelector::loadPendingFonts):
(WebCore::CSSFontSelector::fontLoadingTimerFired):
(WebCore::CSSFontSelector::fallbackFontCount):
(WebCore::CSSFontSelector::fallbackFontAt):

  • css/CSSFontSelector.h:
  • css/FontFaceSet.cpp:

(WebCore::FontFaceSet::create):
(WebCore::FontFaceSet::FontFaceSet):

  • css/FontFaceSet.h:
  • css/FontFaceSet.idl:
  • dom/Document.h:
  • dom/ScriptExecutionContext.h:
  • dom/make_names.pl:

(printNamesHeaderFile): Make global string data and names accessible via a Vector and add an enum of name indices.

  • platform/graphics/FontGenericFamilies.cpp:

(WebCore:: const):

  • platform/graphics/FontGenericFamilies.h:
4:37 AM Changeset in webkit [274068] by commit-queue@webkit.org
  • 6 edits in trunk

Support aspect-ratio in intrinsic sizing
https://bugs.webkit.org/show_bug.cgi?id=220861

Patch by Rob Buis <rbuis@igalia.com> on 2021-03-08
Reviewed by Antti Koivisto.

Source/WebCore:

Support aspect-ratio in intrinsic sizing calculations.
The values min-content/max-content/fit-content
get set a value through aspect-ratio [1].
However min-width:auto is special, it should take content
into account [2]. In order to support this, compute
logical (intrinsic) width using MinIntrinsic, since staying
with MinContent/MaxContent would cause an infinite loop.

Behavior matches Firefox and Chrome.

[1] https://www.w3.org/TR/css-sizing-4/#propdef-aspect-ratio
[2] https://www.w3.org/TR/css-sizing-4/#aspect-ratio-minimum

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::computePreferredLogicalWidths):
Compute child min/max pref widths from aspect-ratio if it applies.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::constrainLogicalWidthInFragmentByMinMax const):
Add an allowIntrinsic parameter to prevent recursion.
(WebCore::RenderBox::computeIntrinsicLogicalWidthUsing const):
Compute intrinsic logical width from aspect ratio if possible.
(WebCore::RenderBox::computeLogicalWidthInFragmentUsing const):
(WebCore::RenderBox::shouldComputeLogicalHeightFromAspectRatio const):
min/max/fit-content in the block axis is treated as auto.
(WebCore::RenderBox::computeLogicalWidthFromAspectRatio const):
Prevent recursion by passing false for allowIntrinsic.

  • rendering/RenderBox.h:

LayoutTests:

Enable tests that pass now.

3:55 AM Changeset in webkit [274067] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Web Animations] Don't update animation playback rate if timeline is inactive
https://bugs.webkit.org/show_bug.cgi?id=222839

Patch by Ian Gilbert <iang@apple.com> on 2021-03-08
Reviewed by Antoine Quint.

An inactive timeline will return WTF::nullopt for an unresolved time value.
Added nullopt check to abort setting playback rate when we cannot calculate a new start time.

No new tests as reproducing requires navigating to a new document while updating the playback
rate and I was unable to make a reliable test case.

  • animation/WebAnimation.cpp:

(WebCore::WebAnimation::updatePlaybackRate):

2:43 AM Changeset in webkit [274066] by commit-queue@webkit.org
  • 19 edits
    4 adds in trunk

WebGL asserts after GPU process times out
https://bugs.webkit.org/show_bug.cgi?id=222546

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-03-08
Reviewed by Wenson Hsieh.

Source/WebCore:

Add a trigger internals.simulateEventForWebGLContext("timeout", context)
to trigger timeout for calls to a WebGL context.

Tests: fast/canvas/webgl/lose-context-on-timeout-async.html

fast/canvas/webgl/lose-context-on-timeout.html

  • testing/Internals.cpp:

(WebCore::Internals::simulateEventForWebGLContext):

Source/WebKit:

IPC::StreamClientConnection::tryAcquire would assert on

ASSERT(untrustedLimit < (dataSize() - 1));

The untrustedLimit value would be then:

StreamConnectionBuffer::serverOffsetClientIsWaitingTag.

This would be equivalent of assertion added in this commit:

ASSERT(clientLimit != ClientLimit::clientIsWaitingTag);

This would happen in case of timeout, because upon entering
the wait sequence:

1) The client itself would first write the tag value to the

offset variable.

2) Wait and timeout the wait.
3) run the next iteration of the acquire loop.

The next iteration would load the tag value written before,
e.g. serverOffsetClientIsWaitingTag.
This would be then used in clampedLimit() call.

Fix this by taking it into account that the variable might be
ClientLimit::clientIsWaitingTag within the acquire loop.

Possibly fix future similar problems by not treating the value as
size_t, rather treat it as enum class ClientOffset : size_t. This
enables the compiler to enforce that when checking for the various tag
values, the holder must hold the enum class. When intending to interpret
the value as size_t, holder must explicitly convert.

Do the above change for the ServerOffset.

Tests: fast/canvas/webgl/lose-context-on-timeout-async.html

fast/canvas/webgl/lose-context-on-timeout.html

  • GPUProcess/GPUConnectionToWebProcess.cpp:

(WebKit::GPUConnectionToWebProcess::releaseGraphicsContextGL):
Do not assert that the release message actually releases the context.
For testing, the induce the timeout by releasing the context prematurely
and treating the subsequent messages as if they were non-legit messages.
That should be just skipped.

(WebKit::GPUConnectionToWebProcess::releaseGraphicsContextGLForTesting):
Add a public function to invoke from "ForTesting" codepaths.

(WebKit::GPUConnectionToWebProcess::dispatchMessage):
(WebKit::GPUConnectionToWebProcess::dispatchSyncMessage):
Skip RemoteGraphicsContextGL messages that do not get routed to any
instance. These messages can be "non-legit", ones that are sent before
the "context was lost" message reached the sender, or ones that are
sent during simulated timeout.
These do not contain asserts as it is expected that these will occur in
above situations.

  • GPUProcess/GPUConnectionToWebProcess.h:
  • GPUProcess/graphics/RemoteGraphicsContextGL.cpp:

(WebKit::RemoteGraphicsContextGL::simulateEventForTesting):

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

Add the simulateEventForTesting function to simulate the
timeout. Simulate via just removing the context, which causes
left-over messages to skipped.
Currently we do not simulate the timeout with an infinite loop
in GPU process threads as that is not supported.
Currently we do not simulate the timeout with a gpu process
crash since it is not supported to be tested (will cause a
reload).

  • Platform/IPC/StreamClientConnection.cpp:

(IPC::StreamClientConnection::StreamClientConnection):

  • Platform/IPC/StreamClientConnection.h:

(IPC::StreamClientConnection::sendSync):
(IPC::StreamClientConnection::release):
Change size_t usage to -> ClientOffset, ServerOffset

(IPC::StreamClientConnection::tryAcquire):
Fix the assertion of equivalent of ASSERT(clientLimit != ClientLimit::clientIsWaitingTag);
by reorganizing the acquire loop.

(IPC::StreamClientConnection::toLimit const):
Fix the off-by-one in assertion error
( < dataSize() - 1 vs <= dataSize() - 1)

Rename from clampedLimit() to toLimit(), as the
clamping is confusing as the client trusts the
server.

  • Platform/IPC/StreamConnectionBuffer.cpp:

(IPC::StreamConnectionBuffer::StreamConnectionBuffer):
(IPC::StreamConnectionBuffer::operator=):
(IPC::StreamConnectionBuffer::encode const):

  • Platform/IPC/StreamConnectionBuffer.h:

(IPC::StreamConnectionBuffer::clientOffset):
(IPC::StreamConnectionBuffer::serverOffset):
(IPC::StreamConnectionBuffer::clientWaitSemaphore):
(IPC::StreamConnectionBuffer::maximumSize):

  • Platform/IPC/StreamServerConnection.cpp:

(IPC::StreamServerConnectionBase::tryAquire):
(IPC::StreamServerConnectionBase::release):
Change size_t usage to -> ClientOffset, ServerOffset

(IPC::StreamServerConnectionBase::clampedLimit const):
Fix the off-by-one in assertion error
( < dataSize() - 1 vs <= dataSize() - 1)

  • Platform/IPC/StreamServerConnection.h:

(IPC::StreamServerConnectionBase::sharedServerLimit):
(IPC::StreamServerConnectionBase::sharedServerOffset):

  • WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:

(WebKit::RemoteGraphicsContextGLProxy::synthesizeGLError):
(WebKit::RemoteGraphicsContextGLProxy::getError):
For the cases where the timeout would happen in these two functions,
call the markContextLost() instead of wasLost(). This is to clarify
all the context lost handling to use the same pattern.

(WebKit::RemoteGraphicsContextGLProxy::simulateEventForTesting):

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

LayoutTests:

Add tests to test the case where a WebGL call times out.
Add two variants: one which most probably times out on
synchronous call, and one which most probably times out on
asynchronous call.

  • fast/canvas/webgl/lose-context-on-status-failure.html:

The testing APIs were changed, so replace use of
Internals.setFailNextGPUStatusCheck()
with Internals.simulateEventForWebGLContext()

  • fast/canvas/webgl/lose-context-on-timeout-async-expected.txt: Added.
  • fast/canvas/webgl/lose-context-on-timeout-async.html: Added.
  • fast/canvas/webgl/lose-context-on-timeout-expected.txt: Added.
  • fast/canvas/webgl/lose-context-on-timeout.html: Added.
  • fast/canvas/webgl/webglcontextchangedevent.html:
1:37 AM Changeset in webkit [274065] by commit-queue@webkit.org
  • 15 edits in trunk

WebGL context screen change events should work with GPU process
https://bugs.webkit.org/show_bug.cgi?id=219669
<rdar://problem/72373371>

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-03-08
Reviewed by Per Arne Vollan.

Source/WebKit:

Pass display configuration change notification from UI
process to GPU process.

Fixes

fast/canvas/webgl/webglcontextchangedevent.html
fast/canvas/webgl/context-update-on-display-configuration.html

  • GPUProcess/GPUConnectionToWebProcess.cpp:

(WebKit::GPUConnectionToWebProcess::displayConfigurationChanged):

  • GPUProcess/GPUConnectionToWebProcess.h:
  • GPUProcess/GPUProcess.cpp:

(WebKit::GPUProcess::displayConfigurationChanged):

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

(WebKit::RemoteGraphicsContextGL::displayWasReconfigured):

  • GPUProcess/graphics/RemoteGraphicsContextGL.h:
  • Platform/IPC/ScopedActiveMessageReceiveQueue.h:

(IPC::ScopedActiveMessageReceiveQueue::operator-> const):

  • UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::GPUProcessProxy::displayConfigurationChanged):

  • UIProcess/GPU/GPUProcessProxy.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::displayReconfigurationCallBack):
(WebKit::WebProcessPool::sendDisplayConfigurationChangedMessageForTesting):

LayoutTests:

  • fast/canvas/webgl/webglcontextchangedevent.html:

Make manually testable.

  • gpu-process/TestExpectations:

Remove two tests that now pass.

12:59 AM Changeset in webkit [274064] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

REGRESSION(r272900): Nullptr crash in ComposedTreeIterator::traverseNextInShadowTree() via ShadowRoot::hostChildElementDidChange
https://bugs.webkit.org/show_bug.cgi?id=222720

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2021-03-08
Reviewed by Ryosuke Niwa.

Source/WebCore:

The list of assigned nodes contains weak pointers, we should check the node hasn't been destroyed.

Test: fast/html/details-set-inner-text-crash.html

  • dom/ComposedTreeIterator.cpp:

(WebCore::ComposedTreeIterator::traverseNextInShadowTree):

LayoutTests:

  • fast/html/details-set-inner-text-crash-expected.txt: Added.
  • fast/html/details-set-inner-text-crash.html: Added.
12:52 AM Changeset in webkit [274063] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

[GTK] Update Simplified Chinese translation
https://bugs.webkit.org/show_bug.cgi?id=222845

Patch by Dingzhong Chen <wsxy162@gmail.com> on 2021-03-08
Reviewed by Carlos Garcia Campos.

  • zh_CN.po:
12:28 AM Changeset in webkit [274062] by Diego Pino Garcia
  • 19 edits
    2 adds
    4 deletes in trunk/LayoutTests

[GTK] Unreviewed test gardening. Update baselines.

  • platform/glib/fast/css/getComputedStyle/computed-style-expected.txt: After r273882.
  • platform/glib/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: After r273882.
  • platform/glib/fast/table/table-display-types-strict-expected.txt: After r273386.
  • platform/glib/http/tests/navigation/redirect-to-fragment2-expected.txt: Added. Passing since r273781.
  • platform/glib/imported/w3c/web-platform-tests/mediacapture-streams/MediaStream-MediaElement-srcObject.https-expected.txt: After r273644.
  • platform/glib/svg/css/getComputedStyle-basic-expected.txt: After r273882.
  • platform/gtk/compositing/geometry/clipping-foreground-expected.png: After r271348.
  • platform/gtk/compositing/geometry/clipping-foreground-expected.txt: After r271348.
  • platform/gtk/css1/text_properties/vertical_align-expected.txt: After r273386.
  • platform/gtk/fast/dom/HTMLMeterElement/meter-element-expected.txt: After r271110.
  • platform/gtk/fast/dom/HTMLMeterElement/meter-styles-changing-pseudo-expected.txt: After r271110.
  • platform/gtk/fast/dom/HTMLMeterElement/meter-styles-expected.png: After r271110.
  • platform/gtk/fast/dom/HTMLMeterElement/meter-styles-expected.txt: After r271110.
  • platform/gtk/fast/forms/input-disabled-color-expected.png: After r271021.
  • platform/gtk/fast/forms/input-disabled-color-expected.txt: After r271021.
  • platform/gtk/fast/forms/linebox-overflow-in-textarea-padding-expected.png: After r271348.
  • platform/gtk/fast/forms/linebox-overflow-in-textarea-padding-expected.txt: After r271348.
  • platform/gtk/fast/inline-block/inline-block-vertical-align-expected.txt: After r271110.
  • platform/gtk/fast/scrolling/overflow-scrollable-after-back-expected.txt: Removed. Stale baseline.
  • platform/gtk/http/tests/navigation/redirect-to-fragment2-expected.txt: Removed. Moved to GLib baseline.
  • platform/gtk/imported/w3c/web-platform-tests/css/css-color/animation/opacity-interpolation-expected.txt: Removed. Stale baseline.
  • platform/gtk/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt: After r273072.
  • platform/wpe/http/tests/navigation/redirect-to-fragment2-expected.txt: Removed. Moved to GLib baseline.

Mar 7, 2021:

7:45 PM Changeset in webkit [274061] by Lauro Moura
  • 3 edits
    2 adds in trunk/LayoutTests

[GLIB] Gardening and updating baselines

Unreviewed test gardening.

  • platform/glib/TestExpectations:
  • platform/glib/imported/w3c/web-platform-tests/shadow-dom/nested-slot-remove-crash-expected.txt: Added.
  • platform/wpe/TestExpectations:
6:02 PM Changeset in webkit [274060] by Lauro Moura
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix -Wunused-parameter warning after r274033

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresCompositingForModel const):

5:48 PM Changeset in webkit [274059] by Lauro Moura
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix -Wreturn-type warning after r273891

  • Modules/mediastream/MediaStreamTrack.cpp:

(WebCore::trackMatchesKind):

2:45 PM Changeset in webkit [274058] by Wenson Hsieh
  • 6 edits in trunk

[iOS] maild hits a simulated crash when ENABLE(APP_HIGHLIGHTS) is defined
https://bugs.webkit.org/show_bug.cgi?id=222893
<rdar://problem/74230060>

Reviewed by Tim Horton.

Source/WebKit:

Fix the simulated crash by not initializing the shared callout bar and installing menu items for new app
highlight actions in the case where the web view is unparented. Additionally, avoid this work in the case where
the selection is not a range.

Test: AppHighlights.AvoidForcingCalloutBarInitialization

  • UIProcess/API/ios/WKWebViewIOS.mm:

(-[WKWebView didMoveToWindow]):

Call -setUpAppHighlightMenusIfNeeded to ensure that we still add app highlight menu items in the case where
we avoided it previously, due to the web view being unparented. Note that if we're being unparented (i.e.
self.window has just become nil), we will return early from -setUpAppHighlightMenusIfNeeded.

  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _selectionChanged]):
(-[WKContentView setUpAppHighlightMenusIfNeeded]):
(-[WKContentView setUpAppHighlightMenus]): Deleted.

Rename setUpAppHighlightMenus to setUpAppHighlightMenusIfNeeded, and declare it in the header so that we
can call into it from -didMoveToWindow above.

Tools:

Add an API test to verify that we don't attempt to initialize the platform callout bar.

  • TestWebKitAPI/Tests/WebKitCocoa/WKAppHighlights.mm:
12:32 PM Changeset in webkit [274057] by Said Abou-Hallawa
  • 6 edits in trunk

[GPU Process] Recording transparency layer should reset the alpha of lastDrawingState
https://bugs.webkit.org/show_bug.cgi?id=222855

Reviewed by Simon Fraser.

Source/WebCore:

After appending BeginTransparencyLayer item, the alpha of lastDrawingState
should be reset. So any subsequent setAlpha() should be accumulated even
if the new alpha equals to the last alpha which was set in lastDrawingState.

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::beginTransparencyLayer):
(WebCore::GraphicsContext::endTransparencyLayer):

  • platform/graphics/displaylists/DisplayListRecorder.cpp:

(WebCore::DisplayList::Recorder::beginTransparencyLayer):
(WebCore::DisplayList::Recorder::endTransparencyLayer):

  • platform/graphics/displaylists/DisplayListRecorder.h:

(WebCore::DisplayList::Recorder::ContextState::cloneForTransparencyLayer const):

LayoutTests:

  • gpu-process/TestExpectations:
12:26 PM Changeset in webkit [274056] by graouts@webkit.org
  • 2 edits in trunk/LayoutTests

[Mojave] webanimations/accelerated-transform-related-animation-property-order.html is failing
https://bugs.webkit.org/show_bug.cgi?id=220018

Reviewed by Sam Weinig.

Mojave is no longer supported on ToT and this test has been passing reliably on the bots.

  • platform/mac-wk2/TestExpectations:
12:16 PM Changeset in webkit [274055] by graouts@webkit.org
  • 8 edits in trunk

Correctly handle "auto" values when blending z-index
https://bugs.webkit.org/show_bug.cgi?id=222870

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Add an extra 72 PASS results. We now pass all the z-index interpolation tests.

Another test has new failures, but this is expected, this test behaves the same way
across Firefox and Chrome as well.

  • web-platform-tests/css/css-transitions/animations/z-index-interpolation-expected.txt:
  • web-platform-tests/css/css-transitions/properties-value-auto-001-expected.txt:

Source/WebCore:

Create a dedicated wrapper for z-index such that we can handle "auto" values
instead of just blending an int.

  • animation/CSSPropertyAnimation.cpp:

(WebCore::ZIndexPropertyWrapper::ZIndexPropertyWrapper):
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

LayoutTests:

Fix the test animations/stacking-context-unchanged-while-running.html which made the
wrong assumption about blending of z-index with auto values. We now make this test
expect an "auto" value and update the helper to know how to deal with "auto" values
for "z-index".

  • animations/resources/animation-test-helpers.js:

(getPropertyValue):
(comparePropertyValue):

  • animations/stacking-context-unchanged-while-running.html:
11:50 AM Changeset in webkit [274054] by commit-queue@webkit.org
  • 5 edits in trunk

Use counters for pending events
https://bugs.webkit.org/show_bug.cgi?id=218556

Patch by Rob Buis <rbuis@igalia.com> on 2021-03-07
Reviewed by Ryosuke Niwa.

Source/WebCore:

Use counters for pending events instead of flags since
it is allowed to schedule multiple events:
https://html.spec.whatwg.org/multipage/images.html#update-the-image-data

  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::ImageLoader):
(WebCore::ImageLoader::~ImageLoader):
(WebCore::ImageLoader::clearImageWithoutConsideringPendingLoadEvent):
(WebCore::ImageLoader::updateFromElement):
(WebCore::ImageLoader::notifyFinished):
(WebCore::ImageLoader::updatedHasPendingEvent):
(WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
(WebCore::ImageLoader::dispatchPendingLoadEvent):
(WebCore::ImageLoader::dispatchPendingErrorEvent):

  • loader/ImageLoader.h:

(WebCore::ImageLoader::hasPendingBeforeLoadEvent const):
(WebCore::ImageLoader::hasPendingActivity const):

LayoutTests:

The onerror can be called multiple times, after the first call
container will have no parent, so protect against that in
subsequent calls.

  • fast/dom/modify-node-and-while-in-the-callback-too-crash.html:
10:16 AM Changeset in webkit [274053] by weinig@apple.com
  • 6 edits in trunk/Source

Move new color(), lab() and lch() color functions behind runtime settings.
https://bugs.webkit.org/show_bug.cgi?id=222869

Reviewed by Simon Fraser.

Source/WebCore:

Add checking for new experimental feature flag for the new CSS Color 4 color types.

As the flag is on by default, there is no change in behavior. This is just to allow
ports to disable the feature if they need to.

  • css/parser/CSSParserContext.cpp:

(WebCore::operator==):

  • css/parser/CSSParserContext.h:

(WebCore::CSSParserContextHash::hash):

  • css/parser/CSSPropertyParserHelpers.cpp:

(WebCore::CSSPropertyParserHelpers::parseHWBParameters):
(WebCore::CSSPropertyParserHelpers::parseLabParameters):
(WebCore::CSSPropertyParserHelpers::parseLCHParameters):
(WebCore::CSSPropertyParserHelpers::parseColorFunctionForRGBTypes):
(WebCore::CSSPropertyParserHelpers::parseColorFunctionForLabParameters):
(WebCore::CSSPropertyParserHelpers::parseColorFunctionForXYZParameters):
(WebCore::CSSPropertyParserHelpers::parseColorFunctionParameters):
(WebCore::CSSPropertyParserHelpers::parseColorFunction):

Source/WTF:

  • Scripts/Preferences/WebPreferencesExperimental.yaml:

Add experimental feature flag for the new CSS Color 4 color types.

9:41 AM Changeset in webkit [274052] by weinig@apple.com
  • 4 edits in trunk/Tools

Transition Cocoa DumpRenderTree to allow any preference keys, not just hard coded supported ones
https://bugs.webkit.org/show_bug.cgi?id=222868

Reviewed by Simon Fraser.

This allows any preference key in a WebPreference*.yaml to be used for Cocoa WebKitLegacy
tests in the comment header command, just like WebKitTestRunner.

  • DumpRenderTree/TestOptions.cpp:

(WTR::TestOptions::defaults):
Update defaults to only the default values that don't match
defaults in WebPreference*.yaml files and experimental features
that are not supported in but still declare support in the file.

  • DumpRenderTree/TestRunner.h:

Remove unimplemented function declaration.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(setWebPreferencesForTestOptions):
(setDefaultsToConsistentValuesForTesting):
(prepareConsistentTestingEnvironment):
(resetWebPreferencesToConsistentValues): Deleted.
(webPreferenceFeatureValue): Deleted.
Replace most explicit reseting with the combination of _resetForTesting, automatic
enabling experimental features, and use of _set<type>PreferenceForTestingWithValue
from TestOptions.

Note: See TracTimeline for information about the timeline view.