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

Timeline



Mar 16, 2021:

11:02 PM Changeset in webkit [274552] by Ross Kirsling
  • 20 edits
    1 add in trunk

[JSC] Implement Error#cause
https://bugs.webkit.org/show_bug.cgi?id=223302

Reviewed by Yusuke Suzuki.

JSTests:

Add tests. test262 doesn't currently have any, but the spec is exceedingly simple anyway.

  • stress/error-cause.js: Added.

Source/JavaScriptCore:

This patch implements the Error.prototype.cause proposal, which reached Stage 3 at last week's TC39 meeting:
https://github.com/tc39/proposal-error-cause

This very simple proposal allows to one reference the "error that caused this one" in a cascading scenario.
It does so by adding an options bag parameter to the Error, _NativeError_, and AggregateError constructors.
If it is an object with a cause property, the property will be used; if not, nothing happens at all.

  • API/JSObjectRef.cpp:

(JSObjectMakeError):

  • runtime/AggregateError.cpp:

(JSC::AggregateError::finishCreation):
(JSC::AggregateError::create):

  • runtime/AggregateError.h:
  • runtime/AggregateErrorConstructor.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):

  • runtime/CommonIdentifiers.h:
  • runtime/Error.cpp:

(JSC::createError):
(JSC::createEvalError):
(JSC::createRangeError):
(JSC::createReferenceError):
(JSC::createSyntaxError):
(JSC::createTypeError):
(JSC::createURIError):
(JSC::createGetterTypeError):

  • runtime/ErrorConstructor.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):

  • runtime/ErrorInstance.cpp:

(JSC::ErrorInstance::create):
(JSC::ErrorInstance::finishCreation):

  • runtime/ErrorInstance.h:

(JSC::ErrorInstance::create):

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):

  • runtime/NativeErrorConstructor.cpp:

(JSC::NativeErrorConstructor<errorType>::constructImpl):
(JSC::NativeErrorConstructor<errorType>::callImpl):

  • runtime/NullSetterFunction.cpp:

(JSC::NullSetterFunctionInternal::JSC_DEFINE_HOST_FUNCTION):

  • wasm/js/JSWebAssemblyCompileError.cpp:

(JSC::JSWebAssemblyCompileError::create):

  • wasm/js/JSWebAssemblyLinkError.cpp:

(JSC::JSWebAssemblyLinkError::create):

  • wasm/js/JSWebAssemblyRuntimeError.cpp:

(JSC::JSWebAssemblyRuntimeError::create):

  • wasm/js/WebAssemblyCompileErrorConstructor.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):

  • wasm/js/WebAssemblyLinkErrorConstructor.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):

  • wasm/js/WebAssemblyRuntimeErrorConstructor.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):

9:22 PM Changeset in webkit [274551] by Peng Liu
  • 3 edits in trunk/Source/WebCore

document pictureInPictureElement is null if you Enter Picture in Picture from contextual menu
https://bugs.webkit.org/show_bug.cgi?id=223125

Reviewed by Darin Adler.

Use HTMLVideoElement's functions to change video presentation mode to ensure that
document.pictureInPictureElement is updated properly and correct events are fired.

Covered by manual tests.

  • html/HTMLVideoElement.cpp:
  • rendering/HitTestResult.cpp:

(WebCore::HitTestResult::enterFullscreenForVideo const):
(WebCore::HitTestResult::toggleEnhancedFullscreenForVideo const):

9:15 PM Changeset in webkit [274550] by Lauro Moura
  • 5 edits
    5 adds in trunk/LayoutTests

[GLIB] Gardening some consistent WPE failures and GTK4 crashes

Unreviewed test gardening.

  • platform/glib/TestExpectations:
  • platform/glib/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent.https-expected.txt: Rebaselined after r274167.
  • platform/gtk/imported/w3c/web-platform-tests/dom/slot-recalc-expected.txt: Added. Needed after r274167.
  • platform/gtk4/TestExpectations:
  • platform/wpe/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt: Rebaselined. Needed after somewhere between r273067 (last good) and r273071 (first bad).
  • platform/wpe/imported/w3c/web-platform-tests/css/selectors/focus-visible-003-expected.txt: Added. WPE does not support color popup yet.
  • platform/wpe/imported/w3c/web-platform-tests/css/selectors/focus-visible-004-expected.txt: Ditto.
  • platform/wpe/imported/w3c/web-platform-tests/dom/slot-recalc-expected.txt: Added. Needed fater r274167.
8:41 PM Changeset in webkit [274549] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[GLIB] Unreviewed test gardening. Update test expectations after r273539.

  • platform/glib/TestExpectations:
7:34 PM Changeset in webkit [274548] by Russell Epstein
  • 1 copy in tags/Safari-611.1.21.2.3

Tag Safari-611.1.21.2.3.

7:15 PM Changeset in webkit [274547] by commit-queue@webkit.org
  • 55 edits
    4 adds in trunk/Source/ThirdParty/ANGLE

Regressions from ANGLE Metal enablement
https://bugs.webkit.org/show_bug.cgi?id=222239

This patch addressed several large bits of funcitonality that was missing from the original patch.
1) Introduce support for UBO's. This patch adds a DEQP-conformant implementation for UBO structs. This includes changes to the translator,

Patch by Kyle Piddington <Kyle Piddington> on 2021-03-16

7:12 PM Changeset in webkit [274546] by commit-queue@webkit.org
  • 9 edits
    1 copy
    1 add in trunk/Source/WebCore

Add CSSValuePair.h in preparation for Pair.h refactor
https://bugs.webkit.org/show_bug.cgi?id=223205

Patch by Tyler Wilcock <Tyler Wilcock> on 2021-03-16
Reviewed by Simon Fraser.

Add new CSSValuePair class, which is intended to replace Pair.h.
Pair.h has some problems, namely:

  1. It's not a sub-class of CSSValue, making it awkward to use.
  2. It can only contain CSSPrimitiveValues.

CSSValuePair will fix both of these shortcomings.

  • Sources.txt:

Add CSSValuePair.cpp.

  • css/CSSValue.cpp:

(WebCore::CSSValue::cssText const):
Handle new ValuePairClass value.
(WebCore::CSSValue::separatorCssText const):
Added.
(WebCore::CSSValue::destroy):
Handle new ValuePairClass value.

  • css/CSSValue.h:

(WebCore::CSSValue::isValuePair const):
Added.
(WebCore::CSSValue::CSSValue):
Add new ValuePairClass value. Rename m_valueListSeparator to m_valueSeparator,
ValueListSeparator to ValueSeparator, and
ValueListSeparatorBits to ValueSeparatorBits.

  • css/CSSValueList.cpp:

(WebCore::CSSValueList::CSSValueList):
(WebCore::CSSValueList::copy):
(WebCore::CSSValueList::customCSSText const):
Refactor to use new separatorCssText() function.
(WebCore::CSSValueList::equals const):
Rename m_valueListSeparator to m_valueSeparator,
ValueListSeparator to ValueSeparator, and
ValueListSeparatorBits to ValueSeparatorBits.

  • css/CSSValueList.h:

(WebCore::CSSValueList::separator const):
Rename m_valueListSeparator to m_valueSeparator.

  • css/CSSValuePair.cpp:

(WebCore::CSSValuePair::customCSSText const):
(WebCore::CSSValuePair::equals const):
Added.

  • css/CSSValuePair.h:

(WebCore::CSSValuePair::create):
(WebCore::CSSValuePair::first const):
(WebCore::CSSValuePair::second const):
(WebCore::CSSValuePair::CSSValuePair):
Added.

  • css/DeprecatedCSSOMValue.h:
  • css/DeprecatedCSSOMValueList.cpp:

(WebCore::DeprecatedCSSOMValueList::cssText const):

  • css/DeprecatedCSSOMValueList.h:

(WebCore::DeprecatedCSSOMValueList::DeprecatedCSSOMValueList):
Rename m_valueListSeparator to m_valueSeparator,
ValueListSeparator to ValueSeparator, and
ValueListSeparatorBits to ValueSeparatorBits.

6:27 PM Changeset in webkit [274545] by Robert Jenner
  • 2 edits in trunk/LayoutTests

[ macOS wk2 ] media/media-fullscreen-return-to-inline.html is a flakey text failure and flakey timeout
https://bugs.webkit.org/show_bug.cgi?id=223293

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations: Updating test expectations to Pass Failure Timeout while test is being reviewed.
6:02 PM Changeset in webkit [274544] by Robert Jenner
  • 2 edits in trunk/LayoutTests

[ macOS wk2 ARM64 ] fast/table/multiple-captions-crash4.htmlis a flakey Image failure
https://bugs.webkit.org/show_bug.cgi?id=223292

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations: Updating test results to PASS IMAGEONLYFAILURE while test is being reviewed.
5:54 PM Changeset in webkit [274543] by wilander@apple.com
  • 2 edits in trunk/Tools

PCM: Use adoptWK in TestInvocation::didReceiveSynchronousMessageFromInjectedBundle()'s handling of "SetPrivateClickMeasurementAttributionReportURLsForTesting"
https://bugs.webkit.org/show_bug.cgi?id=223286
<rdar://problem/75498336>

Reviewed by Darin Adler.

See Darin's initial comment here: https://bugs.webkit.org/show_bug.cgi?id=223238#c9

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):

5:53 PM Changeset in webkit [274542] by Jonathan Bedard
  • 15 edits in trunk/Tools

[resultsdbpy] Save identifiers in commit table
https://bugs.webkit.org/show_bug.cgi?id=223101
<rdar://problem/75338338>

Reviewed by Dewei Zhu.

  • Scripts/libraries/resultsdbpy/resultsdbpy/init.py: Bump version.
  • Scripts/libraries/resultsdbpy/resultsdbpy/controller/commit_controller.py:

(CommitController.register): Accept uploaded new commit objects, continue to return old-style commits.

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

(UploadController.upload): Register commits using the fast path when uploading results.

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

(UploadControllerTest.test_process): Mock safari and WebKit when processing results.
(UploadControllerTest.test_process_commit): Ditto.

  • Scripts/libraries/resultsdbpy/resultsdbpy/model/commit_context.py:

(CommitContext.CommitModelMk2): Add new style commit model base.
(CommitContext.CommitByRef): Sort commits by hash, revision and identifier references.
(CommitContext.CommitByUuidAscendingMk2): New commit style UUID table.
(CommitContext.CommitByUuidDescendingMk2): Ditto.
(CommitContext.init): Create new tables.
(CommitContext.find_commits_by_ref): Search for commits in the new ref table.
(CommitContext.register): Post-process commits to populate identifier field.
(CommitContext.register_commit): Only register new-style commits.
(CommitContext.register_partial_commit): Register new-style commits, allow caller to opt-out of expensive
Identifier computation.
(CommitContext.url): Accept old and new style commits.
(CommitContext.register_commit_with_repo_and_id): Deleted.

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

(CommitContextTest.add_all_commits_to_database): Update commit registration call.
(CommitContextTest.test_commit_from_stash_repo): Ditto.
(CommitContextTest.test_commit_from_svn_repo): Ditto.

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

(MockModelFactory.create): Update commit registration call.

  • Scripts/libraries/resultsdbpy/resultsdbpy/model/model.py:

(Model.init): commit_context may now post-process uploads.

  • Scripts/libraries/resultsdbpy/resultsdbpy/model/repository.py:

(Repository.commit): Add call to return new-style commits.
(StashRepository.commit): Ditto.
(WebKitRepository.commit): Ditto.

  • Scripts/libraries/resultsdbpy/resultsdbpy/model/repository_unittest.py:

(RepositoryTest.test_svn):
(RepositoryTest.test_ref_svn):
(RepositoryTest.test_stash):
(RepositoryTest.test_ref_stash):
(RepositoryTest.test_colliding_timestamps_stash):
(RepositoryTest.test_branch_stash):
(RepositoryTest.test_branch_svn): Deleted.

  • Scripts/libraries/resultsdbpy/resultsdbpy/model/upload_context_unittest.py:

(UploadContextTest.test_callback):
(UploadContextTest.test_async_callback):

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

(Commit): Handle single email passed to contributor.

5:52 PM Changeset in webkit [274541] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Avoid heap allocation under AudioSummingJunction::updateRenderingState()
https://bugs.webkit.org/show_bug.cgi?id=223230

Reviewed by Darin Adler.

Avoid heap allocation under AudioSummingJunction::updateRenderingState()
since this runs on the audio thread.

  • Modules/webaudio/AudioSummingJunction.cpp:

(WebCore::AudioSummingJunction::addOutput):
(WebCore::AudioSummingJunction::removeOutput):
(WebCore::AudioSummingJunction::updateRenderingState):

  • Modules/webaudio/AudioSummingJunction.h:
5:37 PM Changeset in webkit [274540] by Robert Jenner
  • 2 edits in trunk/LayoutTests

[ macOS wk2 ARM 64 ] 2 accessibility/mac/value-change/ layout-tests are flakey text failures
https://bugs.webkit.org/show_bug.cgi?id=223291

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations: Updating test expectations as PASS/FAILURE until test can be reviewed.
5:23 PM Changeset in webkit [274539] by sbarati@apple.com
  • 3 edits
    1 add in trunk

Object allocation sinking phase should prioritize materializations with no dependencies before materializations with no reverse dependencies
https://bugs.webkit.org/show_bug.cgi?id=221069
<rdar://problem/73686589>

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/allocation-sinking-scope-materialization-order.js: Added.

(var3.var2.x):
(var3):

Source/JavaScriptCore:

Suppose we have two scope objects, A and B. Let's say A points to B, so B is
A's parent scope. A then depends on B. B has no dependencies here. When deciding
an order to materialize scope objects, we should always do it in reverse dependency
order. So above, we should materialize B, then A.

Inside object allocation sinking phase, when at an object materialization
site, we do track both dependencies and reverse dependencies. In the above
object graph, we'd attempt to materialize the objects in the right order,
always picking things with no dependencies first (and updating the list of
dependencies as we materialzed objects).

The code was using an std::list to track things to materialize, and it had
notions for materializing something first, and materializing something last.
However, there was a bug in how the code managed to insert things when
it first inserted last followed by inserting first. This patch simplifies
the code and makes it do the right thing.

  • dfg/DFGObjectAllocationSinkingPhase.cpp:
5:10 PM Changeset in webkit [274538] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Fixed undefined behavior bug in Const32Value::checkNegConstant().
https://bugs.webkit.org/show_bug.cgi?id=223284

Reviewed by Darin Adler.

This was causing a failure in testb3 on a release build.
Also do the same for Const64Value::checkNegConstant().

  • b3/B3Const32Value.cpp:

(JSC::B3::Const32Value::checkNegConstant const):

  • b3/B3Const64Value.cpp:

(JSC::B3::Const64Value::checkNegConstant const):

5:08 PM Changeset in webkit [274537] by Alan Coon
  • 1 copy in tags/Safari-611.1.21.1.11

Tag Safari-611.1.21.1.11.

5:03 PM Changeset in webkit [274536] by Alan Coon
  • 2 edits in branches/safari-611.1.21.1-branch/Source/WebKit

Cherry-pick r274504. rdar://problem/75482851

The WebContent process crashes when launching Safari
https://bugs.webkit.org/show_bug.cgi?id=223264
<rdar://75482851>

Reviewed by Brent Fulgham.

The WebContent process crashes when launching Safari on older OSes, because of unavailable sandbox features.

  • WebProcess/com.apple.WebProcess.sb.in:

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

4:54 PM Changeset in webkit [274535] by Alan Coon
  • 1 copy in tags/Safari-611.1.21.0.7

Tag Safari-611.1.21.0.7.

4:52 PM Changeset in webkit [274534] by Alan Coon
  • 8 edits in branches/safari-611.1.21.1-branch/Source

Versioning.

WebKit-7611.1.21.1.11

4:49 PM Changeset in webkit [274533] by Alan Coon
  • 1 copy in tags/Safari-611.1.21.1.10

Tag Safari-611.1.21.1.10.

4:39 PM Changeset in webkit [274532] by mmaxfield@apple.com
  • 5 edits
    4 adds in trunk

<img> isn't able to render RTL text correctly in ALT text
https://bugs.webkit.org/show_bug.cgi?id=221833
<rdar://problem/74530491>

Reviewed by Zalan Bujtas.

Source/WebCore:

Simply use the text drawing routine that handles bidi.

Test: fast/text/image-alt-text-bidi.html

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::paintReplaced):

LayoutTests:

  • platform/ios/TestExpectations:
  • platform/mac/TestExpectations:
  • fast/text/image-alt-text-bidi-2-expected.html: Added.
  • fast/text/image-alt-text-bidi-2.html: Added.
  • fast/text/image-alt-text-bidi-expected.html: Added.
  • fast/text/image-alt-text-bidi.html: Added.
4:05 PM Changeset in webkit [274531] by mmaxfield@apple.com
  • 3 edits in trunk/Source/WebCore

Be more restrictive about when canvas2d is allowed to update style
https://bugs.webkit.org/show_bug.cgi?id=222896

Reviewed by Ryosuke Niwa.

We can use the RAII class ScriptDisallowedScope::InMainThread to enforce places where
script is allowed to be run.

This is just a cleanup/clarity patch.

No new tests because there is no behavior change.

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::setFont):
(WebCore::CanvasRenderingContext2D::setFontWithoutUpdatingStyle):
(WebCore::CanvasRenderingContext2D::toTextDirection const):
(WebCore::CanvasRenderingContext2D::measureText):
(WebCore::CanvasRenderingContext2D::fontProxy const):
(WebCore::CanvasRenderingContext2D::drawTextInternal):

  • html/canvas/CanvasRenderingContext2D.h:
4:02 PM Changeset in webkit [274530] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Unreviewed, reverting r274473.
https://bugs.webkit.org/show_bug.cgi?id=223287

Caused assertion failure in API tests

Reverted changeset:

"[iOS][FCR] Add pressed state for button-like controls"
https://bugs.webkit.org/show_bug.cgi?id=223208
https://trac.webkit.org/changeset/274473

4:02 PM Changeset in webkit [274529] by Alexey Shvayka
  • 2 edits in trunk/Source/WebCore

[WebIDL] Optimize convertRecord() to avoid double |key| lookup
https://bugs.webkit.org/show_bug.cgi?id=223219

Reviewed by Darin Adler.

This change replaces getOwnPropertyDescriptor() with more low-level API so
slot.isTaintedByOpaqueObject() can be leveraged to avoid the second |key|
lookup if it's unobservable, while still invoking Proxy's Get trap [1].

It's a common pattern used in JSC (see ObjectConstructor.cpp), which speeds up
convertRecord() by 20% (microbenchmark: 10 keys / 10k runs).

Also, this patch applies Geoffrey Garen's post-review feedback on r268852
by utilizing AddResult.

No new tests, no behavior change.

Test: imported/w3c/web-platform-tests/fetch/api/headers/headers-record.html

[1] https://heycam.github.io/webidl/#es-record (step 4.2.2)

  • bindings/js/JSDOMConvertRecord.h:
4:00 PM Changeset in webkit [274528] by Alexey Shvayka
  • 21 edits
    7 adds in trunk

Cache cross-origin methods / accessors of Window and Location per lexical global object
https://bugs.webkit.org/show_bug.cgi?id=222739

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

  • web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-function-caching-expected.txt: Added.
  • web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-function-caching.html: Added.
  • web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-function-common.js: Added.
  • web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-function-length-expected.txt: Added.
  • web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-function-length.html: Added.
  • web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-function-name-expected.txt: Added.
  • web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-function-name.html: Added.

