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

Timeline



Dec 1, 2021:

10:27 PM Changeset in webkit [286414] by sihui_liu@apple.com
  • 21 edits in trunk

FileSystemSyncAccessHandle should be invalidated when network process crashes
https://bugs.webkit.org/show_bug.cgi?id=232605
<rdar://problem/85187706>

Reviewed by Youenn Fablet.

Source/WebCore:

Make FileSystemStorageConnection keep track of FileSystemSyncAccessHandle. When connection is closed, or access
handle is explicitly invalidated (for example, due to file deletion in the backend), FileSystemStorageConnection
will invalidate FileSystemSyncAccessHandle.

Normally, to close a FileSystemSyncAccessHandle (when close() is called or context stops), we need to:

  1. close file descriptor (FileSystemSyncAccessHandle::closeFile)
  2. notify backend about close (FileSystemSyncAccessHandle::closeBackend)
  3. get close result and complete callbacks (FileSystemSyncAccessHandle::didCloseBackend)

For invalidation case, we only need to perform step 1 and 3 because connection to backend is lost or backend
initiates the close.

API test: FileSystemAccess.NetworkProcessCrashDuringWrite

  • Headers.cmake:
  • Modules/cache/WindowOrWorkerGlobalScopeCaches.cpp:
  • Modules/filesystemaccess/FileSystemFileHandle.cpp:

(WebCore::FileSystemFileHandle::registerSyncAccessHandle):
(WebCore::FileSystemFileHandle::unregisterSyncAccessHandle):

  • Modules/filesystemaccess/FileSystemFileHandle.h:
  • Modules/filesystemaccess/FileSystemStorageConnection.h:

(WebCore::FileSystemStorageConnection::isWorker const):

  • Modules/filesystemaccess/FileSystemSyncAccessHandle.cpp:

(WebCore::FileSystemSyncAccessHandle::FileSystemSyncAccessHandle):
(WebCore::FileSystemSyncAccessHandle::~FileSystemSyncAccessHandle):
(WebCore::FileSystemSyncAccessHandle::closeInternal):
(WebCore::FileSystemSyncAccessHandle::closeFile):
(WebCore::FileSystemSyncAccessHandle::didCloseFile):
(WebCore::FileSystemSyncAccessHandle::closeBackend):
(WebCore::FileSystemSyncAccessHandle::didCloseBackend):
(WebCore::FileSystemSyncAccessHandle::invalidate):
(WebCore::FileSystemSyncAccessHandle::didClose): Deleted.

  • Modules/filesystemaccess/FileSystemSyncAccessHandle.h:
  • Modules/filesystemaccess/WorkerFileSystemStorageConnection.cpp:

(WebCore::WorkerFileSystemStorageConnection::connectionClosed):
(WebCore::WorkerFileSystemStorageConnection::registerSyncAccessHandle):
(WebCore::WorkerFileSystemStorageConnection::unregisterSyncAccessHandle):
(WebCore::WorkerFileSystemStorageConnection::invalidateAccessHandle):

  • Modules/filesystemaccess/WorkerFileSystemStorageConnection.h:

(isType):

  • Modules/mediastream/RTCRtpScriptTransformer.cpp:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/BroadcastChannel.cpp:
  • workers/WorkerGlobalScope.cpp:
  • workers/WorkerGlobalScope.h:
  • workers/WorkerOrWorkletScriptController.cpp:

Source/WebKit:

  • WebProcess/WebCoreSupport/WebFileSystemStorageConnection.cpp:

(WebKit::WebFileSystemStorageConnection::connectionClosed):
(WebKit::WebFileSystemStorageConnection::registerSyncAccessHandle):
(WebKit::WebFileSystemStorageConnection::unregisterSyncAccessHandle):
(WebKit::WebFileSystemStorageConnection::invalidateAccessHandle):

  • WebProcess/WebCoreSupport/WebFileSystemStorageConnection.h:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/FileSystemAccess.mm:

(test):
(keepAccessHandleActive):

10:05 PM Changeset in webkit [286413] by Chris Dumez
  • 10 edits in trunk

validity.valueMissing should not rely on element's disabled state for inputs of type radio/file/checkbox
https://bugs.webkit.org/show_bug.cgi?id=233735

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline WPT tests now that more checks are passing.

  • web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/radio-valueMissing-expected.txt:

Source/WebCore:

validity.valueMissing should not rely on element's disabled state for inputs of type radio/file/checkbox:

This was causing us to fail a few WPT tests that are passing in both Blink and Gecko.

  • html/BaseDateAndTimeInputType.cpp:

(WebCore::BaseDateAndTimeInputType::valueMissing const):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::valueMissing const):

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::valueMissing const):

LayoutTests:

Rebaseline WPT tests now that more checks are passing.

  • platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt:
9:03 PM Changeset in webkit [286412] by Patrick Angle
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Console execution context can become an unexpected selection on refresh/navigation
https://bugs.webkit.org/show_bug.cgi?id=233349

Reviewed by Devin Rousso.

There are really three bugs here in WI.QuickConsole.prototype._handleFrameExecutionContextsCleared, each of
which contribute to unexpected execution context selections.

  1. If the frame of the active execution context commits a provisional load, our code attempts to re-select the

new context for that frame, which results in clearing the Auto bit for selected context, which means the
context no longer will follow the selected DOM node. This is resolved by no longer following a frame's execution
context on navigation if the current selection is Auto (tracked by the _useExecutionContextOfInspectedNode
variable).

  1. Because of the very short timeframe for the above to take place before bailing (previously 10ms) there are

many situations where other large payloads over the protocol, like a complex DOM tree, will cause the timeout to
fire before we receive an event telling us there is a new execution context for the frame, which means we end up
not following the frame anyways. This is improved by increasing the timeout to a still-brisk, but more
reasonable 100ms.

  1. The timeout in (2) can lead to us having a selected execution context that may no longer be valid because the

fail-safe in QuickConsole.prototype._handleFrameExecutionContextsCleared doesn't really fail safely, since it
doesn't provide a new execution context to be active and instead seems to rely on the hope that the context will
still work for future invocations, which I believe is how many users are getting into the state of a blank
execution context picker (with a working drop down menu with actual contexts that are selectable) and are unable
to evaluate anything in the console until re-selecting an execution context.

Additional drive-by change to move the checks for whether or not we can use the execution context of a selected
node into its own method.

  • UserInterface/Views/QuickConsole.js:

(WI.QuickConsole.prototype._populateActiveExecutionContextNavigationItemContextMenu):
(WI.QuickConsole.prototype._handleEngineeringShowInternalExecutionContextsSettingChanged):
(WI.QuickConsole.prototype._handleFrameExecutionContextsCleared):
(WI.QuickConsole.prototype._handleTargetRemoved):
(WI.QuickConsole.prototype._canUseExecutionContextOfInspectedNode):

8:58 PM Changeset in webkit [286411] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Scrolling complex websites can stutter: scrolling thread frame can fail to process wheel events
https://bugs.webkit.org/show_bug.cgi?id=233739
rdar://85946176

Reviewed by Tim Horton.

While the scrolling thread is chilling in
ThreadedScrollingTree::waitForRenderingUpdateCompletionOrTimeout(), waiting up to half a
frame to allow the main thread to handle the commit (for scroll synchronization), wheel
events may have been dispatched to the scrolling thread.

If we blow the timeout and commit anyway, we need to make sure we've handled these wheel
events first, so that the current frame can commit some layer movement. We can achieve this
by dispatching the applyLayerPositions(), which will enqueue it behind any waiting wheel
event dispatch from EventDispatcher::internalWheelEvent().

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::applyLayerPositions):

  • page/scrolling/ThreadedScrollingTree.cpp:

(WebCore::ThreadedScrollingTree::waitForRenderingUpdateCompletionOrTimeout):

8:58 PM Changeset in webkit [286410] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Scrolling complex websites can stutter: scrolling thread commit can get blocked on scroll synchronization
https://bugs.webkit.org/show_bug.cgi?id=233738
rdar://85880147

Reviewed by Tim Horton.

The scroll synchronization added in r261985 can cause dropped frames while scrolling. This
occurs when ThreadedScrollingTree::waitForRenderingUpdateCompletionOrTimeout(), which is
called at the start of a rendering update on the main thread, starts at a time when it will
delay the handling of displayDidRefreshOnScrollingThread(). This can result in delaying the
CA commit for that frame on the scrolling thread.

The solution is to clamp the duration that waitForRenderingUpdateCompletionOrTimeout() waits
on the condition, so that it doesn't exceed the next expected display refresh time.

  • page/scrolling/ThreadedScrollingTree.cpp:

(WebCore::ThreadedScrollingTree::waitForRenderingUpdateCompletionOrTimeout):
(WebCore::ThreadedScrollingTree::displayDidRefreshOnScrollingThread):

  • page/scrolling/ThreadedScrollingTree.h:
7:00 PM Changeset in webkit [286409] by commit-queue@webkit.org
  • 5 edits in trunk/LayoutTests

[GLIB] Update test expectations and baselines. Unreviewed test gardening.
https://bugs.webkit.org/show_bug.cgi?id=233741

Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2021-12-01

  • platform/glib/TestExpectations:
  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch-expected.txt:
6:12 PM Changeset in webkit [286408] by Jean-Yves Avenard
  • 9 edits in trunk/Source/WebKit

Avoid allocating and copy memory from a SharedMemory into a SharedBuffer
https://bugs.webkit.org/show_bug.cgi?id=233401
rdar://85637721

Reviewed by Eric Carlson.

We can directly wrap a SharedMemory into a SharedBuffer using
SharedMemory::createSharedBuffer instead.
No change in observable behaviour other than total memory size reduction.

Fly-by fix: check for null when mapping a SharedMemory to an IPC handle
in a couple of spots.

  • Shared/ShareableResource.h: Make ShareableResource use thread-safe refcount.

A ShareableResource once created is immutable and the SharedMemory object
itself has thread-safe refounting. Deleting the object outside the main thread
is safe.
Make members const.

  • Shared/ShareableResource.cpp:

(WebKit::ShareableResource::wrapInSharedBuffer): Refactor method, using DataSegment::Provider
instead of platfom specific code.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::decodeSharedBuffer):

  • UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:

(WebKit::WebPasteboardProxy::setPasteboardBufferForType):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::saveImageToLibrary):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::dataSelectionForPasteboard):
(WebKit::WebPageProxy::setPromisedDataForImage):

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::bufferForType):
Hardening code, checking for nullability.
(WebKit::WebPlatformStrategies::readBufferFromPasteboard):
Hardening code, checking for nullability.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::restoreAppHighlightsAndScrollToIndex):

6:10 PM Changeset in webkit [286407] by Russell Epstein
  • 11 edits
    2 deletes in branches/safari-613.1.10-branch/Source/WebKit

Cherry-pick r286386. rdar://problem/75225923

Unreviewed, reverting r286037.
https://bugs.webkit.org/show_bug.cgi?id=233724

Introduced WebRTC crash

Reverted changeset:

"[macOS][GPUP] Remove access in sandbox to
com.apple.audio.AudioComponentRegistrar"
https://bugs.webkit.org/show_bug.cgi?id=231694
https://commits.webkit.org/r286037

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

5:11 PM Changeset in webkit [286406] by Chris Fleizach
  • 26 edits
    4 adds in trunk

AX: Support accessibility attributes for <model>
https://bugs.webkit.org/show_bug.cgi?id=233620
<rdar://problem/85852073>

Reviewed by Dean Jackson, Andres Gonzalez.

Source/WebCore:

Support accessible names on <model> tag and plumb through ability for the
platform rendered model framework to return accessibility elements.

Test: accessibility/model-element-attributes.html

  • Modules/model-element/HTMLModelElement.cpp:

(WebCore::HTMLModelElement::accessibilityChildren):

  • Modules/model-element/HTMLModelElement.h:
  • Modules/model-element/ModelPlayer.h:
  • Modules/model-element/dummy/DummyModelPlayer.cpp:

(WebCore::DummyModelPlayer::accessibilityChildren):

  • Modules/model-element/dummy/DummyModelPlayer.h:
  • Modules/model-element/scenekit/SceneKitModelPlayer.h:
  • Modules/model-element/scenekit/SceneKitModelPlayer.mm:

(WebCore::SceneKitModelPlayer::accessibilityChildren):

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::usesAltTagForTextComputation const):
(WebCore::shouldUseAccessibilityObjectInnerText):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::modelElementChildren):

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityObjectInterface.h:

(WebCore::accessibilityRoleToString):
(WebCore::AXCoreObject::isModel const):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
(WebCore::AccessibilityRenderObject::addChildren):

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper accessibilityElements]):
(-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):

  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::modelElementChildren):

  • accessibility/isolatedtree/AXIsolatedObject.h:
  • accessibility/mac/AccessibilityObjectMac.mm:

(WebCore::Accessibility::createPlatformRoleMap):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper subrole]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
(-[WebAccessibilityObjectWrapper accessibilityIndexOfChild:]):
(-[WebAccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
(-[WebAccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):

Source/WebKit:

  • WebProcess/Model/ARKitInlinePreviewModelPlayer.h:
  • WebProcess/Model/ARKitInlinePreviewModelPlayer.mm:

(WebKit::ARKitInlinePreviewModelPlayer::accessibilityChildren):

LayoutTests:

  • accessibility/model-element-attributes.html: Added.
  • platform/gtk/TestExpectations:
  • platform/ios/TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/ios/accessibility/model-element-attributes-expected.txt: Added.
  • platform/mac/accessibility/model-element-attributes-expected.txt: Added.
  • platform/win/TestExpectations:
4:42 PM Changeset in webkit [286405] by clopez@igalia.com
  • 6 edits in trunk/Tools

[EWS][GTK][WPE] Add a new Class for running layout tests on the EWS for the GTK and WPE ports.
https://bugs.webkit.org/show_bug.cgi?id=231999

Reviewed by Jonathan Bedard.

This patch adds a new class to the EWS for running layout tests for the GTK and WPE ports.
It will be used initially for the GTK port and later for the WPE one.
Mac/iOS ports will continue to use the current default EWS, so no behaviour change for them.

This new class is specially designed to:

  1. Work with a tree that is not always green (or even that is often quite red).
  2. To not report any false positive to the patch author.
  3. To allow patch authors to use this EWS to get new expectations for patches that need lot of new re-baselines (like a WPT import)

The very simplified logic of how this works is the following:

  1. Run layout tests with patch (abort early at 500 unexpected failures)
  2. Run layout tests with patch 10 times for each test that failed consistently (non-flaky) on step 1.
  3. Run layout tests without patch 10 times for each test that failed consistently (non-flaky) on step 2.

Then report to the patch author only the new consistent failures (tests that failed always with the patch and passed always without the patch, retrying 10 times)
Any flaky test found is only reported to the bot watchers.

For an explainer about why this is needed, and more details about the flow diagram and several design considerations, please check:
https://people.igalia.com/clopez/wkbug/231999/explainer.html

The patch also add 3 new workers to the queue (to a total of 8) to speed up testing.

  • CISupport/ews-build/config.json:
  • CISupport/ews-build/factories.py:

(GTKTestsFactory):

  • CISupport/ews-build/layout_test_failures.py:

(LayoutTestFailures.init):
(LayoutTestFailures.results_from_string):
(LayoutTestFailures.results_from_string.get_failing_tests):

  • CISupport/ews-build/steps.py:

(BufferLogHeaderObserver):
(BufferLogHeaderObserver.init):
(BufferLogHeaderObserver.headerReceived):
(BufferLogHeaderObserver.getHeaders):
(BugzillaMixin.send_email_for_infrastructure_issue):
(Trigger.propertiesToPassToTriggers):
(RunWebKitTests.setLayoutTestCommand):
(RunWebKitTests.start):
(RunWebKitTests.commandComplete):
(ReRunWebKitTests.evaluateCommand):
(ReRunWebKitTests.commandComplete):
(RunWebKitTestsWithoutPatch.commandComplete):
(AnalyzeLayoutTestsResults.report_failure):
(AnalyzeLayoutTestsResults.send_email_for_flaky_failure):
(AnalyzeLayoutTestsResults.send_email_for_new_test_failures):
(AnalyzeLayoutTestsResults.start):
(RunWebKit1Tests.start):
(RunWebKitTestsRedTree):
(RunWebKitTestsRedTree._did_command_timed_out):
(RunWebKitTestsRedTree.evaluateCommand):
(RunWebKitTestsRepeatFailuresRedTree):
(RunWebKitTestsRepeatFailuresRedTree.init):
(RunWebKitTestsRepeatFailuresRedTree.setLayoutTestCommand):
(RunWebKitTestsRepeatFailuresRedTree.evaluateCommand):
(RunWebKitTestsRepeatFailuresRedTree.commandComplete):
(RunWebKitTestsRepeatFailuresRedTree.start):
(RunWebKitTestsRepeatFailuresWithoutPatchRedTree):
(RunWebKitTestsRepeatFailuresWithoutPatchRedTree.init):
(RunWebKitTestsRepeatFailuresWithoutPatchRedTree.setLayoutTestCommand):
(RunWebKitTestsRepeatFailuresWithoutPatchRedTree.evaluateCommand):
(RunWebKitTestsRepeatFailuresWithoutPatchRedTree.commandComplete):
(RunWebKitTestsRepeatFailuresWithoutPatchRedTree.start):
(RunWebKitTestsWithoutPatchRedTree):
(RunWebKitTestsWithoutPatchRedTree.evaluateCommand):
(AnalyzeLayoutTestsResultsRedTree):
(AnalyzeLayoutTestsResultsRedTree.report_success):
(AnalyzeLayoutTestsResultsRedTree.report_warning):
(AnalyzeLayoutTestsResultsRedTree.report_infrastructure_issue_and_maybe_retry_build):
(AnalyzeLayoutTestsResultsRedTree.send_email_for_pre_existent_failures):
(AnalyzeLayoutTestsResultsRedTree.start):

  • CISupport/ews-build/steps_unittest.py:
4:31 PM Changeset in webkit [286404] by mmaxfield@apple.com
  • 4 edits in trunk/Source/WebCore

[WebGPU] Add missing files to CMake
https://bugs.webkit.org/show_bug.cgi?id=233687

Reviewed by Sam Weinig.

I forgot to list some files.

Source/WebCore:

No new tests because there is no behavior change.

  • Headers.cmake:

Source/WebCore/PAL:

  • pal/CMakeLists.txt:
4:30 PM Changeset in webkit [286403] by mmaxfield@apple.com
  • 42 edits in trunk/Source/WebCore

[WebGPU] Add default values to structs in WebCore/Modules/WebGPU
https://bugs.webkit.org/show_bug.cgi?id=233691

Reviewed by Alex Christensen.

Our bindings code expects that the structs backing dictionaries
have default values for their members.

No new tests because there is no behavior change.

  • Modules/WebGPU/GPUBindGroupDescriptor.h:
  • Modules/WebGPU/GPUBindGroupEntry.h:
  • Modules/WebGPU/GPUBindGroupLayoutEntry.h:
  • Modules/WebGPU/GPUBlendComponent.h:
  • Modules/WebGPU/GPUBufferBinding.h:
  • Modules/WebGPU/GPUBufferBindingLayout.h:
  • Modules/WebGPU/GPUBufferDescriptor.h:
  • Modules/WebGPU/GPUCanvasConfiguration.h:
  • Modules/WebGPU/GPUColorDict.h:
  • Modules/WebGPU/GPUColorTargetState.h:
  • Modules/WebGPU/GPUComputePassTimestampWrite.h:
  • Modules/WebGPU/GPUDepthStencilState.h:
  • Modules/WebGPU/GPUExtent3DDict.h:
  • Modules/WebGPU/GPUExternalTextureDescriptor.h:
  • Modules/WebGPU/GPUImageCopyBuffer.h:
  • Modules/WebGPU/GPUImageCopyTexture.h:
  • Modules/WebGPU/GPUImageCopyTextureTagged.h:
  • Modules/WebGPU/GPUImageDataLayout.h:
  • Modules/WebGPU/GPUMultisampleState.h:
  • Modules/WebGPU/GPUOrigin2DDict.h:
  • Modules/WebGPU/GPUOrigin3DDict.h:
  • Modules/WebGPU/GPUPipelineDescriptorBase.h:
  • Modules/WebGPU/GPUPrimitiveState.h:
  • Modules/WebGPU/GPUProgrammableStage.h:
  • Modules/WebGPU/GPUQuerySetDescriptor.h:
  • Modules/WebGPU/GPURenderBundleEncoderDescriptor.h:
  • Modules/WebGPU/GPURenderPassColorAttachment.h:
  • Modules/WebGPU/GPURenderPassDepthStencilAttachment.h:
  • Modules/WebGPU/GPURenderPassDescriptor.h:
  • Modules/WebGPU/GPURenderPassLayout.h:
  • Modules/WebGPU/GPURenderPassTimestampWrite.h:
  • Modules/WebGPU/GPURequestAdapterOptions.h:
  • Modules/WebGPU/GPUSamplerBindingLayout.h:
  • Modules/WebGPU/GPUSamplerDescriptor.h:
  • Modules/WebGPU/GPUStencilFaceState.h:
  • Modules/WebGPU/GPUStorageTextureBindingLayout.h:
  • Modules/WebGPU/GPUTextureBindingLayout.h:
  • Modules/WebGPU/GPUTextureDescriptor.h:
  • Modules/WebGPU/GPUTextureViewDescriptor.h:
  • Modules/WebGPU/GPUVertexAttribute.h:
  • Modules/WebGPU/GPUVertexBufferLayout.h:
4:29 PM Changeset in webkit [286402] by achristensen@apple.com
  • 11 edits in trunk

Use Span instead of pointer/length in CompiledContentExtension
https://bugs.webkit.org/show_bug.cgi?id=233727

Reviewed by Tim Hatcher.

Source/WebCore:

No change in behavior. Just simplifying the interface a bit.

  • contentextensions/CompiledContentExtension.h:
  • contentextensions/ContentExtension.cpp:

(WebCore::ContentExtensions::ContentExtension::ContentExtension):
(WebCore::ContentExtensions::ContentExtension::findFirstIgnorePreviousRules const):
(WebCore::ContentExtensions::ContentExtension::compileGlobalDisplayNoneStyleSheet):
(WebCore::ContentExtensions::ContentExtension::populateConditionCacheIfNeeded):

  • contentextensions/ContentExtensionRule.cpp:

(WebCore::ContentExtensions::DeserializedAction::deserialize):
(WebCore::ContentExtensions::DeserializedAction::serializedLength):

  • contentextensions/ContentExtensionRule.h:
  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::actionsForResourceLoad const):

Source/WebKit:

  • Shared/WebCompiledContentRuleList.cpp:

(WebKit::WebCompiledContentRuleList::filtersWithoutConditionsBytecode const):
(WebKit::WebCompiledContentRuleList::filtersWithConditionsBytecode const):
(WebKit::WebCompiledContentRuleList::topURLFiltersBytecode const):
(WebKit::WebCompiledContentRuleList::serializedActions const):
(WebKit::WebCompiledContentRuleList::spanWithOffsetAndLength const):
(WebKit::WebCompiledContentRuleList::filtersWithoutConditionsBytecodeLength const): Deleted.
(WebKit::WebCompiledContentRuleList::filtersWithConditionsBytecodeLength const): Deleted.
(WebKit::WebCompiledContentRuleList::topURLFiltersBytecodeLength const): Deleted.
(WebKit::WebCompiledContentRuleList::actions const): Deleted.
(WebKit::WebCompiledContentRuleList::actionsLength const): Deleted.

  • Shared/WebCompiledContentRuleList.h:

Tools:

  • TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
4:18 PM Changeset in webkit [286401] by Russell Epstein
  • 8 edits
    2 adds in branches/safari-612-branch

Cherry-pick r285320. rdar://problem/85943167

Form action with a redirect should report correct blocked URI
https://bugs.webkit.org/show_bug.cgi?id=232660
<rdar://problem/84969024>

Reviewed by Brent Fulgham.

Source/WebCore:

We currently report the blocked URI as the target of a redirect, per
the spec it should actually be the initiating url.

Test: http/tests/security/contentSecurityPolicy/form-action-redirect-with-correct-blocked-uri.html

  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::willSendRequest):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::checkIfFormActionAllowedByCSP const):
  • loader/FrameLoader.h:
  • page/csp/ContentSecurityPolicy.cpp: (WebCore::ContentSecurityPolicy::allowResourceFromSource const): (WebCore::ContentSecurityPolicy::allowFormAction const):
  • page/csp/ContentSecurityPolicy.h:

LayoutTests:

  • http/tests/security/contentSecurityPolicy/form-action-redirect-with-correct-blocked-uri-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/form-action-redirect-with-correct-blocked-uri.html: Added.
  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-redirect-blocked-expected.txt: Update console logging to report the correct URL.

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

4:18 PM Changeset in webkit [286400] by Russell Epstein
  • 2 edits in branches/safari-612-branch/Source/WebCore

Cherry-pick r286309. rdar://problem/84665699

Use scriptDisallowedScope in FrameSelection::updateAppearance
https://bugs.webkit.org/show_bug.cgi?id=233644

Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2021-11-30
Reviewed by Ryosuke Niwa.

Use scriptDisallowedScope in FrameSelection::updateAppearance to avoid re-entrancy
RenderView problems when a downstream function executes a JS callback.

  • editing/FrameSelection.cpp: (WebCore::FrameSelection::validateSelection const): (WebCore::FrameSelection::updateAppearance):
  • editing/FrameSelection.h:

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

4:18 PM Changeset in webkit [286399] by Russell Epstein
  • 4 edits in branches/safari-612-branch

Cherry-pick r286308. rdar://problem/63180952

Scripting attributes are sometimes not properly stripped from elements when JS is disabled
https://bugs.webkit.org/show_bug.cgi?id=233642
<rdar://63180952>

Reviewed by Geoffrey Garen.

Source/WebCore:

HTMLConstructionSite::mergeAttributesFromTokenIntoElement() was not properly stripping scripting
Element attributes when scripting is disabled, unlike other code paths in HTMLConstructionSite().

Covered by new API tests.

  • html/parser/HTMLConstructionSite.cpp: (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):

Tools:

Add API test coverage.

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

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

4:18 PM Changeset in webkit [286398] by Russell Epstein
  • 2 edits in branches/safari-612-branch/Source/WebKit

Cherry-pick r285865. rdar://problem/75139294

Do some hardening in IPC::createMessageDecoder()
https://bugs.webkit.org/show_bug.cgi?id=233148
<rdar://75139294>

Reviewed by Darin Adler.

Do more bound validation insde createMessageDecoder() to make sure we stay within
the bounds of our ReceiveBuffer.

Also, when the body is out of line, set out_of_line.deallocate to false since
we are taking ownership of the memory and will vm_deallocate() it ourselves.
Normally the sender (Connection::sendOutgoingMessage) sets that flag to false but
it is better not to rely on the sender setting a particular flag.

  • Platform/IPC/cocoa/ConnectionCocoa.mm: (IPC::createMessageDecoder): (IPC::Connection::receiveSourceEventHandler):

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

4:18 PM Changeset in webkit [286397] by Russell Epstein
  • 8 edits in branches/safari-612-branch

Cherry-pick r285720. rdar://problem/83941760

WebKit is unable to recover if a WebProcess gets terminated while it is launching
https://bugs.webkit.org/show_bug.cgi?id=233001
<rdar://85302938>

Reviewed by Brent Fulgham.

Source/WebKit:

While investigating <rdar://83941760>, I found that the WebAuthn Process would get
jetsammed, which would cause us to call WebProcessPool::terminateAllWebContentProcesses().
I also noticed that if one of these WebProcesses was still launching at the time
of the termination, then the WebProcessProxy / WebPageProxy would keep thinking the
WebProcess is still launching and would never attempt to relaunch it. This would result
in a blank and unresponsive WKWebView which wouldn't be able to do any loads.

The issue was due to ProcessLauncher::terminateProcess() calling invalidate(), which
it would not only terminate the XPC connection, it would also null out m_client. As a
result, we wouldn't notify the client that the process failed to launch. To address
the issue, I move the XPC connection termination logic out of invalidate() and into
its own terminateXPCConnection() function. I then called terminateXPCConnection()
instead of invalidate() inside ProcessLauncher::terminateProcess().

  • UIProcess/API/Cocoa/WKProcessPool.mm: (-[WKProcessPool _terminateAllWebContentProcesses]):
  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
  • UIProcess/Launcher/ProcessLauncher.cpp: (WebKit::ProcessLauncher::invalidate):
  • UIProcess/Launcher/ProcessLauncher.h:
  • UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::ProcessLauncher::terminateProcess): (WebKit::ProcessLauncher::platformInvalidate): (WebKit::ProcessLauncher::terminateXPCConnection):

Tools:

Add API test coverage, this test was timing out before the fix.

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

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

4:18 PM Changeset in webkit [286396] by Russell Epstein
  • 5 edits in branches/safari-612-branch

Cherry-pick r285619. rdar://problem/83941760

We should not kill all WebContent processes whenever the WebAuthn process crashes
https://bugs.webkit.org/show_bug.cgi?id=232970
<rdar://83941760>

Reviewed by Geoff Garen.

Source/WebKit:

We should not kill all WebContent processes whenever the WebAuthn process crashes. This is overly aggressive. We should
instead do like for the network process and have the WebProcess re-initiate the connection to the WebAuthn process when
it's gone.

No new tests, updated existing API test.

  • UIProcess/WebAuthentication/WebAuthnProcessProxy.cpp: (WebKit::WebAuthnProcessProxy::webAuthnProcessCrashed): Do not terminate all WebProcesses when the WebAuthn process crashes.
  • WebProcess/WebAuthentication/WebAuthnProcessConnection.cpp: (WebKit::WebAuthnProcessConnection::didClose): Make sure we call WebProcess::webAuthnProcessConnectionClosed() when the WebProcess loses its connection to the WebAuthn process. This makes sure we clear m_webAuthnProcessConnection and properly re-initiate a new WebAuthn process connection the next time WebProcess::ensureWebAuthnProcessConnection() is called.

Tools:

Update API test coverage to reflect behavior change.

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

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

4:18 PM Changeset in webkit [286395] by Russell Epstein
  • 3 edits
    2 adds in branches/safari-612-branch

Cherry-pick r285570. rdar://problem/83070565

Fix crash in GraphicsContextCG::endTransparencyLayer
https://bugs.webkit.org/show_bug.cgi?id=230230

Reviewed by Myles C. Maxfield.

Source/WebCore:

The crash was due to unbalanced calls to begin and end transparency layers.

A branch handling ancestors of transparent layers that are transform root needed to be
aware of the top layer. Opacity on ancestors don't affect top layer elements so calling
beginTransparencyLayers on parent() is incorrect.

Also fix transparentPaintingAncestor() to be top layer aware to avoid flickering layers
while scrolling.

Test: fast/layers/top-layer-ancestor-opacity-and-transform-crash.html

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::transparentPaintingAncestor): (WebCore::RenderLayer::paintLayerWithEffects):

LayoutTests:

  • fast/layers/top-layer-ancestor-opacity-and-transform-crash-expected.txt: Added.
  • fast/layers/top-layer-ancestor-opacity-and-transform-crash.html: Added.

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

4:17 PM Changeset in webkit [286394] by Russell Epstein
  • 3 edits in branches/safari-612-branch

Cherry-pick r285569. rdar://problem/83070565

Enable dialog tests on Windows
https://bugs.webkit.org/show_bug.cgi?id=232911

Reviewed by Youenn Fablet.

The runtime flag sometimes seems to be off for Windows, change the member in
RuntimeEnabledFeatures.h and re-enable tests.

Source/WebCore:

  • page/RuntimeEnabledFeatures.h:

LayoutTests:

  • platform/win/TestExpectations:

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

4:17 PM Changeset in webkit [286393] by Russell Epstein
  • 5 edits in branches/safari-612-branch/Source/WebKit

Cherry-pick r285138. rdar://problem/75139294

Avoid heap-allocating ImportanceAssertion
https://bugs.webkit.org/show_bug.cgi?id=232579

Reviewed by Alex Christensen.

Avoid heap-allocating ImportanceAssertion since this is just a wrapper around a
mach_port.

Also update the ImportanceAssertion destructor to null out the mach port as
hardening given <rdar://75139294>.

  • Platform/IPC/Decoder.cpp: (IPC::Decoder::setImportanceAssertion):
  • Platform/IPC/Decoder.h:
  • Platform/IPC/cocoa/ConnectionCocoa.mm: (IPC::Connection::receiveSourceEventHandler):
  • Platform/IPC/cocoa/ImportanceAssertion.h: (IPC::ImportanceAssertion::ImportanceAssertion): (IPC::ImportanceAssertion::operator=): (IPC::ImportanceAssertion::~ImportanceAssertion):

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

3:52 PM Changeset in webkit [286392] by Nikolas Zimmermann
  • 35 edits
    2 moves in trunk/Source/WebCore

[LBSE] Rename RenderSVGRoot -> LegacyRenderSVGRoot
https://bugs.webkit.org/show_bug.cgi?id=233666

Reviewed by Rob Buis.

RenderSVGRoot looks rather different in the layer-based SVG engine, therefore
it makes most sense, to rename RenderSVGRoot -> LegacyRenderSVGRoot, and bring back
RenderSVGRoot by a new implementation, in small patches that implement the different
pieces layout / painting / etc.

This patches renames RenderSVGRoot -> LegacyRenderSVGRoot and adapts all callsites.

Should not affect any layout tests, as the renderName() stayed 'RenderSVGRoot' after
the rename, to avoid having to rebaseline all SVG layout test expectations.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • accessibility/AXObjectCache.cpp:

(WebCore::createFromRenderer):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::elementPath const):

  • inspector/InspectorOverlay.cpp:

(WebCore::buildRendererHighlight):

  • page/FrameView.cpp:

(WebCore::FrameView::applyOverflowToViewport):
(WebCore::FrameView::forceLayoutParentViewIfNeeded):
(WebCore::FrameView::embeddedContentBox const):

  • rendering/RenderFlexibleBox.cpp:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::setupClipPath):

  • rendering/RenderObject.cpp:
  • rendering/RenderTreeAsText.cpp:

(WebCore::write):

  • rendering/svg/LegacyRenderSVGRoot.cpp: Renamed from Source/WebCore/rendering/svg/RenderSVGRoot.cpp.

(WebCore::LegacyRenderSVGRoot::LegacyRenderSVGRoot):
(WebCore::LegacyRenderSVGRoot::svgSVGElement const):
(WebCore::LegacyRenderSVGRoot::computeIntrinsicRatioInformation const):
(WebCore::LegacyRenderSVGRoot::isEmbeddedThroughSVGImage const):
(WebCore::LegacyRenderSVGRoot::isEmbeddedThroughFrameContainingSVGDocument const):
(WebCore::LegacyRenderSVGRoot::computeReplacedLogicalWidth const):
(WebCore::LegacyRenderSVGRoot::computeReplacedLogicalHeight const):
(WebCore::LegacyRenderSVGRoot::layout):
(WebCore::LegacyRenderSVGRoot::shouldApplyViewportClip const):
(WebCore::LegacyRenderSVGRoot::paintReplaced):
(WebCore::LegacyRenderSVGRoot::willBeDestroyed):
(WebCore::LegacyRenderSVGRoot::insertedIntoTree):
(WebCore::LegacyRenderSVGRoot::willBeRemovedFromTree):
(WebCore::LegacyRenderSVGRoot::styleDidChange):
(WebCore::LegacyRenderSVGRoot::buildLocalToBorderBoxTransform):
(WebCore::LegacyRenderSVGRoot::localToParentTransform const):
(WebCore::LegacyRenderSVGRoot::clippedOverflowRect const):
(WebCore::LegacyRenderSVGRoot::computeFloatVisibleRectInContainer const):
(WebCore::LegacyRenderSVGRoot::mapLocalToContainer const):
(WebCore::LegacyRenderSVGRoot::pushMappingToContainer const):
(WebCore::LegacyRenderSVGRoot::updateCachedBoundaries):
(WebCore::LegacyRenderSVGRoot::nodeAtPoint):
(WebCore::LegacyRenderSVGRoot::hasRelativeDimensions const):
(WebCore::LegacyRenderSVGRoot::addResourceForClientInvalidation):

  • rendering/svg/LegacyRenderSVGRoot.h: Renamed from Source/WebCore/rendering/svg/RenderSVGRoot.h.
  • rendering/svg/RenderSVGBlock.cpp:

