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

Timeline



Apr 22, 2019:

6:36 PM Changeset in webkit [244537] by Alan Bujtas
  • 4 edits
    1 copy
    1 add in trunk

[ContentChangeObserver] Some dropdown menus may close without user gesture on americanexpress.com
https://bugs.webkit.org/show_bug.cgi?id=197175
<rdar://problem/49613013>

Reviewed by Simon Fraser.

Source/WebKit:

Do not generate additional synthetic mouse events (e.g. mouseout in this case) when the content handles the click event. This helps cases when the synthetic mouseout ended up dismissing the dropdown menus.
However it won't regress cases like youtube.com, where sending mouseout is required to have the control bar dismissed on play.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::completeSyntheticClick):

LayoutTests:

  • fast/events/touch/ios/content-observation/mouse-out-event-should-not-fire-on-click-when-default-prevented-expected.txt: Added.
  • fast/events/touch/ios/content-observation/mouse-out-event-should-not-fire-on-click-when-default-prevented.html: Added.
6:18 PM Changeset in webkit [244536] by Alan Coon
  • 7 edits in branches/safari-607-branch/Source

Versioning.

5:30 PM Changeset in webkit [244535] by Alan Coon
  • 7 edits in tags/Safari-608.1.17.200/Source

Versioning.

5:24 PM Changeset in webkit [244534] by Alan Coon
  • 1 copy in tags/Safari-608.1.17.200

New tag.

5:22 PM Changeset in webkit [244533] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

[ews-build] Improve summary for UploadBuiltProduct step
https://bugs.webkit.org/show_bug.cgi?id=197182

Reviewed by Lucas Forschler.

  • BuildSlaveSupport/ews-build/steps.py:

(UploadBuiltProduct): Added descriptionDone.
(UploadBuiltProduct.getResultSummary): Overrided getResultSummary.

  • BuildSlaveSupport/ews-build/steps_unittest.py:

(TestUploadBuiltProduct.test_success): Updated unit-test.
(TestUploadBuiltProduct.test_failure): Added unit-test for failure case.

5:16 PM Changeset in webkit [244532] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

[ews-build] Trigger queues only after uploading the archive
https://bugs.webkit.org/show_bug.cgi?id=197180

Reviewed by Lucas Forschler.

  • BuildSlaveSupport/ews-build/factories.py:

(Factory.init):
(BuildFactory.init): Remove trigger step from factories.
(BuildFactory.propertiesToPassToTriggers): Deleted.

  • BuildSlaveSupport/ews-build/steps.py:

(ConfigureBuild.init): Confiure triggers property.
(Trigger): Step to trigger other queues.
(Trigger.propertiesToPassToTriggers): Method to construct properties to pass to triggerred builds.
(UploadBuiltProduct.finished): Trigger builds after upload is successful.

5:16 PM Changeset in webkit [244531] by Alan Coon
  • 1 copy in branches/safari-607.2.6.1-branch

New branch.

5:16 PM Changeset in webkit [244530] by Alan Coon
  • 1 copy in branches/safari-607.2.6.0-branch

New branch.

5:15 PM Changeset in webkit [244529] by commit-queue@webkit.org
  • 4 edits in trunk

Deprecate WKContextCreateWithInjectedBundlePath
https://bugs.webkit.org/show_bug.cgi?id=197169

Patch by Alex Christensen <achristensen@webkit.org> on 2019-04-22
Reviewed by Youenn Fablet.

Source/WebKit:

  • UIProcess/API/C/WKContext.h:

Tools:

  • TestWebKitAPI/PlatformUtilities.cpp:

(TestWebKitAPI::Util::createContextWithInjectedBundle):
Use WKContextCreateWithConfiguration instead of WKContextCreateWithInjectedBundlePath after having set its injected bundle path.

5:07 PM Changeset in webkit [244528] by Alan Coon
  • 1 copy in branches/safari-607.2.1.2-branch

New branch.

5:04 PM Changeset in webkit [244527] by Alan Coon
  • 1 delete in branches/Safari-607.2.1.2

Delete tag.

5:01 PM Changeset in webkit [244526] by Alan Coon
  • 1 copy in branches/Safari-607.2.1.2

New branch.

4:59 PM Changeset in webkit [244525] by Alan Coon
  • 1 delete in tags/Safari-607.2.1.2

