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

Timeline



Jul 22, 2019:

9:14 PM Changeset in webkit [247718] by mitz@apple.com
  • 7 copies
    1 add in releases/Apple/watchOS 5.3

Added a tag for watchOS 5.3.

9:08 PM Changeset in webkit [247717] by mitz@apple.com
  • 8 copies
    1 add in releases/Apple/iOS 12.4

Added a tag for iOS 12.4.

9:08 PM Changeset in webkit [247716] by mitz@apple.com
  • 9 copies
    1 add in releases/Apple/Safari 12.1.2

Added a tag for Safari12.1.2.

8:45 PM Changeset in webkit [247715] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Uncaught Exception: Breakpoint at specified location already exists.
https://bugs.webkit.org/show_bug.cgi?id=197034
<rdar://problem/50049004>

Reviewed by Joseph Pecoraro.

When "adjusting" a WI.Breakpoint (e.g. removing and then re-adding with a different
configuration), make sure to only re-add the WI.Breakpoint to the WI.Target it was just
removed from, rather to all WI.targets.

Since we iterate over WI.targets in both WI.DebuggerManager.prototype._setBreakpoint and
WI.DebuggerManager.prototype._removeBreakpoint, we ended up iterating WI.targets twice.

Each time the WI.Breakpoint is removed from a WI.Target, pass the WI.Target to the
callback given to WI.DebuggerManager.prototype._removeBreakpoint, so that the eventual
call to WI.DebuggerManager.prototype._setBreakpoint can reuse it as the specificTarget,
instead of iterating WI.targets (meaning we only iterate it once).

  • UserInterface/Controllers/DebuggerManager.js:

(WI.DebuggerManager.prototype.addBreakpoint):
(WI.DebuggerManager.prototype._removeBreakpoint.didRemoveBreakpoint):
(WI.DebuggerManager.prototype._breakpointDisplayLocationDidChange):
(WI.DebuggerManager.prototype._breakpointEditablePropertyDidChange):

7:43 PM Changeset in webkit [247714] by ysuzuki@apple.com
  • 15 edits in trunk/Source

[bmalloc] Each IsoPage gets 1MB VA because VMHeap::tryAllocateLargeChunk rounds up
https://bugs.webkit.org/show_bug.cgi?id=200024

Reviewed by Saam Barati.

Source/bmalloc:

When we allocate IsoHeap's page, we reused VMHeap::tryAllocateLargeChunk. However, this function is originally designed
to be used for Large allocation in bmalloc (e.g. allocating Chunk in bmalloc). As a result, this function rounds up the
requested size with 1MB (bmalloc::chunkSize). As a result, all IsoHeap's 16KB page gets 1MB VA while it just uses 16KB of
the allocated region. This leads to VA exhaustion since IsoHeap now uses 64x VA than we expected!

This patch fixes the above VA exhaustion issue by allocating a page by using tryVMAllocate. When allocating a page, we start
using a VM tag for IsoHeap. We discussed at e-mail and we decided reusing a VM tag previously assigned to CLoop Stack since
this is less profitable. Since this tag is not Malloc-related tag, Leaks tool can scan memory region conservatively without
registering allocated region into Zone, which was previously done in VMHeap and that's why we reused VMHeap for IsoHeap.

  • bmalloc/BVMTags.h:
  • bmalloc/IsoPage.cpp:

(bmalloc::IsoPageBase::allocatePageMemory):

  • bmalloc/IsoTLS.cpp:

(bmalloc::IsoTLS::ensureEntries):

  • bmalloc/VMAllocate.h:

(bmalloc::vmAllocate):

Source/JavaScriptCore:

Discussed and we decided to use this VM tag for IsoHeap instead of CLoop stack.

  • interpreter/CLoopStack.cpp:

(JSC::CLoopStack::CLoopStack):

Source/WebCore:

Changed how we interpret VM tags. Add IsoHeap VM tag support, and rename WebAssembly tag
to Gigacage tag.

  • page/ResourceUsageData.h:
  • page/ResourceUsageOverlay.h:
  • page/cocoa/ResourceUsageOverlayCocoa.mm:

(WebCore::HistoricResourceUsageData::HistoricResourceUsageData):

  • page/cocoa/ResourceUsageThreadCocoa.mm:

(WebCore::displayNameForVMTag):
(WebCore::categoryForVMTag):

Source/WTF:

Start using a VM tag for IsoHeap instead of CLoop Stack.

  • wtf/OSAllocator.h:
  • wtf/VMTags.h:
7:24 PM Changeset in webkit [247713] by sbarati@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Turn off Wasm fast memory on iOS
https://bugs.webkit.org/show_bug.cgi?id=200016
<rdar://problem/53417726>

Reviewed by Yusuke Suzuki.

We turned them on when we disabled Gigacage on iOS. However, we re-enabled
Gigacage on iOS, but forgot to turn wasm fast memories back off.

  • runtime/Options.h:
7:08 PM Changeset in webkit [247712] by Simon Fraser
  • 3 edits
    2 adds in trunk

Fix WebView iframe rendering in macOS Catalina
https://bugs.webkit.org/show_bug.cgi?id=200022
rdar://problem/49102040

Reviewed by Darin Adler.
Source/WebKitLegacy/mac:

Adapt to internal NSView method renames in Catalina.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:_recursive:displayRectIgnoringOpacity:inContext:topView:]):
(-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:_recursive:displayRectIgnoringOpacity:inContext:topView:]): Deleted.

LayoutTests:

New test for rendering of overlapping iframes, defects when we fail to setAsideSubviews
in WebView.

  • fast/frames/frames-not-double-painted-expected.html: Added.
  • fast/frames/frames-not-double-painted.html: Added.
5:18 PM Changeset in webkit [247711] by ysuzuki@apple.com
  • 2 edits in trunk/Source/bmalloc

Unreviewed, follow-up fix for tls->size() access
https://bugs.webkit.org/show_bug.cgi?id=200019

  • bmalloc/IsoTLS.cpp:

(bmalloc::IsoTLS::ensureEntries):
(bmalloc::IsoTLS::destructor):

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

[ews-build] EWS fails to parse multi-line full_results.json
https://bugs.webkit.org/show_bug.cgi?id=199992

Reviewed by Alexey Proskuryakov.

  • BuildSlaveSupport/ews-build/layout_test_failures.py:

(LayoutTestFailures.results_from_string): Concatenate content into single line.

  • BuildSlaveSupport/ews-build/steps_unittest.py:

(test_parse_results_json_with_newlines): Unit-test to cover this scenario.

5:09 PM Changeset in webkit [247709] by ysuzuki@apple.com
  • 2 edits in trunk/Source/bmalloc

[bmalloc] IsoTLS is not deallocated in TLS destructor
https://bugs.webkit.org/show_bug.cgi?id=200019

Reviewed by Mark Lam.

TLS destructor for IsoTLS needs to deallocate memory used for IsoTLS itself.
While we are correctly deallocating old IsoTLS when extending it to the new one,
we lack deallocation when the thread is destroyed. IsoTLS is per-thread, so we
should destroy IsoTLS when a thread finishes.

  • bmalloc/IsoTLS.cpp:

(bmalloc::IsoTLS::ensureEntries):
(bmalloc::IsoTLS::destructor):

5:07 PM Changeset in webkit [247708] by Simon Fraser
  • 2 edits in trunk/Source/WebKitLegacy/mac

Enable CSSOMViewScrollingAPIEnabled in WebKit1
https://bugs.webkit.org/show_bug.cgi?id=200008
rdar://problem/53409062

Reviewed by Tim Horton.

Default WebKitCSSOMViewScrollingAPIEnabledPreferenceKey to YES, so that
CSSOMViewScrollingAPIEnabled is on for both WebKit1 and WebKit2.

DumpRenderTree already turns this preference on, so this change is not
detected by tests.

  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):

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

Fix inspector override conversion in InspectorPageAgent::overrideSetting
https://bugs.webkit.org/show_bug.cgi?id=200017

Reviewed by Devin Rousso.

Covered by inspector/page/overrideSetting-MockCaptureDevicesEnabled.html
which should not fail on bots not having cameras

  • inspector/agents/InspectorPageAgent.cpp:

(WebCore::toOptionalBool):
(WebCore::InspectorPageAgent::overrideSetting):
Previously, the conversion for the mock capture value was implicit from a bool pointer to an optional.
Make an explicit conversion as done for regular settings.

4:47 PM Changeset in webkit [247706] by Jonathan Bedard
  • 2 edits in trunk/Tools

resultsdbpy: Handle case where the previous commit doesn't have the changelog
https://bugs.webkit.org/show_bug.cgi?id=200015

Reviewed by Aakash Jain.

  • resultsdbpy/resultsdbpy/model/repository.py:

(WebKitRepository.commit_for_id.diff_changelogs): Allow the previous_response to be None.

4:25 PM Changeset in webkit [247705] by Ross Kirsling
  • 20 edits in trunk/Source

Unreviewed non-unified build fix.

Source/JavaScriptCore:

  • runtime/CachedTypes.h:

Source/WebCore:

  • Modules/webdatabase/DatabaseContext.h:
  • html/HTMLDialogElement.cpp:
  • html/HTMLScriptElement.cpp:
  • inspector/agents/InspectorDatabaseAgent.cpp:
  • workers/service/server/SWServerWorker.cpp:
  • workers/service/server/SWServerWorker.h:
  • worklets/WorkletGlobalScope.cpp:
  • worklets/WorkletGlobalScope.h:

Source/WebKit:

  • NetworkProcess/NetworkCORSPreflightChecker.h:
  • NetworkProcess/NetworkLoadChecker.h:
  • UIProcess/API/C/WKContext.cpp:
  • UIProcess/API/C/WKPageConfigurationRef.cpp:
  • UIProcess/Downloads/DownloadProxy.cpp:
  • UIProcess/WebPageInjectedBundleClient.cpp:
  • UIProcess/WebPreferences.cpp:
  • WebProcess/Network/WebSocketChannel.cpp:

(WebKit::PendingMessage::PendingMessage):

4:09 PM Changeset in webkit [247704] by Megan Gardner
  • 2 edits in trunk/Source/WebKit

Remove Staging for scrolling bug
https://bugs.webkit.org/show_bug.cgi?id=199894

Reviewed by Wenson Hsieh.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKUIWKTextInteractionAssistant scrollSelectionToVisible]): Deleted.

4:07 PM Changeset in webkit [247703] by ysuzuki@apple.com
  • 5 edits in trunk

[JSC] Make DFG Local CSE and AI conservative for huge basic block
https://bugs.webkit.org/show_bug.cgi?id=199929
<rdar://problem/49309924>

Reviewed by Filip Pizlo.

In CNN page, the main thread hangs several seconds. On less-powerful devices (like iPhone7), it hangs for ~11 seconds. This is not an acceptable behavior.
The reason of this is that the DFG compiler takes too long time in the compilation for a particular function. It takes 8765 ms even in powerful x64 machine!
DFG compiler is concurrent one. However, when GC requires all the peripheral threads to be stopped, the main thread needs to wait for the DFG compiler's stop.
DFG compiler stops at GC safepoints, and they are inserted between DFG phases. So, if some of DFG phases take very long time, the main thread is blocked during that.
As a result, the main thread is blocked due to this pathological compilation.

By measuring the time taken in each DFG phase, we found that our AI and CSE phase have a problem having quadratic complexity for # of DFG nodes in a basic block.
In this patch, we add a threshold for # of DFG nodes in a basic block. If a basic block exceeds this threshold, we use conservative but O(1) algorithm for AI and Local CSE phase.
We did not add this threshold for Global CSE since FTL has another bytecode cost threshold which prevents us from compiling the large functions. But on the other hand,
DFG should compile them because DFG is intended to be a fast compiler even for a bit larger CodeBlock.

We first attempted to reduce the threshold for DFG compilation. We are using 100000 bytecode cost for DFG compilation and it is very large. However, we found that bytecode cost
is not the problem in CNN page. The problematic function has 67904 cost, and it takes 8765 ms in x64 machine. However, JetStream2/octane-zlib has 61949 function and it only takes
~400 ms. This difference comes from the # of DFG nodes in a basic block. The problematic function has 43297 DFG nodes in one basic block and it makes AI and Local CSE super time-consuming.
Rather than relying on the bytecode cost which a bit indirectly related to this pathological compile-time, we should look into # of DFG nodes in a basic block which is more directly
related to this problem. And we also found that 61949's Octane-zlib function is very critical for performance. This fact makes a bit hard to pick a right threshold: 67904 causes the problem,
and 61949 must be compiled. This is why this patch is introducing conservative analysis instead of adjusting the threshold for DFG.

This patch has two changes.

  1. DFG AI has structure transition tracking which has quadratic complexity

Structure transition tracking takes very long time since its complexity is O(N2) where N is # of DFG nodes in a basic block.
CNN has very pathological script and it shows 43297 DFG nodes. We should reduce the complexity of this algorithm.
For now, we just say "structures are clobbered" if # of DFG nodes in a basic block exceeds the threshold (20000).
We could improve the current algorithm from O(N
2) to O(2N) without being conservative, and I'm tracking this in [1].

  1. DFG Local CSE has quadratic complexity

Local CSE's clobbering iterates all the impure heap values to remove the clobbered one. Since # of impure heap values tend to be proportional to # of DFG nodes we visited,
each CSE for a basic block gets O(N2) complexity. To avoid this, we introduce HugeMap. This has the same interface to LargeMap and SmallMap in CSE, but its clobbering
implementation just clears the map completely. We can further make this O(N) without introducing conservative behavior by using epochs. For now, we do not see such a huge basic block in
JetStream2 and Speedometer2 so I'll track it in a separate bug[2].

This patch reduces the compilation time from ~11 seconds to ~200 ms.

[1]: https://bugs.webkit.org/show_bug.cgi?id=199959
[2]: https://bugs.webkit.org/show_bug.cgi?id=200014

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::observeTransition):
(JSC::DFG::AbstractInterpreter<AbstractStateType>::observeTransitions):

  • dfg/DFGCSEPhase.cpp:
  • runtime/Options.h:
3:14 PM Changeset in webkit [247702] by Wenson Hsieh
  • 7 edits
    1 add in trunk

[iOS] [WK1] UIWebView always jumps to the top left corner when scrolling to reveal the selection
https://bugs.webkit.org/show_bug.cgi?id=200013
<rdar://problem/52526901>

Reviewed by Simon Fraser.

Source/WebCore:

After <https://trac.webkit.org/r244141>, we no longer attempt to scroll to reveal the text selection in
UIWebView after changing the selection, due to how we use the legacy document view rect in legacy WebKit when
computing the visual viewport. This causes the viewRect in RenderLayer::scrollRectToVisible to be the same size
as the content size, which then causes us to always scroll to the origin when revealing the selection.

To make selection revealing work again in legacy WebKit, conditionally restore the old behavior of using the
unobscured content rect as the view rect, only in the case where scrolling is delegated and the platform widget
is present.

Test: WebKitLegacy.ScrollToRevealSelection

  • page/FrameView.cpp:

(WebCore::FrameView::viewRectExpandedByContentInsets const):
(WebCore::FrameView::visualViewportRectExpandedByContentInsets const): Deleted.

Additionally rename visualViewportRectExpandedByContentInsets to viewRectExpandedByContentInsets, to reflect the
fact that this may either be the visual viewport rect or unobscured content rect.

  • page/FrameView.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollRectToVisible):

Tools:

Add a new API test to verify that inserting text in UIWebView causes the document to scroll.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollToRevealSelection.mm: Added.

(-[LegacyLoadingDelegate webViewDidFinishLoad:]):
(-[LegacyLoadingDelegate waitForDidFinishLoad]):

  • TestWebKitAPI/ios/UIKitSPI.h:
3:02 PM Changeset in webkit [247701] by Brent Fulgham
  • 4 edits in trunk/Source

Correct web audio-related crash in seed reports
https://bugs.webkit.org/show_bug.cgi?id=200009
<rdar://problem/51565203>

Reviewed by Per Arne Vollan.

Source/WebCore:

Update the 'createMix' method to do proper return value checking so that
we can clear the result of MTAudioProcessingTapCreate if the create operation
failed.

  • platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:

(WebCore::AudioSourceProviderAVFObjC::createMix):

Source/WebKit:

Revise the iOS sandbox to allow the WebContent process to communicate with
the 'com.apple.coremedia.audioprocessingtap.xpc' service, which is needed by
some types of WebAudio.

  • WebProcess/com.apple.WebKit.WebContent.sb.in:
1:38 PM Changeset in webkit [247700] by dino@apple.com
  • 2 edits in trunk/Source/WebKit

WebKit SPI fix for [ClickyOrb] Audio continues playing after dismissing a video preview in Safari
https://bugs.webkit.org/show_bug.cgi?id=200011
<rdar://problem/53409457>

Reviewed by Tim Horton.

Don't check for the SPI @selector(_webView:contextMenuDidEndForElement:)
on the WKUIDelegate so that clients that got caught implementing the
SPI before moving to the real API can still clean-up state. In other words,
don't force a client that only implements that method to move completely
to the new API.

  • UIProcess/ios/WKContentViewInteraction.mm:

(needsDeprecatedPreviewAPI):

1:24 PM Changeset in webkit [247699] by pvollan@apple.com
  • 2 edits in trunk/Source/WebCore

Prewarmed font does not find any matches
https://bugs.webkit.org/show_bug.cgi?id=200007

Reviewed by Brent Fulgham.

Prewarming the font name 'SF Pro Text' does not find any matches. The font name ".SF NS Text/Display"
should be used instead. Also add 'Lucida Grande' to the list of prewarmed font, since it is used as
fallback font in many cases.

No new tests, covered by existing tests.

  • platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::fontFamiliesForPrewarming):

1:03 PM Changeset in webkit [247698] by youenn@apple.com
  • 8 edits
    3 adds in trunk

Make sure the player underlying volume is correctly set after creating a new player
https://bugs.webkit.org/show_bug.cgi?id=199974
<rdar://problem/52762559>

Reviewed by Eric Carlson.

Source/WebCore:

When creating a player before starting to play, the volume might not be correctly initialized.
Fix that by updating the volume like done for rate and muted state.
A future refactoring should probably move that code in MediaPlayer.

Add an internal API to query the volume value from the underlying player.

Test: http/tests/media/audio-volume-zero.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::updateVolume):
(WebCore::HTMLMediaElement::updatePlayState):
(WebCore::HTMLMediaElement::effectiveVolume const):
(WebCore::HTMLMediaElement::effectiveMuted const):

  • html/HTMLMediaElement.h:
  • testing/Internals.cpp:

(WebCore::Internals::privatePlayerVolume):

  • testing/Internals.h:
  • testing/Internals.idl:
  • testing/Internals.mm:

(WebCore::Internals::privatePlayerVolume):

LayoutTests:

  • http/tests/media/128kbps-44khz.mp3: Added.
  • http/tests/media/audio-volume-zero-expected.txt: Added.
  • http/tests/media/audio-volume-zero.html: Added.
12:46 PM Changeset in webkit [247697] by Devin Rousso
  • 2 edits in trunk/Source/WebCore

Web Inspector: Page: mark any WebCore::Setting inspector override as UNLIKELY
https://bugs.webkit.org/show_bug.cgi?id=199925