(WebCore::RenderSVGBlock::updateFromStyle):

  • rendering/svg/RenderSVGContainer.cpp:

(WebCore::RenderSVGContainer::layout):

  • rendering/svg/RenderSVGForeignObject.cpp:

(WebCore::RenderSVGForeignObject::layout):

  • rendering/svg/RenderSVGInlineText.cpp:
  • rendering/svg/RenderSVGResource.cpp:

(WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):

  • rendering/svg/RenderSVGResourceContainer.cpp:

(WebCore::RenderSVGResourceContainer::layout):

  • rendering/svg/RenderSVGResourceMarker.cpp:

(WebCore::RenderSVGResourceMarker::layout):

  • rendering/svg/RenderSVGResourcePattern.cpp:
  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::layout):

  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::SVGRenderSupport::localToParentTransform):
(WebCore::SVGRenderSupport::findTreeRootObject):
(WebCore::layoutSizeOfNearestViewportChanged):
(WebCore::SVGRenderSupport::transformToRootChanged):
(WebCore::SVGRenderSupport::isOverflowHidden):

  • rendering/svg/SVGRenderSupport.h:
  • rendering/svg/SVGRenderTreeAsText.cpp:

(WebCore::write):

  • rendering/svg/SVGRenderTreeAsText.h:
  • rendering/svg/SVGResources.cpp:

(WebCore::SVGResources::layoutDifferentRootIfNeeded):

  • rendering/svg/SVGResources.h:
  • rendering/updating/RenderTreeBuilder.cpp:

(WebCore::RenderTreeBuilder::attachInternal):
(WebCore::RenderTreeBuilder::detach):
(WebCore::RenderTreeBuilder::reportVisuallyNonEmptyContent):

  • rendering/updating/RenderTreeBuilderSVG.cpp:

(WebCore::RenderTreeBuilder::SVG::attach):
(WebCore::RenderTreeBuilder::SVG::detach):

  • rendering/updating/RenderTreeBuilderSVG.h:
  • style/StyleAdjuster.cpp:

(WebCore::Style::Adjuster::adjustSVGElementStyle):

  • style/StyleBuilderState.cpp:
  • svg/SVGLengthContext.cpp:

(WebCore::renderStyleForLengthResolving):

  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::svgAttributeChanged):
(WebCore::SVGSVGElement::localCoordinateSpaceTransform const):
(WebCore::SVGSVGElement::rendererIsNeeded):
(WebCore::SVGSVGElement::createElementRenderer):
(WebCore::SVGSVGElement::currentViewBoxRect const):
(WebCore::SVGSVGElement::currentViewportSize const):

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::setContainerSize):
(WebCore::SVGImage::containerSize const):

  • svg/graphics/SVGImageCache.cpp:
3:33 PM Changeset in webkit [286391] by Adrian Perez de Castro
  • 14 edits in trunk/Source

Non-unified build fixes, early December 2021 edition
https://bugs.webkit.org/show_bug.cgi?id=233699

Unreviewed non-unified build fixes.

Source/JavaScriptCore:

  • dfg/DFGCodeOriginPool.h: Add missing CodeOrigin.h header.
  • heap/Heap.cpp: Add missing GigacageAlignedMemoryAllocator.h header.
  • heap/IsoSubspace.cpp: Add missing IsoAlignedMemoryAllocator.h header, and remove

IsoMemoryAllocatorBase.h as it is included by the former.

  • runtime/StackFrame.h: Add missing BytecodeIndex.h header.
  • runtime/StructureID.h: Add missing wtf/HashTraits.h header.
  • tools/Integrity.h: Add missing StructureID.h header.

Source/WebCore:

No new tests needed.

  • Modules/web-locks/WebLockManager.cpp: Add missing WebLock.h header.
  • Modules/web-locks/WebLockRegistry.cpp: Add missing wtf/CompletionHandler.h header.
  • platform/graphics/filters/FEBlend.cpp: Add missing ImageBuffer.h header.
  • platform/graphics/filters/FEMerge.cpp: Ditto.
  • platform/graphics/filters/FilterImage.h: Add missing FloatRect.h header.
  • workers/service/context/ServiceWorkerFetch.h: Add missing FetchIdentifier.h header.
3:15 PM Changeset in webkit [286390] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] RegExpTestInline DFG / FTL nodes should introduce a write-barrier
https://bugs.webkit.org/show_bug.cgi?id=233716

Reviewed by Michael Saboff.

Since RegExpTestInline fast path stores cells into JSGlobalObject's RegExpCachedResult field,
we need to consider about inserting a write-barrier onto JSGlobalObject.
This patch adds RegExpTestInline to DFGStoreBarrierInsertionPhase so that DFG / FTL inserts
a write-barrier appropriately.

  • dfg/DFGStoreBarrierInsertionPhase.cpp:
3:03 PM Changeset in webkit [286389] by Chris Dumez
  • 2 edits in trunk/Tools

Unreviewed API test build fix.

  • TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm:
2:58 PM Changeset in webkit [286388] by Russell Epstein
  • 8 edits in branches/safari-612.3.6.1-branch/Source

Versioning.

WebKit-7612.3.6.1.7

2:24 PM Changeset in webkit [286387] by keith_miller@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Add static_assert the value we use to initialize a StructureID buffer should be 0.
https://bugs.webkit.org/show_bug.cgi?id=233720

Reviewed by Yusuke Suzuki.

Also, add static assert that the zero we are putting into the buffer
matches the default StructureID constructor.

  • runtime/StructureChain.cpp:

(JSC::StructureChain::create):

  • runtime/StructureID.h:

(JSC::StructureID::bits const):

2:02 PM Changeset in webkit [286386] by commit-queue@webkit.org
  • 11 edits
    2 deletes in trunk/Source/WebKit

Unreviewed, reverting r286037.
https://bugs.webkit.org/show_bug.cgi?id=233724

Introduced WebRTC crash

Reverted changeset:

"[macOS][GPUP] Remove access in sandbox to
com.apple.audio.AudioComponentRegistrar"
https://bugs.webkit.org/show_bug.cgi?id=231694
https://commits.webkit.org/r286037

2:00 PM Changeset in webkit [286385] by Russell Epstein
  • 1 copy in tags/Safari-613.1.9.1

Tag Safari-613.1.9.1.

2:00 PM Changeset in webkit [286384] by Russell Epstein
  • 9 edits in branches/safari-613.1.9-branch/Source

Versioning.

WebKit-7613.1.9.1

1:31 PM Changeset in webkit [286383] by achristensen@apple.com
  • 14 edits in trunk

Add csp-report resource type to WKContentRuleList
https://bugs.webkit.org/show_bug.cgi?id=233675
<rdar://71869893>

Reviewed by Tim Hatcher.

Source/WebCore:

This feature is trivial to implement and test except for one small thing: we use a uint16_t to represent the
resource type and context and first party flags, and we already have 16 of them. So we needed to get another
bit from somewhere. What I did was make the flags have a variable length from 1-3 bytes instead of just 2 bytes.
I used the unused upper bits in the instruction to indicate the length of the flags, and if the upper bits were 0,
then I assume it was 2 bytes, which is binary compatible with existing compiled WKContentRuleLists, so no need
to increment the version number and force a recompile. It worked so well that I did the same thing with the actions,
which were 4 bytes but are now 1-4 bytes. This reduced the compiled binary size of one of the tests from 313 bytes
to 288 bytes, a reduction of about 8% of the binary size of the compiled WKContentRuleLists. Larger lists will see
slightly less binary size reduction, but still an improvement.

  • contentextensions/ContentExtension.cpp:

(WebCore::ContentExtensions::ContentExtension::ContentExtension):
(WebCore::ContentExtensions::ContentExtension::populateConditionCacheIfNeeded):

  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::actionsForResourceLoad const):

  • contentextensions/DFABytecode.h:

(WebCore::ContentExtensions::smallestPossibleJumpSize):
(): Deleted.
(WebCore::ContentExtensions::instructionSizeWithArguments): Deleted.

  • contentextensions/DFABytecodeCompiler.cpp:

(WebCore::ContentExtensions::append):
(WebCore::ContentExtensions::append24BitInteger):
(WebCore::ContentExtensions::appendZeroes):
(WebCore::ContentExtensions::setBits):
(WebCore::ContentExtensions::bytecodeFlagsSize):
(WebCore::ContentExtensions::bytecodeActionSize):
(WebCore::ContentExtensions::appendVariableLengthInteger):
(WebCore::ContentExtensions::DFABytecodeCompiler::emitAppendAction):
(WebCore::ContentExtensions::DFABytecodeCompiler::emitJump):
(WebCore::ContentExtensions::DFABytecodeCompiler::emitCheckValue):
(WebCore::ContentExtensions::DFABytecodeCompiler::emitCheckValueRange):
(WebCore::ContentExtensions::DFABytecodeCompiler::transitions):
(WebCore::ContentExtensions::DFABytecodeCompiler::compileJumpTable):
(WebCore::ContentExtensions::DFABytecodeCompiler::nodeTransitionsMaxBytecodeSize):
(WebCore::ContentExtensions::DFABytecodeCompiler::compile):

  • contentextensions/DFABytecodeInterpreter.cpp:

(WebCore::ContentExtensions::getBits):
(WebCore::ContentExtensions::get24Bits):
(WebCore::ContentExtensions::getInstruction):
(WebCore::ContentExtensions::jumpSizeInBytes):
(WebCore::ContentExtensions::consumeInteger):
(WebCore::ContentExtensions::consume24BitInteger):
(WebCore::ContentExtensions::hasFlags):
(WebCore::ContentExtensions::hasAction):
(WebCore::ContentExtensions::consumeResourceFlagsAndInstruction):
(WebCore::ContentExtensions::consumeAction):
(WebCore::ContentExtensions::getJumpSize):
(WebCore::ContentExtensions::getJumpDistance):
(WebCore::ContentExtensions::matchesCondition):
(WebCore::ContentExtensions::DFABytecodeInterpreter::interpretAppendAction):
(WebCore::ContentExtensions::DFABytecodeInterpreter::interpretTestFlagsAndAppendAction):
(WebCore::ContentExtensions::DFABytecodeInterpreter::interpetJumpTable):
(WebCore::ContentExtensions::DFABytecodeInterpreter::actionsMatchingEverything):
(WebCore::ContentExtensions::DFABytecodeInterpreter::interpretWithConditions):
(WebCore::ContentExtensions::DFABytecodeInterpreter::interpret):

  • contentextensions/DFABytecodeInterpreter.h:

(WebCore::ContentExtensions::DFABytecodeInterpreter::DFABytecodeInterpreter):

  • loader/PingLoader.cpp:

(WebCore::PingLoader::sendViolationReport):

  • loader/ResourceLoadInfo.cpp:

(WebCore::ContentExtensions::readResourceType):

  • loader/ResourceLoadInfo.h:

Tools:

  • TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:

(TestWebKitAPI::compareContents):
(TestWebKitAPI::TEST_F):

  • TestWebKitAPI/Tests/WebKitCocoa/ContentRuleListNotification.mm:

(TEST):

1:25 PM Changeset in webkit [286382] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, use void* to suppress GCC warning
https://bugs.webkit.org/show_bug.cgi?id=233379

  • runtime/StructureChain.cpp:

(JSC::StructureChain::create):

1:18 PM Changeset in webkit [286381] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[WP] Sandbox telemetry is missing for some system calls
https://bugs.webkit.org/show_bug.cgi?id=233594
<rdar://problem/85832755>

Reviewed by Brent Fulgham.

Sandbox telemetry is missing for some system calls, since telemetry rules are automatically overridden in some cases.
This patch is addressing this by disabling system call inference.

  • WebProcess/com.apple.WebProcess.sb.in:
1:05 PM Changeset in webkit [286380] by Chris Dumez
  • 3 edits in trunk/Source/WebKit

Unreviewed build fixes after r286346.

  • WebProcess/WebPage/MomentumEventDispatcher.cpp:

(WebKit::MomentumEventDispatcher::startDisplayLink):
(WebKit::MomentumEventDispatcher::displayWasRefreshed):
(WebKit::MomentumEventDispatcher::didReceiveScrollEventWithInterval):
(WebKit::MomentumEventDispatcher::buildOffsetTableWithInitialDelta):
(WebKit::MomentumEventDispatcher::offsetAtTime):
(WebKit::momentumDecayRate):
(WebKit::MomentumEventDispatcher::computeNextDelta):

  • WebProcess/WebPage/MomentumEventDispatcher.h:
12:58 PM Changeset in webkit [286379] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove virtual from RenderWidget::paintContents
https://bugs.webkit.org/show_bug.cgi?id=233709

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

Remove virtual from RenderWidget:: paintContents since it is not overridden.

  • rendering/RenderWidget.h:
12:32 PM Changeset in webkit [286378] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Disable madd4 instruction generation globally for MIPS
https://bugs.webkit.org/show_bug.cgi?id=233713

Patch by Mikhail R. Gadelha <Mikhail R. Gadelha> on 2021-12-01
Reviewed by Yusuke Suzuki.

This is an improved version of r285788 and follows the approach used
in r231301. This patch removes the volatile attribute from the double
variable and adds a -mno-madd4 flag globally when compiling on MIPS.

  • CMakeLists.txt:
  • runtime/ParseInt.h:

(JSC::parseInt):

12:29 PM Changeset in webkit [286377] by Fujii Hironori
  • 2 edits in trunk/Source/WTF

[Win] OSAllocator::reserveUncommittedAligned should use aligned allocation
https://bugs.webkit.org/show_bug.cgi?id=233674

Reviewed by Keith Miller.

OSAllocator::reserveUncommittedAligned reserved 2GiB for 1GiB
aligned allocation request.

Windows 10 (Desktop) has VirtualAlloc2 API to aligned allocation.

  • wtf/win/OSAllocatorWin.cpp:

(WTF::OSAllocator::reserveUncommittedAligned): Use VirtualAlloc2
API if available. Use SOFT_LINK_OPTIONAL for VirtualAlloc2.

11:36 AM Changeset in webkit [286376] by Ryan Haddad
  • 2 edits in trunk/Tools

[ iOS ] TestWebKitAPI.ApplicationManifest.IconCoding is a constant failure
https://bugs.webkit.org/show_bug.cgi?id=233715

Reviewed by Tim Horton.

  • TestWebKitAPI/Tests/WebKitCocoa/ApplicationManifest.mm:

(TestWebKitAPI::TEST): Remove a fragile assertion about the size of NSKeyedArchive that is causing the test to fail on iOS.

11:28 AM Changeset in webkit [286375] by Lauro Moura
  • 2 edits in trunk/LayoutTests

[GLIB] Skip model tag test

Unreviewed test gardening.

<model> is not enabled/supported in GTK/WPE.

  • platform/glib/TestExpectations:
11:23 AM Changeset in webkit [286374] by W.D. Xiong
  • 3 edits in trunk/Tools

[macOS] run-benchmark should take diagnostic screenshots upon test timeout
https://bugs.webkit.org/show_bug.cgi?id=232736

Reviewed by Dewei Zhu.

Added defaults for the --diagnose-directory flag depending on platform.
Added diagnose_test_failure method to OSXBrowserDriver to take screenshots and save to diagnostic directory.

  • Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:

(OSXBrowserDriver._save_screenshot_to_path):
(OSXBrowserDriver):
(OSXBrowserDriver.diagnose_test_failure):

11:14 AM Changeset in webkit [286373] by Jonathan Bedard
  • 5 edits in trunk/Tools

[webkitscmpy] Do not query remotes when determining branches containing commit
https://bugs.webkit.org/show_bug.cgi?id=233700
<rdar://problem/85920569>

Reviewed by Stephanie Lewis.

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

(Git.branches_for): Remove -a from --contains check.

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

Canonical link: https://commits.webkit.org/244732@main

11:07 AM Changeset in webkit [286372] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix CLoop build
https://bugs.webkit.org/show_bug.cgi?id=233379

  • llint/LowLevelInterpreter64.asm:
11:06 AM Changeset in webkit [286371] by Lauro Moura
  • 2 edits in trunk/Source/WTF

Unreviewed. Fix -Wformat warning after in ThreadingPosix logging

  • wtf/posix/ThreadingPOSIX.cpp:

(WTF::Thread::establishHandle):

11:01 AM Changeset in webkit [286370] by J Pascoe
  • 2 edits in trunk/Source/WTF

Fix NEAR_FIELD macro to support iOS devices again
https://bugs.webkit.org/show_bug.cgi?id=233671
rdar://85318070

In a previous change, https://bugs.webkit.org/show_bug.cgi?id=231085, the definition for
the NEAR_FIELD macro removed support for iOS. This change adds it back, fixing
NFC webauthn support.

Reviewed by Brent Fulgham.

Tested manually on an iPhone.

  • wtf/PlatformHave.h:
10:36 AM Changeset in webkit [286369] by Philippe Normand
  • 17 edits
    2 adds in trunk

[GStreamer] requestVideoFrameCallback support
https://bugs.webkit.org/show_bug.cgi?id=233541

Reviewed by Xabier Rodriguez-Calvar.

Source/WebCore:

Video frames metadata reported by the player is stored in GstBuffers as a new GstMeta.
Processing times is tracked in converters and decoders using pad probes. The GStreamer
mediastream video capturer is now inserting metadata that includes the capture timestamp in
the buffers. The WebRTC incoming and mock sources are wrapping the metadata in the
MediaSamples they create.

  • platform/GStreamer.cmake:
  • platform/VideoFrameMetadata.h:
  • platform/graphics/gstreamer/GStreamerCommon.h:

(WebCore::fromGstClockTime):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
(WebCore::MediaPlayerPrivateGStreamer::configureVideoDecoder):
(WebCore::MediaPlayerPrivateGStreamer::pushTextureToCompositor):
(WebCore::MediaPlayerPrivateGStreamer::flushCurrentBuffer):
(WebCore::MediaPlayerPrivateGStreamer::videoFrameMetadata):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/gstreamer/MediaSampleGStreamer.cpp:

(WebCore::MediaSampleGStreamer::MediaSampleGStreamer):
(WebCore::MediaSampleGStreamer::createImageSample):

  • platform/graphics/gstreamer/MediaSampleGStreamer.h:

(WebCore::MediaSampleGStreamer::create):
(WebCore::MediaSampleGStreamer::createImageSample):
(WebCore::MediaSampleGStreamer::MediaSampleGStreamer):

  • platform/graphics/gstreamer/VideoFrameMetadataGStreamer.cpp: Added.

(videoFrameMetadataAPIGetType):
(videoFrameMetadataGetInfo):
(webkitGstBufferSetVideoSampleMetadata):
(webkitGstTraceProcessingTimeForElement):
(webkitGstBufferGetVideoFrameMetadata):

  • platform/graphics/gstreamer/VideoFrameMetadataGStreamer.h: Added.
  • platform/mediastream/gstreamer/GStreamerCapturer.cpp:

(WebCore::GStreamerCapturer::createSource):

  • platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:

(mediaStreamTrackPrivateGetTags):

  • platform/mediastream/gstreamer/MockRealtimeVideoSourceGStreamer.cpp:

(WebCore::MockRealtimeVideoSourceGStreamer::updateSampleBuffer):

  • platform/mediastream/libwebrtc/gstreamer/RealtimeIncomingVideoSourceLibWebRTC.cpp:

(WebCore::RealtimeIncomingVideoSourceLibWebRTC::OnFrame):

  • platform/mediastream/libwebrtc/gstreamer/RealtimeIncomingVideoSourceLibWebRTC.h:

Source/WTF:

  • Scripts/Preferences/WebPreferencesExperimental.yaml: Enable rvfc support in GStreamer ports.

LayoutTests:

  • platform/glib/TestExpectations: Update rvfc test expectations. WebRTC-related tests fail

mostly because WebRTC encoding/decoding is currently totally broken in WPE/GTK. XR tests
shall be handled in a separate patch.

9:50 AM Changeset in webkit [286368] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

REGRESSION (r286346): ResourceLoadDelegate.LoadInfo fails
https://bugs.webkit.org/show_bug.cgi?id=233689

Reviewed by Simon Fraser.

  • TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm:

This test asserts that archiving a _WKResourceLoadInfo via NSKeyedArchiver
encodes to a particular size (607 bytes).

If you look at the resultant plist before r286346, the encoded frameID
and resourceLoadID have the same value, and because of NSKeyedArchiver
deduplication, share the same object.

If you look at the resultant plist *after* r286346, the encoded frameID
is one larger than the resourceLoadID, thus cannot be deduplicated, and
end up encoding as separate objects. This results in the encoded size
increasing to 612 bytes.

The reason that the encoded frameID is now one value larger is that
ObjectIdentifier uses a global identifier pool, and r286346 creates
one more ObjectIdentifier during EventHandler construction, destroying
our entirely coincidental ID overlap, and causing the aforementioned
encoded size change.

Remove this assertion from the test, since it is very aggressive and
seems unnecessary. We could instead just rebaseline the test, but it
seems insufficiently important to burden some future developer with
a repeat of this evening of exploration and discovery.

9:45 AM Changeset in webkit [286367] by Chris Dumez
  • 4 edits in trunk/Source/WebKitLegacy/mac

Regression(r283912) Broke backward compatibility for Swift bindings
https://bugs.webkit.org/show_bug.cgi?id=233701
<rdar://85627701>

Reviewed by Darin Adler.

Rename EpochTimeStamp back to DOMTimeStamp in DOMObject.h & DOMEvent.h
since those are API headers and we need to maintain backward compatibility.

  • DOM/DOMEvent.h:
  • DOM/DOMEvent.mm:

(-[DOMEvent timeStamp]):

  • DOM/DOMObject.h:
9:09 AM Changeset in webkit [286366] by Wenson Hsieh
  • 4 edits in trunk/Source/WebCore

Adjust a Live Text quirk so that it applies to YouTube image thumbnails
https://bugs.webkit.org/show_bug.cgi?id=233670

Reviewed by Devin Rousso.

Augment this existing quirk so that it (1) applies to YouTube as well, and (2) also forces -webkit-user-drag
to be auto.

  • dom/ImageOverlay.cpp:

(WebCore::ImageOverlay::updateSubtree):

  • page/Quirks.cpp:

(WebCore::Quirks::needsToForceUserSelectAndUserDragWhenInstallingImageOverlay const):
(WebCore::Quirks::needsToForceUserSelectWhenInstallingImageOverlay const): Deleted.

  • page/Quirks.h:
9:04 AM Changeset in webkit [286365] by Antti Koivisto
  • 7 edits
    2 adds in trunk

[:has() pseudo-class] Sibling combinator invalidation
https://bugs.webkit.org/show_bug.cgi?id=233696

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • web-platform-tests/css/selectors/invalidation/has-sibling-expected.txt: Added.
  • web-platform-tests/css/selectors/invalidation/has-sibling.html: Added.

Source/WebCore:

Invalidate style correctly for sibling combinators in :has() arguments.

Also add new MatchElement::HasSiblingDescendant value used for :has() arguments that
match the subject elements siblings descendants, like ':has(~ div .descendant)'.
Use it to avoid unnecessary big tree traversals in simple cases.

Test: imported/w3c/web-platform-tests/css/selectors/invalidation/has-sibling.html

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::matchHasPseudoClass const):

Minimal traversals for HasSibling and HasSiblingDescendant.

  • style/ChildChangeInvalidation.cpp:

(WebCore::Style::needsTraversal):
(WebCore::Style::needsDescendantTraversal):

  • style/RuleFeature.cpp:

(WebCore::Style::isSiblingOrSubject):
(WebCore::Style::isHasPseudoClassMatchElement):
(WebCore::Style::computeHasPseudoClassMatchElement):

  • style/RuleFeature.h:
  • style/StyleInvalidator.cpp:

(WebCore::Style::Invalidator::invalidateStyleWithMatchElement):

Invalidation traversal.

8:50 AM Changeset in webkit [286364] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

Add a features.json entry to requestVideoFrameCallback
https://bugs.webkit.org/show_bug.cgi?id=233690

Reviewed by Eric Carlson.

No change of behavior.

  • features.json:
8:41 AM Changeset in webkit [286363] by Patrick Griffis
  • 22 edits
    1 copy
    2 adds in trunk

CSP: Update URL stripping in reports to match other implementations
https://bugs.webkit.org/show_bug.cgi?id=233135

Reviewed by Kate Cheney.

LayoutTests/imported/w3c:

Update tests as passing.

  • web-platform-tests/content-security-policy/generic/directive-name-case-insensitive.sub-expected.txt:
  • web-platform-tests/content-security-policy/media-src/media-src-7_1_2.sub-expected.txt:
  • web-platform-tests/content-security-policy/media-src/media-src-7_2_2.sub-expected.txt:
  • web-platform-tests/content-security-policy/media-src/media-src-blocked.sub-expected.txt:
  • web-platform-tests/content-security-policy/reporting/report-original-url.sub-expected.txt:
  • web-platform-tests/content-security-policy/reporting/report-strips-fragment-expected.txt:
  • web-platform-tests/content-security-policy/securitypolicyviolation/securitypolicyviolation-block-cross-origin-image.sub-expected.txt:

Source/WebCore:

  • page/csp/ContentSecurityPolicy.cpp:

(WebCore::ContentSecurityPolicy::createURLForReporting const):
(WebCore::ContentSecurityPolicy::reportViolation const):
(WebCore::ContentSecurityPolicy::deprecatedURLForReporting const): Deleted.

  • page/csp/ContentSecurityPolicy.h:

LayoutTests:

Remove skipped tests that now pass. Change CSP tests to expect full URLs.

  • TestExpectations:
  • http/tests/security/contentSecurityPolicy/1.1/script-blocked-sends-multiple-reports-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-cross-origin-image-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-cross-origin-image-from-script-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-cross-origin-image-from-script.html:
  • http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-cross-origin-image.html:
  • http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-image-https-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-blocked-uri-cross-origin-expected.txt:
  • http/wpt/fetch/csp-reports-bypass-csp-checks.html:
  • platform/glib/imported/w3c/web-platform-tests/content-security-policy/media-src/media-src-7_1_2.sub-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/content-security-policy/media-src/media-src-7_2_2.sub-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/content-security-policy/media-src/media-src-blocked.sub-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/content-security-policy/media-src/media-src-redir-bug.sub-expected.txt:
7:47 AM Changeset in webkit [286362] by commit-queue@webkit.org
  • 4 edits in trunk/LayoutTests

imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/multipart-formdata.window.html is no longer failing – remove expectations
https://bugs.webkit.org/show_bug.cgi?id=233664

Patch by Andreu Botella <andreu@andreubotella.com> on 2021-12-01
Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/html/semantics/forms/form-submission-0/multipart-formdata.window-expected.txt:

Updated to match the current test output.

LayoutTests:

5:36 AM Changeset in webkit [286361] by youenn@apple.com
  • 21 edits
    4 adds in trunk

Reuse navigation preload if service worker is fetching the corresponding navigation request
https://bugs.webkit.org/show_bug.cgi?id=233490

Reviewed by Chris Dumez.

Source/WebCore:

Store the fetch identifier in FetchRequest as this might be used as the navigation preload identifier.
We set it when creating a FetchRequest for firing a fetch event.
This identifier is kept in case of request cloning or when creating a request as part of calling fetch.
It is used to set the navigationPreloadIdentifier in ResourceLoaderOptions that is piped to WebLoaderStrategy.

Test: http/wpt/service-workers/fetch-service-worker-preload.https.html

  • Modules/fetch/FetchLoader.cpp:
  • Modules/fetch/FetchRequest.cpp:
  • Modules/fetch/FetchRequest.h:
  • loader/ResourceLoaderOptions.h:
  • loader/ThreadableLoader.cpp:
  • workers/service/context/ServiceWorkerFetch.cpp:
  • workers/service/context/ServiceWorkerFetch.h:
  • workers/service/context/ServiceWorkerThread.cpp:
  • workers/service/context/ServiceWorkerThread.h:
  • workers/service/context/ServiceWorkerThreadProxy.cpp:

Source/WebKit:

Store navigation preloader in NetworkSession, keyed by the corresponding fetch identifier.
When a navigation request is coming from fetch with the corresponding navigation preload identifier
we look at ongoing preloads and use it if available to answer the fetch.
To do so, we create a new ServiceWorkerFetchTask that will take the preloader of the initial ServiceWorkerFetchTask.

  • NetworkProcess/NetworkResourceLoadParameters.cpp:
  • NetworkProcess/NetworkResourceLoadParameters.h:
  • NetworkProcess/NetworkSession.cpp:
  • NetworkProcess/NetworkSession.h:
  • NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:
  • NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.h:
  • NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:
  • WebProcess/Network/WebLoaderStrategy.cpp:

LayoutTests:

  • http/wpt/service-workers/fetch-service-worker-preload-worker.js: Added.
  • http/wpt/service-workers/fetch-service-worker-preload.https-expected.txt: Added.
  • http/wpt/service-workers/fetch-service-worker-preload.https.html: Added.
  • http/wpt/service-workers/resources/fetch-service-worker-preload-script.py: Added.
4:45 AM Changeset in webkit [286360] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Fix potential build break related to StructureID.h
https://bugs.webkit.org/show_bug.cgi?id=233693

Patch by Xan Lopez <Xan Lopez> on 2021-12-01
Reviewed by Adrian Perez de Castro.

  • runtime/StructureID.h: include StdIntExtras.h for CPURegister.
4:27 AM Changeset in webkit [286359] by youenn@apple.com
  • 2 edits in trunk/Source/WebKit

WebSWServerConnection::createFetchTask does not need to query twice for a registration
https://bugs.webkit.org/show_bug.cgi?id=233467

Reviewed by Chris Dumez.

Instead of searching for a worker and then searching for a registration,
we now search for a registration and, if not null, directly get its active worker.
This makes it clear the registration is not null in follow-up code and removes a redundant query.

No change of behavior, this is a refactoring.

  • NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:

(WebKit::WebSWServerConnection::createFetchTask):

2:56 AM Changeset in webkit [286358] by eocanha@igalia.com
  • 5 edits in trunk/Source/WebCore

[MSE][WPE] Parameterize maximum buffer size using the MSE_MAX_BUFFER_SIZE env var
https://bugs.webkit.org/show_bug.cgi?id=233495

Reviewed by Xabier Rodriguez-Calvar.

The current MSE policy of SourceBuffers taking all the available system memory until the MemoryPressureHandler
complains may work fine for a typical desktop system, when caching is preferred over memory footprint. However,
memory is scarce on embedded systems and WebKit may compete with other software for memory resources. In that
scenario, the embedder may prefer to restrict the amount of memory available for each kind of SourceBuffer
(audio, video, text).

For that purpose, the MSE_MAX_BUFFER_SIZE environment variable is honored. It has the following syntax: Case
insensitive, full type (audio, video, text), compact type (a, v, t), wildcard (*), unit multipliers (M=Mb,
K=Kb, <empty>=bytes). Examples:

MSE_MAX_BUFFER_SIZE='V:50M,audio:12k,TeXT:500K'
MSE_MAX_BUFFER_SIZE='*:100M'
MSE_MAX_BUFFER_SIZE='video:90M,T:100000'

  • Modules/mediasource/SourceBuffer.cpp: Honor platform imposed buffer size restrictions with higher priority (if present) than the element ones.
  • platform/graphics/SourceBufferPrivate.h: Added platformMaximumBufferSize() default implementation that sets no buffer size restrictions.
  • platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.cpp: Read the MSE_MAX_BUFFER_SIZE environment variable and compute the maximum buffer

size if the size is specified in the variable for all the track types present in the SourceBufferPrivate. Otherwise, use the default size.

  • platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.h: Override default platformMaximumBufferSize() implementation.
2:53 AM Changeset in webkit [286357] by Martin Robinson
  • 2 edits in trunk/Source/WTF

Add a runtime flag to enable CSS Transforms Level 2 spec compliant behavior
https://bugs.webkit.org/show_bug.cgi?id=232618

Reviewed by Simon Fraser.

  • Scripts/Preferences/WebPreferencesExperimental.yaml:
2:44 AM Changeset in webkit [286356] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Remove debug print left over from previous patch
https://bugs.webkit.org/show_bug.cgi?id=233692

Unreviewed follow-up patch.

Patch by Xan Lopez <Xan Lopez> on 2021-12-01

  • offlineasm/x86.rb: remove debug print.
1:07 AM Changeset in webkit [286355] by beidson@apple.com
  • 22 edits
    1 copy in trunk

Add WKWebsiteDataStore configuration option to enable Mock app bundle testing.
https://bugs.webkit.org/show_bug.cgi?id=233679

Reviewed by Tim Horton.

Source/WebKit:

Covered by API tests.

We're about to land actual implementations of app permissions bundles.
But the mock bundles still have a place for testing.
We need a way to switch between Mock and Native.

This patch takes the opportunity to plumb out a WebPushDaemonConnectionConfiguration object
that can easily be augmented in future patches to add new options without messing with messaging directly.

  • NetworkProcess/NetworkSession.h:

(WebKit::NetworkSession::webpushdUsesMockBundlesForTesting const):

  • NetworkProcess/NetworkSessionCreationParameters.cpp:

(WebKit::NetworkSessionCreationParameters::encode const):
(WebKit::NetworkSessionCreationParameters::decode):

  • NetworkProcess/NetworkSessionCreationParameters.h:
  • NetworkProcess/Notifications/NetworkNotificationManager.cpp:

(WebKit::NetworkNotificationManager::maybeSendConnectionConfiguration const):
(WebKit::NetworkNotificationManager::sendMessage const):
(WebKit::NetworkNotificationManager::sendMessageWithReply const):
(WebKit::NetworkNotificationManager::maybeSendHostAppAuditToken const): Deleted.

  • NetworkProcess/Notifications/NetworkNotificationManager.h:
  • NetworkProcess/cocoa/NetworkSessionCocoa.h:
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):

  • Shared/WebPushDaemonConnectionConfiguration.h: Copied from Source/WebKit/Shared/WebPushDaemonConstants.h.

(WebKit::WebPushD::WebPushDaemonConnectionConfiguration::encode const):
(WebKit::WebPushD::WebPushDaemonConnectionConfiguration::decode):

  • Shared/WebPushDaemonConstants.h:

(WebKit::WebPushD::messageTypeSendsReply):

  • UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h:
  • UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm:

(-[_WKWebsiteDataStoreConfiguration webpushdUsesMockBundlesForTesting]):
(-[_WKWebsiteDataStoreConfiguration setWebpushdUsesMockBundlesForTesting:]):

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::parameters):

  • UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp:

(WebKit::WebsiteDataStoreConfiguration::copy const):
(WebKit::WebsiteDataStoreConfiguration::webPushDaemonConnectionConfiguration const):

  • UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h:

(WebKit::WebsiteDataStoreConfiguration::webpushdUsesMockBundlesForTesting const):
(WebKit::WebsiteDataStoreConfiguration::setWebpushdUsesMockBundlesForTesting):

  • WebKit.xcodeproj/project.pbxproj:
  • webpushd/AppBundleRequest.mm:

(WebPushD::AppBundleRequest::AppBundleRequest):
(WebPushD::AppBundleRequest::start):

  • webpushd/PushClientConnection.h:

(WebPushD::ClientConnection::hasHostAppAuditToken const):
(WebPushD::ClientConnection::useMockBundlesForTesting const):

  • webpushd/PushClientConnection.mm:

(WebPushD::ClientConnection::updateConnectionConfiguration):
(WebPushD::ClientConnection::setHostAppAuditTokenData):

  • webpushd/WebPushDaemon.h:
  • webpushd/WebPushDaemon.mm:

(WebPushD::Daemon::decodeAndHandleMessage):
(WebPushD::Daemon::getOriginsWithPushAndNotificationPermissions):
(WebPushD::Daemon::setDebugModeIsEnabled):
(WebPushD::Daemon::updateConnectionConfiguration):
(WebPushD::Daemon::setHostAppAuditToken): Deleted.

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm:
12:21 AM Changeset in webkit [286354] by Lauro Moura
  • 2 edits in trunk/Source/WebKit

[GTK][GTK4][WebDriver] Flaky crashes exiting many prompty-related webdriver tests
https://bugs.webkit.org/show_bug.cgi?id=233505