Delete tag.

4:50 PM Changeset in webkit [244524] by Alan Coon
  • 1 delete in tags/Safari-607.2.6.1

Delete tag.

4:47 PM Changeset in webkit [244523] by Alan Coon
  • 1 copy in tags/Safari-607.2.6.1

New tag.

4:09 PM Changeset in webkit [244522] by Alan Coon
  • 7 edits in tags/Safari-607.2.1.2/Source

Versioning.

4:05 PM Changeset in webkit [244521] by achristensen@apple.com
  • 15 edits
    1 add in trunk

REGRESSION(r230681) Do not use stored credentials if WKBundlePageResourceLoadClient.shouldUseCredentialStorage returns false
https://bugs.webkit.org/show_bug.cgi?id=197093
<rdar://problem/49708268>

Reviewed by Chris Dumez.

Source/WebKit:

Only get the StoredCredentialsPolicy from the NetworkLoadChecker if we haven't already been told not to use credentials.
Also add some test infrastructure for clearing persistent credentials added by the test.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::removeCredential):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::startNetworkLoad):

  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::removeCredential):

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _removeCredential:forProtectionSpace:completionHandler:]):

  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::removeCredential):

  • UIProcess/WebProcessPool.h:

Tools:

Add a test that does two loads. The first load shouldUseCredentialStorage returns true and we provide a persistent credential.
The second load shouldUseCredentialStorage returns false and we verify that a challenge is received with no suggested credential.
We also need to make the TCPServer able to handle more than one connection because we need these two loads to come from the same protection space,
and our current Cocoa implementation of NetworkSession uses two NSURLSessions that don't share a connection cache, one for loads with credentials
and one for loads without credentials, so there are two TCP connections to the same server in this test.

  • TestWebKitAPI/TCPServer.cpp:

(TestWebKitAPI::TCPServer::TCPServer):
(TestWebKitAPI::TCPServer::~TCPServer):
(TestWebKitAPI::TCPServer::socketBindListen):
(TestWebKitAPI::TCPServer::waitForAndReplyToRequests): Deleted.

  • TestWebKitAPI/TCPServer.h:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/BasicProposedCredentialPlugIn.mm: Added.

(-[BasicProposedCredentialPlugIn webProcessPlugIn:didCreateBrowserContextController:]):

  • TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:

(respondWithChallengeThenOK):
(TestWebKitAPI::TEST):
(-[ProposedCredentialDelegate webView:didFinishNavigation:]):
(-[ProposedCredentialDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]):
(TEST):

4:05 PM Changeset in webkit [244520] by Alan Coon
  • 7 edits in tags/Safari-608.1.17.100/Source

Versioning.

4:02 PM Changeset in webkit [244519] by Alan Coon
  • 1 copy in tags/Safari-608.1.17.100

New tag.

3:55 PM Changeset in webkit [244518] by Alan Coon
  • 1 copy in tags/Safari-607.2.1.2

New tag.

3:29 PM Changeset in webkit [244517] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

Update libwebrtc logging when WebCore WebRTC logging is updated
https://bugs.webkit.org/show_bug.cgi?id=197166
<rdar://problem/50107696>

Unreviewed.

Build fix after https://trac.webkit.org/changeset/244511.

  • page/Page.cpp:

(WebCore::Page::configureLoggingChannel):

3:17 PM Changeset in webkit [244516] by Chris Dumez
  • 6 edits in trunk

Delayed WebProcessLaunch may break the _relatedWebView SPI
https://bugs.webkit.org/show_bug.cgi?id=197160

Reviewed by Alex Christensen.

Source/WebKit:

Delayed WebProcessLaunch may break the _relatedWebView SPI. The breakage would happen if the client
would relate a WebView to another which has not launched its initial process yet.

To address the issue, when we need a running process for a WebView which has a related view, we need
to make sure the related view has a running process and use that process. Previously, we would share
the "dummy" process instead.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::launchProcess):
(WebKit::WebPageProxy::ensureRunningProcess):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::createWebPage):

Tools:

Add API test coverage.

  • TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
3:12 PM Changeset in webkit [244515] by youenn@apple.com
  • 7 edits in trunk

