Timeline



Jun 27, 2022:

4:35 AM WebKitEmacsTips edited by Philippe Normand
(diff)

Jun 24, 2022:

1:04 PM HackingWebInspector edited by Sam Sneddon
Update for git, recommend minibrowser instead of Safari given … (diff)
8:10 AM WebKitGTK/2.36.x edited by Adrian Perez de Castro
(diff)

Jun 23, 2022:

9:44 AM Changeset in webkit [295779] by Tyler Wilcock
  • 3 edits in trunk/Source/WebCore/accessibility

AX: AXIsolatedTree::updateChildren sometimes fails to update isolated subtrees when the given live object is ignored
https://bugs.webkit.org/show_bug.cgi?id=241735

Reviewed by Andres Gonzalez.

Our current algorithm in AXIsolatedTree::updateChildren is:

  1. If the object we got an AXChildrenChanged notification for is in the isolated tree, update its isolated children
  1. Otherwise, ascend the ancestry to the nearest in-isolated-tree ancestor, and update the children of that object

This is not always adequate when the object passed to updateChildren
is ignored, as in some cases the ancestor has no children changes
but the subtrees of the ignored object do.

This patch fixes this by also checking the live-children of the ignored
object for any that have unitialized children. If so, we call
AXIsolatedTree::updateChildren on those too.

  • Source/WebCore/accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::childrenInitialized const):
Move from private to public.

  • Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:

(WebCore::AXIsolatedTree::updateChildren):

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

9:16 AM Changeset in webkit [295778] by Chris Dumez
  • 12 edits in trunk

Ignore history items added by JS without user interaction when navigation back/forward via the WKWebView API
https://bugs.webkit.org/show_bug.cgi?id=241885
<rdar://94838657>

Reviewed by Geoffrey Garen.