Reviewed by Carlos Garcia Campos.

Covered by existing tests.

When building for GTK4, upon dialog closure the dialog widgets might
be removed with webkitWebViewDialogSetChild(dialog, NULL) while
the button is still registered as the default widget of the toplevel.

This commit makes sure we don't have a default widget while the
dialog is unmapped, to mirror the map() behavior.

  • UIProcess/API/gtk/WebKitScriptDialogImpl.cpp:

(webkitScriptDialogImplUnmap): Added to unset the default widget.
(webkit_script_dialog_impl_class_init): Register unmap callback.

Nov 30, 2021:

11:43 PM Changeset in webkit [286353] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

replace-webkit-additions-includes should assume unknown or empty deployment targets are supported
https://bugs.webkit.org/show_bug.cgi?id=233650

Patch by Antoine Quint <Antoine Quint> on 2021-11-30
Reviewed by Tim Horton.

  • mac/replace-webkit-additions-includes.py:

(is_supported_os):

11:18 PM Changeset in webkit [286352] by Simon Fraser
  • 20 edits in trunk/Source

Pass the timestamp for scrolling thread animations through all the serviceScrollAnimation() calls
https://bugs.webkit.org/show_bug.cgi?id=233678

Reviewed by Tim Horton.

Source/WebCore:

All scroll animations serviced at the same time should use a common timestamp, and
avoid multiple calls to MonotonicTime::now() by passing the time down through from
ThreadedScrollingTree::displayDidRefreshOnScrollingThread().

Also minor refactoring in ThreadedScrollingTree to prepare for a future patch.

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::nominalFramesPerSecond):

  • page/scrolling/ScrollingTreeScrollingNode.h:
  • page/scrolling/ScrollingTreeScrollingNodeDelegate.h:
  • page/scrolling/ThreadedScrollingTree.cpp:

(WebCore::ThreadedScrollingTree::frameDuration):
(WebCore::ThreadedScrollingTree::maxAllowableRenderingUpdateDurationForSynchronization):
(WebCore::ThreadedScrollingTree::serviceScrollAnimations):
(WebCore::ThreadedScrollingTree::displayDidRefreshOnScrollingThread):

  • page/scrolling/ThreadedScrollingTree.h:
  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::ScrollingTreeFrameScrollingNodeMac::serviceScrollAnimation):

  • page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.h:
  • page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.mm:

(WebCore::ScrollingTreeOverflowScrollingNodeMac::serviceScrollAnimation):

  • page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h:
  • page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:

(WebCore::ScrollingTreeScrollingNodeDelegateMac::serviceScrollAnimation):

  • page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.cpp:

(WebCore::ScrollingTreeFrameScrollingNodeNicosia::serviceScrollAnimation):

  • page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.h:
  • page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.cpp:

(WebCore::ScrollingTreeOverflowScrollingNodeNicosia::serviceScrollAnimation):

  • page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.h:
  • page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.cpp:

(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::serviceScrollAnimation):

  • page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.h:

Source/WebKit:

  • UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.h:
11:18 PM Changeset in webkit [286351] by Simon Fraser
  • 15 edits in trunk/Source

Remove the scrolling tree plumbing of the momentumScrollingAnimatorEnabled() setting, which is no longer needed
https://bugs.webkit.org/show_bug.cgi?id=233680

Reviewed by Tim Horton.

We no longer consult the momentumScrollingAnimatorEnabled setting in the scrolling tree, so remove
the plumbing.

Source/WebCore:

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::setFrameScrollingNodeState):

  • page/scrolling/ScrollingStateFrameScrollingNode.cpp:

(WebCore::ScrollingStateFrameScrollingNode::ScrollingStateFrameScrollingNode):
(WebCore::ScrollingStateFrameScrollingNode::applicableProperties const):
(WebCore::ScrollingStateFrameScrollingNode::setMomentumScrollingAnimatorEnabled): Deleted.

  • page/scrolling/ScrollingStateFrameScrollingNode.h:
  • page/scrolling/ScrollingStateNode.h:
  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::commitTreeState):

  • page/scrolling/ScrollingTree.h:

(WebCore::ScrollingTree::momentumScrollingAnimatorEnabled const): Deleted.
(WebCore::ScrollingTree::setMomentumScrollingAnimatorEnabled): Deleted.

  • page/scrolling/ScrollingTreeScrollingNode.cpp:

(WebCore::ScrollingTreeScrollingNode::momentumScrollingAnimatorEnabled const): Deleted.

  • page/scrolling/ScrollingTreeScrollingNode.h:
  • page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h:
  • page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:

(WebCore::ScrollingTreeScrollingNodeDelegateMac::momentumScrollingAnimatorEnabled const): Deleted.

  • platform/ScrollingEffectsController.cpp:

(WebCore::ScrollingEffectsController::ScrollingEffectsController):

  • platform/ScrollingEffectsController.h:

(WebCore::ScrollingEffectsControllerClient::scrollAnimationEnabled const):
(WebCore::ScrollingEffectsControllerClient::momentumScrollingAnimatorEnabled const): Deleted.
(WebCore::ScrollingEffectsController::momentumScrollingAnimatorEnabled const): Deleted.

Source/WebKit:

  • Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp:

(ArgumentCoder<ScrollingStateFrameScrollingNode>::encode):
(ArgumentCoder<ScrollingStateFrameScrollingNode>::decode):

10:32 PM Changeset in webkit [286350] by Devin Rousso
  • 6 edits in trunk

[css-values-4] Dynamic dv* viewport units should not respect the page scale
https://bugs.webkit.org/show_bug.cgi?id=233291

Reviewed by Simon Fraser.

Source/WebCore:

According to the spec (<https://drafts.csswg.org/css-values-4/#viewport-relative-lengths>):

The viewport-percentage lengths are relative to the size of the initial containing block.

As such, we should really be using the layout viewport, not the visual viewport.

Tests: CSSViewportUnits.AllSame

CSSViewportUnits.EmptyUnobscuredSizeOverrides
CSSViewportUnits.SameUnobscuredSizeOverrides
CSSViewportUnits.DifferentUnobscuredSizeOverrides

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

(WebCore::FrameView::availableContentSizeChanged):
(WebCore::FrameView::layoutOrVisualViewportChanged):
(WebCore::FrameView::unobscuredContentSizeChanged):
(WebCore::FrameView::sizeForCSSDynamicViewportUnits() const):
Make sure to notify elements using CSS viewport units of changes to the layout viewport.

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/CSSViewportUnits.html:
  • TestWebKitAPI/Tests/WebKitCocoa/CSSViewportUnits.mm:

(evaluateForNumber):
(dimensionOfElement): Added.
(widthOfElementWithID): Added.
(heightOfElementWithID): ADded.
(viewportUnitLength): Added.
(TEST.CSSViewportUnits.AllSame):
(TEST.CSSViewportUnits.EmptyUnobscuredSizeOverrides):
(TEST.CSSViewportUnits.SameUnobscuredSizeOverrides):
(TEST.CSSViewportUnits.DifferentUnobscuredSizeOverrides):
(getElementHeight): Deleted.

10:11 PM Changeset in webkit [286349] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Null check value returned by WorkerOrWorkletGlobalScope::script()
https://bugs.webkit.org/show_bug.cgi?id=233655

Reviewed by Darin Adler.

Null check value returned by WorkerOrWorkletGlobalScope::script() since it can in theory be null
(it gets cleared in prepareForDestruction()).

  • bindings/js/JSDOMConvertPromise.h:

(WebCore::Converter<IDLPromise<T>>::convert):

  • bindings/js/JSDOMPromiseDeferred.cpp:

(WebCore::DeferredPromise::handleTerminationExceptionIfNeeded):

  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::handleEvent):

9:29 PM Changeset in webkit [286348] by Cameron McCormack
  • 1 edit
    6 adds in trunk/Websites/webkit.org

Add resources for an upcoming blog post
https://bugs.webkit.org/show_bug.cgi?id=233681

Unreviewed.

  • blog-files/wide-gamut-canvas/pinwheels.html: Added.
  • blog-files/wide-gamut-canvas/puzzle.html: Added.
  • blog-files/wide-gamut-canvas/puzzle.jpg: Added.
  • blog-files/wide-gamut-canvas/squares.html: Added.
  • blog-files/wide-gamut-canvas/stripes.html: Added.
8:38 PM Changeset in webkit [286347] by mark.lam@apple.com
  • 248 edits
    2 adds in trunk/Source

Move Subspaces from VM to Heap.
https://bugs.webkit.org/show_bug.cgi?id=233648
rdar://85875751

Reviewed by Saam Barati.

Source/JavaScriptCore:

Subspaces are Heap data structures to begin with, and this refactoring is needed
in preparation for the global GC.

  1. Embed HeapCellType and IsoHeapCellType instances in Heap directly instead of malloc'ing them separately and referencing them via unique_ptrs. These instances are always instantiated unconditionally anyway. This change eliminates the unneeded busy work to allocate them separately.
  1. Introduce a HeapSubspaceTypes.h that #include all the types that we have subspaces for. This makes it so that Heap.cpp's #include list is not flooded with these types with subspaces, and that it'll be easier to discern between these Subspace types from other data structures needed for implementing Heap.
  1. Add VM accessor methods for subspaces that forward to Heap. This will make it easier for us to redirect to a thread local allocator later for the global GC.
  1. Remove unneeded #includes in VM.h.
  1. Remove unused CodeBlockSet::iterateViaSubspaces().
  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/AccessCase.cpp:

(JSC::AccessCase::generateImpl):

  • bytecode/DFGExitProfile.h:
  • bytecode/EvalCodeBlock.h:
  • bytecode/ExecutableToCodeBlockEdge.cpp:

(JSC::ExecutableToCodeBlockEdge::visitChildrenImpl):
(JSC::ExecutableToCodeBlockEdge::finalizeUnconditionally):
(JSC::ExecutableToCodeBlockEdge::runConstraint):

  • bytecode/ExecutableToCodeBlockEdge.h:
  • bytecode/FunctionCodeBlock.h:
  • bytecode/ModuleProgramCodeBlock.h:
  • bytecode/ProgramCodeBlock.h:
  • bytecode/Repatch.h:
  • bytecode/UnlinkedFunctionExecutable.cpp:

(JSC::UnlinkedFunctionExecutable::unlinkedCodeBlockFor):
(JSC::UnlinkedFunctionExecutable::finalizeUnconditionally):

  • bytecode/UnlinkedFunctionExecutable.h:
  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::emitAllocateRawObject):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::emitNewTypedArrayWithSize):
(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):

  • generator/DSL.rb:
  • heap/CodeBlockSet.h:
  • heap/CodeBlockSetInlines.h:

(JSC::CodeBlockSet::iterateViaSubspaces): Deleted.

  • heap/Heap.cpp:

(JSC::Heap::Heap):
(JSC::Heap::finalizeUnconditionalFinalizers):
(JSC::Heap::deleteAllCodeBlocks):
(JSC::Heap::deleteAllUnlinkedCodeBlocks):
(JSC::Heap::deleteUnmarkedCompiledCode):
(JSC::Heap::sweepInFinalize):
(JSC::Heap::addCoreConstraints):

  • heap/Heap.h:

(JSC::Heap::gigacageAuxiliarySpace):
(JSC::Heap::SpaceAndSet::SpaceAndSet):
(JSC::Heap::SpaceAndSet::setFor):
(JSC::Heap::forEachCodeBlockSpace):
(JSC::Heap::forEachScriptExecutableSpace):

  • heap/HeapSubspaceTypes.h: Added.
  • heap/IsoHeapCellType.h:
  • heap/IsoInlinedHeapCellType.h:
  • heap/IsoInlinedHeapCellTypeInlines.h: Added.

(JSC::IsoInlinedHeapCellType<CellType>::IsoInlinedHeapCellType):
(JSC::IsoInlinedHeapCellType<CellType>::DestroyFunc::operator const):
(JSC::IsoInlinedHeapCellType<CellType>::finishSweep const):
(JSC::IsoInlinedHeapCellType<CellType>::destroy const):

  • heap/MarkedBlockInlines.h:
  • inspector/JSInjectedScriptHostPrototype.h:
  • inspector/JSJavaScriptCallFramePrototype.h:
  • interpreter/CallFrame.h:
  • jsc.cpp:

(JSCMemoryFootprint::subspaceFor):
(JSFileDescriptor::subspaceFor):

  • runtime/AggregateErrorPrototype.h:
  • runtime/ArrayIteratorPrototype.h:
  • runtime/AsyncFromSyncIteratorPrototype.h:
  • runtime/AsyncFunctionPrototype.h:
  • runtime/AsyncGeneratorFunctionPrototype.h:
  • runtime/AsyncGeneratorPrototype.h:
  • runtime/AsyncIteratorPrototype.h:
  • runtime/AtomicsObject.h:
  • runtime/BigIntPrototype.h:
  • runtime/BrandedStructure.h:
  • runtime/ButterflyInlines.h:

(JSC::Butterfly::tryCreateUninitialized):
(JSC::Butterfly::createUninitialized):
(JSC::Butterfly::tryCreate):
(JSC::Butterfly::growArrayRight):
(JSC::Butterfly::reallocArrayRightIfPossible):

  • runtime/CachedTypes.h:
  • runtime/ClonedArguments.h:
  • runtime/ConsoleObject.h:
  • runtime/CustomGetterSetter.h:

(JSC::CustomGetterSetter::subspaceFor):

  • runtime/DOMAttributeGetterSetter.h:
  • runtime/DateInstance.h:
  • runtime/DatePrototype.h:
  • runtime/DirectArguments.h:
  • runtime/ErrorPrototype.h:
  • runtime/Exception.h:
  • runtime/FinalizationRegistryPrototype.h:
  • runtime/FunctionExecutable.h:
  • runtime/GeneratorFunctionPrototype.h:
  • runtime/GeneratorPrototype.h:
  • runtime/GetterSetter.h:
  • runtime/HashMapImpl.h:

(JSC::HashMapBuffer::create):

  • runtime/InternalFunction.h:

(JSC::InternalFunction::subspaceFor):

  • runtime/IntlCollatorPrototype.h:
  • runtime/IntlDateTimeFormatPrototype.h:
  • runtime/IntlDisplayNamesPrototype.h:
  • runtime/IntlListFormatPrototype.h:
  • runtime/IntlLocalePrototype.h:
  • runtime/IntlNumberFormatPrototype.h:
  • runtime/IntlObject.h:
  • runtime/IntlPluralRulesPrototype.h:
  • runtime/IntlRelativeTimeFormatPrototype.h:
  • runtime/IntlSegmentIteratorPrototype.h:
  • runtime/IntlSegmenterPrototype.h:
  • runtime/IntlSegmentsPrototype.h:
  • runtime/IteratorPrototype.h:
  • runtime/JSArray.cpp:

(JSC::JSArray::tryCreateUninitializedRestricted):

  • runtime/JSArray.h:

(JSC::JSArray::subspaceFor):
(JSC::JSArray::tryCreate):

  • runtime/JSArrayBufferPrototype.h:
  • runtime/JSArrayBufferView.cpp:

(JSC::JSArrayBufferView::ConstructionContext::ConstructionContext):

  • runtime/JSBigInt.cpp:

(JSC::JSBigInt::createWithLength):

  • runtime/JSBigInt.h:
  • runtime/JSCallee.h:

(JSC::JSCallee::subspaceFor):

  • runtime/JSDataViewPrototype.h:
  • runtime/JSFunction.h:

(JSC::JSFunction::subspaceFor):

  • runtime/JSGenericTypedArrayViewPrototype.h:
  • runtime/JSGlobalLexicalEnvironment.h:
  • runtime/JSImmutableButterfly.h:

(JSC::JSImmutableButterfly::subspaceFor):

  • runtime/JSLexicalEnvironment.h:

(JSC::JSLexicalEnvironment::subspaceFor):

  • runtime/JSModuleLoader.h:
  • runtime/JSONObject.h:
  • runtime/JSObjectInlines.h:

(JSC::JSFinalObject::subspaceFor):

  • runtime/JSPromise.h:

(JSC::JSPromise::subspaceFor):

  • runtime/JSPromisePrototype.h:

(JSC::JSPromisePrototype::subspaceFor):

  • runtime/JSPropertyNameEnumerator.cpp:

(JSC::JSPropertyNameEnumerator::create):

  • runtime/JSPropertyNameEnumerator.h:
  • runtime/JSProxy.h:

(JSC::JSProxy::subspaceFor):

  • runtime/JSString.h:

(JSC::JSString::subspaceFor):

  • runtime/JSTypedArrayViewPrototype.h:
  • runtime/MapIteratorPrototype.h:
  • runtime/MapPrototype.h:
  • runtime/MathObject.h:
  • runtime/NativeErrorPrototype.h:
  • runtime/NativeExecutable.h:
  • runtime/NumberObject.h:

(JSC::NumberObject::subspaceFor):

  • runtime/ObjectPrototype.h:
  • runtime/ProgramExecutable.h:
  • runtime/PropertyTable.h:
  • runtime/ReflectObject.h:
  • runtime/RegExp.h:
  • runtime/RegExpObject.h:
  • runtime/RegExpPrototype.h:
  • runtime/RegExpStringIteratorPrototype.h:
  • runtime/ScopedArguments.cpp:

(JSC::ScopedArguments::createUninitialized):

  • runtime/ScopedArguments.h:
  • runtime/SetIteratorPrototype.h:
  • runtime/SetPrototype.h:
  • runtime/ShadowRealmPrototype.h:
  • runtime/SparseArrayValueMap.h:
  • runtime/StringIteratorPrototype.h:
  • runtime/StringObject.h:

(JSC::StringObject::subspaceFor):

  • runtime/Structure.h:

(JSC::Structure::subspaceFor):

  • runtime/StructureChain.cpp:

(JSC::StructureChain::create):

  • runtime/StructureChain.h:
  • runtime/StructureRareData.h:
  • runtime/SymbolPrototype.h:
  • runtime/SymbolTable.h:
  • runtime/TemporalCalendarPrototype.h:
  • runtime/TemporalDurationPrototype.h:
  • runtime/TemporalInstantPrototype.h:
  • runtime/TemporalNow.h:
  • runtime/TemporalObject.h:
  • runtime/TemporalPlainTimePrototype.h:
  • runtime/TemporalTimeZonePrototype.h:
  • runtime/ThrowScope.cpp:
  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

(JSC::VM::cellHeapCellType):
(JSC::VM::destructibleObjectHeapCellType):
(JSC::VM::primitiveGigacageAuxiliarySpace):
(JSC::VM::jsValueGigacageAuxiliarySpace):
(JSC::VM::immutableButterflyJSValueGigacageAuxiliarySpace):
(JSC::VM::gigacageAuxiliarySpace):
(JSC::VM::cellSpace):
(JSC::VM::variableSizedCellSpace):
(JSC::VM::destructibleObjectSpace):
(JSC::VM::arraySpace):
(JSC::VM::bigIntSpace):
(JSC::VM::calleeSpace):
(JSC::VM::clonedArgumentsSpace):
(JSC::VM::customGetterSetterSpace):
(JSC::VM::dateInstanceSpace):
(JSC::VM::domAttributeGetterSetterSpace):
(JSC::VM::exceptionSpace):
(JSC::VM::executableToCodeBlockEdgeSpace):
(JSC::VM::functionSpace):
(JSC::VM::getterSetterSpace):
(JSC::VM::globalLexicalEnvironmentSpace):
(JSC::VM::internalFunctionSpace):
(JSC::VM::jsProxySpace):
(JSC::VM::nativeExecutableSpace):
(JSC::VM::numberObjectSpace):
(JSC::VM::plainObjectSpace):
(JSC::VM::promiseSpace):
(JSC::VM::propertyNameEnumeratorSpace):
(JSC::VM::propertyTableSpace):
(JSC::VM::regExpSpace):
(JSC::VM::regExpObjectSpace):
(JSC::VM::ropeStringSpace):
(JSC::VM::scopedArgumentsSpace):
(JSC::VM::sparseArrayValueMapSpace):
(JSC::VM::stringSpace):
(JSC::VM::stringObjectSpace):
(JSC::VM::structureChainSpace):
(JSC::VM::structureRareDataSpace):
(JSC::VM::structureSpace):
(JSC::VM::brandedStructureSpace):
(JSC::VM::symbolTableSpace):
(JSC::VM::executableToCodeBlockEdgesWithConstraints):
(JSC::VM::executableToCodeBlockEdgesWithFinalizers):
(JSC::VM::codeBlockSpace):
(JSC::VM::functionExecutableSpace):
(JSC::VM::programExecutableSpace):
(JSC::VM::unlinkedFunctionExecutableSpace):
(JSC::VM::setFuzzerAgent): Deleted.
(JSC::VM::SpaceAndSet::SpaceAndSet): Deleted.
(JSC::VM::SpaceAndSet::setFor): Deleted.
(JSC::VM::forEachCodeBlockSpace): Deleted.
(JSC::VM::forEachScriptExecutableSpace): Deleted.

  • runtime/VMInlines.h:

(JSC::VM::setFuzzerAgent):

  • runtime/WeakMapPrototype.h:
  • runtime/WeakObjectRefPrototype.h:
  • runtime/WeakSetPrototype.h:
  • tools/JSDollarVM.cpp:
  • tools/JSDollarVM.h:
  • wasm/js/JSWebAssembly.h:
  • wasm/js/WebAssemblyCompileErrorPrototype.h:
  • wasm/js/WebAssemblyExceptionPrototype.h:
  • wasm/js/WebAssemblyGlobalPrototype.h:
  • wasm/js/WebAssemblyInstancePrototype.h:
  • wasm/js/WebAssemblyLinkErrorPrototype.h:
  • wasm/js/WebAssemblyMemoryPrototype.h:
  • wasm/js/WebAssemblyModulePrototype.h:
  • wasm/js/WebAssemblyRuntimeErrorPrototype.h:
  • wasm/js/WebAssemblyTablePrototype.h:
  • wasm/js/WebAssemblyTagPrototype.h:

Source/WebCore:

  1. Embed IsoHeapCellType instances in JSVMClientData directly instead of malloc'ing them separately and referencing them via unique_ptrs. These instances are always instantiated unconditionally anyway. This change eliminates the unneeded busy work to allocate them separately.
  1. Add missing initialization of JSVMClientData::m_heapCellTypeForJSSharedWorkerGlobalScope. This hasn't been an issue so far because we don't currently allow shared workers.
  1. Rebase bindings test results.
  • bindings/js/JSDOMAsyncIterator.h:
  • bindings/js/JSDOMIterator.h:
  • bindings/js/JSFileSystemDirectoryHandleIterator.cpp:

(WebCore::JSFileSystemDirectoryHandleIterator::subspaceForImpl):

  • bindings/js/WebCoreJSClientData.cpp:

(WebCore::JSVMClientData::JSVMClientData):

  • bindings/js/WebCoreJSClientData.h:
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):
(GenerateIterableDefinition):
(GeneratePrototypeDeclaration):

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

(WebCore::JSDOMWindow::subspaceForImpl):

  • bindings/scripts/test/JS/JSDOMWindow.h:
  • bindings/scripts/test/JS/JSDedicatedWorkerGlobalScope.cpp:

(WebCore::JSDedicatedWorkerGlobalScope::subspaceForImpl):

  • bindings/scripts/test/JS/JSDedicatedWorkerGlobalScope.h:
  • bindings/scripts/test/JS/JSExposedStar.cpp:

(WebCore::JSExposedStarDOMConstructor::prototypeForStructure):
(WebCore::JSExposedStar::subspaceForImpl):

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

(WebCore::JSExposedToWorkerAndWindow::subspaceForImpl):

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

(WebCore::JSPaintWorkletGlobalScope::subspaceForImpl):

  • bindings/scripts/test/JS/JSPaintWorkletGlobalScope.h:
  • bindings/scripts/test/JS/JSServiceWorkerGlobalScope.cpp:

(WebCore::JSServiceWorkerGlobalScope::subspaceForImpl):

  • bindings/scripts/test/JS/JSServiceWorkerGlobalScope.h:
  • bindings/scripts/test/JS/JSSharedWorkerGlobalScope.cpp:

(WebCore::JSSharedWorkerGlobalScope::subspaceForImpl):

  • bindings/scripts/test/JS/JSSharedWorkerGlobalScope.h:
  • bindings/scripts/test/JS/JSTestCEReactions.cpp:

(WebCore::JSTestCEReactionsDOMConstructor::prototypeForStructure):
(WebCore::JSTestCEReactions::subspaceForImpl):

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

(WebCore::JSTestCEReactionsStringifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestCEReactionsStringifier::subspaceForImpl):

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

(WebCore::JSTestCallTracerDOMConstructor::prototypeForStructure):
(WebCore::JSTestCallTracer::subspaceForImpl):

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

(WebCore::JSTestClassWithJSBuiltinConstructorDOMConstructor::prototypeForStructure):
(WebCore::JSTestClassWithJSBuiltinConstructor::subspaceForImpl):

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

(WebCore::JSTestConditionalIncludesDOMConstructor::prototypeForStructure):
(WebCore::JSTestConditionalIncludes::subspaceForImpl):

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

(WebCore::JSTestConditionallyReadWriteDOMConstructor::prototypeForStructure):
(WebCore::JSTestConditionallyReadWrite::subspaceForImpl):

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

(WebCore::JSTestDOMJITDOMConstructor::prototypeForStructure):
(WebCore::JSTestDOMJIT::subspaceForImpl):

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

(WebCore::JSTestDefaultToJSONDOMConstructor::prototypeForStructure):
(WebCore::JSTestDefaultToJSON::subspaceForImpl):

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

(WebCore::JSTestDefaultToJSONFilteredByExposedDOMConstructor::prototypeForStructure):
(WebCore::JSTestDefaultToJSONFilteredByExposed::subspaceForImpl):

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

(WebCore::JSTestDefaultToJSONIndirectInheritanceDOMConstructor::prototypeForStructure):
(WebCore::JSTestDefaultToJSONIndirectInheritance::subspaceForImpl):

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

(WebCore::JSTestDefaultToJSONInheritDOMConstructor::prototypeForStructure):
(WebCore::JSTestDefaultToJSONInherit::subspaceForImpl):

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

(WebCore::JSTestDefaultToJSONInheritFinalDOMConstructor::prototypeForStructure):
(WebCore::JSTestDefaultToJSONInheritFinal::subspaceForImpl):

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

(WebCore::JSTestDelegateToSharedSyntheticAttributeDOMConstructor::prototypeForStructure):
(WebCore::JSTestDelegateToSharedSyntheticAttribute::subspaceForImpl):

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

(WebCore::JSTestDomainSecurityDOMConstructor::prototypeForStructure):
(WebCore::JSTestDomainSecurity::subspaceForImpl):

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

(WebCore::JSTestEnabledBySettingDOMConstructor::prototypeForStructure):
(WebCore::JSTestEnabledBySetting::subspaceForImpl):

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

(WebCore::JSTestEnabledForContextDOMConstructor::prototypeForStructure):
(WebCore::JSTestEnabledForContext::subspaceForImpl):

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

(WebCore::JSTestEventConstructor::subspaceForImpl):

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

(WebCore::JSTestEventTargetDOMConstructor::prototypeForStructure):
(WebCore::JSTestEventTarget::subspaceForImpl):

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

(WebCore::JSTestExceptionDOMConstructor::prototypeForStructure):
(WebCore::JSTestException::subspaceForImpl):

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

(WebCore::JSTestGenerateAddOpaqueRootDOMConstructor::prototypeForStructure):
(WebCore::JSTestGenerateAddOpaqueRoot::subspaceForImpl):

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

(WebCore::JSTestGenerateIsReachableDOMConstructor::prototypeForStructure):
(WebCore::JSTestGenerateIsReachable::subspaceForImpl):

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

(WebCore::JSTestGlobalObject::subspaceForImpl):

  • bindings/scripts/test/JS/JSTestGlobalObject.h:
  • bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp:

(WebCore::JSTestIndexedSetterNoIdentifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestIndexedSetterNoIdentifier::subspaceForImpl):

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

(WebCore::JSTestIndexedSetterThrowingExceptionDOMConstructor::prototypeForStructure):
(WebCore::JSTestIndexedSetterThrowingException::subspaceForImpl):

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

(WebCore::JSTestIndexedSetterWithIdentifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestIndexedSetterWithIdentifier::subspaceForImpl):

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

(WebCore::JSTestInterfaceDOMConstructor::construct):
(WebCore::jsTestInterfacePrototypeFunction_entriesCaller):
(WebCore::JSTestInterface::subspaceForImpl):

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

(WebCore::JSTestInterfaceLeadingUnderscoreDOMConstructor::prototypeForStructure):
(WebCore::JSTestInterfaceLeadingUnderscore::subspaceForImpl):

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

(WebCore::JSTestIterableDOMConstructor::prototypeForStructure):
(WebCore::jsTestIterablePrototypeFunction_entriesCaller):
(WebCore::JSTestIterable::subspaceForImpl):

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

(WebCore::JSTestJSBuiltinConstructorDOMConstructor::prototypeForStructure):
(WebCore::JSTestJSBuiltinConstructor::subspaceForImpl):

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

(WebCore::JSTestLegacyFactoryFunctionDOMConstructor::prototypeForStructure):
(WebCore::JSTestLegacyFactoryFunction::subspaceForImpl):

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

(WebCore::JSTestLegacyNoInterfaceObjectPrototype::finishCreation):
(WebCore::JSTestLegacyNoInterfaceObject::subspaceForImpl):

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

(WebCore::JSTestLegacyOverrideBuiltInsDOMConstructor::prototypeForStructure):
(WebCore::JSTestLegacyOverrideBuiltIns::subspaceForImpl):

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

(WebCore::JSTestMapLikeDOMConstructor::prototypeForStructure):
(WebCore::JSTestMapLike::subspaceForImpl):

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

(WebCore::JSTestMapLikeWithOverriddenOperationsDOMConstructor::prototypeForStructure):
(WebCore::JSTestMapLikeWithOverriddenOperations::subspaceForImpl):

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

(WebCore::JSTestNamedAndIndexedSetterNoIdentifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedAndIndexedSetterNoIdentifier::subspaceForImpl):

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

(WebCore::JSTestNamedAndIndexedSetterThrowingExceptionDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedAndIndexedSetterThrowingException::subspaceForImpl):

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

(WebCore::JSTestNamedAndIndexedSetterWithIdentifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedAndIndexedSetterWithIdentifier::subspaceForImpl):

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

(WebCore::JSTestNamedDeleterNoIdentifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedDeleterNoIdentifier::subspaceForImpl):

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

(WebCore::JSTestNamedDeleterThrowingExceptionDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedDeleterThrowingException::subspaceForImpl):

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

(WebCore::JSTestNamedDeleterWithIdentifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedDeleterWithIdentifier::subspaceForImpl):

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

(WebCore::JSTestNamedDeleterWithIndexedGetterDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedDeleterWithIndexedGetter::subspaceForImpl):

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

(WebCore::JSTestNamedGetterCallWithDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedGetterCallWith::subspaceForImpl):

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

(WebCore::JSTestNamedGetterNoIdentifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedGetterNoIdentifier::subspaceForImpl):

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

(WebCore::JSTestNamedGetterWithIdentifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedGetterWithIdentifier::subspaceForImpl):

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

(WebCore::JSTestNamedSetterNoIdentifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedSetterNoIdentifier::subspaceForImpl):

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

(WebCore::JSTestNamedSetterThrowingExceptionDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedSetterThrowingException::subspaceForImpl):

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

(WebCore::JSTestNamedSetterWithIdentifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedSetterWithIdentifier::subspaceForImpl):

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

(WebCore::JSTestNamedSetterWithIndexedGetterDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedSetterWithIndexedGetter::subspaceForImpl):

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

(WebCore::JSTestNamedSetterWithIndexedGetterAndSetterDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::subspaceForImpl):

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

(WebCore::JSTestNamedSetterWithLegacyOverrideBuiltInsDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedSetterWithLegacyOverrideBuiltIns::subspaceForImpl):

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

(WebCore::JSTestNamedSetterWithLegacyUnforgeablePropertiesDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedSetterWithLegacyUnforgeableProperties::subspaceForImpl):

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

(WebCore::JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltInsDOMConstructor::prototypeForStructure):
(WebCore::JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns::subspaceForImpl):

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

(WebCore::JSTestNamespaceObject::subspaceForImpl):

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

(WebCore::jsTestNodePrototypeFunction_entriesCaller):
(WebCore::JSTestNode::subspaceForImpl):

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

(WebCore::JSTestObjDOMConstructor::construct):
(WebCore::JSTestObj::subspaceForImpl):

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

(WebCore::JSTestOperationConditionalDOMConstructor::prototypeForStructure):
(WebCore::JSTestOperationConditional::subspaceForImpl):

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

(WebCore::JSTestOverloadedConstructors::subspaceForImpl):

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

(WebCore::JSTestOverloadedConstructorsWithSequence::subspaceForImpl):

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

(WebCore::JSTestPluginInterfaceDOMConstructor::prototypeForStructure):
(WebCore::JSTestPluginInterface::subspaceForImpl):

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

(WebCore::JSTestPromiseRejectionEvent::subspaceForImpl):

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

(WebCore::JSTestReadOnlyMapLikeDOMConstructor::prototypeForStructure):
(WebCore::JSTestReadOnlyMapLike::subspaceForImpl):

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

(WebCore::JSTestReadOnlySetLikeDOMConstructor::prototypeForStructure):
(WebCore::JSTestReadOnlySetLike::subspaceForImpl):

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

(WebCore::JSTestReportExtraMemoryCostDOMConstructor::prototypeForStructure):
(WebCore::JSTestReportExtraMemoryCost::subspaceForImpl):

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

(WebCore::JSTestSerializedScriptValueInterfaceDOMConstructor::prototypeForStructure):
(WebCore::JSTestSerializedScriptValueInterface::subspaceForImpl):

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

(WebCore::JSTestSetLikeDOMConstructor::prototypeForStructure):
(WebCore::JSTestSetLike::subspaceForImpl):

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

(WebCore::JSTestSetLikeWithOverriddenOperationsDOMConstructor::prototypeForStructure):
(WebCore::JSTestSetLikeWithOverriddenOperations::subspaceForImpl):

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

(WebCore::JSTestStringifierDOMConstructor::prototypeForStructure):
(WebCore::JSTestStringifier::subspaceForImpl):

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

(WebCore::JSTestStringifierAnonymousOperationDOMConstructor::prototypeForStructure):
(WebCore::JSTestStringifierAnonymousOperation::subspaceForImpl):

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

(WebCore::JSTestStringifierNamedOperationDOMConstructor::prototypeForStructure):
(WebCore::JSTestStringifierNamedOperation::subspaceForImpl):

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

(WebCore::JSTestStringifierOperationImplementedAsDOMConstructor::prototypeForStructure):
(WebCore::JSTestStringifierOperationImplementedAs::subspaceForImpl):

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

(WebCore::JSTestStringifierOperationNamedToStringDOMConstructor::prototypeForStructure):
(WebCore::JSTestStringifierOperationNamedToString::subspaceForImpl):

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

(WebCore::JSTestStringifierReadOnlyAttributeDOMConstructor::prototypeForStructure):
(WebCore::JSTestStringifierReadOnlyAttribute::subspaceForImpl):

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

(WebCore::JSTestStringifierReadWriteAttributeDOMConstructor::prototypeForStructure):
(WebCore::JSTestStringifierReadWriteAttribute::subspaceForImpl):

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

(WebCore::JSTestTypedefsDOMConstructor::construct):
(WebCore::JSTestTypedefs::subspaceForImpl):

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

(WebCore::JSWorkerGlobalScope::subspaceForImpl):

  • bindings/scripts/test/JS/JSWorkerGlobalScope.h:
  • bindings/scripts/test/JS/JSWorkletGlobalScope.cpp:

(WebCore::JSWorkletGlobalScope::subspaceForImpl):

  • bindings/scripts/test/JS/JSWorkletGlobalScope.h:
  • bridge/objc/objc_runtime.mm:

(JSC::Bindings::ObjcFallbackObjectImp::subspaceForImpl):

  • workers/WorkerOrWorkletScriptController.h:
6:56 PM Changeset in webkit [286346] by timothy_horton@apple.com
  • 16 edits
    5 adds in trunk/Source

