Timeline
Jul 14, 2018:
- 9:26 PM Changeset in webkit [233840] by
-
- 3 edits in trunk/Source/WebCore
Shrink StyleFillData, StyleStrokeData and StyleMiscData
https://bugs.webkit.org/show_bug.cgi?id=187681
Reviewed by Anders Carlsson.
Shrink these data structures by making more enum classes one byte in size, and
re-ordering. StyleFillData goes from 56 to 48, StyleStrokeData from 80 to 72,
StyleMiscData from 40 to 32 bytes.
- rendering/style/SVGRenderStyleDefs.cpp:
(WebCore::StyleFillData::StyleFillData):
(WebCore::StyleFillData::operator== const):
(WebCore::StyleStrokeData::StyleStrokeData):
(WebCore::StyleStrokeData::operator== const):
(WebCore::StyleStopData::operator== const):
(WebCore::StyleMiscData::StyleMiscData):
- rendering/style/SVGRenderStyleDefs.h:
- 7:13 PM Changeset in webkit [233839] by
-
- 11 edits in trunk/Source/WebCore
Shrink CachedResource and subclasses
https://bugs.webkit.org/show_bug.cgi?id=187546
Reviewed by Daniel Bates.
Shrink CachedResource down from 1384 to 1336 bytes, CachedImage from 1480 to
1424 bytes, and CachedFont a little.
This saves about 23KB on cnn.com.
- loader/ResourceLoaderOptions.h:
- loader/cache/CachedFont.h:
- loader/cache/CachedImage.h:
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::CachedResource):
- loader/cache/CachedResource.h:
- platform/network/CacheValidation.h:
(WebCore::RedirectChainCacheStatus::RedirectChainCacheStatus):
- platform/network/NetworkLoadMetrics.h:
- platform/network/ParsedContentRange.h:
- platform/network/ResourceRequestBase.h:
- platform/network/ResourceResponseBase.h:
- 5:29 PM Changeset in webkit [233838] by
-
- 11 edits in trunk/Source/WebCore
Shrink some style-related classes and enums
https://bugs.webkit.org/show_bug.cgi?id=187680
Reviewed by Antti Koivisto.
Make all the enum classes in RenderStyleConstants be one byte big (all have less
than 256 values).
Shrink DocumentRuleSet from 384 to 368 bytes by re-ordering, which also helps shrink
StyleResolver from 1024 to 952 bytes.
Shrink BorderValue by re-ordering (now that the layout of Color has changed) which
shrinks BorderData from 168 to 136 bytes.
Convert a couple of other enums to enum class so that they can have explicit size.
- css/DocumentRuleSets.h:
- css/MediaQueryMatcher.cpp:
(WebCore::MediaQueryMatcher::documentElementUserAgentStyle const):
- css/StyleMedia.cpp:
(WebCore::StyleMedia::matchMedium const):
- css/StyleResolver.cpp:
(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::State::State):
(WebCore::StyleResolver::styleForElement):
(WebCore::StyleResolver::cascadedPropertiesForRollback):
(WebCore::StyleResolver::applyProperty):
(WebCore::cascadeLevelForIndex):
- css/StyleResolver.h:
- rendering/style/BorderValue.h:
- rendering/style/RenderStyle.cpp:
- rendering/style/RenderStyleConstants.h:
- style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::styleForElement):
- svg/SVGElementRareData.h:
(WebCore::SVGElementRareData::overrideComputedStyle):
- 4:44 PM Changeset in webkit [233837] by
-
- 14 edits in trunk/Source
Ensure WebKit stack is ad-hoc signed
https://bugs.webkit.org/show_bug.cgi?id=187667
Patch by Kocsen Chung <Kocsen Chung> on 2018-07-14
Reviewed by Alexey Proskuryakov.
- Configurations/Base.xcconfig:
- 9:59 AM Changeset in webkit [233836] by
-
- 2 edits in trunk/Source/WTF
Replace TR2_OPTIONAL_ASSERTED_EXPRESSION macro in <wtf/Optional.h>
<https://webkit.org/b/187672>
Reviewed by Frédéric Wang.
- wtf/Optional.h:
(std::optional::operator -> const):
(std::optional::operator * const):
(std::optional<T::operator-> const):
(std::optional<T::operator* const):
- Replace TR2_OPTIONAL_ASSERTED_EXPRESSION macro with ASSERT_UNDER_CONSTEXPR_CONTEXT macro and return statement.
- 2:19 AM Changeset in webkit [233835] by
-
- 7 edits12 adds in trunk
[css-masking] Fully support -webkit-clip-path on SVG elements
https://bugs.webkit.org/show_bug.cgi?id=185829
Reviewed by Simon Fraser.
Source/WebCore:
-webkit-clip-path contributes to SVG elements with boxes, shapes and now with
element references to <clipPath> elements as well. Make sure that all types
contribute to hit-testing of the SVG element as well as they should.
Tests: svg/clip-path/webkit-clip-path-after-expected.svg
svg/clip-path/webkit-clip-path-after.svg
svg/clip-path/webkit-clip-path-before-expected.svg
svg/clip-path/webkit-clip-path-before.svg
svg/dynamic-updates/SVGClipPath-prefixed-influences-hitTesting.html
svg/dynamic-updates/SVGClipPath-prefixed-path-influences-hitTesting.html
svg/dynamic-updates/SVGClipPathElement-prefixed-css-transform-influences-hitTesting.html
svg/dynamic-updates/SVGClipPathElement-prefixed-transform-influences-hitTesting.html
- rendering/svg/SVGRenderSupport.cpp: Share code as much as possible.
(WebCore::clipPathReferenceBox):
(WebCore::isPointInCSSClippingArea): Take -webkit-clip-path into account.
(WebCore::SVGRenderSupport::clipContextToCSSClippingArea):
(WebCore::SVGRenderSupport::pointInClippingArea):
- rendering/svg/SVGRenderSupport.h:
- rendering/svg/SVGRenderingContext.cpp: Clip to -webkit-clip-path boxes, shapes and references.
(WebCore::SVGRenderingContext::prepareToRenderSVGContent):
- rendering/svg/SVGResources.cpp: Add -webkit-clip-path references to cached resources. Mimic SVG clip-path.
(WebCore::SVGResources::buildCachedResources):
LayoutTests:
Test -webkit-clip-path element references on SVG elements. Make sure, -webkit-clip-path
contributes to hit testing for element references and basic shapes.
- svg/clip-path/webkit-clip-path-after-expected.svg: Added.
- svg/clip-path/webkit-clip-path-after.svg: Added.
- svg/clip-path/webkit-clip-path-before-expected.svg: Added.
- svg/clip-path/webkit-clip-path-before.svg: Added.
- svg/dynamic-updates/SVGClipPath-prefixed-influences-hitTesting-expected.txt: Added.
- svg/dynamic-updates/SVGClipPath-prefixed-influences-hitTesting.html: Added.
- svg/dynamic-updates/SVGClipPath-prefixed-path-influences-hitTesting-expected.txt: Added.
- svg/dynamic-updates/SVGClipPath-prefixed-path-influences-hitTesting.html: Added.
- svg/dynamic-updates/SVGClipPathElement-prefixed-css-transform-influences-hitTesting-expected.txt: Added.
- svg/dynamic-updates/SVGClipPathElement-prefixed-css-transform-influences-hitTesting.html: Added.
- svg/dynamic-updates/SVGClipPathElement-prefixed-transform-influences-hitTesting-expected.txt: Added.
- svg/dynamic-updates/SVGClipPathElement-prefixed-transform-influences-hitTesting.html: Added.
Jul 13, 2018:
- 11:48 PM Changeset in webkit [233834] by
-
- 3 edits in trunk/Tools
[WinCairo] run-api-tests is timing out for almost all test cases
https://bugs.webkit.org/show_bug.cgi?id=187547
Reviewed by Fujii Hironori.
- Scripts/webkitpy/port/server_process.py:
(ServerProcess._wait_for_data_and_update_buffers_using_win32_apis):
Still attempt to read from stdout/stderr even if the process has exited, as long as it's before the deadline.
- Scripts/webkitpy/port/server_process_unittest.py:
(TestServerProcess.test_read_after_process_exits):
Add test case.
- 7:15 PM Changeset in webkit [233833] by
-
- 3 edits in trunk/Source/WebCore
Avoid fetching visitedDependentColor() so many times in editing code
https://bugs.webkit.org/show_bug.cgi?id=187676
Reviewed by Zalan Bujtas.
editingAttributedStringFromRange called style.visitedDependentColor() twice for each property,
and fontAttributesForSelectionStart() called it two or three times. Use a local Color variable
to avoid so many calls. Also replace a call to alpha() with isVisible() which makes the usage more clear.
No behavior change.
- editing/cocoa/EditorCocoa.mm:
(WebCore::Editor::fontAttributesForSelectionStart const):
- editing/cocoa/HTMLConverter.mm:
(WebCore::editingAttributedStringFromRange):
- 6:53 PM Changeset in webkit [233832] by
-
- 13 edits10 copies30 adds in trunk
Add TestExpectations and baselines for iOS 12
https://bugs.webkit.org/show_bug.cgi?id=187628
Reviewed by Alexey Proskuryakov.
Tools:
- Scripts/webkitpy/port/ios.py:
(IOSPort): Bump current version to 12.
LayoutTests:
- platform/ios-12/TestExpectations: Added.
- 6:16 PM Changeset in webkit [233831] by
-
- 172 edits171 copies74 adds in trunk
Add TestExpectations and baselines for Mojave.
https://bugs.webkit.org/show_bug.cgi?id=187620
Reviewed by Alexey Proskuryakov.
Tools:
- Scripts/webkitpy/port/mac.py:
(MacPort): Bump current version to 10.14.
LayoutTests:
- platform/mac/TestExpectations:
- 6:07 PM Changeset in webkit [233830] by
-
- 5 edits4 adds in trunk/LayoutTests
Flesh out WebSocket cookie tests to cover cookie policy for third-party resources
https://bugs.webkit.org/show_bug.cgi?id=187541
<rdar://problem/42048729>
Reviewed by Alex Christensen.
- http/tests/cookies/resources/cookie-utilities.js:
Added a function for setting a cookie in a WebSocket handshake.
- http/tests/websocket/tests/hybi/cookie_wsh.py:
(web_socket_do_extra_handshake):
Now sets the root path for new cookies so that they can be seen by
for example cookies/resources/echo-cookies.php.
- http/tests/websocket/tests/hybi/websocket-allowed-setting-cookie-as-third-party-expected.txt: Added.
- http/tests/websocket/tests/hybi/websocket-allowed-setting-cookie-as-third-party.html: Added.
- http/tests/websocket/tests/hybi/websocket-blocked-from-setting-cookie-as-third-party-expected.txt: Added.
- http/tests/websocket/tests/hybi/websocket-blocked-from-setting-cookie-as-third-party.html: Added.
- http/tests/websocket/tests/hybi/websocket-cookie-overwrite-behavior-expected.txt:
- http/tests/websocket/tests/hybi/websocket-cookie-overwrite-behavior.html:
Now tests under the condition where localhost as third-party is
allowed to set a new cookie as third party. It also makes sure to use
cookies with the path set to the root so that all cookies are visible.
- 5:04 PM Changeset in webkit [233829] by
-
- 10 edits3 adds1 delete in trunk
Support connecting a MediaStreamAudioDestinationNode to RTCPeerConnection
https://bugs.webkit.org/show_bug.cgi?id=187627
<rdar://problem/35334400>
Reviewed by Jer Noble.
Source/WebCore:
When MediaStreamAudioSource is called to read new audio samples,
convert these samples to a WebAudioBufferList and call RealtimeMediaSource::audioSamplesAvailable.
This makes its observers to get the audio data.
Test: webrtc/peer-connection-createMediaStreamDestination.html
- Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::create): Minor refactoring.
- Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
(WebCore::createMediaStream):
(WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
(WebCore::MediaStreamAudioDestinationNode::process):
- Modules/webaudio/MediaStreamAudioDestinationNode.h:
- Modules/webaudio/MediaStreamAudioSource.cpp:
(WebCore::MediaStreamAudioSource::MediaStreamAudioSource):
(WebCore::MediaStreamAudioSource::consumeAudio):
- Modules/webaudio/MediaStreamAudioSource.h:
- Modules/webaudio/MediaStreamAudioSourceCocoa.cpp: Added.
(WebCore::streamDescription):
(WebCore::MediaStreamAudioSource::consumeAudio):
- WebCore.xcodeproj/project.pbxproj:
- platform/audio/AudioDestinationConsumer.h: Removed.
- platform/mediastream/MediaStreamPrivate.cpp:
(WebCore::MediaStreamPrivate::create):
- platform/mediastream/MediaStreamPrivate.h:
LayoutTests:
- webrtc/peer-connection-createMediaStreamDestination-expected.txt: Added.
- webrtc/peer-connection-createMediaStreamDestination.html: Added.
- 5:03 PM Changeset in webkit [233828] by
-
- 9 edits in trunk
Add _drawsBackground to WKWebViewConfiguration.
https://bugs.webkit.org/show_bug.cgi?id=187665
rdar://problem/42182268
Reviewed by Tim Horton.
Source/WebKit:
- UIProcess/API/APIPageConfiguration.cpp:
(API::PageConfiguration::copy const): Copy m_drawsBackground, and some missing values.
- UIProcess/API/APIPageConfiguration.h:
(API::PageConfiguration::drawsBackground const): Added.
(API::PageConfiguration::setDrawsBackground): Added.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]): Transfer _drawsBackground to page config.
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]): Set _drawsBackground to YES.
(-[WKWebViewConfiguration encodeWithCoder:]): Encode _drawsBackground.
(-[WKWebViewConfiguration initWithCoder:]): Decode _drawsBackground.
(-[WKWebViewConfiguration copyWithZone:]): Copy _drawsBackground.
(-[WKWebViewConfiguration _drawsBackground]): Added.
(-[WKWebViewConfiguration _setDrawsBackground:]): Added.
- UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
- UIProcess/WebPageProxy.cpp: Set m_drawsBackground based on configuration.
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/Configuration.mm:
(TestWebKitAPI.WebKit.ConfigurationDrawsBackground): Added.
- 4:20 PM Changeset in webkit [233827] by
-
- 2 edits in trunk/Source/WebCore
[WinCairo] Enable WebGL when Accelerated Compositing is disabled
https://bugs.webkit.org/show_bug.cgi?id=187664
Reviewed by Fujii Hironori.
AC was disabled for WinCairo in r233725 but it can still run WebGL without AC.
- html/HTMLCanvasElement.cpp:
- 4:15 PM Changeset in webkit [233826] by
-
- 7 edits in tags/Safari-606.1.25.1/Source
Versioning.
- 4:11 PM Changeset in webkit [233825] by
-
- 1 copy in tags/Safari-606.1.25.1
New tag.
- 4:11 PM Changeset in webkit [233824] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: REGRESSION (r195723): Improve support for resources with '\r' and '\r\n' line endings
https://bugs.webkit.org/show_bug.cgi?id=186453
<rdar://problem/39689180>
Reviewed by Joseph Pecoraro.
Now that the frontend no longer uses offsets from the original source
file to calculate positions within CodeMirror, it is possible to support
resources with '\r' and '\r\n' line endings in the editor.
- UserInterface/Views/CodeMirrorEditor.js:
(WI.CodeMirrorEditor.create):
(WI.CodeMirrorEditor):
- 3:54 PM Changeset in webkit [233823] by
-
- 3 edits in trunk/Source/WebCore
Crash under ApplicationCacheGroup::didFailLoadingEntry()
https://bugs.webkit.org/show_bug.cgi?id=187661
<rdar://problem/42179755>
Reviewed by Youenn Fablet.
If ApplicationCacheResourceLoader::create() fails synchronously with
ApplicationCacheResourceLoader::Error::CannotCreateResource error, then
m_entryLoader will be null when didFailLoadingEntry() is called. However,
didFailLoadingEntry() fails to null check m_entryLoader before using it.
- loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::didFailLoadingEntry):
(WebCore::ApplicationCacheGroup::startLoadingEntry):
- loader/appcache/ApplicationCacheGroup.h:
- 3:35 PM Changeset in webkit [233822] by
-
- 10 edits in trunk/Source/WebKit
WebKit sometimes holds WiFi/BT assertions while the Networking process is suspended
https://bugs.webkit.org/show_bug.cgi?id=187662
<rdar://problem/41999448>
Reviewed by Chris Dumez.
Inform WiFiAssertions when the Networking process is first going into the background,
so it has a chance of dropping its assertions even in cases where the system
suspends the process before we receive prepareToSuspend.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::processDidTransitionToForeground):
(WebKit::NetworkProcess::processDidTransitionToBackground):
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/curl/NetworkProcessCurl.cpp:
(WebKit::NetworkProcess::platformProcessDidTransitionToForeground):
(WebKit::NetworkProcess::platformProcessDidTransitionToBackground):
- NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::NetworkProcess::platformProcessDidTransitionToForeground):
(WebKit::NetworkProcess::platformProcessDidTransitionToBackground):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::sendProcessDidTransitionToForeground):
(WebKit::NetworkProcessProxy::sendProcessDidTransitionToBackground):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::updateProcessAssertions):
Plumb the foreground/background transition to NetworkProcess.
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::platformPrepareToSuspend):
(WebKit::NetworkProcess::platformProcessDidTransitionToBackground):
(WebKit::NetworkProcess::platformProcessDidTransitionToForeground):
Make use of SuspensionReason to explain to WiFiAssertions the
difference between prepareToSuspend and didTransitionToBackground,
so that it can adjust the timing of dropping the assertion.
- 3:33 PM Changeset in webkit [233821] by
-
- 2 edits in trunk/Source/WebCore
Add release assertion to check thread in TimerBase::setNextFireTime
https://bugs.webkit.org/show_bug.cgi?id=187666
Reviewed by Ryosuke Niwa.
This should give us insight into what is causing <rdar://problem/33352721>
- platform/Timer.cpp:
(WebCore::TimerBase::setNextFireTime):
- 3:27 PM Changeset in webkit [233820] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Basic blocks highlighting should use line/column locations instead of offsets
https://bugs.webkit.org/show_bug.cgi?id=187613
<rdar://problem/42131808>
Reviewed by Joseph Pecoraro.
- UserInterface/Controllers/BasicBlockAnnotator.js:
Basic blocks sent from the backend include offsets into the original
file, rather than line/column locations. In order to translate to positions
within CodeMirror, we need to calculate the original line and column
for each block.
(WI.BasicBlockAnnotator.prototype.insertAnnotations):
(WI.BasicBlockAnnotator.prototype._calculateBasicBlockPositions.offsetToPosition):
(WI.BasicBlockAnnotator.prototype._calculateBasicBlockPositions):
(WI.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges.):
(WI.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges):
(WI.BasicBlockAnnotator.prototype._highlightTextForBasicBlock):
- UserInterface/Models/SourceCodePosition.js:
(WI.SourceCodePosition.prototype.offsetColumn):
- UserInterface/Views/TextEditor.js:
(WI.TextEditor.prototype.getTextInRange):
(WI.TextEditor.prototype.addStyleToTextRange):
Better encapsulation for CodeMirror positions.
- UserInterface/Workers/Formatter/FormatterUtilities.js:
(get if):
Update String.prototype.lineEndings to support additional line separators.
- 3:26 PM Changeset in webkit [233819] by
-
- 2 edits in trunk/LayoutTests
[ MacOS WK1 ] Layout Tests in media/media-fragments/ are flaky
https://bugs.webkit.org/show_bug.cgi?id=187557
Unreviewed test gardening.
Patch by Truitt Savell <Truitt Savell> on 2018-07-13
- platform/mac-wk1/TestExpectations:
- 3:22 PM Changeset in webkit [233818] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION (r231676): watchOS WebKit usually doesn't load in the background
https://bugs.webkit.org/show_bug.cgi?id=187663
<rdar://problem/42181185>
Reviewed by Chris Dumez.
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::applicationDidEnterBackground):
"Screen lock" is very aggressive on watchOS; we want to do our usual
30 seconds of loading in the background when you drop your wrist,
so disable this power optimization on that platform.
- 2:53 PM Changeset in webkit [233817] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Execution highlighting in the frontend should be line/column-based
https://bugs.webkit.org/show_bug.cgi?id=187532
<rdar://problem/42035580>
Reviewed by Joseph Pecoraro.
Source code offsets from Esprima should not be used to calculate ranges
in CodeMirror for expression highlighting.
This also fixes a long standing bug when adjusting for the starting
position of an inline script. Previously the start offset from the script
TextRange was used for this purpose, but the value is often incorrect (see
https://bugs.webkit.org/show_bug.cgi?id=187532#c5). By using the starting
line/column instead, we avoid the problem.
- UserInterface/Models/ScriptSyntaxTree.js:
(WI.ScriptSyntaxTree.prototype.containersOfPosition):
(WI.ScriptSyntaxTree.prototype.containersOfOffset): Deleted.
- UserInterface/Models/SourceCodePosition.js:
(WI.SourceCodePosition.prototype.offsetColumn):
- UserInterface/Views/SourceCodeTextEditor.js:
(WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange.toInlineScriptPosition):
(WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange.fromInlineScriptPosition):
(WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange):
(WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange.convertRangeOffsetsToSourceCodeOffsets): Deleted.
- UserInterface/Views/TextEditor.js:
(WI.TextEditor.prototype._updateExecutionRangeHighlight):
- 1:56 PM Changeset in webkit [233816] by
-
- 2 edits in trunk/Source/WebCore
[iOS] [WK1] Crash inside IOSurfacePool::platformGarbageCollectNow() in WebThread
https://bugs.webkit.org/show_bug.cgi?id=187635
<rdar://problem/34297065>
Reviewed by Simon Fraser.
r167717 added code to trigger a CA commit in the web process via platformGarbageCollectNow() in order to free IOSurface-related memory.
However, that code is also running in the web thread in apps using WebKit1, causing unwanted UIView layout on the web thread.
Fix by not triggering this CA commit if it's called on the web thread.
- platform/graphics/cocoa/IOSurfacePoolCocoa.mm:
(WebCore::IOSurfacePool::platformGarbageCollectNow):
- 1:40 PM Changeset in webkit [233815] by
-
- 3 edits in trunk/Source/WebKit
WebResourceLoader may try to send a IPC with a destination ID that is 0
https://bugs.webkit.org/show_bug.cgi?id=187654
<rdar://problem/39265927>
Reviewed by Brady Eidson.
WebResourceLoader may try to send a IPC with a destination ID that is 0 according to release
assertion hits we see in the wild. This can lead to HashMap corruption on recipient side when
trying to lookup a key that is 0.
As per the crash traces, we see it starts from WebLoaderStrategy::internallyFailedLoadTimerFired()
which is likely due to the Network process crashing. WebLoaderStrategy::networkProcessCrashed()
calls scheduleInternallyFailedLoad() on each ResourceLoader and clears the WebResourceLoaders in
m_webResourceLoaders. When a ResourceLoader is cancelled (marked as failed), we clear its identifier
and we normally null out the WebLoaderStrategy's coreLoader. However, if we cannot find the
WebResourceLoader in m_webResourceLoaders (because that map was already cleared) then the
WebResourceLoader's coreLoader may not get nulled out, even if the coreLoader's identifier has
been reset. We have 2 lambdas in WebResourceLoader which keep the WebResourceLoader alive and
try to send IPC and are merely doing a null check on the coreLoader before trying to send the
IPC.
To address the issue, we now clear the WebResourceLoader's coreLoader in
WebLoaderStrategy::networkProcessCrashed(). For robustness, we also check that a coreLoader's
identifier is not 0 before trying to send IPC.
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::networkProcessCrashed):
- WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::willSendRequest):
(WebKit::WebResourceLoader::didReceiveResponse):
- 1:34 PM Changeset in webkit [233814] by
-
- 19 edits in trunk/Source/WebCore
Dark Mode: document markers are difficult to see
https://bugs.webkit.org/show_bug.cgi?id=187632
<rdar://problem/41099719>
Reviewed by Simon Fraser.
We update the way we draw the document markers for macOS and use more constrasting colors in dark mode.
Paving the way for future improvements, we move the drawLineForDocumentMarker() method from GraphicsContext
to RenderTheme and implement a first version in RenderThemeMac. The circles used for the underline are now
drawn directly with Core Graphics and we no longer use an image resource. To allow both GraphicsContext
and RenderTheme to have different versions of the drawLineForDocumentMarker() method, the DocumentMarkerLineStyle
enum is now an "enum class".
No new test due to webkit.org/b/105616, webkit.org/b/187655 was raised to track the creation of new tests
when it becomes possible again.
- platform/graphics/GraphicsContext.h:
- platform/graphics/GraphicsContextImpl.h:
- platform/graphics/cairo/CairoOperations.cpp:
(WebCore::Cairo::drawLineForDocumentMarker):
- platform/graphics/cairo/CairoOperations.h:
- platform/graphics/cairo/GraphicsContextImplCairo.cpp:
(WebCore::GraphicsContextImplCairo::drawLineForDocumentMarker):
- platform/graphics/cairo/GraphicsContextImplCairo.h:
- platform/graphics/cocoa/GraphicsContextCocoa.mm:
(WebCore::GraphicsContext::drawLineForDocumentMarker):
- platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::DrawLineForDocumentMarker::create):
(WebCore::DisplayList::DrawLineForDocumentMarker::DrawLineForDocumentMarker):
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::drawLineForDocumentMarker):
- platform/graphics/displaylists/DisplayListRecorder.h:
- platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp:
(Nicosia::CairoOperationRecorder::drawLineForDocumentMarker):
- platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h:
- platform/graphics/win/GraphicsContextCGWin.cpp:
(WebCore::GraphicsContext::drawLineForDocumentMarker):
- rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintPlatformDocumentMarker): Call drawLineForDocumentMarker() on the RenderTheme on
macOS and on GraphicsContext in all other cases.
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::drawLineForDocumentMarker):
- rendering/RenderTheme.h:
- rendering/RenderThemeMac.h:
- rendering/RenderThemeMac.mm:
(WebCore::colorForStyle): Provide different colors for light and dark modes.
(WebCore::RenderThemeMac::drawLineForDocumentMarker): A new macOS-specific version of drawLineForDocumentMarker()
where we paint circles using Core Graphics directly.
- 1:17 PM Changeset in webkit [233813] by
-
- 2 edits in trunk/LayoutTests
[ WK2 ] Layout Test editing/selection/update-selection-by-style-change.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=187649
Unreviewed test gardening.
Patch by Truitt Savell <Truitt Savell> on 2018-07-13
- platform/mac-wk2/TestExpectations:
- 1:08 PM Changeset in webkit [233812] by
-
- 68 edits1 add in trunk/Source/ThirdParty/libwebrtc
libwebrtc.dylib Objective-C classes conflict with third-party frameworks
<https://webkit.org/b/187653>
Reviewed by Alex Christensen.
- Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
- Manually add an attribute to change the class name.
- Source/webrtc/sdk/objc/Framework/Classes/Common/RTCUIApplicationStatusObserver.h:
- Source/webrtc/sdk/objc/Framework/Classes/Metal/RTCMTLI420Renderer.h:
- Source/webrtc/sdk/objc/Framework/Classes/Metal/RTCMTLNV12Renderer.h:
- Source/webrtc/sdk/objc/Framework/Classes/Metal/RTCMTLRenderer.h:
- Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCDtmfSender+Private.h:
- Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoRendererAdapter.h:
- Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCWrappedNativeVideoDecoder.h:
- Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCWrappedNativeVideoEncoder.h:
- Source/webrtc/sdk/objc/Framework/Classes/UI/RTCEAGLVideoView.m:
- Source/webrtc/sdk/objc/Framework/Classes/Video/RTCAVFoundationVideoCapturerInternal.h:
- Source/webrtc/sdk/objc/Framework/Classes/Video/RTCDefaultShader.h:
- Source/webrtc/sdk/objc/Framework/Classes/Video/RTCI420TextureCache.h:
- Source/webrtc/sdk/objc/Framework/Classes/Video/RTCNV12TextureCache.h:
- Source/webrtc/sdk/objc/Framework/Classes/Video/objc_frame_buffer.h:
- Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/objc_video_decoder_factory.h:
- Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/objc_video_encoder_factory.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCAVFoundationVideoSource.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCAudioSession.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCAudioSessionConfiguration.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCAudioSource.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCAudioTrack.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCCameraPreviewView.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCCameraVideoCapturer.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCConfiguration.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCDataChannel.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCDataChannelConfiguration.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCDispatcher.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCDtmfSender.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCEAGLVideoView.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCFileLogger.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCFileVideoCapturer.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCIceCandidate.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCIceServer.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCIntervalRange.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCLegacyStatsReport.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMTLNSVideoView.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMTLVideoView.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMediaConstraints.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMediaSource.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMediaStream.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMediaStreamTrack.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMetricsSampleInfo.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCNSGLVideoView.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCPeerConnection.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCPeerConnectionFactory.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCPeerConnectionFactoryOptions.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpCodecParameters.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpEncodingParameters.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpParameters.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpReceiver.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpSender.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCSessionDescription.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCapturer.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodec.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodecFactory.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodecH264.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoDecoderVP8.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoDecoderVP9.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoEncoderVP8.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoEncoderVP9.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoFrame.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoFrameBuffer.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoRenderer.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoSource.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoTrack.h:
- Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoViewShading.h:
- Apply two shell scripts (see bug) to add an attribute to change the name of all classes and protocols.
- WebKit/0012-Add-WK-prefix-to-Objective-C-classes-and-protocols.patch: Add.
- 12:41 PM Changeset in webkit [233811] by
-
- 2 edits in trunk/Source/WebKit
Allow BOCOM and ABC plug-ins to run unsandboxed
https://bugs.webkit.org/show_bug.cgi?id=187652
rdar://problem/42149182
Patch by Zach Li <zachli@apple.com> on 2018-07-13
Reviewed by Youenn Fablet.
- UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
(WebKit::PluginInfoStore::shouldAllowPluginToRunUnsandboxed):
- 12:17 PM Changeset in webkit [233810] by
-
- 2 edits in trunk/Source/ThirdParty/libwebrtc
REGRESSION (r233155): Remove last references to click_annotate.cc and rtpcat.cc
- libwebrtc.xcodeproj/project.pbxproj: Let Xcode have its way
with the project file by removing orphaned entries.
- 12:17 PM Changeset in webkit [233809] by
-
- 2 edits in trunk/Source/ThirdParty/libwebrtc
REGRESSION (r222476): Add missing semi-colons to EXPORTED_SYMBOLS_FILE variables
- Configurations/libwebrtc.xcconfig:
(EXPORTED_SYMBOLS_FILE): Add missing semi-colons.
- 11:47 AM Changeset in webkit [233808] by
-
- 4 edits in trunk/Source/WebKit
Add more threading release assertions
https://bugs.webkit.org/show_bug.cgi?id=187647
Reviewed by Alex Christensen.
Add more threading release assertions to help debug <rdar://problem/39265927>.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::NetworkConnectionToWebProcess):
(WebKit::NetworkConnectionToWebProcess::~NetworkConnectionToWebProcess):
- UIProcess/WebProcessProxy.cpp:
(WebKit::m_isInPrewarmedPool):
(WebKit::WebProcessProxy::~WebProcessProxy):
(WebKit::WebProcessProxy::shutDown):
(WebKit::WebProcessProxy::didFinishLaunching):
- 11:28 AM Changeset in webkit [233807] by
-
- 5 edits in trunk/Source/WebKit
[WinCairo] Add windows storage process connection implementation
https://bugs.webkit.org/show_bug.cgi?id=187531
Reviewed by Fujii Hironori.
- NetworkProcess/NetworkProcess.cpp:
- Platform/IPC/Attachment.h:
- StorageProcess/StorageProcess.cpp:
- UIProcess/Storage/StorageProcessProxy.cpp:
- 11:20 AM Changeset in webkit [233806] by
-
- 3 edits in trunk/Source/JavaScriptCore
[32bit JSC tests] stress/cow-convert-double-to-contiguous.js and stress/cow-convert-int32-to-contiguous.js are failing
https://bugs.webkit.org/show_bug.cgi?id=187561
Reviewed by Darin Adler.
This patch fixes the issue that CoW array handling is not introduced in 32bit put_by_val code.
We clean up 32bit put_by_val code.
- We remove inline out-of-bounds recording code since it is done in C operation code. This change
aligns 32bit implementation to 64bit implementation.
- We add CoW array checking, which is done in 64bit implementation.
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_put_by_val):
- jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::emitSlow_op_put_by_val):
- 11:20 AM Changeset in webkit [233805] by
-
- 3 edits in trunk/Source/WebCore
[GStreamer] Use smart pointers for GstByteReader
https://bugs.webkit.org/show_bug.cgi?id=187638
Reviewed by Xabier Rodriguez-Calvar.
- platform/graphics/gstreamer/GUniquePtrGStreamer.h: Add
specialisation for GstByteReader.
- platform/graphics/gstreamer/eme/WebKitClearKeyDecryptorGStreamer.cpp:
Use the new smart pointer class to avoid needing to remember where
to call gst_byte_reader_free.
(webKitMediaClearKeyDecryptorDecrypt):
- 10:46 AM Changeset in webkit [233804] by
-
- 2 edits in trunk/Source/WebKit
[macOS] REGRESSION (r233536): Development WebContent service got opted back into Library Validation
https://bugs.webkit.org/show_bug.cgi?id=187640
Reviewed by Daniel Bates.
- Scripts/process-webcontent-entitlements.sh: Add the com.apple.security.cs.disable-library-validation to the Development service regardless of whether restricted entitlements are to be used, because that entitlement is not restricted.
- 10:28 AM Changeset in webkit [233803] by
-
- 7 edits in trunk/Source/WebCore
[Curl] Move HTTP Setup logic from CurlRequest to CurlHandle for reuse.
https://bugs.webkit.org/show_bug.cgi?id=187427
Reviewed by Fujii Hironori.
CurlContext will be used by Secure WebSocket client, but HTTP setup code is
in CurlRequest, which is only for regular HTTP/HTTPS transaction. This patch
allows wss client to setup CurlHandle for HTTPS communication, such as TLS,
proxy or authentication.
No new tests because there's no behavior change.
- platform/network/curl/CurlContext.cpp:
(WebCore::CurlHandle::CurlHandle):
(WebCore::CurlHandle::enableSSLForHost):
(WebCore::CurlHandle::willSetupSslCtx):
(WebCore::CurlHandle::willSetupSslCtxCallback):
(WebCore::CurlHandle::sslErrors const):
(WebCore::CurlHandle::setUrl):
(WebCore::CurlHandle::enableHttp):
(WebCore::CurlHandle::enableConnectionOnly):
(WebCore::CurlHandle::certificateInfo const):
(WebCore::CurlHandle::enableStdErrIfUsed):
(WebCore::CurlHandle::initialize): Deleted.
- platform/network/curl/CurlContext.h:
(WebCore::CurlHandle::url const):
- platform/network/curl/CurlRequest.cpp:
(WebCore::CurlRequest::setupTransfer):
(WebCore::CurlRequest::didReceiveHeader):
(WebCore::CurlRequest::didCompleteTransfer):
(WebCore::CurlRequest::finalizeTransfer):
(WebCore::CurlRequest::willSetupSslCtx): Deleted.
(WebCore::CurlRequest::willSetupSslCtxCallback): Deleted.
- platform/network/curl/CurlRequest.h:
- platform/network/curl/CurlSSLVerifier.cpp:
(WebCore::CurlSSLVerifier::CurlSSLVerifier):
(WebCore::CurlSSLVerifier::verify):
- platform/network/curl/CurlSSLVerifier.h:
- 10:15 AM Changeset in webkit [233802] by
-
- 2 edits in trunk/LayoutTests
[ MacOS Debug ] Layout Test inspector/view/asynchronous-layout.html is a Flaky Timeout
https://bugs.webkit.org/show_bug.cgi?id=187622
Unreviewed test gardening.
Patch by Truitt Savell <Truitt Savell> on 2018-07-13
- platform/mac/TestExpectations:
- 10:14 AM Changeset in webkit [233801] by
-
- 3 edits in trunk/Source/WebKit
NetworkConnectionToWebProcess::m_networkResourceLoaders should use Ref<> for its values
https://bugs.webkit.org/show_bug.cgi?id=187629
Reviewed by Youenn Fablet.
NetworkConnectionToWebProcess::m_networkResourceLoaders should use Ref<> for its values
since they cannot be null.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::didClose):
(WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad):
(WebKit::NetworkConnectionToWebProcess::performSynchronousLoad):
- NetworkProcess/NetworkConnectionToWebProcess.h:
- 10:10 AM Changeset in webkit [233800] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: SourceCodePosition.js missing from Test.html
https://bugs.webkit.org/show_bug.cgi?id=187644
Reviewed by Brian Burg.
- UserInterface/Test.html:
- 9:19 AM Changeset in webkit [233799] by
-
- 2 edits in trunk/Tools
Add a FrameLoaderClient willInjectUserScriptForFrame callback
https://bugs.webkit.org/show_bug.cgi?id=187565
<rdar://problem/42095701>
Unreviewed WKTR fix after r233782.
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
- 9:13 AM Changeset in webkit [233798] by
-
- 3 edits1 move2 deletes in trunk/Tools
Reduce size of WebCore::URL
https://bugs.webkit.org/show_bug.cgi?id=186820
<rdar://problem/42087508>
Unreviewed, re-generates Service worker registrations database used by API tests after r233789.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/SimpleServiceWorkerRegistrations-2.sqlite3: Removed.
- TestWebKitAPI/Tests/WebKitCocoa/SimpleServiceWorkerRegistrations-2.sqlite3-shm: Removed.
- TestWebKitAPI/Tests/WebKitCocoa/SimpleServiceWorkerRegistrations-3.sqlite3: Renamed from Tools/TestWebKitAPI/Tests/WebKitCocoa/SimpleServiceWorkerRegistrations-2.sqlite3-wal.
- TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
- 3:47 AM Changeset in webkit [233797] by
-
- 4 edits in trunk/Source/WebCore
[GStreamer][MSE] Add GstFlowCombiner to handle non-linked inactive branches
https://bugs.webkit.org/show_bug.cgi?id=187636
Reviewed by Carlos Garcia Campos.
When we have more than one source buffer, only one will be
rendered and the inactive branch will report linking errors that
we have to deal with.
- platform/graphics/gstreamer/GUniquePtrGStreamer.h: Added GstFlowCombiner.
- platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:
(webkitMediaSrcChain): Combine the flow in the flow combiner.
(webkit_media_src_init): Initialize the flow combiner.
(webKitMediaSrcLinkStreamToSrcPad): Add the proxypad to the
combiner and set the chain function.
- platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamerPrivate.h:
Declare the flow combiner.
- 1:10 AM Changeset in webkit [233796] by
-
- 5 edits in trunk/Source/WebCore
[GStreamer] Add GstBufferMapped abstraction
https://bugs.webkit.org/show_bug.cgi?id=187600
Reviewed by Xabier Rodriguez-Calvar.
There is a similar abstraction called
mapGstBufferand friends,
which have a slightly different use-case: wanting a buffer that is
mapped for a longer lifetime without have to keep track of the map
infos separately. They could be subsumed by this abstraction, but
everytime they need to write to the buffer, they'd have to remap
the memory blocks.
This abstraction is more for one-short reads and writes saving the user
from remembering to unmap the buffer and having to manage to
auxiliary GstMapInfo structures.
- platform/graphics/gstreamer/GStreamerCommon.h:
(WebCore::GstMappedBuffer::GstMappedBuffer):
(WebCore::GstMappedBuffer::~GstMappedBuffer):
(WebCore::GstMappedBuffer::data):
(WebCore::GstMappedBuffer::size const):
(WebCore::GstMappedBuffer::operator bool const):
- platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
(WebCore::InbandTextTrackPrivateGStreamer::notifyTrackOfSample):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::handleSyncMessage):
(WebCore::MediaPlayerPrivateGStreamerBase::initializationDataEncountered):
- platform/graphics/gstreamer/eme/WebKitClearKeyDecryptorGStreamer.cpp:
(webKitMediaClearKeyDecryptorSetupCipher):
(webKitMediaClearKeyDecryptorDecrypt):
- 12:04 AM Changeset in webkit [233795] by
-
- 2 edits in trunk/Source/WTF
Signal.cpp's activeThreads() should only create its ThreadGroup once.
https://bugs.webkit.org/show_bug.cgi?id=187634
<rdar://problem/40662311>
Reviewed by Yusuke Suzuki.
registerThreadForMachExceptionHandling() is relying on the activeThreads()
ThreadGroup being a singleton.
- wtf/threads/Signals.cpp:
(WTF::activeThreads):