Reviewed by Joseph Pecoraro.

  • Scripts/SettingsTemplates/Settings.cpp.erb:
12:39 PM Changeset in webkit [247696] by Devin Rousso
  • 3 edits in trunk/Source/WebInspectorUI

Localization: change fps to FPS
<rdar://problem/53342508>

Rubber-stamped by Joseph Pecoraro.

  • UserInterface/Views/RenderingFrameTimelineOverviewGraph.js:

(WI.RenderingFrameTimelineOverviewGraph.prototype._updateDividers.createDividerAtPosition):

  • Localizations/en.lproj/localizedStrings.js:
12:38 PM Changeset in webkit [247695] by jer.noble@apple.com
  • 4 edits
    1 add in trunk

REGRESSION(rUnknown): YouTube playback pauses when switching to a new tab
https://bugs.webkit.org/show_bug.cgi?id=199971
<rdar://problem/51951218>

Reviewed by Alex Christensen.

Source/WebKit:

When we get a message notifying us that the view has been removed from the window, we unconditionally
ask the fullscreen manager to exit fullscreen, which has the side effect (on iOS) of pausing the video
unconditionally. Only ask the fullscreen manager to exit fullscreen if there is actually a video in
fullscreen mode.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::viewDidLeaveWindow):

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/NoPauseWhenSwitchingTabs.mm: Added.

(TestWebKitAPI::TEST):

12:16 PM Changeset in webkit [247694] by aakash_jain@apple.com
  • 7 edits in trunk/Tools

[ews-build] Add an EWS to run services tests
https://bugs.webkit.org/show_bug.cgi?id=199994

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/config.json: Added Services-EWS configuration.
  • BuildSlaveSupport/ews-build/factories.py: Added ServicesFactory.
  • BuildSlaveSupport/ews-build/steps.py:

(CheckPatchRelevance): Run this EWS only for patches with changes in relevant files.
(RunEWSUnitTests): Build step to run EWS unit-tests.
(RunEWSBuildbotCheckConfig): Build step to run buildbot checkconfig command.

  • BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
  • BuildSlaveSupport/ews-app/ews/views/statusbubble.py: Added services status-bubble.
11:51 AM Changeset in webkit [247693] by youenn@apple.com
  • 2 edits in trunk/Source/WebKit

Make sure to unref captured lambda variables given to _strictTrustEvaluate in the main thread
https://bugs.webkit.org/show_bug.cgi?id=199948

Reviewed by Alex Christensen.

Use a weak pointer instead of a Ref for the NetworkSession.
Add a null check in processServerTrustEvaluation for extra safety if we decide to remove the data task NetworkSession ref.
Make sure to move the NetworkDataTask ref in the completion handler so that the unrefing is done in the main thread.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(processServerTrustEvaluation):
(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):

11:19 AM Changeset in webkit [247692] by youenn@apple.com
  • 5 edits in trunk

Disable MediaRecorder for legacy WebKit
https://bugs.webkit.org/show_bug.cgi?id=200001
<rdar://problem/53400030>

Reviewed by Eric Carlson.

Source/WebKitLegacy/mac:

Disable MediaRecorder by default in legacy WebKit.
Add SPI to set/get this preference.

  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences _mediaRecorderEnabled]):
(-[WebPreferences _setMediaRecorderEnabled:]):

  • WebView/WebPreferencesPrivate.h:

Tools:

Enable MediaRecorder for testing purposes.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(createWebViewAndOffscreenWindow):

11:18 AM Changeset in webkit [247691] by Jonathan Bedard
  • 2 edits in trunk/Tools

results.webkit.org: Timeline header is too small
https://bugs.webkit.org/show_bug.cgi?id=199955

Reviewed by Aakash Jain.

  • resultsdbpy/resultsdbpy/view/static/css/timeline.css:

(.timeline>.header): Make timeline header larder to fit configuration names.

11:16 AM Changeset in webkit [247690] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Need to skip test cache directory data vault for non internal build
https://bugs.webkit.org/show_bug.cgi?id=199951

Patch by Zhifei Fang <zhifei_fang@apple.com> on 2019-07-22
Reviewed by Alexey Proskuryakov.

  • API/tests/testapi.mm:

(testBytecodeCacheValidation): "Cache directory /private/tmp is not a data vault" this error message will only be created for internal build see JSScript.mm:97

11:12 AM Changeset in webkit [247689] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit

Don't always look for a JSC configuration file after r247685
https://bugs.webkit.org/show_bug.cgi?id=199917

  • UIProcess/API/APIProcessPoolConfiguration.cpp:

(API::ProcessPoolConfiguration::createWithWebsiteDataStoreConfiguration):
(API::ProcessPoolConfiguration::ProcessPoolConfiguration):
ProcessPoolConfiguration's javaScriptConfigurationDirectory wasn't used before r247685,
which made it always look for a file with 'JavaScriptCoreDebug' in its name. I had assumed
m_javaScriptConfigurationDirectory would default to a null string, but it was defaulting to
defaultJavaScriptConfigurationDirectory. Make it a null string instead.