Add a momentum event synthesizer
https://bugs.webkit.org/show_bug.cgi?id=233653
<rdar://problem/85571258>

Reviewed by Simon Fraser.

Source/WebCore/PAL:

  • pal/spi/mac/IOKitSPIMac.h:

Add some SPI.

Source/WebKit:

  • Platform/Logging.h:

Add ScrollAnimations log channel to WebKit (it already exists in WebCore).

  • Shared/ScrollingAccelerationCurve.cpp: Added.

(WebKit::ScrollingAccelerationCurve::ScrollingAccelerationCurve):
(WebKit::ScrollingAccelerationCurve::interpolate):
(WebKit::ScrollingAccelerationCurve::computeIntermediateValuesIfNeeded):
(WebKit::ScrollingAccelerationCurve::evaluateQuartic):
(WebKit::ScrollingAccelerationCurve::accelerationFactor):
(WebKit::ScrollingAccelerationCurve::encode const):
(WebKit::ScrollingAccelerationCurve::decode):
(WebKit::operator<<):
(WebKit::ScrollingAccelerationCurve::fromNativeWheelEvent):

  • Shared/ScrollingAccelerationCurve.h: Added.

(WebKit::ScrollingAccelerationCurve::operator== const):
(WebKit::ScrollingAccelerationCurve::operator!= const):
Add a class that represents a quartic scrolling acceleration curve with
a trailing linear tangent region, and allows interpolation between curves
and evaluation of the curve at a point.

  • Shared/mac/ScrollingAccelerationCurveMac.mm: Added.

(WebKit::fromFixedPoint):
(WebKit::readFixedPointParameter):
(WebKit::fromIOHIDCurve):
(WebKit::fromIOHIDCurveArrayWithAcceleration):
(WebKit::ScrollingAccelerationCurve::fromNativeWheelEvent):
Given a NativeWebWheelEvent, extract its underlying platform event
and fetch the ScrollingAccelerationCurve for the originating device.

  • Sources.txt:
  • SourcesCocoa.txt:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::handleWheelEvent):
Fetch the current ScrollingAccelerationCurve on each momentum begin event,
if the feature is enabled.

(WebKit::WebPageProxy::sendWheelEvent):
Send the ScrollingAccelerationCurve to EventDispatcher just before
we send the momentum begin event along, if it has changed.

(WebKit::WebPageProxy::windowScreenDidChange):
Keep EventDispatcher apprised of changes to the current screen of the page.

(WebKit::WebPageProxy::resetState):

  • UIProcess/WebPageProxy.h:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::EventDispatcher):
(WebKit::EventDispatcher::internalWheelEvent):
Factor most of wheelEvent out into internalWheelEvent, so that
MomentumEventDispatcher can call internalWheelEvent(), skipping the code
in wheelEvent() that forwards the event... to MomentumEventDispatcher.

Also, keep track of where the event came from (UI process or MomentumEventDispatcher)
and avoid sending didReceiveEvent replies to the UI process for synthetic
events that it doesn't know about.

(WebKit::EventDispatcher::wheelEvent):
Forward wheel events to MomentumEventDispatcher.

(WebKit::EventDispatcher::setScrollingAccelerationCurve):
Forward scrolling curve changes to MomentumEventDispatcher.

(WebKit::EventDispatcher::displayWasRefreshed):
Forward display refresh callbacks to MomentumEventDispatcher.

(WebKit::EventDispatcher::windowScreenDidChange):
Forward page screen changes to MomentumEventDispatcher.

  • WebProcess/WebPage/EventDispatcher.h:
  • WebProcess/WebPage/EventDispatcher.messages.in:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::wheelEvent):
(WebKit::WebPage::dispatchWheelEventWithoutScrolling):

  • WebProcess/WebPage/WebPage.h:

Don't send didReceiveEvent for synthetic events from the main thread either.

  • WebProcess/WebPage/MomentumEventDispatcher.cpp: Added.

(WebKit::MomentumEventDispatcher::MomentumEventDispatcher):
(WebKit::MomentumEventDispatcher::~MomentumEventDispatcher):
(WebKit::MomentumEventDispatcher::eventShouldStartSyntheticMomentumPhase const):
If we have everything we need (a scrolling curve - which also implies
that the setting is enabled - and raw platform deltas), and the event
is a momentum begin event, we can use it to start a synthetic momentum phase.

(WebKit::MomentumEventDispatcher::handleWheelEvent):
Start or stop the momentum phase as appropriate.
Record any incoming fingers-down phase events in a rolling event history structure.
Block platform-event-driven events from being further handled by WebKit
if we are inside a synthetic momentum phase, since we'll be replacing them.

(WebKit::appKitScrollMultiplierForEvent):
Determine the AppKit scroll muliplier ("accelerated" vs "unaccelerated"
deltas in NSEvent parlance) from the event via division.

(WebKit::MomentumEventDispatcher::dispatchSyntheticMomentumEvent):
Dispatch a synthetic event with the given momentum phase and delta.
We borrow some properties from the event that initiated the momentum
phase (e.g. the position), and some from whatever event we've most
recently seen (even if we told the rest of WebKit to ignore it), so
that we get the most up-to-date state for e.g. the keyboard modifiers.

(WebKit::MomentumEventDispatcher::didStartMomentumPhase):
Record relevant information about the start event, generate the
momentum curve, and start a full-rate display link. Also, send a momentum
begin event, since we blocked the real one.

(WebKit::MomentumEventDispatcher::didEndMomentumPhase):
Send a momentum ended event, shut down the display link, and reset all
per-gesture state.

(WebKit::MomentumEventDispatcher::setScrollingAccelerationCurve):
Store ScrollingAccelerationCurves on a per-page basis.

(WebKit::MomentumEventDispatcher::displayID const):
Look up the displayID for the current gesture's page.

(WebKit::MomentumEventDispatcher::startDisplayLink):
(WebKit::MomentumEventDispatcher::stopDisplayLink):
Start and stop a display link, which will - in a roundabout manner -
eventually call back into displayWasRefreshed.

(WebKit::MomentumEventDispatcher::windowScreenDidChange):
Store DisplayIDs on a per-page basis.

(WebKit::MomentumEventDispatcher::displayWasRefreshed):
When the display link calls us back, emit a single momentum changed
event of sufficient delta to move us to the desired offset along the curve.

(WebKit::MomentumEventDispatcher::didScrollWithInterval):
(WebKit::MomentumEventDispatcher::didScroll):
Record incoming scrolling events into a rolling history deque.

(WebKit::MomentumEventDispatcher::buildOffsetTableWithInitialDelta):
Compute the offsets for the entire "ideal curve" table (at 60Hz) by
running the animation and accumulating the deltas.

(WebKit::interpolate):
(WebKit::MomentumEventDispatcher::offsetAtTime):
Interpolate along the "ideal curve" to determine the intended offset
at a given time.

(WebKit::momentumDecayRate):
(WebKit::MomentumEventDispatcher::computeNextDelta):
Compute the next delta given a delta (and the event history) by applying
a bit of exponential decay and then passing it through the
ScrollingAccelerationCurve. We return both the unaccelerated
and accelerated deltas, because the input to the next iteration of
computeNextDelta is the unaccelerated delta, but the delta applied
to the actual scroll position is the accelerated delta.

  • WebProcess/WebPage/MomentumEventDispatcher.h: Added.

Source/WTF:

  • wtf/PlatformEnable.h:

Add an ENABLE().

6:32 PM Changeset in webkit [286345] by keith_miller@apple.com
  • 90 edits
    3 copies
    2 adds
    2 deletes in trunk/Source

Structures should be allocated out of an aligned pool of memory so StructureID->Structure* is fast.
https://bugs.webkit.org/show_bug.cgi?id=233379

Reviewed by Yusuke Suzuki.

Source/JavaScriptCore:

This patch changes the 64-bit pointer variant of StructureID to
just be the bottom bits of a reserved address space for
structures. With this system the decoding of a StructureID is just
adding the bits to the start of the structure address space (saved
in JSCConfig). We also take care to ignore any high bits of a
StructureID outside the reserved address range. This prevents a
data corruption from causing us to read past the structure space,
much like the gigacage.

Now that StructureIDs can be directly determined from the
Structure* (and visa versa) we no longer need StructureIDTable,
which has been removed. Also, as Structures are still IsoHeaped
but not allocated by fastMalloc, there's a new
AlignedMemoryAllocator subclass that gets MarkedBlocks out of a
simple static allocator.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • bytecode/AccessCase.cpp:

(JSC::AccessCase::forEachDependentCell const):
(JSC::AccessCase::propagateTransitions const):
(JSC::AccessCase::generateWithGuard):

  • bytecode/ArrayProfile.cpp:

(JSC::ArrayProfile::computeUpdatedPrediction):

  • bytecode/ArrayProfile.h:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::propagateTransitions):
(JSC::CodeBlock::determineLiveness):
(JSC::CodeBlock::finalizeLLIntInlineCaches):
(JSC::CodeBlock::stronglyVisitWeakReferences):

  • bytecode/GetByIdMetadata.h:

(JSC::GetByIdModeMetadata::GetByIdModeMetadata):
(JSC::GetByIdModeMetadata::clearToDefaultModeWithoutCache):

  • bytecode/GetByStatus.cpp:

(JSC::GetByStatus::computeFromLLInt):

  • bytecode/InlineAccess.cpp:

(JSC::InlineAccess::rewireStubAsJumpInAccess):
(JSC::InlineAccess::resetStubAsJumpInAccess):

  • bytecode/PolyProtoAccessChain.cpp:

(JSC::PolyProtoAccessChain::needImpurePropertyWatchpoint const):

  • bytecode/PolyProtoAccessChain.h:
  • bytecode/PolymorphicAccess.cpp:

(JSC::PolymorphicAccess::visitWeak const):

  • bytecode/PutByIdFlags.h:
  • bytecode/PutByStatus.cpp:

(JSC::PutByStatus::computeFromLLInt):

  • bytecode/SpeculatedType.cpp:

(JSC::speculationFromCell):

  • bytecode/StructureStubInfo.cpp:

(JSC::StructureStubInfo::addAccessCase):
(JSC::StructureStubInfo::reset):

  • bytecode/StructureStubInfo.h:

(JSC::StructureStubInfo::inlineAccessBaseStructure):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

  • dfg/DFGJITCompiler.h:

(JSC::DFG::JITCompiler::branchWeakStructure):

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::finalize):

  • dfg/DFGSpeculativeJIT.cpp:
  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNullOrUndefined):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNullOrUndefined):
(JSC::DFG::SpeculativeJIT::compileToBooleanObjectOrOther):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::emitUntypedBranch):
(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):

  • heap/Heap.cpp:

(JSC::Heap::runEndPhase):

  • heap/Heap.h:

(JSC::Heap::structureIDTable): Deleted.

  • heap/IsoAlignedMemoryAllocator.cpp:

(JSC::IsoAlignedMemoryAllocator::IsoAlignedMemoryAllocator):
(JSC::IsoAlignedMemoryAllocator::~IsoAlignedMemoryAllocator):
(JSC::IsoAlignedMemoryAllocator::tryMallocBlock):
(JSC::IsoAlignedMemoryAllocator::freeBlock):
(JSC::IsoAlignedMemoryAllocator::commitBlock):
(JSC::IsoAlignedMemoryAllocator::decommitBlock):
(JSC::IsoAlignedMemoryAllocator::tryAllocateAlignedMemory): Deleted.
(JSC::IsoAlignedMemoryAllocator::freeAlignedMemory): Deleted.

  • heap/IsoAlignedMemoryAllocator.h:
  • heap/IsoMemoryAllocatorBase.cpp: Copied from Source/JavaScriptCore/heap/IsoAlignedMemoryAllocator.cpp.

(JSC::IsoMemoryAllocatorBase::IsoMemoryAllocatorBase):
(JSC::IsoMemoryAllocatorBase::~IsoMemoryAllocatorBase):
(JSC::IsoMemoryAllocatorBase::releaseMemoryFromSubclassDestructor):
(JSC::IsoMemoryAllocatorBase::tryAllocateAlignedMemory):
(JSC::IsoMemoryAllocatorBase::freeAlignedMemory):

  • heap/IsoMemoryAllocatorBase.h: Copied from Source/JavaScriptCore/heap/IsoAlignedMemoryAllocator.h.
  • heap/IsoSubspace.cpp:

(JSC::IsoSubspace::IsoSubspace):
(JSC::IsoSubspace::tryAllocateFromLowerTier):

  • heap/IsoSubspace.h:
  • heap/PreciseAllocation.cpp:

(JSC::PreciseAllocation::tryCreateForLowerTier):
(JSC::PreciseAllocation::createForLowerTier): Deleted.

  • heap/PreciseAllocation.h:
  • heap/SlotVisitor.cpp:

(JSC::SlotVisitor::appendJSCellOrAuxiliary):

  • heap/StructureAlignedMemoryAllocator.cpp: Added.

(JSC::StructureAlignedMemoryAllocator::StructureAlignedMemoryAllocator):
(JSC::StructureAlignedMemoryAllocator::~StructureAlignedMemoryAllocator):
(JSC::StructureAlignedMemoryAllocator::dump const):
(JSC::StructureAlignedMemoryAllocator::tryAllocateMemory):
(JSC::StructureAlignedMemoryAllocator::freeMemory):
(JSC::StructureAlignedMemoryAllocator::tryReallocateMemory):
(JSC::StructureMemoryManager::StructureMemoryManager):
(JSC::StructureMemoryManager::tryMallocStructureBlock):
(JSC::StructureMemoryManager::freeStructureBlock):
(JSC::StructureAlignedMemoryAllocator::initializeStructureAddressSpace):
(JSC::StructureAlignedMemoryAllocator::tryMallocBlock):
(JSC::StructureAlignedMemoryAllocator::freeBlock):
(JSC::StructureAlignedMemoryAllocator::commitBlock):
(JSC::StructureAlignedMemoryAllocator::decommitBlock):

  • heap/StructureAlignedMemoryAllocator.h: Copied from Source/JavaScriptCore/heap/IsoAlignedMemoryAllocator.h.
  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::emitStoreStructureWithTypeInfo):
(JSC::AssemblyHelpers::emitLoadStructure):
(JSC::AssemblyHelpers::emitLoadPrototype):
(JSC::AssemblyHelpers::emitRandomThunk):
(JSC::AssemblyHelpers::emitConvertValueToBoolean):
(JSC::AssemblyHelpers::branchIfValue):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::branchStructure):
(JSC::AssemblyHelpers::nukeStructureAndStoreButterfly):

  • jit/GCAwareJITStubRoutine.cpp:

(JSC::PolymorphicAccessJITStubRoutine::computeHash):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_typeof_is_undefined):
(JSC::JIT::emit_op_jeq_null):
(JSC::JIT::emit_op_jneq_null):
(JSC::JIT::emit_op_eq_null):
(JSC::JIT::emit_op_neq_null):
(JSC::JIT::emit_op_get_prototype_of):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_get_property_enumerator):

  • jit/JITStubRoutine.h:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::performLLIntGetByID):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter64.asm:
  • offlineasm/x86.rb:
  • runtime/ArrayPrototype.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):

  • runtime/BigIntPrototype.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):

  • runtime/BooleanPrototype.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):

  • runtime/CommonSlowPaths.cpp:

(JSC::JSC_DEFINE_COMMON_SLOW_PATH):

  • runtime/DatePrototype.cpp:

(JSC::formateDateInstance):
(JSC::JSC_DEFINE_HOST_FUNCTION):

  • runtime/ErrorInstance.cpp:

(JSC::ErrorInstance::sanitizedMessageString):
(JSC::ErrorInstance::sanitizedNameString):
(JSC::ErrorInstance::sanitizedToString):

  • runtime/ErrorPrototype.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):

  • runtime/FunctionPrototype.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):

  • runtime/HasOwnPropertyCache.h:
  • runtime/InitializeThreading.cpp:

(JSC::initialize):

  • runtime/JSCConfig.h:
  • runtime/JSCJSValue.cpp:

(JSC::JSValue::dumpInContextAssumingStructure const):
(JSC::JSValue::dumpForBacktrace const):

  • runtime/JSCell.cpp:

(JSC::JSCell::toObjectSlow const):

  • runtime/JSCell.h:

(JSC::JSCell::clearStructure):

  • runtime/JSCellInlines.h:

(JSC::JSCell::structure const):
(JSC::JSCell::setStructure):

  • runtime/JSObject.cpp:

(JSC::JSObject::visitButterflyImpl):
(JSC::JSObject::createInitialUndecided):
(JSC::JSObject::createInitialInt32):
(JSC::JSObject::createInitialDouble):
(JSC::JSObject::createInitialContiguous):
(JSC::JSObject::createArrayStorage):
(JSC::JSObject::convertUndecidedToArrayStorage):
(JSC::JSObject::convertInt32ToArrayStorage):
(JSC::JSObject::convertDoubleToArrayStorage):
(JSC::JSObject::convertContiguousToArrayStorage):
(JSC::JSObject::putDirectCustomGetterSetterWithoutTransition):
(JSC::JSObject::putDirectNonIndexAccessorWithoutTransition):

  • runtime/JSObject.h:

(JSC::JSObject::nukeStructureAndSetButterfly):
(JSC::JSObject::getPropertySlot):

  • runtime/JSObjectInlines.h:

(JSC::JSObject::getPropertySlot):
(JSC::JSObject::getNonIndexPropertySlot):
(JSC::JSObject::putDirectWithoutTransition):
(JSC::JSObject::putDirectInternal):

  • runtime/JSPropertyNameEnumerator.cpp:

(JSC::JSPropertyNameEnumerator::JSPropertyNameEnumerator):
(JSC::JSPropertyNameEnumerator::visitChildrenImpl):

  • runtime/JSPropertyNameEnumerator.h:
  • runtime/NumberPrototype.cpp:

(JSC::toThisNumber):

  • runtime/ObjectPrototype.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):
(JSC::objectPrototypeToString):

  • runtime/RegExpPrototype.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):

  • runtime/StringPrototype.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):

  • runtime/Structure.cpp:

(JSC::Structure::Structure):
(JSC::Structure::~Structure):
(JSC::Structure::flattenDictionaryStructure):
(JSC::Structure::dump const):
(JSC::Structure::canCachePropertyNameEnumerator const):

  • runtime/Structure.h:

(JSC::Structure::id const):

  • runtime/StructureChain.cpp:

(JSC::StructureChain::visitChildrenImpl):

  • runtime/StructureID.h: Added.

(JSC::StructureID::nuke const):
(JSC::StructureID::isNuked const):
(JSC::StructureID::decontaminate const):
(JSC::StructureID::operator bool const):
(JSC::StructureID::operator== const):
(JSC::StructureID::operator!= const):
(JSC::StructureID::bits const):
(JSC::StructureID::StructureID):
(JSC::StructureID::isHashTableDeletedValue const):
(JSC::StructureID::decode const):
(JSC::StructureID::encode):
(JSC::StructureIDHash::hash):
(JSC::StructureIDHash::equal):

  • runtime/StructureIDBlob.h:
  • runtime/StructureIDTable.cpp: Removed.
  • runtime/StructureIDTable.h: Removed.
  • runtime/StructureRareDataInlines.h:

(JSC::StructureRareData::tryCachePropertyNameEnumeratorViaWatchpoint):

  • runtime/SymbolPrototype.cpp:

(JSC::JSC_DEFINE_CUSTOM_GETTER):
(JSC::JSC_DEFINE_HOST_FUNCTION):

  • runtime/TypeProfilerLog.cpp:

(JSC::TypeProfilerLog::processLogEntries):
(JSC::TypeProfilerLog::visit):

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

(JSC::VM::getStructure): Deleted.
(JSC::VM::tryGetStructure): Deleted.

  • tools/HeapVerifier.cpp:

(JSC::HeapVerifier::validateJSCell):

  • tools/Integrity.cpp:
  • tools/Integrity.h:
  • tools/IntegrityInlines.h:

(JSC::Integrity::auditStructureID):

  • tools/JSDollarVM.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):

  • wasm/js/WebAssemblyFunction.cpp:

(JSC::WebAssemblyFunction::jsCallEntrypointSlow):

  • wasm/js/WebAssemblyGlobalPrototype.cpp:

(JSC::getGlobal):

Source/WTF:

Add an aligned flavor of reserveUncommited, reserveUncommittedAligned.

  • wtf/OSAllocator.h:
  • wtf/posix/OSAllocatorPOSIX.cpp:

(WTF::OSAllocator::reserveUncommittedAligned):

  • wtf/win/OSAllocatorWin.cpp:

(WTF::OSAllocator::reserveUncommittedAligned):

6:21 PM Changeset in webkit [286344] by Devin Rousso
  • 7 edits in trunk/Source/WebCore

[Apple Pay] use #if inside ApplePayPaymentTiming instead of guarding the entire enum
https://bugs.webkit.org/show_bug.cgi?id=232696
<rdar://problem/83097245>

Reviewed by Tim Horton.

  • Modules/applepay/ApplePayPaymentTiming.idl:
  • Modules/applepay/ApplePayPaymentTiming.h:
  • Modules/applepay/ApplePayLineItem.idl:
  • Modules/applepay/ApplePayLineItem.h:

(WebCore::ApplePayLineItem::encode const):
(WebCore::ApplePayLineItem::decode):
Rather than have the entire ApplePayPaymentTiming be guarded, have it always exist and
just guard Recurring and Deferred since those are really the things that need guarding.

  • Modules/applepay/PaymentSummaryItems.h:
  • Modules/applepay/cocoa/PaymentSummaryItemsCocoa.mm:

(WebCore::platformSummaryItem):
Add WKA hooks.

6:19 PM Changeset in webkit [286343] by Robert Jenner
  • 2 edits
    1 copy
    1 add in trunk/LayoutTests

REBASELINE [ Monterey ]fast/css/continuationCrash.html (layout-test) is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=233662

Unreviewed test gardening. Monterey rebase.

  • platform/mac-bigsur/fast/css/continuationCrash-expected.txt: Copied from LayoutTests/platform/mac/fast/css/continuationCrash-expected.txt.
  • platform/mac/fast/css/continuationCrash-expected.txt:
6:15 PM Changeset in webkit [286342] by Robert Jenner
  • 2 edits
    1 copy in trunk/LayoutTests

REBASELINE [ Monterey ] fast/forms/select-list-box-with-height.html (layout-test) is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=233661

Unreviewed test gardening. Monterey rebase.

  • platform/mac-bigsur/fast/forms/select-list-box-with-height-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/select-list-box-with-height-expected.txt.
  • platform/mac/fast/forms/select-list-box-with-height-expected.txt:
6:09 PM Changeset in webkit [286341] by Robert Jenner
  • 2 edits
    1 copy in trunk/LayoutTests

REBASELINE: [ Monterey ] fast/forms/control-restrict-line-height.html (layout-test)is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=233667

Unreviewed test gardening. Monterey rebase.

  • platform/mac-bigsur/fast/forms/control-restrict-line-height-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/control-restrict-line-height-expected.txt.
  • platform/mac/fast/forms/control-restrict-line-height-expected.txt:
5:51 PM Changeset in webkit [286340] by Robert Jenner
  • 1 edit
    2 adds in trunk/LayoutTests

REBASELINE: imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001.html (layout-test) is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=233668

Unreviewed test gardening. Monterey rebase.

  • platform/mac/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001-expected.txt: Added.
5:42 PM Changeset in webkit [286339] by Robert Jenner
  • 2 edits
    1 copy
    1 add in trunk/LayoutTests

REBASELINE: [ Monterey ] fast/text/international/bidi-neutral-run.html (layout-test) is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=233657

Unreviewed test gardening. Rebase for Monterey.

  • platform/mac-bigsur/fast/text/international/bidi-neutral-run-expected.txt: Copied from LayoutTests/platform/mac/fast/text/international/bidi-neutral-run-expected.txt.
  • platform/mac/fast/text/international/bidi-neutral-run-expected.txt:
5:34 PM Changeset in webkit [286338] by Robert Jenner
  • 1 edit
    7 adds in trunk/LayoutTests

REBASELINE [ Monterey ] 2X fast/dom/HTMLAnchorElement (layout-tests) are constant text failures (233659)
https://bugs.webkit.org/show_bug.cgi?id=233659

Uneviewed test gardening. Rebase for Monterey.

  • platform/mac-bigsur-wk2/fast/dom/HTMLAnchorElement/anchor-file-blob-convert-to-download-async-delegate-expected.txt: Added.
  • platform/mac-bigsur-wk2/fast/dom/HTMLAnchorElement/anchor-file-blob-convert-to-download-expected.txt: Added.
  • platform/mac-wk2/fast/dom/HTMLAnchorElement/anchor-file-blob-convert-to-download-async-delegate-expected.txt: Added.
  • platform/mac-wk2/fast/dom/HTMLAnchorElement/anchor-file-blob-convert-to-download-expected.txt: Added.
5:13 PM Changeset in webkit [286337] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Unreviewed, remove failure expectation for test that is now consistently passing.

  • platform/mac-wk2/TestExpectations:
5:11 PM Changeset in webkit [286336] by Robert Jenner
  • 1 edit
    2 adds in trunk/LayoutTests

REBASELINE: [ Monterey ] fast/dom/52776.html (layout-test) is a constant text failure (233669)
https://bugs.webkit.org/show_bug.cgi?id=233669

Unreviewed test gardening. Rebase for non-Monterey macs.

  • platform/mac-bigsur/fast/dom/52776-expected.txt: Added.
4:46 PM Changeset in webkit [286335] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

[ Mac ] http/wpt/service-workers/service-worker-spinning-activate.https.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=220754

Unreviewed test gardening.

  • platform/mac/TestExpectations: Remove flaky expectation.
4:43 PM Changeset in webkit [286334] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

[ Mac ] http/wpt/service-workers/service-worker-spinning-install.https.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=219516

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations: Remove flaky expectation.
4:42 PM Changeset in webkit [286333] by Robert Jenner
  • 2 edits in trunk/LayoutTests

REBASELINE: [ Monterey ] fast/dom/52776.html (layout-test) is a constant text failure (233669)
https://bugs.webkit.org/show_bug.cgi?id=233669

Unreviewed test gardening. Rebase expectation for Monterey.

  • platform/mac/fast/dom/52776-expected.txt:
3:58 PM Changeset in webkit [286332] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

Update test expectations for a number of newly-passing tests.
https://bugs.webkit.org/show_bug.cgi?id=233638

Unreviewed test gardening.

Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2021-11-30

3:46 PM Changeset in webkit [286331] by Chris Dumez
  • 4 edits in trunk/LayoutTests

Unreviewed, rebaseline a few WPT tests on iOS after r286316.

  • platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch-expected.txt:
3:43 PM Changeset in webkit [286330] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix Playstation build after r286171
https://bugs.webkit.org/show_bug.cgi?id=233581

unreviewed build fix.

Patch by ujwal koneru <ujwal.koneru@sony.com> on 2021-11-30

  • platform/posix/SharedBufferPOSIX.cpp:

(WebCore::SharedBuffer::createFromReadingFile):

2:58 PM Changeset in webkit [286329] by BJ Burg
  • 21 edits
    1 add in trunk

Web Inspector: add ExtensionTabActivation diagnostic event
https://bugs.webkit.org/show_bug.cgi?id=233101
<rdar://85264921>

Reviewed by Devin Rousso.

Source/WebInspectorUI:

Add new diagnostic event that reports the first activation of
an extension tab. Also report the number of active extension tabs.

  • UserInterface/Controllers/ExtensionTabActivationDiagnosticEventRecorder.js: Added.

(WI.ExtensionTabActivationDiagnosticEventRecorder):
(WI.ExtensionTabActivationDiagnosticEventRecorder.prototype.setup):
(WI.ExtensionTabActivationDiagnosticEventRecorder.prototype.teardown):
(WI.ExtensionTabActivationDiagnosticEventRecorder.prototype._selectedTabContentViewDidChange):
Report only the first activation. The extension tab iframe does not load until
the first time that the tab is selected and shown.

  • UserInterface/Base/Main.js:

(WI.contentLoaded): Add diagnostic event recorder if extensions are supported.

  • UserInterface/Controllers/WebInspectorExtensionController.js:

(WI.WebInspectorExtensionController.prototype.registerExtension):
Pass along the new extensionBundleIdentifier argument to the model object.

(WI.WebInspectorExtensionController.prototype.activeExtensionTabContentViews):
Added. This is a helper method for collecting diagnostic event data.

  • UserInterface/Debug/Bootstrap.js:

(updateMockWebExtensionTab):
(WI.runBootstrapOperations):
Pass new extensionBundleIdentifier argument for the Mock Extension.

  • UserInterface/Main.html: Add new file.
  • UserInterface/Models/WebInspectorExtension.js:

(WI.WebInspectorExtension):
(WI.WebInspectorExtension.prototype.get extensionBundleIdentifier):
Store the extension bundle identifier on the model object. Add a getter.

  • UserInterface/Protocol/InspectorFrontendAPI.js:

(InspectorFrontendAPI.registerExtension):
Pass new extensionBundleIdentifier argument.

  • UserInterface/Views/WebInspectorExtensionTabContentView.js:

(WI.WebInspectorExtensionTabContentView.prototype.get extension): Added.

Source/WebKit:

Add plumbing for new argument 'extensionBundleIdentifier' that's
passed to WebInspectorUI when registering an extension.

  • UIProcess/API/Cocoa/_WKInspector.mm:

(-[_WKInspector registerExtensionWithID:extensionBundleIdentifier:displayName:completionHandler:]):
(-[_WKInspector registerExtensionWithID:displayName:completionHandler:]): Deleted.

  • UIProcess/API/Cocoa/_WKInspectorExtensionHost.h:
  • UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.mm:

(-[_WKRemoteWebInspectorViewController registerExtensionWithID:extensionBundleIdentifier:displayName:completionHandler:]):
(-[_WKRemoteWebInspectorViewController registerExtensionWithID:displayName:completionHandler:]): Deleted.

  • UIProcess/Inspector/WebInspectorUIExtensionControllerProxy.cpp:

(WebKit::WebInspectorUIExtensionControllerProxy::registerExtension):

  • UIProcess/Inspector/WebInspectorUIExtensionControllerProxy.h:
  • WebProcess/Inspector/WebInspectorUIExtensionController.cpp:

(WebKit::WebInspectorUIExtensionController::registerExtension):

  • WebProcess/Inspector/WebInspectorUIExtensionController.h:
  • WebProcess/Inspector/WebInspectorUIExtensionController.messages.in:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/WKInspectorExtension.mm:

(TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/WKInspectorExtensionDelegate.mm:

(TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/WKInspectorExtensionHost.mm:

(TEST):
Start using new method parameter 'extensionBundleIdentifier'.

2:30 PM Changeset in webkit [286328] by Robert Jenner
  • 3 edits in trunk/LayoutTests

[ BigSur+ ] imported/w3c/web-platform-tests/media-source/mediasource-addsourcebuffer.html is consistently failing
https://bugs.webkit.org/show_bug.cgi?id=221230

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
  • platform/mac/TestExpectations:
2:23 PM Changeset in webkit [286327] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

nullptr deref in InbandChapterTrackPrivateAVFObjC::processChapters
https://bugs.webkit.org/show_bug.cgi?id=233605

Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2021-11-30
Reviewed by Eric Carlson.

Source/WebCore:

The createChapterCue lambda gets dispatched onto the main thread. When it executes,
the client might no longer be valid, so we are adding a nullptr check at the start
of the lambda, as is done at the start of the method.

Test: media/track/track-in-band-chapters-invalid-client-crash.html

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

(WebCore::InbandChapterTrackPrivateAVFObjC::processChapters):

LayoutTests:

  • media/track/track-in-band-chapters-invalid-client-crash-expected.txt: Added.
  • media/track/track-in-band-chapters-invalid-client-crash.html: Added.
2:17 PM Changeset in webkit [286326] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

[Model] Update required macOS version for camera, animation and audio APIs
https://bugs.webkit.org/show_bug.cgi?id=233656

Patch by Antoine Quint <Antoine Quint> on 2021-11-30
Reviewed by Tim Horton.

  • wtf/PlatformEnableCocoa.h:
1:54 PM Changeset in webkit [286325] by Robert Jenner
  • 2 edits in trunk/LayoutTests

[ Big Sur+ ] imported/w3c/web-platform-tests/fetch/content-type/script.window.html is failing
https://bugs.webkit.org/show_bug.cgi?id=219965

Unreviewed test gardening.

  • platform/mac/TestExpectations:
1:40 PM Changeset in webkit [286324] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

[Hardening] Early return in JSLazyEventListener::initializeJSFunction() if !settings().scriptMarkupEnabled()
https://bugs.webkit.org/show_bug.cgi?id=233646

Reviewed by Geoff Garen.

Early return in JSLazyEventListener::initializeJSFunction() if !settings().scriptMarkupEnabled() as a
hardening measure.

  • bindings/js/JSLazyEventListener.cpp:

(WebCore::JSLazyEventListener::initializeJSFunction const):

1:35 PM Changeset in webkit [286323] by Kyle Piddington
  • 7 edits in trunk/Source/ThirdParty/ANGLE

Hardware PCF filtering does not work on iOS 15 when using WebGL2
https://bugs.webkit.org/show_bug.cgi?id=232071

Lower restrictions on sampling D32F formats, and allow filtering
of Depth16F on iOS hardware, as it was previously restricted.

Reviewed by Kenneth Russell.

  • include/platform/FeaturesMtl.h:
  • src/libANGLE/renderer/metal/DisplayMtl.h:
  • src/libANGLE/renderer/metal/DisplayMtl.mm:

(rx::DisplayMtl::initializeFeatures):
(rx::DisplayMtl::supports32BitFloatFiltering const):
(rx::DisplayMtl::supportsDepth24Stencil8PixelFormat const):

  • src/libANGLE/renderer/metal/TextureMtl.mm:

(rx::TextureMtl::ensureSamplerStateCreated):

  • src/libANGLE/renderer/metal/mtl_format_map.json:
  • src/libANGLE/renderer/metal/mtl_format_table_autogen.mm:

(rx::mtl::FormatTable::initNativeFormatCapsAutogen):

1:31 PM Changeset in webkit [286322] by Robert Jenner
  • 2 edits in trunk/LayoutTests

REGRESSION (r278630?): [Monterey iOS 14+ ] http/tests/ssl/applepay/ApplePayButton.html is a constant failure
https://bugs.webkit.org/show_bug.cgi?id=226826

Unreviewed test gardening.

  • platform/mac/TestExpectations:
1:28 PM Changeset in webkit [286321] by Chris Dumez
  • 10 edits in trunk

html/semantics/forms/constraints/form-validation-validity-customError.html WPT test is failing
https://bugs.webkit.org/show_bug.cgi?id=233599

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline WPT test that is now passing.

  • web-platform-tests/html/semantics/forms/constraints/form-validation-validity-customError-expected.txt:

Source/WebCore:

No new tests, rebaselined existing test.

  • html/FormAssociatedElement.cpp:

(WebCore::FormAssociatedElement::customError const):
Per https://html.spec.whatwg.org/#dom-validitystate-customerror, customError() should return true
if the control is suffering from a custom error. Per https://html.spec.whatwg.org/#custom-validity-error-message,
when setCustomValidity() is called with a non-empty message, the element suffers from a custom error, no
matter if the element is a candidate for constraint validation or not.

(WebCore::FormAssociatedElement::validationMessage const):
Per https://html.spec.whatwg.org/#dom-cva-validationmessage, the validationMessage getter
should return the empty string if "the element is not a candidate for constraint validation".

1:14 PM Changeset in webkit [286320] by mmaxfield@apple.com
  • 55 edits
    1 add in trunk/Source/WebKit

[WebGPU] Hook up StreamServerConnection to Remote* classes
https://bugs.webkit.org/show_bug.cgi?id=233600

Reviewed by Kimmo Kinnunen.

In order for all the various Remote* classes in the GPU process to be able to receive messages,
they have to be able to call streamConnection->startReceivingMessages(*this), and when they're done
receiving messages, they need to call streamConnection->stopReceivingMessages(). This means that
all the Remote
* objects have to have a Ref to the StreamServerConnection so they can call into it
when they're done receiving messages.

The object model for this matches the object model for RemoteRenderingBackend:

  • RemoteGPU is the WebGPU analogue of RemoteRenderingBackend.
  • WebGPU::ObjectHeap is the WebGPU analogue of RemoteResourceCache.
  • The WebGPU::Remote* objects are the WebGPU analogues of the ImageBuffers, NativeImages, and

Fonts retained by the RemoteResourceCache.

So, here's an ASCII-art diagram of the object model:

+-----------+
| RemoteGPU |
+-----------+

/ |

---------------- |

/ |

/ +--------------------+

/ | WebGPU::ObjectHeap |

/ +--------------------+

/ / | \

/ / | \

| / | \
| +---------------+ +--------------+ +-------------+
| | RemoteTexture | | RemoteDevice | | RemoteQueue | ... etc.
| +---------------+ +--------------+ +-------------+

\ \ | /

\ \ | /

-------------- \ | /

\ \ | /

+------------------------+
| StreamServerConnection |
+------------------------+

Now that the StreamServerConnection is being hooked up, this patch mirrors the design of
RemoteGraphicsContextGL. In this design, the web process sends a create() message with the
StreamConnectionBuffer to the gpu process, which creates a RemoteGraphicsContextGL. The
RemoteGraphicsContextGL owns a StreamConnectionWorkQueue, and upon being created, it starts up the
work queue and enqueues an initialization task to the work queue, which then sends a reply to the web
process including the wakeUpSemaphore from the work queue. While the GPU process is busy doing this,
the web process is blocked, because it can't send any messages through the stream until it has
received the semaphore. Once it has received the semaphore, the connection has been established,
and messages can start flowing. This patch follows this model, except instead of
RemoteGraphicsContextGLProxy communicating with RemoteGraphicsContextGL, RemoteGPUProxy is
communicating with RemoteGPU.

There is one more patch to wire up all the pieces together before we can actually call our first
WebGPU command in Javascript.

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • GPUProcess/graphics/WebGPU/RemoteAdapter.cpp:

(WebKit::RemoteAdapter::RemoteAdapter):
(WebKit::RemoteAdapter::stopListeningForIPC):
(WebKit::RemoteAdapter::requestDevice):

  • GPUProcess/graphics/WebGPU/RemoteAdapter.h:
  • GPUProcess/graphics/WebGPU/RemoteBindGroup.cpp:

(WebKit::RemoteBindGroup::RemoteBindGroup):
(WebKit::RemoteBindGroup::stopListeningForIPC):

  • GPUProcess/graphics/WebGPU/RemoteBindGroup.h:
  • GPUProcess/graphics/WebGPU/RemoteBindGroupLayout.cpp:

(WebKit::RemoteBindGroupLayout::RemoteBindGroupLayout):
(WebKit::RemoteBindGroupLayout::stopListeningForIPC):

  • GPUProcess/graphics/WebGPU/RemoteBindGroupLayout.h:
  • GPUProcess/graphics/WebGPU/RemoteBuffer.cpp:

(WebKit::RemoteBuffer::RemoteBuffer):
(WebKit::RemoteBuffer::stopListeningForIPC):

  • GPUProcess/graphics/WebGPU/RemoteBuffer.h:
  • GPUProcess/graphics/WebGPU/RemoteCommandBuffer.cpp:

(WebKit::RemoteCommandBuffer::RemoteCommandBuffer):
(WebKit::RemoteCommandBuffer::stopListeningForIPC):

  • GPUProcess/graphics/WebGPU/RemoteCommandBuffer.h:
  • GPUProcess/graphics/WebGPU/RemoteCommandEncoder.cpp:

(WebKit::RemoteCommandEncoder::RemoteCommandEncoder):
(WebKit::RemoteCommandEncoder::stopListeningForIPC):
(WebKit::RemoteCommandEncoder::beginRenderPass):
(WebKit::RemoteCommandEncoder::beginComputePass):
(WebKit::RemoteCommandEncoder::finish):

  • GPUProcess/graphics/WebGPU/RemoteCommandEncoder.h:
  • GPUProcess/graphics/WebGPU/RemoteComputePassEncoder.cpp:

(WebKit::RemoteComputePassEncoder::RemoteComputePassEncoder):
(WebKit::RemoteComputePassEncoder::stopListeningForIPC):

  • GPUProcess/graphics/WebGPU/RemoteComputePassEncoder.h:
  • GPUProcess/graphics/WebGPU/RemoteComputePipeline.cpp:

(WebKit::RemoteComputePipeline::RemoteComputePipeline):
(WebKit::RemoteComputePipeline::stopListeningForIPC):
(WebKit::RemoteComputePipeline::getBindGroupLayout):

  • GPUProcess/graphics/WebGPU/RemoteComputePipeline.h:
  • GPUProcess/graphics/WebGPU/RemoteDevice.cpp:

(WebKit::RemoteDevice::RemoteDevice):
(WebKit::RemoteDevice::stopListeningForIPC):
(WebKit::RemoteDevice::createBuffer):
(WebKit::RemoteDevice::createTexture):
(WebKit::RemoteDevice::createSampler):
(WebKit::RemoteDevice::importExternalTexture):
(WebKit::RemoteDevice::createBindGroupLayout):
(WebKit::RemoteDevice::createPipelineLayout):
(WebKit::RemoteDevice::createBindGroup):
(WebKit::RemoteDevice::createShaderModule):
(WebKit::RemoteDevice::createComputePipeline):
(WebKit::RemoteDevice::createRenderPipeline):
(WebKit::RemoteDevice::createComputePipelineAsync):
(WebKit::RemoteDevice::createRenderPipelineAsync):
(WebKit::RemoteDevice::createCommandEncoder):
(WebKit::RemoteDevice::createRenderBundleEncoder):
(WebKit::RemoteDevice::createQuerySet):

  • GPUProcess/graphics/WebGPU/RemoteDevice.h:
  • GPUProcess/graphics/WebGPU/RemoteExternalTexture.cpp:

(WebKit::RemoteExternalTexture::RemoteExternalTexture):
(WebKit::RemoteExternalTexture::stopListeningForIPC):

  • GPUProcess/graphics/WebGPU/RemoteExternalTexture.h:
  • GPUProcess/graphics/WebGPU/RemoteGPU.cpp:

(WebKit::RemoteGPU::RemoteGPU):
(WebKit::RemoteGPU::initialize):
(WebKit::RemoteGPU::stopListeningForIPC):
(WebKit::RemoteGPU::workQueueInitialize):
(WebKit::RemoteGPU::workQueueUninitialize):
(WebKit::RemoteGPU::requestAdapter):

  • GPUProcess/graphics/WebGPU/RemoteGPU.h:
  • GPUProcess/graphics/WebGPU/RemoteGPU.messages.in:
  • GPUProcess/graphics/WebGPU/RemotePipelineLayout.cpp:

(WebKit::RemotePipelineLayout::RemotePipelineLayout):
(WebKit::RemotePipelineLayout::stopListeningForIPC):

  • GPUProcess/graphics/WebGPU/RemotePipelineLayout.h:
  • GPUProcess/graphics/WebGPU/RemoteQuerySet.cpp:

(WebKit::RemoteQuerySet::RemoteQuerySet):
(WebKit::RemoteQuerySet::stopListeningForIPC):

  • GPUProcess/graphics/WebGPU/RemoteQuerySet.h:
  • GPUProcess/graphics/WebGPU/RemoteQueue.cpp:

(WebKit::RemoteQueue::RemoteQueue):
(WebKit::RemoteQueue::stopListeningForIPC):

  • GPUProcess/graphics/WebGPU/RemoteQueue.h:
  • GPUProcess/graphics/WebGPU/RemoteRenderBundle.cpp:

(WebKit::RemoteRenderBundle::RemoteRenderBundle):
(WebKit::RemoteRenderBundle::stopListeningForIPC):

  • GPUProcess/graphics/WebGPU/RemoteRenderBundle.h:
  • GPUProcess/graphics/WebGPU/RemoteRenderBundleEncoder.cpp:

(WebKit::RemoteRenderBundleEncoder::RemoteRenderBundleEncoder):
(WebKit::RemoteRenderBundleEncoder::stopListeningForIPC):
(WebKit::RemoteRenderBundleEncoder::finish):

  • GPUProcess/graphics/WebGPU/RemoteRenderBundleEncoder.h:
  • GPUProcess/graphics/WebGPU/RemoteRenderPassEncoder.cpp:

(WebKit::RemoteRenderPassEncoder::RemoteRenderPassEncoder):
(WebKit::RemoteRenderPassEncoder::stopListeningForIPC):

  • GPUProcess/graphics/WebGPU/RemoteRenderPassEncoder.h:
  • GPUProcess/graphics/WebGPU/RemoteRenderPipeline.cpp:

(WebKit::RemoteRenderPipeline::RemoteRenderPipeline):
(WebKit::RemoteRenderPipeline::stopListeningForIPC):
(WebKit::RemoteRenderPipeline::getBindGroupLayout):

  • GPUProcess/graphics/WebGPU/RemoteRenderPipeline.h:
  • GPUProcess/graphics/WebGPU/RemoteSampler.cpp:

(WebKit::RemoteSampler::RemoteSampler):
(WebKit::RemoteSampler::stopListeningForIPC):

  • GPUProcess/graphics/WebGPU/RemoteSampler.h:
  • GPUProcess/graphics/WebGPU/RemoteShaderModule.cpp:

(WebKit::RemoteShaderModule::RemoteShaderModule):
(WebKit::RemoteShaderModule::stopListeningForIPC):

  • GPUProcess/graphics/WebGPU/RemoteShaderModule.h:
  • GPUProcess/graphics/WebGPU/RemoteTexture.cpp:

(WebKit::RemoteTexture::RemoteTexture):
(WebKit::RemoteTexture::stopListeningForIPC):
(WebKit::RemoteTexture::createView):

  • GPUProcess/graphics/WebGPU/RemoteTexture.h:
  • GPUProcess/graphics/WebGPU/RemoteTextureView.cpp:

(WebKit::RemoteTextureView::RemoteTextureView):
(WebKit::RemoteTextureView::stopListeningForIPC):

  • GPUProcess/graphics/WebGPU/RemoteTextureView.h:
  • GPUProcess/graphics/WebGPU/WebGPUObjectHeap.cpp:

(WebKit::WebGPU::ObjectHeap::addObject):
(WebKit::WebGPU::ObjectHeap::convertAdapterFromBacking):
(WebKit::WebGPU::ObjectHeap::convertBindGroupFromBacking):
(WebKit::WebGPU::ObjectHeap::convertBindGroupLayoutFromBacking):
(WebKit::WebGPU::ObjectHeap::convertBufferFromBacking):
(WebKit::WebGPU::ObjectHeap::convertCommandBufferFromBacking):
(WebKit::WebGPU::ObjectHeap::convertCommandEncoderFromBacking):
(WebKit::WebGPU::ObjectHeap::convertComputePassEncoderFromBacking):
(WebKit::WebGPU::ObjectHeap::convertComputePipelineFromBacking):
(WebKit::WebGPU::ObjectHeap::convertDeviceFromBacking):
(WebKit::WebGPU::ObjectHeap::convertExternalTextureFromBacking):
(WebKit::WebGPU::ObjectHeap::convertPipelineLayoutFromBacking):
(WebKit::WebGPU::ObjectHeap::convertQuerySetFromBacking):
(WebKit::WebGPU::ObjectHeap::convertQueueFromBacking):
(WebKit::WebGPU::ObjectHeap::convertRenderBundleEncoderFromBacking):
(WebKit::WebGPU::ObjectHeap::convertRenderBundleFromBacking):
(WebKit::WebGPU::ObjectHeap::convertRenderPassEncoderFromBacking):
(WebKit::WebGPU::ObjectHeap::convertRenderPipelineFromBacking):
(WebKit::WebGPU::ObjectHeap::convertSamplerFromBacking):
(WebKit::WebGPU::ObjectHeap::convertShaderModuleFromBacking):
(WebKit::WebGPU::ObjectHeap::convertTextureFromBacking):
(WebKit::WebGPU::ObjectHeap::convertTextureViewFromBacking):

  • GPUProcess/graphics/WebGPU/WebGPUObjectHeap.h:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.cpp:

(WebKit::RemoteGPUProxy::RemoteGPUProxy):
(WebKit::RemoteGPUProxy::abandonGPUProcess):
(WebKit::RemoteGPUProxy::wasCreated):
(WebKit::RemoteGPUProxy::waitUntilInitialized):
(WebKit::RemoteGPUProxy::requestAdapter):
(WebKit::RemoteGPUProxy::~RemoteGPUProxy): Deleted.

  • WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.h:
  • WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.messages.in: Added.
12:57 PM Changeset in webkit [286319] by Chris Dumez
  • 13 edits in trunk/LayoutTests

Unreviewed follow-up to r286316 to fix "undeflows" typo.

  • fast/forms/date/ValidityState-rangeUnderflow-date-expected.txt:
  • fast/forms/date/ValidityState-rangeUnderflow-date.html:
  • fast/forms/datetimelocal/ValidityState-rangeUnderflow-datetimelocal-expected.txt:
  • fast/forms/datetimelocal/ValidityState-rangeUnderflow-datetimelocal.html:
  • fast/forms/month/ValidityState-rangeUnderflow-month-expected.txt:
  • fast/forms/month/ValidityState-rangeUnderflow-month.html:
  • fast/forms/number/number-validity-rangeunderflow-expected.txt:
  • fast/forms/number/number-validity-rangeunderflow.html:
  • fast/forms/time/time-validity-rangeunderflow-expected.txt:
  • fast/forms/time/time-validity-rangeunderflow.html:
  • fast/forms/week/ValidityState-rangeUnderflow-week-expected.txt:
  • fast/forms/week/ValidityState-rangeUnderflow-week.html:
12:41 PM Changeset in webkit [286318] by commit-queue@webkit.org
  • 19 edits in trunk/Source

[WebXR] Implement ChromeClient API to allow getting explicit consent from user on session features
https://bugs.webkit.org/show_bug.cgi?id=233617

Patch by Ada Chan <adachan@apple.com> on 2021-11-30
Reviewed by Dean Jackson.

Source/WebCore:

Before this change, we just collect the features supported by the device/mode
and return them as resolved features. With this change, we introduce a ChromeClient
API that WebXRSystem::resolveFeaturePermissions() can call that allows clients to
implement a mechanism to ask user for explicit consent on session features.

  • Modules/webxr/WebXRSystem.cpp:

(WebCore::WebXRSystem::resolveFeaturePermissions const):
Updated to call the new ChromeClient method requestPermissionOnXRSessionFeatures()
to get the resolved and user permitted XR session features. The feature list is
now returned via a CompletionHandler.
(WebCore::WebXRSystem::requestSession):
Updated now that WebXRSystem::resolveFeaturePermissions() is no longer synchronous.

  • Modules/webxr/WebXRSystem.h:
  • page/ChromeClient.h:

(WebCore::ChromeClient::requestPermissionOnXRSessionFeatures):
Default implementation preserves current behavior by returning the initial list
of granted features (based on what the device can support).

  • platform/xr/PlatformXR.h:

Define EnumTraits for PlatformXR::SessionMode.

Source/WebKit:

Set up WKUIDelegate method for asking user for permission on XR session features.

  • Scripts/webkit/messages.py:

(types_that_cannot_be_forward_declared):
(headers_for_type):

  • UIProcess/API/APIUIClient.h:

(API::UIClient::requestPermissionOnXRSessionFeatures):

  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:

Declare a WK enum that represents XR session mode and a WK flag
that represents XR session features for use in the new WKUIDelegate method.
Declare a new WKUIDelegate method for requesting user permission for
XR session features that takes in the security origin, the session mode,
the list of device supported features, the list of features that require consent,
and the list of features that optionally require consent.

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

(WebKit::UIDelegate::setDelegate):
(WebKit::toWKXRSessionMode):
(WebKit::toWKXRSessionFeatureFlags):
(WebKit::toPlatformXRFeatures):
(WebKit::UIDelegate::UIClient::requestPermissionOnXRSessionFeatures):
If the WKUIDelegate method for requesting permission is implemented, call it to
get the list of user permitted features. Otherwise, preserve the current behavior
by returning the initially granted features based on device support.

  • UIProcess/XR/PlatformXRCoordinator.h:

(WebKit::PlatformXRCoordinator::requestPermissionOnSessionFeatures):
Default implementation returns the initially granted features based on device support.

  • UIProcess/XR/PlatformXRSystem.cpp:

(WebKit::PlatformXRSystem::requestPermissionOnSessionFeatures):

  • UIProcess/XR/PlatformXRSystem.h:
  • UIProcess/XR/PlatformXRSystem.messages.in:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::requestPermissionOnXRSessionFeatures):

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/XR/PlatformXRSystemProxy.cpp:

(WebKit::PlatformXRSystemProxy::requestPermissionOnSessionFeatures):
Send a message to the UI process to request user consent on session features.

  • WebProcess/XR/PlatformXRSystemProxy.h:
12:40 PM Changeset in webkit [286317] by commit-queue@webkit.org
  • 36 edits in trunk/Source

Unreviewed, reverting r286227.
https://bugs.webkit.org/show_bug.cgi?id=233652

Broke some Apple-internal builds

Reverted changeset:

"[Model] clean up compile-time flags and condition IDL methods
behind them"
https://bugs.webkit.org/show_bug.cgi?id=233407
https://commits.webkit.org/r286227

12:39 PM Changeset in webkit [286316] by Chris Dumez
  • 49 edits in trunk

Several WPT tests under html/semantics/forms/constraints are failing due to extraneous willValidate() checks
https://bugs.webkit.org/show_bug.cgi?id=233604

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline WPT tests now that more checks are passing.

  • web-platform-tests/html/semantics/forms/constraints/form-validation-validity-typeMismatch-expected.txt:

Source/WebCore:

Several WPT tests under html/semantics/forms/constraints are failing due to extraneous willValidate() checks.
Per the specification and to match the behavior of Blink & Gecko, ValidityState properties such as
validity.typeMismatch should return true in case of mismatch even if the control is disabled (and thus
willValidate() returns false).

No new tests, rebaselined existing tests.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::tooShort const):
(WebCore::HTMLInputElement::tooLong const):
(WebCore::HTMLInputElement::typeMismatch const):
(WebCore::HTMLInputElement::hasBadInput const):
(WebCore::HTMLInputElement::rangeUnderflow const):
(WebCore::HTMLInputElement::rangeOverflow const):
(WebCore::HTMLInputElement::stepMismatch const):

LayoutTests:

Rebaseline WPT tests now that more checks are passing.

  • platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow-expected.txt:
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow-expected.txt:
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch-expected.txt:
12:38 PM Changeset in webkit [286315] by Chris Dumez
  • 7 edits in trunk

html/semantics/forms/constraints/form-validation-validity-patternMismatch.html WPT test is failing
https://bugs.webkit.org/show_bug.cgi?id=233601

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline WPT test now that it is passing.

  • web-platform-tests/html/semantics/forms/constraints/form-validation-validity-patternMismatch-expected.txt:

Source/WebCore:

No new tests, rebaselined existing test.

  • html/BaseTextInputType.cpp:

(WebCore::BaseTextInputType::patternMismatch const):
Per https://html.spec.whatwg.org/#attr-input-pattern, when the multiple attribute is present and it
applies to the control, then we should check if the pattern applies to each comma-separated value
in the input (rather than applying the pattern to the whole input).

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::patternMismatch const):
Per https://html.spec.whatwg.org/#dom-validitystate-patternmismatch, patternMismatch should be true
when a control has a value that doesn't satisfy the pattern attribute. We had a bug where we would
only return true if the control was eligible for validation (i.e. not disabled).

12:10 PM Changeset in webkit [286314] by BJ Burg
  • 5 edits in trunk/Source/WebKit

[Cocoa] Web Inspector: fix bundle identifier lookup for enabling remote inspection
https://bugs.webkit.org/show_bug.cgi?id=233015
<rdar://85277115>

Reviewed by Darin Adler.

  • UIProcess/Inspector/WebInspectorUtilities.h:
  • UIProcess/Inspector/WebInspectorUtilities.cpp:

(WebKit::bundleIdentifierForSandboxBroker):
To avoid repeating the logic, extract this code to a helper.

  • UIProcess/Cocoa/WebInspectorPreferenceObserver.mm:

(-[WKWebInspectorPreferenceObserver init]):

  • UIProcess/Cocoa/WebProcessProxyCocoa.mm:

(WebKit::WebProcessProxy::shouldEnableRemoteInspector):
Use the helper method.

12:08 PM Changeset in webkit [286313] by commit-queue@webkit.org
  • 6 edits in trunk/Source/JavaScriptCore

Rename "queueTaskToEventLoop" to "queueMicrotaskToEventLoop"
https://bugs.webkit.org/show_bug.cgi?id=233639

Patch by Alexey Shvayka <ashvayka@apple.com> on 2021-11-30
Reviewed by Mark Lam.

This change improves grep-ability and avoids confusion since JSDOMWindowBase's
queueMicrotaskToEventLoop() is capable only of scheduling microtasks (hence its signature).
ECMA-262 has no notion of macrotasks, and now JSC hasn't as well.

No behavior change.

  • API/JSAPIGlobalObject.cpp:
  • API/JSAPIGlobalObject.mm:
  • jsc.cpp:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::queueMicrotask):

  • runtime/JSGlobalObject.h:
12:00 PM Changeset in webkit [286312] by sbarati@apple.com
  • 4 edits
    3 adds in trunk

GetMyArgumentByValOutOfBounds needs to check for negative indices
https://bugs.webkit.org/show_bug.cgi?id=232966
<rdar://problem/85519898>

Reviewed by Yusuke Suzuki.

JSTests:

  • get-my-argument-by-val-negative-1.js: Added.
  • get-my-argument-by-val-negative-2.js: Added.
  • get-my-argument-by-val-negative-3.js: Added.

Source/JavaScriptCore:

Negative indices inside of GetMyArgumentByValOutOfBounds would cause
us to have the resulting value be undefined, instead of a full blown
lookup that properly consults the prototype chain and such. The reason for
this is negative indices would show up as "out of bounds", which would
lead this node to result in undefined. But negative indices really should
be treated as string property names, and can't be treated like normal out
of bounds positive integers.

This patch makes it so we speculate that we don't see negative indices. If
we do see negative indices, we stop performing the transformation inside
of arguments elimination so we don't end up in an OSR exit loop.

  • dfg/DFGArgumentsEliminationPhase.cpp:
  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileGetMyArgumentByVal):

11:52 AM Changeset in webkit [286311] by Brent Fulgham
  • 4 edits in trunk

Correct serialization error in _WKApplicationManifestIcon
https://bugs.webkit.org/show_bug.cgi?id=233602
<rdar://problem/85838843>

Reviewed by Devin Rousso.

Source/WebKit:

The 'initWithCoder' method had two mistakes: (1) It attempted to decode the 'purposes'
member as an NSArray of NSString, rather than NSNumber, and (2) it attempted to decode
the 'src' member as an NSString, when it is in fact an NSURL.

These errors caused serialization to fail (since NSSecureCoding correctly rejected the
serialization).

This patch corrects both errors and adds a new test to exercise this code path.

Tested by a new TestWebKitAPI Test: ApplicationManifest.IconCoding

  • UIProcess/API/Cocoa/_WKApplicationManifest.mm:

(-[_WKApplicationManifestIcon initWithCoder:]): Correct decoding logic.

Tools:

This patch adds a new test "ApplicationManifest.IconCoding" to exercise the
NSCoder code paths.

  • TestWebKitAPI/Tests/WebKitCocoa/ApplicationManifest.mm:

(TestWebKitAPI::TEST):

11:34 AM Changeset in webkit [286310] by commit-queue@webkit.org
  • 5 edits in trunk

Constructing a FormData from a form can lead to entries with lone surrogates
https://bugs.webkit.org/show_bug.cgi?id=225299

Patch by Andreu Botella <andreu@andreubotella.com> on 2021-11-30
Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/html/semantics/forms/form-submission-0/form-data-set-usv-expected.txt:

Source/WebCore:

According to the HTML specification, names and non-file values in a form's entry list are
scalar value strings. While this is enforced through WebIDL when the entries are added
through the FormData web API, entries that come directly from form controls can contain lone
surrogates. What's more, when a form payload is created from such an entry list, those lone
surrogates can end up encoded as invalid UTF-8.

Since names and non-file values being scalar value strings is an invariant of entry lists,
this change modifies the createFileEntry function in DOMFormData.cpp to replace lone
surrogates in the entry name, and adds a corresponding createStringEntry function, in order
to ensure that every item of the entry list fulfills this invariant.

Tests: imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/form-data-set-usv.html

  • html/DOMFormData.cpp:

(WebCore::createStringEntry): Added to mirror createFileEntry. Replaces lone surrogates in
the name and value.
(WebCore::createFileEntry): Moved from DOMFormData::createFileEntry, and changed to replace
lone surrogates in the entry name.
(WebCore::DOMFormData::append): Changed to use createStringEntry.
(WebCore::DOMFormData::createFileEntry): Moved to createFileEntry.

  • html/DOMFormData.h:
11:25 AM Changeset in webkit [286309] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Use scriptDisallowedScope in FrameSelection::updateAppearance
https://bugs.webkit.org/show_bug.cgi?id=233644

Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2021-11-30
Reviewed by Ryosuke Niwa.

Use scriptDisallowedScope in FrameSelection::updateAppearance to avoid re-entrancy
RenderView problems when a downstream function executes a JS callback.

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::validateSelection const):
(WebCore::FrameSelection::updateAppearance):

  • editing/FrameSelection.h:
11:24 AM Changeset in webkit [286308] by Chris Dumez
  • 4 edits in trunk

Scripting attributes are sometimes not properly stripped from elements when JS is disabled
https://bugs.webkit.org/show_bug.cgi?id=233642
<rdar://63180952>

Reviewed by Geoffrey Garen.

Source/WebCore:

HTMLConstructionSite::mergeAttributesFromTokenIntoElement() was not properly stripping scripting
Element attributes when scripting is disabled, unlike other code paths in HTMLConstructionSite().

Covered by new API tests.

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):

Tools:

Add API test coverage.

  • TestWebKitAPI/Tests/WebKitCocoa/WKWebViewConfiguration.mm:

(TEST):

11:02 AM Changeset in webkit [286307] by youenn@apple.com
  • 2 edits in trunk/Source/WTF

[Cocoa] Enable HTMLVideoElement.requestVideoFrameCallback by default
https://bugs.webkit.org/show_bug.cgi?id=233306

Reviewed by Eric Carlson.

  • Scripts/Preferences/WebPreferencesExperimental.yaml:
10:53 AM Changeset in webkit [286306] by BJ Burg
  • 2 edits in trunk/Source/WebKit

Web Inspector: fix IPC race between unregistering an extension and Web Inspector closing
https://bugs.webkit.org/show_bug.cgi?id=233264

Reviewed by Devin Rousso.

  • UIProcess/Inspector/WebInspectorUIExtensionControllerProxy.cpp:

(WebKit::WebInspectorUIExtensionControllerProxy::inspectorFrontendWillClose):
Remaining registrations will not be removed via unregisterExtension() if
the frontend is already in the midst of closing. Clear out the registry.

(WebKit::WebInspectorUIExtensionControllerProxy::registerExtension):
(WebKit::WebInspectorUIExtensionControllerProxy::unregisterExtension):
Bail out if the inspector has closed between the IPC message being sent
and receiving the async response.

10:15 AM Changeset in webkit [286305] by youenn@apple.com
  • 7 edits
    2 adds in trunk

Add support for rvfc to MediaPlayerPrivateMediaSourceAVFObjC
https://bugs.webkit.org/show_bug.cgi?id=233186

Reviewed by Eric Carlson.

Source/WebCore:

Implement rvfc support using canvas painting code path infrastructure.
We check 60 times per second whether a new frame is being displayed.
If so, we update the metadata.
We only enable the test if mediaSourceInlinePaintingEnabled is true since canvas painting does not work otherwise.

Test: http/tests/media/media-source/mediasource-rvfc.html

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
  • testing/InternalSettings.cpp:
  • testing/InternalSettings.h:
  • testing/InternalSettings.idl:

LayoutTests:

  • http/tests/media/media-source/mediasource-rvfc-expected.txt: Added.
  • http/tests/media/media-source/mediasource-rvfc.html: Added.
10:10 AM Changeset in webkit [286304] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WTF

Unreviewed, reverting r286272.
https://bugs.webkit.org/show_bug.cgi?id=233641

Wrong approach to disabling experimental features.

Reverted changeset:

"Disable experimental web features on platforms without UI to
enable them"
https://bugs.webkit.org/show_bug.cgi?id=233152
https://commits.webkit.org/r286272

10:09 AM Changeset in webkit [286303] by Tyler Wilcock
  • 2 edits in trunk

Move Tyler Wilcock to first entry in "emails" key

Unreviewed.

In order to cq+, your committer e-mail address must be the
first entry in the "emails" key.

  • metadata/contributors.json:
10:03 AM Changeset in webkit [286302] by Antti Koivisto
  • 5 edits in trunk/Source/WebCore

[:has() pseudo-class] Cache :has() failures for subtrees
https://bugs.webkit.org/show_bug.cgi?id=233631

Reviewed by Simon Fraser.

Add a temporary (single style resolution/invalidation scoped) cache that remembers whether
a given :has() argument has any matches in a subtree. This avoids repeated tree walks in
presence of very generic descendant matching :has() selectors.

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne const):

This optimization can be used if the :has() not matching wasn't about the scope.

(WebCore::SelectorChecker::matchHasPseudoClass const):

When we traverse a subtree and find no matches for a has selector add a cache entry saying so.
Before traversing test if any of the ancestors elements already have a cache entry saying there
are no matches in this subtree for this selector.

  • css/SelectorChecker.h:
  • style/ElementRuleCollector.cpp:

(WebCore::Style::ElementRuleCollector::ruleMatches):

  • style/SelectorMatchingState.h:

(WebCore::Style::makeHasPseudoClassCacheKey):

Add the cache to SelectorMatchingState. It is available when selector filter is.

8:44 AM Changeset in webkit [286301] by youenn@apple.com
  • 10 edits in trunk/Source

Migrate some WebSWClientConnection messages to async replies
https://bugs.webkit.org/show_bug.cgi?id=233627

Reviewed by Chris Dumez.

Source/WebCore:

Migrate whenRegistrationReady to use a callback.
Use completion handler for whenRegistrationReady as AsyncReply uses CompletionHandler
and use optional to mark that the registration will never be resolved.
Covered by existing tests.

  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::Connection::whenRegistrationReady):
(WebCore::SWServer::Connection::resolveRegistrationReadyRequests):

  • workers/service/server/SWServer.h:

Source/WebKit:

Migrate didMatchRegistration, didGetRegistrations and registrationReady to async replies.
This is easier to understand and is more robust to connection closure.

  • NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:

(WebKit::WebSWServerConnection::matchRegistration):
(WebKit::WebSWServerConnection::getRegistrations):

  • NetworkProcess/ServiceWorker/WebSWServerConnection.h:
  • NetworkProcess/ServiceWorker/WebSWServerConnection.messages.in:
  • WebProcess/Storage/WebSWClientConnection.cpp:

(WebKit::WebSWClientConnection::matchRegistration):
(WebKit::WebSWClientConnection::whenRegistrationReady):
(WebKit::WebSWClientConnection::getRegistrations):
(WebKit::WebSWClientConnection::clear):
(WebKit::WebSWClientConnection::didMatchRegistration): Deleted.
(WebKit::WebSWClientConnection::didGetRegistrations): Deleted.
(WebKit::WebSWClientConnection::registrationReady): Deleted.

  • WebProcess/Storage/WebSWClientConnection.h:
  • WebProcess/Storage/WebSWClientConnection.messages.in:
8:32 AM Changeset in webkit [286300] by youenn@apple.com
  • 11 edits
    2 deletes in trunk

Move TransformStreamAPIEnabled flag to Settings
https://bugs.webkit.org/show_bug.cgi?id=233524

Reviewed by Chris Dumez.

Source/WebCore:

Covered by existing tests.

  • Modules/streams/TransformStream.idl:
  • Modules/streams/TransformStreamDefaultController.idl:
  • dom/TextDecoderStream.idl:
  • dom/TextDecoderStreamDecoder.idl:
  • dom/TextEncoderStream.idl:
  • dom/TextEncoderStreamEncoder.idl:
  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::readableByteStreamAPIEnabled const):
(WebCore::RuntimeEnabledFeatures::setTransformStreamAPIEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::transformStreamAPIEnabled const): Deleted.

Source/WTF:

  • Scripts/Preferences/WebPreferencesExperimental.yaml:

LayoutTests:

  • platform/win/streams/reference-implementation/transform-stream-errors-expected.txt: Removed.
  • platform/win/streams/reference-implementation/transform-stream-expected.txt: Removed.
  • platform/wincairo/streams/reference-implementation/transform-stream-errors-expected.txt: Removed.
  • platform/wincairo/streams/reference-implementation/transform-stream-expected.txt: Removed.
8:27 AM Changeset in webkit [286299] by youenn@apple.com
  • 8 edits in trunk

ServiceWorkerContainer does not respond well to network process crash
https://bugs.webkit.org/show_bug.cgi?id=233626

Reviewed by Chris Dumez.

Source/WebCore:

Add a boolean to SWClientConnection to identify whether connection is closed.
ServiceWorkerContainer will retrieve a new connection if its existing connection is closed.
Covered by updated test.

  • workers/service/SWClientConnection.h:

(WebCore::SWClientConnection::isClosed const):
(WebCore::SWClientConnection::setIsClosed):

  • workers/service/ServiceWorkerContainer.cpp:

(WebCore::ServiceWorkerContainer::ensureSWClientConnection):

Source/WebKit:

Set SW client connection as closed when IPC connection gets closed.

  • WebProcess/Storage/WebSWClientConnection.cpp:

(WebKit::WebSWClientConnection::connectionToServerLost):

LayoutTests:

  • http/wpt/service-workers/service-worker-networkprocess-crash.html:
  • platform/mac-wk2/TestExpectations:

Remove flaky expectation as test is no longer flaky according results.webkit.org.

8:20 AM Changeset in webkit [286298] by Tyler Wilcock
  • 5 edits in trunk/Tools

AX: Reduce repetition in retrieving typed attribute values in AccessibilityUIElementMac
https://bugs.webkit.org/show_bug.cgi?id=233603

Reviewed by Chris Fleizach.

We have a lot of functions in both the WebKitTestRunner and DumpRenderTree versions of
AccessibilityUIElementMac that repeat the same logic for getting a typed attribute value.
We can make this simpler.

  • DumpRenderTree/AccessibilityUIElement.h:
  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(AccessibilityUIElement::stringAttributeValue):
Move core logic to new stringAttributeValue(NSString* attribute) function.
(AccessibilityUIElement::stringAttributeValue const): Added.

(AccessibilityUIElement::numberAttributeValue):
Move core logic to new numberAttributeValue(NSString* attribute) function.
(AccessibilityUIElement::numberAttributeValue const): Added.

(AccessibilityUIElement::boolAttributeValue const): Added.
(AccessibilityUIElement::boolAttributeValue):
Move core logic to new boolAttributeValue(NSString* attribute) function.

(AccessibilityUIElement::domIdentifier const):
(AccessibilityUIElement::intValue const):
(AccessibilityUIElement::minValue):
(AccessibilityUIElement::maxValue):
(AccessibilityUIElement::isEnabled):
(AccessibilityUIElement::isRequired const):
(AccessibilityUIElement::isFocused const):
(AccessibilityUIElement::isSelected const):
(AccessibilityUIElement::isExpanded const):
(AccessibilityUIElement::ariaIsGrabbed const):
(AccessibilityUIElement::documentEncoding):
(AccessibilityUIElement::documentURI):
(AccessibilityUIElement::isOnScreen const):
(AccessibilityUIElement::hasPopup const):
(AccessibilityUIElement::popupValue const):
(AccessibilityUIElement::hasDocumentRoleAncestor const):
(AccessibilityUIElement::hasWebApplicationAncestor const):
(AccessibilityUIElement::isInDescriptionListDetail const):
(AccessibilityUIElement::isInDescriptionListTerm const):
(AccessibilityUIElement::isInCell const):
Refactor to use new NSString *attribute convenience functions.

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::AccessibilityUIElement::stringAttributeValue):
Move core logic to new stringAttributeValue(NSString* attribute) function.
(WTR::AccessibilityUIElement::stringAttributeValue const): Added.

