Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7e3be0d6957422b38449d50b19a4f05ab2151f5a
      
https://github.com/WebKit/WebKit/commit/7e3be0d6957422b38449d50b19a4f05ab2151f5a
  Author: Kimmo Kinnunen <[email protected]>
  Date:   2022-11-07 (Mon, 07 Nov 2022)

  Changed paths:
    A LayoutTests/ipc/message-listener-async-message-reply-id-expected.txt
    A LayoutTests/ipc/message-listener-async-message-reply-id.html
    M Source/WebKit/CMakeLists.txt
    M Source/WebKit/DerivedSources-input.xcfilelist
    M Source/WebKit/DerivedSources-output.xcfilelist
    M Source/WebKit/DerivedSources.make
    M Source/WebKit/Shared/IPCTester.cpp
    M Source/WebKit/Shared/IPCTester.h
    M Source/WebKit/Shared/IPCTester.messages.in
    A Source/WebKit/Shared/IPCTesterReceiver.cpp
    A Source/WebKit/Shared/IPCTesterReceiver.h
    A Source/WebKit/Shared/IPCTesterReceiver.messages.in
    M Source/WebKit/Sources.txt
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M Source/WebKit/WebProcess/WebPage/IPCTestingAPI.cpp

  Log Message:
  -----------
  REGRESSION(256008@main) TestWebKitAPI.IPCTestingAPI.CanIntercept* tests fail
https://bugs.webkit.org/show_bug.cgi?id=247256

rdar://problem/101749810

Reviewed by Ryosuke Niwa.

The commit 256008@main changed the encoding for messages that have async
replies:
 - Before, the reply id was encoded as the first parameter.
 - After, the reply id was encoded as the last parameter.

This broke the JS IPC tester API where message listener code was not
adjusted accordingly. This caused the arguments to be decoded incorrectly.

Fix the JS IPC tester API.

Add a test testing that listener API can be used to obtain the async reply
id.

* LayoutTests/ipc/message-listener-async-message-reply-id-expected.txt: Added.
* LayoutTests/ipc/message-listener-async-message-reply-id.html: Added.
 Source/WebKit/CMakeLists.txt:
* Source/WebKit/DerivedSources-input.xcfilelist:
* Source/WebKit/DerivedSources-output.xcfilelist:
* Source/WebKit/DerivedSources.make:
* Source/WebKit/Shared/IPCTester.cpp:
(WebKit::IPCTester::sendAsyncMessageToProxy):
* Source/WebKit/Shared/IPCTester.h:
* Source/WebKit/Shared/IPCTester.messages.in:
* Source/WebKit/Shared/IPCTesterReceiver.cpp: Copied from 
Source/WebKit/WebProcess/GPU/graphics/ThreadSafeRemoteImageBufferFlusher.cpp.
(WebKit::IPCTesterReceiver::asyncMessage):
* Source/WebKit/Shared/IPCTesterReceiver.h: Copied from 
Source/WebKit/WebProcess/GPU/graphics/ThreadSafeRemoteImageBufferFlusher.cpp.
* Source/WebKit/Shared/IPCTesterReceiver.messages.in: Copied from 
Source/WebKit/Shared/IPCTester.messages.in.
* Source/WebKit/Sources.txt:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/WebPage/IPCTestingAPI.cpp:
(WebKit::IPCTestingAPI::JSIPC::staticFunctions):
(WebKit::IPCTestingAPI::JSIPC::addTesterReceiver):
(WebKit::IPCTestingAPI::JSIPC::removeTesterReceiver):
(WebKit::IPCTestingAPI::JSMessageListener::jsDescriptionFromDecoder):

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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to