11:05 AM Changeset in webkit [247688] by Simon Fraser
  • 47 edits in trunk/Source

Make some constructors explicit
https://bugs.webkit.org/show_bug.cgi?id=199981

Reviewed by Daniel Bates.

Make explicit public constructors of objects that take POD or String& arguments,
to reduce the changes of the compiler doing implicit conversions.

Source/WebCore:

  • Modules/indexeddb/server/IndexValueEntry.h:
  • Modules/indexeddb/server/IndexValueStore.h:
  • Modules/indexeddb/shared/IDBDatabaseInfo.h:
  • Modules/webdatabase/ChangeVersionData.h:

(WebCore::ChangeVersionData::ChangeVersionData):

  • Modules/webdatabase/OriginLock.h:
  • Modules/websockets/WebSocketExtensionParser.h:

(WebCore::WebSocketExtensionParser::WebSocketExtensionParser):

  • bindings/js/ScriptCachedFrameData.h:
  • contentextensions/URLFilterParser.cpp:

(WebCore::ContentExtensions::PatternParser::PatternParser):

  • css/parser/CSSTokenizer.h:
  • css/parser/SizesAttributeParser.h:
  • dom/SpaceSplitString.cpp:

(WebCore::TokenIsEqualToCStringTokenProcessor::TokenIsEqualToCStringTokenProcessor):

  • html/FormController.cpp:

(WebCore::SavedFormState::appendControlState):
(WebCore::SavedFormState::takeControlState):

  • loader/ProgressTracker.cpp:

(WebCore::ProgressItem::ProgressItem):

  • page/DragController.cpp:

(WebCore::DragController::DragController):
(WebCore::DragController::performDragOperation):

  • page/DragController.h:
  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::AnimationPropertyWrapperBase::AnimationPropertyWrapperBase):

  • page/ios/DOMTimerHoldingTank.h:

(WebCore::DeferDOMTimersForScope::DeferDOMTimersForScope):

  • platform/CountedUserActivity.h:

(WebCore::CountedUserActivity::CountedUserActivity):

  • platform/audio/DirectConvolver.h:
  • platform/audio/DownSampler.h:
  • platform/audio/DynamicsCompressorKernel.h:
  • platform/audio/EqualPowerPanner.h:
  • platform/audio/MultiChannelResampler.h:
  • platform/audio/ReverbAccumulationBuffer.h:
  • platform/audio/ReverbInputBuffer.h:
  • platform/audio/SincResampler.cpp:
  • platform/audio/UpSampler.h:
  • platform/audio/ios/AudioFileReaderIOS.h:
  • platform/audio/mac/AudioFileReaderMac.h:
  • platform/audio/mac/AudioSessionMac.cpp:

(WebCore::AudioSessionPrivate::AudioSessionPrivate):

  • platform/cf/KeyedDecoderCF.h:
  • platform/graphics/WidthIterator.cpp:

(WebCore::OriginalAdvancesForCharacterTreatedAsSpace::OriginalAdvancesForCharacterTreatedAsSpace):

  • platform/graphics/cocoa/FontCacheCoreText.h:

(WebCore::SynthesisPair::SynthesisPair):

  • platform/graphics/displaylists/DisplayListItems.h:

(WebCore::DisplayList::DrawingItem::DrawingItem):

  • platform/network/cf/ResourceRequest.h:

(WebCore::ResourceRequest::ResourceRequest):

  • platform/text/TextCodecICU.h:
  • rendering/RenderTableSection.h:

(WebCore::CellSpan::CellSpan):

  • rendering/shapes/RasterShape.cpp:
  • rendering/shapes/RasterShape.h:

(WebCore::RasterShapeIntervals::RasterShapeIntervals):

  • testing/MockLibWebRTCPeerConnection.h:

(WebCore::MockLibWebRTCIceCandidate::MockLibWebRTCIceCandidate):

Source/WebCore/PAL:

  • pal/system/cocoa/SleepDisablerCocoa.cpp:

(PAL::SleepDisablerCocoa::SleepDisablerCocoa):

  • pal/system/cocoa/SleepDisablerCocoa.h:

Source/WebKit:

  • Platform/Module.h:
  • WebProcess/WebPage/WebInspector.cpp:

(WebKit::WebInspector::openInNewTab):

10:34 AM Changeset in webkit [247687] by dbates@webkit.org
  • 5 edits in trunk/Source/WebKit

[iOS] REGRESSION (r241734): Autocorrection highlight should hide when field becomes defocused
https://bugs.webkit.org/show_bug.cgi?id=199807
<rdar://problem/52760259>