(WTR::AccessibilityUIElement::numberAttributeValue):
Move core logic to new numberAttributeValue(NSString* attribute) function.
(WTR::AccessibilityUIElement::numberAttributeValue const): Added.
(WTR::AccessibilityUIElement::boolAttributeValue const): Added.
(WTR::AccessibilityUIElement::boolAttributeValue):
Move core logic to new boolAttributeValue(NSString* attribute) function.

(WTR::AccessibilityUIElement::domIdentifier const):
(WTR::AccessibilityUIElement::intValue const):
(WTR::AccessibilityUIElement::minValue):
(WTR::AccessibilityUIElement::maxValue):
(WTR::AccessibilityUIElement::isEnabled):
(WTR::AccessibilityUIElement::isRequired const):
(WTR::AccessibilityUIElement::isFocused const):
(WTR::AccessibilityUIElement::isExpanded const):
(WTR::AccessibilityUIElement::currentStateValue const):
(WTR::AccessibilityUIElement::sortDirection const):
(WTR::AccessibilityUIElement::ariaIsGrabbed const):
(WTR::AccessibilityUIElement::documentEncoding):
(WTR::AccessibilityUIElement::documentURI):
(WTR::AccessibilityUIElement::hasPopup const):
(WTR::AccessibilityUIElement::popupValue const):
(WTR::AccessibilityUIElement::hasDocumentRoleAncestor const):
(WTR::AccessibilityUIElement::hasWebApplicationAncestor const):
(WTR::AccessibilityUIElement::isInDescriptionListDetail const):
(WTR::AccessibilityUIElement::isInDescriptionListTerm const):
(WTR::AccessibilityUIElement::isInCell const):
Refactor to use new NSString *attribute convenience functions.

8:09 AM Changeset in webkit [286297] by Chris Dumez
  • 2 edits in trunk/LayoutTests

[GLIB] REGRESSION(r268539): imported/w3c/web-platform-tests/webaudio/the-audio-api/the-stereopanner-interface/no-dezippering.html is failing
https://bugs.webkit.org/show_bug.cgi?id=217845
<rdar://problem/85865551>

Unreviewed, unskip test as it appears it got fixed by r286264.

  • platform/glib/TestExpectations:
7:44 AM Changeset in webkit [286296] by commit-queue@webkit.org
  • 16 edits
    1 delete in trunk/Source/JavaScriptCore

[JSC] Unify most Baseline ops between JSVALUE64 and JSVALUE32_64
https://bugs.webkit.org/show_bug.cgi?id=233424

Patch by Geza Lore <Geza Lore> on 2021-11-30
Reviewed by Yusuke Suzuki.

This patch unifies the Baseline JIT implementations of most bytecode
ops between the JSVALUE32_64 and JSVALUE64 platforms. There are very
few changes to the generated code on JSVALUE64 (and all are fairly
trivial, e.g.: removal of redundant moves in the slow path), apart
from machine register substitutions. My measurements on x86_64
indicate the patch is performance neutral there (which is what we
expect).

On ARMv7/Thumb-2 JetStream2 shows a 0.4% improvement. This is due to
some of the improved implementations picked up from the JSVALUE64
versions.

Also remove various unused code.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • bytecode/StructureStubInfo.cpp:

(JSC::StructureStubInfo::initializeFromUnlinkedStructureStubInfo):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::branchIfBoolean):
(JSC::AssemblyHelpers::branchIfNotBoolean):
(JSC::AssemblyHelpers::isUndefined):

  • jit/GPRInfo.h:
  • jit/JIT.cpp:
  • jit/JIT.h:
  • jit/JITArithmetic.cpp:

(JSC::JIT::emit_op_unsigned):
(JSC::JIT::emit_compareAndJumpImpl):
(JSC::JIT::emit_compareUnsignedAndJumpImpl):
(JSC::JIT::emit_compareUnsignedImpl):
(JSC::JIT::emit_compareAndJumpSlowImpl):
(JSC::JIT::emit_op_inc):
(JSC::JIT::emit_op_dec):
(JSC::JIT::emit_op_mod):
(JSC::JIT::emitBitBinaryOpFastPath):
(JSC::JIT::emit_op_bitnot):
(JSC::JIT::emitRightShiftFastPath):
(JSC::JIT::emitMathICFast):
(JSC::JIT::emitMathICSlow):
(JSC::JIT::emit_op_div):

  • jit/JITArithmetic32_64.cpp: Removed.
  • jit/JITInlineCacheGenerator.h:
  • jit/JITInlines.h:

(JSC::JIT::emitGetVirtualRegisterPayload):
(JSC::JIT::emitPutVirtualRegister):
(JSC::JIT::emitJumpSlowCaseIfNotInt):
(JSC::JIT::loadCodeBlockConstantPayload):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_overrides_has_instance):
(JSC::JIT::emit_op_instanceof):
(JSC::JIT::emitSlow_op_instanceof):
(JSC::JIT::emit_op_is_empty):
(JSC::JIT::emit_op_typeof_is_undefined):
(JSC::JIT::emit_op_is_boolean):
(JSC::JIT::emit_op_is_number):
(JSC::JIT::emit_op_is_big_int):
(JSC::JIT::emit_op_is_cell_with_type):
(JSC::JIT::emit_op_is_object):
(JSC::JIT::emit_op_to_primitive):
(JSC::JIT::emit_op_to_property_key):
(JSC::JIT::emit_op_not):
(JSC::JIT::emit_op_jundefined_or_null):
(JSC::JIT::emit_op_jnundefined_or_null):
(JSC::JIT::emit_op_jeq_ptr):
(JSC::JIT::emit_op_jneq_ptr):
(JSC::JIT::emit_op_eq):
(JSC::JIT::emit_op_neq):
(JSC::JIT::compileOpStrictEq):
(JSC::JIT::emit_op_to_number):
(JSC::JIT::emit_op_to_numeric):
(JSC::JIT::emit_op_to_string):
(JSC::JIT::emit_op_to_object):
(JSC::JIT::emit_op_catch):
(JSC::JIT::emit_op_get_parent_scope):
(JSC::JIT::emit_op_get_scope):
(JSC::JIT::emit_op_to_this):
(JSC::JIT::emit_op_check_tdz):
(JSC::JIT::emit_op_new_regexp):
(JSC::JIT::emit_op_get_rest_length):
(JSC::JIT::emit_op_get_prototype_of):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::compileOpEqCommon):
(JSC::JIT::compileOpEqSlowCommon):
(JSC::JIT::emit_op_eq):
(JSC::JIT::emit_op_neq):
(JSC::JIT::emit_op_jeq):
(JSC::JIT::emit_op_jneq):
(JSC::JIT::emitSlow_op_eq):
(JSC::JIT::emitSlow_op_neq):
(JSC::JIT::emitSlow_op_jeq):
(JSC::JIT::emitSlow_op_jneq):
(JSC::JIT::compileOpStrictEqCommon):
(JSC::JIT::emit_op_stricteq):
(JSC::JIT::emit_op_nstricteq):
(JSC::JIT::emit_op_jstricteq):
(JSC::JIT::emit_op_jnstricteq):
(JSC::JIT::emitSlow_op_jstricteq):
(JSC::JIT::emitSlow_op_jnstricteq):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::generateGetByValSlowCase):
(JSC::JIT::emitSlow_op_get_private_name):
(JSC::JIT::emitSlow_op_get_by_id_direct):
(JSC::JIT::emitSlow_op_get_by_id):
(JSC::JIT::emitSlow_op_get_by_id_with_this):
(JSC::JIT::emit_op_enumerator_get_by_val):
(JSC::JIT::emit_enumerator_has_propertyImpl):
(JSC::JIT::emitWriteBarrier):

  • jit/JSInterfaceJIT.h:

(JSC::JSInterfaceJIT::emitLoadJSCell):

7:24 AM Changeset in webkit [286295] by Jonathan Bedard
  • 12 edits in trunk/Tools

[git-webkit] Use info log level instead of warning
https://bugs.webkit.org/show_bug.cgi?id=233607
<rdar://problem/85840831>

Reviewed by Ryan Haddad.

  • Scripts/libraries/webkitscmpy/webkitscmpy/program/branch.py:

(Branch.branch_point): Log to info instead of warning.
(Branch.main): Ditto.

  • Scripts/libraries/webkitscmpy/webkitscmpy/program/checkout.py:

(Checkout.main): Log to info instead of warning.

  • Scripts/libraries/webkitscmpy/webkitscmpy/program/land.py:

(Land.main): Log to info instead of warning.

  • Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:

(PullRequest.create_commit): Log to info instead of warning.
(PullRequest.main): Ditto.

  • Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py:

(Setup.github): Log to info instead of warning.
(Setup.git): Ditto.

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

(TestBranch.test_basic_git):
(TestBranch.test_prompt_git):

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

(TestLand.test_non_editable):
(TestLand.test_with_oops):
(TestLand.test_default):
(TestLand.test_canonicalize):
(TestLand.test_no_svn_canonical_svn):
(TestLand.test_svn):

  • Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:
  • Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_unittest.py:

(TestSetup.test_svn):
(TestSetup.test_github):

Canonical link: https://commits.webkit.org/244654@main

7:00 AM Changeset in webkit [286294] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Null check in previousLinePosition
https://bugs.webkit.org/show_bug.cgi?id=233067

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

Source/WebCore:

Null check the iterator closestRunForPoint returns since
it can be null.

Test: editing/selection/move-by-line-crash.html

  • editing/VisibleUnits.cpp:

(WebCore::previousLinePosition):
(WebCore::nextLinePosition):

LayoutTests:

  • editing/selection/move-by-line-crash-expected.txt: Added.
  • editing/selection/move-by-line-crash.html: Added.
6:54 AM Changeset in webkit [286293] by commit-queue@webkit.org
  • 33 edits
    1 copy
    2 moves
    1 add
    1 delete in trunk/Source

GraphicsContextGL should have ANGLE-specific subclass
https://bugs.webkit.org/show_bug.cgi?id=233522

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-11-30
Reviewed by Antti Koivisto.

Source/WebCore:

Add GraphicsContextGLANGLE, rename all relevant GraphicsContextGLOpenGL symbols to this.
Leave the implementations in their respective files for ease of review. Also,
some of the symbols might be moved to GraphicsContextGLANGLE subclasses (GraphicsContextGLCocoa
and GraphicsContextGLTextureMapper ANGLE flavor).

GraphicsContextGLOpenGL now means "GraphicsContextGL implemented with OpenGL and OpenGLES".

GraphicsContextGLANGLE means "GraphicsContextGL implemented with ANGLE".

Move GraphicsContextGLOpenGLCommon.cpp into GraphicsContextGLOpenGL.cpp, these now refer to
just the OpenGL implemetation.

Duplicate "rendering result" and "compositing result" functions from GraphicsContextGLOpenGL.cpp
into GraphicsContextGLANGLE.cpp. These are fairly repetitive functions that most likely will
change in the future for ANGLE backend, so the interim duplicated code should not be a big issue.

This is part of work trying to reduce the ifdef use in GraphicsContextGLOpenGL, in order to make
WebGL easier to maintain correctly.

No new tests, a refactor.

  • CMakeLists.txt:
  • Headers.cmake:
  • PlatformMac.cmake:
  • Sources.txt:
  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/GraphicsContextGL.cpp:

(WebCore::GraphicsContextGL::create): Deleted.

  • platform/graphics/GraphicsContextGL.h:
  • platform/graphics/GraphicsContextGLState.h: Added.

(WebCore::GraphicsContextGLState::currentBoundTexture const):
(WebCore::GraphicsContextGLState::boundTexture const):
(WebCore::GraphicsContextGLState::currentBoundTarget const):
(WebCore::GraphicsContextGLState::boundTarget const):
(WebCore::GraphicsContextGLState::setBoundTexture):

  • platform/graphics/angle/ExtensionsGLANGLE.cpp:

(WebCore::ExtensionsGLANGLE::ExtensionsGLANGLE):

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

(WebCore::GraphicsContextGLANGLE::drawingBufferTextureTarget):
(WebCore::GraphicsContextGLANGLE::drawingBufferTextureTargetQueryForDrawingTarget):
(WebCore::GraphicsContextGLANGLE::EGLDrawingBufferTextureTargetForDrawingTarget):
(WebCore::GraphicsContextGLANGLE::releaseThreadResources):
(WebCore::GraphicsContextGLANGLE::readPixelsForPaintResults):
(WebCore::GraphicsContextGLANGLE::validateAttributes):
(WebCore::GraphicsContextGLANGLE::reshapeFBOs):
(WebCore::GraphicsContextGLANGLE::attachDepthAndStencilBufferIfNeeded):
(WebCore::GraphicsContextGLANGLE::resolveMultisamplingIfNecessary):
(WebCore::GraphicsContextGLANGLE::renderbufferStorage):
(WebCore::GraphicsContextGLANGLE::getIntegerv):
(WebCore::GraphicsContextGLANGLE::getShaderPrecisionFormat):
(WebCore::GraphicsContextGLANGLE::texImage2D):
(WebCore::GraphicsContextGLANGLE::texSubImage2D):
(WebCore::GraphicsContextGLANGLE::compressedTexImage2D):
(WebCore::GraphicsContextGLANGLE::compressedTexSubImage2D):
(WebCore::GraphicsContextGLANGLE::depthRange):
(WebCore::GraphicsContextGLANGLE::clearDepth):
(WebCore::GraphicsContextGLANGLE::getExtensions):
(WebCore::GraphicsContextGLANGLE::readnPixels):
(WebCore::GraphicsContextGLANGLE::readnPixelsImpl):
(WebCore::GraphicsContextGLANGLE::validateDepthStencil):
(WebCore::GraphicsContextGLANGLE::prepareTexture):
(WebCore::GraphicsContextGLANGLE::prepareTextureImpl):
(WebCore::GraphicsContextGLANGLE::readRenderingResults):
(WebCore::GraphicsContextGLANGLE::reshape):
(WebCore::GraphicsContextGLANGLE::activeTexture):
(WebCore::GraphicsContextGLANGLE::attachShader):
(WebCore::GraphicsContextGLANGLE::bindAttribLocation):
(WebCore::GraphicsContextGLANGLE::bindBuffer):
(WebCore::GraphicsContextGLANGLE::bindFramebuffer):
(WebCore::GraphicsContextGLANGLE::bindRenderbuffer):
(WebCore::GraphicsContextGLANGLE::bindTexture):
(WebCore::GraphicsContextGLANGLE::blendColor):
(WebCore::GraphicsContextGLANGLE::blendEquation):
(WebCore::GraphicsContextGLANGLE::blendEquationSeparate):
(WebCore::GraphicsContextGLANGLE::blendFunc):
(WebCore::GraphicsContextGLANGLE::blendFuncSeparate):
(WebCore::GraphicsContextGLANGLE::bufferData):
(WebCore::GraphicsContextGLANGLE::bufferSubData):
(WebCore::GraphicsContextGLANGLE::getBufferSubData):
(WebCore::GraphicsContextGLANGLE::copyBufferSubData):
(WebCore::GraphicsContextGLANGLE::getInternalformativ):
(WebCore::GraphicsContextGLANGLE::renderbufferStorageMultisample):
(WebCore::GraphicsContextGLANGLE::texStorage2D):
(WebCore::GraphicsContextGLANGLE::texStorage3D):
(WebCore::GraphicsContextGLANGLE::texImage3D):
(WebCore::GraphicsContextGLANGLE::texSubImage3D):
(WebCore::GraphicsContextGLANGLE::compressedTexImage3D):
(WebCore::GraphicsContextGLANGLE::compressedTexSubImage3D):
(WebCore::GraphicsContextGLANGLE::getActiveUniforms):
(WebCore::GraphicsContextGLANGLE::checkFramebufferStatus):
(WebCore::GraphicsContextGLANGLE::clearColor):
(WebCore::GraphicsContextGLANGLE::clear):
(WebCore::GraphicsContextGLANGLE::clearStencil):
(WebCore::GraphicsContextGLANGLE::colorMask):
(WebCore::GraphicsContextGLANGLE::compileShader):
(WebCore::GraphicsContextGLANGLE::compileShaderDirect):
(WebCore::GraphicsContextGLANGLE::texImage2DDirect):
(WebCore::GraphicsContextGLANGLE::copyTexImage2D):
(WebCore::GraphicsContextGLANGLE::copyTexSubImage2D):
(WebCore::GraphicsContextGLANGLE::cullFace):
(WebCore::GraphicsContextGLANGLE::depthFunc):
(WebCore::GraphicsContextGLANGLE::depthMask):
(WebCore::GraphicsContextGLANGLE::detachShader):
(WebCore::GraphicsContextGLANGLE::disable):
(WebCore::GraphicsContextGLANGLE::disableVertexAttribArray):
(WebCore::GraphicsContextGLANGLE::drawArrays):
(WebCore::GraphicsContextGLANGLE::drawElements):
(WebCore::GraphicsContextGLANGLE::enable):
(WebCore::GraphicsContextGLANGLE::enableVertexAttribArray):
(WebCore::GraphicsContextGLANGLE::finish):
(WebCore::GraphicsContextGLANGLE::flush):
(WebCore::GraphicsContextGLANGLE::framebufferRenderbuffer):
(WebCore::GraphicsContextGLANGLE::framebufferTexture2D):
(WebCore::GraphicsContextGLANGLE::frontFace):
(WebCore::GraphicsContextGLANGLE::generateMipmap):
(WebCore::GraphicsContextGLANGLE::getActiveAttribImpl):
(WebCore::GraphicsContextGLANGLE::getActiveAttrib):
(WebCore::GraphicsContextGLANGLE::getActiveUniformImpl):
(WebCore::GraphicsContextGLANGLE::getActiveUniform):
(WebCore::GraphicsContextGLANGLE::getAttachedShaders):
(WebCore::GraphicsContextGLANGLE::getAttribLocation):
(WebCore::GraphicsContextGLANGLE::getAttribLocationDirect):
(WebCore::GraphicsContextGLANGLE::moveErrorsToSyntheticErrorList):
(WebCore::GraphicsContextGLANGLE::getError):
(WebCore::GraphicsContextGLANGLE::getString):
(WebCore::GraphicsContextGLANGLE::hint):
(WebCore::GraphicsContextGLANGLE::isBuffer):
(WebCore::GraphicsContextGLANGLE::isEnabled):
(WebCore::GraphicsContextGLANGLE::isFramebuffer):
(WebCore::GraphicsContextGLANGLE::isProgram):
(WebCore::GraphicsContextGLANGLE::isRenderbuffer):
(WebCore::GraphicsContextGLANGLE::isShader):
(WebCore::GraphicsContextGLANGLE::isTexture):
(WebCore::GraphicsContextGLANGLE::lineWidth):
(WebCore::GraphicsContextGLANGLE::linkProgram):
(WebCore::GraphicsContextGLANGLE::pixelStorei):
(WebCore::GraphicsContextGLANGLE::polygonOffset):
(WebCore::GraphicsContextGLANGLE::sampleCoverage):
(WebCore::GraphicsContextGLANGLE::scissor):
(WebCore::GraphicsContextGLANGLE::shaderSource):
(WebCore::GraphicsContextGLANGLE::stencilFunc):
(WebCore::GraphicsContextGLANGLE::stencilFuncSeparate):
(WebCore::GraphicsContextGLANGLE::stencilMask):
(WebCore::GraphicsContextGLANGLE::stencilMaskSeparate):
(WebCore::GraphicsContextGLANGLE::stencilOp):
(WebCore::GraphicsContextGLANGLE::stencilOpSeparate):
(WebCore::GraphicsContextGLANGLE::texParameterf):
(WebCore::GraphicsContextGLANGLE::texParameteri):
(WebCore::GraphicsContextGLANGLE::uniform1f):
(WebCore::GraphicsContextGLANGLE::uniform1fv):
(WebCore::GraphicsContextGLANGLE::uniform2f):
(WebCore::GraphicsContextGLANGLE::uniform2fv):
(WebCore::GraphicsContextGLANGLE::uniform3f):
(WebCore::GraphicsContextGLANGLE::uniform3fv):
(WebCore::GraphicsContextGLANGLE::uniform4f):
(WebCore::GraphicsContextGLANGLE::uniform4fv):
(WebCore::GraphicsContextGLANGLE::uniform1i):
(WebCore::GraphicsContextGLANGLE::uniform1iv):
(WebCore::GraphicsContextGLANGLE::uniform2i):
(WebCore::GraphicsContextGLANGLE::uniform2iv):
(WebCore::GraphicsContextGLANGLE::uniform3i):
(WebCore::GraphicsContextGLANGLE::uniform3iv):
(WebCore::GraphicsContextGLANGLE::uniform4i):
(WebCore::GraphicsContextGLANGLE::uniform4iv):
(WebCore::GraphicsContextGLANGLE::uniformMatrix2fv):
(WebCore::GraphicsContextGLANGLE::uniformMatrix3fv):
(WebCore::GraphicsContextGLANGLE::uniformMatrix4fv):
(WebCore::GraphicsContextGLANGLE::useProgram):
(WebCore::GraphicsContextGLANGLE::validateProgram):
(WebCore::GraphicsContextGLANGLE::vertexAttrib1f):
(WebCore::GraphicsContextGLANGLE::vertexAttrib1fv):
(WebCore::GraphicsContextGLANGLE::vertexAttrib2f):
(WebCore::GraphicsContextGLANGLE::vertexAttrib2fv):
(WebCore::GraphicsContextGLANGLE::vertexAttrib3f):
(WebCore::GraphicsContextGLANGLE::vertexAttrib3fv):
(WebCore::GraphicsContextGLANGLE::vertexAttrib4f):
(WebCore::GraphicsContextGLANGLE::vertexAttrib4fv):
(WebCore::GraphicsContextGLANGLE::vertexAttribPointer):
(WebCore::GraphicsContextGLANGLE::vertexAttribIPointer):
(WebCore::GraphicsContextGLANGLE::viewport):
(WebCore::GraphicsContextGLANGLE::createVertexArray):
(WebCore::GraphicsContextGLANGLE::deleteVertexArray):
(WebCore::GraphicsContextGLANGLE::isVertexArray):
(WebCore::GraphicsContextGLANGLE::bindVertexArray):
(WebCore::GraphicsContextGLANGLE::getBooleanv):
(WebCore::GraphicsContextGLANGLE::getBufferParameteri):
(WebCore::GraphicsContextGLANGLE::getFloatv):
(WebCore::GraphicsContextGLANGLE::getInteger64):
(WebCore::GraphicsContextGLANGLE::getInteger64i):
(WebCore::GraphicsContextGLANGLE::getFramebufferAttachmentParameteri):
(WebCore::GraphicsContextGLANGLE::getProgrami):
(WebCore::GraphicsContextGLANGLE::getUnmangledInfoLog):
(WebCore::GraphicsContextGLANGLE::getProgramInfoLog):
(WebCore::GraphicsContextGLANGLE::getRenderbufferParameteri):
(WebCore::GraphicsContextGLANGLE::getShaderi):
(WebCore::GraphicsContextGLANGLE::getShaderInfoLog):
(WebCore::GraphicsContextGLANGLE::getShaderSource):
(WebCore::GraphicsContextGLANGLE::getTexParameterf):
(WebCore::GraphicsContextGLANGLE::getTexParameteri):
(WebCore::GraphicsContextGLANGLE::getUniformfv):
(WebCore::GraphicsContextGLANGLE::getUniformiv):
(WebCore::GraphicsContextGLANGLE::getUniformuiv):
(WebCore::GraphicsContextGLANGLE::getUniformLocation):
(WebCore::GraphicsContextGLANGLE::getVertexAttribOffset):
(WebCore::GraphicsContextGLANGLE::createBuffer):
(WebCore::GraphicsContextGLANGLE::createFramebuffer):
(WebCore::GraphicsContextGLANGLE::createProgram):
(WebCore::GraphicsContextGLANGLE::createRenderbuffer):
(WebCore::GraphicsContextGLANGLE::createShader):
(WebCore::GraphicsContextGLANGLE::createTexture):
(WebCore::GraphicsContextGLANGLE::deleteBuffer):
(WebCore::GraphicsContextGLANGLE::deleteFramebuffer):
(WebCore::GraphicsContextGLANGLE::deleteProgram):
(WebCore::GraphicsContextGLANGLE::deleteRenderbuffer):
(WebCore::GraphicsContextGLANGLE::deleteShader):
(WebCore::GraphicsContextGLANGLE::deleteTexture):
(WebCore::GraphicsContextGLANGLE::synthesizeGLError):
(WebCore::GraphicsContextGLANGLE::forceContextLost):
(WebCore::GraphicsContextGLANGLE::recycleContext):
(WebCore::GraphicsContextGLANGLE::dispatchContextChangedNotification):
(WebCore::GraphicsContextGLANGLE::drawArraysInstanced):
(WebCore::GraphicsContextGLANGLE::drawElementsInstanced):
(WebCore::GraphicsContextGLANGLE::vertexAttribDivisor):
(WebCore::GraphicsContextGLANGLE::getUniformBlockIndex):
(WebCore::GraphicsContextGLANGLE::getActiveUniformBlockName):
(WebCore::GraphicsContextGLANGLE::uniformBlockBinding):
(WebCore::GraphicsContextGLANGLE::createQuery):
(WebCore::GraphicsContextGLANGLE::beginQuery):
(WebCore::GraphicsContextGLANGLE::endQuery):
(WebCore::GraphicsContextGLANGLE::getQueryObjectui):
(WebCore::GraphicsContextGLANGLE::createTransformFeedback):
(WebCore::GraphicsContextGLANGLE::deleteTransformFeedback):
(WebCore::GraphicsContextGLANGLE::isTransformFeedback):
(WebCore::GraphicsContextGLANGLE::bindTransformFeedback):
(WebCore::GraphicsContextGLANGLE::beginTransformFeedback):
(WebCore::GraphicsContextGLANGLE::endTransformFeedback):
(WebCore::GraphicsContextGLANGLE::transformFeedbackVaryings):
(WebCore::GraphicsContextGLANGLE::getTransformFeedbackVarying):
(WebCore::GraphicsContextGLANGLE::bindBufferBase):
(WebCore::GraphicsContextGLANGLE::blitFramebuffer):
(WebCore::GraphicsContextGLANGLE::framebufferTextureLayer):
(WebCore::GraphicsContextGLANGLE::invalidateFramebuffer):
(WebCore::GraphicsContextGLANGLE::invalidateSubFramebuffer):
(WebCore::GraphicsContextGLANGLE::readBuffer):
(WebCore::GraphicsContextGLANGLE::copyTexSubImage3D):
(WebCore::GraphicsContextGLANGLE::getFragDataLocation):
(WebCore::GraphicsContextGLANGLE::uniform1ui):
(WebCore::GraphicsContextGLANGLE::uniform2ui):
(WebCore::GraphicsContextGLANGLE::uniform3ui):
(WebCore::GraphicsContextGLANGLE::uniform4ui):
(WebCore::GraphicsContextGLANGLE::uniform1uiv):
(WebCore::GraphicsContextGLANGLE::uniform2uiv):
(WebCore::GraphicsContextGLANGLE::uniform3uiv):
(WebCore::GraphicsContextGLANGLE::uniform4uiv):
(WebCore::GraphicsContextGLANGLE::uniformMatrix2x3fv):
(WebCore::GraphicsContextGLANGLE::uniformMatrix3x2fv):
(WebCore::GraphicsContextGLANGLE::uniformMatrix2x4fv):
(WebCore::GraphicsContextGLANGLE::uniformMatrix4x2fv):
(WebCore::GraphicsContextGLANGLE::uniformMatrix3x4fv):
(WebCore::GraphicsContextGLANGLE::uniformMatrix4x3fv):
(WebCore::GraphicsContextGLANGLE::vertexAttribI4i):
(WebCore::GraphicsContextGLANGLE::vertexAttribI4iv):
(WebCore::GraphicsContextGLANGLE::vertexAttribI4ui):
(WebCore::GraphicsContextGLANGLE::vertexAttribI4uiv):
(WebCore::GraphicsContextGLANGLE::drawRangeElements):
(WebCore::GraphicsContextGLANGLE::drawBuffers):
(WebCore::GraphicsContextGLANGLE::clearBufferiv):
(WebCore::GraphicsContextGLANGLE::clearBufferuiv):
(WebCore::GraphicsContextGLANGLE::clearBufferfv):
(WebCore::GraphicsContextGLANGLE::clearBufferfi):
(WebCore::GraphicsContextGLANGLE::deleteQuery):
(WebCore::GraphicsContextGLANGLE::isQuery):
(WebCore::GraphicsContextGLANGLE::getQuery):
(WebCore::GraphicsContextGLANGLE::createSampler):
(WebCore::GraphicsContextGLANGLE::deleteSampler):
(WebCore::GraphicsContextGLANGLE::isSampler):
(WebCore::GraphicsContextGLANGLE::bindSampler):
(WebCore::GraphicsContextGLANGLE::samplerParameteri):
(WebCore::GraphicsContextGLANGLE::samplerParameterf):
(WebCore::GraphicsContextGLANGLE::getSamplerParameterf):
(WebCore::GraphicsContextGLANGLE::getSamplerParameteri):
(WebCore::GraphicsContextGLANGLE::fenceSync):
(WebCore::GraphicsContextGLANGLE::isSync):
(WebCore::GraphicsContextGLANGLE::deleteSync):
(WebCore::GraphicsContextGLANGLE::clientWaitSync):
(WebCore::GraphicsContextGLANGLE::waitSync):
(WebCore::GraphicsContextGLANGLE::getSynci):
(WebCore::GraphicsContextGLANGLE::pauseTransformFeedback):
(WebCore::GraphicsContextGLANGLE::resumeTransformFeedback):
(WebCore::GraphicsContextGLANGLE::bindBufferRange):
(WebCore::GraphicsContextGLANGLE::getUniformIndices):
(WebCore::GraphicsContextGLANGLE::getActiveUniformBlockiv):
(WebCore::GraphicsContextGLANGLE::multiDrawArraysANGLE):
(WebCore::GraphicsContextGLANGLE::multiDrawArraysInstancedANGLE):
(WebCore::GraphicsContextGLANGLE::multiDrawElementsANGLE):
(WebCore::GraphicsContextGLANGLE::multiDrawElementsInstancedANGLE):
(WebCore::GraphicsContextGLANGLE::waitAndUpdateOldestFrame):
(WebCore::GraphicsContextGLANGLE::simulateEventForTesting):
(WebCore::GraphicsContextGLANGLE::isGLES2Compliant const):
(WebCore::GraphicsContextGLANGLE::paintRenderingResultsToCanvas):
(WebCore::GraphicsContextGLANGLE::paintCompositedResultsToCanvas):
(WebCore::GraphicsContextGLANGLE::paintRenderingResultsToPixelBuffer):
(WebCore::GraphicsContextGLANGLE::readRenderingResultsForPainting):
(WebCore::GraphicsContextGLANGLE::readCompositedResultsForPainting):
(WebCore::GraphicsContextGLOpenGL::drawingBufferTextureTarget): Deleted.
(WebCore::GraphicsContextGLOpenGL::drawingBufferTextureTargetQueryForDrawingTarget): Deleted.
(WebCore::GraphicsContextGLOpenGL::EGLDrawingBufferTextureTargetForDrawingTarget): Deleted.
(WebCore::GraphicsContextGLOpenGL::releaseThreadResources): Deleted.
(WebCore::GraphicsContextGLOpenGL::readPixelsForPaintResults): Deleted.
(WebCore::GraphicsContextGLOpenGL::validateAttributes): Deleted.
(WebCore::GraphicsContextGLOpenGL::reshapeFBOs): Deleted.
(WebCore::GraphicsContextGLOpenGL::attachDepthAndStencilBufferIfNeeded): Deleted.
(WebCore::GraphicsContextGLOpenGL::resolveMultisamplingIfNecessary): Deleted.
(WebCore::GraphicsContextGLOpenGL::renderbufferStorage): Deleted.
(WebCore::GraphicsContextGLOpenGL::getIntegerv): Deleted.
(WebCore::GraphicsContextGLOpenGL::getShaderPrecisionFormat): Deleted.
(WebCore::GraphicsContextGLOpenGL::texImage2D): Deleted.
(WebCore::GraphicsContextGLOpenGL::texSubImage2D): Deleted.
(WebCore::GraphicsContextGLOpenGL::compressedTexImage2D): Deleted.
(WebCore::GraphicsContextGLOpenGL::compressedTexSubImage2D): Deleted.
(WebCore::GraphicsContextGLOpenGL::depthRange): Deleted.
(WebCore::GraphicsContextGLOpenGL::clearDepth): Deleted.
(WebCore::GraphicsContextGLOpenGL::getExtensions): Deleted.
(WebCore::GraphicsContextGLOpenGL::readnPixels): Deleted.
(WebCore::GraphicsContextGLOpenGL::readnPixelsImpl): Deleted.
(WebCore::GraphicsContextGLOpenGL::validateDepthStencil): Deleted.
(WebCore::GraphicsContextGLOpenGL::prepareTexture): Deleted.
(WebCore::GraphicsContextGLOpenGL::prepareTextureImpl): Deleted.
(WebCore::GraphicsContextGLOpenGL::readRenderingResults): Deleted.
(WebCore::GraphicsContextGLOpenGL::reshape): Deleted.
(WebCore::GraphicsContextGLOpenGL::activeTexture): Deleted.
(WebCore::GraphicsContextGLOpenGL::attachShader): Deleted.
(WebCore::GraphicsContextGLOpenGL::bindAttribLocation): Deleted.
(WebCore::GraphicsContextGLOpenGL::bindBuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::bindFramebuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::bindRenderbuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::bindTexture): Deleted.
(WebCore::GraphicsContextGLOpenGL::blendColor): Deleted.
(WebCore::GraphicsContextGLOpenGL::blendEquation): Deleted.
(WebCore::GraphicsContextGLOpenGL::blendEquationSeparate): Deleted.
(WebCore::GraphicsContextGLOpenGL::blendFunc): Deleted.
(WebCore::GraphicsContextGLOpenGL::blendFuncSeparate): Deleted.
(WebCore::GraphicsContextGLOpenGL::bufferData): Deleted.
(WebCore::GraphicsContextGLOpenGL::bufferSubData): Deleted.
(WebCore::GraphicsContextGLOpenGL::getBufferSubData): Deleted.
(WebCore::GraphicsContextGLOpenGL::copyBufferSubData): Deleted.
(WebCore::GraphicsContextGLOpenGL::getInternalformativ): Deleted.
(WebCore::GraphicsContextGLOpenGL::renderbufferStorageMultisample): Deleted.
(WebCore::GraphicsContextGLOpenGL::texStorage2D): Deleted.
(WebCore::GraphicsContextGLOpenGL::texStorage3D): Deleted.
(WebCore::GraphicsContextGLOpenGL::texImage3D): Deleted.
(WebCore::GraphicsContextGLOpenGL::texSubImage3D): Deleted.
(WebCore::GraphicsContextGLOpenGL::compressedTexImage3D): Deleted.
(WebCore::GraphicsContextGLOpenGL::compressedTexSubImage3D): Deleted.
(WebCore::GraphicsContextGLOpenGL::getActiveUniforms): Deleted.
(WebCore::GraphicsContextGLOpenGL::checkFramebufferStatus): Deleted.
(WebCore::GraphicsContextGLOpenGL::clearColor): Deleted.
(WebCore::GraphicsContextGLOpenGL::clear): Deleted.
(WebCore::GraphicsContextGLOpenGL::clearStencil): Deleted.
(WebCore::GraphicsContextGLOpenGL::colorMask): Deleted.
(WebCore::GraphicsContextGLOpenGL::compileShader): Deleted.
(WebCore::GraphicsContextGLOpenGL::compileShaderDirect): Deleted.
(WebCore::GraphicsContextGLOpenGL::texImage2DDirect): Deleted.
(WebCore::GraphicsContextGLOpenGL::copyTexImage2D): Deleted.
(WebCore::GraphicsContextGLOpenGL::copyTexSubImage2D): Deleted.
(WebCore::GraphicsContextGLOpenGL::cullFace): Deleted.
(WebCore::GraphicsContextGLOpenGL::depthFunc): Deleted.
(WebCore::GraphicsContextGLOpenGL::depthMask): Deleted.
(WebCore::GraphicsContextGLOpenGL::detachShader): Deleted.
(WebCore::GraphicsContextGLOpenGL::disable): Deleted.
(WebCore::GraphicsContextGLOpenGL::disableVertexAttribArray): Deleted.
(WebCore::GraphicsContextGLOpenGL::drawArrays): Deleted.
(WebCore::GraphicsContextGLOpenGL::drawElements): Deleted.
(WebCore::GraphicsContextGLOpenGL::enable): Deleted.
(WebCore::GraphicsContextGLOpenGL::enableVertexAttribArray): Deleted.
(WebCore::GraphicsContextGLOpenGL::finish): Deleted.
(WebCore::GraphicsContextGLOpenGL::flush): Deleted.
(WebCore::GraphicsContextGLOpenGL::framebufferRenderbuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::framebufferTexture2D): Deleted.
(WebCore::GraphicsContextGLOpenGL::frontFace): Deleted.
(WebCore::GraphicsContextGLOpenGL::generateMipmap): Deleted.
(WebCore::GraphicsContextGLOpenGL::getActiveAttribImpl): Deleted.
(WebCore::GraphicsContextGLOpenGL::getActiveAttrib): Deleted.
(WebCore::GraphicsContextGLOpenGL::getActiveUniformImpl): Deleted.
(WebCore::GraphicsContextGLOpenGL::getActiveUniform): Deleted.
(WebCore::GraphicsContextGLOpenGL::getAttachedShaders): Deleted.
(WebCore::GraphicsContextGLOpenGL::getAttribLocation): Deleted.
(WebCore::GraphicsContextGLOpenGL::getAttribLocationDirect): Deleted.
(WebCore::GraphicsContextGLOpenGL::moveErrorsToSyntheticErrorList): Deleted.
(WebCore::GraphicsContextGLOpenGL::getError): Deleted.
(WebCore::GraphicsContextGLOpenGL::getString): Deleted.
(WebCore::GraphicsContextGLOpenGL::hint): Deleted.
(WebCore::GraphicsContextGLOpenGL::isBuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::isEnabled): Deleted.
(WebCore::GraphicsContextGLOpenGL::isFramebuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::isProgram): Deleted.
(WebCore::GraphicsContextGLOpenGL::isRenderbuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::isShader): Deleted.
(WebCore::GraphicsContextGLOpenGL::isTexture): Deleted.
(WebCore::GraphicsContextGLOpenGL::lineWidth): Deleted.
(WebCore::GraphicsContextGLOpenGL::linkProgram): Deleted.
(WebCore::GraphicsContextGLOpenGL::pixelStorei): Deleted.
(WebCore::GraphicsContextGLOpenGL::polygonOffset): Deleted.
(WebCore::GraphicsContextGLOpenGL::sampleCoverage): Deleted.
(WebCore::GraphicsContextGLOpenGL::scissor): Deleted.
(WebCore::GraphicsContextGLOpenGL::shaderSource): Deleted.
(WebCore::GraphicsContextGLOpenGL::stencilFunc): Deleted.
(WebCore::GraphicsContextGLOpenGL::stencilFuncSeparate): Deleted.
(WebCore::GraphicsContextGLOpenGL::stencilMask): Deleted.
(WebCore::GraphicsContextGLOpenGL::stencilMaskSeparate): Deleted.
(WebCore::GraphicsContextGLOpenGL::stencilOp): Deleted.
(WebCore::GraphicsContextGLOpenGL::stencilOpSeparate): Deleted.
(WebCore::GraphicsContextGLOpenGL::texParameterf): Deleted.
(WebCore::GraphicsContextGLOpenGL::texParameteri): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform1f): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform1fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform2f): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform2fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform3f): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform3fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform4f): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform4fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform1i): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform1iv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform2i): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform2iv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform3i): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform3iv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform4i): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform4iv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniformMatrix2fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniformMatrix3fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniformMatrix4fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::useProgram): Deleted.
(WebCore::GraphicsContextGLOpenGL::validateProgram): Deleted.
(WebCore::GraphicsContextGLOpenGL::vertexAttrib1f): Deleted.
(WebCore::GraphicsContextGLOpenGL::vertexAttrib1fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::vertexAttrib2f): Deleted.
(WebCore::GraphicsContextGLOpenGL::vertexAttrib2fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::vertexAttrib3f): Deleted.
(WebCore::GraphicsContextGLOpenGL::vertexAttrib3fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::vertexAttrib4f): Deleted.
(WebCore::GraphicsContextGLOpenGL::vertexAttrib4fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::vertexAttribPointer): Deleted.
(WebCore::GraphicsContextGLOpenGL::vertexAttribIPointer): Deleted.
(WebCore::GraphicsContextGLOpenGL::viewport): Deleted.
(WebCore::GraphicsContextGLOpenGL::createVertexArray): Deleted.
(WebCore::GraphicsContextGLOpenGL::deleteVertexArray): Deleted.
(WebCore::GraphicsContextGLOpenGL::isVertexArray): Deleted.
(WebCore::GraphicsContextGLOpenGL::bindVertexArray): Deleted.
(WebCore::GraphicsContextGLOpenGL::getBooleanv): Deleted.
(WebCore::GraphicsContextGLOpenGL::getBufferParameteri): Deleted.
(WebCore::GraphicsContextGLOpenGL::getFloatv): Deleted.
(WebCore::GraphicsContextGLOpenGL::getInteger64): Deleted.
(WebCore::GraphicsContextGLOpenGL::getInteger64i): Deleted.
(WebCore::GraphicsContextGLOpenGL::getFramebufferAttachmentParameteri): Deleted.
(WebCore::GraphicsContextGLOpenGL::getProgrami): Deleted.
(WebCore::GraphicsContextGLOpenGL::getUnmangledInfoLog): Deleted.
(WebCore::GraphicsContextGLOpenGL::getProgramInfoLog): Deleted.
(WebCore::GraphicsContextGLOpenGL::getRenderbufferParameteri): Deleted.
(WebCore::GraphicsContextGLOpenGL::getShaderi): Deleted.
(WebCore::GraphicsContextGLOpenGL::getShaderInfoLog): Deleted.
(WebCore::GraphicsContextGLOpenGL::getShaderSource): Deleted.
(WebCore::GraphicsContextGLOpenGL::getTexParameterf): Deleted.
(WebCore::GraphicsContextGLOpenGL::getTexParameteri): Deleted.
(WebCore::GraphicsContextGLOpenGL::getUniformfv): Deleted.
(WebCore::GraphicsContextGLOpenGL::getUniformiv): Deleted.
(WebCore::GraphicsContextGLOpenGL::getUniformuiv): Deleted.
(WebCore::GraphicsContextGLOpenGL::getUniformLocation): Deleted.
(WebCore::GraphicsContextGLOpenGL::getVertexAttribOffset): Deleted.
(WebCore::GraphicsContextGLOpenGL::createBuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::createFramebuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::createProgram): Deleted.
(WebCore::GraphicsContextGLOpenGL::createRenderbuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::createShader): Deleted.
(WebCore::GraphicsContextGLOpenGL::createTexture): Deleted.
(WebCore::GraphicsContextGLOpenGL::deleteBuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::deleteFramebuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::deleteProgram): Deleted.
(WebCore::GraphicsContextGLOpenGL::deleteRenderbuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::deleteShader): Deleted.
(WebCore::GraphicsContextGLOpenGL::deleteTexture): Deleted.
(WebCore::GraphicsContextGLOpenGL::synthesizeGLError): Deleted.
(WebCore::GraphicsContextGLOpenGL::forceContextLost): Deleted.
(WebCore::GraphicsContextGLOpenGL::recycleContext): Deleted.
(WebCore::GraphicsContextGLOpenGL::dispatchContextChangedNotification): Deleted.
(WebCore::GraphicsContextGLOpenGL::drawArraysInstanced): Deleted.
(WebCore::GraphicsContextGLOpenGL::drawElementsInstanced): Deleted.
(WebCore::GraphicsContextGLOpenGL::vertexAttribDivisor): Deleted.
(WebCore::GraphicsContextGLOpenGL::getUniformBlockIndex): Deleted.
(WebCore::GraphicsContextGLOpenGL::getActiveUniformBlockName): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniformBlockBinding): Deleted.
(WebCore::GraphicsContextGLOpenGL::createQuery): Deleted.
(WebCore::GraphicsContextGLOpenGL::beginQuery): Deleted.
(WebCore::GraphicsContextGLOpenGL::endQuery): Deleted.
(WebCore::GraphicsContextGLOpenGL::getQueryObjectui): Deleted.
(WebCore::GraphicsContextGLOpenGL::createTransformFeedback): Deleted.
(WebCore::GraphicsContextGLOpenGL::deleteTransformFeedback): Deleted.
(WebCore::GraphicsContextGLOpenGL::isTransformFeedback): Deleted.
(WebCore::GraphicsContextGLOpenGL::bindTransformFeedback): Deleted.
(WebCore::GraphicsContextGLOpenGL::beginTransformFeedback): Deleted.
(WebCore::GraphicsContextGLOpenGL::endTransformFeedback): Deleted.
(WebCore::GraphicsContextGLOpenGL::transformFeedbackVaryings): Deleted.
(WebCore::GraphicsContextGLOpenGL::getTransformFeedbackVarying): Deleted.
(WebCore::GraphicsContextGLOpenGL::bindBufferBase): Deleted.
(WebCore::GraphicsContextGLOpenGL::blitFramebuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::framebufferTextureLayer): Deleted.
(WebCore::GraphicsContextGLOpenGL::invalidateFramebuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::invalidateSubFramebuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::readBuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::copyTexSubImage3D): Deleted.
(WebCore::GraphicsContextGLOpenGL::getFragDataLocation): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform1ui): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform2ui): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform3ui): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform4ui): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform1uiv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform2uiv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform3uiv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform4uiv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniformMatrix2x3fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniformMatrix3x2fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniformMatrix2x4fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniformMatrix4x2fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniformMatrix3x4fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniformMatrix4x3fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::vertexAttribI4i): Deleted.
(WebCore::GraphicsContextGLOpenGL::vertexAttribI4iv): Deleted.
(WebCore::GraphicsContextGLOpenGL::vertexAttribI4ui): Deleted.
(WebCore::GraphicsContextGLOpenGL::vertexAttribI4uiv): Deleted.
(WebCore::GraphicsContextGLOpenGL::drawRangeElements): Deleted.
(WebCore::GraphicsContextGLOpenGL::drawBuffers): Deleted.
(WebCore::GraphicsContextGLOpenGL::clearBufferiv): Deleted.
(WebCore::GraphicsContextGLOpenGL::clearBufferuiv): Deleted.
(WebCore::GraphicsContextGLOpenGL::clearBufferfv): Deleted.
(WebCore::GraphicsContextGLOpenGL::clearBufferfi): Deleted.
(WebCore::GraphicsContextGLOpenGL::deleteQuery): Deleted.
(WebCore::GraphicsContextGLOpenGL::isQuery): Deleted.
(WebCore::GraphicsContextGLOpenGL::getQuery): Deleted.
(WebCore::GraphicsContextGLOpenGL::createSampler): Deleted.
(WebCore::GraphicsContextGLOpenGL::deleteSampler): Deleted.
(WebCore::GraphicsContextGLOpenGL::isSampler): Deleted.
(WebCore::GraphicsContextGLOpenGL::bindSampler): Deleted.
(WebCore::GraphicsContextGLOpenGL::samplerParameteri): Deleted.
(WebCore::GraphicsContextGLOpenGL::samplerParameterf): Deleted.
(WebCore::GraphicsContextGLOpenGL::getSamplerParameterf): Deleted.
(WebCore::GraphicsContextGLOpenGL::getSamplerParameteri): Deleted.
(WebCore::GraphicsContextGLOpenGL::fenceSync): Deleted.
(WebCore::GraphicsContextGLOpenGL::isSync): Deleted.
(WebCore::GraphicsContextGLOpenGL::deleteSync): Deleted.
(WebCore::GraphicsContextGLOpenGL::clientWaitSync): Deleted.
(WebCore::GraphicsContextGLOpenGL::waitSync): Deleted.
(WebCore::GraphicsContextGLOpenGL::getSynci): Deleted.
(WebCore::GraphicsContextGLOpenGL::pauseTransformFeedback): Deleted.
(WebCore::GraphicsContextGLOpenGL::resumeTransformFeedback): Deleted.
(WebCore::GraphicsContextGLOpenGL::bindBufferRange): Deleted.
(WebCore::GraphicsContextGLOpenGL::getUniformIndices): Deleted.
(WebCore::GraphicsContextGLOpenGL::getActiveUniformBlockiv): Deleted.
(WebCore::GraphicsContextGLOpenGL::multiDrawArraysANGLE): Deleted.
(WebCore::GraphicsContextGLOpenGL::multiDrawArraysInstancedANGLE): Deleted.
(WebCore::GraphicsContextGLOpenGL::multiDrawElementsANGLE): Deleted.
(WebCore::GraphicsContextGLOpenGL::multiDrawElementsInstancedANGLE): Deleted.
(WebCore::GraphicsContextGLOpenGL::waitAndUpdateOldestFrame): Deleted.

  • platform/graphics/angle/GraphicsContextGLANGLE.h: Copied from Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGL.h.
  • platform/graphics/cairo/GraphicsContextGLCairo.cpp:

(WebCore::GraphicsContextGL::paintToCanvas):
(WebCore::GraphicsContextGLOpenGL::paintToCanvas): Deleted.

  • platform/graphics/cg/GraphicsContextGLCG.cpp:

(WebCore::GraphicsContextGL::paintToCanvas):
(WebCore::GraphicsContextGLOpenGL::paintToCanvas): Deleted.
Move paintToCanvas from GraphicsContextGLOpenGL to
GraphicsContextGL. It was a generic static function and did not
have any dependency to the GraphicsContextGLOpenGL.

  • platform/graphics/cocoa/GraphicsContextGLCocoa.h:
  • platform/graphics/cocoa/GraphicsContextGLCocoa.mm:

(WebCore::initializeEGLDisplay):
(WebCore::GraphicsContextGLCocoa::GraphicsContextGLCocoa):
(WebCore::GraphicsContextGLANGLE::GraphicsContextGLANGLE):
(WebCore::GraphicsContextGLANGLE::~GraphicsContextGLANGLE):
(WebCore::GraphicsContextGLANGLE::platformLayer const):
(WebCore::GraphicsContextGLANGLE::makeContextCurrent):
(WebCore::GraphicsContextGLANGLE::checkGPUStatus):
(WebCore::GraphicsContextGLANGLE::setContextVisibility):
(WebCore::GraphicsContextGLANGLE::displayWasReconfigured):
(WebCore::GraphicsContextGLANGLE::reshapeDisplayBufferBacking):
(WebCore::GraphicsContextGLANGLE::allocateAndBindDisplayBufferBacking):
(WebCore::GraphicsContextGLANGLE::bindDisplayBufferBacking):
(WebCore::GraphicsContextGLANGLE::makeCurrent):
(WebCore::GraphicsContextGLCocoa::createPbufferAndAttachIOSurface):
(WebCore::GraphicsContextGLANGLE::prepareForDisplay):
(WebCore::GraphicsContextGLCocoa::asCV):
(WebCore::GraphicsContextGLANGLE::readCompositedResults):
(WebCore::GraphicsContextGLANGLE::paintCompositedResultsToMediaSample):
(WebCore::GraphicsContextGLANGLE::platformReleaseThreadResources):
(WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL): Deleted.
(WebCore::GraphicsContextGLOpenGL::~GraphicsContextGLOpenGL): Deleted.
(WebCore::GraphicsContextGLOpenGL::platformLayer const): Deleted.
(WebCore::GraphicsContextGLOpenGL::makeContextCurrent): Deleted.
(WebCore::GraphicsContextGLOpenGL::checkGPUStatus): Deleted.
(WebCore::GraphicsContextGLOpenGL::setContextVisibility): Deleted.
(WebCore::GraphicsContextGLOpenGL::displayWasReconfigured): Deleted.
(WebCore::GraphicsContextGLOpenGL::reshapeDisplayBufferBacking): Deleted.
(WebCore::GraphicsContextGLOpenGL::allocateAndBindDisplayBufferBacking): Deleted.
(WebCore::GraphicsContextGLOpenGL::bindDisplayBufferBacking): Deleted.
(WebCore::GraphicsContextGLOpenGL::makeCurrent): Deleted.
(WebCore::GraphicsContextGLOpenGL::isGLES2Compliant const): Deleted.
(WebCore::GraphicsContextGLOpenGL::simulateEventForTesting): Deleted.
(WebCore::GraphicsContextGLOpenGL::prepareForDisplay): Deleted.
(WebCore::GraphicsContextGLOpenGL::asCV): Deleted.
(WebCore::GraphicsContextGLOpenGL::readCompositedResults): Deleted.
(WebCore::GraphicsContextGLOpenGL::paintCompositedResultsToMediaSample): Deleted.
(WebCore::GraphicsContextGLOpenGL::platformReleaseThreadResources): Deleted.

  • platform/graphics/cv/GraphicsContextGLCVCocoa.cpp: Renamed from Source/WebCore/platform/graphics/cv/GraphicsContextGLCVANGLE.cpp.

(WebCore::GraphicsContextGLCVCocoa::create):
(WebCore::GraphicsContextGLCVCocoa::~GraphicsContextGLCVCocoa):
(WebCore::GraphicsContextGLCVCocoa::GraphicsContextGLCVCocoa):
(WebCore::GraphicsContextGLCVCocoa::copyPixelBufferToTexture):

  • platform/graphics/cv/GraphicsContextGLCVCocoa.h: Renamed from Source/WebCore/platform/graphics/cv/GraphicsContextGLCVANGLE.h.
  • platform/graphics/opengl/GraphicsContextGLOpenGL.cpp:

(WebCore::setCurrentNameHashMapForShader):
(WebCore::nameHashForShader):
(WebCore::GraphicsContextGLOpenGL::validateDepthStencil):
(WebCore::GraphicsContextGLOpenGL::prepareTexture):
(WebCore::GraphicsContextGLOpenGL::readRenderingResults):
(WebCore::GraphicsContextGLOpenGL::reshape):
(WebCore::GraphicsContextGLOpenGL::checkVaryingsPacking const):
(WebCore::GraphicsContextGLOpenGL::precisionsMatch const):
(WebCore::GraphicsContextGLOpenGL::activeTexture):
(WebCore::GraphicsContextGLOpenGL::attachShader):
(WebCore::GraphicsContextGLOpenGL::bindAttribLocation):
(WebCore::GraphicsContextGLOpenGL::bindBuffer):
(WebCore::GraphicsContextGLOpenGL::bindFramebuffer):
(WebCore::GraphicsContextGLOpenGL::bindRenderbuffer):
(WebCore::GraphicsContextGLOpenGL::bindTexture):
(WebCore::GraphicsContextGLOpenGL::blendColor):
(WebCore::GraphicsContextGLOpenGL::blendEquation):
(WebCore::GraphicsContextGLOpenGL::blendEquationSeparate):
(WebCore::GraphicsContextGLOpenGL::blendFunc):
(WebCore::GraphicsContextGLOpenGL::blendFuncSeparate):
(WebCore::GraphicsContextGLOpenGL::bufferData):
(WebCore::GraphicsContextGLOpenGL::bufferSubData):
(WebCore::GraphicsContextGLOpenGL::checkFramebufferStatus):
(WebCore::GraphicsContextGLOpenGL::clearColor):
(WebCore::GraphicsContextGLOpenGL::clear):
(WebCore::GraphicsContextGLOpenGL::clearStencil):
(WebCore::GraphicsContextGLOpenGL::colorMask):
(WebCore::GraphicsContextGLOpenGL::compileShader):
(WebCore::GraphicsContextGLOpenGL::compileShaderDirect):
(WebCore::GraphicsContextGLOpenGL::copyTexImage2D):
(WebCore::GraphicsContextGLOpenGL::copyTexSubImage2D):
(WebCore::GraphicsContextGLOpenGL::cullFace):
(WebCore::GraphicsContextGLOpenGL::depthFunc):
(WebCore::GraphicsContextGLOpenGL::depthMask):
(WebCore::GraphicsContextGLOpenGL::detachShader):
(WebCore::GraphicsContextGLOpenGL::disable):
(WebCore::GraphicsContextGLOpenGL::disableVertexAttribArray):
(WebCore::GraphicsContextGLOpenGL::drawArrays):
(WebCore::GraphicsContextGLOpenGL::drawElements):
(WebCore::GraphicsContextGLOpenGL::enable):
(WebCore::GraphicsContextGLOpenGL::enableVertexAttribArray):
(WebCore::GraphicsContextGLOpenGL::finish):
(WebCore::GraphicsContextGLOpenGL::flush):
(WebCore::GraphicsContextGLOpenGL::framebufferRenderbuffer):
(WebCore::GraphicsContextGLOpenGL::framebufferTexture2D):
(WebCore::GraphicsContextGLOpenGL::frontFace):
(WebCore::GraphicsContextGLOpenGL::generateMipmap):
(WebCore::GraphicsContextGLOpenGL::getActiveAttribImpl):
(WebCore::GraphicsContextGLOpenGL::getActiveAttrib):
(WebCore::GraphicsContextGLOpenGL::getActiveUniformImpl):
(WebCore::GraphicsContextGLOpenGL::getActiveUniform):
(WebCore::GraphicsContextGLOpenGL::getAttachedShaders):
(WebCore::generateHashedName):
(WebCore::GraphicsContextGLOpenGL::mappedSymbolInShaderSourceMap):
(WebCore::GraphicsContextGLOpenGL::mappedSymbolName):
(WebCore::GraphicsContextGLOpenGL::originalSymbolInShaderSourceMap):
(WebCore::GraphicsContextGLOpenGL::originalSymbolName):
(WebCore::GraphicsContextGLOpenGL::getAttribLocation):
(WebCore::GraphicsContextGLOpenGL::getAttribLocationDirect):
(WebCore::GraphicsContextGLOpenGL::moveErrorsToSyntheticErrorList):
(WebCore::GraphicsContextGLOpenGL::getError):
(WebCore::GraphicsContextGLOpenGL::getString):
(WebCore::GraphicsContextGLOpenGL::hint):
(WebCore::GraphicsContextGLOpenGL::isBuffer):
(WebCore::GraphicsContextGLOpenGL::isEnabled):
(WebCore::GraphicsContextGLOpenGL::isFramebuffer):
(WebCore::GraphicsContextGLOpenGL::isProgram):
(WebCore::GraphicsContextGLOpenGL::isRenderbuffer):
(WebCore::GraphicsContextGLOpenGL::isShader):
(WebCore::GraphicsContextGLOpenGL::isTexture):
(WebCore::GraphicsContextGLOpenGL::lineWidth):
(WebCore::GraphicsContextGLOpenGL::linkProgram):
(WebCore::GraphicsContextGLOpenGL::pixelStorei):
(WebCore::GraphicsContextGLOpenGL::polygonOffset):
(WebCore::GraphicsContextGLOpenGL::sampleCoverage):
(WebCore::GraphicsContextGLOpenGL::scissor):
(WebCore::GraphicsContextGLOpenGL::shaderSource):
(WebCore::GraphicsContextGLOpenGL::stencilFunc):
(WebCore::GraphicsContextGLOpenGL::stencilFuncSeparate):
(WebCore::GraphicsContextGLOpenGL::stencilMask):
(WebCore::GraphicsContextGLOpenGL::stencilMaskSeparate):
(WebCore::GraphicsContextGLOpenGL::stencilOp):
(WebCore::GraphicsContextGLOpenGL::stencilOpSeparate):
(WebCore::GraphicsContextGLOpenGL::texParameterf):
(WebCore::GraphicsContextGLOpenGL::texParameteri):
(WebCore::GraphicsContextGLOpenGL::uniform1f):
(WebCore::GraphicsContextGLOpenGL::uniform1fv):
(WebCore::GraphicsContextGLOpenGL::uniform2f):
(WebCore::GraphicsContextGLOpenGL::uniform2fv):
(WebCore::GraphicsContextGLOpenGL::uniform3f):
(WebCore::GraphicsContextGLOpenGL::uniform3fv):
(WebCore::GraphicsContextGLOpenGL::uniform4f):
(WebCore::GraphicsContextGLOpenGL::uniform4fv):
(WebCore::GraphicsContextGLOpenGL::uniform1i):
(WebCore::GraphicsContextGLOpenGL::uniform1iv):
(WebCore::GraphicsContextGLOpenGL::uniform2i):
(WebCore::GraphicsContextGLOpenGL::uniform2iv):
(WebCore::GraphicsContextGLOpenGL::uniform3i):
(WebCore::GraphicsContextGLOpenGL::uniform3iv):
(WebCore::GraphicsContextGLOpenGL::uniform4i):
(WebCore::GraphicsContextGLOpenGL::uniform4iv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix2fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix3fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix4fv):
(WebCore::GraphicsContextGLOpenGL::useProgram):
(WebCore::GraphicsContextGLOpenGL::validateProgram):
(WebCore::GraphicsContextGLOpenGL::vertexAttrib1f):
(WebCore::GraphicsContextGLOpenGL::vertexAttrib1fv):
(WebCore::GraphicsContextGLOpenGL::vertexAttrib2f):
(WebCore::GraphicsContextGLOpenGL::vertexAttrib2fv):
(WebCore::GraphicsContextGLOpenGL::vertexAttrib3f):
(WebCore::GraphicsContextGLOpenGL::vertexAttrib3fv):
(WebCore::GraphicsContextGLOpenGL::vertexAttrib4f):
(WebCore::GraphicsContextGLOpenGL::vertexAttrib4fv):
(WebCore::GraphicsContextGLOpenGL::vertexAttribPointer):
(WebCore::GraphicsContextGLOpenGL::viewport):
(WebCore::GraphicsContextGLOpenGL::createVertexArray):
(WebCore::GraphicsContextGLOpenGL::deleteVertexArray):
(WebCore::GraphicsContextGLOpenGL::isVertexArray):
(WebCore::GraphicsContextGLOpenGL::bindVertexArray):
(WebCore::GraphicsContextGLOpenGL::getBooleanv):
(WebCore::GraphicsContextGLOpenGL::getBufferParameteri):
(WebCore::GraphicsContextGLOpenGL::getFloatv):
(WebCore::GraphicsContextGLOpenGL::getInteger64):
(WebCore::GraphicsContextGLOpenGL::getInteger64i):
(WebCore::GraphicsContextGLOpenGL::getFramebufferAttachmentParameteri):
(WebCore::GraphicsContextGLOpenGL::getProgrami):
(WebCore::GraphicsContextGLOpenGL::getNonBuiltInActiveSymbolCount):
(WebCore::GraphicsContextGLOpenGL::getUnmangledInfoLog):
(WebCore::GraphicsContextGLOpenGL::getProgramInfoLog):
(WebCore::GraphicsContextGLOpenGL::getRenderbufferParameteri):
(WebCore::GraphicsContextGLOpenGL::getShaderi):
(WebCore::GraphicsContextGLOpenGL::getShaderInfoLog):
(WebCore::GraphicsContextGLOpenGL::getShaderSource):
(WebCore::GraphicsContextGLOpenGL::getTexParameterf):
(WebCore::GraphicsContextGLOpenGL::getTexParameteri):
(WebCore::GraphicsContextGLOpenGL::getUniformfv):
(WebCore::GraphicsContextGLOpenGL::getUniformiv):
(WebCore::GraphicsContextGLOpenGL::getUniformuiv):
(WebCore::GraphicsContextGLOpenGL::getUniformLocation):
(WebCore::GraphicsContextGLOpenGL::getVertexAttribOffset):
(WebCore::GraphicsContextGLOpenGL::texSubImage2D):
(WebCore::GraphicsContextGLOpenGL::compressedTexImage2D):
(WebCore::GraphicsContextGLOpenGL::compressedTexSubImage2D):
(WebCore::GraphicsContextGLOpenGL::createBuffer):
(WebCore::GraphicsContextGLOpenGL::createFramebuffer):
(WebCore::GraphicsContextGLOpenGL::createProgram):
(WebCore::GraphicsContextGLOpenGL::createRenderbuffer):
(WebCore::GraphicsContextGLOpenGL::createShader):
(WebCore::GraphicsContextGLOpenGL::createTexture):
(WebCore::GraphicsContextGLOpenGL::deleteBuffer):
(WebCore::GraphicsContextGLOpenGL::deleteFramebuffer):
(WebCore::GraphicsContextGLOpenGL::deleteProgram):
(WebCore::GraphicsContextGLOpenGL::deleteRenderbuffer):
(WebCore::GraphicsContextGLOpenGL::deleteShader):
(WebCore::GraphicsContextGLOpenGL::deleteTexture):
(WebCore::GraphicsContextGLOpenGL::synthesizeGLError):
(WebCore::GraphicsContextGLOpenGL::forceContextLost):
(WebCore::GraphicsContextGLOpenGL::recycleContext):
(WebCore::GraphicsContextGLOpenGL::dispatchContextChangedNotification):
(WebCore::GraphicsContextGLOpenGL::texImage2DDirect):
(WebCore::GraphicsContextGLOpenGL::drawArraysInstanced):
(WebCore::GraphicsContextGLOpenGL::drawElementsInstanced):
(WebCore::GraphicsContextGLOpenGL::vertexAttribDivisor):
(WebCore::GraphicsContextGLOpenGL::primitiveRestartIndex):
(WebCore::GraphicsContextGLOpenGL::copyBufferSubData):
(WebCore::GraphicsContextGLOpenGL::getBufferSubData):
(WebCore::GraphicsContextGLOpenGL::blitFramebuffer):
(WebCore::GraphicsContextGLOpenGL::framebufferTextureLayer):
(WebCore::GraphicsContextGLOpenGL::invalidateFramebuffer):
(WebCore::GraphicsContextGLOpenGL::invalidateSubFramebuffer):
(WebCore::GraphicsContextGLOpenGL::readBuffer):
(WebCore::GraphicsContextGLOpenGL::getInternalformativ):
(WebCore::GraphicsContextGLOpenGL::renderbufferStorageMultisample):
(WebCore::GraphicsContextGLOpenGL::texStorage2D):
(WebCore::GraphicsContextGLOpenGL::texStorage3D):
(WebCore::GraphicsContextGLOpenGL::copyTexSubImage3D):
(WebCore::GraphicsContextGLOpenGL::getFragDataLocation):
(WebCore::GraphicsContextGLOpenGL::uniform1ui):
(WebCore::GraphicsContextGLOpenGL::uniform2ui):
(WebCore::GraphicsContextGLOpenGL::uniform3ui):
(WebCore::GraphicsContextGLOpenGL::uniform4ui):
(WebCore::GraphicsContextGLOpenGL::uniform1uiv):
(WebCore::GraphicsContextGLOpenGL::uniform2uiv):
(WebCore::GraphicsContextGLOpenGL::uniform3uiv):
(WebCore::GraphicsContextGLOpenGL::uniform4uiv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix2x3fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix3x2fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix2x4fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix4x2fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix3x4fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix4x3fv):
(WebCore::GraphicsContextGLOpenGL::vertexAttribI4i):
(WebCore::GraphicsContextGLOpenGL::vertexAttribI4iv):
(WebCore::GraphicsContextGLOpenGL::vertexAttribI4ui):
(WebCore::GraphicsContextGLOpenGL::vertexAttribI4uiv):
(WebCore::GraphicsContextGLOpenGL::vertexAttribIPointer):
(WebCore::GraphicsContextGLOpenGL::drawRangeElements):
(WebCore::GraphicsContextGLOpenGL::drawBuffers):
(WebCore::GraphicsContextGLOpenGL::clearBufferiv):
(WebCore::GraphicsContextGLOpenGL::clearBufferuiv):
(WebCore::GraphicsContextGLOpenGL::clearBufferfv):
(WebCore::GraphicsContextGLOpenGL::clearBufferfi):
(WebCore::GraphicsContextGLOpenGL::createQuery):
(WebCore::GraphicsContextGLOpenGL::deleteQuery):
(WebCore::GraphicsContextGLOpenGL::isQuery):
(WebCore::GraphicsContextGLOpenGL::beginQuery):
(WebCore::GraphicsContextGLOpenGL::endQuery):
(WebCore::GraphicsContextGLOpenGL::getQuery):
(WebCore::GraphicsContextGLOpenGL::getQueryObjectui):
(WebCore::GraphicsContextGLOpenGL::createSampler):
(WebCore::GraphicsContextGLOpenGL::deleteSampler):
(WebCore::GraphicsContextGLOpenGL::isSampler):
(WebCore::GraphicsContextGLOpenGL::bindSampler):
(WebCore::GraphicsContextGLOpenGL::samplerParameteri):
(WebCore::GraphicsContextGLOpenGL::samplerParameterf):
(WebCore::GraphicsContextGLOpenGL::getSamplerParameterf):
(WebCore::GraphicsContextGLOpenGL::getSamplerParameteri):
(WebCore::GraphicsContextGLOpenGL::fenceSync):
(WebCore::GraphicsContextGLOpenGL::isSync):
(WebCore::GraphicsContextGLOpenGL::deleteSync):
(WebCore::GraphicsContextGLOpenGL::clientWaitSync):
(WebCore::GraphicsContextGLOpenGL::waitSync):
(WebCore::GraphicsContextGLOpenGL::getSynci):
(WebCore::GraphicsContextGLOpenGL::createTransformFeedback):
(WebCore::GraphicsContextGLOpenGL::deleteTransformFeedback):
(WebCore::GraphicsContextGLOpenGL::isTransformFeedback):
(WebCore::GraphicsContextGLOpenGL::bindTransformFeedback):
(WebCore::GraphicsContextGLOpenGL::beginTransformFeedback):
(WebCore::GraphicsContextGLOpenGL::endTransformFeedback):
(WebCore::GraphicsContextGLOpenGL::transformFeedbackVaryings):
(WebCore::GraphicsContextGLOpenGL::getTransformFeedbackVarying):
(WebCore::GraphicsContextGLOpenGL::pauseTransformFeedback):
(WebCore::GraphicsContextGLOpenGL::resumeTransformFeedback):
(WebCore::GraphicsContextGLOpenGL::bindBufferBase):
(WebCore::GraphicsContextGLOpenGL::bindBufferRange):
(WebCore::GraphicsContextGLOpenGL::getUniformIndices):
(WebCore::GraphicsContextGLOpenGL::getActiveUniforms):
(WebCore::GraphicsContextGLOpenGL::getUniformBlockIndex):
(WebCore::GraphicsContextGLOpenGL::getActiveUniformBlockName):
(WebCore::GraphicsContextGLOpenGL::uniformBlockBinding):
(WebCore::GraphicsContextGLOpenGL::readnPixels):
(WebCore::GraphicsContextGLOpenGL::getActiveUniformBlockiv):
(WebCore::GraphicsContextGLOpenGL::texImage2D):
(WebCore::GraphicsContextGLOpenGL::texImage3D):
(WebCore::GraphicsContextGLOpenGL::texSubImage3D):
(WebCore::GraphicsContextGLOpenGL::compressedTexImage3D):
(WebCore::GraphicsContextGLOpenGL::compressedTexSubImage3D):
(WebCore::GraphicsContextGLOpenGL::multiDrawArraysANGLE):
(WebCore::GraphicsContextGLOpenGL::multiDrawArraysInstancedANGLE):
(WebCore::GraphicsContextGLOpenGL::multiDrawElementsANGLE):
(WebCore::GraphicsContextGLOpenGL::multiDrawElementsInstancedANGLE):
(WebCore::GraphicsContextGLOpenGL::texImage2DResourceSafe):

  • platform/graphics/opengl/GraphicsContextGLOpenGL.h:
  • platform/graphics/opengl/GraphicsContextGLOpenGLCommon.cpp: Removed.