Cache API should return Abort error in case of putting an aborted fetch
https://bugs.webkit.org/show_bug.cgi?id=196757

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

  • web-platform-tests/service-workers/cache-storage/serviceworker/cache-abort.https-expected.txt:
  • web-platform-tests/service-workers/cache-storage/window/cache-abort.https-expected.txt:
  • web-platform-tests/service-workers/cache-storage/worker/cache-abort.https-expected.txt:

Source/WebCore:

In case of an aborted fetch, call consume callback with an AbortError.
Update the code that handles load cancelling as the loader callback is called.
Covered by rebased tests.

  • Modules/fetch/FetchResponse.cpp:

(WebCore::FetchResponse::addAbortSteps):
(WebCore::FetchResponse::BodyLoader::didFail):
(WebCore::FetchResponse::BodyLoader::BodyLoader):
(WebCore::FetchResponse::BodyLoader::~BodyLoader):
(WebCore::FetchResponse::stop):

  • Modules/fetch/FetchResponse.h:
3:11 PM Changeset in webkit [244514] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION: Sources: auto-continue breakpoint triangle is incorrectly positioned
https://bugs.webkit.org/show_bug.cgi?id=197179

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/BreakpointTreeElement.css:

(.item.breakpoint .status): Added.
(.item.breakpoint .status > .status-image.auto-continue::after):

3:07 PM Changeset in webkit [244513] by dean_johnson@apple.com
  • 2 edits in trunk/Tools

Use curl to download packages for webkitpy autoinstaller
https://bugs.webkit.org/show_bug.cgi?id=197164

Reviewed by Darin Adler.

  • Scripts/webkitpy/common/system/autoinstall.py:

(AutoInstaller._download): Use curl(1) to download packages necessary for
webkitpy/thirdparty/autoinstalled since Python2's urllib2 module can result in unnecessary
errors which are not present when using curl(1).

2:54 PM Changeset in webkit [244512] by david_quesada@apple.com
  • 3 edits in trunk/Source/WebKit

Remove linked-on-or-after check for download attribute handling
https://bugs.webkit.org/show_bug.cgi?id=197176
rdar://problem/48459714

Reviewed by Alex Christensen.

There are no apps linked prior to this SDK version that are using the _WKDownload SPI,
so it doesn't make sense to preserve the old behavior of forcing download-attribute
links to start downloads.

  • UIProcess/Cocoa/VersionChecks.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::receivedNavigationPolicyDecision):

2:29 PM Changeset in webkit [244511] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

Update libwebrtc logging when WebCore WebRTC logging is updated
https://bugs.webkit.org/show_bug.cgi?id=197166

Reviewed by Eric Carlson.

When updating WebRTC logging from Web Inspector, update libwebrtc logging so that no page reload is required.
Manually tested.

  • page/Page.cpp:

(WebCore::Page::configureLoggingChannel):

2:08 PM Changeset in webkit [244510] by Chris Dumez
  • 6 edits in trunk

Unreviewed, rolling out r244502.

Caused crashes on the bots

Reverted changeset:

"Delayed WebProcessLaunch may break the _relatedWebView SPI"
https://bugs.webkit.org/show_bug.cgi?id=197160
https://trac.webkit.org/changeset/244502

12:57 PM Changeset in webkit [244509] by Simon Fraser
  • 5 edits in trunk/Source/WebCore

Introduce the concept of "opportunistic" stacking contexts
https://bugs.webkit.org/show_bug.cgi?id=197077

Reviewed by Zalan Bujtas.

Bring back a variant of some code removed in r236424, which allows a RenderLayer
to be stacking context for painting, without actually being on in terms of CSS.

Internally, RenderLayer will call setIsOpportunisticStackingContext() to make a layer
into a stacking context for painting. External callers deal with isStackingContext()
or isCSSStackingContext().

Sadly we can't make m_forcedStackingContext (set on media element layers) trigger a
non-CSS stacking context; media controls use mix-blend-mode, and rely on the fake-stacking
media layer to be the "isolateBlending" ancestor.

