[webkit-changes] [WebKit/WebKit] c84335: [WPE] Crash in `WebKit.OnDeviceChangeCrash` API test

Vitaly Dyachkov noreply at github.com
Wed Jun 21 10:57:26 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c8433592f6c2b3cdc476006f7693daa9c9be6b2f
      https://github.com/WebKit/WebKit/commit/c8433592f6c2b3cdc476006f7693daa9c9be6b2f
  Author: Vitaly Dyachkov <vitaly at igalia.com>
  Date:   2023-06-21 (Wed, 21 Jun 2023)

  Changed paths:
    M Tools/TestWebKitAPI/Tests/WebKit/UserMedia.cpp
    M Tools/TestWebKitAPI/glib/TestExpectations.json

  Log Message:
  -----------
  [WPE] Crash in `WebKit.OnDeviceChangeCrash` API test
https://bugs.webkit.org/show_bug.cgi?id=258353

Reviewed by Philippe Normand.

When we create `WPEView` we get a process pool from the page configuration
provided as an argument and then use this pool to create a web page.

```
auto* pool = configuration->processPool();
m_pageProxy = pool->createWebPage(*m_pageClient, WTFMove(configuration));
```

But default page configuration we use in the test doesn't automatically
create a process pool.

```
auto configuration = adoptWK(WKPageConfigurationCreate())
```

To fix that we can use `WKContextCreateWithConfiguration(nullptr)`
because it creates a default process pool configuration for us:
```
RefPtr<API::ProcessPoolConfiguration> apiConfiguration = WebKit::toImpl(configuration);
if (!apiConfiguration)
    apiConfiguration = API::ProcessPoolConfiguration::create();
```

This is how it's done in `WebKit.EnumerateDevicesCrash` test in the
same file.

* Tools/TestWebKitAPI/Tests/WebKit/UserMedia.cpp:
(TestWebKitAPI::TEST):
* Tools/TestWebKitAPI/glib/TestExpectations.json:

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




More information about the webkit-changes mailing list