(): Deleted.
(WebCore::setCurrentNameHashMapForShader): Deleted.
(WebCore::nameHashForShader): Deleted.
(WebCore::GraphicsContextGLOpenGL::validateDepthStencil): Deleted.
(WebCore::GraphicsContextGLOpenGL::prepareTexture): Deleted.
(WebCore::GraphicsContextGLOpenGL::readRenderingResults): Deleted.
(WebCore::GraphicsContextGLOpenGL::reshape): Deleted.
(WebCore::GraphicsContextGLOpenGL::checkVaryingsPacking const): Deleted.
(WebCore::GraphicsContextGLOpenGL::precisionsMatch const): Deleted.
(WebCore::GraphicsContextGLOpenGL::activeTexture): Deleted.
(WebCore::GraphicsContextGLOpenGL::attachShader): Deleted.
(WebCore::GraphicsContextGLOpenGL::bindAttribLocation): Deleted.
(WebCore::GraphicsContextGLOpenGL::bindBuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::bindFramebuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::bindRenderbuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::bindTexture): Deleted.
(WebCore::GraphicsContextGLOpenGL::blendColor): Deleted.
(WebCore::GraphicsContextGLOpenGL::blendEquation): Deleted.
(WebCore::GraphicsContextGLOpenGL::blendEquationSeparate): Deleted.
(WebCore::GraphicsContextGLOpenGL::blendFunc): Deleted.
(WebCore::GraphicsContextGLOpenGL::blendFuncSeparate): Deleted.
(WebCore::GraphicsContextGLOpenGL::bufferData): Deleted.
(WebCore::GraphicsContextGLOpenGL::bufferSubData): Deleted.
(WebCore::GraphicsContextGLOpenGL::checkFramebufferStatus): Deleted.
(WebCore::GraphicsContextGLOpenGL::clearColor): Deleted.
(WebCore::GraphicsContextGLOpenGL::clear): Deleted.
(WebCore::GraphicsContextGLOpenGL::clearStencil): Deleted.
(WebCore::GraphicsContextGLOpenGL::colorMask): Deleted.
(WebCore::GraphicsContextGLOpenGL::compileShader): Deleted.
(WebCore::GraphicsContextGLOpenGL::compileShaderDirect): Deleted.
(WebCore::GraphicsContextGLOpenGL::copyTexImage2D): Deleted.
(WebCore::GraphicsContextGLOpenGL::copyTexSubImage2D): Deleted.
(WebCore::GraphicsContextGLOpenGL::cullFace): Deleted.
(WebCore::GraphicsContextGLOpenGL::depthFunc): Deleted.
(WebCore::GraphicsContextGLOpenGL::depthMask): Deleted.
(WebCore::GraphicsContextGLOpenGL::detachShader): Deleted.
(WebCore::GraphicsContextGLOpenGL::disable): Deleted.
(WebCore::GraphicsContextGLOpenGL::disableVertexAttribArray): Deleted.
(WebCore::GraphicsContextGLOpenGL::drawArrays): Deleted.
(WebCore::GraphicsContextGLOpenGL::drawElements): Deleted.
(WebCore::GraphicsContextGLOpenGL::enable): Deleted.
(WebCore::GraphicsContextGLOpenGL::enableVertexAttribArray): Deleted.
(WebCore::GraphicsContextGLOpenGL::finish): Deleted.
(WebCore::GraphicsContextGLOpenGL::flush): Deleted.
(WebCore::GraphicsContextGLOpenGL::framebufferRenderbuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::framebufferTexture2D): Deleted.
(WebCore::GraphicsContextGLOpenGL::frontFace): Deleted.
(WebCore::GraphicsContextGLOpenGL::generateMipmap): Deleted.
(WebCore::GraphicsContextGLOpenGL::getActiveAttribImpl): Deleted.
(WebCore::GraphicsContextGLOpenGL::getActiveAttrib): Deleted.
(WebCore::GraphicsContextGLOpenGL::getActiveUniformImpl): Deleted.
(WebCore::GraphicsContextGLOpenGL::getActiveUniform): Deleted.
(WebCore::GraphicsContextGLOpenGL::getAttachedShaders): Deleted.
(WebCore::generateHashedName): Deleted.
(WebCore::GraphicsContextGLOpenGL::mappedSymbolInShaderSourceMap): Deleted.
(WebCore::GraphicsContextGLOpenGL::mappedSymbolName): Deleted.
(WebCore::GraphicsContextGLOpenGL::originalSymbolInShaderSourceMap): Deleted.
(WebCore::GraphicsContextGLOpenGL::originalSymbolName): Deleted.
(WebCore::GraphicsContextGLOpenGL::getAttribLocation): Deleted.
(WebCore::GraphicsContextGLOpenGL::getAttribLocationDirect): Deleted.
(WebCore::GraphicsContextGLOpenGL::moveErrorsToSyntheticErrorList): Deleted.
(WebCore::GraphicsContextGLOpenGL::getError): Deleted.
(WebCore::GraphicsContextGLOpenGL::getString): Deleted.
(WebCore::GraphicsContextGLOpenGL::hint): Deleted.
(WebCore::GraphicsContextGLOpenGL::isBuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::isEnabled): Deleted.
(WebCore::GraphicsContextGLOpenGL::isFramebuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::isProgram): Deleted.
(WebCore::GraphicsContextGLOpenGL::isRenderbuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::isShader): Deleted.
(WebCore::GraphicsContextGLOpenGL::isTexture): Deleted.
(WebCore::GraphicsContextGLOpenGL::lineWidth): Deleted.
(WebCore::GraphicsContextGLOpenGL::linkProgram): Deleted.
(WebCore::GraphicsContextGLOpenGL::pixelStorei): Deleted.
(WebCore::GraphicsContextGLOpenGL::polygonOffset): Deleted.
(WebCore::GraphicsContextGLOpenGL::sampleCoverage): Deleted.
(WebCore::GraphicsContextGLOpenGL::scissor): Deleted.
(WebCore::GraphicsContextGLOpenGL::shaderSource): Deleted.
(WebCore::GraphicsContextGLOpenGL::stencilFunc): Deleted.
(WebCore::GraphicsContextGLOpenGL::stencilFuncSeparate): Deleted.
(WebCore::GraphicsContextGLOpenGL::stencilMask): Deleted.
(WebCore::GraphicsContextGLOpenGL::stencilMaskSeparate): Deleted.
(WebCore::GraphicsContextGLOpenGL::stencilOp): Deleted.
(WebCore::GraphicsContextGLOpenGL::stencilOpSeparate): Deleted.
(WebCore::GraphicsContextGLOpenGL::texParameterf): Deleted.
(WebCore::GraphicsContextGLOpenGL::texParameteri): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform1f): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform1fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform2f): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform2fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform3f): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform3fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform4f): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform4fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform1i): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform1iv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform2i): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform2iv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform3i): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform3iv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform4i): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform4iv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniformMatrix2fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniformMatrix3fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniformMatrix4fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::useProgram): Deleted.
(WebCore::GraphicsContextGLOpenGL::validateProgram): Deleted.
(WebCore::GraphicsContextGLOpenGL::vertexAttrib1f): Deleted.
(WebCore::GraphicsContextGLOpenGL::vertexAttrib1fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::vertexAttrib2f): Deleted.
(WebCore::GraphicsContextGLOpenGL::vertexAttrib2fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::vertexAttrib3f): Deleted.
(WebCore::GraphicsContextGLOpenGL::vertexAttrib3fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::vertexAttrib4f): Deleted.
(WebCore::GraphicsContextGLOpenGL::vertexAttrib4fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::vertexAttribPointer): Deleted.
(WebCore::GraphicsContextGLOpenGL::viewport): Deleted.
(WebCore::GraphicsContextGLOpenGL::createVertexArray): Deleted.
(WebCore::GraphicsContextGLOpenGL::deleteVertexArray): Deleted.
(WebCore::GraphicsContextGLOpenGL::isVertexArray): Deleted.
(WebCore::GraphicsContextGLOpenGL::bindVertexArray): Deleted.
(WebCore::GraphicsContextGLOpenGL::getBooleanv): Deleted.
(WebCore::GraphicsContextGLOpenGL::getBufferParameteri): Deleted.
(WebCore::GraphicsContextGLOpenGL::getFloatv): Deleted.
(WebCore::GraphicsContextGLOpenGL::getInteger64): Deleted.
(WebCore::GraphicsContextGLOpenGL::getInteger64i): Deleted.
(WebCore::GraphicsContextGLOpenGL::getFramebufferAttachmentParameteri): Deleted.
(WebCore::GraphicsContextGLOpenGL::getProgrami): Deleted.
(WebCore::GraphicsContextGLOpenGL::getNonBuiltInActiveSymbolCount): Deleted.
(WebCore::GraphicsContextGLOpenGL::getUnmangledInfoLog): Deleted.
(WebCore::GraphicsContextGLOpenGL::getProgramInfoLog): Deleted.
(WebCore::GraphicsContextGLOpenGL::getRenderbufferParameteri): Deleted.
(WebCore::GraphicsContextGLOpenGL::getShaderi): Deleted.
(WebCore::GraphicsContextGLOpenGL::getShaderInfoLog): Deleted.
(WebCore::GraphicsContextGLOpenGL::getShaderSource): Deleted.
(WebCore::GraphicsContextGLOpenGL::getTexParameterf): Deleted.
(WebCore::GraphicsContextGLOpenGL::getTexParameteri): Deleted.
(WebCore::GraphicsContextGLOpenGL::getUniformfv): Deleted.
(WebCore::GraphicsContextGLOpenGL::getUniformiv): Deleted.
(WebCore::GraphicsContextGLOpenGL::getUniformuiv): Deleted.
(WebCore::GraphicsContextGLOpenGL::getUniformLocation): Deleted.
(WebCore::GraphicsContextGLOpenGL::getVertexAttribOffset): Deleted.
(WebCore::GraphicsContextGLOpenGL::texSubImage2D): Deleted.
(WebCore::GraphicsContextGLOpenGL::compressedTexImage2D): Deleted.
(WebCore::GraphicsContextGLOpenGL::compressedTexSubImage2D): Deleted.
(WebCore::GraphicsContextGLOpenGL::createBuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::createFramebuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::createProgram): Deleted.
(WebCore::GraphicsContextGLOpenGL::createRenderbuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::createShader): Deleted.
(WebCore::GraphicsContextGLOpenGL::createTexture): Deleted.
(WebCore::GraphicsContextGLOpenGL::deleteBuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::deleteFramebuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::deleteProgram): Deleted.
(WebCore::GraphicsContextGLOpenGL::deleteRenderbuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::deleteShader): Deleted.
(WebCore::GraphicsContextGLOpenGL::deleteTexture): Deleted.
(WebCore::GraphicsContextGLOpenGL::synthesizeGLError): Deleted.
(WebCore::GraphicsContextGLOpenGL::forceContextLost): Deleted.
(WebCore::GraphicsContextGLOpenGL::recycleContext): Deleted.
(WebCore::GraphicsContextGLOpenGL::dispatchContextChangedNotification): Deleted.
(WebCore::GraphicsContextGLOpenGL::texImage2DDirect): Deleted.
(WebCore::GraphicsContextGLOpenGL::drawArraysInstanced): Deleted.
(WebCore::GraphicsContextGLOpenGL::drawElementsInstanced): Deleted.
(WebCore::GraphicsContextGLOpenGL::vertexAttribDivisor): Deleted.
(WebCore::GraphicsContextGLOpenGL::primitiveRestartIndex): Deleted.
(WebCore::GraphicsContextGLOpenGL::copyBufferSubData): Deleted.
(WebCore::GraphicsContextGLOpenGL::getBufferSubData): Deleted.
(WebCore::GraphicsContextGLOpenGL::blitFramebuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::framebufferTextureLayer): Deleted.
(WebCore::GraphicsContextGLOpenGL::invalidateFramebuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::invalidateSubFramebuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::readBuffer): Deleted.
(WebCore::GraphicsContextGLOpenGL::getInternalformativ): Deleted.
(WebCore::GraphicsContextGLOpenGL::renderbufferStorageMultisample): Deleted.
(WebCore::GraphicsContextGLOpenGL::texStorage2D): Deleted.
(WebCore::GraphicsContextGLOpenGL::texStorage3D): Deleted.
(WebCore::GraphicsContextGLOpenGL::copyTexSubImage3D): Deleted.
(WebCore::GraphicsContextGLOpenGL::getFragDataLocation): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform1ui): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform2ui): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform3ui): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform4ui): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform1uiv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform2uiv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform3uiv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniform4uiv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniformMatrix2x3fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniformMatrix3x2fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniformMatrix2x4fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniformMatrix4x2fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniformMatrix3x4fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniformMatrix4x3fv): Deleted.
(WebCore::GraphicsContextGLOpenGL::vertexAttribI4i): Deleted.
(WebCore::GraphicsContextGLOpenGL::vertexAttribI4iv): Deleted.
(WebCore::GraphicsContextGLOpenGL::vertexAttribI4ui): Deleted.
(WebCore::GraphicsContextGLOpenGL::vertexAttribI4uiv): Deleted.
(WebCore::GraphicsContextGLOpenGL::vertexAttribIPointer): Deleted.
(WebCore::GraphicsContextGLOpenGL::drawRangeElements): Deleted.
(WebCore::GraphicsContextGLOpenGL::drawBuffers): Deleted.
(WebCore::GraphicsContextGLOpenGL::clearBufferiv): Deleted.
(WebCore::GraphicsContextGLOpenGL::clearBufferuiv): Deleted.
(WebCore::GraphicsContextGLOpenGL::clearBufferfv): Deleted.
(WebCore::GraphicsContextGLOpenGL::clearBufferfi): Deleted.
(WebCore::GraphicsContextGLOpenGL::createQuery): Deleted.
(WebCore::GraphicsContextGLOpenGL::deleteQuery): Deleted.
(WebCore::GraphicsContextGLOpenGL::isQuery): Deleted.
(WebCore::GraphicsContextGLOpenGL::beginQuery): Deleted.
(WebCore::GraphicsContextGLOpenGL::endQuery): Deleted.
(WebCore::GraphicsContextGLOpenGL::getQuery): Deleted.
(WebCore::GraphicsContextGLOpenGL::getQueryObjectui): Deleted.
(WebCore::GraphicsContextGLOpenGL::createSampler): Deleted.
(WebCore::GraphicsContextGLOpenGL::deleteSampler): Deleted.
(WebCore::GraphicsContextGLOpenGL::isSampler): Deleted.
(WebCore::GraphicsContextGLOpenGL::bindSampler): Deleted.
(WebCore::GraphicsContextGLOpenGL::samplerParameteri): Deleted.
(WebCore::GraphicsContextGLOpenGL::samplerParameterf): Deleted.
(WebCore::GraphicsContextGLOpenGL::getSamplerParameterf): Deleted.
(WebCore::GraphicsContextGLOpenGL::getSamplerParameteri): Deleted.
(WebCore::GraphicsContextGLOpenGL::fenceSync): Deleted.
(WebCore::GraphicsContextGLOpenGL::isSync): Deleted.
(WebCore::GraphicsContextGLOpenGL::deleteSync): Deleted.
(WebCore::GraphicsContextGLOpenGL::clientWaitSync): Deleted.
(WebCore::GraphicsContextGLOpenGL::waitSync): Deleted.
(WebCore::GraphicsContextGLOpenGL::getSynci): Deleted.
(WebCore::GraphicsContextGLOpenGL::createTransformFeedback): Deleted.
(WebCore::GraphicsContextGLOpenGL::deleteTransformFeedback): Deleted.
(WebCore::GraphicsContextGLOpenGL::isTransformFeedback): Deleted.
(WebCore::GraphicsContextGLOpenGL::bindTransformFeedback): Deleted.
(WebCore::GraphicsContextGLOpenGL::beginTransformFeedback): Deleted.
(WebCore::GraphicsContextGLOpenGL::endTransformFeedback): Deleted.
(WebCore::GraphicsContextGLOpenGL::transformFeedbackVaryings): Deleted.
(WebCore::GraphicsContextGLOpenGL::getTransformFeedbackVarying): Deleted.
(WebCore::GraphicsContextGLOpenGL::pauseTransformFeedback): Deleted.
(WebCore::GraphicsContextGLOpenGL::resumeTransformFeedback): Deleted.
(WebCore::GraphicsContextGLOpenGL::bindBufferBase): Deleted.
(WebCore::GraphicsContextGLOpenGL::bindBufferRange): Deleted.
(WebCore::GraphicsContextGLOpenGL::getUniformIndices): Deleted.
(WebCore::GraphicsContextGLOpenGL::getActiveUniforms): Deleted.
(WebCore::GraphicsContextGLOpenGL::getUniformBlockIndex): Deleted.
(WebCore::GraphicsContextGLOpenGL::getActiveUniformBlockName): Deleted.
(WebCore::GraphicsContextGLOpenGL::uniformBlockBinding): Deleted.
(WebCore::GraphicsContextGLOpenGL::readnPixels): Deleted.
(WebCore::GraphicsContextGLOpenGL::getActiveUniformBlockiv): Deleted.
(WebCore::GraphicsContextGLOpenGL::texImage2D): Deleted.
(WebCore::GraphicsContextGLOpenGL::texImage3D): Deleted.
(WebCore::GraphicsContextGLOpenGL::texSubImage3D): Deleted.
(WebCore::GraphicsContextGLOpenGL::compressedTexImage3D): Deleted.
(WebCore::GraphicsContextGLOpenGL::compressedTexSubImage3D): Deleted.
(WebCore::GraphicsContextGLOpenGL::multiDrawArraysANGLE): Deleted.
(WebCore::GraphicsContextGLOpenGL::multiDrawArraysInstancedANGLE): Deleted.
(WebCore::GraphicsContextGLOpenGL::multiDrawElementsANGLE): Deleted.
(WebCore::GraphicsContextGLOpenGL::multiDrawElementsInstancedANGLE): Deleted.
(WebCore::GraphicsContextGLOpenGL::texImage2DResourceSafe): Deleted.

  • platform/graphics/opengl/GraphicsContextGLOpenGLManager.cpp:

(WebCore::GraphicsContextGLOpenGLManager::addContext):
(WebCore::GraphicsContextGLOpenGLManager::removeContext):

  • platform/graphics/opengl/GraphicsContextGLOpenGLManager.h:
  • platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp:

(WebCore::GraphicsContextGLOpenGL::isGLES2Compliant const):

  • platform/graphics/texmap/GraphicsContextGLTextureMapper.h:
  • platform/ios/wak/WebCoreThread.mm:

Source/WebKit:

  • GPUProcess/graphics/RemoteGraphicsContextGL.cpp:

(WebKit::RemoteGraphicsContextGL::paintPixelBufferToImageBuffer):
Function paintToCanvas was moved to GraphicsContextGL.

  • GPUProcess/graphics/ScopedWebGLRenderingResourcesRequest.cpp:

(WebKit::ScopedWebGLRenderingResourcesRequest::freeWebGLRenderingResources):
Use static functions from GraphicsContextGLANGLE.

6:23 AM Changeset in webkit [286292] by Philippe Normand
  • 2 edits in trunk/Source/WebCore

Unreviewed, GTK clang build fix after r286226

  • style/RuleFeature.cpp:

(WebCore::Style::RuleFeatureSet::collectFeatures):

4:49 AM Changeset in webkit [286291] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

REGRESSION(r269103): this patch is not EME spec compliant
https://bugs.webkit.org/show_bug.cgi?id=233630

Unreviewed, revert r269103. We must validate init data.

Patch by Philippe Normand <pnormand@igalia.com> on 2021-11-30

  • Modules/encryptedmedia/CDM.cpp:

(WebCore::CDM::sanitizeInitData):

  • platform/encryptedmedia/CDMPrivate.cpp:

(WebCore::CDMPrivate::sanitizeInitData const): Deleted.

  • platform/encryptedmedia/CDMPrivate.h:
  • platform/graphics/gstreamer/eme/CDMThunder.cpp:

(WebCore::CDMPrivateThunder::supportsInitData const):
(WebCore::CDMPrivateThunder::sanitizeInitData const): Deleted.

  • platform/graphics/gstreamer/eme/CDMThunder.h:
3:47 AM Changeset in webkit [286290] by commit-queue@webkit.org
  • 11 edits
    4 deletes in trunk/Tools/buildstream

[Flatpak SDK] Update to FDO 21.08.6 release
https://bugs.webkit.org/show_bug.cgi?id=233570

Patch by Philippe Normand <pnormand@igalia.com> on 2021-11-30
Reviewed by Adrian Perez de Castro.

  • update to FDO SDK 21.08.6 release, including ccache 4.5.
  • update to GStreamer 1.18.5
  • update internal pipenv used by bst to pygobject 3.42 (needed for f35 host)
  • minor drive-by fixes in gst recipes correcting docker image export, for some reason a manual export of the repo to a docker image triggers gst-inspect-1.0 calls that are expecting user input, so force a non-existant pager as a workaround. This doesn't happen when exporting the repo to flatpak runtimes...
  • Pipfile:
  • Pipfile.lock:
  • elements/freedesktop-sdk.bst:
  • elements/sdk/gst-libav.bst:
  • elements/sdk/gst-plugin-closedcaption.bst:
  • elements/sdk/gst-plugin-dav1d.bst:
  • elements/sdk/gst-plugins-bad.bst:
  • elements/sdk/gst-plugins-base.bst:
  • elements/sdk/gst-plugins-good.bst:
  • elements/sdk/gstreamer.bst:
  • patches/fdo-sdk-0001-Bump-ccache-to-4.4.2.patch: Removed.
  • patches/gst-plugins-base-0001-gst-don-t-use-volatile-to-mean-atomic.patch: Removed.
  • patches/gst-plugins-base-0001-gstgl-Fix-build-when-Meson-0.58.0rc1.patch: Removed.
  • patches/gst-plugins-good-0001-gst-don-t-use-volatile-to-mean-atomic.patch: Removed.
3:46 AM Changeset in webkit [286289] by Martin Robinson
  • 8 edits
    2 adds
    1 delete in trunk

Transition from perspective(500px) to 'none' is probably wrong
https://bugs.webkit.org/show_bug.cgi?id=52700

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-transforms/animation/transform-interpolation-001-expected.txt:
  • web-platform-tests/css/css-transforms/animation/transform-perspective-composition-expected.txt:

Source/WebCore:

Test: animations/3d/animate-to-transform-perpective-to-none.html

Fix the interpolation of the perspective() transform function. This
is a port of a similar Chromium CL at:
https://chromium-review.googlesource.com/c/chromium/src/+/2924023

  • platform/graphics/transforms/PerspectiveTransformOperation.cpp:

(WebCore::PerspectiveTransformOperation::blend):

  • platform/graphics/transforms/PerspectiveTransformOperation.h:

LayoutTests:

  • platform/glib/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-001-expected.txt: Removed.
  • animations/3d/animate-to-transform-perpective-to-none-expected.html: Added.
  • animations/3d/animate-to-transform-perpective-to-none.html: Added.
2:48 AM Changeset in webkit [286288] by youenn@apple.com
  • 11 edits
    6 adds in trunk

Preload navigation request if the service worker is not immediately ready to handle the navigation request fetch event
https://bugs.webkit.org/show_bug.cgi?id=233471

Reviewed by Chris Dumez.

Source/WebCore:

Add a helper routine.

  • loader/FetchOptions.h:

Source/WebKit:

Launching a service worker might take time due to parsing and running the service worker script.
This might delay navigation loads, especially if the service worker is pass through on these loads.
To optimize this code path, we preload the navigation request in case service worker is not running or not yet activated.
We then wait for the service worker to handle the fetch event, which will tell us to either go to the network, in which
case we use the preload, or will provide its own response in which case we use it and cancel the preload.

Test: http/wpt/service-workers/service-worker-preload-when-not-activated.https.html

  • NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:
  • NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.h:
  • NetworkProcess/ServiceWorker/ServiceWorkerNavigationPreloader.cpp: Added.
  • NetworkProcess/ServiceWorker/ServiceWorkerNavigationPreloader.h: Added.
  • NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:
  • NetworkProcess/ServiceWorker/WebSWServerConnection.h:
  • NetworkProcess/webrtc/NetworkMDNSRegister.h:
  • Sources.txt:
  • WebKit.xcodeproj/project.pbxproj:

LayoutTests:

  • http/wpt/service-workers/resources/service-worker-preload-when-not-activated-script.py: Added.
  • http/wpt/service-workers/service-worker-preload-when-not-activated-worker.js: Added.
  • http/wpt/service-workers/service-worker-preload-when-not-activated.https-expected.txt: Added.
  • http/wpt/service-workers/service-worker-preload-when-not-activated.https.html: Added.
1:19 AM Changeset in webkit [286287] by Said Abou-Hallawa
  • 58 edits in trunk/Source/WebCore

[GPU Process] Calculate the result image rectangle of the FilterEffect in filter coordinates
https://bugs.webkit.org/show_bug.cgi?id=233613

Reviewed by Cameron McCormack.

In this patch:

  1. determineAbsolutePaintRect() functions are deleted and replaced by calculateImageRect(). The new function returns the image rectangle in filter coordinates. Both the image rectangle in filter coordinates and in user space coordinates will be stored in the result FilterImage.
  1. FilterConsumer is replaced by Filter::ClipOperation and it is stored in Filter. So there is no need for FilterEffect::m_clipsToBounds.
  1. resultIsAlphaImage() will take a Vector of FilterImages instead of relying on the input effects. This is a step towards removing the input effects from the FilterEffect.
  1. Move the maxEffectRect() calculation to Filter and make it also in filter coordinates.
  1. Make Filter::scaledByFilterScale() just scales a FloatSize. Add other override methods to scale the FloatPoint and FloatRect. Move resolving the relative length to the bounding box in a separate function Filter::resolvedSize() which has to be called explicitly before calling scaledByFilterScale().
  1. Remove FilterEffect::mapPointFromUserSpaceToBuffer() and replace it by a call to Filter::scaledByFilterScale() followed by a call to FilterImage::mappedAbsolutePoint() since this is what it actually does.
  1. The SVGFilter and CSSFilter will pass the sourceImageRect in filter coordinates. When creating the sourceImage, sourceImageRect has to be scaled by calling Filter::scaledByFilterScale().
  • css/CSSFilterImageValue.cpp:

(WebCore::CSSFilterImageValue::image):

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::drawFilteredImageBuffer):
Scale the context down before drawing the result ImageBuffer and restore
the context back after the drawing. Remove the repeated code from
RenderLayerFilters::applyFilterEffect() and
RenderSVGResourceFilter::postApplyResource().

  • platform/graphics/filters/DistantLightSource.cpp:

(WebCore::DistantLightSource::initPaintingData const):

  • platform/graphics/filters/DistantLightSource.h:
  • platform/graphics/filters/FEColorMatrix.cpp:

(WebCore::FEColorMatrix::resultIsAlphaImage const):

  • platform/graphics/filters/FEColorMatrix.h:
  • platform/graphics/filters/FEComposite.cpp:

(WebCore::FEComposite::calculateImageRect const):
(WebCore::FEComposite::determineAbsolutePaintRect): Deleted.

  • platform/graphics/filters/FEComposite.h:
  • platform/graphics/filters/FEConvolveMatrix.cpp:

(WebCore::FEConvolveMatrix::calculateImageRect const):

  • platform/graphics/filters/FEConvolveMatrix.h:

(): Deleted.

  • platform/graphics/filters/FEDisplacementMap.cpp:

(WebCore::FEDisplacementMap::calculateImageRect const):

  • platform/graphics/filters/FEDisplacementMap.h:
  • platform/graphics/filters/FEDropShadow.cpp:

(WebCore::FEDropShadow::calculateImageRect const):
(WebCore::FEDropShadow::determineAbsolutePaintRect): Deleted.

  • platform/graphics/filters/FEDropShadow.h:
  • platform/graphics/filters/FEFlood.cpp:

(WebCore::FEFlood::calculateImageRect const):

  • platform/graphics/filters/FEFlood.h:
  • platform/graphics/filters/FEGaussianBlur.cpp:

(WebCore::FEGaussianBlur::calculateKernelSize):
(WebCore::FEGaussianBlur::calculateImageRect const):
(WebCore::FEGaussianBlur::resultIsAlphaImage const):
(WebCore::FEGaussianBlur::determineAbsolutePaintRect): Deleted.

  • platform/graphics/filters/FEGaussianBlur.h:
  • platform/graphics/filters/FELighting.cpp:

(WebCore::FELighting::calculateImageRect const):

  • platform/graphics/filters/FELighting.h:

(): Deleted.

  • platform/graphics/filters/FEMorphology.cpp:

(WebCore::FEMorphology::calculateImageRect const):
(WebCore::FEMorphology::resultIsAlphaImage const):
(WebCore::FEMorphology::determineAbsolutePaintRect): Deleted.

  • platform/graphics/filters/FEMorphology.h:
  • platform/graphics/filters/FEOffset.cpp:

(WebCore::FEOffset::calculateImageRect const):
(WebCore::FEOffset::resultIsAlphaImage const):
(WebCore::FEOffset::determineAbsolutePaintRect): Deleted.

  • platform/graphics/filters/FEOffset.h:
  • platform/graphics/filters/FETile.cpp:

(WebCore::FETile::calculateImageRect const):
(WebCore::FETile::resultIsAlphaImage const):

  • platform/graphics/filters/FETile.h:

(): Deleted.

  • platform/graphics/filters/FETurbulence.cpp:

(WebCore::FETurbulence::calculateImageRect const):

  • platform/graphics/filters/FETurbulence.h:

(): Deleted.

  • platform/graphics/filters/Filter.cpp:

(WebCore::Filter::Filter):
(WebCore::Filter::scaledByFilterScale const):
(WebCore::Filter::maxEffectRect const):
(WebCore::Filter::clipToMaxEffectRect const):

  • platform/graphics/filters/Filter.h:

(WebCore::Filter::clipOperation const):
(WebCore::Filter::resolvedSize const):
(WebCore::Filter::scaledByFilterScale const): Deleted.

  • platform/graphics/filters/FilterEffect.cpp:

(WebCore::FilterEffect::calculateImageRect const):
(WebCore::FilterEffect::determineFilterPrimitiveSubregion):
(WebCore::FilterEffect::apply):
(WebCore::FilterEffect::externalRepresentation const):
(WebCore::FilterEffect::determineAbsolutePaintRect): Deleted.
(WebCore::FilterEffect::clipAbsolutePaintRect): Deleted.
(WebCore::FilterEffect::mapPointFromUserSpaceToBuffer const): Deleted.

  • platform/graphics/filters/FilterEffect.h:

(WebCore::FilterEffect::resultIsAlphaImage const):
(WebCore::FilterEffect::absolutePaintRect const): Deleted.
(WebCore::FilterEffect::setAbsolutePaintRect): Deleted.
(WebCore::FilterEffect::setUnclippedAbsoluteSubregion): Deleted.
(WebCore::FilterEffect::clipsToBounds const): Deleted.
(WebCore::FilterEffect::setClipsToBounds): Deleted.

  • platform/graphics/filters/FilterImage.cpp:

(WebCore::FilterImage::create):
(WebCore::FilterImage::FilterImage):
(WebCore::FilterImage::maxEffectRect const):
(WebCore::FilterImage::mappedAbsolutePoint const):

  • platform/graphics/filters/FilterImage.h:

(WebCore::FilterImage::imageRect const):

  • platform/graphics/filters/LightSource.h:
  • platform/graphics/filters/PointLightSource.cpp:

(WebCore::PointLightSource::initPaintingData const):

  • platform/graphics/filters/PointLightSource.h:
  • platform/graphics/filters/SourceAlpha.cpp:

(WebCore::SourceAlpha::calculateImageRect const):
(WebCore::SourceAlpha::determineAbsolutePaintRect): Deleted.

  • platform/graphics/filters/SourceAlpha.h:
  • platform/graphics/filters/SourceGraphic.cpp:

(WebCore::SourceGraphic::calculateImageRect const):
(WebCore::SourceGraphic::determineAbsolutePaintRect): Deleted.

  • platform/graphics/filters/SourceGraphic.h:
  • platform/graphics/filters/SpotLightSource.cpp:

(WebCore::SpotLightSource::initPaintingData const):

  • platform/graphics/filters/SpotLightSource.h:
  • platform/graphics/filters/software/FEDisplacementMapSoftwareApplier.cpp:

(WebCore::FEDisplacementMapSoftwareApplier::apply const):

  • platform/graphics/filters/software/FEDropShadowSoftwareApplier.cpp:

(WebCore::FEDropShadowSoftwareApplier::apply const):

  • platform/graphics/filters/software/FELightingSoftwareApplier.cpp:

(WebCore::FELightingSoftwareApplier::setPixelInternal):
(WebCore::FELightingSoftwareApplier::applyPlatform):
(WebCore::FELightingSoftwareApplier::apply const):

  • platform/graphics/filters/software/FELightingSoftwareApplier.h:
  • platform/graphics/filters/software/FEMorphologySoftwareApplier.cpp:

(WebCore::FEMorphologySoftwareApplier::apply const):

  • platform/graphics/filters/software/FEOffsetSoftwareApplier.cpp:

(WebCore::FEOffsetSoftwareApplier::apply const):

  • rendering/CSSFilter.cpp:

(WebCore::CSSFilter::create):
(WebCore::CSSFilter::CSSFilter):
(WebCore::createBlurEffect):
(WebCore::createSVGFilter):
(WebCore::CSSFilter::buildFilterFunctions):
(WebCore::CSSFilter::setSourceImageRect):
(WebCore::setupLastEffectProperties): Deleted.

  • rendering/CSSFilter.h:
  • rendering/RenderLayerFilters.cpp:

(WebCore::RenderLayerFilters::buildFilter):
(WebCore::RenderLayerFilters::allocateBackingStore):
(WebCore::RenderLayerFilters::beginFilterEffect):
(WebCore::RenderLayerFilters::applyFilterEffect):

  • rendering/svg/RenderSVGResourceFilter.cpp:

(WebCore::RenderSVGResourceFilter::applyResource):
(WebCore::RenderSVGResourceFilter::postApplyResource):

  • svg/graphics/filters/SVGFEImage.cpp:

(WebCore::FEImage::calculateImageRect const):
(WebCore::FEImage::determineAbsolutePaintRect): Deleted.

  • svg/graphics/filters/SVGFEImage.h:
  • svg/graphics/filters/SVGFilter.cpp:

(WebCore::SVGFilter::create):
(WebCore::SVGFilter::SVGFilter):
(WebCore::SVGFilter::resolvedSize const):
(WebCore::SVGFilter::scaledByFilterScale const): Deleted.

  • svg/graphics/filters/SVGFilter.h:
12:43 AM Changeset in webkit [286286] by youenn@apple.com
  • 8 edits in trunk/Source

Remove unnecessary service worker page settings handling
https://bugs.webkit.org/show_bug.cgi?id=233468

Reviewed by Chris Dumez.

Source/WebCore:

Use Settings.shouldUseServiceWorkerShortTimeout instead of dedicated SWContextManager::Connection::shouldUseShortTimeout.
Remove SWContextManager::Connection::shouldUseShortTimeout.
Change ServiceWorkerThreadProxy::createPageForServiceWorker into ServiceWorkerThreadProxy::setupPageForServiceWorker
so that we apply page settings before creating the page document.

No change of behavior.

  • workers/service/context/SWContextManager.h:

(WebCore::SWContextManager::Connection::isClosed const):
(WebCore::SWContextManager::Connection::setAsClosed):
(WebCore::SWContextManager::Connection::shouldUseShortTimeout const): Deleted.
(WebCore::SWContextManager::Connection::setShouldUseShortTimeout): Deleted.

  • workers/service/context/ServiceWorkerThread.cpp:

(WebCore::ServiceWorkerThread::ServiceWorkerThread):

  • workers/service/context/ServiceWorkerThreadProxy.cpp:

(WebCore::ServiceWorkerThreadProxy::setupPageForServiceWorker):
(WebCore::ServiceWorkerThreadProxy::createPageForServiceWorker): Deleted.

  • workers/service/context/ServiceWorkerThreadProxy.h:

Source/WebKit:

Use ServiceWorkerThreadProxy::setupPageForServiceWorker and remove WebPreferences specific handling.

  • WebProcess/Storage/WebSWContextManagerConnection.cpp:

(WebKit::WebSWContextManagerConnection::updatePreferencesStore):
(WebKit::WebSWContextManagerConnection::installServiceWorker):

  • WebProcess/Storage/WebSWContextManagerConnection.h:
Note: See TracTimeline for information about the timeline view.