No code uses this yet.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::shouldBeCSSStackingContext const):
(WebCore::RenderLayer::isStackingContextChanged):
(WebCore::RenderLayer::setIsOpportunisticStackingContext):
(WebCore::RenderLayer::setIsCSSStackingContext):
(WebCore::RenderLayer::updateAncestorChainHasBlendingDescendants):
(WebCore::RenderLayer::dirtyAncestorChainHasBlendingDescendants):
(WebCore::RenderLayer::beginTransparencyLayers):
(WebCore::RenderLayer::calculateClipRects const):
(WebCore::outputPaintOrderTreeLegend):
(WebCore::outputPaintOrderTreeRecursive):
(WebCore::RenderLayer::shouldBeStackingContext const): Deleted.
(WebCore::RenderLayer::setIsStackingContext): Deleted.

  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::compositingOpacity const):

12:51 PM Changeset in webkit [244508] by Ryan Haddad
  • 6 edits in trunk

Unreviewed, rolling out r244437.

Still breaks internal tests.

Reverted changeset:

"InjectedBundle parameters often need initialization function
called before unarchiving"
https://bugs.webkit.org/show_bug.cgi?id=189709
https://trac.webkit.org/changeset/244437

11:41 AM Changeset in webkit [244507] by Justin Fan
  • 19 edits
    1 copy in trunk

[WebGPU] Move swap chain methods from GPUDevice to GPUCanvasContext
https://bugs.webkit.org/show_bug.cgi?id=197126

Reviewed by Dean Jackson.

Source/WebCore:

GPUSwapChains are now configured via GPUCanvasContext instead of GPUDevice. Covers WebGPU API
pull request #262.

Existing WebGPU tests updated to match.

  • Modules/webgpu/GPUCanvasContext.cpp:

(WebCore::GPUCanvasContext::configureSwapChain):
(WebCore::GPUCanvasContext::replaceSwapChain): Deleted.

  • Modules/webgpu/GPUCanvasContext.h:
  • Modules/webgpu/GPUCanvasContext.idl:
  • Modules/webgpu/WebGPUDevice.cpp:

(WebCore::WebGPUDevice::createSwapChain const): Deleted.

  • Modules/webgpu/WebGPUDevice.h:

(WebCore::WebGPUDevice::device):

  • Modules/webgpu/WebGPUDevice.idl:
  • Modules/webgpu/WebGPUSwapChainDescriptor.cpp: Copied from Source/WebCore/Modules/webgpu/WebGPUSwapChainDescriptor.h.

(WebCore::WebGPUSwapChainDescriptor::asGPUSwapChainDescriptor const):

  • Modules/webgpu/WebGPUSwapChainDescriptor.h:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/gpu/GPUDevice.cpp:

(WebCore::GPUDevice::setSwapChain):
(WebCore::GPUDevice::tryCreateSwapChain const): Deleted.

  • platform/graphics/gpu/GPUDevice.h:
  • platform/graphics/gpu/GPUSwapChain.h:
  • platform/graphics/gpu/GPUSwapChainDescriptor.h:

(WebCore::GPUSwapChainDescriptor::GPUSwapChainDescriptor):

  • platform/graphics/gpu/cocoa/GPUSwapChainMetal.mm:

(WebCore::GPUSwapChain::tryCreate):

LayoutTests:

GPUSwapChains are now configured via GPUCanvasContext instead of GPUDevice.

  • webgpu/blend-triangle-strip.html:
  • webgpu/js/webgpu-functions.js:

(createBasicSwapChain):

  • webgpu/whlsl.html:
11:35 AM Changeset in webkit [244506] by ysuzuki@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

[JSC] Use volatile load to populate backing page in MarkedBlock::Footer instead of using holdLock
https://bugs.webkit.org/show_bug.cgi?id=197152

Reviewed by Saam Barati.

Emit volatile load instead of using holdLock to populate backing page in MarkedBlock::Footer.

  • heap/BlockDirectory.cpp:

(JSC::BlockDirectory::isPagedOut):

  • heap/MarkedBlock.h:

(JSC::MarkedBlock::populatePage const):

11:30 AM Changeset in webkit [244505] by ysuzuki@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

[JSC] useJIT should subsume useRegExpJIT
https://bugs.webkit.org/show_bug.cgi?id=197153

Reviewed by Alex Christensen.

useJIT should subsume useRegExpJIT. We should immediately disable JIT feature if useJIT = false,
even if useRegExpJIT is true.

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::isSupported):

  • runtime/Options.cpp:

(JSC::recomputeDependentOptions):

  • runtime/RegExp.cpp:

(JSC::RegExp::compile):
(JSC::RegExp::compileMatchOnly):

  • runtime/VM.cpp:

(JSC::enableAssembler):
(JSC::VM::canUseRegExpJIT): Deleted.

  • runtime/VM.h:
11:29 AM Changeset in webkit [244504] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews-build] Use singular verb in failure description in case of single api test failure
https://bugs.webkit.org/show_bug.cgi?id=197013

Reviewed by Lucas Forschler.

  • BuildSlaveSupport/ews-build/steps.py:

(AnalyzeAPITestsResults.analyzeResults):

11:17 AM Changeset in webkit [244503] by Said Abou-Hallawa
  • 3 edits in trunk/Source/WebCore

Mark SVGStringList properties '[SameObject]' in the IDL files
Followup to https://bugs.webkit.org/show_bug.cgi?id=197137

Patch by Said Abou-Hallawa <Said Abou-Hallawa> on 2019-04-22
Reviewed by Darin Adler.

The SVG elements do not create tear-off wrappers for SVGStrigList DOM
objects anymore. Instead they return Ref pointers to the same RefCounted
objects. So they should be marked '[SameObject]' in their IDL files.

  • svg/SVGTests.idl:
  • svg/SVGViewElement.idl:
11:03 AM Changeset in webkit [244502] by Chris Dumez
  • 6 edits in trunk

Delayed WebProcessLaunch may break the _relatedWebView SPI
https://bugs.webkit.org/show_bug.cgi?id=197160

Reviewed by Alex Christensen.

Source/WebKit:

Delayed WebProcessLaunch may break the _relatedWebView SPI. The breakage would happen if the client
would relate a WebView to another which has not launched its initial process yet.

To address the issue, when we need a running process for a WebView which has a related view, we need
to make sure the related view has a running process and use that process. Previously, we would share
the "dummy" process instead.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::launchProcess):
(WebKit::WebPageProxy::ensureRunningProcess):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::createWebPage):

Tools:

Add API test coverage.

  • TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
9:38 AM Changeset in webkit [244501] by basuke.suzuki@sony.com
  • 3 edits
    9 copies
    4 adds
    1 delete in trunk/Source/JavaScriptCore

[PlayStation] Restructuring Remote Inspector classes to support multiple platform.
https://bugs.webkit.org/show_bug.cgi?id=197030

Reviewed by Don Olmstead.

Restructuring the PlayStation's RemoteInspector backend which uses native socket for the communication to be ready for WinCairo.

What we did is basically:

  • Renamed remote/playstation/ to remote/socket/. This directory is now platform independent implementation of socket backend.
  • Renamed RemoteInspectorSocket class to RemoteInspectorSocketEndpoint. This class is platform independent and core of the backend.
  • Merged RemoteInspectorSocket{Client|Server} classes into RemoteInspectorSocketEndpoint class because the differences are little.
  • Defined a new interface functions in Inspector::Socket (new) namespace.
  • Moved POSIX socket implementation into posix\RemoteInspectorSocketPOSIX.{h|cpp}.
  • PlatformPlayStation.cmake:
  • inspector/remote/RemoteInspector.h:
  • inspector/remote/playstation/RemoteInspectorSocketClient.h: Merged into RemoteInspectorSocketEndpoint.
  • inspector/remote/playstation/RemoteInspectorSocketClientPlayStation.cpp: Merged into RemoteInspectorSocketEndpoint.
  • inspector/remote/playstation/RemoteInspectorSocketPlayStation.cpp: Removed.
  • inspector/remote/playstation/RemoteInspectorSocketServer.h: Merged into RemoteInspectorSocketEndpoint.
  • inspector/remote/playstation/RemoteInspectorSocketServerPlayStation.cpp: Merged into RemoteInspectorSocketEndpoint.
  • inspector/remote/socket/RemoteInspectorConnectionClient.cpp: Renamed from inspector\remote\playstation\RemoteInspectorConnectionClientPlayStation.cpp.
  • inspector/remote/socket/RemoteInspectorConnectionClient.h: Renamed from inspector\remote\playstation\RemoteInspectorConnectionClient.h.