Source/JavaScriptCore:

  1. Introduce WeakGCMap::ensureValue() to clean up JSObject::getOwnPropertyDescriptor() and avoid double hashing. It decorates HashMap::ensure() to guarantee non-null return value.
  2. Assert early that JSCustom{Getter,Setter}Function is created with non-null function pointer.
  3. Rename getCustom{Getter,Setter}Function() to align with newly-added JSDOMGlobalObject methods.
  • runtime/JSCustomGetterFunction.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):
(JSC::JSCustomGetterFunction::create):

  • runtime/JSCustomSetterFunction.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):
(JSC::JSCustomSetterFunction::create):

  • runtime/JSObject.cpp:

(JSC::createCustomGetterFunction):
(JSC::createCustomSetterFunction):
(JSC::JSObject::getOwnPropertyDescriptor):
(JSC::getCustomGetterFunction): Deleted.
(JSC::getCustomSetterFunction): Deleted.

  • runtime/Lookup.h:

(JSC::nonCachingStaticFunctionGetterImpl): Deleted.

  • runtime/WeakGCMap.h:

Source/WebCore:

For cross-origin methods / accessors, Window and Location objects return different JSFunction
instances on every Get. The intent was to ensure isolation by supplying different Realms with
different function objects. However, within the same callee Realm, this makes subsequent lookups
of a cross-origin method / accessor fail reference equality test, which is rather confusing:

crossOriginWindow.focus === crossOriginWindow.focus // => false

This patch implements CrossOriginPropertyDescriptorMap, bringing consistent function identity
and aligning WebKit with the spec [1], Blink, and Gecko. For convenience, cache maps are added to
JSDOMGlobalObject (to accommodate RemoteDOMWindow) and cover both Window and Location objects.

As a cache map key, a pair of lexical global object and raw function pointer is used, which guarantees
correctness even if Window and Location would expose cross-origin property of the same name.

This patch removes 9 custom getters, adds runtime lookup for "showModalDialog" (which is rare),
and removes [ForwardDeclareInHeader] extended attribute as it's now unused and non-trivial to generate.

Also, fixes cross-realm postMessage.length to equal 1 as per WebIDL.

[1] https://html.spec.whatwg.org/multipage/browsers.html#crossorigingetownpropertyhelper-(-o,-p-)

Tests: imported/w3c/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-function-caching.html

imported/w3c/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-function-length.html
imported/w3c/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-function-name.html

  • bindings/js/JSDOMGlobalObject.cpp:

(WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
(WebCore::JSDOMGlobalObject::createCrossOriginFunction):
(WebCore::JSDOMGlobalObject::createCrossOriginGetterSetter):

  • bindings/js/JSDOMGlobalObject.h:
  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess):
(WebCore::JSDOMWindow::getOwnPropertySlot):

  • bindings/js/JSLocationCustom.cpp:

(WebCore::getOwnPropertySlotCommon):
(WebCore::JSC_DEFINE_CUSTOM_GETTER): Deleted.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GenerateImplementation):

  • bindings/scripts/IDLAttributes.json:
  • page/DOMWindow.idl:
  • page/History.idl:
  • page/Location.idl:
  • page/RemoteDOMWindow.idl:

LayoutTests:

  • http/tests/navigation/process-swap-window-open-expected.txt:
  • http/tests/navigation/process-swap-window-open.html:
3:52 PM Changeset in webkit [274527] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Avoid heap allocation under AudioDestinationCocoa::render()
https://bugs.webkit.org/show_bug.cgi?id=223272

Reviewed by Sam Weinig.

In the common case where no AudioWorklet is used, AudioDestinationCocoa::render()
would unnecessarily create a WTF::Function to dispatch to the render thread, even
though we are already on the render thread. Constructing a WTF::Function does a
heap allocation so we really want to avoid constructing one on the high priority
audio thread.

In the AudioWorklet case, we still construct a WTF::Function for now. I will follow
up if I find a way to avoid it in this case too.

  • Modules/webaudio/DefaultAudioDestinationNode.cpp:

(WebCore::Function<void):

  • platform/audio/cocoa/AudioDestinationCocoa.cpp:

(WebCore::AudioDestinationCocoa::render):
(WebCore::AudioDestinationCocoa::renderOnRenderingTheadIfPlaying):

  • platform/audio/cocoa/AudioDestinationCocoa.h:
  • platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:

(webKitWebAudioSrcRenderIteration):

3:45 PM Changeset in webkit [274526] by commit-queue@webkit.org
  • 5 edits in trunk

ASSERTION FAILED: m_state == State::Committed in WebKit::FrameLoadState::didFailLoad()
https://bugs.webkit.org/show_bug.cgi?id=221783

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

Source/WebCore:

Don't attempt to update layout while in the FrameSelection constructor -
otherwise, we can break the order of operations of the loader.

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::FrameSelection):
(WebCore::FrameSelection::focusedOrActiveStateChanged):
(WebCore::FrameSelection::setCaretVisibility):

  • editing/FrameSelection.h:

(WebCore::FrameSelection::setCaretVisible):

LayoutTests:

Stop skipping loader/change-src-during-iframe-load-crash.html on Debug bots.

  • platform/wk2/TestExpectations:
3:43 PM Changeset in webkit [274525] by Robert Jenner
  • 2 edits in trunk/LayoutTests

REGRESSION (r274461): [ macOS wk1 ]fast/repaint/canvas-object-fit.html is flakey text failing
https://bugs.webkit.org/show_bug.cgi?id=223283

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations: Updating test expectations while test is being reviewed.
3:26 PM Changeset in webkit [274524] by Simon Fraser
  • 4 edits in trunk/LayoutTests

[BigSur arm64] compositing/z-order/rebuild-sibling-of-layer-with-foreground-layer.html is a flakey image failure
https://bugs.webkit.org/show_bug.cgi?id=223265

Unreviewed test gardening.

Attempt to make this test pass on AS by avoiding solid-color layers, forcing backing store
with &nbsp;. Also reduce the oddly long 1000ms timeout in the test.

  • compositing/z-order/rebuild-sibling-of-layer-with-foreground-layer-expected.html:
  • compositing/z-order/rebuild-sibling-of-layer-with-foreground-layer.html:
  • platform/mac/TestExpectations:
3:09 PM Changeset in webkit [274523] by Jonathan Bedard
  • 12 edits in trunk/Tools

[resultsdbpy] Allow user to change commit representation
https://bugs.webkit.org/show_bug.cgi?id=223215
<rdar://problem/75446602>

Reviewed by Dewei Zhu.

  • Scripts/libraries/resultsdbpy/resultsdbpy/init.py: Bump version.
  • Scripts/libraries/resultsdbpy/resultsdbpy/controller/api_routes.py:

(APIRoutes.init): Add commit representations endpoint.

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

(CommitController.representations): Add commit representations endpoint.

  • Scripts/libraries/resultsdbpy/resultsdbpy/model/repository.py:

(Repository.representations): Return prioritized commit representation.
(StashRepository.representations): Ditto.
(WebKitRepository.representations): Ditto.

  • Scripts/libraries/resultsdbpy/resultsdbpy/view/static/js/commit.js:

(Commit.prototype.label): Change the commit representation based on global settings.
(_CommitBank):
(_CommitBank.prototype.commitRepresentations): Check the commit representation cookie, then
the representation endpoint.
(_CommitBank.prototype.setCommitRepresentation): Set the commit representation cookie.

  • Scripts/libraries/resultsdbpy/resultsdbpy/view/static/js/drawer.js:

(CommitRepresentation): Drawer control allowing user to change commit representation for repositories.

  • Scripts/libraries/resultsdbpy/resultsdbpy/view/templates/commits.html: Add new control.
  • Scripts/libraries/resultsdbpy/resultsdbpy/view/templates/documentation.html: Ditto.
  • Scripts/libraries/resultsdbpy/resultsdbpy/view/templates/search.html: Ditto.
  • Scripts/libraries/resultsdbpy/resultsdbpy/view/templates/suite_results.html: Ditto.
  • Scripts/libraries/resultsdbpy/setup.py: Bump version.
2:58 PM Changeset in webkit [274522] by mark.lam@apple.com
  • 6 edits
    1 copy in trunk/Source/JavaScriptCore

Add a RootMarkReason printer and also add a few additional reasons.
https://bugs.webkit.org/show_bug.cgi?id=223263

Reviewed by Michael Saboff.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • heap/Heap.cpp:

(JSC::Heap::addCoreConstraints):

  • heap/HeapSnapshotBuilder.cpp:

(JSC::HeapSnapshotBuilder::json):
(JSC::rootTypeToString): Deleted.

  • heap/RootMarkReason.cpp: Added.

(JSC::rootMarkReasonDescription):
(WTF::printInternal):

  • heap/RootMarkReason.h:
2:57 PM Changeset in webkit [274521] by Devin Rousso
  • 85 edits
    8 copies
    4 moves
    4 adds
    11 deletes in trunk

[macOS] change for the language/subtitle tracks button to use an NSMenu instead of web content
https://bugs.webkit.org/show_bug.cgi?id=223239
<rdar://problem/75462340>

Reviewed by Eric Carlson.

Source/WebCore:

Tests: media/modern-media-controls/tracks-support/auto-text-track.html

media/modern-media-controls/tracks-support/captions-offset-with-controls-bar.html
media/modern-media-controls/tracks-support/click-track-in-contextmenu.html
media/modern-media-controls/tracks-support/hidden-tracks.html
media/modern-media-controls/tracks-support/no-tracks.html
media/modern-media-controls/tracks-support/off-text-track.html
media/modern-media-controls/tracks-support/show-contextmenu-then-double-click-on-tracks-button.html
media/modern-media-controls/tracks-support/text-track-selected-via-media-api.html

  • Modules/mediacontrols/MediaControlsHost.h:
  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsContextMenuProvider::create): Added.
(WebCore::MediaControlsContextMenuProvider::MediaControlsContextMenuProvider): Added.
(WebCore::MediaControlsContextMenuProvider::~MediaControlsContextMenuProvider): Added.
(WebCore::MediaControlsContextMenuProvider::populateContextMenu): Added.
(WebCore::MediaControlsContextMenuProvider::contextMenuItemSelected): Added.
(WebCore::MediaControlsContextMenuProvider::contextMenuCleared): Added.
(WebCore::MediaControlsContextMenuProvider::contextMenuContextType): Added.
(WebCore::MediaControlsContextMenuEventListener::create): Added.
(WebCore::MediaControlsContextMenuEventListener::operator== const): Added.
(WebCore::MediaControlsContextMenuEventListener::handleEvent): Added.
(WebCore::MediaControlsContextMenuEventListener::MediaControlsContextMenuEventListener): Added.
(WebCore::MediaControlsHost::showMediaControlsContextMenu):
Create platform-agnostic helper functions and types for creating submenus and menu items so
that this logic added for iOS can also be used for macOS.

  • page/ContextMenuContext.h:

(WebCore::ContextMenuContext::type const): Added.

  • page/ContextMenuContext.cpp:

(WebCore::ContextMenuContext::ContextMenuContext):
Move WebKit::ContextMenuContextData::Type to WebCore::ContextmenuContext::Type so that
it can be used in WebCore as well.

  • page/ContextMenuProvider.h:

(WebCore::ContextMenuProvider::contextMenuContextType): Added.

  • page/ContextMenuController.h:
  • page/ContextMenuController.cpp:

(WebCore::ContextMenuController::handleContextMenuEvent):
(WebCore::ContextMenuController::showContextMenu):
(WebCore::ContextMenuController::maybeCreateContextMenu):
Allow the ContextMenuProvider to further customize the ContextMenu that's created, such
as allowing the hit test to include UA shadow roots and controlling "Inspect Element".

  • platform/ContextMenuItem.h:
  • platform/ContextMenuItem.cpp:

(WebCore::ContextMenuItem::ContextMenuItem):
(WebCore::ContextMenuItem::setIndentationLevel): Added.
(WebCore::ContextMenuItem::indentationLevel const): Added.
Provide a way to eventually set the -[NSMenuItem setIndentationLevel:].

  • Modules/modern-media-controls/controls/tracks-panel.js: Removed.
  • Modules/modern-media-controls/controls/tracks-panel.css: Removed.
  • Modules/modern-media-controls/controls/background-click-delegate-notifier.js:

(BackgroundClickDelegateNotifier.prototype.handleEvent):

  • Modules/modern-media-controls/controls/macos-fullscreen-media-controls.css:

(.media-controls.mac.fullscreen):

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

(MediaControls.prototype.showTracksPanel): Deleted.
(MediaControls.prototype.hideTracksPanel): Deleted.

  • Modules/modern-media-controls/controls/media-controls.css:

(.media-controls.shows-tracks-panel > .controls-bar > *, .media-controls.shows-tracks-panel > button): Deleted.

  • Modules/modern-media-controls/media/tracks-support.js:

(TracksSupport.prototype.buttonWasPressed):
(TracksSupport.prototype.syncControl):
(TracksSupport.prototype._sortedTrackList):
(TracksSupport): Deleted.
(TracksSupport.prototype.tracksPanelNumberOfSections): Deleted.
(TracksSupport.prototype.tracksPanelTitleForSection): Deleted.
(TracksSupport.prototype.tracksPanelNumberOfTracksInSection): Deleted.
(TracksSupport.prototype.tracksPanelTitleForTrackInSection): Deleted.
(TracksSupport.prototype.tracksPanelIsTrackInSectionSelected): Deleted.
(TracksSupport.prototype.tracksPanelSelectionDidChange): Deleted.

  • Modules/modern-media-controls/js-files:

Remove everything related to TracksPanel now that macOS also uses a contextmenu.

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

(InlineMediaControls.prototype.layout):
(InlineMediaControls.prototype._rightContainerButtons):
(InlineMediaControls.prototype._droppableButtons):

  • Modules/modern-media-controls/controls/macos-fullscreen-media-controls.js:

(MacOSFullscreenMediaControls):
The OverflowButton should be the last right container button to be dropped.

  • Modules/modern-media-controls/media/media-controller.js:

(MediaController.prototype.showMediaControlsContextMenu):
Provide a way for callers to provide additional options.

  • page/MediaControlsContextMenuItem.h:

(WebCore::MediaControlsContextMenuItem::encode const):
(WebCore::MediaControlsContextMenuItem::decode):
Drive-by: Rename isChecked to checked to match ContextMenuItem.

  • Modules/modern-media-controls/controls/tracks-button.js:

(TracksButton.prototype.get contextMenuOptions):
Drive-by: Rename object keys for clarity.

  • page/ChromeClient.h:

Be more explicit with compiler flags.

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::mediaControlsScript):

  • Modules/modern-media-controls/images/macOS/Overflow.svg:

Rework this "..." icon to be ">>" to match similar icons elsewhere on macOS.

  • WebCore.xcodeproj/project.pbxproj:

Source/WebKit:

  • Shared/ContextMenuContextData.h:
  • Shared/ContextMenuContextData.cpp:

(WebKit::ContextMenuContextData::ContextMenuContextData):
Move WebKit::ContextMenuContextData::Type to WebCore::ContextmenuContext::Type so that
it can be used in WebCore as well.

  • Shared/WebContextMenuItemData.h:
  • Shared/WebContextMenuItemData.cpp:

(WebKit::WebContextMenuItemData::WebContextMenuItemData):
(WebKit::WebContextMenuItemData::core const):
(WebKit::WebContextMenuItemData::encode const):
(WebKit::WebContextMenuItemData::decode):
(WebKit::WebContextMenuItemData::indentationLevel const): Added.
Provide a way to eventually set the -[NSMenuItem setIndentationLevel:].

  • UIProcess/WebContextMenuProxy.h:
  • UIProcess/mac/WebContextMenuProxyMac.h:
  • UIProcess/mac/WebContextMenuProxyMac.mm:

(-[WKMenuDelegate initWithMenuProxy:]): Added.
(-[WKMenuDelegate menuWillOpen:]): Added.
(-[WKMenuDelegate menuDidClose:]): Added.
(WebKit::WebContextMenuProxyMac::getContextMenuItem):
(WebKit::WebContextMenuProxyMac::useContextMenuItems):
(WebKit::WebContextMenuProxyMac::platformMenu const): Added.
(WebKit::contentsOfContextMenuItem): Added.
(WebKit::WebContextMenuProxyMac::platformData const): Added.
Add support for -[NSMenuItem setIndentationLevel:].

  • UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
  • UIProcess/API/Cocoa/WKWebViewTesting.mm:

(-[WKWebView _contentsOfUserInterfaceItem:]):
(-[WKWebView _didShowContextMenu]): Added.
(-[WKWebView _didDismissContextMenu]): Added.

  • UIProcess/API/ios/WKWebViewPrivateForTestingIOS.h:
  • UIProcess/API/ios/WKWebViewTestingIOS.mm:

(-[WKWebView _didShowContextMenu]): Deleted.
(-[WKWebView _didDismissContextMenu]): Deleted.
Move these methods so they can be used on macOS too.

  • UIProcess/PageClient.h:

(WebKit::PageClient::didShowContextMenu): Added.
(WebKit::PageClient::didDismissContextMenu): Added.

  • UIProcess/mac/PageClientImplMac.h:
  • UIProcess/mac/PageClientImplMac.mm:

(WebKit::PageClientImpl::didShowContextMenu): Added.
(WebKit::PageClientImpl::didDismissContextMenu): Added.
Add support for didShowContextMenu/didDismissContextMenu for tests.

  • UIProcess/API/mac/WKWebViewTestingMac.mm:

(-[WKWebView _activeMenu]):

  • UIProcess/Cocoa/WebPageProxyCocoa.mm:

(WebKit::WebPageProxy::contentsOfUserInterfaceItem): Added.

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::platformActiveContextMenu const): Added.
Add support for contentsOfUserInterfaceItem for tests.

  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.cpp:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:
  • UIProcess/ios/WKActionSheetAssistant.h:
  • UIProcess/ios/WKActionSheetAssistant.mm:
  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:
  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.cpp:

Be more explicit with compiler flags.

Source/WTF:

  • wtf/PlatformEnableCocoa.h:

Turn on ENABLE_MEDIA_CONTROLS_CONTEXT_MENUS for macOS.

Tools:

  • WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
  • WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:

(-[TestRunnerWKWebView _didShowContextMenu]):
(-[TestRunnerWKWebView _didDismissContextMenu]):
(-[TestRunnerWKWebView resetInteractionCallbacks]):

  • WebKitTestRunner/cocoa/UIScriptControllerCocoa.h:
  • WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:

(WTR::UIScriptControllerCocoa::setDidShowContextMenuCallback): Added.
(WTR::UIScriptControllerCocoa::setDidDismissContextMenuCallback): Added.
(WTR::UIScriptControllerCocoa::isShowingContextMenu const): Added.

  • WebKitTestRunner/ios/UIScriptControllerIOS.h:
  • WebKitTestRunner/ios/UIScriptControllerIOS.mm:

(WTR::UIScriptControllerIOS::setDidShowContextMenuCallback): Deleted.
(WTR::UIScriptControllerIOS::setDidDismissContextMenuCallback): Deleted.
(WTR::UIScriptControllerIOS::isShowingContextMenu const): Deleted.
Move these methods so they can be used on macOS too.