Ignore history items added by JS without user interaction when navigation
back/forward via the WKWebView API. This is a behavior similar to the
intervention made in Chrome (https://bugs.chromium.org/p/chromium/issues/detail?id=907167)
to prevent websites from hijacking the back/forward list.

When an history item is added by JS via history.pushState() and without a user
gesture, we now set a flag on that HistoryItem to remember this. Later on, when
calling [WKWebView goBack] or [WKWebView goForward], we will skip the history
item that have this flag set. This behavior occurs behind a linked-on-after
check to reduce the compatibility risk.

Also, navigations via other means (e.g. via JavaScript) are not impacted and will
ignore this new flag.

  • Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.h:
  • Source/WebCore/history/HistoryItem.h:

(WebCore::HistoryItem::setWasCreatedByJSWithoutUserInteraction):
(WebCore::HistoryItem::wasCreatedByJSWithoutUserInteraction const):

  • Source/WebCore/loader/HistoryController.cpp:

(WebCore::FrameLoader::HistoryController::pushState):

  • Source/WebKit/Shared/SessionState.cpp:

(WebKit::PageState::encode const):
(WebKit::PageState::decode):

  • Source/WebKit/Shared/SessionState.h:
  • Source/WebKit/Shared/WebBackForwardListItem.h:

(WebKit::WebBackForwardListItem::wasCreatedByJSWithoutUserInteraction const):

  • Source/WebKit/UIProcess/WebPageProxy.cpp:

(WebKit::itemSkippingBackForwardItemsAddedByJSWithoutUserGesture):
(WebKit::WebPageProxy::goForward):
(WebKit::WebPageProxy::goBack):

  • Source/WebKit/WebProcess/WebCoreSupport/SessionStateConversion.cpp:

(WebKit::toBackForwardListItemState):

  • Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • Tools/TestWebKitAPI/Tests/WebKit/WKBackForwardList.mm:

(TEST):

  • Tools/TestWebKitAPI/cocoa/TestNavigationDelegate.h:
  • Tools/TestWebKitAPI/cocoa/TestNavigationDelegate.mm:

(-[TestNavigationDelegate _webView:navigation:didSameDocumentNavigation:]):
(-[TestNavigationDelegate waitForDidFinishNavigationOrSameDocumentNavigation]):
(-[WKWebView _test_waitForDidFinishNavigationOrSameDocumentNavigation]):

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

9:14 AM Changeset in webkit [295777] by Jonathan Bedard
  • 4 edits in trunk/Tools/CISupport/ews-build

[Merge-Queue] Commit directly to GitHub
https://bugs.webkit.org/show_bug.cgi?id=241899
<rdar://93108587>

Reviewed by Aakash Jain.

  • Tools/CISupport/ews-build/factories.py:

(CommitQueueFactory.init): Remove git-svn steps.
(MergeQueueFactoryBase.init): Ditto.
(MergeQueueFactory.init): Update pull-request before pushing commit to main.
(UnsafeMergeQueueFactory.init): Ditto.

  • Tools/CISupport/ews-build/factories_unittest.py:

(TestExpectedBuildSteps):

  • Tools/CISupport/ews-build/steps.py:

(PushCommitToWebKitRepo):
(PushCommitToWebKitRepo.init):
(PushCommitToWebKitRepo.start): Push commit to 'origin'.
(PushCommitToWebKitRepo.evaluateCommand): Remove git-svn, replace revision with hash.
Pull requests are updated before landing instead of after.
(PushCommitToWebKitRepo.hash_from_commit_text): Extract hash from git command.
(DetermineLandedIdentifier.evaluateCommand): Use hash instead of revision.
(DetermineLandedIdentifier.url_for_hash_details): Ditto.
(DetermineLandedIdentifier.identifier_for_hash): Ditto.
(DetermineLandedIdentifier.comment_text_for_bug): Use hash instead of revision, use
identifier as the default commit format.
(Canonicalize.run): Delete identifiers.json to ensure canonicalization is correct,
reset the commit and author time.
(PushCommitToWebKitRepo.svn_revision_from_commit_text): Deleted.
(DetermineLandedIdentifier.url_for_revision_details): Deleted.
(DetermineLandedIdentifier.identifier_for_revision): Deleted.
(AddAuthorToCommitMessage): Deleted.
(GitSvnFetch): Deleted.
(ResetGitSvn): Deleted.
(DetermineAuthor): Deleted.

  • Tools/CISupport/ews-build/steps_unittest.py:

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

5:43 AM Changeset in webkit [295776] by commit-queue@webkit.org
  • 3 edits
    4 adds in trunk

[ Mac EWS ] imported/w3c/web-platform-tests/workers/semantics/multiple-workers/004.html is a flaky text failure
https://bugs.webkit.org/show_bug.cgi?id=237095
rdar://problem/89367636

Patch by Youenn Fablet <youennf@gmail.com> on 2022-06-23
Reviewed by Chris Dumez.

As per https://html.spec.whatwg.org/multipage/workers.html#concept-WorkerGlobalScope-owner-set,
a WorkerGlobalScope owner set should preserve the insertion order.
imported/w3c/web-platform-tests/workers/semantics/multiple-workers/004.html might be flakky as we sometimes do not run the shared worker synchronously.
In that case, we will send the connect event on the shared worker set.
Before the patch, the shared worker set would not be ordered so it might happen that the first connect event is related to an iframe SharedWorker.
After the patch, we ensure that the first SharedWorker (NetworkProcess being the place where insertion happens) will be the first to trigger the connect event.
This is done by changing the SharedWorker object set from a Map to a ListHashSet.
Covered by added LayoutTests/http/wpt/service-workers/shared-workers/connect-event-ordering.html

  • LayoutTests/http/wpt/service-workers/shared-workers: Added.
  • LayoutTests/platform/mac-wk2/TestExpectations:
  • Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorker.cpp:
  • Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorker.h:

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

5:40 AM Changeset in webkit [295775] by Antti Koivisto
  • 2 edits in trunk

REGRESSION (251257@main): [ macOS wk1 ] fast/replaced/encrypted-pdf-as-object-and-embed.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=241879
<rdar://95728601>

Reviewed by Antoine Quint.

  • LayoutTests/platform/mac-wk1/TestExpectations:
  • Source/WebCore/style/StyleScope.cpp:

(WebCore::Style::Scope::updateQueryContainerState):

Null test the view. It can be null on WK1.

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

4:58 AM Changeset in webkit [295774] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore/platform/audio/glib

[GLIB] MediaSessionGlib shows multiple players for a single video
https://bugs.webkit.org/show_bug.cgi?id=241857

Patch by Philippe Normand <philn@igalia.com> on 2022-06-23
Reviewed by Carlos Garcia Campos.

The MediaSession is now registered on DBus lazily, only if any of its properties changes.

  • Source/WebCore/platform/audio/glib/MediaSessionGLib.cpp:

(WebCore::MediaSessionGLib::MediaSessionGLib):
(WebCore::MediaSessionGLib::~MediaSessionGLib):
(WebCore::MediaSessionGLib::ensureMprisSessionRegistered):
(WebCore::MediaSessionGLib::emitPositionChanged):
(WebCore::MediaSessionGLib::emitPropertiesChanged):

  • Source/WebCore/platform/audio/glib/MediaSessionGLib.h:

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

3:01 AM Changeset in webkit [295773] by commit-queue@webkit.org
  • 3 edits in trunk

RTCInboundRtpStreamStats should have a framesDropped property
https://bugs.webkit.org/show_bug.cgi?id=241844
rdar://problem/95669239

Patch by Youenn Fablet <youennf@gmail.com> on 2022-06-23
Reviewed by Eric Carlson.

We should add framesDropped to RTCReceivedRtpStreamStats as per spec but our WebRC backend only supports it in RTCInboundRtpStreamStats.
Let's add this property there since this is used by some applications.

  • LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-mandatory-getStats.https.html:
  • LayoutTests/webrtc/video-stats.html:
  • Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCStatsCollector.cpp:

(WebCore::fillReceivedRtpStreamStats):
(WebCore::fillInboundRtpStreamStats):

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

2:56 AM Changeset in webkit [295772] by commit-queue@webkit.org
  • 10 edits in trunk/Source

Use correct offsets type in multiDrawElements* functions
https://bugs.webkit.org/show_bug.cgi?id=241802

Patch by Alexey Knyazev <3479527+lexaknyazev@users.noreply.github.com> on 2022-06-23
Reviewed by Kimmo Kinnunen.

The spec defines offsets as arrays of GLsizei, not GLint.
Both types are aliases of int anyway.

Fixed a typo in multiDrawElementsInstancedWEBGL validation message.

Query for extension support on WebGL 2.0 contexts. No functional
changes implied because WebGL 2.0 is ANGLE-only.

  • Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::getExtension):

  • Source/WebCore/html/canvas/WebGLMultiDraw.cpp:

(WebCore::WebGLMultiDraw::multiDrawElementsInstancedWEBGL):

  • Source/WebCore/platform/graphics/GraphicsContextGL.h:
  • Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp:

(WebCore::GraphicsContextGLANGLE::multiDrawElementsANGLE):
(WebCore::GraphicsContextGLANGLE::multiDrawElementsInstancedANGLE):

  • Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.h:
  • Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGL.cpp:

(WebCore::GraphicsContextGLOpenGL::multiDrawElementsANGLE):
(WebCore::GraphicsContextGLOpenGL::multiDrawElementsInstancedANGLE):

  • Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGL.h:
  • Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp:

(WebKit::RemoteGraphicsContextGL::multiDrawElementsANGLE):
(WebKit::RemoteGraphicsContextGL::multiDrawElementsInstancedANGLE):

  • Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:

(WebKit::RemoteGraphicsContextGLProxy::multiDrawElementsANGLE):
(WebKit::RemoteGraphicsContextGLProxy::multiDrawElementsInstancedANGLE):

  • Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:

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

1:23 AM Changeset in webkit [295771] by ysuzuki@apple.com
  • 6 edits in trunk

[WTF] Use CompactPtr in AtomStringTable if it is more efficient
https://bugs.webkit.org/show_bug.cgi?id=241883

Reviewed by Darin Adler.

  1. We add HashTable support for CompactPtr. Correctly setting up HashTraits and Hashers so that we can have HashSet<CompactPtr<T>>.
  2. Use CompactPtr in AtomStringTable if it is more efficient than PackedPtr<StringImpl>. Typically, this means we are in iOS.
  • Source/WTF/wtf/CompactPtr.h:

(WTF::CompactPtr::CompactPtr):
(WTF::CompactPtr::encode):
(WTF::CompactPtr::decode):
(WTF::CompactPtr::isHashTableDeletedValue const):
(WTF::CompactPtrTraits::hashTableDeletedValue):
(WTF::CompactPtrTraits::isHashTableDeletedValue):

  • Source/WTF/wtf/Forward.h:
  • Source/WTF/wtf/HashTraits.h:

(WTF::HashTraits<CompactPtr<P>>::emptyValue):
(WTF::HashTraits<CompactPtr<P>>::isEmptyValue):
(WTF::HashTraits<CompactPtr<P>>::peek):

  • Source/WTF/wtf/text/AtomStringImpl.cpp:

(WTF::UCharBufferTranslator::equal):
(WTF::UCharBufferTranslator::translate):
(WTF::HashAndUTF8CharactersTranslator::equal):
(WTF::HashAndUTF8CharactersTranslator::translate):
(WTF::SubstringTranslator::translate):
(WTF::SubstringTranslator8::equal):
(WTF::SubstringTranslator16::equal):
(WTF::LCharBufferTranslator::equal):
(WTF::LCharBufferTranslator::translate):
(WTF::BufferFromStaticDataTranslator::equal):
(WTF::BufferFromStaticDataTranslator::translate):

  • Source/WTF/wtf/text/AtomStringTable.h:
  • Tools/TestWebKitAPI/Tests/WTF/CompactPtr.cpp:

(TestWebKitAPI::TEST):

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

12:45 AM Changeset in webkit [295770] by ysuzuki@apple.com
  • 1 edit in trunk/Source/JavaScriptCore/wasm/WasmAirIRGenerator.cpp

[JSC] Set up wasm stack |this| first
https://bugs.webkit.org/show_bug.cgi?id=241907
rdar://problem/94397072

Reviewed by Mark Lam.

We should set up the stack's |thisValue| first.

  • Source/JavaScriptCore/wasm/WasmAirIRGenerator.cpp:

(JSC::Wasm::AirIRGenerator::AirIRGenerator):

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

Note: See TracTimeline for information about the timeline view.