Fix a bad merge of r247653. svn-apply was way too forgiving. The original patch touched
the non-existent function, -_didCommitLoadForMainFrame in WKContentViewInteraction.mm. Because
that didn't exist, svn-apply patched up -clearSelection.

  • UIProcess/ios/WKContentView.h:
  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _didCommitLoadForMainFrame]): Deleted; moved to WKContentViewInteraction.mm

  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView clearSelection]): Remove code that should be in -_didCommitLoadForMainFrame.
(-[WKContentView _didCommitLoadForMainFrame]): Moved from WKContentView.mm

10:21 AM Changeset in webkit [247686] by achristensen@apple.com
  • 8 edits in trunk

Add SPI to _WKWebsiteDataStoreConfiguration for configuring application cache storage location
https://bugs.webkit.org/show_bug.cgi?id=199954

Reviewed by Geoff Garen.

Source/WebKit:

This is a step towards removing WebsiteDataStore::legacyDefaultDataStoreConfiguration
Covered by a new API test.

  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:

(-[WKWebsiteDataStore _initWithConfiguration:]):

  • UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h:
  • UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm:

(-[_WKWebsiteDataStoreConfiguration applicationCacheDirectory]):
(-[_WKWebsiteDataStoreConfiguration setApplicationCacheDirectory:]):
(-[_WKWebsiteDataStoreConfiguration applicationCacheFlatFileSubdirectoryName]):
(-[_WKWebsiteDataStoreConfiguration setApplicationCacheFlatFileSubdirectoryName:]):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::sendWebProcessDataStoreParameters):

  • UIProcess/WebsiteData/WebsiteDataStore.h:

(WebKit::WebsiteDataStore::applicationCacheFlatFileSubdirectoryName const):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:

(TEST):

10:19 AM Changeset in webkit [247685] by achristensen@apple.com
  • 6 edits in trunk

Add SPI _WKProcessPoolConfiguration.javaScriptConfigurationDirectory
https://bugs.webkit.org/show_bug.cgi?id=199917

Reviewed by Sam Weinig.

Source/WebKit:

  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:

(-[_WKProcessPoolConfiguration javaScriptConfigurationDirectory]):
(-[_WKProcessPoolConfiguration setJavaScriptConfigurationDirectory:]):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::sendWebProcessDataStoreParameters):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm:

(TEST):

9:59 AM Changeset in webkit [247684] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[ Mojave Debug WK1 ] Layout Test imported/blink/storage/indexeddb/blob-basics-metadata.html is Timing out (200002)
https://bugs.webkit.org/show_bug.cgi?id=200002

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
8:48 AM Changeset in webkit [247683] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

[ews-build] ReRunWebKitTests should use similar logic for evaluateCommand as RunWebKitTests
https://bugs.webkit.org/show_bug.cgi?id=199980

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/steps.py:

(ReRunWebKitTests.evaluateCommand): Updatd to use similar logic as RunWebKitTests.

  • BuildSlaveSupport/ews-build/steps_unittest.py:

(TestRunWebKitTests): Modified to make it generic so as to re-use tests.
(TestReRunWebKitTests): Run all TestRunWebKitTests unit-tests for ReRunWebKitTests as well.

7:25 AM Changeset in webkit [247682] by clopez@igalia.com
  • 2 edits in trunk/Tools

[webkitpy] Add an unit test for setting up the driver environment without starting it.
https://bugs.webkit.org/show_bug.cgi?id=199945

Reviewed by Michael Catanzaro.

This adds an unit test for the change implemented in r247663.

  • Scripts/webkitpy/port/driver_unittest.py:

(DriverTest.test_setup_environ_base_vars):
(DriverTest):
(DriverTest.test_setup_environ_without_starting_driver):

6:47 AM Changeset in webkit [247681] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove some unneeded code in MathOperator
https://bugs.webkit.org/show_bug.cgi?id=199935

Patch by Rob Buis <rbuis@igalia.com> on 2019-07-22
Reviewed by Frédéric Wang.

Remove unused method.

No new tests, not changing behavior.

  • rendering/mathml/MathOperator.h:
1:47 AM Changeset in webkit [247680] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit

[SOUP] WebSockets: use new api to send text messages
https://bugs.webkit.org/show_bug.cgi?id=199936

Reviewed by Michael Catanzaro.

New API allows to include null character in text messages.

  • NetworkProcess/soup/WebSocketTaskSoup.cpp:

(WebKit::WebSocketTask::didReceiveMessageCallback): Pass data size to String::fromUTF8().
(WebKit::WebSocketTask::sendString): Use soup_websocket_connection_send_message() instead of
soup_websocket_connection_send_text() when available. Also use
StrictConversionReplacingUnpairedSurrogatesWithFFFD options when converting to UTF-8.

Jul 21, 2019:

8:35 PM Changeset in webkit [247679] by Wenson Hsieh
  • 8 edits in trunk

[iOS] [WebKit2] Add limited support for -isPosition:atBoundary:inDirection: in WKContentView
https://bugs.webkit.org/show_bug.cgi?id=199993
<rdar://problem/49523528>