LayoutTests:

  • media/modern-media-controls/tracks-support/auto-text-track.html: Added.
  • media/modern-media-controls/tracks-support/auto-text-track-expected.txt: Added.
  • media/modern-media-controls/tracks-support/click-track-in-contextmenu.html: Added.
  • media/modern-media-controls/tracks-support/click-track-in-contextmenu-expected.txt: Added.
  • media/modern-media-controls/tracks-support/hidden-tracks.html: Added.
  • media/modern-media-controls/tracks-support/hidden-tracks-expected.txt: Added.
  • media/modern-media-controls/tracks-support/off-text-track.html: Added.
  • media/modern-media-controls/tracks-support/off-text-track-expected.txt: Added.
  • media/modern-media-controls/tracks-support/show-contextmenu-then-double-click-on-tracks-button.html: Added.
  • media/modern-media-controls/tracks-support/show-contextmenu-then-double-click-on-tracks-button-expected.txt: Added.
  • media/modern-media-controls/tracks-support/text-track-selected-via-media-api.html: Added.
  • media/modern-media-controls/tracks-support/text-track-selected-via-media-api-expected.txt: Added.
  • media/modern-media-controls/tracks-support/ios/tracks-support-auto-text-track.html: Removed.
  • media/modern-media-controls/tracks-support/ios/tracks-support-auto-text-track-expected.txt: Removed.
  • media/modern-media-controls/tracks-support/ios/tracks-support-click-track-in-contextmenu.html: Removed.
  • media/modern-media-controls/tracks-support/ios/tracks-support-click-track-in-contextmenu-expected.txt: Removed.
  • media/modern-media-controls/tracks-support/ios/tracks-support-hidden-tracks.html: Removed.
  • media/modern-media-controls/tracks-support/ios/tracks-support-hidden-tracks-expected.txt: Removed.
  • media/modern-media-controls/tracks-support/ios/tracks-support-off-text-track.html: Removed.
  • media/modern-media-controls/tracks-support/ios/tracks-support-off-text-track-expected.txt: Removed.
  • media/modern-media-controls/tracks-support/ios/tracks-support-show-contextmenu-then-double-click-on-tracks-button.html: Removed.
  • media/modern-media-controls/tracks-support/ios/tracks-support-show-contextmenu-then-double-click-on-tracks-button-expected.txt: Removed.
  • media/modern-media-controls/tracks-support/ios/tracks-support-text-track-selected-via-media-api.html: Removed.
  • media/modern-media-controls/tracks-support/ios/tracks-support-text-track-selected-via-media-api-expected.txt: Removed.

Move the iOS tracks support tests out of an iOS folder since macOS now also uses a contextmenu.

  • media/modern-media-controls/resources/media-controls-loader.js:
  • media/modern-media-controls/resources/media-controls-utils.js:

(showTracksPanel): Deleted.

  • media/modern-media-controls/media-controller/media-controller-click-on-video-background-to-dismiss-tracks-panel-should-not-toggle-playback.html: Removed.
  • media/modern-media-controls/media-controller/media-controller-click-on-video-background-to-dismiss-tracks-panel-should-not-toggle-playback-expected.txt: Removed.
  • media/modern-media-controls/tracks-panel/tracks-panel.html: Removed.
  • media/modern-media-controls/tracks-panel/tracks-panel-expected.txt: Removed.
  • media/modern-media-controls/tracks-panel/tracks-panel-controls-bar-remains-visible-after-clicking-over-it.html: Removed.
  • media/modern-media-controls/tracks-panel/tracks-panel-controls-bar-remains-visible-after-clicking-over-it-expected.txt: Removed.
  • media/modern-media-controls/tracks-panel/tracks-panel-hide.html: Removed.
  • media/modern-media-controls/tracks-panel/tracks-panel-hide-expected.txt: Removed.
  • media/modern-media-controls/tracks-panel/tracks-panel-hide-click-outside.html: Removed.
  • media/modern-media-controls/tracks-panel/tracks-panel-hide-click-outside-expected.txt: Removed.
  • media/modern-media-controls/tracks-panel/tracks-panel-hide-esc-key.html: Removed.
  • media/modern-media-controls/tracks-panel/tracks-panel-hide-esc-key-expected.txt: Removed.
  • media/modern-media-controls/tracks-panel/tracks-panel-population.html: Removed.
  • media/modern-media-controls/tracks-panel/tracks-panel-population-expected.txt: Removed.
  • media/modern-media-controls/tracks-panel/tracks-panel-position-and-size.html: Removed.
  • media/modern-media-controls/tracks-panel/tracks-panel-position-and-size-expected.txt: Removed.
  • media/modern-media-controls/tracks-panel/tracks-panel-prevent-controls-bar-from-fading.html: Removed.
  • media/modern-media-controls/tracks-panel/tracks-panel-prevent-controls-bar-from-fading-expected.txt: Removed.
  • media/modern-media-controls/tracks-panel/tracks-panel-prevent-default-on-keydown.html: Removed.
  • media/modern-media-controls/tracks-panel/tracks-panel-prevent-default-on-keydown-expected.txt: Removed.
  • media/modern-media-controls/tracks-panel/tracks-panel-right-x.html: Removed.
  • media/modern-media-controls/tracks-panel/tracks-panel-right-x-expected.txt: Removed.
  • media/modern-media-controls/tracks-panel/tracks-panel-select-track-with-keyboard.html: Removed.
  • media/modern-media-controls/tracks-panel/tracks-panel-select-track-with-keyboard-expected.txt: Removed.
  • media/modern-media-controls/tracks-panel/tracks-panel-select-track-with-mouse.html: Removed.
  • media/modern-media-controls/tracks-panel/tracks-panel-select-track-with-mouse-expected.txt: Removed.
  • media/modern-media-controls/tracks-panel/tracks-panel-up-click-outside-media-does-not-dimiss-media-controls-when-media-is-paused.html: Removed.
  • media/modern-media-controls/tracks-panel/tracks-panel-up-click-outside-media-does-not-dimiss-media-controls-when-media-is-paused-expected.txt: Removed.
  • media/modern-media-controls/tracks-panel/tracks-panel-up-click-over-media-does-not-dimiss-media-controls-when-media-is-playing.html: Removed.
  • media/modern-media-controls/tracks-panel/tracks-panel-up-click-over-media-does-not-dimiss-media-controls-when-media-is-playing-expected.txt: Removed.
  • media/modern-media-controls/tracks-support/mac/tracks-support-auto-text-track.html: Removed.
  • media/modern-media-controls/tracks-support/mac/tracks-support-auto-text-track-expected.txt: Removed.
  • media/modern-media-controls/tracks-support/mac/tracks-support-click-track-in-panel.html: Removed.
  • media/modern-media-controls/tracks-support/mac/tracks-support-click-track-in-panel-expected.txt: Removed.
  • media/modern-media-controls/tracks-support/mac/tracks-support-hidden-tracks.html: Removed.
  • media/modern-media-controls/tracks-support/mac/tracks-support-hidden-tracks-expected.txt: Removed.
  • media/modern-media-controls/tracks-support/mac/tracks-support-off-text-track.html: Removed.
  • media/modern-media-controls/tracks-support/mac/tracks-support-off-text-track-expected.txt: Removed.
  • media/modern-media-controls/tracks-support/mac/tracks-support-show-and-populate-panel.html: Removed.
  • media/modern-media-controls/tracks-support/mac/tracks-support-show-and-populate-panel-expected.txt: Removed.
  • media/modern-media-controls/tracks-support/mac/tracks-support-show-panel-after-dragging-controls.html: Removed.
  • media/modern-media-controls/tracks-support/mac/tracks-support-show-panel-after-dragging-controls-expected.txt: Removed.
  • media/modern-media-controls/tracks-support/mac/tracks-support-show-panel-fullscreen.html: Removed.
  • media/modern-media-controls/tracks-support/mac/tracks-support-show-panel-fullscreen-expected.txt: Removed.
  • media/modern-media-controls/tracks-support/mac/tracks-support-show-panel-then-double-click-on-tracks-button.html: Removed.
  • media/modern-media-controls/tracks-support/mac/tracks-support-show-panel-then-double-click-on-tracks-button-expected.txt: Removed.
  • media/modern-media-controls/tracks-support/mac/tracks-support-text-track-selected-via-media-api.html: Removed.
  • media/modern-media-controls/tracks-support/mac/tracks-support-text-track-selected-via-media-api-expected.txt: Removed.

Remove everything related to TracksPanel now that macOS also uses a contextmenu.

  • media/modern-media-controls/tracks-support/captions-offset-with-controls-bar.html: Renamed from LayoutTests/media/modern-media-controls/tracks-support/tracks-support-captions-offset-with-controls-bar.html.
  • media/modern-media-controls/tracks-support/captions-offset-with-controls-bar-expected.txt: Renamed from LayoutTests/media/modern-media-controls/tracks-support/tracks-support-captions-offset-with-controls-bar-expected.txt.
  • media/modern-media-controls/tracks-support/no-tracks.html: Renamed from LayoutTests/media/modern-media-controls/tracks-support/tracks-support-no-tracks.html.
  • media/modern-media-controls/tracks-support/no-tracks-expected.txt: Renamed from LayoutTests/media/modern-media-controls/tracks-support/tracks-support-no-tracks-expected.txt.

Renamed these tests to remove the redundant "tracks-support".

  • media/modern-media-controls/tracks-support/tracks-support-audio-tracks.html: Removed.
  • media/modern-media-controls/tracks-support/tracks-support-audio-tracks-expected.txt: Removed.
  • media/modern-media-controls/tracks-support/tracks-support-text-tracks.html: Removed.
  • media/modern-media-controls/tracks-support/tracks-support-text-tracks-expected.txt: Removed.

These tests are covered by the other added/renamed tests above.

  • media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles.html:
  • media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles-expected.txt:
  • media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-styles.html:
  • media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-styles-expected.txt:
  • media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-constructor.html:
  • media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-constructor-expected.txt:
  • media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-right-container-margin.html:
  • media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-right-container-margin-expected.txt:
  • media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-placard.html:
  • media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-volume-slider-visibility.html:
  • media/modern-media-controls/macos-inline-media-controls/macos-inline-media-dropping-controls-expected.txt:
  • media/modern-media-controls/macos-inline-media-controls/macos-inline-media-shows-start-button.html:

Update existing tests to accomodate the OverflowButton.

  • resources/ui-helper.js:

(window.UIHelper.chooseMenuAction): Added.
(window.UIHelper.async chooseMenuAction): Deleted.
Use UIScriptController.prototype.chooseMenuAction instead of a combination of
UIScriptController.prototype.rectForMenuAction and UIScriptController.prototype.activateAt
since UIScriptController::chooseMenuAction basically does that anyways.

  • TestExpectations:
  • platform/ios/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/mac-wk2/TestExpectations:
2:40 PM Changeset in webkit [274520] by Simon Fraser
  • 9 edits in trunk

Runtime-disabled CSS features still still appear enabled via two-arg CSS.supports()
https://bugs.webkit.org/show_bug.cgi?id=223141

Reviewed by Antti Koivisto.

Source/WebCore:

Fix the CSS.supports(property, value) entrypoint to check for runtime-disabled
CSS properties.

Move isPropertyRuntimeDisabled() to CSSParserContext, and call it from the
appropriate DOMCSSNamespace::supports() entrypoint.

Tested by fast/css/overscroll-behavior-invalidate-if-disabled.html

  • css/DOMCSSNamespace.cpp:

(WebCore::DOMCSSNamespace::supports):

  • css/parser/CSSParserContext.cpp:

(WebCore::CSSParserContext::isPropertyRuntimeDisabled const):

  • css/parser/CSSParserContext.h:
  • css/parser/CSSParserImpl.cpp:

(WebCore::CSSParserImpl::consumeDeclaration):
(WebCore::CSSParserImpl::isPropertyRuntimeDisabled const): Deleted.

  • css/parser/CSSParserImpl.h:

LayoutTests:

  • fast/css/overscroll-behavior-invalidate-if-disabled-expected.txt:
  • fast/css/overscroll-behavior-invalidate-if-disabled.html:
2:30 PM Changeset in webkit [274519] by Lauro Moura
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix Nicosia build without CSS_SCROLL_SNAP after r274495.

  • page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.cpp:

(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::handleWheelEvent):
Add feature guards.

2:27 PM Changeset in webkit [274518] by commit-queue@webkit.org
  • 3 edits
    1 move
    4 adds
    3 deletes in trunk

Make WebGL conformance test update script more usable and consistent
https://bugs.webkit.org/show_bug.cgi?id=223112

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-03-16
Reviewed by Kenneth Russell.

Tools:

Moves the script LayoutTests/webgl/generate-webgl-tests over
unused and stale Tools/Scripts/update-webgl-conformance-tests

Fixes the script to:

  • to support generation of the test driver .html files with webglVersion=2
  • copy the webgl conformance test files once to webgl/resources/webgl_test_files. Previously they were copied twice, 1.0.3/resources/.. and 2.0.0/resources
  • to support copying all the tests at the same time. Previously each individual suites (1.0.3, 2.0.0) would be copied in different invocations, leading to errors and omissions to run when something changes, such as the templates.
  • supports generation of the directories from scratch, so that no stale files such as expectations, driver .html files or test suite content is left.
  • automatically filter files that do not need to be copied (deqp/compiler.jar, ...)
  • try to adopt a style somewhat consistent with other WebKit python scripts
  • copy to upcoming 1.0.4 and 2.0.1 instead of old 1.0.3/2.0.0.
  • Scripts/update-webgl-conformance-tests:
  • Scripts/webkitpy/to_be_moved/init.py: Removed.
  • Scripts/webkitpy/to_be_moved/update_webgl_conformance_tests.py: Removed.
  • Scripts/webkitpy/to_be_moved/update_webgl_conformance_tests_unittest.py: Removed.
  • Scripts/webkitpy/update_webgl_conformance_tests_lib/main.py: Added.

(_make_ignore_fnmatch_rule_matcher):
(_make_ignore_fnmatch_rule_matcher.match_rules):
(_copy_tree):
(_WebGLTest):
(_parse_webgl_tests):
(_filter_webgl_test_paths_for_suite_version):
(_generate_webkit_webgl_tests):
(_find_expectations_for_removed_tests):
(main):

  • Scripts/webkitpy/update_webgl_conformance_tests_lib/webgl-expectation-template.txt: Renamed from LayoutTests/webgl/resources/webgl-expectation-template.txt.
  • Scripts/webkitpy/update_webgl_conformance_tests_lib/webgl-test-driver-template.html: Renamed from LayoutTests/webgl/resources/webgl-wrapper-template.html.
  • Scripts/webkitpy/update_webgl_conformance_tests_lib/webkit-webgl-test-harness-template.js: Added.

(window.layoutTestController.window.console.log):
(window.layoutTestController.window.console.error):
(list):
(log):
(window.webglTestHarness.reportResults):
(window.webglTestHarness.notifyFinished):

LayoutTests:

Move the script over the existing but unused Tools/Scripts/update-webgl-conformance-tests.

  • webgl/generate-webgl-tests: Removed.
2:21 PM Changeset in webkit [274517] by Amir Mark Jr.
  • 2 edits in trunk/LayoutTests

[BigSur arm64] compositing/z-order/rebuild-sibling-of-layer-with-foreground-layer.html is a flakey image failure
https://bugs.webkit.org/show_bug.cgi?id=223265

Unreviewed test gardening.

  • platform/mac/TestExpectations:
2:17 PM Changeset in webkit [274516] by Kate Cheney
  • 2 edits in trunk/Source/WebKit

[Swift] Ambiguous use of 'closeAllMediaPresentations'
https://bugs.webkit.org/show_bug.cgi?id=223275
<rdar://problem/75447989>

Reviewed by Tim Horton.

We added back deprecated media playback control APIs in
https://trac.webkit.org/changeset/273186/webkit after a name change
to support early adoptors. Importing these methods to Swift causes
a method redefinition error because the completion handler in both
cases is nullable. We should ignore the deprecated APIs for Swift.

  • UIProcess/API/Cocoa/WKWebView.h:
2:11 PM Changeset in webkit [274515] by Robert Jenner
  • 2 edits in trunk/LayoutTests

[ macOS debug arm64 ] ASSERTION FAILED: count >= 1 ./rendering/RenderMultiColumnSet.cpp(450) : unsigned int WebCore::RenderMultiColumnSet::columnCount() const
https://bugs.webkit.org/show_bug.cgi?id=223144

Unreviewed test gardening.

  • platform/mac/TestExpectations: updating expectations to crash while test is being reviewed.
2:01 PM Changeset in webkit [274514] by Robert Jenner
  • 2 edits in trunk/LayoutTests

[ BigSur wk2 arm64 ] 4 webrtc/ Layout-tests are consistently timing out
https://bugs.webkit.org/show_bug.cgi?id=223043

Uneviewed test gadening.

  • platform/mac/TestExpectations: Re-updating expectations for one test that started timing out when marked as Failure.
1:57 PM Changeset in webkit [274513] by wilander@apple.com
  • 31 edits in trunk

PCM: Test infrastructure for sending attribution reports to attribution website too
https://bugs.webkit.org/show_bug.cgi?id=223238
<rdar://problem/75462031>

Reviewed by Brent Fulgham.

setPrivateClickMeasurementAttributionReportURLForTesting() now is named
setPrivateClickMeasurementAttributionReportURLsForTesting() in the layers that
eventually reach WebKit::PrivateClickMeasurementManager. It takes two URLs
attributionReportSourceURL and attributionReportAttributeOnURL and sets them
in a new struct AttributionReportTestConfig.

Source/WebKit:

No new tests. This patch just adds test infrastructure for a coming patch.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::setPrivateClickMeasurementAttributionReportURLsForTesting):
(WebKit::NetworkProcess::setPrivateClickMeasurementAttributionReportURLForTesting): Deleted.

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

(WebKit::NetworkSession::setPrivateClickMeasurementAttributionReportURLsForTesting):
(WebKit::NetworkSession::setPrivateClickMeasurementAttributionReportURLForTesting): Deleted.

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

(WebKit::PrivateClickMeasurementManager::fireConversionRequestImpl):
(WebKit::PrivateClickMeasurementManager::setAttributionReportURLsForTesting):
(WebKit::PrivateClickMeasurementManager::setAttributionReportURLForTesting): Deleted.

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

(WKPageSetPrivateClickMeasurementAttributionReportURLsForTesting):
(WKPageSetPrivateClickMeasurementAttributionReportURLForTesting): Deleted.

  • UIProcess/API/C/WKPagePrivate.h:
  • UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
  • UIProcess/API/Cocoa/WKWebViewTesting.mm:

(-[WKWebView _setPrivateClickMeasurementAttributionReportURLsForTesting:attributeOnURL:completionHandler:]):
(-[WKWebView _setPrivateClickMeasurementAttributionReportURLForTesting:completionHandler:]): Deleted.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setPrivateClickMeasurementAttributionReportURLsForTesting):
(WebKit::WebPageProxy::setPrivateClickMeasurementAttributionReportURLForTesting): Deleted.

  • UIProcess/WebPageProxy.h:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:

(TestWebKitAPI::TEST):

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

(WTR::TestRunner::setPrivateClickMeasurementAttributionReportURLsForTesting):
(WTR::TestRunner::setPrivateClickMeasurementAttributionReportURLForTesting): Deleted.

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

(WTR::TestController::setPrivateClickMeasurementAttributionReportURLsForTesting):
(WTR::TestController::setPrivateClickMeasurementAttributionReportURLForTesting): Deleted.

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

(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):

LayoutTests:

  • http/tests/contentextensions/block-private-click-measurement.html:
  • http/tests/privateClickMeasurement/conversion-disabled-in-ephemeral-session.html:
  • http/tests/privateClickMeasurement/expired-attribution-report-gets-sent-on-session-start.html:
  • http/tests/privateClickMeasurement/resources/getConversionData.php:
  • http/tests/privateClickMeasurement/resources/util.js:

(tearDownAndFinish):

  • http/tests/privateClickMeasurement/send-attribution-conversion-request.html:
  • http/tests/privateClickMeasurement/store-private-click-measurement-with-source-nonce.html:
  • platform/mac-wk2/TestExpectations:

This was marked as an old flaky failure and tracked in rdar://63357481.
I've kept my eye on it and it does not seem flaky anymore. Removed failure
expectation to get better test coverage.

1:51 PM Changeset in webkit [274512] by Jonathan Bedard
  • 4 edits in trunk/Tools

