[webkit-changes] [WebKit/WebKit] 7e3be0: REGRESSION(256008 at main) TestWebKitAPI.IPCTestingAP...

Kimmo Kinnunen noreply at github.com
Mon Nov 7 11:59:48 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7e3be0d6957422b38449d50b19a4f05ab2151f5a
      https://github.com/WebKit/WebKit/commit/7e3be0d6957422b38449d50b19a4f05ab2151f5a
  Author: Kimmo Kinnunen <kkinnunen at apple.com>
  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 at 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 at 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




More information about the webkit-changes mailing list