(Inspector::RemoteInspectorConnectionClient::didAccept):

  • inspector/remote/socket/RemoteInspectorMessageParser.cpp: Renamed from inspector\remote\playstation\RemoteInspectorMessageParserPlayStation.cpp.
  • inspector/remote/socket/RemoteInspectorMessageParser.h: Renamed from inspector\remote\playstation\RemoteInspectorMessageParser.h.
  • inspector/remote/socket/RemoteInspectorServer.cpp: Renamed from inspector\remote\playstation\RemoteInspectorServerPlayStation.cpp.

(Inspector::RemoteInspectorServer::didAccept):
(Inspector::RemoteInspectorServer::start):

  • inspector/remote/socket/RemoteInspectorServer.h: Renamed from inspector\remote\playstation\RemoteInspectorServer.h.
  • inspector/remote/socket/RemoteInspectorSocket.cpp: Renamed from inspector\remote\playstation\RemoteInspectorPlayStation.cpp.

(Inspector::RemoteInspector::start):

  • inspector/remote/socket/RemoteInspectorSocket.h: Copied from inspector\remote\playstation\RemoteInspectorSocket.h.
  • inspector/remote/socket/RemoteInspectorSocketEndpoint.cpp: Added.

(Inspector::RemoteInspectorSocketEndpoint::RemoteInspectorSocketEndpoint):
(Inspector::RemoteInspectorSocketEndpoint::~RemoteInspectorSocketEndpoint):
(Inspector::RemoteInspectorSocketEndpoint::wakeupWorkerThread):
(Inspector::RemoteInspectorSocketEndpoint::connectInet):
(Inspector::RemoteInspectorSocketEndpoint::listenInet):
(Inspector::RemoteInspectorSocketEndpoint::isListening):
(Inspector::RemoteInspectorSocketEndpoint::workerThread):
(Inspector::RemoteInspectorSocketEndpoint::createClient):
(Inspector::RemoteInspectorSocketEndpoint::recvIfEnabled):
(Inspector::RemoteInspectorSocketEndpoint::sendIfEnabled):
(Inspector::RemoteInspectorSocketEndpoint::send):
(Inspector::RemoteInspectorSocketEndpoint::acceptInetSocketIfEnabled):

  • inspector/remote/socket/RemoteInspectorSocketEndpoint.h: Renamed from inspector\remote\playstation\RemoteInspectorSocket.h.
  • inspector/remote/socket/posix/RemoteInspectorSocketPOSIX.cpp: Added.

(Inspector::Socket::connect):
(Inspector::Socket::listen):
(Inspector::Socket::accept):
(Inspector::Socket::createPair):
(Inspector::Socket::setup):
(Inspector::Socket::isValid):
(Inspector::Socket::isListening):
(Inspector::Socket::read):
(Inspector::Socket::write):
(Inspector::Socket::close):
(Inspector::Socket::preparePolling):
(Inspector::Socket::poll):
(Inspector::Socket::isReadable):
(Inspector::Socket::isWritable):
(Inspector::Socket::markWaitingWritable):
(Inspector::Socket::clearWaitingWritable):

9:31 AM Changeset in webkit [244500] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

[GTK] fix gtk_style_context_set_background deprecation
https://bugs.webkit.org/show_bug.cgi?id=196912

Patch by Ludovico de Nittis <ludovico.denittis@collabora.com> on 2019-04-22
Reviewed by Carlos Garcia Campos.

Since gtk 3.18 gtk_style_context_set_background has been deprecated.
Backgrounds are not rendered in the UI process, so it can be
simply removed.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseRealize):

8:50 AM Changeset in webkit [244499] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Unreviewed, rolling out r244495.
https://bugs.webkit.org/show_bug.cgi?id=197159