Reviewed by Beth Dakin.

Source/WebKit:

Add support for -isPosition:atBoundary:inDirection:, only in the cases where the given position is the start or
and position and the given granularity is UITextGranularityParagraph.

Test: EditorStateTests.ParagraphBoundary

  • Shared/EditorState.cpp:

(WebKit::EditorState::PostLayoutData::encode const):
(WebKit::EditorState::PostLayoutData::decode):

  • Shared/EditorState.h:

Add a couple of bits to indicate whether the selection start or end positions are at paragraph boundaries.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView isPosition:atBoundary:inDirection:]):

Implement this to return selectionStartIsAtParagraphBoundary or selectionEndIsAtParagraphBoundary.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::platformEditorState const):

Tools:

Add a new API test to verify the behavior of -isPosition:atBoundary:inDirection:.

  • TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/cocoa/TestWKWebView.h:
3:59 PM Changeset in webkit [247678] by Konstantin Tokarev
  • 3 edits in trunk/Source/WebCore

Add DataListButtonElement.cpp to unified sources
https://bugs.webkit.org/show_bug.cgi?id=199989

Reviewed by Michael Catanzaro.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
3:15 PM Changeset in webkit [247677] by commit-queue@webkit.org
  • 8 edits in trunk

Add accessibilityInsertText for text insertion in edit fields.
https://bugs.webkit.org/show_bug.cgi?id=199973

Patch by Andres Gonzalez <Andres Gonzalez> on 2019-07-21
Reviewed by Chris Fleizach.

Renamed accessibilityInsertText to _accessibilityInsertText.

Source/WebCore:

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper _accessibilityInsertText:]):
(-[WebAccessibilityObjectWrapper accessibilityInsertText:]): Deleted.

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper _accessibilityInsertText:]):
(-[WebAccessibilityObjectWrapper accessibilityInsertText:]): Deleted.

Tools:

  • DumpRenderTree/ios/AccessibilityUIElementIOS.mm:

(AccessibilityUIElement::insertText):

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(AccessibilityUIElement::insertText):

  • WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:

(WTR::AccessibilityUIElement::insertText):

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::AccessibilityUIElement::insertText):

11:35 AM Changeset in webkit [247676] by sbarati@apple.com
  • 3 edits
    2 adds in trunk

[WHLSL] Checker needs to setError() when a property access node can't commit its base type
https://bugs.webkit.org/show_bug.cgi?id=199978

Reviewed by Dean Jackson.

Source/WebCore:

Test: webgpu/whlsl/null-array-property-access.html

  • Modules/webgpu/WHLSL/WHLSLChecker.cpp:

(WebCore::WHLSL::Checker::finishVisiting):

LayoutTests:

  • webgpu/whlsl/null-array-property-access-expected.txt: Added.
  • webgpu/whlsl/null-array-property-access.html: Added.
11:31 AM Changeset in webkit [247675] by sbarati@apple.com
  • 3 edits
    2 adds in trunk

[WHLSL] Return the zero-value enum in the enum-from-integer constructor when the integer is not a valid enum value
https://bugs.webkit.org/show_bug.cgi?id=199853

Reviewed by Dean Jackson.

Source/WebCore:

Test: webgpu/whlsl/enum-integer-constructor.html

  • Modules/webgpu/WHLSL/Metal/WHLSLNativeFunctionWriter.cpp:

(WebCore::WHLSL::Metal::writeNativeFunction):

LayoutTests:

  • webgpu/whlsl/enum-integer-constructor-expected.txt: Added.
  • webgpu/whlsl/enum-integer-constructor.html: Added.
10:23 AM Changeset in webkit [247674] by mmaxfield@apple.com
  • 12 edits
    2 adds in trunk

[iOS] Fast and complex text codepaths disagree about how to lay out bopomofo with tone marks
https://bugs.webkit.org/show_bug.cgi?id=199912
<rdar://problem/52182454>

Reviewed by Simon Fraser.

Source/WebCore:

This is because CoreText has special composition rules for CJK languages, which we don't have in our simple
text codepath. Rather than implementing the composition rules in WebKit, we can simply disable them in
CoreText.

Test: fast/text/international/system-language/composition.html

  • platform/graphics/mac/SimpleFontDataCoreText.cpp:

(WebCore::Font::getCFStringAttributes const):

Source/WebCore/PAL:

  • pal/spi/cocoa/CoreTextSPI.h:

LayoutTests:

  • css3/font-feature-font-face-local-expected.html:
  • css3/font-feature-font-face-local.html:
  • editing/mac/selection/word-thai-expected.txt:
  • editing/mac/selection/word-thai.html:
  • fast/text/international/system-language/composition-expected.txt: Added.
  • fast/text/international/system-language/composition.html: Added.
  • platform/ios/fast/text/crash-complex-text-surrogate-expected.txt:
  • svg/custom/glyph-selection-arabic-forms-expected.txt:
Note: See TracTimeline for information about the timeline view.