[git-webkit] Showing help instead of raising an exception with no command
https://bugs.webkit.org/show_bug.cgi?id=223235
<rdar://problem/75480951>

Reviewed by Ryosuke Niwa.

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

(main):

1:50 PM Changeset in webkit [274511] by Truitt Savell
  • 2 edits in trunk/LayoutTests

Many media/media-fragments/ tests are crashing due to other tests that run before them.
https://bugs.webkit.org/show_bug.cgi?id=223277

Unreviewed test gardening.

  • platform/mac/TestExpectations:
1:39 PM Changeset in webkit [274510] by Alan Coon
  • 2 edits in branches/safari-611.1.21.1-branch/Source/WebCore/PAL

Cherry-pick r274023. rdar://problem/75052309

[Win] Fix compile error
https://bugs.webkit.org/show_bug.cgi?id=222802
<rdar://problem/75052309>

Reviewed by Dean Jackson.

Declare CTFontTransformOptions if associated header file has not been included.

  • pal/spi/win/CoreTextSPIWin.h:

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

1:05 PM Changeset in webkit [274509] by Patrick Angle
  • 2 edits in trunk/Source/WebCore

Web Automation: Web Share menu being open causes hang in Automation.isShowingJavaScriptDialog
https://bugs.webkit.org/show_bug.cgi?id=223267

Reviewed by BJ Burg.

The Web Share menu should automatically resolve if the page is being controlled by automation and all other
conditions for display are met (we have no reason to reject the promise) in order to prevent hanging an
automation session on a menu that can not be interacted with.

  • page/Navigator.cpp:

(WebCore::Navigator::showShareData):

12:47 PM Changeset in webkit [274508] by Robert Jenner
  • 3 edits in trunk/LayoutTests

[ macOS Debug ] 2 imported/w3c/web-platform-tests/xhr/ are flakey text failures
Nhttps://bugs.webkit.org/show_bug.cgi?id=223271

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations: Updated expectations to Pass Fail for BigSur Debug wk1.
  • platform/mac/TestExpectations: Updated expectations to Pass Fail for BigSur Debug.
12:10 PM Changeset in webkit [274507] by Robert Jenner
  • 2 edits in trunk/LayoutTests

[MacOS wk2] imported/w3c/web-platform-tests/media-source/SourceBuffer-abort-updating.html is a flakey failure
https://bugs.webkit.org/show_bug.cgi?id=222210

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations: Removing Debug filter from expectation to cover flakiness on EWS.
12:03 PM Changeset in webkit [274506] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKitLegacy/mac

Unreviewed, reverting r274499.
https://bugs.webkit.org/show_bug.cgi?id=223268

Not a correct fix

Reverted changeset:

"[WebView _touchEventRegions] needs to take the web lock"
https://bugs.webkit.org/show_bug.cgi?id=223266
https://trac.webkit.org/changeset/274499

12:02 PM Changeset in webkit [274505] by commit-queue@webkit.org
  • 3 edits
    1 move
    1 delete in trunk/JSTests

Unreviewed, reverting r274405.
https://bugs.webkit.org/show_bug.cgi?id=223187

Test is failing now

Reverted changeset:

"[JSC] Run one Mozilla test explicitly under PST since this
test does not work when we are moving from PST to PDT"
https://bugs.webkit.org/show_bug.cgi?id=223158
https://trac.webkit.org/changeset/274405

12:00 PM Changeset in webkit [274504] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

The WebContent process crashes when launching Safari
https://bugs.webkit.org/show_bug.cgi?id=223264
<rdar://75482851>

Reviewed by Brent Fulgham.

The WebContent process crashes when launching Safari on older OSes, because of unavailable sandbox features.

  • WebProcess/com.apple.WebProcess.sb.in:
11:46 AM Changeset in webkit [274503] by Alan Coon
  • 18 edits
    2 deletes in branches/safari-611.1.21.0-branch/Source/WebKit

Cherry-pick r274462. rdar://problem/75485320

Unreviewed, revert r272629 as it caused regressions in some apps
https://bugs.webkit.org/show_bug.cgi?id=223232
<rdar://75440378>

  • SourcesCocoa.txt:
  • UIProcess/API/Cocoa/WKWebView.mm:
  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/Cocoa/PageClientImplCocoa.h:
  • UIProcess/Cocoa/PageClientImplCocoa.mm:
  • UIProcess/Cocoa/WKBlankOverlayView.h: Removed.
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didCommitLoadForFrame): (WebKit::WebPageProxy::runJavaScriptAlert): (WebKit::WebPageProxy::runJavaScriptConfirm): (WebKit::WebPageProxy::runJavaScriptPrompt):
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::didCommitLayerTree):
  • UIProcess/mac/WebPageProxyMac.mm:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::didCommitLoad):
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: (WebKit::TiledCoreAnimationDrawingArea::updateRendering):
  • WebProcess/WebPage/mac/WebPageMac.mm:

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

11:46 AM Changeset in webkit [274502] by Alan Coon
  • 18 edits
    2 deletes in branches/safari-611.1.21.1-branch/Source/WebKit

Cherry-pick r274462. rdar://problem/75485338

Unreviewed, revert r272629 as it caused regressions in some apps
https://bugs.webkit.org/show_bug.cgi?id=223232
<rdar://75440378>

  • SourcesCocoa.txt:
  • UIProcess/API/Cocoa/WKWebView.mm:
  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/Cocoa/PageClientImplCocoa.h:
  • UIProcess/Cocoa/PageClientImplCocoa.mm:
  • UIProcess/Cocoa/WKBlankOverlayView.h: Removed.
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didCommitLoadForFrame): (WebKit::WebPageProxy::runJavaScriptAlert): (WebKit::WebPageProxy::runJavaScriptConfirm): (WebKit::WebPageProxy::runJavaScriptPrompt):
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::didCommitLayerTree):
  • UIProcess/mac/WebPageProxyMac.mm:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::didCommitLoad):
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: (WebKit::TiledCoreAnimationDrawingArea::updateRendering):
  • WebProcess/WebPage/mac/WebPageMac.mm:

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

11:44 AM Changeset in webkit [274501] by Megan Gardner
  • 4 edits in trunk/Source/WebCore

Attempt to restore highlights after paint to account for newly loaded content.
https://bugs.webkit.org/show_bug.cgi?id=223191
rdar://74722200

Reviewed by Tim Horton.

  • Modules/highlight/AppHighlightStorage.cpp:

(WebCore::AppHighlightStorage::restoreUnrestoredAppHighlights):

  • Modules/highlight/AppHighlightStorage.h:
  • page/Page.cpp:

(WebCore::Page::doAfterUpdateRendering):

11:39 AM Changeset in webkit [274500] by Antti Koivisto
  • 2 edits in trunk/Source/WebKitLegacy/mac

REGRESSION (r272300): [iOS] ASSERTION FAILED: Unsafe to ref/deref from different threads under WebViewLayerFlushScheduler::layerFlushCallback
https://bugs.webkit.org/show_bug.cgi?id=222712
<rdar://problem/75022845>

Reviewed by Simon Fraser.

We are scheduling a layer flush from a layerFlushCallback and so rescheduling the RunLoopObserver.
This is fine in itself but becomes a problem when the main thread web lock auto-unlock observer
runs before that observer. Then that layer flush runs without the web lock held and messes up
ref/deref main thread asserts (isMainThread() returns false when the web lock is not held).

  • WebView/WebViewData.mm:

(WebViewLayerFlushScheduler::layerFlushCallback):

Fix by explicitly taking the lock.

11:35 AM Changeset in webkit [274499] by Antti Koivisto
  • 2 edits in trunk/Source/WebKitLegacy/mac

[WebView _touchEventRegions] needs to take the web lock
https://bugs.webkit.org/show_bug.cgi?id=223266

Reviewed by Simon Fraser.

Clicking anything in UIWebView test app in debug build hits thread assert immediately.

  • WebView/WebView.mm:

(-[WebView _touchEventRegions]):

11:22 AM Changeset in webkit [274498] by Alan Coon
  • 1 copy in tags/Safari-612.1.6.3

Tag Safari-612.1.6.3.

11:12 AM Changeset in webkit [274497] by Alan Coon
  • 8 edits in branches/safari-612.1.6-branch/Source

Versioning.

WebKit-7612.1.6.3

11:08 AM Changeset in webkit [274496] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

EWS is not showing filtered errors view
https://bugs.webkit.org/show_bug.cgi?id=223251

Reviewed by Jonathan Bedard.

  • CISupport/ews-build/steps.py:

(BuildLogLineObserver.outLineReceived): Use for loop instead of map.

11:03 AM Changeset in webkit [274495] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[Nicosia] Add support for scroll-snap when handling wheel events
https://bugs.webkit.org/show_bug.cgi?id=223255

Patch by Martin Robinson <mrobinson@igalia.com> on 2021-03-16
Reviewed by Žan Doberšek.

No new tests. This fixes css3/scroll-snap/scroll-snap-wheel-event.html
for Nicosia ports.

  • page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.cpp:

(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::handleWheelEvent):
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::pageScaleFactor):

  • page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.h:
10:56 AM Changeset in webkit [274494] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

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

Reviewed by Jonathan Bedard.

  • CISupport/ews-build/steps_unittest.py:
10:55 AM Changeset in webkit [274493] by Peng Liu
  • 2 edits in trunk/LayoutTests

[GPUP] Some web audio WPT tests fail when media in GPU Process is enabled
https://bugs.webkit.org/show_bug.cgi?id=221696

Unreviewed test gardening.

  • platform/wk2/TestExpectations:
10:43 AM Changeset in webkit [274492] by Peng Liu
  • 2 edits in trunk/LayoutTests

[GPUP] Some modern-media-controls tests are flaky when media in GPU Process is enabled
https://bugs.webkit.org/show_bug.cgi?id=221685

Unreviewed test gardening.

  • platform/wk2/TestExpectations:
10:41 AM Changeset in webkit [274491] by achristensen@apple.com
  • 6 edits in trunk/Source

Terminate network process when making new WebProcessPool in Lutron App
https://bugs.webkit.org/show_bug.cgi?id=223194
<rdar://74674915>

Reviewed by Geoff Garen.

Source/WebCore:

  • platform/RuntimeApplicationChecks.h:
  • platform/cocoa/RuntimeApplicationChecksCocoa.mm:

(WebCore::IOSApplication::isLutron):

  • platform/cocoa/VersionChecks.h:

Source/WebKit:

The Lutron App uses allocation of a new WKProcessPool as a way to stop using old session cookies.
Since r267763 we keep the session cookies for the lifetime of a WKWebsiteDataStore instead of making a new process for each WKProcessPool.
Add a quirk for this app until they update to use a new WKWebsiteDataStore or use WKHTTPCookieStore API to clear the cookies properly.
I manually verified this causes the logging out to succeed.

  • UIProcess/WebProcessPool.cpp:
10:33 AM Changeset in webkit [274490] by Kate Cheney
  • 2 edits in trunk/Source/WebKit

Add internal additions for WebAuthn compatibility
https://bugs.webkit.org/show_bug.cgi?id=223168
<rdar://problem/74890060>

Reviewed by Brent Fulgham.

  • UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:

(shouldUseAlternateQuery):
(alternateQueryForRPID):
(WebKit::LocalAuthenticatorInternal::getExistingCredentials):

10:30 AM Changeset in webkit [274489] by Chris Gambrell
  • 2 edits
    1 add
    1 delete in trunk/LayoutTests

[LayoutTests] Convert http/tests/quicklook convert PHP to Python
https://bugs.webkit.org/show_bug.cgi?id=223212
<rdar://problem/75444850>

Reviewed by Jonathan Bedard.

  • http/tests/quicklook/csp-header-ignored.html:
  • http/tests/quicklook/resources/word-document-with-csp-block-frame-ancestors.php: Removed.
  • http/tests/quicklook/resources/word-document-with-csp-block-frame-ancestors.py: Added.
10:20 AM Changeset in webkit [274488] by Robert Jenner
  • 2 edits in trunk/LayoutTests

[ macOS ARM64 ] webgl/2.0.0/conformance2/textures/misc/tex-mipmap-levels.html is constantly text failing
https://bugs.webkit.org/show_bug.cgi?id=223259

Uneviewed test gardening.

  • platform/mac/TestExpectations: Updating expectations to Failure until test can be reviewed.
10:08 AM Changeset in webkit [274487] by Peng Liu
  • 2 edits in trunk/Source/WebKit

[iOS] Scroll event is fired before webkitfullscreenchange event when an element enters fullscreen
https://bugs.webkit.org/show_bug.cgi?id=223221

Reviewed by Eric Carlson.

Defer the "scroll" event until the "webkitfullscreenchange" event is fired
when an element enters fullscreen. We have to do that because some sites use
"scroll" event handler to remove elements out of visible area, which may
conflict with the entering fullscreen process.

No new tests. We cannot test this patch with a layout test because
InjectedBundlePageFullScreenClient in WKTR does not support testing the
fullscreen implementation in the UI process, which is related to the "scroll"
event. We cannot add an API test on iOS for it either because the test binary
is not a real "app" (webkit.org/b/212654).

  • UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:

(-[WKFullScreenWindowController enterFullScreen]):
(-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]):

9:57 AM Changeset in webkit [274486] by pvollan@apple.com
  • 6 edits in trunk

Add signpost for injected bundle creation
https://bugs.webkit.org/show_bug.cgi?id=223068

Reviewed by Alex Christensen.

Source/WebKit:

Emit signposts for creation of injected bundle.

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::create):

Source/WTF:

Add trace point codes for start and end of injected bundle creation.

  • wtf/SystemTracing.h:

Tools:

Add injected bundle signposts to .plist file.

  • Tracing/SystemTracePoints.plist:
9:53 AM Changeset in webkit [274485] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebCore

[Cocoa] YouTube audio stalls occasionally
https://bugs.webkit.org/show_bug.cgi?id=223233
<rdar://75057532>

Reviewed by Eric Carlson.

In r273513, we added support for parsing of audio frames which spanned
appends. But in so doing, left in a bug where the size and starting byte
offset of those audio frames was miscalculated. Previously, the starting
byte offset was reset during each pass through consumeFrameData(), and the
size of the m_packetData was increased by the full packet size each pass
as well, leading to both an incorrect starting point for the frame and an
incorrect overall size of the combined packet data. This lead to a decoding
error when the parser hit the empty frame bytes after the last successful
partial parse.

Now, we will add explicit tracking of the current frame's starting byte
offset as well as the frame's size, reset after each successful full frame
parse.

  • platform/graphics/cocoa/SourceBufferParserWebM.cpp:

(WebCore::SourceBufferParserWebM::AudioTrackData::consumeFrameData):

  • platform/graphics/cocoa/SourceBufferParserWebM.h:
9:44 AM Changeset in webkit [274484] by Robert Jenner
  • 2 edits in trunk/LayoutTests

[ BigSur wk2 arm64 ] 4 webrtc/ Layout-tests are consistently timing out
https://bugs.webkit.org/show_bug.cgi?id=223043

Uneviewed test gadening.

  • platform/mac/TestExpectations: Temporarily updating test expectations for 18 web/rtc tests that only have issues on Apple Silicon Macs, until they can be resolved.
9:34 AM Changeset in webkit [274483] by Jonathan Bedard
  • 5 edits in trunk/Tools

[webkitscmpy] Decode multiple commit representations
https://bugs.webkit.org/show_bug.cgi?id=223224
<rdar://problem/75455129>

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.from_json): Decode old results database style commit representations.

  • Scripts/libraries/webkitscmpy/webkitscmpy/test/commit_unittest.py:
9:21 AM Changeset in webkit [274482] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

Protect DOMFileSystem when hopping to a background thread
https://bugs.webkit.org/show_bug.cgi?id=223246

Reviewed by Chris Dumez.

Make sure to ref when hopping to background thread and hop back to main thread to unref.

  • Modules/entriesapi/DOMFileSystem.cpp:

(WebCore::DOMFileSystem::getParent):
(WebCore::DOMFileSystem::getEntry):

9:05 AM Changeset in webkit [274481] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

[prepare-ChangeLog] Assigning a multiline comment to a variable breaks change detection
https://bugs.webkit.org/show_bug.cgi?id=223225

Patch by Dean Johnson <dean_johnson@apple.com> on 2021-03-16
Reviewed by Jonathan Bedard.

  • Scripts/prepare-ChangeLog:

(get_function_line_ranges_for_python): Remove '' prefix from regex so we match multiline
strings assigned to variables.

  • Scripts/webkitperl/prepare-ChangeLog_unittest/resources/python_unittests-expected.txt:
  • Scripts/webkitperl/prepare-ChangeLog_unittest/resources/python_unittests.py: Add multiline string

variable definition, which previously would cause prepare-ChangeLog to parse the remainder of the file
as a multiline comment. Also add a new test to ensure it's not skipped by multiline logic.
(Class8.init):
(Class9):

8:10 AM Changeset in webkit [274480] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix GTK build with TREE_DEBUGGING enabled after r274216

  • rendering/InlineBox.h: Export several symbols to fix linking failures.
8:05 AM Changeset in webkit [274479] by Carlos Garcia Campos
  • 12 edits in trunk/Source

[GTK][WPE] Stop using g_memdup
https://bugs.webkit.org/show_bug.cgi?id=223189

Reviewed by Philippe Normand.

Source/WebCore:

Add gstBufferNewWrappedFast() to create a GstBuffer wrapping data allocated with fast malloc and use it when
possible in combination with fastMemDup() instead of g_memdup().

  • platform/graphics/gstreamer/GStreamerCommon.cpp:

(WebCore::gstBufferNewWrappedFast):

  • platform/graphics/gstreamer/GStreamerCommon.h:
  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(CachedResourceStreamingClient::dataReceived):

  • platform/mediastream/gstreamer/RealtimeIncomingAudioSourceLibWebRTC.cpp:

(WebCore::RealtimeIncomingAudioSourceLibWebRTC::OnData):

  • platform/mediastream/libwebrtc/GStreamerVideoDecoderFactory.cpp:

Source/WebKit:

  • UIProcess/API/glib/WebKitWebResource.cpp:

(webkit_web_resource_get_data_finish): Use g_malloc + memcpy instead of g_memdup.

  • UIProcess/API/glib/WebKitWebView.cpp:

(webkit_web_view_save_finish): Use fastMemDup instead g_memdup.

Source/WTF:

Add fastMemDup() to replace g_memdup() that is now deprecated in GLib because of the possibility of overflow
when converting from size_t to unsigned int. There's a replacement in GLib already, but we would need to depend
on very new GLib version, so better use fastMemDup() when possible. In cases where we still need to use GLib
allocator, we can simply call g_malloc() + memcpy().

  • wtf/FastMalloc.cpp:

(WTF::fastMemDup):

  • wtf/FastMalloc.h:
8:04 AM Changeset in webkit [274478] by calvaris@igalia.com
  • 2 edits in trunk/Source/WebCore

[GStreamer][MSE] fix video freeze in NASA TV feed
https://bugs.webkit.org/show_bug.cgi?id=214625

Reviewed by Alicia Boya Garcia.

Initial seek should not be marked as a real seek as it is not
getting seek-datas from GStreamer and therefore it can mess up
with pipeline branches becoming empty after getting an enough-data
because the need-data is expecting seek-datas to complete that
seek that is never going to happen.

A couple of debug output lines were fixed for the same price.

  • platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:

(webKitMediaSrcPrepareInitialSeek):

7:38 AM Changeset in webkit [274477] by commit-queue@webkit.org
  • 9 edits in trunk

[css-grid] Replace the use of -1 with WTF::nullopt
https://bugs.webkit.org/show_bug.cgi?id=222376

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

LayoutTests/imported/w3c:

Update failed expectations of the failing test.

  • web-platform-tests/css/css-grid/alignment/grid-self-baseline-not-applied-if-sizing-cyclic-dependency-001-expected.txt:

Source/WebCore:

This change replaces -1 with nullopt in grid to indicate indefinite for funtions that
return an Optional type. This change has exposed an issue when resolving replaced element
definiteness as a grid-item with respect to aspect-ratio. The fix is that when checking for
hasReplacedLogicalHeight(), for fixed item we should just return true while for percent or
calculated items we keep the check as it is.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::replacedMinMaxLogicalHeightComputesAsNone const):

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::placeItemsOnGrid const):

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::performGridItemsPreLayout const):

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::applyStretchAlignmentToChildIfNeeded const):

  • rendering/GridTrackSizingAlgorithm.cpp:

(WebCore::GridTrackSizingAlgorithm::estimatedGridAreaBreadthForChild const):

  • rendering/GridTrackSizingAlgorithm.cpp:

(WebCore::GridTrackSizingAlgorithm::gridAreaBreadthForChild const):

  • rendering/GridTrackSizingAlgorithm.cpp:

(WebCore::GridTrackSizingAlgorithm::minSizeForChild const):

  • rendering/GridTrackSizingAlgorithm.cpp:

(WebCore::GridTrackSizingAlgorithmStrategy::minLogicalSizeForChild const):

7:25 AM WebKitGTK/2.28.x edited by clopez@igalia.com
(diff)
7:25 AM WebKitGTK/2.32.x edited by clopez@igalia.com
(diff)
7:22 AM Changeset in webkit [274476] by commit-queue@webkit.org
  • 8 edits in trunk

[CMake] Build fails on RISC-V with GCC 11
https://bugs.webkit.org/show_bug.cgi?id=222959

Patch by Khem Raj <raj.khem@gmail.com> on 2021-03-16
Reviewed by Carlos Alberto Lopez Perez.

.:

Check for 1 byte atomic operations along with 64bit ones, some
architevtures (e.g. RISCV) operations on less than 4 bytes are not lock-free

  • Source/cmake/WebKitCompilerFlags.cmake:

Source/JavaScriptCore:

Use renamed variable ATOMICS_REQUIRE_LIBATOMIC instead of ATOMIC_INT64_REQUIRES_LIBATOMIC

  • CMakeLists.txt:

Source/WebKit:

Use renamed ATOMICS_REQUIRE_LIBATOMIC instead of ATOMIC_INT64_REQUIRES_LIBATOMIC.

  • CMakeLists.txt:

Source/WTF:

Link with libatomic if ATOMICS_REQUIRE_LIBATOMIC is set.

  • wtf/CMakeLists.txt:
7:03 AM Changeset in webkit [274475] by clopez@igalia.com
  • 3 edits in trunk/Tools

[EWS] run-layout-tests-without-patch step should only retry the tests that failed on the previous steps.
https://bugs.webkit.org/show_bug.cgi?id=219500

Reviewed by Aakash Jain.

On the step to retry running the layout tests without patch only
run the subset of tests that failed on the previous steps.
But only do that if the previous steps didn't exceed the test
failure limit and the patch doesn't modify the TestExpectations files.

This helps to speed up the test times on the EWS when the patch
doesn't pass on the first try.

  • CISupport/ews-build/steps.py:

(RunWebKitTests.start):

6:52 AM Changeset in webkit [274474] by Lauro Moura
  • 4 edits
    2 adds in trunk

[GTK] Add GTK4 tests expectations
https://bugs.webkit.org/show_bug.cgi?id=222907

Reviewed by Carlos Garcia Campos.

Tools:

Check whether we are using a GTK4 build to automatically enable the
platform/gtk4 expectations. This is done checking the
presence of either libwebkit2gtk-4.0.so or libwebkit2gtk-5.0.so, so it
works on binary-only deployments like the testing bots.

  • Scripts/webkitpy/port/gtk.py:

(GtkPort._search_paths):
(GtkPort._is_gtk4_build):

  • Scripts/webkitpy/port/gtk_unittest.py:

(GtkPortTest.test_gtk4_expectations_binary_only):
(GtkPortTest.test_gtk3_expectations_binary_only):
(GtkPortTest.test_gtk_expectations_both_binaries):

LayoutTests:

  • platform/gtk4/TestExpectations: Added.
6:42 AM Changeset in webkit [274473] by Aditya Keerthi
  • 4 edits in trunk/Source/WebCore

[iOS][FCR] Add pressed state for button-like controls
https://bugs.webkit.org/show_bug.cgi?id=223208
<rdar://problem/72399087>

Reviewed by Wenson Hsieh.

Add a pressed state for buttons, checkboxes, radio buttons, select
elements and date inputs. The pressed state has a 75% opacity level
relative to the default state.

  • css/html.css:

Explicitly set the default active style to opacity: initial to ensure
styles are adjusted when the element is pressed. Note that we do not
set the default to 75% to avoid unexpected application of the new
style.

(input:matches([type="button"], [type="submit"], [type="reset"]):active, input[type="file"]::file-selector-button:active, button:active):
(input:matches([type="checkbox"], [type="radio"]):active):
(select:active):

  • rendering/RenderThemeIOS.h:
  • rendering/RenderThemeIOS.mm:

The style adjustment is only performed if the -webkit-appearance property
is not set to none. This ensures we do not override the opacity for
custom styled form controls.

(WebCore::RenderThemeIOS::adjustPressedStyle const):
(WebCore::RenderThemeIOS::adjustCheckboxStyle const):
(WebCore::RenderThemeIOS::adjustRadioStyle const):
(WebCore::RenderThemeIOS::adjustMenuListButtonStyle const):
(WebCore::RenderThemeIOS::adjustButtonStyle const):

5:20 AM Changeset in webkit [274472] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Crash in makeBoundaryPoint via ReplaceSelectionCommand::insertedContentRange
https://bugs.webkit.org/show_bug.cgi?id=221509

Patch by Frederic Wang <fwang@igalia.com> on 2021-03-16
Reviewed by Ryosuke Niwa.

Source/WebCore:

WebCore::ReplaceSelectionCommand::doApply() saves start/end positions of inserted content
into m_startOfInsertedContent and m_endOfInsertedContent. At the end, it calls
ReplaceSelectionCommand::completeHTMLReplacement() which in turn may deep clone part of the
inserted content, in order to apply style. This then result in the start/end anchor nodes
becoming orphan, causing nullptr dereference later in the code. Ideally, the anchor nodes
should be moved to the cloned nodes but this patch only works around the issue by resetting
the start/end positions.

Test: fast/editing/replace-selection-and-apply-style-crash.html

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::completeHTMLReplacement): If one of the anchor nodes
became orphan, just clear m_startOfInsertedContent and m_endOfInsertedContent.

LayoutTests:

Add a regression test.

  • fast/editing/replace-selection-and-apply-style-crash-expected.txt: Added.
  • fast/editing/replace-selection-and-apply-style-crash.html: Added.
2:04 AM Changeset in webkit [274471] by Lauro Moura
  • 4 edits in trunk/Source

[SOUP] Fix SOUP3 debug build
https://bugs.webkit.org/show_bug.cgi?id=223237

Reviewed by Carlos Garcia Campos.

Source/WebCore:

  • platform/network/soup/ResourceRequestSoup.cpp:

(WebCore::ResourceRequest::updateSoupMessageBody const):

Source/WebKit:

  • NetworkProcess/soup/NetworkDataTaskSoup.cpp:

(WebKit::NetworkDataTaskSoup::acceptCertificateCallback):

1:45 AM Changeset in webkit [274470] by imanol
  • 6 edits in trunk/Source/WebCore

Protect this in all PlatformOpenXR queue->dispatch() calls
https://bugs.webkit.org/show_bug.cgi?id=223211

Reviewed by Chris Dumez.

The OpenXR WorkQueue may outlive OpenXRDevice so queue->dispatch() calls without protecting this are unsafe.

  • Modules/webxr/WebXRSystem.cpp:

(WebCore::WebXRSystem::ensureImmersiveXRDeviceIsSelected):

  • platform/xr/PlatformXR.h:
  • platform/xr/openxr/OpenXRInstance.cpp:

(PlatformXR::Instance::Impl::~Impl):
(PlatformXR::Instance::enumerateImmersiveXRDevices):

  • platform/xr/openxr/PlatformXROpenXR.cpp:

(PlatformXR::OpenXRDevice::create):
(PlatformXR::OpenXRDevice::OpenXRDevice):
(PlatformXR::OpenXRDevice::initialize):
(PlatformXR::OpenXRDevice::initializeTrackingAndRendering):
(PlatformXR::OpenXRDevice::shutDownTrackingAndRendering):
(PlatformXR::OpenXRDevice::requestFrame):
(PlatformXR::OpenXRDevice::waitUntilStopping):

  • platform/xr/openxr/PlatformXROpenXR.h:
1:25 AM Changeset in webkit [274469] by youenn@apple.com
  • 13 edits in trunk

Add a new delegate for geolocation permission
https://bugs.webkit.org/show_bug.cgi?id=223183

Reviewed by Eric Carlson.

Source/WebCore:

Add strings for a default geolocation prompt.
Covered by API tests.

  • en.lproj/Localizable.strings:

Source/WebKit:

Refactoring to reuse media capture prompt for geolocation with updated prompt strings.
Introduce a new permission delegate for geolocation which provides both the top level origin as well as frame info.
The decision handler can get grant, deny or prompt.
In case of prompt, we use the updated prompt to get grant or deny decision from the user.

  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
  • UIProcess/Cocoa/MediaPermissionUtilities.mm:

(WebKit::alertMessageText):
(WebKit::allowButtonText):
(WebKit::doNotAllowButtonText):
(WebKit::alertForPermission):

  • UIProcess/Cocoa/UIDelegate.h:
  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::decidePolicyForGeolocationPermissionRequest):

  • UIProcess/MediaPermissionUtilities.h:
  • UIProcess/SpeechRecognitionPermissionManager.cpp:

(WebKit::SpeechRecognitionPermissionManager::decideByDefaultAction):

  • UIProcess/UserMediaPermissionRequestProxy.cpp:

(WebKit::UserMediaPermissionRequestProxy::prompt):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::requestGeolocationPermissionForFrame):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:

(-[GeolocationDelegateNew _webView:requestGeolocationPermissionForOrigin:initiatedByFrame:decisionHandler:]):
(testDidResignInputElementStrongPasswordAppearanceAfterEvaluatingJavaScript): Deleted.
(tabEvent): Deleted.
(synthesizeTab): Deleted.
(synthesizeWheelEvents): Deleted.

1:07 AM Changeset in webkit [274468] by youenn@apple.com
  • 2 edits in trunk/LayoutTests

[ macOs Wk1 ] http/wpt/filereader/filereader-stop.html is a flakey text failure
https://bugs.webkit.org/show_bug.cgi?id=222749
<rdar://problem/75045013>

Reviewed by Alex Christensen.

  • http/wpt/filereader/filereader-stop.html:

Update test to register the event handlers for the second load, not the first one.

Mar 15, 2021:

11:55 PM Changeset in webkit [274467] by commit-queue@webkit.org
  • 5 edits in trunk

Fix table-element-001.html
https://bugs.webkit.org/show_bug.cgi?id=223063

Patch by Rob Buis <rbuis@igalia.com> on 2021-03-15
Reviewed by Simon Fraser.

Source/WebCore:

The aspect-ratio property should not apply to table boxes [1].
Tables themselves should respect the property.

[1] https://drafts.csswg.org/css-sizing-4/#aspect-ratio

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeLogicalHeight const):
(WebCore::RenderBox::shouldIgnoreAspectRatio const):
(WebCore::RenderBox::shouldComputeLogicalHeightFromAspectRatio const):
(WebCore::RenderBox::shouldComputeLogicalWidthFromAspectRatio const):

  • rendering/RenderBox.h:

LayoutTests:

Enable test that passes now.

10:55 PM Changeset in webkit [274466] by Nikita Vasilyev
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: remove experimental setting and enable Layout sidebar
https://bugs.webkit.org/show_bug.cgi?id=221246
<rdar://problem/74130753>

Reviewed by BJ Burg.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Base/Setting.js:
  • UserInterface/Views/ElementsTabContentView.js:

(WI.ElementsTabContentView):

  • UserInterface/Views/SettingsTabContentView.js:

(WI.SettingsTabContentView.prototype._createExperimentalSettingsView):

10:08 PM Changeset in webkit [274465] by Patrick Angle
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Styles sidebar pseudo-class checkboxes appear cramped after resizing window at narrow widths
https://bugs.webkit.org/show_bug.cgi?id=222990

Reviewed by Devin Rousso.

Fixed two compounding bugs that meant that a sidebar could end up using the base minimum width of 250px
instead of the actual minimum width as reported by the selected panel.

  • UserInterface/Views/MultiSidebar.js:

(WI.MultiSidebar.prototype.didInsertSidebarPanel):
(WI.MultiSidebar.prototype.didRemoveSidebarPanel):
(WI.MultiSidebar.prototype.didSetCollapsed):

  • Drive-by: Remove unused (and always undefined) flag argument.

(WI.MultiSidebar.prototype._updateMinimumWidthForMultipleSidebars):

  • Add logic to make sure we can calculate a valid _minimumWidthForMultipleSidebars, and add a mechanism to

allow ignoring the presence of a cached value to force a recalculation.
(WI.MultiSidebar.prototype.get _hasWidthForMultipleSidebars):

  • Ensure if possible that there is a valid _minimumWidthForMultipleSidebars.

(WI.MultiSidebar.prototype._makeSidebarPanelExclusive):

  • Sets the sidebar as non-collapsible (which sets collapsed to false) before adding the panel and setting it

as the selected panel so that we don't set the selected panel on a collapsed sidebar.

  • UserInterface/Views/SingleSidebar.js:

(WI.SingleSidebar.prototype.didSetCollapsed):

  • Drive-by: Remove always undefined flag argument, use this.collapsed instead.
9:33 PM Changeset in webkit [274464] by Patrick Angle
  • 7 edits in trunk/Source/WebCore

Web Inspector: Grid overlay does not adjust for element inside iframes
https://bugs.webkit.org/show_bug.cgi?id=222920

Reviewed by Simon Fraser.

Resolves an issue when overlays are applied to grids within iframes, which need to account for the
position/transform of their containing frame, and any other parent frames, to appear correctly in relation to
the root frame. This patch also has the side effect of changing how drawing the grid overlay while the page is
scrolled by allowing localPointToRootPoint to account for the scroll translation instead of explicitly
offsetting drawing by the scroll offset.

Widget, ScrollView, and FrameView are updated to retain floating-point precision where necessary.

  • inspector/InspectorOverlay.cpp:

(WebCore::localPointToRootPoint):

  • Use floating-point precision instead of integer precision.

(WebCore::InspectorOverlay::drawGridOverlay):

  • Use localPointToRootPoint to calculate absolute points relative to a renderGrid's parent hierarchy.
  • Remove graphics context translation, as localPointToRootPoint will account for this translation.
  • page/FrameView.cpp:

(WebCore::FrameView::convertFromRendererToContainingView const):
(WebCore::FrameView::convertToContainingView const):

  • page/FrameView.h:
  • platform/ScrollView.cpp:

(WebCore::ScrollView::contentsToView const):

  • platform/ScrollView.h:

(WebCore::ScrollView::convertChildToSelf const):

  • platform/Widget.cpp:

(WebCore::Widget::convertToContainingView const):

8:54 PM Changeset in webkit [274463] by commit-queue@webkit.org
  • 5 edits in trunk

REGRESSION: (r255611) [ Mac ] 3 lldb tests failing related to HashMap
https://bugs.webkit.org/show_bug.cgi?id=207204

Patch by Alex Christensen <achristensen@webkit.org> on 2021-03-15
Reviewed by Simon Fraser.

Source/WTF:

  • wtf/HashTable.h:

Tools:

In r255780 I removed WebKit LLDB support for HashTables because the LLDB python API doesn't have a way to
do the equivalent of reinterpret_cast. With clever use of a union, I can get a pointer to the table and
tell LLDB it is actually a pointer to an unsigned integer array. Then, using pointer->unsigned->pointer
transformations I can dereference a negative index. It's gross, but it works and makes the tests pass again.

  • lldb/lldb_webkit.py:

(lldb_init_module):
(
lldb_init_module.lldb_webkit):
(WTFHashTable_SummaryProvider):
(WTFHashMap_SummaryProvider):
(WTFHashSet_SummaryProvider):
(WTFHashMapProvider):
(WTFHashMapProvider.init):
(WTFHashMapProvider.tableSize):
(WTFHashMapProvider.keyCount):
(WTFHashSetProvider):
(WTFHashSetProvider.init):
(WTFHashSetProvider.tableSize):
(WTFHashSetProvider.keyCount):
(WTFHashTableProvider):
(WTFHashTableProvider.init):
(WTFHashTableProvider.metadataWithIndex):
(WTFHashTableProvider.tableSize):
(WTFHashTableProvider.keyCount):
(WTFHashTableProvider.num_children):
(WTFHashTableProvider.get_child_index):
(WTFHashTableProvider.get_child_at_index):
(WTFHashTableProvider.update):
(WTFHashTableProvider.has_children):

  • lldb/lldb_webkit_unittest.py:

(TestSummaryProviders):
(TestSummaryProviders.serial_test_WTFHashMap_tablesize_and_size):
(TestSummaryProviders.serial_test_WTFHashMap_of_vectors_tablesize_and_size):
(TestSummaryProviders.serial_test_WTFHashSet_tablesize_and_size):

8:24 PM Changeset in webkit [274462] by Chris Dumez
  • 18 edits
    2 deletes in trunk/Source/WebKit

Unreviewed, revert r272629 as it caused regressions in some apps
https://bugs.webkit.org/show_bug.cgi?id=223232
<rdar://75440378>

  • SourcesCocoa.txt:
  • UIProcess/API/Cocoa/WKWebView.mm:
  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/Cocoa/PageClientImplCocoa.h:
  • UIProcess/Cocoa/PageClientImplCocoa.mm:
  • UIProcess/Cocoa/WKBlankOverlayView.h: Removed.
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::runJavaScriptAlert):
(WebKit::WebPageProxy::runJavaScriptConfirm):
(WebKit::WebPageProxy::runJavaScriptPrompt):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::didCommitLayerTree):

  • UIProcess/mac/WebPageProxyMac.mm:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didCommitLoad):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::updateRendering):

  • WebProcess/WebPage/mac/WebPageMac.mm:
8:07 PM Changeset in webkit [274461] by Simon Fraser
  • 6 edits in trunk/Source/WebCore

Optimize canvas repaints
https://bugs.webkit.org/show_bug.cgi?id=223056

Reviewed by Said Abou-Hallawa.

Currently many draw operations in a canvas trigger a repaint via the didDraw()
code path which goes to HTMLCanvasElement::didDraw(). HTMLCanvasElement did track
a dirty rect and short-circuited repaints which were already dirty, but we paid
the cost of computing the dirty rect (e.g. getting the bounds of a path), and of
the hash lookup in Document::prepareCanvasesForDisplayIfNeeded() every time.

Optimize this by moving the dirty rect tracking into CanvasRenderingContext2DBase.
If the entire canvas is already dirty, we can avoid all the work (this is common,
since pages often clear the entire canvas at the start of every frame). Otherwise,
accumulate into m_dirtyRect. m_dirtyRect is cleared when we paint the canvas.

It would be nice to share more of the didDraw() code in CanvasRenderingContext2DBase
functions, but we want to be able to compute the dirty rect only if it's used, and
a WTF::function()-based approach benchmarked as slower.

This patch is an up-to-10% progression on some canvas subtests in MotionMark.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::didDraw):
(WebCore::HTMLCanvasElement::paint):

  • html/HTMLCanvasElement.h:
  • html/canvas/CanvasRenderingContext.h:

(WebCore::CanvasRenderingContext::clearAccumulatedDirtyRect):
(WebCore::CanvasRenderingContext::paintRenderingResultsToCanvas):

  • html/canvas/CanvasRenderingContext2DBase.cpp:

(WebCore::CanvasRenderingContext2DBase::fillInternal):
(WebCore::CanvasRenderingContext2DBase::strokeInternal):
(WebCore::CanvasRenderingContext2DBase::fillRect):
(WebCore::CanvasRenderingContext2DBase::strokeRect):
(WebCore::CanvasRenderingContext2DBase::drawImage):
(WebCore::CanvasRenderingContext2DBase::didDraw):
(WebCore::CanvasRenderingContext2DBase::clearAccumulatedDirtyRect):
(WebCore::CanvasRenderingContext2DBase::isEntireBackingStoreDirty const):
(WebCore::CanvasRenderingContext2DBase::putImageData):
(WebCore::CanvasRenderingContext2DBase::drawTextUnchecked):

  • html/canvas/CanvasRenderingContext2DBase.h:

(WebCore::CanvasRenderingContext2DBase::didDraw):
(WebCore::CanvasRenderingContext2DBase::backingStoreBounds const):

8:03 PM Changeset in webkit [274460] by jer.noble@apple.com
  • 7 edits
    1 add in trunk

[WK2] Can get stuck in fullscreen mode if node is removed prior to receiving willEnterFullscreen()
https://bugs.webkit.org/show_bug.cgi?id=223218
<rdar://75009548>

Reviewed by Eric Carlson.

Source/WebCore:

Return false from the following functions if a preflight check kept the function
from completing.

  • dom/FullscreenManager.cpp:

(WebCore::FullscreenManager::willEnterFullscreen):
(WebCore::FullscreenManager::didEnterFullscreen):
(WebCore::FullscreenManager::willExitFullscreen):
(WebCore::FullscreenManager::didExitFullscreen):

  • dom/FullscreenManager.h:

Source/WebKit:

There are a number of preflight checks made in each of the listed functions below,
and those preflights can corrupt the state machine of the UIProcess's fullscreen
code. If any of the preflights fail, use the new return value of those methods to
close() the fullscreen presentation.

  • WebProcess/FullScreen/WebFullScreenManager.cpp:

(WebKit::WebFullScreenManager::willEnterFullScreen):
(WebKit::WebFullScreenManager::didEnterFullScreen):
(WebKit::WebFullScreenManager::willExitFullScreen):
(WebKit::WebFullScreenManager::requestExitFullScreen):

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/FullscreenRemoveNodeBeforeEnter.mm: Added.

(TestWebKitAPI::TEST):

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

Avoid heap allocation in RemoteAudioDestinationProxy::renderQuantum()
https://bugs.webkit.org/show_bug.cgi?id=223228

Reviewed by Darin Adler.

Avoid heap allocation in RemoteAudioDestinationProxy::renderQuantum() since this runs on the
audio thread.

  • WebProcess/GPU/media/RemoteAudioDestinationProxy.cpp:

(WebKit::RemoteAudioDestinationProxy::connectToGPUProcess):
(WebKit::RemoteAudioDestinationProxy::renderQuantum):

6:57 PM Changeset in webkit [274458] by Chris Dumez
  • 3 edits in trunk/Source/WTF

RunLoop::isMain() should not need to do any heap allocations
https://bugs.webkit.org/show_bug.cgi?id=223227

Reviewed by Darin Adler.

RunLoop::isMain() should not need to do any heap allocations. Before this change,
calling RunLoop::isMain() on a non-main thread would call RunLoop::current() which
would allocate the RunLoop for the current thread. This is inefficient and an issue
for WebAudio since we're not allowed to do heap allocation on the audio rendering
thread.

  • wtf/RunLoop.cpp:

(WTF::RunLoop::runLoopHolder):
(WTF::RunLoop::current):
(WTF::RunLoop::isMain):

  • wtf/RunLoop.h:
6:25 PM Changeset in webkit [274457] by Wenson Hsieh
  • 15 edits
    2 adds in trunk

[iOS] WebPageProxy's EditorState may be stale until the next remote layer tree commit
https://bugs.webkit.org/show_bug.cgi?id=223207
<rdar://problem/75410700>

Reviewed by Tim Horton.

Source/WebKit:

Fixes a race condition wherein it's possible for the cached EditorState in the UI process (on WebPageProxy)
to be set to a stale (older) value after being set to a newer value. This can happen in the case where:

  1. An editor state update is computed and set on a remote layer tree transaction in the web process, inside

WebPage::willCommitLayerTree. A pending BackingStoreFlusher is created, and we dispatch a task onto a
background queue to flush the layer tree commit.

  1. IPC that updates the selection arrives in the web process (e.g. WebPage::selectTextWithGranularityAtPoint),

and causes us to send an EditorStateChanged message to the UI process with this new selection.

  1. The pending BackingStoreFlusher created in step (1) dispatches on the background queue, and sends its

editor state over to the UI process.

As a result, the UI process receives the EditorStateChanged message in step (2) before it receives the remote
layer tree transaction sent in step (3), which contains the editor state computed prior to step (2); we then set
WebPageProxy::m_editorState from its value computed in step (2) to the value computed in step (1).

To fix this (and any similar issues involving out-of-band editor state updates), we introduce a monotonically
increasing transaction ID on editor state that's similar to the one used for remote layer tree commits; we then
avoid updating the editor state in WebPageProxy if we receive an EditorState whose transaction ID is less
than our current ID.

Test: fast/images/image-extraction/ios/reselect-word-in-image-overlay.html

  • Shared/EditorState.cpp:

(WebKit::EditorState::encode const):
(WebKit::EditorState::decode):

  • Shared/EditorState.h:

Add the TransactionID, and add encoding/decoding support for the new member.

  • UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::editorStateChanged):
(WebKit::WebPageProxy::updateEditorState):

Refactor this to return a bool, indicating whether the editor state was modified (this only returns false in
the case where the incoming editor state was older than the one we currently have). We also make this method
platform-agnostic, and move the platform-dependent logic previously implemented by individual updateEditorState
implementations into WebPageProxy::didUpdateEditorState instead.

  • UIProcess/WebPageProxy.h:
  • UIProcess/gtk/WebPageProxyGtk.cpp:

(WebKit::WebPageProxy::didUpdateEditorState):
(WebKit::WebPageProxy::updateEditorState): Deleted.

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::didUpdateEditorState):

Add a new platform method hook that is called when m_editorState is updated due to an incoming EditorState
from the web process. The old and new cached EditorState values are passed into this method; note that even
though only the previous value is necessary as an argument (since m_editorState is already equal to the new
value here), I chose to pass in both to make it clear that both old and new values can be consulted here.

(WebKit::WebPageProxy::updateEditorState): Deleted.

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::didUpdateEditorState):
(WebKit::WebPageProxy::updateEditorState): Deleted.

  • UIProcess/playstation/WebPageProxyPlayStation.cpp:

(WebKit::WebPageProxy::didUpdateEditorState):
(WebKit::WebPageProxy::updateEditorState): Deleted.

  • UIProcess/win/WebPageProxyWin.cpp:

(WebKit::WebPageProxy::didUpdateEditorState):
(WebKit::WebPageProxy::updateEditorState): Deleted.

  • UIProcess/wpe/WebPageProxyWPE.cpp:

(WebKit::WebPageProxy::didUpdateEditorState):
(WebKit::WebPageProxy::updateEditorState): Deleted.

Rename these method implementations, and adjust them to use oldEditorState and newEditorState.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::editorState const):

  • WebProcess/WebPage/WebPage.h:

LayoutTests:

  • fast/images/image-extraction/ios/reselect-word-in-image-overlay-expected.txt: Added.
  • fast/images/image-extraction/ios/reselect-word-in-image-overlay.html: Added.
5:52 PM Changeset in webkit [274456] by Alan Bujtas
  • 4 edits
    2 adds in trunk

[Multi-column] Ignore line grid offset when the grid line is shorter than 0.5px
https://bugs.webkit.org/show_bug.cgi?id=223220
<rdar://73192773>

Reviewed by Simon Fraser.

Source/WebCore:

This is a simple check on roundToInt(line box height) to make sure we don't divide by zero.

Test: fast/multicol/crash-when-line-grid-is-shorter-than-half-px.html

  • rendering/RenderLayoutState.cpp:

(WebCore::RenderLayoutState::computeLineGridPaginationOrigin):

  • rendering/RootInlineBox.h:

(WebCore::RootInlineBox::lineBoxHeight const):

LayoutTests:

  • fast/multicol/crash-when-line-grid-is-shorter-than-half-px-expected.txt: Added.
  • fast/multicol/crash-when-line-grid-is-shorter-than-half-px.html: Added.
5:37 PM Changeset in webkit [274455] by commit-queue@webkit.org
  • 10 edits in trunk

REGRESSION(r271642) Another app was relying on DOMWindow reuse
https://bugs.webkit.org/show_bug.cgi?id=223217
<rdar://75186172>

Patch by Alex Christensen <achristensen@webkit.org> on 2021-03-15
Reviewed by Geoff Garen.

Source/WebCore:

We already fixed an app in r273817 but in rdar://75186172 we have another broken app.
It's time for a linkedOnOrAfter check.

  • bindings/js/JSWindowProxy.cpp:

(WebCore::JSWindowProxy::setWindow):

  • platform/cocoa/VersionChecks.h:

Source/WebKit:

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(+[WKProcessPool _setLinkedOnOrBeforeEverythingForTesting]):

  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:

Source/WTF:

  • Scripts/Preferences/WebPreferencesInternal.yaml:

Tools:

  • TestWebKitAPI/Tests/mac/JSWrapperForNodeInWebFrame.mm:

(TestWebKitAPI::TEST):

5:24 PM Changeset in webkit [274454] by Robert Jenner
  • 2 edits in trunk/LayoutTests

[ macOS Debug ARM64 ] 2X w3c/svg tests are constantly text failing
https://bugs.webkit.org/show_bug.cgi?id=223223

Unreviewed test gardening.

  • platform/mac/TestExpectations: Updating test expectations to constantly fail in Apple Silicon while test is being looked at.
4:44 PM Changeset in webkit [274453] by wilander@apple.com
  • 8 edits in trunk

PCM: Split attributionReportURL() into attributionReportSourceURL() and attributionReportAttributeOnURL()
https://bugs.webkit.org/show_bug.cgi?id=223210
<rdar://problem/75442246>

Reviewed by Brent Fulgham.

This patch splits WebCore::PrivateClickMeasurement::attributionReportURL() into
Source/WebCore:

PrivateClickMeasurement::attributionReportSourceURL() and
PrivateClickMeasurement::attributionReportAttributeOnURL() to
facilitate sending attribution reports to both the click source and destination.

No new tests. This patch doesn't change functionality and the functionality is
covered by existing tests.

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::handleClick):

Changed the assertion to check both the attribution URLs.

  • loader/PrivateClickMeasurement.cpp:

(WebCore::attributionReportURL):

Static convenience function to share code between
PrivateClickMeasurement::attributionReportSourceURL() and
PrivateClickMeasurement::attributionReportAttributeOnURL().

(WebCore::PrivateClickMeasurement::attributionReportSourceURL const):

Generates the well-known location for the click source.

(WebCore::PrivateClickMeasurement::attributionReportAttributeOnURL const):

Generates the well-known location for the click destination.

(WebCore::PrivateClickMeasurement::attributionReportURL const): Deleted.

No mostly exists as a static convenience function (see above).

  • loader/PrivateClickMeasurement.h:

Source/WebKit:

WebCore::PrivateClickMeasurement::attributionReportSourceURL() and
WebCore::PrivateClickMeasurement::attributionReportAttributeOnURL() to
facilitate sending attribution reports to both the click source and destination.

  • NetworkProcess/PrivateClickMeasurementManager.cpp:

(WebKit::PrivateClickMeasurementManager::storeUnattributed):

Removed a reference to ads in a log statement.

(WebKit::PrivateClickMeasurementManager::fireConversionRequestImpl):

Now uses WebCore::PrivateClickMeasurement::attributionReportSourceURL().

Tools:

WebCore::PrivateClickMeasurement::attributionReportSourceURL() and
WebCore::PrivateClickMeasurement::attributionReportAttributeOnURL() to
facilitate sending attribution reports to both the click source and destination.

  • TestWebKitAPI/Tests/WebCore/PrivateClickMeasurement.cpp:

(TestWebKitAPI::TEST):

Updated to use the new functions and also not repeat tests of static
data.

4:41 PM Changeset in webkit [274452] by Alan Coon
  • 3 edits in branches/safari-611.1.21.2-branch/Source/WebKit

Cherry-pick r274439. rdar://problem/75450678

Enforce subcommand filtering
https://bugs.webkit.org/show_bug.cgi?id=223192
<rdar://75434409>

Reviewed by Brent Fulgham.

Enforce subcommand filtering in the WebContent process' sandbox.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
  • WebProcess/com.apple.WebProcess.sb.in:

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

4:41 PM Changeset in webkit [274451] by Alan Coon
  • 3 edits in branches/safari-611.1.21.2-branch/Source/WebKit

Cherry-pick r274295. rdar://problem/75450678

[macOS] Add additional telemetry to WebContent sandbox
https://bugs.webkit.org/show_bug.cgi?id=223080

Reviewed by Brent Fulgham.

Add additional telemetry to WebContent sandbox on macOS.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
  • WebProcess/com.apple.WebProcess.sb.in:

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

4:30 PM Changeset in webkit [274450] by Alan Coon
  • 3 edits in branches/safari-611.1.21.0-branch/Source/WebKit

Cherry-pick r274439. rdar://problem/75450660

Enforce subcommand filtering
https://bugs.webkit.org/show_bug.cgi?id=223192
<rdar://75434409>

Reviewed by Brent Fulgham.

Enforce subcommand filtering in the WebContent process' sandbox.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
  • WebProcess/com.apple.WebProcess.sb.in:

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

4:30 PM Changeset in webkit [274449] by Alan Coon
  • 3 edits in branches/safari-611.1.21.0-branch/Source/WebKit

Cherry-pick r274295. rdar://problem/75450660

[macOS] Add additional telemetry to WebContent sandbox
https://bugs.webkit.org/show_bug.cgi?id=223080

Reviewed by Brent Fulgham.

Add additional telemetry to WebContent sandbox on macOS.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
  • WebProcess/com.apple.WebProcess.sb.in:

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

4:29 PM Changeset in webkit [274448] by Alan Coon
  • 8 edits in branches/safari-611.1.21.2-branch/Source

Versioning.

WebKit-7611.1.21.2.3

4:26 PM Changeset in webkit [274447] by Robert Jenner
  • 2 edits in trunk/LayoutTests

[ MacOS wk2 ] inspector/debugger/breakpoints/resolved-dump-all-inline-script-pause-locations.html is flakey timing out
https://bugs.webkit.org/show_bug.cgi?id=221759

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations: Re-updating test expectations to include release. Prior test expectation update gave us unexpected crashes.
3:53 PM Changeset in webkit [274446] by Alan Coon
  • 8 edits in branches/safari-611.1.21.0-branch/Source

Versioning.

WebKit-7611.1.21.0.7

3:46 PM Changeset in webkit [274445] by Alan Coon
  • 3 edits in branches/safari-611.1.21.1-branch/Source/WebKit

Cherry-pick r274439. rdar://problem/75450672

Enforce subcommand filtering
https://bugs.webkit.org/show_bug.cgi?id=223192
<rdar://75434409>

Reviewed by Brent Fulgham.

Enforce subcommand filtering in the WebContent process' sandbox.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
  • WebProcess/com.apple.WebProcess.sb.in:

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

3:46 PM Changeset in webkit [274444] by Alan Coon
  • 2 edits in branches/safari-611.1.21.1-branch/Source/WebKit

Cherry-pick r274231. rdar://problem/75450672

Roll back in r274231 to avoid conflicts in r274439.

3:39 PM Changeset in webkit [274443] by Wenson Hsieh
  • 3 edits
    2 adds in trunk

Image overlay creation should be idempotent
https://bugs.webkit.org/show_bug.cgi?id=223199

Reviewed by Tim Horton.

Source/WebCore:

Make sure that updateWithImageExtractionResult is idempotent given the same results object, and does not
inject redundant styles or DOM elements in the user agent shadow root.

Test: fast/images/image-extraction/image-overlay-creation-is-idempotent.html

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::updateWithImageExtractionResult):

When updating the image overlay, remove the existing overlay container element if needed, and don't bother
re-injecting the style sheet if it has already been created and inserted.

LayoutTests:

  • fast/images/image-extraction/image-overlay-creation-is-idempotent-expected.txt: Added.
  • fast/images/image-extraction/image-overlay-creation-is-idempotent.html: Added.
3:25 PM Changeset in webkit [274442] by Alan Coon
  • 8 edits in branches/safari-611.1.21.1-branch/Source

Versioning.

WebKit-7611.1.21.1.10

3:06 PM Changeset in webkit [274441] by aakash_jain@apple.com
  • 1 edit
    1 delete in trunk/Tools

Delete unused build-launcher-dmg script
https://bugs.webkit.org/show_bug.cgi?id=222923

Reviewed by Alexey Proskuryakov.

  • CISupport/build-launcher-dmg: Removed.
2:27 PM Changeset in webkit [274440] by Alan Bujtas
  • 3 edits
    2 adds in trunk

RenderStyle::getRoundedInnerBorderFor should never produce a rect with negative width/height
https://bugs.webkit.org/show_bug.cgi?id=223147

Reviewed by Simon Fraser.

Source/WebCore:

Width/height may get resolved to negative values when the rect goemetry (left/top) is at maximum LayoutUnit.

Test: fast/shapes/assert-when-rounded-rect-overflows.html

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::getRoundedInnerBorderFor const):

LayoutTests:

  • fast/shapes/assert-when-rounded-rect-overflows-expected.txt: Added.
  • fast/shapes/assert-when-rounded-rect-overflows.html: Added.
2:22 PM Changeset in webkit [274439] by pvollan@apple.com
  • 3 edits in trunk/Source/WebKit

Enforce subcommand filtering
https://bugs.webkit.org/show_bug.cgi?id=223192
<rdar://75434409>

Reviewed by Brent Fulgham.

Enforce subcommand filtering in the WebContent process' sandbox.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
  • WebProcess/com.apple.WebProcess.sb.in:
1:49 PM Changeset in webkit [274438] by ysuzuki@apple.com
  • 4 edits
    2 adds in trunk

WebGL should be aware of [AllowShared]
https://bugs.webkit.org/show_bug.cgi?id=223167

Reviewed by Saam Barati.

Source/WebCore:

This patch attaches [AllowShared] IDL annotations to appropriate WebGL types, so that these functions
can accept array buffers / array buffer views which are created from SharedArrayBuffer.

  • html/canvas/WebGL2RenderingContext.idl:
  • html/canvas/WebGLRenderingContextBase.idl:

LayoutTests:

Test that these functions accept (not throwing a TypeError) array buffers etc. created from SharedArrayBuffer.

  • webgl/webgl-allow-shared-expected.txt: Added.
  • webgl/webgl-allow-shared.html: Added.
1:45 PM Changeset in webkit [274437] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Do not collapse the anonymous block when it is a candidate container for the list marker
https://bugs.webkit.org/show_bug.cgi?id=223196
<rdar://74574330>

Reviewed by Antti Koivisto.

Do not merge empty anonymous siblings when the callers says "do not collpase anonymous block". Those merge candidate
anonymous blocks may be candidate containers for some other conent (we expand on r238119 here).

  • rendering/updating/RenderTreeBuilderBlock.cpp:

(WebCore::RenderTreeBuilder::Block::detach):

1:43 PM Changeset in webkit [274436] by Simon Fraser
  • 19 edits in trunk/Source/WebCore