Causing build failures on OpenSource and Internal bots
(Requested by ShawnRoberts on #webkit).

Reverted changeset:

"WHLSLPrepare.cpp always recompiles, even if nothing was
changed"
https://bugs.webkit.org/show_bug.cgi?id=197151
https://trac.webkit.org/changeset/244495

12:58 AM Changeset in webkit [244498] by Carlos Garcia Campos
  • 6 edits in trunk

REGRESSION(r241289): [GTK] accessibility/removed-continuation-element-causes-crash.html and accessibility/removed-anonymous-block-child-causes-crash.html crashes
https://bugs.webkit.org/show_bug.cgi?id=194630

Reviewed by Michael Catanzaro.

Source/WebCore:

Do not assume core object always has a wrapper in webkitAccessibleRefChild().

Fixes: accessibility/removed-continuation-element-causes-crash.html

accessibility/removed-anonymous-block-child-causes-crash.html

  • accessibility/atk/WebKitAccessible.cpp:

(webkitAccessibleRefChild): Return early if wrapper is nullptr.

Tools:

Return early from getAttributeSet() is passed in accessible is nullptr.

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

LayoutTests:

Remove expectations for tests that are passing now.

  • platform/gtk/TestExpectations:

Apr 21, 2019:

11:44 PM Changeset in webkit [244497] by ysuzuki@apple.com
  • 8 edits in trunk/Source/bmalloc

[bmalloc] Use StaticPerProcess' mutex as bmalloc::Heap does with PerProcess
https://bugs.webkit.org/show_bug.cgi?id=197135

Reviewed by Darin Adler.

This patch leverages StaticPerProcess::mutex() for per process instance's lock in various classes,
as Heap does with PerProcess::mutex().

  • bmalloc/AllIsoHeaps.cpp:

(bmalloc::AllIsoHeaps::add):
(bmalloc::AllIsoHeaps::head):

  • bmalloc/AllIsoHeaps.h:
  • bmalloc/CryptoRandom.cpp:

(bmalloc::ARC4RandomNumberGenerator::randomValues):

  • bmalloc/DebugHeap.cpp:

(bmalloc::DebugHeap::memalignLarge):
(bmalloc::DebugHeap::freeLarge):

  • bmalloc/DebugHeap.h:
  • bmalloc/Scavenger.cpp:

(bmalloc::Scavenger::run):
(bmalloc::Scavenger::runSoon):
(bmalloc::Scavenger::scheduleIfUnderMemoryPressure):
(bmalloc::Scavenger::schedule):
(bmalloc::Scavenger::timeSinceLastFullScavenge):
(bmalloc::Scavenger::scavenge):
(bmalloc::Scavenger::threadRunLoop):

  • bmalloc/Scavenger.h:
11:22 PM Changeset in webkit [244496] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WTF

[WTF] Generic memoryFootprint() implementation should use bmalloc on Linux
https://bugs.webkit.org/show_bug.cgi?id=196963

Reviewed by Don Olmstead.

Have the generic memoryFootprint() implementation use bmalloc's
memoryFootprint() API on Linux, whenever the system malloc option is
not enabled. Limitation to Linux platforms is due to the bmalloc
implementation being limited to those configurations (excluding iOS
which doesn't use MemoryFootprintGeneric.cpp).

  • wtf/PlatformWPE.cmake: Switch to building MemoryFootprintGeneric.cpp.
  • wtf/generic/MemoryFootprintGeneric.cpp:

(WTF::memoryFootprint):

5:24 PM Changeset in webkit [244495] by Darin Adler
  • 4 edits in trunk/Source/WebCore

WHLSLPrepare.cpp always recompiles, even if nothing was changed
https://bugs.webkit.org/show_bug.cgi?id=197151

Reviewed by Dan Bernstein.

  • DerivedSources-input.xcfilelist: Script updated this automatically after

DerivedSources.make was corrected.

  • DerivedSources-output.xcfilelist: Ditto, although I had to manually remove

one bogus leftover reference to WHLSLStandardLibrary.cpp.

  • DerivedSources.make: Updated the rule that builds WHSLStandardLibrary.h to

no longer refer to nonexistent WHLSLStandardLibrary.cpp. Because the dependency
was on a file that was never created, the rule to regenerate WHSLStandardLibrary.h
was running on every build, instead of only when one of the dependencies changed.

2:10 PM Changeset in webkit [244494] by Wenson Hsieh
  • 8 edits in trunk

Defer EditorState updates until the next layer tree flush in a few additional circumstances
https://bugs.webkit.org/show_bug.cgi?id=197145
<rdar://problem/50078170>

Reviewed by Darin Adler.

Source/WebKit:

Gets rid of sendPartialEditorStateAndSchedulePostLayoutUpdate(), in favor of always scheduling a full editor
state update after the next compositing flush.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updateEditorStateAfterLayoutIfEditabilityChanged):
(WebKit::WebPage::setNeedsFontAttributes):
(WebKit::WebPage::didChangeOverflowScrollPosition):
(WebKit::WebPage::didChangeSelection):
(WebKit::WebPage::didChangeSelectionOrOverflowScrollPosition):
(WebKit::WebPage::sendPartialEditorStateAndSchedulePostLayoutUpdate): Deleted.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::platformEditorState const):
(WebKit::WebPage::updateVisibleContentRects):