Change canvasChanged() to take a Optional<FloatRect>
https://bugs.webkit.org/show_bug.cgi?id=223203

Reviewed by Said Abou-Hallawa.

As a precursor to webkit.org/b/223056, change the FloatRect argument to
canvasChanged() to be an Optional<FloatRect>. A nullopt value here indicates
that the changed rect is inside the existing dirtied bounds of the canvas backing
store since the last repaint, so clients that are using the callback for repaint
don't need to do anything.

  • Modules/mediastream/CanvasCaptureMediaStreamTrack.cpp:

(WebCore::CanvasCaptureMediaStreamTrack::Source::canvasChanged):

  • Modules/mediastream/CanvasCaptureMediaStreamTrack.h:
  • Modules/webxr/WebXRWebGLLayer.h:
  • css/CSSCanvasValue.cpp:

(WebCore::CSSCanvasValue::canvasChanged):

  • css/CSSCanvasValue.h:
  • dom/Document.cpp:

(WebCore::Document::canvasChanged):

  • dom/Document.h:
  • html/CanvasBase.cpp:

(WebCore::CanvasBase::notifyObserversCanvasChanged):

  • html/CanvasBase.h:
  • html/CustomPaintCanvas.h:
  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::didDraw):

  • html/HTMLCanvasElement.h:
  • html/canvas/CanvasRenderingContext2DBase.cpp:

(WebCore::CanvasRenderingContext2DBase::didDrawEntireCanvas):
(WebCore::CanvasRenderingContext2DBase::paintRenderingResultsToCanvas):

  • html/canvas/CanvasRenderingContext2DBase.h:

(WebCore::CanvasRenderingContext2DBase::backingStoreBounds const):

  • inspector/agents/InspectorCanvasAgent.cpp:

(WebCore::InspectorCanvasAgent::canvasChanged):

  • inspector/agents/InspectorCanvasAgent.h:
1:38 PM Changeset in webkit [274435] by jer.noble@apple.com
  • 10 edits in trunk/Source

[Cocoa] Adopt AudioComponentApplyServerRegistrations()
https://bugs.webkit.org/show_bug.cgi?id=223188
<rdar://75433850>

Reviewed by Eric Carlson.

Source/WebCore/PAL:

  • pal/cf/AudioToolboxSoftLink.cpp:
  • pal/cf/AudioToolboxSoftLink.h:

Source/WebKit:

The WebKit sandbox will block access to the AudioComponent XPC service when the
GPU process is enabled. Adopt new API to fetch the registered component data from
the priviledged UIProcess and consume that registration data in the WebContent
process, making it unnecessary to communicate with the AudioComponent XPC service
to instantiate components.

  • UIProcess/Cocoa/WebProcessProxyCocoa.mm:

(WebKit::WebProcessProxy::sendAudioComponentRegistrations):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::initializeNewWebProcess):

  • UIProcess/WebProcessProxy.h:
  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::consumeAudioComponentRegistrations):

1:11 PM Changeset in webkit [274434] by Said Abou-Hallawa
  • 8 edits in trunk/LayoutTests

Enable the layout test 2d.path.stroke.scale2.html
https://bugs.webkit.org/show_bug.cgi?id=223176

Reviewed by Tim Horton.

LayoutTests/imported/w3c:

  • web-platform-tests/html/canvas/element/path-objects/2d.path.stroke.scale2-expected.txt:

LayoutTests:

This layout test is now fixed on macOS and iOS after enabling GPUP for
2D canvas rendering. The reason is CGPathAddRect() has a bug which is
tracked by rdar://75419465. Encoding the CGPath converts the rectangle
command to moveTo and lineTo commands. This is unintentional workaround
for the CGPathAddRect() bug.

  • TestExpectations:
  • platform/ios-wk1/TestExpectations:
  • platform/ios/TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/mac/TestExpectations:
1:02 PM Changeset in webkit [274433] by commit-queue@webkit.org
  • 30 edits in trunk

WebGL IPC should use shared memory for synchronous messages
https://bugs.webkit.org/show_bug.cgi?id=220974
<rdar://problem/73876947>

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-03-15
Reviewed by Geoffrey Garen.

Source/WebKit:

Send synchronous messages via the stream shared memory.
Improves MotionMark on iMac1,1 from 5000 to ~5300 pts.

If the message is encodable as a value, try to do so.
If the reply is encodable as a value, try to do so.
A message or a reply is not encodable if an argument in the message
must be passed by reference via the OS specific mechanism
(e.g. a iosurface or a file handle cannot be sent as a value).

Similar to asynchronous messages, if the synchronous message fits to
the stream buffer, the message is sent via the buffer. Same with the
reply.

If the message or reply is not sent via the stream buffer, it is sent via
the normal IPC.

The client protocol is:
1) Write the message to the buffer and release it.
2) Wait until the server releases the whole buffer back to the client.
3) Read the reply from index 0.
4) Continue sending next message from index 0.

The server protocol is upon receiving a message that is synchronous:
1) Read the message from the message position, dispatch it.
2) Write the reply to index 0.
3) Release the whole buffer back to the client.
4) Continue reading next message from index 0.

The client will not know at the send time whether the server will reply
via the stream or via normal IPC message. The client will reserve
a IPC sync request ID for normal IPC reply purposes.

In case a message or a reply does not fit to the stream buffer, the
ProcessOutOfStreamMessage message is written to the buffer instead.
This will make the reader to wait for the normal IPC message.

Changes temporarily so that the creation of the context waits for the
confirmation that the creation was done. This is due to synchrononous
stream send unable to deliver the WasCreated message during
wait for reply, at the moment.

  • GPUProcess/graphics/RemoteGraphicsContextGL.messages.in:
  • Platform/IPC/ArgumentCoder.h:
  • Platform/IPC/ArgumentCoders.h:
  • Platform/IPC/Connection.cpp:

(IPC::Connection::createSyncMessageEncoder):
(IPC::Connection::pushPendingSyncRequestID):
(IPC::Connection::popPendingSyncRequestID):
(IPC::Connection::sendSyncMessage):

  • Platform/IPC/Connection.h:

(IPC::Connection::makeSyncRequestID):
Move the code from sendSyncMessage to individual functions so
that the client can reserve a sync request ID for reply purposes.

  • Platform/IPC/StreamClientConnection.h:

(IPC::StreamClientConnection::send):
(IPC::StreamClientConnection::trySendStream):
(IPC::StreamClientConnection::sendSync):
(IPC::StreamClientConnection::trySendSyncStream):
(IPC::StreamClientConnection::tryAcquireAll):

  • Platform/IPC/StreamConnectionBuffer.h:
  • Platform/IPC/StreamServerConnection.cpp:

(IPC::StreamServerConnectionBase::acquireAll):
(IPC::StreamServerConnectionBase::release):
(IPC::StreamServerConnectionBase::releaseAll):

  • Platform/IPC/StreamServerConnection.h:

(IPC::StreamServerConnectionBase::sendSyncReply):
The implementation.

(IPC::StreamServerConnectionBase::tryAcquire):
(IPC::StreamServerConnection<Receiver>::dispatchStreamMessages):
Fix a typo StreamServerConnectionBase::tryAquire

(IPC::StreamServerConnection<Receiver>::dispatchStreamMessage):
If the message comes in as normal IPC message, it must be replied
via normal IPC.

Add a flag m_isDispatchingStreamMessage to indicate whether the
message being processed comes as a normal IPC message or a
stream message. This information must be stateful in the connection
class, as it is not passable as arguments when the execution goes through:

StreamServerConnection<Receiver>::dispatchStreamMessage()
Receiver::didReceiveStreamMessage()
handleMessageSynchronous()
StreamServerConnection<Receiver>::sendSyncReply()

  • Scripts/webkit/messages.py:

Add properties NotStreamEncodable, NotStreamEncodableReply
that indicate if the message parameters are such that they
cannot be encoded into plain data buffer as values.
This is encoded as 'constexpr bool isStreamEncodable' and
'constexpr bool isStreamEncodableReply' for the stream messages.

  • Scripts/webkit/tests/MessageArgumentDescriptions.cpp:

(IPC::jsValueForArguments):
(IPC::messageArgumentDescriptions):

  • Scripts/webkit/tests/MessageNames.cpp:

(IPC::description):
(IPC::receiverName):
(IPC::isValidMessageName):

  • Scripts/webkit/tests/MessageNames.h:
  • Scripts/webkit/tests/TestWithIfMessageMessages.h:
  • Scripts/webkit/tests/TestWithImageDataMessages.h:
  • Scripts/webkit/tests/TestWithLegacyReceiverMessages.h:
  • Scripts/webkit/tests/TestWithSemaphoreMessages.h:
  • Scripts/webkit/tests/TestWithStream.messages.in:
  • Scripts/webkit/tests/TestWithStreamBufferMessages.h:
  • Scripts/webkit/tests/TestWithStreamMessageReceiver.cpp:

(WebKit::TestWithStream::didReceiveStreamMessage):

  • Scripts/webkit/tests/TestWithStreamMessages.h:

(Messages::TestWithStream::SendMachSendRight::name):
(Messages::TestWithStream::SendMachSendRight::SendMachSendRight):
(Messages::TestWithStream::SendMachSendRight::arguments const):
(Messages::TestWithStream::ReceiveMachSendRight::name):
(Messages::TestWithStream::ReceiveMachSendRight::arguments const):
(Messages::TestWithStream::SendAndReceiveMachSendRight::name):
(Messages::TestWithStream::SendAndReceiveMachSendRight::SendAndReceiveMachSendRight):
(Messages::TestWithStream::SendAndReceiveMachSendRight::arguments const):

  • Scripts/webkit/tests/TestWithSuperclassMessages.h:
  • Scripts/webkit/tests/TestWithoutAttributesMessages.h:

Test changes related to NotStreamEncodable, NotStreamEncodableReply.

Other changes indicate an auxiliary change to message structs:
changing 'const bool isSync' to 'constexpr bool isSync'.
This is done for consistency, since 'isStreamEncodable*' properties
are also added as constexpr.

  • Shared/WebCoreArgumentCoders.cpp:
  • Shared/WebCoreArgumentCoders.h:

Make types that are WebGL sync message parameters or reply parameters
now encodable to a stream by making the encoder part a template.
Previously these were sent only by normal IPC, and did not need
to be polymorphic to the encoder.

Tools:

Mark PrepareForDisplay() as "not replyable through the stream"
since it replies with MachSendRight.

  • Scripts/generate-gpup-webgl:
12:51 PM Changeset in webkit [274432] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Avoid doing a heap allocation in AudioParam::calculateFinalValues() on the audio thread
https://bugs.webkit.org/show_bug.cgi?id=223197
<rdar://60700260>

Reviewed by Jer Noble.

Avoid doing a heap allocation in AudioParam::calculateFinalValues() on the audio thread, for
performance reasons.

  • Modules/webaudio/AudioParam.cpp:

(WebCore::AudioParam::AudioParam):
(WebCore::AudioParam::calculateFinalValues):

  • Modules/webaudio/AudioParam.h:
12:34 PM Changeset in webkit [274431] by Robert Jenner
  • 2 edits in trunk/LayoutTests

[ macOS wk2 ARM64 ] http/tests/local/loading-stylesheet-import-remove.html is a flakey image failure
https://bugs.webkit.org/show_bug.cgi?id=223206

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations: Updating test expectations to Pass ImageOnlyFailure while test is being looked at.
12:32 PM WebKitGTK/2.32.x edited by Michael Catanzaro
(diff)
12:28 PM WebKitGTK/2.32.x edited by Michael Catanzaro
(diff)
11:54 AM Changeset in webkit [274430] by youenn@apple.com
  • 11 edits in trunk

Update getUserMedia delegate to expose frame info
https://bugs.webkit.org/show_bug.cgi?id=223178

Reviewed by Eric Carlson.

Source/WebKit:

Covered by API test.

  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::UIClient::decidePolicyForUserMediaPermissionRequest):
Expose frame information in the permission delegate.

Tools:

  • TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:

(-[UserMediaCaptureUIDelegateForParameters _webView:requestMediaCapturePermissionForOrigin:initiatedByFrame:audio:video:decisionHandler:]):

  • TestWebKitAPI/Tests/WebKit/GetUserMediaNavigation.mm:

(-[NavigationWhileGetUserMediaPromptDisplayedUIDelegate _webView:requestMediaCapturePermissionForOrigin:initiatedByFrame:audio:video:decisionHandler:]):
(-[NavigationWhileGetUserMediaPromptDisplayedUIDelegate _webView:requestMediaCapturePermission:video:decisionHandler:]): Deleted.

  • TestWebKitAPI/Tests/WebKitCocoa/SpeechRecognition.mm:

(-[SpeechRecognitionUIDelegate _webView:requestMediaCapturePermissionForOrigin:initiatedByFrame:audio:video:decisionHandler:]):
(-[SpeechRecognitionUIDelegate _webView:requestMediaCapturePermission:video:decisionHandler:]): Deleted.

  • TestWebKitAPI/Tests/WebKitCocoa/UserMediaDisabled.mm:

(-[UserMediaUIDelegate _webView:requestMediaCapturePermissionForOrigin:initiatedByFrame:audio:video:decisionHandler:]):
(-[UserMediaUIDelegate _webView:requestMediaCapturePermission:video:decisionHandler:]): Deleted.

  • TestWebKitAPI/Tests/WebKitCocoa/UserMediaSimulateFailedSandbox.mm:

(-[SimulateFailedSandboxUIDelegate _webView:requestMediaCapturePermissionForOrigin:initiatedByFrame:audio:video:decisionHandler:]):
(-[SimulateFailedSandboxUIDelegate _webView:requestMediaCapturePermission:video:decisionHandler:]): Deleted.

  • TestWebKitAPI/cocoa/UserMediaCaptureUIDelegate.h:
  • TestWebKitAPI/cocoa/UserMediaCaptureUIDelegate.mm:

(-[UserMediaCaptureUIDelegate _webView:requestMediaCapturePermissionForOrigin:initiatedByFrame:audio:video:decisionHandler:]):
(-[UserMediaCaptureUIDelegate _webView:requestMediaCapturePermission:video:decisionHandler:]): Deleted.

10:41 AM Changeset in webkit [274429] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Stop calling [NSHTTPCookieStorage sharedHTTPCookieStorage] in the WebProcess
https://bugs.webkit.org/show_bug.cgi?id=223186
<rdar://75018105>

Reviewed by Geoffrey Garen.

NetworkStorageSession::nsCookieStorage() was calling [NSHTTPCookieStorage sharedHTTPCookieStorage]
even if cookieStorage() is not nil. I updated the condition so that we do not attempt to call
[NSHTTPCookieStorage sharedHTTPCookieStorage] when the m_isInMemoryCookieStore flag is set. The
WebProcess is using an in-memory cookie store (thus has m_isInMemoryCookieStore flag set) and
is definitely not using the shared HTTP cookie store.

  • platform/network/cocoa/NetworkStorageSessionCocoa.mm:

(WebCore::NetworkStorageSession::nsCookieStorage const):

10:38 AM Changeset in webkit [274428] by Angelos Oikonomopoulos
  • 2 edits in trunk/Source/JavaScriptCore

postprocess-asm/resolve-asm-file-conflicts.rb build failure after upgrading to F34
https://bugs.webkit.org/show_bug.cgi?id=223136

Reviewed by Michael Catanzaro.

When parsing .file assembler directives (for the purpose of
deduplicating the file slots), also accept

.file "path/to/CWD" "path/to/include"

that seems to be emitted by GCC in some configurations. This also
uses Pathname.cleanpath on the resulting path to canonicalize the
paths. We could use .realpath, but since we only run this on the
paths in a single compilation unit and the first component is
supposed to be the CWD, this both seems unnecessary and would
complicate our selftests.

  • Scripts/resolve-asm-file-conflicts.rb:
10:34 AM Changeset in webkit [274427] by Alan Coon
  • 1 copy in tags/Safari-612.1.5.5

Tag Safari-612.1.5.5.

10:30 AM Changeset in webkit [274426] by Alan Coon
  • 8 edits in branches/safari-612.1.5-branch/Source

Versioning.

WebKit-7612.1.5.5

10:02 AM Changeset in webkit [274425] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

Add a WebAudio quirk for Zoom
https://bugs.webkit.org/show_bug.cgi?id=223180
<rdar://75070331>

Reviewed by Eric Carlson.

Manually tested.

  • page/Quirks.cpp:

(WebCore::Quirks::shouldAutoplayWebAudioForArbitraryUserGesture const):
This allows playing audio through web audio even in cases where microphone is not yet granted or denied.

9:44 AM Changeset in webkit [274424] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Turn CSS aspect-ratio on by default
https://bugs.webkit.org/show_bug.cgi?id=223117

Patch by Rob Buis <rbuis@igalia.com> on 2021-03-15
Reviewed by Simon Fraser.

Turn CSS aspect-ratio on by default.

  • Scripts/Preferences/WebPreferencesExperimental.yaml:
9:42 AM WebKitGTK/2.32.x edited by Philippe Normand
(diff)
9:39 AM Changeset in webkit [274423] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

REGRESSION(r233845): EME Keysystem permission when MediaStream is disabled
https://bugs.webkit.org/show_bug.cgi?id=223185

Patch by Philippe Normand <pnormand@igalia.com> on 2021-03-15
Reviewed by Eric Carlson.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::requestMediaKeySystemPermissionForFrame): This method is required for
EME build configurations, not MediaStream...

9:08 AM Changeset in webkit [274422] by Peng Liu
  • 7 edits in trunk

[GPUP][MSE] Add an IPC message to implement SourceBufferPrivateRemote::canSwitchToType()
https://bugs.webkit.org/show_bug.cgi?id=223152

Reviewed by Eric Carlson.

Source/WebKit:

Add a synchronous message to implement SourceBufferPrivateRemote::canSwitchToType().

No new tests. This patch fixes a test failure.

  • GPUProcess/media/RemoteSourceBufferProxy.cpp:

(WebKit::RemoteSourceBufferProxy::canSwitchToType):

  • GPUProcess/media/RemoteSourceBufferProxy.h:
  • GPUProcess/media/RemoteSourceBufferProxy.messages.in:
  • WebProcess/GPU/media/SourceBufferPrivateRemote.cpp:

(WebKit::SourceBufferPrivateRemote::canSwitchToType):

LayoutTests:

  • platform/mac/TestExpectations:
8:52 AM WebKitGTK/2.32.x edited by Philippe Normand
(diff)
8:20 AM Changeset in webkit [274421] by Alan Bujtas
  • 4 edits
    2 adds in trunk

Fit-border-to-line may change the layout constraints between 2 paginated line layouts
https://bugs.webkit.org/show_bug.cgi?id=223169
<rdar://73147358>

Reviewed by Antti Koivisto.

Source/WebCore:

In paginated context, we keep triggering layout until all the widows/orphans are cleared.
This happens within the same layout frame (in practice this is a recursive call in
RenderBlockFlow::layoutBlock -see relayoutToAvoidWidows).
The constraints for these subsequent/recursive layouts should stay the same in order
to be able to clear any potential widows/orphans
(e.g first layout produces 5 lines but we can only have 3 on this page due to the widow/orphan values.
Now the subsequent/recursive layout is going to break the content at the 3rd line,
but if the constraints change in between and this layout only produces 2 lines, we'll keep trying
until we manage to produce at least 3 lines. Fit-border-to-line implemented in such an intrusive way that
it overrides previously computed logical width (mutates the constraint) -see RenderBlockFlow::fitBorderToLinesIfNeeded)

This patch ensures that we bail out of the recursive re-layout if we fail to produce the same set of lines.

Test: fast/multicol/widow-relayout-with-border-fit.html

  • rendering/ComplexLineLayout.cpp:

(WebCore::ComplexLineLayout::layoutRunsAndFloatsInRange):

LayoutTests:

  • fast/multicol/widow-relayout-with-border-fit-expected.txt: Added.
  • fast/multicol/widow-relayout-with-border-fit.html: Added.
6:36 AM Changeset in webkit [274420] by Wenson Hsieh
  • 5 edits
    5 adds in trunk

[macOS] Selecting text via mouse drag in image documents shouldn't trigger click events
https://bugs.webkit.org/show_bug.cgi?id=223075
<rdar://problem/75334611>

Reviewed by Tim Horton.

Source/WebCore:

Improve image overlay support in image documents, by setting -webkit-user-select: text; on the image overlay
container and cursor: text; on each of the text children. Additionally, make it so that text selection in
image overlays doesn't trigger a click event, so that attempting to select text doesn't trigger click events.

Tests: fast/images/image-extraction/mac/select-image-overlay-with-mouse-drag-does-not-fire-click.html

fast/images/image-extraction/mac/select-image-overlay-with-mouse-drag.html

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::isImageOverlayText):

Make a slight adjustment here to handle the case where the host element's shadow root is not installed by the
user agent, and also so that we return true for all nodes underneath the image overlay container as well (not
just text nodes). See DragController change below for more details.

(WebCore::HTMLElement::updateWithImageExtractionResult):

  • page/DragController.cpp:

(WebCore::DragController::draggableElement const):

Make another adjustment to DragController::draggableElement, such that we don't initiate image drags when
dragging over text inside the image overlay. Note that this does not prevent drag start when the text is
selected, since that does not result in an image drag (i.e., DragSourceAction::Image).

  • page/EventHandler.cpp:

(WebCore::EventHandler::updateSelectionForMouseDrag):

LayoutTests:

Add a couple of new layout tests to exercise the new behavior.

  • fast/images/image-extraction/mac/select-image-overlay-with-mouse-drag-does-not-fire-click-expected.txt: Added.
  • fast/images/image-extraction/mac/select-image-overlay-with-mouse-drag-does-not-fire-click.html: Added.
  • fast/images/image-extraction/mac/select-image-overlay-with-mouse-drag-expected-mismatch.html: Added.
  • fast/images/image-extraction/mac/select-image-overlay-with-mouse-drag.html: Added.
6:18 AM Changeset in webkit [274419] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Treat min-intrinsic like *-content
https://bugs.webkit.org/show_bug.cgi?id=222854

Patch by Rob Buis <rbuis@igalia.com> on 2021-03-15
Reviewed by Sergio Villar Senin.

Source/WebCore:

Treat min-intrinsic like *-content for intrinsic logical
content calculations.

Test: fast/flexbox/indefinite-width-crash.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeIntrinsicLogicalContentHeightUsing const):
(WebCore::RenderBox::computeContentAndScrollbarLogicalHeightUsing const):

LayoutTests:

Add test for this.

  • fast/flexbox/indefinite-width-crash-expected.txt: Added.
  • fast/flexbox/indefinite-width-crash.html: Added.
6:15 AM Changeset in webkit [274418] by Lauro Moura
  • 2 edits in trunk/Tools

[GLIB] Filter cppfilt output when generating crash logs
https://bugs.webkit.org/show_bug.cgi?id=223171

Reviewed by Carlos Garcia Campos.

Like the output from other external commands, the output of cppfilt
must also be decoded.

This should fix the early exits due to unicode exceptions when
running the GTK4 bot layout tests.

  • Scripts/webkitpy/port/linux_get_crash_log.py:

(GDBCrashLogGenerator.generate_crash_log): Decode cppfilt output.

6:15 AM Changeset in webkit [274417] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

[GLIB] Be more selective about bublewrapping libdirs
https://bugs.webkit.org/show_bug.cgi?id=221709

Patch by Daniel Kolesa <Daniel Kolesa> on 2021-03-15
Reviewed by Carlos Garcia Campos.

On 32-bit systems, bubblewrap lib32 instead of lib64. This unbreaks
sandbox on some distributions that have lib32 (which glibc defaults
its ld cache lookups to) but configure default libdir to lib rather
than lib32.

  • UIProcess/Launcher/glib/BubblewrapLauncher.cpp:

(WebKit::bubblewrapSpawn):

6:00 AM Changeset in webkit [274416] by imanol
  • 12 edits
    1 add in trunk

Split WebXR features into enabledFeatures, supportedFeatures and requestedFeatures
https://bugs.webkit.org/show_bug.cgi?id=222796

Reviewed by Sergio Villar Senin.

LayoutTests/imported/w3c:

Update xrSession_requestReferenceSpace_features expectations.

  • web-platform-tests/webxr/xrSession_requestReferenceSpace_features.https-expected.txt: Added.

Source/WebCore:

Currently enabledFeatures array is used both for checking supported and enabled features. This is causing some tests to fail,
such as "test that reference spaces that aren't default features are rejected when not requested as a feature".

This patchs splits WebXR features into:

  • enabledFeatures: features thas has been granted by the permission system.
  • supportedFeatures: features that the device supports.
  • requestedFeatures: specific features that have been enabled for a specific session.

Tested by xrSession_requestReferenceSpace_features.html

  • Modules/webxr/WebXRSession.cpp:

(WebCore::WebXRSession::create):
(WebCore::WebXRSession::WebXRSession):
(WebCore::WebXRSession::referenceSpaceIsSupported const):

  • Modules/webxr/WebXRSession.h:
  • Modules/webxr/WebXRSystem.cpp:

(WebCore::WebXRSystem::resolveRequestedFeatures const):
(WebCore::WebXRSystem::resolveFeaturePermissions const):
(WebCore::WebXRSystem::requestSession):
(WebCore::WebXRSystem::DummyInlineDevice::DummyInlineDevice):

  • Modules/webxr/WebXRSystem.h:
  • platform/xr/PlatformXR.h:

(PlatformXR::Device::setSupportedFeatures):
(PlatformXR::Device::supportedFeatures const):

  • platform/xr/openxr/PlatformXROpenXR.cpp:

(PlatformXR::OpenXRDevice::collectSupportedFeatures):
(PlatformXR::OpenXRDevice::collectSupportedSessionModes):

  • platform/xr/openxr/PlatformXROpenXR.h:
  • testing/WebXRTest.cpp:

(WebCore::WebXRTest::simulateDeviceConnection):

LayoutTests:

Update xrSession_requestReferenceSpace_features expectations.

  • platform/wpe/TestExpectations:
6:00 AM Changeset in webkit [274415] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

CSS aspect-ratio interpolation
https://bugs.webkit.org/show_bug.cgi?id=220848

Patch by Rob Buis <rbuis@igalia.com> on 2021-03-15
Reviewed by Antoine Quint.

LayoutTests/imported/w3c:

Import relevant test.

  • web-platform-tests/css/css-sizing/animation/aspect-ratio-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-sizing/animation/aspect-ratio-interpolation.html: Added.

Source/WebCore:

Implement CSS aspect-ratio interpolation as defined here:
https://drafts.csswg.org/css-values/#combine-ratio

Test: imported/w3c/web-platform-tests/css/css-sizing/animation/aspect-ratio-interpolation.html

  • animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

5:45 AM Changeset in webkit [274414] by commit-queue@webkit.org
  • 17 edits in trunk/Source

Move vertex array functionality from ExtensionsGL to GraphicsContextGL
https://bugs.webkit.org/show_bug.cgi?id=221665

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-03-15
Reviewed by Simon Fraser.

Source/WebCore:

There's no benefit in using ExtensionsGL, it is just adding bugs.
This commit is working towards removing ExtensionsGL.

The vertex array functionality already exists in GraphicsContextGL, use
it from there.

In WebGL1 case, the OES extension is used.

In WebGL2 case, all the functions end up calling the same functionality
underneath, regardless if client calls WebGL2 function or WebGL1
extension function.

ANGLE GenVertexArrays is the same function as GenVertexArraysOES except
GenVertexArrays is not enabled for ES 2.0 contexts.

No new tests, tested by WebGL conformance.

  • html/canvas/OESVertexArrayObject.cpp:

(WebCore::OESVertexArrayObject::isVertexArrayOES):
(WebCore::OESVertexArrayObject::bindVertexArrayOES):

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::getParameter):

  • html/canvas/WebGLVertexArrayObjectOES.cpp:

(WebCore::WebGLVertexArrayObjectOES::WebGLVertexArrayObjectOES):
(WebCore::WebGLVertexArrayObjectOES::deleteObjectImpl):

  • platform/graphics/ExtensionsGL.h:
  • platform/graphics/GraphicsContextGL.h:
  • platform/graphics/angle/ExtensionsGLANGLE.cpp:
  • platform/graphics/angle/ExtensionsGLANGLE.h:
  • platform/graphics/angle/GraphicsContextGLANGLE.cpp:

(WebCore::GraphicsContextGLOpenGL::createVertexArray):
(WebCore::GraphicsContextGLOpenGL::deleteVertexArray):
(WebCore::GraphicsContextGLOpenGL::isVertexArray):
(WebCore::GraphicsContextGLOpenGL::bindVertexArray):

  • platform/graphics/opengl/ExtensionsGLOpenGL.cpp:

(WebCore::ExtensionsGLOpenGL::createVertexArrayOES):
(WebCore::ExtensionsGLOpenGL::deleteVertexArrayOES):
(WebCore::ExtensionsGLOpenGL::isVertexArrayOES):
(WebCore::ExtensionsGLOpenGL::bindVertexArrayOES):

  • platform/graphics/opengl/ExtensionsGLOpenGLCommon.h:
  • platform/graphics/opengl/GraphicsContextGLOpenGLCommon.cpp:

(WebCore::GraphicsContextGLOpenGL::createVertexArray):
(WebCore::GraphicsContextGLOpenGL::deleteVertexArray):
(WebCore::GraphicsContextGLOpenGL::isVertexArray):
(WebCore::GraphicsContextGLOpenGL::bindVertexArray):

Source/WebKit:

Generate WebGL GPUP implementation after the change.

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

(getGraphicsResetStatusARB):

  • WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:
  • WebProcess/GPU/graphics/RemoteGraphicsContextGLProxyFunctionsGenerated.cpp:
4:34 AM Changeset in webkit [274413] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

RemoteRenderingBackend commands are not processed in order if GPU process is waiting for replies
https://bugs.webkit.org/show_bug.cgi?id=222099

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-03-15
Reviewed by Simon Fraser.

Mark all asynchronous message sends with DispatchMessageEvenWhenWaitingForSyncReply.
Otherwise synchronous messages will be dispatched before asynchronous messages.
The messages are temporally dependent.

Consider initial message exchange in canvas-blending-color-over-image.html:
GPUConnectionToWebProcess_CreateRenderingBackend
RemoteRenderingBackend_CreateImageBuffer
RemoteRenderingBackend_DidCreateSharedDisplayListHandle
RemoteRenderingBackend_CreateImageBuffer
RemoteRenderingBackend_WakeUpAndApplyDisplayList
RemoteRenderingBackend_GetDataURLForImageBuffer
RemoteRenderingBackendProxy_DidCreateImageBufferBackend
RemoteRenderingBackendProxy_DidCreateImageBufferBackend

If GPU process is waiting for a sync reply when the sequence up
until GetDataURL.. arrives, then the dispatch order is:

GPUConnectionToWebProcess_CreateRenderingBackend
RemoteRenderingBackend_GetDataURLForImageBuffer

[... rest of the messages]

This is a rare case, affects only the case where:
1) These messages arrive before main thread processes the message queue
2) GPU process has sent a synchronous message and is waiting for a reply

In base case after RenderingBackend has been created and the work queue
receive queue has been installed, all messages are moved to the work
queue thread and dispatched in order of arrival.

No new tests, timing dependent and WebKit code cannot be
unit tested.

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:

(WebKit::RemoteRenderingBackendProxy::~RemoteRenderingBackendProxy):
(WebKit::RemoteRenderingBackendProxy::reestablishGPUProcessConnection):
(WebKit::RemoteRenderingBackendProxy::createImageBuffer):
(WebKit::RemoteRenderingBackendProxy::cacheNativeImage):
(WebKit::RemoteRenderingBackendProxy::cacheFont):
(WebKit::RemoteRenderingBackendProxy::deleteAllFonts):
(WebKit::RemoteRenderingBackendProxy::releaseRemoteResource):
(WebKit::RemoteRenderingBackendProxy::sendWakeupMessage):
(WebKit::RemoteRenderingBackendProxy::createItemBuffer):

4:33 AM Changeset in webkit [274412] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit

Simulated WebGL context screen change events should work with GPU process
https://bugs.webkit.org/show_bug.cgi?id=223121

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-03-15
Reviewed by Darin Adler.

Add a hunk missing from "WebGL context screen change events should work with GPU process"
that implements the context-specific event for simulating the context change.

Fixes

fast/canvas/webgl/webglcontextchangedevent.html

  • GPUProcess/graphics/RemoteGraphicsContextGL.cpp:

(WebKit::RemoteGraphicsContextGL::simulateEventForTesting):

4:27 AM Changeset in webkit [274411] by svillar@igalia.com
  • 6 edits in trunk

Do not shrink radio buttons bellow its size
https://bugs.webkit.org/show_bug.cgi?id=215575

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-flexbox/radiobutton-min-size-expected.txt: Replaced FAIL by PASS expectations.

Source/WebCore:

A radio button used as a flex item would be invisible by default because it'll compute is
min-size to 0. That's why we should not let them shrink below their size (width/height).

  • platform/Theme.cpp:

(WebCore::Theme::minimumControlSize const): Do not let Radio buttons shrink bellow their size.

  • platform/Theme.h: make minimumControlSize() protected. Add a new non-virtual method with the same parameter

plus another one (the minimum size under which we cannot shrink) which calls the virtual method.

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::adjustStyle): Pass the {style.width(),style.height()} as the minimum size under which
we should not shrink the control.

4:15 AM Changeset in webkit [274410] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

REGRESSION(r270185) [GTK] Some webgl failures after multivalue setter refactor
https://bugs.webkit.org/show_bug.cgi?id=219340

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-03-15
Reviewed by Simon Fraser.

Construct the simulated vertex attrib 0 buffer GCGLSpan with correct size -- the
pointer is GCGLfloat, so the length should be the count of floats.

No new tests, tested by the regressed tests:
fast/canvas/webgl/gl-bind-attrib-location-test.html
fast/canvas/webgl/gl-bind-attrib-mapped-names.html
webgl/1.0.3/conformance/attribs/gl-disabled-vertex-attrib.html
webgl/1.0.3/conformance/extensions/angle-instanced-arrays-out-of-bounds.html
webgl/1.0.3/conformance/programs/gl-bind-attrib-location-long-names-test.html
webgl/1.0.3/conformance/programs/gl-bind-attrib-location-test.html
webgl/1.0.3/conformance/rendering/draw-elements-out-of-bounds.html

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::simulateVertexAttrib0):

12:36 AM Changeset in webkit [274409] by graouts@webkit.org
  • 2 edits in trunk/Source/WebCore

Improve coding style of CSSPropertyAnimation.cpp
https://bugs.webkit.org/show_bug.cgi?id=223148

Reviewed by Darin Adler.

As much as possible, do the following:

  1. mark classes as final
  2. mark overridden methods as final
  3. move overridden methods in private sections
  4. failing that, move them to protected sections
  5. stay clear from abbreviated terms
    • prop => property
    • anim => client
    • dst => destination
  6. use from/to as parameter names instead of a/b for any method where the role of the parameters warrant it (eg. blend, canInterpolate)

This should greatly improve the coding style used throughout CSSPropertyAnimation.cpp
and make it cohesive.

  • animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc):
(WebCore::blendFilterOperations):
(WebCore::blendFilter):
(WebCore::AnimationPropertyWrapperBase::AnimationPropertyWrapperBase):
(WebCore::AnimationPropertyWrapperBase::property const):
(WebCore::PropertyWrapperGetter::PropertyWrapperGetter):
(WebCore::PropertyWrapperGetter::value const):
(WebCore::PropertyWrapper::PropertyWrapper):
(WebCore::RefCountedPropertyWrapper::RefCountedPropertyWrapper):
(WebCore::canInterpolateLengths):
(WebCore::canInterpolateLengthVariants):
(WebCore::NonNegativeFloatPropertyWrapper::NonNegativeFloatPropertyWrapper):
(WebCore::CSSPropertyAnimation::blendProperties):
(WebCore::CSSPropertyAnimation::isPropertyAnimatable):
(WebCore::CSSPropertyAnimation::animationOfPropertyIsAccelerated):
(WebCore::CSSPropertyAnimation::propertiesEqual):
(WebCore::CSSPropertyAnimation::canPropertyBeInterpolated):
(WebCore::DiscretePropertyWrapper::DiscretePropertyWrapper): Deleted.
(WebCore::LengthPropertyWrapper::LengthPropertyWrapper): Deleted.
(WebCore::LengthVariantPropertyWrapper::LengthVariantPropertyWrapper): Deleted.
(WebCore::LengthBoxPropertyWrapper::LengthBoxPropertyWrapper): Deleted.
(WebCore::PropertyWrapperClipPath::PropertyWrapperClipPath): Deleted.
(WebCore::PropertyWrapperFontVariationSettings::PropertyWrapperFontVariationSettings): Deleted.
(WebCore::PropertyWrapperShape::PropertyWrapperShape): Deleted.
(WebCore::StyleImagePropertyWrapper::StyleImagePropertyWrapper): Deleted.
(WebCore::AcceleratedPropertyWrapper::AcceleratedPropertyWrapper): Deleted.
(WebCore::PropertyWrapperFilter::PropertyWrapperFilter): Deleted.
(WebCore::PropertyWrapperShadow::PropertyWrapperShadow): Deleted.
(WebCore::PropertyWrapperShadow::blendSimpleOrMatchedShadowLists const): Deleted.
(WebCore::PropertyWrapperShadow::blendMismatchedShadowLists const): Deleted.
(WebCore::PropertyWrapperMaybeInvalidColor::PropertyWrapperMaybeInvalidColor): Deleted.
(WebCore::PropertyWrapperMaybeInvalidColor::value const): Deleted.
(WebCore::PropertyWrapperVisitedAffectedColor::PropertyWrapperVisitedAffectedColor): Deleted.
(WebCore::FillLayerPropertyWrapper::FillLayerPropertyWrapper): Deleted.
(WebCore::FillLayerPositionPropertyWrapper::FillLayerPositionPropertyWrapper): Deleted.
(WebCore::FillLayerStyleImagePropertyWrapper::FillLayerStyleImagePropertyWrapper): Deleted.
(WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper): Deleted.
(WebCore::ShorthandPropertyWrapper::ShorthandPropertyWrapper): Deleted.
(WebCore::ShorthandPropertyWrapper:: const): Deleted.
(WebCore::PropertyWrapperFlex::PropertyWrapperFlex): Deleted.
(WebCore::PropertyWrapperSVGPaint::PropertyWrapperSVGPaint): Deleted.
(WebCore::PropertyWrapperFontStyle::PropertyWrapperFontStyle): Deleted.
(WebCore::AutoPropertyWrapper::AutoPropertyWrapper): Deleted.
(WebCore::PerspectiveWrapper::PerspectiveWrapper): Deleted.
(WebCore::CSSPropertyAnimationWrapperMap::singleton): Deleted.
(WebCore::CSSPropertyAnimationWrapperMap::wrapperForProperty): Deleted.
(WebCore::CSSPropertyAnimationWrapperMap::wrapperForIndex): Deleted.
(WebCore::CSSPropertyAnimationWrapperMap::size): Deleted.
(WebCore::CSSPropertyAnimationWrapperMap::indexFromPropertyID): Deleted.

Note: See TracTimeline for information about the timeline view.