Tools:

Adjusts several editing API tests to wait for a presentation update following a selection change, programmatic
focus, or showing the font manager.

  • TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/WKContentViewTargetForAction.mm:

(TEST):

  • TestWebKitAPI/Tests/mac/FontManagerTests.mm:

(TestWebKitAPI::TEST):

1:14 PM Changeset in webkit [244493] by Chris Dumez
  • 4 edits in trunk/Source/WebKit

Regression(r243767) WebFrame::m_navigationIsContinuingInAnotherProcess flag is never reset
https://bugs.webkit.org/show_bug.cgi?id=197144

Reviewed by Darin Adler.

WebFrame::m_navigationIsContinuingInAnotherProcess flag is never reset since it was introduced in
r243767. This leads to leaking Navigation objects in the UIProcess when reusing a previously
suspended process because such process will no longer send the DidDestroyNavigation IPC.

It turns out that resetting the flags causes API tests such as ProcessSwap.QuickBackForwardNavigationWithPSON
to ASSERT. This is because when the UIProcess quickly navigate back and forth without waiting for policy
decisions, we may end up getting the policy decision for a particular navigation *after* we've sent the
DidDestroyNavigation.

As a result, this patch reverts r243767 and fixes in the assertion in http/tests/adClickAttribution/store-ad-click-attribution.html
another way. We initially assumed that the logic in WebPageProxy::didDestroyNavigation() was failing to
ignore the DidDestroyNavigation from the previous process after a swap due to a race, maybe because it was
sometimes received too late and m_provisionalPage was already cleared. However, this would not make sense
since the test is crashing consistently and the page would no longer be able to receive IPC from the
previous process *after* we've committed the provisional process/page.

The real issue was that the DidDestroyNavigation IPC was received *before* we could construct the
provisional page, which is why the logic in WebPageProxy::didDestroyNavigation() was failing to ignore
the bad IPC. In WebPageProxy::receivedNavigationPolicyDecision(), we were calling receivedPolicyDecision()
(which would send the DidReceivePolicyDecision to the previous WebProcess) and then continueNavigationInNewProcess()
in order to construct the provisional page. I personally did not expect we could receive IPC between the
calls to receivedNavigationPolicyDecision() and receivedPolicyDecision(), since we are not yielding and since
the DidReceivePolicyDecision IPC is asynchronous. However, this is exactly what was happening in the context
of this test. The reason is that the DidReceivePolicyDecision IPC was getting wrapped in a synchronous message
and sent as synchronous message due to the Connection::m_inDispatchMessageMarkedToUseFullySynchronousModeForTesting
flag which seems to get set in the test due to some EventSender IPC. I believe this is because the test uses
EventSender to do a click on a link which triggers the navigation.

To address the issue, I now call receivedNavigationPolicyDecision() *after* continueNavigationInNewProcess()
to make sure that we always start the provisional load in the new process before we tell the previous process
to stop loading. This way, there is no way we get IPC from the previous process about the current navigation
before we have a provisional page.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::receivedNavigationPolicyDecision):
(WebKit::WebPageProxy::didDestroyNavigation):

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::didReceivePolicyDecision):
(WebKit::WebFrame::documentLoaderDetached):

  • WebProcess/WebPage/WebFrame.h:
12:48 PM Changeset in webkit [244492] by BJ Burg
  • 2 edits in trunk/Tools

WebDriver: add hooks to make it possible to easily run WPT WebDriver web server by itself
https://bugs.webkit.org/show_bug.cgi?id=197125
<rdar://problem/50061468>

Reviewed by Darin Adler.

Sometimes I want to run wptserve independently of tests. Make it easier to script that
using this class rather than making our own ./wpt serve invocation.

  • Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py:

(WebDriverW3CWebServer):
(WebDriverW3CWebServer.document_root): Expose this to clients.
(WebDriverW3CWebServer.wait): Add a method that blocks until the server dies.

(WebDriverW3CWebServer.enter):
(WebDriverW3CWebServer.exit):
Make it possible to use the web server with a 'with' statement.

Note: See TracTimeline for information about the timeline view.